:root{--background:#f5f7fb;--foreground:#192235;--card:#fff;--border:#e4e8f0;--primary:#5368d9}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;flex:0 0 250px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:23px 14px 16px;z-index:20}.brand{display:flex;align-items:center;gap:10px;padding:0 11px 30px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff;background:var(--primary);box-shadow:0 5px 14px #5368d933}.brand strong{display:block;font-size:17px;letter-spacing:-.03em}.brand span,.profile span,.sync span,.person span,.performer span{display:block;color:#73809a;font-size:11px;margin-top:3px}.workspace{padding:0 9px 23px}.workspace small{color:#8a95a9;font-weight:700;font-size:10px;letter-spacing:.11em}.workspace button{display:flex;align-items:center;gap:8px;border:0;background:none;color:#4d5870;padding:9px 0 0;width:100%;text-align:left;font-size:12px}.workspace button svg{margin-left:auto}.workspace i{width:8px;height:8px;border-radius:50%;background:#63c596}.nav-item{width:100%;border:0;background:transparent;border-radius:8px;color:#69758c;display:flex;align-items:center;gap:12px;padding:11px 12px;margin-bottom:3px;text-align:left}.nav-item:hover,.nav-item.active{background:#f0f2fc;color:#5368d9}.nav-item.active{font-weight:700}.nav-item em{margin-left:auto;color:#5368d9;font-style:normal;font-size:10px;background:#e5e9ff;padding:3px 6px;border-radius:4px}.sidebar-bottom{margin-top:auto}.sync{display:flex;gap:9px;border:1px solid var(--border);border-radius:9px;padding:11px;margin:18px 3px;background:#fafbfe;color:#6d7fdf}.sync>svg{background:#e9edff;padding:6px;width:27px;height:27px;border-radius:7px}.sync b{display:block;color:#3e4b63;font-size:11px}.profile{display:flex;align-items:center;gap:9px;padding:11px 8px 0;border-top:1px solid var(--border)}.profile>svg{margin-left:auto;color:#a2adbf}.avatar{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:50%;font-size:10px;font-weight:700}.avatar-indigo{background:#e3e7ff;color:#5368d9}.avatar-violet{background:#eee6ff;color:#815dd5}.avatar-amber{background:#fff0d5;color:#b77a20}.avatar-sky{background:#dbf0f8;color:#2b91ae}.content{min-width:0;flex:1}.content header{height:68px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--border)}.crumb{display:flex;gap:11px;align-items:center;color:#95a0b1;font-size:12px}.crumb b{color:#43506a}.actions{display:flex;align-items:center;gap:16px}.icon-button{border:0;background:none;color:#7f8ba0;display:grid;place-items:center;width:32px;height:32px;border-radius:7px;position:relative}.icon-button:hover{background:#f1f3f8;color:#5368d9}.icon-button>i{position:absolute;top:6px;right:7px;width:5px;height:5px;background:#ee766e;border:1px solid #fff;border-radius:50%}.role{display:flex;gap:3px;background:#f1f3f7;border-radius:7px;padding:3px}.role button{border:0;background:transparent;color:#8791a3;padding:6px 10px;border-radius:5px;font-size:11px}.role button.selected{color:#415070;background:#fff;box-shadow:0 1px 3px #23345b12;font-weight:700}.page{max-width:1440px;margin:0 auto;padding:38px 38px 54px}.heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px}.eyebrow{color:#8a95a9;font-weight:700;font-size:10px;letter-spacing:.11em;text-transform:uppercase}.eyebrow i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#63c596;margin-right:5px}.heading h1{font-size:27px;letter-spacing:-.04em;margin:8px 0 5px}.heading p{color:#7c879a;margin:0}.heading-buttons{display:flex;gap:9px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:7px;border:1px solid var(--border);font-size:12px;font-weight:700}.button.primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 5px 11px #5368d926}.button.secondary{background:#fff;color:#5c6880}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:16px}.metric{background:#fff;border:1px solid var(--border);border-radius:10px;padding:19px}.metric-icon,.quick-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;margin-bottom:14px}.indigo{background:#e9ecff;color:#5368d9}.green{background:#e4f7ef;color:#42a47c}.amber{background:#fff1d9;color:#c58b35}.rose{background:#ffe6e3;color:#de7a71}.metric>span{display:block;color:#7d899d;font-size:11px}.metric>strong{display:block;font-size:24px;letter-spacing:-.04em;margin:5px 0}.metric>small{color:#49a67d;font-size:10px}.grid-two{display:grid;gap:16px;grid-template-columns:1.65fr 1fr;margin-bottom:16px}.panel{border:1px solid var(--border);background:#fff;border-radius:10px;padding:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.panel-head h2{font-size:14px;letter-spacing:-.02em;margin:0}.panel-head button{border:0;background:none;color:#6474cc;font-size:11px}.chart-top{display:flex;justify-content:space-between}.chart-top strong{display:block;font-size:25px;letter-spacing:-.04em}.chart-top span,.chart-top small{color:#8d98aa;font-size:10px}.chart-top small{color:#6072dc}.chart-top small span{color:#c9d0dd}.chart{height:150px;display:flex;gap:10px;padding-top:17px}.labels{display:flex;flex-direction:column;justify-content:space-between;color:#adb6c5;font-size:9px;padding-bottom:19px}.bars{flex:1;display:flex;align-items:flex-end;justify-content:space-around;border-bottom:1px solid #eef0f5;background:repeating-linear-gradient(to bottom,transparent 0,transparent 36px,#f0f2f6 37px)}.bar-group{display:flex;align-items:center;flex-direction:column;height:100%;justify-content:flex-end;gap:5px}.bar-group>span{color:#adb6c5;font-size:9px}.bar-track{height:110px;width:11px;display:flex;align-items:flex-end;overflow:hidden;border-radius:3px 3px 0 0}.bar{width:100%;background:#6374db;border-radius:3px 3px 0 0}.quick{display:flex;flex-direction:column}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-action{text-align:left;border:1px solid var(--border);border-radius:8px;background:#fff;padding:12px;color:#5f6c83;font-size:11px}.quick-action:hover{border-color:#bbc5f4;background:#fafbff}.quick-icon{width:29px;height:29px;margin:0 0 10px}.tip{display:flex;gap:8px;align-items:flex-start;border-top:1px solid var(--border);margin-top:auto;padding-top:16px;color:#8b96a7;font-size:10px;line-height:1.5}.tip svg{color:#6878db}.tip b{color:#606e88}table{width:100%;border-collapse:collapse;text-align:left}th{color:#a1aab9;font-size:10px;font-weight:500;padding:0 10px 11px;border-bottom:1px solid #eef0f4}td{padding:12px 10px;color:#5c6880;font-size:11px;border-bottom:1px solid #f0f2f5;white-space:nowrap}tr:last-child td{border-bottom:0}.person{display:flex;align-items:center;gap:9px}.person b{color:#3f4b64;display:block;font-size:11px}.status{display:inline-flex;align-items:center;gap:5px;font-size:10px}.status i{width:6px;height:6px;border-radius:50%;display:inline-block}.status.paid{color:#4ba37e}.status.paid i{background:#5ac28f}.status.pending{color:#c58e3f}.status.pending i{background:#e6ad56}.performer{display:flex;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid #f0f2f5}.performer:last-child{border-bottom:0}.performer>div:nth-child(2){flex:1}.performer b{display:block;font-size:11px;color:#4a566d}.performer>strong{color:#5669cf;font-size:13px;text-align:right}.performer small{display:block;color:#73809a;font-size:9px;font-weight:400}.toast{position:fixed;right:24px;bottom:24px;display:flex;align-items:center;gap:8px;background:#27334b;color:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 10px 30px #17203833;font-size:12px;z-index:50}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#25314b45;display:grid;place-items:center;padding:20px;z-index:40}.modal{width:min(100%,520px);background:#fff;border-radius:13px;padding:25px;box-shadow:0 20px 60px #26324b2b}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.modal h2{margin:7px 0 0;font-size:23px;letter-spacing:-.04em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{color:#69758b;font-size:11px}.form-grid input,.form-grid select{width:100%;margin-top:7px;padding:10px 11px;border:1px solid var(--border);border-radius:7px;outline:0;color:#43506a;background:#fff}.modal-footer{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--border);padding-top:18px;margin-top:24px}.install{text-align:center;width:min(100%,420px)}.install-art{display:grid;place-items:center;height:100px;border-radius:10px;background:#eef0ff;margin-bottom:21px}.install-art .brand-mark{width:46px;height:46px}.install h2{margin-top:9px}.install p{color:#7c8799;line-height:1.6;font-size:12px}.steps{display:flex;gap:8px;margin:20px 0;text-align:left}.steps span{flex:1;display:flex;gap:7px;align-items:center;background:#f6f7fb;border-radius:7px;padding:9px;font-size:10px;color:#68758b}.steps b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;color:#5368d9;background:#e2e6ff}.wide{width:100%}.text-button{border:0;background:none;color:#8994a7;font-size:11px;margin-top:14px}.module{display:flex;flex-direction:column;gap:16px}.module-hero{display:flex;gap:15px;align-items:center;padding:22px;background:#fff;border:1px solid var(--border);border-radius:10px}.module-hero .metric-icon{margin:0}.module-hero small{color:#8d98a9;font-size:10px}.module-hero h2{font-size:22px;margin:4px 0;letter-spacing:-.04em}.module-hero p{color:#7d899d;margin:0;font-size:12px}.module-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.module-stats>div{background:#fff;border:1px solid var(--border);padding:18px;border-radius:10px}.module-stats b,.module-stats span{display:block}.module-stats b{font-size:23px}.module-stats span{color:#8590a2;font-size:10px;margin-top:4px}.module-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.empty{min-height:220px}.empty>svg{color:#6878db}.empty h3{margin:18px 0 7px;font-size:16px}.empty p{color:#7e899b;font-size:12px;line-height:1.6;max-width:330px;margin-bottom:20px}.small-action{border:0;border-radius:5px;background:#e9edff;color:#5368d9;padding:6px 8px;font-size:10px}.mobile-menu,.mobile-close,.scrim{display:none}@media(max-width:900px){.sidebar{position:fixed;left:-270px;top:0;bottom:0;transition:left .2s ease;box-shadow:8px 0 30px #24304a22}.sidebar.open{left:0}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#27334b40;z-index:10}.mobile-close{display:block;margin-left:auto;border:0;background:none;color:#8994a6}.mobile-menu{display:grid;place-items:center;width:32px;height:32px;border:0;background:none;color:#73809a}.content header{padding:0 20px}.page{padding:28px 20px 40px}.metrics{grid-template-columns:1fr 1fr}.grid-two{grid-template-columns:1fr}.heading-buttons .secondary{display:none}}@media(max-width:600px){.actions{gap:4px}.role{display:none}.heading{align-items:flex-start;flex-direction:column}.heading h1{font-size:24px}.heading-buttons{width:100%}.heading-buttons .button{flex:1}.metrics{gap:9px}.metric{padding:13px}.metric>strong{font-size:20px}.metric>small{font-size:9px}.panel{padding:15px}.chart-top small{display:none}.form-grid,.module-cards,.module-stats{grid-template-columns:1fr}.module-stats{gap:9px}.crumb span,.crumb{font-size:0}.crumb b{font-size:12px}}n.table-tools{display:flex;align-items:center;gap:8px}.table-tools input{width:180px;border:1px solid var(--border);border-radius:7px;padding:8px 10px;background:#fbfcff;color:var(--foreground)}.toast{position:fixed;right:22px;bottom:22px;background:#263451;color:#fff;border-radius:10px;padding:12px 16px;box-shadow:0 12px 30px #26345130;display:flex;align-items:center;gap:8px;z-index:50}.toast-check{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#68c99a;color:#173a2d;font-weight:800}.status.followup{color:#b96d27}.status.followup i{background:#e9aa5d}.status.active i,.status.present i{background:#64c89a}@media(max-width:600px){.table-tools{width:100%;flex-wrap:wrap}.table-tools input{flex:1;min-width:150px}}.boot-screen,.login-screen{min-height:100vh;display:grid;place-items:center;background:#f6f7fb;color:#3f4b64}.boot-screen{gap:10px;align-content:center}.login-card{width:min(440px,calc(100vw - 32px));background:#fff;border:1px solid var(--border);border-radius:14px;padding:28px;box-shadow:0 24px 70px #27334b14}.login-brand{border:0;padding:0;margin-bottom:28px}.login-card h1{font-size:28px;letter-spacing:-.04em;margin:8px 0}.login-card .sub{line-height:1.6;margin-bottom:22px}.login-form{display:grid;gap:14px}.login-form label{display:grid;gap:7px;color:#69758b;font-size:11px}.login-form input,.search-large,.attendance-toolbar input,.attendance-toolbar select,.report-selectors select,.table-tools select{border:1px solid var(--border);border-radius:7px;padding:10px 11px;background:#fff;color:#43506a;outline:0}.notification-button{position:relative}.notification-button>i{position:absolute;right:-3px;top:-3px;display:grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#e26761;color:#fff;font-size:8px;font-style:normal}.profile-logout{margin-left:auto;border:0;background:transparent;color:#8f9aab;padding:6px;border-radius:6px}.profile-logout:hover{background:#f4f5f8;color:#5368d9}.sync-click{border:0;width:100%;text-align:left;cursor:pointer}.table-scroll{width:100%;overflow:auto}.table-tools select{padding:8px 9px;font-size:11px;min-width:105px}.row-actions{display:flex;gap:6px;align-items:center}.icon-small{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:6px;border:1px solid var(--border);background:#fff;color:#65728a;text-decoration:none}.icon-small:hover{background:#f8f9fd;color:#5368d9}.danger-action{color:#d36c66}.small-action:disabled,.button:disabled{opacity:.45;cursor:not-allowed}.table-sub{display:block;color:#98a2b2;font-size:9px;margin-top:3px}.status.active,.status.paid{color:#4ba37e}.status.active i,.status.paid i{background:#5ac28f}.status.inactive,.status.failed,.status.overdue{color:#cc625c}.status.inactive i,.status.failed i,.status.overdue i{background:#e27c74}.status.waiting,.status.pending,.status.partial,.status.upcoming{color:#b07c35}.status.waiting i,.status.pending i,.status.partial i,.status.upcoming i{background:#e6ad56}.section-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:5px;background:#eef1f7;border-radius:8px;width:max-content;max-width:100%}.section-tabs button{border:0;background:transparent;color:#748097;padding:8px 11px;border-radius:6px;font-size:11px;font-weight:700}.section-tabs button.active{background:#fff;color:#5368d9;box-shadow:0 1px 4px #27334b12}.summary-bars{display:grid;gap:15px;margin-top:28px}.summary-bar>div:first-child{display:flex;justify-content:space-between;color:#6e7a91;font-size:11px;margin-bottom:6px}.summary-bar b{color:#43506a}.summary-track{height:10px;border-radius:999px;background:#eef1f6;overflow:hidden}.summary-track i{display:block;height:100%;border-radius:999px}.summary-track i.green{background:#64bf93}.summary-track i.rose{background:#dd8178}.summary-track i.amber{background:#e2ad5d}.empty-inline{color:#9aa4b4;font-size:11px;padding:12px 0}.compact-empty{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.module-stats>div b{word-break:break-word}.attendance-toolbar{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.attendance-toolbar label,.report-selectors label{display:grid;gap:7px;color:#69758b;font-size:10px}.attendance-bulk{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #f0f2f5;border-bottom:1px solid #f0f2f5;color:#7a8699;font-size:11px}.attendance-bulk b{color:#445169}.attendance-bulk>div{display:flex;gap:7px}.attendance-register{display:grid}.attendance-person{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 0;border-bottom:1px solid #f0f2f5}.attendance-options{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.attendance-choice{border:1px solid var(--border);background:#fff;color:#7a869a;padding:7px 9px;border-radius:6px;font-size:10px;font-weight:700}.attendance-choice.selected.present{background:#e7f6ef;border-color:#b9e1cf;color:#338b68}.attendance-choice.selected.absent{background:#fdecea;border-color:#efc5c0;color:#bf625a}.attendance-choice.selected.late{background:#fff3df;border-color:#edd2a2;color:#a6752e}.attendance-choice.selected.leave{background:#e9edff;border-color:#c7cff5;color:#5368d9}.panel-footer-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:18px}.connection-note{display:flex;align-items:center;gap:7px;font-size:10px}.online-note{color:#4b9e79}.subject-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.subject-group{border:1px solid var(--border);border-radius:8px;padding:14px}.subject-group>b{font-size:12px;color:#4c586f}.subject-group>div{margin-top:8px}.subject-pill{display:inline-flex;padding:5px 7px;border-radius:999px;background:#f0f2fb;color:#6876c9;font-size:9px;margin:3px 3px 0 0}.report-selectors{display:flex;gap:12px;margin-bottom:18px}.report-selectors label{min-width:220px}.report-sheet,.receipt-sheet{border:1px solid var(--border);border-radius:10px;padding:20px;background:#fff}.report-head,.receipt-school{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid #eceff4}.report-head h2,.receipt-school h2{margin:0;font-size:17px}.report-head p,.receipt-school p{margin:3px 0 0;color:#8d98aa;font-size:10px}.receipt-school>b{margin-left:auto;color:#5368d9}.report-student{display:flex;justify-content:space-between;align-items:center;padding:14px 0}.report-student b{font-size:14px}.report-student span{color:#8590a2;font-size:10px}.report-total{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}.report-total>div{background:#f7f8fc;border-radius:7px;padding:11px}.report-total span,.report-total b{display:block}.report-total span{font-size:9px;color:#8b95a7}.report-total b{font-size:15px;margin-top:4px}.receipt-grid,.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-top:10px}.summary-line{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #f0f2f5;font-size:10px}.summary-line span{color:#8a95a8}.summary-line b{color:#4a566d;text-align:right}.receipt-total{margin-top:18px;background:#f6f7ff;border-radius:8px;padding:14px}.receipt-total span,.receipt-total small{display:block;color:#7c879a;font-size:10px}.receipt-total strong{display:block;font-size:26px;color:#4c5fc6;margin:3px 0}.receipt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.report-card h3{margin:0 0 6px;font-size:14px}.report-card p{color:#8994a7;font-size:11px;line-height:1.6;min-height:36px}.summary-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 22px}.history-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #f0f2f5}.history-badges{display:flex;gap:5px;flex-wrap:wrap}.history-badges span{background:#f1f3f8;color:#7c8798;border-radius:999px;padding:5px 7px;font-size:9px}.modal-large{width:min(100%,720px)}.modal-wide{width:min(100%,780px)}.single-grid{grid-template-columns:1fr}.modal-copy{color:#7e899b;font-size:11px;line-height:1.6}.inline-input{display:flex;margin-top:7px}.inline-input input{margin-top:0!important;border-radius:7px 0 0 7px!important}.inline-input button{border:1px solid var(--border);border-left:0;border-radius:0 7px 7px 0;background:#f5f6fb;color:#6371c5;padding:0 10px;font-size:9px}.credential-preview,.exam-preview{margin-top:16px;border:1px dashed #cdd3ef;background:#f8f9ff;border-radius:8px;padding:12px;display:flex;align-items:center;gap:10px}.credential-preview span,.exam-preview span{color:#8b96a8;font-size:9px}.credential-preview b,.exam-preview b{color:#53617a;font-size:11px;flex:1}.credential-preview button{border:0;background:none;color:#5368d9;font-size:9px}.salary-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.salary-save{margin-top:14px}.salary-history>b,.profile-history-block>b{font-size:11px;color:#4d596f}.history-item{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;border-bottom:1px solid #eef0f4;padding:11px 0}.history-item span{font-size:9px;color:#8893a5}.history-item strong{font-size:11px;color:#4f5b72}.history-item small{grid-column:1/-1;color:#8792a4;font-size:9px;line-height:1.5}.profile-history-block{grid-column:1/-1;margin-top:15px}.mini-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:15px}.mini-metrics>div{background:#f6f7fb;border-radius:7px;padding:11px}.mini-metrics span,.mini-metrics b{display:block}.mini-metrics span{color:#909aad;font-size:9px}.mini-metrics b{font-size:18px;margin-top:4px}.document-actions{display:flex;justify-content:flex-end;margin-bottom:12px}.doc-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #eef0f4;padding:11px 0}.doc-row b,.doc-row span{display:block}.doc-row b{font-size:11px;color:#4e5a71}.doc-row span{font-size:9px;color:#8c97a9;margin-top:3px}.marks-selectors{grid-template-columns:repeat(3,1fr)}.marks-grid{margin-top:18px;border-top:1px solid #eef0f4}.marks-row{display:grid;grid-template-columns:1fr 140px 140px;align-items:end;gap:12px;padding:11px 0;border-bottom:1px solid #eef0f4}.marks-row>b{font-size:11px;color:#4c586f}.marks-row label{font-size:9px;color:#8b96a8}.marks-row input{margin-top:5px;width:100%;padding:8px 9px;border:1px solid var(--border);border-radius:6px}.notice-inline{background:#fff6e7;color:#9b7138;padding:10px;border-radius:7px;font-size:10px}.search-large{width:100%;font-size:13px;margin-bottom:12px}.search-results{display:grid;max-height:360px;overflow:auto}.search-results>button{border:0;border-bottom:1px solid #eef0f4;background:#fff;padding:11px;text-align:left}.search-results>button:hover{background:#fafbff}.search-results b,.search-results span{display:block}.search-results b{font-size:11px;color:#4d5970}.search-results span{font-size:9px;color:#8b96a8;margin-top:3px}.notifications-list{display:grid;max-height:420px;overflow:auto;margin-bottom:14px}.notification-row{position:relative;display:flex;gap:10px;text-align:left;border:0;border-bottom:1px solid #eef0f4;background:#fff;padding:11px}.notification-row:hover{background:#fafbff}.notification-row>i{width:7px;height:7px;border-radius:50%;background:#6273d8;margin-top:5px}.notification-row.read>i{background:#d7dce6}.notification-row b,.notification-row span,.notification-row small{display:block}.notification-row b{font-size:11px;color:#4b576e}.notification-row span{color:#7d899d;font-size:10px;margin-top:3px}.notification-row small{font-size:8px;color:#a2abb9;margin-top:4px}.onboarding-card{text-align:center;background:#f7f8ff;border:1px solid #e2e5f5;border-radius:10px;padding:20px}.onboarding-card .brand-mark{margin:0 auto 10px}.onboarding-card b,.onboarding-card span,.onboarding-card code{display:block}.onboarding-card b{font-size:16px}.onboarding-card span{color:#7f899c;font-size:10px;margin-top:4px}.onboarding-card code{margin:12px auto 0;background:#fff;border-radius:6px;padding:8px;color:#5368d9;width:max-content}.onboarding-actions{margin-top:12px}.role select:disabled{opacity:1;cursor:default}.role span{white-space:nowrap}@media(max-width:1000px){.attendance-toolbar,.report-grid{grid-template-columns:1fr 1fr}.subject-groups,.salary-layout{grid-template-columns:1fr}.marks-row{grid-template-columns:1fr 1fr 1fr}}@media(max-width:700px){.attendance-person{align-items:flex-start;flex-direction:column}.attendance-options{width:100%;justify-content:flex-start}.attendance-options button{flex:1;min-width:70px}.attendance-bulk{align-items:flex-start;flex-direction:column}.attendance-toolbar{grid-template-columns:1fr}.report-selectors{flex-direction:column}.report-selectors label{min-width:0}.report-grid,.summary-list,.receipt-grid,.profile-grid,.history-row{grid-template-columns:1fr}.history-badges{order:2}.modal{padding:18px}.marks-selectors{grid-template-columns:1fr}.marks-row{grid-template-columns:1fr 1fr}.marks-row>b{grid-column:1/-1}.mini-metrics{grid-template-columns:1fr 1fr}.report-total{grid-template-columns:1fr}.panel-footer-actions{align-items:flex-start;flex-direction:column}.panel-footer-actions .button{width:100%}}@media print{.sidebar,.content header,.heading,.receipt-actions,.modal-head,.section-tabs{display:none!important}.backdrop{position:static;background:#fff;padding:0}.modal{box-shadow:none;width:100%;max-height:none;padding:0}.receipt-sheet,.report-sheet{border:0}}.subject-pill{align-items:center;gap:4px}.subject-pill button{border:0;background:transparent;color:#8993b8;padding:0 1px;line-height:1;cursor:pointer}.report-total{grid-template-columns:repeat(4,1fr)}@media(max-width:700px){.report-total{grid-template-columns:1fr 1fr}}html,body,#root{height:100%;overflow:hidden}.app-shell{height:100vh;min-height:0;overflow:hidden;display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;height:100vh;overflow:hidden}.content{margin-left:250px;width:calc(100% - 250px);height:100vh;min-width:0;overflow:hidden;display:flex;flex-direction:column}.content header{position:relative;top:0;z-index:15;flex:0 0 68px;width:100%}.page{flex:1;overflow-y:auto;overscroll-behavior:contain;width:100%;max-width:none}@media(max-height:760px)and (min-width:901px){.brand{padding-bottom:18px}.workspace{padding-bottom:14px}.nav-item{padding:9px 12px}.sync{margin:10px 3px;padding:8px}.sidebar{padding-top:16px;padding-bottom:10px}}@media(max-width:900px){.content{margin-left:0;width:100%}.sidebar{left:-270px}.sidebar.open{left:0}}@media print{html,body,#root,.app-shell,.content,.page{height:auto!important;overflow:visible!important}.content{margin-left:0;width:100%}}.account-password{margin-top:18px;padding-top:18px;border-top:1px solid #eef0f4}.account-password>b{display:block;color:#4d596f;font-size:11px}.account-password>p{margin:5px 0 12px;color:#8a95a8;font-size:10px;line-height:1.5}.account-password>.button{margin-top:12px}.status.active{color:#3d9a72}.status.active i{background:#51ba88}.status.expired,.status.suspended,.status.pendingonboarding,.status.subscriptionrequired{color:#c8635b}.status.expired i,.status.suspended i,.status.pendingonboarding i,.status.subscriptionrequired i{background:#df786f}.status.scheduled,.status.accessnotstarted{color:#b07b2f}.status.scheduled i,.status.accessnotstarted i{background:#dca14d}.access-block{display:flex;gap:12px;margin:16px 0;padding:14px;border:1px solid #f0c9c4;background:#fff4f2;border-radius:9px;color:#5b4850}.access-block-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:8px;background:#ffe3df;color:#c45f56}.access-block b,.access-block span,.access-block small{display:block}.access-block p{margin:5px 0 7px;color:#7a5a61;font-size:11px;line-height:1.5}.access-block span{font-weight:700;font-size:11px}.access-block small{margin-top:4px;color:#8a6c72;font-size:9px;line-height:1.45}.access-block .text-button{margin-top:7px;color:#5368d9;padding:0}.login-legal{margin:17px 0 0;color:#929bad;font-size:9px;line-height:1.5}.login-legal button,.policy-consent button{border:0;background:none;color:#5368d9;padding:0;text-decoration:underline;font-size:inherit}.policy-consent{display:flex!important;align-items:flex-start;gap:9px;margin-top:18px;padding:12px;border-radius:8px;background:#f7f8fc;border:1px solid var(--border);font-size:10px!important;line-height:1.5}.policy-consent input{width:auto!important;margin:2px 0 0!important}.policy-consent span{color:#68758b}.subscription-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:18px}.subscription-summary>div{background:#f7f8fc;border:1px solid #eef0f4;border-radius:8px;padding:11px}.subscription-summary span,.subscription-summary b{display:block}.subscription-summary span{font-size:9px;color:#8b96a8;margin-bottom:5px}.subscription-summary b{font-size:11px;color:#4c586f}.billing-section{border-top:1px solid #eef0f4;padding-top:18px;margin-top:18px}.billing-section h3{margin:5px 0 15px;font-size:14px}.section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.section-title-row h3{margin-bottom:0}.subscription-history{max-height:210px;overflow:auto}.privacy-copy{color:#657187;font-size:11px;line-height:1.65}.privacy-copy h3{font-size:12px;color:#46536b;margin:18px 0 5px}.privacy-copy p{margin:0 0 8px}.privacy-note{margin-top:18px;padding:12px;border-radius:8px;background:#fff7e8;color:#8b6a33;border:1px solid #f0ddb7;font-size:10px}.privacy-modal{width:min(100%,760px)}.modal{max-height:calc(100vh - 40px);overflow:auto}@media(max-width:700px){.subscription-summary{grid-template-columns:1fr 1fr}.section-title-row{flex-direction:column}.section-title-row .button{width:100%}}@keyframes efFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes efModalIn{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes efBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes efPulseSoft{0%,to{box-shadow:0 0 #5b5bd614}50%{box-shadow:0 0 0 8px #5b5bd600}}.page-content>*,.content>*,.dashboard-grid>*,.metric-grid>*{animation:efFadeUp .28s ease both}.backdrop{animation:efBackdropIn .18s ease both}.backdrop>.modal,.backdrop>form.modal{animation:efModalIn .22s cubic-bezier(.22,.8,.25,1) both}.button,.icon-button,.quick-action,.nav-item,.school-row,.student-row,.notification-row{transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,opacity .16s ease}.button:hover:not(:disabled),.quick-action:hover,.icon-button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled),.quick-action:active,.icon-button:active:not(:disabled){transform:translateY(0) scale(.985)}.brand-mark{animation:efPulseSoft 3.2s ease-in-out infinite}.branding-settings{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:2px 0 18px}.branding-upload-card,.school-logo-onboarding{border:1px solid var(--border, #e7e9f0);background:var(--surface-soft, #f8f9fc);border-radius:16px;padding:14px;display:flex;gap:14px;align-items:center}.school-logo-onboarding{margin-bottom:18px}.branding-upload-card>div:last-child,.school-logo-onboarding>div:last-child{min-width:0;display:grid;gap:5px}.branding-upload-card span,.school-logo-onboarding span{color:var(--muted, #707789);font-size:12px;line-height:1.45}.branding-preview{width:82px;height:82px;border:1px dashed #cbd0dc;background:#fff;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;color:#7b8190;overflow:hidden}.branding-preview img{width:100%;height:100%;object-fit:contain;padding:6px}.signature-preview{width:120px}.upload-button{width:max-content;display:inline-flex;align-items:center;gap:7px;padding:8px 10px;margin-top:4px;border-radius:10px;border:1px solid #d9dce6;background:#fff;font-size:12px;font-weight:700;cursor:pointer}.upload-button input{display:none}.receipt-logo,.report-logo{width:48px;height:48px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid #eceef3;padding:3px}.receipt-signature{margin:28px 0 0 auto;width:180px;text-align:center;display:grid;justify-items:center;gap:5px}.receipt-signature img{width:120px;height:46px;object-fit:contain}.receipt-signature span{width:100%;padding-top:6px;border-top:1px solid #cdd1da;font-size:11px;font-weight:700}@media(max-width:760px){.branding-settings{grid-template-columns:1fr}.school-logo-onboarding{align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0}.calendar-toolbar>div{display:flex;align-items:center;gap:12px}.calendar-toolbar b{min-width:160px;text-align:center}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.calendar-panel{padding:0;overflow:hidden}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{border-bottom:1px solid var(--border,#e8eaf0);background:#6366f10a}.calendar-weekdays span{padding:10px;text-align:center;font-size:12px;font-weight:700;color:var(--muted,#6b7280)}.calendar-cell{min-height:116px;border-right:1px solid var(--border,#e8eaf0);border-bottom:1px solid var(--border,#e8eaf0);padding:8px;background:#fff}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell>strong{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font-size:13px}.calendar-cell.today>strong{background:#4f46e5;color:#fff}.calendar-cell.muted-cell{background:#fafbfc}.calendar-events{display:grid;gap:4px;margin-top:5px}.calendar-chip{border:0;border-radius:7px;padding:5px 7px;text-align:left;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#eef2ff;color:#3730a3}.calendar-chip.holiday{background:#fff1f2;color:#be123c}.calendar-chip.exam{background:#fff7ed;color:#c2410c}.calendar-chip.meeting{background:#ecfdf5;color:#047857}.calendar-chip.reminder{background:#f5f3ff;color:#7c3aed}.calendar-side{align-self:start}.calendar-upcoming{display:grid;gap:9px}.calendar-list-item{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--border,#e8eaf0);border-radius:12px}.calendar-list-item>div{display:flex;gap:9px;align-items:flex-start}.calendar-list-item b,.calendar-list-item small{display:block}.calendar-list-item small{color:var(--muted,#6b7280);margin-top:3px}.event-dot{width:9px;height:9px;border-radius:50%;background:#6366f1;margin-top:5px;flex:none}.event-dot.holiday{background:#e11d48}.event-dot.exam{background:#f97316}.event-dot.meeting{background:#10b981}.event-dot.reminder{background:#8b5cf6}@media(max-width:1000px){.calendar-layout{grid-template-columns:1fr}.calendar-side{order:-1}.calendar-cell{min-height:96px}}@media(max-width:650px){.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-toolbar>div{justify-content:space-between}.calendar-weekdays span{font-size:10px;padding:8px 2px}.calendar-cell{min-height:72px;padding:4px}.calendar-cell>strong{width:24px;height:24px}.calendar-chip{font-size:9px;padding:3px 4px}.calendar-events small{font-size:9px}}.sidebar>.brand,.sidebar>.workspace,.sidebar>.sidebar-bottom{flex:0 0 auto}.sidebar>nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:4px;margin-right:-4px;scrollbar-gutter:stable}.sidebar>nav::-webkit-scrollbar{width:5px}.sidebar>nav::-webkit-scrollbar-track{background:transparent}.sidebar>nav::-webkit-scrollbar-thumb{background:#d8ddea;border-radius:999px}.sidebar>nav:hover::-webkit-scrollbar-thumb{background:#bcc5d6}.sidebar>nav{scrollbar-width:thin;scrollbar-color:#d8ddea transparent}.sidebar-bottom{margin-top:0;background:#fff;padding-top:6px;position:relative;z-index:2}@media(max-width:900px){.sidebar>nav{-webkit-overflow-scrolling:touch}}.bulk-import-modal{width:min(100%,980px)}.bulk-import-intro{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:14px;border:1px solid var(--border);background:#f8f9fc;border-radius:10px;margin-bottom:14px}.bulk-import-intro b{display:block;color:#46536b;font-size:12px}.bulk-import-intro p{margin:5px 0 0;max-width:520px;color:#7a8699;font-size:11px;line-height:1.55}.bulk-template-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.bulk-drop{width:100%;min-height:122px;border:1.5px dashed #cdd3e2;border-radius:11px;background:#fbfcff;color:#6c7890;display:grid;place-items:center;align-content:center;gap:7px;padding:18px;transition:border-color .16s ease,background .16s ease,transform .16s ease}.bulk-drop:hover{border-color:#7f8fe5;background:#f6f7ff;transform:translateY(-1px)}.bulk-drop svg{color:#6576d9}.bulk-drop b{font-size:12px;color:#4f5b73}.bulk-drop span{font-size:10px;color:#929cad}.bulk-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}.bulk-summary>div{padding:12px;border:1px solid #edf0f5;background:#fff;border-radius:9px}.bulk-summary b,.bulk-summary span{display:block}.bulk-summary b{font-size:19px;color:#46536b}.bulk-summary span{margin-top:3px;color:#8a95a8;font-size:9px}.bulk-options{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid var(--border);border-radius:9px;background:#fafbfe}.bulk-options b,.bulk-options span{display:block}.bulk-options b{font-size:11px;color:#4c586f}.bulk-options span{font-size:9px;color:#8d97a9;margin-top:3px}.bulk-options select{min-width:190px;padding:8px 9px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#536078}.bulk-detected{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:12px 0;color:#7c8799;font-size:9px}.bulk-detected b{color:#57647c}.bulk-detected span{background:#eef1ff;color:#596bd0;padding:5px 7px;border-radius:999px}.bulk-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.bulk-preview-grid>section{border:1px solid var(--border);border-radius:10px;padding:13px;min-width:0}.bulk-preview-grid h3{font-size:12px;margin:3px 0 8px}.bulk-preview-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid #f0f2f5}.bulk-preview-row:last-child{border-bottom:0}.bulk-preview-row b,.bulk-preview-row span{display:block}.bulk-preview-row b{font-size:10px;color:#4c586f}.bulk-preview-row div>span,.bulk-preview-row>span{font-size:9px;color:#8c96a7;margin-top:2px}.bulk-preview-row>span{text-align:right;color:#6776ca}.bulk-issues{margin-top:13px;padding:13px;border-radius:10px;border:1px solid #eceff4;background:#fafbfc}.bulk-issues>b{font-size:11px;color:#4c586f}.bulk-issue{display:flex;align-items:flex-start;gap:8px;margin-top:8px}.bulk-issue>span{flex:0 0 auto;padding:3px 6px;border-radius:5px;font-size:8px;font-weight:700}.bulk-issue p{margin:1px 0 0;font-size:9px;line-height:1.45;color:#707c91}.bulk-issue.warning>span{background:#fff3d9;color:#a36b16}.bulk-issue.error>span{background:#ffe8e5;color:#b95047}.bulk-complete{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:13px;border:1px solid #cfe9db;background:#f2fbf6;border-radius:10px;color:#3c8d69}.bulk-complete b,.bulk-complete span{display:block}.bulk-complete b{font-size:11px}.bulk-complete span{font-size:9px;margin-top:3px;color:#66917c}.bulk-complete .text-button{margin:7px 0 0;padding:0;color:#5368d9;text-align:left}@media(max-width:800px){.bulk-import-intro{flex-direction:column}.bulk-template-actions{justify-content:flex-start}.bulk-summary{grid-template-columns:1fr 1fr}.bulk-preview-grid{grid-template-columns:1fr}.bulk-options{align-items:stretch;flex-direction:column}.bulk-options select{width:100%}}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.admin-analytics{grid-template-columns:1.65fr 1fr}.analytics-filter{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px}.analytics-filter>div{display:grid;gap:7px;min-width:220px}.analytics-filter span,.analytics-filter small{font-size:10px;color:#8591a5}.analytics-filter select{border:1px solid var(--border);border-radius:7px;background:#fff;color:#445169;padding:9px 10px}.analytics-filter small{text-align:right;line-height:1.5}.simple-bar-chart{height:245px;display:flex;align-items:flex-end;gap:8px;padding:28px 0 0;border-bottom:1px solid #edf0f5}.simple-bar-column{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}.simple-bar-value{height:18px;color:#7b879b;font-size:8px;white-space:nowrap;transform:rotate(-18deg);transform-origin:center}.simple-bar-well{height:170px;width:min(28px,70%);background:#f1f3f8;border-radius:6px 6px 0 0;display:flex;align-items:flex-end;overflow:hidden}.simple-bar-well i{display:block;width:100%;background:linear-gradient(180deg,#7d8be3,#5b6fd4);border-radius:6px 6px 0 0;min-height:0;transition:height .45s ease}.simple-bar-column>span{color:#98a2b2;font-size:8px;white-space:nowrap}.analytics-empty{height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#a0a9b8;text-align:center;font-size:10px;line-height:1.5}.donut-layout{min-height:245px;display:flex;align-items:center;justify-content:center;gap:28px}.donut-chart{width:154px;height:154px;border-radius:50%;display:grid;place-items:center;position:relative}.donut-chart:after{content:"";position:absolute;width:96px;height:96px;border-radius:50%;background:#fff}.donut-chart>div{position:relative;z-index:1;text-align:center}.donut-chart strong,.donut-chart span{display:block}.donut-chart strong{font-size:18px;color:#43506a;max-width:88px;overflow:hidden;text-overflow:ellipsis}.donut-chart span{font-size:9px;color:#909bad;margin-top:3px}.donut-legend{display:grid;gap:10px;min-width:150px}.donut-legend>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;font-size:9px}.donut-legend span{color:#7f8a9e}.donut-legend b{color:#4b5870}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-dot.indigo{background:#6577dc}.legend-dot.green{background:#59b98b}.legend-dot.amber{background:#e2aa55}.legend-dot.rose{background:#db7b72}.grouped-legend{display:flex;justify-content:flex-end;gap:16px;margin-bottom:10px}.grouped-legend span{display:flex;align-items:center;gap:6px;font-size:9px;color:#7f8a9e}.grouped-chart{height:230px;display:flex;align-items:flex-end;gap:14px;border-bottom:1px solid #edf0f5;padding:10px 14px 0}.grouped-column{flex:1;min-width:70px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}.grouped-bars{height:185px;display:flex;align-items:flex-end;gap:5px}.grouped-bars i{width:18px;border-radius:5px 5px 0 0;transition:height .45s ease;min-height:2px}.grouped-bars i.primary{background:#6577dc}.grouped-bars i.secondary{background:#59b98b}.grouped-column>span{font-size:9px;color:#8c97aa}.analytics-note{margin:14px 0 0;color:#8b96a7;font-size:9px;line-height:1.5}@media(max-width:1000px){.analytics-grid,.admin-analytics{grid-template-columns:1fr}.donut-layout{min-height:210px}.simple-bar-chart{overflow-x:auto;justify-content:flex-start}.simple-bar-column{min-width:52px}.grouped-chart{overflow-x:auto;justify-content:flex-start}.grouped-column{flex:0 0 90px}}@media(max-width:700px){.analytics-filter{align-items:stretch;flex-direction:column}.analytics-filter>div{min-width:0}.analytics-filter small{text-align:left}.donut-layout{flex-direction:column;gap:18px;padding:12px 0}.donut-legend{width:100%}.simple-bar-value{display:none}}.login-landing{min-height:100vh;display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr);place-items:stretch!important;background:linear-gradient(135deg,#f6f7fb,#eef1ff 55%,#f8f9fc);overflow:auto;position:relative}.login-hero{position:relative;overflow:hidden;padding:70px clamp(34px,6vw,90px);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#f8f9ff,#eef1ff);border-right:1px solid #e2e6f2}.login-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(#5368d908 1px,transparent 1px),linear-gradient(90deg,#5368d908 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(to bottom,#0008,transparent 88%);mask-image:linear-gradient(to bottom,#0008,transparent 88%);pointer-events:none}.login-hero-glow{position:absolute;border-radius:50%;filter:blur(4px);opacity:.55;pointer-events:none;animation:loginFloat 8s ease-in-out infinite}.glow-one{width:330px;height:330px;background:#8b98ee33;right:-100px;top:-80px}.glow-two{width:240px;height:240px;background:#61c99b2b;left:-90px;bottom:-60px;animation-delay:-3s}.login-hero-copy,.login-service-grid{position:relative;z-index:1}.login-public-brand{padding:0;margin-bottom:38px;animation:loginRise .55s ease both}.login-public-brand .brand-mark{width:40px;height:40px}.login-public-brand strong{font-size:20px}.login-public-brand span{font-size:10px;letter-spacing:.02em}.login-kicker{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;padding:7px 10px;border:1px solid #dce1f7;border-radius:999px;background:#ffffffb8;color:#6272cc;font-size:10px;font-weight:700;animation:loginRise .55s .06s ease both}.login-hero-copy h1{max-width:720px;font-size:clamp(38px,4.5vw,66px);line-height:1.02;letter-spacing:-.055em;margin:22px 0 18px;color:#26334c;animation:loginRise .6s .12s ease both}.login-hero-copy>p{max-width:680px;color:#6f7b92;font-size:14px;line-height:1.8;margin:0;animation:loginRise .6s .18s ease both}.login-proof{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;animation:loginRise .6s .24s ease both}.login-proof span{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #e0e4f0;border-radius:8px;background:#fff9;color:#66728a;font-size:10px}.login-proof svg{color:#5368d9}.login-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:42px;max-width:760px}.login-service-card{background:#ffffffbd;border:1px solid #e3e6f2;border-radius:12px;padding:15px;box-shadow:0 12px 30px #26324b08;animation:loginRise .5s ease both;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.login-service-card:hover{transform:translateY(-3px);border-color:#cfd6f3;box-shadow:0 16px 35px #26324b12}.login-service-card>div{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#e9edff;color:#5368d9;margin-bottom:12px}.login-service-card b{font-size:11px;color:#445169}.login-service-card p{font-size:9px;color:#818ca0;line-height:1.55;margin:5px 0 0}.login-panel-wrap{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:42px clamp(24px,4vw,58px);position:relative;background:#f8f9fc}.login-panel-wrap .login-card{width:min(470px,100%);animation:loginCardIn .65s cubic-bezier(.2,.8,.2,1) both}.login-card h2{font-size:29px;letter-spacing:-.04em;margin:8px 0}.login-mini-brand{display:flex;align-items:center;gap:10px;margin-bottom:27px;padding-bottom:19px;border-bottom:1px solid #eef0f5}.login-mini-brand b,.login-mini-brand span{display:block}.login-mini-brand b{color:#3f4b64;font-size:14px}.login-mini-brand span{color:#8a95a8;font-size:9px;margin-top:3px}.login-support-note{margin:17px 0 0;padding:11px;border-radius:8px;background:#f6f7fc;color:#7d899d;font-size:9px;line-height:1.6}.login-support-note b{color:#5368d9}.login-support-note a{color:#5368d9;font-weight:700;text-decoration:none}.login-legal{font-size:9px;color:#9aa4b4;line-height:1.5}.login-legal button{border:0;background:none;color:#6474cc;padding:0;font-size:inherit}.login-bottom-note{display:flex;align-items:center;gap:7px;margin-top:14px;color:#929cad;font-size:9px}.login-bottom-note svg{color:#6072dc}.auth-feedback-backdrop,.subscription-lock-backdrop{z-index:110;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:fadeBackdrop .18s ease both}.auth-feedback-modal{width:min(410px,100%);text-align:center;animation:modalPop .25s cubic-bezier(.2,.8,.2,1) both}.auth-feedback-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin:0 auto 15px;background:#ffe9e6;color:#ca6259}.auth-feedback-modal h2{margin:7px 0 8px}.auth-feedback-modal>p:not(.eyebrow){color:#7d899c;font-size:11px;line-height:1.65;margin-bottom:20px}.subscription-lock-backdrop{background:#1f2a43a6}.subscription-lock-modal{width:min(510px,100%);text-align:center;border:1px solid #dfe3f3;animation:modalPop .28s cubic-bezier(.2,.8,.2,1) both}.subscription-lock-mark{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 16px;border-radius:15px;background:#e9edff;color:#5368d9;box-shadow:0 8px 22px #5368d929}.subscription-lock-modal h2{margin:8px 0 9px}.subscription-lock-copy{color:#778398;font-size:11px;line-height:1.65;margin:0 auto 13px;max-width:430px}.subscription-school-name{display:inline-block;padding:6px 10px;border-radius:999px;background:#f0f2fb;color:#5368d9;font-size:10px;font-weight:700}.subscription-lock-details{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.subscription-lock-details>div{padding:11px 9px;border:1px solid #eceef4;background:#fafbfe;border-radius:8px}.subscription-lock-details span,.subscription-lock-details b{display:block}.subscription-lock-details span{color:#929cad;font-size:8px}.subscription-lock-details b{color:#4d5970;font-size:9px;margin-top:4px;line-height:1.4}.subscription-contact{text-align:left;padding:12px 13px;background:#fff7e8;border:1px solid #f4dfb6;border-radius:9px}.subscription-contact b,.subscription-contact span{display:block}.subscription-contact b{font-size:10px;color:#8e672b}.subscription-contact span{font-size:9px;color:#92784f;margin-top:4px;line-height:1.55}.subscription-lock-actions{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:17px}.subscription-lock-actions a{text-decoration:none}.danger-text{color:#c45f56!important;margin:0!important;padding:9px 10px!important}@keyframes loginRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes loginCardIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}@keyframes loginFloat{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,18px,0)}}@keyframes modalPop{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}@keyframes fadeBackdrop{0%{opacity:0}to{opacity:1}}@media(max-width:1000px){.login-landing{grid-template-columns:1fr}.login-hero{padding:48px 28px;border-right:0;border-bottom:1px solid #e2e6f2}.login-hero-copy h1{font-size:42px}.login-panel-wrap{padding:38px 20px}.login-service-grid{max-width:none}}@media(max-width:620px){.login-hero{padding:35px 18px}.login-public-brand{margin-bottom:25px}.login-hero-copy h1{font-size:34px}.login-service-grid{grid-template-columns:1fr;margin-top:30px}.login-proof{gap:7px}.login-panel-wrap{padding:26px 16px}.login-panel-wrap .login-card{padding:23px}.subscription-lock-details{grid-template-columns:1fr}.subscription-lock-actions{flex-direction:column}.subscription-lock-actions>*{width:100%;justify-content:center}.login-bottom-note{text-align:center}}@media(prefers-reduced-motion:reduce){.login-hero-glow,.login-public-brand,.login-kicker,.login-hero-copy h1,.login-hero-copy>p,.login-proof,.login-service-card,.login-panel-wrap .login-card,.auth-feedback-modal,.subscription-lock-modal{animation:none!important;transition:none!important}}html{scroll-behavior:smooth}html,body,#root{width:100%;min-height:100%}body{overflow-x:hidden}.login-landing{height:100dvh;min-height:100dvh;overflow-x:hidden;overflow-y:auto!important;overscroll-behavior-y:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.login-hero,.login-panel-wrap{min-height:min-content}.backdrop{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-items:center;justify-items:center}.modal{max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin:auto;transform-origin:center center}.student-profile-backdrop{z-index:140}.student-profile-modal{position:relative}.content header,.sidebar,.panel,.metric,.module-hero,.quick-action,.button,.icon-button,.icon-small,.nav-item,.small-action,.history-row,.doc-row,.notification-row,tbody tr,.branding-upload-card,.report-card,.calendar-day{transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease,opacity .2s ease}.page{animation:eduPageIn .34s cubic-bezier(.2,.8,.2,1) both}.module>*,.page>.metrics,.page>.grid-two,.page>.panel{animation:eduSurfaceIn .38s cubic-bezier(.2,.8,.2,1) both}.module>*:nth-child(2),.page>.grid-two{animation-delay:35ms}.module>*:nth-child(3){animation-delay:.07s}.module>*:nth-child(4){animation-delay:.105s}.panel:hover,.metric:hover,.report-card:hover{border-color:#d8ddef;box-shadow:0 12px 30px #26324b0d}.metric:hover,.report-card:hover{transform:translateY(-2px)}.button:not(:disabled):hover{transform:translateY(-1px)}.button:not(:disabled):active{transform:translateY(0) scale(.985)}.button.primary:not(:disabled):hover{box-shadow:0 9px 20px #5368d932}.icon-button:hover,.icon-small:hover,.small-action:hover{transform:translateY(-1px)}.nav-item:hover{transform:translate(2px)}.quick-action:hover{transform:translateY(-2px);box-shadow:0 9px 20px #27334b0b}tbody tr:hover td,.history-row:hover,.doc-row:hover{background:#fafbff}.metric-icon,.quick-icon,.brand-mark{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}.metric:hover .metric-icon,.quick-action:hover .quick-icon{transform:scale(1.06) rotate(-2deg)}.brand:hover .brand-mark,.login-mini-brand:hover .brand-mark{transform:rotate(-4deg) scale(1.05)}.bar,.simple-bar-fill,.grouped-bars i{animation:eduBarGrow .55s cubic-bezier(.2,.8,.2,1) both;transform-origin:bottom}.donut-chart{animation:eduDonutIn .5s cubic-bezier(.2,.8,.2,1) both}.toast{animation:eduToastIn .25s cubic-bezier(.2,.8,.2,1) both}.backdrop{animation:eduBackdropIn .16s ease both}.backdrop>.modal{animation:eduModalIn .24s cubic-bezier(.2,.8,.2,1) both}input,select{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}input:focus,select:focus{border-color:#aeb9ef!important;box-shadow:0 0 0 3px #5368d912}@keyframes eduPageIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes eduSurfaceIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes eduBarGrow{0%{transform:scaleY(.08);opacity:.4}to{transform:scaleY(1);opacity:1}}@keyframes eduDonutIn{0%{opacity:.45;transform:scale(.94) rotate(-7deg)}to{opacity:1;transform:none}}@keyframes eduToastIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes eduBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes eduModalIn{0%{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:none}}@media(max-width:700px){.backdrop{padding:10px;align-items:center}.modal{max-height:calc(100dvh - 20px);width:100%}.login-landing{height:100dvh;min-height:100dvh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page,.module>*,.page>.metrics,.page>.grid-two,.page>.panel,.bar,.simple-bar-fill,.grouped-bars i,.donut-chart,.toast,.backdrop,.backdrop>.modal{animation:none!important}.content header,.sidebar,.panel,.metric,.module-hero,.quick-action,.button,.icon-button,.icon-small,.nav-item,.small-action,.history-row,.doc-row,.notification-row,tbody tr,.branding-upload-card,.report-card,.calendar-day,.metric-icon,.quick-icon,.brand-mark,input,select{transition:none!important}}.page,.module>*,.page>.metrics,.page>.grid-two,.page>.panel{animation-name:eduViewportSafeFade!important}@keyframes eduViewportSafeFade{0%{opacity:0}to{opacity:1}}.backdrop{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100dvh!important;min-height:100dvh!important;z-index:1000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:clamp(10px,2.5vw,24px)!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;isolation:isolate}.auth-feedback-backdrop,.subscription-lock-backdrop,.student-profile-backdrop{z-index:1200!important}.backdrop>.modal,.backdrop>form.modal,.backdrop>section.modal{position:relative!important;inset:auto!important;flex:0 1 auto;width:min(100%,760px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px)!important;margin:auto!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;transform-origin:center center}.backdrop>.modal.modal-wide,.backdrop>form.modal.modal-wide,.backdrop>section.modal.modal-wide{width:min(100%,980px)}.backdrop>.modal.modal-large,.backdrop>form.modal.modal-large,.backdrop>section.modal.modal-large{width:min(100%,860px)}.modal>.modal-head:first-child{position:sticky;top:-25px;z-index:8;background:#fff;margin-left:-25px;margin-right:-25px;padding:25px 25px 14px;border-bottom:1px solid transparent}.modal>.modal-footer:last-child{position:sticky;bottom:-25px;z-index:7;background:#fff;margin-left:-25px;margin-right:-25px;margin-bottom:-25px;padding:16px 25px 25px;border-top:1px solid var(--border)}.login-screen.login-landing{width:100%;height:auto!important;min-height:100dvh!important;max-height:none!important;overflow-x:hidden!important;overflow-y:visible!important;align-items:stretch}.login-hero,.login-panel-wrap{min-width:0;max-width:100%}.login-hero-copy,.login-service-grid,.login-panel-wrap .login-card{width:100%;min-width:0}.login-hero-copy h1,.login-hero-copy>p,.login-service-card p,.login-support-note,.login-legal,.login-bottom-note{overflow-wrap:anywhere}@media(max-width:1100px){.login-screen.login-landing{grid-template-columns:minmax(0,1fr)!important}.login-hero{min-height:auto!important;padding:46px clamp(22px,5vw,48px);border-right:0;border-bottom:1px solid #e2e6f2}.login-panel-wrap{min-height:auto!important;padding:36px clamp(18px,5vw,44px) 46px}.login-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.backdrop{align-items:center!important;padding:8px!important}.backdrop>.modal,.backdrop>form.modal,.backdrop>section.modal,.backdrop>.modal.modal-wide,.backdrop>.modal.modal-large{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 16px)!important;border-radius:11px;padding:18px}.modal>.modal-head:first-child{top:-18px;margin-left:-18px;margin-right:-18px;padding:18px 18px 12px}.modal>.modal-footer:last-child{bottom:-18px;margin-left:-18px;margin-right:-18px;margin-bottom:-18px;padding:14px 18px 18px}.login-hero{padding:30px 16px 32px!important}.login-public-brand{margin-bottom:22px}.login-kicker{white-space:normal;width:fit-content}.login-hero-copy h1{font-size:clamp(31px,10vw,40px)!important;line-height:1.06;margin:18px 0 14px}.login-hero-copy>p{font-size:13px;line-height:1.7}.login-proof{display:grid;grid-template-columns:1fr}.login-proof span{width:100%}.login-service-grid{grid-template-columns:1fr!important;margin-top:26px}.login-panel-wrap{padding:24px 12px 34px!important}.login-panel-wrap .login-card{width:100%!important;max-width:520px;padding:20px!important}.login-card h2{font-size:clamp(24px,7.5vw,29px)}.login-form input,.login-form select,.login-form button{min-height:44px}.login-bottom-note{justify-content:center;text-align:center;padding:0 8px}}@media(max-width:380px){.login-hero{padding-left:12px!important;padding-right:12px!important}.login-panel-wrap{padding-left:8px!important;padding-right:8px!important}.login-panel-wrap .login-card{padding:17px!important}.modal{border-radius:9px}}.login-simple{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);width:100%;height:auto!important;min-height:100dvh!important;overflow:visible!important;background:#f6f7fb}.login-simple-copy{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(38px,6vw,88px);background:radial-gradient(circle at 18% 18%,#e8edff 0,transparent 34%),linear-gradient(145deg,#fbfcff,#f1f4fb);border-right:1px solid #e2e6f2}.login-simple-copy h1{max-width:680px;margin:24px 0 16px;font-size:clamp(38px,4.8vw,68px);line-height:1.02;letter-spacing:-.055em;color:#26334c;animation:loginRise .55s ease both}.login-simple-copy>p:not(.login-simple-foot){max-width:650px;margin:0;color:#6f7b92;font-size:14px;line-height:1.8}.login-simple-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:650px;margin-top:28px}.login-simple-points span{display:flex;align-items:center;gap:9px;padding:12px 13px;border:1px solid #e0e5f1;border-radius:10px;background:#ffffffc7;color:#526078;box-shadow:0 10px 24px #26324b08;transition:transform .2s ease,box-shadow .2s ease}.login-simple-points span:hover{transform:translateY(-2px);box-shadow:0 14px 28px #26324b10}.login-simple-points svg{color:#5368d9;flex:0 0 auto}.login-simple-points b{font-size:10px}.login-simple-foot{display:flex;align-items:center;gap:7px;max-width:650px;margin:22px 0 0!important;color:#8994a7!important;font-size:10px!important;line-height:1.5!important}.login-simple-foot svg{color:#5368d9;flex:0 0 auto}.login-simple-panel{min-height:100dvh;align-self:stretch;position:sticky;top:0;display:flex;justify-content:center;align-items:center;padding:28px clamp(18px,4vw,54px);overflow:visible}.login-simple-panel .login-card{width:min(460px,100%);max-height:none;overflow:visible}@media(max-width:900px){.login-simple{display:flex!important;flex-direction:column;min-height:100dvh!important}.login-simple-panel{order:1;position:relative;top:auto;min-height:auto;padding:22px 16px 16px;background:#f8f9fc}.login-simple-copy{order:2;min-height:auto;padding:34px 22px 48px;border-right:0;border-top:1px solid #e2e6f2}.login-simple-copy h1{font-size:clamp(32px,7vw,48px)}.login-simple-panel .login-card{max-width:560px}}@media(max-width:520px){.login-simple-panel{padding:12px 10px 10px;align-items:flex-start}.login-simple-panel .login-card{padding:19px!important;border-radius:12px}.login-simple-copy{padding:28px 16px 38px}.login-simple-copy h1{font-size:34px;margin:18px 0 12px}.login-simple-copy>p:not(.login-simple-foot){font-size:12px;line-height:1.7}.login-simple-points{grid-template-columns:1fr;margin-top:20px}.login-mini-brand{margin-bottom:18px}.login-card h2{font-size:25px}.login-card .sub{margin-bottom:17px}.login-form input,.login-form button{font-size:16px;min-height:46px}}.api-blocking-guard{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9997;background:#0f172a09;cursor:progress}.api-activity-region{position:fixed;z-index:9999;top:max(14px,env(safe-area-inset-top));left:50%;width:min(430px,calc(100vw - 28px));transform:translate(-50%,-16px);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.api-activity-region.visible{opacity:1;transform:translate(-50%)}.api-activity-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 14px;border:1px solid rgba(148,163,184,.28);border-radius:14px;background:#fffffff5;box-shadow:0 16px 42px #0f172a2e;color:#0f172a;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.api-activity-card.loading{border-color:#6366f147}.api-activity-card.success{border-color:#10b98147}.api-activity-card.error{border-color:#ef44444d}.api-activity-card.success>svg{color:#059669}.api-activity-card.error>svg{color:#dc2626}.api-activity-card div{min-width:0;display:grid;gap:2px}.api-activity-card b{font-size:13px;line-height:1.25}.api-activity-card span{color:#64748b;font-size:11.5px;line-height:1.35}.api-activity-card em{min-width:28px;padding:4px 7px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:11px;font-style:normal;font-weight:800;text-align:center}.api-spinner{color:#6366f1;animation:api-spin .75s linear infinite}@keyframes api-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.api-activity-region{top:max(10px,env(safe-area-inset-top));width:calc(100vw - 20px)}.api-activity-card{padding:11px 12px;border-radius:12px}}@media(prefers-reduced-motion:reduce){.api-activity-region{transition:none}.api-spinner{animation-duration:1.5s}}.api-activity-layer{position:fixed;z-index:9999;top:max(14px,env(safe-area-inset-top));left:50%;width:min(430px,calc(100vw - 28px));transform:translate(-50%);display:grid;gap:8px;pointer-events:none}.api-activity-icon{display:grid;place-items:center;color:#6366f1}.api-activity-content{min-width:0;display:grid;gap:2px}.api-activity-card.loading.write-loading{box-shadow:0 18px 48px #0f172a33}@media(max-width:640px){.api-activity-layer{top:max(10px,env(safe-area-inset-top));width:calc(100vw - 20px)}}.online-required-backdrop{z-index:13000!important;background:#182030ad!important}.online-required-modal{width:min(100%,470px)!important;text-align:center}.connection-status-card{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--border);border-radius:10px;background:#f8f9fc}.connection-status-card b{display:block;color:#3f4b64;margin-bottom:5px}.connection-status-card p{margin:0;color:#7b879a;font-size:11px;line-height:1.6}.connection-status-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;flex:0 0 auto}.connection-status-icon.connected{background:#e4f7ef;color:#42a47c}.connection-status-icon.disconnected{background:#ffe6e3;color:#de7a71}.connection-safety-note{display:flex;align-items:center;gap:10px;text-align:left;margin:18px 0;padding:12px;border-radius:8px;background:#f6f7fb;color:#65728a;font-size:11px;line-height:1.5}.service-unavailable-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f6f7fb}.service-unavailable-card{width:min(100%,520px);background:#fff;border:1px solid var(--border);border-radius:14px;padding:30px;box-shadow:0 24px 70px #27334b14;text-align:center}.service-unavailable-card .brand-mark{margin:0 auto 18px}.service-unavailable-card h1{margin:8px 0 10px;font-size:26px;letter-spacing:-.035em}.service-unavailable-card>p:not(.eyebrow){color:#778399;line-height:1.6}.service-unavailable-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}.panel-subcopy{margin:5px 0 0;color:#8894a7;font-size:10px;line-height:1.5}.academic-filter-panel .panel-head{align-items:flex-start}.academic-filter-panel .table-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.academic-filter-panel .table-tools .button{border:1px solid var(--border);background:#fff}.academic-filter-panel .table-tools .button.primary{background:var(--primary);border-color:var(--primary)}.academic-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:11px;align-items:end}.academic-filter-grid label{display:grid;gap:6px;color:#6f7a90;font-size:10px}.academic-filter-grid select,.academic-filter-grid input{width:100%;border:1px solid var(--border);border-radius:7px;padding:9px 10px;background:#fff;color:#43506a;outline:0}.academic-search{grid-column:span 2}.academic-export{height:36px;align-self:end}.leaderboard-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.podium-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:14px 16px}.podium-card div{min-width:0}.podium-card b,.podium-card small{display:block}.podium-card b{font-size:12px;color:#40506a}.podium-card small{margin-top:3px;color:#8b96a8;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.podium-card strong{font-size:17px;color:#5368d9}.rank-medal,.rank-badge{display:inline-flex;align-items:center;justify-content:center;font-weight:800;border-radius:999px}.rank-medal{width:34px;height:34px;background:#eef1ff;color:#5368d9;font-size:11px}.rank-medal.rank-1,.rank-badge.top-1{background:#fff2ce;color:#a8731e}.rank-medal.rank-2,.rank-badge.top-2{background:#eef1f5;color:#697487}.rank-medal.rank-3,.rank-badge.top-3{background:#f8e8df;color:#a96b48}.rank-badge{min-width:34px;padding:5px 8px;background:#f1f3f8;color:#68758c;font-size:9px}.table-lock{display:inline-flex;padding:5px 7px;border-radius:999px;background:#f3f4f7;color:#8b94a3;font-size:9px}.locked-notice{background:#f5f6f9;color:#737e90}.report-selectors-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.report-selectors-three label{min-width:0}.modal-xl{width:min(100%,1160px)!important}.bulk-marks-copy{margin:14px 0}.bulk-marks-scroll{max-height:55vh;border:1px solid var(--border);border-radius:9px}.bulk-marks-table{min-width:900px}.bulk-marks-table th{position:sticky;top:0;background:#fff;z-index:2;padding-top:11px}.bulk-marks-table th small{display:block;margin-top:3px;color:#a5adba;font-size:8px}.bulk-score-inputs{display:grid;grid-template-columns:68px auto 68px;align-items:center;gap:5px}.bulk-score-inputs input{width:68px;padding:7px 6px;border:1px solid var(--border);border-radius:6px;color:#46536a;background:#fff}.bulk-score-inputs input:disabled{background:#f4f5f8;color:#929bad}.bulk-score-inputs span{color:#9ba4b3;text-align:center}.modern-receipt,.modern-report{border:1px solid #e0e5ef;box-shadow:0 12px 30px #27334b0d}.modern-receipt{border-top:4px solid #5368d9}.receipt-number,.report-chip{margin-left:auto;display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef1ff;color:#5368d9;font-size:9px;font-weight:800;letter-spacing:.03em}.receipt-finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}.receipt-finance-summary>div,.report-ranks>div{border:1px solid #e6e9f0;background:#fafbfc;border-radius:8px;padding:11px}.receipt-finance-summary span,.receipt-finance-summary b,.report-ranks span,.report-ranks b,.report-ranks small{display:block}.receipt-finance-summary span,.report-ranks span{font-size:9px;color:#8894a7;text-transform:uppercase;letter-spacing:.04em}.receipt-finance-summary b{margin-top:5px;color:#48556c;font-size:13px}.modern-receipt .receipt-total{background:#ecf8f2;border:1px solid #cde7d9}.modern-receipt .receipt-total strong{color:#2d8b64}.modern-report{border-top:4px solid #5368d9}.modern-report .report-head{align-items:center}.modern-report .report-student{display:grid;grid-template-columns:2fr 1fr 1fr;gap:9px;padding:14px 0}.modern-report .report-student>div{border:1px solid #e6e9f0;background:#fafbfc;border-radius:8px;padding:10px}.modern-report .report-student span,.modern-report .report-student b{display:block}.modern-report .report-student span{font-size:9px;text-transform:uppercase;color:#8994a7}.modern-report .report-student b{margin-top:4px;color:#43506a;font-size:12px}.report-ranks{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:10px}.report-ranks b{font-size:18px;color:#5368d9;margin-top:4px}.report-ranks small{color:#9aa3b1;font-size:8px;margin-top:2px}@media(max-width:1000px){.academic-filter-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.academic-search{grid-column:span 2}.leaderboard-podium{grid-template-columns:1fr}.modal-xl{width:min(100%,calc(100vw - 20px))!important}.report-selectors-three,.receipt-finance-summary{grid-template-columns:1fr 1fr}}@media(max-width:700px){.academic-filter-grid{grid-template-columns:1fr 1fr}.academic-search{grid-column:1/-1}.academic-export{width:100%;grid-column:1/-1}.academic-filter-panel .panel-head{gap:12px;flex-direction:column}.academic-filter-panel .table-tools{width:100%;justify-content:flex-start}.academic-filter-panel .table-tools .button{flex:1}.report-selectors-three,.receipt-finance-summary,.report-ranks,.modern-report .report-student{grid-template-columns:1fr}.modal-xl{width:100%!important}.bulk-marks-scroll{max-height:50vh}}.renewal-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:14px 16px;border:1px solid #dfe4ef;border-radius:12px;background:#f8faff;box-shadow:0 8px 24px #27334b08}.renewal-banner>div{display:flex;align-items:flex-start;gap:10px;min-width:0;color:#5368d9}.renewal-banner span{display:grid;gap:3px}.renewal-banner b{color:#3f4b64;font-size:12px}.renewal-banner small{color:#7b879a;font-size:10px;line-height:1.5}.renewal-banner.milestone{background:#fff8ea;border-color:#efd7a4}.renewal-banner.milestone>div{color:#b47a1f}.renewal-banner .button{flex:0 0 auto}.toggle-line{display:flex!important;align-items:center;gap:9px;min-height:38px;padding:9px 10px;border:1px solid var(--border);border-radius:7px;background:#fafbfc;color:#4f5b72!important;font-size:10px!important}.toggle-line input{width:15px!important;height:15px!important;margin:0;accent-color:#5368d9}.toggle-line+input{margin-top:8px}.recovery-steps{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:2px 0 16px}.recovery-steps span{padding:8px 10px;border-radius:8px;background:#f2f4f8;color:#8a94a6;font-size:9px;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.05em}.recovery-steps span.active{background:#eef1ff;color:#5368d9}.recovery-steps span.done{background:#e8f7ef;color:#2d8b64}.system-health-panel{margin-top:18px}.health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.health-grid>div{display:grid;gap:7px;padding:12px;border:1px solid var(--border);border-radius:9px;background:#fafbfc}.health-grid>div>span{font-size:9px;color:#8792a5;text-transform:uppercase;letter-spacing:.04em}.monitoring-events{display:grid;gap:8px;margin-top:16px}.monitoring-events>b{font-size:11px;color:#4a566d}@media(max-width:820px){.health-grid{grid-template-columns:1fr 1fr}.renewal-banner{align-items:flex-start}.renewal-banner .button{white-space:nowrap}}@media(max-width:560px){.health-grid{grid-template-columns:1fr}.renewal-banner{flex-direction:column}.renewal-banner .button{width:100%}}.sales-crm-module .module-stats{grid-template-columns:repeat(4,1fr)}.sales-crm-module .panel-head{align-items:flex-start;gap:14px}.sales-crm-module .panel-sub{margin:5px 0 0;color:#8b96a8;font-size:10px}.sales-crm-module .table-tools{flex-wrap:wrap;justify-content:flex-end}.sales-crm-module .table-tools select,.sales-stage-select{border:1px solid var(--border);border-radius:7px;background:#fff;color:#4e5b72;padding:8px 9px;font-size:10px;outline:0}.sales-table{min-width:980px}.sales-table td{vertical-align:middle;white-space:normal;min-width:95px}.sales-table td:first-child{min-width:230px}.sales-table td:nth-child(5){min-width:190px;max-width:260px;line-height:1.45}.sales-linked{display:inline-flex!important;width:max-content;margin-top:6px!important;padding:4px 7px;border-radius:999px;background:#e8f7ef;color:#2f8b66!important;font-weight:800}.sales-lost-reason{color:#c35d56;font-size:10px}.sales-stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.sales-stage-grid>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border);background:#fafbfc;border-radius:8px;padding:10px 11px}.sales-stage-grid span{color:#7e899c;font-size:9px;font-weight:700;line-height:1.25}.sales-stage-grid b{color:#5368d9;font-size:15px}.billing-history-item{position:relative;padding-right:102px!important}.receipt-download-button{position:absolute;right:0;top:50%;transform:translateY(-50%);padding:7px 9px;font-size:9px}.modal label textarea{width:100%;margin-top:7px;padding:10px 11px;border:1px solid var(--border);border-radius:7px;outline:0;color:#43506a;background:#fff;resize:vertical;min-height:96px}.icon-small.danger{color:#c76e68}@media(max-width:900px){.sales-crm-module .module-stats,.sales-stage-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.sales-crm-module .module-stats,.sales-stage-grid{grid-template-columns:1fr}.billing-history-item{padding-right:0!important}.receipt-download-button{position:static;transform:none;margin-top:8px;width:max-content}}.founder-branding-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:stretch}.founder-branding-grid>label{display:grid;align-content:center;color:#69758b;font-size:11px;border:1px solid var(--border);border-radius:9px;padding:15px;background:#fafbfc}.founder-branding-grid>label input{width:100%;margin-top:8px;padding:10px 11px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#43506a}.founder-branding-panel .branding-upload-card{margin:0}@media(max-width:760px){.founder-branding-grid{grid-template-columns:1fr}}.admin-analytics-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}.admin-analytics-tools input{min-width:260px;flex:1}.admin-analytics-tools select{min-width:150px}.school-analytics-link{display:flex;flex-direction:column;gap:3px;text-align:left;border:0;background:transparent;padding:0;color:inherit;cursor:pointer}.school-analytics-link small{color:var(--muted,#6b7280)}.analytics-selected-row td{background:#6366f10b}.compact-button{padding:7px 10px!important;white-space:nowrap}.administrator-school-performance{margin-top:18px}.analytics-month-picker{display:flex;align-items:flex-end;gap:8px;flex-direction:column;font-size:12px;color:var(--muted,#6b7280)}.analytics-month-picker select{min-width:170px}.admin-performance-metrics{grid-template-columns:repeat(5,minmax(0,1fr));margin:16px 0}.monthly-snapshot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.monthly-snapshot>div{padding:14px 16px;border:1px solid var(--border,#e5e7eb);border-radius:14px;background:var(--panel-soft,#fafafa);display:flex;flex-direction:column;gap:5px}.monthly-snapshot span{font-size:12px;color:var(--muted,#6b7280)}.monthly-snapshot b{font-size:19px}.administrator-school-performance>.analytics-grid>section{min-width:0}.school-analytics-filter{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.school-analytics-filter>div{display:flex;flex-direction:column;gap:6px}.school-analytics-filter>small{margin-left:auto}.school-monthly-snapshot{margin-bottom:18px}@media(max-width:1000px){.admin-performance-metrics,.monthly-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.admin-analytics-tools{align-items:stretch;flex-direction:column}.admin-analytics-tools input,.admin-analytics-tools select{min-width:0;width:100%}.monthly-snapshot,.admin-performance-metrics{grid-template-columns:1fr}.analytics-month-picker{align-items:stretch;width:100%}.analytics-month-picker select{width:100%;min-width:0}.school-analytics-filter>small{margin-left:0;width:100%}}
