:root{--nen:#f5f6f8;--the:#fff;--chu:#172b4d;--mo:#6b778c;--vien:#dfe1e6;
      --xanh:#0052cc;--do:#de350b;--luc:#00875a;--vang:#ff8b00}
@media (prefers-color-scheme:dark){:root{--nen:#1d2125;--the:#22272b;--chu:#c7d1db;
      --mo:#8c9bab;--vien:#38414a;--xanh:#579dff}}
*{box-sizing:border-box}
body{margin:0;font:15px/1.55 system-ui,"Segoe UI",Roboto,sans-serif;
     background:var(--nen);color:var(--chu)}
.giua{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.the{background:var(--the);border:1px solid var(--vien);border-radius:10px;padding:22px;
     box-shadow:0 1px 3px rgba(9,30,66,.13)}
.hep{width:100%;max-width:380px}
h1{margin:0 0 4px;font-size:22px}
h2{margin:0 0 10px;font-size:16px}
.mo{color:var(--mo);font-size:13px;margin:0 0 16px}
label{display:block;margin-bottom:12px;font-size:13px;color:var(--mo)}
input,select{width:100%;margin-top:4px;padding:9px 10px;border:1px solid var(--vien);
     border-radius:6px;background:var(--the);color:var(--chu);font-size:14px}
button{padding:9px 14px;border:1px solid var(--vien);border-radius:6px;cursor:pointer;
     background:var(--the);color:var(--chu);font-size:14px}
button.chinh{background:var(--xanh);border-color:var(--xanh);color:#fff;width:100%}
button.nho{padding:4px 9px;font-size:13px;width:auto}
.loi{background:#ffebe6;color:#bf2600;border-radius:6px;padding:9px 11px;margin-bottom:12px;font-size:13px}
.canh-bao{background:#fffae6;color:#974f0c;border-radius:6px;padding:9px 11px;
     margin:14px 0 0;font-size:12.5px}
.ok{background:#e3fcef;color:#006644;border-radius:6px;padding:9px 11px;font-size:13px}
header{background:var(--the);border-bottom:1px solid var(--vien);padding:10px 18px;
     display:flex;align-items:center;gap:14px;flex-wrap:wrap}
header b{font-size:16px}
nav{display:flex;gap:6px;flex-wrap:wrap}
nav button.on{background:var(--xanh);border-color:var(--xanh);color:#fff}
main{padding:18px;max-width:1100px;margin:0 auto}
.luoi{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--vien);vertical-align:top}
th{color:var(--mo);font-weight:600}
.cham{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}
.cham.song{background:var(--luc)}.cham.tat{background:var(--do)}
.mo-chu{color:var(--mo);font-size:12.5px}
.hang{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.day{overflow-x:auto}
