*{box-sizing:border-box}body{margin:0;background:#f4f6fb;color:#16233f;font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.55}a{color:#1b53b8}.wrap{max-width:1180px;margin:auto;padding:0 22px}.topbar{background:#0e244e;color:white;padding:16px 0;box-shadow:0 2px 10px #11295620}.header-flex{display:flex;justify-content:space-between;align-items:center;gap:15px}.brand{font-weight:800;letter-spacing:.04em}.toplink{color:#e4ecff;text-decoration:none;margin-right:14px}.hero{padding:54px 0 33px;text-align:center}.hero h1{font-size:clamp(1.8rem,4vw,3.25rem);line-height:1.2;margin:12px 0;color:#102b64}.hero p{color:#65738e;margin:5px}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.14em;color:#3460ad}.election,.panel{background:#fff;border:1px solid #e0e7f4;box-shadow:0 10px 35px #132a4b08;border-radius:18px;padding:28px;margin:0 0 25px}.election h2,.panel h2{margin:0 0 5px;font-size:1.35rem}.muted{color:#697895;margin:4px 0 20px}.small{font-size:.88rem}.candidate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.candidate-card{position:relative;cursor:pointer;min-width:0}.candidate-card input{position:absolute;opacity:0}.candidate-body{height:100%;display:flex;align-items:center;flex-direction:column;border:2px solid #e3e9f3;border-radius:15px;overflow:hidden;padding:16px;gap:10px;transition:.15s}.candidate-body img,.placeholder{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eff4ff;border-radius:10px}.placeholder{display:grid;place-items:center;font-size:4rem}.number{background:#eaf0fc;color:#2353a4;padding:5px 16px;border-radius:40px;font-size:.85rem;font-weight:900}.chosen{font-size:.9rem;font-weight:700;color:#5474ab}.candidate-card input:checked+.candidate-body{border-color:#1b65db;background:#f3f8ff;box-shadow:0 0 0 3px #cfe2ff}.candidate-card input:focus-visible+.candidate-body{outline:3px solid #f0ae35}.candidate-card input:checked+.candidate-body .chosen{color:#14783a}.candidate-body strong{text-align:center;font-size:1.05rem}.form-grid,.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.identity{max-width:850px;margin:0 auto 30px}.notice{background:#fff5e0;border:1px solid #f1d7a0;border-radius:10px;padding:14px;margin:18px 0;color:#5e4519}.notice.subtle{background:#f4f7fd;border-color:#e0e8f6;color:#50627f;font-size:.9rem}label:not(.candidate-card){display:flex;flex-direction:column;gap:6px;font-weight:650;margin:0 0 15px}input:not([type=radio]):not([type=hidden]),select{border:1px solid #ced8e9;padding:11px 12px;border-radius:9px;font:inherit;width:100%;background:white;color:#172744}input:focus,select:focus{outline:2px solid #a5c5fd;outline-offset:1px}button{font:inherit;cursor:pointer}button:disabled{opacity:.56;cursor:not-allowed}.primary{background:#225cba;color:white;border:0;border-radius:10px;padding:12px 20px;font-weight:800}.primary:hover{background:#16499a}.secondary,.mini{background:#eef3fc;color:#234d94;border:1px solid #cfdef5;padding:10px 15px;border-radius:8px;font-weight:700}.mini{padding:6px 10px;font-size:.8rem}.narrow{max-width:490px;margin:65px auto}.narrow h1{margin-top:0}footer{text-align:center;color:#7887a1;padding:24px 15px 35px;font-size:.85rem}.adminhero{text-align:left;padding:32px 0 22px}.adminhero h1{font-size:2.25rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.stat{background:white;border:1px solid #e0e7f4;border-radius:14px;padding:18px}.stat small{display:block;color:#6f7e97}.stat strong{display:block;font-size:1.9rem;margin-top:4px;color:#2056ac}.candidate-form{display:grid;grid-template-columns:1fr 2fr 2fr auto auto;align-items:end;gap:12px}.candidate-form label{margin:0!important}.candidate-form button{margin-bottom:1px;white-space:nowrap}.table-scroll{overflow:auto;margin-top:26px}table{border-collapse:collapse;width:100%;min-width:590px}th,td{text-align:left;border-bottom:1px solid #e7edf6;padding:12px;vertical-align:middle}th{background:#f5f7fc;font-size:.83rem}.thumb{height:58px;width:75px;object-fit:cover;border-radius:8px}.section-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-row h2{margin:0}.result-line{margin:17px 0 23px}.result-line .section-row{font-size:.92rem}.track{margin-top:8px;height:13px;background:#eaf0f8;border-radius:50px;overflow:hidden}.track div{background:#2a66c7;height:100%;border-radius:50px;transition:width .25s}#results h3{margin-top:30px;border-bottom:1px solid #e9eef5;padding-bottom:10px}@media(max-width:850px){.candidate-form{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}}@media(max-width:600px){.wrap{padding:0 14px}.hero{padding:34px 0 25px}.election,.panel{padding:18px;border-radius:14px}.form-grid{grid-template-columns:1fr;gap:0}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.candidate-body{padding:9px;gap:7px}.candidate-body strong{font-size:.88rem}.number{font-size:.75rem;padding:4px 9px}.chosen{font-size:.75rem}.candidate-form{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:12px}.stat strong{font-size:1.5rem}}

/* Identitas sekolah dan status jadwal */
.school-head{display:flex;align-items:center;gap:18px;min-width:0;flex:1}
.school-head img{width:76px;height:76px;object-fit:contain;flex-shrink:0}
.school-head-text{display:flex;flex-direction:column;gap:4px;line-height:1.35;min-width:0}
.school-head-text strong{font-size:clamp(.9rem,2.3vw,1.3rem);overflow-wrap:anywhere}
.school-head-text span{font-size:.9rem;opacity:.85}
.schedule-panel{text-align:center;padding:38px 22px;margin:22px 0;border-radius:18px;background:#f3f7ff;border:1px solid #cddff9}
.schedule-panel h2{font-size:clamp(1.4rem,4vw,2.3rem);margin:8px 0}
.countdown{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.countdown-unit{border-radius:12px;background:#fff;border:1px solid #dce5f3;padding:10px 16px;min-width:73px}
.countdown-unit strong{display:block;font-size:1.65rem;font-variant-numeric:tabular-nums}
.countdown-unit small{font-size:.75rem;color:#64748b}
.logo-preview{max-height:76px;max-width:90px;object-fit:contain;vertical-align:middle}
@media(max-width:600px){.school-head{gap:9px}.school-head img{width:46px;height:46px}.school-head-text span{font-size:.75rem}.header-flex{gap:6px}.toplink{font-size:.8rem}.countdown-unit{min-width:59px;padding:8px}}

/* Navigasi tab panel panitia */
.admin-tabs{display:flex;gap:9px;overflow-x:auto;scrollbar-width:thin;margin:0 0 18px;padding:4px 2px 9px}
.admin-tab{white-space:nowrap;border:1px solid #cbd8ed;background:#eaf0fa;color:#284778;border-radius:11px;padding:12px 18px;font-weight:750}
.admin-tab.active{background:#1c55ad;color:#fff;border-color:#1c55ad;box-shadow:0 3px 10px #123f8e2b}
.admin-tab:focus-visible{outline:3px solid #f2b948;outline-offset:2px}
.admin-tab-panel[hidden]{display:none!important}
@media(max-width:600px){.admin-tabs{gap:6px}.admin-tab{padding:10px 12px;font-size:.86rem}}
