:root{--navy:#113d6b;--navy-deep:#0a294a;--blue:#2264a7;--sky:#eaf3ff;--ink:#172c45;--muted:#68788b;--line:#e7edf4;--green:#169c62;--amber:#d89618;--rose:#dc4d68;--indigo:#5850b9;--paper:#f6f9fc;--radius:18px;--shadow:0 10px 35px rgba(21,54,90,.08)}*{box-sizing:border-box}body{font-family:Tajawal,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:15px}body[dir=rtl]{text-align:right}.app-main{min-height:calc(100vh - 132px)}.brand-nav{background:linear-gradient(110deg,var(--navy-deep),var(--navy) 62%,#1e579c);box-shadow:0 2px 12px rgba(10,41,74,.18);min-height:70px}.navbar-brand img{width:111px;height:auto;filter:brightness(0) invert(1)}.brand-divider{height:28px;width:1px;background:rgba(255,255,255,.35)}.brand-tag{font-size:14px;letter-spacing:.08em;font-weight:700;text-transform:uppercase}.navbar-dark .nav-link{font-weight:700;color:rgba(255,255,255,.78)!important;padding:.55rem .8rem!important;border-radius:9px}.navbar-dark .nav-link.active,.navbar-dark .nav-link:hover{color:#fff!important;background:rgba(255,255,255,.13)}.language-switch{border:1px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.09);font-weight:700}.language-switch:hover{color:#fff;background:rgba(255,255,255,.18)}.hero-panel,.dashboard-hero{color:white;background:radial-gradient(circle at 87% 20%,rgba(64,156,238,.35),transparent 22%),linear-gradient(125deg,#0b2e52,#1b568e);padding:34px 38px;border-radius:22px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-panel:after,.dashboard-hero:after{content:"";position:absolute;width:200px;height:200px;border-radius:50%;border:25px solid rgba(255,255,255,.04);right:-72px;bottom:-90px}.hero-panel h1,.dashboard-hero h1,.admin-heading h1{font-weight:800;font-size:clamp(1.6rem,3vw,2.25rem);margin:5px 0 8px}.hero-panel p,.dashboard-hero p,.admin-heading p{margin:0;color:rgba(255,255,255,.72);max-width:650px}.eyebrow{display:flex;align-items:center;gap:6px;color:#538ac2;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero-panel .eyebrow,.dashboard-hero .eyebrow{color:#b6d9ff}.hero-stat{position:relative;z-index:1;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:17px;padding:16px 20px;display:grid;grid-template-columns:auto 1fr;column-gap:11px;align-items:center;backdrop-filter:blur(8px)}.hero-stat i{grid-row:span 3;font-size:27px}.hero-stat span,.hero-stat small{font-size:12px;color:rgba(255,255,255,.72)}.hero-stat strong{font-size:28px;line-height:1.08}.card{border:0;border-radius:var(--radius);box-shadow:var(--shadow);background:#fff}.form-card,.filter-card,.table-card{border:1px solid var(--line)}.form-card .card-body{background:#fff}.form-header,.table-card .card-header,.chart-card .card-header{padding:20px 24px;background:#fff;border-bottom:1px solid var(--line)}.form-header h2,.table-card h2,.chart-card h2{font-weight:800;font-size:1.1rem;margin:0}.form-header p{font-size:14px}.form-label{font-weight:700;color:#385067;margin-bottom:.45rem}.form-control,.form-select{border-color:#dbe4ee;border-radius:10px;padding:.58rem .75rem;color:var(--ink)}.form-control:focus,.form-select:focus{border-color:#82afdd;box-shadow:0 0 0 .2rem rgba(34,100,167,.13)}.btn{font-weight:700;border-radius:10px;padding:.55rem .9rem;transition:transform .14s cubic-bezier(.23,1,.32,1),box-shadow .14s}.btn:active{transform:scale(.97)}.btn-brand{border-color:var(--navy);background:var(--navy);color:#fff;box-shadow:0 5px 14px rgba(17,61,107,.15)}.btn-brand:hover,.btn-brand:focus{background:#0b2e52;border-color:#0b2e52;color:#fff}.btn-outline-brand{border-color:var(--navy);color:var(--navy)}.btn-outline-brand:hover{background:var(--navy);border-color:var(--navy);color:#fff}.stage-section{border:1px solid var(--line);border-radius:15px;overflow:hidden}.stage-heading{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;background:linear-gradient(90deg,#f7fbff,#fff)}.stage-heading>div{display:flex;align-items:center;gap:10px}.stage-heading h3{font-weight:800;font-size:1rem;margin:0}.stage-heading p,.stage-heading>span{font-size:12px;color:var(--muted);margin:2px 0 0}.stage-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:#e9f3ff;color:var(--blue);font-size:17px}.table-stage{font-size:14px}.table-stage thead th{border:0;background:#fbfcfe;color:#728094;font-size:11px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding:12px}.table-stage td{padding:9px 12px;border-color:#eff3f7}.entry-input{width:84px;padding:.4rem .5rem;text-align:center;font-weight:700}.entry-total{font-size:15px;color:var(--navy)}.grade-chip{font-weight:800;color:#27496e}.curriculum-badge{font-size:11px;font-weight:800;border-radius:99px;padding:4px 9px;white-space:nowrap}.curriculum-badge.american{color:#1464a9;background:#e8f3ff}.curriculum-badge.british{color:#7345ae;background:#f1e9ff}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;border-radius:99px;padding:6px 10px}.status-open{background:#e8f8f0;color:#168653}.status-locked{background:#eff3f7;color:#697a8e}.app-footer{padding:20px 0;background:white;border-top:1px solid var(--line);color:#738195;font-size:13px}.status-dot{font-size:7px;color:#1eaf6d}.login-shell{min-height:calc(100vh - 210px);display:grid;place-items:center}.login-card{width:min(100%,460px);background:#fff;border-radius:22px;padding:38px;box-shadow:0 16px 45px rgba(14,48,83,.13);text-align:center}.login-card h1{font-size:1.6rem;font-weight:800;margin:12px 0 6px}.login-card>p{color:var(--muted)}.login-card .eyebrow{justify-content:center}.login-card form{text-align:start}.login-mark{margin:auto;display:grid;place-items:center;width:62px;height:62px;border-radius:20px;color:#fff;font-size:27px;background:linear-gradient(135deg,var(--navy),#347abf);box-shadow:0 10px 22px rgba(17,61,107,.2)}.input-group-text{background:#f7f9fc;border-color:#dbe4ee;color:#66809a}.admin-heading h1{color:var(--ink)}.admin-heading p{color:var(--muted)}.admin-tabs{gap:8px;border:0}.admin-tabs .nav-link{font-weight:800;color:#66788d;border-radius:10px;padding:10px 15px}.admin-tabs .nav-link:hover{background:#eaf3ff}.admin-tabs .nav-link.active{color:var(--navy);background:#e5f1ff}.filter-card .filter-block{margin-bottom:0}.filter-card .row>.filter-block{padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5)}.filter-options{display:flex;flex-wrap:wrap;gap:8px}.filter-choice{display:inline-flex;align-items:center;gap:6px;border:1px solid #dfe7ef;padding:6px 9px;border-radius:9px;color:#51687e;font-size:12px;font-weight:700;background:#fff;cursor:pointer}.filter-choice:has(input:checked){color:var(--navy);border-color:#95bee7;background:#edf7ff}.filter-choice .form-check-input{margin:0;width:.85em;height:.85em}.filter-block{width:100%}.filter-card .row.g-4>.filter-block:first-child{width:33.333%;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5)}.filter-card .row.g-4>.filter-block:first-child .filter-options{max-height:110px;overflow:auto;padding-right:2px}.table-card .table th,.dashboard-table .table th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#718096;background:#fbfcfe;border-top:0;white-space:nowrap}.table-card .table td,.table-card .table th,.dashboard-table .table td,.dashboard-table .table th{padding:13px 16px;border-color:#edf1f5}.metric-value{font-size:17px;font-weight:800;color:var(--navy)}.password-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.password-row{padding:17px 22px;border-bottom:1px solid var(--line);display:flex;gap:15px;align-items:center;justify-content:space-between}.password-row:nth-child(odd){border-right:1px solid var(--line)}.password-row strong{display:block}.password-row small{color:var(--muted);font-size:12px}.password-row form{min-width:220px}.admin-dashboard-callout{border-radius:20px;background:radial-gradient(circle at 85% 30%,rgba(76,165,231,.24),transparent 19%),linear-gradient(120deg,#0c3058,#205f9d);color:#fff;padding:39px;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.admin-dashboard-callout .eyebrow{color:#b6dcff}.admin-dashboard-callout h2{font-weight:800;margin:9px 0}.admin-dashboard-callout p{max-width:620px;color:#d5e7f9}.admin-dashboard-callout .btn-brand{background:#fff;border-color:#fff;color:var(--navy)}.callout-icon{font-size:105px;color:rgba(255,255,255,.11);line-height:1}.dashboard-hero{padding:29px 34px}.live-indicator{z-index:1;white-space:nowrap;border-radius:99px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.14);padding:8px 12px;font-size:12px;font-weight:800}.live-indicator small{color:#c5dff8;margin-left:5px}.pulse-dot{display:inline-block;background:#4fe09a;width:7px;height:7px;border-radius:50%;margin-right:5px;box-shadow:0 0 0 4px rgba(79,224,154,.15)}.kpi-card{height:100%;position:relative;overflow:hidden;border-radius:16px;background:#fff;padding:18px;box-shadow:var(--shadow);border:1px solid var(--line)}.kpi-card>span:nth-child(2){display:block;font-size:12px;font-weight:700;color:#75869a;margin-top:15px}.kpi-card strong{display:block;font-size:26px;color:var(--ink);font-weight:800;margin:2px 0}.kpi-card small{font-size:11px;color:#8a98a8}.kpi-icon{position:absolute;right:14px;top:14px;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:15px}.kpi-card.blue .kpi-icon{background:#e9f3ff;color:#2568ab}.kpi-card.indigo .kpi-icon{background:#f0efff;color:#5d57b4}.kpi-card.rose .kpi-icon{background:#fff0f3;color:#d84f6c}.kpi-card.amber .kpi-icon{background:#fff7e8;color:#c78718}.kpi-card.green .kpi-icon{background:#e9f9f0;color:#15935d}.chart-card{border:1px solid var(--line)}.chart-card .card-body{padding:20px}.chart-legend{font-size:11px;font-weight:700;color:#718096;display:flex;align-items:center;gap:4px}.chart-legend i{width:8px;height:8px;border-radius:50%;display:inline-block;margin-left:5px}.legend-boy{background:#2264a7}.legend-girl{background:#d95b81}.empty-state{text-align:center;background:white;border:1px dashed #cbd9e8;border-radius:20px;padding:60px 25px}.empty-state i{display:block;font-size:40px;color:#8fb9e0;margin-bottom:13px}.empty-state h1,.empty-state h3{font-weight:800;color:var(--ink)}.empty-state p{color:var(--muted)}
@media(max-width:991.98px){.filter-card .row.g-4>.filter-block:first-child{width:100%}.password-grid{grid-template-columns:1fr}.password-row:nth-child(odd){border-right:0}.brand-nav{min-height:61px}.navbar-collapse{padding:12px 0}.navbar-nav{align-items:stretch!important}.language-switch{margin-top:8px}.hero-panel,.dashboard-hero{padding:27px}.callout-icon{display:none}}@media(max-width:575.98px){.hero-panel,.dashboard-hero,.admin-dashboard-callout{padding:23px}.hero-stat{max-width:190px}.table-stage{font-size:13px}.table-stage th:first-child,.table-stage td:first-child{position:sticky;left:0;background:#fff;z-index:1}body[dir=rtl] .table-stage th:first-child,body[dir=rtl] .table-stage td:first-child{left:auto;right:0}.table-stage th:first-child{background:#fbfcfe}.entry-input{width:72px}.form-header,.table-card .card-header,.chart-card .card-header{padding:16px}.password-row{padding:15px;flex-direction:column;align-items:stretch}.password-row form{min-width:0}.kpi-card{padding:14px}.kpi-card strong{font-size:21px}.login-card{padding:28px 22px}.dashboard-table{font-size:13px}}

/* Illustrated gender indicators for enrollment totals. */
.kpi-icon.kpi-person{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#eef6ff,#dbeeff)!important;overflow:hidden}.kpi-card.rose .kpi-icon.kpi-person{background:linear-gradient(135deg,#fff4f5,#ffe2e8)!important}.kpi-icon.kpi-person img{width:48px;height:48px;max-width:none;object-fit:contain;object-position:center 17%;transform:translateY(4px)}

.kpi-card.teal .kpi-icon{background:#e4f8f7;color:#138b88}

/* Administrator workspace */
.admin-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:26px;align-items:start}.admin-sidebar{position:sticky;top:92px;min-height:calc(100vh - 132px);padding:20px 14px;border-radius:20px;background:linear-gradient(170deg,#0b2e52,#143f6c);box-shadow:0 16px 34px rgba(10,41,74,.17);display:flex;flex-direction:column;color:#fff}.admin-sidebar-brand{display:flex;gap:10px;align-items:center;padding:3px 7px 20px;border-bottom:1px solid rgba(255,255,255,.13)}.admin-sidebar-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:rgba(111,185,241,.18);color:#bce3ff}.admin-sidebar-brand span:not(.admin-sidebar-mark),.admin-sidebar-brand strong{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#b9d8ef}.admin-sidebar-brand strong{font-size:16px;letter-spacing:0;color:#fff;text-transform:none}.admin-user{margin:18px 7px;display:flex;gap:10px;align-items:center}.admin-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eaf4fe;color:#1a568d}.admin-user small,.admin-user strong{display:block}.admin-user small{font-size:10px;color:#b8d8ee}.admin-user strong{font-size:13px}.admin-side-nav{display:grid;gap:6px}.admin-side-nav a,.admin-signout button{display:flex;align-items:center;gap:11px;width:100%;border:0;border-radius:11px;padding:11px 12px;background:transparent;color:rgba(255,255,255,.7);font-weight:700;text-decoration:none;transition:background .18s,color .18s,transform .18s}.admin-side-nav a:hover,.admin-side-nav a.active{background:rgba(255,255,255,.13);color:#fff}.admin-side-nav a.active{box-shadow:inset 3px 0 0 #65b7f4}.admin-signout{margin:14px 1px 0}.admin-signout button:hover{color:#fff;background:rgba(235,103,121,.22)}.admin-content{min-width:0}.admin-content .admin-heading{padding:4px 2px}.admin-content .admin-heading h1{margin-top:5px}@media(max-width:991.98px){.admin-shell{grid-template-columns:1fr;gap:18px}.admin-sidebar{position:relative;top:auto;min-height:0;padding:15px}.admin-sidebar-brand{padding-bottom:13px}.admin-user{display:none}.admin-side-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-side-nav a{justify-content:center;gap:7px;font-size:12px;text-align:center;padding:10px 6px}.admin-signout{margin-top:10px}.admin-signout button{justify-content:center;background:rgba(255,255,255,.08)}}@media(max-width:575.98px){.admin-side-nav a span{font-size:10px}.admin-side-nav a i{font-size:15px}.admin-sidebar{border-radius:16px}.admin-content .admin-heading{padding:0}}

/* Report filter workspace */
.admin-filter-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#fbfdff 58%,#f2f8ff 100%)}.admin-filter-card:after{content:"";position:absolute;width:260px;height:260px;right:-145px;top:-172px;border:38px solid rgba(48,123,191,.045);border-radius:50%;pointer-events:none}.filter-toolbar{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.filter-toolbar h2{font-weight:800;color:var(--ink)}.filter-clear{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:10px;text-decoration:none;color:#687b91;background:#f5f8fb;font-weight:800;font-size:12px;transition:all .18s}.filter-clear:hover{background:#e9f3ff;color:var(--navy)}.admin-filter-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr 1.65fr;gap:13px;align-items:end}.admin-filter-field{padding:10px 11px 11px;border:1px solid #e7eef6;border-radius:13px;background:rgba(255,255,255,.82);transition:border-color .18s,box-shadow .18s}.admin-filter-field:focus-within{border-color:#8cc0ed;box-shadow:0 0 0 3px rgba(59,132,195,.1)}.admin-filter-field .form-label{display:flex;align-items:center;gap:6px;margin:0 0 7px;font-size:11px;letter-spacing:.035em;text-transform:uppercase;color:#607a94}.admin-filter-field .form-label i{font-size:13px;color:#2d76b2}.admin-filter-field .form-select,.admin-filter-field .form-control{border-color:#dbe6f0;background:#fff;padding:.56rem .68rem;font-size:13px;box-shadow:none}.admin-date-range{display:grid;grid-template-columns:1fr 1fr;gap:7px}.admin-date-range label{display:grid;gap:4px;margin:0}.admin-date-range span{font-size:10px;font-weight:700;color:#8495a8}.admin-date-range .form-control{min-width:0;padding:.54rem .45rem;font-size:12px}.admin-filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;padding-top:5px}.admin-filter-actions .btn{display:inline-flex;align-items:center;gap:7px;min-height:40px}.admin-filter-actions .btn-outline-brand{background:#fff}@media(max-width:1199.98px){.admin-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-date-filter{grid-column:span 2}}@media(max-width:767.98px){.admin-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-date-filter{grid-column:span 2}.admin-filter-actions{justify-content:stretch}.admin-filter-actions .btn{flex:1;justify-content:center}}@media(max-width:440px){.admin-filter-grid{grid-template-columns:1fr}.admin-date-filter{grid-column:auto}.admin-filter-actions{flex-direction:column}.admin-date-range{grid-template-columns:1fr}.filter-toolbar{margin-bottom:14px}}

/* Preserve generous date and action spacing on wide administration layouts. */
@media(min-width:1200px){.admin-filter-grid{grid-template-columns:1.35fr repeat(3,minmax(0,1fr))}.admin-date-filter{grid-column:span 2}.admin-filter-actions{grid-column:span 2;align-self:end;padding-top:0}.admin-date-range{gap:10px}}
