:root{font-family:Aptos,Segoe UI,sans-serif;color:#17211d;background:#f4f6f2;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,a,input{font:inherit}.authShell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,460px);gap:24px;align-items:center;padding:clamp(18px,4vw,56px);background:linear-gradient(135deg,#16231ff0,#16231fc7),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 38px),#16231f;color:#fff}.loginHero h1{max-width:720px;margin:10px 0 14px;font-size:clamp(40px,6vw,76px);line-height:.98;letter-spacing:0}.loginHero p{max-width:570px;margin:0;color:#d9e5df;font-size:18px;line-height:1.55}.loginSignals{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.loginSignals span{border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:9px 11px;color:#d9e5df;background:#ffffff0f}.loginPanel{width:100%;border-radius:8px;background:#fffffff0;color:#17211d;border:1px solid rgba(255,255,255,.28);box-shadow:0 30px 80px #0000003d;padding:26px;display:grid;gap:16px}.loginPanel h2{margin:4px 0 0;font-size:30px}.loginIcon{width:48px;height:48px;border-radius:8px;display:grid;place-items:center;background:#e1b44f;color:#17211d}.loginPanel label{display:grid;gap:7px;color:#4d5c56;font-size:13px;font-weight:700}.loginPanel input{width:100%;min-height:44px;border:1px solid #c8d4cd;border-radius:8px;background:#fbfcfa;color:#17211d;padding:0 12px;outline:none}.loginPanel input:focus{border-color:#2b8a67;box-shadow:0 0 0 3px #2b8a6724}.authNotice{margin-bottom:0}.appShell{min-height:100vh;display:grid;grid-template-columns:268px 1fr;background:linear-gradient(120deg,rgba(43,138,103,.08),transparent 32%),radial-gradient(circle at 96% 8%,rgba(201,77,63,.09),transparent 28%),#f4f6f2}.sidebar{min-height:100vh;padding:22px 18px;background:#16231f;color:#eef3ee;display:flex;flex-direction:column;gap:26px;position:sticky;top:0}.brandMark{display:flex;align-items:center;gap:12px}.brandMark strong{display:block;font-size:18px;letter-spacing:0}.brandMark span{display:block;color:#a9bab2;font-size:12px;margin-top:2px}.mark{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:#e1b44f;color:#17211d;font-weight:900;font-size:22px}nav{display:grid;gap:6px}.navItem{height:42px;border:0;border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 11px;background:transparent;color:#c7d4ce;cursor:pointer}.navItem:hover,.navItem.active{background:#243631;color:#fff}.apiPill{margin-top:auto;overflow:hidden;text-overflow:ellipsis;color:#a9bab2;border:1px solid #304840;border-radius:8px;padding:10px;font-size:12px}.content{padding:24px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.topbar h2,.emptyBand h1{margin:3px 0 0;letter-spacing:0}.topbar h2{font-size:clamp(25px,3vw,40px)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#6d7d75;font-size:11px;font-weight:800}.actions,.reportActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.userBadge{min-height:42px;display:grid;align-content:center;text-align:right;padding:0 2px}.userBadge strong{font-size:13px}.userBadge span{color:#6d7d75;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.iconOnly{width:42px;padding:0}.primaryAction,.ghostAction{min-height:42px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap}.primaryAction{background:#2b8a67;color:#fff;box-shadow:0 10px 24px #2b8a672e}.primaryAction:hover{background:#24785a}.primaryAction:disabled,.ghostAction:disabled,.disabled{opacity:.45;pointer-events:none}.ghostAction{background:#ffffffb8;color:#17211d;border-color:#cfdbd4}.ghostAction:hover{border-color:#91a39a}.compact{min-height:39px}.full{width:100%;margin-bottom:10px}.notice{border:1px solid #d7ded9;background:#ffffffbd;color:#31413b;padding:12px 14px;border-radius:8px;margin-bottom:16px}.emptyBand{min-height:520px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:64px;background:linear-gradient(135deg,#16231fe0,#16231fad),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 36px),#16231f;color:#fff;border-radius:8px}.emptyBand p{max-width:640px;color:#d9e5df;font-size:17px;line-height:1.55}.dashboardGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric,.panel{background:#ffffffd6;border:1px solid #d7ded9;border-radius:8px;box-shadow:0 18px 42px #1e2d2714}.metric{min-height:126px;padding:18px;display:grid;align-content:space-between}.metricIcon{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:#edf2ee}.metric span{color:#62736b;font-size:13px}.metric strong{font-size:clamp(20px,2vw,28px);letter-spacing:0}.panel{padding:18px;min-width:0}.wide{grid-column:span 2}.panelHead{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.panelHead h3{margin:0;font-size:17px}.panelHead span{color:#6d7d75;font-size:12px}.validationPulse{min-height:178px;display:grid;place-items:center;text-align:center;color:#2b8a67}.validationPulse strong{display:block;color:#17211d;font-size:30px}.validationPulse span{color:#6d7d75}.stageStrip{display:grid;gap:8px}.stageStrip div{display:flex;align-items:center;gap:8px;color:#4d5c56;font-size:13px}.stageStrip span{width:10px;height:10px;border-radius:3px}.splitLayout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.75fr);gap:16px}.dataWorkbench{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:16px}.historyStats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}.historyStats .metric{min-height:104px;box-shadow:none}.dateRange{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;border:1px solid #d7ded9;border-radius:8px;background:#fbfcfa;color:#617169;font-size:13px}.dateRange strong{color:#17211d;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.productTable,.runList,.outlierList,.ruleGrid{display:grid;gap:10px}.loanFilters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,160px) auto;gap:10px;margin-bottom:12px}.loanFilters label{min-height:40px;display:flex;align-items:center;gap:8px;border:1px solid #d7ded9;border-radius:8px;padding:0 10px;background:#fbfcfa;color:#6d7d75}.loanFilters input,.loanFilters select{width:100%;min-height:40px;border:1px solid #d7ded9;border-radius:8px;background:#fbfcfa;color:#17211d;padding:0 10px;outline:none}.loanFilters label input{min-height:auto;border:0;border-radius:0;padding:0;background:transparent}.loanGrid,.timelineList{display:grid;gap:8px}.loanRow{min-height:46px;display:grid;grid-template-columns:minmax(120px,1fr) .7fr .5fr .6fr .9fr;gap:10px;align-items:center;width:100%;border:1px solid #d7ded9;border-radius:8px;background:#fbfcfa;color:#17211d;padding:9px 11px;text-align:left;cursor:pointer}.loanRow:hover,.loanRow.selected{border-color:#2b8a67;box-shadow:inset 3px 0 #2b8a67}.loanRow span,.timelineList span{color:#617169;font-size:13px}.timelineList{margin-top:12px}.timelineList div{min-height:38px;display:grid;grid-template-columns:1fr .5fr .7fr .7fr;gap:8px;align-items:center;border:1px solid #d7ded9;border-radius:8px;padding:8px 10px;background:#fbfcfa}.emptyMini{min-height:150px;display:grid;place-items:center;color:#6d7d75;text-align:center;border:1px dashed #c8d4cd;border-radius:8px;padding:18px}.productTable div,.runRow,.outlierList div,.ruleGrid div{min-height:48px;display:grid;grid-template-columns:minmax(110px,1fr) minmax(100px,.8fr) minmax(120px,.8fr);gap:12px;align-items:center;padding:10px 12px;border:1px solid #d7ded9;border-radius:8px;background:#fbfcfa}.ruleGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.ruleGrid div{display:block}.ruleGrid span{display:block;color:#6d7d75;font-size:12px;margin-bottom:5px}.runRow.active{border-color:#2b8a67;box-shadow:inset 3px 0 #2b8a67}.spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1080px){.appShell{grid-template-columns:78px 1fr}.brandMark div:not(.mark),.navItem span,.apiPill{display:none}.dashboardGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.authShell{display:grid;grid-template-columns:1fr}.loginHero h1{font-size:42px}.appShell{display:block}.sidebar{min-height:auto;position:static;flex-direction:row;overflow-x:auto}nav{display:flex}.content{padding:16px}.topbar,.emptyBand,.splitLayout,.dataWorkbench{display:block}.actions{margin-top:12px}.dashboardGrid{grid-template-columns:1fr}.wide{grid-column:auto}.emptyBand{padding:32px 22px}.productTable div,.runRow,.outlierList div,.loanRow,.timelineList div,.loanFilters,.ruleGrid{grid-template-columns:1fr}}
