:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17233c;background:#f4f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#d9efff 0,transparent 35%),linear-gradient(145deg,#f7fbff,#edf4fb)}.login-card{width:min(460px,100%);padding:38px;background:#fff;border:1px solid #dce7f1;border-radius:18px;box-shadow:0 22px 70px #17365a1f;text-align:center}.login-card .brand-mark{margin:0 auto 22px}.login-card h1{margin-bottom:14px}.login-card>p:not(.eyebrow){color:#63758a;line-height:1.55}.login-card button{margin:12px 0 18px;border:0;border-radius:10px;padding:12px 18px;color:#fff;background:#0877c9;font-weight:750;cursor:pointer;box-shadow:0 8px 22px #0877c933}.login-card small{display:block;color:#7f8da0;line-height:1.45}.login-card button.secondary-login{margin-top:-7px;color:#0869ad;background:#fff;border:1px solid #9ac9e9;box-shadow:none}.settings-card input:disabled{color:#5f6f82;background:#eef3f7;cursor:not-allowed}.admin-login{background:radial-gradient(circle at 15% 10%,#cfe8ff 0,transparent 35%),linear-gradient(145deg,#eaf3fb,#dfeaf5)}.client-login{width:min(500px,100%)}.email-discovery{display:grid;gap:7px;margin:22px 0 4px;text-align:left}.email-discovery span{font-size:12px;font-weight:750}.email-discovery input{width:100%;border:1px solid #bdccdc;border-radius:9px;padding:12px 13px;color:#213650;background:#fbfdff}.login-error{padding:10px 12px;border-radius:8px;background:#fff1ef;border:1px solid #efc4bf;color:#9b3d34;font-size:12px;line-height:1.4}.admin-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr;background:#f3f7fb}.admin-sidebar{background:linear-gradient(180deg,#071f3d,#0b3b6a);color:#fff;padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.admin-sidebar .operator-card{margin-top:auto}.admin-main{max-width:1500px}.portal-link{border:1px solid #9db8d0;background:#fff;color:#155d92;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer}.admin-schools{background:#fff;border:1px solid #dce6ef;border-radius:14px;padding:24px;box-shadow:0 8px 30px #17365a0a}.admin-school-list{display:grid;gap:15px;margin-top:22px}.admin-school-card{border:1px solid #dbe5ee;border-radius:12px;padding:18px;background:#fbfdff}.admin-school-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.admin-school-title span:not(.subscription-badge){color:#748398;font-size:10px;text-transform:uppercase}.admin-school-title h3{margin:5px 0}.admin-school-title small{color:#738297}.subscription-badge{border-radius:18px;padding:6px 10px;font-size:10px;font-weight:800;text-transform:uppercase;background:#e8eef4;color:#5d6c80}.subscription-badge.active{background:#e1f5eb;color:#15704d}.subscription-badge.trial{background:#fff0d5;color:#8b5a08}.subscription-badge.suspended,.subscription-badge.cancelled{background:#fde8e5;color:#a23e34}.admin-school-metrics{display:flex;gap:24px;margin:16px 0;padding:12px 0;border-top:1px solid #e5ebf1;border-bottom:1px solid #e5ebf1;color:#68798c;font-size:12px}.admin-school-metrics strong{color:#21364f}.subscription-form{display:grid;grid-template-columns:150px minmax(160px,1fr) 180px 150px 90px;align-items:end;gap:12px}.subscription-form label{display:grid;gap:5px}.subscription-form label>span{font-size:10px;text-transform:uppercase;color:#728196;font-weight:700}.subscription-form input:not([type=checkbox]),.subscription-form select{border:1px solid #c8d5e1;border-radius:8px;padding:9px 10px;background:#fff;color:#233750}.subscription-form .access-toggle{display:flex;align-items:center;min-height:38px;gap:8px}.subscription-form .access-toggle span{text-transform:none;font-size:12px;color:#31465e}.subscription-form button{border:0;border-radius:8px;padding:10px;color:#fff;background:#0877c9;font-weight:700;cursor:pointer}.admin-school-select{display:grid;gap:5px;min-width:280px}.admin-school-select span{font-size:10px;font-weight:800;text-transform:uppercase;color:#728196}.admin-school-select select,.operator-create input,.operator-create select,.operator-list select{border:1px solid #c8d5e1;border-radius:8px;padding:10px 11px;background:#fff;color:#233750}.operator-create{display:grid;grid-template-columns:minmax(240px,1fr) 200px 280px;gap:12px;padding:16px;margin:20px 0;background:#f2f7fb;border:1px solid #dbe7f1;border-radius:11px}.operator-create button,.operator-list button,.inventory-actions button{border:0;border-radius:8px;padding:10px 14px;color:#fff;background:#0877c9;font-weight:750;cursor:pointer}.operator-list{display:grid;gap:10px}.operator-list article{display:grid;grid-template-columns:minmax(260px,1fr) 190px 100px 85px;gap:12px;align-items:center;padding:14px;border:1px solid #dfe7ee;border-radius:10px}.operator-list article>div{display:grid;gap:4px}.operator-list small{color:#748397;overflow-wrap:anywhere}.operator-list .access-toggle{display:flex;gap:7px;align-items:center;font-size:12px}.inventory-actions{display:flex;align-items:end;gap:10px}.inventory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.inventory-grid article{padding:17px;border:1px solid #dce6ef;border-radius:11px;background:#f9fbfd;display:grid;gap:5px}.inventory-grid span{font-size:10px;color:#728197;text-transform:uppercase}.inventory-grid strong{font-size:26px;color:#102c4e}.inventory-grid small{color:#748397}.inventory-block{margin-top:18px;border:1px solid #dce6ef;border-radius:11px;padding:18px}.inventory-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:14px}.inventory-title p{color:#718196;font-size:12px;margin-top:4px}.inventory-title>small{color:#7b899b}.license-table{display:grid}.table-head,.table-row{display:grid;grid-template-columns:minmax(260px,1fr) 150px 110px 110px 90px;gap:12px;align-items:center;padding:11px 8px;border-bottom:1px solid #e3eaf0}.table-head{color:#718096;font-size:10px;text-transform:uppercase;font-weight:800;background:#f4f7fa}.table-row{font-size:12px}.permission-notice{margin-top:12px;padding:14px;border:1px solid #efd39d;border-radius:9px;background:#fff8ea;color:#77531a}.permission-notice p{margin-top:5px;font-size:12px;line-height:1.5}.permission-notice code{padding:2px 5px;background:#fff;border-radius:4px}.permission-notice button{margin-top:10px;border:0;border-radius:8px;padding:9px 12px;color:#fff;background:#9a6916;font-weight:750;cursor:pointer}.role-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.role-list span{display:flex;gap:6px;padding:8px 10px;border-radius:8px;background:#eef5fb;color:#33536e;font-size:12px}.license-name{display:flex;flex-direction:column;gap:3px}.license-name small{color:#718096;font-size:10px;font-weight:600;letter-spacing:.02em}.school-inventory{margin-top:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px 1fr}.sidebar{background:linear-gradient(180deg,#092c5c,#074785);color:#fff;padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px;border-bottom:1px solid #ffffff26}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#29a7ff;font-weight:800;font-size:20px;box-shadow:0 8px 20px #001a3559}.brand div{display:flex;flex-direction:column;line-height:1.15}.brand strong{font-size:17px}.brand small{color:#b8d9f5;margin-top:3px}nav{display:grid;gap:7px;margin-top:28px}nav button{border:0;text-align:left;background:transparent;padding:11px 13px;border-radius:9px;color:#cfe5f8;font-size:14px;cursor:pointer}nav button.active{color:#fff;background:#ffffff1c;font-weight:700}nav button:disabled{color:#8eb2d1;opacity:.58;cursor:not-allowed}.operator-card{margin-top:auto;margin-bottom:12px;padding:13px;border:1px solid #8ac9ff38;border-radius:10px;display:flex;flex-direction:column;gap:4px}.operator-card span{color:#7dcbff;text-transform:uppercase;font-size:9px;letter-spacing:.08em}.operator-card strong{font-size:12px}.operator-card small{color:#b8d4e9;overflow-wrap:anywhere}.operator-card button{margin-top:7px;border:1px solid #8ac9ff66;border-radius:7px;padding:7px;color:#fff;background:#ffffff12;cursor:pointer}.pilot-card{margin-top:auto;padding:15px;border:1px solid #8ac9ff4d;background:#001f4273;border-radius:12px;display:flex;flex-direction:column;gap:5px}.pilot-card span{text-transform:uppercase;font-size:10px;letter-spacing:.1em;color:#7dcbff}.pilot-card strong{font-size:13px}.pilot-card small{color:#bad7ed;line-height:1.35}main{padding:34px 42px 60px;max-width:1450px;width:100%}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}h1,h2,h3,p{margin-top:0}h1{font-size:27px;margin-bottom:0;letter-spacing:-.025em}h2{margin-bottom:8px;font-size:22px}h3{font-size:16px}.eyebrow{margin-bottom:6px;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:800;color:#1780cd}.school-chip{background:#fff;border:1px solid #dce5ef;padding:10px 15px;border-radius:10px;display:flex;flex-direction:column;min-width:210px;box-shadow:0 5px 18px #17365a0a}.school-chip span{font-size:10px;color:#718096;text-transform:uppercase}.school-chip strong{font-size:13px;margin-top:3px}.alert{background:#fff4df;color:#77500d;border:1px solid #f0d397;border-radius:10px;padding:12px 15px;margin-bottom:18px}.hidden{display:none}.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.status-grid article{background:#fff;border:1px solid #e0e7ef;border-radius:12px;padding:16px;display:flex;min-height:108px;flex-direction:column;box-shadow:0 6px 22px #17365a08}.status-grid span{font-size:11px;color:#718096;text-transform:uppercase;letter-spacing:.04em}.status-grid strong{margin-top:10px;font-size:20px}.status-grid small{color:#8a97a7;margin-top:auto}.status-grid .muted{color:#65758b;font-size:16px}.status-grid .safe{color:#17855c;font-size:16px}.workspace,.preview-section{background:#fff;border:1px solid #dee7f0;border-radius:14px;padding:24px;box-shadow:0 8px 30px #17365a0a}.preview-section{margin-top:22px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.section-heading p:not(.eyebrow){color:#69798d;margin-bottom:0;max-width:720px;font-size:14px;line-height:1.5}.upload-button,.actions button{border:none;border-radius:9px;padding:11px 16px;background:#0877c9;color:#fff;font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 5px 14px #0877c933}.upload-button input{display:none}.upload-button:has(input:disabled),button:disabled{opacity:.55;cursor:not-allowed}.empty-state{min-height:230px;display:grid;place-items:center;align-content:center;margin-top:22px;border:1px dashed #c5d4e4;background:#f8fbfe;border-radius:12px;text-align:center}.empty-state h3{margin:12px 0 5px}.empty-state p{color:#77869a;font-size:13px}.file-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#dff2ff;color:#0877c9;font-weight:900;font-size:20px}.file-summary{display:grid;grid-template-columns:2fr 1fr 1fr;margin-top:24px;border:1px solid #e1e8ef;border-radius:10px;overflow:hidden}.file-summary div{padding:14px 16px;display:flex;flex-direction:column;border-right:1px solid #e1e8ef}.file-summary div:last-child{border:0}.file-summary span{color:#7a8797;font-size:11px}.file-summary strong{margin-top:4px;font-size:14px}.mapping-panel{margin-top:22px}.mapping-panel>p{color:#728196;font-size:13px}.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 20px}.mapping-grid label,.excluded-field{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1.25fr);align-items:center;gap:14px}.mapping-grid label>span,.excluded-field>span{font-weight:700;font-size:12px;display:flex;flex-direction:column}.mapping-grid small,.excluded-field small{font-size:10px;font-weight:400;color:#8b98a8;margin-top:2px}.mapping-grid select,.excluded-field input{min-width:0;border:1px solid #ccd8e4;border-radius:8px;padding:9px 10px;background:#fff;color:#24364e}.excluded-field{margin-top:16px;max-width:calc(50% - 10px)}.actions{display:flex;justify-content:flex-end;padding-top:20px;border-top:1px solid #e8edf2;margin-top:22px}.readonly-badge{padding:7px 10px;border-radius:20px;background:#e5f6ef;color:#16704f;font-size:11px;font-weight:800}.preview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.preview-stats div{background:#f5f8fb;border-radius:10px;padding:14px;display:flex;flex-direction:column}.preview-stats strong{font-size:23px}.preview-stats span{font-size:11px;color:#748397;margin-top:3px}.groups{border-top:1px solid #e7edf3;padding-top:20px}.group-row{display:grid;grid-template-columns:150px 1fr 45px;align-items:center;gap:12px;padding:6px 0;font-size:12px}.group-row>div{height:7px;border-radius:8px;background:#edf2f7;overflow:hidden}.group-row i{display:block;height:100%;background:linear-gradient(90deg,#1487d4,#4fb7ef);border-radius:inherit}.group-row strong{text-align:right}.issues{margin-top:18px;padding:16px;background:#fff8ec;border:1px solid #f1ddb8;border-radius:10px}.issues p{display:flex;gap:10px;font-size:12px;margin-bottom:7px}.issues p:last-child{margin:0}.settings-page{background:#fff;border:1px solid #dee7f0;border-radius:14px;padding:24px;box-shadow:0 8px 30px #17365a0a}.onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.settings-card{border:1px solid #dfe7ef;border-radius:12px;padding:20px;background:#fbfcfe}.settings-card h3{margin-bottom:17px}.settings-card>label{display:grid;gap:6px;margin-bottom:13px}.settings-card label>span{font-size:12px;font-weight:700}.settings-card input:not([type=checkbox]){width:100%;border:1px solid #cbd7e3;border-radius:8px;padding:10px 11px;background:#fff;color:#24364e}.connection-card{background:linear-gradient(145deg,#f5fbff,#f8fbfe)}.connection-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.connection-title h3{margin-bottom:5px}.connection-title p{color:#748397;font-size:12px;line-height:1.45}.connection-state{flex:none;background:#eef1f5;color:#67758a;border-radius:20px;padding:6px 9px;font-size:10px;font-weight:800}.setup-steps{list-style:none;padding:0;margin:18px 0;counter-reset:steps}.setup-steps li{counter-increment:steps;display:grid;grid-template-columns:28px 1fr;position:relative;padding:0 0 14px}.setup-steps li:before{content:counter(steps);width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#dceefe;color:#0877c9;font-size:10px;font-weight:900}.setup-steps strong,.setup-steps span{grid-column:2}.setup-steps strong{font-size:12px}.setup-steps span{color:#78879a;font-size:11px;margin-top:2px}.permissions{display:flex;flex-wrap:wrap;gap:6px;padding:12px;background:#fff;border:1px solid #e0e8f0;border-radius:9px}.permissions span{width:100%;font-size:10px;color:#78879a;text-transform:uppercase}.permissions code{font-size:10px;color:#265679;background:#edf6fc;padding:4px 6px;border-radius:5px}.secondary-button{width:100%;border:1px solid #bdccd9;color:#587086;background:#eef2f6;border-radius:8px;padding:10px;margin-top:12px;font-size:12px;font-weight:700}.check-row{grid-template-columns:18px 1fr!important;align-items:start;padding:8px 0}.check-row input{margin:1px 0 0}.field-help{color:#7b8999;font-size:11px;line-height:1.45}.safety-card{background:#f4faf7;border-color:#cfe6da}.safety-card ul{padding-left:18px;color:#4d6659;font-size:12px;line-height:1.9}.settings-actions{display:flex;justify-content:flex-end;border-top:1px solid #e4ebf2;margin-top:22px;padding-top:18px}.settings-actions button{border:0;border-radius:9px;padding:11px 16px;color:#fff;background:#0877c9;font-weight:800;font-size:13px;cursor:pointer}.tenant-result{margin-top:12px;padding:11px;border:1px solid #cde4d8;background:#f4fbf7;border-radius:8px;display:flex;flex-direction:column;gap:3px}.tenant-result strong{color:#205f45;font-size:12px}.tenant-result span,.tenant-result small{color:#60786b;font-size:10px}.connection-error{margin:10px 0 0;padding:9px;border-radius:7px;background:#fff1f0;color:#a33c32;font-size:11px}.settings-card select{width:100%;border:1px solid #cbd7e3;border-radius:8px;padding:10px 11px;background:#fff;color:#24364e}.settings-card select:disabled{color:#5f6f82;background:#eef3f7;cursor:not-allowed}.school-identity-summary{display:grid;gap:6px;padding:15px;border:1px solid #dfe7ef;border-radius:10px;background:#fff}.school-identity-summary span,.upn-preview span{color:#718196;font-size:10px;font-weight:800;text-transform:uppercase}.school-identity-summary strong{color:#183554}.school-identity-summary small{color:#718196}.upn-preview{display:grid;gap:4px;margin:-2px 0 0;padding:11px 12px;border-radius:8px;background:#eef6fc}.upn-preview strong{color:#155d92;font-size:13px}.account-rules-card{grid-column:1 / -1;background:#fbfdff}.account-rule-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;padding:16px;border:1px solid #dfe7ef;border-radius:11px;background:#fff}.account-rule-section>label{display:grid;gap:6px}.account-rule-section label>span{font-size:12px;font-weight:700}.account-rule-title{grid-column:1 / -1;display:grid;gap:3px}.account-rule-title strong{color:#183554}.account-rule-title small{color:#718196}.account-rule-section .upn-preview{grid-column:1 / -1}.settings-actions{align-items:center;gap:14px}.settings-save-feedback{flex:1;display:grid;gap:2px;padding:11px 14px;border:1px solid #cbd7e3;border-radius:9px;background:#f6f8fa}.settings-save-feedback strong{font-size:12px}.settings-save-feedback span{font-size:11px;color:#607086}.settings-save-feedback.saved{border-color:#9fd4b9;background:#eefaf4}.settings-save-feedback.saved strong{color:#176b48}.settings-save-feedback.dirty{border-color:#e6cf94;background:#fff9e9}.settings-save-feedback.dirty strong{color:#85620d}.settings-save-feedback.error{border-color:#e7aaa5;background:#fff2f1}.settings-save-feedback.error strong{color:#a33c32}.settings-save-feedback.saving{border-color:#a9cce7;background:#eff8ff}.settings-save-feedback.saving strong{color:#155d92}.academic-year-page{margin-bottom:22px}.academic-year-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) 160px;gap:12px;align-items:end;margin:22px 0;padding:16px;border:1px solid #dbe7f1;border-radius:11px;background:#f8fbfe}.academic-year-toolbar label{display:grid;gap:6px}.academic-year-toolbar span{font-size:10px;font-weight:800;text-transform:uppercase;color:#728196}.academic-year-toolbar input,.academic-year-toolbar select{border:1px solid #c8d5e1;border-radius:8px;padding:10px 11px;background:#fff;color:#233750}.academic-year-toolbar button{border:0;border-radius:8px;padding:10px 14px;color:#fff;background:#0877c9;font-weight:750;cursor:pointer}.academic-year-stats{margin-bottom:0}.placeholder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.placeholder-grid article{border:1px solid #dfe7ef;border-radius:12px;padding:18px;background:#fbfcfe;display:grid;gap:7px}.placeholder-grid span{color:#718196;font-size:12px;line-height:1.45}.active-year-badge{background:#e4f8ed;color:#087044;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:900}.academic-year-toolbar button:disabled{background:#e5ecf3;color:#718196;cursor:not-allowed}.academic-year-choice{display:grid;gap:4px}.academic-year-choice span{font-size:10px;font-weight:800;text-transform:uppercase;color:#728196}.academic-year-choice strong{color:#17304d}.academic-year-choice small{color:#718196;line-height:1.4}.academic-year-create{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) 160px;gap:12px;align-items:center;margin:-8px 0 22px;padding:16px;border:1px dashed #c8d5e1;border-radius:11px;background:#fff}.academic-year-create div{display:grid;gap:4px}.academic-year-create small{color:#718196}.academic-year-create input{border:1px solid #c8d5e1;border-radius:8px;padding:10px 11px;background:#fff;color:#233750}.academic-year-create button{border:1px solid #0877c9;border-radius:8px;padding:10px 14px;color:#0877c9;background:#fff;font-weight:800;cursor:pointer}.year-context{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;border:1px solid #cfe9da;border-radius:12px;background:#f2fbf6}.year-context span{color:#60786b;font-size:10px;font-weight:900;text-transform:uppercase}.year-context strong{margin-right:auto;color:#087044;font-size:18px}.year-context button{border:1px solid #087044;border-radius:8px;padding:8px 11px;background:#fff;color:#087044;font-weight:800;cursor:pointer}.report-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 4px}.report-actions button{border:1px solid #c8d5e1;border-radius:8px;padding:9px 12px;background:#fff;color:#233750;font-weight:750;cursor:pointer}.class-output{margin-top:22px;border:1px solid #dfe7ef;border-radius:12px;padding:18px;background:#fbfcfe}.class-output p{color:#718196;font-size:12px;line-height:1.45}.class-table{display:grid;margin-top:14px;border:1px solid #e1e8ef;border-radius:10px;overflow:hidden}.class-table>div{display:grid;grid-template-columns:130px minmax(240px,1fr) minmax(220px,1fr) 170px;gap:12px;padding:11px 12px;border-bottom:1px solid #e1e8ef;align-items:center;font-size:12px}.class-table>div:first-child{background:#f4f7fa;color:#718096;text-transform:uppercase;font-size:10px}.class-table>div:last-child{border-bottom:0}.class-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;margin-top:18px}.class-picker{display:grid;gap:10px;align-content:start}.class-picker div{border:1px solid #dfe7ef;border-radius:12px;padding:14px;background:#fbfcfe;display:grid;gap:5px;cursor:pointer}.class-picker div:first-child{border-color:#9fd4b9;background:#f2fbf6}.class-picker span{color:#718196;font-size:10px;font-weight:900;text-transform:uppercase}.class-picker strong{color:#183554;font-size:18px}.class-picker small{color:#718196;line-height:1.35}.class-detail{border:1px solid #dfe7ef;border-radius:14px;padding:18px;background:#fff}.class-detail-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.class-detail-header h3{margin:2px 0 4px;color:#0f2745}.class-detail-header small{color:#718196}.class-summary{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.class-summary span{display:grid;min-width:92px;gap:2px;padding:9px 12px;border-radius:10px;background:#eef6fc;color:#49657f;font-size:11px}.class-summary strong{color:#0877c9;font-size:20px}.class-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0;border-bottom:1px solid #e1e8ef;padding-bottom:10px}.class-tabs button,.class-actions button{border:1px solid #c8d5e1;border-radius:8px;padding:9px 12px;background:#fff;color:#233750;font-weight:800;cursor:pointer}.class-tabs button.active{background:#0877c9;color:#fff;border-color:#0877c9}.class-actions{display:flex;gap:10px;flex-wrap:wrap}.class-table-wide>div{grid-template-columns:52px 110px minmax(240px,1.4fr) minmax(190px,1fr) minmax(150px,.8fr) 120px minmax(130px,.9fr)}.class-table-wide span:nth-child(5){font-weight:800;color:#955f00}.class-picker .class-picker-title{border-color:#9fd4b9;background:#f2fbf6;cursor:default}.class-pick-option{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;border:1px solid #dfe7ef;border-radius:12px;padding:14px;background:#fbfcfe;cursor:pointer}.class-pick-option:has(input:checked){border-color:#9fd4b9;background:#f2fbf6}.class-pick-option span{display:grid;gap:5px}.class-pick-option strong{color:#183554;font-size:18px}.class-pick-option small{color:#718196;line-height:1.35}.class-actions button:disabled{cursor:not-allowed;background:#e7edf3;color:#738195}.class-help{display:grid;gap:6px;margin-top:12px;padding:12px 14px;border:1px solid #dfe7ef;border-radius:10px;background:#f8fbfe;color:#4c5d70;font-size:12px}.class-help span{line-height:1.4}.class-help strong{color:#183554}.class-actions.primary-export{margin:16px 0 0}.class-actions.primary-export button{background:#0877c9;color:#fff;border-color:#0877c9;font-size:15px;padding:12px 16px}.class-actions.primary-export button:disabled{background:#e7edf3;color:#738195;border-color:#c8d5e1}.class-empty{border:1px dashed #c8d5e1!important;background:#fff!important;cursor:default!important}.class-empty strong{font-size:15px!important;color:#4c5d70!important}.class-empty small{color:#718196}.class-picker-button{display:grid;gap:7px;text-align:left;border:1px solid #9fd4b9;border-radius:12px;padding:16px;background:#f2fbf6;cursor:pointer}.class-picker-button strong{color:#183554;font-size:18px}.class-picker-button span{color:#087044;font-size:12px;font-weight:900;text-transform:none}.class-picker-button small{color:#60786b;line-height:1.35}.class-picker-modal{width:min(720px,94vw)}.class-modal-actions{display:flex;gap:10px;margin:16px 0}.class-modal-actions button{border:1px solid #c8d5e1;border-radius:8px;padding:9px 12px;background:#fff;color:#233750;font-weight:800;cursor:pointer}.class-modal-actions button:disabled{cursor:not-allowed;background:#e7edf3;color:#738195}.class-modal-list{display:grid;gap:10px;max-height:420px;overflow:auto}.tenant-actions{margin-top:18px;border:1px solid #dfe7ef;border-radius:12px;padding:18px;background:#fbfcfe}.tenant-actions p{color:#718196;font-size:12px;line-height:1.45}.tenant-actions>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.tenant-actions article{border:1px solid #dfe7ef;border-radius:10px;padding:14px;background:#fff;display:grid;gap:5px}.tenant-actions strong{font-size:24px;color:#0877c9}.tenant-actions span{font-weight:800;font-size:12px}.tenant-actions small{color:#718196;line-height:1.45}.decision-panel{margin-top:18px;border:1px solid #dfe7ef;border-radius:12px;padding:18px;background:#fbfcfe}.decision-panel p{color:#718196;font-size:12px;line-height:1.45}.decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.decision-grid article{border:1px solid #dfe7ef;border-radius:10px;padding:14px;background:#fff;display:grid;gap:8px}.decision-grid strong{font-size:24px;color:#0877c9}.decision-grid span{font-weight:800;font-size:12px}.decision-grid small{color:#718196;line-height:1.45}.decision-grid select{width:100%;border:1px solid #c8d5e1;border-radius:8px;padding:10px 11px;background:#fff;color:#233750}.decision-save{margin-top:14px;border:0;border-radius:8px;padding:10px 14px;color:#fff;background:#0877c9;font-weight:800;cursor:pointer}.grouped-issues details{border-top:1px solid #e1e8ef;padding-top:10px;margin-top:10px}.grouped-issues summary{cursor:pointer;font-weight:800;color:#24364e}.grouped-issues summary{display:flex;align-items:center;gap:8px}.issue-check{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start;padding:8px 0;border-bottom:1px solid #eef2f6}.issue-check:last-child{border-bottom:0}.issue-check strong{display:inline-block;min-width:62px;margin-right:8px}.issue-check span{color:#4c5d70;font-size:12px;line-height:1.45}.decision-modal-backdrop{position:fixed;inset:0;background:#0f1f3085;display:grid;place-items:center;z-index:50;padding:24px}.decision-modal{width:min(1180px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 90px #10274047;padding:22px}.decision-modal-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid #e1e8ef;padding-bottom:16px}.decision-modal-title p{color:#718196;line-height:1.45}.decision-modal-title button{border:1px solid #c8d5e1;border-radius:8px;background:#fff;padding:9px 12px;cursor:pointer}.decision-modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.decision-modal-grid article{border:1px solid #dfe7ef;border-radius:12px;padding:16px;background:#fbfcfe;display:grid;gap:10px;align-content:start}.decision-modal-grid article>strong{font-size:30px;color:#0877c9}.decision-modal-grid select{width:100%;border:1px solid #c8d5e1;border-radius:8px;padding:10px 11px;background:#fff;color:#233750}.modal-list{max-height:300px;overflow:auto;border-top:1px solid #e1e8ef;padding-top:8px}.decision-modal-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e1e8ef;padding-top:16px;margin-top:16px}.decision-modal-grid .modal-list{max-height:52vh;scrollbar-gutter:stable}.final-execution-modal{width:min(1100px,96vw)}.final-execution-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.final-execution-summary article{border:1px solid #dfe7ef;border-radius:12px;padding:14px;background:#fbfcfe;display:grid;gap:4px}.final-execution-summary strong{color:#0877c9;font-size:28px}.final-execution-summary span{color:#4c5d70;font-size:12px;font-weight:800}.final-execution-table{display:grid;max-height:48vh;overflow:auto;border:1px solid #dfe7ef;border-radius:12px}.final-execution-table>div{display:grid;grid-template-columns:160px 70px minmax(260px,1fr) 190px;gap:10px;padding:10px 12px;border-bottom:1px solid #e1e8ef;align-items:center;font-size:12px}.final-execution-table>div:first-child{position:sticky;top:0;background:#f4f7fa;color:#718096;text-transform:uppercase;font-size:10px}.final-execution-table>div:last-child{border-bottom:0}.decision-panel-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.execute-actions{border:0;border-radius:8px;padding:10px 14px;color:#fff;background:#12805c;font-weight:800;cursor:pointer}.execute-actions:disabled{cursor:not-allowed;background:#e7edf3;color:#738195;border:1px solid #c8d5e1}@media(max-width:1000px){.status-grid,.onboarding-grid{grid-template-columns:repeat(2,1fr)}.app-shell{grid-template-columns:200px 1fr}main{padding:28px 24px}}@media(max-width:1000px){.subscription-form,.inventory-grid{grid-template-columns:repeat(2,1fr)}.operator-create{grid-template-columns:1fr 1fr}.operator-list article{grid-template-columns:1fr 180px}.admin-shell{grid-template-columns:210px 1fr}.license-table{overflow-x:auto}.table-head,.table-row{min-width:750px}}@media(max-width:720px){.app-shell,.admin-shell{display:block}.sidebar,.admin-sidebar{position:static;height:auto}.sidebar nav,.admin-sidebar nav{grid-template-columns:1fr 1fr}.sidebar nav button:disabled,.pilot-card{display:none}main{padding:20px 14px}header,.section-heading,.admin-school-title,.inventory-title,.inventory-actions{flex-direction:column}.status-grid,.preview-stats,.mapping-grid,.onboarding-grid,.subscription-form,.inventory-grid,.operator-create,.operator-list article,.academic-year-toolbar,.placeholder-grid,.account-rule-section{grid-template-columns:1fr}.admin-school-select{min-width:100%}.file-summary{grid-template-columns:1fr}.file-summary div{border-right:0;border-bottom:1px solid #e1e8ef}.mapping-grid label,.excluded-field{grid-template-columns:1fr}.excluded-field{max-width:none}.group-row{grid-template-columns:95px 1fr 35px}.admin-school-metrics{flex-direction:column;gap:7px}}.class-table-report>div{grid-template-columns:60px 120px minmax(220px,1fr) minmax(180px,.8fr) 150px;font-size:12px}
