:root{--ink:#172f53;--navy:#0c2547;--navy2:#103b78;--blue:#286ddd;--sky:#11a3dd;--aqua:#c9f4ff;--paper:#f4f7fc;--white:#fff;--muted:#71829c;--border:#e5ebf4;--soft:#eff4fb;--gold:#f6ba64;--green:#14866b;--rose:#cb4763;--shadow:0 12px 45px rgba(20,48,83,.07);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:14px}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}svg{flex-shrink:0}input,select,textarea{outline:none;max-width:100%}input:focus,select:focus,textarea:focus{border-color:#5ca6f8!important;box-shadow:0 0 0 3px #5ca6f820}button:focus-visible,a:focus-visible{outline:3px solid #45acf4;outline-offset:3px}h1,h2,h3,h4,p{margin:0}h1,h2,h3{letter-spacing:-.035em}h1{font-size:28px}h2{font-size:21px}h3{font-size:17px}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:11px}.strong{font-weight:750}.serif{font-family:Georgia,"Times New Roman",serif}.caps{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:850}.blue{color:var(--blue)}.green{color:var(--green)}.red{color:var(--rose)}.gold{color:#a86d15}.hide{display:none!important}.initial-loader{min-height:100vh;display:grid;place-content:center;gap:20px;text-align:center;color:var(--blue)}.loader-mark{font-size:45px;animation:pulse 1.1s infinite alternate}@keyframes pulse{from{opacity:.5;transform:scale(.85)}to{opacity:1;transform:scale(1.15)}}
/* authentication */
.auth-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);background:white}.auth-side{min-height:100vh;background:radial-gradient(circle at 95% 20%,#288be47d 0,transparent 40%),radial-gradient(circle at 0 100%,#36baeb55 0,transparent 32%),linear-gradient(135deg,#102a54,#053f8d 60%,#0977ca);position:relative;overflow:hidden;color:#fff;padding:38px clamp(35px,5vw,90px);display:flex;flex-direction:column;justify-content:space-between}.auth-side:after,.auth-side:before{content:"";position:absolute;border:1px solid #ffffff22;width:540px;height:540px;transform:rotate(45deg);border-radius:85px;right:-275px;top:10%;pointer-events:none}.auth-side:after{width:380px;height:380px;right:-195px;top:24%;border-color:#ffffff27}.auth-side>*{z-index:1}.side-identity{display:flex;align-items:center;gap:12px}.side-monogram{width:42px;height:42px;border:1px solid #8de2ff66;border-radius:13px;display:grid;place-items:center;font-size:26px;color:#bcecff}.side-identity strong{display:block;letter-spacing:.06em;font-size:17px}.side-identity small{display:block;color:#aadaff;letter-spacing:.16em;font-size:10px;margin-top:5px}.auth-showcase{max-width:530px;margin:auto 0}.auth-eyebrow{color:#ace6fe;letter-spacing:.18em;font-size:11px;font-weight:800;text-transform:uppercase}.auth-calligraphy{font-size:clamp(42px,6.2vw,84px);line-height:1.8;margin:0 0 14px;text-shadow:0 10px 50px #032e5477;font-family:"Traditional Arabic","Noto Naskh Arabic",serif;direction:rtl;text-align:left}.auth-showcase h1{font:normal clamp(43px,5vw,70px)/1.08 Georgia,serif;margin-bottom:20px;letter-spacing:-.045em}.auth-showcase h1 em{color:#87e6ff;font-style:normal}.auth-showcase p{font-size:15px;color:#d6e9ff;line-height:1.85;max-width:460px}.auth-foot{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#b1d3f5}.auth-right{padding:36px clamp(32px,5.2vw,95px);display:flex;align-items:center;justify-content:center;min-width:0}.auth-card{width:min(440px,100%)}.auth-logo{display:block;width:min(335px,100%);height:auto;margin:0 auto 40px}.auth-card .welcome{display:inline-flex;align-items:center;gap:8px;color:#2274c7;background:#ebf7ff;border:1px solid #d5eeff;border-radius:30px;padding:7px 13px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.auth-card h2{font-size:34px;margin:17px 0 9px;color:#112b4b}.auth-card .description{color:#7b8ba1;font-size:14px;line-height:1.7;margin-bottom:30px}.form-stack{display:grid;gap:16px}.field{display:grid;gap:7px;min-width:0}.field label{font-size:12px;font-weight:750;color:#35506e}.field input,.field select,.field textarea{width:100%;min-height:44px;border:1px solid #dbe4ef;background:#fff;border-radius:12px;padding:10px 13px;color:#244061}.field textarea{min-height:95px;resize:vertical}.field option{color:#243958}.field-hint{font-size:11px;color:#8897a9}.auth-links{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:17px;font-size:12px}.auth-links a,.auth-links button{border:0;background:none;color:#286ddd;font-weight:750;padding:5px}.auth-secure{display:flex;gap:8px;align-items:center;margin-top:42px;color:#93a0b1;font-size:11px}.notice{padding:12px 14px;background:#f0f6ff;border:1px solid #dbe9fb;border-radius:12px;font-size:12px;color:#56708d;line-height:1.6}.notice.warn{background:#fff8ea;border-color:#f4e3ba;color:#8f681d}
/* shell */
.shell{display:flex;min-height:100vh;--side:264px}.sidebar{position:sticky;top:0;height:100vh;width:var(--side);flex:0 0 var(--side);background:linear-gradient(170deg,#0b274e,#0b346a 65%,#0b2753);color:#eaf5ff;display:flex;flex-direction:column;z-index:20;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3764a0 transparent}.side-head{padding:26px 24px 22px;border-bottom:1px solid #ffffff13}.logo-panel{background:white;border-radius:13px;padding:7px 10px;display:grid;place-items:center;box-shadow:0 6px 20px #001e3b4f}.logo-panel img{height:79px;width:100%;object-fit:contain}.side-head p{font-size:10px;color:#9abce7;text-align:center;margin-top:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:750}.nav-scroll{padding:18px 13px 28px;flex:1}.nav-label{font-size:10px;color:#7fa7d4;font-weight:800;letter-spacing:.15em;padding:17px 14px 10px}.nav-link{display:flex;align-items:center;gap:11px;padding:12px 15px;color:#b6cde9;font-size:12.5px;font-weight:600;white-space:nowrap;border-radius:10px;border:1px solid transparent;background:transparent;width:100%;text-align:left;margin:2px 0}.nav-link:hover{color:white;background:#ffffff10}.nav-link.active{background:linear-gradient(100deg,#267af2,#2466c2);color:white;box-shadow:0 4px 15px #001b3a66;border-color:#ffffff18}.nav-link svg{opacity:.85}.nav-link.active svg{opacity:1}.side-foot{padding:20px 22px;border-top:1px solid #ffffff20}.side-foot>div{display:flex;align-items:center;gap:11px}.avatar{background:#dff0ff;color:#1859a3;width:39px;height:39px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;font-weight:800;font-size:13px}.side-foot .avatar{background:#ffffff20;color:#fff}.side-foot strong{font-size:12px}.side-foot p{font-size:10px;color:#9fbee0;margin-top:3px}.workspace{flex:1;min-width:0}.topbar{height:78px;padding:0 clamp(19px,3.4vw,50px);background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:22px;justify-content:space-between;position:sticky;top:0;z-index:12}.top-left{display:flex;align-items:center;gap:14px;min-width:0}.top-title{font-size:16px;font-weight:850;color:#173458;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-caption{font-size:11px;color:#97a5b6;margin-top:4px}.top-right{display:flex;align-items:center;gap:13px}.top-pill{background:#eef6ff;padding:9px 13px;border-radius:999px;color:#3972b7;font-size:11px;font-weight:850}.iconbtn{display:inline-grid;place-items:center;min-width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:#fff;color:#476989}.iconbtn:hover{background:#eff6ff}.mobilemenu{display:none}.top-user{display:flex;gap:10px;align-items:center;padding-left:13px;border-left:1px solid #e7ebf2}.top-user strong{font-size:11px;display:block}.top-user span{color:#8494a9;font-size:10px;display:block;margin-top:3px}.main{max-width:1600px;margin:auto;padding:30px clamp(20px,3.4vw,50px) 75px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}.page-head h1{font-size:28px}.page-head p{font-size:13px;color:#8493a7;margin-top:8px;line-height:1.5}.page-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;padding:11px 16px;background:#eef4fb;color:#255789;font-weight:800;font-size:12px;line-height:1.2;min-height:40px;transition:all .15s}.btn:hover{filter:brightness(.975);transform:translateY(-1px)}.btn.primary{background:linear-gradient(110deg,#2878e9,#195cc3);color:white;box-shadow:0 4px 13px #2571dd39}.btn.dark{background:#0b2c59;color:#fff}.btn.white{background:white;border-color:#dce7f4}.btn.outline{background:transparent;border-color:#cbd9ea}.btn.danger{background:#ffe9ed;color:#ab3851}.btn.smol{font-size:11px;padding:7px 10px;min-height:32px;border-radius:8px}.btn.block{width:100%}.btn:disabled{transform:none}.tag{display:inline-flex;align-items:center;gap:5px;border-radius:100px;font-size:10px;font-weight:850;padding:5px 10px;white-space:nowrap}.tag.blue{background:#eaf3ff;color:#2867b8}.tag.green{background:#e9f8ef;color:#1e926f}.tag.red{background:#ffecef;color:#ca5369}.tag.amber{background:#fff3da;color:#aa7723}.tag.gray{background:#f0f2f6;color:#778397}.empty{min-height:155px;padding:30px;text-align:center;display:grid;place-content:center;justify-items:center;gap:10px;color:#8190a5}.empty strong{color:#315173}.empty svg{color:#83a7cd}.cards{display:grid;gap:16px}.cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}.surface,.metric,.feature{background:#fff;border:1px solid #e6ecf4;border-radius:17px;box-shadow:var(--shadow)}.surface{padding:22px}.surface.tight{padding:0}.surface-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.surface-head h3{font-size:16px}.surface-head a,.link{color:#2474d2;font-size:12px;font-weight:850;cursor:pointer}.metric{padding:21px 21px 20px;display:flex;flex-direction:column;gap:15px;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;width:90px;height:90px;border-radius:100%;top:-36px;right:-32px;background:#d5ebff40}.metric .metric-top{display:flex;align-items:center;justify-content:space-between}.metric-icon{width:44px;height:44px;border-radius:13px;background:#e9f3ff;color:#2d72d0;display:grid;place-items:center}.metric-icon.amber{background:#fff4e2;color:#c7892e}.metric-icon.green{background:#e9f8ef;color:#2eaa81}.metric-icon.rose{background:#ffeff1;color:#dd5872}.metric .metric-label{color:#7f91a8;font-size:12px}.metric .metric-value{font-size:29px;font-weight:850;color:#1e3556;letter-spacing:-.055em}.metric .trend{font-size:11px;color:#6f93b9}.grid-main{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:18px;margin-top:18px}.welcome-banner{background:radial-gradient(circle at 95% 28%,#7abcf64a,transparent 35%),linear-gradient(110deg,#123968,#1263bc);border-radius:19px;color:white;position:relative;overflow:hidden;padding:30px 34px;display:flex;align-items:center;min-height:206px;justify-content:space-between;gap:20px;margin-bottom:20px}.welcome-banner:after{content:"✧";position:absolute;right:60px;top:-62px;font-size:310px;color:#ffffff13;line-height:1}.welcome-banner>*{position:relative;z-index:1}.welcome-banner .intro{color:#91d9ff;font-size:10px;font-weight:900;letter-spacing:.2em;margin-bottom:12px;text-transform:uppercase}.welcome-banner h2{font:normal 32px Georgia,serif;line-height:1.18;margin-bottom:12px}.welcome-banner p{color:#d3e9ff;line-height:1.65;font-size:12px;max-width:570px}.welcome-symbol{font-size:76px;color:#ace8ff;line-height:1}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-action{border:1px solid #e7edf4;display:flex;gap:13px;align-items:center;text-align:left;border-radius:12px;padding:13px;background:white;color:#294b70;font-weight:800;font-size:12px;min-height:68px}.quick-action:hover{border-color:#96bef4;box-shadow:0 3px 15px #bcd0e733}.quick-action .metric-icon{width:39px;height:39px;flex:0 0 auto}.list-rows{display:grid}.list-row{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf1f6}.list-row:last-child{border-bottom:0}.list-row .grow{flex:1;min-width:0}.list-row strong{font-size:12px;color:#28415f}.list-row .sub{color:#8295ac;font-size:11px;margin-top:5px}.event-cal{background:#e9f4ff;color:#2667ba;border-radius:11px;padding:8px;width:51px;text-align:center}.event-cal strong{font-size:20px;display:block}.event-cal small{font-size:9px;text-transform:uppercase;font-weight:900}.chartbars{display:flex;gap:10px;align-items:flex-end;min-height:155px;padding-top:18px}.chart-column{flex:1;display:grid;gap:7px;text-align:center;justify-items:center}.chart-column .bar{width:min(100%,37px);border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#45a5f1,#2468d2);min-height:7px}.chart-column small{font-size:10px;color:#879bb3}.chart-column b{font-size:10px;color:#45637e}.ornament{font-size:31px;color:#2f85d0}.table-scroll{width:100%;overflow:auto}.table{width:100%;border-collapse:collapse;min-width:610px}.table th{text-align:left;color:#8a9ab0;font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:850;background:#f8fafd;padding:13px 16px;white-space:nowrap}.table td{border-top:1px solid #edf1f7;padding:14px 16px;font-size:12px;vertical-align:middle}.table tbody tr:hover{background:#fbfdff}.table td .cell-name{font-weight:850;color:#224261}.table td .cell-sub{font-size:10px;color:#90a0b5;margin-top:4px}.table-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.table td.actions{text-align:right}.toolbar{display:flex;justify-content:space-between;gap:11px;align-items:center;flex-wrap:wrap;margin:0 0 19px}.searchbox{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e3eaf2;border-radius:11px;padding:0 12px;min-width:270px;flex:1;max-width:420px;color:#8192ab}.searchbox input{border:0;background:transparent;height:41px;flex:1;color:#315172;min-width:0}.select-small{height:42px;padding:0 12px;border:1px solid #e1e9f2;border-radius:10px;background:white;color:#315172;min-width:145px}.profile-head{background:radial-gradient(circle at 95% 7%,#71b7fa80,transparent 40%),linear-gradient(105deg,#153968,#1763b7);border-radius:18px;color:white;padding:27px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.profile-head .avatar{width:65px;height:65px;border-radius:18px;font-size:21px;background:#ffffff26;color:#fff}.profile-head .grow{flex:1}.profile-head h2{font-size:25px;margin-bottom:7px}.profile-head p{color:#b1d9ff;font-size:12px}.profile-head .tag{background:#ffffff27;color:#fff}.tabs{display:flex;gap:5px;border-bottom:1px solid #dfe8f3;margin:20px 0;overflow-x:auto}.tab{border:0;background:none;color:#738ba6;padding:12px 16px;white-space:nowrap;font-weight:800;border-bottom:3px solid transparent;font-size:12px}.tab.active{border-color:#2b78dd;color:#2368c6}.student-info{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.info-item{background:#f7faff;padding:14px;border-radius:12px}.info-item small{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#8299b1}.info-item strong{display:block;margin-top:6px;color:#304f6d;font-size:12px;overflow-wrap:anywhere}.progress{height:9px;border-radius:99px;background:#e4edf7;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#2596df,#3e6cdb);border-radius:99px}.subject-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.subject-card{padding:18px;border:1px solid #e3ecf5;border-radius:14px;background:white}.subject-card .subject-icon{width:37px;height:37px;background:#ecf5ff;color:#2469bf;border-radius:10px;display:grid;place-items:center;margin-bottom:13px}.subject-card h4{font-size:14px;margin-bottom:7px}.subject-card p{line-height:1.65;color:#8192a9;font-size:12px}.subject-card .meta{display:flex;justify-content:space-between;gap:8px;margin-top:14px}.behaviour-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.behaviour-card{border:1px solid #e7edf4;border-radius:14px;padding:16px;background:white}.behaviour-card:hover{border-color:#90bbed}.behaviour-card strong{font-size:12px}.behaviour-card .points{float:right;font-weight:850}.points.pos{color:#15936e}.points.neg{color:#d4566d}.catalogue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cat-option{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafd;border:1px solid #e8edf4;border-radius:10px;padding:11px 13px;font-size:12px;text-align:left}.cat-option.selected{border-color:#2480e1;background:#edf6ff}.cat-option:hover{border-color:#afd1f3}.cat-option b{white-space:nowrap}.report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.empty-mini{padding:18px;border-radius:10px;background:#f8fafd;text-align:center;color:#8798aa}.divider{border-top:1px solid #e8edf5;margin:19px 0}.callout{background:#e9f5ff;border-radius:15px;padding:19px;display:flex;align-items:center;gap:17px}.callout .ornament{font-size:38px}.callout h3{font-size:16px}.callout p{color:#6985a7;font-size:12px;margin-top:6px;line-height:1.7}.row{display:flex;gap:12px;align-items:center}.grow{flex:1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .wide{grid-column:1/-1}.form-grid .field{margin:0}.check-row{display:flex;gap:10px;align-items:center;font-size:12px;color:#5c7593}.check-row input{width:17px;height:17px;accent-color:#2366d1}.modal-overlay{position:fixed;inset:0;background:#071e39a8;backdrop-filter:blur(5px);z-index:40;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;padding:28px 16px}.modal{background:white;width:min(650px,100%);max-height:calc(100vh - 56px);overflow-y:auto;box-shadow:0 25px 100px #001c3659;border-radius:19px}.modal.large{width:min(840px,100%)}.modal-head{display:flex;justify-content:space-between;gap:20px;padding:23px 26px 19px;border-bottom:1px solid #ebf0f6;align-items:center}.modal-head h2{font-size:20px}.modal-body{padding:25px 26px}.modal-foot{padding:17px 26px;display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #e8edf3}.modal .field label{font-size:12px}.modal .field textarea{min-height:78px}#toast{position:fixed;right:25px;bottom:26px;z-index:100;max-width:min(430px,calc(100% - 34px));pointer-events:none}#toast>div{background:#102e53;color:white;box-shadow:0 12px 45px #071d3555;padding:14px 19px;border-radius:13px;margin-top:7px;font-size:12px;line-height:1.6;animation:up .2s ease}#toast>div.error{background:#9a2946}@keyframes up{from{opacity:0;transform:translateY(11px)}to{opacity:1;transform:translateY(0)}}.overlay{position:fixed;inset:0;background:#091b36a6;z-index:18;display:none}.score-banner{padding:20px;border-radius:13px;background:#edf7ff;display:flex;align-items:center;justify-content:space-between}.score-banner strong{font-size:32px;color:#1265b6}.stat-list{display:grid;gap:10px}.stat-list .row{justify-content:space-between;background:#f8faff;padding:11px 14px;border-radius:10px;font-size:12px}.mini-calendar{width:52px;height:52px;background:#e8f4ff;border-radius:10px;display:grid;place-content:center;text-align:center}.mini-calendar strong{font-size:19px}.mini-calendar small{font-size:9px}.games-choice{width:100%;text-align:left;background:#f7faff;border:1px solid #dfebf7;padding:15px 17px;border-radius:12px;margin:7px 0;display:flex;justify-content:space-between;align-items:center;color:#334e70;font-weight:700}.games-choice:hover{border-color:#3284dd;background:#eef7ff}.settings-card{border:1px solid #e3eaf5;border-radius:15px;padding:18px;background:#fff}.footer-note{font-size:11px;color:#9aadc1;text-align:center;margin:35px 0 0}.skeleton{background:linear-gradient(90deg,#eff4f9,#e4eef8,#eff4f9);background-size:200% 100%;animation:shine 1.8s infinite;border-radius:9px;height:18px}@keyframes shine{to{background-position:-200% 0}}
@media(max-width:1180px){.cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main{grid-template-columns:1fr}.cards.three{grid-template-columns:repeat(2,1fr)}.welcome-symbol{display:none}}
@media(max-width:900px){.shell{--side:260px}.sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .22s;box-shadow:15px 0 55px #0c23374d}.shell.menu-open .sidebar{transform:translateX(0)}.shell.menu-open .overlay{display:block}.mobilemenu{display:inline-grid}.top-pill{display:none}.main{padding-top:21px}.auth-wrap{grid-template-columns:1fr}.auth-side{display:none}.auth-right{min-height:100vh;padding:36px 24px}.auth-logo{max-width:280px}}
@media(max-width:640px){h1,.page-head h1{font-size:24px}.main{padding:20px 15px 65px}.topbar{height:66px;padding:0 14px;gap:8px}.top-left{gap:9px}.top-title{font-size:14px}.top-caption{font-size:10px}.top-right{gap:7px}.top-user strong,.top-user span{display:none}.top-user{padding-left:0;border:0}.top-user .avatar{width:33px;height:33px;font-size:11px}.page-head{align-items:flex-start;flex-direction:column}.cards.four,.cards.two,.cards.three,.report-grid,.subject-grid,.student-info,.behaviour-cards,.catalogue{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.surface{padding:16px}.welcome-banner{padding:25px 21px;min-height:190px}.welcome-banner h2{font-size:28px}.welcome-banner p{font-size:11px}.metric{padding:19px}.quick-grid{gap:9px}.quick-action{padding:10px;min-height:72px;font-size:11px;gap:7px}.quick-action .metric-icon{width:35px;height:35px}.modal-overlay{padding:10px}.modal{max-height:calc(100vh - 20px);border-radius:13px}.modal-head,.modal-body,.modal-foot{padding:17px}.searchbox{min-width:100%;max-width:none}.select-small{flex:1}.table{min-width:600px}.auth-card h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}


/* v1.0.2 — compact, progressive-disclosure navigation */
.nav-scroll{padding:16px 13px 20px}
.nav-section-title{padding:15px 13px 8px;color:#92b4db;font-weight:800;font-size:10px;letter-spacing:.16em}
.nav-divider{height:1px;background:rgba(255,255,255,.13);margin:15px 11px 4px}
.nav-link{padding:11px 13px;min-height:41px;margin:2px 0}
.nav-group{margin:2px 0}
.nav-group-btn{border:1px solid transparent;width:100%;display:flex;align-items:center;gap:11px;padding:11px 13px;min-height:44px;border-radius:10px;background:transparent;color:#c6daf0;font-size:12.5px;font-weight:750;text-align:left;cursor:pointer}
.nav-group-btn span{flex:1;min-width:0;white-space:nowrap}
.nav-group-btn:hover,.nav-group-btn.expanded{background:#ffffff11;color:#fff}
.nav-group-btn.has-active{color:#f3f8ff}
.nav-group-btn svg{flex-shrink:0}
.nav-caret{opacity:.65;transition:transform .18s ease}
.nav-group-btn[aria-expanded="true"] .nav-caret{transform:rotate(180deg);opacity:1}
.nav-submenu{margin:4px 0 10px 22px;padding-left:12px;border-left:1px solid rgba(174,211,255,.29)}
.nav-submenu[hidden]{display:none!important}
.nav-sublink{font-size:12px;min-height:37px;padding:9px 11px;color:#b7cee8;gap:9px}
.nav-sublink.active{background:linear-gradient(100deg,#2877e8,#2365c2)}
.nav-group-btn:focus-visible,.nav-link:focus-visible{outline:2px solid #c6d9ff;outline-offset:2px}
.side-head{padding:18px 21px 16px}
.logo-panel img{height:67px}
.side-head p{margin-top:10px}
@media(max-width:900px){.nav-scroll{padding-bottom:32px}.nav-group-btn{min-height:46px}}

/* v1.0.3 — original parent admission form translated to a readable, responsive workflow */
.admissions-intro{background:linear-gradient(107deg,#ebf6ff,#f8fbff);border:1px solid #dceafb;border-radius:17px;padding:20px 23px;margin-bottom:19px;display:flex;align-items:center;gap:18px}
.admissions-intro .metric-icon{flex:none;background:#dceeff;color:#216bc1;width:49px;height:49px}
.admissions-intro div{flex:1}.admissions-intro strong{font-size:14px;color:#17345f}.admissions-intro p{font-size:12px;color:#64809f;line-height:1.75;margin-top:4px;max-width:850px}.admissions-intro .tag{flex:none}
.admission-actions{display:flex;align-items:center;gap:7px}.admission-actions .select-small{min-width:122px;height:33px;font-size:11px}.btn.tiny{padding:8px 10px;font-size:11px;min-height:32px}
.admission-privacy{display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.7;margin-bottom:22px}
.admission-privacy svg{flex:none}
.admission-form-section{border:1px solid #e3eefa;border-radius:17px;overflow:hidden;margin-bottom:17px;background:#fff}
.admission-section-head{background:linear-gradient(110deg,#f0f7ff,#f9fcff);border-bottom:1px solid #e7effa;display:flex;align-items:center;gap:15px;padding:16px 19px}
.admission-section-head>span{width:33px;height:33px;border-radius:10px;background:#2065ba;color:#fff;font-weight:850;font-size:12px;display:grid;place-items:center;flex:none}
.admission-section-head h3{font-size:14px;color:#1d3d68;margin:0 0 4px}.admission-section-head p{color:#7890a8;font-size:11px;line-height:1.55}
.admission-form-section>.form-grid{padding:20px;gap:16px}.admission-form-section textarea{min-height:72px!important}
.admission-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.admission-check{display:flex;align-items:center;gap:10px;border:1px solid #dbe8f7;background:#f8fbff;padding:13px;border-radius:12px;color:#315277;font-size:12px;font-weight:700}.admission-check input{width:17px;height:17px;accent-color:#246bc4;flex:none}
.admission-check-note{background:#f8fbff;border-radius:12px;padding:14px}.admission-check-note>.admission-check{border:0;padding:2px 0;background:transparent}.admission-check-note p{font-size:11px;color:#8296aa;line-height:1.6;margin-top:9px}
.small-inline-link{border:0;background:none;color:#286fc8;padding:2px;font-size:11px;font-weight:700;display:flex;align-items:center;gap:7px;cursor:pointer}.small-inline-link:hover{text-decoration:underline}
.admission-summary-section{margin-top:21px;border:1px solid #e3edf8;border-radius:13px;padding:18px}.admission-summary-section h3{font-size:14px;color:#184477;border-bottom:1px solid #edf2f8;padding-bottom:12px;margin-bottom:13px}.admission-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admission-summary-item{padding:11px 13px;background:#f7faff;border-radius:9px;overflow-wrap:anywhere}.admission-summary-item small{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:#8098b2;margin-bottom:6px}.admission-summary-item strong{display:block;font-size:12px;font-weight:700;color:#20476d;line-height:1.5}
.admission-detail-lead{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;border-radius:14px;background:linear-gradient(115deg,#eff7ff,#e4f0ff)}.admission-detail-lead h3{font-size:21px;color:#173b66;margin:8px 0 5px}.admission-detail-lead p{font-size:11px;color:#7791a8}.admission-end-actions{display:flex;justify-content:flex-end;margin-top:19px}
@media(max-width:750px){.admissions-intro{align-items:flex-start}.admissions-intro .tag{display:none}.admission-actions{flex-wrap:wrap}.admission-levels,.admission-summary-grid{grid-template-columns:1fr}.admission-form-section>.form-grid{padding:15px}.admission-section-head{padding:15px}.admission-privacy{align-items:flex-start}}

/* Bulk invoice recipient picker */
.invoice-checklist{max-height:240px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:9px;margin-top:10px;padding:12px;border:1px solid #dfe7f4;border-radius:14px;background:#f7f9fd}
.invoice-choice{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #dee6f5;border-radius:10px;background:#fff;cursor:pointer;font-weight:650;color:#1d355d}
.invoice-choice input{width:18px;height:18px;flex:none;accent-color:#4469cf;margin-top:2px}
.invoice-choice span{display:grid;gap:3px}.invoice-choice small{color:#72819a;font-size:12px;font-weight:450}
.invoice-target-summary{border-radius:12px;background:#eaf1ff;color:#23477b;font-weight:700;padding:13px 15px}

/* Branded, accessible parent / guardian invitation workflow */
.guardian-invite-overlay{align-items:center;padding:24px 14px}
.guardian-invite-modal{width:min(585px,100%);max-height:min(92vh,860px);border:1px solid #dce5f3;border-radius:22px;box-shadow:0 30px 100px #0c254b65}
.guardian-invite-modal .modal-head{background:linear-gradient(125deg,#f8fbff,#eef5ff);padding:24px 28px 21px}
.guardian-invite-modal .modal-head h2{font-size:22px;letter-spacing:-.45px}
.guardian-invite-modal .modal-body{padding:23px 28px 27px}
.guardian-invite-modal .modal-foot{padding:19px 28px;background:#fbfcff}
.guardian-invite-hero{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}
.guardian-invite-symbol{height:53px;width:53px;flex:0 0 53px;display:grid;place-items:center;border-radius:16px;color:#3568c7;background:#e8f0ff;border:1px solid #d3e2fa}
.guardian-invite-eyebrow{margin:1px 0 6px;color:#3b65aa;font-size:10px;letter-spacing:1.65px;font-weight:800}
.guardian-invite-hero h3{font-size:19px;line-height:1.33;letter-spacing:-.4px;margin:0 0 7px;color:#1b3157}
.guardian-invite-hero p:last-child{font-size:12px;line-height:1.75;color:#6a7e9b;margin:0}
.guardian-invite-overview{display:grid;grid-template-columns:1fr 1fr;gap:17px 13px;padding:19px;border-radius:15px;background:#f7f9fd;border:1px solid #e7edf7;margin-bottom:20px}
.guardian-invite-overview>div{min-width:0}
.guardian-invite-overview span{display:block;font-size:10px;color:#8595ae;font-weight:800;letter-spacing:1.15px;margin-bottom:7px}
.guardian-invite-overview strong{font-size:13px;color:#243d66;display:flex;align-items:center;gap:7px;word-break:break-word;line-height:1.5}
.guardian-invite-overview small{display:block;font-size:11px;color:#8392a8;margin-top:4px;line-height:1.5}
.guardian-invite-full{grid-column:1/-1;border-top:1px solid #e5ebf5;padding-top:16px}
.guardian-invite-full strong{color:#2b5ba8}
.guardian-invite-greeting label{display:block;font-weight:750;color:#2c4265;font-size:12px;margin-bottom:8px}
.guardian-invite-greeting input{border:1px solid #d4e1f2;background:white;border-radius:10px;padding:12px 14px;font-size:14px;color:#213657;width:100%;outline:none}
.guardian-invite-greeting input:focus{border-color:#4978d4;box-shadow:0 0 0 3px #dceaff}
.guardian-invite-greeting p{font-size:11px;color:#7586a1;line-height:1.65;margin:8px 0 19px}
.guardian-invite-note{display:flex;align-items:flex-start;gap:11px;border-radius:12px;background:#eef5ff;border:1px solid #d9e7fa;padding:14px 15px;color:#3869b9}
.guardian-invite-note svg{flex:0 0 auto;margin-top:2px}
.guardian-invite-note p{margin:0;display:grid;gap:5px}
.guardian-invite-note strong{font-size:12px;color:#355c99;line-height:1.55}
.guardian-invite-note span{font-size:11px;line-height:1.65;color:#5d7496}
.guardian-invite-success{text-align:center;padding:12px 4px 7px}
.guardian-invite-success-icon{display:grid;place-items:center;width:69px;height:69px;margin:0 auto 15px;border-radius:21px;color:#2d9865;background:#e7f8ed}
.guardian-invite-success h3{color:#1e365c;font-size:21px;line-height:1.4;margin:0 0 10px}
.guardian-invite-success>p{max-width:410px;margin:0 auto 23px;font-size:13px;line-height:1.8;color:#677d9c}
.guardian-invite-success .guardian-invite-note{text-align:left}
@media(max-width:600px){.guardian-invite-overlay{align-items:flex-start;padding:12px}.guardian-invite-modal{max-height:calc(100dvh - 24px);border-radius:17px}.guardian-invite-modal .modal-head{padding:20px 19px 18px}.guardian-invite-modal .modal-body{padding:20px 19px}.guardian-invite-modal .modal-foot{padding:16px 19px}.guardian-invite-hero{gap:11px}.guardian-invite-symbol{width:43px;height:43px;flex-basis:43px}.guardian-invite-overview{gap:14px 10px;padding:15px}.guardian-invite-overview strong{font-size:12px}}
