:root{color-scheme:light;--brand-bg: #fbfbf9;--brand-bg-alt: #f3f4f1;--brand-surface: #ffffff;--brand-ink: #131a24;--brand-ink-soft: #5b6675;--brand-line: #e2e5e1;--brand-line-strong: #c9cec8;--brand-dark: #101c2e;--brand-accent: #2d53e0;--brand-accent-hover: #2244be;--brand-accent-soft: #edf1ff;--brand-on-dark: #f4f6f8;--brand-muted-on-dark: #9aa6b8;--brand-link-on-dark: #7c99ff;--sem-clarify: #84510b;--sem-clarify-bg: #fbf3e4;--sem-confirmed: #26704a;--sem-confirmed-bg: #eaf5ee;--sem-error: #9d2828;--sem-error-bg: #fceeee;--sem-check: #5b6675;--sem-check-bg: #f3f4f1;--font: "Inter", "Arial", system-ui, sans-serif;--font-brand: "Manrope", "Arial", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--radius: 12px;--radius-btn: 10px;--ease: cubic-bezier(.22, 1, .36, 1);--bg: var(--brand-bg);--bg-elevated: var(--brand-bg-alt);--surface: var(--brand-surface);--surface-2: var(--brand-bg-alt);--ink: var(--brand-ink);--text: var(--brand-ink);--muted: var(--brand-ink-soft);--line: var(--brand-line);--line-strong: var(--brand-line-strong);--accent: var(--brand-accent);--accent-bright: var(--brand-accent);--accent-dim: var(--brand-accent-hover);--accent-soft: var(--brand-accent-soft);--accent-ink: #ffffff;--danger: var(--sem-error);--danger-bg: var(--sem-error-bg);--ok: var(--brand-accent);--ok-bg: var(--brand-accent-soft);--warn: var(--sem-clarify);--warn-bg: var(--sem-clarify-bg);--good: var(--sem-confirmed);--good-bg: var(--sem-confirmed-bg);--info: var(--brand-accent);--info-bg: var(--brand-accent-soft);--slate: var(--brand-ink-soft);--slate-bg: var(--brand-bg-alt)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;overflow-x:clip;font-family:var(--font);color:var(--ink);background-color:var(--surface);font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .15s var(--ease)}a:hover{color:var(--accent-dim)}.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.side{position:sticky;top:0;display:flex;flex-direction:column;gap:1.6rem;height:100vh;overflow-y:auto;padding:1.2rem 1.1rem 1.4rem;background:var(--bg-elevated);border-right:1px solid var(--line)}.side-top{display:flex;align-items:flex-start;justify-content:space-between}.side-toggle{display:inline-flex;padding:.3rem;border:1px solid transparent;border-radius:8px;background:none;color:var(--muted);cursor:pointer}.side-toggle:hover{border-color:var(--line);background:var(--surface);color:var(--accent)}.app--side-collapsed{grid-template-columns:3rem minmax(0,1fr)}.app--side-collapsed .side{padding-inline:.5rem}.app--side-collapsed .side>:not(.side-top),.app--side-collapsed .brand{display:none}.side-nav{display:flex;flex-direction:column;gap:.15rem}.side-nav-link{display:flex;align-items:center;gap:.6rem;padding:.5rem .65rem;border:1px solid transparent;border-radius:8px;color:var(--ink);font-size:.92rem;font-weight:500;text-decoration:none}.side-nav-link:hover{color:var(--accent)}.side-nav-link.is-active{background:var(--surface);border-color:var(--line);color:var(--accent)}.side-project:empty{display:none}.side-h{margin:0 0 .5rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.side-project-name{margin:0 0 .3rem;font-size:.95rem;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.side-project-name a{color:var(--ink);text-decoration:none}.side-project-name a:hover{color:var(--accent)}.side-date{font-family:var(--mono);font-size:.75rem;color:var(--muted)}.side-credits{margin-top:1rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:var(--radius-btn);background:var(--surface)}.side-credits .side-h{margin-bottom:.15rem}.side-credits-value{font-family:var(--mono);font-size:1.6rem;font-weight:700;line-height:1.2;color:var(--ink)}.side-credits-hint{margin-top:.2rem;font-size:.78rem;color:var(--muted)}.side-credits--low{border-color:var(--warn);background:var(--warn-bg)}.side-credits--low .side-credits-value,.side-credits--low .side-credits-hint{color:var(--warn)}.side-credits--empty{border-color:var(--danger);background:var(--danger-bg)}.side-credits--empty .side-credits-value,.side-credits--empty .side-credits-hint{color:var(--danger)}.side-user{margin-top:auto;font-size:.85rem;color:var(--muted)}.side-user .text-link{font-size:.85rem}.main{min-width:0;padding:1.35rem 2.2rem 3rem}.app--wide .main{padding:1.35rem 1rem 2rem}.app--wide .page-header{margin-inline:1.2rem}.wordmark{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.15em;font-family:var(--font-brand);line-height:1;color:inherit;text-decoration:none}.wordmark-cogita{font-size:.5rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.wordmark-name{font-size:1.4rem;font-weight:800;letter-spacing:-.035em}.wordmark-dot{color:var(--accent)}.brand{display:flex;align-items:center;color:inherit;text-decoration:none}.brand:hover{color:inherit}.header-btn{display:inline-flex;align-items:center;text-decoration:none}.page-header h1{margin:0 0 .25rem;font-size:1.45rem;font-weight:600;letter-spacing:-.015em;line-height:1.2;color:var(--ink)}.page-header{margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.page-header-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.25rem}.page-header-row h1{margin:0 0 .25rem}.page-header>.breadcrumb+h1{margin-bottom:0}.name-edit{display:flex;flex-wrap:nowrap;align-items:center;gap:.45rem;margin:0 0 .35rem}.name-edit .breadcrumb{margin:0;white-space:nowrap}.name-edit .ghost-btn{padding:.3rem .6rem;font-size:.8rem}.name-edit .name-edit-input{flex:0 0 26rem;width:26rem;max-width:26rem;padding:.3rem .55rem;font-size:.9rem}.text-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;color:var(--accent);font:inherit;font-size:.88rem;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer}.table-nav{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.table-nav-label{min-width:8rem;text-align:center}.text-link:hover{text-decoration:underline}.lede{margin:0 0 .8rem;max-width:60rem;color:var(--muted);font-size:.88rem;line-height:1.5}.breadcrumb{margin:0 0 .1rem;color:var(--muted);font-size:.85rem}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--accent)}.breadcrumb b{color:var(--ink);font-weight:500}.panel{margin-top:1.6rem;padding:0;background:transparent;border:0;border-radius:0}.panel h2{margin:0 0 .8rem;padding-bottom:.4rem;border-bottom:2px solid var(--ink);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.panel>.page-header-row:first-child{align-items:baseline;margin-bottom:.8rem;padding-bottom:.4rem;border-bottom:2px solid var(--ink)}.material-summary-table th.num,.material-summary-table td.num,.project-grid-cell.num,.sortable-th.num .sort-btn{text-align:right}.material-summary-table td.num,.project-grid-cell.num:not(.sortable-th){font-family:var(--mono);font-variant-numeric:tabular-nums}.panel>.page-header-row:first-child h2{margin:0;padding:0;border:0}.panel .section-meta{font-size:.82rem}.next-step .primary-btn{margin-top:.4rem}.panel .section-count{font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}.upload-page .filter-field,.upload-page .filter-checks{margin-bottom:1.15rem}.dropzone{position:relative;display:grid;place-items:center;gap:.7rem;min-height:240px;padding:2.1rem 1.5rem;border:1.5px dashed var(--line-strong);border-radius:var(--radius);background:var(--bg-elevated);text-align:center;cursor:pointer;transition:border-color .2s var(--ease),background-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.dropzone:hover,.dropzone:focus-within,.dropzone.is-active{border-color:var(--accent);background:var(--accent-soft)}.dropzone-icon{width:3.25rem;height:3.25rem;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-soft);font-size:1.45rem;font-weight:700}.dropzone-title{margin:0;font-size:1.2rem;font-weight:600;letter-spacing:-.02em}.dropzone-hint{margin:0;color:var(--muted);font-size:.92rem}.dropzone-browse{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;margin-top:.85rem}.ghost-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:.85rem;font-weight:500;padding:.45rem .8rem;cursor:pointer;text-decoration:none;transition:border-color .15s var(--ease),background-color .15s var(--ease)}.dropzone input[type=file]{display:none}.file-summary{margin-top:1.2rem;padding-top:1.05rem;border-top:1px solid var(--line)}.file-summary-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.file-summary-head .file-summary-count{margin:0}.file-summary-count{margin:0 0 .65rem;font-size:.95rem}.file-summary-count strong{color:var(--accent);font-variant-numeric:tabular-nums}.file-name-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;max-height:16rem;overflow-y:auto;border:1px solid var(--line);border-radius:7px;background:var(--bg-elevated)}.file-name-list li{display:flex;align-items:center;gap:.5rem;min-width:0;padding:.35rem .6rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:.84rem;font-family:var(--mono)}.file-name-list li:last-child{border-bottom:none}.file-name-text{display:flex;min-width:0;flex:1;white-space:nowrap}.file-name-folder{min-width:0;flex:0 100 auto;overflow:hidden;text-overflow:ellipsis}.file-name-base{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.file-name-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;border:none;width:1.4rem;height:1.4rem;line-height:1;border-radius:999px;background:#ffffff0f;color:var(--muted);cursor:pointer;font-size:1rem}.file-name-remove:hover:not(:disabled){background:var(--danger-bg);color:var(--danger)}.file-name-remove:disabled{opacity:.4;cursor:not-allowed}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem;align-items:center}.primary-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.4rem;border:0;border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-size:.9rem;font-weight:600;padding:.55rem 1rem;cursor:pointer;text-decoration:none;transition:background-color .15s var(--ease),opacity .15s var(--ease)}.primary-btn:hover:not(:disabled){background:var(--accent-dim);color:#fff}.primary-btn:focus-visible,.ghost-btn:focus-visible,.accent-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.primary-btn:disabled{background:var(--bg-elevated);color:var(--muted);cursor:not-allowed}.error-banner{margin:1rem 0 0;padding:.85rem 1rem;background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);border-radius:9px}.muted{color:var(--muted)}.progress-panel .progress-head{margin-top:.8rem}.project-errors{margin-top:.8rem;padding:.6rem .9rem;color:var(--sem-clarify);background:var(--sem-clarify-bg);border-radius:.5rem;font-size:.85rem}.project-errors p,.project-errors ul{margin:0}.project-errors ul{padding-left:1.1rem}.progress-panel{display:grid;gap:.9rem}.summary-panel{display:grid;gap:.6rem}.project-table-entry .page-header-row{align-items:center}.project-table-entry-text{margin:0;max-width:48rem;color:var(--muted)}.project-table-entry-btn{text-decoration:none;white-space:nowrap}.demo-next{display:flex;justify-content:center;margin-top:2.5rem;padding-top:2.25rem;border-top:1px solid var(--line)}.demo-next-btn{justify-content:center;gap:.6rem;min-width:min(18rem,100%);padding:1rem 2.75rem;font-size:1.15rem;box-shadow:0 6px 18px color-mix(in srgb,var(--brand-accent) 30%,transparent);transition:background-color .16s var(--ease),transform .16s var(--ease),box-shadow .16s var(--ease)}.demo-next-btn span{transition:transform .16s var(--ease)}.demo-next-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px color-mix(in srgb,var(--brand-accent) 36%,transparent)}.demo-next-btn:hover span{transform:translate(3px)}@media(prefers-reduced-motion:reduce){.demo-next-btn,.demo-next-btn span{transition:none}.demo-next-btn:hover,.demo-next-btn:hover span{transform:none}}.demo-end-page{max-width:60rem;margin:0 auto}.demo-eyebrow{margin:0 0 .6rem;font-family:var(--font-brand);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-accent)}.demo-cta-person{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.75rem;color:var(--brand-ink-soft);font-size:.95rem}.demo-cta-person p{margin:0}.demo-cta-person strong{color:var(--brand-ink);font-weight:600}.demo-cta-person-photo{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--brand-surface)}.demo-roadmap{margin-top:3.5rem}.demo-roadmap-title{margin:0;max-width:32ch;font-family:var(--font-brand);font-size:1.35rem;font-weight:700;line-height:1.3;color:var(--brand-ink)}.demo-roadmap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin-top:1.5rem}.demo-roadmap-card{padding:1.25rem;border:1px solid var(--brand-line);border-radius:var(--radius);background:var(--brand-surface)}.demo-roadmap-card h3{margin:.75rem 0 .4rem;font-size:1rem;font-weight:600;color:var(--brand-ink)}.demo-roadmap-card p{margin:0;font-size:.92rem;line-height:1.5;color:var(--brand-ink-soft)}.demo-roadmap-status{display:inline-block;padding:.15rem .55rem;border-radius:999px;background:var(--sem-clarify-bg);color:var(--sem-clarify);font-size:.75rem;font-weight:600}.demo-roadmap-note{margin:1.25rem 0 0;max-width:70ch;color:var(--brand-ink-soft)}.demo-end-back{display:flex;justify-content:center;margin-top:2.5rem}.demo-end-back .ghost-btn{text-decoration:none}.demo-cta{margin-top:3rem;padding:2.75rem 1.5rem;border:1px solid color-mix(in srgb,var(--brand-accent) 22%,transparent);border-radius:var(--radius);background:var(--brand-accent-soft);color:var(--brand-ink);text-align:center}.demo-cta-title{margin:0;font-family:var(--font-brand);font-size:1.75rem;font-weight:700;color:var(--brand-ink)}.demo-cta-lead{margin:.75rem auto 0;max-width:44ch;font-size:1.05rem;color:var(--brand-ink-soft)}.demo-cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.75rem}.demo-cta-btn{display:inline-flex;align-items:center;padding:.75rem 1.5rem;border:1px solid transparent;border-radius:var(--radius-btn);font-weight:600;text-decoration:none;white-space:nowrap;transition:background-color .16s var(--ease),border-color .16s var(--ease)}.demo-cta-btn--primary{background:var(--brand-accent);color:#fff}.demo-cta-btn--primary:hover{background:var(--brand-accent-hover);color:#fff}.demo-cta-btn--ghost{border-color:var(--brand-line-strong);background:var(--brand-surface);color:var(--brand-ink)}.demo-cta-btn--ghost:hover{border-color:var(--brand-accent)}.demo-cta-btn:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.drawing-context-list{margin:0;padding-left:1.2rem;display:grid;gap:.5rem;max-width:70ch;line-height:1.55}.drawing-context-line{display:block}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.4rem;margin-top:1rem}.filter-input--sm{max-width:18rem;padding:.4rem .6rem;border-radius:7px;font-size:.9rem}.file-table td.file-name{font-weight:500;white-space:normal;overflow-wrap:anywhere}.file-table td.file-name a{color:var(--ink);text-decoration:none}.file-table td.file-name a:hover{color:var(--accent)}.file-table td.file-note-cell{white-space:normal;color:var(--muted)}.file-table td.file-note-cell .file-error-text{color:var(--sem-error);white-space:normal}.file-table td.file-action-cell{text-align:right}.file-table td.file-action-cell .text-link{font-weight:500}.file-table tr.file-row--error td{background:var(--sem-error-bg)}.filter-field{display:grid;gap:.4rem}.filter-label{font-size:.82rem;font-weight:600;color:var(--muted)}.filter-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;max-width:28rem;box-sizing:border-box;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;padding:.7rem .85rem;outline:none;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.filter-input::placeholder{color:var(--muted)}.filter-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.filter-checks{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.filter-check{display:inline-flex;align-items:center;gap:.5rem;font-size:.92rem;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.credits-note{margin:.75rem 0 0;font-size:.88rem;color:var(--muted)}.filter-check input{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer}.filter-check.is-unavailable{color:var(--muted);cursor:not-allowed}.filter-check.is-unavailable input{cursor:not-allowed}.section-count{font-weight:500;font-size:.85em}.progress-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:baseline}.progress-head-leading{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.progress-text{margin:0;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.progress-meta{color:var(--accent);font-size:.95rem;font-family:var(--mono);font-weight:600}.progress-bar{height:.6rem;background:var(--bg-elevated);border:1px solid var(--line);border-radius:7px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent);transition:width .35s var(--ease);position:relative}.progress-bar-fill.is-live:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:sheen 1.4s linear infinite}@keyframes sheen{0%{transform:translate(-100%)}to{transform:translate(100%)}}.status-line{margin:0;color:var(--muted);font-size:.92rem}.status-dot{display:inline-block;width:.55rem;height:.55rem;margin-right:.45rem;border-radius:2px;background:var(--muted);vertical-align:middle}.status-dot.live{background:var(--accent);animation:pulse 1.2s ease-in-out infinite}.status-dot.done{background:var(--accent)}.status-dot.error{background:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.status-pill{display:inline-flex;align-items:center;padding:.22rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border:1px solid transparent;color:var(--sem-check);background:var(--sem-check-bg)}.status-pill.status-pending_upload,.status-pill.status-processing,.status-pill.status-summarizing{color:var(--accent);background:var(--accent-soft)}.status-pill.status-done{color:var(--sem-confirmed);background:var(--sem-confirmed-bg)}.status-pill.status-error{color:var(--sem-error);background:var(--sem-error-bg)}.status-pill.status-done_with_errors{color:var(--sem-clarify);background:var(--sem-clarify-bg)}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .7rem .28rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;line-height:1.2;color:var(--sem-check);background:var(--sem-check-bg);border:1px solid transparent;white-space:nowrap}.badge:before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:currentColor;flex-shrink:0}.badge.status-error{color:var(--sem-error);background:var(--sem-error-bg)}.badge.status-done{color:var(--sem-confirmed);background:var(--sem-confirmed-bg)}.badge.status-done_with_errors{color:var(--sem-clarify);background:var(--sem-clarify-bg)}.badge.edited{color:var(--accent);background:var(--accent-soft);margin-top:.55rem}.file-error{margin:.55rem 0 0;color:var(--danger);font-size:.9rem}.table-split{display:grid;grid-template-columns:minmax(0,var(--drawing-share, 2fr)) 6px minmax(0,1fr);gap:.5rem;margin-top:.25rem;width:100%}.drawing-only{display:grid;grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);gap:.75rem;margin-top:.25rem;width:100%}.drawing-no-table-panel{align-self:start}.process-page-view .drawing-only{grid-template-columns:minmax(0,3fr) minmax(32rem,2fr)}.process-page-data{align-self:start;min-width:0;max-height:calc(70vh + 3.5rem);overflow:auto;contain:paint}.process-page-data .process-results{margin:0;padding:0}.process-page-data .process-results>li{margin-top:1.2rem}.process-page-data .process-row-table th,.process-page-data .process-row-table td{padding:.3em .35em;white-space:normal}.process-page-data .material-summary-table td.process-detail-cell,.process-page-data .material-summary-table td:first-child,.process-page-data .material-summary-table th:first-child{min-width:0}.process-page-data .material-summary-table td.process-detail-cell{width:40%}.process-page-data .process-row-actions .process-row-btn{display:block;margin:0 0 .25rem auto}.process-page-nav{display:flex;align-items:baseline;gap:.9rem;font-size:.92rem}.process-page-nav a{color:var(--accent);text-decoration:none}.process-page-nav a:hover{text-decoration:underline}@media(max-width:1200px){.process-page-view .drawing-only{grid-template-columns:1fr}.process-page-data{max-height:none}}.drawing-no-table-message{margin:.75rem 0 0;line-height:1.45;color:var(--muted)}.drawing-preview-unavailable{margin:1rem 1.05rem 1.15rem}.split-divider{align-self:stretch;margin-top:1.15rem;width:6px;border-radius:3px;background:var(--line);cursor:col-resize;touch-action:none}.split-divider:hover,.split-divider:active{background:var(--accent)}@media(max-width:860px){.table-split,.drawing-only{grid-template-columns:1fr}.split-divider{display:none}}.crop-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem;padding-bottom:.4rem;border-bottom:2px solid var(--ink)}.crop-panel-head h2{margin:0;padding:0;border:0}.zoom-controls{display:inline-flex;align-items:center;gap:.4rem}.zoom-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2rem;height:2rem;border-radius:8px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:inherit;font-size:1.15rem;font-weight:700;line-height:1;cursor:pointer;transition:border-color .15s var(--ease),background-color .15s var(--ease)}.zoom-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.zoom-btn:disabled{opacity:.35;cursor:not-allowed}.zoom-label{min-width:3.25rem;text-align:center;font-family:var(--mono);font-size:.82rem;font-weight:600;color:var(--accent)}.crop-viewport{position:relative;overflow:hidden;height:70vh;border:1px solid var(--line);border-radius:9px;background:linear-gradient(45deg,var(--line) 25%,transparent 25%),linear-gradient(-45deg,var(--line) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--line) 75%),linear-gradient(-45deg,transparent 75%,var(--line) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;background-color:var(--bg-elevated);cursor:grab;touch-action:none}.crop-viewport.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.crop-image{display:block;width:100%;height:auto;max-width:none;transform-origin:0 0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.page-wrap{position:relative;width:100%;transform-origin:0 0;pointer-events:none}.page-image{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.bbox-overlay{position:absolute;border:2px solid var(--info)}.note-bbox-overlay{position:absolute;border:2px solid var(--warn)}.crop-pdf{display:block;width:100%;height:100%;border:0;background:#fff;transform-origin:0 0;pointer-events:none}.crop-hint{margin:.65rem 0 0;font-size:.82rem}.table-scroll{overflow:auto;max-height:70vh;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.data-panel{container-type:inline-size}.data-table{min-width:42rem;width:100%;table-layout:fixed;border-collapse:collapse;font-size:clamp(.875rem,1.6cqw,.95rem)}.data-table th,.data-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:.6em .4em;text-align:left;vertical-align:top;overflow-wrap:break-word}.data-table th{position:relative;overflow-wrap:normal}.th-label{display:block;overflow:hidden;text-overflow:ellipsis}.col-resize-handle{position:absolute;top:0;right:-4px;width:9px;height:100%;cursor:col-resize;touch-action:none;z-index:2}.col-resize-handle:after{content:"";position:absolute;top:0;left:4px;width:1px;height:100%;background:transparent;transition:background-color .15s var(--ease)}.col-resize-handle:hover:after{background:var(--accent)}.data-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;padding-bottom:.4rem;border-bottom:2px solid var(--ink)}.data-panel-head h2{margin:0;padding:0;border:0}.table-edit-toolbar{display:inline-flex;align-items:center;gap:.6rem}.table-save-btn{padding:.5rem 1.1rem;font-size:.85rem}.ghost-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-btn);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:inherit;font-size:.85rem;font-weight:500;padding:.5rem 1.1rem;cursor:pointer;transition:border-color .15s var(--ease),background-color .15s var(--ease)}.ghost-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.ghost-btn:disabled{opacity:.4;cursor:not-allowed}.changed-cell{background:var(--sem-clarify-bg)}.data-table tbody tr:hover td.changed-cell{background:#f5e6c6}.unsaved-cell{background:#f5e6c6;box-shadow:inset 3px 0 0 var(--sem-clarify)}.data-table tbody tr:hover td.unsaved-cell{background:#efd9ad}.geometry-debug-cell{color:var(--muted);font-style:italic;white-space:pre-wrap}.highlighted-row td{animation:row-highlight-fade 2s ease-out forwards}@keyframes row-highlight-fade{0%{background:var(--accent-soft)}70%{background:var(--accent-soft)}to{background:transparent}}.cell-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;min-height:1.6em;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;font:inherit;padding:.2rem;resize:none;overflow:hidden;white-space:pre-wrap;word-break:break-word}.cell-input:hover{border-color:var(--line)}.cell-input:focus{outline:none;border-color:var(--accent);background:var(--surface)}.data-table th{background:var(--bg-elevated);color:var(--muted);font-size:.8em;letter-spacing:.06em;text-transform:uppercase;position:sticky;top:0;z-index:1}.data-table tbody tr:hover td{background:var(--accent-soft)}.export-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem;margin-top:.85rem}.table-back-btn{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;color:var(--text);flex-shrink:0}.table-back-actions{display:inline-flex;align-items:center;gap:.6rem;flex-wrap:wrap}.project-table-page{width:100%}.page-header-actions{display:inline-flex;align-items:center;gap:.6rem;flex-wrap:wrap}.export-actions{display:inline-flex;align-items:center;gap:.6rem}.export-action-group{position:relative;display:inline-flex}.export-scope-popover{position:absolute;top:calc(100% + .4rem);right:0;z-index:20;display:flex;flex-direction:column;gap:.35rem;padding:.6rem;min-width:14rem;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);box-shadow:0 8px 24px #101c2e1f}.export-scope-popover .ghost-btn{width:100%;justify-content:flex-start;text-align:left}.project-table-count-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;margin:0 0 .75rem}.project-table-count{margin:0}.accent-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--accent-soft);border-radius:999px;background:var(--accent-soft);color:var(--accent);font:inherit;font-weight:600;font-size:.86rem;padding:.45rem 1rem;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease)}.accent-btn:hover{border-color:var(--accent)}.geometry-filters-toggle.has-active-filters{background:var(--accent);border-color:var(--accent);color:#fff}.sortable-th{padding:0;position:relative}.sort-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:.6em .7em}.sort-btn:hover{color:var(--accent)}.th-with-actions{display:flex;align-items:center;gap:.4em;padding:0 .3em}.th-with-actions.th-selected{background:var(--accent-soft)}.th-select-checkbox{flex:0 0 auto;width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer}.th-with-actions .sort-btn{flex:1 1 auto;padding-left:0}.column-filter-row .project-grid-cell{background:var(--bg-elevated);position:sticky;top:2.6rem;z-index:1}.column-filter-input{max-width:none;width:100%;padding:.35rem .5rem;font-size:.82rem}.project-table-scroll{overflow:auto;max-height:75vh;border:1px solid var(--line);border-radius:9px;background:var(--surface);scrollbar-width:none}.project-table-scroll::-webkit-scrollbar:horizontal{display:none}.sticky-hscroll{position:sticky;bottom:0;z-index:2;overflow-x:auto;overflow-y:hidden;height:14px;margin-top:-1px;border:1px solid var(--line);border-top:none;border-radius:0 0 9px 9px;background:var(--surface)}.sticky-hscroll-inner{height:1px}.project-grid-table{font-size:.86rem}.project-grid-head{position:sticky;top:0;z-index:2;background:var(--bg-elevated)}.project-grid-row{display:flex}.project-grid-cell{flex:0 0 auto;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:.5em .7em;overflow-wrap:break-word;white-space:normal;box-sizing:border-box}.project-grid-head .project-grid-cell{color:var(--muted);font-size:1em;font-weight:600;letter-spacing:.02em;white-space:normal}.virtual-row{width:100%;color:inherit;text-decoration:none;cursor:pointer}.virtual-row:hover .project-grid-cell{background:var(--accent-soft)}.virtual-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.merge-panel{display:grid;gap:.75rem}.column-action-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.85rem;padding:.6rem .85rem;border:1px solid var(--line-strong);border-radius:9px;background:var(--accent-soft)}.merge-form-inline{display:inline-flex;align-items:center;gap:.5rem}.merge-form-inline .column-filter-input{width:14rem}.merge-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.merge-list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;border:1px solid var(--line);border-radius:9px;background:var(--bg-elevated)}.export-btn{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;color:var(--text)}.export-btn:before{content:"↓";font-size:.95em;color:var(--accent)}.geometry-filter-panel{display:grid;gap:.9rem}.geometry-filter-hint{font-size:.86rem;margin:-.3rem 0 0}.geometry-filter-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.geometry-filter-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .5rem .4rem .85rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--accent-soft);font-size:.86rem}.geometry-filter-chip strong{color:var(--accent)}.geometry-filter-chip .chip-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;width:1.4rem;height:1.4rem;line-height:1;border-radius:999px;background:var(--surface);color:var(--muted);font-size:1rem;cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}.geometry-filter-chip .chip-remove:hover{background:var(--danger-bg);color:var(--danger)}.geometry-filter-form{display:inline-flex;align-items:stretch;flex-wrap:wrap;gap:1px;border:1px solid var(--line-strong);border-radius:10px;background:var(--line-strong);overflow:hidden;width:fit-content}.geometry-filter-form select,.geometry-filter-form .geometry-filter-value{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--surface);color:var(--ink);font:inherit;font-size:.86rem;padding:.6rem .75rem;outline:none}.geometry-filter-form select{cursor:pointer;padding-right:1.9rem;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 1rem) 55%,calc(100% - .6rem) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.geometry-filter-form select:focus,.geometry-filter-form .geometry-filter-value:focus{box-shadow:inset 0 0 0 1px var(--accent)}.geometry-filter-operator{width:8rem;text-align:center;text-align-last:center}.geometry-filter-value{width:6rem}.geometry-filter-value::placeholder{color:var(--muted)}.geometry-filter-form .primary-btn{border-radius:0;padding:.6rem 1.1rem}.geometry-filter-missing-toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--muted);cursor:pointer;width:fit-content}.geometry-filter-missing-toggle input{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer}.geometry-filter-match-count{font-size:.86rem;margin:0}.loading-line{display:flex;align-items:center;gap:.65rem;color:var(--muted)}.empty-filter{margin:0}.loading-line:before{content:"";width:.85rem;height:.85rem;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin 1.3s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.material-summary-panel{display:grid;gap:1.4rem}.material-summary-group h3{margin:1.4rem 0 .6rem;padding-bottom:.3rem;border-bottom:1px solid var(--line-strong);font-size:.95rem;font-weight:600;color:var(--text)}.material-summary-group h3{margin-top:0}.material-summary-table-scroll{overflow-x:auto}.material-summary-table{width:100%;border-collapse:collapse;font-size:.86rem}.material-summary-table th,.material-summary-table td{border-bottom:1px solid var(--line);padding:.42em .8em .42em .5em;text-align:left;white-space:nowrap;vertical-align:top}.material-summary-table thead th{border-bottom-color:var(--line-strong);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.material-summary-table tfoot th,.material-summary-table tfoot td{border-top:2px solid var(--ink);border-bottom:0;font-weight:700;color:var(--ink)}.material-summary-table tbody tr:hover td{background:var(--bg-elevated)}.material-summary-table td:first-child,.material-summary-table th:first-child{min-width:10rem}.material-summary-table--other{table-layout:fixed;width:100%}.material-summary-table--other td:nth-child(2),.material-summary-table--other th:nth-child(2),.material-summary-table--other td:nth-child(3),.material-summary-table--other th:nth-child(3){white-space:normal;width:26rem}.material-summary-table th{font-weight:600;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.material-summary-mass-cell--partial,.material-summary-mass-cell--none{color:var(--warn)}.material-summary-unverified-exclusions-note{color:var(--muted);font-size:.9rem;margin:0 0 1rem}.material-summary-drawing-not-found-note{color:var(--warn);font-size:.9rem;margin:0 0 1rem}.material-summary-skipped{font-size:.86rem}.material-summary-skipped-summary{cursor:pointer;color:var(--muted)}.material-summary-skipped-group{margin-top:.9rem}.material-summary-skipped-group h4{margin:0 0 .4rem;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.material-summary-skipped-list{margin:0;padding-left:1.2rem;display:grid;gap:.3rem}th.material-summary-expand-cell,td.material-summary-expand-cell{width:1.6rem!important;min-width:1.6rem!important;max-width:1.6rem!important;padding:.5em .3em!important}.material-summary-expand-toggle{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;line-height:1;padding:0}.material-summary-expand-toggle:hover{color:var(--ink)}.material-summary-members-row td{background:var(--surface-2);white-space:normal}.material-summary-members-list{margin:0;padding-left:1.2rem;display:grid;gap:.3rem;font-size:.86rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:min(360px,100%);display:flex;flex-direction:column;gap:1.1rem;padding:2rem 1.75rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.login-card--wide{width:min(440px,100%)}.login-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.login-title{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.login-field{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;color:var(--muted)}.login-field input{font:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:.6rem .75rem}.login-field input:focus{outline:none;border-color:var(--accent)}.login-error{margin:0;padding:.6rem .75rem;border-radius:8px;background:var(--danger-bg);color:var(--danger);font-size:.85rem}.login-consent{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.5rem;font-size:.8rem;line-height:1.5;color:var(--muted);cursor:pointer}.login-consent input{flex:none;width:1rem;height:1rem;margin-top:.15rem;accent-color:var(--accent);cursor:pointer}.login-consent a{color:var(--muted);text-decoration:underline}.login-consent a:hover{color:var(--text)}.login-submit{width:100%}.login-demo-hint{margin:0;text-align:center;font-size:.85rem;color:var(--muted)}.link-btn{background:none;border:none;padding:0;color:var(--accent);font:inherit;font-size:inherit;cursor:pointer;text-decoration:underline}.link-btn:hover{color:var(--ink)}.side-logout{color:var(--muted)}.lang-switch{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem}.lang-switch-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;color:var(--muted);font:inherit;font-weight:500;letter-spacing:.04em;cursor:pointer}.lang-switch-btn:hover{color:var(--accent)}.lang-switch-btn.is-active{color:var(--accent);font-weight:700;cursor:default}.lang-switch-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.lang-switch-sep{color:var(--muted);opacity:.5;-webkit-user-select:none;user-select:none}.side-user .lang-switch{margin-top:.45rem}.login-header .lang-switch{margin-left:auto}.row-correction-toggle{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;line-height:1.4;padding:.2em;text-align:left;width:100%}.row-correction-toggle div+div{padding-left:.6em}.row-correction-toggle:hover{color:var(--ink)}.row-correction-toggle--missing{color:var(--warn)}.row-correction-toggle--missing:hover{color:var(--ink)}tr.row-correction-row td{background:var(--surface-2);white-space:normal;padding:1rem}.row-correction-panel{position:sticky;left:.7em;display:grid;gap:1rem;max-width:calc(100cqw - 1.4em - 2px)}.row-correction-section{display:grid;gap:.5rem}.row-correction-section h4{margin:0;font-size:.9rem;color:var(--muted)}.row-correction-hint{margin:0;max-width:24rem;font-size:.78rem;color:var(--muted)}.row-correction-field input.row-correction-suggested-value{color:var(--muted);font-style:italic}.row-correction-suggestion-note{color:var(--info)}.row-correction-input-with-action{display:flex;align-items:center;gap:.4rem}.row-correction-input-with-action input{flex:1}.row-correction-accept-suggestion{flex:none;width:1.8rem;height:1.8rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--good);border-radius:6px;background:var(--good-bg);color:var(--good);font-size:.9rem;line-height:1;cursor:pointer}.row-correction-accept-suggestion:hover{border-color:var(--accent)}.row-correction-accept-suggestion:disabled{opacity:.5;cursor:default}.row-correction-field{display:grid;grid-template-columns:10rem 1fr;align-items:center;gap:.6rem;max-width:24rem}.row-correction-field span{font-size:.86rem;color:var(--muted)}.row-correction-field input,.row-correction-field select{background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--ink);padding:.4em .6em;font:inherit}.row-correction-actions{display:flex;gap:.6rem}.kpis{display:flex;flex-wrap:wrap;gap:.6rem 2.4rem;margin:0;padding:.9rem 0;border-bottom:1px solid var(--line)}.kpi{display:flex;flex-direction:column;gap:.1rem}.kpi dt{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.kpi dd{margin:0;font-family:var(--mono);font-size:1.3rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.3}.kpi dd .status-pill{vertical-align:middle}.stage-bar{margin:0}.stepper{display:flex;flex-direction:column;margin:.6rem 0 0;padding:0;list-style:none}.step{position:relative;padding:.35rem 0 .9rem}.step:before{content:"";position:absolute;left:.72rem;top:1.6rem;bottom:0;width:2px;background:var(--line-strong)}.step:last-child:before{display:none}.step-link{display:flex;align-items:flex-start;gap:.7rem;color:var(--ink);text-decoration:none}.step-i{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;border:2px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--muted);font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums}.step-l{font-size:.9rem;font-weight:500;line-height:1.5rem}.step-s{display:block;font-size:.75rem;line-height:1.2;color:var(--muted)}.project-number-note{margin-left:.4rem;font-family:var(--font);font-size:.75rem;font-weight:500;color:var(--warn)}.project-description{margin:0;max-width:72ch;white-space:pre-line}.project-stages{display:flex;flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none}.project-stage{display:grid;grid-template-columns:1.5rem minmax(10rem,16rem) 1fr;align-items:baseline;gap:.8rem}.project-stage-i{color:var(--muted);font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.project-stage-l{font-weight:600}.project-stage-s{color:var(--muted);font-size:.88rem}.project-stage.is-disabled .project-stage-l{color:var(--muted);font-weight:500}@media(max-width:640px){.project-stage{grid-template-columns:1.5rem 1fr}.project-stage-s{grid-column:2}}a.step-link:hover .step-l{color:var(--accent)}.step.is-done .step-i{background:var(--good);border-color:var(--good);color:#fff}.step.is-current .step-i{background:var(--accent);border-color:var(--accent);color:#fff}.step.is-current .step-l{color:var(--accent);font-weight:600}.step.is-disabled .step-link{cursor:not-allowed}.step.is-disabled .step-l{color:var(--muted)}.project-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0 0;padding:0;list-style:none}@media(max-width:1100px){.project-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-tile{position:relative;border:1px solid var(--line);border-radius:10px;background:var(--surface);transition:border-color .15s var(--ease)}.project-tile:hover{border-color:var(--accent)}.project-tile-link{display:grid;gap:.35rem;min-height:6.4rem;padding:.9rem 1rem;color:inherit;text-decoration:none}.project-tile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.project-tile-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:.98rem;font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere}.project-tile-date{font-family:var(--mono);font-size:.75rem;color:var(--muted)}.project-tile-meta{font-size:.82rem;color:var(--muted)}.project-tile-hide{position:absolute;right:.6rem;bottom:.6rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font:inherit;font-size:.75rem;padding:.2rem .5rem;cursor:pointer;opacity:0;transition:opacity .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease)}.project-tile:hover .project-tile-hide,.project-tile:focus-within .project-tile-hide{opacity:1}.project-tile-hide:hover,.project-tile-hide:focus-visible{color:var(--danger);border-color:var(--danger)}@media(hover:none){.project-tile-hide{opacity:1}}.project-tile--new{border-style:dashed;border-color:var(--line-strong);background:var(--bg-elevated)}.project-tile--new .project-tile-link{align-content:center;justify-items:start}.project-tile-plus{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--accent);color:#fff;font-size:1.25rem;font-weight:500;line-height:1}.project-tile-name--new{color:var(--accent)}.state-pill{display:inline-flex;align-items:center;font-family:var(--font);padding:.12rem .55rem;border-radius:999px;font-size:.72rem;font-weight:500;line-height:1.4;letter-spacing:.01em;white-space:nowrap;vertical-align:middle;cursor:help}.state-pill--check{color:var(--sem-check);background:var(--sem-check-bg);border:1px solid var(--line)}.state-pill--clarify{color:var(--sem-clarify);background:var(--sem-clarify-bg)}.state-pill--confirmed{color:var(--sem-confirmed);background:var(--sem-confirmed-bg);border:1px solid rgba(38,112,74,.28)}a:focus-visible,button:focus-visible,.step-link:focus-visible,.side-nav-link:focus-visible,.text-link:focus-visible,.project-tile-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-tile-link:focus-visible{border-radius:var(--radius)}.effective-mass-overridden{white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sum{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem 3rem;margin:0;padding:.6rem 0 1rem;border-bottom:1px solid var(--line)}.sum>div{display:flex;flex-direction:column;gap:.1rem}.note{margin:.5rem 0 0;font-size:.82rem;color:var(--muted)}.feedback-panel{margin-top:1.6rem}.feedback-card{width:min(380px,100%);padding:20px;border:1px solid var(--brand-line);border-radius:14px;background:var(--brand-surface);color:var(--brand-ink)}.feedback-panel .feedback-card h2{margin:0 0 4px;padding:0;border:0;font-size:17px;font-weight:650;letter-spacing:-.01em;text-transform:none;color:var(--brand-ink)}.feedback-sub{margin:0 0 16px;color:var(--brand-ink-soft);font-size:14px}.feedback-votes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.feedback-vote{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1px solid var(--brand-line);border-radius:10px;background:var(--brand-surface);color:var(--brand-ink);font:inherit;font-weight:550;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease)}.feedback-vote svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.feedback-vote:hover:not(:disabled){border-color:var(--brand-accent);background:var(--brand-accent-soft)}.feedback-vote[aria-pressed=true]{border-color:var(--brand-accent);background:var(--brand-accent-soft);color:var(--brand-accent);box-shadow:inset 0 0 0 1px var(--brand-accent)}.feedback-vote:focus-visible,.feedback-chip input:focus-visible+span,.feedback-link:focus-visible,.feedback-primary:focus-visible,.feedback-comment:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.feedback-follow{margin-top:18px;padding-top:16px;border-top:1px solid var(--brand-line)}.feedback-follow h3{margin:0 0 10px;font-size:14px;font-weight:600}.feedback-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}.feedback-chip{position:relative}.feedback-chip input{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;cursor:pointer}.feedback-chip span{display:inline-block;padding:7px 13px;border:1px solid var(--brand-line);border-radius:999px;font-size:14px;transition:background .15s var(--ease),border-color .15s var(--ease)}.feedback-chip:hover span{border-color:var(--brand-accent)}.feedback-chip input:checked+span{background:var(--brand-accent-soft);border-color:var(--brand-accent);color:var(--brand-accent);font-weight:550}.feedback-chip input:checked+span:before{content:"✓ "}.feedback-link{display:inline-block;margin-top:8px;padding:6px 0;border:0;background:none;color:var(--brand-accent);font:inherit;font-size:14px;font-weight:550;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.feedback-comment{display:block;width:100%;min-height:76px;margin-top:8px;padding:10px 12px;border:1px solid var(--brand-line);border-radius:10px;background:var(--brand-surface);color:var(--brand-ink);font:inherit;resize:vertical}.feedback-comment::placeholder{color:var(--brand-ink-soft)}.feedback-comment:focus{outline-offset:0;border-color:var(--brand-accent)}.feedback-primary{width:100%;min-height:46px;margin-top:14px;border:0;border-radius:10px;background:var(--brand-accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}.feedback-primary:disabled{background:var(--brand-line);color:var(--brand-ink-soft);cursor:not-allowed}.feedback-hint{margin:6px 0 0;color:var(--brand-ink-soft);font-size:13px}.feedback-done{display:flex;gap:12px;align-items:flex-start;animation:feedback-pop .2s ease-out}.feedback-tick{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--sem-confirmed-bg);color:var(--sem-confirmed)}.feedback-tick svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.feedback-done-title{margin:0;font-weight:650}.feedback-done-text{margin:0;color:var(--brand-ink-soft);font-size:14px}.feedback-done-actions{display:flex;gap:16px;margin-top:6px}@keyframes feedback-pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.feedback-done{animation:none}}.mark-overlay{position:absolute;border:3px solid var(--accent);border-radius:999px;background:#2d53e029;animation:mark-pulse 1.1s ease-in-out infinite alternate}@keyframes mark-pulse{0%{background:#2d53e014}to{background:#2d53e04d}}@media(prefers-reduced-motion:reduce){.mark-overlay{animation:none}}.marks-col,.marks-cell{text-align:center}.marks-cell-inner{display:flex;flex-direction:column;align-items:center;gap:.25rem}.marks-cell{vertical-align:middle;white-space:nowrap}.locate-btn{padding:.1rem .35rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--accent-dim);font:inherit;font-size:.75rem;cursor:pointer}.locate-btn:hover,.row-marked .locate-btn{border-color:var(--accent);background:var(--accent-soft)}.row-marked td{background:var(--accent-soft)}.scope-frame-overlay{position:absolute;border:3px dashed var(--danger);background:#9d28280a}.out-of-scope-row td{background:repeating-linear-gradient(-45deg,var(--bg-elevated),var(--bg-elevated) 6px,var(--surface) 6px,var(--surface) 12px);color:var(--muted)}.out-of-scope-row .cell-input{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line-strong)}.scope-out-pill{display:inline-block;padding:.05rem .35rem;border-radius:999px;background:var(--danger-bg);color:var(--danger);font-size:.65rem;font-weight:600;white-space:nowrap}.scope-panel{margin:0 0 .75rem;padding:.6rem .8rem;border:1px solid var(--line);border-left:3px solid var(--danger);border-radius:var(--radius-btn);background:var(--danger-bg);font-size:.85rem}.scope-panel h3{margin:0 0 .25rem;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--danger)}.scope-panel p{margin:.2rem 0}.scope-count{font-weight:600}.source-list{margin:.35rem 0 0;padding-left:1.1rem;font-size:.8rem}.scope-out-note{margin:0;color:var(--danger);font-size:.85rem}.table-split.has-marks>.crop-panel{position:sticky;top:.5rem;align-self:start}.sheet-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.4rem}.sheet-tab{padding:.2rem .6rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:inherit;font:inherit;font-size:.8rem;cursor:pointer}a.sheet-tab{text-decoration:none}.sheet-tab[aria-selected=true],.sheet-tab[aria-current=page]{border-color:var(--accent);background:var(--accent-soft)}.sources-cell{vertical-align:top;font-size:.8rem}.source-item{display:flex;flex-direction:column;gap:.1rem;margin-bottom:.3rem}.source-chip{align-self:flex-start;padding:.05rem .4rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--accent-dim);font:inherit;font-size:.75rem;cursor:pointer}.source-chip:disabled{cursor:default;color:inherit}a.source-chip{display:inline-block;text-decoration:none}a.source-chip:hover{border-color:var(--accent);color:var(--accent);text-decoration:underline}.project-note{margin:0 0 .6rem;padding:.5rem .75rem;border:1px solid var(--line-strong);border-radius:.5rem;background:var(--surface);font-size:.85rem}.project-note p{margin:0}.project-facts .fact-group h3{margin:1rem 0 .4rem;font-size:.95rem}.project-facts ul{margin:0;padding:0;list-style:none}.project-facts .fact{padding:.5rem 0;border-top:1px solid var(--line)}.project-facts .fact p{margin:.2rem 0 0}.project-facts .fact-applies{color:var(--muted)}.project-facts .fact-sources{display:flex;flex-direction:column;gap:.3rem;margin-top:.35rem}.project-facts .fact-sources li{display:flex;align-items:baseline;gap:.5rem}.project-facts .fact-sources q{color:var(--muted);font-size:.8rem}.process-matrix .process-matrix-page{display:flex;align-items:center;gap:.6rem;font-size:.86rem;font-weight:400;letter-spacing:normal;text-transform:none}.process-matrix .process-matrix-col{white-space:normal}.process-page-thumb img{display:block;width:4.5rem;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface)}.process-matrix .process-matrix-col,.process-matrix .process-matrix-cell{text-align:center}.process-matrix-cell.is-present{font-weight:600;color:var(--sem-confirmed);background:var(--sem-confirmed-bg);cursor:help}.process-matrix-cell.is-absent,.process-matrix-cell.is-unanswered{color:var(--muted)}.process-matrix-error{color:var(--danger);white-space:normal}.process-matrix .process-chips{margin:0}.process-page-title{margin:0 0 .5rem;font-size:1rem}.process-chips{display:flex;flex-wrap:wrap;gap:.35rem;padding:0;margin:0 0 .5rem;list-style:none}.process-chip{padding:.2rem .6rem;border-radius:999px;background:var(--accent-soft);font-size:.85rem;cursor:help}.process-chip.is-other{background:var(--sem-clarify-bg)}.process-results{display:grid;gap:.75rem;padding:0;list-style:none}.process-rows{width:100%;border-collapse:collapse;font-size:.85rem}.process-rows th,.process-rows td{padding:.3rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.process-rows .num{text-align:right;white-space:nowrap}.process-rows td p{margin:0}.process-row-positions,.process-material-cell{color:var(--muted)}.material-summary-table td.process-detail-cell{white-space:normal;min-width:14rem;max-width:28rem}.process-formula{margin-top:.15rem;font-family:var(--font);font-size:.72rem;line-height:1.25;color:var(--muted);white-space:normal;min-width:10rem}.process-row-actions{white-space:nowrap;text-align:right}.process-row-btn{padding:.25rem .5rem;font-size:.85rem;line-height:1}.process-row-actions .process-row-btn+.process-row-btn{margin-left:.3rem}.process-correction{padding:.6rem 0}.process-tab-head{margin-top:1.4rem}.process-tab-lead{margin:0 0 .9rem;color:var(--muted)}.process-page-panel{contain:paint}.process-page-evidence{margin:-.4rem 0 .8rem;color:var(--muted);font-size:.9rem}.process-page-notes{margin:0 0 .9rem;padding-left:1.2rem;color:var(--warn);font-size:.9rem}.process-page-link{color:var(--accent);text-decoration:none;border-bottom:1px dotted currentColor}.process-page-link:hover{color:var(--accent-dim)}.process-summary-expand-all{font-size:.8rem}.process-summary-table tbody tr.process-summary-group{cursor:pointer}.process-summary-table tbody tr.process-summary-group:hover td{background:var(--surface-2)}.process-summary-table tfoot th,.process-summary-table tfoot td{border-top:2px solid var(--line);font-size:.9rem;text-transform:none;letter-spacing:0;color:var(--text)}.process-summary-quantity{white-space:nowrap}.process-sum-partial{text-decoration:underline dotted;text-underline-offset:3px;cursor:help}.process-summary-members-row td{background:var(--surface-2);padding:.4rem .7rem .7rem 2.3rem;white-space:normal}.process-summary-members-wrap{width:0;min-width:100%;overflow-x:auto}.process-summary-members{width:100%;border-collapse:collapse;font-size:.86rem}.process-summary-members th,.process-summary-members td{border-bottom:1px solid var(--line);padding:.35em 1.2em .35em .5em;text-align:left;vertical-align:top}.process-summary-members th{font-size:.72rem;font-weight:600;color:var(--muted)}.process-summary-members .num{text-align:right;white-space:nowrap}.process-summary-members td.num{font-family:var(--mono)}.process-summary-members tbody tr:last-child td{border-bottom:none}.process-row-table tr.is-active td{background:var(--warn-bg)}.process-row-table tbody tr{cursor:default}.process-page-data .process-row-table tbody tr{cursor:pointer}.process-box{--box-colour: var(--info);position:absolute;box-sizing:border-box;border:1.5px solid var(--box-colour);border-radius:2px;pointer-events:auto}.process-box--spawanie{--box-colour: #f97316}.process-box--otwory{--box-colour: #10b981}.process-box.is-active{--box-colour: var(--warn);box-shadow:0 0 0 3px var(--warn-bg);z-index:1}.process-box-label{position:absolute;left:0;bottom:100%;padding:0 .2em;border-radius:2px;background:var(--warn);color:#fff;font-family:var(--mono);font-weight:700;line-height:1.3}.process-evidence{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1.2rem;margin:0}.process-evidence div{display:contents}.process-evidence dt{font-weight:600}.process-evidence dd{margin:0}.process-page-data .process-page-title{margin:1.4rem 0 .6rem;padding-bottom:.3rem;border-bottom:1px solid var(--line-strong);font-size:.95rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text)}.process-row-table .process-row-number{width:1%;min-width:0;color:var(--muted)}.tab-badge{margin-left:.4rem;padding:0 .4rem;border-radius:999px;background:var(--sem-clarify-bg);font-size:.75rem}.cutting-note{margin:.5rem 0 1rem}.cutting-layout{display:grid;grid-template-columns:19rem minmax(0,1fr);gap:0 1.15rem;align-items:start}@media(max-width:900px){.cutting-layout{grid-template-columns:1fr}}.cutting-rail .panel{padding:1rem .9rem}.cutting-group-list{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.cutting-group-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease)}.cutting-group-item:hover{background:var(--accent-soft)}.cutting-group-item.is-selected{background:var(--accent-soft);border-color:var(--accent)}.cutting-group-main{display:grid;gap:.1rem;min-width:0;flex:1}.cutting-group-title{font-weight:600;font-size:.95rem}.cutting-group-sub{font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cutting-swatch{flex:0 0 auto;width:.7rem;height:.7rem;border-radius:3px;background:var(--slate)}.cutting-swatch.family-steel{background:var(--accent)}.cutting-swatch.family-stainless_steel{background:#d0702a}.cutting-swatch.family-aluminium{background:var(--sem-confirmed)}.cutting-pill{flex:0 0 auto;padding:.15rem .5rem;border-radius:999px;font-family:var(--mono);font-size:.72rem;background:var(--slate-bg);color:var(--slate)}.cutting-pill.is-warning{background:var(--warn-bg);color:var(--warn)}.cutting-main{min-width:0}.cutting-group-head h2{margin-top:0;text-transform:none;letter-spacing:0;font-size:1.05rem}.panel.cutting-group-head>.page-header-row:first-child{border-bottom-width:1px;border-bottom-color:var(--line-strong)}.cutting-group-meta{margin:.2rem 0 0;font-size:.88rem}.cutting-sheet-panel{padding:1rem 1.1rem .8rem}.cutting-parts-table{table-layout:auto;font-size:.9rem}.cutting-parts-table td.num,.cutting-parts-table th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.cutting-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin:1.1rem 0 .8rem}.cutting-stats dt{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.cutting-stats dd{margin:.15rem 0 0;font-family:var(--mono);font-size:1.15rem;font-variant-numeric:tabular-nums}.cutting-options{margin-bottom:.8rem}.sheet-figure{margin:0}.sheet-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1rem;margin-bottom:.6rem;font-size:.88rem}.sheet-svg{display:block;width:100%;height:auto;font-family:var(--mono)}.sheet-stock{fill:var(--surface);stroke:var(--line-strong);stroke-width:1.5px}.sheet-edge{fill:none;stroke:var(--line-strong);stroke-width:1px}.sheet-piece rect{fill:var(--accent);stroke:var(--surface);stroke-width:2px;transition:fill .12s var(--ease)}.sheet-piece.is-assumed rect{stroke-dasharray:5 3}.sheet-piece ellipse{fill:none;stroke:#fffc;stroke-width:1.5px}.sheet-piece:hover rect{fill:var(--accent-soft);stroke:var(--accent)}.sheet-piece:hover text{fill:var(--ink)}.sheet-piece text{fill:#fff;pointer-events:none}.sheet-piece-name{fill:#fffc}.sheet-dim{fill:var(--muted)}.cutting-params h2 .tab-badge{margin-left:.5rem}.cutting-params-form{display:grid;gap:.7rem}.cutting-params-form .filter-input{max-width:none}.cutting-params-actions{display:flex;flex-wrap:wrap;gap:.5rem}.cutting-params-actions .primary-btn{flex:1 1 auto}.cutting-group-controls{display:flex;flex-wrap:wrap;gap:.75rem}.cutting-group-controls .filter-input{max-width:none;min-width:15rem}.cutting-orphaned{list-style:none;padding:0}.settings-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem}.settings-head h2 .tab-badge{margin-left:.5rem}.settings-actions,.settings-row{display:flex;flex-wrap:wrap;align-items:end;gap:.5rem 1rem}.param-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr));align-items:start;gap:.9rem;margin:.4rem 0 .6rem}.param-group{display:flex;flex-direction:column;gap:.55rem;min-width:0;margin:0;padding:.7rem .9rem .9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated)}.param-group legend{padding:0 .3rem;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.param-field{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;font-weight:600;color:var(--muted)}.param-field.is-changed{color:var(--ink)}.param-field.is-changed .number-input,.param-field.is-changed .param-select{border-color:var(--warn);background:var(--warn-bg)}.param-input{display:inline-flex;align-items:center;gap:.3rem}.param-group .number-input{width:8rem}.param-select{max-width:100%;padding:.35rem .5rem;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:var(--text);font:inherit;font-size:.88rem}.param-reset{padding:.15rem .45rem;font-size:.85rem;line-height:1.2}.number-input{box-sizing:border-box;padding:.35rem .5rem;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:var(--text);font-family:var(--mono);font-size:.88rem;font-variant-numeric:tabular-nums;text-align:right;outline:none;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.number-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.number-input::placeholder{color:var(--muted)}.settings-row label{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:var(--muted)}.settings-table input:not([type=checkbox]){width:100%;min-width:5rem}.settings-table input:not([type=checkbox]):not(.number-input),.text-input{box-sizing:border-box;padding:.35rem .5rem;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:var(--text);font:inherit;font-size:.88rem;outline:none}.settings-table input:not([type=checkbox]):focus,.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.settings-table .num input{width:6rem;text-align:right}.settings-table .settings-unit{width:5rem}.settings-check{display:inline-flex;align-items:center;gap:.25rem;margin-right:.6rem;white-space:nowrap}.settings-table+.ghost-btn,.settings-table+.settings-row{margin-top:.6rem}.quotation-prices .cutting-stats{gap:.6rem 2rem}.quotation-prices .cutting-stats dt{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.quotation-prices .cutting-stats dd{font-family:var(--mono);font-size:1.05rem;font-variant-numeric:tabular-nums}.quotation-prices .cutting-stats .is-main dd{font-size:1.6rem}.quotation-note{margin:.3rem 0 0;color:var(--warn);font-size:.85rem}.quotation-section>summary{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.8rem;padding-bottom:.4rem;border-bottom:2px solid var(--ink);cursor:pointer;list-style:none}.quotation-section>summary::-webkit-details-marker{display:none}.quotation-section>summary:before{content:"▸";color:var(--muted);font-size:.85rem}.quotation-section[open]>summary:before{content:"▾"}.quotation-section>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel.quotation-section>summary h2{margin:0;padding:0;border:0}.quotation-section-meta{color:var(--muted);font-size:.82rem}.quotation-section-total{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums}.cell-note{display:block;margin-top:.15rem;color:var(--muted);font-family:var(--mono);font-size:.72rem;line-height:1.3;white-space:normal}td .state-pill+.state-pill{margin-left:.3rem}.warning-banner{margin:0 0 1rem;padding:.85rem 1rem;background:var(--sem-clarify-bg);color:var(--sem-clarify);border-radius:9px}.quotation-save.is-failed{color:var(--danger)}input[aria-invalid=true]{border-color:var(--danger)}.settings-row label.settings-check{flex-direction:row;color:var(--ink)}.rate-table-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(26rem,100%),1fr));align-items:start;gap:.9rem;margin:.4rem 0 1rem}.rate-table{min-width:0;padding:.8rem .9rem .9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated)}.rate-table h3{margin:0;font-size:.95rem}.rate-table-by{margin:.1rem 0 .5rem;color:var(--muted);font-size:.8rem}.rate-table .settings-table th.rate-band{font-family:var(--mono);font-weight:500;white-space:nowrap}.rate-table .settings-table .num input{width:5.5rem}.rate-table-foot{justify-content:space-between;margin-top:.6rem}.rate-table-foot .number-input{width:5.5rem}.row-actions{white-space:nowrap}.row-actions .row-move+.row-move{margin-left:.2rem}.row-actions .text-link{margin-left:.6rem}.row-move{padding:.15rem .45rem;font-size:.85rem;line-height:1.2}.row-move:disabled{opacity:.35}.price-list-version{max-width:16rem;margin-top:.8rem}.quotation-process{margin-bottom:.6rem}.quotation-process>summary{display:flex;align-items:baseline;gap:.7rem;padding:.45rem 0;border-bottom:1px solid var(--line);cursor:pointer}.quotation-process-meta{color:var(--muted);font-size:.78rem}.quotation-process>summary::-webkit-details-marker{display:none}.quotation-process>summary:before{content:"▸";color:var(--muted);font-size:.8rem}.quotation-process[open]>summary:before{content:"▾"}.process-stats{margin-bottom:.4rem}.process-tabs{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.4rem .6rem;margin-bottom:1rem;border-bottom:1px solid var(--line-strong)}.process-tabs [role=tablist]{display:flex;flex:1 1 auto;flex-wrap:wrap}.process-tab{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:-1px;padding:.55rem .7rem;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text);font:inherit;font-size:.88rem;font-weight:600;white-space:nowrap;cursor:pointer}.process-tab:hover{color:var(--accent)}.process-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.process-tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent)}.process-tab.is-empty{color:var(--muted);font-weight:500}.process-tab-count{font-family:var(--mono);font-size:.72rem;font-weight:500;color:var(--muted)}.process-tab[aria-selected=true] .process-tab-count{color:var(--accent)}.process-tab-cutting{margin-bottom:.3rem;padding:.4rem .8rem;border:1px solid var(--accent);border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:.88rem;font-weight:600;text-decoration:none;white-space:nowrap}.process-tab-cutting:hover{background:var(--accent);color:#fff}.document-text{max-width:60rem;white-space:pre-wrap;line-height:1.55;font-size:.9rem}.document-text mark{padding:0 .1rem;border-radius:.2rem;background:var(--warn-bg);box-shadow:0 0 0 1px var(--warn);color:inherit}.source-page-viewport{max-height:80vh;overflow:auto;border:1px solid var(--border)}.source-page-sheet{position:relative}.source-page-sheet img{display:block;width:100%}.source-page-quote{margin:0 0 1rem;padding:.6rem .9rem;border-left:3px solid var(--warn);background:var(--warn-bg);font-size:.95rem}.source-page-quote-label{display:block;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.source-page-box{position:absolute;border-radius:.2rem;background:var(--warn-bg);box-shadow:0 0 0 2px var(--warn);mix-blend-mode:multiply;pointer-events:none}
