: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}@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{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}}
