/* VSW-TC-02 · Chương trình tổng */
.sch {
  color: var(--sch-chu);
  background: var(--sch-nen);
  padding: 48px 0 52px;
  font-family: var(--vs-font-noi-dung);
  line-height: normal;
  color-scheme: light;
  -webkit-font-smoothing: antialiased;
}
.sch, .sch * { box-sizing: border-box; }
.sch-khung { width: 100%; margin: 0 auto; min-width: 0; }
.sch-tabs { display: flex; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: var(--sch-cuon-tab) var(--sch-trong); padding: 3px 3px 12px; margin: -3px -3px 20px; }
.sch-tab { flex: 1 0 300px; display: flex; align-items: center; justify-content: center; gap: 18px; min-height: 62px; padding: 12px 24px; border: 1px solid var(--sch-vien-tab); border-radius: 999px; background: var(--sch-nen-tab); color: var(--sch-chu-tab); cursor: pointer; white-space: nowrap; transition: background .18s, color .18s; font-family: var(--vs-font-tieu-de); }
.sch-tab:hover { background: var(--sch-nen-tab-hover); }
.sch-tab[aria-selected='true'] { background: var(--sch-nen-tab-chon); color: var(--sch-chu-tab-chon); border-color: var(--sch-trong); }
.sch-tab-ten { font-size: 25px; font-weight: 600; text-transform: uppercase; letter-spacing: .035em; }
.sch-tab-ngay { font-family: var(--vs-font-nhan); font-size: 18px; font-weight: 500; letter-spacing: .12em; }
.sch-tab:focus-visible, .sch-cuon:focus-visible { outline: 3px solid var(--sch-chu); outline-offset: 3px; box-shadow: 0 0 0 5px var(--sch-bong-focus); }
.sch-goi-y { display: none; font: 500 var(--vs-co-nhan)/1.5 var(--vs-font-nhan); color: var(--sch-chu-goi-y); margin: 0 0 12px; }
.sch-cuon { width: 100%; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: var(--sch-cuon-bang) var(--sch-trong); border-radius: 2px; }
.sch-bang { width: 100%; min-width: 920px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.sch-cot-gio { width: 21%; }
.sch-bang th, .sch-bang td { padding: 0; border: 0; vertical-align: middle; }
.sch-bang thead th { padding: 2px 0 22px 16px; }
.sch-hall { display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--sch-chu-hall); min-height: 100px; }
.sch-hall-meta { font: 500 15px/1.4 var(--vs-font-noi-dung); text-align: left; white-space: nowrap; text-transform: uppercase; }
.sch-hall-meta span { display: block; }
.sch-hall-meta b { font: 500 28px/1 var(--vs-font-tieu-de); }
.sch-hall-ma { font: 500 100px/.95 var(--vs-font-tieu-de); letter-spacing: -.045em; }
.sch-bang tbody th { text-align: right; padding: 8px 26px 8px 0; font: 500 21px/1.4 var(--vs-font-noi-dung); font-variant-numeric: tabular-nums; white-space: nowrap; }
.sch-bang tbody td { padding: 8px 0 8px 16px; }
.sch-phien { min-height: 80px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border-radius: 12px; padding: 12px 8px; text-align: center; }
.sch-phien-ten { margin: 0; font: 600 25px/1.15 var(--vs-font-tieu-de); }
.sch-phu { margin: 0; font: 400 17px/1.4 var(--vs-font-noi-dung); color: var(--sch-chu); }
.sch-mau--expertRed { background: var(--sch-mau-expertRed); }
.sch-mau--expertOrange { background: var(--sch-mau-expertOrange); }
.sch-mau--expertAmber { background: var(--sch-mau-expertAmber); }
.sch-mau--expertGold { background: var(--sch-mau-expertGold); }
.sch-mau--expertRed .sch-phien-ten,.sch-mau--expertOrange .sch-phien-ten,.sch-mau--expertAmber .sch-phien-ten,.sch-mau--expertGold .sch-phien-ten { font-size: 19px; }
.sch-mau--abd { background: var(--sch-mau-abd); }
.sch-mau--ob1 { background: var(--sch-mau-ob1); }
.sch-mau--ob2 { background: var(--sch-mau-ob2); }
.sch-mau--ob3 { background: var(--sch-mau-ob3); }
.sch-mau--ob4 { background: var(--sch-mau-ob4); }
.sch-mau--pediatric { background: var(--sch-mau-pediatric); }
.sch-mau--cardiac { background: var(--sch-mau-cardiac); }
.sch-mau--msk1 { background: var(--sch-mau-msk1); }
.sch-mau--msk2 { background: var(--sch-mau-msk2); }
.sch-mau--vascular { background: var(--sch-mau-vascular); }
.sch-mau--ai { background: var(--sch-mau-ai); }
.sch-mau--eng { background: var(--sch-mau-eng); }
.sch-mau--breast { background: var(--sch-mau-breast); }
.sch-mau--handsOn { background: var(--sch-mau-handsOn); }
.sch-mau--thyroid1 { background: var(--sch-mau-thyroid1); }
.sch-mau--thyroid2 { background: var(--sch-mau-thyroid2); }
.sch-mau--intervention1 { background: var(--sch-mau-intervention1); }
.sch-mau--intervention2 { background: var(--sch-mau-intervention2); }
.sch-dai { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 7px; min-height: 64px; padding: 14px 18px; border: 1px solid var(--sch-vien-dai); border-radius: 11px; text-align: center; background: var(--sch-nen-dai); }
.sch-dai-ten { font: 400 17px/1.65 var(--vs-font-nhan); letter-spacing: .25em; margin: 0; }
.sch-dai--nghi_le .sch-dai-ten { font-weight: 600; letter-spacing: .34em; }
.sch-dai--khoa_hoc { min-height: 94px; border: 0; background: var(--sch-nen-khoa-hoc); }
.sch-dai--khoa_hoc .sch-dai-ten { font: 600 24px/1.4 var(--vs-font-tieu-de); letter-spacing: .13em; }
.sch-dai--khoa_hoc .sch-phu { font: 500 17px/1.5 var(--vs-font-nhan); letter-spacing: .4em; }
.sch-dau { margin-bottom: 24px; text-align: center; }
.sch-tieu-de { font-family: var(--vs-font-tieu-de); font-size: var(--vs-co-h2); font-weight: 600; color: var(--sch-chu-tab); }
.sch-mui-gio { font-family: var(--vs-font-nhan); font-size: var(--vs-co-nhan); font-weight: 500; color: var(--sch-chu-tab); }
.sch-tabs[hidden] { display: none; }
.sch-ngay-tieu-de { margin: 0 0 12px; font-family: var(--vs-font-tieu-de); font-size: 22px; font-weight: 600; color: var(--sch-chu-tab); }
.sch:not(.sch--js) .sch-panel + .sch-panel { margin-top: 32px; }
.sch--js .sch-ngay-tieu-de { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 1199px) {
  .sch { padding: 32px 0 40px; }
  .sch-tab { flex-basis: 280px; gap: 12px; padding: 10px 18px; }
  .sch-tab-ten { font-size: 22px; }.sch-tab-ngay { font-size: 15px; }
  .sch-cot-gio { width: 20%; }
  .sch-hall-ma { font-size: 80px; }.sch-hall-meta { font-size: var(--vs-co-nhan); }.sch-hall-meta b { font-size: 24px; }
  .sch-hall { min-height: 86px; gap: 4px; }
  .sch-bang thead th { padding-left: 12px; padding-bottom: 14px; }
  .sch-bang tbody td { padding: 7px 0 7px 12px; }
  .sch-bang tbody th { font-size: 18px; padding-right: 16px; }
  .sch-phien { min-height: 68px; border-radius: 10px; gap: 3px; }
  .sch-phien-ten { font-size: 21px; }.sch-phu { font-size: var(--vs-co-nhan); }
  .sch-mau--expertRed .sch-phien-ten,.sch-mau--expertOrange .sch-phien-ten,.sch-mau--expertAmber .sch-phien-ten,.sch-mau--expertGold .sch-phien-ten { font-size: 15px; }
  .sch-dai { min-height: 54px; }.sch-dai-ten { font-size: var(--vs-co-nhan); letter-spacing: .23em; }
  .sch-dai--khoa_hoc { min-height: 80px; }.sch-dai--khoa_hoc .sch-dai-ten { font-size: 21px; }
}
@media (max-width: 767px) {
  .sch { padding: 24px 0 28px; }
  .sch-tabs { gap: 8px; margin-bottom: 8px; }.sch-tab { flex: 0 0 270px; min-height: 56px; }
  .sch-tab-ten { font-size: 21px; }.sch-tab-ngay { font-size: var(--vs-co-nhan); }
  .sch-goi-y { display: block; }
  .sch-cot-gio { width: 16%; }
  .sch-cuon { padding-bottom: 10px; }
}
@media (prefers-reduced-motion: reduce) { .sch * { transition: none !important; scroll-behavior: auto !important; } }
@media print { .sch { print-color-adjust: exact; -webkit-print-color-adjust: exact; padding: 20px; }.sch-tabs,.sch-goi-y{display:none}.sch-cuon{overflow:visible}.sch-bang{min-width:0}.sch-bang tbody th{font-size:14px}.sch-phien-ten{font-size:17px}.sch-phu{font-size:11px} }
