:root{--bg:#f4f7fc;--card:#fff;--text:#122033;--muted:#66758a;--brand:#315ff4;--brand2:#6d4cf6;--sidebar:#071b3b;--sidebar2:#0b2855;--line:#e5ebf4;--ok:#0c9f6e;--danger:#d83b4d;--shadow:0 8px 30px rgba(24,48,94,.08)}html[data-theme=dark]{--bg:#0c1425;--card:#121f35;--text:#edf3ff;--muted:#a7b5ca;--line:#253754;--sidebar:#061126;--sidebar2:#0d2246;--shadow:0 8px 30px rgba(0,0,0,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{color:var(--brand)}button,input,select,textarea{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:linear-gradient(180deg,var(--sidebar),var(--sidebar2));color:#fff;overflow-y:auto;overflow-x:hidden;padding:18px 15px 28px;z-index:30;scrollbar-width:thin}.brand{display:flex;gap:12px;align-items:center;padding:2px 4px 18px;border-bottom:1px solid #ffffff1c}.brand strong{display:block;font-size:15px}.brand small{display:block;color:#9eb2d4;margin-top:3px}.logo{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#2f66f5,#7c4dff);font-weight:900;box-shadow:0 8px 22px #315ff455}.school-chip{margin:14px 2px 8px;padding:10px 12px;border:1px solid #ffffff17;border-radius:12px;background:#ffffff0a;color:#c8d5ea;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-group{margin-top:14px}.nav-group>span{display:block;padding:0 11px 7px;color:#7890b8;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.nav-group a{display:flex;align-items:center;gap:11px;color:#dbe7fa;text-decoration:none;padding:10px 11px;border-radius:10px;margin:2px 0;transition:.18s}.nav-group a i{font-style:normal;width:24px;text-align:center}.nav-group a b{font-weight:600}.nav-group a:hover,.nav-group a.active{background:#ffffff17;color:#fff;transform:translateX(2px)}.main{margin-left:270px;min-height:100vh}.main header{height:72px;background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 24px;position:sticky;top:0;z-index:20}.header-title b{font-size:15px}.header-title small{display:block;color:var(--muted);margin-top:2px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.header-actions form{margin:0}.user-pill{background:var(--bg);border:1px solid var(--line);padding:8px 12px;border-radius:99px;color:var(--muted)}.icon-btn,.logout,.button,.primary,.secondary,.inline-form button{border:0;border-radius:10px;padding:10px 14px;cursor:pointer;text-decoration:none}.icon-btn{background:var(--bg);color:var(--text);border:1px solid var(--line)}.logout,.primary,.button{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:700}.secondary{background:var(--card);border:1px solid var(--line);color:var(--text)}.menu{display:none!important;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:8px 10px}.content{padding:26px;max-width:1700px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.page-head h1{font-size:28px;margin:0 0 5px;letter-spacing:-.03em}.page-head p,.muted{margin:0;color:var(--muted)}.page-actions,.date-filter{display:flex;gap:8px;align-items:center}.grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.stat,.panel{background:var(--card);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.stat{padding:18px;position:relative;overflow:hidden}.stat:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-25px;top:-25px;background:linear-gradient(135deg,#315ff41c,#6d4cf61b)}.stat span{color:var(--muted);font-weight:600}.stat strong{display:block;font-size:25px;margin-top:8px;letter-spacing:-.02em}.stat small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.panel{padding:18px;margin-top:16px}.panel h2,.panel h3{margin:0 0 14px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panel-head h2{margin:0}.panel-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.dashboard-split,.two-cols{display:grid;grid-template-columns:2fr 1fr;gap:16px}.three-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.quick{display:flex;gap:10px;flex-wrap:wrap}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.quick a{background:linear-gradient(135deg,#eef4ff,#f6f1ff);border:1px solid #dce6ff;color:#244fb8;text-decoration:none;padding:15px;border-radius:13px;font-weight:700}.activity{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.activity:last-child{border-bottom:0}.activity span{color:var(--muted);text-align:right}.recent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form label{display:grid;gap:6px;color:var(--muted);font-weight:600}.wide{grid-column:1/-1}.mini-form{display:grid;gap:10px;align-content:start}.mini-form h3{margin-bottom:3px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:var(--card);color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#7d9df7;box-shadow:0 0 0 3px #315ff414}.split-input{display:grid;grid-template-columns:1fr 1fr;gap:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}tbody tr:hover{background:color-mix(in srgb,var(--bg) 60%,transparent)}.table-sub{display:block;color:var(--muted);margin-top:3px}.badge,.tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:99px;background:#e9f0ff;color:#2852bd;font-size:11px;font-weight:700}.badge.success{background:#e8fbf4;color:#0c8a61}.tag{margin:3px;background:var(--bg);color:var(--text);border:1px solid var(--line)}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.tabs a{text-decoration:none;padding:9px 13px;border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:10px;font-weight:700}.tabs a.active{background:var(--brand);color:#fff;border-color:var(--brand)}details.create-box summary{cursor:pointer;font-weight:800;font-size:16px;margin-bottom:14px}.card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card-list .panel{margin-top:0}.empty{text-align:center;color:var(--muted);padding:22px}.alert,.error{padding:12px 14px;border-radius:11px;margin-bottom:14px}.alert{background:#e9fff5;color:#09744f;border:1px solid #bcebd9}.error{background:#fff0f2;color:#a52334;border:1px solid #ffd3d9}.error ul{margin:7px 0 0}.inline-form{display:flex;gap:6px;min-width:360px}.inline-form input{max-width:110px}.inline-form select{max-width:120px}.inline-form button{background:var(--brand);color:#fff}.sticky-action{position:sticky;bottom:15px;margin-top:12px;box-shadow:0 8px 22px #315ff440}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#dae7ff,#f8faff 55%)}.login-card{width:min(430px,92vw);background:#fff;padding:32px;border-radius:24px;box-shadow:0 26px 90px #284c8c28;text-align:center}.login-card form{display:grid;gap:14px;text-align:left;margin-top:22px}.login-card .primary{width:100%}.check{display:flex!important;grid-template-columns:20px auto!important;align-items:center}.check input{width:auto}@media(max-width:1250px){.stats-grid{grid-template-columns:repeat(3,1fr)}.feature-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.2s}.nav-open .sidebar{transform:none}.main{margin-left:0}.menu{display:block!important}.dashboard-split,.two-cols,.three-cols{grid-template-columns:1fr}.content{padding:18px}.user-pill{display:none}}@media(max-width:650px){.stats-grid,.feature-grid,.form,.card-list,.recent-grid{grid-template-columns:1fr}.content{padding:14px}.page-head{align-items:flex-start;flex-direction:column}.main header{padding:0 12px}.header-actions{gap:6px}.header-title{max-width:140px}.header-title b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wide{grid-column:auto}.date-filter{width:100%;flex-wrap:wrap}.inline-form{min-width:300px}.stat{padding:15px}}
.module-toggle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.module-toggle-grid form{margin:0}.module-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer}.module-toggle.on{border-color:#b9ead7;background:#effcf7}.module-toggle.on b{color:#0b8d62}.module-toggle.off{background:#fff5f5}.module-toggle.off b{color:#c43b49}@media(max-width:900px){.module-toggle-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.module-toggle-grid{grid-template-columns:1fr}}
.login-shell{width:min(1050px,94vw);display:grid;grid-template-columns:1.2fr .8fr;background:var(--card);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 30px 100px #244b8f25}.login-hero{padding:52px;background:linear-gradient(145deg,#081c3f,#123e7d);color:#fff;position:relative;overflow:hidden}.login-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:#477cff33;right:-180px;bottom:-220px}.hero-brand{border:0;padding:0}.hero-brand .logo{margin:0;width:58px;height:58px}.hero-brand strong{font-size:20px}.login-hero h1{font-size:42px;line-height:1.04;margin:54px 0 18px;max-width:560px;letter-spacing:-.04em}.login-hero>p{color:#c9d8f1;line-height:1.7;font-size:16px;max-width:560px}.hero-points{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:34px;color:#dce8fa;font-weight:600}.login-shell .login-card{width:auto;border-radius:0;box-shadow:none;padding:48px 40px;text-align:left;display:flex;flex-direction:column;justify-content:center}.login-shell .login-card h2{font-size:30px;margin:0 0 6px}.login-shell .login-card>p{margin:0;color:var(--muted)}.login-shell .login-card label{display:grid;gap:6px;font-weight:650;color:var(--muted)}.mobile-login-logo{display:none}.login-note{display:block;text-align:center;color:var(--muted);margin-top:18px}@media(max-width:800px){.login-shell{grid-template-columns:1fr}.login-hero{display:none}.login-shell .login-card{padding:34px 24px}.mobile-login-logo{display:block;text-align:center;margin-bottom:20px}.mobile-login-logo .logo{margin:auto}.login-shell .login-card h2,.login-shell .login-card>p{text-align:center}}
.small-strong{font-size:18px!important}.module-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.module-layout{grid-template-columns:2fr 1fr}.module-help{align-self:start}.tool-list{display:grid;gap:9px;color:var(--muted)}.filterbar{display:grid;grid-template-columns:1fr 180px auto auto;gap:9px}.row-actions{position:relative}.row-actions>summary{cursor:pointer;color:var(--brand);font-weight:700}.action-pop{position:absolute;right:0;z-index:10;background:var(--card);border:1px solid var(--line);padding:12px;border-radius:14px;box-shadow:var(--shadow);width:290px}.action-pop form{display:grid;gap:7px}.danger-btn{border:0;border-radius:9px;padding:9px;background:#fff0f2;color:#b6283a;font-weight:700;cursor:pointer}.pager{padding-top:14px}.sidebar nav{padding-bottom:40px}.nav-group a{font-size:13px}.nav-group>span{position:sticky;top:-18px;background:linear-gradient(180deg,var(--sidebar),var(--sidebar));padding-top:8px;z-index:2}.dashboard-hero{background:linear-gradient(135deg,#08204a,#315ff4 58%,#6d4cf6);color:white;border:0;position:relative;overflow:hidden}.dashboard-hero:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:#ffffff16;right:-90px;top:-130px}.dashboard-hero h1{font-size:34px;margin:0 0 7px}.dashboard-hero p{color:#dce7ff;max-width:700px}.kpi-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eef3ff;margin-bottom:10px}.premium-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.premium-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;text-decoration:none;color:var(--text);box-shadow:var(--shadow);transition:.18s}.premium-card:hover{transform:translateY(-2px);border-color:#b8c9ff}.premium-card i{font-style:normal;font-size:22px}.premium-card b{display:block;margin-top:8px}.premium-card span{display:block;color:var(--muted);font-size:11px;margin-top:3px}@media(max-width:1250px){.premium-card-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:800px){.premium-card-grid{grid-template-columns:repeat(2,1fr)}.module-stats{grid-template-columns:repeat(2,1fr)}.module-layout{grid-template-columns:1fr}.filterbar{grid-template-columns:1fr 1fr}}@media(max-width:520px){.premium-card-grid,.module-stats,.filterbar{grid-template-columns:1fr}}
.highlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.highlight-card{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--card) 94%,#eef3ff),var(--card))}.highlight-card i{font-style:normal;font-size:26px;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--bg)}.highlight-card b{display:block}.highlight-card span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.app-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.app-card{border:1px solid var(--line);border-radius:13px;padding:14px;background:var(--card)}.app-card b{display:block}.app-card span{display:block;color:var(--muted);font-size:11px;line-height:1.45;margin-top:5px}.compact-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.module-group{scroll-margin-top:90px}@media(max-width:1250px){.highlight-grid{grid-template-columns:repeat(2,1fr)}.app-strip{grid-template-columns:repeat(3,1fr)}.compact-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:700px){.highlight-grid,.app-strip,.compact-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.highlight-grid,.app-strip,.compact-grid{grid-template-columns:1fr}}
/* Final all-round management polish */
:root{--blue-soft:#edf4ff;--green-soft:#edfff7;--orange-soft:#fff7eb;--purple-soft:#f6f0ff;--pink-soft:#fff0f6;--teal-soft:#edfffd}.accent-blue{border-top:4px solid #3b82f6;background:linear-gradient(180deg,var(--blue-soft),var(--card) 42%)}.accent-green{border-top:4px solid #10b981;background:linear-gradient(180deg,var(--green-soft),var(--card) 42%)}.accent-orange{border-top:4px solid #f59e0b;background:linear-gradient(180deg,var(--orange-soft),var(--card) 42%)}.accent-purple{border-top:4px solid #8b5cf6;background:linear-gradient(180deg,var(--purple-soft),var(--card) 42%)}.accent-pink{border-top:4px solid #ec4899;background:linear-gradient(180deg,var(--pink-soft),var(--card) 42%)}.accent-teal{border-top:4px solid #14b8a6;background:linear-gradient(180deg,var(--teal-soft),var(--card) 42%)}html[data-theme=dark] .accent-blue,html[data-theme=dark] .accent-green,html[data-theme=dark] .accent-orange,html[data-theme=dark] .accent-purple,html[data-theme=dark] .accent-pink,html[data-theme=dark] .accent-teal{background:var(--card)}.panel,.stat,.premium-card,.highlight-card,.app-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.panel:hover,.stat:hover{border-color:color-mix(in srgb,var(--brand) 26%,var(--line))}.primary,.button,.logout{box-shadow:0 7px 18px rgba(49,95,244,.18)}.primary:hover,.button:hover,.logout:hover{filter:brightness(1.04);transform:translateY(-1px)}.single-list{grid-template-columns:1fr}.tool-list span{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--bg) 75%,transparent)}.table-wrap table tbody tr:last-child td{border-bottom:0}.panel h2{letter-spacing:-.015em}.panel h3{letter-spacing:-.01em}.badge{white-space:nowrap}.secondary{cursor:pointer}.secondary:hover{border-color:#aebfff;background:color-mix(in srgb,var(--brand) 5%,var(--card))}.content{padding-bottom:52px}@media(max-width:760px){.three-cols{grid-template-columns:1fr}.inline-form{min-width:250px;flex-wrap:wrap}.inline-form input,.inline-form select{max-width:none}.sidebar{width:286px}.page-head .badge{align-self:flex-start}}
/* Final Signoff V3 management controls */
.inline-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline-actions form{margin:0}.link-danger{border:0;background:transparent;color:var(--danger);font-weight:700;cursor:pointer;padding:6px 2px}.link-danger:hover{text-decoration:underline}.manage-row{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0;background:color-mix(in srgb,var(--card) 96%,var(--bg))}.manage-row>summary{cursor:pointer;font-weight:750}.manage-row form{margin-top:10px}.manage-row small{color:var(--muted);font-weight:500}.btn{display:inline-flex;align-items:center;text-decoration:none;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font-weight:700}
