:root{color-scheme:light;--brand-600: oklch(.48 .09 245);--brand-500: oklch(.55 .1 245);--brand-400: oklch(.65 .1 245);--brand-50: oklch(.97 .015 245);--brand-100: oklch(.94 .025 245);--ink-900: oklch(.2 .012 250);--ink-800: oklch(.28 .012 250);--ink-700: oklch(.38 .011 250);--ink-600: oklch(.48 .01 250);--ink-500: oklch(.58 .008 250);--ink-400: oklch(.68 .006 250);--ink-300: oklch(.82 .004 250);--ink-200: oklch(.9 .003 250);--ink-150: oklch(.94 .003 250);--ink-100: oklch(.965 .002 250);--ink-50: oklch(.985 .001 250);--surface: #ffffff;--bg: oklch(.975 .003 250);--on-brand: #ffffff;--plan-paper: oklch(.985 .001 250);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .04);--shadow-md: 0 4px 12px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .04);--ok-bg: oklch(.96 .04 155);--ok-fg: oklch(.42 .1 155);--ok-border: oklch(.85 .07 155);--warn-bg: var(--brand-50);--warn-fg: var(--brand-600);--warn-border: var(--brand-100);--bad-bg: oklch(.96 .04 25);--bad-fg: oklch(.47 .14 25);--bad-border: oklch(.85 .08 25);--info-bg: oklch(.96 .025 245);--info-fg: oklch(.45 .08 245);--info-border: oklch(.85 .04 245);--selected-bg: oklch(.94 .08 78);--selected-fg: oklch(.43 .11 62);--selected-border: oklch(.76 .14 68);--violet-bg: oklch(.96 .03 290);--violet-fg: oklch(.44 .12 290);--violet-border: oklch(.85 .06 290);--st-review-bg: var(--warn-bg);--st-review-fg: var(--warn-fg);--st-review-border: var(--warn-border);--st-blocked-bg: oklch(.96 .04 25);--st-blocked-fg: oklch(.47 .14 25);--st-blocked-border: oklch(.85 .08 25);--st-ok-bg: oklch(.96 .04 155);--st-ok-fg: oklch(.42 .1 155);--st-ok-border: oklch(.85 .07 155);--st-proc-bg: oklch(.96 .025 245);--st-proc-fg: oklch(.45 .08 245);--st-proc-border: oklch(.85 .04 245);--st-exp-bg: oklch(.96 .03 290);--st-exp-fg: oklch(.44 .12 290);--st-exp-border: oklch(.85 .06 290);--st-neutral-bg: oklch(.96 .002 250);--st-neutral-fg: oklch(.45 .008 250);--st-neutral-border: oklch(.88 .004 250);--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--nav-w: 224px;--nav-w-collapsed: 64px;--topbar-h: 52px}:root[data-theme=dark]{color-scheme:dark;--brand-600: oklch(.7 .12 245);--brand-500: oklch(.75 .12 245);--brand-400: oklch(.8 .1 245);--brand-50: oklch(.24 .045 245);--brand-100: oklch(.31 .055 245);--ink-900: oklch(.94 .006 250);--ink-800: oklch(.88 .007 250);--ink-700: oklch(.78 .008 250);--ink-600: oklch(.68 .008 250);--ink-500: oklch(.58 .008 250);--ink-400: oklch(.48 .008 250);--ink-300: oklch(.38 .009 250);--ink-200: oklch(.29 .011 250);--ink-150: oklch(.24 .011 250);--ink-100: oklch(.2 .012 250);--ink-50: oklch(.17 .013 250);--surface: oklch(.155 .012 250);--bg: oklch(.115 .014 250);--on-brand: #ffffff;--plan-paper: oklch(.96 .002 250);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .34), 0 1px 4px rgba(0, 0, 0, .26);--shadow-md: 0 6px 18px rgba(0, 0, 0, .38), 0 1px 3px rgba(0, 0, 0, .32);--ok-bg: oklch(.22 .045 155);--ok-fg: oklch(.8 .12 155);--ok-border: oklch(.42 .08 155);--warn-bg: var(--brand-50);--warn-fg: var(--brand-400);--warn-border: var(--brand-100);--bad-bg: oklch(.23 .05 25);--bad-fg: oklch(.8 .16 25);--bad-border: oklch(.44 .09 25);--info-bg: oklch(.23 .045 245);--info-fg: oklch(.8 .1 245);--info-border: oklch(.43 .07 245);--selected-bg: oklch(.26 .06 72);--selected-fg: oklch(.86 .14 78);--selected-border: oklch(.58 .13 70);--violet-bg: oklch(.24 .05 290);--violet-fg: oklch(.82 .12 290);--violet-border: oklch(.43 .08 290);--st-review-bg: var(--warn-bg);--st-review-fg: var(--warn-fg);--st-review-border: var(--warn-border);--st-blocked-bg: var(--bad-bg);--st-blocked-fg: var(--bad-fg);--st-blocked-border: var(--bad-border);--st-ok-bg: var(--ok-bg);--st-ok-fg: var(--ok-fg);--st-ok-border: var(--ok-border);--st-proc-bg: var(--info-bg);--st-proc-fg: var(--info-fg);--st-proc-border: var(--info-border);--st-exp-bg: var(--violet-bg);--st-exp-fg: var(--violet-fg);--st-exp-border: var(--violet-border);--st-neutral-bg: var(--ink-100);--st-neutral-fg: var(--ink-600);--st-neutral-border: var(--ink-200)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--ink-900);background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}a{color:inherit;text-decoration:none}button,input,select,textarea{color:inherit;font:inherit}button{cursor:pointer}p{margin:0;color:var(--ink-600);line-height:1.55}h1,h2,h3{margin:0;color:var(--ink-900)}.mono{font-family:IBM Plex Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-feature-settings:"zero"}.app{display:grid;grid-template-columns:var(--nav-w) minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr);min-height:100vh}.app.nav-collapsed{--nav-w: var(--nav-w-collapsed)}body:has(.plan-review-page.is-focus) .app{grid-template-columns:minmax(0,1fr);overflow-x:hidden}body:has(.plan-review-page.is-focus) .leftnav{display:none}body:has(.plan-review-page.is-focus) .topbar,body:has(.plan-review-page.is-focus) .main{grid-column:1;min-width:0}body:has(.plan-review-page.is-focus) .main{overflow:hidden}.auth-screen{display:grid;min-height:100vh;place-items:center;padding:24px;background:var(--bg)}.auth-panel{display:grid;width:min(360px,100%);gap:14px;padding:22px;border:1px solid var(--ink-200);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm)}.auth-panel h1{font-size:22px}.auth-brand{justify-content:flex-start}.auth-error{color:var(--bad-fg)}.session-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:24px;background:#0000008c}.session-overlay-panel{display:grid;width:min(360px,100%);gap:12px;padding:22px;border:1px solid var(--ink-200);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-lg, 0 24px 60px rgba(0, 0, 0, .28));text-align:left}.session-overlay-panel h2{font-size:18px}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:210;display:grid;gap:10px;width:min(360px,calc(100vw - 40px))}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--ink-200);border-left:3px solid var(--ink-500);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm);font-size:12.5px;line-height:1.5;color:var(--ink-900)}.toast-message{flex:1}.toast-error{border-left-color:var(--bad-fg)}.toast-warning{border-left-color:var(--warn-fg)}.toast-dismiss{display:inline-flex;align-items:center;justify-content:center;padding:2px;border:none;background:transparent;color:var(--ink-500);cursor:pointer}.toast-dismiss:hover{color:var(--ink-900)}.topbar{grid-column:1 / 3;display:flex;align-items:center;gap:18px;height:var(--topbar-h);padding:0 20px;background:var(--surface);border-bottom:1px solid var(--ink-150);z-index:5}.brand-mark{display:flex;align-items:center;gap:10px;color:var(--ink-900);font-size:14px;font-weight:650}.brand-glyph{display:grid;place-items:center;width:22px;height:22px;color:var(--bg);background:var(--ink-900);border-radius:4px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700}.brand-product{margin-left:-4px;color:var(--ink-500);font-family:IBM Plex Mono,monospace;font-size:11px}.brand-sub{margin-left:4px;padding-left:12px;color:var(--ink-500);border-left:1px solid var(--ink-200);font-size:11px;font-weight:500;text-transform:uppercase}.topbar-search{display:flex;align-items:center;flex:0 1 360px;gap:8px;height:30px;padding:0 10px;color:var(--ink-500);background:var(--ink-100);border:1px solid transparent;border-radius:var(--r-md);font-size:12.5px}.topbar-search:focus-within{background:var(--surface);border-color:var(--brand-400)}.topbar-search input{flex:1;min-width:0;background:transparent;border:0;outline:0}.kbd{padding:1px 5px;color:var(--ink-500);background:var(--surface);border:1px solid var(--ink-200);border-radius:3px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.topbar-spacer{flex:1}.topbar-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;color:var(--ink-600);background:transparent;border:1px solid transparent;border-radius:var(--r-md);font-size:12.5px}.topbar-btn:hover{color:var(--ink-800);background:var(--ink-100)}.theme-toggle{color:var(--ink-700);background:var(--ink-50);border-color:var(--ink-150)}.topbar-user{display:flex;align-items:center;gap:8px;padding:2px 8px 2px 2px;border-radius:20px}.topbar-user:hover{background:var(--ink-100)}.avatar{display:grid;place-items:center;width:26px;height:26px;color:#fff;background:linear-gradient(135deg,var(--brand-500),oklch(.45 .08 280));border-radius:50%;font-size:11px;font-weight:600}.topbar-user-meta{font-size:12px;line-height:1.15}.topbar-user-meta .role{color:var(--ink-500);font-size:10.5px}.leftnav{display:flex;flex-direction:column;gap:2px;padding:14px 10px;overflow-y:auto;background:var(--surface);border-right:1px solid var(--ink-150)}.nav-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:30px;margin:0 0 8px auto;color:var(--ink-600);background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md)}.nav-toggle:hover{color:var(--ink-900);background:var(--ink-100);border-color:var(--ink-200)}.nav-section{padding:12px 10px 6px;color:var(--ink-500);font-size:10.5px;font-weight:600;text-transform:uppercase}.nav-row{display:block;border-radius:var(--r-md)}.nav-row:has(.active){background:var(--brand-50)}.nav-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;color:var(--ink-700);border-radius:var(--r-md);font-size:13px;font-weight:500}.nav-item:hover{color:var(--ink-900);background:var(--ink-100)}.nav-item.active{color:var(--brand-600);font-weight:600}.nav-item.active:before{content:"";position:absolute;top:6px;bottom:6px;left:-10px;width:3px;background:var(--brand-600);border-radius:0 3px 3px 0}.nav-item .ico{width:16px;height:16px;color:currentColor;opacity:.8}.nav-collapsed .leftnav{padding:14px 8px;overflow-x:hidden}.nav-collapsed .nav-toggle{width:36px;margin:0 0 8px;align-self:center}.nav-collapsed .nav-label,.nav-collapsed .nav-section{display:none}.nav-collapsed .nav-row{display:flex;justify-content:center}.nav-collapsed .nav-row:has(.active){background:transparent}.nav-collapsed .nav-item{justify-content:center;width:36px;height:36px;padding:0}.nav-collapsed .nav-item.active{background:var(--brand-50)}.main{min-width:0;overflow:auto;background:var(--bg)}.page{width:min(100%,1600px);margin:0 auto;padding:24px 32px 48px}.pgh{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--ink-150)}.pgh h1{margin:0 0 4px;font-size:20px;font-weight:650}.pgh .crumbs{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--ink-500);font-size:11.5px}.pgh .crumbs a{color:var(--ink-600)}.pgh .crumbs a:hover{color:var(--brand-600)}.pgh .sub{color:var(--ink-600);font-size:13px}.pgh-actions,.form-actions,.banner-actions,.toolbar-inline{display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:max-content;height:32px;padding:0 12px;color:var(--ink-800);background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--r-md);font-size:12.5px;font-weight:500}.btn:hover{background:var(--ink-100);border-color:var(--ink-300)}.btn.primary{color:var(--on-brand);background:var(--brand-600);border-color:var(--brand-600)}.btn.primary:hover{background:var(--brand-500);border-color:var(--brand-500)}.btn.danger{color:var(--bad-fg);background:var(--bad-bg);border-color:var(--bad-border)}.btn.danger:hover{color:var(--bad-fg);background:color-mix(in oklch,var(--bad-bg) 82%,var(--surface));border-color:var(--bad-fg)}.btn.warning{color:var(--warn-fg);background:var(--warn-bg);border-color:var(--warn-border)}.btn.warning:hover{color:var(--warn-fg);background:color-mix(in oklch,var(--warn-bg) 82%,var(--surface));border-color:var(--warn-fg)}.btn:disabled,.btn.disabled{cursor:not-allowed;opacity:.55}.btn.disabled{pointer-events:none}.btn.sm{height:26px;padding:0 10px;font-size:12px}.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--brand-600);font-size:12.5px;font-weight:600}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border:1px solid transparent;border-radius:12px;font-size:11px;font-weight:600;line-height:18px;white-space:nowrap}.chip .dot{width:6px;height:6px;background:currentColor;border-radius:50%}.chip.review{color:var(--st-review-fg);background:var(--st-review-bg);border-color:var(--st-review-border)}.chip.blocked{color:var(--st-blocked-fg);background:var(--st-blocked-bg);border-color:var(--st-blocked-border)}.chip.ok{color:var(--st-ok-fg);background:var(--st-ok-bg);border-color:var(--st-ok-border)}.chip.proc{color:var(--st-proc-fg);background:var(--st-proc-bg);border-color:var(--st-proc-border)}.chip.exp{color:var(--st-exp-fg);background:var(--st-exp-bg);border-color:var(--st-exp-border)}.chip.neutral{color:var(--st-neutral-fg);background:var(--st-neutral-bg);border-color:var(--st-neutral-border)}.chip.sq{padding:1px 6px;border-radius:4px;font-size:10.5px;line-height:16px}.card,.kpi,.empty-state,.error-state{background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md)}.card{overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ink-150)}.card-head h3{color:var(--ink-800);font-size:13px;font-weight:600}.card-body{padding:14px 16px}.card-body.pad-0{padding:0;overflow-x:auto}.card-ft{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;color:var(--ink-600);border-top:1px solid var(--ink-150);font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi{padding:14px 16px}.kpi .label{display:flex;align-items:center;gap:6px;color:var(--ink-600);font-size:11.5px;font-weight:500}.kpi .val{margin-top:4px;color:var(--ink-900);font-size:26px;font-weight:650}.kpi .delta{margin-top:6px;color:var(--ink-500);font-size:11.5px}.tbl{width:100%;border-collapse:collapse;font-size:12.5px}.tbl th{position:sticky;top:0;z-index:1;padding:10px 14px;color:var(--ink-500);background:var(--ink-50);border-bottom:1px solid var(--ink-150);font-size:11px;font-weight:600;text-align:left;text-transform:uppercase}.tbl td{padding:11px 14px;color:var(--ink-800);border-bottom:1px solid var(--ink-150);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tr.clickable{cursor:pointer}.tbl tr.clickable:hover td{background:var(--ink-50)}.tbl .meta{margin-top:2px;color:var(--ink-500);font-size:11px}.tbl .tlink{color:var(--ink-900);font-weight:500}.tbl .tlink:hover{color:var(--brand-600)}.row-arrow{display:inline-flex;color:var(--ink-400)}.segmented{display:inline-flex;overflow:hidden;border:1px solid var(--ink-150);border-radius:var(--r-md)}.segmented button{height:28px;padding:0 10px;color:var(--ink-600);background:var(--surface);border:0;border-right:1px solid var(--ink-150);font-size:12px}.segmented button:last-child{border-right:0}.segmented button.on{color:var(--brand-600);background:var(--brand-50);font-weight:600}.search-field{display:inline-flex;align-items:center;gap:8px;width:min(420px,42vw);height:30px;padding:0 10px;color:var(--ink-500);border:1px solid var(--ink-200);border-radius:var(--r-sm)}.search-field input{min-width:0;width:100%;background:transparent;border:0;outline:0}.count-label{color:var(--ink-500);font-size:11.5px}.onboarding-box{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px;margin-bottom:18px;padding:16px;background:linear-gradient(180deg,var(--brand-50),var(--surface));border:1px solid var(--brand-100);border-radius:var(--r-md)}.onboarding-intro{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.onboarding-intro h2{font-size:17px;font-weight:650}.onboarding-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.onboarding-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.onboarding-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:10px;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md)}.onboarding-step-icon{display:grid;place-items:center;width:26px;height:26px;color:var(--brand-600);background:var(--brand-50);border-radius:50%}.onboarding-step-title{color:var(--ink-900);font-size:12.5px;font-weight:600}.onboarding-step-sub{margin-top:3px;color:var(--ink-600);font-size:12px;line-height:1.45}.onboarding-event{margin-top:5px;color:var(--ink-500);font-family:IBM Plex Mono,monospace;font-size:10.5px}.create-project-grid{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:18px;align-items:start}.create-explain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.create-explain-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:flex-start}.create-explain-item svg{color:var(--brand-600)}.create-explain-item strong{display:block;margin-bottom:4px;color:var(--ink-900);font-size:12.5px}.create-explain-item p{font-size:12px;line-height:1.45}.create-note{margin-top:14px;padding:10px 12px;color:var(--ink-700);background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-md);font-size:12px;line-height:1.5}.create-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-card{position:sticky;top:16px}.form-stack{display:flex;flex-direction:column;gap:12px}.form-stack>.btn{align-self:flex-start}.field,.scope-form label:not(.check-option){display:flex;flex-direction:column;gap:4px}.field span,.scope-form label span{color:var(--ink-600);font-size:11.5px;font-weight:500}.inp{min-height:30px;padding:0 10px;color:var(--ink-900);background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--r-sm);outline:none;font-size:12.5px}.inp:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-50)}.inp.textarea,textarea.inp{min-height:88px;padding:8px 10px;resize:vertical}.banner{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--ink-150);border-radius:var(--r-md);font-size:12.5px;line-height:1.5}.banner strong{display:block;margin-bottom:2px}.banner.blocked{color:var(--st-blocked-fg);background:var(--st-blocked-bg);border-color:var(--st-blocked-border)}.banner.review{color:var(--st-review-fg);background:var(--st-review-bg);border-color:var(--st-review-border)}.banner.ok{color:var(--st-ok-fg);background:var(--st-ok-bg);border-color:var(--st-ok-border)}.banner-actions{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.project-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);gap:18px;align-items:start}.project-detail-main,.project-detail-side{display:flex;flex-direction:column;gap:14px;min-width:0}.meta-list,.definition-list{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content minmax(0,1fr);gap:8px 14px;margin:0}.meta-list dt,.definition-list dt{color:var(--ink-500);font-size:11.5px}.meta-list dd,.definition-list dd{min-width:0;margin:0;color:var(--ink-800);font-size:12.5px}.divider{height:1px;margin:12px 0;background:var(--ink-150)}.status-row-main{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.status-row-main span{color:var(--ink-600);font-size:12px}.status-row-main strong{color:var(--ink-900);font-size:13px;font-weight:600;text-align:right}.status-row.blocked .status-row-main strong,.status-row.blocked .status-row-sub{color:var(--st-blocked-fg)}.status-row.review .status-row-main strong,.status-row.review .status-row-sub{color:var(--st-review-fg)}.status-row.ok .status-row-main strong,.status-row.ok .status-row-sub{color:var(--st-ok-fg)}.status-row-sub{margin-top:2px;color:var(--ink-500);font-size:11px;text-align:right}.progress{height:6px;margin-top:8px;overflow:hidden;background:var(--ink-150);border-radius:999px}.progress span{display:block;height:100%;background:var(--brand-500)}.check-list{display:flex;flex-direction:column;gap:8px;padding:0;margin:0;list-style:none}.check-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;color:var(--ink-800);border-bottom:1px solid var(--ink-150)}.check-list li:last-child{border-bottom:0}.check-list span{order:2;color:var(--ink-500);font-size:11px}.check-list li.complete span{color:var(--st-ok-fg)}.workflow-links{display:grid;gap:8px}.workflow-links a{display:grid;grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:9px 10px;color:var(--ink-700);background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md);font-size:12.5px;font-weight:500}.workflow-links a span{min-width:0}.workflow-link-arrow{color:var(--ink-400);justify-self:end;transition:color .15s ease,transform .15s ease}.workflow-links a:hover{color:var(--brand-600);background:var(--brand-50);border-color:var(--brand-100)}.workflow-links a:hover .workflow-link-arrow{color:var(--brand-600);transform:translate(2px)}.workspace-helper{margin:-2px 0 0;color:var(--ink-500);font-size:12px}.workspace-details{overflow:hidden;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.workspace-details>summary{cursor:pointer;padding:12px 14px;color:var(--ink-800);font-size:13px;font-weight:650;list-style-position:inside}.workspace-details>summary:hover{background:var(--ink-50)}.workspace-details>.card,.workspace-details>.panel,.workspace-details>.panel-scroll{border:0;border-top:1px solid var(--ink-150);border-radius:0;box-shadow:none}.scope-form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;margin:0;border:1px solid var(--ink-150);border-radius:var(--r-md)}.scope-form legend{padding:0 4px;color:var(--ink-500);font-size:11.5px;font-weight:600}.check-option{display:flex;align-items:center;gap:8px;color:var(--ink-700);font-size:12.5px}.check-option input{margin:0}.scope-support-note{padding:8px 10px;margin-bottom:8px;color:var(--ink-700);background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-sm);font-size:11.8px;line-height:1.45}.scope-object-option{align-items:flex-start}.scope-object-copy{display:grid;flex:1;gap:2px}.scope-object-copy strong{color:var(--ink-900);font-size:12.5px}.scope-object-copy span{color:var(--ink-600);font-size:11.6px;line-height:1.35}.support-pill{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;color:var(--ink-700);background:var(--surface);border:1px solid var(--ink-200);border-radius:999px;font-size:10.5px;font-weight:700;white-space:nowrap}.support-pill.ok{color:var(--info-fg);background:var(--info-bg);border-color:var(--info-border)}.support-pill.neutral{color:var(--ink-600);background:var(--ink-100);border-color:var(--ink-200)}.empty-state,.error-state{display:grid;place-items:center;gap:10px;min-height:132px;padding:24px;color:var(--ink-600);text-align:center}.empty-state.flat{min-height:84px;border:0;border-radius:0}.error-state{color:var(--st-blocked-fg);background:var(--st-blocked-bg);border-color:var(--st-blocked-border)}.spacer{flex:1}.current-project{display:inline-flex;align-items:center;min-width:0;max-width:360px;height:30px;gap:8px;padding:0 10px;color:var(--ink-700);background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.current-project span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-control{min-width:78px;color:var(--ink-700);background:var(--ink-50);border-color:var(--ink-150)}.btn.ghost{background:transparent;border-color:transparent}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--ink-150)}.page-header h1{margin:0 0 4px;font-size:20px;font-weight:650}.page-header .sub{color:var(--ink-600);font-size:13px;line-height:1.45}.crumbs{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--ink-500);font-size:11.5px}.crumbs a,.linklike{color:var(--ink-600)}.crumbs a:hover,.linklike:hover{color:var(--brand-600)}.linklike{padding:0;font:inherit;text-align:left;background:transparent;border:0;cursor:pointer}.actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.panel{overflow:hidden;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 16px;border-bottom:1px solid var(--ink-150)}.panel-head h2,.panel-head h3{margin:0;color:var(--ink-800);font-size:13px;font-weight:650}.panel-head .meta{margin-top:2px;color:var(--ink-500);font-size:11.5px}.panel-body{padding:16px}.panel-scroll{overflow-x:auto}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.kpi .value{margin-top:5px;color:var(--ink-900);font-size:26px;font-weight:650}.kpi .hint{margin-top:6px;color:var(--ink-500);font-size:11.5px;line-height:1.35}.chip:before{content:"";width:6px;height:6px;background:currentColor;border-radius:50%}.chip:has(.dot):before{display:none}.chip.ok{color:var(--ok-fg);background:var(--ok-bg);border-color:var(--ok-border)}.chip.warn{color:var(--warn-fg);background:var(--warn-bg);border-color:var(--warn-border)}.chip.bad{color:var(--bad-fg);background:var(--bad-bg);border-color:var(--bad-border)}.chip.info{color:var(--info-fg);background:var(--info-bg);border-color:var(--info-border)}.chip.violet{color:var(--violet-fg);background:var(--violet-bg);border-color:var(--violet-border)}.row-title{color:var(--ink-900);font-weight:600}.grid-2{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:18px;align-items:start}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.package-panel-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.package-intake-actions{min-width:0}.package-intake{display:grid;gap:14px}.package-update-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--ink-50);border-top:1px solid var(--ink-150)}.package-update-bar strong{display:block;color:var(--ink-900);font-size:13px;font-weight:650}.package-update-bar span{display:block;margin-top:2px;color:var(--ink-500);font-size:11.5px}.package-intake-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.package-intake-head strong,.processing-job strong{display:block;color:var(--ink-900);font-size:13px;font-weight:650}.package-intake-head span,.processing-job span{display:block;margin-top:2px;color:var(--ink-500);font-size:11.5px;line-height:1.4}.package-message{margin:0}.upload-queue{display:grid;gap:10px}.upload-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.upload-row-icon{display:grid;place-items:center;width:30px;height:30px;color:var(--brand-600);background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-md)}.upload-row-main{min-width:0}.upload-row-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.upload-row-title strong{min-width:0;overflow:hidden;color:var(--ink-900);font-size:12.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.upload-row-title span{color:var(--ink-500);font-size:11.5px;white-space:nowrap}.upload-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:7px;color:var(--ink-500);font-size:11.5px}.package-type-select{width:auto;min-width:146px;height:28px;padding:0 8px;font-size:11.5px}.upload-error{color:var(--bad-fg)}.upload-row-side{display:flex;align-items:flex-end;flex-direction:column;gap:8px}.processing-job{padding:12px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.processing-job-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.package-files-table td:last-child,.package-files-table th:last-child{text-align:right}.documents-stack{display:grid;gap:18px}.doc-tabs{display:flex;gap:8px;margin:0 0 18px}.doc-tab{display:inline-flex;align-items:center;height:32px;padding:0 14px;color:var(--ink-600);background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--r-md);font-size:12.5px;font-weight:600;cursor:pointer}.doc-tab:hover{background:var(--ink-100);border-color:var(--ink-300)}.doc-tab.active{color:var(--on-brand);background:var(--brand-600);border-color:var(--brand-600)}.documents-schedule-table td:last-child,.documents-schedule-table th:last-child{text-align:right}.schedule-load-more{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px 4px}.schedule-rerun-note{margin:12px 16px 2px}.hardware-set-list{display:grid;gap:8px;margin:0;padding:12px 16px;list-style:none}.hardware-set-item{overflow:hidden;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.hardware-set-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;color:inherit;background:transparent;border:0;font:inherit;text-align:left;cursor:pointer}.hardware-set-toggle:hover{background:var(--ink-100)}.hardware-set-caret{flex:none;color:var(--ink-400);transition:transform .15s ease}.hardware-set-caret.open{transform:rotate(90deg)}.hardware-set-heading{display:flex;flex:1;min-width:0;flex-direction:column;gap:1px}.hardware-set-heading .meta{color:var(--ink-500);font-size:11px}.hardware-set-body{display:grid;gap:8px;padding:0 12px 12px 34px}.hardware-set-body[hidden]{display:none}.hardware-set-marks{display:flex;flex-wrap:wrap;gap:6px}.hardware-set-description,.hardware-set-note{margin:0;color:var(--ink-600);font-size:12px;line-height:1.45}.hardware-item-table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.4}.hardware-item-table td{padding:3px 8px 3px 0;color:var(--ink-600);vertical-align:top;border:0}.hardware-item-table td:first-child{width:1%;padding-right:10px;color:var(--ink-500);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.documents-split{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);align-items:stretch}.documents-split>.panel{display:flex;min-height:0;max-height:calc(100dvh - var(--topbar-h) - 220px);flex-direction:column}.documents-split>.panel .panel-scroll{flex:1;min-height:0;overflow-y:auto}@media(min-width:1680px){.documents-split{grid-template-columns:minmax(0,1.2fr) minmax(480px,1fr);gap:24px}}.documents-schedule-actions{display:flex;align-items:center;gap:8px}.documents-mark-search{display:inline-flex;align-items:center;gap:6px;padding-left:8px;color:var(--ink-400);background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--r-sm)}.documents-mark-search:focus-within{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-50)}.documents-mark-search .inp{width:130px;border:0;box-shadow:none}.documents-mark-search .inp:focus{border:0;box-shadow:none}.tbl.compact th,.tbl.compact td{padding:7px 10px}.documents-check-body{display:grid;gap:14px}.documents-summary{margin-top:0}.documents-pages-head{align-items:flex-start}.documents-filters{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.document-filter{width:auto;min-width:158px;height:30px;padding:0 8px;font-size:11.5px}.documents-pages-table td:last-child,.documents-pages-table th:last-child{text-align:right}.document-note{max-width:320px;white-space:normal}.detection-stack{display:grid;gap:2px}.detection-stack strong{color:var(--ink-900);font-size:13px;font-weight:650}.detection-stack span{color:var(--ink-500);font-size:11px;line-height:1.35}.recent-document-jobs{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.recent-document-jobs strong{color:var(--ink-900);font-size:13px;font-weight:650}.recent-document-jobs>div{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px}.qc-top-strip{display:grid;grid-template-columns:minmax(320px,1.4fr) repeat(4,minmax(94px,1fr));gap:10px;align-items:stretch}.qc-ready-card,.qc-stat-card{border:1px solid var(--ink-150);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm)}.qc-ready-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 13px}.qc-ready-card.bad{border-color:var(--bad-border)}.qc-ready-card strong,.qc-stat-card strong{display:block;color:var(--ink-900)}.qc-ready-card strong{margin-bottom:3px;font-size:13px}.qc-ready-card span{color:var(--ink-600);font-size:11.5px;line-height:1.35}.qc-stat-card{display:flex;flex-direction:column;justify-content:center;padding:9px 12px}.qc-stat-card strong{margin-bottom:2px;font-size:19px;line-height:1.05}.qc-stat-card span{color:var(--ink-600);font-size:11px;line-height:1.2}.qc-stat-link{text-decoration:none;transition:border-color .15s ease,background .15s ease}.qc-stat-link:hover{border-color:var(--brand-400);background:var(--brand-50)}.qc-triage-layout{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(420px,1.55fr) minmax(300px,.78fr);gap:12px;align-items:stretch;flex:1 1 auto;min-height:0}.qc-panel-tight{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.qc-panel-tight>.panel-head,.qc-panel-tight>.qc-filter-row,.qc-panel-tight>.qc-bulk-bar,.qc-panel-tight>.qc-table-toolbar,.qc-panel-tight>.qc-table-foot{flex:0 0 auto}.qc-panel-head{align-items:flex-start;gap:10px;min-height:48px}.qc-tab-row{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--ink-150);border-radius:var(--r-md);background:var(--ink-50)}.qc-tab{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:0 8px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-700);font-size:11.5px;font-weight:650;cursor:pointer}.qc-tab.active{background:var(--surface);color:var(--brand-600);box-shadow:var(--shadow-sm)}.qc-tab-count{padding:0 5px;color:inherit;background:var(--ink-100);border-radius:999px;font-size:10.5px}.qc-tab.active .qc-tab-count{background:var(--brand-50)}.qc-filter-row{display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px;border-bottom:1px solid var(--ink-150);background:var(--ink-50)}.qc-filter-row .inp{width:100%;background:var(--surface)}.qc-bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--ink-150);background:var(--warn-bg)}.qc-bulk-status{color:var(--ink-600);font-size:11px;font-weight:600}.qc-bulk-confirm{display:flex;align-items:center;gap:6px}.quality-control-page{display:flex;flex-direction:column;gap:12px;width:100%;max-width:none;height:calc(100dvh - var(--topbar-h));padding:18px 24px;overflow:hidden}.quality-control-page>:not(.qc-triage-layout){flex:0 0 auto}.qc-queue-panel,.qc-detail-panel,.qc-matrix-panel{min-width:0;min-height:0}.qc-issue-list{display:grid;align-content:start;gap:8px;flex:1 1 auto;min-height:0;padding:10px 12px;overflow-y:auto}.qc-issue-group{display:grid;gap:6px}.qc-issue-group-toggle{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:9px 10px;text-align:left;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md);color:var(--ink-800);cursor:pointer}.qc-issue-group-toggle:hover{background:var(--surface)}.qc-group-chevron{display:grid;place-items:center;color:var(--ink-500)}.qc-issue-group-title{min-width:0}.qc-issue-group-title strong,.qc-issue-group-title span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qc-issue-group-title strong{color:var(--ink-900);font-size:12.5px}.qc-issue-group-title span{color:var(--ink-600);font-size:11px}.qc-issue-group-body{display:grid;gap:6px;padding-left:18px}.qc-group-limit-note{color:var(--ink-500);font-size:11px}.qc-show-more{justify-self:center;margin:2px 0 4px}.qc-issue-row{display:grid;grid-template-columns:24px minmax(0,1fr) minmax(64px,auto);gap:10px;align-items:center;width:100%;padding:10px 11px;text-align:left;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md);cursor:pointer}.qc-issue-row:hover{background:var(--ink-50)}.qc-issue-row.active{border-color:var(--brand-400);background:var(--brand-50);box-shadow:0 0 0 3px var(--brand-50)}.qc-issue-row .status-icon{display:grid;place-items:center;color:var(--ink-500)}.qc-issue-row.bad .status-icon{color:var(--bad-fg)}.qc-issue-row.warn .status-icon{color:var(--warn-fg)}.qc-issue-row.ok .status-icon{color:var(--ok-fg)}.qc-issue-body{min-width:0}.qc-issue-body strong{display:block;margin-bottom:2px;overflow:hidden;color:var(--ink-900);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.qc-issue-body span{display:block;overflow:hidden;color:var(--ink-600);font-size:11.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.qc-evidence-card{display:grid;gap:8px;padding:10px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.qc-evidence-panel{display:grid;gap:10px}.qc-evidence-card strong{color:var(--ink-900);font-size:12px}.qc-evidence-card p{margin:0;color:var(--ink-600);font-size:12px;line-height:1.4}.qc-evidence-links{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.qc-evidence-tags{display:flex;flex-wrap:wrap;gap:6px}.qc-plan-target-card{background:var(--surface);border-color:var(--brand-100)}.qc-plan-target-head,.qc-plan-target-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.qc-plan-target-head>div:first-child{display:grid;gap:2px;min-width:0}.qc-plan-target-mark{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:8px 10px;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-sm)}.qc-plan-target-mark span{color:var(--ink-600);font-size:11.5px}.qc-plan-target-mark strong{color:var(--ink-900);font-size:15px}.qc-plan-target-actions{justify-content:flex-start}.qc-raw-cells{color:var(--ink-600);font-size:11.5px}.qc-raw-cells summary{cursor:pointer}.qc-raw-cells dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 8px;margin:8px 0 0}.qc-raw-cells dt{color:var(--ink-500)}.qc-raw-cells dd{min-width:0;margin:0;overflow-wrap:anywhere}.qc-plan-preview{display:grid;gap:8px}.qc-plan-preview-frame{position:relative;max-height:220px;overflow:hidden;border:1px solid var(--ink-150);border-radius:var(--r-sm);background:var(--ink-100)}.qc-plan-preview-frame.focused{height:240px;max-height:none;scrollbar-width:none}.qc-plan-preview-frame.focused::-webkit-scrollbar{display:none}.qc-plan-preview-frame img{display:block;width:100%;height:auto}.qc-plan-preview-note{padding:8px 10px;color:var(--ink-600);font-size:11.5px;line-height:1.4;background:var(--surface);border:1px dashed var(--ink-200);border-radius:var(--r-sm)}.qc-spotlight-stage{position:relative;display:block}.qc-plan-preview-stage{min-width:100%}.qc-spotlight-image{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.qc-spotlight-dim{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.qc-spotlight-marker{position:absolute;box-sizing:border-box;margin:0;padding:0;border:2.5px solid #f43f5e;border-radius:3px;background:#f43f5e1f;box-shadow:0 0 0 2px #ffffffb3;pointer-events:none}button.qc-spotlight-marker{pointer-events:auto;cursor:pointer}button.qc-spotlight-marker:hover{background:#f43f5e3d}.qc-spotlight-marker.selected{border-color:#2563eb;background:#2563eb29;box-shadow:0 0 0 2px #ffffffd9}.qc-spotlight-marker-label{position:absolute;left:0;bottom:100%;margin-bottom:3px;max-width:180px;overflow:hidden;padding:1px 6px;border-radius:999px;background:#f43f5e;color:#fff;font-family:var(--font-mono);font-size:10.5px;font-weight:700;line-height:1.5;white-space:nowrap;text-overflow:ellipsis}.qc-spotlight-marker.selected .qc-spotlight-marker-label{background:#2563eb}.qc-plan-preview-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;color:var(--ink-600);font-size:11.5px}.qc-plan-preview-empty{padding:10px;color:var(--ink-600);font-size:11.7px;line-height:1.4;background:var(--surface);border:1px dashed var(--ink-200);border-radius:var(--r-sm)}.qc-plan-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:18px;background:#00000094}.qc-plan-dialog{width:min(1280px,100%);height:min(900px,calc(100dvh - 36px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--ink-150);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-lg, 0 24px 60px rgba(0, 0, 0, .28))}.qc-plan-dialog-head,.qc-plan-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--ink-150)}.qc-plan-dialog-head>div:first-child{display:grid;gap:2px;min-width:0}.qc-plan-dialog-head strong{color:var(--ink-900);font-size:13px}.qc-plan-dialog-head span,.qc-plan-dialog-foot{color:var(--ink-600);font-size:11.5px}.qc-plan-dialog-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;flex-shrink:0}.qc-plan-dialog-zoom{min-width:42px;color:var(--ink-700);font-family:var(--font-mono);font-size:11.5px;text-align:center}.qc-plan-dialog-canvas{min-height:0;overflow:auto;padding:14px;background:var(--ink-100);cursor:grab;overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none}.qc-plan-dialog-canvas.dragging{cursor:grabbing}.qc-plan-dialog-stage{min-width:720px;margin:0 auto;border:1px solid var(--ink-200);background:var(--surface)}.qc-plan-dialog-image{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.qc-plan-dialog-foot{justify-content:flex-start;border-top:1px solid var(--ink-150);border-bottom:0;background:var(--ink-50)}.qc-table-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--ink-150);background:var(--ink-50)}.qc-search{display:flex;flex:1 1 auto;align-items:center;gap:8px;padding:0 10px;background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--r-sm);color:var(--ink-500)}.qc-search .inp{flex:1 1 auto;width:100%;padding-left:0;border:0;background:transparent}.qc-search .inp:focus{outline:none;box-shadow:none}.qc-table-scroll{flex:1 1 auto;min-height:0;overflow:auto}.qc-matrix-table{width:100%;min-width:620px;border-collapse:collapse;font-size:12px}.qc-matrix-table th,.qc-matrix-table td{padding:8px 10px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--ink-150)}.qc-matrix-table thead th{position:sticky;top:0;z-index:1;color:var(--ink-600);background:var(--surface);font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.03em}.qc-matrix-table tbody tr.blocking td:first-child{box-shadow:inset 3px 0 0 var(--bad-border)}.qc-matrix-empty{padding:24px 10px;color:var(--ink-500);text-align:center;white-space:normal}.qc-table-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border-top:1px solid var(--ink-150);background:var(--ink-50)}.qc-table-foot .meta{color:var(--ink-500);font-size:11.5px}.qc-table-foot .actions{display:flex;align-items:center;gap:6px}.qc-table-foot .inp{width:auto}.qc-detail-panel-body{display:grid;align-content:start;gap:12px;flex:1 1 auto;min-height:0;padding:12px;overflow-y:auto}.qc-summary-box{padding:11px 12px;border:1px solid var(--ink-150);border-radius:var(--r-md);background:var(--ink-50)}.qc-summary-box strong{display:block;margin-bottom:4px;color:var(--ink-900);font-size:13px}.qc-summary-box p{margin:0;color:var(--ink-600);font-size:11.5px;line-height:1.4}.qc-mini-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;align-items:baseline;font-size:12px}.qc-mini-grid label{color:var(--ink-500)}.qc-mini-grid span{color:var(--ink-900);font-weight:600;text-align:right}.qc-action-bar{display:flex;flex-wrap:wrap;gap:8px}.qc-validation-link{justify-content:center}.qc-context-card{display:grid;gap:10px;padding:11px 12px;color:var(--ink-700);background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md);font-size:12px;line-height:1.5}.qc-context-card>strong,.qc-context-head strong{color:var(--ink-900);font-size:12.5px;font-weight:700}.qc-resolver-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#00000073}.qc-resolver{width:min(1120px,100%);max-height:min(880px,calc(100dvh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--ink-150);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-lg, 0 24px 60px rgba(0, 0, 0, .28))}.qc-resolver-head,.qc-resolver-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--ink-150)}.qc-resolver-foot{border-top:1px solid var(--ink-150);border-bottom:0;background:var(--ink-50)}.qc-resolver-head h2{margin:0;color:var(--ink-900);font-size:16px}.qc-resolver-head .meta{margin-top:3px;color:var(--ink-500);font-size:11.7px}.qc-resolver-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.qc-resolver-foot-meta{display:grid;gap:2px;min-width:0}.qc-resolver-error{color:var(--bad-fg);font-size:11.5px;line-height:1.35}.qc-resolver-body{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;overflow:hidden}.qc-combined-row-banner{align-items:flex-start}.qc-resolver-steps{display:grid;align-content:start;gap:8px;padding:14px;border-right:1px solid var(--ink-150);background:var(--ink-50);overflow:auto}.qc-resolver-main{display:grid;align-content:start;gap:12px;padding:16px;overflow:auto}.relation-strip{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr);gap:8px;align-items:center;padding:10px;border:1px solid var(--ink-150);border-radius:var(--r-md);background:var(--surface)}.relation-node{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center;padding:8px;border:1px solid var(--ink-150);border-radius:var(--r-md);background:var(--ink-50)}.relation-node strong{display:block;overflow:hidden;color:var(--ink-900);font-size:11.8px;text-overflow:ellipsis;white-space:nowrap}.relation-node>div>span{display:block;margin-top:1px;overflow:hidden;color:var(--ink-600);font-size:10.8px;text-overflow:ellipsis;white-space:nowrap}.relation-icon{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--ink-150);border-radius:var(--r-md);background:var(--surface);color:var(--brand-600)}.relation-node.ok{border-color:var(--ok-border);background:color-mix(in oklch,var(--ok-bg) 42%,var(--surface))}.relation-node.needs-action{border-color:var(--bad-border);background:color-mix(in oklch,var(--bad-bg) 42%,var(--surface));animation:qcPulse 1.8s ease-in-out infinite}.relation-join{height:2px;border-radius:999px;background:var(--ink-200)}.relation-join.ok{background:var(--ok-border)}.relation-join.warn{background:var(--bad-border)}@keyframes qcPulse{0%,to{box-shadow:0 0 color-mix(in oklch,var(--bad-border) 42%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in oklch,var(--bad-border) 12%,transparent)}}.qc-resolution-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.qc-resolution-card{display:flex;flex-direction:column;gap:6px;min-height:96px;padding:12px;border:1px solid var(--ink-150);border-radius:var(--r-md);background:var(--surface);text-align:left;cursor:pointer}.qc-resolution-card:hover:not(.disabled){border-color:var(--brand-400)}.qc-resolution-card.active{border-color:var(--brand-400);background:var(--brand-50);box-shadow:0 0 0 3px var(--brand-50)}.qc-resolution-card.disabled{cursor:not-allowed;opacity:.62;background:var(--ink-50)}.qc-resolution-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.qc-resolution-card strong{color:var(--ink-900);font-size:12.5px}.qc-resolution-card>span{color:var(--ink-600);font-size:11.5px;line-height:1.4}.qc-link-card{display:grid;gap:10px;padding:12px;border:1px solid var(--ink-150);border-radius:var(--r-md);background:var(--surface)}.qc-link-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.qc-link-card-head strong{color:var(--ink-900);font-size:12.5px}.qc-link-card p{margin:0;color:var(--ink-600);font-size:11.7px;line-height:1.38}.qc-candidate-list{display:grid;gap:6px}.qc-candidate{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--ink-150);border-radius:var(--r-sm);background:var(--ink-50);cursor:pointer}.qc-candidate input{margin:0}.qc-candidate-with-actions{grid-template-columns:minmax(0,1fr) auto;cursor:default}.qc-candidate-pick{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:center;min-width:0;cursor:pointer}.qc-candidate-pick input{margin:0}.qc-candidate-actions{display:flex;align-items:center;gap:6px}.qc-candidate strong{display:block;margin-bottom:1px;color:var(--ink-900);font-size:11.8px}.qc-candidate>span>span{color:var(--ink-600);font-size:11px;line-height:1.3}.qc-candidate-pick>span>span{color:var(--ink-600);font-size:11px;line-height:1.3}.qc-picker-warning{display:flex;align-items:flex-start;gap:8px}.qc-picker-warning svg{flex:0 0 auto;margin-top:1px}.qc-hardware-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.qc-source-card{display:grid;gap:3px;padding:10px;border:1px solid var(--ink-150);border-radius:var(--r-md);background:var(--ink-50)}.qc-source-card>span{color:var(--ink-500);font-size:11px}.qc-source-card strong{color:var(--ink-900);font-size:13px}.qc-add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.qc-add-grid-wide{grid-column:1 / -1}.qc-add-suggestions{display:grid;gap:8px;padding:8px;border:1px solid var(--info-border);border-radius:var(--r-sm);background:var(--info-bg)}.qc-add-suggestions-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px}.qc-add-suggestions-head strong{color:var(--ink-900);font-size:12px}.qc-add-suggestions-head span{color:var(--ink-600);font-size:11px}.qc-add-suggestion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.qc-add-suggestion{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:6px;border:1px solid var(--ink-150);border-radius:var(--r-sm);background:var(--surface)}.qc-add-suggestion>span{display:grid;gap:2px;min-width:0}.qc-add-suggestion>span>span{color:var(--ink-500);font-size:10.5px}.qc-add-suggestion strong{overflow:hidden;color:var(--ink-900);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.qc-template-picker{display:grid;gap:8px;padding:8px;border:1px solid var(--ink-150);border-radius:var(--r-sm);background:var(--ink-50)}.qc-template-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.qc-template-picker-head strong{color:var(--ink-900);font-size:12px}.qc-template-list{max-height:168px;overflow-y:auto}.qc-field-hint{color:var(--ink-500);font-size:10.5px;font-weight:500;font-style:italic}.qc-add-grid .field[hidden]{display:none}.qc-add-more{display:flex;justify-content:flex-start}.qc-batch-link{display:grid;gap:8px;padding:8px;border:1px solid var(--info-border);border-radius:var(--r-sm);background:var(--info-bg)}.qc-batch-link-head strong{color:var(--ink-900);font-size:12px}.qc-batch-link-list{display:grid;gap:6px}.qc-batch-link-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--ink-150);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-800);font-size:11.8px;cursor:pointer}.qc-batch-link-item input{margin:0}.qc-reason-options{display:grid;gap:6px}.qc-reason-option{display:flex;align-items:center;gap:8px;padding:7px 8px;border:1px solid var(--ink-150);border-radius:var(--r-sm);background:var(--ink-50);color:var(--ink-800);font-size:11.8px;cursor:pointer}.qc-reason-option input{margin:0}.qc-reason-option:hover{border-color:var(--brand-400)}.qc-reason-option:has(input:checked){border-color:var(--brand-500);background:var(--brand-50)}.qc-drawer-guidance{margin:0;color:var(--ink-600);font-size:12px;line-height:1.4}.qc-split-list{display:grid;gap:8px}.qc-split-row{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(180px,1.3fr);gap:8px;align-items:start;padding:8px;border:1px solid var(--ink-150);border-radius:var(--r-sm);background:var(--ink-50)}.qc-matrix-hardware{display:inline-flex;flex-wrap:wrap;gap:5px;align-items:center}.qc-hardware-mode{font-size:10.5px}.qc-hardware-reason{max-width:220px;overflow:hidden;color:var(--ink-500);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.documents-page{width:min(100%,1920px)}.validation-page{max-width:1480px}.validation-banner{margin-bottom:14px}.validation-banner .banner-action{align-self:center;flex-shrink:0;margin-left:auto}.validation-summary{margin-bottom:14px}.validation-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:16px;align-items:start}.validation-main-panel,.validation-action-panel{min-width:0}.validation-checklist,.validation-action-stack{display:flex;flex-direction:column;gap:12px}.validation-check-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.validation-check-row strong{display:block;color:var(--ink-900);font-size:12.5px}.validation-check-row span{color:var(--ink-600);font-size:12px;line-height:1.35}.validation-check-link{text-decoration:none}.validation-check-link strong{color:var(--brand-600)}.validation-check-link:hover strong{text-decoration:underline}.validation-check-row.complete .status-icon{color:var(--ok-fg);background:var(--ok-bg)}.validation-check-row.blocked .status-icon{color:var(--bad-fg);background:var(--bad-bg)}.validation-blockers{padding:12px;color:var(--bad-fg);background:var(--bad-bg);border:1px solid var(--bad-border);border-radius:var(--r-md)}.validation-blockers strong{display:block;margin-bottom:8px;color:var(--bad-fg);font-size:12.5px}.validation-blockers ul{display:grid;gap:6px;margin:0;padding-left:18px}.validation-ack-list{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.validation-ack-list>strong{color:var(--ink-900);font-size:12.5px}.validation-check-option{display:flex;align-items:center;gap:8px;color:var(--ink-700);font-size:12.5px}.validation-action-row{display:flex;flex-wrap:wrap;gap:8px}.validation-followup{margin-top:16px}.download-results-page{max-width:1480px}.download-results-banner,.download-results-summary{margin-bottom:14px}.download-results-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:16px;align-items:start}.export-list-panel,.export-request-panel{min-width:0}.export-list,.export-request-stack{display:flex;flex-direction:column;gap:12px}.export-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.export-row.failed{border-color:var(--bad-border)}.export-row.expired{border-color:var(--warn-border)}.export-icon{display:grid;place-items:center;width:32px;height:32px;color:var(--brand-600);background:var(--brand-50);border-radius:var(--r-md)}.export-main{min-width:0}.export-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.export-title-row strong{min-width:0;overflow-wrap:anywhere;color:var(--ink-900);font-size:12.5px}.export-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:5px;color:var(--ink-600);font-size:11.5px}.export-state-note{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:8px;padding:8px 10px;border:1px solid transparent;border-radius:var(--r-md);font-size:12px}.export-failure-reason{font-weight:500}.export-state-note.bad{color:var(--bad-fg);background:var(--bad-bg);border-color:var(--bad-border)}.export-state-note.warn{color:var(--warn-fg);background:var(--warn-bg);border-color:var(--warn-border)}.export-state-note.info{color:var(--info-fg);background:var(--info-bg);border-color:var(--info-border)}.export-actions{display:flex;justify-content:flex-end}.export-check-option{display:flex;align-items:center;gap:8px;color:var(--ink-700);font-size:12.5px}.export-type-field{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0}.export-type-field legend{padding:0;color:var(--ink-600);font-size:11.5px;font-weight:500}.export-type-options{display:flex;flex-direction:column;gap:8px}.export-type-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md);cursor:pointer}.export-type-option input{margin-top:2px}.export-type-option-body{display:flex;flex-direction:column;gap:2px;min-width:0}.export-type-option-label{color:var(--ink-900);font-size:12.5px;font-weight:500}.export-type-option-desc{color:var(--ink-600);font-size:11.5px}.export-type-option.disabled{cursor:not-allowed;opacity:.6}.export-type-option.disabled .export-type-option-desc{font-style:italic}.plan-review-page{display:grid;grid-template-rows:auto auto minmax(0,1fr);width:100%;max-width:none;min-height:calc(100dvh - var(--topbar-h));padding:18px 18px 24px}.plan-review-page.is-focus{grid-template-rows:minmax(0,1fr);width:100%;max-width:100%;overflow:hidden;padding:0}.plan-review-page.is-focus .page-header,.plan-review-page.is-focus .plan-review-summary{display:none}.plan-review-summary{margin-bottom:12px}.plan-review-shell{display:grid;grid-template-columns:minmax(220px,260px) minmax(520px,1fr) minmax(360px,390px);gap:12px;align-items:stretch;min-height:560px;height:clamp(560px,calc(100dvh - var(--topbar-h) - 220px),920px);transition:grid-template-columns .16s ease-out,gap .16s ease-out}.plan-review-page.is-focus .plan-review-shell{min-height:0;height:calc(100dvh - var(--topbar-h))}.plan-review-shell.hide-rail{grid-template-columns:minmax(620px,1fr) minmax(360px,390px)}.plan-review-shell.hide-rail .plan-sheet-panel{display:none}.plan-review-shell.focus-workspace{grid-template-columns:minmax(0,1fr) minmax(340px,390px);gap:10px}.plan-review-shell.focus-workspace .plan-sheet-panel{display:none}.plan-review-shell.focus-workspace .plan-stage,.plan-review-shell.focus-workspace .review-side{animation:focusWorkspaceIn .16s ease-out both}.plan-sheet-panel,.review-side{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;transition:border-color .16s ease-out,box-shadow .16s ease-out}.plan-sheet-panel .panel-body,.review-side .panel-body{min-height:0;overflow-y:auto;overflow-x:hidden}.plan-sheet-list{display:grid;align-content:start;gap:8px}.plan-sheet-button{display:grid;gap:4px;width:100%;min-height:78px;padding:10px 12px;color:var(--ink-700);text-align:left;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.plan-sheet-button:hover,.plan-sheet-button.active{color:var(--ink-900);background:var(--surface);border-color:var(--brand-400)}.plan-sheet-button.active{box-shadow:0 0 0 3px var(--brand-50)}.plan-sheet-button strong,.plan-sheet-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-sheet-button strong{color:inherit;font-size:12.5px;font-weight:650}.plan-sheet-button span{color:var(--ink-500);font-size:11.5px}.plan-review-empty{align-items:center;justify-items:center;gap:9px}.plan-review-empty strong{color:var(--ink-800);font-size:12.5px;font-weight:650}.plan-stage{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;min-width:0;overflow:hidden;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.plan-toolbar{display:flex;align-items:center;gap:8px;min-height:50px;padding:10px 12px;border-bottom:1px solid var(--ink-150);overflow-x:auto;scrollbar-width:thin}.tool-segment{display:inline-flex;align-items:center;gap:4px;padding:3px;white-space:nowrap;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.plan-canvas-wrap{display:grid;position:relative;min-height:0;padding:10px;background:linear-gradient(90deg,var(--ink-100) 1px,transparent 1px),linear-gradient(var(--ink-100) 1px,transparent 1px);background-color:var(--ink-50);background-size:24px 24px}.plan-lookup-drawer{position:absolute;z-index:16;top:10px;bottom:10px;left:10px;display:flex;flex-direction:column;width:min(var(--plan-lookup-width, 420px),calc(100% - 20px));min-width:0;overflow:hidden;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.plan-lookup-resize{position:absolute;top:0;right:-5px;bottom:0;z-index:2;width:10px;padding:0;cursor:ew-resize;background:transparent;border:0}.plan-lookup-resize:after{position:absolute;top:12px;bottom:12px;left:4px;width:2px;content:"";background:transparent;border-radius:999px}.plan-lookup-resize:hover:after,.plan-lookup-resize:focus-visible:after{background:var(--brand-400)}.plan-lookup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 14px 10px;border-bottom:1px solid var(--ink-150)}.plan-lookup-head h2{margin:0;color:var(--ink-900);font-size:14px}.plan-lookup-head p{margin:2px 0 0;color:var(--ink-500);font-size:11.5px}.plan-lookup-search{display:flex;align-items:center;gap:8px;margin:12px 14px 6px;color:var(--ink-500)}.plan-lookup-search .inp{min-width:0}.plan-lookup-context{margin:0 14px 10px;color:var(--ink-500);font-size:11.5px}.plan-lookup-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0 14px 10px;padding:3px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.plan-lookup-tabs button{min-height:30px;color:var(--ink-600);font-size:12px;font-weight:650;background:transparent;border:0;border-radius:var(--r-sm)}.plan-lookup-tabs button.active{color:var(--brand-600);background:var(--surface);box-shadow:var(--shadow-sm)}.plan-lookup-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 14px 12px}.plan-lookup-note{margin-bottom:10px;padding:9px 10px;color:var(--brand-600);font-size:11.5px;line-height:1.4;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-sm)}.plan-lookup-table-wrap{overflow-x:auto;border:1px solid var(--ink-150);border-radius:var(--r-sm)}.plan-lookup-table{min-width:640px}.plan-lookup-table td,.plan-lookup-table th{padding:8px;font-size:11.5px}.plan-lookup-source{min-width:0}.plan-lookup-source>span{overflow:hidden;max-width:100%;color:var(--ink-600);text-overflow:ellipsis;white-space:nowrap}.plan-lookup-section-source{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding:8px 9px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-sm)}.plan-lookup-section-source>span{min-width:0;overflow:hidden;color:var(--ink-700);font-size:11.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.plan-lookup-section-source .btn{flex:0 0 auto;min-height:24px;padding:3px 7px;font-size:11px}.plan-lookup-hardware-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.plan-lookup-hardware-card{background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-sm)}.plan-lookup-hardware-card details{padding:10px}.plan-lookup-hardware-card summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}.plan-lookup-hardware-card summary>span:first-child{display:grid;min-width:0;gap:2px}.plan-lookup-hardware-card strong{overflow:hidden;color:var(--ink-900);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.plan-lookup-hardware-card summary span span{color:var(--ink-500);font-size:11px}.plan-lookup-hardware-card .hardware-set-marks,.plan-lookup-hardware-card .hardware-item-table,.plan-lookup-hardware-card .hardware-set-description,.plan-lookup-hardware-card .hardware-set-note{margin-top:8px}@media(max-width:900px){.plan-lookup-drawer{right:10px;width:auto}.plan-lookup-resize{display:none}}.plan-canvas-state{display:grid;place-items:center;align-content:center;gap:10px;min-height:360px;color:var(--ink-600);text-align:center}.plan-canvas-state.error{color:var(--bad-fg)}.plan-canvas-shell{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--plan-paper);border:1px solid var(--ink-200);border-radius:var(--r-sm);box-shadow:var(--shadow-sm)}.plan-canvas-shell.has-image{height:100%}.plan-transform-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.plan-transform-content{width:max-content;height:max-content}.plan-canvas-world{position:relative;overflow:hidden;background:var(--plan-paper);box-shadow:var(--shadow-sm)}.plan-canvas-world.tool-add{cursor:crosshair}.plan-canvas-world.tool-review{cursor:grab}.plan-canvas-world.tool-review:active{cursor:grabbing}.plan-canvas-image{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;object-fit:fill;background:#fff}.plan-zoom-controls,.canvas-mode-hint,.plan-canvas-edit-status{position:absolute;z-index:8;display:inline-flex;align-items:center;gap:7px;color:var(--ink-700);background:color-mix(in oklch,var(--surface) 94%,transparent);border:1px solid var(--ink-150);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.plan-zoom-controls{top:12px;right:12px;padding:5px}.canvas-mode-hint{top:12px;left:12px;min-height:30px;padding:0 10px;font-size:11.5px;font-weight:650}.plan-canvas-edit-status{right:18px;top:58px;min-height:28px;padding:0 10px;font-size:11.5px;font-weight:650}.plan-canvas-artifact-state{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:10px;padding:28px;color:var(--ink-600);text-align:center;background:var(--ink-50)}.plan-canvas-artifact-state.error{color:var(--bad-fg);background:var(--bad-bg)}.plan-canvas-grid{position:absolute;top:40px;right:40px;bottom:40px;left:40px;display:grid;grid-template-columns:1.1fr .9fr .8fr;grid-template-rows:1fr .82fr;gap:18px;border:4px solid oklch(.34 .01 250)}.plan-frame-box{position:absolute;z-index:2;display:grid;place-items:start;min-width:44px;min-height:34px;padding:6px;color:var(--brand-700);background:color-mix(in oklch,var(--brand-100) 45%,transparent);border:2px solid var(--brand-500);border-radius:var(--r-sm)}.plan-frame-box span{padding:2px 5px;color:var(--brand-800);background:var(--surface);border:1px solid var(--brand-200);border-radius:var(--r-sm);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;font-weight:700}.plan-frame-box.active{border-color:var(--warn-fg);box-shadow:0 0 0 3px color-mix(in oklch,var(--warn-bg) 70%,transparent)}.plan-detection-box{position:absolute;z-index:4;display:grid;place-items:center;min-width:24px;min-height:30px;padding:0;color:var(--surface);background:color-mix(in oklch,var(--brand-500) 60%,transparent);border:2px solid var(--brand-700);border-radius:var(--r-sm);cursor:pointer}.plan-detection-box span{display:grid;place-items:center;width:20px;height:20px;background:color-mix(in oklch,var(--brand-700) 84%,transparent);border-radius:999px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;font-weight:750}.plan-detection-box.ok{background:color-mix(in oklch,var(--ok-bg) 56%,transparent);border-color:var(--ok-fg)}.plan-detection-box.warn{background:color-mix(in oklch,var(--warn-bg) 62%,transparent);border-color:var(--warn-fg)}.plan-detection-box.bad{background:color-mix(in oklch,var(--bad-bg) 62%,transparent);border-color:var(--bad-fg)}.plan-detection-box.status-rejected{color:var(--ink-600);background:color-mix(in oklch,var(--ink-200) 58%,transparent);border-color:var(--ink-500);opacity:.68}.plan-detection-box.info{background:color-mix(in oklch,var(--info-bg) 62%,transparent);border-color:var(--info-fg)}.plan-detection-box.reviewer-added{border-style:dashed}.plan-detection-box.active{z-index:7;background:color-mix(in oklch,var(--selected-bg) 76%,transparent);border-color:var(--selected-border);opacity:1;box-shadow:0 0 0 4px color-mix(in oklch,var(--selected-bg) 82%,transparent),0 4px 12px #0f172a2e}.plan-detection-box.active span{background:var(--selected-fg)}.plan-detection-draft{position:absolute;z-index:5;min-width:1px;min-height:1px;background:color-mix(in oklch,var(--ok-bg) 40%,transparent);border:2px dashed var(--ok-fg);border-radius:var(--r-sm);pointer-events:none}.plan-detection-resize{position:absolute;z-index:7;width:12px;height:12px;background:var(--surface);border:2px solid var(--selected-border);border-radius:50%;box-shadow:0 1px 3px #0f172a2e}.plan-detection-resize.handle-nw{top:-7px;left:-7px;cursor:nwse-resize}.plan-detection-resize.handle-n{top:-7px;left:50%;cursor:ns-resize;transform:translate(-50%)}.plan-detection-resize.handle-ne{top:-7px;right:-7px;cursor:nesw-resize}.plan-detection-resize.handle-e{top:50%;right:-7px;cursor:ew-resize;transform:translateY(-50%)}.plan-detection-resize.handle-se{right:-7px;bottom:-7px;cursor:nwse-resize}.plan-detection-resize.handle-s{bottom:-7px;left:50%;cursor:ns-resize;transform:translate(-50%)}.plan-detection-resize.handle-sw{bottom:-7px;left:-7px;cursor:nesw-resize}.plan-detection-resize.handle-w{top:50%;left:-7px;cursor:ew-resize;transform:translateY(-50%)}.plan-context-menu{position:absolute;z-index:30;display:grid;min-width:190px;padding:5px;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.plan-context-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 9px;color:var(--ink-800);text-align:left;background:transparent;border:0;border-radius:var(--r-sm);font-size:12px;font-weight:600}.plan-context-menu button:hover{background:var(--ink-50)}.plan-context-menu button.danger{color:var(--bad-fg)}.plan-context-menu button.muted{color:var(--ink-500)}.plan-canvas-frame-status{position:absolute;left:18px;bottom:18px;z-index:3;padding:5px 8px;color:var(--ink-700);background:#ffffffeb;border:1px solid var(--ink-200);border-radius:var(--r-sm);font-size:11.5px;font-weight:650}.plan-canvas-detection-status{position:absolute;left:18px;top:18px;z-index:5;display:inline-flex;gap:6px;align-items:center;padding:5px 8px;color:var(--ink-700);background:#ffffffeb;border:1px solid var(--ink-200);border-radius:var(--r-sm);font-size:11.5px;font-weight:650}.plan-room{background:#ffffff9e;border:2px solid oklch(.36 .01 250)}.room-a{grid-column:1;grid-row:1 / 3}.room-b{grid-column:2;grid-row:1}.room-c{grid-column:3;grid-row:1 / 3}.room-d{grid-column:2;grid-row:2}.plan-sheet-title{position:absolute;right:24px;bottom:22px;display:grid;gap:3px;min-width:210px;padding:10px 12px;background:#ffffffeb;border:1px solid var(--ink-200);border-radius:var(--r-sm)}.plan-sheet-title strong{color:#25292f;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.plan-sheet-title span{color:#494e52;font-size:11.5px}.review-queue-stack{display:grid;align-content:start;gap:14px;min-height:100%}.detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.detail-title h3{margin-bottom:3px;font-size:15px;font-weight:650}.detail-grid.compact{display:grid;grid-template-columns:minmax(82px,.42fr) minmax(0,1fr);gap:9px 12px;align-items:center}.detail-grid.compact label{color:var(--ink-500);font-size:11.5px}.detail-grid.compact strong{color:var(--ink-900);font-size:12.5px}.review-note{padding:11px 12px;color:var(--ink-700);background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md);font-size:12px;line-height:1.5}.review-note strong{display:block;margin-bottom:3px;color:var(--ink-900)}.review-note .btn{margin-top:8px}.success-inline{display:block;margin-top:6px;color:var(--ok-fg);font-weight:650}.detection-status-note{display:grid;gap:5px}.detection-status-note.info{color:var(--info-fg);background:var(--info-bg);border-color:var(--info-border)}.detection-status-note.ok{color:var(--ok-fg);background:var(--ok-bg);border-color:var(--ok-border)}.detection-status-note.warn{color:var(--warn-fg);background:var(--warn-bg);border-color:var(--warn-border)}.detection-status-note.bad{color:var(--bad-fg);background:var(--bad-bg);border-color:var(--bad-border)}.frame-context-list{display:grid;gap:8px;padding:11px 12px;color:var(--ink-700);background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md);font-size:12px}.frame-context-list>strong{color:var(--ink-900);font-size:12.5px}.frame-context-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:5px 8px;align-items:center;padding-top:8px;border-top:1px solid var(--ink-150)}.frame-context-row.selectable{width:100%;color:inherit;text-align:left;background:transparent;border-right:0;border-bottom:0;border-left:0;cursor:pointer}.frame-context-row.selectable.active{color:var(--brand-800);background:var(--brand-50)}.frame-context-row span:first-child{grid-row:span 3;justify-self:start;padding:3px 6px;color:var(--brand-700);background:var(--brand-50);border:1px solid var(--brand-200);border-radius:var(--r-sm);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:700}.detection-review-panel{display:grid;gap:10px;padding:11px 12px;color:var(--ink-700);background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md);font-size:12px}.detection-review-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.detection-review-head strong{color:var(--ink-900);font-size:12.5px}.detection-review-head span{color:var(--ink-500);font-size:11.5px}.detection-review-list{display:grid;gap:6px}.detection-review-item{display:grid;gap:7px}.detection-review-item.active{scroll-margin:12px}.detection-review-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;width:100%;padding:8px;color:var(--ink-700);text-align:left;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-sm);cursor:pointer}.detection-review-row.active{border-color:var(--brand-300);box-shadow:0 0 0 2px var(--brand-100)}.detection-review-label{display:grid;gap:2px;min-width:0}.detection-review-label strong,.detection-review-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detection-review-label strong{color:var(--ink-800);font-size:12px}.detection-review-label span{color:var(--ink-500);font-size:11px}.detection-review-row>.detection-review-meta{grid-column:1 / -1;color:var(--ink-500);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-detection-card{display:grid;gap:10px;min-width:0;padding-top:10px;border-top:1px solid var(--ink-150)}.selected-detection-card.expanded{padding:10px;background:var(--surface);border:1px solid var(--brand-200);border-radius:var(--r-sm);box-shadow:0 0 0 2px var(--brand-50);scroll-margin:12px}.selected-door-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;align-items:start}.selected-door-summary>span:first-child{color:var(--ink-800);font-size:12.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-door-meta{grid-column:1 / -1;color:var(--ink-500);font-size:11.5px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-field{gap:5px}.door-detail-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.door-detail-fields .inp{min-height:32px;font-size:12px}.door-detail-summary{display:flex;flex-wrap:wrap;gap:5px;margin-top:-2px}.door-detail-summary span{max-width:100%;padding:2px 7px;overflow:hidden;color:var(--ink-600);background:var(--surface);border:1px solid var(--ink-150);border-radius:999px;font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.detection-action-row{display:flex;flex-wrap:wrap;gap:8px}.door-mark-suggestion{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:-2px;padding:6px 7px;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-sm)}.door-mark-suggestion-label,.door-mark-suggestion-confidence{flex:0 0 auto;font-size:11px;line-height:1.2;white-space:nowrap}.door-mark-suggestion-label{color:var(--brand-600);font-weight:650}.door-mark-suggestion-value{min-width:0;margin-right:auto;overflow:hidden;color:var(--ink-900);font-size:13px;font-weight:750;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.door-mark-suggestion-confidence{color:var(--ink-600);font-weight:600}.door-mark-suggestion .btn{flex:0 0 auto}.schedule-reference-card{display:grid;gap:8px;padding:12px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.schedule-reference-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.schedule-reference-head strong{color:var(--ink-900);font-size:12px}.ref-list{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 12px;align-items:baseline;margin:0;font-size:12px}.ref-list dt{color:var(--ink-600);font-weight:650;font-size:11.5px}.ref-list dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--ink-800)}.ref-caption{color:var(--ink-500);font-size:11px;line-height:1.4}.schedule-reference-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.note-actions{display:flex;flex-wrap:wrap;gap:8px}.schedule-hardware-assign{display:grid;gap:8px;padding-top:8px;border-top:1px solid var(--ink-150)}.schedule-hardware-assigned{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.schedule-hardware-assigned .ref-caption{flex:1 1 160px}.schedule-hardware-change{display:grid;gap:8px}.schedule-reference-note{display:grid;gap:6px;color:var(--warn-fg);background:var(--warn-bg);border-color:var(--warn-border)}.schedule-reference-note strong{color:inherit}.schedule-candidate-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.schedule-candidate{display:grid;gap:8px;padding:10px;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-sm)}.schedule-candidate-head,.schedule-candidate-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.schedule-candidate-head strong,.schedule-candidate-type{color:var(--ink-900);font-size:12px}.schedule-candidate-type{font-weight:650}.schedule-candidate-details{display:grid;grid-template-columns:68px minmax(0,1fr);gap:3px 10px;margin:0;font-size:11.5px}.schedule-candidate-details dt{color:var(--ink-500);font-weight:650}.schedule-candidate-details dd{min-width:0;margin:0;overflow:hidden;color:var(--ink-600);text-overflow:ellipsis;white-space:nowrap}.schedule-quick-view-modal{width:min(760px,100%);max-height:calc(100dvh - 56px);overflow:auto}.schedule-quick-view-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-quick-view-section,.schedule-quick-hardware{display:grid;gap:10px}.schedule-quick-view-section{padding:10px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-sm)}.schedule-quick-view-section>strong,.schedule-quick-hardware>div>strong,.schedule-quick-match strong{color:var(--ink-900);font-size:12.5px}.schedule-quick-hardware>div:first-child{display:grid;gap:2px}.schedule-quick-hardware>div:first-child>span,.schedule-quick-match span{color:var(--ink-500);font-size:11.5px}.schedule-quick-marks,.schedule-quick-matches{display:flex;flex-wrap:wrap;gap:6px}.schedule-quick-match{display:grid;gap:2px;padding:7px 8px;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-sm)}.page-review-actions{display:grid;gap:8px;position:sticky;z-index:4;bottom:0;margin-top:auto;padding:11px 12px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md);box-shadow:0 -10px 18px #050c1314}.page-review-actions-head{display:grid;gap:2px}.page-review-actions-head>strong{color:var(--ink-900);font-size:12.5px}.page-review-actions-head>span{color:var(--ink-500);font-size:11.5px;line-height:1.35}.page-review-action-buttons{display:grid;gap:8px}.page-review-action-buttons .btn{justify-content:center;width:100%}.correction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.correction-grid label{display:grid;gap:4px;min-width:0;color:var(--ink-500);font-size:11px}.correction-grid .inp{width:100%;min-width:0}.success-state.flat{padding:9px 10px;color:var(--ok-fg);background:var(--ok-bg);border:1px solid color-mix(in oklch,var(--ok-fg) 24%,transparent);border-radius:var(--r-sm);font-size:12px}.review-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:18px;background:#0f172a57}.review-modal{display:grid;gap:12px;width:min(420px,100%);padding:16px;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.review-modal h2{margin:0;color:var(--ink-900);font-size:15px;font-weight:700}.review-modal p{margin:0;color:var(--ink-600);font-size:12.5px;line-height:1.45}.review-dialog-callout,.review-dialog-error{border-radius:var(--r-md);font-size:12.5px;line-height:1.45}.review-dialog-callout{display:grid;gap:10px;padding:12px;color:var(--ink-700);background:var(--bad-bg);border:1px solid var(--bad-border)}.review-dialog-callout-head{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start}.review-dialog-callout-head svg{margin-top:1px;color:var(--bad-fg)}.review-dialog-callout-head strong{display:block;margin-bottom:2px;color:var(--ink-900);font-size:12.8px}.review-dialog-callout-head span,.review-dialog-callout p{color:var(--ink-600)}.review-dialog-callout.neutral{color:var(--ink-700);background:var(--ink-50);border-color:var(--ink-150)}.review-dialog-callout.neutral svg{color:var(--info-fg)}.review-dialog-field-list{display:flex;flex-wrap:wrap;gap:6px}.confirm-impact-list{display:grid;gap:4px;margin:0;padding-left:18px;color:var(--ink-700);font-size:12.5px;line-height:1.45}.review-dialog-error{padding:10px 11px;color:var(--bad-fg);background:var(--bad-bg);border:1px solid var(--bad-border)}.review-modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.review-actions{display:flex;flex-wrap:wrap;gap:8px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes focusWorkspaceIn{0%{opacity:.96;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.plan-review-shell,.plan-sheet-panel,.review-side{transition:none}.plan-review-shell.focus-workspace .plan-stage,.plan-review-shell.focus-workspace .review-side{animation:none}}.wizard-shell{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.wizard-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;min-height:62px;padding:10px 12px;text-align:left;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md)}.wizard-step:not(:disabled){cursor:pointer}.wizard-step:hover:not(:disabled){background:var(--ink-50)}.wizard-step.active{border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-50)}.wizard-step.done{background:var(--brand-50)}.wizard-step:disabled{cursor:not-allowed;opacity:.58}.wizard-step.active:disabled,.wizard-step.done:disabled{opacity:1}.step-num{display:grid;place-items:center;width:32px;height:32px;color:var(--ink-600);background:var(--ink-100);border-radius:50%;font-size:12px;font-weight:650}.wizard-step.active .step-num,.wizard-step.done .step-num{color:var(--on-brand);background:var(--brand-600)}.step-copy{min-width:0;line-height:1.25}.step-copy strong,.step-sub{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-copy strong{color:var(--ink-800);font-size:12.6px}.step-sub{margin-top:3px;color:var(--ink-500);font-size:11.3px}.section-title{margin:0 0 6px;font-size:17px}.section-copy{margin:0 0 18px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.create-scope-grid,.notes-field{margin-top:14px}.choice{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;padding:12px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.choice.locked{background:var(--brand-50);border-color:var(--brand-100)}.choice input{margin:2px 0 0}.choice input:disabled{cursor:default}.choice strong,.choice span span{display:block}.choice strong{margin-bottom:3px;color:var(--ink-900);font-size:12.5px}.choice span span{color:var(--ink-600);font-size:11.8px;line-height:1.45}.choice .support-pill,.scope-object-option .support-pill{display:inline-flex;width:max-content;max-width:100%;margin-top:6px}.scope-object-option>.support-pill{margin-top:0}.package-drop{display:grid;place-items:center;min-height:148px;padding:18px;margin-top:14px;text-align:center;background:var(--ink-50);border:1px dashed var(--ink-300);border-radius:var(--r-md)}.package-drop-button{width:100%;color:inherit;font:inherit;cursor:pointer}.package-drop-button:hover:not(:disabled){background:var(--brand-50);border-color:var(--brand-300)}.package-drop-button:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.package-drop-button:disabled{cursor:not-allowed;opacity:.7}.drop-title{display:block;margin:8px 0 6px;color:var(--ink-900);font-size:14px;font-weight:650}.drop-copy{display:block;max-width:420px;margin:0;color:var(--ink-600);font-size:12.5px;line-height:1.45}.package-drop.compact{min-height:120px;margin-top:0}.wizard-package-panel{display:grid;gap:12px;margin-top:14px}.wizard-package-panel .panel-head{min-height:0;padding:0;border-bottom:0}.wizard-package-panel .panel-body{padding:0}.wizard-package-panel .panel-scroll{border:1px solid var(--ink-150);border-radius:var(--r-md)}.next-step-panel{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:flex-start;padding:14px;margin-top:14px;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md)}.next-step-icon{display:grid;place-items:center;width:36px;height:36px;color:var(--ink-600);background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-sm)}.next-step-kicker{margin-bottom:3px;color:var(--ink-500);font-size:11px;font-weight:700;text-transform:uppercase}.next-step-panel h3{margin:0 0 4px;color:var(--ink-900);font-size:13.5px}.next-step-panel p{max-width:560px;margin:0;color:var(--ink-600);font-size:12.4px;line-height:1.45}.drop-icon{display:grid;place-items:center;color:var(--ink-500)}.wizard-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--ink-150)}.mini-timeline{display:grid;gap:10px}.timeline-item{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;color:var(--ink-600);font-size:12px;line-height:1.4}.timeline-dot{display:grid;place-items:center;width:18px;height:18px;margin-top:1px;color:var(--ink-500);background:var(--surface);border:1px solid var(--ink-200);border-radius:50%;font-size:10px;font-weight:650}.timeline-item.active .timeline-dot,.timeline-item.done .timeline-dot{color:var(--on-brand);background:var(--brand-600);border-color:var(--brand-600)}.setup-banner{margin-top:14px}.setup-card-list{margin-top:16px}.project-hero{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.summary-strip.plan-review-summary{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.summary-cell{padding:12px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.summary-cell strong{display:block;margin-bottom:2px;font-size:18px}.summary-cell span{color:var(--ink-600);font-size:11.5px}.status-list{display:grid;gap:10px}.status-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.status-icon{display:grid;place-items:center;width:28px;height:28px;color:var(--brand-600);background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md)}.status-row strong{display:block;margin-bottom:2px;font-size:12.5px}.status-row p{margin:0;color:var(--ink-600);font-size:12px;line-height:1.4}.doc-check{display:grid;gap:10px}.doc-check.compact{margin-bottom:12px}.required-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.required-input{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;padding:10px 12px;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md)}.required-input strong,.required-input>div>span{display:block}.required-input strong{margin-bottom:3px;color:var(--ink-900);font-size:12.5px}.required-input>div>span{color:var(--ink-600);font-size:11.7px;line-height:1.35}.document-validation-empty{margin-bottom:12px}.document-validation-scroll{margin-bottom:12px;border:1px solid var(--ink-150);border-radius:var(--r-md)}.document-validation-table{min-width:920px}.document-validation-table td:nth-child(4){max-width:280px}.page-classification-empty{margin-bottom:12px}.pdf-sheet-panel{display:grid;gap:10px;margin-bottom:12px;padding:12px;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md)}.pdf-sheet-panel-head{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center}.pdf-sheet-panel-head>svg{color:var(--brand-700)}.pdf-sheet-panel-head strong,.pdf-sheet-panel-head span{display:block}.pdf-sheet-panel-head strong{margin-bottom:2px;color:var(--ink-900);font-size:13px}.pdf-sheet-panel-head div>span{color:var(--ink-600);font-size:12px;line-height:1.4}.page-classification-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.page-classification-cell{display:grid;gap:4px;min-width:0;padding:10px 12px;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md)}.page-classification-cell span:first-child{color:var(--ink-600);font-size:11.5px}.page-classification-cell strong{color:var(--ink-900);font-size:18px;line-height:1}.page-classification-cell .chip{justify-self:start}.page-classification-note{margin:0;color:var(--ink-600);font-size:12px;line-height:1.4}.classification-review-panel{display:grid;gap:10px;margin:12px 0;padding:12px;border:1px solid var(--selected-border);border-radius:var(--r-md);background:var(--selected-bg)}.classification-review-head{display:flex;justify-content:space-between;gap:12px}.classification-review-head strong,.classification-review-copy strong{display:block;color:var(--ink-900);font-size:12.8px}.classification-review-head span,.classification-review-copy span{display:block;color:var(--ink-600);font-size:12px;line-height:1.35}.classification-review-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(280px,auto);gap:12px;align-items:start;padding:10px;border:1px solid var(--selected-border);border-radius:var(--r-sm);background:#ffffffb8}.classification-review-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.classification-review-actions .btn{min-height:30px}.classification-bulkbar,.classification-review-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--ink-150);border-radius:var(--r-sm);background:#ffffffb8}.classification-bulk-actions{display:flex;align-items:center;gap:8px}.classification-bulk-actions>span,.classification-review-footer>span,.success-text{color:var(--ink-600);font-size:12px}.success-text{color:var(--ok-fg);font-weight:700}.checkbox-label{display:inline-flex;align-items:center;gap:8px;color:var(--ink-700);font-size:12px;font-weight:700}.classification-review-table-wrap{overflow-x:auto;border:1px solid var(--ink-150);border-radius:var(--r-sm);background:var(--panel)}.classification-review-table{min-width:860px}.classification-review-table th:first-child,.classification-review-table td:first-child{width:36px;text-align:center}.classification-review-table td{vertical-align:top}.classification-review-table select{min-width:190px}.classification-review-table tr.needs-review{background:color-mix(in oklch,var(--warn-bg) 55%,transparent)}.document-technical-details{margin-bottom:12px;border:1px solid var(--ink-150);border-radius:var(--r-md)}.document-technical-details summary{cursor:pointer;padding:10px 12px;color:var(--ink-700);font-size:12.5px;font-weight:700}.document-technical-details[open]{padding-bottom:12px}.document-technical-details[open] summary{border-bottom:1px solid var(--ink-150)}.document-technical-details .document-validation-scroll,.document-technical-details .page-classification-details{margin:12px 12px 0}.page-classification-details{display:grid;gap:8px;margin-bottom:12px}.page-classification-detail{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;min-width:0;padding:9px 12px;background:var(--ink-50);border:1px solid var(--ink-150);border-radius:var(--r-md)}.page-classification-detail strong,.page-classification-detail span{display:block}.page-classification-detail strong{margin-bottom:2px;color:var(--ink-900);font-size:12.3px}.page-classification-detail div>span{overflow:hidden;color:var(--ink-600);font-size:11.7px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.doc-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md)}.doc-row.warn{background:var(--warn-bg);border-color:var(--warn-border)}.doc-row-icon{display:grid;place-items:center;color:var(--ink-600)}.doc-row strong{display:block;margin-bottom:2px;color:var(--ink-900);font-size:12.5px}.doc-row>div>span{display:block;color:var(--ink-600);font-size:11.7px;line-height:1.35}.doc-row-copy{color:var(--ink-600);font-size:11.7px;line-height:1.35}.doc-progress{width:min(360px,100%);height:6px;margin-top:8px;overflow:hidden;background:var(--ink-150);border-radius:999px}.doc-progress span{display:block;height:100%;background:var(--brand-500)}.banner.warn{color:var(--warn-fg);background:var(--warn-bg);border-color:var(--warn-border)}.banner-list{margin:6px 0 0;padding-left:17px}.banner-list li+li{margin-top:3px}.document-check-banner{margin-bottom:12px}.banner.info{color:var(--info-fg);background:var(--info-bg);border-color:var(--info-border)}.export-banner{margin:14px 0 0}.workspace-section{margin-top:18px}.workspace-split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.workspace-split>.panel{height:100%}@media(max-width:1180px){.topbar-search,.topbar-user-meta,.topbar-btn span,.current-project{display:none}.onboarding-box,.create-project-grid,.project-detail-grid,.wizard-shell,.project-hero,.qc-shell,.plan-review-shell,.grid-2{grid-template-columns:1fr}.quality-control-page{height:auto;overflow:visible}.qc-top-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.qc-ready-card{grid-column:1 / -1}.qc-triage-layout{grid-template-columns:1fr;min-height:0}.qc-panel-tight{overflow:visible}.qc-issue-list,.qc-table-scroll,.qc-detail-panel-body{flex:0 0 auto;max-height:460px}.qc-resolver-body,.qc-resolution-grid,.relation-strip,.qc-hardware-compare,.qc-add-suggestion-list,.qc-add-grid{grid-template-columns:1fr}.relation-join{display:none}.documents-split>.panel{max-height:420px}.plan-review-page{display:block}.plan-review-shell{min-height:0;height:auto}.plan-sheet-panel,.review-side{max-height:360px}.plan-stage{height:min(720px,calc(100dvh - var(--topbar-h) - 120px));min-height:520px}.form-card{position:static}.metric-grid,.onboarding-flow,.create-explain-grid,.kpi-grid,.qc-gate-strip,.page-classification-summary,.required-inputs,.summary-strip,.grid-3,.wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.app{grid-template-columns:1fr;grid-template-rows:var(--topbar-h) auto minmax(0,1fr)}.topbar{grid-column:1;gap:10px;padding:0 12px}.brand-sub,.theme-toggle,.topbar-user{display:none}.leftnav{grid-row:2;flex-direction:row;gap:8px;padding:8px 12px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--ink-150)}.leftnav nav,.leftnav nav>div{display:flex;gap:8px}.nav-toggle,.nav-section{display:none}.nav-item{min-width:max-content}.nav-item.active:before{display:none}.main{grid-row:3}.page{padding:18px 14px 32px}.pgh{align-items:flex-start;flex-direction:column}.page-header{align-items:stretch;flex-direction:column}.metric-grid,.onboarding-flow,.create-explain-grid,.create-form-grid,.field-grid,.scope-grid,.kpi-grid,.qc-gate-strip,.page-classification-summary,.required-inputs,.summary-strip,.wizard-steps,.grid-3,.scope-form fieldset,.meta-list,.definition-list,.summary-strip.plan-review-summary{grid-template-columns:1fr}.qc-completion-bar{align-items:stretch;flex-direction:column}.page-classification-detail,.classification-review-row{grid-template-columns:1fr}.classification-review-actions{justify-content:flex-start}.page-classification-detail div>span{white-space:normal}.card-head,.card-ft,.toolbar-inline,.package-intake-head,.package-update-bar,.processing-job-head,.banner{align-items:flex-start;flex-direction:column}.banner-actions{margin-left:0;justify-content:flex-start}.search-field{width:100%}.package-panel-actions,.documents-filters,.upload-row-title,.upload-row-meta{justify-content:flex-start}.qc-row{grid-template-columns:minmax(0,1fr)}.qc-row-badges{justify-content:flex-start}.recent-document-jobs{align-items:flex-start;flex-direction:column}.document-filter{width:100%}.plan-toolbar{align-items:stretch;flex-wrap:wrap}.plan-stage{height:560px;min-height:0}.plan-canvas-shell{min-height:360px}.upload-row{grid-template-columns:30px minmax(0,1fr)}.upload-row-side{grid-column:2;align-items:flex-start;flex-direction:row;flex-wrap:wrap}}
