@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');:root{--ink:#18332c;--muted:#71807b;--line:#e1e9e5;--mint:#dceee7;--green:#2f946b;--cream:#f8fbf8;--coral:#ef735d}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff;display:flex;min-height:100vh}aside{width:245px;background:#f1f8f5;border-right:1px solid #e1eee8;padding:28px 18px 20px;display:flex;flex-direction:column}.brand{font-weight:700;font-size:22px;color:var(--ink);text-decoration:none;padding:0 12px;letter-spacing:-.7px}.logo{display:inline-flex;background:#24664e;color:white;width:28px;height:28px;border-radius:9px;align-items:center;justify-content:center;margin-right:7px;font-size:19px}.logo span,.brand-dot,h1 span{color:#ef735d}.school{margin:44px 0 31px;padding:12px;border:1px solid #dbeae3;border-radius:10px;display:flex;gap:10px;font-size:11px;font-weight:600}.school small,.profile small{display:block;color:#95a39e;font-size:10px;font-weight:400;margin-top:3px}.school-icon{background:#d4e9e0;border-radius:6px;padding:5px;color:#43836a}.nav-caption{font:10px 'DM Mono';color:#a6b3ae;letter-spacing:1px;padding:0 13px 10px}nav button{width:100%;border:0;background:transparent;text-align:left;padding:12px 14px;border-radius:8px;color:#7c8b86;display:flex;gap:13px;font:500 13px 'DM Sans';cursor:pointer}nav button.active,nav button:hover{background:#dceee7;color:#24664e}nav b{margin-left:auto;font-size:10px;background:#f3a08e;color:#fff;border-radius:10px;padding:2px 6px}.aside-bottom{margin-top:auto;padding:17px 13px 18px;border-top:1px solid #dbeae3}.help-icon{color:#ef735d;font-size:22px}.aside-bottom h3{font:600 14px Fraunces;margin:10px 0 6px}.aside-bottom p{font-size:11px;color:#8b9a95;line-height:1.5;margin:0 0 12px}.text-link{border:0;background:none;padding:0;color:#2f946b;font:600 11px 'DM Sans';cursor:pointer}.profile{border-top:1px solid #dbeae3;padding:18px 10px 0;display:flex;gap:8px;align-items:center;font-size:11px;font-weight:600}.avatar{display:inline-flex;width:27px;height:27px;background:#bddfd1;color:#3d7b63;border-radius:50%;align-items:center;justify-content:center;font-size:9px;font-weight:700}.online{width:6px;height:6px;border-radius:50%;background:#54bf86;margin-left:auto}main{flex:1;min-width:0;background:#fff}header{height:72px;border-bottom:1px solid #edf1ef;padding:0 52px;display:flex;align-items:center;justify-content:space-between}.breadcrumb{font:11px 'DM Mono';color:#9da9a5}.breadcrumb span{margin:0 10px;color:#cad4d0}.breadcrumb strong{font-weight:400;color:#63736e}.header-right{display:flex;gap:18px;align-items:center}.demo-pill{font-size:11px;color:#4a896d;background:#e8f5ef;padding:7px 11px;border-radius:14px}.demo-pill:first-letter{color:#54bf86}.avatar.light{background:#eff3f1;color:#83908c}.content{padding:38px 52px;max-width:1400px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:31px}.eyebrow,.welcome-tag{font:10px 'DM Mono';letter-spacing:1.5px;color:#65a082}.page-heading h1{font:700 36px Fraunces;margin:8px 0 7px;letter-spacing:-1px}.page-heading p{margin:0;color:#80908b;font-size:13px}.primary{background:#24664e;border:0;color:#fff;padding:13px 17px;border-radius:7px;font-weight:600;font-size:12px;cursor:pointer}.primary:hover{background:#194f3d}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:10px;margin-bottom:26px}.stat{padding:19px 22px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat-label{font:10px 'DM Mono';color:#87958f;letter-spacing:.3px}.stat-value{font:700 25px Fraunces;margin:10px 0 4px}.stat-note{font-size:10px;color:#8d9a95}.stat-note.good{color:#53a37d}.stat-note.warn{color:#de745d}.welcome{min-height:196px;background:#eaf6f0;border-radius:10px;display:flex;position:relative;overflow:hidden;margin-bottom:33px}.welcome>div:first-child{padding:29px 34px;z-index:2}.welcome h2{font:700 28px Fraunces;line-height:1.05;margin:10px 0 9px;letter-spacing:-.5px}.welcome p{font-size:11px;color:#789087;line-height:1.55;margin:0 0 15px}.welcome button{background:#24664e;border:0;color:white;border-radius:5px;padding:9px 12px;font:600 11px 'DM Sans'}.welcome button span{margin-left:10px}.campus-art{position:absolute;right:0;bottom:0;width:48%;height:100%;overflow:hidden}.sun{position:absolute;width:100px;height:100px;border-radius:50%;background:#f8d37e;right:80px;top:24px}.cloud{position:absolute;background:white;border-radius:50px;width:60px;height:16px;opacity:.7}.cloud:before{content:'';position:absolute;background:white;width:28px;height:28px;border-radius:50%;left:14px;top:-12px}.c1{top:32px;right:170px}.c2{top:62px;right:10px;transform:scale(.7)}.building{position:absolute;background:#f9c4a9;width:220px;height:112px;right:114px;bottom:24px;border-radius:2px}.roof{position:absolute;background:#e8896e;color:#fff;font:bold 10px 'DM Mono';letter-spacing:1px;width:100%;padding:7px;text-align:center;top:-15px;clip-path:polygon(8% 100%,50% 0,92% 100%)}.windows{position:absolute;color:#fff;line-height:39px;letter-spacing:19px;top:33px;left:25px;font-size:26px}.door{position:absolute;background:#7ca78b;width:32px;height:60px;bottom:0;left:94px;border-radius:15px 15px 0 0}.tree{position:absolute;color:#67a37e;font-size:63px;bottom:25px}.t1{right:25px}.t2{right:335px;font-size:50px;bottom:19px}.ground{position:absolute;bottom:0;right:0;width:100%;height:35px;background:#b5dcc7;border-radius:50% 50% 0 0}.floating-check{position:absolute;right:290px;top:35px;background:#fff;color:#318562;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #85bba566}.section-head{display:flex;justify-content:space-between;align-items:flex-start}.section-head h2{font:700 20px Fraunces;margin:0 0 6px}.section-head h2 span{font:11px 'DM Mono';color:#a9b4b0;font-weight:400;margin-left:5px}.section-head p{color:#8b9893;font-size:11px;margin:0}.quiet{border:0;background:none;color:#459271;font-size:11px;font-weight:600;cursor:pointer}.filters{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-top:20px}.tabs{display:flex;gap:24px}.tabs button{border:0;background:none;padding:0 0 13px;font-size:11px;color:#97a39e;cursor:pointer}.tabs button.selected{color:#24664e;border-bottom:2px solid #24664e;font-weight:600}.search{border:1px solid var(--line);border-radius:5px;padding:7px 10px;width:175px;display:flex;gap:5px;color:#acb8b3}.search input{border:0;outline:0;font:11px 'DM Sans';width:100%}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{text-align:left;font:9px 'DM Mono';letter-spacing:.7px;color:#a5b0ac;padding:14px 8px;border-bottom:1px solid var(--line)}td{padding:14px 8px;border-bottom:1px solid #edf1ef;color:#61706b;vertical-align:middle}td:first-child{color:var(--ink);font-weight:600}.issue-title{display:flex;gap:10px;align-items:center}.issue-icon{width:25px;height:25px;border-radius:7px;background:#fff0e5;color:#e88761;display:flex;align-items:center;justify-content:center;font-size:13px}.issue-icon.blue{background:#e5f0f9;color:#6399c4}.issue-icon.pink{background:#f7e8ea;color:#c6767f}.issue-icon.green{background:#e3f2e8;color:#5fa577}.issue-location{display:block;color:#a1ada8;font-size:10px;font-weight:400;margin-top:3px}.pill{display:inline-block;border-radius:12px;padding:4px 8px;font-size:10px;background:#f1f4f2;color:#75837e}.pill.high{color:#d66a53;background:#fff0eb}.pill.urgent{color:#fff;background:#e66e57}.pill.medium{color:#b07c33;background:#fff8e9}.pill.resolved{color:#4d9b70;background:#eaf7ef}.eta{font-size:10px}.eta.overdue{color:#d86650}.eta small{display:block;color:#9eaaa5;margin-top:3px}.row-action{border:0;background:transparent;color:#98a49f;cursor:pointer;font-size:17px}.table-footer{padding-top:14px;display:flex;justify-content:space-between;color:#a1aca8;font-size:10px}.green{color:#62aa84}footer{border-top:1px solid #edf1ef;margin-top:42px;padding:19px 0;color:#a1aca8;display:flex;justify-content:space-between;font-size:10px}dialog{border:0;border-radius:12px;padding:0;width:min(520px,calc(100% - 30px));box-shadow:0 20px 60px #18332c33}dialog::backdrop{background:#18332c55}.modal{padding:27px}.modal h2{font:700 24px Fraunces;margin:0 0 5px}.modal p{font-size:12px;color:#82908b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}.field label{font:10px 'DM Mono';color:#70807a;text-transform:uppercase}.field input,.field select,.field textarea{border:1px solid #dce6e1;border-radius:5px;padding:9px;font:12px 'DM Sans';color:var(--ink)}.field textarea{height:80px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.secondary{border:1px solid #dce6e1;background:#fff;border-radius:5px;padding:10px 14px;color:#71807b;font-size:11px}.check{font-size:11px;color:#71807b}.check input{accent-color:#24664e}.detail{padding:26px}.detail-top{display:flex;justify-content:space-between}.detail h2{font:700 23px Fraunces;margin:8px 0}.detail .meta{color:#8a9892;font-size:11px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;background:#f6faf8;padding:15px;border-radius:7px}.detail-grid b{display:block;font:9px 'DM Mono';color:#9ba7a2;margin-bottom:5px}.detail-grid span{font-size:12px}.toaster{display:none}#analytics{margin-top:30px}#analytics h2{font:700 20px Fraunces}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.chart-card{border:1px solid var(--line);border-radius:8px;padding:18px}.bar{height:9px;background:#e9f1ed;border-radius:8px;margin:10px 0}.bar i{display:block;height:100%;background:#62aa84;border-radius:8px}.chart-row{display:flex;justify-content:space-between;font-size:11px;color:#6f7e78;margin-top:12px}@media(max-width:850px){aside{width:70px;padding:20px 10px}.brand{font-size:0}.brand .logo{margin:0}.school,.nav-caption,nav span,.aside-bottom,.profile div,.profile .online{display:none}.profile{padding:14px 0;justify-content:center}.content{padding:28px 20px}header{padding:0 20px}.welcome{min-height:240px}.campus-art{width:70%;opacity:.7}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.page-heading h1{font-size:29px}.primary{padding:11px}.analytics-grid{grid-template-columns:1fr}}
#toast{display:none;position:fixed;bottom:24px;right:24px;background:#18332c;color:#fff;padding:12px 16px;border-radius:6px;font-size:12px;box-shadow:0 5px 20px #18332c44;z-index:5}
.login-modal{text-align:center}.login-logo{font-weight:700;font-size:22px;margin-bottom:24px}.login-modal p{max-width:330px;margin:0 auto 20px}.role-buttons{display:grid;gap:10px;margin:22px 0}.role-choice{border:1px solid #d7e7df;background:#f5faf7;border-radius:8px;padding:17px;text-align:left;color:#18332c;font:600 14px 'DM Sans';cursor:pointer}.role-choice:hover{background:#dceee7;border-color:#7cb99d}.role-choice span{float:right;color:#2f946b;font-size:20px}.login-modal form{text-align:left}
body.logged-out>aside,body.logged-out>main{display:none}.login-screen{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:#eaf6f0;padding:30px}.login-card{background:#fff;width:min(470px,100%);padding:48px;border-radius:16px;box-shadow:0 20px 60px #18332c1c;text-align:center}.login-logo{font-weight:700;font-size:24px;margin-bottom:30px}.login-card h1{font:700 34px Fraunces;line-height:1.05;margin:12px 0}.login-card p{color:#7f8e88;font-size:13px;margin-bottom:25px}.login-roles{display:grid;gap:12px}.login-roles button{border:1px solid #d5e6de;background:#f4faf7;border-radius:9px;padding:18px;text-align:left;font:600 15px 'DM Sans';color:#18332c;cursor:pointer}.login-roles button:hover{background:#dceee7;border-color:#65a082}.login-roles span{float:right;color:#2f946b;font-size:21px}.login-card form{text-align:left}.login-card form label{display:block;font:10px 'DM Mono';color:#71807b;text-transform:uppercase;margin:15px 0 6px}.login-card form input{width:100%;padding:12px;border:1px solid #dce6e1;border-radius:6px;font-size:16px}.login-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:17px}.login-actions button:first-child{border:1px solid #dce6e1;background:#fff;border-radius:5px;padding:10px 14px;color:#71807b}.login-actions .primary{border:0}.login-card #login-error{color:#d86650;font-size:11px;margin-top:12px;min-height:15px}
.admin-dashboard .page-heading h1{color:#214f40}.admin-dashboard .welcome{display:none}.admin-dashboard .reports-panel{border-top:3px solid #2f946b;padding-top:20px}
/* responsive system */
html{overflow-x:hidden}body{overflow-x:hidden}button,input,select,textarea{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b6ddcb;outline-offset:2px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:760px}.reports-panel{min-width:0}.login-card{max-height:calc(100vh - 40px);overflow:auto}
@media (min-width:1200px){.content{width:100%;padding-left:clamp(52px,5vw,96px);padding-right:clamp(52px,5vw,96px)}}
@media (max-width:850px){body:not(.logged-out){display:block}body:not(.logged-out)>aside{width:100%;height:auto;min-height:0;padding:12px 16px;display:block;border-right:0;border-bottom:1px solid #dcebe4;position:sticky;top:0;z-index:10}.brand{display:inline-block;padding:0;font-size:20px}.school,.nav-caption,.aside-bottom{display:none}aside nav{display:flex;gap:5px;margin-top:12px;overflow-x:auto}aside nav button{flex:1;justify-content:center;white-space:nowrap;padding:10px 9px;font-size:11px}aside nav button span{display:inline}.profile{display:none}header{height:58px;padding:0 18px}.demo-pill{display:none}.content{padding:24px 18px}.page-heading{align-items:flex-start;gap:18px;flex-direction:column;margin-bottom:22px}.page-heading h1{font-size:30px}.primary{min-height:42px}.stats{margin-bottom:18px}.stat{padding:15px}.stat-value{font-size:23px}.welcome{min-height:220px}.welcome>div:first-child{padding:24px}.campus-art{width:58%;opacity:.45}.section-head{gap:12px;flex-direction:column}.quiet{padding:0}.filters{align-items:stretch;gap:12px;flex-direction:column}.tabs{gap:16px;overflow-x:auto}.tabs button{white-space:nowrap}.search{width:100%;height:38px}.table-footer{gap:10px;flex-direction:column}footer{gap:8px;flex-direction:column}.analytics-grid{grid-template-columns:1fr}.login-screen{padding:18px}.login-card{padding:32px 22px}.login-card h1{font-size:31px}}
@media (max-width:480px){.content{padding:20px 14px}.header-right .avatar{display:none}.breadcrumb{font-size:10px}.page-heading h1{font-size:27px}.page-heading p{font-size:12px}.stats{grid-template-columns:1fr 1fr}.stat{padding:13px 11px}.stat-label{font-size:9px}.stat-value{font-size:21px;margin:7px 0 3px}.stat-note{font-size:9px}.welcome{min-height:250px}.welcome h2{font-size:25px}.campus-art{width:100%;opacity:.27}.building{right:20px;transform:scale(.8);transform-origin:bottom right}.t2{right:250px}.floating-check{right:220px}.reports-panel{margin-left:-2px;margin-right:-2px}.section-head h2{font-size:19px}.table-wrap{margin:0 -4px}.table-wrap table{min-width:700px}dialog{width:calc(100% - 20px);max-height:90vh}.modal{padding:20px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.login-card{padding:28px 20px}.login-logo{margin-bottom:22px}}
@media (max-width:340px){.login-card h1{font-size:27px}.login-card{padding:24px 16px}.login-roles button{padding:15px}.stats{grid-template-columns:1fr}.stat{border-right:0!important;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}}
/* Sidebar selection is persistent; hover is intentionally lighter. */
nav button{position:relative;transition:background .15s ease,color .15s ease,box-shadow .15s ease}nav button:hover{background:#e9f5f0;color:#2f765b}nav button.active,nav button[aria-current="page"]{background:#d2e9df;color:#1d644b;box-shadow:inset 3px 0 0 #2f946b;font-weight:700}nav button.active:hover,nav button[aria-current="page"]:hover{background:#d2e9df;color:#1d644b}nav button:focus-visible{box-shadow:inset 3px 0 0 #2f946b,0 0 0 3px #b6ddcb}
.action-menu{position:absolute;z-index:1000;width:185px;background:#fff;border:1px solid #dce8e2;border-radius:9px;padding:5px;box-shadow:0 14px 35px #18332c2b}.action-menu button{display:block;width:100%;border:0;background:transparent;color:#405d53;text-align:left;border-radius:6px;padding:9px 10px;font-size:11px;cursor:pointer}.action-menu button:hover{background:#eaf6f0;color:#24664e}.photo-viewer{position:relative;text-align:center;max-height:80vh;overflow:auto}.photo-viewer .row-action{position:absolute;right:10px;top:8px}.photo-viewer img{display:block;max-width:100%;max-height:70vh;margin:20px auto 0;border-radius:7px}
.detail-photo{margin:14px 0;border-radius:8px;overflow:hidden;background:#f3f7f5}.detail-photo img{display:block;max-width:100%;max-height:240px;margin:auto}.pill.ignored{color:#66756f;background:#e7ece9}.action-menu{max-height:70vh;overflow:auto}
/* premium dark dashboard theme */
:root{--ink:#f1f5f9;--muted:#94a3b8;--line:#253650;--mint:#14233b;--green:#3b82f6;--cream:#080d18;--coral:#60a5fa}body,main{background:#080d18;color:#f1f5f9}aside{background:#0d1729;border-color:#253650}.school,.profile{border-color:#253650}.school-icon{background:#14233b;color:#60a5fa}.nav-caption,.breadcrumb,.stat-label,.issue-location,.table-footer,footer{color:#94a3b8}nav button{color:#94a3b8}nav button:hover{background:#172b49;color:#bfdbfe}nav button.active,nav button[aria-current=page],nav button.active:hover{background:#183b74;color:#dbeafe;box-shadow:inset 3px 0 #3b82f6}.demo-pill{background:#14233b;color:#93c5fd}.content header,header{border-color:#253650}.primary{background:#2563eb}.primary:hover{background:#3b82f6}.stats,.stat,.reports-panel,.chart-card{border-color:#253650}.stat{background:#0d1729}.welcome{background:#102441}.section-head p,.page-heading p,.modal p{color:#94a3b8}.filters{border-color:#253650}.tabs button{color:#94a3b8}.tabs button.selected{color:#93c5fd;border-color:#3b82f6}.search,.field input,.field select,.field textarea,.detail-grid{background:#0d1729;border-color:#253650;color:#f1f5f9}.search input{background:transparent;color:#f1f5f9}.search input::placeholder,.field input::placeholder,.field textarea::placeholder{color:#64748b}th{color:#94a3b8;border-color:#253650}td{color:#cbd5e1;border-color:#253650}td:first-child{color:#f1f5f9}.pill{background:#1e293b;color:#cbd5e1}.pill.high,.pill.urgent{background:#7f1d1d;color:#fecaca}.pill.medium{background:#713f12;color:#fde68a}.pill.resolved{background:#14532d;color:#bbf7d0}.pill.ignored{background:#334155;color:#cbd5e1}.action-menu,dialog{background:#0d1729;border-color:#253650;color:#f1f5f9}.action-menu button{color:#cbd5e1}.action-menu button:hover{background:#183b74;color:#fff}.modal,.detail{background:#0d1729;color:#f1f5f9}.secondary{background:#14233b;border-color:#253650;color:#cbd5e1}.detail-photo{background:#14233b}.bar{background:#253650}.bar i{background:#3b82f6}#toast{background:#14233b;color:#f1f5f9}.login-screen{background:#080d18}.login-card{background:#0d1729;color:#f1f5f9;box-shadow:0 20px 60px #0008}.login-card p,.login-card form label{color:#94a3b8}.login-roles button{background:#14233b;border-color:#253650;color:#f1f5f9}.login-roles button:hover{background:#183b74;border-color:#3b82f6}.login-card form input{background:#14233b;border-color:#253650;color:#f1f5f9}.login-actions button:first-child{background:#14233b;border-color:#253650;color:#cbd5e1}
.pill.dismissed{color:#cbd5e1;background:#334155}

/* Department routing uses the existing dark blue / black palette. */
[hidden]{display:none!important}.department-queues{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.department-queues button{border:1px solid #253650;background:#0d1729;color:#cbd5e1;border-radius:8px;padding:10px 12px;cursor:pointer;text-align:left;font-size:11px}.department-queues button[aria-pressed=true]{background:#183b74;border-color:#3b82f6;color:#dbeafe}.department-queues small{display:block;margin-top:4px;color:#94a3b8}.detail-grid label{display:block;color:#94a3b8;font:9px 'DM Mono';margin-bottom:5px}.detail-grid select,.detail-grid input{max-width:100%;width:100%;background:#14233b;border:1px solid #253650;color:#f1f5f9;padding:8px;border-radius:5px}.field small{color:#94a3b8;font-size:11px}.admin-dashboard .page-heading h1{color:#f1f5f9}.admin-dashboard .reports-panel{border-top-color:#3b82f6}.action-menu{width:225px}
/* Full-page workspace sign-in. Navigation uses ordinary links and separate URLs. */
.login-screen{box-sizing:border-box;min-height:100svh;padding:clamp(20px,5vw,64px) 20px;background:radial-gradient(ellipse at top,#102441 0,#080d18 65%);align-items:center;justify-content:center}
.login-shell{box-sizing:border-box;width:100%;max-width:760px;margin:auto;padding:clamp(24px,5vw,52px);border:1px solid #253650;border-radius:20px;background:#0d1729;box-shadow:0 24px 80px #0005;min-width:0}
.login-shell .login-logo{display:inline-flex;align-items:center;margin:0 0 36px;color:#f1f5f9;text-decoration:none;gap:0;font-size:25px;line-height:1.3}
.login-shell h1{font:600 clamp(28px,4.5vw,40px)/1.16 Fraunces,Georgia,serif;letter-spacing:-.7px;margin:12px 0 14px;color:#f1f5f9;overflow-wrap:break-word}
.login-shell .eyebrow{color:#93c5fd;line-height:1.6}
.login-description{font-size:14px;line-height:1.65;color:#94a3b8;margin:0 0 26px;max-width:54ch}
.workspace-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.login-choice{display:flex;align-items:flex-start;gap:12px;padding:22px 18px;border:1px solid #30415c;border-radius:12px;color:#f1f5f9;text-decoration:none;background:#14233b;min-width:0;transition:background .15s,border-color .15s}
.choice-symbol,.role-monogram{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:9px;background:#1c365d;color:#bfdbfe;font:600 12px 'DM Sans',sans-serif}
.choice-copy{min-width:0;flex:1}.choice-copy strong{display:block;font-size:17px;line-height:1.4;white-space:nowrap}.choice-copy small{display:block;font-size:12px;line-height:1.6;color:#aab8cc;margin-top:6px}.choice-arrow{color:#93c5fd;font-size:20px;line-height:1.7}
.login-back{display:inline-block;padding:8px 0;margin:-4px 0 24px;font-size:13px;color:#bfdbfe;text-decoration:none;min-height:24px}.login-back:hover{text-decoration:underline}
.staff-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.staff-role-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px 16px;border:1px solid #30415c;border-radius:12px;background:#14233b;text-decoration:none;color:#f1f5f9;min-width:0;transition:background .15s,border-color .15s}
.staff-role-card strong{font-size:15px;line-height:1.4}.staff-role-card small{font-size:12px;color:#aab8cc;line-height:1.6}.role-selected{color:#bfdbfe;font-size:11px;font-weight:600;margin-top:auto}
.login-choice:hover,.staff-role-card:hover{background:#183454;border-color:#60a5fa}.staff-role-card.selected{border-color:#60a5fa;background:#183b74}
.login-shell a:focus-visible,.login-shell button:focus-visible,.login-shell input:focus-visible{outline:3px solid #93c5fd;outline-offset:4px}
.login-view h1:focus{outline:none}
.login-selected-role{display:block;border-left:3px solid #60a5fa;color:#bfdbfe;font-size:12px;line-height:1.6;padding:3px 0 3px 10px;margin-bottom:16px}
#login-form{max-width:440px;margin-top:24px}#login-form label{display:block;font-size:12px;line-height:1.5;color:#cbd5e1;margin:20px 0 8px}#login-form input{box-sizing:border-box;display:block;width:100%;min-width:0;min-height:48px;border:1px solid #3a4c69;border-radius:8px;padding:12px;background:#080d18;color:#f1f5f9;font:16px 'DM Sans',sans-serif}#login-form input[aria-invalid=true]{border-color:#fca5a5}
.login-field-help{font-size:12px;line-height:1.6;color:#94a3b8;margin:8px 0 0}.login-error{color:#fca5a5;font-size:13px;line-height:1.6;margin:14px 0;overflow-wrap:anywhere}.login-error:empty{display:none}#login-submit{display:block;width:100%;min-height:48px;margin-top:24px;border-radius:8px;font-size:14px}#login-submit:disabled{cursor:wait;opacity:.65}
.login-footer{border-top:1px solid #253650;margin:32px 0 0;padding-top:20px;font-size:12px;line-height:1.6;color:#94a3b8}
@media(max-width:700px){.workspace-choices{grid-template-columns:1fr}}
@media(max-width:600px){.login-screen{padding:20px 16px}.login-shell{padding:28px 22px;border-radius:16px}.login-shell .login-logo{margin-bottom:28px}.staff-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-choice{padding:18px 16px}}
@media(max-width:359px){.login-screen{padding:16px 12px}.login-shell{padding:24px 18px}.staff-role-grid{grid-template-columns:1fr}.staff-role-card{padding:16px}.login-shell h1{font-size:28px}.login-choice{gap:10px;padding:16px 12px}.choice-copy strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.login-choice,.staff-role-card{transition:none}}
/* Persistent repair management and work-hour metrics. */
.work-hour-dashboard{margin:24px 0;padding:22px;background:#0d1729;border:1px solid #253650;border-radius:12px}.work-hour-dashboard h2{font:600 24px Fraunces,Georgia,serif;margin:0 0 8px}.work-hour-dashboard>p,.repair-muted{color:#94a3b8;font-size:12px;line-height:1.6}.work-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.work-metrics>div{padding:14px;border-radius:8px;background:#14233b}.work-metrics span,.repair-timer>div>span{display:block;color:#94a3b8;font-size:11px;margin-bottom:8px}.work-metrics strong{font-size:17px;line-height:1.6}.work-breakdown{border-top:1px solid #253650;padding:14px 0}.work-breakdown summary{color:#bfdbfe;font-size:13px;cursor:pointer}.work-clock{font-variant-numeric:tabular-nums;white-space:nowrap}.technician-repairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.repair-card{min-width:0;padding:22px;background:#0d1729;border:1px solid #30415c;border-radius:12px}.repair-heading{display:flex;gap:14px;align-items:flex-start;justify-content:space-between}.repair-heading h3{font:600 23px/1.3 Fraunces,Georgia,serif;overflow-wrap:anywhere;margin:10px 0 16px}.repair-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 16px}.repair-meta dt{font-size:10px;color:#94a3b8;margin-bottom:5px}.repair-meta dd{font-size:12px;line-height:1.6;margin:0;overflow-wrap:anywhere}.repair-thumbnail{display:block;width:100%;max-height:160px;object-fit:contain;background:#080d18;border-radius:8px;margin:16px 0}.repair-timer{padding:16px;border:1px solid #253650;border-radius:8px;display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}.repair-timer strong{font-size:16px}.work-state{color:#bfdbfe;font-size:12px}.repair-card label{display:block;margin:18px 0 8px;font-size:12px;color:#cbd5e1}.repair-card label span{font-size:11px;color:#94a3b8}.repair-card textarea{box-sizing:border-box;max-width:100%;width:100%;resize:vertical;border:1px solid #3a4c69;border-radius:8px;padding:12px;background:#080d18;color:#f1f5f9;font-size:16px}.repair-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.repair-buttons button{min-height:44px;cursor:pointer}.repair-buttons button:disabled{opacity:.45;cursor:not-allowed}.repair-feedback{font-size:12px;line-height:1.6;color:#bfdbfe;overflow-wrap:anywhere}.repair-history{display:block;margin-top:16px;min-height:36px}.work-history{padding-left:18px;font-size:12px;line-height:1.7}.work-history li{margin:12px 0}.work-history small{display:block;color:#94a3b8}.work-history p,.repair-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6}.repair-progress{padding:14px 0;border-bottom:1px solid #253650}.repair-progress h3{font-size:15px}.repair-history-content{border-top:1px solid #253650;margin-top:14px;padding-top:12px}.repair-history-content summary{cursor:pointer;font-size:12px;color:#bfdbfe}
@media(max-width:1100px){.technician-repairs{grid-template-columns:1fr}.work-metrics{grid-template-columns:1fr 1fr}}@media(max-width:430px){.repair-card,.work-hour-dashboard{padding:16px}.work-metrics{grid-template-columns:1fr}.repair-meta{grid-template-columns:1fr}.repair-timer{display:block}.repair-timer>div{margin-bottom:12px}.repair-buttons{grid-template-columns:1fr}.repair-heading{flex-wrap:wrap}}
/* Principal escalations retain the existing dark navy dashboard palette. */
.escalation-dashboard{margin:24px 0;padding:22px;background:#0d1729;border:1px solid #30415c;border-radius:12px}.escalation-dashboard h2{font:600 24px Fraunces,Georgia,serif;margin:0 0 10px}.escalation-dashboard p,.escalation-dashboard small{font-size:12px;line-height:1.6;color:#94a3b8}.escalation-dashboard small{display:block;margin-top:6px;overflow-wrap:anywhere}.escalation-counts{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0;color:#fed7aa}.escalation-counts strong{padding:12px;background:#1c2c44;border-radius:8px}.overdue-row{background:#4b263040;box-shadow:inset 3px 0 #f59e0b}.deadline-badge{display:block;color:#fbbf24;font-size:11px;line-height:1.7;margin-top:7px}.escalation-history,.notification-config{border-top:1px solid #253650;margin-top:20px;padding-top:16px}.escalation-dashboard summary{cursor:pointer;color:#bfdbfe;font-size:13px}.attempt-result{max-width:270px;white-space:normal;font-size:11px;line-height:1.6}.notification-config form{max-width:500px}.notification-config label{display:block;font-size:12px;color:#cbd5e1;margin:16px 0 7px}.notification-config input[type=email]{box-sizing:border-box;width:100%;padding:12px;border:1px solid #3a4c69;border-radius:8px;background:#080d18;color:#f1f5f9;font-size:16px}.notification-check{line-height:1.7}.notification-config button{margin-top:15px}@media(max-width:430px){.escalation-dashboard{padding:16px}}
