:root{color-scheme:dark;--ink:#f8f6ff;--muted:#b8b2c7;--line:#393044;--line-strong:#6d5b83;--background:#0a0314;--surface:#14101e;--surface-raised:#1b1528;--surface-selected:#30203f;--input:#100c19;--accent:#c9dc70;--accent-hover:#d9e995;--accent-ink:#1c2410;--accent-soft:#25291b;--accent-wash:rgba(201,220,112,0.12);--violet:#ac83dc;--violet-soft:#d1b5f4;--violet-wash:#352043;--focus:#ceb0f1;--positive:#d0e386;--positive-surface:#242a1d;--positive-line:#66733e;--warning:#f0ca88;--warning-surface:#30261c;--warning-line:#84653c;--danger:#f1afc1;--danger-surface:#35202c;--danger-line:#8b536b;--topbar-surface:#110b1c;--drawing-grid:#44394e55;--shadow-control:#00000026;--shadow-panel:#00000055;--radius:14px;--accent-text:#c9dc70;--sidebar-top:#170e24;--sidebar-bottom:#0e0917;--hero-glow:#42175070;--hero-start:#180b23;--hero-end:#100c19;--illustration-surface:#17151f;--drawing-line:#aaa4b8;--drawing-fill:#252331;--drawing-detail:#747085;--drawing-label:#c9dc70;--canvas:#0c0913;--logo-primary:#b99ae0;--logo-accent:#c9dc70}body{background:var(--surface);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select,textarea{font:inherit}a,button,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:3px}html{scroll-padding-top:24px}:where(h1,h2,h3,p){overflow-wrap:anywhere}h1{font-size:clamp(27px,2.5vw,36px);font-weight:630;letter-spacing:-1.2px}h2,h3{letter-spacing:-.4px}.app-shell{align-items:stretch}.sidebar{width:242px;padding:30px 20px 22px;background:var(--surface-selected);border:0;position:sticky;top:0;height:100dvh;overflow-y:auto}.brand,.sidebar{color:var(--ink)}.brand{font-size:27px;font-weight:650;gap:11px;letter-spacing:-1px}.brand-mark{background:var(--surface-selected);width:39px;height:42px;border:1px solid var(--line);border-radius:11px}.brand-sub{color:var(--muted);display:block;font-size:9px;letter-spacing:3.8px;line-height:1;padding-top:3px}.workspace{margin:35px 0 27px;padding:12px 9px;background:var(--surface-selected);border:1px solid var(--line);border-radius:10px;font-size:12px}.workspace small{color:var(--muted);font-size:10px}.workspace-icon{padding:8px;background:var(--surface-selected);display:flex}.nav-label{color:var(--muted);font-size:10px;letter-spacing:1.8px;padding:0 11px}.app-nav{display:grid;gap:6px}.app-nav a{justify-content:flex-start;align-items:center;gap:12px;padding:12px;min-height:45px;font-size:13px;border-radius:9px;color:var(--muted)}.app-nav a>span{font-size:inherit;color:inherit}.app-nav a:hover{background:var(--surface-selected)}.app-nav a[aria-current=page]{background:var(--surface-raised);color:var(--ink);font-weight:650}.app-nav .nav-active-dot{margin-left:auto;width:6px;height:6px;background:var(--surface-selected);border-radius:50%}.sidebar :focus-visible{outline-color:var(--focus)}.sidebar-guide{padding:17px;border:1px solid var(--line);border-radius:12px;margin-top:40px;background:linear-gradient(135deg,var(--violet-wash),var(--surface))}.sidebar-guide>svg{color:var(--muted)}.sidebar-guide h2{font-size:13px;margin:12px 0 5px}.sidebar-guide p{color:var(--muted);font-size:11px;line-height:1.7}.sidebar-guide a{font-size:11px;font-weight:600;display:inline-flex;gap:10px;align-items:center;padding:5px 0}.sidebar-note{padding:24px 10px 0;font-size:11px}.sidebar-note,.sidebar-note p{color:var(--muted)}.status-dot{background:var(--surface-raised)}.main-shell{display:flex;flex-direction:column}.topbar{height:76px;padding:0 38px;color:var(--muted)}.route-context,.topbar-controls{display:flex;align-items:center;gap:20px}.route-context{gap:9px;font-size:12px;color:var(--ink)}.context-dot{width:7px;height:7px;border-radius:50%;border:2px solid var(--line)}.help-link{font-size:12px;padding:8px 0}.account-sign-in{min-height:36px;border-radius:8px;padding:7px 14px}main{width:100%;max-width:1540px;padding:38px 38px 40px;min-width:0;margin:0 auto;flex:1}main:focus{outline:none}.page-heading{margin-bottom:28px;gap:20px}.eyebrow{font-size:10px;letter-spacing:1.65px;font-weight:650;color:var(--muted);margin-bottom:10px}.intro{font-size:14px;line-height:1.7}.release-badge{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--ink);padding:7px 12px;background:var(--surface);border:1px solid var(--line);border-radius:30px;white-space:nowrap}.release-badge>span,.review-indicator>span{width:6px;height:6px;background:var(--surface-selected);border-radius:50%}.primary-link,.secondary-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:43px;padding:10px 17px;font-size:13px;font-weight:600;border-radius:8px;text-decoration:none}.primary-button,.primary-link{background:var(--accent);color:var(--ink);box-shadow:0 2px 3px var(--shadow-control)}.primary-button:hover,.primary-link:hover{background:var(--surface-selected)}.secondary-link{color:var(--ink);border:1px solid var(--line)}.secondary-link,.secondary-link:hover{background:var(--surface)}.primary-button{min-height:39px;padding:9px 15px}.download-link,.link-button{min-height:32px;display:inline-flex;align-items:center;padding:4px 3px;text-underline-offset:3px;white-space:normal;text-align:left}.launch-hero{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:40px;display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:center;overflow:hidden}.hero-kicker{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:9px;letter-spacing:1.2px;font-weight:650}.hero-copy h2{font-size:clamp(36px,3.65vw,54px);line-height:1.08;font-weight:620;letter-spacing:-2.3px;margin:21px 0}.hero-copy>p{max-width:420px;font-size:14px;line-height:1.8}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0 18px}.hero-note{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:10px}.hero-preview{border:1px solid var(--line);border-radius:13px;box-shadow:0 14px 28px var(--shadow-panel);transform:none;overflow:hidden}.preview-bottom,.preview-top{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted)}.preview-top>span:first-child{display:flex;align-items:center;gap:6px;font-weight:600}.sample-label{color:var(--muted);font-size:8px;letter-spacing:1px;text-transform:uppercase}.preview-body{padding:17px}.preview-plan{border:1px solid var(--line);border-radius:7px;position:relative;background:var(--surface);padding:10px}.plan-label{font-size:7px;letter-spacing:.9px;color:var(--muted)}.preview-plan>svg{display:block;width:100%;max-height:175px}.drawing-proof{position:absolute;bottom:12px;right:12px;display:flex;gap:4px;align-items:center;background:var(--surface);padding:4px 8px;border:1px solid var(--line);border-radius:4px;color:var(--ink);font-size:8px}.preview-item{padding-top:15px}.preview-item h3{margin:5px 0 8px;font-size:13px}.preview-item h3>span{font-weight:400;color:var(--muted);margin-left:7px;font-size:11px}.preview-item dl{margin:0}.preview-item dl>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:7px 0;font-size:10px}.preview-item dt{color:var(--muted)}.preview-item dd{margin:0;display:flex;align-items:center;gap:8px}.sample-missing{color:var(--warning)}.review-indicator{display:flex;gap:6px;align-items:center;font-size:9px;color:var(--muted);padding-top:9px}.preview-bottom{border-bottom:0;border-top:1px solid var(--line);background:var(--surface);font-size:9px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0 38px}.feature-card{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.feature-icon{display:inline-flex;padding:9px;background:var(--surface);border-radius:9px;color:var(--muted)}.feature-card h2{font-size:14px;margin:15px 0 9px;font-weight:630}.feature-card p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.section-heading{align-items:center;margin:27px 0 17px;gap:16px}.section-heading h2{flex:none;font-size:20px;font-weight:620}.section-heading a{display:inline-flex;gap:9px;align-items:center;font-size:12px}.journey-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;padding:0}.journey-grid li{padding:0 0 5px;border-top:1px solid var(--line)}.journey-grid li>span{display:inline-block;color:var(--muted);font-size:11px;margin-top:18px}.journey-grid h3{font-size:14px;margin:8px 0 5px}.journey-grid p{color:var(--muted);font-size:12px;line-height:1.7;margin:0}.launch-note{display:flex;align-items:flex-start;gap:12px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-top:30px}.launch-note>svg{flex-shrink:0;margin-top:2px;color:var(--muted)}.launch-note p{font-size:12px;margin:0;line-height:1.75;flex:1}.launch-note strong{display:block;color:var(--ink)}.launch-note>a{font-size:11px;text-decoration:underline;padding:5px 0}.site-footer{font-size:10px;color:var(--muted);gap:20px;width:100%;max-width:1540px;padding:23px 38px;border-top:1px solid var(--line)}.site-footer a{text-decoration:underline;text-underline-offset:3px}.workflow-steps{display:flex;list-style:none;padding:0;margin:24px 0;gap:18px;flex-wrap:wrap}.workflow-steps li{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.workflow-number{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--surface-raised);border:1px solid var(--line);font-size:10px}.workflow-steps [aria-current=step]{color:var(--ink);font-weight:650}.workflow-steps [aria-current=step] .workflow-number{background:var(--surface-selected);border-color:var(--line);color:var(--ink);box-shadow:0 0 0 4px var(--shadow-panel)}.step-complete .workflow-number{background:var(--surface-raised);color:var(--ink)}.project-form{border-radius:12px;padding:24px}.project-form h2{font-weight:620}.project-form label{color:var(--ink);font-weight:550}.form-row button{background:var(--accent);font-size:13px;min-height:42px}.form-row input,select,textarea{border-color:var(--line);border-radius:7px}.form-row input:focus,select:focus,textarea:focus{border-color:var(--line)}.project-row{min-height:85px;padding:20px 24px}.project-row strong{font-weight:600}.project-row small{font-size:11px}.project-list{border-radius:12px}.row-leading{display:flex;align-items:center;gap:14px;min-width:0}.row-leading>span:last-child{min-width:0;overflow-wrap:anywhere}.row-icon{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:9px;width:39px;height:42px;display:grid;place-items:center;flex-shrink:0}.row-actions{flex-wrap:wrap}.phase-label{font-size:11px;padding:5px 10px;text-transform:capitalize}.empty-state{padding:44px 24px;margin-top:24px}.empty-state h2{font-size:21px;font-weight:600}.empty-state p{font-size:13px}.empty-icon{display:inline-flex;padding:14px;border-radius:13px;background:var(--surface);color:var(--muted);margin:8px 0 20px}.recovery-state h1{font-size:29px}.state-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.project-options{margin:24px 0}.project-options>summary{cursor:pointer;color:var(--ink);font-weight:600;font-size:12px;padding:12px 0}.project-options .project-form{margin:8px 0}.start-trades{margin:0 0 14px;padding:0;border:0}.start-step,.start-trades legend{margin:0 0 8px;font-size:14px;font-weight:600}.start-trade-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.start-trades .start-trade-tile{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:14px;cursor:pointer}.start-trades .start-trade-tile:has(input:checked){border-color:var(--accent-text);background:var(--surface-raised);font-weight:600}.start-trades .start-trade-tile input{width:18px;height:18px;accent-color:var(--accent-text)}.start-trades .start-trade-tile:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.extract-actions .start-run{min-height:48px;padding:10px 20px;font-size:15px}.upload-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.upload-zone{border:1px dashed var(--line);border-radius:11px;padding:25px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--surface)}.upload-zone.drag-over{border-color:var(--line);box-shadow:inset 0 0 0 1px var(--shadow-panel);background:var(--surface-raised)}.upload-zone>svg{color:var(--muted);margin:0 0 10px}.upload-zone label{margin:5px 0 8px}.upload-zone input{width:100%;max-width:290px;font-size:11px;padding:8px}.upload-zone input::file-selector-button{border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:8px;cursor:pointer;margin-right:8px}.upload-zone small{font-size:11px}.upload-details .form-row{flex-direction:column;align-items:stretch}.upload-details .form-row input{width:100%}.upload-progress{margin-top:15px}.review-progress progress,.upload-progress progress{width:100%;accent-color:var(--muted);height:7px;display:block}.upload-progress p{font-size:12px}.review-summary{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:25px 0 18px;padding:20px 22px;display:flex;align-items:center;gap:25px}.review-summary-main{flex:1}.review-summary h2{font-size:14px;margin:0 0 7px}.review-summary p{margin:0;font-size:12px;color:var(--muted)}.review-progress{min-width:160px}.review-progress span{display:block;margin-bottom:8px;color:var(--ink);font-size:11px}.review-metrics{display:flex;gap:25px}.review-metrics>div{display:flex;flex-direction:column;gap:2px}.review-metrics strong{font-size:22px;letter-spacing:-.8px;font-weight:620}.review-metrics span{font-size:10px;color:var(--muted)}.review-toolbar{background:var(--surface);align-items:flex-start;margin:16px 0}.review-search-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:14px 0}.review-search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:var(--surface);flex:1;min-width:200px}.review-search svg{flex-shrink:0}.review-search input{border:0;width:100%;padding:11px 0;background:transparent;color:var(--ink);min-width:0;font-size:12px}.review-search:focus-within{outline:2px solid var(--focus);outline-offset:2px}.review-search input:focus-visible{outline:none}.review-results{color:var(--muted);font-size:11px}.chip{min-height:34px;border-radius:7px;font-size:11px;padding:6px 10px}.chip,.chip-on{border-color:var(--line)}.chip-on{background:var(--surface-selected)}.item-card{border-radius:12px;padding:19px;box-shadow:0 2px 4px var(--shadow-control);scroll-margin-top:24px}.item-card:focus{outline:3px solid var(--focus);outline-offset:3px}.item-card header>strong{font-weight:650;font-size:13px}.item-card footer{padding:13px 0 0;max-width:none;margin:14px 0 0;border-top:1px solid var(--line)}.item-card .field-table{margin-top:15px}.field-table th{font-size:11px}.field-table td{font-size:12px}.field-table small{font-size:10px;line-height:1.7}.badge,.field-table td.source{font-size:10px}.badge-needs_review{background:var(--warning-surface);color:var(--warning)}.value-button{min-height:30px}.review-viewer{top:20px}.viewer{border-radius:12px}.viewer-bar{flex-wrap:wrap;padding:13px 15px}.viewer-bar select{min-height:35px;font-size:12px}.viewer-zoom button{width:33px;height:33px}.panel{padding:16px}.panel summary{min-height:30px}.trade-analysis-form{background:var(--surface);border:1px solid var(--line);padding:16px;border-radius:10px}.trade-analysis-form select{padding:9px;max-width:100%}.trade-analysis-form button{background:var(--surface-selected);color:var(--ink);border-radius:7px;padding:9px 14px;text-decoration:none;min-height:39px}.guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:30px;align-items:start}.guide-section{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:26px;margin-bottom:18px;scroll-margin-top:25px}.guide-section h2{font-size:20px;margin:0 0 12px}.guide-section li,.guide-section p{font-size:13px;color:var(--muted);line-height:1.85}.guide-section ol,.guide-section ul{padding-left:20px}.guide-section li+li{margin-top:9px}.guide-section strong{color:var(--ink)}.guide-section a{text-decoration:underline;text-underline-offset:3px}.guide-side{position:sticky;top:25px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.guide-side h2{font-size:14px;margin:0 0 12px}.guide-side ul{list-style:none;margin:0 0 20px;padding:0}.guide-side a{display:block;padding:7px 0;font-size:12px}.guide-side .primary-link{padding:10px;text-align:center}.guide-faq details{padding:15px 0;border-top:1px solid var(--line)}.guide-faq summary{min-height:28px;cursor:pointer;font-size:13px;font-weight:600}.guide-faq details p{margin-bottom:0}.loading-state{padding-top:8px}.skeleton{background:var(--surface-raised);border-radius:9px}.skeleton-title{height:34px;width:45%;margin-bottom:17px}.skeleton-line{height:14px;width:65%;margin-bottom:36px}.skeleton-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.skeleton-card{height:310px}@keyframes skeleton-pulse{to{opacity:.4}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}*,:after,:before{scroll-behavior:auto!important}}@media (min-width:1500px){.launch-hero{padding:50px}}@media (max-width:1200px){.sidebar{width:210px;padding:25px 15px}main{padding:30px 26px}.site-footer,.topbar{padding-left:26px;padding-right:26px}.launch-hero{gap:25px;padding:28px}.hero-copy h2{font-size:43px}.review-summary{flex-wrap:wrap}}@media (max-width:1000px){.hero-copy h2{font-size:37px}.hero-actions{flex-direction:column;align-items:stretch}.launch-hero{padding:25px;gap:20px}.hero-copy>p{font-size:12px}.hero-note{align-items:flex-start;line-height:1.7}.feature-card{padding:18px}.guide-layout{grid-template-columns:minmax(0,1fr)}.guide-side{position:static;order:-1}.guide-side ul{display:flex;flex-wrap:wrap;gap:2px 15px;margin-bottom:12px}.guide-side .primary-link{display:inline-flex;padding:8px 14px}.upload-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.app-shell{flex-direction:column}.sidebar{position:static;width:100%;height:auto;display:flex;padding:17px 20px 12px;overflow:visible}.brand{font-size:23px}.brand-sub{display:inline;font-size:9px;margin-left:7px;letter-spacing:2px}.brand-mark{width:32px;height:34px}.nav-label,.sidebar-guide,.sidebar-note,.workspace{display:none}.app-nav{display:flex;gap:5px;margin-top:17px;justify-content:space-between}.app-nav a{flex:1;font-size:11px;min-height:39px;padding:9px;justify-content:center;gap:7px}.app-nav a>svg{width:16px;height:16px}.nav-active-dot{display:none}.topbar{height:60px;padding:0 20px}.help-link{display:none}.topbar-controls{min-width:0}.route-context{font-size:11px}main{padding:27px 20px}.page-heading{display:flex;align-items:flex-start;flex-direction:column;gap:12px}.overview-heading .release-badge{align-self:flex-start}.launch-hero{grid-template-columns:minmax(0,1fr);padding:27px;gap:28px}.hero-copy h2{font-size:45px}.hero-copy>p{font-size:13px}.hero-actions{flex-direction:row}.hero-note{font-size:10px}.hero-preview{transform:none;max-width:430px;width:100%;margin:auto}.feature-grid{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:27px}.feature-card{display:grid;grid-template-columns:40px 1fr;column-gap:15px;padding:19px}.feature-icon{grid-row:span 2;align-self:start}.feature-card h2{margin:0 0 7px}.feature-card p{grid-column:2}.journey-grid{grid-template-columns:1fr 1fr;gap:22px}.section-heading{align-items:flex-start}.section-heading h2{font-size:19px}.section-heading a{white-space:nowrap;font-size:11px}.launch-note{flex-wrap:wrap}.launch-note>a{margin-left:32px}.site-footer{padding:20px;flex-wrap:wrap;gap:10px 20px}.site-footer>span:nth-child(2){display:none}.review-summary{padding:19px;gap:19px}.review-summary-main{flex-basis:100%}.review-metrics{gap:20px}.review-progress{flex:1;min-width:110px}.review-actions{gap:10px}.review-results{flex-basis:100%}.item-card{padding:13px;overflow-x:auto}.field-table,.item-card .field-table{min-width:410px}.review-list,.review-viewer,.split{min-width:0}.row-actions{gap:9px;justify-content:flex-start}.project-row{padding:17px;flex-wrap:wrap}.project-row>.row-leading{flex:1}.project-options .project-form{padding:18px}.guide-section{padding:21px}.guide-section h2{font-size:19px}.guide-side{padding:17px}.skeleton-grid{grid-template-columns:1fr}}@media (max-width:380px){.app-nav a{padding:8px 6px;gap:5px;font-size:10px}main{padding:24px 16px}.launch-hero{padding:23px}.hero-copy h2{font-size:39px}.hero-actions{flex-direction:column}.section-heading{flex-wrap:wrap}}.viewer-page{min-width:0;margin:0 auto}.viewer-zoom .fit-zoom{width:auto;padding:0 8px;font-size:11px}.overlay-box{box-sizing:border-box;padding:0;margin:0}@media (max-width:560px){.app-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.app-nav a{flex-direction:column;min-width:0;padding:8px 3px;gap:5px;font-size:10px;text-align:center;line-height:1.3}.app-nav a>span{white-space:normal}}@media (max-width:380px){.app-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.app-nav a{flex-direction:column;min-width:0;padding:8px 3px;gap:5px;text-align:center;line-height:1.4}.app-nav a>span{white-space:normal}}.auth-heading{text-align:center;margin:18px auto 25px;max-width:540px}.auth-heading h1{font-size:30px}body{background:var(--background);color:var(--ink)}::selection{background:var(--violet-wash);color:var(--accent-hover)}.sidebar{background:linear-gradient(180deg,var(--sidebar-top),var(--sidebar-bottom));border-right:1px solid var(--line)}.brand-mark{background:linear-gradient(145deg,#3c2a60,#241632);border-color:var(--line-strong);color:var(--violet-soft)}.app-nav a,.brand-sub,.nav-label,.sidebar-guide p,.sidebar-note,.sidebar-note p,.workspace small{color:var(--muted)}.sidebar-guide,.workspace,.workspace-icon{background:var(--surface-raised);border-color:var(--line)}.app-nav a:hover{background:var(--surface-raised)}.app-nav a[aria-current=page]{background:var(--surface-selected);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--line-strong)}.app-nav .nav-active-dot,.release-badge>span,.review-indicator>span,.status-dot{background:var(--accent)}.eyebrow,.sidebar-guide a,.sidebar-guide>svg{color:var(--accent-text)}.topbar{background:var(--topbar-surface)}.help-link,.route-context{color:var(--muted)}.context-dot{border-color:var(--violet)}.form-row button,.primary-button,.primary-link,.trade-analysis-form button{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent)}.form-row button:hover,.primary-button:hover,.primary-link:hover,.trade-analysis-form button:hover{background:var(--accent-hover);color:var(--accent-ink)}.account-sign-in,.secondary-link{background:var(--surface-raised);color:var(--ink);border-color:var(--line-strong)}.secondary-link:hover{background:var(--surface-selected)}.launch-hero{background:radial-gradient(ellipse at 15% 55%,var(--hero-glow),transparent 65%),linear-gradient(125deg,var(--hero-start),var(--hero-end) 75%);border-color:var(--line-strong)}.hero-copy h2{color:var(--ink)}.hero-emphasis,.hero-kicker,.hero-note,.journey-grid li>span,.review-indicator,.workflow-steps [aria-current=step]{color:var(--accent-text)}.hero-copy>p{color:var(--muted)}.hero-preview{background:var(--surface);border-color:var(--line-strong)}.preview-plan{background:var(--illustration-surface);border-color:var(--line)}.drawing-proof,.preview-bottom{background:var(--surface-raised)}.drawing-proof{color:var(--accent-text)}.guide-section strong,.launch-note strong,.preview-item h3{color:var(--ink)}.plan-label,.preview-bottom,.preview-item dt,.preview-item h3>span,.preview-top,.sample-label{color:var(--muted)}.preview-item dd{color:var(--ink)}.preview-item dd>svg{color:var(--accent-text)}.preview-item dd.sample-missing{color:var(--warning)}.empty-icon,.feature-icon,.row-icon{background:var(--surface-selected);border-color:var(--line-strong);color:var(--violet-soft)}.guide-side,.launch-note,.trade-analysis-form{background:var(--surface-raised);border-color:var(--line)}.launch-note>a,.launch-note>svg{color:var(--accent-text)}.launch-note p{color:var(--muted)}.phase-label,.release-badge{background:var(--accent-soft);border:1px solid var(--positive-line);color:var(--positive)}.workflow-steps [aria-current=step] .workflow-number{background:var(--accent);color:var(--accent-ink);border-color:var(--accent-text);box-shadow:0 0 0 4px var(--accent-wash)}.step-complete .workflow-number{color:var(--accent-text)}input,select,textarea{accent-color:var(--accent-text)}input:not([type=checkbox]):not([type=radio]),select,textarea{background-color:var(--input);color:var(--ink);border-color:var(--line-strong)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}.project-form label,.project-options>summary{color:var(--ink)}.form-row input:focus,select:focus,textarea:focus{border-color:var(--focus)}.upload-zone{background:var(--surface-raised);border-color:var(--line-strong)}.upload-zone.drag-over{background:var(--surface-selected);border-color:var(--focus);box-shadow:inset 0 0 0 1px var(--focus)}.upload-zone>svg{color:var(--violet-soft)}.upload-zone input::file-selector-button{background:var(--surface-selected);color:var(--ink);border-color:var(--line-strong)}.review-progress progress,.upload-progress progress{accent-color:var(--accent-text)}.review-progress span{color:var(--accent-text)}.review-search{background:var(--input);border-color:var(--line-strong)}.review-search svg{color:var(--muted)}.review-search:focus-within{outline-color:var(--focus)}.chip{color:var(--ink)}.chip-on{background:var(--accent);border-color:var(--accent-text);color:var(--accent-ink)}.badge-approved,.form-message.success{background:var(--positive-surface);color:var(--positive);border-color:var(--positive-line)}.badge-rejected{background:var(--danger-surface);color:var(--danger)}.badge-needs_review,.badge-warn,.form-message:not(.success){background:var(--warning-surface);color:var(--warning);border-color:var(--warning-line)}.badge:not(.badge-approved):not(.badge-rejected):not(.badge-warn):not(.badge-needs_review){background:var(--surface-selected);color:var(--violet-soft)}.archive-form button{background:var(--danger-surface);color:var(--danger)}.inline-error{color:var(--danger)}.value-button{border-bottom-color:var(--accent-text)}.value-on{color:var(--accent-hover)}.overlay-box,.value-on{background:var(--accent-wash)}.overlay-box{border-color:var(--accent-text);outline:1px solid #71548f}.viewer-stage{background:var(--canvas)}.viewer-page img{color-scheme:light}:root[data-theme=light]{color-scheme:light;--ink:#24172f;--muted:#62576d;--line:#dad2e2;--line-strong:#9c8aaa;--background:#f7f5fa;--surface:#ffffff;--surface-raised:#f1ecf7;--surface-selected:#e9dff3;--input:#ffffff;--accent-soft:#f1f5dd;--accent-text:#65418c;--accent-wash:rgba(201,220,112,0.16);--violet:#7952a6;--violet-soft:#6b4694;--violet-wash:#eaddf5;--focus:#7950a4;--positive:#516120;--positive-surface:#eff4d8;--positive-line:#9fa96a;--warning:#80551c;--warning-surface:#fff3df;--warning-line:#bd975c;--danger:#963853;--danger-surface:#fceef2;--danger-line:#bd8193;--topbar-surface:#fbf9fd;--drawing-grid:#cfc4dc66;--shadow-control:#402b5d0b;--shadow-panel:#402b5d14;--sidebar-top:#f0eaf7;--sidebar-bottom:#f8f5fc;--hero-glow:#c1a3df30;--hero-start:#f0e8f7;--hero-end:#faf8fd;--illustration-surface:#f7f5fa;--drawing-line:#766880;--drawing-fill:#ece5f5;--drawing-detail:#9e8aac;--drawing-label:#65418c;--canvas:#eae5f0;--logo-primary:#65418c;--logo-accent:#8b9e36}.theme-toggle{display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:36px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-raised);color:var(--ink);font-size:12px;white-space:nowrap}.theme-toggle:hover{background:var(--surface-selected)}.scope-logo{display:inline-flex;align-items:center;gap:12px}.scope-logo-symbol{display:block;flex-shrink:0}.scope-logo-type{display:flex;flex-direction:column;gap:4px}.scope-logo-name{color:var(--ink);font-size:29px;line-height:1;letter-spacing:-1.3px;font-weight:680}.scope-logo-product{color:var(--muted);font-size:9px;line-height:1.3;letter-spacing:2.4px;font-weight:550;padding-left:2px}.brand{letter-spacing:normal}@media (max-width:760px){.scope-logo-symbol{width:37px;height:37px}.scope-logo{gap:9px}.scope-logo-type{flex-direction:row;align-items:baseline;gap:9px}.scope-logo-name{font-size:25px}.scope-logo-product{font-size:9px;letter-spacing:2px}}@media (max-width:520px){.topbar{gap:10px}.topbar .route-context{display:none}.topbar-controls{justify-content:space-between;gap:12px;width:100%}.account-controls{min-width:0;gap:12px}.account-controls .cl-organizationPreviewMainIdentifier{max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.billing-balance{display:flex;flex-wrap:wrap;gap:18px 32px;margin:24px 0 16px;padding:20px 22px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.billing-balance>div{display:flex;flex-direction:column;gap:3px;min-width:0}.billing-balance strong{font-size:26px;font-weight:620;letter-spacing:-.8px}.billing-balance>div:first-of-type strong{color:var(--accent-text)}.billing-balance span{font-size:11px;color:var(--muted)}.billing-card{margin:16px 0;padding:20px 22px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.billing-card-setup{border-color:var(--line-strong);background:var(--surface-raised)}.billing-card h2{margin:0 0 8px;font-size:16px;font-weight:620}.billing-card p{margin:0 0 12px;max-width:620px;line-height:1.6}.billing-card small{display:block;margin-top:10px;color:var(--muted)}.billing-card form{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}.billing-card-brand{text-transform:capitalize}.currency-toggle{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}.section-heading .currency-toggle a{padding:6px 12px;font-size:12px;color:var(--muted);text-decoration:none}.section-heading .currency-toggle a[aria-current=true]{background:var(--surface-selected);color:var(--ink);font-weight:600}.pack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.pack-card{display:flex;flex-direction:column;gap:6px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.pack-card h3{margin:0;font-size:13px;font-weight:600;color:var(--muted)}.pack-card strong{font-size:24px;font-weight:620;letter-spacing:-.6px}.pack-card span{font-size:12px;color:var(--muted)}.pack-card form{margin-top:10px}.pack-card small{margin-top:auto;padding-top:8px;font-size:12px;line-height:1.45;color:var(--muted)}.pack-card-free{background:var(--accent-wash);border-color:var(--accent-soft)}.pack-card-enterprise{background:var(--surface-raised);border-style:dashed}.pack-card-enterprise .secondary-link{margin-top:10px;align-self:flex-start}.billing-check,.billing-empty,.billing-note{margin:12px 0 0;font-size:12px;color:var(--muted)}.billing-check{display:grid;gap:8px}.billing-list li{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 16px}.billing-list li>span:first-child{min-width:0;overflow-wrap:anywhere}.billing-list a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.billing-delta{font-variant-numeric:tabular-nums}.charge-return{flex:1 1 100%;border:1px solid var(--line)}.charge-return strong{text-transform:none}.charge-return input,.charge-return select{background:var(--input);color:var(--ink)}.history-all,.history-back{margin:12px 0 0;font-size:13px}.history-all a,.history-back a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.history-summary{margin:24px 0 16px;padding:20px 22px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.history-summary dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px 24px;margin:0}.history-summary dl>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:3px;min-width:0}.history-summary dt{font-size:11px;color:var(--muted)}.history-summary dd{margin:0;font-size:22px;font-weight:620;letter-spacing:-.6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.history-summary dl>div:first-child dd{color:var(--accent-text)}.history-summary p{margin:14px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}.history-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}.history-filters a{padding:6px 12px;font-size:13px;color:var(--muted);text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:999px}.history-filters a:hover,.history-filters a[aria-current=page]{color:var(--ink);border-color:var(--line-strong)}.history-filters a[aria-current=page]{font-weight:600;background:var(--surface-selected)}.history-month{margin:20px 0 8px;font-size:13px;font-weight:600;color:var(--muted)}.history-list{margin:0;padding:0;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:12px}.history-entry+.history-entry{border-top:1px solid var(--line)}.history-line{display:flex;align-items:flex-start;justify-content:space-between;gap:6px 20px;padding:12px 16px}summary.history-line{position:relative;padding-left:32px;list-style:none;cursor:pointer;border-radius:12px}summary.history-line::-webkit-details-marker{display:none}summary.history-line:before{position:absolute;top:17px;left:14px;width:7px;height:7px;content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg)}details[open]>summary.history-line:before{transform:rotate(45deg)}summary.history-line:hover{background:var(--surface-raised)}.history-figures,.history-main{display:flex;flex-direction:column;gap:2px;min-width:0}.history-main{flex:1 1 auto;overflow-wrap:anywhere}.history-main strong{font-size:14px;font-weight:600}.history-figures small,.history-main small{font-size:12px;line-height:1.4;color:var(--muted)}.history-figures{flex:0 0 auto;align-items:flex-end;text-align:right;font-variant-numeric:tabular-nums}.history-change{font-size:14px;font-weight:600}.history-pages{margin:0;padding:2px 16px 12px 32px}.history-pages-empty{margin:0;padding:0 16px 12px 32px}.history-paging{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:16px 0 0;font-size:13px;color:var(--muted)}.history-paging-links{display:flex;gap:8px}.history-empty{margin:12px 0 0;padding:20px 22px;font-size:13px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:12px}.history-empty p{margin:0 0 8px}@media (max-width:520px){.history-summary{padding:16px}.history-line{flex-direction:column}.history-figures{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:2px 12px;text-align:left}.history-pages,.history-pages-empty{padding-left:16px}}.run-cost{display:flex;flex-direction:column;gap:3px;flex:1 1 100%;font-size:12px;color:var(--ink)}.run-cost small,.run-cost-checking{color:var(--muted)}.run-cost-blocked{color:var(--warning)}.run-cost a{color:inherit;text-decoration:underline;text-underline-offset:3px}.run-confirm{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--ink)}.run-confirm input{accent-color:var(--accent);width:16px;height:16px}.trade-analysis-form.extract-form{display:grid;gap:12px;margin-bottom:20px;min-width:0}.extract-kinds{min-width:0;margin:0;padding:0;border:0}.extract-kinds legend{padding:0;font-size:15px;font-weight:600;color:var(--ink)}.extract-help,.extract-note{margin:4px 0 10px;font-size:12px;color:var(--muted)}.extract-list+.extract-note{margin:10px 0 0}.extract-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:8px;margin:0;padding:0}.extract-kind{min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.extract-kind-chosen{border-color:var(--accent);background:var(--surface-selected)}.extract-kind-unavailable{opacity:.7}.extract-kind>label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.extract-kind-unavailable>label{cursor:not-allowed}.extract-kind>label input{flex:none;width:16px;height:16px;margin:2px 0 0;accent-color:var(--accent)}.extract-kind>label span{display:grid;gap:2px;min-width:0}.extract-kind>label strong{font-size:13px;font-weight:600;color:var(--ink)}.extract-kind>label small{font-size:12px;color:var(--muted)}.extract-sheets,.extract-status{margin:6px 0 0 26px;font-size:12px;color:var(--ink);overflow-wrap:anywhere}.extract-status-none{color:var(--warning)}.extract-sheets summary{cursor:pointer;color:var(--accent-text)}.extract-sheets ul{display:grid;gap:4px;max-height:220px;margin:6px 0 0;padding-left:16px;overflow-y:auto;color:var(--muted)}.extract-sheets li strong{color:var(--ink);font-weight:600}.extract-actions,.extract-specs{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.extract-specs select{min-width:0}.extract-form .inline-error{margin-left:0}.extract-live:empty{position:absolute}.extract-outcome{display:grid;justify-items:start;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:12px;color:var(--ink)}.extract-outcome p{margin:0}.extract-outcome a{color:inherit;text-decoration:underline;text-underline-offset:3px}@media (max-width:520px){.extract-sheets,.extract-status{margin-left:0}}.scope-letter-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;max-width:860px;margin:0 auto 18px}.scope-letter-toolbar .back-link{margin:0}.scope-letter-toolbar p{flex:1 1 260px;margin:0;color:var(--muted);font-size:13px}.scope-letter{--letter-ink:#1d1626;--letter-muted:#5c5367;--letter-line:#d9d2e0;--letter-paper:#ffffff;--letter-wash:#f4f1f8;--letter-focus:#7950a4;--ink:var(--letter-ink);--muted:var(--letter-muted);--input:var(--letter-paper);--line-strong:#9c8aaa;--accent-text:var(--letter-focus);color-scheme:light;max-width:860px;margin:0 auto;padding:clamp(20px,5vw,56px);color:var(--letter-ink);background:var(--letter-paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 36px var(--shadow-panel);overflow-wrap:anywhere}.scope-letter :focus-visible{outline:2px solid var(--letter-focus);outline-offset:2px}.scope-letter h1{margin:0;color:var(--letter-ink);font-size:clamp(24px,4vw,32px)}.scope-letter h2{margin:0 0 10px;color:var(--letter-ink);font-size:16px;font-weight:650}.scope-letter-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px 32px;padding-bottom:20px;border-bottom:2px solid var(--letter-ink)}.scope-letter-company{margin:0 0 6px;font-size:13px;font-weight:650;letter-spacing:1.2px;text-transform:uppercase;color:var(--letter-muted)}.scope-letter-project{margin:6px 0 0;font-size:16px}.scope-letter-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;margin:0;font-size:13px}.scope-letter-meta div{display:contents}.scope-letter-meta dt{color:var(--letter-muted)}.scope-letter-meta dd{margin:0}.scope-letter-notice{margin:20px 0 0;padding:12px 14px;font-size:13px;background:var(--letter-wash);border-left:3px solid var(--letter-focus);border-radius:4px}.scope-letter-section{margin-top:26px}.scope-letter-table-wrap{overflow-x:auto}.scope-letter-table{width:100%;min-width:560px;border-collapse:collapse;font-size:13px;overflow-wrap:normal}.scope-letter-table td,.scope-letter-table th{padding:8px 10px 8px 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--letter-line)}.scope-letter-table thead th{color:var(--letter-muted);font-weight:600;border-bottom-color:var(--letter-ink)}.scope-letter-table tbody th{font-weight:600}.scope-letter-table .scope-letter-number{text-align:right;font-variant-numeric:tabular-nums}.scope-letter-small{margin:10px 0 0;font-size:12px;color:var(--letter-muted)}.scope-letter-list{margin:0;padding-left:20px;list-style:disc}.scope-exclusions{display:grid;gap:4px;margin:0;padding:0;list-style:none}.scope-exclusion label{display:flex;align-items:flex-start;gap:10px;padding:6px 4px;border-radius:6px;cursor:pointer}.scope-exclusion label:hover{background:var(--letter-wash)}.scope-exclusion input{flex:none;width:16px;height:16px;margin-top:2px;accent-color:var(--letter-focus)}.scope-letter-field{display:grid;gap:4px;margin-bottom:12px;font-size:13px}.scope-letter-field>span{color:var(--letter-muted)}.scope-letter-field input,.scope-letter-field textarea{width:100%;padding:8px 10px;border:1px solid var(--letter-line);border-radius:6px}.scope-letter-field textarea{resize:vertical}.scope-letter-print{display:none}.scope-letter-notes{white-space:pre-wrap}.scope-letter-saved{margin:26px 0 0;font-size:12px;color:var(--letter-muted)}@media print{@page{margin:16mm}body:has(.scope-letter){background:#fff}.scope-exclusion:not(.scope-exclusion-on),.scope-letter-blank,.scope-letter-field,.scope-letter-screen,body:has(.scope-letter) .sidebar,body:has(.scope-letter) .site-footer,body:has(.scope-letter) .skip-link,body:has(.scope-letter) .topbar{display:none!important}body:has(.scope-letter) .app-shell,body:has(.scope-letter) .main-shell{display:block;min-height:0}body:has(.scope-letter) main{max-width:none;padding:0}.scope-letter{max-width:none;padding:0;border:0;border-radius:0;box-shadow:none;print-color-adjust:exact}.scope-letter-print{display:block}.scope-exclusions{display:block;padding-left:20px;list-style:disc}.scope-exclusion label{display:inline;padding:0}.scope-exclusion input{display:none}.scope-letter-table-wrap{overflow:visible}.scope-letter h2{break-after:avoid}.scope-exclusion,.scope-letter-table tr{break-inside:avoid}}.page-text-notice p{margin:0}.page-text-notice p+p{margin-top:6px}.page-text-notice .action-button{margin-left:4px}.page-text-run{flex:1 1 100%;font-size:12px;color:var(--muted)}.spec-panel h3{margin:16px 0 6px;font-size:14px}.spec-panel h4{margin:10px 0 4px;font-size:12px;font-weight:500;color:var(--muted)}.spec-panel>p+p{margin-top:6px}.spec-req{font-size:13px}.spec-note .link-button,.spec-req .link-button{margin-left:6px}.spec-req .confirm-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px}.spec-note{display:block;margin-top:4px;font-size:12px;color:var(--muted)}.spec-note-blocking{color:var(--warning)}.spec-page-gone{margin-left:6px;font-size:12px;color:var(--muted)}.spec-note .inline-form{grid-template-columns:minmax(0,1fr);color:var(--ink)}.upload-kind{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 12px;padding:0;border:0;font-size:13px}.upload-kind legend{width:100%;margin-bottom:4px;font-weight:500}.spec-section-table-wrap{overflow-x:auto}.spec-section-table{width:100%;border-collapse:collapse;font-size:13px}.spec-section-table td,.spec-section-table th{padding:7px 8px 7px 0;border-top:1px solid var(--line);text-align:left;vertical-align:top}.spec-section-table thead th{font-weight:500;color:var(--muted)}.spec-row-on{background:var(--accent-wash)}.row-tools{white-space:normal}.row-tools .link-button{white-space:nowrap}.capture-bar{display:grid;gap:10px;border-radius:12px;padding:13px 15px;margin:0 0 12px;overflow-wrap:anywhere}.capture-bar h3{display:flex;align-items:center;gap:6px;margin:0;font-size:14px}.capture-bar h3:focus{outline:none}.capture-bar h3:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.capture-bar .viewer-note,.capture-status{margin:0;padding:0}.capture-search label{display:grid;gap:4px;font-size:12px}.capture-search input{font:inherit;padding:7px 8px;border:1px solid var(--line);border-radius:6px;min-width:0}.capture-actions,.evidence-tools{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.capture-chips li{overflow-wrap:anywhere}.practice-viewer.capturing .viewer-stage,.review-viewer.capturing .viewer-stage{max-height:calc(100vh - 280px);min-height:320px}.capture-layer{position:absolute;inset:0;z-index:2;cursor:crosshair;touch-action:manipulation}.capture-layer:focus{outline:none}.capture-layer:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.capture-crosshair{display:none;position:absolute;width:22px;height:22px;transform:translate(-50%,-50%);pointer-events:none;background:linear-gradient(#1d1426,#1d1426) 50% /2px 100% no-repeat,linear-gradient(#1d1426,#1d1426) 50% /100% 2px no-repeat;outline:1px solid #ffffff}.capture-layer:focus-visible .capture-crosshair{display:block}.count-marker{transform:translate(-50%,-50%);min-width:22px;height:22px;padding:0 4px;border-radius:11px;background:#c9dc70;color:#1d1426;border:2px solid #1d1426;font-weight:600;font-size:11px;line-height:18px;text-align:center}.count-marker,.overlay-estimator{position:absolute;box-sizing:border-box;pointer-events:none}.overlay-estimator{border:2px dashed #5b2a86;background:rgb(201 220 112/.22);outline:none}.capture-band{box-sizing:border-box;border:1px solid #5b2a86;background:rgb(91 42 134/.12)}.capture-band,.capture-corner{position:absolute;pointer-events:none}.capture-corner{width:10px;height:10px;transform:translate(-50%,-50%);border:2px solid #5b2a86;background:#c9dc70}.capture-hover-row{position:absolute;box-sizing:border-box;outline:1px dashed #5b2a86;pointer-events:none}.estimator-evidence{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.estimator-cite{display:inline-flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}.inline-form .evidence-fieldset{grid-column:1/-1;display:grid;gap:6px;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;min-width:0}.inline-form .radio-label{display:flex;gap:6px;align-items:center}.evidence-summary{display:block;color:var(--muted)}.capture-practice{margin-top:28px}.capture-practice h2{margin:0 0 6px;font-size:18px}.practice-viewer{display:grid;gap:12px;margin-top:12px}@media (pointer:coarse){.capture-bar button{min-height:44px}}@media (max-width:760px){.capture-bar{padding:12px}}.manual-field{display:grid;gap:4px;min-width:0}.change-summary{margin:12px 0 6px;font-weight:500}.compare-layout{display:grid;gap:18px;margin-top:14px}.compare-list{display:grid;gap:6px;margin:0;padding:0;list-style:none;max-height:70vh;overflow-y:auto}.compare-pair{display:grid;gap:4px;justify-items:start;width:100%;padding:8px 10px;text-align:left;font:inherit;font-size:13px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;cursor:pointer}.compare-pair small{color:var(--muted)}.compare-pair-on{border-color:var(--accent-text);background:var(--accent-wash)}.compare-grid,.compare-rows{display:grid;gap:16px}.change-card h4,.compare-grid h3,.compare-rows h3{margin:0 0 6px;font-size:14px}.compare-detail>.viewer-note{margin-top:0}.compare-rows{margin-top:14px;font-size:13px;overflow-wrap:anywhere}@media (min-width:900px){.compare-layout{grid-template-columns:minmax(200px,260px) minmax(0,1fr);align-items:start}.compare-grid,.compare-rows{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.change-against{margin:8px 0 14px}.change-section{margin-top:22px}.change-section>h2{font-size:16px}.change-card p{margin:0 0 10px}.change-table th{text-transform:none}.change-table thead th{font-size:12px}.change-new,.change-old{overflow-wrap:anywhere}.change-evidence span{display:block}.addenda-table .warn,.change-new small.warn{display:block;color:var(--warning)}.addenda-table small{display:block;margin-top:3px;font-size:12px}.addenda-line{display:block}.addenda-deleted td,.addenda-deleted th{color:var(--letter-muted)}.scope-letter-later{max-width:860px;margin:0 auto 18px}.takeoff-progress{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px 28px 22px;margin-top:24px}.takeoff-progress-head{display:flex;align-items:center;gap:8px;margin-bottom:18px}.takeoff-progress-head h2{margin:0;font-size:21px;font-weight:600;overflow-wrap:anywhere}.takeoff-progress-bar{height:8px;border-radius:999px;background:var(--surface-raised);border:1px solid var(--line);overflow:hidden}.takeoff-progress-bar>span{display:block;height:100%;background:var(--accent-text);border-radius:inherit;transition:width .6s ease}.takeoff-progress-meta{margin:10px 0 0;font-size:13px;color:var(--ink)}.takeoff-progress-note,.takeoff-progress-running{margin:4px 0 0;font-size:12px;color:var(--muted)}.takeoff-progress-steps{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}.progress-step{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}.progress-step-done{color:var(--ink)}.progress-step-current{color:var(--ink);font-weight:600}.progress-step-marker{width:25px;height:25px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--surface-raised);border:1px solid var(--line);color:var(--accent-text)}.progress-step-current .progress-step-marker{border-color:var(--accent-text);box-shadow:0 0 0 4px var(--accent-wash)}.progress-step-dot{width:9px;height:9px;border-radius:50%;background:var(--accent-text)}.progress-step-text{flex:1;min-width:0;overflow-wrap:anywhere}.progress-step-text small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.progress-sheet{position:relative;flex-shrink:0;width:88px;height:64px;border-radius:7px;border:1px solid var(--line-strong);background:var(--canvas);overflow:hidden}.progress-sheet:has(img[hidden]){display:none}.progress-sheet img{width:100%;height:100%;object-fit:cover;object-position:top left;display:block}.progress-sheet-scan{position:absolute;top:0;left:0;right:0;height:2px;background:var(--logo-accent);box-shadow:0 0 8px var(--logo-accent);opacity:.8;animation:progress-sheet-scan 2.8s ease-in-out infinite}@keyframes progress-sheet-scan{0%{top:0;opacity:0}15%,80%{opacity:.8}to{top:calc(100% - 2px);opacity:0}}.takeoff-progress-footer{margin:22px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}@media (prefers-reduced-motion:reduce){.progress-sheet-scan{animation:none;display:none}.takeoff-progress-bar>span{transition:none}}@media (max-width:520px){.takeoff-progress{padding:20px 16px 16px}.takeoff-progress-head h2{font-size:18px}.progress-sheet{width:64px;height:48px}}.quantity-check{display:grid;gap:6px;margin:8px 0;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-raised)}.quantity-check small{display:block;color:var(--muted)}.quantity-check-line{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap}.quantity-check-line .badge{font-size:12px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.quantity-check .link-button{min-height:30px}.quantity-sheets{display:grid;gap:8px;justify-items:start}.quantity-sheets ul{width:100%;margin:0;padding:0;list-style:none}.quantity-sheets li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:center;padding:6px 0;border-top:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.quantity-sheets li>small{grid-column:1}.quantity-sheets li>.link-button{grid-column:2;grid-row:1/span 2}.quantity-sheets .radio-label{display:flex;align-items:flex-start;gap:8px}.quantity-tools{display:grid;gap:4px;margin-top:12px}.quantity-tools-row{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap}.quantity-tools-row small{color:var(--muted)}.quantity-tools .viewer-note{padding:4px 0}.company-dialog,.quantity-dialog{box-sizing:border-box;margin:auto;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:20px;overflow-y:auto;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:0 12px 40px var(--shadow-panel)}.company-dialog::backdrop,.quantity-dialog::backdrop{background:rgba(10,3,20,.6)}:root[data-theme=light] .company-dialog::backdrop,:root[data-theme=light] .quantity-dialog::backdrop{background:rgba(247,244,251,.78);backdrop-filter:blur(2px)}.quantity-dialog h2:focus{outline:none}.company-dialog h2,.quantity-dialog h2{margin:0 0 10px;font-size:18px}.company-dialog p,.quantity-dialog p{margin:0 0 10px;font-size:14px;color:var(--muted)}.quantity-dialog .radio-label{display:flex;align-items:flex-start;gap:8px;padding:6px 0;font-size:14px}.quantity-dialog-list{max-height:40dvh;margin:0;padding:0;overflow-y:auto;list-style:none;border-top:1px solid var(--line)}.quantity-dialog-list li{padding:6px 0;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.quantity-dialog-list small{display:block;color:var(--muted)}.quantity-dialog h3{margin:14px 0 6px;font-size:14px}.quantity-dialog .quantity-dialog-note{margin-top:12px}.company-dialog{width:min(460px,calc(100vw - 32px));padding:24px}.company-dialog label{display:block;margin:6px 0 8px;font-size:12px}.company-dialog input{box-sizing:border-box;width:100%;border:1px solid var(--line-strong);border-radius:7px;padding:12px}.company-dialog .scope-loader{margin:0;padding:18px 0 8px;color:var(--ink);font-size:15px}.quantity-dialog-actions{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin-top:14px}.count-marker-suggested{background:#d1b5f4}.count-marker-excluded{background:#ffffff;color:#8b1f45;border:2px dashed #8b1f45;pointer-events:auto}.count-marker-title{background:#ffd98a;color:#4a2c00;border:2px solid #4a2c00;border-radius:4px;pointer-events:auto}.quantity-total{margin:0 0 8px;padding:6px 8px;border-left:3px solid var(--line);font-size:12px;overflow-wrap:anywhere}@media (max-width:560px){.quantity-check{padding:8px}.quantity-check .link-button,.quantity-dialog .radio-label,.quantity-sheets .radio-label{min-height:44px}.quantity-tools-row .secondary-link{width:100%;justify-content:center}.quantity-dialog-actions .primary-button{width:100%}.quantity-dialog-actions .link-button{min-height:44px;width:100%;justify-content:center}}.results-section{display:grid;gap:12px;margin:18px 0 26px;padding:18px;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised)}.results-section h2,.results-section h3{margin:0;font-weight:600}.results-section h2{font-size:20px}.results-section h3{margin-top:8px;font-size:15px}.results-summary{margin:0;font-size:16px;font-weight:600}.results-banner{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--warning-line);border-radius:10px;background:var(--warning-surface);color:var(--warning)}.results-banner svg{flex:none;margin-top:1px}.results-banner p{margin:0}.results-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.results-download-error{flex-basis:100%;margin:0;color:var(--danger)}.results-review{display:grid;gap:2px}.results-review a{color:var(--accent-text);text-decoration:underline}.results-counts small,.results-review small{color:var(--muted)}.results-table{width:100%;border-collapse:collapse;font-size:13px}.results-table td,.results-table th{padding:8px 10px 8px 0;border-top:1px solid var(--line);text-align:left;vertical-align:top;font-weight:400;overflow-wrap:anywhere}.results-table thead th{border-top:0;color:var(--muted);font-weight:500;overflow-wrap:normal}.results-table tbody th{font-weight:600}.results-table tbody th .badge{display:block;width:fit-content;margin-top:4px}.results-table strong{font-size:15px}.results-table small{display:block;margin-top:3px;color:var(--muted)}.results-checks{display:grid;gap:3px;margin:0;padding:0;list-style:none;color:var(--warning)}.review-anchor{scroll-margin-top:16px}.results-questions{display:grid;gap:8px;padding:14px;border:1px solid var(--accent-text);border-radius:12px;background:var(--surface)}.results-questions .viewer-note{margin:0}.results-done{margin:0;color:var(--positive);font-weight:600}.results-question-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.results-question{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-raised)}.results-question p{margin:0}.results-question-text{font-size:15px;font-weight:600}.results-question-items{font-size:13px;overflow-wrap:anywhere}.results-question-answers{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.results-question-answers small{flex-basis:100%;color:var(--muted)}.question-pictures{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 14px}.question-pictures figure{margin:0;display:grid;gap:4px}.question-pictures figcaption{color:var(--muted);font-size:12px}.question-sheet{width:min(260px,100%)}.question-sheet.large{width:100%}.question-sheet-frame{position:relative;display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;cursor:zoom-in}.question-sheet.large .question-sheet-frame{cursor:zoom-out}.question-sheet-frame img{display:block;width:100%;height:auto}.question-sheet-missing{display:block;padding:20px 10px;color:#444;font-size:12px}.question-mark{position:absolute;display:grid;place-items:center;min-width:16px;height:16px;padding:0 3px;transform:translate(-50%,-50%);border:2px solid #c2410c;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:10px;font-weight:700;line-height:1;pointer-events:none}.question-sheet.large .question-mark{min-width:22px;height:22px;font-size:12px}.question-floors{width:min(220px,100%)}.question-floors svg{width:100%;height:auto}.question-floors rect{stroke-width:1.5}.question-floors .floor-drawn rect{fill:var(--surface-raised);stroke:var(--accent-text)}.question-floors .floor-copy rect{fill:none;stroke:var(--muted);stroke-dasharray:5 4}.question-floors text{fill:var(--ink);font-size:12px}.question-crop{width:min(280px,100%)}.question-crop-spot{position:absolute;width:46px;height:30px;transform:translate(-50%,-50%);border:3px solid #c2410c;border-radius:999px;pointer-events:none}.question-crop-frame{position:relative;width:calc(100% - 4px);margin:2px;overflow:hidden;outline:2px solid #c2410c;border-radius:8px;background:#fff}.finish-review{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.finish-review h3{margin:0}.finish-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.finish-row{display:grid;grid-template-columns:72px minmax(0,150px) minmax(0,1fr);gap:6px 12px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}.finish-name{font-weight:600}.finish-why{color:var(--muted);font-size:13px}.finish-fix{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.finish-fix label{display:inline-flex;align-items:center;gap:6px;font-size:14px}.finish-fix input{width:96px;min-height:40px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-raised);color:var(--ink)}.finish-fix input:focus{border-color:var(--accent-text);outline:2px solid var(--accent-wash)}.finish-fix small{color:var(--muted)}.finish-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.finish-bar p{flex-basis:100%;margin:0}.finish-bar .finish-go{min-height:48px;padding:10px 20px;font-size:15px}@media (max-width:700px){.finish-row{grid-template-columns:1fr}}.show-on-drawing{display:grid;gap:6px;margin-top:4px}.show-on-drawing .link-button{width:fit-content;font-size:12px}.recent-changes{padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.recent-changes summary{cursor:pointer;font-weight:600}.recent-changes ul{display:grid;gap:6px;margin:10px 0 0;padding:0;list-style:none}.recent-changes li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding-top:6px;border-top:1px solid var(--line)}.recent-changes li small{color:var(--muted)}.results-detailed,html[data-results-view=detailed] .results-simple{display:none}html[data-results-view=detailed] .results-detailed{display:block}.results-view-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.results-view-row .results-view-choice{display:inline-flex}.results-card{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.results-card-total{display:flex;align-items:baseline;gap:8px;margin:0;font-size:15px}.results-card-total strong{font-size:26px;line-height:1}.results-card-total span{color:var(--muted)}.results-card-lights{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.result-light{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:3px 9px 3px 4px;border:1px solid;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.result-light>span[aria-hidden]{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:11px;color:var(--surface)}.result-light-ready{border-color:var(--positive-line);background:var(--positive-surface);color:var(--positive)}.result-light-ready>span[aria-hidden]{background:var(--positive)}.result-light-check{border-color:var(--warning-line);background:var(--warning-surface);color:var(--warning)}.result-light-check>span[aria-hidden]{background:var(--warning)}.result-light-missing{border-color:var(--danger-line);background:var(--danger-surface);color:var(--danger)}.result-light-missing>span[aria-hidden]{background:var(--danger)}@media (min-width:901px){.results-simple-table tbody th,.results-simple-table td:first-child{width:1%;white-space:nowrap}}@media (max-width:900px){.results-simple-table td:first-child:before{content:none}}.result-why{margin-top:4px;font-size:12px}.result-why summary{width:fit-content;color:var(--accent-text);cursor:pointer}.result-why p{margin:6px 0 0;color:var(--muted)}.result-why .results-checks{margin-top:6px}@media (max-width:900px){.results-section{padding:14px}.results-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.results-table,.results-table tbody,.results-table tbody th,.results-table td,.results-table tr{display:block}.results-table tr{padding:10px 0;border-top:1px solid var(--line)}.results-table tbody th,.results-table td{padding:3px 0;border-top:0}.results-table tbody th{font-size:15px}.results-table td:before{content:attr(data-label);display:block;color:var(--muted);font-size:11px}.results-actions .primary-link,.results-actions .secondary-link{width:100%;min-height:44px;justify-content:center}}.sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.sidebar-toggle{display:inline-grid;place-items:center;flex-shrink:0;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}.sidebar-toggle:hover{background:var(--surface-raised);color:var(--ink)}.sidebar-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.sidebar-toggle-expand{display:none}@media (max-width:760px){.sidebar-toggle{display:none}}@media (min-width:761px){:root:not([data-sidebar-review=open]):has(.review-workspace),:root[data-sidebar=collapsed]:not(:has(.review-workspace)){.sidebar{width:72px;padding:20px 12px;overflow-x:hidden}.sidebar-head{flex-direction:column;align-items:center;gap:14px;margin-bottom:18px}.nav-active-dot,.nav-label,.scope-logo-type,.sidebar-guide,.sidebar-note,.sidebar-toggle-collapse,.workspace{display:none}.sidebar-toggle-expand{display:block}.scope-logo-symbol{width:36px;height:36px}.app-nav a{justify-content:center;padding:12px 0}.app-nav a>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}}@media (min-width:1001px){.review-workspace>.split{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}:root[data-review-layout=even] .review-workspace>.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.review-viewer .viewer-stage{max-height:calc(100dvh - 170px)}.viewer-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin-bottom:8px}.viewer-head .viewer-note{flex:1 1 200px;padding:0}.viewer-head .viewer-note svg{display:inline;vertical-align:-3px}.review-view-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.review-layout-choice{display:inline-flex;padding:2px;border:1px solid var(--line);border-radius:9px}.review-full-screen,.review-layout-choice button{min-height:32px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}.review-full-screen:hover,.review-layout-choice button:hover{color:var(--ink)}.review-layout-choice button[aria-pressed=true]{background:var(--surface-raised);color:var(--ink);font-weight:650}.review-full-screen{display:inline-flex;align-items:center;gap:6px;min-height:36px;border:1px solid var(--line);border-radius:9px}@media (max-width:1000px){.review-layout-choice{display:none}}body:has(.review-viewer.expanded){overflow:hidden;visibility:hidden}.review-viewer.expanded{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;padding:12px;background:var(--canvas);visibility:visible}.review-viewer.expanded .viewer{display:flex;flex:1;flex-direction:column;min-height:0}.review-viewer.expanded .viewer-stage{flex:1;min-height:0;max-height:none}.viewer-step{display:inline-flex;gap:4px}.viewer-step button{display:inline-grid;place-items:center;width:33px;height:33px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:inherit;cursor:pointer}.viewer-step button:disabled{cursor:default;opacity:.45}.viewer-step-back{transform:rotate(180deg)}.viewer-bar select{flex:1 1 120px;min-width:0}.viewer-stage.can-pan{cursor:grab}.viewer-stage.can-pan:active{cursor:grabbing}.viewer-stage img{user-select:none}.run-coverage{margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--warning-surface);font-size:13px}.run-coverage h2{display:flex;align-items:center;gap:7px;margin:0 0 6px;font-size:14px;letter-spacing:0}.run-coverage p,.run-coverage ul{margin:6px 0 0}.run-coverage ul{padding-left:18px}.run-coverage .coverage-marks{display:flex;flex-wrap:wrap;gap:6px 16px;padding:0;list-style:none}.coverage-marks li{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.blinds-list{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:13px}.blinds-list h2{margin:0 0 6px;font-size:16px;letter-spacing:0}.blinds-list p{margin:6px 0}.blinds-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:10px 0}.blinds-tools label{display:inline-flex;align-items:center;gap:6px}.blinds-tools select{min-height:32px;font:inherit}.blinds-table{overflow-x:auto}.blinds-table table{width:100%;border-collapse:collapse}.blinds-table td,.blinds-table th{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.blinds-note,.blinds-table tr.left-out td,.blinds-table tr.left-out th{color:var(--muted)}.name-project-form{display:grid;gap:8px;max-width:560px}.name-project-form .form-row{align-items:center;gap:16px;margin-top:6px}.name-project-form label{margin-top:6px;font-weight:600}.name-project-form input:not([type=hidden]){width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink)}.name-project-form input:not([type=hidden]):focus{border-color:var(--accent-text);outline:2px solid var(--accent-wash)}.name-project-form .form-row a{color:var(--muted)}.upload-layout.stacked{grid-template-columns:minmax(0,1fr);gap:14px}.upload-layout.stacked .upload-details .form-row{align-items:flex-start}.upload-progress{display:grid;gap:10px}.upload-progress .scope-loader svg{width:34px;height:34px}.upload-progress .scope-loader span{color:var(--ink);font-size:15px;font-weight:600}.upload-progress progress{appearance:none;-webkit-appearance:none;height:12px;border:0;border-radius:999px;overflow:hidden;background:var(--surface-selected);color:var(--accent-text)}.upload-progress progress::-webkit-progress-bar{background:var(--surface-selected);border-radius:999px}.upload-progress progress::-webkit-progress-value{background:var(--accent-text);border-radius:999px;transition:width .3s ease}.upload-progress progress::-moz-progress-bar{background:var(--accent-text);border-radius:999px}@media (prefers-reduced-motion:reduce){.upload-progress progress::-webkit-progress-value{transition:none}}.needs-price h2,.price-card h2,.quote-issue h2{margin:0 0 12px;font-size:16px;font-weight:620}.price-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px 18px;margin-top:8px;font-size:13px}.price-form label,.quote-form label{display:grid;gap:5px;align-content:start;min-width:0}.price-form label>span,.quote-form label>span{color:var(--muted);font-weight:550}.price-form input,.price-form select,.price-form textarea,.quote-form input,.quote-form select{width:100%;min-width:0;padding:8px 10px;font:inherit;color:var(--ink);background:var(--input);border:1px solid var(--line);border-radius:7px}.price-form textarea{resize:vertical}.price-form small,.price-help{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.price-form-actions,.price-form-wide,.price-form>.form-message{grid-column:1/-1}.price-form-actions,.quote-actions,.quote-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.price-form .price-check{display:flex;align-items:center;gap:10px}.price-check input{width:16px;height:16px;flex:none}.price-conditions{display:grid;gap:10px;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:10px}.price-conditions legend{padding:0 6px;font-weight:600}.price-condition{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.price-condition input,.price-condition select{width:auto;flex:1 1 110px}.price-condition>small{flex-basis:100%}.price-heading{display:flex;flex-wrap:wrap;justify-content:space-between}.quote-table-wrap{max-width:100%;overflow-x:auto;margin:10px 0 18px;border:1px solid var(--line);border-radius:var(--radius)}.quote-editor .quote-table-wrap{container-type:inline-size}.price-rule-table,.quote-lines{width:100%;min-width:860px;border-collapse:collapse;font-size:12px}.price-rule-table td,.price-rule-table th,.quote-lines td,.quote-lines th{padding:8px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.price-rule-table thead th,.quote-lines thead th{color:var(--muted);font-weight:600;background:var(--surface)}.price-rule-table small,.quote-lines small{display:block;color:var(--muted)}.price-rule-conditions{max-width:260px;overflow-wrap:anywhere}.price-rule-actions{white-space:nowrap}.quote-item-head th{background:var(--surface-raised);font-weight:500}.quote-item-head th>span{display:inline-block;margin-right:14px;color:var(--muted)}.quote-item-head .quote-item-name{color:var(--ink);font-weight:650}.quote-number{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}.quote-description{overflow-wrap:anywhere}.quote-line td{border-bottom:0}.quote-line-note td{padding-top:0;color:var(--muted)}.quote-line-negative td{color:var(--danger)}.quote-row-tools{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-left:10px}.quote-inline-form{position:sticky;left:10px;width:min(720px,calc(100vw - 72px));width:min(720px,calc(100cqw - 22px))}.quote-form-row td{padding-top:0;background:var(--surface-raised)}.quote-legend{margin:0 0 8px;color:var(--muted);font-size:12px}.quote-legend .quote-badge{margin:0 8px 0 0}.quote-badge{display:inline-block;margin-left:8px;padding:1px 8px;font-size:11px;color:var(--warning);background:var(--warning-surface);border:1px solid var(--warning-line);border-radius:999px}.quote-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:10px;margin:10px 0 4px;padding:12px;font-size:12px;font-weight:400;background:var(--surface);border:1px solid var(--line);border-radius:8px}.quote-form-actions{grid-column:1/-1}.needs-price{margin:18px 0;padding:14px 16px;font-size:13px;background:var(--warning-surface);border:1px solid var(--warning-line);border-radius:var(--radius)}.needs-price ul{display:grid;gap:8px;margin:0;padding-left:18px}.needs-price .link-button{margin-left:8px}.quote-editor>section{margin-top:22px}.quote-editor>section>h2{margin:0 0 8px;font-size:17px;font-weight:620}.quote-totals{display:grid;gap:6px;max-width:420px;margin:22px 0 22px auto;font-size:13px}.quote-totals dl{display:grid;gap:6px;margin:0}.quote-totals div{display:flex;justify-content:space-between;gap:16px}.quote-totals dt{color:var(--muted)}.quote-totals dd{margin:0;font-variant-numeric:tabular-nums}.quote-totals .quote-total{padding-top:8px;font-size:16px;font-weight:650;border-top:1px solid var(--line-strong)}.quote-totals .quote-total dt{color:var(--ink)}.quote-totals p{margin:0;color:var(--muted);text-align:right}.quote-issue{padding:16px;font-size:13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.quote-issue ul{margin:0 0 12px;padding-left:18px}.quote-notice{max-width:820px;padding:12px 14px;font-size:13px;background:var(--accent-wash);border-left:3px solid var(--violet);border-radius:4px}.quote-exclusions{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:10px}.quote-exclusions legend{padding:0 6px;font-weight:600}.takeoff-quotes h2{margin:0 0 6px;font-size:15px;font-weight:620}.takeoff-quotes p{margin:0 0 10px;color:var(--muted)}.quote-discard{margin-top:22px}.quote-recipient{display:flex;gap:10px;margin:18px 0 0;font-size:13px}.quote-recipient span{white-space:pre-wrap}.quote-letter-total{display:flex;justify-content:flex-end;gap:24px;margin:14px 0 0;font-size:15px;font-weight:650}.quote-letter-total dd{margin:0;font-variant-numeric:tabular-nums}.quote-letter .scope-letter-small{text-align:right}.quote-acceptance{display:none}@media print{.quote-acceptance{display:block;margin-top:48px;font-size:13px}.quote-letter .scope-letter-table tr,.quote-letter-total{break-inside:avoid}}@media (max-width:560px){.app-nav{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.app-nav a{padding:8px 1px}}@media (max-width:380px){.app-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.app-nav a{padding:8px 3px}}.scope-module{display:block;flex-shrink:0;overflow:visible}.scope-module-tile{--tile-color:var(--logo-primary);fill:var(--tile-color);transform-box:fill-box;transform-origin:center}.scope-module-tile:last-child{--tile-color:var(--logo-accent)}.scope-module[data-motion=scan] .scope-module-tile{animation:module-scan-tile 2.8s ease-in-out infinite;animation-delay:calc(var(--scan-row) * .35s)}.scope-module-scanline{fill:var(--logo-accent);opacity:0;animation:module-scan-line 2.8s ease-in-out infinite}@keyframes module-scan-tile{0%,15%,65%,to{opacity:.45}32%,43%{opacity:1}}@keyframes module-scan-line{0%,10%{transform:translateY(5px);opacity:0}20%{opacity:.9}65%{opacity:.9}78%,to{transform:translateY(60px);opacity:0}}.scope-module[data-motion=assemble] .scope-module-tile{animation:module-assemble 3.2s cubic-bezier(.22,1,.36,1) infinite both;animation-delay:calc(var(--tile-index) * .08s)}@keyframes module-assemble{0%,8%{transform:translate(var(--assemble-x),var(--assemble-y)) scale(.35);opacity:0}34%,72%{transform:translate(0) scale(1);opacity:1}95%,to{transform:translate(var(--assemble-x),var(--assemble-y)) scale(.35);opacity:0}}.scope-module[data-motion=sequence] .scope-module-tile{animation:module-sequence 2.8s ease-in-out infinite;animation-delay:calc(var(--tile-index) * .24s)}@keyframes module-sequence{0%,28%,to{transform:scale(.86);opacity:.4;fill:var(--tile-color)}10%,16%{transform:scale(1.12);opacity:1;fill:var(--logo-accent)}}.scope-loader{display:flex;align-items:center;gap:12px;margin-bottom:24px;color:var(--muted);font-size:13px}.scope-loader-compact{margin-bottom:0;gap:8px;font-size:inherit}.scope-button-indicator{display:inline-flex;vertical-align:middle;margin-inline-end:7px;--logo-primary:currentColor;--logo-accent:currentColor}button[aria-busy=true]{cursor:wait}.scope-inline-indicator{display:inline-flex;vertical-align:middle;margin-inline-end:7px}.viewer-loading{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:32px 12px;z-index:2;pointer-events:none}.viewer-loading .scope-loader{padding:12px 18px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}.viewer-stage{position:relative}.viewer-stage[aria-busy=true]{min-height:180px}[data-motion-paused=true] .scope-module[data-motion] *{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.scope-module[data-motion] .scope-module-tile{animation:none;opacity:1;transform:none}.scope-module .scope-module-scanline{animation:none;opacity:0}}.sequence-examples{margin-bottom:24px;padding:24px}.sequence-examples h2{margin:0 0 8px}.sequence-examples>p{margin:0 0 18px;color:var(--muted)}.sequence-examples form+p{margin-top:14px}