:root{color-scheme:dark;--bg:#06111b;--bg2:#0a1823;--panel:#0b1d2a;--panel2:#0e2534;--line:rgba(143,204,226,.16);--line2:rgba(111,227,255,.34);--text:#f2f7fa;--muted:#91a8b6;--cyan:#6fe3ff;--mint:#71e7b2;--amber:#ffc778;--red:#ff9298;--shadow:0 24px 70px rgba(0,0,0,.28);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html[data-theme="light"]{color-scheme:light;--bg:#eef4f7;--bg2:#f8fbfc;--panel:#fff;--panel2:#f4f8fa;--line:rgba(35,77,96,.14);--line2:rgba(0,126,160,.28);--text:#0c1b24;--muted:#536c79;--cyan:#007c9f;--mint:#087d55;--amber:#9b5c00;--red:#b82f39;--shadow:0 18px 55px rgba(18,48,61,.12)}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(150deg,var(--bg2),var(--bg));color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.brand>span:last-child{display:grid}.brand small{color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.brand-mark{width:34px;height:34px;border:1px solid var(--line2);border-radius:11px;position:relative;background:linear-gradient(145deg,color-mix(in srgb,var(--cyan) 18%,transparent),color-mix(in srgb,var(--mint) 8%,transparent))}.brand-mark:before,.brand-mark:after{content:"";position:absolute;border:1px solid var(--cyan);border-radius:50%;inset:8px}.brand-mark:after{inset:14px;background:var(--mint);border-color:var(--mint)}.topbar-actions{display:flex;align-items:center;gap:10px}.status-pill,.session-state{padding:8px 11px;border-radius:999px;border:1px solid var(--line);font-size:11px;color:var(--muted)}.status-pill.green{color:var(--mint);border-color:color-mix(in srgb,var(--mint) 30%,transparent)}.status-pill.amber{color:var(--amber)}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);cursor:pointer}.button{min-height:42px;padding:0 15px;border-radius:11px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750;font-size:13px;cursor:pointer;text-decoration:none}.button.primary{background:linear-gradient(135deg,var(--cyan),var(--mint));color:#041016}.button.secondary{background:var(--panel2);border-color:var(--line);color:var(--text)}.button.ghost{background:transparent;border-color:var(--line);color:var(--muted)}.button.google{width:100%;background:var(--panel2);border-color:var(--line);color:var(--text)}.button.full{width:100%}.center-view{min-height:calc(100vh - 70px);display:grid;place-items:center;text-align:center;color:var(--muted)}.loader{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--cyan);border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.state-card,.login-card,.surface{border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:var(--shadow)}.state-card{max-width:590px;padding:44px}.state-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;margin:auto;background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber);font-weight:900}.state-actions{display:flex;gap:10px;justify-content:center;margin-top:24px}.eyebrow{margin:0 0 10px;color:var(--cyan);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.login-view{min-height:calc(100vh - 70px);display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;width:min(1080px,calc(100% - 40px));margin:auto}.login-copy h1{font-size:clamp(44px,6vw,72px);line-height:.98;letter-spacing:-.055em;margin:15px 0 22px}.login-copy>p{font-size:19px;line-height:1.65;color:var(--muted)}.trust-list{list-style:none;padding:0;display:grid;gap:10px;color:var(--muted)}.trust-list li:before{content:"✓";color:var(--mint);margin-right:10px}.login-card{padding:30px}.login-card h2{margin-top:0}.login-card>p,.login-note{color:var(--muted);font-size:13px}.login-card form,label{display:grid;gap:7px}.login-card form{gap:14px}.divider{text-align:center;border-top:1px solid var(--line);margin:24px 0;line-height:0}.divider span{background:var(--panel);padding:0 10px;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in srgb,var(--cyan) 12%,transparent)}textarea{resize:vertical}.form-error{color:var(--red);font-size:12px}.workspace{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:calc(100vh - 70px)}.sidebar{border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:16px;background:color-mix(in srgb,var(--bg) 76%,var(--panel));position:sticky;top:70px;height:calc(100vh - 70px);overflow:auto}.identity-card{display:flex;align-items:center;gap:10px;padding:10px}.identity-card>div:last-child{display:grid;min-width:0}.identity-card span{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis}.avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--cyan),var(--mint));color:#041016;font-weight:900}.tenant-field{font-size:11px;color:var(--muted)}.workspace-nav{display:grid;gap:3px}.nav-item{border:0;background:transparent;color:var(--muted);display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;text-align:left;cursor:pointer;font-size:12px}.nav-item span{font:700 9px/1 ui-monospace,monospace;color:color-mix(in srgb,var(--muted) 75%,transparent)}.nav-item:hover,.nav-item.active{background:var(--panel2);color:var(--text)}.nav-item.active span{color:var(--cyan)}.nav-item:disabled{opacity:.35;cursor:not-allowed}.sidebar-footer{margin-top:auto;display:grid;gap:9px}.back-link{color:var(--muted);text-decoration:none;font-size:11px}.workspace-main{padding:30px;width:min(1460px,100%);margin:auto}.workspace-banner{padding:12px 14px;border:1px solid color-mix(in srgb,var(--amber) 35%,transparent);border-radius:11px;color:var(--amber);margin-bottom:18px;background:color-mix(in srgb,var(--amber) 8%,transparent)}.workspace-panel{display:none}.workspace-panel.active{display:block}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.panel-heading h2{font-size:clamp(28px,4vw,42px);letter-spacing:-.04em;margin:0 0 9px}.panel-heading p:not(.eyebrow){margin:0;color:var(--muted);max-width:780px;line-height:1.55}.panel-actions,.form-actions{display:flex;gap:9px;flex-wrap:wrap}.portfolio-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 190px auto;gap:10px;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.compact{max-width:850px;padding:24px}.form-grid .wide{grid-column:1/-1}.surface{padding:20px}.money-field{display:grid;grid-template-columns:1fr 90px;gap:7px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.metric-card{padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--panel)}.metric-card span{color:var(--muted);font-size:11px}.metric-card strong{display:block;font-size:25px;margin-top:7px}.case-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.case-card{border:1px solid var(--line);border-radius:17px;background:var(--panel);padding:18px;cursor:pointer;transition:.2s}.case-card:hover{transform:translateY(-2px);border-color:var(--line2)}.case-card-head{display:flex;justify-content:space-between;gap:12px}.case-card h3{margin:0;font-size:17px}.case-card p{color:var(--muted);font-size:12px;line-height:1.55;min-height:38px}.status-tag{padding:5px 8px;border-radius:999px;border:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.status-tag.approved{color:var(--mint)}.status-tag.rejected{color:var(--red)}.status-tag.in_review{color:var(--amber)}.case-card-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.mini-progress{height:5px;background:var(--panel2);border-radius:999px;overflow:hidden;margin:14px 0}.mini-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--mint))}.decision-overview{display:grid;grid-template-columns:1.05fr 1.95fr;gap:13px;margin-bottom:14px}.completeness-card{display:flex;align-items:center;gap:18px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.score-ring{--score:0;width:112px;height:112px;flex:0 0 auto;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at center,var(--panel) 58%,transparent 60%),conic-gradient(var(--mint) calc(var(--score)*1%),var(--panel2) 0)}.score-ring strong{font-size:25px}.score-ring span{font-size:9px;color:var(--muted);text-transform:uppercase}.completeness-card h3{margin:0 0 7px}.completeness-card>div:last-child>p:last-child{color:var(--muted);font-size:12px}.analysis-scorecard{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.analysis-status{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.analysis-status span{font-size:10px;color:var(--muted)}.analysis-status strong{display:block;margin-top:8px}.analysis-status.done strong{color:var(--mint)}.two-column{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}.three-column{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:14px}.section-head,.editor-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.collaboration form{display:grid;gap:9px}.timeline{display:grid;gap:9px;margin-top:16px}.timeline-item{padding:12px;border-left:2px solid var(--line2);background:var(--panel2);border-radius:0 10px 10px 0}.timeline-item strong{font-size:11px}.timeline-item time{font-size:9px;color:var(--muted);float:right}.timeline-item p{font-size:12px;line-height:1.5;margin:7px 0 0}.upload-zone{display:grid;gap:11px}.upload-zone input[type=file]{position:absolute;opacity:0;pointer-events:none}.upload-zone>label{padding:28px;border:1px dashed var(--line2);border-radius:14px;text-align:center;cursor:pointer}.upload-zone>label span{display:block;color:var(--muted);font-size:11px;margin-top:7px}.evidence-matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.evidence-cell{padding:12px;border:1px solid var(--line);border-radius:12px}.evidence-cell span{font-size:9px;color:var(--muted)}.evidence-cell strong{display:block;margin-top:7px}.document-list{display:grid;gap:8px}.document-item{padding:11px;border:1px solid var(--line);border-radius:11px;display:flex;justify-content:space-between;gap:10px}.document-item span{color:var(--muted);font-size:10px}.copilot-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px}.suggestion-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px}.suggestion-grid button{padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--muted);text-align:left;cursor:pointer}.copilot-response h3{margin:0 0 12px}.copilot-answer{font-size:18px;line-height:1.55}.copilot-sections{display:grid;grid-template-columns:1fr 1fr;gap:10px}.copilot-section{padding:12px;border:1px solid var(--line);border-radius:12px}.copilot-section h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.07em}.copilot-section ul{margin:0;padding-left:17px;color:var(--muted);font-size:11px;line-height:1.6}.confidence-bar{height:7px;border-radius:99px;background:var(--panel2);overflow:hidden}.confidence-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--amber),var(--mint))}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.editor-card,.result-card{border:1px solid var(--line);border-radius:17px;background:var(--panel);overflow:hidden}.editor-head{padding:12px 14px;border-bottom:1px solid var(--line);font-size:11px}.editor-head span{color:var(--muted);font-family:ui-monospace,monospace}.editor-card textarea{border:0;border-radius:0;min-height:560px;background:#041019;color:#cfeaf3;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.55}.result-card pre{margin:0;padding:15px;min-height:300px;max-height:470px;overflow:auto;font-size:10px;color:var(--muted);white-space:pre-wrap}.result-visual{padding:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.visual-stat{padding:12px;border:1px solid var(--line);border-radius:11px}.visual-stat span{display:block;color:var(--muted);font-size:9px}.visual-stat strong{display:block;margin-top:7px;font-size:14px}.check-label{display:flex;align-items:center;grid-template-columns:auto 1fr}.check-label input{width:auto}.decision-summary h3{margin-top:0}.scorecard-list{display:grid;gap:8px}.scorecard-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border-bottom:1px solid var(--line)}.audit-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.audit-summary>div{padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.audit-summary span{font-size:9px;color:var(--muted)}.audit-summary strong{display:block;margin-top:7px}.audit-list{display:grid;gap:7px}.audit-event{display:grid;grid-template-columns:70px 1fr auto;gap:12px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.audit-event span{font-size:9px;color:var(--muted)}.empty-state{color:var(--muted);text-align:center;padding:30px}.full{width:100%}
@media(max-width:1180px){.case-list{grid-template-columns:repeat(2,1fr)}.three-column{grid-template-columns:1fr 1fr}.decision-summary{grid-column:1/-1}.decision-overview,.two-column,.copilot-layout{grid-template-columns:1fr}.analysis-scorecard{grid-template-columns:repeat(6,1fr)}}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.workspace-nav{display:flex;overflow:auto}.nav-item{flex:0 0 auto}.sidebar-footer{display:none}.login-view{grid-template-columns:1fr;padding:50px 0}.login-copy{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.analysis-grid{grid-template-columns:1fr}.editor-card textarea{min-height:360px}.analysis-scorecard{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.topbar{padding:0 12px}.status-pill{display:none}.workspace-main{padding:20px 12px}.panel-heading{display:grid}.panel-actions{width:100%}.portfolio-toolbar,.form-grid,.case-list,.metric-grid,.three-column,.suggestion-grid,.copilot-sections,.audit-summary{grid-template-columns:1fr}.decision-overview{grid-template-columns:1fr}.completeness-card{align-items:flex-start}.analysis-scorecard{grid-template-columns:1fr 1fr}.evidence-matrix,.result-visual{grid-template-columns:1fr 1fr}.state-actions{display:grid}.topbar .brand small{display:none}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* P6 mobile containment: horizontal navigation scrolls inside the sidebar, never the document. */
.workspace,.sidebar,.workspace-main,.workspace-panel,.surface,.decision-overview,.two-column,.three-column{min-width:0}
@media(max-width:900px){
  .workspace,.sidebar,.workspace-main{width:100%;max-width:100%;min-width:0}
  .workspace-nav{width:100%;max-width:100%;min-width:0;overscroll-behavior-inline:contain}
}
@media(max-width:650px){
  .workspace-panel,.panel-heading,.completeness-card,.analysis-scorecard,.form-grid>*{min-width:0;max-width:100%}
}

/* P7 canonical roadmap surface */
.roadmap-summary-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:12px;margin-bottom:14px}.roadmap-summary-grid article>span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.roadmap-summary-grid article>strong{display:block;margin:8px 0;font-size:34px}.roadmap-summary-grid article p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.roadmap-progress{height:8px;border-radius:999px;background:var(--panel2);overflow:hidden;margin:12px 0}.roadmap-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--mint));transition:width .4s ease}.roadmap-dimensions{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:14px}.roadmap-dimension{padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.roadmap-dimension span{display:block;color:var(--muted);font-size:9px}.roadmap-dimension strong{display:block;margin:8px 0;font-size:22px}.roadmap-dimension>div{height:5px;background:var(--panel2);border-radius:999px;overflow:hidden}.roadmap-dimension i{display:block;height:100%;background:var(--cyan)}.roadmap-gates{display:grid;gap:8px;margin-top:14px}.roadmap-gate{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.roadmap-gate>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--cyan) 10%,transparent);color:var(--cyan);font-size:11px;font-weight:850}.roadmap-gate strong{font-size:12px}.roadmap-gate p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.roadmap-gate em{font-style:normal;font-size:9px;white-space:nowrap;color:var(--mint)}.roadmap-gate em.p0{color:var(--red)}.roadmap-gate em.p1{color:var(--amber)}.roadmap-risk-list{padding-left:18px;color:var(--muted);font-size:11px;line-height:1.55}.roadmap-risk-list li+li{margin-top:9px}
@media(max-width:1180px){.roadmap-dimensions{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.roadmap-summary-grid{grid-template-columns:1fr}.roadmap-dimensions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.roadmap-dimensions{grid-template-columns:1fr}.roadmap-gate{grid-template-columns:38px 1fr}.roadmap-gate em{grid-column:2}}

.roadmap-evidence{margin-bottom:14px}.roadmap-evidence-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.roadmap-evidence-grid>div{padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.roadmap-evidence-grid span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}.roadmap-evidence-grid strong{display:block;margin-top:7px;font-size:12px}.roadmap-evidence>p{margin:10px 0 0;color:var(--muted);font-size:10px;line-height:1.5}@media(max-width:900px){.roadmap-evidence-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.roadmap-evidence-grid{grid-template-columns:1fr}}
