:root{--navy:#102348;--blue:#3157a4;--sky:#eaf1ff;--ink:#18243a;--muted:#69758a;--line:#dfe5ef;--bg:#f4f6fa;--white:#fff;--green:#17835d;--amber:#b86b00;--red:#c53636;--purple:#6d4bd1;--shadow:0 12px 35px rgba(27,45,84,.09)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.muted{color:var(--muted)}.small{font-size:12px}.wide{grid-column:1/-1}.hide{display:none!important}.btn{border:0;border-radius:10px;padding:10px 15px;font-weight:700;cursor:pointer;display:inline-flex;gap:7px;align-items:center;justify-content:center}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:#edf2fb;color:var(--blue)}.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.danger{background:#fff1f1;color:var(--red)}.alert{padding:12px 14px;border-radius:10px;margin:12px 0}.alert.success{background:#e8f8f0;color:#126c4d}.alert.danger{background:#fff0f0;color:#a92929}.alert.info{background:#edf4ff;color:#294f93}.install-body{min-height:100vh;background:linear-gradient(120deg,#0f2348 0 36%,#f4f6fa 36%)}.install-shell{max-width:1050px;margin:auto;min-height:100vh;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:45px;padding:40px}.install-brand{color:#fff}.brand-mark{width:72px;height:72px;border-radius:22px;background:#fff;color:var(--navy);display:grid;place-items:center;font-weight:900;letter-spacing:1px;box-shadow:var(--shadow)}.install-brand h1{font-size:46px;line-height:1.05;margin:25px 0 12px}.install-brand .muted{color:#cbd7ee}.install-card,.card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.install-card{padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid h3{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:8px;margin:15px 0 0}.form-grid label,.stack label{display:grid;gap:6px;font-size:13px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea,.stack input,.stack select,.stack textarea,.toolbar input,.toolbar select{width:100%;border:1px solid #ccd5e3;border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink)}textarea{min-height:95px;resize:vertical}.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:#fff}.login-visual{background:linear-gradient(150deg,#102348,#3157a4);padding:64px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-visual:after{content:"";position:absolute;width:420px;height:420px;border:90px solid rgba(255,255,255,.07);border-radius:50%;right:-170px;bottom:-160px}.login-visual h1{font-size:48px;max-width:570px;margin:20px 0}.login-points{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:600px}.login-points div{padding:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:14px}.login-panel{display:grid;place-items:center;padding:40px}.login-card{width:min(400px,100%)}.login-card h2{font-size:32px;margin-bottom:8px}.stack{display:grid;gap:15px}.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:var(--navy);color:#fff;padding:22px 14px;position:sticky;top:0;height:100vh}.side-brand{display:flex;gap:12px;align-items:center;padding:6px 8px 25px}.side-brand .brand-mark{width:44px;height:44px;border-radius:13px;font-size:13px}.side-brand strong{display:block}.side-brand span{font-size:11px;color:#b9c8e5}.nav{display:grid;gap:5px}.nav a{padding:11px 12px;border-radius:10px;color:#cbd7eb;font-size:14px;font-weight:650}.nav a:hover,.nav a.active{background:#fff;color:var(--navy)}.side-foot{position:absolute;bottom:20px;left:14px;right:14px;border-top:1px solid rgba(255,255,255,.15);padding-top:14px}.workspace{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.topbar h1{font-size:20px;margin:0}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--sky);color:var(--blue);display:grid;place-items:center;font-weight:800}.content{padding:26px 28px 50px;max-width:1500px}.page-head{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:20px}.page-head h2{font-size:28px;margin:0 0 4px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;display:flex;justify-content:space-between;align-items:start}.stat b{font-size:30px;display:block;margin-top:7px}.stat-icon{width:40px;height:40px;border-radius:12px;background:var(--sky);display:grid;place-items:center;color:var(--blue);font-weight:900}.grid-2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);gap:18px}.card{padding:20px}.card h3{margin:0 0 15px;font-size:17px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.activity-list{display:grid;gap:10px}.activity-row{display:grid;grid-template-columns:minmax(230px,1.7fr) minmax(120px,.8fr) 110px 100px 90px;gap:14px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.activity-row:hover{border-color:#a9b9d5}.activity-title strong{display:block}.category-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;text-transform:capitalize}.badge.pending{background:#eef1f5;color:#596579}.badge.in_progress{background:#e9f2ff;color:#265fae}.badge.review{background:#f3edff;color:#6d41b9}.badge.completed{background:#e6f7ef;color:#157450}.badge.on_hold,.badge.critical{background:#ffecec;color:#ad2929}.badge.at-risk{background:#fff3df;color:#9a5800}.badge.on-track{background:#e8f4ff;color:#1e5c9a}.progress{height:7px;background:#e7ebf1;border-radius:20px;overflow:hidden}.progress span{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#3157a4,#22a1cf)}.notice{padding:13px 0;border-bottom:1px solid var(--line)}.notice:last-child{border:0}.toolbar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:15px}.toolbar input{max-width:260px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{text-align:left;color:#687589;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:11px;border-bottom:1px solid var(--line)}.data-table td{padding:12px 11px;border-bottom:1px solid #edf0f5;vertical-align:middle}.data-table tr:hover td{background:#fafcff}.task-hero{background:linear-gradient(130deg,#102348,#3157a4);color:#fff;border-radius:18px;padding:24px;display:grid;grid-template-columns:1fr auto;gap:20px;margin-bottom:18px}.task-hero .muted{color:#ccd8ed}.big-progress{min-width:210px;align-self:center}.big-progress .progress{background:rgba(255,255,255,.2);height:10px}.big-progress .progress span{background:#57d7b1}.detail-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:18px}.checklist{display:grid;gap:8px}.check-item{display:flex;align-items:flex-start;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px}.check-item.done{background:#f0faf6;text-decoration-color:#8aa89d}.check-item input{width:18px;height:18px}.timeline{display:grid;gap:14px}.timeline-item{border-left:3px solid #cbd7e9;padding-left:13px}.timeline-item p{margin:6px 0}.smart-box{background:linear-gradient(145deg,#f1f5ff,#eefaf8);border:1px solid #d6e0f2;border-radius:14px;padding:16px}.smart-box h3{color:#294f93}.empty{text-align:center;padding:32px;color:var(--muted)}.pill-row{display:flex;flex-wrap:wrap;gap:7px}.metric-bars{display:grid;gap:13px}.metric-line{display:grid;grid-template-columns:130px 1fr 38px;gap:10px;align-items:center;font-size:13px}.mobile-menu{display:none}.print-only{display:none}.kpi-note{font-size:11px;color:var(--muted);margin-top:2px}.danger-text{color:var(--red)}.success-text{color:var(--green)}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.grid-2,.detail-grid{grid-template-columns:1fr}.activity-row{grid-template-columns:1.6fr 1fr 100px}.activity-row>:nth-child(4),.activity-row>:nth-child(5){display:none}}
@media(max-width:760px){.install-body{background:var(--bg)}.install-shell,.login-page{grid-template-columns:1fr;padding:20px}.install-brand,.login-visual{display:none}.form-grid{grid-template-columns:1fr}.app{display:block}.sidebar{position:fixed;z-index:20;width:250px;transform:translateX(-105%);transition:.2s}.sidebar.open{transform:none}.mobile-menu{display:inline-flex}.topbar{padding:0 15px}.content{padding:19px 15px}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:13px}.stat b{font-size:24px}.page-head{align-items:stretch;flex-direction:column}.activity-row{grid-template-columns:1fr}.activity-row>:not(:first-child){display:none}.task-hero{grid-template-columns:1fr}.big-progress{min-width:0}.login-panel{padding:28px}.login-card h2{font-size:27px}}
@media print{.sidebar,.topbar,.no-print,.btn,.toolbar{display:none!important}.app{display:block}.content{padding:0}.card,.stat{box-shadow:none;break-inside:avoid}.print-only{display:block}.activity-row{grid-template-columns:2fr 1fr 1fr 1fr 1fr}}
.reminder-centre{margin-bottom:20px}.reminder-centre .section-title p{margin:4px 0 0}.reminder-list{display:grid;gap:8px}.reminder-item{display:grid;grid-template-columns:130px minmax(210px,1fr) minmax(140px,.65fr) 90px;align-items:center;gap:13px;padding:11px 12px;border:1px solid var(--line);border-radius:11px}.reminder-item:hover{border-color:#a9b9d5;background:#fbfcff}.reminder-title small{display:block;color:var(--muted);margin-top:3px}.reminder-owner{font-size:12px;color:var(--muted)}
@media(max-width:760px){.reminder-item{grid-template-columns:1fr auto}.reminder-item .badge{justify-self:start}.reminder-owner{grid-column:1/-1}}
.review-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;border-left:5px solid var(--purple)}.review-bar h3,.review-bar p{margin:0 0 5px}.replace-check{display:flex;align-items:center;gap:8px;margin-top:8px;padding:10px;border-radius:9px;background:#fff8e8;color:#855000;font-size:12px}.replace-check input{width:auto}.workflow-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.workflow-strip div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;display:flex;align-items:center;gap:10px}.workflow-strip b{width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center}.workflow-strip span{font-size:13px;font-weight:750}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px}.guide-card{box-shadow:none}.guide-card ol{padding-left:20px;line-height:1.55}.guide-card li{margin:8px 0}.guide-role{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;letter-spacing:.05em;margin-bottom:12px}.admin-role{background:#e8efff;color:#234f9b}.principal-role{background:#f2ebff;color:#6841b1}.teacher-role{background:#e7f8f0;color:#11704f}.admission-role{background:#fff0f3;color:#b4234d}.admission-guide{margin-bottom:18px}.admission-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admission-steps div{border:1px solid var(--line);border-radius:12px;padding:14px}.admission-steps b,.admission-steps span{display:block}.admission-steps span{color:var(--muted);font-size:13px;margin-top:5px;line-height:1.45}.status-guide{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.status-guide div{border:1px solid var(--line);border-radius:12px;padding:13px}.status-guide p{font-size:12px;color:var(--muted);margin:9px 0 0}
@media(max-width:1050px){.guide-grid{grid-template-columns:1fr}.workflow-strip,.status-guide{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.review-bar{align-items:stretch;flex-direction:column}.workflow-strip,.admission-steps,.status-guide{grid-template-columns:1fr}}
