:root{--surface:#ffffff;--surface-2:#f6f8f6;--sidebar:#102f24;--accent:#206c4e;--accent-2:#9acb69;--soft-accent:#e7f3dd;--modern-shadow:0 12px 35px rgba(22,55,40,.07)}
html{scroll-behavior:smooth}body{background:linear-gradient(145deg,#f8faf7 0%,#f1f4ef 55%,#f7f5ed 100%);min-height:100vh}button{transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}button:active{transform:scale(.97)}
.app{grid-template-columns:270px 1fr}aside{width:270px;background:radial-gradient(circle at 10% 0,rgba(94,170,124,.22),transparent 32%),linear-gradient(165deg,#153f30,#0c2c21 70%);padding:26px 19px;box-shadow:8px 0 35px rgba(17,48,36,.08)}.logo{padding:3px 10px}.logo .brand-mark{background:linear-gradient(135deg,#dff4b9,#91d08e);color:#123d2c;box-shadow:0 8px 24px rgba(0,0,0,.18)}.logo b{font-size:15px;letter-spacing:-.02em}.logo span{opacity:.85}
nav{gap:6px;margin-top:46px}.nav{padding:13px 15px;border-radius:12px;font-size:13px;position:relative;overflow:hidden}.nav:hover{background:rgba(255,255,255,.09);transform:translateX(2px)}.nav.active{background:linear-gradient(100deg,#39785c,#2c644b);box-shadow:0 8px 22px rgba(5,27,18,.2)}.nav.active:after{content:'';position:absolute;right:10px;width:5px;height:5px;background:#dff4b9;border-radius:50%}.side-foot{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);padding:12px;border-radius:14px}.side-foot b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px;display:block}
main{grid-column:2;padding:0 38px 60px}header{height:112px;position:sticky;top:0;z-index:5;background:rgba(247,249,245,.86);backdrop-filter:blur(16px);border-color:rgba(215,222,215,.8)}header h2{font-size:25px;letter-spacing:-.035em}.eyebrow{color:#60806d}.icon-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:12px;color:var(--ink);cursor:pointer;font-size:18px}.theme-toggle{margin-left:4px}.print-btn{height:42px}.primary{background:linear-gradient(135deg,#1c6447,#174b37);box-shadow:0 7px 18px rgba(23,77,56,.17)}.primary:hover{background:linear-gradient(135deg,#237557,#123f2e);box-shadow:0 10px 24px rgba(23,77,56,.24);transform:translateY(-1px)}
.stats{gap:18px;margin:30px 0 20px}.stat{border:1px solid rgba(219,226,219,.8);border-radius:19px;padding:21px;box-shadow:var(--modern-shadow);position:relative;overflow:hidden;transition:.2s ease}.stat:after{content:'';position:absolute;width:80px;height:80px;border-radius:50%;right:-28px;bottom:-35px;background:var(--card-glow,#dcefc0);opacity:.45}.stat:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(22,55,40,.11)}.stat:nth-child(1){--card-glow:#bce792}.stat:nth-child(2){--card-glow:#9bd7c5}.stat:nth-child(3){--card-glow:#aed0ee}.stat:nth-child(4){--card-glow:#f0c69f}.stat .icon{width:38px;height:38px;background:linear-gradient(135deg,#edf7e7,#dfeeda);font-style:normal}.stat strong{font-size:31px;letter-spacing:-.04em}.stat small{font-size:11px}
.grid-2{gap:20px}.panel{border:1px solid rgba(219,226,219,.85);border-radius:19px;padding:23px;box-shadow:var(--modern-shadow);background:var(--surface)}.panel h3{font-size:15px}.panel-head{margin-bottom:18px}table{font-size:12.5px}th{padding:12px 10px;background:var(--surface-2);border:0;color:#6d7e73}th:first-child{border-radius:10px 0 0 10px}th:last-child{border-radius:0 10px 10px 0}td{padding:14px 10px;border-color:#edf1ed}tbody tr{transition:background .15s}tbody tr:hover{background:#f8faf7}.badge{padding:6px 10px}.toolbar{margin:27px 0 15px}.search input{height:43px;background:var(--surface);box-shadow:0 5px 15px rgba(30,57,43,.04)}
.modal{backdrop-filter:blur(5px)}.modal-card{border:1px solid rgba(255,255,255,.5);border-radius:23px;padding:31px;animation:modalIn .22s ease}@keyframes modalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}input,select,textarea{min-height:43px;background:var(--surface);border-color:#dce3dc}.login-wrap{background:radial-gradient(circle at 15% 15%,#cce9b2 0,transparent 27%),radial-gradient(circle at 85% 88%,#b8dacc 0,transparent 27%),linear-gradient(145deg,#f7f9f4,#edf2ec)}.login-card{border:1px solid rgba(255,255,255,.8);box-shadow:0 28px 80px rgba(18,61,43,.15);position:relative;overflow:hidden}.login-card:before{content:'';position:absolute;width:160px;height:160px;border-radius:50%;background:#e8f5d6;right:-80px;top:-85px}.login-card>*{position:relative}.toast{border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 45px rgba(14,43,30,.25)}
html[data-theme="dark"]{--ink:#edf5f0;--muted:#9dafA4;--line:#2b4539;--surface:#162a21;--surface-2:#1d352a;--cream:#102019;--white:#162a21;--soft-accent:#294838;color-scheme:dark}html[data-theme="dark"] body{background:linear-gradient(145deg,#0c1b15,#10251c 65%,#13241d);color:var(--ink)}html[data-theme="dark"] header{background:rgba(13,30,22,.88);border-color:#263b31}html[data-theme="dark"] .panel,html[data-theme="dark"] .stat,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .print-btn,html[data-theme="dark"] .icon-button,html[data-theme="dark"] .soft-btn,html[data-theme="dark"] .modal-card{background:var(--surface);border-color:#294338;color:var(--ink)}html[data-theme="dark"] th{background:var(--surface-2);color:#aabbb1}html[data-theme="dark"] td{border-color:#263d33}html[data-theme="dark"] tbody tr:hover{background:#1b3328}html[data-theme="dark"] .muted,html[data-theme="dark"] .stat small{color:#9dafA4}html[data-theme="dark"] .stat .icon{background:#244436}html[data-theme="dark"] .close{background:#243d32;color:#fff}
@media(max-width:900px){.app{grid-template-columns:1fr}aside{width:260px}main{grid-column:1;padding:0 20px 45px}header{height:94px}.theme-toggle{margin-left:auto}header>.live{display:none}.print-btn{font-size:0;width:42px;padding:0}.print-btn:first-letter{font-size:15px}}@media(max-width:600px){main{padding:0 13px 35px}header{gap:8px}header h2{font-size:20px}header .eyebrow{font-size:9px}header .primary{width:42px;height:42px;padding:0}.stats{gap:11px}.stat{padding:17px}.panel{padding:16px;border-radius:16px}.modal-card{padding:25px 19px}.theme-toggle{display:none}}
.status-summary{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 15px}.status-summary>span{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 13px;font-size:12px;box-shadow:0 5px 15px rgba(30,57,43,.04)}.status-summary b{margin-left:6px}.ok-dot,.pending-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3ca66a;margin-right:5px}.pending-dot{background:#d98b42}.template-button{border:1px solid #bcd2c3;background:#edf6e9;color:var(--green);border-radius:10px;padding:10px 13px;font-weight:700;cursor:pointer}.file-drop{min-height:135px;border:1.5px dashed #aac4b3;border-radius:15px;background:var(--surface-2);display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;text-align:center;padding:18px}.file-drop:hover{border-color:var(--accent);background:var(--soft-accent)}.file-drop input{position:absolute;opacity:0;pointer-events:none}.file-drop span{font-size:25px;color:var(--accent)}.file-drop small{color:var(--muted);font-weight:400}
.grand-total{display:flex;align-items:center;gap:16px;background:linear-gradient(120deg,#174d38,#236b4c);color:#fff;border-radius:18px;padding:19px 22px;margin:0 0 13px;box-shadow:0 12px 30px rgba(23,77,56,.2)}.grand-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.13);font-size:21px}.grand-total small{display:block;color:#cce2d5;font-size:9px;letter-spacing:.13em;font-weight:800}.grand-total strong{font:800 30px Manrope;display:inline-block;margin:2px 12px 0 0}.grand-total span{font-size:11px;color:#d3e4dc}
.school-settings{max-width:900px;margin:28px auto}.school-intro{display:flex;align-items:center;gap:18px;background:linear-gradient(120deg,#173f30,#28684c);color:#fff;border-radius:20px;padding:24px 27px;margin-bottom:17px;box-shadow:0 14px 35px rgba(21,66,47,.16)}.school-symbol{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:23px}.school-intro .eyebrow{color:#afd0bc;margin:0 0 4px}.school-intro h3{font:800 22px Manrope;margin:0}.school-intro p:last-child{color:#c5dbcf;font-size:12px;margin:5px 0 0}.school-form{padding:27px}.school-form .form-grid{margin-top:0}
@media print{.theme-toggle{display:none!important}.status-summary{display:flex!important}html[data-theme="dark"] body,html[data-theme="dark"] .panel,html[data-theme="dark"] .stat{background:#fff!important;color:#000!important}}
