
@import url('https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,400;0,700;1,500&family=Orbitron:wght@800&family=Rajdhani:wght@700&display=swap');
*{box-sizing:border-box}body{margin:0;font-family:'Exo 2',Arial;background:linear-gradient(135deg,#071b3d,#0b3d91 45%,#eef6ff);color:#17324d}.app{max-width:1180px;margin:auto;padding:14px}.hero{border-radius:28px;padding:18px;background:linear-gradient(135deg,#0b3d91,#071b3d);box-shadow:0 18px 45px #0005;color:white}.logo-row{display:grid;grid-template-columns:82px 1fr 70px;gap:8px;align-items:center}.logo{text-align:center}.logo img{max-width:100%;object-fit:contain}.kpm img{max-height:60px;max-width:76px}.school img{max-height:64px;max-width:64px}.title{text-align:center}.title h1{font-family:Orbitron;font-size:clamp(27px,5vw,48px);margin:0;color:white;text-shadow:0 0 18px #77d6ff}.subtitle{font-family:Rajdhani;font-size:clamp(17px,3vw,24px);color:#dbeafe}.schoolname{font-size:clamp(14px,2.5vw,18px)}.slogan{color:#ffd56a;font-style:italic;margin-top:7px}.info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.info div,.stat{background:#ffffff24;border:1px solid #ffffff38;border-radius:16px;padding:10px;text-align:center;font-weight:700}.nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:15px 0}.nav button,.btn{border:0;border-radius:999px;padding:11px 16px;font-weight:800;cursor:pointer;background:white;color:#0b3d91;box-shadow:0 6px 18px #0003}.btn{background:#0b3d91;color:white;border-radius:14px}.primary{background:linear-gradient(135deg,#ffd56a,#fff0a6)!important;color:#1f2937!important}.section{display:block}.hidden{display:none!important}.grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.card{background:#fffffff5;border-radius:24px;padding:18px;margin-bottom:16px;box-shadow:0 12px 35px #0a23502b}.card h2{font-family:Rajdhani;color:#0b3d91;font-size:28px;margin:0 0 12px}input,select,textarea{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:14px;font:inherit}label{font-weight:700}.field{margin:10px 0}.checks,.time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.check{border:1px solid #dbeafe;background:#f8fbff;border-radius:14px;padding:9px}.check input{width:auto}.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.announce{border-left:6px solid #ffd56a;background:#fffbeb;border-radius:18px;padding:12px}.muted{color:#64748b;font-size:13px}.progress{height:12px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:8px 0}.bar{height:100%;background:linear-gradient(90deg,#22c55e,#0b3d91)}.bar.full{background:linear-gradient(90deg,#dc2626,#991b1b)}.pill{display:inline-block;border-radius:999px;padding:6px 10px;font-weight:800;font-size:13px}.ok{background:#dcfce7;color:#166534}.fullp{background:#fee2e2;color:#991b1b}.table{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:9px;border-bottom:1px solid #e5e7eb;text-align:left}th{background:#eff6ff;color:#1e3a8a}.units{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px}.unit{padding:8px;border-radius:12px;text-align:center;background:#dcfce7;color:#166534;font-weight:800}.unit.used{background:#fee2e2;color:#991b1b}.footer{text-align:center;color:white;padding:20px}@media(max-width:780px){.grid{grid-template-columns:1fr}.logo-row{grid-template-columns:58px 1fr 54px}.kpm img{max-height:44px;max-width:54px}.school img{max-height:50px;max-width:50px}.info{grid-template-columns:1fr}.app{padding:9px}.card{border-radius:18px;padding:14px}.nav button{flex:1 1 125px}}@media print{.nav,.no-print{display:none!important}body{background:white}.card,.hero{box-shadow:none}}
