:root{
  --bg:#fff3b8; --card:#fffbe8; --bar:#ffc61a; --ink:#16213a; --muted:#566079;
  --blue:#1230d8; --ok:#0f6b31; --okbg:#d8f5e2; --bad:#b3121f; --badbg:#ffe1e4;
  --line:#e6d8a0; --box:#fff; --ui:'Baloo 2','Segoe UI',system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--bg:#121826;--card:#1d2536;--bar:#c48a00;--ink:#f1f3f9;--muted:#a9b2c6;--ok:#6fe3a0;--okbg:#17382a;--bad:#ff9aa4;--badbg:#40202a;--line:#34425f;--box:#263147}
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--ui);font-size:1.1rem;line-height:1.4;min-height:100vh}
.dau{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 18px;color:#fff;background:linear-gradient(90deg,#1230d8,#2f6bff 60%,#19b6e8);border-bottom:4px solid var(--bar)}
.dau b{display:block;font-size:1.5rem;font-style:italic;line-height:1.1}
.dau small{font-weight:600;opacity:.92}
.dau .phai{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.khung{max-width:760px;margin:0 auto;padding:18px 16px 40px}
.the{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:16px}
.the h2{margin:0 0 10px;font-size:1.4rem}
.the h3{margin:16px 0 8px;font-size:1.15rem}
label{display:block;font-weight:700;margin:10px 0 4px}
input,select,textarea{width:100%;font:600 1.1rem var(--ui);color:var(--ink);background:var(--box);border:2px solid var(--blue);border-radius:10px;padding:8px 10px}
textarea{min-height:150px;font-weight:500}
.nut{font:700 1.1rem var(--ui);border:0;border-radius:12px;background:var(--blue);color:#fff;padding:9px 18px;cursor:pointer;text-decoration:none;display:inline-block}
.nut.phu{background:transparent;color:var(--ink);border:2px solid var(--muted)}
.nut.nho{font-size:.95rem;padding:3px 10px;border-radius:9px}
.nut.xoa{background:transparent;color:var(--bad);border:2px solid var(--bad)}
.dau .nut.phu{color:#fff;border-color:#fff}
.nut:disabled{opacity:.55;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ff8a00;outline-offset:2px}
.hang{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center}
.tb{min-height:1.6em;margin:10px 0 0;font-weight:700;color:var(--muted)}
.tb.loi{color:var(--bad)}
.tb.dung{color:var(--ok)}
.mo{color:var(--muted)}
.ma-lop{font-size:2rem;letter-spacing:.2em;text-align:center;text-transform:uppercase}
.luoi-ten{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:10px}
.ten{font:700 1.1rem var(--ui);padding:14px 8px;border-radius:12px;border:2px solid var(--blue);background:var(--box);color:var(--ink);cursor:pointer}
.cham{display:flex;justify-content:center;gap:14px;margin:14px 0}
.cham i{width:24px;height:24px;border-radius:50%;border:3px solid var(--blue)}
.cham i.day{background:var(--blue)}
.phim{display:grid;grid-template-columns:repeat(3,76px);gap:10px;justify-content:center}
.phim button{font:700 1.6rem var(--ui);height:62px;border-radius:14px;border:2px solid var(--blue);background:var(--box);color:var(--ink);cursor:pointer}
.phim .an{visibility:hidden}
.mon{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}
.mon:first-of-type{border-top:0}
.nhan{font-size:.95rem;font-weight:700;color:var(--muted)}
.cuon{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:1rem}
th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.lop{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line)}
.ma{font-weight:800;letter-spacing:.1em}
.khoi{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:var(--box)}
.khoi>summary{cursor:pointer;padding:9px 12px;font-weight:800;font-size:1.15rem}
.khoi .mo-lop{padding:0 12px 10px}
.lopct{border-top:1px solid var(--line)}
.lopct:first-of-type{border-top:0}
.lopct>summary{cursor:pointer;padding:8px 0;font-weight:700}
.lopct>summary .mo{font-weight:600;font-size:.95rem}
.lopnut{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
.tenhs{all:unset;cursor:pointer;color:var(--blue);font-weight:700;text-decoration:underline;white-space:normal}
.tenhs:focus-visible{outline:3px solid #ff8a00;outline-offset:2px}
.so{text-align:right}
.ngaynk{border-top:1px solid var(--line)}
.ngaynk:first-of-type{border-top:0}
.ngaynk>summary{cursor:pointer;padding:9px 4px;font-weight:700;scroll-margin-top:8px}
.ngaynk>summary .mo{font-weight:600;font-size:.95rem;display:block;margin-left:1.2em}
.ngaynk[open]>summary{color:var(--blue)}
.nk td{white-space:normal;vertical-align:top}
.nk td:first-child{white-space:nowrap;color:var(--muted);font-weight:600}
.nk tr.dekt td{background:var(--okbg)}
.nk .nut{margin-top:4px}
#khungBL iframe{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;display:block}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .tenhs{color:#9db4ff}
}
.luoi-the{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:10px}
.the-hs{border:2px dashed var(--muted);border-radius:10px;padding:10px;break-inside:avoid}
.the-hs b{display:block}
.the-hs span{display:block}
@media print{
  body{background:#fff;color:#000}
  .dau,.khong-in{display:none!important}
  .the{border:0;padding:0;background:#fff}
}
