.school-app{--navy:#11233f;--blue:#2563eb;--sky:#eaf2ff;color:#19283c;background:#f4f7fb;grid-template-columns:225px 1fr;min-height:100vh;font-family:Arial,sans-serif;display:grid}.school-side{background:var(--navy);color:#fff;flex-direction:column;height:100vh;padding:22px 15px;display:flex;position:sticky;top:0}.school-brand{color:#fff;align-items:center;gap:10px;padding:3px 7px 27px;text-decoration:none;display:flex}.school-brand>span{background:linear-gradient(145deg,#3275f3,#194caf);border-radius:11px;place-items:center;width:40px;height:40px;font-size:22px;display:grid}.school-brand div{display:grid}.school-brand b{font-size:17px}.school-brand small{color:#8fa3bf;font-size:8px}.school-side nav{gap:5px;display:grid}.school-side nav button{color:#9caec6;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:12px;font-weight:700;display:flex}.school-side nav button svg{font-size:19px}.school-side nav button.active{color:#fff;background:#203a60}.school-side nav button.active svg{color:#70a5ff}.school-user{border-top:1px solid #29405f;align-items:center;gap:9px;margin-top:auto;padding:17px 5px 0;display:flex}.school-user>span{color:#b8d2ff;background:#2b4770;border-radius:50%;place-items:center;width:34px;height:34px;font-size:10px;font-weight:800;display:grid}.school-user>div{display:grid}.school-user small{color:#8195b1;font-size:8px}.school-main{min-width:0}.school-main>header{background:#fff;border-bottom:1px solid #dfe6ef;justify-content:space-between;align-items:center;height:78px;padding:0 27px;display:flex}.school-main>header a{color:#8a98aa;gap:5px;font-size:9px;text-decoration:none;display:flex}.school-main h1{margin:5px 0;font-size:21px}.school-year{align-items:center;gap:8px;font-size:10px;display:flex}.school-year span{color:#8a98aa}.school-year svg{margin-left:12px;font-size:19px}.school-dashboard{padding:21px}.school-metrics{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.school-metrics article{background:#fff;border:1px solid #dee6f0;border-radius:12px;gap:12px;padding:16px;display:flex}.school-metrics article>span{background:var(--sky);width:38px;height:38px;color:var(--blue);border-radius:9px;place-items:center;font-size:20px;display:grid}.school-metrics article>div{display:grid}.school-metrics small{color:#8492a4;text-transform:uppercase;font-size:8px;font-weight:800}.school-metrics strong{font-size:21px}.school-metrics p{color:#8d9aab;margin:0;font-size:8px}.school-columns{grid-template-columns:1.35fr .65fr;gap:13px;margin-top:13px;display:grid}.school-card,.school-page-card{background:#fff;border:1px solid #dfe6ef;border-radius:12px;padding:18px}.card-head,.school-toolbar{justify-content:space-between;align-items:center;display:flex}.card-head h2,.school-page-card h2{margin:0 0 4px;font-size:15px}.card-head p{color:#8b98a9;margin:0;font-size:9px}.card-head button,.school-toolbar>button,.module-preview button,.module-preview>a{background:var(--blue);color:#fff;border:0;border-radius:7px;padding:8px 10px;font-size:9px;font-weight:800;text-decoration:none}.class-row{border-top:1px solid #edf1f6;grid-template-columns:48px 8px 1fr auto;align-items:center;gap:9px;padding:13px 3px;display:grid}.class-row time{font-size:10px;font-weight:800}.class-row>i{background:var(--blue);border-radius:50%;width:7px;height:7px}.class-row>div{display:grid}.class-row b{font-size:10px}.class-row span{color:#8c99aa;font-size:8px}.school-alert{border-radius:8px;grid-template-columns:25px 1fr auto;align-items:center;margin-top:9px;padding:11px;font-size:9px;display:grid}.school-alert p{margin:0}.school-alert.warn{color:#8b6500;background:#fff7df}.school-alert.red{color:#a72b2b;background:#fff0f0}.school-alert.blue{color:#1e5cb7;background:#edf5ff}.school-activity{margin-top:13px}.school-activity>div:not(.card-head){border-top:1px solid #edf1f6;gap:10px;padding:11px;display:flex}.school-activity>div>span{border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.school-activity span.green{color:#1c9b50;background:#eaf9ef}.school-activity span.blue{color:#2563eb;background:#eaf2ff}.school-activity span.purple{color:#7c3bc7;background:#f4edff}.school-activity p{margin:0;font-size:9px;display:grid}.school-activity small{color:#929faf;font-size:8px}.school-page-card{margin:21px}.school-toolbar>div{border:1px solid #dce4ee;border-radius:8px;align-items:center;gap:8px;width:min(480px,60%);padding:9px 11px;display:flex}.school-toolbar input{border:0;outline:0;width:100%}.school-toolbar>button{gap:5px;display:flex}.student-table{border-top:1px solid #e9eef4;grid-template-columns:1.5fr 1fr .6fr .5fr .6fr;align-items:center;padding:11px;font-size:9px;display:grid}.student-table.heading{color:#8794a5;background:#f7f9fc;margin-top:16px;font-weight:800}.student-name{align-items:center;gap:9px;display:flex}.student-name>i{color:#2563eb;background:#eaf2ff;border-radius:50%;place-items:center;width:31px;height:31px;font-style:normal;font-weight:800;display:grid}.student-name>b{display:grid}.student-name small{color:#929faf}.student-table strong.low{color:#d04949}.student-table em{border-radius:10px;width:max-content;padding:4px 7px;font-style:normal}.student-table em.paid{color:#198548;background:#eaf9ef}.student-table em.pending{color:#9b6600;background:#fff3df}.module-preview{text-align:center;align-content:center;place-items:center;min-height:500px;display:grid}.module-preview>span{background:var(--sky);width:68px;height:68px;color:var(--blue);border-radius:18px;place-items:center;font-size:35px;display:grid}.module-preview h2{margin:16px 0 5px;font-size:23px}.module-preview p{color:#78879a;max-width:450px;font-size:12px;line-height:1.6}.module-preview button,.module-preview>a{margin:9px;padding:11px 15px}.module-preview small{color:#9ba7b6;font-size:8px}@media (max-width:900px){.school-app{grid-template-columns:70px 1fr}.school-brand div,.school-side nav button,.school-user div{font-size:0}.school-brand{padding-left:0}.school-side nav button svg{font-size:21px}.school-metrics{grid-template-columns:1fr 1fr}.school-columns{grid-template-columns:1fr}.student-table{grid-template-columns:1.5fr 1fr .5fr}.student-table>:nth-child(3),.student-table>:nth-child(5){display:none}}@media (max-width:600px){.school-app{display:block}.school-side{z-index:10;height:59px;padding:5px;position:fixed;inset:auto 0 0}.school-brand,.school-user{display:none}.school-side nav{grid-template-columns:repeat(5,1fr)}.school-side nav button{justify-content:center}.school-main{padding-bottom:65px}.school-main>header{height:65px;padding:0 13px}.school-year span{display:none}.school-dashboard,.school-page-card{margin:0;padding:11px}.school-metrics{grid-template-columns:1fr 1fr;gap:8px}.school-metrics article{padding:11px}.school-toolbar>div{width:100%}.school-toolbar>button{padding:10px;font-size:0}.student-table{grid-template-columns:1.5fr 1fr .4fr;padding:9px 2px}.student-table>:nth-child(4){display:block}}
.school-portal-loading,.school-portal-login{color:#fff;background:#11233f;place-items:center;min-height:100vh;font-family:Arial,sans-serif;display:grid}.school-portal-login form{color:#19283c;background:#fff;border-radius:16px;gap:12px;width:min(380px,100% - 32px);padding:30px;display:grid}.school-portal-login form>a{color:#8290a3;font-size:10px;text-decoration:none}.school-portal-login form>i{color:#fff;background:#2563eb;border-radius:13px;place-items:center;width:48px;height:48px;font-size:25px;display:grid}.school-portal-login h1{margin:2px 0}.school-portal-login p{color:#7f8da0;margin:0;font-size:11px}.school-portal-login label,.school-modal label{gap:5px;font-size:9px;font-weight:800;display:grid}.school-portal-login input,.school-modal input,.school-modal select{border:1px solid #d9e1eb;border-radius:8px;padding:11px}.school-portal-login form>button,.school-modal form>button:last-child{color:#fff;background:#2563eb;border:0;border-radius:8px;padding:12px;font-weight:800}.school-portal-login form>b{color:#b52c2c;font-size:9px}.school-portal{--blue:#2563eb;color:#19283c;background:#f4f7fb;grid-template-columns:220px 1fr;min-height:100vh;font-family:Arial,sans-serif;display:grid}.school-portal>aside{box-sizing:border-box;background:#11233f;flex-direction:column;height:100dvh;padding:21px 14px;display:flex;position:sticky;top:0;overflow:hidden}.school-portal>aside>a{color:#fff;align-items:center;gap:10px;padding:5px 7px 25px;text-decoration:none;display:flex}.school-portal>aside>a>svg{color:#70a5ff;font-size:29px}.school-portal>aside>a>div{display:grid}.school-portal>aside small{color:#8298b7;font-size:8px}.school-portal nav{scrollbar-width:thin;scrollbar-color:#58759c #172d4b;flex:auto;align-content:start;gap:5px;min-height:0;padding-right:4px;display:grid;overflow:hidden auto}.school-portal nav::-webkit-scrollbar{width:7px}.school-portal nav::-webkit-scrollbar-track{background:#172d4b;border-radius:10px}.school-portal nav::-webkit-scrollbar-thumb{background:#58759c;border-radius:10px}.school-portal nav button,.school-logout{color:#9eb0c8;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:12px;font-size:13px;font-weight:800;line-height:1.25;display:flex}.school-portal nav button svg,.school-logout svg{flex:none}.school-portal nav button.active{color:#fff;background:#203a60}.school-logout{flex:none;margin-top:auto}@media (max-height:760px) and (min-width:701px){.school-portal>aside{padding-block:13px}.school-portal>aside>a{padding-bottom:12px}.school-portal nav{gap:2px}.school-portal nav button,.school-logout{padding-block:9px;font-size:12px}}.school-portal-load-error>div{text-align:center;background:#fff;border:1px solid #e0e7f0;border-radius:20px;justify-items:center;gap:12px;width:min(430px,100% - 32px);padding:32px;display:grid;box-shadow:0 24px 65px #18395f1a}.school-portal-load-error svg{color:#2563eb;font-size:46px}.school-portal-load-error h1,.school-portal-load-error p{margin:0}.school-portal-load-error p{color:#687b92;line-height:1.6}.school-portal-load-error button,.school-portal-load-error a{color:#fff;min-width:170px;font:inherit;cursor:pointer;background:#2563eb;border:0;border-radius:9px;padding:11px 18px;font-weight:800;text-decoration:none}.school-portal-load-error a{color:#2563eb;background:0 0;padding:4px}.mobile-menu-button,.mobile-menu-close,.mobile-menu-overlay{display:none}.portal-header-title{align-items:center;gap:11px;display:flex}.school-portal>section{min-width:0}.school-portal>section>header{background:#fff;border-bottom:1px solid #dfe6ef;justify-content:space-between;align-items:center;height:76px;padding:0 25px;display:flex}.school-portal>section>header small{color:var(--blue);font-size:8px;font-weight:800}.school-portal>section>header h1{margin:4px 0;font-size:21px}.school-portal>section>header strong{color:var(--blue);background:#eaf2ff;border-radius:12px;padding:7px 9px;font-size:9px}.portal-card{background:#fff;border:1px solid #dfe6ef;border-radius:13px;margin:20px;padding:18px}.portal-title{justify-content:space-between;align-items:center;display:flex}.portal-title h2{margin:0 0 4px;font-size:16px}.portal-title p{color:#8593a5;margin:0;font-size:9px}.portal-title button,.grade-row button,.payment-row button{color:#fff;background:#2563eb;border:0;border-radius:7px;gap:5px;padding:9px 11px;font-size:9px;font-weight:800;display:flex}.portal-table{border-top:1px solid #e8edf4;grid-template-columns:1.5fr 1fr .6fr .5fr;align-items:center;padding:11px;font-size:9px;display:grid}.portal-table.heading{color:#8391a3;background:#f7f9fc;margin-top:15px;font-weight:800}.portal-table>span:first-child{display:grid}.portal-table small,.attendance-row small,.grade-row small,.payment-row small{color:#8c9aac;font-size:8px}.attendance-row,.grade-row,.payment-row{border-top:1px solid #e7edf4;align-items:center;padding:11px;font-size:9px;display:grid}.attendance-row{grid-template-columns:1fr auto}.attendance-row>span,.grade-row>span,.payment-row>span{display:grid}.attendance-row>div{gap:5px;display:flex}.attendance-row button{background:#fff;border:1px solid #dce4ee;border-radius:6px;padding:7px;font-size:8px}.grade-row{grid-template-columns:1fr 180px 70px 80px;gap:8px}.grade-row select,.grade-row input{border:1px solid #dce4ee;border-radius:7px;padding:8px}.payment-row{grid-template-columns:1fr 100px 80px 100px}.payment-row em{font-size:8px;font-style:normal}.payment-row em.paid{color:#168748}.payment-row em.pending{color:#a26800}.portal-error{color:#b52c2c;background:#fff0f0;border-radius:8px;margin:12px 20px;padding:10px;font-size:9px}.school-modal{z-index:20;background:#0009;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.school-modal form{background:#fff;border-radius:14px;gap:11px;width:min(430px,100%);padding:24px;display:grid;position:relative}.school-modal form>button:first-child{border:0;border-radius:50%;width:28px;height:28px;position:absolute;top:10px;right:10px}.school-modal form>div{grid-template-columns:1fr 1fr;gap:9px;display:grid}@media (max-width:700px){.school-portal{display:block}.school-portal>aside{z-index:10;height:58px;padding:5px;position:fixed;inset:auto 0 0}.school-portal>aside>a,.school-logout{display:none}.school-portal nav{grid-template-columns:repeat(4,1fr)}.school-portal nav button{justify-content:center;font-size:0}.school-portal nav button svg{font-size:20px}.school-portal>section{padding-bottom:65px}.school-portal>section>header{height:65px;padding:0 13px}.portal-card{margin:11px;padding:12px}.portal-table{grid-template-columns:1.5fr 1fr .5fr}.portal-table>:nth-child(3){display:none}.attendance-row{grid-template-columns:1fr}.attendance-row>div{margin-top:8px;overflow:auto}.grade-row{grid-template-columns:1fr 100px 55px}.grade-row button{font-size:0}.payment-row{grid-template-columns:1fr auto auto}.payment-row button{grid-column:1/-1;width:max-content}}.school-access-actions{grid-template-columns:1fr 1fr;gap:7px;display:grid}.school-access-actions button{color:#fff;background:#11233f;border:0;border-radius:8px;padding:11px 8px;font-size:9px;font-weight:800}.school-login-separator{color:#8290a3;text-align:center;align-items:center;gap:8px;font-size:8px;display:flex}.school-login-separator span{background:#dfe6ef;flex:1;height:1px}.school-portal-login form>small{text-align:center;color:#8290a3;font-size:8px}.school-portal-login .school-apk-download{color:#fff;text-align:center;background:#11233f;border-radius:8px;margin-top:4px;padding:11px;font-size:9px;font-weight:800}.portal-page{padding-bottom:1px}.portal-notice{color:#137044;background:#e8fff2;border-radius:8px;margin:12px 20px;padding:10px;font-size:10px}.school-install{color:#dbeafe;cursor:pointer;background:#172e4d;border:1px solid #426184;border-radius:8px;margin-top:14px;padding:10px;font-weight:800}.portal-metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin:20px;display:grid}.portal-metrics article{background:#fff;border:1px solid #dfe6ef;border-radius:13px;gap:8px;padding:18px;display:grid}.portal-metrics small{color:#7c8da2;font-size:9px;font-weight:800}.portal-metrics strong{color:#173153;font-size:26px}.portal-metrics em{color:#8a98aa;font-size:8px;font-style:normal}.portal-metrics.six{grid-template-columns:repeat(6,1fr)}.portal-metrics .kpi-good{border-top:3px solid #16a36a}.portal-metrics .kpi-warn{border-top:3px solid #f0a11a}.portal-metrics .kpi-bad{border-top:3px solid #dc4b4b}.summary-section-tabs{background:#edf2f8;border:1px solid #dce5f0;border-radius:15px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:20px 20px 0;padding:5px;display:grid}.summary-section-tabs button{color:#63758b;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:11px;min-width:0;padding:13px 15px;display:flex}.summary-section-tabs button.active{color:#173153;background:#fff;box-shadow:0 8px 24px #17315312}.summary-section-tabs svg{color:#7e91a8;flex:none;font-size:27px}.summary-section-tabs button.active svg{color:#2563eb}.summary-section-tabs span{gap:3px;min-width:0;display:grid}.summary-section-tabs b{font-size:11px}.summary-section-tabs small{color:#8997a8;font-size:8px}.summary-section-heading{color:#fff;background:linear-gradient(135deg,#173c78,#2871de);border-radius:15px;justify-content:space-between;align-items:center;margin:20px 20px 0;padding:17px 20px;display:flex}.summary-section-heading>div{gap:4px;display:grid}.summary-section-heading small{letter-spacing:.12em;opacity:.8;font-size:8px;font-weight:900}.summary-section-heading h2,.summary-section-heading p{margin:0}.summary-section-heading h2{font-size:20px}.summary-section-heading p{opacity:.75;font-size:9px}.summary-section-heading>svg{opacity:.65;font-size:48px}.analytics-filter{background:#fff;border:1px solid #dfe6ef;border-radius:13px;align-items:end;gap:12px;margin:20px;padding:14px 16px;display:flex}.analytics-filter>div:first-child{gap:4px;margin-right:auto;display:grid}.analytics-filter small{color:#8493a6;font-size:8px}.analytics-filter label{color:#687b92;gap:4px;font-size:8px;font-weight:800;display:grid}.analytics-filter input{border:1px solid #d9e1eb;border-radius:7px;padding:8px}.period-buttons{gap:4px;display:flex}.period-buttons button{color:#244467;cursor:pointer;background:#f7f9fc;border:1px solid #cdd9e8;border-radius:7px;padding:8px 10px;font-size:9px;font-weight:800}.charts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px;display:grid}.chart-card{background:#fff;border:1px solid #dfe6ef;border-radius:13px;min-width:0;min-height:300px;padding:17px}.chart-card>header{gap:4px;margin-bottom:15px;display:grid}.chart-card>header b{font-size:13px}.chart-card>header small{color:#8593a5;font-size:8px}.chart-empty{color:#8a98aa;place-items:center;height:210px;font-size:9px;display:grid}.daily-bars{align-items:end;gap:5px;height:220px;padding-top:10px;display:flex}.daily-column{flex-direction:column;flex:1;justify-content:end;align-items:center;gap:5px;min-width:8px;height:100%;display:flex}.bar-stack{background:#f0f3f7;border-radius:4px 4px 0 0;flex-direction:column-reverse;justify-content:flex-start;width:100%;max-width:22px;height:185px;display:flex;overflow:hidden}.bar-stack i{width:100%;display:block}.bar-stack .present,.chart-legend .present{background:#16a36a}.bar-stack .late,.chart-legend .late{background:#f0a11a}.bar-stack .absent,.chart-legend .absent{background:#dc4b4b}.daily-column small{color:#8593a5;font-size:7px}.donut-wrap{grid-template-columns:210px 1fr;align-items:center;gap:20px;display:grid}.donut{border-radius:50%;place-items:center;width:200px;height:200px;display:grid}.donut>span{background:#fff;border-radius:50%;align-content:center;place-items:center;width:118px;height:118px;display:grid}.donut b{font-size:25px}.donut small{color:#8593a5;font-size:8px}.chart-legend{grid-template-columns:10px 1fr;align-items:center;gap:9px 7px;font-size:9px;display:grid}.chart-legend i{border-radius:2px;width:9px;height:9px}.chart-legend .justified{background:#5587d9}.line-chart,.scatter-chart{width:100%;height:225px;overflow:visible}.line-chart line,.scatter-chart line{stroke:#e5ebf2;stroke-width:1px}.line-chart polyline{fill:none;stroke:#2563eb;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.line-chart circle{fill:#2563eb;stroke:#fff;stroke-width:2px}.line-chart text,.scatter-chart text{fill:#8291a5;font-size:10px}.scatter-chart circle{fill:#2563ebaa;stroke:#fff;stroke-width:2px}.horizontal-bars,.course-bars{gap:9px;max-height:225px;display:grid;overflow:auto}.horizontal-bars>div,.course-bars>div{grid-template-columns:115px 1fr 42px;align-items:center;gap:8px;font-size:8px;display:grid}.horizontal-bars i,.course-bars i{background:#edf1f6;border-radius:10px;height:9px;overflow:hidden}.horizontal-bars i b,.course-bars i b{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#70a5ff);height:100%;display:block}.horizontal-bars strong,.course-bars strong{text-align:right;color:#315273}.teacher-summary-section{background:linear-gradient(145deg,#f7faff,#edf4ff);border:1px solid #d9e4f2;border-radius:18px;margin:20px;padding:20px;box-shadow:0 18px 45px #244f8710}.teacher-summary-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.teacher-summary-heading>div{gap:4px;display:grid}.teacher-summary-heading small{color:#2563eb;letter-spacing:.12em;font-size:8px;font-weight:900}.teacher-summary-heading h2{color:#173153;margin:0;font-size:20px}.teacher-summary-heading p{color:#74859a;margin:0;font-size:9px}.teacher-summary-heading>svg{color:#2563eb;opacity:.7;font-size:48px}.teacher-summary-metrics{margin:17px 0}.teacher-summary-metrics article{box-shadow:0 8px 22px #274c7b0a}.teacher-summary-charts{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px;display:grid}.lateness-panel{background:#fff;border:1px solid #dbe6f4;border-radius:14px;margin-top:14px;padding:18px}.lateness-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.lateness-heading>div:first-child{gap:4px;display:grid}.lateness-heading small{color:#e17818;letter-spacing:.12em;font-size:8px;font-weight:900}.lateness-heading h3,.lateness-heading p{margin:0}.lateness-heading h3{color:#173153;font-size:17px}.lateness-heading p{color:#74859a;font-size:9px}.period-buttons button.active{color:#fff;background:#173153}.lateness-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:15px 0;display:grid}.lateness-kpis span{background:#fff8ef;border:1px solid #f5dfc5;border-radius:10px;gap:4px;padding:11px 12px;display:grid}.lateness-kpis small{color:#9b6a35;font-size:7px;font-weight:900}.lateness-kpis b{color:#a6540b;font-size:18px}.lateness-chart{border-bottom:1px solid #e5ebf2;align-items:end;gap:7px;height:245px;padding:28px 5px 0;display:flex;overflow-x:auto}.lateness-column{flex-direction:column;flex:1 0 25px;justify-content:end;align-items:center;gap:5px;min-width:25px;height:100%;display:flex}.lateness-column>b{color:#a6540b;font-size:8px}.lateness-column>i{background:linear-gradient(#ffad45,#e97816);border-radius:7px 7px 2px 2px;width:min(28px,82%);min-height:0;box-shadow:0 5px 15px #e9781630}.lateness-column>small{color:#738399;white-space:nowrap;font-size:7px}.teacher-lateness-detail{border-top:1px solid #e4eaf2;margin-top:18px;padding-top:16px}.teacher-lateness-filter{grid-template-columns:minmax(220px,1fr) minmax(150px,.5fr) minmax(170px,.55fr);align-items:end;gap:10px;margin-bottom:12px;display:grid}.teacher-lateness-filter>div{gap:4px;display:grid}.teacher-lateness-filter>div b{color:#273f5d;font-size:11px}.teacher-lateness-filter>div small{color:#8190a3;font-size:8px}.teacher-lateness-filter input,.teacher-lateness-filter select{color:#29425f;background:#fff;border:1px solid #d4dfeb;border-radius:8px;min-width:0;padding:9px 10px;font-size:9px}.teacher-lateness-row{color:#496078;border-top:1px solid #edf1f5;grid-template-columns:minmax(170px,1.3fr) repeat(4,minmax(75px,.55fr));align-items:center;gap:10px;padding:11px 10px;font-size:9px;display:grid}.teacher-lateness-row>span:first-child{gap:3px;display:grid}.teacher-lateness-row>span:first-child b{color:#203b5b}.teacher-lateness-row small{color:#8b99aa;font-size:7px}.teacher-lateness-row strong{color:#a6540b}.teacher-lateness-head{color:#78899c;background:#f6f8fb;border:0;border-radius:8px;font-size:8px;font-weight:900}.teacher-lateness-empty{color:#8190a3;text-align:center;background:#f7f9fc;border-radius:9px;margin:10px 0 0;padding:18px;font-size:9px}.teacher-attendance-bars{gap:10px;max-height:225px;padding-right:4px;display:grid;overflow:auto}.teacher-attendance-bars>div{grid-template-columns:minmax(130px,1.3fr) minmax(100px,1fr) 45px;align-items:center;gap:10px;display:grid}.teacher-attendance-bars span{gap:3px;min-width:0;display:grid}.teacher-attendance-bars span b{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.teacher-attendance-bars span small{color:#8190a3;font-size:7px}.teacher-attendance-bars>div>i{background:#e8eef6;border-radius:10px;height:10px;overflow:hidden}.teacher-attendance-bars>div>i b{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#48c6ef);height:100%;display:block}.teacher-attendance-bars>div>strong{text-align:right;color:#244e7d;font-size:9px}.student-welcome{background:radial-gradient(circle at 85% 0,#49c7ff55,#0000 30%),linear-gradient(135deg,#112f66,#345ee9 62%,#694ce4);box-shadow:0 18px 45px #234eae2b}.student-welcome>div{gap:4px;display:grid}.student-welcome>div>span{background:#ffffff16;border:1px solid #ffffff2e;border-radius:20px;width:fit-content;margin-top:8px;padding:6px 9px;font-size:8px;font-weight:800}.student-summary-metrics article{position:relative;overflow:hidden;box-shadow:0 10px 28px #183a680a}.student-summary-metrics article:after{content:"";background:#2563eb0b;border-radius:50%;width:54px;height:54px;position:absolute;bottom:-24px;right:-20px}.student-summary-metrics .student-average-kpi{color:#fff;background:linear-gradient(145deg,#6557ed,#3b82f6);border:0}.student-summary-metrics .student-average-kpi small,.student-summary-metrics .student-average-kpi strong,.student-summary-metrics .student-average-kpi em{color:#fff}.student-summary-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px;display:grid}.student-course-bars{gap:10px;max-height:225px;padding-right:4px;display:grid;overflow:auto}.student-course-bars>div{grid-template-columns:120px 1fr 38px;align-items:center;gap:9px;font-size:8px;display:grid}.student-course-bars>div>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-course-bars i{background:#edf1f7;border-radius:10px;height:11px;overflow:hidden}.student-course-bars i b{border-radius:inherit;height:100%;display:block}.student-course-bars i b.high{background:linear-gradient(90deg,#13a970,#52d69e)}.student-course-bars i b.mid{background:linear-gradient(90deg,#ee9b16,#ffc857)}.student-course-bars i b.low{background:linear-gradient(90deg,#d8445d,#fa7187)}.student-course-bars strong{text-align:right;color:#273f5d}.student-grade-trend{width:100%;height:225px;overflow:visible}.student-grade-trend line{stroke:#e5eaf2;stroke-width:1px;stroke-dasharray:4 5}.student-grade-trend>polyline{fill:none;stroke:#675af0;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.student-grade-trend circle{fill:#675af0;stroke:#fff;stroke-width:3px}.student-grade-trend text{fill:#8291a5;font-size:9px}.student-grade-trend .score-label{fill:#5046c7;font-weight:900}.recent-grades{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.recent-grades>div{background:#fafcff;border:1px solid #e6ebf2;border-radius:10px;align-items:center;gap:9px;min-width:0;padding:11px;display:flex}.recent-grades span{flex:1;gap:3px;min-width:0;display:grid}.recent-grades span b{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.recent-grades span small{color:#8392a5;font-size:7px}.recent-grades strong{border-radius:50%;place-items:center;width:38px;height:38px;font-size:10px;display:grid}.recent-grades strong.high{color:#087c4e;background:#ddf8ed}.recent-grades strong.mid{color:#a26400;background:#fff1cf}.recent-grades strong.low{color:#b3263f;background:#ffe2e7}.family-dashboard>.quick-grid{margin:20px}.attendance-date{background:#eef5ff;border:1px solid #d4e4fa;border-radius:10px;align-items:center;gap:12px;margin:15px 0 8px;padding:12px;display:flex}.attendance-date>div{align-items:center;gap:9px;margin-right:auto;display:flex}.attendance-date svg{color:#2563eb;font-size:27px}.attendance-date span{text-transform:capitalize;gap:3px;display:grid}.attendance-date span small{color:#6681a4;font-size:7px;font-weight:900}.attendance-date span b{font-size:11px}.attendance-date label{color:#6681a4;gap:3px;font-size:7px;font-weight:800;display:grid}.attendance-date input{background:#fff;border:1px solid #c5d6ec;border-radius:7px;padding:7px}.attendance-date em{color:#fff;background:#2563eb;border-radius:12px;padding:6px 9px;font-size:8px;font-style:normal;font-weight:900}.quick-grid,.card-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.quick-grid button,.card-grid article{color:#253c5a;background:#f8fafc;border:1px solid #e1e8f0;border-radius:11px;align-items:center;gap:10px;padding:15px;display:flex}.quick-grid button{cursor:pointer}.quick-grid svg,.card-grid svg{color:#2563eb;font-size:25px}.card-grid article{position:relative}.card-grid article>div{flex:1;gap:4px;display:grid}.card-grid small{color:#7f8da0;font-size:8px}.card-grid article>button,.school-list button,.simple-row button,.simple-row a,.enrollment-row button,.inline-form button,.secondary-action{color:#175ac5;cursor:pointer;background:#e9f1ff;border:0;border-radius:7px;padding:8px 10px;font-size:9px;font-weight:800;text-decoration:none}.card-grid article.inactive{opacity:.55}.secondary-action{color:#fff;background:#11233f;margin-top:14px}.school-list{border-top:1px solid #e7edf4;grid-template-columns:1.6fr 1fr .5fr .8fr;align-items:center;gap:10px;padding:11px;font-size:9px;display:grid}.school-list.head{color:#8090a3;background:#f7f9fc;margin-top:14px;font-weight:800}.person{grid-template-columns:38px 1fr;display:grid}.person i{color:#2563eb;background:#e4edfa;border-radius:50%;grid-row:1/3;place-items:center;width:32px;height:32px;font-style:normal;font-weight:900;display:grid;overflow:hidden}.person img{object-fit:cover;width:100%;height:100%}.person small{color:#8795a7;font-size:8px}.teacher-list em{font-size:8px;font-style:normal;font-weight:800}.teacher-list em.enabled{color:#168748}.teacher-list em.disabled{color:#b52c2c}.teacher-list>div{gap:5px;display:flex}.row-actions{align-items:center;gap:5px;flex-direction:row!important;display:flex!important}.row-actions .danger,.danger{color:#b52c2c!important;background:#fff0f0!important}.audit-row{border-top:1px solid #e7edf4;grid-template-columns:150px 1fr 1.2fr 1.5fr;align-items:center;gap:12px;padding:11px;font-size:9px;display:grid}.audit-row.audit-head{color:#8090a3;background:#f7f9fc;margin-top:15px;font-weight:800}.audit-row>span{gap:3px;display:grid}.audit-row small{color:#8493a6;font-size:8px}.audit-row time{color:#65778d}.audit-row code{white-space:normal;color:#56677c;font-family:Arial,sans-serif}.simple-row,.enrollment-row{border-top:1px solid #e7edf4;grid-template-columns:1.5fr 1fr 1fr auto auto;align-items:center;gap:9px;padding:11px;font-size:9px;display:grid}.simple-row:first-of-type{margin-top:12px}.teacher-group-filter{background:#f7faff;border:1px solid #dbe5f2;border-radius:16px;grid-template-columns:minmax(240px,1fr) minmax(220px,1fr);align-items:end;gap:14px;margin:16px 0 18px;padding:16px;display:grid}.teacher-group-filter label{color:#5b6c84;gap:7px;font-size:12px;font-weight:800;display:grid}.teacher-group-filter select{color:#142b4a;background:#fff;border:1px solid #cbd8e8;border-radius:10px;width:100%;padding:11px 12px}.teacher-group-filter>div{gap:2px;display:grid}.teacher-group-filter span,.teacher-group-filter small{color:#667892}.teacher-group-filter small{font-size:12px}.enrollment-row{grid-template-columns:1.5fr 1fr 90px auto}.enrollment-row span{display:grid}.enrollment-row small{color:#8795a7;font-size:8px}.inline-form{grid-template-columns:repeat(3,1fr) auto;gap:8px;margin:15px 0;display:grid}.inline-form select,.enrollment-row select,.enrollment-row input,.settings-form input,.settings-form select{background:#fff;border:1px solid #d9e1eb;border-radius:8px;min-width:0;padding:10px}.attendance-row button.selected{color:#fff;border-color:#0000;font-weight:900}.attendance-row button.present{background:#168748}.attendance-row button.late{background:#d98400}.attendance-row button.absent{background:#c43838}.attendance-row button.justified{background:#3b6fb6}.grade-row{grid-template-columns:1fr 150px 90px 70px 75px}.checkin-card{text-align:center;max-width:620px;margin-left:auto;margin-right:auto;padding:35px}.checkin-card>svg{color:#2563eb;font-size:58px}.checkin-card>p{color:#687b92;line-height:1.6}.checkin-card>button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:9px;padding:14px 20px;font-weight:900}.geofence-status{color:#174f9e;background:#edf4ff;border-radius:10px;gap:5px;max-width:330px;margin:20px auto;padding:13px;display:grid}.geofence-status small{font-size:9px}.checkin-result{background:#e9fff2;border-radius:8px;padding:10px}.settings-form{grid-template-columns:1fr 1fr;gap:12px;margin-top:17px;display:grid}.settings-form label{color:#43546a;gap:5px;font-size:9px;font-weight:800;display:grid}.settings-form .toggle{grid-column:1/-1;align-items:center;gap:8px;display:flex}.settings-form .toggle input{width:18px;height:18px}.form-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.form-actions button{color:#fff;background:#2563eb;border:0;border-radius:8px;align-items:center;gap:5px;padding:11px 14px;font-weight:800;display:flex}.form-actions button:first-child{background:#11233f}.map-card{min-height:330px;padding:0;position:relative;overflow:hidden}.map-card iframe{border:0;width:100%;height:330px}.map-mesh{pointer-events:none;color:#143c7a;text-align:center;background:#2563eb26;border:3px solid #2563eb;border-radius:50%;align-content:center;place-items:center;width:150px;height:150px;font-size:9px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.school-modal form{max-height:calc(100vh - 40px);overflow:auto}@media (max-width:900px){.portal-metrics{grid-template-columns:repeat(2,1fr)}.portal-metrics.six{grid-template-columns:repeat(3,1fr)}.teacher-summary-charts{grid-template-columns:1fr}.lateness-heading{flex-direction:column;align-items:stretch}.lateness-heading .period-buttons{display:flex}.lateness-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.lateness-chart{height:220px}.quick-grid,.card-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.teacher-group-filter{grid-template-columns:1fr}.school-portal>aside{overflow-x:auto}.school-portal nav{min-width:max-content;display:flex}.school-portal nav button{min-width:55px}.summary-section-tabs{margin:11px 11px 0}.summary-section-tabs button{padding:11px}.summary-section-heading{margin:11px 11px 0;padding:15px}.charts-grid,.student-summary-charts{grid-template-columns:1fr;margin:11px}.teacher-summary-heading>svg{font-size:38px}.school-list{grid-template-columns:1.5fr 1fr auto}.school-list.head>:nth-child(3),.school-list>:nth-child(3){display:none}.teacher-list>div{grid-column:1/-1}.audit-row{grid-template-columns:1fr 1fr}.audit-row.audit-head{display:none}.simple-row>*,.enrollment-row>*{min-width:0}.grade-row{grid-template-columns:1fr 1fr 70px}.grade-row input,.school-portal{display:block}.school-portal>aside{z-index:40;width:min(300px,86vw);height:100dvh;padding:20px 14px;transition:transform .22s;position:fixed;inset:0 auto 0 0;overflow:hidden;transform:translate(-105%);box-shadow:18px 0 45px #07132942}.school-portal>aside.open{transform:translate(0)}.school-portal>aside>a{padding-right:42px;display:flex}.school-portal .school-logout{flex:none;margin-top:16px;display:flex}.school-portal nav{flex:auto;grid-template-columns:1fr;min-width:0;min-height:0;display:grid;overflow-y:auto}.school-portal nav button{justify-content:flex-start;width:100%;min-width:0;font-size:12px}.school-portal nav button svg{flex:none;font-size:20px}.mobile-menu-close{color:#fff;background:#203a60;border:0;border-radius:9px;place-items:center;width:35px;height:35px;font-size:20px;display:grid;position:absolute;top:14px;right:13px}.mobile-menu-overlay{z-index:35;background:#07132999;border:0;width:100%;height:100%;position:fixed;inset:0}.mobile-menu-overlay.visible{display:block}.mobile-menu-button{color:#173153;background:#f5f8fc;border:1px solid #d7e1ee;border-radius:10px;flex:none;place-items:center;width:39px;height:39px;font-size:22px;display:grid}.school-portal>section{padding-bottom:14px}.school-portal>section>header{gap:8px;height:70px;padding:0 12px}.school-portal>section>header h1{text-overflow:ellipsis;white-space:nowrap;max-width:185px;font-size:17px;overflow:hidden}.school-portal>section>header strong{flex:none;padding:6px 8px;font-size:8px}.portal-metrics{gap:8px;margin:11px}.portal-metrics.six{grid-template-columns:repeat(2,1fr)}.portal-metrics article{min-width:0;padding:13px}.portal-metrics strong{font-size:22px}.analytics-filter{grid-template-columns:1fr 1fr;align-items:stretch;margin:11px;display:grid}.analytics-filter>div:first-child,.period-buttons{grid-column:1/-1}.period-buttons button{flex:1}.charts-grid,.student-summary-charts{grid-template-columns:1fr;margin:11px}.teacher-summary-section{margin:11px;padding:14px}.teacher-summary-metrics{margin:14px 0}.teacher-summary-charts{grid-template-columns:1fr}.teacher-lateness-filter{grid-template-columns:1fr 1fr}.teacher-lateness-filter>div{grid-column:1/-1}.teacher-lateness-row{grid-template-columns:minmax(145px,1.3fr) repeat(4,minmax(65px,.6fr));overflow-x:auto}.teacher-attendance-bars>div{grid-template-columns:1fr 42px}.teacher-attendance-bars>div>i{grid-area:2/1/auto/-1}.student-course-bars>div{grid-template-columns:95px 1fr 34px}.recent-grades{grid-template-columns:1fr}.student-grade-trend{height:auto}.family-dashboard>.quick-grid{margin:11px}.chart-card{min-height:0;padding:14px;overflow:hidden}.chart-card>header b{font-size:14px}.chart-card>header small{font-size:10px;line-height:1.45}.daily-bars{justify-content:flex-start;overflow-x:auto}.daily-column{flex:0 0 18px}.line-chart,.scatter-chart{min-width:0;height:auto}.donut-wrap{grid-template-columns:1fr;justify-items:center}.attendance-date{flex-wrap:wrap;align-items:stretch}.attendance-date>div{width:100%}.attendance-date label{flex:1}.attendance-date input{width:100%}.quick-grid,.card-grid{grid-template-columns:1fr}.portal-card{margin:11px;padding:13px}.portal-title{flex-wrap:wrap;align-items:flex-start;gap:12px}.portal-title>div{flex:180px}.portal-title h2{font-size:18px}.portal-title p{font-size:11px;line-height:1.45}.portal-title>button{justify-content:center;width:100%;padding:11px;font-size:11px}.school-list.head,.portal-table.heading,.report-table.heading,.audit-row.audit-head{display:none}.school-list,.teacher-list,.portal-table,.school-portal .report-table{border:1px solid #e1e8f0;border-radius:10px;grid-template-columns:1fr auto;gap:9px 12px;margin-top:10px;padding:13px;font-size:11px}.school-list>:first-child,.teacher-list>:first-child,.portal-table>:first-child,.report-table>:first-child{grid-column:1/-1}.school-portal .report-table>span:nth-child(2){display:block}.school-list>:nth-child(3){text-align:right;display:block}.school-list .row-actions,.teacher-list>div{grid-column:1/-1}.row-actions button{flex:1;padding:10px}.attendance-row{margin-top:9px;padding:12px 0;font-size:11px}.attendance-row>div{flex-wrap:wrap;overflow:visible}.attendance-row button{flex:calc(50% - 5px);padding:10px 7px;font-size:10px}.audit-row{border:1px solid #e1e8f0;border-radius:10px;grid-template-columns:1fr;margin-top:9px;padding:13px;font-size:11px}.simple-row,.enrollment-row,.inline-form,.settings-form{grid-template-columns:1fr}.simple-row,.enrollment-row{border:1px solid #e1e8f0;border-radius:10px;margin-top:9px;padding:13px;font-size:11px}.simple-row>*,.enrollment-row>*{width:100%;min-width:0}.settings-form .toggle,.form-actions{grid-column:1}.form-actions{grid-template-columns:1fr;display:grid}.form-actions button{justify-content:center}.grade-row{border:1px solid #e1e8f0;border-radius:10px;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px;padding:13px;font-size:11px}.grade-row>span,.grade-row button{grid-column:1/-1}.grade-row input{width:100%;display:block}.grade-row button{justify-content:center;width:100%;font-size:10px}.payment-row{border:1px solid #e1e8f0;border-radius:10px;grid-template-columns:1fr auto;gap:9px;margin-top:9px;padding:13px;font-size:11px}.payment-row>span{grid-column:1/-1}.payment-row button{grid-column:1/-1;justify-content:center;width:100%}.school-modal{padding:10px}.school-modal form{max-height:calc(100dvh - 20px);padding:20px 15px 15px}.school-modal form>div{grid-template-columns:1fr}.school-portal-login form{width:min(100% - 20px,380px);padding:22px 17px}.school-access-actions{grid-template-columns:1fr}.checkin-card{padding:23px 14px}.map-card,.map-card iframe{height:270px;min-height:270px}}@media (max-width:390px){.portal-metrics.six{grid-template-columns:1fr}.teacher-summary-heading>svg{display:none}.analytics-filter{grid-template-columns:1fr}.analytics-filter>*{grid-column:1!important}.period-buttons{flex-wrap:wrap}.lateness-kpis,.summary-section-tabs{grid-template-columns:1fr}.summary-section-heading>svg{display:none}.teacher-lateness-filter{grid-template-columns:1fr}.teacher-lateness-filter>*{grid-column:1}.teacher-lateness-head{display:none}.teacher-lateness-row{border:1px solid #edf1f5;border-radius:9px;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.teacher-lateness-row>span:first-child{grid-column:1/-1}.school-portal>section>header strong{display:none}.school-portal>section>header h1{max-width:230px}}.portal-header-meta{align-items:center;gap:10px;display:flex}.version-pill{color:#3730a3;letter-spacing:.05em;background:#e0e7ff;border:1px solid #c7d2fe;border-radius:20px;padding:3px 9px;font-size:10px;font-weight:900}.assignments-explainer-card{grid-template-columns:1fr 1fr;gap:14px;margin:18px;display:grid}.explainer-sec,.explainer-prim{background:#fff;border-radius:14px;align-items:flex-start;gap:14px;padding:18px;display:flex;box-shadow:0 4px 18px #11233f0a}.explainer-sec{background:linear-gradient(#fff 0%,#f0f7ff 100%);border:1.5px solid #bfdbfe}.explainer-prim{background:linear-gradient(#fff 0%,#f0fdf4 100%);border:1.5px solid #bbf7d0}.explainer-icon{border-radius:12px;flex:0 0 44px;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.explainer-sec .explainer-icon{color:#fff;background:#2563eb}.explainer-prim .explainer-icon{color:#fff;background:#16a34a}.explainer-sec h3,.explainer-prim h3{color:#0f172a;margin:0 0 5px;font-size:14px}.explainer-sec p,.explainer-prim p{color:#475569;margin:0;font-size:11px;line-height:1.45}.assignments-filter-tabs{flex-wrap:wrap;gap:10px;margin:0 18px;display:flex}.assignments-filter-tabs button{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:12px;padding:10px 18px;font-size:12px;font-weight:800;transition:all .15s}.assignments-filter-tabs button:hover{background:#f3f4f6}.assignments-filter-tabs button.active{color:#fff;background:#1e3a8a;border-color:#1e3a8a;box-shadow:0 4px 12px #1e3a8a33}.assignments-rooms-container{gap:18px;margin:18px;display:grid}.assignment-room-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;gap:16px;padding:22px;display:grid;box-shadow:0 4px 20px #0f172a0a}.assignment-room-card.secundaria{border-left:5px solid #2563eb}.assignment-room-card.primaria{border-left:5px solid #16a34a}.assignment-room-head{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.assignment-room-head h2{color:#0f172a;margin:4px 0 2px;font-size:18px}.assignment-room-head small{color:#64748b;font-size:11px}.room-tag{letter-spacing:.06em;border-radius:6px;padding:2px 8px;font-size:9px;font-weight:900;display:inline-block}.room-tag.secundaria{color:#1e40af;background:#dbeafe}.room-tag.primaria{color:#15803d;background:#dcfce7}.room-tutor-info{text-align:right;gap:2px;display:grid}.room-tutor-info small{color:#64748b;letter-spacing:.06em;font-size:9px;font-weight:900}.room-tutor-info b{color:#0f172a;font-size:13px}.courses-table-header{color:#64748b;letter-spacing:.06em;text-transform:uppercase;background:#f8fafc;border-radius:8px;grid-template-columns:220px 1fr 90px;gap:12px;padding:6px 12px;font-size:10px;font-weight:900;display:grid}.courses-assignment-list{gap:8px;display:grid}.course-assign-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:220px 1fr 90px;align-items:center;gap:12px;padding:10px 12px;transition:border-color .15s;display:grid}.course-assign-row:hover{border-color:#93c5fd}.course-title{color:#0f172a;align-items:center;gap:8px;font-size:13px;display:flex}.course-title svg{color:#2563eb;font-size:18px}.course-teacher-picker select{color:#0f172a;background:#fafafa;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:8px 12px;font-size:12px;font-weight:700}.course-teacher-picker select:focus{background:#fff;border-color:#2563eb}.remove-course-btn{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:800;transition:all .15s}.remove-course-btn:hover{background:#fee2e2}.no-courses-notice{color:#94a3b8;text-align:center;background:#f8fafc;border-radius:8px;padding:12px;font-size:12px;font-style:italic}.inline-assign-form{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:6px;padding:14px;display:flex}.inline-assign-form label{color:#475569;flex-direction:column;gap:4px;font-size:10px;font-weight:800;display:flex}.inline-assign-form select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;padding:8px 12px;font-size:12px}.inline-assign-form button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:8px;align-self:flex-end;padding:9px 16px;font-size:11px;font-weight:800}.inline-assign-form button:hover{background:#1d4ed8}.assignment-room-primary-body{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.assignment-room-primary-body p{color:#166534;margin:0;font-size:12px}@media (max-width:700px){.assignments-explainer-card{grid-template-columns:1fr}.courses-table-header{display:none}.course-assign-row{grid-template-columns:1fr;gap:8px}.inline-assign-form{flex-direction:column;align-items:stretch}.inline-assign-form button{width:100%}}
.receipt-review{border-top:1px solid #e6edf5;grid-template-columns:1fr 90px 100px 70px 70px;align-items:center;gap:7px;padding:11px;font-size:9px;display:grid}.receipt-review>span{display:grid}.receipt-review small{color:#8998aa;font-size:8px}.receipt-review>a,.portal-title>a{color:#2563eb}.receipt-review button{color:#fff;background:#1d9a55;border:0;border-radius:6px;padding:7px;font-size:8px}.receipt-review button.reject{background:#be4242}@media (max-width:700px){.receipt-review{grid-template-columns:1fr auto auto}.receipt-review>strong{display:none}.receipt-review>a{grid-column:2/-1}.receipt-review button{padding:8px}}.receipt-review{grid-template-columns:1.5fr 1fr .7fr 70px 180px}.receipt-review.receipt-head{color:#8090a3;background:#f7f9fc;margin-top:14px;font-weight:800}.receipt-review>div{justify-content:flex-end;align-items:center;gap:5px;display:flex}.receipt-review>div a{color:#175ac5;background:#e9f1ff;border-radius:6px;padding:7px;font-weight:800;text-decoration:none}.receipt-modal form{width:min(760px,100vw - 30px)}.receipt-modal iframe{background:#f5f7fa;border:1px solid #dbe4ef;border-radius:10px;width:100%;height:330px}.receipt-modal textarea{resize:vertical;min-height:85px;font:inherit;border:1px solid #d9e1eb;border-radius:8px;padding:10px}.receipt-modal .reject-submit{background:#be4242}.review-history{border-top:1px solid #e7edf4;grid-template-columns:1.4fr 90px 1fr 90px;align-items:center;gap:10px;padding:11px;font-size:9px;display:grid}.review-history>span{display:grid}.review-history small{color:#8998aa}.review-history em,.submission-history em{font-style:normal;font-weight:800}.review-history em.approved,.submission-history em.approved{color:#168748}.review-history em.rejected,.submission-history em.rejected{color:#b52c2c}.review-history a{color:#2563eb}.payment-filters{grid-template-columns:1fr 170px;gap:9px;margin:14px 0;display:grid}.payment-filters input,.payment-filters select{background:#fff;border:1px solid #d9e1eb;border-radius:8px;padding:10px}.family-account-head,.family-account-row{border-top:1px solid #e7edf4;grid-template-columns:1.2fr .65fr 1.2fr .65fr;align-items:center;gap:10px;padding:11px;font-size:9px;display:grid}.family-account-head{color:#8090a3;background:#f7f9fc;margin-top:14px;font-weight:800}.family-account-row>span:nth-child(3){gap:3px;display:grid}.family-account-row>span:nth-child(3) small{color:#60758f}.family-account-row em{font-style:normal;font-weight:800}.family-account-row em.enabled{color:#168748}.family-account-row em.disabled{color:#b52c2c}.family-welcome{color:#fff;background:linear-gradient(135deg,#143967,#2563eb);border-radius:16px;justify-content:space-between;align-items:center;margin:20px;padding:24px;display:flex}.family-welcome small{opacity:.75;font-size:8px;font-weight:900}.family-welcome h2{margin:6px 0;font-size:26px}.family-welcome p{opacity:.8;margin:0;font-size:10px}.family-welcome>svg{opacity:.25;font-size:70px}.family-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px;display:grid}.family-student-grid article{background:#fff;border:1px solid #dfe6ef;border-radius:13px;align-items:center;gap:13px;padding:16px;display:flex}.family-student-grid i{color:#2563eb;background:#e9f1ff;border-radius:50%;place-items:center;width:56px;height:56px;font-size:22px;font-style:normal;font-weight:900;display:grid;overflow:hidden}.family-student-grid img{object-fit:cover;width:100%;height:100%}.family-student-grid h3{margin:0 0 5px;font-size:14px}.family-student-grid p{color:#7c8da2;margin:0;font-size:9px}.family-student-grid span{color:#2563eb;background:#eaf2ff;border-radius:10px;margin-top:7px;padding:4px 7px;font-size:7px;font-weight:900;display:inline-block}.family-table,.family-grade-table,.family-payment-history{border-top:1px solid #e7edf4;align-items:center;gap:10px;padding:11px;font-size:9px;display:grid}.family-table{grid-template-columns:1fr 1fr 100px}.family-grade-table{grid-template-columns:1.2fr 1fr 100px 60px}.family-payment-history{grid-template-columns:1fr 1fr 90px 90px}.family-table.heading,.family-grade-table.heading,.family-payment-history.heading{color:#8090a3;background:#f7f9fc;margin-top:14px;font-weight:800}.attendance-chip{text-align:center;border-radius:12px;padding:5px 8px;font-style:normal;font-weight:900}.attendance-chip.present{color:#168748;background:#e6f8ef}.attendance-chip.late{color:#b06a00;background:#fff3d8}.attendance-chip.absent{color:#b52c2c;background:#ffeded}.attendance-chip.justified{color:#2563eb;background:#eaf2ff}.low-score{color:#b52c2c}.family-payment-card{border:1px solid #dfe7f0;border-radius:12px;margin-top:11px;padding:14px}.family-payment-card header{justify-content:space-between;gap:12px;display:flex}.family-payment-card header>div{gap:4px;display:grid}.family-payment-card small{color:#8291a4;font-size:8px}.family-payment-card header>strong{color:#174f9e}.family-payment-card form{grid-template-columns:1fr auto;align-items:end;gap:8px;margin-top:12px;display:grid}.family-payment-card label{gap:4px;font-size:8px;font-weight:800;display:grid}.family-payment-card input{border:1px solid #d8e1ec;border-radius:8px;min-width:0;padding:9px}.family-payment-card button{color:#fff;background:#2563eb;border:0;border-radius:8px;padding:10px 12px;font-weight:800}.submission-waiting{color:#986300;background:#fff6dc;border-radius:8px;padding:10px;font-size:9px}.submission-history{border-top:1px solid #e7edf4;grid-template-columns:1.4fr 90px 90px;align-items:center;gap:10px;padding:11px;font-size:9px;display:grid}.submission-history>span{gap:3px;display:grid}.submission-history small{color:#8998aa}.submission-history a{color:#2563eb}.submission-history>p{color:#607187;background:#f7f9fc;border-radius:6px;grid-column:1/-1;margin:0;padding:8px}.submission-history em.pending{color:#b06a00}@media (max-width:700px){.receipt-review.receipt-head,.family-account-head,.family-table.heading,.family-grade-table.heading,.family-payment-history.heading{display:none}.receipt-review,.family-account-row,.review-history,.family-table,.family-grade-table,.family-payment-history,.submission-history{border:1px solid #e1e8f0;border-radius:10px;grid-template-columns:1fr;gap:7px;margin-top:9px;padding:13px;font-size:11px}.receipt-review>div{justify-content:stretch}.receipt-review>div>*{text-align:center;flex:1}.receipt-modal iframe{height:260px}.payment-filters,.family-payment-card form{grid-template-columns:1fr}.family-account-row .row-actions{grid-column:1}.family-welcome{margin:11px;padding:18px}.family-welcome h2{font-size:21px}.family-welcome>svg{font-size:48px}.family-student-grid{grid-template-columns:1fr;margin:11px}.family-payment-history em,.family-grade-table strong{justify-self:start}.submission-history>p{grid-column:1}.family-status-metrics{grid-template-columns:repeat(2,1fr)!important}}
.report-metrics{grid-template-columns:repeat(4,1fr);gap:10px;margin:20px;display:grid}.report-metrics article{background:#fff;border:1px solid #dfe6ef;border-radius:11px;gap:6px;padding:17px;display:grid}.report-metrics small{color:#8392a5;font-size:8px;font-weight:800}.report-metrics strong{font-size:21px}.report-download{background:#2563eb;border-radius:7px;padding:9px 11px;text-decoration:none;color:#fff!important}.report-table{border-top:1px solid #e8edf4;grid-template-columns:1.4fr 1fr .5fr .6fr;align-items:center;padding:10px;font-size:9px;display:grid}.report-table.heading{color:#8190a3;background:#f7f9fc;margin-top:14px;font-weight:800}.report-table>span:first-child{display:grid}.report-table small{color:#8a99aa;font-size:8px}.grade-summary{border-top:1px solid #e8edf4;grid-template-columns:1fr 70px 70px;padding:11px;font-size:9px;display:grid}.grade-summary>span{display:grid}.grade-summary small{color:#8998aa;font-size:8px}.grade-summary em{color:#8998aa;font-style:normal}@media (max-width:700px){.report-metrics{grid-template-columns:1fr 1fr;margin:11px}.report-table{grid-template-columns:1.4fr .5fr .6fr}.report-table>span:nth-child(2){display:none}}
