.ds-cost-page{width:100%;max-width:none;margin:0}.ds-cost-hint{font-size:var(--ds-fs-sm);color:var(--ds-fg-muted);line-height:1.5;margin:4px 0 10px}.ds-cost-error{margin:0}.ds-cost-card{border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:var(--ds-surface);padding:6px 16px;max-width:460px}.ds-cost-section{margin-bottom:26px}.ds-cost-section h3{margin:0 0 6px;font-size:var(--ds-fs-lg);font-weight:650;color:var(--ds-fg)}.ds-cost-scroll{overflow-x:auto;border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-surface)}.ds-cost-table{width:100%;border-collapse:collapse;font-size:var(--ds-fs-md);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ds-fg)}.ds-cost-table td,.ds-cost-table th{text-align:start;padding:6px 10px;border-bottom:1px solid var(--ds-border-2);white-space:nowrap}.ds-cost-table th{color:var(--ds-fg-muted);font-size:var(--ds-fs-sm);font-weight:600;background:var(--ds-surface-2);border-bottom:1px solid var(--ds-border)}.ds-cost-table td.num,.ds-cost-table th.num{text-align:end}.ds-cost-table td.strong{font-weight:650}.ds-cost-table tr:last-child td{border-bottom:none}.ds-cost-code{display:block;font-size:var(--ds-fs-xs);font-family:var(--ds-mono);color:var(--ds-fg-muted)}.ds-cost-chevron{display:inline-block;width:7px;height:7px;-webkit-border-end:1.5px solid currentColor;border-inline-end:1.5px solid currentColor;border-bottom:1.5px solid;transform:rotate(-45deg);transition:transform .12s ease;-webkit-margin-end:2px;margin-inline-end:2px}.ds-cost-group-row.open .ds-cost-chevron{transform:rotate(45deg)}@media (prefers-reduced-motion:reduce){.ds-cost-chevron{transition:none}}.ds-cost-unpriced h3{color:var(--ds-warn-fg)}.ds-cost-unpriced .ds-cost-scroll{border-color:var(--ds-warn-line)}.ds-cost-estimate{color:var(--ds-warn-fg)}.ds-cost-card-panel{margin-bottom:26px}.ds-rate-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.ds-rate-sheet table{min-width:560px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ds-rate-group>tr>*{vertical-align:middle}.ds-rate-group-row th{background:var(--ds-surface-2);border-top:1px solid var(--ds-border);text-align:start}.ds-rate-group-row th>*{vertical-align:middle}.ds-rate-group-row.open .ds-cost-chevron{transform:rotate(45deg)}.ds-rate-count{-webkit-margin-start:8px;margin-inline-start:8px;font-size:var(--ds-fs-xs);font-weight:400}.ds-rate-hint-row td{font-size:var(--ds-fs-xs);line-height:1.45}.ds-rate-item{display:block}.ds-rate-hint{display:block;font-size:var(--ds-fs-xs);line-height:1.4;max-width:70ch}.ds-rate-per{white-space:nowrap;color:var(--ds-fg-muted);font-size:var(--ds-fs-sm)}.ds-rate-i,.ds-rate-sheet td.num{width:1%;white-space:nowrap}.ds-rate-i>*+*{-webkit-margin-start:4px;margin-inline-start:4px}.ds-rate-brand{width:100%;max-width:260px}.ds-rate-info-glyph{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.ds-rate-fig{display:block;width:100%;height:auto;margin-bottom:10px;border-radius:var(--ds-radius);background:var(--ds-surface-2)}.ds-rate-facts{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:4px 14px;gap:4px 14px;margin:10px 0 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ds-rate-facts dt{color:var(--ds-fg-muted)}.ds-rate-facts dd{margin:0;font-weight:600}.ds-rate-fig .rf-wood{fill:var(--ds-illus-wood);stroke:var(--ds-illus-wood-line);stroke-width:1.2}.ds-rate-fig .rf-back{opacity:.7}.ds-rate-fig .rf-pay-fill{stroke:var(--ds-action);stroke-width:2.5}.ds-rate-fig .rf-steel{fill:var(--ds-fg-muted);stroke:var(--ds-fg);stroke-width:1}.ds-rate-fig .rf-steel-line{fill:none;stroke:var(--ds-fg-muted);stroke-width:3}.ds-rate-fig .rf-pay{fill:var(--ds-action);stroke:var(--ds-fg);stroke-width:1}.ds-rate-fig .rf-pay-line{fill:none;stroke:var(--ds-action);stroke-width:2;stroke-linecap:round}.ds-rate-fig .rf-thick{stroke-width:4}.ds-rate-fig .rf-soft{opacity:.45}.ds-rate-fig .rf-glass{fill:var(--ds-info-soft);stroke:var(--ds-info);stroke-width:1}.ds-rate-fig .rf-waste{fill:var(--ds-warn);stroke:var(--ds-warn-line);stroke-width:1}.ds-rate-fig .rf-ghost{fill:var(--ds-surface);stroke:var(--ds-border-strong);stroke-width:1.2}.ds-rate-fig .rf-guide{fill:none;stroke:var(--ds-fg-muted);stroke-width:1;stroke-dasharray:3 3}.ds-rate-fig .rf-guide-strong{fill:none;stroke:var(--ds-fg);stroke-width:1.5;stroke-linecap:round}.ds-cost-savebar{border-top:1px solid var(--ds-border);padding-top:12px}.ds-cost-savebar .ui-savebar-status:not(.is-ok):not(.is-error){-webkit-margin-end:auto;margin-inline-end:auto;color:var(--ds-warn-fg)}.ds-cost-sheet-body{padding-top:16px}.ds-cost-doc{display:grid;grid-gap:12px;gap:12px;padding:20px 24px;background:var(--ds-paper);color:var(--ds-paper-ink);box-shadow:var(--ds-elev-1)}.ds-cost-doc,.ds-cost-doc-letterhead{border:1px solid var(--ds-border);border-radius:var(--ds-radius)}.ds-cost-doc-letterhead{text-align:center;padding:10px 12px}.ds-cost-doc-letterhead p{margin:2px 0;font-size:var(--ds-fs-sm);color:var(--ds-fg-muted)}.ds-cost-doc-letterhead .ds-cost-doc-company{font-size:18px;font-weight:700;color:var(--ds-paper-ink)}.ds-cost-doc-letterhead .ds-cost-doc-company.title{font-size:var(--ds-fs-lg);text-transform:uppercase}.ds-cost-doc-grid{width:100%;border-collapse:collapse;font-size:var(--ds-fs-md);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ds-cost-doc-grid td,.ds-cost-doc-grid th{border:1px solid var(--ds-border);padding:5px 8px;text-align:start;vertical-align:middle}.ds-cost-doc-grid th{font-weight:650}.ds-cost-doc-grid thead th{background:var(--ds-surface-2)}.ds-cost-doc-grid .num{text-align:end}.ds-cost-doc-grid .ctr{text-align:center;white-space:nowrap}.ds-cost-doc-grid .end{text-align:end}.ds-cost-doc .ds-cost-scroll{border:none;border-radius:0;background:none}.ds-cost-doc-subline{display:block;font-size:var(--ds-fs-xs);color:var(--ds-fg-muted)}.ds-cost-doc-empty,.ds-cost-doc-note{font-style:italic;color:var(--ds-fg-muted)}.ds-cost-doc-note{margin:0;font-size:var(--ds-fs-xs)}.ds-cost-doc-note.warn{color:var(--ds-warn-fg)}.ds-quote-table thead th{white-space:normal}.ds-quote-outline{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:var(--ds-fs-sm);color:var(--ds-fg-muted)}.ds-quote-table .ds-quote-gutter{width:32px;text-align:center}.ds-quote-row.group td{font-weight:650}.ds-quote-row.top td{background:var(--ds-surface-3)}.ds-quote-total td{font-weight:700;border-top:2px solid var(--ds-paper-ink)}.ds-rm-head th{width:18%}.ds-rm-table .ds-rm-section th{border-inline:none;padding-top:14px;font-weight:700;text-transform:uppercase}.ds-rm-table .ds-rm-cols th{text-align:center;font-size:var(--ds-fs-xs);background:var(--ds-surface-2)}.ds-rm-sum td,.ds-rm-sum th{font-weight:700}.ds-rm-groupsum td,.ds-rm-groupsum th{font-weight:600;font-style:italic}.ds-rm-sign th{text-align:center}.ds-rm-signrow td{height:34px}.ds-qdoc{gap:14px}.ds-qdoc-letterhead{display:flex;align-items:flex-start;gap:14px}.ds-qdoc-logo{max-height:64px;max-width:140px;object-fit:contain}.ds-qdoc-company{flex:1 1;min-width:0}.ds-qdoc-company p{margin:1px 0}.ds-qdoc-name{font-size:22px;font-weight:800;letter-spacing:.02em;color:var(--qdoc-accent)}.ds-qdoc-tagline{font-size:var(--ds-fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ds-fg-muted)}.ds-qdoc-line{font-size:var(--ds-fs-sm);color:var(--ds-fg-muted);white-space:pre-line;margin:1px 0}.ds-qdoc-slogan{margin:4px 0 0;max-width:240px;text-align:end;font-style:italic;font-size:var(--ds-fs-sm);color:var(--qdoc-accent)}.ds-qdoc-band{height:4px;border-radius:2px;background:var(--qdoc-accent)}.ds-qdoc-client,.ds-qdoc-titlerow{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px}.ds-qdoc-client{border-block:1px solid var(--qdoc-accent);padding:8px 0}.ds-qdoc-client p{margin:1px 0}.ds-qdoc-title{margin:0;font-size:22px;font-weight:800;color:var(--qdoc-accent)}.ds-qdoc-meta{display:grid;grid-template-columns:auto auto;grid-gap:2px 14px;gap:2px 14px;margin:0;font-size:var(--ds-fs-md)}.ds-qdoc-meta dt{font-weight:650}.ds-qdoc-meta dd{margin:0}.ds-qdoc-to{font-weight:650;font-size:var(--ds-fs-md)}.ds-qdoc-clientname{font-weight:700}.ds-qdoc-table thead th{background:var(--qdoc-accent);color:var(--qdoc-on-accent);text-align:center;white-space:normal}.ds-qdoc-table td{vertical-align:top}.ds-qdoc-room th{background:color-mix(in srgb,var(--qdoc-accent) 14%,var(--ds-paper));color:var(--qdoc-accent);font-weight:700}.ds-qdoc-subtotal th{text-align:end;font-weight:650}.ds-qdoc-subtotal td{font-weight:650}.ds-qdoc-group th{text-align:start;font-weight:650}.ds-qdoc-groupsum td,.ds-qdoc-groupsum th{font-style:italic;font-weight:600}.ds-qdoc-conversion th{text-align:start;font-weight:650}.ds-qdoc-conversion td{font-weight:650}.ds-qdoc-pic{width:92px;text-align:center}.ds-qdoc-pic img{width:84px;height:84px;object-fit:contain;background:var(--ds-paper);border-radius:var(--ds-radius-sm)}.ds-qdoc-picbtn{cursor:zoom-in}.ds-qdoc-nopic{display:inline-block;width:84px;height:84px;border:1px dashed var(--ds-border);border-radius:var(--ds-radius-sm)}.ds-qdoc-list{margin:0;-webkit-padding-start:16px;padding-inline-start:16px}.ds-qdoc-flag{display:block;width:-moz-fit-content;width:fit-content;margin-top:4px;padding:1px 6px;border:1px solid var(--ds-warn-line);border-radius:var(--ds-radius-sm);background:var(--ds-warn-soft);color:var(--ds-warn-fg);font-size:var(--ds-fs-xs);font-weight:650}.ds-cost-doc-grid.ds-qdoc-summary{width:auto;min-width:320px;-webkit-margin-start:auto;margin-inline-start:auto}.ds-qdoc-summary th{font-weight:400}.ds-qdoc-summary tr.grand td,.ds-qdoc-summary tr.grand th{background:var(--qdoc-accent);color:var(--qdoc-on-accent);font-weight:700}.ds-qdoc-foot{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px;gap:14px}.ds-qdoc-boxes section+section{margin-top:8px}.ds-qdoc-boxes h3{margin:0 0 2px;font-size:var(--ds-fs-md);color:var(--qdoc-accent)}.ds-qdoc-boxes p{margin:0;font-size:var(--ds-fs-sm);white-space:pre-line}.ds-qdoc-sign{display:flex;flex-direction:column;align-items:center;text-align:center;font-size:var(--ds-fs-sm)}.ds-qdoc-sign p{margin:1px 0}.ds-qdoc-sign img{max-height:56px;max-width:160px;object-fit:contain}.ds-qdoc-signspace{height:48px}.ds-qdoc-auth,.ds-qdoc-for{font-weight:650}.ds-qdoc-auth{border-top:1px solid var(--ds-paper-ink);padding-top:2px;min-width:160px}.ds-qdoc-footer{margin:0;padding-top:6px;border-top:1px solid var(--qdoc-accent);text-align:center;font-weight:700;color:var(--qdoc-accent)}.ds-pic-stage{position:relative;flex:1 1 auto;min-height:320px;overflow:hidden;touch-action:none;cursor:-webkit-grab;cursor:grab;background:var(--ds-paper);border-radius:var(--ds-radius-ctl);-webkit-user-select:none;-moz-user-select:none;user-select:none;direction:ltr}.ds-pic-stage:active{cursor:-webkit-grabbing;cursor:grabbing}.ds-pic-stage img{position:absolute;inset-block-start:0;inset-inline-start:0;max-width:none;transform-origin:0 0;will-change:transform;pointer-events:none;-webkit-user-drag:none}.ds-pic-tools{display:flex;align-items:center;gap:6px}.ds-pic-pct{min-width:48px;font-size:var(--ds-fs-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ds-pic-hint,.ds-pic-pct{text-align:center;color:var(--ds-fg-muted)}.ds-pic-hint{margin:6px 0 0;font-size:var(--ds-fs-xs)}.ds-quote-export-set{display:grid;grid-gap:10px;gap:10px;margin:0;padding:10px 0 0;border:none;border-top:1px solid var(--ds-border)}.ds-quote-export-set>legend{-webkit-padding-end:8px;padding-inline-end:8px}.ds-quote-export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:8px 12px;gap:8px 12px}.ds-quote-export details>summary{cursor:pointer;font-weight:600;font-size:var(--ds-fs-md);color:var(--ds-fg)}.ds-quote-export details[open]>summary{margin-bottom:10px}.ds-pls{display:flex;flex-direction:column;gap:14px}.ds-pls-blurb{margin:0;font-size:var(--ds-fs-sm);line-height:1.5;color:var(--ds-fg-muted)}.ds-pls-cards{display:grid;grid-gap:8px;gap:8px}.ds-pls-card{display:grid;grid-template-columns:18px 1fr auto;align-items:center;grid-gap:12px;gap:12px;width:100%;text-align:start}.ds-pls-radio{width:16px;height:16px;border:1.5px solid var(--ds-border-strong);border-radius:50%;background:var(--ds-surface);transition:border-color .15s ease,box-shadow .15s ease}.ds-pls-card.on .ds-pls-radio{border-color:var(--ds-sel-line);box-shadow:inset 0 0 0 3.5px var(--ds-surface),inset 0 0 0 8px var(--ds-sel-line)}.ds-pls-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.ds-pls-card-body strong{font-size:var(--ds-fs-md);font-weight:650}.ds-pls-mm{font-size:var(--ds-fs-xs);color:var(--ds-fg-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ds-pls-boards{margin:0;padding:0;list-style:none;border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);overflow:hidden}.ds-pls-board{display:grid;grid-template-columns:8px 1fr minmax(170px,210px);align-items:center;grid-gap:12px;gap:12px;padding:10px 14px;background:var(--ds-surface)}.ds-pls-board+.ds-pls-board{border-top:1px solid var(--ds-border-2)}.ds-pls-dot{width:8px;height:8px;border-radius:50%;background:var(--ds-border-strong)}.ds-pls-dot.ok{background:var(--ds-ok)}.ds-pls-dot.warn{background:var(--ds-warn)}.ds-pls-board-name{display:flex;flex-direction:column;gap:1px;min-width:0}.ds-pls-board-name strong{font-size:var(--ds-fs-md);font-weight:600;color:var(--ds-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-pls-miss{font-size:var(--ds-fs-xs);font-weight:600;color:var(--ds-warn-fg)}.ds-pls-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 8px;text-align:center}.ds-pls-empty p{margin:0;max-width:46ch;font-size:var(--ds-fs-md);line-height:1.5;color:var(--ds-fg-muted)}@media (max-width:640px){.ds-pls-card{grid-template-columns:18px 1fr}.ds-pls-cover{grid-column:2;justify-self:start}.ds-pls-board{grid-template-columns:8px 1fr}.ds-pls-select{grid-column:1/-1;width:100%}.ds-cost-doc{padding:14px}}@media (prefers-reduced-motion:reduce){.ds-pls-radio{transition:none}}@media print{.ds-cost-card-panel,.ds-cost-doc>.ds-cost-hint,.ds-cost-page .ui-back,.ds-cost-page .ui-pagehead-actions,.ds-cost-sheets>.ds-panel-tabs,.ds-quote-outline,.ds-quote-pm{display:none}.ds-cost-scroll{overflow:visible}.ds-cost-doc{padding:0;border:none;border-radius:0;box-shadow:none}}.ds-qdoc-colhead{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px}.ds-qdoc-addback{-webkit-margin-after:6px;margin-block-end:6px}@media print{.ds-qdoc-addback,.ds-qdoc-colx{display:none}}.ds-cost-nest{max-width:720px;margin:8px 0 16px}.ds-cost-nest-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.ds-cost-nest-pct{font-size:var(--ds-fs-xl);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ds-fg)}.ds-cost-nest-track{height:10px;border-radius:var(--ds-radius-pill);background:var(--ds-surface-3);overflow:hidden}.ds-cost-nest-fill{height:100%;border-radius:var(--ds-radius-pill);background:var(--ds-action);transition:width .45s ease-out}.ds-cost-nest-scroll{overflow-x:auto;margin-top:12px}.ds-cost-nest-cols{display:flex;align-items:flex-end;gap:2px;height:96px;min-width:100%}.ds-cost-nest-col{flex-basis:0;min-width:4px;height:100%;display:flex;align-items:flex-end;border-radius:var(--ds-radius) var(--ds-radius) 0 0;background:var(--ds-surface-2);border:1px solid var(--ds-border-2);overflow:hidden}.ds-cost-nest-colfill{width:100%;transition:height .45s ease-out;background:var(--ds-action)}.ds-cost-nest-col.is-done .ds-cost-nest-colfill{background:var(--ds-ok)}.ds-cost-nest-col.is-running{border-color:var(--ds-action)}.ds-cost-nest-col.is-running .ds-cost-nest-colfill{animation:ds-cost-nest-rise 1.6s ease-in-out infinite alternate}.ds-cost-nest-line{margin:8px 0 0;font-size:var(--ds-fs-sm)}@keyframes ds-cost-nest-rise{0%{filter:brightness(1)}to{filter:brightness(1.18)}}@media (prefers-reduced-motion:reduce){.ds-cost-nest-colfill,.ds-cost-nest-fill{transition:none}.ds-cost-nest-col.is-running .ds-cost-nest-colfill{animation:none}}.hwp-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:12px}.hwp-group{margin-top:16px}.hwp-flag{-webkit-margin-start:8px;margin-inline-start:8px}.hwp-price{width:110px}.eg-kinds{gap:8px}.eg-kind{gap:9px}.eg-sil{flex:0 0 auto}.eg-variant{-webkit-margin-start:6px;margin-inline-start:6px;color:var(--ds-fg-muted);font-style:normal;font-weight:400}.eg-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));grid-gap:16px;gap:16px}.eg-panel-title{display:inline-flex;align-items:center;gap:9px}.eg-dot{flex:0 0 auto;width:9px;height:9px;border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-pill)}.eg-panel-note{margin:0;line-height:1.55}.eg-vp{overflow:hidden;border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-viewport)}.eg-vp-svg{display:block}.eg-drop{animation:eg-drop 2.6s ease-in-out infinite;transform-box:view-box}@keyframes eg-drop{0%,18%{transform:translateY(0);opacity:.45}52%,70%{transform:translateY(3%);opacity:.18}to{transform:translateY(0);opacity:.45}}@media (prefers-reduced-motion:reduce){.eg-drop{animation:none}}.eg-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));grid-gap:16px;gap:16px;align-items:start}.eg-body{margin:0;color:var(--ds-fg-2);font-size:var(--ds-fs-md);line-height:1.6}.eg-numbers{display:grid;margin:0}.eg-number{display:flex;align-items:baseline;gap:10px;padding:5px 0;border-bottom:1px solid var(--ds-border-2)}.eg-number dt{flex:1 1;margin:0;color:var(--ds-fg-muted);font-size:var(--ds-fs-sm)}.eg-number dd{margin:0;color:var(--ds-fg);font-family:var(--ds-mono);font-size:var(--ds-fs-md);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eg-layers{display:grid;grid-gap:6px;gap:6px}.eg-layers-head{color:var(--ds-muted)}.eg-layer-list{display:grid;grid-gap:4px;gap:4px;margin:0;padding:0;list-style:none}.eg-layer-list li{display:flex;align-items:center;gap:8px;color:var(--ds-fg-2)}.eg-sw{width:11px;height:11px;border-color:var(--ds-border-strong);border-radius:3px}.eg-tpl{position:relative;display:inline-flex}.eg-caret{font-size:var(--ds-fs-2xs);opacity:.7}.eg-menu{position:absolute;top:calc(100% + 6px);inset-inline-end:0;z-index:var(--ds-z-popover);display:grid;min-width:210px;padding:4px;border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-surface);box-shadow:var(--ds-elev-2)}.eg-menu-item{padding:8px 10px;border-radius:var(--ds-radius-ctl);color:var(--ds-fg);font-size:var(--ds-fs-md);text-decoration:none;white-space:nowrap}.eg-menu-item:hover{background:var(--ds-hover)}.eg-menu-item:focus-visible{outline:2px solid var(--ds-focus);outline-offset:-2px;background:var(--ds-hover)}.con-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--ds-bg);color:var(--ds-fg)}.con-header{display:flex;align-items:center;gap:8px 20px;min-height:48px;padding:0 16px;border-bottom:1px solid var(--ds-border);background:var(--ds-surface);font-size:var(--ds-fs-lg)}.con-brand{display:inline-flex;align-items:center;gap:8px;color:var(--ds-fg);font-weight:650;text-decoration:none;white-space:nowrap}.con-brand-mark{color:var(--ds-accent);font-size:var(--ds-fs-xl);line-height:1}.con-nav{display:flex;flex:1 1;align-items:center;gap:4px;min-width:0}.con-nav a{padding:6px 10px;border-radius:var(--ds-radius-ctl);color:var(--ds-fg-2);font-size:var(--ds-fs-md);font-weight:500;text-decoration:none;white-space:nowrap}.con-nav a:hover{background:var(--ds-hover);color:var(--ds-fg)}.con-header-right{display:flex;align-items:center;gap:10px}.con-roles{color:var(--ds-fg-muted);font-size:var(--ds-fs-sm);white-space:nowrap}.con-plan-banner{border-width:0 0 1px;border-inline-start-width:0;border-radius:0;padding-inline:16px}.con-page{font-size:var(--ds-fs-lg)}.con-page h1,.con-page h2,.con-page h3{letter-spacing:-.01em}.con-panel{gap:14px;padding:16px 18px}.con-panel-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 16px}.con-panel-title{display:grid;grid-gap:3px;gap:3px;min-width:0}.con-panel-title h2{margin:0;color:var(--ds-fg);font-size:var(--ds-fs-xl);font-weight:650}.con-panel-title p{max-width:78ch;margin:0;color:var(--ds-fg-muted);font-size:var(--ds-fs-md);line-height:1.45}.con-stack{display:grid;grid-gap:16px;gap:16px}.con-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;grid-gap:12px;gap:12px}.con-p{margin:0}.con-busy{opacity:.55}.con-dim td{color:var(--ds-fg-muted)}.con-nowrap{white-space:nowrap}.con-who{display:grid;grid-gap:1px;gap:1px}.con-who-name{font-weight:600}.con-who-sub{color:var(--ds-fg-muted);font-size:var(--ds-fs-xs)}.con-meta{word-break:break-all}.con-row-actions{display:flex;justify-content:flex-end;gap:6px;white-space:nowrap}.con-roles-set{display:flex;flex-wrap:wrap;gap:6px 14px}.con-fieldset{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:8px 12px 10px;border:1px solid var(--ds-border);border-radius:var(--ds-radius)}.con-fieldset legend{padding:0 4px;color:var(--ds-fg-2);font-size:var(--ds-fs-sm);font-weight:600}.con-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px}.con-fields>.ui-field{flex:1 1 140px}.con-fields>.con-grow{flex:3 1 240px}.con-dl{display:grid;grid-template-columns:auto 1fr;grid-gap:4px 14px;gap:4px 14px;margin:0;font-size:var(--ds-fs-md)}.con-dl dt{color:var(--ds-fg-muted)}.con-dl dd{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0}.con-linkbox{overflow-x:auto;padding:8px 10px;border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-surface-2)}.con-linkbox code{font-family:var(--ds-mono);font-size:var(--ds-fs-sm);white-space:nowrap}.con-quote{display:grid;grid-gap:2px;gap:2px;padding-top:10px;border-top:1px dashed var(--ds-border);font-size:var(--ds-fs-md)}.con-quote-row{display:flex;justify-content:space-between;gap:12px;padding:2px 0}.con-quote-total{margin-top:4px;padding-top:6px;border-top:1px solid var(--ds-border-2);font-size:var(--ds-fs-lg)}.con-quote-local{color:var(--ds-fg-muted)}.con-subsection{display:grid;grid-gap:8px;gap:8px;padding-top:12px;border-top:1px dashed var(--ds-border)}.con-subsection h4{margin:0;font-size:var(--ds-fs-md);font-weight:600}.con-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:10px;gap:10px}.con-tile{display:grid;grid-gap:2px;gap:2px;padding:10px 14px;border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-surface-2)}.con-tile span{color:var(--ds-fg-muted);font-size:var(--ds-fs-sm)}.con-tile strong{font-size:var(--ds-fs-xl);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.con-table-title{margin:0;padding:9px 12px 4px;font-size:var(--ds-fs-md);font-weight:600}.con-days{display:grid;grid-gap:4px;gap:4px;margin:0;padding:6px 12px 12px;list-style:none}.con-days li{display:grid;grid-template-columns:6.5rem 1fr 6rem;align-items:center;grid-gap:12px;gap:12px;font-size:var(--ds-fs-md)}.con-day{color:var(--ds-fg-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.con-bar{display:block;min-width:2px;height:8px;border-radius:var(--ds-radius-pill);background:var(--ds-accent)}.con-files{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.con-file{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px 0;border-bottom:1px solid var(--ds-border-2)}.con-file:last-child{border-bottom:none}.con-file-main{display:grid;flex:1 1 240px;grid-gap:2px;gap:2px;min-width:0}.con-dialog{display:grid;grid-gap:12px;gap:12px;font-size:var(--ds-fs-lg)}.con-dialog p{margin:0}.con-entries{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px}.con-entry{display:grid;grid-gap:6px;gap:6px;padding:18px 20px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:var(--ds-surface);color:var(--ds-fg);text-decoration:none;transition:border-color .12s,box-shadow .12s}a.con-entry:hover{border-color:var(--ds-border-strong);box-shadow:var(--ds-elev-2)}.con-entry h2{margin:0;font-size:var(--ds-fs-xl);font-weight:650}.con-entry p{margin:0;color:var(--ds-fg-muted);font-size:var(--ds-fs-md)}.con-entry.is-disabled{background:var(--ds-surface-2);color:var(--ds-fg-muted)}.con-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.con-ticket-title{font-weight:600}.con-ticket-sub{display:block;margin-top:2px;color:var(--ds-fg-muted);font-size:var(--ds-fs-xs)}.con-chip-critical{border-color:var(--ds-danger);background:var(--ds-danger);color:var(--ds-on-danger)}.con-ticket-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 14px}.con-ticket-heading{display:grid;flex:1 1 280px;grid-gap:6px;gap:6px;min-width:0}.con-ticket-heading h3{margin:0;font-size:var(--ds-fs-xl);font-weight:650}.con-annos{display:grid;grid-gap:4px;gap:4px;margin:0;padding:0;list-style:none}.con-annos li{display:flex;align-items:baseline;gap:8px;font-size:var(--ds-fs-md)}.con-anno-index{display:inline-grid;flex:none;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--ds-action);color:var(--ds-on-action);font-size:var(--ds-fs-xs);font-weight:700}.con-anno-label{font-weight:600;white-space:nowrap}.con-anno-note{color:var(--ds-fg-2)}.con-thread{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.con-msg{display:grid;grid-gap:4px;gap:4px;padding:8px 12px;border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-surface)}.con-msg--operator{border-color:color-mix(in srgb,var(--ds-info) 35%,transparent);background:var(--ds-info-soft)}.con-msg-head{display:flex;justify-content:space-between;gap:8px;font-size:var(--ds-fs-sm)}.con-msg-author{font-weight:700}.con-msg-when{color:var(--ds-fg-muted)}.con-msg-body{margin:0;font-size:var(--ds-fs-md);white-space:pre-wrap}.con-attachments{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;list-style:none;font-size:var(--ds-fs-sm)}.con-attachments li{display:inline-flex;align-items:center;gap:2px}.con-reply{display:grid;grid-gap:8px;gap:8px}.con-form{max-width:640px}.con-range{display:flex;align-items:center;gap:10px}.con-range input[type=range]{flex:1 1}.con-range output{min-width:40px;font-weight:700;text-align:end}.con-lightbox{display:flex;justify-content:center;max-height:74vh;overflow:auto;padding:12px}.con-lightbox img{max-width:100%;height:auto;border-radius:var(--ds-radius-ctl)}.con-triage{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px}.con-triage>.con-grow{flex:1 1 240px}.con-roadmap{display:grid;grid-gap:14px;gap:14px}.con-roadmap-group{display:grid;grid-gap:6px;gap:6px}.con-roadmap-group h3{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--ds-fs-md)}.con-roadmap .ui-row{border:1px solid var(--ds-border)}.con-roadmap-note{color:var(--ds-fg-muted);font-style:italic}.con-inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.con-inline-form .ui-input,.con-inline-form .ui-select{flex:0 1 320px}.con-ops{--con-topbar-h:48px;min-height:100vh;min-height:100dvh;background:var(--ds-bg);color:var(--ds-fg)}.con-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:var(--ds-z-sticky);display:flex;align-items:center;gap:8px 16px;min-height:var(--con-topbar-h);padding:0 16px;border-bottom:1px solid var(--ds-border);background:var(--ds-surface)}.con-ops-brand{display:inline-flex;align-items:center;gap:9px;font-size:var(--ds-fs-lg);font-weight:650;white-space:nowrap}.con-ops-mark{flex:none;width:16px;height:16px;border-radius:5px;background:var(--ds-accent)}.con-topbar .ui-tabs{align-self:stretch;align-items:flex-end;border-bottom:none}.con-theme{-webkit-margin-start:auto;margin-inline-start:auto}.con-ops .pl-shell{top:var(--con-topbar-h)}.con-modules{display:grid;grid-gap:8px;gap:8px;padding-top:12px;border-top:1px solid var(--ds-border-2)}.con-modules h4{margin:6px 0 0;font-size:var(--ds-fs-md);font-weight:600}.con-modules h4:first-child{margin-top:0}.con-locale-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px 12px}.con-locale-row>.ui-field{flex:1 1 220px;max-width:420px}.con-locale-meta{display:flex;align-items:center;gap:6px;min-height:32px}.con-module-list{display:grid;grid-gap:2px;gap:2px;margin:0;padding:0;list-style:none}.con-module{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid transparent;border-radius:var(--ds-radius);cursor:pointer}.con-module:hover{background:var(--ds-hover)}.con-module input{flex:none;margin-top:2px}.con-module-text{display:grid;grid-gap:2px;gap:2px;min-width:0}.con-module-name{font-size:var(--ds-fs-md);font-weight:600}.con-module-desc{color:var(--ds-fg-muted);font-size:var(--ds-fs-xs);line-height:1.5}.con-module-list--deny{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-border-start:3px solid var(--ds-warn);border-inline-start:3px solid var(--ds-warn)}.con-module-list--deny .con-module:has(input:checked){border-color:var(--ds-warn-line);background:var(--ds-warn-soft)}.con-module-list--deny .con-module:has(input:checked) .con-module-name{color:var(--ds-warn-fg)}.admin-hint{color:var(--ds-fg-muted)}.admin-error,.admin-hint{margin:6px 0;font-size:var(--ds-fs-sm)}.admin-error{padding:8px 12px;border:1px solid var(--ds-danger-line);border-radius:var(--ds-radius-ctl);background:var(--ds-danger-soft);color:var(--ds-danger)}.support-form{display:grid;grid-gap:10px;gap:10px}.support-form-modal{max-width:none}.support-type-toggle{display:flex;flex-wrap:wrap;gap:8px 16px;padding:8px 12px;border:1px solid var(--ds-border);border-radius:var(--ds-radius)}.support-type-toggle legend{padding:0 4px;font-size:var(--ds-fs-sm)}.support-type-toggle label{display:inline-flex;align-items:center;gap:6px;font-size:var(--ds-fs-md)}.support-field{display:grid;grid-gap:4px;gap:4px;font-size:var(--ds-fs-md)}.support-note-input{width:100%}.support-severity-field{min-width:0}.support-severity-row{display:flex;align-items:center;gap:10px}.support-severity-row input[type=range]{flex:1 1}.support-severity-value{min-width:40px;font-weight:700;text-align:end}.support-annotations{margin:10px 0;padding:10px 12px;border:1px solid var(--ds-border);border-radius:var(--ds-radius)}.support-annotations h4{margin:0 0 6px;font-size:var(--ds-fs-md)}.support-annotations ol{display:grid;grid-gap:4px;gap:4px;margin:0;padding:0;list-style:none}.support-annotations li{display:flex;align-items:baseline;gap:8px;font-size:var(--ds-fs-md)}.support-anno-index{display:inline-grid;flex:none;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--ds-action);color:var(--ds-on-action);font-size:var(--ds-fs-xs);font-weight:700}.support-anno-label{font-weight:600;white-space:nowrap}.support-anno-note{color:var(--ds-fg-2)}.support-attachments{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 0;padding:0;list-style:none;font-size:var(--ds-fs-sm)}.support-attachmodel{display:flex;align-items:center;gap:8px;font-size:var(--ds-fs-md)}.support-error{margin:4px 0;color:var(--ds-danger);font-size:var(--ds-fs-md)}.support-form-actions{display:flex;align-items:center;gap:6px}.support-file-input{display:none}@media (max-width:860px){.con-header{flex-wrap:wrap;padding:6px 12px}.con-nav{order:3;flex-basis:100%;overflow-x:auto;scrollbar-width:none}.con-topbar{flex-wrap:wrap;padding:6px 12px 0}.con-topbar .ui-tabs{order:3;flex-basis:100%}.con-page .ui-tabs,.con-topbar .ui-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.con-page .ui-tab,.con-topbar .ui-tab{flex-shrink:0}}.con-steps{display:grid;grid-gap:8px;gap:8px;margin:0;-webkit-padding-start:1.3em;padding-inline-start:1.3em;font-size:var(--ds-fs-md);line-height:1.5}.auth-login{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);width:100%;min-height:100vh;min-height:100dvh;background:var(--ds-bg);color:var(--ds-fg)}.auth-brand{display:flex;flex-direction:column;justify-content:space-between;padding:48px;background:radial-gradient(1200px 600px at -10% -20%,color-mix(in srgb,var(--ds-accent) 35%,transparent),transparent 60%),radial-gradient(900px 500px at 110% 110%,color-mix(in srgb,var(--ds-blue) 35%,transparent),transparent 55%),var(--ds-bg);color:var(--ds-fg)}.auth-brand-inner{max-width:30rem}.auth-logo{display:block;margin-bottom:20px;color:var(--ds-accent);font-size:2.4rem;line-height:1}.auth-brand h1{margin:0 0 8px;font-size:2.2rem;letter-spacing:-.02em}.auth-tagline{margin:0 0 32px;color:var(--ds-fg-2);font-size:var(--ds-fs-xl)}.auth-features{display:grid;grid-gap:12px;gap:12px;margin:0;padding:0;list-style:none}.auth-features li{position:relative;-webkit-padding-start:26px;padding-inline-start:26px;color:var(--ds-fg-2);font-size:var(--ds-fs-lg)}.auth-features li:before{content:"✓";position:absolute;inset-inline-start:0;color:var(--ds-accent);font-weight:700}.auth-foot{margin:32px 0 0;color:var(--ds-fg-muted);font-size:var(--ds-fs-sm)}.auth-side{display:flex;align-items:center;justify-content:center;padding:32px;background:var(--ds-bg)}.auth-signin{display:grid;grid-gap:16px;gap:16px;width:100%;max-width:24rem}.auth-signin h2{margin:0;font-size:var(--ds-fs-2xl);font-weight:650}.auth-terms{margin:0;color:var(--ds-fg-muted);font-size:var(--ds-fs-sm)}.auth-providers{display:grid;grid-gap:10px;gap:10px}.auth-provider-icon{flex:none;width:18px;height:18px}@media (max-width:860px){.auth-login{grid-template-columns:1fr}.auth-brand{padding:32px 24px}}.auth-page{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:32px 16px;background:var(--ds-bg);color:var(--ds-fg);font-size:var(--ds-fs-lg)}.auth-card{box-sizing:border-box;display:grid;grid-gap:14px;gap:14px;width:100%;max-width:26rem;padding:28px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:var(--ds-surface);box-shadow:var(--ds-elev-2)}.auth-card--wide{max-width:30rem}.auth-card h1{margin:0;font-size:var(--ds-fs-2xl);font-weight:650}.auth-card p{margin:0}.auth-kicker{color:var(--ds-accent-soft-fg);font-size:var(--ds-fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-sub{color:var(--ds-fg-muted);line-height:1.5}.auth-roles,.auth-sub{font-size:var(--ds-fs-md)}.auth-roles{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.auth-companies{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.auth-company{align-items:center;gap:12px;width:100%}.auth-company-avatar{display:inline-grid;flex:none;place-items:center;width:36px;height:36px;border-radius:var(--ds-radius);background:var(--ds-sel);color:var(--ds-link);font-weight:700}.auth-company-text{display:grid;flex:1 1;grid-gap:2px;gap:2px;min-width:0}.auth-company-name{font-weight:600}.auth-company-roles{font-size:var(--ds-fs-sm)}.auth-company-arrow,.auth-company-roles{color:var(--ds-fg-muted)}.auth-consent-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));grid-gap:12px;gap:12px}.auth-consent-head{margin:0 0 6px;font-size:var(--ds-fs-md);font-weight:650}.auth-consent-list{display:grid;grid-gap:4px;gap:4px;margin:0;-webkit-padding-start:1.1em;padding-inline-start:1.1em;color:var(--ds-fg-muted);font-size:var(--ds-fs-md);line-height:1.45}.auth-consent-actions{display:flex;gap:10px}.dsc-menu{position:fixed;z-index:var(--ds-z-popover);box-sizing:border-box}.dsc-menu--sub{z-index:calc(var(--ds-z-popover) + 1)}.dsc-menu-head{margin-bottom:4px;padding:4px 10px 6px;border-bottom:1px solid var(--ds-border-2);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsc-menu-item--cell{min-width:0}.dsc-menu-item--clip{display:block}.dsc-menu-item--clip,.dsc-menu-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsc-menu-label{min-width:0}.dsc-menu-chevron{display:flex;-webkit-margin-start:auto;margin-inline-start:auto}.dsc-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dsc-menu-rule{display:flex;align-items:center;gap:6px;height:9px;margin:4px 10px 2px}.dsc-menu-rule.is-first{margin-top:0}.dsc-menu-rule-text{color:var(--ds-muted);font-size:9px;font-weight:600;letter-spacing:.08em;line-height:9px;text-transform:uppercase;white-space:nowrap}.dsc-menu-rule-line{flex:1 1;height:1px;background:var(--ds-border-2)}.dsc-menu-tick{display:flex;flex:0 0 auto;width:15px;color:var(--ds-accent)}.dsc-set-editor-link{display:block;padding:6px 0;color:var(--ds-link);font-size:var(--ds-fs-sm);text-align:center}.dsc-set-editor-link:hover{text-decoration:underline}.dsc-swatch-pick{border-radius:4px}.dsc-swatch-pick:focus-within{outline:2px solid var(--ds-focus);outline-offset:2px}.dsc-sticker-preview{display:flex;align-items:center;gap:5px;margin-top:6px;padding:6px 8px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-ctl);background:var(--ds-surface-2)}.dsc-plinth-board{fill:var(--ds-surface);stroke:var(--ds-border-strong)}.dsc-plinth-side{fill:var(--ds-fg-muted)}.dsc-plinth-dim{stroke:var(--ds-info)}.dsc-plinth-lip{stroke:var(--ds-blue)}.dsc-plinth-arrow,.dsc-plinth-leg{fill:var(--ds-blue)}.dsc-plinth-leg-num{fill:var(--ds-surface)}.dsc-plinth-tag rect{fill:var(--ds-info-soft);stroke:var(--ds-info)}.dsc-plinth-tag text{fill:var(--ds-info)}.dsc-plinth-tag.is-accent rect{fill:var(--ds-sel);stroke:var(--ds-sel-line)}.dsc-plinth-tag.is-accent text{fill:var(--ds-fg)}.dsc-plinth-tag:hover rect{stroke-width:3px}.dsc-axis-letter{min-width:18px;color:var(--dsc-axis);font-weight:700}.dsc-panelview{width:100%;height:auto;max-height:70vh;border-radius:10px;background:var(--ds-bg)}.dsc-panelview-hole{fill:var(--ds-fg)}.dsc-lib-stack{gap:6px}.dsc-lib-stack,.dsc-lib-tree{display:flex;flex-direction:column}.dsc-lib-tree{gap:1px}.dsc-lib-note{color:var(--ds-fg-muted)}.dsc-lib-error,.dsc-lib-note{margin:0;font-size:var(--ds-fs-sm)}.dsc-lib-error{color:var(--ds-danger)}.dsc-lib-card{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-ctl)}.dsc-lib-card.is-danger{border-color:var(--ds-danger-line);background:var(--ds-danger-soft)}.dsc-lib-card-title{color:var(--ds-fg-muted);font-size:var(--ds-fs-sm);font-weight:600}.dsc-lib-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-ctl)}.dsc-lib-row--well{border-color:transparent;background:var(--ds-surface-2)}.dsc-lib-input{flex:1 1}.dsc-lib-item{display:flex;gap:8px;padding:6px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-ctl)}.dsc-lib-thumb{flex-shrink:0}.dsc-lib-thumb-img{display:block;flex-shrink:0;border-radius:4px;object-fit:contain}.dsc-lib-sketch{color:var(--ds-fg-muted)}.dsc-lib-item-text{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.dsc-lib-folder-name,.dsc-lib-item-name{display:block;min-width:0;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap}.dsc-lib-item-name{width:100%}.dsc-lib-folder-name{flex:1 1}.dsc-lib-item-dims{color:var(--ds-fg-muted);font-size:var(--ds-fs-2xs);line-height:1.35}.dsc-lib-item-acts{display:flex;gap:2px;margin-top:auto}.dsc-lib-folder{gap:4px;box-sizing:border-box}.dsc-lib-count{flex-shrink:0;color:var(--ds-fg-muted);font-size:var(--ds-fs-2xs)}.dsc-lib-head-title{display:flex;flex:1 1;align-items:center;gap:6px;min-width:0}.dsc-lib-head-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsc-lib-warn{margin:0;color:var(--ds-warn-fg);font-size:var(--ds-fs-sm)}.dsc-pop{position:absolute;top:30px;inset-inline-end:0;z-index:var(--ds-z-sticky);display:flex;flex-direction:column;gap:10px;width:260px;padding:10px;border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-surface);color:var(--ds-fg);box-shadow:var(--ds-elev-2)}.dsc-pop-check{display:flex;align-items:flex-start;gap:6px;font-size:12.5px}.dsc-ai-composer{padding:8px 10px;border-top:1px solid var(--ds-border);background:var(--ds-surface)}.dsc-ai-box,.dsc-ai-composer{display:flex;flex-direction:column;gap:6px}.dsc-ai-box{border-radius:10px}.dsc-ai-box.is-drag{box-shadow:0 0 0 2px var(--ds-accent-soft)}.dsc-ai-area{max-height:220px;overflow-y:auto;resize:none}.dsc-ai-row{display:flex;align-items:center;gap:4px}.dsc-ai-thumbs{display:flex;flex-wrap:wrap;gap:6px}.dsc-ai-thumb{position:relative;width:64px;height:48px}.dsc-ai-thumb-img{width:64px;height:48px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-ctl);background:var(--ds-paper);object-fit:cover}.dsc-ai-remove{position:absolute;top:-6px;inset-inline-end:-6px}.dsc-ai-log{display:flex;flex-direction:column;gap:12px}.dsc-ai-note{margin:0;color:var(--ds-fg-muted);font-size:var(--ds-fs-sm)}.dsc-ai-warn{color:var(--ds-warn-fg)}.dsc-ai-list,.dsc-ai-warn{margin:4px 0 0;font-size:var(--ds-fs-sm)}.dsc-ai-list{-webkit-padding-start:16px;padding-inline-start:16px;color:var(--ds-fg-muted)}.dsc-ai-concept{margin:4px 0 0;color:var(--ds-fg-2);font-size:var(--ds-fs-sm)}.dsc-ai-trace{margin:4px 0 0;-webkit-padding-start:14px;padding-inline-start:14px;color:var(--ds-fg-muted);font-size:var(--ds-fs-xs);list-style:"· "}.dsc-ai-starter{align-items:flex-start;gap:2px;text-align:start}.dsc-ai-user{align-self:flex-end;max-width:88%;padding:7px 10px;border:1px solid var(--ds-border);border-radius:12px 12px 4px 12px;background:var(--ds-accent-soft);color:var(--ds-accent-soft-fg);line-height:1.45;white-space:pre-wrap}.dsc-ai-reply,.dsc-ai-user{font-size:var(--ds-fs-md);overflow-wrap:anywhere}.dsc-ai-reply{align-self:stretch;padding:2px 2px 4px;line-height:1.5}.dsc-ai-att{width:96px;height:72px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-ctl);background:var(--ds-paper);object-fit:cover}.dsc-ai-att-num{color:var(--ds-fg-muted);font-size:var(--ds-fs-2xs);text-align:center}.dsc-ai-edits{margin:6px 0 0;-webkit-padding-start:16px;padding-inline-start:16px;color:var(--ds-fg-2);font-size:var(--ds-fs-sm)}.dsc-ai-thinking{color:var(--ds-fg-muted);font-style:italic}.dsc-ai-md-p{margin:0 0 6px}.dsc-ai-md-h{margin:8px 0 4px;font-size:var(--ds-fs-md);font-weight:600}.dsc-ai-md-list{margin:0 0 6px;-webkit-padding-start:18px;padding-inline-start:18px}.dsc-ai-md-pre{margin:0 0 6px;padding:6px 8px;overflow-x:auto;border-radius:var(--ds-radius-ctl);font-family:var(--ds-mono);font-size:11.5px;white-space:pre-wrap}.dsc-ai-ill,.dsc-ai-md-pre{background:var(--ds-surface-2)}.dsc-ai-ill{display:flex;flex-direction:column;gap:4px;margin:6px 0;overflow:hidden;border:1px solid var(--ds-border);border-radius:var(--ds-radius)}.dsc-ai-ill-open{cursor:zoom-in}.dsc-ai-ill-img{max-height:320px}.dsc-ai-ill-big,.dsc-ai-ill-img{display:block;width:100%;background:var(--ds-paper);object-fit:contain}.dsc-ai-ill-big{max-height:70vh}.dsc-ai-ill-caption{display:flex;align-items:center;gap:6px;padding:4px 8px 6px;color:var(--ds-fg-2);font-size:11.5px}.dsc-ai-ill-badge{flex-shrink:0;padding:1px 5px;border:1px solid var(--ds-border-strong);border-radius:4px;color:var(--ds-fg-muted);font-size:var(--ds-fs-2xs);letter-spacing:.04em;text-transform:uppercase}.dsc-ai-sketch{display:block;width:100%;border:1px solid var(--ds-border);border-radius:var(--ds-radius-ctl);background:var(--ds-paper);cursor:crosshair;touch-action:none}.dcard-body{display:flex;flex-direction:column;gap:10px;color:var(--ds-fg);font-size:var(--ds-fs-md)}.dcard-row{display:flex;align-items:center;gap:8px}.dcard-row--between{justify-content:space-between}.dcard-row--wrap{flex-wrap:wrap}.dcard-sub{font-size:var(--ds-fs-sm)}.dcard-note,.dcard-sub{color:var(--ds-fg-muted)}.dcard-note{margin:0;font-size:var(--ds-fs-xs);line-height:1.4}.dcard-flush{margin:0}.dcard-line{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid var(--ds-border);font-size:var(--ds-fs-sm)}.dcard-rule{padding-top:10px;border-top:1px solid var(--ds-border-2)}.dcard-banner{padding:5px 8px;font-size:var(--ds-fs-xs)}.dcard-note.ui-error,.dcard-note.ui-warn{font-weight:600}.dcard-row--top{align-items:flex-start}.dcard-click{cursor:pointer}.dcard-label{flex:none;width:78px;color:var(--ds-fg-muted);font-size:var(--ds-fs-sm)}.dcard-label--wide{width:108px}.dcard-axis{flex:none;width:58px;font-size:var(--ds-fs-sm);font-weight:600}.dcard-form-row{grid-template-columns:auto 1fr;grid-gap:10px;gap:10px;font-size:var(--ds-fs-sm)}.dcard-form-row,.dcard-lrow{display:grid;align-items:center}.dcard-lrow{grid-template-columns:1fr 120px;grid-gap:8px;gap:8px}.dcard-lrow--110{grid-template-columns:1fr 110px}.dcard-grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.dcard-group{display:flex;flex-direction:column;gap:6px}.dcard-group--tight{gap:4px;font-size:var(--ds-fs-sm)}.dcard-group-title{font-size:var(--ds-fs-sm);font-weight:600}.dcard-strong{font-weight:600}.dcard-normal{font-weight:400}.dcard-field{display:flex;flex-direction:column;gap:4px}.dcard-field,.dcard-hint{font-size:var(--ds-fs-sm)}.dcard-hint{margin:0;color:var(--ds-fg-muted)}.dcard-note--tuck{margin-top:-6px}.dcard-note--end{text-align:end}.dcard-list{display:flex;flex-direction:column;gap:3px}.dcard-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dcard-scroll{max-height:220px;overflow-y:auto}.dcard-off{opacity:.55}.dcard-well{display:flex;justify-content:space-between;gap:8px;padding:5px 8px;border-radius:var(--ds-radius-ctl);background:var(--ds-surface-2)}.dcard-hr{margin:4px 0 2px;border:0;border-top:1px solid var(--ds-border)}.dcard-summary{cursor:pointer}.dcard-note.ui-error,:is(p,span,div,ul,li,em,button).dcard-danger{color:var(--ds-danger)}.dcard-note.ui-warn,:is(p,span,div,ul,li,em).dcard-warn{color:var(--ds-warn-fg)}.dcard-seg{display:inline-flex;flex-wrap:wrap;gap:4px}.dcard-choice{align-items:flex-start;text-align:start}.dcard-choice-text{display:flex;flex-direction:column;gap:2px;font-size:var(--ds-fs-sm)}.ds-measure-label.dcard-dropped{border-color:var(--ds-danger);color:var(--ds-danger)}.dcard-pop{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-surface);box-shadow:var(--ds-elev-2);color:var(--ds-fg);font-size:var(--ds-fs-md)}.dcard-pop--sm{display:block;padding:10px;font-size:var(--ds-fs-sm)}.dcard-swatch{width:24px;height:24px;padding:0;border:1px solid var(--ds-border-strong);border-radius:4px;cursor:pointer}.dcard-swatch[aria-pressed=true]{border:2px solid var(--ds-sel-line);outline:1px solid var(--ds-surface);outline-offset:-3px}.dcard-swatch:focus-visible{outline:2px solid var(--ds-focus);outline-offset:1px}.dcard-tag-swatch{flex:none;width:12px;height:12px;border:1px solid var(--ds-border-strong);border-radius:3px}.dcard-tag-swatch.is-empty{border-style:dashed;border-color:var(--ds-fg-muted);background:transparent}.dcard-joint{font-size:var(--ds-fs-sm)}.dcard-joint-pick{flex:1 1}.dcard-joint-pick.is-off .dcard-joint-label{color:var(--ds-disabled);text-decoration:line-through}.dcard-lk-row{grid-template-columns:28px 64px 1fr 32px;grid-gap:8px}.dcard-lk-row,.dcard-lk-tier{display:grid;align-items:center;gap:8px}.dcard-lk-tier{grid-template-columns:32px 1fr 1fr;grid-gap:8px}.dcard-lk-head{padding-inline:10px;color:var(--ds-fg-muted);font-weight:600}.dcard-lk-body{fill:var(--ds-surface-2);stroke:var(--ds-border-strong)}.dcard-lk-plinth{fill:var(--ds-surface-3)}.dcard-lk-door{fill:var(--ds-surface);stroke:var(--ds-fg-muted)}.dcard-lk-decor{fill:var(--ds-fg-muted)}.dcard-fp-body{fill:var(--ds-surface-2);stroke:var(--ds-border-strong)}.dcard-fp-castor,.dcard-fp-plinth,.dcard-fp-rail{fill:var(--ds-surface-3)}.dcard-fp-door,.dcard-fp-drawer{fill:var(--ds-surface);stroke:var(--ds-fg-muted)}.dcard-fp-device,.dcard-fp-handle,.dcard-fp-lock{fill:var(--ds-fg-muted)}.dcard-fp-louvre,.dcard-fp-opening{fill:none;stroke:var(--ds-fg-muted)}.dcard-fp-board,.dcard-fp-unit{fill:var(--ds-surface);stroke:var(--ds-fg-muted)}.dcard-fp-canopy,.dcard-fp-frame{fill:var(--ds-surface-3);stroke:var(--ds-fg-muted)}.dcard-fp-busbar{fill:var(--ds-action);fill-opacity:.12}.dcard-fp-busbar,.dcard-fp-hinge{stroke:var(--ds-action)}.dcard-fp-label{fill:var(--ds-fg-muted);font-size:40px}.dcard-fp-keep{fill:var(--ds-danger);fill-opacity:.12}.dcard-fp-device{cursor:-webkit-grab;cursor:grab;touch-action:none}.dcard-fp-device--drag{stroke:var(--ds-action);stroke-width:3px}.dcard-intake{display:flex;flex-direction:column;gap:10px}.dcard-intake-row{display:flex;align-items:center;gap:8px}.dcard-intake-gap{margin-top:10px}.dcard-intake-table{max-height:360px;overflow-y:auto}.cd-body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);grid-gap:16px;gap:16px;flex:1 1;min-height:0}.cd-view{gap:10px}.cd-panel,.cd-view{display:flex;flex-direction:column;min-height:0}.cd-panel{gap:12px;overflow-y:auto;overscroll-behavior:contain}.cd-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;padding:10px 18px}.cd-types .ui-tile-img{max-height:96px}.cd-group{display:flex;flex-direction:column;gap:6px}.cd-tiles{display:grid;grid-gap:8px;gap:8px}.cd-tiles--2{grid-template-columns:repeat(2,minmax(0,1fr))}.cd-tiles--2 .ui-tile-img{max-height:120px}.cd-tiles--3{grid-template-columns:repeat(3,minmax(0,1fr))}.cd-tiles--3 .ui-tile-img{max-height:100px}.cd-tiles--4{grid-template-columns:repeat(4,minmax(0,1fr))}.cd-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.cd-chip{display:flex;min-width:0}.cd-chip>.ui-tile{flex:1 1;min-width:0;align-items:center}.cd-chip-text{display:flex;flex:1 1;flex-direction:column;min-width:0}.cd-chip .ds-anchored-panel{width:min(460px,86vw);max-width:none;max-height:min(70vh,640px)}.cd-pop{display:flex;flex-direction:column;gap:10px;padding:4px}.cd-stage{position:relative;flex:1 1;min-height:320px;border-radius:var(--ds-radius);overflow:hidden;background:var(--ds-viewport)}.cd-stage-host{position:absolute;inset:0}.cd-stage-bar{top:8px;gap:6px}.cd-stage-bar,.cd-stage-status{position:absolute;inset-inline-start:8px;z-index:10;display:flex}.cd-stage-status{bottom:8px;flex-direction:column;gap:2px}.cd-tag{position:absolute;z-index:11;transform:translate(-50%,-50%)}.cd-tag-input{width:92px}.cd-dimrow{display:flex;flex-wrap:wrap;gap:8px 12px}.cd-dimrow-field{width:128px}@media (max-width:760px){.cd-body{grid-template-columns:minmax(0,1fr);overflow-y:auto}.cd-view{min-height:auto}.cd-stage{flex:none;height:300px;min-height:0}.cd-panel .ui-tiles .ui-tile-img,.cd-tiles .ui-tile-img{max-height:80px}.cd-panel{overflow:visible}.cd-tiles--4,.cd-types{grid-template-columns:repeat(2,minmax(0,1fr))}.cd-types .ui-tile-img{max-height:64px}}.dsp-head-main{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.dsp-head-actions{display:flex;flex-shrink:0;align-self:flex-start;align-items:center;gap:2px}.dsp-title{max-width:100%;min-width:0;justify-content:flex-start}.dsp-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsp-title-input{width:100%}.dsp-foot-lead{display:flex;align-items:center;gap:8px;min-width:0}.dsp-back,.dsp-foot-lead{-webkit-margin-end:auto;margin-inline-end:auto}.dsp-combo-list{position:absolute;z-index:20;top:calc(100% + 2px);inset-inline:0;max-height:220px;overflow-y:auto}.dsp-hint-warn{color:var(--ds-warn-fg);font-weight:600}.dsp-hint-danger{color:var(--ds-danger)}.dsp-legend-link{-webkit-margin-start:8px;margin-inline-start:8px}.dsp-paper{background:var(--ds-paper);color:var(--ds-paper-ink)}.dsp-measure-halo{stroke:var(--ds-paper)}.dsp-measure-x{fill:var(--ds-paper)}.dsp-rule{width:100%;margin:4px 0 2px;border:0;border-top:1px solid var(--ds-border)}.dsp-note{margin:0}.dsp-well{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border-radius:var(--ds-radius-ctl);background:var(--ds-surface-2);color:var(--ds-fg)}.dsp-foot-link,.dsp-well{font-size:var(--ds-fs-sm)}.dsp-foot-link{align-self:center;text-align:center}.dsp-float-card{position:absolute;inset-inline-end:16px;top:76px;z-index:6;gap:8px;width:280px;padding:12px;border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-surface);color:var(--ds-fg);box-shadow:var(--ds-elev-2);font-size:var(--ds-fs-sm)}.dsp-float-card,.dsp-warn-list{display:flex;flex-direction:column}.dsp-warn-list{gap:2px;margin:0;color:var(--ds-warn-fg);font-size:var(--ds-fs-xs)}.dsp-warn-list a{text-decoration:underline}.dsp-img-sheet{width:100%;max-height:140px;object-fit:contain;border:1px solid var(--ds-border);border-radius:var(--ds-radius-ctl);background:var(--ds-paper)}.dsp-inline-field{display:flex;align-items:center;gap:6px;color:var(--ds-fg-2);font-size:var(--ds-fs-sm)}.dsp-drw{position:fixed;inset:0;z-index:var(--ds-z-modal);display:flex;flex-direction:column;background:var(--ds-bg);color:var(--ds-fg)}.dsp-drw-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 14px;-webkit-border-after:1px solid var(--ds-border);border-block-end:1px solid var(--ds-border);background:var(--ds-surface)}.dsp-drw-title{margin:0;font-size:var(--ds-fs-lg);font-weight:700}.dsp-drw-bar{padding:6px 14px;-webkit-border-after:1px solid var(--ds-border);border-block-end:1px solid var(--ds-border);background:var(--ds-surface)}.dsp-anno-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dsp-drw-main{display:flex;flex:1 1;min-height:0}.dsp-drw-stage{position:relative;flex:1 1;min-width:0;overflow:hidden}.dsp-drw-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ds-fg-muted);font-size:var(--ds-fs-md)}.dsp-drw-fit{position:absolute;inset-inline-end:12px;bottom:12px}.dsp-cart{display:flex;flex-direction:column;flex-shrink:0;width:240px;-webkit-border-start:1px solid var(--ds-border);border-inline-start:1px solid var(--ds-border);background:var(--ds-surface-2)}.dsp-cart-head{padding:12px 14px;-webkit-border-after:1px solid var(--ds-border);border-block-end:1px solid var(--ds-border);font-size:var(--ds-fs-md);font-weight:600}.dsp-cart-list{display:flex;flex:1 1;flex-direction:column;gap:10px;padding:10px;overflow-y:auto}.dsp-cart-item{position:relative;overflow:hidden;border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-surface)}.dsp-cart-sheet{display:flex;justify-content:center;max-height:120px;overflow:hidden}.dsp-cart-meta{display:flex;align-items:center;justify-content:space-between;padding:3px 4px 3px 8px;-webkit-border-before:1px solid var(--ds-border-2);border-block-start:1px solid var(--ds-border-2);background:var(--ds-surface-2);color:var(--ds-fg-2);font-size:var(--ds-fs-xs)}.dsp-cart-foot{padding:10px;-webkit-border-before:1px solid var(--ds-border);border-block-start:1px solid var(--ds-border)}.dsp-subhead{margin:10px 0 0;color:var(--ds-fg);font-size:var(--ds-fs-md);font-weight:600}.dsp-body-note{color:var(--ds-fg);font-size:var(--ds-fs-sm)}.dsp-trace-frame{position:relative;display:inline-block;max-width:100%;border:1px solid var(--ds-border);border-radius:var(--ds-radius-ctl);background:var(--ds-surface-3);line-height:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dsp-preview-box{display:flex;align-items:center;justify-content:center;background:var(--ds-surface-3)}.dsp-group,.dsp-preview-box{border:1px solid var(--ds-border);border-radius:var(--ds-radius)}.dsp-group{display:grid;grid-gap:8px;gap:8px;padding:10px;background:var(--ds-surface)}.dsp-group-title{margin:0;color:var(--ds-fg);font-size:var(--ds-fs-md);font-weight:600}.dsp-dim{color:var(--ds-fg-muted)}.dsp-stats{display:flex;flex-wrap:wrap;gap:14px;padding:10px;border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-surface)}.dsp-stats>*{min-width:64px}.dsp-stat-label{color:var(--ds-fg-muted);font-size:var(--ds-fs-2xs)}.dsp-stat-value{color:var(--ds-fg);font-size:15px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dsp-stat-value--hi{color:var(--ds-info)}.dsp-result-head{justify-content:space-between;padding-bottom:3px;border-bottom:1px solid var(--ds-border)}.dsp-result-head,.dsp-result-head>h3{display:flex;align-items:baseline;gap:8px}.dsp-result-head>h3{flex-wrap:wrap;margin:0;font-size:var(--ds-fs-md)}.dsp-notice-list{font-size:var(--ds-fs-xs)}.dsp-inspector,.dsp-notice-list .ui-banner-body{display:grid;grid-gap:4px;gap:4px}.dsp-inspector{position:-webkit-sticky;position:sticky;top:8px;padding:8px;border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-surface);font-size:var(--ds-fs-xs)}.dsp-group-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.dsp-bar{display:flex;height:22px;overflow:hidden;border:1px solid var(--ds-border);border-radius:4px;background:var(--ds-surface-2)}.dsp-bar-cut{flex:none;padding-inline:4px;overflow:hidden;-webkit-border-end:1px solid var(--ds-surface);border-inline-end:1px solid var(--ds-surface);background:color-mix(in srgb,var(--ds-info) 22%,var(--ds-surface));color:var(--ds-fg);font-size:var(--ds-fs-2xs);line-height:22px;text-overflow:ellipsis;white-space:nowrap}.dsp-bar-cut:nth-child(2n){background:color-mix(in srgb,var(--ds-info) 40%,var(--ds-surface))}.dsp-bar-offcut{flex:1 1;padding-inline:4px;overflow:hidden;color:var(--ds-fg-muted);font-size:var(--ds-fs-2xs);line-height:22px;white-space:nowrap}.dsp-tile{align-items:stretch;gap:4px;text-align:start}.dsp-tile-thumb{display:block;height:78px;overflow:hidden;border-radius:4px;background:var(--ds-surface-2)}.ds-sketch-dim.dsp-pill-angle{border-color:var(--ds-warn);color:var(--ds-warn-fg)}.ds-sketch-dim.dsp-pill-diagonal{border-color:var(--ds-sketch);color:var(--ds-sketch)}.ds-sketch-dim.dsp-pill-room{border-color:var(--ds-border-strong);color:var(--ds-fg-2);line-height:1.25;text-align:center}.dsp-row{display:flex;align-items:center;gap:8px}.dsp-row>.ui-input,.dsp-row>.ui-input-trail{flex:1 1}.dsp-fieldset{display:grid;grid-gap:6px;gap:6px;margin:0;padding:8px 12px 10px;border:1px solid var(--ds-border);border-radius:var(--ds-radius)}.dsp-fieldset>legend{padding:0 4px;color:var(--ds-fg-2);font-size:var(--ds-fs-sm);font-weight:600}.dsp-block{display:block}.dsp-section-planes{display:grid;grid-gap:2px;gap:2px}.dsp-section-plane{display:flex;align-items:center;gap:4px}.dsp-section-plane>.ui-input,.dsp-section-plane>.ui-row{flex:1 1;min-width:0}