:root {
  --bg:#f5f7fb; --panel:#ffffff; --ink:#111827; --muted:#6b7280; --line:#e5e7eb;
  --accent:#2563eb; --accent2:#1d4ed8; --good:#047857; --warn:#b45309; --danger:#b91c1c;
  --nav:#0f172a; --shadow:0 10px 30px rgba(15,23,42,.08); --radius:18px;
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
button,input,select{font:inherit}.test-banner{background:#fff7ed;color:#9a3412;border-bottom:1px solid #fed7aa;text-align:center;padding:7px 14px;font-size:12px;font-weight:800;letter-spacing:.035em}.test-banner.production-banner{background:#ecfdf5;color:#065f46;border-bottom-color:#a7f3d0}.auth-test-note[hidden]{display:none!important}
.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--nav);color:#fff;display:grid;place-items:center;font-weight:900}.brand strong{display:block;font-size:18px}.brand small{display:block;color:var(--muted);margin-top:2px}.top-actions{display:flex;align-items:center;gap:10px}.status-pill{font-size:12px;padding:7px 10px;border-radius:999px;background:#f3f4f6;color:#4b5563}.status-pill.good{background:#ecfdf5;color:#047857}
.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 100px)}.sidebar{background:var(--nav);padding:20px 14px;display:flex;flex-direction:column;gap:6px}.nav-item{border:0;background:transparent;color:#cbd5e1;padding:12px 14px;border-radius:11px;text-align:left;font-weight:700;cursor:pointer;font-size:14px}.nav-item:hover,.nav-item.active{background:#1e293b;color:#fff}.nav-item span{margin-left:10px}.sidebar-note{margin-top:auto;background:#172033;border:1px solid #26344f;border-radius:14px;padding:14px;color:#e2e8f0}.sidebar-note strong,.sidebar-note span{display:block}.sidebar-note span{font-size:12px;line-height:1.5;color:#94a3b8;margin-top:6px}
.main{padding:28px;min-width:0}.view{display:none}.view.active{display:block}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head h1{font-size:30px;margin:3px 0 5px;letter-spacing:-.03em}.page-head p{margin:0;color:var(--muted)}.eyebrow{font-size:11px!important;letter-spacing:.12em;font-weight:900;color:var(--accent)!important}
.btn{border:1px solid var(--line);background:#fff;color:#1f2937;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}.btn:hover{filter:brightness(.98)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent2)}.btn-danger-soft{background:#fef2f2;color:var(--danger);border-color:#fecaca}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-wide{width:100%;margin-top:16px}
.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:0 4px 15px rgba(15,23,42,.035)}.stat small{color:var(--muted);font-weight:700}.stat strong{display:block;font-size:26px;margin-top:8px}.content-grid{display:grid;gap:18px}.content-grid.two{grid-template-columns:1.15fr .85fr}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card h2{font-size:18px;margin:0}.card-head p{font-size:13px;color:var(--muted);margin:4px 0 0}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-action{border:1px solid var(--line);background:#fff;border-radius:13px;padding:15px;text-align:left;cursor:pointer}.quick-action:hover{border-color:#bfdbfe;background:#eff6ff}.quick-action span{font-size:20px}.quick-action strong,.quick-action small{display:block}.quick-action strong{margin:7px 0 3px}.quick-action small{color:var(--muted)}
.activity-list{display:flex;flex-direction:column;gap:10px}.activity{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.activity:last-child{border-bottom:0}.activity-icon{width:32px;height:32px;border-radius:10px;background:#eff6ff;color:#1d4ed8;display:grid;place-items:center;font-weight:900}.activity strong,.activity small{display:block}.activity small{color:var(--muted);margin-top:2px}.activity time{color:#9ca3af;font-size:11px}
.identify-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mode-tabs{display:flex;gap:6px;padding:5px;background:#f3f4f6;border-radius:12px;margin-bottom:18px}.mode-tab{flex:1;border:0;background:transparent;padding:10px;border-radius:9px;font-weight:800;color:#6b7280;cursor:pointer}.mode-tab.active{background:#fff;color:#111827;box-shadow:0 1px 4px rgba(0,0,0,.08)}.scan-panel{display:none}.scan-panel.active{display:block}.field-label{display:block;font-size:12px;font-weight:900;color:#374151;margin:13px 0 7px}.scan-input-row,.search-row{display:flex;gap:8px}.scan-input-row input,.search-row input{flex:1}.scanner-input,input,select{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:12px 13px;background:#fff;color:#111827;outline:none}.scanner-input:focus,input:focus,select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #dbeafe}.hint{font-size:12px;color:var(--muted);line-height:1.5}.demo-values{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.demo-values button{border:0;background:#eef2ff;color:#3730a3;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;cursor:pointer}
.camera-frame{position:relative;background:#0b1220;border-radius:14px;overflow:hidden;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}.camera-frame video{width:100%;height:100%;object-fit:cover}.camera-guide{position:absolute;inset:36% 8%;border:2px solid #60a5fa;border-radius:12px;box-shadow:0 0 0 999px rgba(0,0,0,.3);display:flex;align-items:flex-end;justify-content:center}.camera-guide span{background:rgba(15,23,42,.85);color:#fff;font-size:11px;padding:5px 8px;border-radius:7px;transform:translateY(30px)}.button-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.progress-box{margin-top:12px;border:1px solid #dbeafe;background:#eff6ff;border-radius:12px;padding:12px;display:flex;align-items:center;gap:10px}.hidden{display:none!important}.spinner{width:22px;height:22px;border:3px solid #bfdbfe;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-box small,.progress-box strong{display:block}.progress-box small{color:#64748b;margin-top:2px}.ocr-details{margin-top:10px;font-size:12px;color:#6b7280}.ocr-details pre{white-space:pre-wrap;max-height:160px;overflow:auto;background:#f8fafc;padding:10px;border-radius:10px;border:1px solid #e5e7eb}.result-card{min-height:430px}.empty-state{text-align:center;display:grid;place-items:center;align-content:center;height:100%;min-height:380px;color:var(--muted)}.empty-icon{font-size:42px;color:#94a3b8}.empty-state h2{color:#374151;margin:10px 0 5px}.device-result .result-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.asset-tag{font-size:26px;font-weight:900;letter-spacing:-.02em}.serial{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#475569;margin-top:4px}.status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}.status.ASSIGNED,.status.LOANED{background:#dbeafe;color:#1d4ed8}.status.AVAILABLE{background:#d1fae5;color:#047857}.status.REPAIR,.status.LOST{background:#fee2e2;color:#b91c1c}.assignment-box{margin-top:16px;padding:15px;border-radius:13px;background:#f8fafc;border:1px solid #e2e8f0}.assignment-box .label{font-size:11px;color:#64748b;font-weight:900;letter-spacing:.06em}.assignment-name{font-size:21px;font-weight:900;margin-top:4px}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.meta{border:1px solid #eef2f7;border-radius:11px;padding:10px}.meta small,.meta strong{display:block}.meta small{color:#94a3b8;font-weight:700}.meta strong{margin-top:3px;font-size:13px}.result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.mini-history{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.mini-history h3{font-size:13px;margin:0 0 10px}.mini-history-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:7px 0;border-bottom:1px dashed #e5e7eb}.mini-history-row span:last-child{color:#6b7280}
.message{margin-top:12px;padding:11px;border-radius:10px;font-size:13px}.message.good{background:#ecfdf5;color:#065f46}.message.bad{background:#fef2f2;color:#991b1b}.table-wrap{overflow:auto;margin-top:14px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:10px;border-bottom:1px solid var(--line)}td{padding:11px 10px;border-bottom:1px solid #f1f5f9;vertical-align:top}.table-strong{font-weight:800}.muted{color:var(--muted)}
.toast-container{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;z-index:50}.toast{background:#111827;color:#fff;padding:12px 14px;border-radius:11px;box-shadow:var(--shadow);font-size:13px;max-width:340px}
#qrReader{border:1px dashed #cbd5e1!important;border-radius:14px;overflow:hidden;min-height:260px}#qrReader video{object-fit:cover}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(3,1fr)}.content-grid.two,.identify-layout{grid-template-columns:1fr}}
@media(max-width:760px){.topbar{padding:0 14px}.brand small{display:none}.top-actions .status-pill{display:none}.app-shell{display:block}.sidebar{position:fixed;left:0;right:0;bottom:0;height:66px;z-index:30;display:grid;grid-template-columns:repeat(6,1fr);padding:7px;background:#0f172a;gap:3px}.nav-item{padding:8px 3px;text-align:center;font-size:17px}.nav-item span{display:block;margin:2px 0 0;font-size:9px}.sidebar-note{display:none}.main{padding:18px 14px 92px}.page-head{align-items:flex-start}.page-head h1{font-size:25px}.stats-grid{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:1fr}.mode-tabs{overflow-x:auto}.mode-tab{min-width:120px}.meta-grid{grid-template-columns:1fr}.top-actions .btn{padding:9px 10px;font-size:12px}.scan-input-row,.search-row{flex-direction:column}.card{padding:16px}}

/* v0.3 standalone inventory pools, registration and reporting */
.inventory-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.filter-chip{border:1px solid var(--line);background:#fff;color:#475569;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:850;cursor:pointer}.filter-chip:hover{border-color:#bfdbfe}.filter-chip.active{background:#111827;border-color:#111827;color:#fff}.inventory-caption{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:14px;font-size:12px;color:var(--muted)}.inventory-caption strong{color:var(--ink);font-size:13px}.pool-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}.pool-badge.STANDARD{background:#f1f5f9;color:#334155}.pool-badge.LOANER{background:#fef3c7;color:#92400e}.status.RETIRED{background:#e5e7eb;color:#4b5563}.inventory-entry-grid{margin-top:18px}.form-grid{display:grid;gap:10px}.form-grid.two-col{grid-template-columns:1fr 1fr}.bulk-textarea{width:100%;min-height:220px;resize:vertical;border:1px solid #d1d5db;border-radius:10px;padding:12px 13px;background:#fff;color:#111827;outline:none;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.bulk-textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #dbeafe}.report-controls{display:grid;grid-template-columns:minmax(180px,240px) minmax(180px,240px) auto;gap:12px;align-items:end}.report-heading{margin:18px 0 14px}.report-heading h2{margin:0;font-size:22px}.report-heading p{margin:5px 0;color:var(--muted);font-size:13px}.report-activity-grid{margin-top:4px}.report-list{display:flex;flex-direction:column}.report-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #eef2f7}.report-row:last-child{border-bottom:0}.report-row strong,.report-row small{display:block}.report-row small{margin-top:3px;color:var(--muted);font-size:11px}.report-row>span{font-size:18px;font-weight:900}.report-definition{font-size:12px;color:var(--muted);line-height:1.6;margin:14px 2px}.report-definition strong{color:#374151}

@media(max-width:760px){.sidebar{grid-template-columns:repeat(7,1fr)}.form-grid.two-col{grid-template-columns:1fr}.report-controls{grid-template-columns:1fr}.inventory-caption{align-items:flex-start;flex-direction:column}.filter-chip{padding:7px 10px;font-size:11px}}

@media print{
  body{background:#fff}.test-banner,.topbar,.sidebar,.no-print{display:none!important}.app-shell{display:block;min-height:auto}.main{padding:0}.view{display:none!important}.view#view-reports.active{display:block!important}.card,.stat{box-shadow:none;border-color:#d1d5db;break-inside:avoid}.page-head{margin-bottom:10px}.page-head>div>p:not(.eyebrow){display:none}.stats-grid{grid-template-columns:repeat(3,1fr)}.content-grid.two{grid-template-columns:1fr 1fr}.report-definition{color:#374151}table{font-size:11px}}
.content-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.license-status-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.report-list>div:not(.report-row){display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #eef2f7}.report-list>div:not(.report-row):last-child{border-bottom:0}.report-list>div:not(.report-row) span{color:var(--muted)}
@media(max-width:1100px){.content-grid.three{grid-template-columns:1fr}}


/* v0.7 authenticated session login + Administrator and IT Admin RBAC */
body:not(.authenticated) .topbar,body:not(.authenticated) .app-shell{display:none}.auth-gate{min-height:calc(100vh - 28px);display:grid;place-items:center;padding:28px 16px;background:radial-gradient(circle at top,#e0e7ff 0,#f8fafc 42%,#eef2f7 100%)}body.authenticated .auth-gate{display:none}.auth-card{width:min(440px,100%);background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:28px;box-shadow:0 20px 60px rgba(15,23,42,.14)}.auth-logo{width:52px;height:52px;border-radius:15px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:950;font-size:18px;margin-bottom:18px}.auth-card h1{margin:4px 0 8px;font-size:28px;letter-spacing:-.03em}.auth-copy{color:var(--muted);line-height:1.55;margin:0 0 16px}.auth-submit{margin-top:18px}.auth-test-note{margin-top:18px;border:1px solid #dbeafe;background:#eff6ff;border-radius:12px;padding:12px;display:grid;gap:4px;font-size:12px;color:#1e3a8a}.auth-test-note span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800}.auth-test-note small{color:#64748b;line-height:1.45}.user-pill{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;color:#334155}@media(max-width:760px){.user-pill{display:none}#logoutButton{padding:8px 9px;font-size:11px}.auth-card{padding:22px;border-radius:16px}}

.role-pill{padding:8px 11px;border:1px solid #d1d5db;border-radius:999px;background:#fff;font-size:12px;font-weight:800;color:#374151;white-space:nowrap}

.permission-hidden { display: none !important; }

.campus-pill{padding:8px 11px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;font-size:12px;font-weight:850;color:#1d4ed8;white-space:nowrap}.campus-pill[title]{cursor:help}@media(max-width:900px){.campus-pill{display:none}}

/* v1.4 feature-permission matrix */
.permission-description{display:block;margin-top:4px;color:var(--muted,#6b7280);max-width:520px}
.permission-yes{font-weight:700;color:#166534}
.permission-no{font-weight:700;color:#991b1b}
.permission-override{min-width:110px}


/* v1.5 approval permissions */
.approval-review{font-weight:700;color:#92400e}.approval-permission-level{min-width:145px}#approvalPermissionMatrix code{display:block;margin-top:5px;color:#64748b;font-size:11px}

.session-pill{font-size:.78rem;padding:.42rem .62rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);white-space:nowrap;color:var(--muted)}

.status.DISABLED{background:#fee2e2;color:#991b1b}.btn-small{padding:7px 10px;font-size:12px}

/* v2.3 Start-of-Year Distribution Center */
.distribution-context-card{margin-bottom:18px}
.distribution-filter-row{flex-wrap:wrap;margin:12px 0}
.distribution-student-filter.active{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.12)}
.compact-table{max-height:420px;overflow:auto}
.agreement-list{display:grid;gap:10px;margin-top:10px}
.agreement-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e5e7eb}
.agreement-row:last-child{border-bottom:0}
.agreement-row small{display:block;color:#64748b;margin-top:4px}
.scan-log{display:grid;gap:6px;margin-top:12px;max-height:200px;overflow:auto}
.scan-log-row{font-size:.88rem;padding:8px 10px;border-radius:8px;background:#f8fafc;border:1px solid #e5e7eb}
.distribution-device-preview{margin:14px 0}
.device-preview-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc}
.device-preview-row small{display:block;margin-top:4px;color:#64748b}
@media (max-width:760px){.agreement-row{align-items:flex-start;flex-direction:column}.agreement-row .button-row{width:100%;flex-wrap:wrap}.device-preview-row{flex-direction:column}}

/* v2.4 scanner foundation — sticker-free wireless phone pairing */
.scanner-pair-card{margin-top:16px;padding:18px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;text-align:center}.scanner-pair-card>small{display:block;color:#1d4ed8;font-weight:900;letter-spacing:.08em}.scanner-pair-card>strong{display:block;font:950 34px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;color:#0f172a;margin:9px 0}.scanner-pair-card>p{margin:6px 0 12px;color:#475569;font-size:12px}.scanner-pair-card .button-row{justify-content:center}.scanner-security-note{margin-top:16px;border:1px solid #d1fae5;background:#ecfdf5;color:#065f46;border-radius:12px;padding:13px;display:grid;gap:4px;font-size:12px;line-height:1.5}.scanner-security-note strong{font-size:13px}.scanner-security-note span{color:#047857}@media(max-width:760px){.scanner-pair-card>strong{font-size:27px}.sidebar{grid-template-columns:repeat(8,1fr)}}

/* v2.8 Google import + permanent assignment receipts */
.receipt-sheet{max-width:900px;margin:0 auto;border:1px solid #d9dde5;border-radius:14px;padding:28px;background:#fff}
.receipt-brand{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;font-size:1.1rem}
.receipt-brand strong{font-size:1.5rem}.receipt-number{margin:8px 0 22px;font-weight:800;letter-spacing:.04em}
.receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}.receipt-grid div{display:flex;flex-direction:column;gap:3px}.receipt-grid small{color:var(--muted)}
.receipt-sheet h3{margin:24px 0 10px;border-bottom:1px solid #e4e7ec;padding-bottom:7px}.receipt-signatures{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:54px}
@media(max-width:720px){.receipt-grid,.receipt-signatures{grid-template-columns:1fr}.receipt-brand{align-items:flex-start;flex-direction:column}}

/* v2.8 production-prep visual system + large-file Import Center */
:root{--bg:#f4f7fb;--panel:#fff;--ink:#0b1220;--muted:#64748b;--line:#e2e8f0;--accent:#2563eb;--accent2:#1d4ed8;--teal:#0f9f8f;--nav:#0b1220;--shadow:0 18px 45px rgba(15,23,42,.08);--radius:20px}
body{background:linear-gradient(180deg,#f8fafc 0,#f4f7fb 24%,#eef3f9 100%);letter-spacing:-.005em}
.test-banner{background:linear-gradient(90deg,#fff7ed,#fffbeb);padding:8px 16px;border-bottom:1px solid #fed7aa}.test-banner.production-banner{background:linear-gradient(90deg,#ecfdf5,#f0fdfa)}
.topbar{height:78px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,232,240,.85);box-shadow:0 8px 30px rgba(15,23,42,.035)}
.brand{gap:11px}.brand-mark-image{width:43px;height:43px;border-radius:13px;box-shadow:0 8px 20px rgba(37,99,235,.18)}.brand strong{font-size:19px;letter-spacing:-.025em}.brand small{font-size:11px;letter-spacing:.015em}
.app-shell{grid-template-columns:252px 1fr}.sidebar{background:linear-gradient(180deg,#0b1220 0%,#111b31 52%,#0b1220 100%);padding:20px 13px;border-right:1px solid rgba(148,163,184,.08)}.nav-item{padding:11px 13px;border-radius:12px;color:#aebbd0;transition:.18s ease}.nav-item:hover{background:rgba(255,255,255,.07);color:#fff;transform:translateX(2px)}.nav-item.active{background:linear-gradient(135deg,rgba(37,99,235,.24),rgba(15,159,143,.18));box-shadow:inset 0 0 0 1px rgba(96,165,250,.2);color:#fff}.sidebar-note{background:linear-gradient(145deg,rgba(30,41,59,.86),rgba(15,23,42,.92));border-color:#2b3850}
.main{padding:30px 32px 42px}.page-head{margin-bottom:24px}.page-head h1{font-size:34px;line-height:1.08;letter-spacing:-.045em}.page-head>div>p:not(.eyebrow){max-width:780px;line-height:1.6}.eyebrow{color:#2563eb!important;letter-spacing:.16em}
.card,.stat{border-color:rgba(226,232,240,.92);box-shadow:0 14px 40px rgba(15,23,42,.055)}.card{padding:22px}.card:hover{border-color:#d7e0ec}.stats-grid{gap:14px}.stat{padding:18px;border-radius:18px}.stat strong{font-size:29px;letter-spacing:-.04em}.stat small{letter-spacing:.015em}
.btn{border-radius:12px;padding:10px 15px;transition:.16s ease;box-shadow:0 1px 1px rgba(15,23,42,.03)}.btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.08)}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 8px 20px rgba(37,99,235,.18)}
.quick-action{border-radius:16px;padding:17px;transition:.18s ease}.quick-action:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(37,99,235,.08)}
input,select,.scanner-input{border-radius:12px;border-color:#d7dee9;background:#fff;padding:12px 13px}input:focus,select:focus,.scanner-input:focus{border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.12)}
.table-wrap{border:1px solid #edf1f6;border-radius:14px;overflow:auto}th{background:#f8fafc;padding:11px 12px}td{padding:12px}tbody tr:hover{background:#f8fbff}
.status-pill,.user-pill,.role-pill,.campus-pill,.session-pill{box-shadow:0 1px 2px rgba(15,23,42,.03)}
.auth-gate{background:radial-gradient(circle at 20% 10%,rgba(37,99,235,.18),transparent 32%),radial-gradient(circle at 85% 80%,rgba(20,184,166,.15),transparent 30%),linear-gradient(145deg,#eef4ff,#f8fafc 48%,#eefaf8)}.auth-card{width:min(480px,100%);padding:32px;border-radius:24px;box-shadow:0 32px 80px rgba(15,23,42,.16);border-color:rgba(255,255,255,.86)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.auth-logo-image{width:54px;height:54px;border-radius:16px;box-shadow:0 14px 30px rgba(37,99,235,.18)}.auth-wordmark{height:49px;width:auto;max-width:270px}.auth-card h1{font-size:31px}.auth-copy{font-size:14px}
.import-promo-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#f8fbff)}.import-promo-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.12),transparent 68%);right:-48px;top:-54px;pointer-events:none}.import-promo-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#dbeafe,#ccfbf1);color:#1d4ed8;font-size:22px;font-weight:900;margin-bottom:14px}
.import-page-head{align-items:center}.import-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:center;background:linear-gradient(135deg,#0b1220 0%,#12203c 56%,#123b4a 100%);color:#fff;border-radius:24px;padding:28px 30px;margin-bottom:20px;box-shadow:0 24px 60px rgba(15,23,42,.16);position:relative;overflow:hidden}.import-hero:after{content:"";position:absolute;right:-80px;top:-90px;width:280px;height:280px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.02)}.import-hero h2{font-size:29px;margin:6px 0 8px;letter-spacing:-.04em}.import-hero p{margin:0;color:#cbd5e1;line-height:1.6;max-width:680px}.import-hero-kicker{font-size:10px;font-weight:900;letter-spacing:.17em;color:#67e8f9}.import-hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;position:relative;z-index:1}.import-hero-metrics div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);padding:16px 10px;border-radius:16px;text-align:center;backdrop-filter:blur(8px)}.import-hero-metrics strong,.import-hero-metrics span{display:block}.import-hero-metrics strong{font-size:25px}.import-hero-metrics span{font-size:10px;color:#cbd5e1;margin-top:3px}
.import-card{margin-bottom:18px}.integration-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:900;white-space:nowrap}.integration-badge.neutral{background:#ecfdf5;color:#047857}
.file-drop-zone{display:grid;place-items:center;text-align:center;gap:5px;border:2px dashed #cbd5e1;border-radius:18px;padding:28px 18px;background:linear-gradient(180deg,#fbfdff,#f8fafc);cursor:pointer;transition:.18s ease}.file-drop-zone:hover,.file-drop-zone.dragging{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 4px rgba(59,130,246,.08)}.file-drop-zone strong{font-size:16px}.file-drop-zone>span:not(.file-drop-icon){color:#64748b;font-size:13px}.file-drop-zone small{color:#94a3b8}.file-drop-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#dbeafe,#ccfbf1);color:#1d4ed8;font-size:22px;font-weight:900;margin-bottom:5px}
.selected-file{display:flex;align-items:center;gap:11px;margin-top:12px;border:1px solid #dbeafe;background:#f8fbff;border-radius:14px;padding:11px 12px}.selected-file>div:nth-child(2){min-width:0;flex:1}.selected-file strong,.selected-file span{display:block}.selected-file strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-file span{font-size:11px;color:#64748b;margin-top:2px}.selected-file-icon{width:39px;height:39px;border-radius:11px;background:#2563eb!important;color:#fff!important;display:grid!important;place-items:center;font-size:10px!important;font-weight:900;margin:0!important}.selected-file-check{color:#047857!important;font-size:20px!important;font-weight:900}.import-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}.import-preview-grid>div{border:1px solid #e5eaf2;border-radius:13px;padding:12px;background:#fafcff}.import-preview-grid span,.import-preview-grid strong{display:block}.import-preview-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;font-weight:850}.import-preview-grid strong{font-size:15px;margin-top:4px}.import-section-label{margin:18px 0 4px;font-size:11px;font-weight:900;letter-spacing:.12em;color:#2563eb;text-transform:uppercase}.form-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.import-defaults{align-items:end;margin-top:5px}.import-help-box{border:1px solid #dbeafe;background:#eff6ff;border-radius:13px;padding:12px;display:grid;gap:4px;font-size:12px;color:#1e3a8a}.import-help-box span{line-height:1.45;color:#475569}
.import-progress-overlay{position:fixed;inset:0;background:rgba(5,12,25,.72);backdrop-filter:blur(8px);z-index:999;display:grid;place-items:center;padding:20px}.import-progress-card{width:min(620px,100%);background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:24px;padding:26px;box-shadow:0 35px 90px rgba(0,0,0,.3)}.progress-brand{display:flex;align-items:center;gap:12px}.progress-brand img{width:48px;height:48px}.progress-brand span,.progress-brand strong{display:block}.progress-brand span{font-size:11px;color:#64748b;font-weight:850}.progress-brand strong{font-size:20px;margin-top:2px}.import-progress-card>p{color:#64748b;line-height:1.5}.progress-track{height:12px;border-radius:999px;background:#e8eef7;overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#14b8a6);transition:width .22s ease}.progress-fill.failed{background:linear-gradient(90deg,#dc2626,#f97316)}.progress-percent{text-align:right;font-weight:900;color:#0f172a;margin:7px 1px 12px}.import-progress-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.import-progress-stats div{border:1px solid #e6ebf2;background:#f8fafc;border-radius:13px;padding:11px;text-align:center}.import-progress-stats span,.import-progress-stats strong{display:block}.import-progress-stats span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;font-weight:850}.import-progress-stats strong{margin-top:4px;font-size:14px}.progress-note{font-size:11px!important;margin-bottom:0!important}
@media(max-width:1100px){.import-hero{grid-template-columns:1fr}.import-hero-metrics{max-width:520px}.form-grid.three-col{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.main{padding:18px 14px 96px}.brand-mark-image{width:38px;height:38px}.page-head h1{font-size:28px}.import-hero{padding:22px 18px;border-radius:19px}.import-hero-metrics{grid-template-columns:1fr 1fr 1fr}.import-hero-metrics strong{font-size:20px}.import-preview-grid,.form-grid.three-col{grid-template-columns:1fr 1fr}.import-progress-stats{grid-template-columns:1fr 1fr}.auth-wordmark{max-width:220px}.sidebar{grid-template-columns:repeat(9,1fr)}}
@media(max-width:520px){.import-preview-grid,.form-grid.three-col{grid-template-columns:1fr}.import-hero-metrics{grid-template-columns:1fr}.auth-wordmark{display:none}}
.inventory-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;color:#64748b;font-size:12px}.inventory-pagination .button-row{margin-top:0}
@media(max-width:520px){.inventory-pagination{align-items:flex-start;flex-direction:column}}

/* v3.0 Focus UI — progressive disclosure + deterministic Distribution workflow */
.main{max-width:1680px;width:100%;margin:0 auto}
.top-actions .role-pill,.top-actions .campus-pill,.top-actions .session-pill{display:none}
.nav-group{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.nav-group-label{padding:6px 13px 4px;color:#64748b;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.15em}.nav-group+.nav-group{padding-top:10px;border-top:1px solid rgba(148,163,184,.1)}.compact-note{margin-top:auto!important}.compact-note span{line-height:1.35}
.page-actions{margin-top:0}.compact-page-head{align-items:center}.focused-card{max-width:1100px;margin:0 auto 16px}.compact-empty{min-height:210px}.compact-stats{grid-template-columns:repeat(7,minmax(0,1fr));max-width:1200px;margin:0 auto 18px}.compact-filters{margin:10px 0}.compact-filters .btn{font-weight:750}
.distribution-context-bar{display:grid;grid-template-columns:minmax(180px,230px) minmax(180px,230px) 1fr;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:14px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.distribution-context-bar>div{min-width:0}.distribution-context-bar select{padding:9px 11px}.context-label{display:block;font-size:9px;font-weight:950;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8;margin-bottom:5px}.context-copy strong,.context-copy small{display:block}.context-copy strong{font-size:12px}.context-copy small{font-size:11px;color:#64748b;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.distribution-tabs{max-width:720px;margin:0 auto 16px}.distribution-panel{display:none}.distribution-panel.active{display:block}.workflow-progress{max-width:900px;margin:0 auto 16px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.workflow-step{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid #e2e8f0;border-radius:13px;background:#fff;color:#94a3b8}.workflow-step span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#f1f5f9;font-size:11px;font-weight:950}.workflow-step strong{font-size:11px}.workflow-step.active{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.workflow-step.active span{background:#2563eb;color:#fff}.workflow-step.done{border-color:#a7f3d0;background:#ecfdf5;color:#047857}.workflow-step.done span{background:#10b981;color:#fff}
.student-focus-summary{display:grid;grid-template-columns:1fr 1fr 2fr;gap:9px;margin:12px 0 4px}.student-focus-summary>div{border:1px solid #e7edf5;border-radius:12px;padding:10px;background:#fafcff}.student-focus-summary small,.student-focus-summary strong{display:block}.student-focus-summary small{color:#94a3b8;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.student-focus-summary strong{margin-top:3px;font-size:13px}.student-focus-status{background:#f8fbff!important}.section-subhead{font-size:13px;margin:18px 0 8px}.agreement-row{padding:10px 12px;border:1px solid #e7edf5!important;border-radius:12px;background:#fff}.agreement-complete{background:#f7fffb;border-color:#c7f3df!important}.agreement-open{background:#fffdf8}.compact-actions{margin-top:0}.btn-selected{background:#e0ecff;border-color:#93c5fd;color:#1d4ed8}.selected-student-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;border-radius:13px;padding:12px 14px;margin-bottom:12px;border:1px solid #e2e8f0}.selected-student-banner small,.selected-student-banner strong,.selected-student-banner span{display:block}.selected-student-banner small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.selected-student-banner strong{font-size:15px;margin:2px 0}.selected-student-banner>div:first-child>span{font-size:11px;color:#64748b}.muted-banner{background:#f8fafc;color:#64748b}.ready-banner{background:#ecfdf5;border-color:#a7f3d0}.warning-banner{background:#fff7ed;border-color:#fed7aa}
.assignment-checklist{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.check-row{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;border-radius:12px;border:1px solid #e5e7eb;background:#fafafa}.check-row>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:950;flex:0 0 auto}.check-row strong,.check-row small{display:block}.check-row strong{font-size:12px}.check-row small{font-size:10px;color:#64748b;margin-top:2px;line-height:1.35}.check-row.pass{background:#f0fdf4;border-color:#bbf7d0}.check-row.pass>span{background:#16a34a;color:#fff}.check-row.fail{background:#fef2f2;border-color:#fecaca}.check-row.fail>span{background:#dc2626;color:#fff}.check-row.pending>span{background:#e2e8f0;color:#64748b}
#distributionAssignButton:disabled{opacity:.55;background:#94a3b8;border-color:#94a3b8}.inventory-entry-grid.hidden,.content-grid.hidden{display:none!important}
@media(max-width:1100px){.compact-stats{grid-template-columns:repeat(4,1fr)}.distribution-context-bar{grid-template-columns:1fr 1fr}.context-copy{grid-column:1/-1}.assignment-checklist{grid-template-columns:1fr}}
@media(max-width:760px){.top-actions #apiStatus{display:none}.sidebar{display:flex!important;flex-direction:row!important;align-items:stretch;overflow-x:auto;overflow-y:hidden;gap:4px!important;padding:7px!important;height:70px!important}.sidebar .nav-group{display:contents}.nav-group-label{display:none}.nav-item{min-width:82px;flex:0 0 auto}.distribution-context-bar{grid-template-columns:1fr}.context-copy{grid-column:auto}.context-copy small{white-space:normal}.workflow-progress{grid-template-columns:repeat(4,minmax(90px,1fr));overflow-x:auto}.workflow-step{min-width:100px}.student-focus-summary{grid-template-columns:1fr}.compact-stats{grid-template-columns:repeat(2,1fr)}.distribution-tabs .mode-tab{min-width:135px}.selected-student-banner{align-items:flex-start;flex-direction:column}}


/* v3.0 Student Profiles, campus preference, and focused reporting */
.default-campus-control{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:11px;color:var(--muted)}
.default-campus-control select{border:0;background:transparent;padding:2px 20px 2px 2px;min-width:118px;font:inherit;color:var(--text);outline:none}
.field-optional{font-weight:500;color:var(--muted);font-size:11px}.compact-hint{margin-top:5px}
.student-name-link{appearance:none;border:0;background:none;color:var(--primary);font:inherit;font-weight:750;padding:0;cursor:pointer;text-align:left}.student-name-link:hover{text-decoration:underline}
.student-profile-head{align-items:flex-start}.student-profile-summary{margin-bottom:16px}.profile-identity{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(360px,2fr);align-items:center;gap:18px}
.profile-avatar{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#6d7dff);color:#fff;font-weight:850;font-size:22px;box-shadow:0 10px 25px rgba(58,78,255,.2)}
.profile-identity h2{margin:3px 0}.profile-identity p{margin:0;color:var(--muted)}.profile-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.profile-facts div{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);display:flex;flex-direction:column;gap:3px}.profile-facts small{color:var(--muted)}
.profile-device,.profile-list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--border)}.profile-device:last-child,.profile-list-row:last-child{border-bottom:0}.profile-device>div,.profile-list-row>div{display:flex;flex-direction:column;gap:3px}.profile-device strong{font-size:16px}.profile-device small,.profile-list-row small{color:var(--muted)}
.student-timeline{position:relative}.timeline-item{display:grid;grid-template-columns:16px 1fr;gap:10px;padding:0 0 18px;position:relative}.timeline-item:before{content:"";position:absolute;left:5px;top:13px;bottom:-2px;width:2px;background:var(--border)}.timeline-item:last-child:before{display:none}.timeline-dot{width:12px;height:12px;border-radius:50%;background:var(--primary);margin-top:4px;position:relative;z-index:1}.timeline-item>div:last-child{display:flex;flex-direction:column;gap:3px}.timeline-item small,.timeline-item span{color:var(--muted);font-size:12px}.compact-empty{padding:18px;text-align:left}.compact-empty span{display:block;color:var(--muted);margin-top:4px}
@media(max-width:900px){.default-campus-control{display:none}.profile-identity{grid-template-columns:auto 1fr}.profile-facts{grid-column:1/-1;grid-template-columns:repeat(2,1fr)}}

/* v3.2 web first-run production setup */
#setupCard{width:min(620px,100%)}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.setup-field-wide{grid-column:1/-1}.field-help{display:block;color:var(--muted);font-size:11px;line-height:1.4;margin-top:5px}@media(max-width:620px){.setup-grid{grid-template-columns:1fr}.setup-field-wide{grid-column:auto}}

/* Locations & Campuses */
.location-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.location-form-grid .wide{grid-column:span 2}.location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.location-card{display:flex;flex-direction:column;gap:14px}.location-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.location-card-head h2{margin:5px 0 4px;font-size:19px}.location-kind{display:inline-block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:950;color:#64748b}.location-address{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.location-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.location-counts>div{border:1px solid var(--line);background:#f8fafc;border-radius:11px;padding:9px}.location-counts small,.location-counts strong{display:block}.location-counts small{color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:850;letter-spacing:.05em}.location-counts strong{font-size:18px;margin-top:2px}.shared-location-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#eff6ff,#f8fafc);border-color:#bfdbfe}.shared-location-card h2{margin:4px 0}.shared-location-card p{margin:0;color:#475569;max-width:760px}.shared-location-card .location-counts{min-width:230px}.location-inactive{opacity:.72}.btn-danger{border-color:#fecaca;color:#b91c1c;background:#fff7f7}.location-meta{font-size:11px;color:#64748b}.location-card .button-row{margin-top:auto}
@media(max-width:1100px){.location-grid{grid-template-columns:1fr 1fr}.location-form-grid{grid-template-columns:1fr 1fr}.location-form-grid .wide{grid-column:1/-1}}@media(max-width:700px){.location-grid{grid-template-columns:1fr}.location-form-grid{grid-template-columns:1fr}.location-form-grid .wide{grid-column:auto}.shared-location-card{align-items:flex-start;flex-direction:column}.shared-location-card .location-counts{width:100%;min-width:0}}

/* ===== CAMPUSOPS HQ PREMIUM REBRAND · v3.6 ===== */
:root{
  --co-navy-950:#031127;--co-navy-900:#061a35;--co-navy-850:#082343;--co-navy-800:#0b2c52;
  --co-blue:#087cff;--co-blue-2:#0aa7ff;--co-teal:#10d2c2;--co-cyan:#4be8ff;
  --co-ice:#f5fbff;--co-line:rgba(135,190,239,.24);--co-glow:0 22px 70px rgba(2,24,55,.26);
  --accent:#087cff;--accent2:#046be0;--nav:#061a35;--radius:18px;--shadow:0 16px 42px rgba(4,29,59,.10);
}
html,body{background:#f4f8fd;color:#10233d}
.test-banner{position:relative;z-index:80;background:#071b35!important;color:#9eeeff!important;border-bottom:1px solid rgba(57,200,239,.28)!important;padding:8px 14px!important;font-size:10px!important;letter-spacing:.12em!important;text-transform:uppercase}
.test-banner.production-banner{background:linear-gradient(90deg,#06182f,#072a48 50%,#07354a)!important;color:#86f5e9!important}
body:not(.authenticated) .auth-gate{min-height:calc(100vh - 31px)}
.auth-gate{position:relative;overflow:hidden;background:
 radial-gradient(circle at 78% 42%,rgba(12,174,255,.24),transparent 27%),
 radial-gradient(circle at 80% 105%,rgba(16,210,194,.24),transparent 30%),
 radial-gradient(circle at 14% 18%,rgba(16,103,255,.16),transparent 28%),
 linear-gradient(118deg,#020d20 0%,#051c3d 42%,#06355b 76%,#052746 100%)!important;padding:48px 20px!important}
.auth-gate:before{content:"";position:absolute;inset:-15%;pointer-events:none;opacity:.46;background:
 radial-gradient(circle at 13% 72%,transparent 0 115px,rgba(71,180,255,.22) 116px 118px,transparent 119px 170px,rgba(16,210,194,.15) 171px 173px,transparent 174px),
 repeating-radial-gradient(ellipse at 84% 78%,transparent 0 86px,rgba(23,155,255,.085) 88px 90px,transparent 92px 130px)}
.auth-gate:after{content:"";position:absolute;width:520px;height:520px;left:3%;bottom:-70px;background:url('/campusops-hq-icon.png') center/58% no-repeat;opacity:.11;filter:saturate(.75) brightness(1.4);pointer-events:none}
.auth-card{position:relative;z-index:2;width:min(520px,100%)!important;background:linear-gradient(155deg,rgba(8,34,70,.94),rgba(4,23,48,.90))!important;border:1px solid rgba(139,207,255,.26)!important;border-radius:26px!important;padding:36px 40px!important;box-shadow:0 34px 100px rgba(0,6,18,.48),inset 0 1px rgba(255,255,255,.06)!important;backdrop-filter:blur(22px);color:#fff}
.auth-brand{display:flex!important;align-items:center!important;gap:15px!important;margin:0 0 26px!important}
.auth-logo-image{width:66px!important;height:66px!important;border-radius:20px!important;box-shadow:0 15px 34px rgba(4,130,255,.30)!important}
.auth-brand-copy{display:grid;gap:2px}.auth-brand-copy strong{font-size:25px;line-height:1;color:#fff;letter-spacing:-.04em}.auth-brand-copy strong em{font-style:normal;color:#18b9ff}.auth-brand-copy span{font-size:9px;text-transform:uppercase;letter-spacing:.27em;color:#9bb6d3;font-weight:800}
.auth-card .eyebrow{color:#42e0d2!important;font-size:10px!important}.auth-card h1{font-size:34px!important;color:#fff;margin:5px 0 9px!important}.auth-copy{color:#abc0d8!important;font-size:14px!important;max-width:420px}.auth-card .field-label{color:#d9e9f7!important;font-size:11px!important;margin-top:16px!important}.auth-card input,.auth-card select{background:rgba(5,24,50,.76)!important;color:#f5fbff!important;border:1px solid rgba(139,190,235,.34)!important;border-radius:12px!important;padding:13px 14px!important}.auth-card input::placeholder{color:#6f8ba8!important}.auth-card input:focus{border-color:#21cadd!important;box-shadow:0 0 0 3px rgba(16,210,194,.12)!important}.auth-card .btn-primary{border:0!important;background:linear-gradient(90deg,#086fff,#08a5ff 57%,#11cfc3)!important;box-shadow:0 12px 28px rgba(2,125,234,.28)!important;padding:13px 18px!important;border-radius:12px!important}.auth-card .btn-primary:hover{filter:brightness(1.07)!important;transform:translateY(-1px)}.auth-card #loginMessage,.auth-card #setupMessage{margin-top:12px}.auth-test-note{background:rgba(9,38,73,.70)!important;border-color:rgba(83,184,255,.26)!important;color:#b9d8ef!important}.auth-test-note small{color:#89a8c2!important}.auth-test-note span{color:#6ff5e7}.auth-card .hint,.auth-card .field-help{color:#86a5c1!important}
.topbar{height:76px;background:linear-gradient(90deg,#06172d,#082846)!important;border-bottom:1px solid rgba(100,186,243,.2)!important;color:#fff;box-shadow:0 7px 30px rgba(2,20,42,.12)}.brand-mark-image{width:46px!important;height:46px!important;border-radius:14px!important;box-shadow:0 10px 28px rgba(3,130,240,.28)!important}.brand strong{color:#fff;font-size:20px!important}.brand small{color:#8eb1d0!important}.top-actions>div,.default-campus-control{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.10)!important;color:#dcecff!important}.default-campus-control select{background:#082440!important;color:#fff!important;border-color:#234969!important}.status-pill.good{color:#78f0d8!important;background:rgba(15,176,137,.15)!important}
.app-shell{grid-template-columns:258px 1fr!important;background:#f3f8fd}.sidebar{background:linear-gradient(180deg,#061831,#061d38 58%,#052844)!important;border-right:1px solid rgba(83,175,236,.17)!important;padding:22px 15px!important}.sidebar-section-label{color:#5f87aa!important}.nav-item{color:#91aac0!important;border:1px solid transparent!important;transition:.16s ease}.nav-item:hover{background:rgba(19,127,215,.13)!important;color:#dff5ff!important;border-color:rgba(72,174,242,.10)!important}.nav-item.active{background:linear-gradient(90deg,rgba(5,117,255,.30),rgba(17,204,195,.12))!important;color:#fff!important;border-color:rgba(73,190,248,.24)!important;box-shadow:inset 3px 0 #13cfc4}.sidebar-note{background:rgba(9,45,79,.72)!important;border-color:rgba(72,170,233,.16)!important}.main{padding:30px 32px!important}.page-head h1{color:#0d2540!important;font-size:31px!important}.eyebrow{color:#087cff!important}.card,.stat{border-color:#dce9f4!important;box-shadow:0 10px 34px rgba(13,54,91,.065)!important}.card{border-radius:19px!important}.stat{background:linear-gradient(160deg,#fff,#f8fcff)!important}.stat strong{color:#0a2d50}.btn-primary{background:linear-gradient(90deg,#0877f8,#0aa3ff)!important;border-color:transparent!important;box-shadow:0 7px 18px rgba(8,124,255,.18)}.quick-action:hover{border-color:#7ec8f7!important;background:#f2fbff!important}.activity-icon{background:#e9f7ff!important;color:#087cff!important}.import-hero{background:linear-gradient(120deg,#061b35,#08335a 58%,#07596a)!important;box-shadow:0 24px 60px rgba(5,42,79,.18)!important}
@media(max-width:760px){.auth-card{padding:28px 24px!important}.auth-logo-image{width:58px!important;height:58px!important}.auth-brand-copy strong{font-size:22px}.auth-gate:after{left:-190px}.topbar{height:auto!important;padding:12px 14px!important}.app-shell{grid-template-columns:1fr!important}}

/* v3.7 School Year & Agreement Type administration */
.settings-checks{display:grid;gap:9px;margin:15px 0}.settings-checks label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:750;color:#334155}.settings-checks input[type="checkbox"]{width:auto;accent-color:#087cff}.settings-checks+ .hint{margin-top:0}#view-distribution-settings textarea{width:100%;resize:vertical;border:1px solid #d7dee9;border-radius:12px;background:#fff;color:#111827;padding:12px 13px;outline:none;font:inherit}#view-distribution-settings textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.12)}#view-distribution-settings input:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed}

/* v3.9 Live Google Workspace + Chrome Enterprise synchronization */
.google-live-card{border:1px solid rgba(56,139,253,.2);box-shadow:0 18px 50px rgba(13,45,90,.08)}
.google-live-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.google-live-status-grid>div{padding:14px;border:1px solid var(--border,#dbe3ef);border-radius:14px;background:var(--panel-soft,#f8fafc);display:flex;flex-direction:column;gap:6px}
.google-live-status-grid span{font-size:.78rem;color:var(--muted,#64748b)}
.google-live-status-grid strong{font-size:.95rem;overflow-wrap:anywhere}
.integration-setup-panel{margin-top:14px;border:1px solid var(--border,#dbe3ef);border-radius:16px;overflow:hidden;background:var(--card,#fff)}
.integration-setup-panel summary{cursor:pointer;padding:15px 18px;font-weight:750;background:var(--panel-soft,#f8fafc)}
.integration-setup-body{padding:18px}
.google-dwd-box{display:grid;grid-template-columns:1.25fr 1fr 2fr;gap:12px;margin:16px 0;padding:14px;border-radius:14px;background:rgba(37,99,235,.05);border:1px solid rgba(37,99,235,.15)}
.google-dwd-box>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.google-dwd-box small{color:var(--muted,#64748b);font-weight:700}
.google-dwd-box strong,.google-dwd-box code{overflow-wrap:anywhere;white-space:pre-wrap;font-size:.83rem}
.google-dwd-box .btn{align-self:flex-start;margin-top:6px}
.google-ou-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.google-ou-mappings{display:grid;gap:10px;margin:12px 0 16px}
.google-ou-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(210px,1fr) auto;gap:10px;align-items:center}
.google-sync-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:16px;border-radius:14px;background:var(--panel-soft,#f8fafc);border:1px solid var(--border,#dbe3ef)}
.google-sync-actions>div:first-child{display:flex;flex-direction:column;gap:5px;max-width:650px}.google-sync-actions span{color:var(--muted,#64748b);font-size:.9rem}
.google-sync-history-wrap{margin-top:16px}.google-live-connected{background:#dcfce7!important;color:#166534!important}.google-live-error{background:#fee2e2!important;color:#991b1b!important}.google-live-not_configured,.google-live-not_tested{background:#e2e8f0!important;color:#475569!important}
@media(max-width:1000px){.google-live-status-grid,.google-dwd-box{grid-template-columns:1fr 1fr}.google-scope-list{grid-column:1/-1}.google-sync-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.google-live-status-grid,.google-dwd-box,.google-ou-row{grid-template-columns:1fr}.google-scope-list{grid-column:auto}.google-sync-actions .button-row{width:100%}.google-sync-actions .btn{flex:1}}

/* v3.9 Alpha.5 student/staff workflow */
.student-conversion-card{grid-column:1/-1;border-color:#bfdbfe;background:linear-gradient(145deg,#fff,#f8fbff)}.conversion-person{border:1px solid #e2e8f0;background:#f8fafc;border-radius:11px;padding:11px 12px;font-weight:850;color:#0f172a}.credential-inline{margin-top:10px;border:1px solid #a7f3d0;background:#ecfdf5;border-radius:12px;padding:12px;word-break:break-all}.student-quick-actions{display:flex;gap:6px;flex-wrap:wrap}.field-help{display:block;color:#64748b;font-size:11px;line-height:1.4;margin-top:5px}

/* v3.9 Alpha.7 — active school year + automatic device relocation */
.school-year-pill{padding:8px 11px;border:1px solid rgba(245,158,11,.35);border-radius:999px;background:rgba(245,158,11,.10);font-size:12px;font-weight:900;color:#fbbf24;white-space:nowrap}.school-year-pill.active{border-color:rgba(52,211,153,.35);background:rgba(16,185,129,.12);color:#6ee7b7}.automatic-relocation-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;color:#1e3a8a;font-size:12px}.automatic-relocation-note span{color:#475569}@media(max-width:1100px){.school-year-pill{display:none}}@media(max-width:720px){.automatic-relocation-note{align-items:flex-start;flex-direction:column}}


/* v3.9 Alpha.8 — customizable, location-aware operations dashboard */
.dashboard-page-head{align-items:center}.dashboard-head-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;justify-content:flex-end}.dashboard-location-control{display:grid;gap:4px;min-width:220px}.dashboard-location-control span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#64748b;text-transform:uppercase}.dashboard-location-control select{padding:10px 12px;background:#fff}.dashboard-context-strip{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:1px;overflow:hidden;border:1px solid #dbe7f1;border-radius:15px;background:#dbe7f1;margin:-4px 0 18px}.dashboard-context-strip>div{background:#fff;padding:12px 15px}.dashboard-context-strip small,.dashboard-context-strip strong{display:block}.dashboard-context-strip small{font-size:9px;letter-spacing:.11em;color:#7b91a7;font-weight:900}.dashboard-context-strip strong{margin-top:4px;color:#12314f;font-size:13px}.dashboard-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.dashboard-stat{position:relative;overflow:hidden;min-height:112px;transition:transform .16s ease,box-shadow .16s ease}.dashboard-stat:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--dash-accent,#0ea5e9)}.dashboard-stat:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(9,48,84,.11)!important}.dashboard-stat-top{display:flex;align-items:center;gap:8px}.dashboard-stat-top>span{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--dash-accent,#0ea5e9) 12%,white);color:var(--dash-accent,#0ea5e9);font-weight:950}.dashboard-stat em{display:block;margin-top:5px;color:#7b8da0;font-size:10px;font-style:normal;font-weight:700}.stat-total{--dash-accent:#0284c7}.stat-available_standard{--dash-accent:#10b981}.stat-available_loaner{--dash-accent:#8b5cf6}.stat-assigned{--dash-accent:#06b6d4}.stat-loaned{--dash-accent:#6366f1}.stat-issues{--dash-accent:#ef4444}.stat-students{--dash-accent:#f59e0b}.stat-shared{--dash-accent:#64748b}.stat-coverage{--dash-accent:#14b8a6}.dashboard-loading{grid-column:1/-1;display:flex;gap:10px;align-items:center;justify-content:center;padding:24px;background:#fff;border-radius:15px;border:1px solid #dbe7f1}.dashboard-insights{margin:0 0 18px;padding:19px 20px;border-radius:18px;background:linear-gradient(120deg,#061d38,#07375c 58%,#07566b);color:#fff;box-shadow:0 18px 44px rgba(6,44,78,.15)}.dashboard-insight-heading h2{margin:0;font-size:17px}.dashboard-insight-heading p{margin:3px 0 0;color:#9ec2db;font-size:12px}.dashboard-insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.dashboard-insight{display:flex;gap:10px;align-items:flex-start;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.07);border-radius:13px;padding:12px}.dashboard-insight>span{width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:grid;place-items:center;font-weight:900;background:rgba(255,255,255,.12)}.dashboard-insight strong,.dashboard-insight small{display:block}.dashboard-insight strong{font-size:12px}.dashboard-insight small{font-size:10px;color:#b9d4e7;line-height:1.35;margin-top:3px}.dashboard-insight.green>span{color:#6ee7b7}.dashboard-insight.amber>span{color:#fcd34d}.dashboard-insight.red>span{color:#fca5a5}.dashboard-insight.violet>span{color:#c4b5fd}.dashboard-insight.blue>span{color:#7dd3fc}.dashboard-analytics-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:18px;margin-bottom:18px}.dashboard-mini-badge{font-size:10px;font-weight:900;padding:6px 9px;border-radius:999px;background:#ecfeff;color:#0e7490}.dashboard-donut-wrap{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:20px;min-height:220px}.dashboard-donut{width:170px;height:170px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(15,23,42,.04)}.dashboard-donut>div{width:104px;height:104px;border-radius:50%;background:#fff;display:grid;place-items:center;align-content:center;box-shadow:0 5px 18px rgba(15,23,42,.09)}.dashboard-donut strong{font-size:29px;color:#12314f;line-height:1}.dashboard-donut small{font-size:10px;color:#7b8da0;margin-top:5px}.dashboard-chart-legend{display:grid;gap:8px}.dashboard-legend-row{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px;border-bottom:1px solid #eef3f7;padding-bottom:7px}.dashboard-legend-row span{display:flex;align-items:center;gap:7px;color:#526b82}.dashboard-legend-row i{width:9px;height:9px;border-radius:50%}.dashboard-location-chart{display:grid;gap:10px}.dashboard-location-bar{display:grid;grid-template-columns:minmax(150px,1.2fr) 2fr 42px;gap:10px;align-items:center;border:0;background:transparent;padding:7px;border-radius:10px;text-align:left;cursor:pointer}.dashboard-location-bar:hover,.dashboard-location-bar.selected{background:#f1f8fe}.dashboard-location-name strong,.dashboard-location-name small{display:block}.dashboard-location-name strong{font-size:12px;color:#203e5b}.dashboard-location-name small{font-size:9px;color:#8398ab;margin-top:2px}.dashboard-bar-track{height:10px;background:#e8f0f7;border-radius:999px;overflow:hidden}.dashboard-bar-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0877f8,#12c6ba)}.dashboard-location-bar b{text-align:right;color:#12314f}.dashboard-location-table-card{margin-bottom:18px}.dashboard-location-table td:first-child small{display:block;color:#94a3b8;font-size:9px;margin-top:2px}.dashboard-location-link{border:0;background:transparent;padding:0;color:#0b70d7;font-weight:850;cursor:pointer;text-align:left}.coverage-pill{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.coverage-pill.good{background:#dcfce7;color:#166534}.coverage-pill.warn{background:#fef3c7;color:#92400e}.coverage-pill.bad{background:#fee2e2;color:#991b1b}.dashboard-lower-grid{margin-top:0}.dashboard-customizer{position:fixed;z-index:90;right:24px;top:92px;width:min(760px,calc(100vw - 48px));max-height:calc(100vh - 116px);overflow:auto;background:#fff;border:1px solid #cfe0ee;border-radius:20px;box-shadow:0 30px 90px rgba(3,31,58,.28);padding:22px}.dashboard-customizer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:1px solid #e8eef4;padding-bottom:15px;margin-bottom:17px}.dashboard-customizer-head h2{margin:2px 0 5px}.dashboard-customizer-head p{margin:0;color:#64748b;font-size:12px}.dashboard-customizer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.dashboard-customizer fieldset{border:1px solid #dbe7f1;border-radius:14px;padding:14px;display:grid;gap:9px;align-content:start}.dashboard-customizer legend{font-size:11px;font-weight:900;color:#21425f;padding:0 5px}.dashboard-customizer label{display:flex;gap:8px;align-items:center;color:#425b72;font-size:12px;font-weight:700}.dashboard-customizer input[type="checkbox"]{width:auto;accent-color:#0877f8}.dashboard-customizer label:has(select){display:grid;gap:5px}.dashboard-customizer select{padding:9px}.dashboard-customizer .btn{margin-top:5px}.dashboard-widget.hidden{display:none!important}#view-dashboard[data-dashboard-theme="emerald"]{--dashboard-theme:#059669}#view-dashboard[data-dashboard-theme="emerald"] .dashboard-insights{background:linear-gradient(120deg,#052e2b,#065f46,#047857)}#view-dashboard[data-dashboard-theme="emerald"] .dashboard-bar-track i{background:linear-gradient(90deg,#059669,#2dd4bf)}#view-dashboard[data-dashboard-theme="sunset"] .dashboard-insights{background:linear-gradient(120deg,#431407,#9a3412,#c2410c)}#view-dashboard[data-dashboard-theme="sunset"] .dashboard-bar-track i{background:linear-gradient(90deg,#f97316,#f59e0b)}#view-dashboard[data-dashboard-theme="violet"] .dashboard-insights{background:linear-gradient(120deg,#2e1065,#5b21b6,#7c3aed)}#view-dashboard[data-dashboard-theme="violet"] .dashboard-bar-track i{background:linear-gradient(90deg,#7c3aed,#a855f7)}#view-dashboard[data-dashboard-density="compact"] .dashboard-stat{padding:12px;min-height:90px}#view-dashboard[data-dashboard-density="compact"] .dashboard-stat strong{font-size:24px}#view-dashboard[data-dashboard-density="compact"] .card{padding:17px}#view-dashboard[data-dashboard-density="compact"] .dashboard-insights{padding:15px 16px}.dashboard-location-control select:focus{border-color:#38bdf8}
@media(max-width:1250px){.dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-insight-grid{grid-template-columns:1fr 1fr}.dashboard-customizer-grid{grid-template-columns:1fr 1fr}.dashboard-customizer-grid fieldset:last-child{grid-column:1/-1}.dashboard-analytics-grid{grid-template-columns:1fr}}
@media(max-width:760px){.dashboard-page-head{align-items:flex-start}.dashboard-head-actions{width:100%;justify-content:flex-start}.dashboard-location-control{width:100%}.dashboard-context-strip{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:1fr 1fr}.dashboard-insight-grid{grid-template-columns:1fr}.dashboard-donut-wrap{grid-template-columns:1fr;justify-items:center}.dashboard-chart-legend{width:100%}.dashboard-location-bar{grid-template-columns:minmax(115px,1.1fr) 1.4fr 34px}.dashboard-customizer{right:12px;top:80px;width:calc(100vw - 24px);max-height:calc(100vh - 94px)}.dashboard-customizer-grid{grid-template-columns:1fr}.dashboard-customizer-grid fieldset:last-child{grid-column:auto}.dashboard-customizer-head{flex-direction:column}.dashboard-location-table-card{overflow:hidden}}

.dashboard-analytics-grid.single,.dashboard-lower-grid.single{grid-template-columns:1fr!important}
