:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182833;background:#f6f8fa;font-size:13px;--navy:#101e2b;--teal:#0a756d;--line:#e2e8ed;--muted:#75828e;--college:#0b8279;--native:#48739d;--custom:#986ac6}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-color:#0c9588}button{cursor:pointer;border:0;border-radius:7px;padding:9px 13px;font-weight:600;white-space:nowrap}button:disabled{opacity:.45;cursor:default}input,select,textarea{border:1px solid #d4dce3;border-radius:7px;padding:9px 11px;background:#fff;color:inherit}input[type=checkbox]{accent-color:var(--teal)}button.primary{color:white;background:var(--teal)}button.primary:hover{background:#08665f}button.secondary{background:white;border:1px solid #d5dfe6;color:#344a5c}button.quiet{background:transparent;color:#566b7c}.tag{font-size:9px;background:#253948;padding:3px 5px;border-radius:4px}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600}a{color:var(--teal)}[hidden]{display:none!important}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:750;color:#7a8a97}.wordmark{text-decoration:none;display:flex;align-items:center;gap:9px;font-size:24px;color:#39c7b6;letter-spacing:1px}.wordmark span{font-size:14px;font-weight:800;letter-spacing:1.5px;color:#eef5f7}.wordmark small{font-size:10px;letter-spacing:2px;margin-left:12px;color:#7f96a5}.sidebar{background:var(--navy);width:222px;position:fixed;inset:0 auto 0 0;color:#c3d0d9;display:flex;flex-direction:column;padding:25px 17px 15px}.sidebar-sub{font-size:9px;letter-spacing:2px;color:#718999;margin:11px 0 23px 34px;display:flex;gap:12px;align-items:center}.project-card{border:1px solid #30404c;border-radius:9px;padding:14px;margin:0 0 23px}.project-card .eyebrow{font-size:8px;color:#6f8a9c}.project-card strong{display:block;margin:9px 0;line-height:1.4;color:white}.project-card>span{font-size:10px;text-transform:capitalize;color:#9ab2c2}.nav-label{font-size:9px;letter-spacing:1.5px;margin:0 10px 10px;color:#677f91}nav{overflow:auto;flex:1}nav button{display:flex;justify-content:space-between;gap:8px;background:transparent;color:#a4b8c7;width:100%;padding:10px 11px;text-align:left;font-size:11px;margin:2px 0;font-weight:500}nav button.active{color:#74e0ce;background:#1c393f}nav button:hover{background:#20313f}nav button span{opacity:.6;font-size:10px}.sidebar-bottom{font-size:9px;line-height:1.8;color:#6e8798;padding:18px 10px 0}.sidebar-button{background:#203440;color:#a3c2cd;font-size:11px;margin-top:10px}main{margin-left:222px;min-width:650px}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 29px;gap:14px}.breadcrumb{font-size:11px;color:#81919d;white-space:nowrap}.breadcrumb span{padding:0 12px;color:#c9d2da}.breadcrumb strong{color:#455d6c}.top-actions{display:flex;align-items:center;gap:10px}.top-actions button{font-size:11px}.status{font-size:10px;color:#aa6e25;display:flex;align-items:center;gap:6px}.status:before{content:'';background:currentColor;width:5px;height:5px;border-radius:50%}.status.saved{color:#238571}.status.offline{color:#b65349}.presence{display:flex}.avatar{height:25px;min-width:25px;display:grid;place-items:center;background:#d4ece6;border:2px solid white;border-radius:50%;font-size:8px;font-weight:700;color:#146c5d;margin-left:-5px}.page-heading{padding:30px 30px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px}h1{font-size:30px;letter-spacing:-1.2px;font-weight:680;margin:7px 0 9px}p{color:#72838e;line-height:1.7;margin:0}.page-heading p{font-size:11px}.metrics{display:flex;gap:27px}.metric{font-size:9px;color:#7a8b97;text-transform:uppercase;letter-spacing:1px}.metric strong{font-size:20px;color:#304856;display:block;letter-spacing:-.5px;margin-bottom:5px;font-weight:650}.toolbar{display:flex;gap:8px;margin:0 30px;align-items:center;flex-wrap:wrap}.toolbar button,.toolbar select{font-size:11px;padding:8px 11px}.search-wrap{display:flex;align-items:center;background:white;border:1px solid #d6dfe5;border-radius:7px;min-width:225px}.search-wrap span{color:#8b9da9;font-size:21px;padding-left:11px}.search-wrap input{border:0;outline:none;min-width:0;width:230px;font-size:11px}.toolbar-spacer{flex:1}.grid-note{display:flex;justify-content:space-between;margin:19px 30px 10px;gap:10px;font-size:10px;color:#8b99a4}.grid-note i{display:inline-block;height:6px;width:6px;border-radius:2px;margin:0 4px 1px 12px}.native-dot{background:var(--native)}.college-dot{background:var(--college)}.custom-dot{background:var(--custom)}.grid-wrap{margin:0 30px;overflow:auto;max-height:calc(100vh - 345px);min-height:220px;border:1px solid #dce4ea;border-radius:9px;background:#fff;scrollbar-width:thin}table{border-collapse:separate;border-spacing:0;font-size:11px;width:max-content;min-width:100%}th,td{padding:11px 13px;border-right:1px solid #edf1f4;border-bottom:1px solid #e9eef2;min-width:118px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:38px}th{position:sticky;top:0;background:#f0f4f7;color:#4f6474;font-size:10px;font-weight:650;text-align:left;z-index:3;cursor:pointer;padding-top:12px;padding-bottom:12px}th.college{background:#edf7f4;color:#24796b}th.custom{background:#f6f0fa;color:#8555a3}th .field-hint{font-size:7px;display:block;text-transform:uppercase;letter-spacing:1px;margin-top:4px;font-weight:550;opacity:.6}td:first-child,th:first-child{position:sticky;left:0;min-width:55px;width:55px;max-width:55px;z-index:2;color:#93a1aa;background:#fafcfd;text-align:right;border-right:1px solid #dfe7ec}th:first-child{z-index:5;background:#f0f4f7}td:nth-child(2),th:nth-child(2){position:sticky;left:55px;z-index:2;background:#fff;border-right:1px solid #dfe7ec}th:nth-child(2){z-index:4;background:#f0f4f7}tr:hover td{background:#f7fafb}td.college{color:#236f65}td.custom{color:#82569b}td.unset{color:#c4cdd3}td.unknown{color:#c08a35;font-style:italic}td.error-cell{color:#bf5a4d;background:#fff2ed}td.selected{background:#eaf7f3!important;box-shadow:inset 0 0 0 1px #63b5a4}td.active{box-shadow:inset 0 0 0 2px #078777}td.remote{box-shadow:inset 0 0 0 2px #ae86d2}td input,td select{padding:4px 6px;width:100%;min-width:92px;height:27px;font-size:11px;border:1px solid #1c9282;border-radius:3px}td.editing{padding:5px 6px;overflow:visible;z-index:6}td.readonly{color:#9daab2}td .swatch{height:11px;width:11px;display:inline-block;border-radius:2px;vertical-align:middle;margin-right:7px;border:1px solid #0001}.grid-footer{display:flex;justify-content:space-between;align-items:center;margin:13px 30px;font-size:10px;color:#81929f;gap:15px}.grid-footer button{font-size:10px}.grid-footer>div{display:flex;align-items:center;gap:12px}.legend{color:#a1aeb8}.legend span{color:#b48c45;margin-left:15px}.inspector{display:flex;align-items:baseline;gap:13px;border-top:1px solid var(--line);padding:15px 30px;font-size:10px;color:#8193a0;line-height:1.7}.inspector strong{color:#455f6d;white-space:nowrap}.notice{position:fixed;bottom:22px;left:calc(50% + 100px);transform:translateX(-50%);max-width:680px;background:#233c47;color:#f0f8f9;border-radius:9px;padding:14px 21px;box-shadow:0 8px 30px #172e3f25;z-index:20;font-size:12px;line-height:1.6}.notice.error{background:#913f37;color:white}.welcome{min-height:100vh;background:radial-gradient(ellipse at 100% 0,#1a514e,transparent 65%),#101e2b;color:white;padding:34px 6vw;position:relative}.welcome-card{max-width:540px;margin:10vh auto 8vh}.welcome h1{font-size:63px;letter-spacing:-3px;line-height:1.03;margin:23px 0}.welcome .eyebrow{color:#6bd9c3}.welcome p{color:#a1b6c3;font-size:13px}.welcome form{margin-top:30px;display:grid;gap:18px}.welcome input{background:#172c3a;color:white;border-color:#3d5463}.welcome label{color:#c7d9e2;font-weight:500}.welcome button{display:flex;justify-content:space-between;padding:14px;margin-top:2px}.welcome .muted{font-size:11px;margin-top:20px}.welcome-foot{text-align:center;color:#6b879a;font-size:10px;letter-spacing:.6px}.recent-project{display:block;border:1px solid #38515e;border-radius:6px;padding:11px;margin-top:12px;color:#b4ddd5;font-size:12px;text-decoration:none}.upload-zone{padding:12vh 8vw;max-width:900px}.upload-zone h1{font-size:40px}.upload-zone form{margin-top:30px;display:grid;gap:20px;max-width:530px}dialog{border:1px solid #dce4ea;border-radius:14px;padding:0;width:min(720px,95vw);max-height:90vh;color:#233d4b;box-shadow:0 30px 120px #0615214d}dialog::backdrop{background:#0b1c2b88;backdrop-filter:blur(3px)}.modal-shell{display:flex;flex-direction:column;max-height:88vh}.modal-heading{padding:23px 26px 15px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1f4}h2{font-size:23px;letter-spacing:-.5px;margin:7px 0}.icon-button{font-size:24px;background:#f0f4f7;color:#788f9d;line-height:1;padding:5px 9px}#modal-body{padding:22px 26px;overflow:auto;display:grid;gap:17px}#modal-body p{font-size:12px}#modal-body textarea{width:100%;min-height:160px;line-height:1.6;font-family:ui-monospace,monospace;font-size:11px}#modal-body .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-actions{padding:15px 26px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e9eef2}.error{font-size:11px;color:#b3463e;padding:10px 26px;line-height:1.7}.field-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:370px;overflow:auto}.field-picker label{display:flex;flex-direction:row;align-items:center;font-size:11px;font-weight:500;padding:6px;line-height:1.4}.field-picker label span{display:block;font-size:9px;color:#899da9}.history-item,.comment-item,.access-item{padding:12px 0;border-bottom:1px solid #e9eef2;font-size:12px;line-height:1.7}.history-item small,.comment-item small,.access-item small{display:block;color:#90a0aa;font-size:10px}.history-item button,.comment-item button,.access-item button{font-size:10px;float:right}.json-output{background:#f4f7f9;border-radius:7px;padding:15px;font-family:ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;max-height:420px;overflow:auto;line-height:1.7}.link-output{width:100%;font-size:10px}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tool-grid button{padding:17px;white-space:normal;text-align:left;font-weight:550;border:1px solid #dfe7eb;background:#f8fafb;color:#355563}.tool-grid button small{display:block;color:#7f949f;margin-top:7px;font-size:10px;font-weight:400;line-height:1.5}.inline-label{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:11px}.modal-shell .warning{color:#a56e28;font-size:11px;background:#fff8e9;padding:12px;border-radius:6px}.key-pill{font-size:9px;border:1px solid #ccd8df;background:white;border-radius:3px;padding:1px 5px;color:#91a1aa}@media(min-width:1700px){.grid-wrap{max-height:calc(100vh - 350px)}}@media(max-width:1200px){.sidebar{width:185px}.wordmark span{font-size:12px}main{margin-left:185px}.topbar{padding:0 20px}.top-actions{gap:6px}.breadcrumb{display:none}.top-actions{width:100%;justify-content:flex-end}.page-heading,.inspector{padding-left:20px;padding-right:20px}.toolbar,.grid-wrap{margin-left:20px;margin-right:20px}.metrics{gap:15px}.metric strong{font-size:17px}.grid-note,.grid-footer{margin-left:20px;margin-right:20px}.toolbar{gap:6px}.search-wrap input{width:180px}.toolbar-spacer{display:none}.grid-wrap{max-height:calc(100vh - 390px)}.legend{display:none}}@media(max-width:760px){.sidebar{width:155px;padding-left:11px;padding-right:11px}.sidebar .wordmark span{font-size:10px}.sidebar-sub{margin-left:0}.project-card{padding:10px}.sidebar-bottom{display:none}main{margin-left:155px;min-width:560px}.metrics{display:none}.welcome{padding:25px}.welcome .wordmark small{display:none}.welcome h1{font-size:50px}.field-picker,.tool-grid{grid-template-columns:1fr}.welcome-card{margin-top:11vh}}

/* Recovery, navigable reports and small-screen access. */
.recovery-banner{margin:18px 30px 0;border:1px solid #edcd85;background:#fff9e9;border-radius:8px;padding:12px 16px;display:flex;gap:16px;align-items:center;font-size:12px;line-height:1.6}.recovery-banner span{flex:1}.recovery-banner[hidden]{display:none}.has-updates::after{content:' •';color:#098777}.report-item{padding:14px 0;border-bottom:1px solid #e2eaf0;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.report-item strong,.report-item small{display:block}.report-item p{white-space:pre-wrap}.report-actions{display:flex;gap:10px;flex-wrap:wrap}.report-summary{font-weight:650;background:#edf7f4;padding:13px;border-radius:6px}.change-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow-wrap:anywhere}.change-values span{padding:8px;background:#f4f7f9;border-radius:5px;white-space:pre-wrap}.capacity-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}.capacity-list>div{display:grid;gap:6px;font-size:11px}.capacity-list span{color:#718792}.capacity-list progress{width:100%;accent-color:#078777}.muted{color:#788e9c}button:focus-visible,a:focus-visible{outline:3px solid #50c5af;outline-offset:3px}#modal-body h3{font-size:15px;margin:12px 0 -10px}.toolbar{flex-wrap:wrap}.grid-wrap:focus-visible{outline:2px solid #078777;outline-offset:2px}.comment-item p{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:760px){.sidebar{width:130px}main{margin-left:130px;min-width:0}.topbar{height:auto;min-height:66px;padding:12px}.top-actions{flex-wrap:wrap;justify-content:flex-start}.top-actions .status{font-size:10px}.page-heading{padding:24px 14px 16px}.toolbar,.grid-wrap,.grid-note,.grid-footer,.recovery-banner{margin-left:14px;margin-right:14px}.toolbar{gap:8px}.search-wrap{flex:1;min-width:140px}.search-wrap input{width:100%}.grid-wrap{min-height:250px;max-height:60vh}.grid-note{display:block}.grid-note>span:last-child{display:none}.grid-footer{flex-wrap:wrap}.inspector{display:block;padding:15px}.inspector strong{display:block}.recovery-banner{flex-direction:column;align-items:flex-start}.capacity-list{grid-template-columns:1fr}.welcome-card{max-width:100%}.notice{left:50%;max-width:90vw;width:max-content}dialog{max-width:96vw}#modal-body{padding:18px}.change-values{grid-template-columns:1fr}.upload-zone{padding:40px 20px}}
