.part-catalog-page{padding:32px;color:var(--text-primary)}.part-catalog-page .page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.part-catalog-header-actions{display:flex;flex-wrap:wrap;gap:8px}.part-catalog-guidance{max-width:760px;margin:0 0 24px;color:var(--text-secondary);line-height:1.5}.part-catalog-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:24px}.part-catalog-controls>label{display:grid;gap:4px;color:var(--text-secondary);font-size:12px;font-weight:600}.part-catalog-controls select,.part-catalog-controls input{min-height:42px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font:inherit;font-size:14px}.part-catalog-search{position:relative;flex:1 1 320px;max-width:520px}.part-catalog-search svg{position:absolute;bottom:12px;left:12px;color:var(--text-secondary)}.part-catalog-search input{width:100%;padding-inline-start:40px}.part-catalog-list{max-width:1000px;display:grid;gap:12px}.part-catalog-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card)}.part-catalog-row-main>small{color:var(--accent);font-weight:700}.part-catalog-row h2{margin:4px 0 8px;font-size:20px;line-height:1.25}.part-catalog-row p{margin:0 0 16px;color:var(--text-secondary)}.part-catalog-outputs{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.part-catalog-outputs>span:first-child{color:var(--text-secondary);font-size:12px;font-weight:600}.part-catalog-outputs>span:not(:first-child){padding:4px 8px;background:var(--bg-surface);border-radius:var(--radius-sm);font-size:12px}.part-catalog-row p.part-catalog-input-summary{margin:10px 0 0;font-size:12px;line-height:1.5}.part-catalog-input-summary strong{color:var(--text-primary);margin-right:5px}.part-catalog-row details{min-width:150px}.part-catalog-configure{margin-top:16px;min-height:34px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.part-catalog-configure:hover{border-color:var(--accent)}.part-edit-form{grid-column:1 / -1;display:grid;gap:16px;min-width:0;padding-top:16px;border-top:1px solid var(--border)}.part-edit-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.part-edit-heading h3{margin:0 0 4px;font-size:16px}.part-edit-heading p{margin:0;font-size:13px}.part-edit-heading>span{flex:none;color:var(--text-secondary);font-size:12px}.part-edit-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.part-edit-meta label{display:grid;gap:4px;min-width:0;color:var(--text-secondary);font-size:12px;font-weight:600}.part-edit-meta input,.part-edit-input>input{width:100%;min-height:36px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font:inherit;font-size:13px}.part-edit-inputs{display:grid;border-top:1px solid var(--border)}.part-edit-input{display:grid;grid-template-columns:152px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:9px 0;border-bottom:1px solid var(--border)}.part-edit-input:has(>input){grid-template-columns:152px minmax(0,1fr) minmax(0,140px)}.part-edit-input>div:first-child{display:grid;gap:2px;min-width:0}.part-edit-input strong{font-size:13px}.part-edit-input small{color:var(--text-secondary);font-size:11px}.part-edit-input>.bm-source-picker{grid-column:2}.part-edit-input>input{grid-column:3}.part-edit-input button.bm-source-trigger{display:flex;align-items:center;width:100%;min-height:36px;justify-content:space-between;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font:inherit;font-size:13px;text-align:left;cursor:pointer}.part-edit-actions{display:flex;justify-content:flex-end;gap:8px}.part-edit-actions button{min-height:36px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font:inherit;font-size:13px;cursor:pointer}.part-edit-actions button[type=submit]{border-color:var(--accent);background:var(--accent);color:#fff}.part-catalog-row summary{color:var(--accent);cursor:pointer;font-weight:600}.part-catalog-row ol{margin:12px 0 0;padding:0;list-style:none}.part-catalog-row li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 8px;padding:8px 0;border-top:1px solid var(--border)}.part-catalog-row li small{grid-column:2 / -1;color:var(--text-secondary)}.part-catalog-row li em{color:var(--accent);font-size:12px;font-style:normal}.part-catalog-empty,.part-catalog-loading{max-width:700px;padding:32px 0;color:var(--text-secondary)}.part-catalog-empty h2{margin:0 0 8px;color:var(--text-primary)}.part-catalog-empty p{margin:0}.part-catalog-loading>div{width:100%;height:80px;margin-bottom:12px;border-radius:var(--radius-sm);background:var(--bg-surface)}.part-catalog-page :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.part-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px;padding:16px;margin:0 0 20px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card)}.part-create-form>div:first-child,.part-create-form-hint,.part-create-form [role=alert],.part-create-actions{grid-column:1 / -1}.part-create-form h3{margin:0 0 4px;font-size:17px}.part-create-form p{margin:0;color:var(--text-secondary);font-size:13px}.part-create-form label{display:grid;gap:4px;min-width:0;font-size:12px;font-weight:600}.part-create-form label:first-of-type,.part-create-form label:last-of-type{grid-column:1 / -1}.part-create-form input,.part-create-form select{width:100%;min-height:38px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font:inherit;font-size:14px}.part-create-actions{display:flex;justify-content:flex-end;gap:8px}.part-create-actions button{min-height:36px;padding:7px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font:inherit;font-size:13px;cursor:pointer}.part-create-actions button[type=submit]{background:var(--accent);color:#fff;border-color:var(--accent)}@media (max-width: 700px){.app-layout .app-main--part-catalog{padding:0}.part-catalog-page{padding:16px 16px 112px}.part-catalog-page .page-header{flex-direction:column;gap:12px}.part-catalog-controls>label{flex-basis:100%;max-width:none}.part-catalog-row{display:block}.part-catalog-row details{margin-top:16px}}@media (max-width: 460px){.part-create-form{grid-template-columns:1fr}}@media (max-width: 700px){.part-edit-heading{display:block}.part-edit-heading>span{display:block;margin-top:6px}.part-edit-meta{grid-template-columns:1fr}.part-edit-input,.part-edit-input:has(>input){grid-template-columns:1fr;gap:6px}.part-edit-input>.bm-source-picker,.part-edit-input>input{grid-column:1}}.qbp-configured{display:grid;gap:8px;padding:12px;border-bottom:1px solid var(--border)}.qbp-configured-row{min-width:0;color:var(--text-primary)}.qbp-configured-row small{display:block;color:var(--text-muted)}.qbp-configured-row h4,.qbp-configured-row p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.qbp-configured-value{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.qbp-configured-value strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.qbp-configured summary{cursor:pointer;padding-block:8px;color:var(--text-secondary)}.qbp-configured-missing{color:var(--text-muted)}.bm-ui{--bm-gap: 16px;font-family:var(--font-body);color:var(--text-primary);font-size:14px;line-height:1.5}.bm-ui h2{margin:0 0 16px;font-size:20px;line-height:1.25;font-weight:600}.bm-ui h3{margin:0 0 8px;font-size:16px;line-height:1.5;font-weight:600}.bm-ui small{font-size:12px}.bm-ui button:not(.cvs-blk-margin-chip){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);background:var(--bg-card);font:inherit;cursor:pointer;transition:background .15s ease-out,opacity .15s ease-out}.bm-ui button:not(.cvs-blk-margin-chip):hover{background:var(--accent-dim)}.bm-ui button:active{opacity:.7}.bm-ui button:disabled{opacity:.5;cursor:default}.bm-ui button.bm-primary{background:var(--accent);color:var(--bg-input);border-color:var(--accent)}.bm-ui button.bm-icon{width:40px;padding:8px;flex-shrink:0}.bm-ui :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bm-ui select,.bm-ui input:not([type=checkbox]):not([type=radio]){min-width:0;width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);padding:8px;min-height:40px;font:inherit}.bm-ui input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}.bm-ui input[type=radio]{width:16px;height:16px;margin:0;accent-color:var(--accent);flex-shrink:0}.bm-field{display:grid;gap:4px;margin-bottom:16px;min-width:0;flex:1}.bm-field>span{color:var(--text-secondary);font-size:12px;font-weight:600}.bm-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.bm-automation{display:grid;gap:16px}.bm-automation p{margin:0}.bm-automation-recipes{list-style:none;padding:0;margin:0}.bm-automation-recipes li{display:grid;gap:4px;padding-block:8px;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.bm-automation-recipes span{color:var(--text-secondary);font-size:12px}.bm-automation-review{display:grid;gap:12px;padding-block:16px;border-top:1px solid var(--border)}.bm-automation-review details{padding-block:8px}.bm-automation-review summary{cursor:pointer;overflow-wrap:anywhere}.bm-automation-conflict{display:grid;gap:8px;padding-block:12px}.bm-automation button{justify-self:start}.bm-automation-global{margin-block:16px;padding:16px;background:var(--bg-card);border-radius:var(--radius-sm)}.bm-automation-global>summary{cursor:pointer;font-weight:600}.bm-automation-global[open]>summary{margin-bottom:16px}.bm-distinct-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.bm-distinct-sources>p{grid-column:1 / -1}.bm-distinct-sources .bm-field{min-width:0}.bm-distinct-proposals{display:grid;gap:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.bm-distinct-proposals h4{margin:0;padding:8px 12px;font-size:12px;background:var(--bg-surface)}.bm-distinct-proposals>p{padding:6px 12px;border-top:1px solid var(--border);font-size:12px}.bm-distinct-proposal{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-top:1px solid var(--border)}.bm-distinct-proposal>span:first-child{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}.bm-distinct-proposal small{color:var(--text-secondary)}.bm-distinct-proposal .bm-row{flex:0 0 auto;gap:4px}.bm-distinct-proposal button{min-height:28px;padding:4px 8px;font-size:12px}.bm-distinct-proposal button[aria-pressed=true]{border-color:var(--accent);color:var(--accent-text);background:var(--bg-surface)}@media (max-width: 600px){.bm-distinct-sources{grid-template-columns:1fr}.bm-distinct-proposal{align-items:flex-start;flex-direction:column}}.bm-content-order{display:inline-flex;flex-shrink:0}.bm-content-order-trigger,.bm-ui button.bm-content-order-trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;min-height:32px;padding:4px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.bm-content-order-trigger:hover{background:var(--accent-dim);color:var(--accent)}.bm-content-order-trigger:disabled{opacity:.4;cursor:default}.bm-content-order-trigger:focus-visible{outline:2px solid var(--accent)}.cvs-qual-label>.bm-content-order{position:absolute;inset-inline-start:0;top:50%;transform:translateY(-50%)}.cvs-qual-label .bm-content-order-trigger{width:20px;padding:0}.bm-content-order-menu{position:fixed;z-index:2200;width:200px;padding:8px;display:grid;gap:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md)}.bm-content-order-menu button{justify-content:flex-start;border:0}.bm-spacer{flex:1}.bm-muted,.bm-step-help{color:var(--text-secondary)}.bm-danger{color:var(--status-lost)}.bm-workspace{padding:24px;background:var(--bg-card)}.bm-workspace-header{display:flex;align-items:flex-start;gap:24px;justify-content:space-between;margin-bottom:24px}.bm-workspace-header p{margin:0;color:var(--text-secondary)}.bm-add{display:flex;gap:16px;align-items:end;margin-bottom:24px;flex-wrap:wrap}.bm-add .bm-field{max-width:240px;margin:0}.bm-empty{padding:32px 0}.bm-block{border-block-start:2px solid var(--accent);margin-bottom:24px;background:var(--bg-input)}.bm-block>header{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-elevated)}.bm-block h3{margin:0}.bm-block small{color:var(--text-secondary)}.bm-family-cost{border-color:var(--cost-accent)}.bm-family-hours{border-color:var(--hours-accent)}.bm-product-grid{display:flex;overflow-x:auto}.bm-product-grid>section{min-width:240px;flex:1;padding:16px;border-inline-end:1px solid var(--border)}.bm-product-grid>section>strong{display:block;margin-bottom:16px}.bm-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:20px;margin:8px 0;overflow-wrap:anywhere}.bm-pool-summary{padding:12px 16px;display:flex;flex-wrap:wrap;gap:16px;background:var(--bg-elevated)}.bm-pool-summary strong{display:block;font-variant-numeric:tabular-nums}.bm-window{position:fixed;z-index:1900;display:flex;flex-direction:column;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised),0 24px 64px color-mix(in srgb,var(--text-primary) 22%,transparent);overflow:hidden}.bm-window-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);cursor:move;touch-action:none}.bm-window-header small{display:block;color:var(--text-secondary)}.bm-window-body{display:grid;grid-template-columns:184px minmax(240px,1fr) 280px;min-height:0;flex:1;overflow:hidden}.bm-view-switch{display:flex;align-items:center;gap:4px;padding:8px 16px;border-bottom:1px solid var(--border)}.bm-view-switch>button{min-height:36px;border-color:transparent}.bm-view-switch>button.is-current{color:var(--accent);background:var(--accent-dim);font-weight:600}.bm-view-switch>span{margin-inline-start:12px;color:var(--text-secondary);font-size:12px}.bm-tools-layout{display:grid;grid-template-columns:minmax(0,1fr) 248px;min-height:0;flex:1;overflow:hidden}.bm-tools-layout--choosing{grid-template-columns:minmax(0,1fr)}.bm-tools-main{min-width:0;overflow-y:auto;padding:24px}.bm-tools-main>section{max-width:720px}.bm-tools-part{padding-bottom:20px;border-bottom:1px solid var(--border)}.bm-tools-catalog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.bm-catalog-notice{margin:0;padding:8px 16px;color:var(--text-primary);background:var(--accent-dim)}.bm-tools-part>small{color:var(--accent);font-weight:700;letter-spacing:.04em}.bm-tools-part h2{margin:4px 0 16px}.bm-tools-part p,.bm-tools-handoff p{margin:0 0 12px;color:var(--text-secondary)}.bm-tools-handoff{padding-top:24px}.bm-tools-intro{padding-bottom:20px;border-bottom:1px solid var(--border)}.bm-tools-intro>small{color:var(--accent);font-weight:700;letter-spacing:.04em}.bm-tools-intro h2{margin:4px 0 8px}.bm-tools-intro p,.bm-tools-inputs>p,.bm-tools-foot p{color:var(--text-secondary);margin:0 0 12px}.bm-tools-result{display:flex;align-items:baseline;gap:16px;margin-top:12px;padding:12px 16px;background:var(--bg-surface);border-radius:var(--radius-sm)}.bm-tools-result span{color:var(--text-secondary)}.bm-tools-result>div{display:grid;gap:8px}.bm-tools-result>div>div{display:flex;align-items:baseline;gap:16px}.bm-tools-result small{color:var(--text-secondary)}.bm-tools-result strong{font-family:var(--font-mono);font-size:20px;font-variant-numeric:tabular-nums}.bm-tools-products{padding:20px 0;border-bottom:1px solid var(--border)}.bm-tools-products .bm-field{max-width:400px;margin-bottom:0}.bm-tools-product-checks{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:12px}.bm-tools-product-checks label{display:inline-flex;align-items:center;gap:8px}.bm-tools-inputs{padding-top:20px}.bm-tools-input{padding:16px 0;border-bottom:1px solid var(--border);scroll-margin-block:16px}.bm-tools-input.is-focused{border-inline-start:3px solid var(--accent);padding-inline-start:13px}.bm-tools-input-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}.bm-tools-input-heading>div{display:grid;gap:2px}.bm-tools-input-heading small,.bm-tools-entry-hint{color:var(--text-secondary)}.bm-tools-input-heading>span{white-space:nowrap;color:var(--text-secondary);font-family:var(--font-mono);font-size:12px}.bm-tools-input .bm-field{margin:0 0 8px}.bm-tools-entry-hint{margin:4px 0 0;font-size:12px}.bm-tools-warning{margin:8px 0 0;padding:8px 12px;border-inline-start:3px solid var(--status-lost);background:var(--bg-surface);color:var(--text-primary)}.bm-tools-foot{padding-top:24px}.bm-tools-shelf{overflow-y:auto;padding:16px;border-inline-start:1px solid var(--border);background:var(--bg-surface)}.bm-tools-search{display:flex;align-items:center;gap:8px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input)}.bm-tools-search input{border:0!important;background:transparent!important;padding-inline:0!important}.bm-tools-shelf h3{margin:20px 0 4px;color:var(--text-secondary);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.bm-ui .bm-tools-shelf button{width:100%;justify-content:space-between;text-align:start;border:0;background:transparent}.bm-ui .bm-tools-shelf button.is-focused{color:var(--accent);background:var(--accent-dim)}.bm-tools-shelf button>span{display:grid;gap:0}.bm-tools-shelf button small{color:var(--text-secondary)}.bm-tools-shelf>p{color:var(--text-secondary)}.bm-tools-layout{grid-template-columns:minmax(0,1fr) 208px}.bm-tools-main{padding:16px 20px}.bm-tools-part{padding-bottom:10px}.bm-tools-part>small{display:block;margin-bottom:4px}.bm-tools-part h2{margin:2px 0 8px;font-size:17px}.bm-tools-part p{margin-bottom:0;font-size:12px}.bm-tools-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;padding:10px 0}.bm-tools-intro h2{margin:0 0 3px;font-size:17px}.bm-tools-intro h2 small{margin-inline-start:6px;color:var(--text-secondary);font-weight:400}.bm-tools-intro p{margin-bottom:6px;font-size:12px}.bm-tools-result{margin-top:0;padding:7px 10px}.bm-tools-result span{display:none}.bm-tools-result>div>div{gap:8px}.bm-tools-result strong{white-space:nowrap}.bm-tools-intro>button{grid-column:1 / -1;justify-self:start}.bm-tools-result strong{font-size:16px}.bm-tools-products{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:8px 12px;padding:8px 0}.bm-tools-products .bm-field{margin:0;max-width:300px}.bm-tools-products .bm-tools-product-checks,.bm-tools-products>button{grid-column:1 / -1}.bm-tools-products h3,.bm-tools-inputs h3{margin-bottom:5px;font-size:14px}.bm-tools-products h3{margin:0}.bm-tools-inputs{padding-top:10px}.bm-tools-inputs>p{margin-bottom:4px;font-size:12px}.bm-tools-input{padding:8px 0}.bm-tools-input-heading{margin-bottom:5px}.bm-tools-input-heading small{font-size:11px}.bm-tools-input{display:grid;grid-template-columns:minmax(145px,190px) minmax(0,1fr);align-items:center;gap:5px 12px}.bm-tools-input-heading{display:block;margin:0}.bm-tools-input-heading>span{display:none}.bm-tools-input-heading small{display:none}.bm-tools-input>.bm-source-picker,.bm-tools-input>.bm-field,.bm-tools-input>.bm-tools-entry-hint{grid-column:2}.bm-tools-input>.bm-field>span{display:none}.bm-tools-input>.bm-tools-warning,.bm-tools-input>button{grid-column:1 / -1}@media (max-width: 760px){.bm-tools-input{grid-template-columns:1fr}.bm-tools-input>.bm-source-picker,.bm-tools-input>.bm-field,.bm-tools-input>.bm-tools-entry-hint{grid-column:1}.bm-tools-input>.bm-field>span{display:block}}@media (max-width: 760px){.bm-tools-intro{grid-template-columns:1fr}.bm-tools-result{justify-self:start}.bm-tools-products{grid-template-columns:1fr}}.bm-tools-part-bar{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;margin:0 0 10px}.bm-tools-part-bar>.bm-source-picker{flex:1 1 240px;max-width:360px}.bm-tools-part-bar>button{flex:0 0 auto}.bm-source-picker{position:relative;min-width:0}.bm-ui button.bm-source-trigger{width:100%;min-height:36px;justify-content:space-between;text-align:left;padding:6px 10px;background:var(--bg-input)}.bm-source-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bm-source-menu{position:absolute;inset-inline:0;top:calc(100% + 3px);z-index:30;min-width:min(360px,80vw);padding:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);box-shadow:var(--shadow-raised)}.bm-source-menu.is-up{top:auto;bottom:calc(100% + 3px)}.bm-source-search{display:flex;align-items:center;gap:6px;padding:0 7px;border:1px solid var(--border);border-radius:var(--radius-sm)}.bm-ui .bm-source-search input{min-height:34px;padding:5px 0;border:0;outline:0;box-shadow:none}.bm-source-options{max-height:max(60px,calc(var(--bm-picker-space, 240px) - 56px));overflow-y:auto;margin-top:4px}.bm-source-group{padding:7px 8px 3px;color:var(--text-secondary);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.bm-ui .bm-source-options button{width:100%;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 8px;border:0;text-align:left;background:transparent}.bm-ui .bm-source-options button.is-active,.bm-ui .bm-source-options button:hover{background:var(--accent-dim)}.bm-source-options button>span{display:grid;min-width:0}.bm-source-options strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.bm-source-options small{color:var(--text-secondary);font-size:11px;white-space:nowrap}.bm-source-options p{padding:8px;margin:0;color:var(--text-secondary)}.bm-guided-cost{flex:1;min-height:0;overflow-y:auto;padding:14px 20px 24px}.bm-guided-cost>*{max-width:760px}.bm-guided-cost header{padding-bottom:9px;border-bottom:1px solid var(--border)}.bm-guided-cost header small{color:var(--accent);font-weight:700;letter-spacing:.04em}.bm-guided-cost header h2{margin:1px 0 3px;font-size:18px}.bm-guided-cost header p{margin:0;color:var(--text-secondary);font-size:12px}.bm-guided-cost section{padding:9px 0;border-bottom:1px solid var(--border)}.bm-guided-cost section h3{margin-bottom:5px;font-size:14px}.bm-guided-formula-input{display:grid;grid-template-columns:170px minmax(200px,1fr) minmax(100px,150px);align-items:center;gap:8px;max-width:740px}.bm-guided-formula-input>label{font-weight:600}.bm-guided-formula-input>.bm-field,.bm-guided-formula-input>small{grid-column:3;margin:0}.bm-guided-formula-input>small{color:var(--text-secondary)}.bm-guided-factors{margin-top:10px}.bm-guided-factor{display:flex;align-items:center;gap:8px;margin-top:7px}.bm-guided-factor .bm-guided-formula-input{flex:1}.bm-guided-times{font-weight:700;color:var(--text-secondary)}.bm-ui button.bm-guided-remove{width:32px;min-height:32px;padding:5px}.bm-ui button.bm-guided-add{min-height:32px;margin:12px 0 0 18px;padding:4px 8px;font-size:12px}.bm-guided-preview>div{display:grid;gap:0;max-width:620px}.bm-guided-preview>div>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--border)}.bm-guided-preview strong{font-variant-numeric:tabular-nums}.bm-guided-preview h3 small{margin-inline-start:6px;color:var(--text-secondary);font-weight:400}.bm-guided-preview p{color:var(--text-secondary)}.bm-guided-more>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.bm-guided-advanced{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--text-secondary)}.bm-guided-formula-input>.bm-field>span{display:none}.bm-guided-cost section.bm-guided-step{padding:0}.bm-ui button.bm-guided-step-toggle{display:flex;width:100%;min-height:42px;justify-content:space-between;gap:16px;padding:8px 0;border:0;border-radius:0;background:transparent;text-align:left}.bm-guided-step-toggle>strong{white-space:nowrap;font-weight:600}.bm-guided-step-toggle>span{min-width:0;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bm-guided-step-toggle[aria-expanded=true]>strong{color:var(--accent-text)}.bm-guided-step-body{padding:0 0 10px}.bm-guided-step-body .bm-field{max-width:420px;margin-bottom:0}.bm-guided-step-body .bm-tools-product-checks{margin:8px 0}.bm-guided-step-body.bm-guided-factors{margin:0}.bm-tools-rule{grid-column:1 / -1;min-width:0}.bm-tools-full-bar{display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:12px}.bm-tools-full-bar button{min-height:32px}.bm-catalog-search-row{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:12px 0}.bm-catalog-search-row .bm-field{flex:1 1 240px;margin:0}.bm-catalog-search-row button{min-height:38px}.bm-progressive-builder{display:grid;gap:8px;margin:10px 0 4px}.bm-progressive-condition{display:grid;gap:4px}.bm-progressive-join{color:var(--text-secondary);font-size:11px;letter-spacing:.04em}.bm-progressive-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.bm-progressive-pair{display:inline-flex;align-items:stretch;max-width:100%;min-width:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input)}.bm-progressive-pair>.bm-source-picker{min-width:82px;max-width:225px}.bm-progressive-pair>.bm-source-picker+.bm-source-picker{border-inline-start:1px solid var(--border)}.bm-ui .bm-progressive-pair button.bm-source-trigger{min-height:34px;padding:5px 9px;border:0;background:transparent;font-size:13px}.bm-progressive-line>.bm-source-picker{min-width:55px}.bm-ui .bm-progressive-line>.bm-source-picker button.bm-source-trigger{min-height:36px;padding:5px 10px;font-weight:600}.bm-progressive-right .bm-source-menu{inset-inline-start:auto;inset-inline-end:0}.bm-progressive-custom{max-width:320px}.bm-progressive-custom .bm-field{margin:4px 0}.bm-progressive-actions{display:flex;flex-wrap:wrap;gap:6px}.bm-progressive-actions small{align-self:center;color:var(--text-secondary)}.bm-ui .bm-progressive-actions button,.bm-ui button.bm-progressive-remove{min-height:30px;padding:4px 8px;font-size:12px}.bm-progressive-pending{margin:0;color:var(--text-secondary);font-size:12px}.bm-progressive-advanced{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 0}.bm-progressive-advanced p{flex-basis:100%;margin:0;color:var(--text-secondary)}@media (max-width: 600px){.bm-progressive-pair{max-width:100%}.bm-progressive-pair>.bm-source-picker{max-width:min(180px,48vw)}.bm-progressive-line>.bm-source-picker .bm-source-menu{inset-inline-start:auto;inset-inline-end:0}}@media (max-width: 760px){.bm-guided-formula-input{grid-template-columns:1fr}.bm-guided-formula-input>.bm-field,.bm-guided-formula-input>small{grid-column:1}.bm-guided-formula-input>.bm-field>span{display:block}}@media (max-width: 600px){.bm-guided-cost{padding:16px}.bm-guided-formula-input{grid-template-columns:1fr}.bm-guided-formula-input>.bm-field,.bm-guided-formula-input>small{grid-column:1}.bm-source-menu{min-width:0}}.bm-rail{padding:16px 8px;background:var(--bg-surface);overflow-y:auto}.bm-rail>small{display:block;margin:0 8px 12px;letter-spacing:.04em;color:var(--text-secondary)}.bm-rail>button{width:100%;text-align:start;justify-content:start;border:none;background:transparent;padding:8px;margin-bottom:4px}.bm-rail>button.is-current{background:var(--accent-dim);color:var(--accent);font-weight:600}.bm-rail>button.has-error{color:#b42318;outline:2px solid #b42318;outline-offset:-2px;background:#fff1f0}.bm-required-problems{border:2px solid #b42318;border-radius:8px;padding:12px;margin-bottom:16px;color:#8f2018;background:#fff1f0}.bm-required-problems>strong{display:flex;align-items:center;gap:6px}.bm-required-problems p,.bm-required-message p{font-size:12px;margin:6px 0}.bm-required-problems>div{border-top:1px solid #edb4af;padding-top:8px;margin-top:8px}.bm-required-problems small{display:block}.bm-ui .bm-problem-link{color:#8f2018;text-decoration:underline;font-weight:700;border-color:#b42318}.bm-rule--invalid{box-shadow:inset 0 0 0 2px #b42318}.bm-input-problem{outline:2px solid #b42318;outline-offset:4px;border-radius:4px}.bm-rule--invalid .bm-expression.is-selected{outline:2px solid #b42318;outline-offset:2px}.bm-required-message{color:#8f2018;background:#fff1f0;border-left:3px solid #b42318;padding:8px 12px;margin-bottom:12px}.bm-rail-label{min-width:0}.bm-rail-label>small{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-weight:400}.bm-draft-dot{width:8px;height:8px;border-radius:50%;background:var(--cost-accent);flex-shrink:0}.bm-step-number{width:24px;height:24px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-variant-numeric:tabular-nums}.bm-step-description{margin-bottom:20px}.bm-step-description .bm-check{margin-top:8px;font-size:12px;color:var(--text-secondary)}.bm-product-description{color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;text-align:start}.bm-rule{overflow:auto;padding:24px;min-width:0}.bm-step-help{font-size:12px;margin-bottom:16px}.bm-expression{min-width:0;max-width:100%}.bm-expression.is-selected>.bm-argument{border-color:var(--accent)}.bm-argument{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-inline-start:2px solid var(--border);padding-inline-start:12px}.bm-argument>select{width:auto;max-width:160px}.bm-logic{font-size:12px;color:var(--accent);font-weight:600}.bm-bracket{color:var(--text-secondary);font-family:var(--font-mono);font-size:20px}.bm-chip{display:inline-flex;flex-wrap:wrap;text-align:start;max-width:100%}.bm-chip>span{overflow-wrap:anywhere}.bm-chip small{color:var(--text-secondary)}.bm-chip.is-selected{border-color:var(--accent);background:var(--accent-dim)}.bm-expression-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.bm-expression-tools button{border:none;padding-inline:8px;font-size:12px}.bm-branch-row{display:grid;grid-template-columns:24px minmax(0,1fr) 40px;gap:8px;border-inline-start:2px solid var(--border);margin:16px 0;padding:8px}.bm-branch-row .bm-muted{font-size:12px;margin:8px 0}.bm-branch-row>.bm-icon{align-self:start}.bm-function{border-inline-start:2px solid var(--border);padding-inline-start:12px}.bm-branch-actions{display:flex;flex-direction:column;gap:4px}.bm-ui button.bm-branch-title{border:0;padding-inline:0;background:transparent}.bm-focus-rule{margin-bottom:16px}.bm-focus-rule small{overflow-wrap:anywhere}.bm-function>.bm-row{margin:8px 0;flex-wrap:nowrap}.bm-lookup-key{width:fit-content;max-width:100%;padding:8px 0 0 16px;border-inline-start:2px solid var(--border)}.bm-lookup-key>small{display:block;margin-bottom:4px}.bm-output{padding:16px;border-inline-start:1px solid var(--border);overflow:hidden;min-width:0;background:var(--bg-elevated);display:flex;flex-direction:column}.bm-output>.bm-field{flex:none;margin-bottom:8px}.bm-data-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.bm-source-preview{margin-left:auto;color:var(--text-secondary);font-style:italic;font-weight:400;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.bm-chip-panel{min-height:0;max-height:48%;overflow-y:auto;flex:0 1 auto}@media (max-width: 900px){.bm-chip-panel{max-height:none;overflow:visible;flex:none}}.bm-options{min-height:0}.bm-preview-list{overflow-y:auto;min-height:0;flex:1}.bm-output-heading{display:flex;flex-shrink:0;align-items:baseline;justify-content:space-between;gap:8px;border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.bm-output-heading span{font-size:12px;color:var(--text-secondary)}.bm-product-output{padding-block:16px;border-bottom:1px solid var(--border)}.bm-product-output>strong{display:block}.bm-description-customer-value{display:block;margin-top:4px;white-space:pre-wrap}.cvs-qual-uses{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);font:inherit;font-size:.75rem;cursor:pointer}.cvs-qual-uses:hover{color:var(--text-primary);background:var(--bg-hover)}.cvs-qual-label:has(.cvs-qual-uses-line){flex-wrap:wrap;align-content:center}.cvs-qual-uses-line{flex-basis:100%}.bm-description-uses{list-style:none;margin:16px 0;padding:0}.bm-description-uses li{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.bm-description-uses small{color:var(--text-secondary)}.bm-quote-checks{margin:12px 0;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card)}.bm-quote-checks summary{display:flex;align-items:center;gap:8px;cursor:pointer}.bm-quote-checks summary>span{margin-inline-start:auto;color:var(--text-secondary)}.bm-quote-checks ul{list-style:none;margin:12px 0 0;padding:0}.bm-quote-checks li{display:flex;align-items:start;gap:8px;padding:8px 0;border-top:1px solid var(--border)}.bm-quote-checks li>svg{flex-shrink:0;margin-top:4px}.bm-quote-checks li>div{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.bm-quote-checks li small{color:var(--text-secondary)}.bm-quote-checks [data-check-status=failed],.bm-quote-checks [data-check-status=error]{color:var(--status-lost)}.bm-quote-checks [data-check-severity=warning]:is([data-check-status=failed],[data-check-status=error]){color:var(--cost-accent)}.bm-check-targets{border:0;padding:0;margin:16px 0}.bm-check-targets legend{color:var(--text-secondary);font-size:12px;font-weight:600;margin-bottom:8px}.bm-ui summary{cursor:pointer;padding-block:8px}.bm-trace{display:grid;gap:4px;margin-block:8px;font-size:12px;overflow-wrap:anywhere}.bm-trace span{color:var(--text-secondary)}.bm-trace strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500}.bm-value-link{width:100%;border:0;padding:0;background:transparent;color:inherit;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}.bm-value-link:hover,.bm-value-link:focus-visible{color:var(--primary);text-decoration:underline;text-underline-offset:3px}.bm-trace-link{width:100%;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;border:1px solid transparent;border-radius:7px;padding:5px 7px;background:transparent;color:inherit;text-align:left;cursor:pointer}.bm-trace-link:hover,.bm-trace-link:focus-visible{border-color:var(--border);background:var(--surface-raised)}.bm-unit-help{display:block;margin-block:5px 8px;color:var(--cost-accent);line-height:1.35}.bm-checks{display:grid;gap:8px}.bm-checks label,.bm-check{display:flex;align-items:center;gap:8px;min-height:40px}.bm-named{padding-block:16px;border-bottom:1px solid var(--border)}.bm-named>.bm-row{flex-wrap:nowrap}.bm-annotation{padding-block:8px}.bm-expression--annotated{border-inline-start:3px solid var(--border);padding-inline-start:8px}.bm-expression--annotated.bm-tone-warning{border-color:var(--cost-accent)}.bm-expression--annotated.bm-tone-danger{border-color:var(--status-lost)}.bm-expression--annotated.bm-tone-success{border-color:var(--accent)}.bm-chip-check{display:flex;align-items:center;gap:4px;margin-bottom:4px;color:var(--text-primary)}.bm-guard-rule{padding-block:16px;border-bottom:1px solid var(--border)}.bm-guard-rule header{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:12px}.bm-guard-rule h3{margin-block:4px 12px;overflow-wrap:anywhere}.bm-guard-rule code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.bm-guard-rule dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-block:8px;border-bottom:1px solid var(--border)}.bm-guard-rule dd{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}.bm-guard-rule dd>small{flex-basis:100%;overflow-wrap:anywhere}.bm-guard-rule [data-check-state=stopped] svg,.bm-guard-rule [data-check-state=error] svg{color:var(--status-lost)}.bm-guard-rule [data-check-state=flagged] svg{color:var(--cost-accent)}.bm-dot{width:8px;height:8px;border-radius:50%;background:var(--cost-accent)}.bm-error{padding:12px;border-inline-start:2px solid var(--status-lost);background:var(--bg-elevated);margin-top:16px}.bm-error p{display:flex;gap:8px;align-items:start;overflow-wrap:anywhere}.bm-error svg{flex-shrink:0;margin-top:4px;color:var(--status-lost)}.bm-notice{padding:8px;border-inline-start:2px solid var(--cost-accent);font-size:12px}.bm-group-distribution-guide{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:6px 0 14px}.bm-group-distribution-guide>p:first-child{flex:1 1 250px;margin:0;color:var(--text-secondary);font-size:13px}.bm-group-distribution-guide>button{flex:0 0 auto;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-primary);font:inherit;font-size:13px;cursor:pointer}.bm-group-distribution-guide>button:hover,.bm-group-distribution-guide>button:focus-visible{border-color:var(--accent)}.bm-group-distribution-warning{flex:1 1 100%;margin:0;padding:8px 10px;border-inline-start:2px solid var(--status-lost);background:var(--bg-elevated);color:var(--text-primary);font-size:12px}.bm-tone-danger{border-color:var(--status-lost)}.bm-tone-success{border-color:var(--accent)}.bm-footer{padding:12px 24px 12px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--border)}.bm-footer>span{font-size:12px;max-width:56%}.bm-window--naming .bm-footer{display:none}.bm-name-gate{width:min(480px,100%);box-sizing:border-box;margin:auto;padding:32px}.bm-name-gate p{color:var(--text-secondary);margin-bottom:24px}.bm-name-gate .bm-primary{margin-top:16px}.bm-title{min-width:0;flex:1}.bm-title .bm-field{margin:0}.bm-title .bm-field>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.bm-title input{font-size:18px;font-weight:600;background:transparent;border-color:transparent;padding:4px 0;cursor:text;-webkit-user-select:text;user-select:text}.bm-title input:hover{border-color:var(--border)}.bm-title input:focus{border-color:var(--accent)}.bm-component-context{max-width:28%;text-align:right;overflow-wrap:anywhere}.bm-resize{position:absolute;bottom:0;inset-inline-end:0;width:20px!important;min-height:20px!important;padding:0!important;border:none!important;cursor:nwse-resize!important;touch-action:none}.bm-dependencies>div{padding-block:12px;border-bottom:1px solid var(--border)}.bm-window-body--review{grid-template-columns:184px minmax(0,1fr)}.bm-window-body--review>.bm-output{display:none}.bm-review-toolbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}.bm-review-toolbar [aria-pressed=true]{background:var(--accent-dim);border-color:var(--accent)}.bm-review-scroll{overflow:auto;max-height:100%}.bm-review-content{font-size:calc(14px * var(--review-scale))}.bm-review-content button,.bm-review-content small,.bm-review-content code{font-size:inherit}.bm-dependency-map{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);gap:12px;min-width:calc(720px * var(--review-scale))}.bm-map-arrow{margin-top:64px;color:var(--accent)}.bm-reference{padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-block:12px;display:flex;flex-direction:column;align-items:stretch;gap:8px}.bm-reference>small,.bm-reference code{color:var(--text-secondary)}.bm-reference code{font-size:.85em;overflow-wrap:anywhere}.bm-reference strong{overflow-wrap:anywhere}.bm-reference button{min-height:44px}.bm-reference--current{border-color:var(--accent);background:var(--accent-dim)}.bm-reference--missing{border-color:var(--status-lost)}.bm-formula-list{min-width:min(100%,calc(640px * var(--review-scale)))}.bm-formula-list>section{padding-block:16px;border-bottom:1px solid var(--border)}.bm-formula-list header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.bm-formula-list h3{margin:0}.bm-formula-list code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}@media (max-width: 640px){.bm-window-body--review{grid-template-columns:1fr}.bm-window-body--review>.bm-rail{max-height:160px}}.bm-skeleton{height:48px;max-width:640px;background:var(--bg-surface);margin-block:16px;border-radius:var(--radius-sm)}.bm-price-dialog{margin:auto;width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;background:var(--bg-card);border:none;border-radius:var(--radius-lg);color:var(--text-primary);box-shadow:var(--shadow-raised)}.bm-price-dialog::backdrop{background:color-mix(in srgb,var(--text-primary) 28%,transparent)}.bm-price-dialog table{width:100%;margin-block:24px;border-collapse:collapse;font-variant-numeric:tabular-nums}.bm-price-dialog th,.bm-price-dialog td{padding:8px;text-align:end;border-bottom:1px solid var(--border)}.bm-price-dialog th:first-child{text-align:start}.bm-price-dialog footer{justify-content:end}.bm-preset-dialog fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;margin-block:16px}.bm-preset-dialog legend{padding-inline:8px;font-weight:600}.bm-preset-selection{display:grid;gap:8px;max-height:192px;overflow-y:auto;margin-bottom:16px}.cvs-description-fill fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;margin-block:16px}.cvs-description-fill legend{font-weight:600;padding-inline:6px}.cvs-description-fill-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}.cvs-description-fill-actions button{min-height:28px;padding:3px 8px;font-size:12px}.cvs-description-fill-products{max-height:min(30dvh,210px);overflow-y:auto}.cvs-description-fill-products .bm-check{min-height:32px}.cvs-description-fill-products small{margin-left:auto;color:var(--text-secondary)}.bm-preset-dialog .bm-part-selection{max-height:min(45dvh,360px);overflow-y:auto;padding:12px 16px}.bm-part-selection>p{margin:0 0 12px;line-height:1.45}.bm-part-selection-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px 12px;padding-block:10px;border-top:1px solid var(--border)}.bm-part-selection-group>strong{grid-column:1 / -1;font-size:12px;color:var(--text-secondary)}.bm-part-selection-group .bm-check{margin:0;min-width:0}.bm-canvas-label{display:grid;align-content:start;gap:4px;font-size:13px;line-height:1.4}.bm-canvas-label--margin{padding-bottom:28px}.bm-shared-entries{display:grid;gap:4px;padding-block:8px}.bm-shared-entries .bm-field{margin-bottom:0}.bm-shared-entries>small{color:var(--text-secondary)}.bm-canvas-label>small,.bm-canvas-label>strong{padding-inline-end:28px}.bm-canvas-label>small{font-size:11px;color:var(--text-secondary)}.bm-ui .bm-canvas-label .canvas-block-menu-btn{width:28px;height:28px;min-height:28px;padding:4px}.bm-canvas-label .canvas-block-menu-btn svg{flex-shrink:0}.bm-canvas-actions{gap:4px;flex-wrap:nowrap;margin-block-start:4px}.bm-ui .bm-canvas-actions button:not(.canvas-block-menu-btn){min-height:28px;padding:4px 8px;gap:4px;font-size:12px;background:transparent}.bm-ui .bm-canvas-actions button.bm-icon{width:28px;padding:4px}.bm-canvas-label .bm-shared-entries{padding-block:4px}.bm-canvas-label .bm-shared-entries>small{display:none}.bm-ui .bm-canvas-label input:not([type=checkbox]),.bm-ui .bm-canvas-label select,.bm-ui.bm-canvas-member input:not([type=checkbox]),.bm-ui.bm-canvas-member select{min-height:32px;height:32px;padding:4px 8px;font-size:13px;font-variant-numeric:tabular-nums}.bm-canvas-member .bm-field--numeric,.bm-canvas-label .bm-field--numeric{grid-template-columns:minmax(0,1fr) minmax(5rem,7rem);align-items:center;gap:12px}.bm-canvas-member .bm-field--numeric .bm-data-label,.bm-canvas-label .bm-field--numeric .bm-data-label{line-height:1.35;font-weight:500;overflow-wrap:anywhere}.bm-canvas-member .bm-field--numeric input,.bm-canvas-label .bm-field--numeric input{text-align:end}.bm-canvas-label .bm-required-message{padding:8px;margin:4px 0}.bm-ui .bm-canvas-label .bm-problem-link{min-height:24px;padding:4px 0;border:0;background:transparent;text-align:start;justify-content:flex-start;font-size:12px}.bm-model-link{margin-block-end:8px}.bm-description-input{display:flex;flex-direction:column;align-items:stretch;gap:8px}.bm-description-input .bm-field{flex:none;margin:0}.bm-description-input>small{color:var(--text-secondary);display:flex;align-items:center;gap:4px}.bm-rule--linked input,.bm-rule--linked select{color:var(--text-secondary)}.canvas-cell.bm-canvas-member{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;padding:12px;font-size:13px;font-variant-numeric:tabular-nums}.canvas-cell.bm-canvas-member>.bm-field{width:100%;box-sizing:border-box}.bm-canvas-member>strong,.bm-canvas-member>[aria-label="Product total"]{text-align:end}.canvas-cell.bm-canvas-member:is(.canvas-cell--cost-value,.canvas-cell--labor-value){justify-content:center}.canvas-cell.bm-canvas-member:is(.canvas-cell--cost-value,.canvas-cell--labor-value)>strong,.canvas-cell.bm-canvas-member:is(.canvas-cell--cost-value,.canvas-cell--labor-value)>small{text-align:center}.canvas-cell.bm-canvas-member:is(.canvas-cell--cost-value,.canvas-cell--labor-value)>.bm-check{justify-content:center}.bm-canvas-member .bm-field{flex:none;margin:0}.bm-canvas-pool{font-size:11px;color:var(--text-secondary)}.bm-canvas-pool summary{cursor:pointer;min-height:24px;padding-block:4px}.bm-canvas-pool[open]>span{display:block;padding-block:2px}@media (pointer: coarse){.bm-ui .bm-canvas-actions button:not(.canvas-block-menu-btn),.bm-ui .bm-canvas-label .canvas-block-menu-btn{min-height:44px;min-width:44px}}.bm-canvas-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:16px}.bm-stock-rule{display:grid;gap:12px}.bm-material-values{display:grid;gap:4px;margin:0}.bm-material-totals{border-block-start:1px solid var(--border);padding-block-start:8px;display:grid;gap:4px}.cvs-group-rows-button{font:inherit;font-size:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);padding:4px 8px;cursor:pointer}.bm-group-toolbar,.bm-group-selection{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-card);border-block-end:1px solid var(--border)}.bm-group-toolbar label{display:flex;align-items:center;gap:8px}.bm-group-toolbar{flex-wrap:wrap}.bm-group-document{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px}.bm-group-document small{flex-basis:100%;color:var(--text-muted)}.bm-group-document input[type=checkbox]{width:16px;height:16px;flex:0 0 auto}.customer-wording-toggle,.customer-wording-preview{padding:8px 12px;min-width:0}.customer-wording-toggle button{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;color:var(--text-secondary);font:inherit;cursor:pointer;text-align:left}.canvas-cell.customer-wording-preview{display:block;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.canvas-cell.customer-wording-toggle{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px}.customer-wording-hint{display:block;color:var(--text-muted);margin-bottom:8px}.customer-wording-preview .qd-subrail{margin:6px 0;padding:0;border:0;display:block;background:transparent}.customer-wording-preview .qd-subrail-label{display:inline;margin-right:6px;color:var(--text-secondary);font:inherit}.customer-wording-preview .qd-subrail-body{display:inline;font:inherit}@media (max-width: 600px){.bm-group-toolbar{position:sticky;left:0;max-width:calc(100vw - 32px);box-sizing:border-box}.bm-group-toolbar>label{flex-wrap:wrap}.bm-group-document{align-items:flex-start;flex-direction:column}}.bm-group-selection label{display:flex;align-items:center;gap:8px;font-size:12px}.canvas-cell.bm-row-group{background:var(--bg-secondary);display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-width:0;gap:4px;padding:8px 12px}.bm-group-heading{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:8px;align-items:center}.canvas-cell--value.bm-row-group{text-align:end}.bm-ui button.bm-group-toggle{justify-content:flex-start;border:0;background:transparent;padding:4px 0;min-height:28px;gap:4px;text-align:start}.bm-group-toggle strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bm-group-toggle small,.bm-group-toggle svg{flex-shrink:0}.bm-ui button.bm-group-menu-trigger{border:0;background:transparent;padding:4px;width:32px;height:32px;min-height:32px}.bm-group-caption{padding-inline-start:18px;line-height:1.4}.bm-group-menu{position:fixed;z-index:2300;width:224px;padding:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);display:grid}.bm-ui.bm-group-menu button{border:0;background:transparent;justify-content:flex-start;text-align:start;min-height:40px;padding:8px;font-size:13px}.bm-row-group small{font-size:12px;color:var(--text-secondary)}.bm-row-group strong{font-variant-numeric:tabular-nums}@media (pointer: coarse){.bm-ui button.bm-group-menu-trigger,.bm-ui button.bm-group-toggle,.cvs-group-rows-button{min-height:44px;min-width:44px}.bm-group-heading{grid-template-columns:minmax(0,1fr) 44px}.bm-ui.bm-canvas-member input:not([type=checkbox]),.bm-ui .bm-canvas-label input:not([type=checkbox]){min-height:44px;height:44px}}.bm-material-values>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.bm-material-values dt{font-size:12px;color:var(--text-secondary);overflow-wrap:anywhere}.bm-material-values dd{margin:0;font-size:13px;font-variant-numeric:tabular-nums}.bm-material-layout{display:grid;gap:12px}.bm-material-layout-row{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.bm-material-layout-row .bm-field{margin:0;min-width:144px}.bm-stock-rule p{margin:0;font-size:13px}.bm-stock-rule fieldset{margin:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0}.bm-stock-rule legend{padding-inline:4px;color:var(--text-secondary);font-size:12px}.bm-stock-rule .bm-row{align-items:end}.bm-stock-rule .bm-field{min-width:120px;margin-bottom:8px}.bm-component-tags-trigger{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:44px;min-height:44px;padding:4px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;cursor:pointer}.bm-component-tags-trigger:hover,.bm-component-tags-trigger[aria-expanded=true]{background:var(--accent-dim)}.bm-component-tags-panel{position:fixed;z-index:2300;width:min(320px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:16px;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-lg, 12px);background:var(--bg-card)}.bm-component-tags-panel header{display:flex;align-items:center;justify-content:space-between;gap:8px}.bm-tag-chips{display:flex;flex-wrap:wrap;gap:8px;margin-block:12px;max-height:40dvh;overflow-y:auto}.bm-tag-chips button{max-width:100%;min-height:44px;overflow-wrap:anywhere;text-align:start}.bm-tag-chips button svg{flex-shrink:0}.bm-tag-rollups{margin:16px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}.bm-tag-rollups summary{cursor:pointer;font-weight:600}.bm-tag-rollups table{border-collapse:collapse;width:100%}.bm-tag-rollups th,.bm-tag-rollups td{text-align:start;padding:8px;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}.bm-tag-rollups td,.bm-tag-rollups thead th:not(:first-child){text-align:end}@media (max-width: 600px){.bm-price-dialog{padding:16px}.bm-price-dialog thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.bm-price-dialog tbody,.bm-price-dialog tr{display:block}.bm-price-dialog tr{padding-block:12px;border-bottom:1px solid var(--border)}.bm-price-dialog th,.bm-price-dialog td{display:flex;justify-content:space-between;gap:16px;padding:4px 0;border:none;overflow-wrap:anywhere}.bm-price-dialog td:before{content:attr(data-label);color:var(--text-secondary);flex-shrink:0}.bm-price-dialog footer button{min-height:44px}}@media (max-width: 900px){.bm-window-body{grid-template-columns:160px minmax(0,1fr);overflow-y:auto}.bm-output{grid-column:2;overflow:visible;border-top:1px solid var(--border)}.bm-options,.bm-preview-list{max-height:none;overflow:visible;flex:auto}.bm-rail{grid-row:span 2}.bm-rule{overflow:visible}}@media (max-width: 760px){.bm-tools-layout{display:flex;flex-direction:column;overflow-y:auto}.bm-tools-main{overflow:visible;padding:16px}.bm-tools-shelf{display:none}}@media (max-width: 760px){.bm-window-header{display:grid;grid-template-columns:20px minmax(0,1fr) repeat(4,auto)}.bm-window-header .bm-title{grid-column:2 / -1;width:100%}.bm-window-header .bm-title .bm-field{width:100%}.bm-window-header>.bm-spacer{display:none}.bm-window-header .bm-component-context{grid-column:1 / 3;max-width:none;text-align:start}}@media (max-width: 600px){.bm-window-body{display:block}.bm-rail{display:flex;overflow-x:auto;padding:8px}.bm-rail>small{display:none}.bm-rail>button{width:auto;min-width:160px}.bm-rule,.bm-output{padding:16px}.bm-footer>span{max-width:100%}.bm-add .bm-field{min-width:100%;max-width:none}.bm-workspace{padding:16px}.bm-window-header{padding:8px}.bm-window-header small{display:none}.bm-block>header{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.bm-ui *{transition:none!important;animation:none!important}}.bm-collection-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bm-collection-editor>.bm-field{margin:0}.bm-collection-editor>p,.bm-collection-editor>small,.bm-collection-sources{grid-column:1 / -1}.bm-collection-sources{display:grid;gap:8px}.bm-collection-source{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:12px;padding-block:8px;border-block-end:1px solid var(--border)}.bm-collection-source .bm-field{margin:0}.bm-output--collection{display:block;overflow-y:auto}.bm-output--collection .bm-chip-panel,.bm-output--collection .bm-preview-list{max-height:none;overflow:visible}.bm-collection-source>strong+em{grid-column:2 / -1}@media (max-width:600px){.bm-collection-editor,.bm-collection-source{grid-template-columns:minmax(0,1fr)}.bm-collection-source>strong+em{grid-column:auto}}.bm-collection-source .bm-check{overflow-wrap:anywhere}.bm-collection-source em{color:var(--text-muted);text-align:end;font-variant-numeric:tabular-nums}@media (max-width:600px){.bm-window-header{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto auto auto}.bm-window-header .bm-title{grid-column:2 / -1}.bm-window-header>.bm-spacer{display:none}.bm-window-header .bm-component-context{grid-column:1 / 3;max-width:none;text-align:start}}.customer-description-group{margin:6px 0;overflow-wrap:anywhere;white-space:pre-wrap}.customer-description-group--spaced{margin-top:16px}.customer-description-heading{display:block;margin-bottom:4px;break-after:avoid}.customer-description-stacked .customer-description-entry{display:block}.customer-description-entry--note{color:#995334}.customer-description-label{font-weight:500}.comparison-workspace{margin:8px 0 14px;font-size:13px}.comparison-mode-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.comparison-mode-row label{display:flex;align-items:center;gap:8px}.comparison-mode-row>span,.comparison-report p,.comparison-report small{color:var(--text-muted)}.comparison-workspace select,.comparison-assignment select{padding:5px 8px;border:1px solid var(--border);border-radius:5px;background:var(--bg-card);color:var(--text-primary);font:inherit}.comparison-report{margin-top:8px;border-top:1px solid var(--border);padding-top:8px}.comparison-report summary{cursor:pointer;width:fit-content}.comparison-report-scroll{overflow-x:auto}.comparison-report table{width:100%;border-collapse:collapse;text-align:right}.comparison-report td,.comparison-report th{padding:8px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.comparison-report td:first-child,.comparison-report th:first-child{text-align:left}.comparison-report small{display:block}.comparison-report input:not([type=checkbox]){max-width:220px;padding:6px 8px;border:1px solid var(--border, #ccd1cd);border-radius:5px;background:var(--bg-card, #fff);color:var(--text-primary);font:inherit}.comparison-report button,.comparison-combine button{padding:6px 10px;border:1px solid var(--border, #ccd1cd);border-radius:5px;background:var(--bg-card, #fff);color:var(--text-primary);font:inherit;cursor:pointer}.comparison-report button:disabled{cursor:wait;opacity:.6}.comparison-page-break{display:flex;align-items:center;gap:8px;margin-top:10px}.comparison-assignment select{max-width:210px;width:100%}.comparison-error{grid-column:1 / -1;color:var(--danger, #a33);padding:8px}.comparison-workspace [role=alert]{color:var(--danger, #a33)}.qd-comparison-choice{margin-top:22px}.qd-comparison-choice>h2{break-after:avoid}.qd-choice-total{display:flex;justify-content:space-between;padding:12px 0;font-weight:600}.qd-comparison-note{margin:16px 0}.qd-mode-toggle[hidden]{display:none}@media print{.qd-comparison-choice--break{break-before:page}}.cvc{border-block-start:1px solid var(--border);flex:0 1 auto;min-height:0;overflow:auto}.cvc summary{cursor:pointer;padding:12px 0;font-weight:600}.cvc-content{padding:0 8px 16px;max-height:40vh;overflow:auto}.cvc-content p{color:var(--text-secondary);line-height:1.5;margin-block:8px}.cvc-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:16px}.cvc fieldset{min-width:0;margin:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm)}.cvc legend{font-weight:600;overflow-wrap:anywhere}.cvc label{display:flex;gap:8px;align-items:center;min-height:44px;cursor:pointer}.cvc label span{overflow-wrap:anywhere}.cvc input{flex:none;accent-color:var(--accent)}.cvc strong{display:block;margin-block-start:8px}.cvc-results{overflow-x:auto;margin-block-start:12px}.cvc table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.cvc th,.cvc td{padding:8px;border-block-end:1px solid var(--border);text-align:end}.cvc th:first-child{text-align:start}body:has(.vcm-scrim) #root{overflow-x:clip}@media (max-width: 600px){.cvc-sides{grid-template-columns:1fr}.ctm-card.vcm-card{display:block;overflow-y:auto}.vcm-card .cvc,.vcm-card .cvc-content{max-height:none;overflow:visible}.vcm-card .vcm-scroll{max-height:240px;overflow:auto}.vcm-card .vcm-table{min-width:680px}.vcm-card .vcm-title{flex-wrap:wrap}}.dp-editor{display:flex;flex-direction:column;gap:16px;color:var(--text-primary)}.dp-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.dp-heading h3,.dp-library h4{margin:0;font-size:1rem;font-weight:600}.dp-heading>span,.dp-help{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0}.dp-fields{display:flex;flex-direction:column;gap:12px}.dp-fields label{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,1fr);align-items:center;gap:12px;font-size:.85rem}.dp-editor select,.dp-editor input{width:100%;min-width:0;min-height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;color:var(--text-primary);background:var(--bg-elevated);font:inherit}.dp-editor :is(button,input,select):focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.dp-editor :disabled{cursor:wait;opacity:.65}.dp-actions{display:flex;gap:8px;flex-wrap:wrap}.dp-actions button{display:inline-flex;align-items:center;gap:8px}.dp-save-form,.dp-save-form label,.dp-library,.dp-library-select{display:flex;flex-direction:column;gap:8px}.dp-save-form{padding-block:12px;border-block:1px solid var(--border)}.dp-save-form button{align-self:flex-start}.dp-status{min-height:20px;color:var(--text-secondary);font-size:.8rem;margin:0}.qde-editor-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);padding-bottom:8px}.qde-editor-tabs button{flex:1;min-height:36px;padding:8px 12px;border:0;border-radius:var(--radius-sm);color:var(--text-secondary);background:transparent;font:inherit;cursor:pointer}.qde-editor-tabs button[aria-pressed=true]{color:var(--text-primary);background:var(--bg-elevated);font-weight:600}.quote-canvas-shell.quote-canvas-shell--document{grid-template-columns:minmax(0,1fr)}.quote-canvas-shell--document .qde-shell{grid-template-columns:304px minmax(0,1fr)}.qde-option-select{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.85rem;color:var(--text-secondary)}.qde-option-select select{min-width:0;max-width:200px;min-height:36px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-primary);font:inherit}.qd-root[data-layout=outlined] .qd-card{background:transparent;border:1px solid var(--qd-rule);border-radius:8px}.qd-root[data-layout=plain] .qd-card{background:transparent;border-radius:0;padding-inline-end:0;border-top:1px solid var(--qd-rule)}.qd-root[data-heading=prominent] .qd-spec-row--title{font-size:1.1rem;margin-bottom:8px}.qd-root[data-heading=prominent] .qd-spec-row--title .qd-spec-label{display:none}.qd-root[data-heading=prominent] .qd-spec-row--title .qd-spec-value{font-weight:700}.qd-root[data-labels=strong] :is(.qd-spec-label,.qd-pair-label,.qd-rail-gutter){color:var(--qd-ink);font-weight:600}.qd-root[data-values=regular] :is(.qd-spec-value,.qd-pair-value){font-weight:400}.qd-root[data-descriptions=stacked] .qd-pairs{grid-template-columns:minmax(0,1fr)}.qd-root[data-spacing=compact] .qd-card{padding-block:16px}.qd-root[data-spacing=compact] .qd-card-badge{top:16px}.qd-root[data-spacing=compact] .qd-rail{padding-block:8px}.qd-root[data-spacing=compact] .qd-products{gap:12px}.qd-root[data-spacing=compact] .qd-pricing{margin-top:8px;padding-top:8px}.qd-root[data-price=ruled] .qd-totalbar{background:transparent;color:var(--qd-ink);border-top:2px solid var(--qd-total-green);border-radius:0;padding-inline:0}.qd-root[data-price=ruled] .qd-totalbar .qd-badge--sm{color:var(--qd-bg);background:var(--qd-badge)}@media (max-width: 1000px){.quote-canvas-shell--document .qde-shell{grid-template-columns:minmax(0,1fr)}}@media (max-width: 480px){.dp-fields label{grid-template-columns:minmax(0,1fr);gap:4px}}.ds-studio-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding-block:8px;color:var(--text-secondary);font-size:.875rem}.ds-studio-toolbar>span{flex:1}.ds-studio-toolbar button,.ds-save-status button,.ds-window button,.ds-return{font:inherit;color:var(--text-primary);border:1px solid var(--border);background:var(--bg-elevated);border-radius:var(--radius-sm);padding:8px 12px;cursor:pointer}.ds-studio-toolbar button[aria-pressed=true]{font-weight:600}.quote-canvas-shell--document .qde-shell.ds-studio--wide{grid-template-columns:minmax(0,1fr)}.ds-save-status{font-size:.875rem;color:var(--text-secondary)}.ds-print-blocker{display:none}.ds-section{position:relative;min-width:0}.qd-spec-header>.ds-section{display:flex;flex-direction:column;gap:3px}.qd-rail-body>.ds-section{display:flex;flex-direction:column;gap:10px}.qd-pricing>.ds-section{width:100%;display:flex;flex-direction:column;gap:6px}.ds-section--editable{cursor:pointer;outline:1px solid transparent;outline-offset:4px;border-radius:4px}.ds-section--editable:hover,.ds-section--editable:focus-visible,.ds-section--selected{outline-color:var(--qd-badge)}.ds-section-label{display:none;position:absolute;inset-block-start:-24px;inset-inline-start:0;padding:4px 8px;font:500 12px/16px sans-serif;background:var(--qd-badge);color:var(--qd-bg);border-radius:4px;z-index:2;pointer-events:none}.ds-section--editable:hover>.ds-section-label,.ds-section--editable:focus-visible>.ds-section-label{display:block}.ds-lines{display:grid;grid-template-columns:minmax(0,1fr);gap:8px 20px}.ds-lines[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-line{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;min-width:0}.ds-line-label{font-weight:600}.ds-line[data-wide=true]{grid-column:1/-1}.qd-root .ds-section--authored[data-size=small],.qd-root .ds-line[data-size=small]{font-size:12px}.qd-root .ds-section--authored[data-size=normal],.qd-root .ds-line[data-size=normal]{font-size:14px}.qd-root .ds-section--authored[data-size=large],.qd-root .ds-line[data-size=large]{font-size:18px}.qd-root .ds-section--authored[data-size=heading],.qd-root .ds-line[data-size=heading]{font-size:22px}.qd-root .ds-section--authored[data-weight=regular]{font-weight:400}.qd-root .ds-section--authored[data-weight=semibold]{font-weight:600}.qd-root .ds-section--authored[data-weight=bold],.qd-root .ds-line[data-bold=true]{font-weight:700}.qd-root .ds-section--authored[data-italic=true],.qd-root .ds-line[data-italic=true]{font-style:italic}.qd-root .ds-section--authored[data-align=start]{text-align:start}.qd-root .ds-section--authored[data-align=center]{text-align:center}.qd-root .ds-section--authored[data-align=end]{text-align:end}.qd-root .ds-section--authored[data-spacing=compact] .ds-lines{gap:4px 16px}.qd-root .ds-section--authored :is(.qd-spec-row,.qd-spec-value,.qd-pair,.qd-pair-value,.qd-subrail,.qd-subrail-body,.qd-price-row,.qd-price-row-label,.qd-price-row-num,.qd-totalbar){font-size:inherit;font-weight:inherit;font-style:inherit}.ds-empty{display:block;font-size:12px;opacity:.7;padding:8px}.qd-root .ds-section--authored .qd-price-row>span{text-align:inherit}.qd-root .ds-section--authored .qd-price-row>span{min-width:0;overflow-wrap:anywhere}.qd-root .ds-section--authored[data-spacing=compact] .qd-price-row{padding-block:4px}.ds-window{position:fixed;z-index:1600;display:flex;flex-direction:column;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-lg);overflow:hidden;font-size:14px;transition:opacity .12s ease}.ds-window--peek{opacity:.08;pointer-events:none}.ds-window-header{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--border)}.ds-window-header>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ds-window-header strong{font-size:16px}.ds-window-header span{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-window button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px}.ds-window .ds-icon{padding:8px;width:36px;min-width:36px;flex-shrink:0}.ds-move,.ds-resize{touch-action:none}.ds-window .ds-move{cursor:move}.ds-window .ds-resize{cursor:nwse-resize}.ds-window-toolbar{display:flex;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border)}.ds-window-toolbar button:last-child{margin-inline-start:auto}.ds-window-body{overflow:auto;flex:1;min-height:0;padding:16px;display:flex;flex-direction:column;gap:16px}.ds-window :is(input:not([type=checkbox]),textarea,select){box-sizing:border-box;width:100%;min-width:0;min-height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;background:var(--bg-card,var(--bg-elevated));color:var(--text-primary);font:inherit}.ds-window textarea{resize:vertical}.ds-window :is(input,textarea,select,button,summary):focus-visible,.ds-studio-toolbar button:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.ds-window :disabled{opacity:.4;cursor:default}.ds-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ds-select-label,.ds-input-label{display:flex;flex-direction:column;gap:4px;font-size:13px}.ds-check{display:flex;align-items:center;gap:8px;min-height:36px}.ds-checks{display:flex;flex-wrap:wrap;gap:4px 16px}.ds-heading{display:flex;justify-content:space-between;align-items:center}.ds-heading h4{margin:0;font-size:14px}.ds-row-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.ds-row-list li{display:flex;gap:4px}.ds-row-list .ds-row-select{flex:1;justify-content:flex-start;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;text-align:start}.ds-row-select[aria-pressed=true]{font-weight:600;outline:1px solid var(--text-secondary)}.ds-row-select.ds-row-select--missing{border-color:var(--error,var(--text-primary))}.ds-row-editor{display:flex;flex-direction:column;gap:12px;border-block:1px solid var(--border);padding-block:16px}.ds-hint{color:var(--text-secondary);font-size:12px;line-height:1.5;margin:0}.ds-reuse{border-top:1px solid var(--border);padding-top:12px}.ds-reuse summary{cursor:pointer;padding-block:8px}.ds-reuse[open]>:not(summary){margin-block:8px}.ds-reuse form{display:flex;flex-direction:column;gap:12px}.ds-window footer{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-top:1px solid var(--border);color:var(--text-secondary);font-size:12px}.ds-return{position:fixed;z-index:1700;display:inline-flex;align-items:center;justify-content:center;min-height:40px;font-weight:600!important;white-space:nowrap;box-shadow:var(--shadow-sm)}@media (max-width:480px){.ds-controls{gap:8px}.ds-window-body{padding:12px}.ds-lines[data-columns="2"]{gap:8px}}@media (prefers-reduced-motion:reduce){.ds-window{transition:none}}@media print{.ds-window,.ds-return,.ds-studio-toolbar,.ds-save-status,.ds-section-label,.ds-empty{display:none!important}.ds-section{outline:none!important}}@media print{.qd-conditions-title{break-after:avoid;page-break-after:avoid}}@media print{.ds-unsaved-document{display:none!important}.ds-print-blocker{display:block!important}}.ohp-material-candidates{padding:12px 20px;border-block-end:1px solid var(--border);font-size:.875rem}.ohp-material-candidates summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600}.ohp-material-candidates p{margin:0 0 12px;color:var(--text-secondary);line-height:1.5}.ohp-material-choice{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-block:8px}.ohp-material-choice>span:first-child{flex:1;min-width:160px;overflow-wrap:anywhere}.ohp-material-choice>span:last-child{color:var(--text-secondary)}.ohp-material-choice button{min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font:inherit;cursor:pointer}.ohp-material-choice button:disabled{opacity:.6;cursor:default}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/dm-sans-latin-300-normal-5PdLhTtq.woff2) format("woff2"),url(/assets/dm-sans-latin-300-normal-BIEPdU4K.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-DwcD7z81.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-CN_gcpH5.woff) format("woff")}@font-face{font-family:DM Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-italic-NDqKMMEC.woff2) format("woff2"),url(/assets/dm-sans-latin-400-italic-Cmk9Ji44.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-BOEmR4rO.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-CuLX8J35.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-BY-DBcpC.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-nt2wwSEB.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-COgqbzv4.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CHsHpBXM.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Drs_5D37.woff2) format("woff2"),url(/assets/inter-latin-700-normal-KTwiWvO9.woff) format("woff")}:root{--green-900: #2a3230;--green-800: #333d3a;--green-700: #3d4945;--green-600: #49554C;--green-500: #576358;--green-400: #687568;--green-300: #49554C;--green-200: #3d4945;--green-100: #e8ece9;--orange-900: #fef6ee;--orange-800: #f5dcc0;--orange-700: #d4913a;--orange-600: #b87520;--orange-500: #9a6218;--orange-400: #c47a2a;--orange-300: #8a5a15;--orange-200: #f5cc8a;--orange-100: #fae8c8;--purple-900: #f3eef8;--purple-800: #ddd0ed;--purple-700: #7050a0;--purple-600: #5a3d88;--purple-500: #7050a0;--purple-400: #8e6ec0;--purple-300: #5a3d88;--purple-200: #cbb8e8;--purple-100: #e8ddf5;--blue-900: #eef2f8;--blue-800: #cfd9ea;--blue-500: #3f5f92;--blue-300: #2c4470;--ink-900: #eceef2;--ink-800: #d2d7e0;--ink-500: #2b3648;--ink-300: #1e2838;--neutral-950: #e8e0d4;--neutral-900: #ece5da;--neutral-850: #f0eae0;--neutral-800: #f4efe6;--neutral-750: #f8f4ed;--neutral-700: #d6cfc5;--neutral-600: #c2bab0;--neutral-500: #9a9490;--neutral-400: #706b66;--neutral-300: #504c48;--neutral-200: #3a3835;--neutral-100: #2a2826;--neutral-50: #1a1918;--shadow-raised: 4px 4px 8px rgba(0,0,0,.08), -4px -4px 8px rgba(255,255,255,.7);--shadow-inset: inset 2px 2px 4px rgba(0,0,0,.06), inset -2px -2px 4px rgba(255,255,255,.5);--shadow-pressed: inset 1px 1px 3px rgba(0,0,0,.08), inset -1px -1px 3px rgba(255,255,255,.4);--bg-primary: var(--neutral-950);--bg-surface: var(--neutral-900);--bg-elevated: var(--neutral-850);--bg-card: var(--neutral-800);--bg-input: #fff;--border: var(--neutral-700);--border-subtle: var(--neutral-800);--text-primary: var(--neutral-100);--text-secondary: var(--neutral-400);--text-muted: var(--neutral-500);--accent: var(--green-600);--accent-dim: var(--green-100);--accent-text: var(--green-600);--cost-accent: var(--orange-500);--cost-bg: var(--orange-900);--cost-border: var(--orange-800);--cost-text: var(--orange-300);--hours-accent: var(--purple-500);--hours-bg: var(--purple-900);--hours-border: var(--purple-800);--hours-text: var(--purple-300);--desc-accent: var(--blue-500);--desc-bg: var(--blue-900);--desc-border: var(--blue-800);--desc-text: var(--blue-300);--builder-accent: var(--ink-500);--builder-bg: var(--ink-900);--builder-border: var(--ink-800);--builder-text: var(--ink-300);--status-draft: var(--neutral-500);--status-quoted: var(--green-600);--status-won: var(--green-600);--status-lost: #c45a5a;--font-body: "DM Sans", -apple-system, sans-serif;--font-mono: "Inter", -apple-system, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--scroll-fade-size: 28px;--scroll-fade-size-sm: 22px;--scroll-fade-ms: .15s;--canvas-pin-header-h: 64px;--canvas-pin-summary-h: 104px;--canvas-summary-line-h: 16px;--canvas-summary-chrome-h: 24px;--canvas-summary-collapsed-h: 28px;--canvas-pin-block-h: 168px;--canvas-pin-reserve: 48px;--canvas-viewport-offset: 212px;--cvs-band-h: 32px;--cvs-strip-h: 28px;--cvs-strip-offset: 0px;--cvs-band-gap: 6px;--cvs-crow-line-h: 15px;--cvs-crow-rule-h: 5px;--cvs-crow-chrome-h: 12px;--cvs-crow-lines: 1;--cvs-crow-rules: 0;--cvs-pinsum-lines: 1}.cvs-block-scope-menu{position:fixed;z-index:3200;width:286px;padding:8px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:12px;background:color-mix(in srgb,var(--bg-elevated) 96%,white 4%);box-shadow:0 18px 42px #222b272e,0 2px 8px #222b271a}.cvs-block-scope-kicker{display:block;padding:6px 9px 7px;color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.cvs-block-scope-menu>button{display:grid;width:100%;gap:2px;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.cvs-block-scope-menu>button:hover,.cvs-block-scope-menu>button:focus-visible{background:var(--accent-dim);outline:none}.cvs-block-scope-menu>button strong{font-size:13px}.cvs-block-scope-menu>button span{color:var(--text-secondary);font-size:11px;line-height:1.35}.canvas-block-configure-btn{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:1px solid currentColor;border-radius:7px;background:transparent;font:700 10px/1 var(--font-body);letter-spacing:.03em;cursor:pointer;white-space:nowrap}.canvas-block-configure-btn--cost{color:var(--cost-text);background:color-mix(in srgb,var(--cost-bg) 78%,transparent)}.canvas-block-configure-btn--labor{color:var(--hours-text);background:color-mix(in srgb,var(--hours-bg) 78%,transparent)}.canvas-block-configure-btn:hover{filter:brightness(.97);transform:translateY(-1px)}.canvas-block-configure-btn:active{transform:scale(.97)}.canvas-block-recipe-state{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid var(--border);border-radius:7px;background:var(--bg-elevated);color:var(--text-muted);font-size:.62rem;font-weight:700;letter-spacing:.035em;white-space:nowrap}.block-configurator{position:fixed;z-index:4000;display:flex;flex-direction:column;min-width:720px;min-height:500px;overflow:hidden;border:1px solid color-mix(in srgb,var(--green-700) 28%,var(--border));border-radius:16px;background:var(--bg-elevated);color:var(--text-primary);box-shadow:0 32px 80px #1f2a253d,0 8px 24px #1f2a2524,0 1px 2px #1f2a2529}.block-configurator.is-moving{-webkit-user-select:none;user-select:none}.bc-titlebar{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 14px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-card) 88%,var(--green-100));cursor:grab}.block-configurator.is-moving .bc-titlebar{cursor:grabbing}.bc-titlebar>div{display:grid;gap:1px}.bc-titlebar strong{font-size:15px;letter-spacing:-.01em}.bc-eyebrow{color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.bc-dirty{margin-left:auto;color:var(--text-muted);font-size:10px}.bc-icon-btn,.bc-step-actions button,.bc-rule-row button{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:7px;background:transparent;color:var(--text-secondary);cursor:pointer}.bc-icon-btn:hover,.bc-step-actions button:hover:not(:disabled),.bc-rule-row button:hover{background:var(--bg-surface);color:var(--text-primary)}.bc-icon-btn:disabled{opacity:.28;cursor:default}.bc-toolbar{display:flex;align-items:end;gap:10px;min-height:64px;padding:9px 14px;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.bc-toolbar .bc-field:first-child{flex:1;max-width:360px}.bc-field{display:grid;gap:5px;min-width:140px}.bc-field>span:first-child,.bc-check-field legend{color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.bc-field input,.bc-field select,.bc-rule-row select{width:100%;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:7px;outline:none;background:var(--bg-input);color:var(--text-primary);font:500 12px/1 var(--font-body)}.bc-field input:focus,.bc-field select:focus,.bc-rule-row select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.bc-select-wrap{position:relative;display:block}.bc-select-wrap select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px}.bc-select-wrap>svg{position:absolute;top:10px;right:9px;pointer-events:none;color:var(--text-muted)}.bc-workspace{display:grid;grid-template-columns:188px minmax(330px,1fr) 230px;min-height:0;flex:1}.bc-step-rail,.bc-preview{min-width:0;background:color-mix(in srgb,var(--bg-surface) 68%,var(--bg-elevated))}.bc-step-rail{display:flex;flex-direction:column;border-right:1px solid var(--border)}.bc-rail-heading,.bc-preview-head{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 12px;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.bc-rail-heading strong{color:var(--text-secondary);font-size:9px}.bc-step-rail ol{flex:1;margin:0;padding:8px;overflow:auto;list-style:none}.bc-step-rail li+li{margin-top:4px}.bc-step-rail li>button{display:grid;grid-template-columns:24px 1fr 16px;align-items:center;width:100%;gap:7px;padding:8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.bc-step-rail li>button:hover{background:var(--bg-elevated)}.bc-step-rail li>button.is-selected{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:var(--accent-dim)}.bc-step-number{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--bg-input);color:var(--text-secondary);font:800 10px/1 var(--font-mono)}.bc-step-rail li button>span:nth-child(2){display:grid;gap:1px}.bc-step-rail li small{color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.bc-step-rail li strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.bc-add-wrap{position:relative;padding:8px;border-top:1px solid var(--border)}.bc-add-step,.bc-rule-add{display:flex;align-items:center;justify-content:center;width:100%;gap:6px;min-height:34px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);font:700 11px/1 var(--font-body);cursor:pointer}.bc-add-step:hover,.bc-rule-add:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-dim)}.bc-action-menu{position:absolute;left:8px;bottom:48px;z-index:5;width:280px;max-height:340px;padding:7px;overflow:auto;border:1px solid var(--border);border-radius:11px;background:var(--bg-elevated);box-shadow:0 18px 40px #1f2a252e,0 2px 8px #1f2a251a}.bc-action-menu button{display:grid;width:100%;gap:2px;padding:9px;border:0;border-radius:7px;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.bc-action-menu button:hover{background:var(--accent-dim)}.bc-action-menu strong{font-size:11px}.bc-action-menu span{color:var(--text-secondary);font-size:10px;line-height:1.35}.bc-editor{min-width:0;overflow:auto;background:var(--bg-elevated)}.bc-editor-head{display:flex;align-items:center;justify-content:space-between;min-height:74px;padding:14px 18px;border-bottom:1px solid var(--border)}.bc-editor-head>div:first-child{display:grid;gap:2px}.bc-editor-head span{color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.bc-editor-head h2{margin:0;font-size:20px;letter-spacing:-.03em}.bc-step-actions{display:flex;gap:2px}.bc-step-actions button:disabled{opacity:.25;cursor:default}.bc-editor-fields{display:grid;gap:14px;max-width:600px;padding:18px}.bc-editor-note{padding:10px 12px;border-left:2px solid var(--accent);background:var(--accent-dim);color:var(--text-secondary);font-size:11px;line-height:1.45}.bc-check-field{margin:0;padding:0;border:0}.bc-check-field legend{margin-bottom:6px}.bc-check-list{display:flex;flex-wrap:wrap;gap:6px}.bc-check-list label,.bc-preset-toggle{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.bc-check-list label{min-height:30px;padding:0 9px;border:1px solid var(--border);border-radius:7px;background:var(--bg-input);color:var(--text-secondary);font-size:10px}.bc-check-list label.is-checked{border-color:var(--accent);background:var(--accent-dim);color:var(--text-primary)}.bc-check-list input,.bc-preset-toggle input{position:absolute;left:0;width:16px;height:16px;margin:0;opacity:0;cursor:pointer}.bc-check-mark{display:grid;place-items:center;width:16px;height:16px;border:1px solid var(--border);border-radius:4px;color:transparent;background:var(--bg-elevated);pointer-events:none}.bc-check-mark *{pointer-events:none}.is-checked .bc-check-mark,.bc-preset-toggle:has(input:checked) .bc-check-mark{border-color:var(--accent);background:var(--accent);color:#fff}.bc-rule-table{overflow:hidden;border:1px solid var(--border);border-radius:9px;background:var(--bg-input)}.bc-rule-head,.bc-rule-row{display:grid;grid-template-columns:1fr 1fr 34px;align-items:center;gap:1px}.bc-rule-head{min-height:31px;background:var(--bg-surface);color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.bc-rule-head span{padding:0 9px}.bc-rule-row{padding:5px;border-top:1px solid var(--border)}.bc-rule-row select{border-radius:6px}.bc-rule-add{width:auto;margin:6px}.bc-preview{display:flex;flex-direction:column;border-left:1px solid var(--border);overflow:auto}.bc-preview-head button{border:0;background:transparent;color:var(--accent-text);font:800 9px/1 var(--font-body);text-transform:uppercase;cursor:pointer}.bc-error{display:flex;gap:8px;margin:10px;padding:10px;border:1px solid #d9b16b;border-radius:8px;background:#fff5dd;color:#744b0a;font-size:10px;line-height:1.45}.bc-error svg{flex:0 0 auto}.bc-preview-values{display:grid;gap:1px;padding:10px}.bc-preview-values>div{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:9px 6px;border-bottom:1px solid var(--border)}.bc-preview-values span{overflow:hidden;color:var(--text-secondary);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.bc-preview-values strong{font:700 12px/1 var(--font-mono);font-variant-numeric:tabular-nums}.bc-preview-values small{grid-column:1 / -1;color:#8a5a15;font-size:9px;line-height:1.35}.bc-trace{grid-column:1 / -1;min-width:0}.bc-trace summary{color:var(--text-muted);font-size:9px;font-weight:700;cursor:pointer}.bc-trace ol{display:grid;gap:3px;margin:6px 0 0;padding:0;list-style:none}.bc-trace li{display:grid;grid-template-columns:minmax(54px,.8fr) minmax(0,1fr) auto;gap:5px;align-items:baseline;font-size:8px}.bc-trace li span{color:var(--text-muted)}.bc-trace li b{overflow:hidden;color:var(--text-secondary);font-family:var(--font-mono);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.bc-trace li em{color:var(--accent-text);font-style:normal}.bc-preview-empty{margin:14px;color:var(--text-muted);font-size:11px;line-height:1.5}.bc-output-contract{display:grid;gap:3px;margin:auto 10px 10px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:9px;background:var(--accent-dim)}.bc-output-contract span{color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.bc-output-contract strong{font-size:12px}.bc-output-contract small{color:var(--text-secondary);font-size:9px;line-height:1.4}.bc-footer{display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 14px;border-top:1px solid var(--border);background:var(--bg-card)}.bc-preset-toggle{color:var(--text-secondary);font-size:10px}.bc-footer .bc-field{width:210px}.bc-cancel,.bc-finish{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 15px;border-radius:8px;font:800 11px/1 var(--font-body);cursor:pointer}.bc-cancel{margin-left:auto;border:1px solid var(--border);background:transparent;color:var(--text-secondary)}.bc-finish{border:1px solid var(--accent);background:var(--accent);color:#fff;box-shadow:0 7px 16px color-mix(in srgb,var(--accent) 20%,transparent)}.bc-finish:active,.bc-cancel:active{transform:scale(.97)}.bc-finish:disabled{opacity:.45;cursor:wait}.bc-resize{position:absolute;right:2px;bottom:2px;width:18px;height:18px;border:0;background:transparent;cursor:nwse-resize}.bc-resize:before,.bc-resize:after{content:"";position:absolute;right:2px;bottom:2px;border-right:1px solid var(--text-muted);border-bottom:1px solid var(--text-muted);opacity:.55}.bc-resize:before{width:10px;height:10px}.bc-resize:after{width:5px;height:5px}@media (max-width: 820px){.block-configurator{min-width:0;width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important;top:8px!important;left:8px!important;border-radius:12px}.bc-workspace{grid-template-columns:150px minmax(300px,1fr)}.bc-preview,.bc-dirty{display:none}}@media (prefers-reduced-motion: no-preference){.canvas-block-configure-btn,.bc-finish,.bc-cancel{transition:transform .14s cubic-bezier(.2,0,0,1),filter .14s cubic-bezier(.2,0,0,1)}.cvs-block-scope-menu{animation:bc-menu-in .18s cubic-bezier(.05,.7,.1,1);transform-origin:top left}}@keyframes bc-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.quote-builder{--neutral-950: #e3e5e2;--neutral-900: #e9ebe8;--neutral-850: #eff1ee;--neutral-800: #f6f7f5;--neutral-750: #fafbf9;--neutral-700: #cfd3ce;--neutral-600: #b8bdb7;--neutral-500: #8a9089;--neutral-400: #626862;--neutral-300: #474c47;--neutral-200: #343834;--neutral-100: #252825;--neutral-50: #171917;min-width:0;background:var(--neutral-950)}.pp-workspace{--pp-ink: #2d312e;--pp-muted: #69706a;--pp-line: #cdd1cc;--pp-soft-line: #e1e4e0;--pp-paper: #f7f8f6;--pp-panel: #eceeeb;--pp-card: #ffffff;--pp-accent: #486457;min-width:0;padding:18px;color:var(--pp-ink);background:#e2e5e2}.pp-header,.pp-panel-heading,.pp-header-controls,.pp-shape-controls,.pp-phase-controls,.pp-footer,.pp-footer>div,.pp-op-top,.pp-op-metrics,.pp-stage-actions,.pp-dependency-diagram,.pp-stage-title{display:flex;align-items:center}.pp-header{justify-content:space-between;gap:24px;margin-bottom:14px;padding:4px 2px 14px;border-bottom:1px solid #c5cac5}.pp-header h2,.pp-panel-heading h3,.pp-setup h3,.pp-empty h2{margin:2px 0 0;color:#292d29;font-weight:720;letter-spacing:-.02em}.pp-header h2{font-size:1.52rem}.pp-header p,.pp-panel-heading p,.pp-setup p,.pp-empty p{max-width:72ch;margin:5px 0 0;color:var(--pp-muted);font-size:.82rem;line-height:1.45}.pp-eyebrow{color:#686d68;font-size:.65rem;font-weight:760;letter-spacing:.11em;text-transform:uppercase}.pp-header-controls{flex:0 0 auto;justify-content:flex-end;gap:8px}.pp-header-controls label,.pp-setup label,.pp-shape-controls label{display:grid;gap:3px;color:#666a65;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pp-header-controls select,.pp-setup input,.pp-shape-controls input,.pp-phase-controls input{min-height:34px;border:1px solid #bdb6ac;border-radius:4px;background:#fff;color:#303430;font:inherit}.pp-header-controls select{width:min(260px,24vw);padding:6px 28px 6px 9px}.pp-save-state{min-width:96px;padding:7px 9px;border:1px solid #b9beb9;border-radius:3px;background:#f0f2ef;color:#5d625d;font-size:.72rem;font-weight:680;text-align:center}.pp-save-state--saved{border-color:#95a69d;background:#e8eee9;color:#355647}.pp-save-state--stale{border-color:#b78a7b;background:#f3e5df;color:#793e32}.pp-notice{display:flex;align-items:center;gap:8px;margin:0 0 12px}.pp-setup{display:grid;grid-template-columns:auto minmax(300px,1fr) minmax(150px,auto) 90px auto;align-items:end;gap:16px;padding:24px;border:1px solid var(--pp-line);border-left:3px solid #6d7771;background:var(--pp-paper)}.pp-setup-icon{display:grid;width:45px;height:45px;place-items:center;align-self:center;border:1px solid #c9c2b7;background:#e9ece9;color:#536158}.pp-setup input{width:100%;padding:6px 8px}.pp-loading,.pp-empty{display:grid;min-height:260px;place-items:center;align-content:center;gap:8px;border:1px solid var(--pp-line);background:var(--pp-paper);color:var(--pp-muted);text-align:center}.pp-facts{display:grid;grid-template-columns:minmax(230px,1.6fr) repeat(4,minmax(110px,.65fr));margin-bottom:12px;border:1px solid var(--pp-line);background:var(--pp-soft-line)}.pp-facts>div{display:grid;gap:3px;min-width:0;padding:10px 12px;border-right:1px solid var(--pp-line);background:#f5f7f5}.pp-facts>div:last-child{border-right:0}.pp-facts span{color:#777a75;font-size:.64rem;font-weight:720;letter-spacing:.07em;text-transform:uppercase}.pp-facts strong{overflow:hidden;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.pp-panel{margin-bottom:12px;border:1px solid var(--pp-line);background:var(--pp-paper)}.pp-panel-heading{justify-content:space-between;gap:20px;padding:14px;border-bottom:1px solid var(--pp-line);background:var(--pp-panel)}.pp-panel-heading h3{font-size:1rem}.pp-panel-heading>p{max-width:52ch;text-align:right}.pp-stage-board{display:flex;align-items:stretch;gap:18px;padding:16px;overflow-x:auto}.pp-stage{position:relative;flex:1 0 238px;min-width:238px;max-width:340px;padding:9px;border:1px solid #d4cec4;background:#e9ece9}.pp-stage-title{justify-content:space-between;gap:8px;padding:1px 2px 8px;color:#575c57;font-size:.69rem;text-transform:uppercase}.pp-stage-title span{font-weight:760;letter-spacing:.08em}.pp-stage-title b{color:#7a7d79;font-size:.62rem;font-weight:600}.pp-stage-cards{display:grid;gap:8px}.pp-operation-card{min-width:0;padding:10px;border:1px solid #cbc5bb;border-left:3px solid #69736d;background:var(--pp-card)}.pp-operation-card:focus-within,.pp-operation-card:focus{outline:2px solid #73857a;outline-offset:1px}.pp-op-top{justify-content:space-between;gap:8px}.pp-op-top>span{color:#4e6057;font-size:.68rem;font-weight:780;letter-spacing:.06em}.pp-op-top label,.pp-week-head label{display:inline-flex;align-items:center;gap:4px;color:#737671;font-size:.63rem}.pp-operation-card h4{margin:7px 0 8px;color:#303430;font-size:.86rem;line-height:1.25}.pp-op-metrics{flex-wrap:wrap;gap:4px 8px;color:#747772;font-size:.66rem}.pp-op-metrics strong{margin-left:auto;color:#343934}.pp-stage-actions{justify-content:space-between;gap:6px;margin-top:9px;padding-top:7px;border-top:1px solid #e1e4e0;color:#777a75;font-size:.62rem}.pp-stage-actions button,.pp-shape-controls button,.pp-phase-controls button{display:inline-flex;min-height:30px;align-items:center;justify-content:center;gap:5px;border:1px solid #b9b3aa;border-radius:3px;background:#f7f8f6;color:#454b46;font:inherit}.pp-stage-actions button{width:31px;padding:0}.pp-stage-actions button:disabled{opacity:.32}.pp-stage-actions button:not(:disabled):hover,.pp-shape-controls button:hover,.pp-phase-controls button:hover{border-color:#718078;background:#ecefeb}.pp-depends{margin-top:7px}.pp-depends summary{display:flex;align-items:center;gap:5px;color:#59635d;cursor:pointer;font-size:.68rem;font-weight:670}.pp-depends[open] summary{margin-bottom:6px}.pp-depends label{display:grid;grid-template-columns:auto 1fr;gap:6px;padding:4px 0;color:#5e635e;font-size:.67rem;line-height:1.25}.pp-stage-arrow{position:absolute;top:50%;right:-20px;color:#888a86;transform:translateY(-50%)}.pp-dependency-diagram{justify-content:space-between;gap:14px;padding:10px 14px;border-top:1px solid var(--pp-line);background:#ecefeb;color:#585e59;font-size:.72rem}.pp-dependency-diagram>span{display:inline-flex;align-items:center;gap:6px;font-weight:700}.pp-dependency-diagram>div{overflow-x:auto;font-variant-numeric:tabular-nums;white-space:nowrap}.pp-gantt-panel{margin:12px;overflow:hidden;border:1px solid var(--pp-line);border-radius:12px;background:var(--pp-paper)}.pp-gantt-toolbar{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--pp-line);background:color-mix(in srgb,var(--pp-panel) 82%,var(--pp-paper))}.pp-gantt-toolbar h4{margin:2px 0 0;color:var(--pp-ink);font-size:.9rem}.pp-gantt-modes{display:inline-grid;grid-template-columns:repeat(2,auto);gap:4px;padding:4px;border:1px solid var(--pp-line);border-radius:10px;background:var(--pp-paper)}.pp-gantt-modes button{display:inline-flex;min-height:36px;align-items:center;gap:7px;padding:6px 10px;border:0;border-radius:7px;background:transparent;color:var(--pp-muted);font:700 .7rem/1 var(--font-body);cursor:pointer;transition:background .14s ease,color .14s ease,transform .12s ease}.pp-gantt-modes button:hover{background:var(--pp-panel);color:var(--pp-ink)}.pp-gantt-modes button:active{transform:scale(.97)}.pp-gantt-modes button[aria-pressed=true]{background:var(--pp-accent);color:var(--pp-paper)}.pp-gantt-modes button:focus-visible{outline:2px solid var(--pp-accent);outline-offset:2px}.pp-gantt-modes button:disabled{opacity:.58;cursor:default}.pp-gantt-help{margin:0;padding:8px 16px;border-bottom:1px solid var(--pp-line);color:var(--pp-muted);font-size:.68rem;line-height:1.45}.pp-schedule-recommendation{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 16px;border-bottom:1px solid color-mix(in srgb,var(--pp-accent) 34%,var(--pp-line));background:color-mix(in srgb,var(--pp-accent) 8%,var(--pp-paper))}.pp-schedule-recommendation-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:var(--pp-accent);color:var(--pp-paper)}.pp-schedule-recommendation-copy{display:grid;min-width:0;gap:4px}.pp-schedule-recommendation-copy>strong{display:flex;align-items:center;gap:8px;color:var(--pp-ink);font-size:.82rem}.pp-schedule-recommendation-copy>p{color:var(--pp-muted);font-size:.64rem;line-height:1.45}.pp-schedule-recommendation-facts{display:flex;flex-wrap:wrap;gap:6px}.pp-schedule-recommendation-facts span{padding:3px 7px;border:1px solid color-mix(in srgb,var(--pp-accent) 20%,var(--pp-line));border-radius:999px;background:var(--pp-paper);color:var(--pp-muted);font-size:.58rem}.pp-schedule-recommendation-facts .is-valid{border-color:color-mix(in srgb,var(--pp-accent) 42%,var(--pp-line));color:var(--pp-accent);font-weight:800}.pp-schedule-recommendation-facts .is-warning{color:var(--warning, #80530f);font-weight:800}.pp-schedule-recommendation-actions{display:flex;align-items:center;gap:7px}.pp-schedule-recommendation-actions .btn{min-height:34px;padding:7px 10px;font-size:.64rem;white-space:nowrap}.pp-gantt-selection{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:12px;padding:7px 16px;border-bottom:1px solid color-mix(in srgb,var(--pp-accent) 24%,var(--pp-line));background:color-mix(in srgb,var(--pp-panel) 64%,var(--pp-paper));color:var(--pp-ink)}.pp-gantt-selection>span{display:inline-flex;align-items:center;gap:7px;font-size:.66rem}.pp-gantt-selection>span b{color:var(--pp-accent);text-transform:uppercase;letter-spacing:.05em}.pp-gantt-selection button{display:inline-flex;min-height:30px;align-items:center;gap:6px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--danger, #a43f3f) 44%,var(--pp-line));border-radius:6px;background:var(--pp-paper);color:var(--danger, #8e3434);font:800 .62rem/1 var(--font-body);cursor:pointer}.pp-gantt-selection button:hover{background:color-mix(in srgb,var(--danger, #a43f3f) 8%,var(--pp-paper))}.pp-gantt-selection button:focus-visible{outline:2px solid var(--pp-accent);outline-offset:2px}.pp-gantt-selection button:disabled{opacity:.55;cursor:wait}.pp-gantt-selection--gap{border-bottom-color:color-mix(in srgb,var(--warning, #94600f) 26%,var(--pp-line));background:color-mix(in srgb,var(--warning-bg, #fff4dc) 36%,var(--pp-paper))}.pp-timing-warning{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px 16px;border-bottom:1px solid color-mix(in srgb,var(--warning, #a96608) 28%,var(--pp-line));background:color-mix(in srgb,var(--warning-bg, #fff4dc) 76%,var(--pp-paper));color:var(--pp-ink)}.pp-timing-warning>svg{margin-top:1px;color:var(--warning, #94600f)}.pp-timing-warning>div{display:grid;gap:2px}.pp-timing-warning-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.pp-timing-warning-head>div{display:grid;min-width:0;gap:2px}.pp-recommend-schedule-button{display:inline-flex;min-height:32px;flex:0 0 auto;align-items:center;gap:6px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--warning, #94600f) 46%,var(--pp-line));border-radius:7px;background:var(--pp-paper);color:var(--warning, #80530f);font:800 .62rem/1 var(--font-body);cursor:pointer}.pp-recommend-schedule-button:hover{background:color-mix(in srgb,var(--warning-bg, #fff4dc) 70%,var(--pp-paper))}.pp-recommend-schedule-button:disabled{opacity:.58;cursor:wait}.pp-timing-warning strong{font-size:.7rem}.pp-timing-warning span{color:var(--pp-muted);font-size:.64rem;line-height:1.4}.pp-timing-warning details{margin-top:3px}.pp-timing-warning summary{width:fit-content;color:var(--warning, #80530f);font-size:.62rem;font-weight:800;cursor:pointer}.pp-timing-warning ul{display:grid;gap:6px;margin:7px 0 0;padding:0;color:var(--pp-muted);font-size:.62rem;line-height:1.4;list-style:none}.pp-timing-warning li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 8px;border:1px solid color-mix(in srgb,var(--warning, #94600f) 20%,var(--pp-line));border-radius:7px;background:color-mix(in srgb,var(--pp-paper) 76%,transparent)}.pp-timing-warning li>span{display:block}.pp-timing-warning li b{margin-left:4px;color:var(--pp-ink)}.pp-timing-warning li button{flex:0 0 auto;min-height:28px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--warning, #94600f) 45%,var(--pp-line));border-radius:6px;background:var(--pp-paper);color:var(--warning, #80530f);font:800 .61rem/1 var(--font-body);cursor:pointer}.pp-timing-warning li button:hover{background:color-mix(in srgb,var(--warning-bg, #fff4dc) 74%,var(--pp-paper))}.pp-timing-warning li button:focus-visible{outline:2px solid var(--warning, #94600f);outline-offset:2px}.pp-timing-warning li button:disabled{opacity:.55;cursor:wait}.pp-gantt-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;overscroll-behavior-y:auto}.pp-gantt{position:relative;display:grid;min-width:calc(224px + var(--pp-gantt-weeks) * 112px);grid-template-columns:224px repeat(var(--pp-gantt-weeks),minmax(112px,1fr));grid-template-rows:56px 44px repeat(var(--pp-gantt-rows),64px);align-items:stretch;overflow:hidden;background:var(--pp-soft-line);font-variant-numeric:tabular-nums}.pp-gantt-corner,.pp-gantt-week{position:sticky;top:0;z-index:6;display:grid;grid-row:1;align-content:center;gap:2px;padding:8px 12px;border-right:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line);background:var(--pp-panel)}.pp-gantt-corner{left:0;z-index:7;grid-column:1}.pp-gantt-corner span,.pp-gantt-week span{color:var(--pp-muted);font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.pp-gantt-corner b,.pp-gantt-week b{color:var(--pp-ink);font-size:.68rem}.pp-gantt-week em{color:var(--pp-accent);font-size:.55rem;font-style:normal;font-weight:850;letter-spacing:.08em}.pp-gantt-week--gap{background:color-mix(in srgb,var(--pp-panel) 72%,var(--cost-bg, #fbf4e9))}.pp-gantt-gap-label{position:sticky;left:0;z-index:5;display:grid;grid-column:1;grid-row:2;align-content:center;gap:2px;padding:6px 12px;border-right:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line);background:color-mix(in srgb,var(--warning-bg, #fff4dc) 32%,var(--pp-paper))}.pp-gantt-gap-label b{color:var(--pp-ink);font-size:.67rem}.pp-gantt-gap-label span{color:var(--pp-muted);font-size:.57rem}.pp-gantt-gap-track{z-index:0;grid-column:2 / -1;grid-row:2;border-bottom:1px solid var(--pp-line);background:repeating-linear-gradient(to right,color-mix(in srgb,var(--warning-bg, #fff4dc) 18%,var(--pp-card)) 0,color-mix(in srgb,var(--warning-bg, #fff4dc) 18%,var(--pp-card)) calc((100% / var(--pp-gantt-weeks)) - 1px),var(--pp-soft-line) calc((100% / var(--pp-gantt-weeks)) - 1px),var(--pp-soft-line) calc(100% / var(--pp-gantt-weeks)))}.pp-gantt-gap-cell{position:relative;z-index:3;display:grid;min-width:0;height:30px;align-self:center;place-content:center;gap:1px;margin:0 6px;padding:2px 6px;border:1px dashed color-mix(in srgb,var(--warning, #94600f) 38%,var(--pp-line));border-radius:7px;background:transparent;color:var(--warning, #80530f);font:750 .6rem/1 var(--font-body);opacity:0;pointer-events:none;cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none}.pp-gantt-gap-cell b{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em}.pp-gantt-gap-cell span{font-size:.55rem}.pp-gantt-panel--gaps .pp-gantt-gap-cell,.pp-gantt-gap-cell--active{opacity:1;pointer-events:auto}.pp-gantt-panel--gaps .pp-gantt-gap-cell:not(.pp-gantt-gap-cell--active):hover,.pp-gantt-gap-cell--draft{background:color-mix(in srgb,var(--warning-bg, #fff4dc) 62%,var(--pp-paper));border-style:solid}.pp-gantt-gap-cell--active{border-style:solid;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--warning-bg, #fff4dc) 74%,var(--pp-paper)) 0,color-mix(in srgb,var(--warning-bg, #fff4dc) 74%,var(--pp-paper)) 7px,color-mix(in srgb,var(--warning, #94600f) 14%,var(--pp-paper)) 7px,color-mix(in srgb,var(--warning, #94600f) 14%,var(--pp-paper)) 9px);cursor:pointer}.pp-gantt-gap-cell:focus-visible{outline:2px solid var(--warning, #94600f);outline-offset:2px}.pp-gantt-label{position:sticky;left:0;z-index:5;display:grid;grid-column:1;align-content:center;gap:2px;padding:8px 12px;border-right:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line);background:var(--pp-paper)}.pp-gantt-label b{overflow:hidden;color:var(--pp-ink);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.pp-gantt-label span{color:var(--pp-accent);font-size:.6rem;font-weight:750}.pp-gantt-label small{color:var(--pp-muted);font-size:.58rem}.pp-gantt-track{z-index:0;grid-column:2 / -1;border-bottom:1px solid var(--pp-line);background:repeating-linear-gradient(to right,var(--pp-card) 0,var(--pp-card) calc((100% / var(--pp-gantt-weeks)) - 1px),var(--pp-soft-line) calc((100% / var(--pp-gantt-weeks)) - 1px),var(--pp-soft-line) calc(100% / var(--pp-gantt-weeks)))}.pp-gantt-bar{position:relative;z-index:3;display:grid;min-width:48px;height:42px;align-self:center;align-items:center;margin:0 6px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--pp-accent) 68%,var(--pp-line));border-radius:9px;overflow:visible;background:color-mix(in srgb,var(--pp-paper) 84%,var(--pp-panel));color:var(--pp-ink);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;box-shadow:0 1px 2px #1c221d1a,0 5px 14px #1c221d12;transition:border-color .14s ease,box-shadow .14s ease,transform 90ms ease}.pp-gantt-bar:hover,.pp-gantt-bar:focus-visible{outline:2px solid var(--pp-accent);outline-offset:2px;box-shadow:0 2px 4px #1c221d1f,0 10px 24px #1c221d1a}.pp-gantt-bar:active,.pp-gantt-bar--moving{cursor:grabbing}.pp-gantt-bar--moving,.pp-gantt-bar--resizing{z-index:8;transition:none}.pp-gantt-bar--empty{border-style:dashed;opacity:.62;cursor:not-allowed}.pp-gantt-bar--current-ghost{z-index:1;height:34px;margin:0 8px;border:1px dashed color-mix(in srgb,var(--pp-muted) 46%,transparent);overflow:hidden;background:color-mix(in srgb,var(--pp-muted) 7%,transparent);color:var(--pp-muted);box-shadow:none;opacity:.58;pointer-events:none}.pp-gantt-bar--current-ghost>span{overflow:hidden;font-size:.54rem;font-weight:800;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.pp-gantt-bar--recommended{z-index:4;border-color:var(--pp-accent);background:color-mix(in srgb,var(--pp-accent) 7%,var(--pp-paper));cursor:default;box-shadow:0 2px 6px #1c221d1f,0 10px 22px color-mix(in srgb,var(--pp-accent) 12%,transparent)}.pp-gantt-panel--comparison .pp-gantt-resize,.pp-gantt-panel--comparison .pp-gantt-port,.pp-gantt-panel--comparison .pp-gantt-link-action,.pp-gantt-panel--comparison .pp-gantt-link-hit{display:none;pointer-events:none}.pp-gantt-bar-segments{position:absolute;z-index:0;top:2px;right:2px;bottom:2px;left:2px;display:grid;gap:2px;overflow:hidden;border-radius:6px;pointer-events:none}.pp-gantt-bar-segment{min-width:0;border-radius:4px}.pp-gantt-bar-segment--occupied{background:color-mix(in srgb,var(--pp-accent) 22%,var(--pp-paper))}.pp-gantt-bar-segment--gap{background:repeating-linear-gradient(135deg,transparent 0 5px,color-mix(in srgb,var(--warning, #94600f) 20%,transparent) 5px 7px)}.pp-gantt-bar-segment--empty{background:color-mix(in srgb,var(--pp-panel) 74%,transparent)}.pp-gantt-bar-copy{position:relative;z-index:2;display:grid;min-width:0;gap:2px;padding:0 7px;pointer-events:none}.pp-gantt-bar-copy b{overflow:hidden;font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.pp-gantt-bar-copy small{color:var(--pp-muted);font-size:.58rem}.pp-gantt-bar>em{position:absolute;top:-9px;right:8px;padding:2px 5px;border-radius:5px;background:var(--pp-accent);color:var(--pp-paper);font-size:.55rem;font-style:normal;font-weight:850}.pp-gantt-resize{position:absolute;z-index:8;bottom:-7px;width:18px;height:14px;padding:0;border:0;background:transparent;cursor:ew-resize;touch-action:none}.pp-gantt-resize:after{content:"";position:absolute;top:-7px;right:-6px;bottom:-7px;left:-6px}.pp-gantt-resize>span{position:absolute;top:2px;right:4px;bottom:2px;left:4px;border:1px solid color-mix(in srgb,var(--pp-accent) 70%,var(--pp-paper));border-radius:3px;background:var(--pp-paper);box-shadow:0 1px 3px #1c221d33}.pp-gantt-resize--start{left:8px}.pp-gantt-resize--end{right:8px}.pp-gantt-resize:focus-visible{outline:2px solid var(--pp-accent);outline-offset:4px}.pp-gantt-panel--gaps .pp-gantt-bar{cursor:default}.pp-gantt-port{position:absolute;z-index:9;top:50%;width:14px;height:14px;padding:0;border:3px solid var(--pp-paper);border-radius:50%;transform:translateY(-50%);box-shadow:0 0 0 1px var(--pp-accent);transition:background .12s ease,box-shadow .12s ease,transform .12s ease;touch-action:none}.pp-gantt-port--start{left:-7px;background:var(--pp-paper);pointer-events:auto;cursor:crosshair}.pp-gantt-port--finish{right:-7px;background:var(--pp-accent);cursor:crosshair}.pp-gantt-port--start:after,.pp-gantt-port--finish:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.pp-gantt-port--eligible{box-shadow:0 0 0 1px var(--pp-accent),0 0 0 5px color-mix(in srgb,var(--pp-accent) 12%,transparent)}.pp-gantt-port--hot{background:var(--pp-accent);box-shadow:0 0 0 2px var(--pp-paper),0 0 0 6px color-mix(in srgb,var(--pp-accent) 28%,transparent);transform:translateY(-50%) scale(1.18)}.pp-gantt-port--finish:focus-visible{outline:2px solid var(--pp-accent);outline-offset:4px}.pp-gantt-links{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.pp-gantt-links .pp-gantt-link{fill:none;stroke:var(--pp-accent);stroke-width:1.5;opacity:.74;marker-end:url(#pp-gantt-arrow)}.pp-gantt-links .pp-gantt-link--selected{stroke:var(--warning, #94600f);stroke-width:2.5;opacity:1}.pp-gantt-links .pp-gantt-link-hit{fill:none;stroke:transparent;stroke-width:16;pointer-events:none}.pp-gantt-panel--dependencies .pp-gantt-link-hit{pointer-events:stroke;cursor:pointer}.pp-gantt-links .pp-gantt-link-hit:focus{stroke:color-mix(in srgb,var(--pp-accent) 18%,transparent);outline:none}.pp-gantt-links marker path{fill:var(--pp-accent);stroke:none}.pp-gantt-links .pp-gantt-link-live{fill:none;stroke:var(--pp-accent);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:10 7;opacity:1;filter:drop-shadow(0 1px 2px color-mix(in srgb,var(--pp-accent) 34%,transparent));animation:ppGanttDependencyFlow .56s linear infinite}.pp-gantt-links .pp-gantt-link-live--hot{stroke-width:3}@keyframes ppGanttDependencyFlow{to{stroke-dashoffset:-34}}@media (prefers-reduced-motion: reduce){.pp-gantt-links .pp-gantt-link-live{animation:none;stroke-dasharray:none}.pp-gantt-bar--recommended{transition:none}}.pp-gantt-link-action{position:absolute;z-index:7;display:none;width:24px;height:24px;place-content:center;padding:0;border:2px solid var(--pp-paper);border-radius:50%;background:var(--danger, #9d4141);color:#fff;transform:translate(-50%,-50%);box-shadow:0 1px 4px #1c221d38;cursor:pointer}.pp-gantt-panel--dependencies .pp-gantt-link-action{display:grid}.pp-gantt-panel--comparison.pp-gantt-panel--dependencies .pp-gantt-link-action{display:none}.pp-gantt-link-action:hover{transform:translate(-50%,-50%) scale(1.08)}.pp-gantt-link-action:focus-visible{outline:2px solid var(--pp-accent);outline-offset:2px}.pp-gantt-link-action:disabled{opacity:.55;cursor:wait}.pp-gantt-foot{display:flex;align-items:center;gap:7px;padding:8px 16px;border-top:1px solid var(--pp-line);color:var(--pp-muted);font-size:.62rem}.pp-matrix-disclosure{margin:0 12px 12px;border:1px solid var(--pp-line);border-radius:10px;background:var(--pp-paper)}.pp-matrix-disclosure>summary{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:16px;padding:8px 12px;color:var(--pp-ink);cursor:pointer;list-style:none}.pp-matrix-disclosure>summary::-webkit-details-marker{display:none}.pp-matrix-disclosure>summary>span{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:800}.pp-matrix-disclosure>summary small{color:var(--pp-muted);font-size:.62rem}.pp-matrix-disclosure[open]>summary{border-bottom:1px solid var(--pp-line)}.pp-shape-heading{align-items:end}.pp-shape-controls{flex-wrap:wrap;justify-content:flex-end;gap:7px}.pp-shape-controls input{width:112px;padding:5px 7px}.pp-shape-controls label:nth-child(2) input{width:62px}.pp-shape-controls button{align-self:end;padding:5px 8px;font-size:.7rem}.pp-phase-controls{justify-content:flex-start;gap:7px;padding:8px 14px;border-bottom:1px solid var(--pp-line);background:#fafbfa;color:#606560;font-size:.69rem}.pp-phase-controls>span:first-child{font-weight:720}.pp-phase-controls label{display:inline-flex;align-items:center;gap:4px}.pp-phase-controls input{width:48px;min-height:29px;padding:4px}.pp-phase-controls button{min-height:29px;padding:4px 8px}.pp-phase-controls button:disabled{opacity:.4}.pp-zoom-hint{margin-left:auto;color:#81847f}.pp-matrix-scroll{max-width:100%;overflow:auto;overscroll-behavior:contain}.pp-matrix{display:grid;min-width:calc(290px + var(--pp-weeks) * 94px * var(--pp-zoom));grid-template-columns:290px repeat(var(--pp-weeks),minmax(calc(82px * var(--pp-zoom)),1fr));align-items:stretch;font-size:calc(.78rem * var(--pp-zoom));font-variant-numeric:tabular-nums}.pp-matrix-row{display:contents}.pp-matrix-corner,.pp-week-head,.pp-matrix-label,.pp-matrix-cell,.pp-matrix-total,.pp-matrix-total-cell{min-width:0;border-right:1px solid var(--pp-soft-line);border-bottom:1px solid var(--pp-soft-line)}.pp-matrix-corner,.pp-week-head{position:sticky;top:0;z-index:3;background:#e7eae7}.pp-matrix-corner{left:0;z-index:4;display:grid;gap:3px;padding:10px 12px}.pp-matrix-corner span{color:#626762;font-weight:720}.pp-matrix-corner b{color:#858782;font-size:.64rem;font-weight:600}.pp-week-head{display:grid;min-height:72px;place-items:center;align-content:center;gap:2px;padding:6px;color:#5b605b;text-align:center}.pp-week-head span{font-size:.62rem;font-weight:760;letter-spacing:.06em}.pp-week-head b{font-size:.7rem}.pp-week-head em{color:#486457;font-size:.57rem;font-style:normal;font-weight:800;letter-spacing:.08em}.pp-week-head--gap{background:#daddda;color:#818681}.pp-matrix-label{position:sticky;left:0;z-index:2;display:grid;grid-template-columns:54px 1fr;gap:2px 8px;padding:9px 12px;background:#f3f5f3}.pp-matrix-label>span{grid-row:1 / 3;color:#4e6157;font-size:.69rem;font-weight:780}.pp-matrix-label b{overflow:hidden;color:#363a36;text-overflow:ellipsis;white-space:nowrap}.pp-matrix-label small{color:#777a75;font-size:.62rem}.pp-matrix-cell{display:grid;min-height:57px;place-items:center;padding:6px;background:#fff}.pp-matrix-cell--gap{background:repeating-linear-gradient(135deg,#ecefec 0,#ecefec 6px,#e3e6e3 6px,#e3e6e3 12px)}.pp-matrix-cell input{width:100%;min-width:56px;min-height:33px;padding:5px;border:1px solid #c6c0b6;border-radius:3px;background:#ffffffe0;color:#303530;font:inherit;text-align:center}.pp-matrix-cell input:focus{outline:2px solid #7a8e82;outline-offset:1px}.pp-matrix-total{position:sticky;left:0;z-index:2;padding:9px 12px;background:#e8ebe8;font-weight:730}.pp-matrix-total-cell{padding:9px 6px;background:#e8ebe8;color:#4e554f;font-weight:720;text-align:center}.pp-footer{justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid #c9c3b9;background:#f3f5f3}.pp-footer>div{gap:7px;color:#606660;font-size:.73rem}.pp-footer svg{color:#486457}.pp-project-header{align-items:flex-end}.pp-project-controls{display:flex;flex:0 0 auto;align-items:flex-end;gap:8px}.pp-project-controls label{display:grid;gap:3px;color:var(--pp-muted);font-size:.64rem;font-weight:760;letter-spacing:.07em;text-transform:uppercase}.pp-project-controls input{width:132px;min-height:36px;padding:6px 8px;border:1px solid var(--pp-line);border-radius:8px;background:var(--pp-card);color:var(--pp-ink);font:inherit;font-variant-numeric:tabular-nums}.pp-project-controls label:nth-child(2) input{width:72px}.pp-project-controls .btn{min-height:36px;border-radius:8px}.pp-project-body{display:grid;gap:12px}.pp-project-roster,.pp-batch-panel,.pp-project-timeline-panel{border:1px solid var(--pp-line);border-radius:12px;background:var(--pp-paper);overflow:hidden}.pp-project-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--pp-line);background:var(--pp-panel)}.pp-project-section-head h3{margin-top:2px;font-size:.92rem;line-height:1.2}.pp-project-section-head>span,.pp-project-section-head>p{color:var(--pp-muted);font-size:.68rem;line-height:1.35}.pp-table-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;background:var(--pp-line)}.pp-table-card{min-width:0;background:var(--pp-card);transition:background .14s ease}.pp-table-card--ready{box-shadow:inset 3px 0 0 var(--pp-accent)}.pp-table-card--error{box-shadow:inset 3px 0 #a46148}.pp-table-card-main{display:grid;width:100%;min-height:74px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.pp-table-card-main:hover,.pp-table-card-main:focus-visible{outline:0;background:color-mix(in srgb,var(--pp-accent) 7%,var(--pp-card))}.pp-table-index{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--pp-line);border-radius:8px;background:var(--pp-panel);color:var(--pp-muted);font-size:.64rem;font-weight:800;font-variant-numeric:tabular-nums}.pp-table-card-copy{display:grid;gap:4px;min-width:0}.pp-table-card-copy b{overflow:hidden;font-size:.83rem;text-overflow:ellipsis;white-space:nowrap}.pp-table-card-copy small{overflow:hidden;color:var(--pp-muted);font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.pp-table-card-main>svg{color:var(--pp-muted)}.pp-table-card-facts{display:flex;min-height:38px;align-items:center;gap:10px;padding:7px 12px;border-top:1px solid var(--pp-soft-line);color:var(--pp-muted);font-size:.63rem}.pp-table-card-facts>span{display:inline-flex;align-items:center;gap:4px}.pp-table-card-facts>button{margin-left:auto;padding:4px 6px;border:0;border-radius:6px;background:transparent;color:var(--pp-accent);font:760 .63rem var(--font-body);cursor:pointer}.pp-table-card-facts>button:hover,.pp-table-card-facts>button:focus-visible{outline:0;background:color-mix(in srgb,var(--pp-accent) 9%,transparent)}.pp-table-card>p{padding:0 12px 10px;color:#8b4c39;font-size:.62rem;line-height:1.35}.pp-table-error{color:#8b4c39}.pp-project-partial{margin:0;border-radius:10px}.pp-project-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--pp-line);border-radius:12px;overflow:hidden;background:var(--pp-line)}.pp-project-summary>div{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;padding:12px 14px;background:var(--pp-card)}.pp-project-summary svg{color:var(--pp-accent)}.pp-project-summary span{color:var(--pp-muted);font-size:.67rem}.pp-project-summary strong{font-size:.88rem;font-variant-numeric:tabular-nums}.pp-batch-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--pp-line)}.pp-batch-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:12px 14px;background:var(--pp-card)}.pp-batch-number{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--pp-accent) 13%,var(--pp-panel));color:var(--pp-accent);font-size:.64rem;font-weight:850}.pp-batch-list article>div{display:grid;gap:2px;min-width:0}.pp-batch-list article b{color:var(--pp-accent);font-size:.62rem;letter-spacing:.06em}.pp-batch-list article strong{overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.pp-batch-list article small{overflow:hidden;color:var(--pp-muted);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.pp-batch-list article>span:last-child{color:var(--pp-muted);font-size:.64rem;font-variant-numeric:tabular-nums;white-space:nowrap}.pp-project-timeline-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x pan-y}.pp-project-timeline{display:grid;min-width:calc(220px + var(--pp-project-weeks) * 132px);grid-template-columns:220px repeat(var(--pp-project-weeks),minmax(132px,1fr));align-items:stretch;background:var(--pp-soft-line);font-variant-numeric:tabular-nums}.pp-project-corner,.pp-project-week{position:sticky;top:0;z-index:4;min-height:62px;border-right:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line);background:var(--pp-panel)}.pp-project-corner{left:0;z-index:5;display:grid;align-content:center;gap:3px;padding:10px 14px}.pp-project-corner span{color:var(--pp-muted);font-size:.64rem;font-weight:760;text-transform:uppercase}.pp-project-corner b{font-size:.68rem;font-weight:600}.pp-project-week{display:grid;place-items:center;align-content:center;gap:2px;padding:8px;text-align:center}.pp-project-week span{color:var(--pp-muted);font-size:.58rem;font-weight:800;letter-spacing:.07em}.pp-project-week b{font-size:.68rem}.pp-project-week em{color:var(--pp-accent);font-size:.55rem;font-style:normal;font-weight:850;letter-spacing:.1em}.pp-project-week--ship{box-shadow:inset -3px 0 0 var(--pp-accent)}.pp-project-lane{display:contents}.pp-project-lane-label{position:sticky;left:0;z-index:3;display:grid;align-content:center;gap:2px;min-height:60px;padding:10px 14px;border-right:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line);background:var(--pp-paper)}.pp-project-lane-label b{color:var(--pp-accent);font-size:.7rem;letter-spacing:.04em}.pp-project-lane-label span,.pp-project-lane-label small{color:var(--pp-muted);font-size:.6rem}.pp-project-lane-track{display:grid;grid-column:2 / -1;grid-template-columns:repeat(var(--pp-project-weeks),minmax(132px,1fr));grid-template-rows:repeat(var(--pp-lane-rows),minmax(44px,auto));gap:5px 0;min-height:60px;padding:7px 0;border-bottom:1px solid var(--pp-line);background:repeating-linear-gradient(to right,var(--pp-card) 0,var(--pp-card) calc((100% / var(--pp-project-weeks)) - 1px),var(--pp-soft-line) calc((100% / var(--pp-project-weeks)) - 1px),var(--pp-soft-line) calc(100% / var(--pp-project-weeks)))}.pp-project-bar{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:2px 8px;margin:0 5px;padding:7px 9px;border:0;border-left:3px solid currentColor;border-radius:8px;background:#e4ebe6;color:#3f5f50;text-align:left;cursor:pointer;box-shadow:0 1px 2px #1c221d17;transition:transform .12s ease,box-shadow .12s ease}.pp-project-bar:hover,.pp-project-bar:focus-visible{z-index:2;outline:2px solid currentColor;outline-offset:1px;transform:translateY(-1px);box-shadow:0 6px 14px #1c221d21}.pp-project-bar span{grid-column:1 / -1;overflow:hidden;font-size:.54rem;font-weight:800;letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.pp-project-bar b{overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.pp-project-bar strong{font-size:.64rem;font-variant-numeric:tabular-nums}.pp-project-bar--1{background:#eee8df;color:#755d3f}.pp-project-bar--2{background:#e4e9ef;color:#456078}.pp-project-bar--3{background:#eee6ed;color:#74516e}.pp-project-bar--4{background:#e7ece2;color:#536a43}.pp-project-bar--5{background:#eee8e5;color:#78564a}.pp-project-bar--batch{box-shadow:inset 0 0 0 1px currentColor,0 1px 2px #1c221d17}.pp-project-empty{display:flex;min-height:168px;align-items:center;justify-content:center;gap:14px;padding:28px;border:1px dashed var(--pp-line);border-radius:12px;background:color-mix(in srgb,var(--pp-paper) 78%,transparent);color:var(--pp-muted)}.pp-project-empty>div{max-width:620px}.pp-project-empty h3{color:var(--pp-ink);font-size:.92rem}.pp-project-empty p{margin-top:4px;font-size:.72rem;line-height:1.45}.pp-back-project{display:inline-flex;min-height:36px;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--pp-line);border-radius:8px;background:var(--pp-paper);color:var(--pp-ink);font:720 .7rem var(--font-body);cursor:pointer}.pp-current-table{display:grid;gap:2px;min-width:170px;padding:5px 9px;border-left:1px solid var(--pp-line);font-size:.72rem}.pp-current-table b{color:var(--pp-muted);font-size:.57rem;letter-spacing:.08em;text-transform:uppercase}@media (max-width: 1100px){.pp-header{align-items:flex-start;flex-direction:column}.pp-project-controls{width:100%;flex-wrap:wrap}.pp-header-controls{width:100%;justify-content:flex-start;flex-wrap:wrap}.pp-header-controls select{width:min(360px,55vw)}.pp-setup{grid-template-columns:auto 1fr 150px 80px}.pp-setup .btn{grid-column:2 / -1;justify-self:end}.pp-facts{grid-template-columns:minmax(210px,1.4fr) repeat(4,minmax(92px,.6fr))}.pp-shape-heading{align-items:flex-start;flex-direction:column}.pp-shape-controls{justify-content:flex-start}}@media (max-width: 860px){.pp-workspace{padding:10px}.pp-setup{grid-template-columns:1fr 1fr;align-items:end}.pp-setup-icon{display:none}.pp-setup>div:nth-child(2){grid-column:1 / -1}.pp-setup .btn{grid-column:1 / -1;width:100%;justify-content:center}.pp-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-facts>div{border-bottom:1px solid var(--pp-line)}.pp-facts>div:first-child{grid-column:1 / -1}.pp-panel-heading{align-items:flex-start;flex-direction:column}.pp-panel-heading>p{text-align:left}.pp-stage-board{padding:10px}.pp-dependency-diagram{align-items:flex-start;flex-direction:column}.pp-phase-controls{flex-wrap:wrap}.pp-zoom-hint{width:100%;margin-left:0}.pp-footer{align-items:stretch;flex-direction:column}.pp-footer .btn{justify-content:center}.pp-project-controls label:first-child{flex:1 1 150px}.pp-project-controls label:first-child input{width:100%}.pp-project-controls .btn{flex:1 1 100%;justify-content:center}.pp-project-section-head{align-items:flex-start;flex-direction:column;gap:6px}.pp-table-roster{display:flex;overflow-x:auto}.pp-table-card{flex:0 0 min(300px,calc(100vw - 44px))}.pp-project-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-batch-list{grid-template-columns:1fr}.pp-gantt-toolbar{align-items:flex-start;flex-direction:column}.pp-gantt-modes{width:100%}.pp-gantt-modes button{justify-content:center}.pp-schedule-recommendation{grid-template-columns:auto minmax(0,1fr);align-items:start}.pp-schedule-recommendation-actions{grid-column:1 / -1}.pp-schedule-recommendation-actions .btn{flex:1 1 0;justify-content:center}.pp-timing-warning-head{align-items:stretch;flex-direction:column}.pp-recommend-schedule-button{justify-content:center}.pp-matrix-disclosure>summary{align-items:flex-start;flex-direction:column;gap:4px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}html{font-size:15px}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent-text);text-decoration:none}a:hover{color:var(--green-700)}.scroll-fade{position:relative;min-width:0}.scroll-fade--start:before,.scroll-fade--end:after{content:"";position:absolute;z-index:var(--scroll-fade-z, 0);pointer-events:none;opacity:0;transition:opacity var(--scroll-fade-ms) ease}.scroll-fade--x.scroll-fade--start:before,.scroll-fade--x.scroll-fade--end:after{top:var(--scroll-fade-inset, 0px);bottom:var(--scroll-fade-inset, 0px);width:var(--scroll-fade-size)}.scroll-fade--x.scroll-fade--start:before{left:var(--scroll-fade-inset, 0px);border-radius:var(--scroll-fade-radius, 0px) 0 0 var(--scroll-fade-radius, 0px);background:linear-gradient(to right,var(--scroll-fade-color, var(--bg-primary)),transparent)}.scroll-fade--x.scroll-fade--end:after{right:var(--scroll-fade-inset, 0px);border-radius:0 var(--scroll-fade-radius, 0px) var(--scroll-fade-radius, 0px) 0;background:linear-gradient(to left,var(--scroll-fade-color, var(--bg-primary)),transparent)}.scroll-fade--y.scroll-fade--start:before,.scroll-fade--y.scroll-fade--end:after{left:var(--scroll-fade-inset, 0px);right:var(--scroll-fade-inset, 0px);height:var(--scroll-fade-size)}.scroll-fade--y.scroll-fade--start:before{top:var(--scroll-fade-inset, 0px);border-radius:var(--scroll-fade-radius, 0px) var(--scroll-fade-radius, 0px) 0 0;background:linear-gradient(to bottom,var(--scroll-fade-color, var(--bg-primary)),transparent)}.scroll-fade--y.scroll-fade--end:after{bottom:var(--scroll-fade-inset, 0px);border-radius:0 0 var(--scroll-fade-radius, 0px) var(--scroll-fade-radius, 0px);background:linear-gradient(to top,var(--scroll-fade-color, var(--bg-primary)),transparent)}.scroll-fade--blur.scroll-fade--start:before,.scroll-fade--blur.scroll-fade--end:after{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.scroll-fade--x.scroll-fade--blur.scroll-fade--start:before{mask-image:linear-gradient(to right,black,transparent);-webkit-mask-image:linear-gradient(to right,black,transparent)}.scroll-fade--x.scroll-fade--blur.scroll-fade--end:after{mask-image:linear-gradient(to left,black,transparent);-webkit-mask-image:linear-gradient(to left,black,transparent)}.scroll-fade--y.scroll-fade--blur.scroll-fade--start:before{mask-image:linear-gradient(to bottom,black,transparent);-webkit-mask-image:linear-gradient(to bottom,black,transparent)}.scroll-fade--y.scroll-fade--blur.scroll-fade--end:after{mask-image:linear-gradient(to top,black,transparent);-webkit-mask-image:linear-gradient(to top,black,transparent)}.scroll-fade.scroll-fade--start[data-at-start=false]:before{opacity:1}.scroll-fade.scroll-fade--end[data-at-end=false]:after{opacity:1}.app-layout{display:flex;min-height:100vh}.app-sidebar{width:240px;background:var(--bg-surface);border-right:1px solid var(--border-subtle);padding:24px 16px;display:flex;flex-direction:column;gap:8px;position:fixed;top:0;left:0;bottom:0;z-index:10;transition:width .2s ease}.app-sidebar--collapsed{width:60px;padding:24px 8px}.app-main{flex:1;margin-left:240px;padding:32px 40px;max-width:100%;transition:margin-left .2s ease}.app-layout--sidebar-collapsed .app-main{margin-left:60px}.sidebar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;min-height:32px}.sidebar-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);flex-shrink:0}.sidebar-toggle:hover{color:var(--text-primary);background:var(--neutral-800)}.app-sidebar--collapsed .sidebar-top{flex-direction:column;gap:8px}.sidebar-logo{padding:8px 12px;overflow:hidden;display:flex;align-items:center}.sidebar-logo-img{height:36px;width:auto;object-fit:contain}.sidebar-logo-icon{height:28px;width:28px;object-fit:contain}.app-sidebar--collapsed .sidebar-logo{padding:4px 0;justify-content:center;width:100%}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:all .15s;white-space:nowrap;overflow:hidden}.sidebar-link:hover{background:var(--neutral-800);color:var(--text-primary)}.sidebar-link.active{background:var(--accent-dim);color:var(--accent-text)}.sidebar-link svg{width:18px;height:18px;opacity:.7;flex-shrink:0}.app-sidebar--collapsed .sidebar-link{justify-content:center;padding:10px 8px}.app-sidebar--collapsed .sidebar-link span{display:none}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:16px;flex-wrap:wrap}.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.quote-header-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.page-title{font-size:1.6rem;font-weight:700;letter-spacing:-.03em}.page-subtitle{color:var(--text-secondary);font-size:.9rem;margin-top:4px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.875rem;font-weight:600;border:none;cursor:pointer;transition:all .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--green-600);color:#fff;box-shadow:var(--shadow-raised)}.btn-primary:hover{background:var(--green-500)}.btn-secondary{background:var(--neutral-750);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--neutral-700)}.btn-cost{background:var(--cost-bg);color:var(--cost-text);border:1px solid var(--cost-border)}.btn-cost:hover{background:var(--orange-800)}.btn-hours{background:var(--hours-bg);color:var(--hours-text);border:1px solid var(--hours-border)}.btn-hours:hover{background:var(--purple-800)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:8px 12px}.btn-ghost:hover{color:var(--text-primary);background:var(--neutral-800)}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-danger{background:transparent;color:#c45a5a;border:1px solid #e0a0a0}.btn-danger:hover{background:#fdf0f0}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-raised)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-size:1rem;font-weight:600;letter-spacing:-.01em}.muted-copy{color:var(--text-muted)}.quote-canvas-shell{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}.quote-canvas-left{position:sticky;top:12px;display:flex;flex-direction:column;gap:6px;width:280px;transition:width .2s ease}.quote-canvas-left--unpinned{width:0;gap:8px}.quote-canvas-left--revealed{width:280px;gap:6px}.sp-pin-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px}.sp-pin-header-title{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.sp-pin-header-actions{display:flex;align-items:center;gap:2px}.sp-pin-btn,.sp-overlay-close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s,color .12s}.sp-pin-btn:hover,.sp-overlay-close:hover{color:var(--text-primary);background:var(--neutral-800)}.sp-pin-btn:focus-visible,.sp-overlay-close:focus-visible,.sp-handle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sp-pin-btn--active,.sp-pin-btn--active:hover{color:var(--accent-text);background:var(--accent-dim)}.sp-handle{position:sticky;top:12px;margin-left:-40px;display:flex;align-items:center;justify-content:center;width:18px;height:46px;padding:0;background:var(--bg-card);border:1px solid var(--border);border-left:none;border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.sp-handle:hover{background:var(--neutral-800);border-color:var(--neutral-600);color:var(--text-primary)}.sp-overlay{display:none;flex-direction:column;gap:6px;width:100%;min-width:0}.sp-overlay--open{display:flex}@media (prefers-reduced-motion: reduce){.quote-canvas-left{transition:none}}.canvas-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px}.canvas-panel-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px}.option-tabs{display:flex;flex-direction:column;gap:6px}.option-tab{text-align:left;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer}.option-tab.active{background:var(--accent-dim);color:var(--accent-text);border-color:var(--green-600)}.option-tab-name{display:block;font-size:.82rem}.option-tab-note{display:block;font-size:.7rem;color:var(--text-muted);margin-top:2px}.sp-set-actions{display:flex;align-items:center;gap:6px;margin-top:8px}.sp-rename-field{margin-top:8px}.sp-duplicate-btn{flex:1;justify-content:center}.sp-duplicate-hint{font-size:.7rem;color:var(--text-muted);text-align:center;margin-top:5px}.sp-duplicate-error{font-size:.72rem;color:var(--status-lost);margin-top:6px}.totals-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.totals-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.totals-value{font-family:var(--font-mono);font-size:.95rem;color:var(--green-600)}.totals-value.final{color:var(--green-600);font-weight:700}.totals-value.hours{color:var(--hours-text)}.totals-value.cost{color:var(--cost-text)}.row-label-list{list-style:none;display:flex;flex-direction:column;gap:8px}.row-label-list li{font-size:.82rem;color:var(--text-secondary);padding:5px 8px;border-radius:var(--radius-sm);background:var(--bg-elevated)}.quote-canvas-right{overflow-x:auto;padding-bottom:8px}.product-columns{display:flex;gap:12px;min-height:200px}.add-product-column{min-width:240px;border:1px dashed var(--border);border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;cursor:pointer}.add-product-column:hover{border-color:var(--green-600);color:var(--green-600)}.product-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s}.product-card:hover{border-color:var(--neutral-600)}.product-card-column{min-width:560px;max-width:560px}.product-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none}.product-card-header:hover{background:var(--neutral-750)}.product-card-title{display:flex;align-items:center;gap:12px}.product-card-title h3{font-size:.95rem;font-weight:600}.product-material-badge{padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:600;background:var(--accent-dim);color:var(--accent-text)}.product-card-summary{display:flex;gap:20px;align-items:center}.summary-stat{text-align:right}.summary-stat .label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.summary-stat .value{font-family:var(--font-mono);font-size:.9rem;font-weight:500}.summary-stat .value.cost-val{color:var(--cost-text)}.summary-stat .value.hours-val{color:var(--hours-text)}.summary-stat .value.price-val{color:var(--green-600)}.product-card-body{padding:0 20px 20px;display:flex;flex-direction:column;gap:20px}.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.subsection-title{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:-8px}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.field input,.field select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-family:var(--font-body);font-size:.875rem;color:var(--text-primary);transition:border-color .15s;box-shadow:var(--shadow-inset)}.field input:focus,.field select:focus{outline:none;border-color:var(--accent)}.field input::placeholder{color:var(--text-muted)}.field select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235a6662' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}.blocks-section{border-radius:var(--radius-md);padding:16px}.blocks-section.cost-section{background:var(--cost-bg);border:1px solid var(--cost-border)}.blocks-section.hours-section{background:var(--hours-bg);border:1px solid var(--hours-border)}.blocks-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.blocks-section-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.blocks-section.cost-section .blocks-section-title{color:var(--cost-text)}.blocks-section.hours-section .blocks-section-title{color:var(--hours-text)}.block-row{display:grid;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.04)}.block-row-header{border-bottom:1px solid rgba(0,0,0,.06);padding-bottom:6px;margin-bottom:4px}.block-row-header span{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.block-row-cost{grid-template-columns:1.3fr .9fr .85fr .6fr .75fr .8fr 36px}.block-row-labor{grid-template-columns:1.3fr .95fr .8fr .75fr .8fr 36px}.block-row-header.block-row-cost{grid-template-columns:1.3fr .9fr .85fr .6fr .75fr .8fr 36px}.block-row-header.block-row-labor{grid-template-columns:1.3fr .95fr .8fr .75fr .8fr 36px}.block-row:last-child{border-bottom:none}.block-row input,.block-row select{background:#00000008;border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-sm);padding:6px 10px;font-family:var(--font-body);font-size:.83rem;color:var(--text-primary)}.block-row input:focus,.block-row select:focus{outline:none;border-color:#0000001f}.block-computed{font-family:var(--font-mono);font-size:.83rem;text-align:right;opacity:.8}.block-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.block-delete:hover{color:#c45a5a;background:#c45a5a14}.pricing-summary{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.pricing-item{display:flex;flex-direction:column;gap:2px}.pricing-item .label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.pricing-item .value{font-family:var(--font-mono);font-size:1.05rem;font-weight:600}.pricing-item .value.final{color:var(--green-600);font-size:1.2rem}.quote-list{display:flex;flex-direction:column;gap:8px}.quote-list-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.quote-search{position:relative;display:flex;align-items:center;flex:0 1 340px;min-width:220px}.quote-search-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.quote-search-input{width:100%;height:34px;padding:0 30px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.82rem;transition:border-color .15s ease}.quote-search-input:focus{outline:none;border-color:var(--accent)}.quote-search-input::placeholder{color:var(--text-muted)}.quote-search-clear{position:absolute;right:6px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer}.quote-search-clear:hover{color:var(--text-primary);background:var(--neutral-800)}.quote-status-chips{display:flex;gap:8px;flex-wrap:wrap}.quote-client{font-size:.82rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-row{display:grid;grid-template-columns:100px 1.4fr 1fr 100px 120px 120px 100px 32px;gap:16px;align-items:center;padding:14px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s;box-shadow:var(--shadow-raised)}.quote-row:hover{border-color:var(--neutral-600);background:var(--neutral-750)}.quote-row .quote-id{font-family:var(--font-mono);font-size:.85rem;font-weight:500;color:var(--accent-text)}.quote-row .project-name{font-weight:600;font-size:.9rem}.status-badge{display:inline-flex;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.status-badge.draft{background:#9a949026;color:var(--status-draft)}.status-badge.quoted{background:#49554c1f;color:var(--status-quoted)}.status-badge.won{background:#49554c26;color:var(--status-won)}.status-badge.lost{background:#c45a5a1f;color:var(--status-lost)}.quote-row .price{font-family:var(--font-mono);font-weight:600;text-align:right;color:var(--green-600)}.quote-row .date{font-size:.8rem;color:var(--text-muted);text-align:right}.quote-row .quote-id--unnumbered{color:var(--text-muted);font-weight:400}.quote-row-action{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;padding:0;opacity:0;transition:opacity .15s,color .15s,background .15s}.quote-row:hover .quote-row-action,.quote-row-action:focus-visible{opacity:1}.quote-row-action:hover{color:var(--accent-text);background:var(--accent-dim)}.quote-row-action:disabled{cursor:default;opacity:.4}.catalog-search-row{margin-bottom:14px}.catalog-search-input{display:flex;align-items:center;gap:8px;max-width:420px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;color:var(--text-muted)}.catalog-search-input:focus-within{border-color:var(--accent);color:var(--text-secondary)}.catalog-search-input input{flex:1;min-width:0;background:transparent;border:none;font-size:.88rem;font-family:var(--font-body);color:var(--text-primary)}.catalog-search-input input:focus{outline:none}.catalog-list{display:flex;flex-direction:column;gap:6px}.catalog-row{display:grid;grid-template-columns:44px 110px 1.6fr 90px 90px 110px 130px 90px 90px;gap:14px;align-items:center;padding:8px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.82rem}.catalog-row--header{background:transparent;border:none;padding:0 16px 4px;font-size:.68rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.catalog-row--header span:nth-child(8),.catalog-row--header span:nth-child(9){text-align:right}.catalog-thumb{width:40px;height:40px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm)}.catalog-thumb--empty{display:block;background:var(--bg-elevated);border:1px dashed var(--border-subtle)}.catalog-vendor{font-weight:600;color:var(--accent-text)}.catalog-style{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-sku{font-family:var(--font-mono);font-size:.78rem;color:var(--text-secondary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted);gap:12px}.empty-state svg{opacity:.3}.empty-state p{font-size:.9rem}.notice{display:flex;flex-direction:column;gap:4px;border-radius:var(--radius-md);padding:12px 14px;border:1px solid var(--border);background:var(--bg-elevated)}.notice strong{font-size:.82rem;letter-spacing:.01em}.notice span{font-size:.87rem;color:var(--text-secondary)}.notice-error{border-color:#e0a0a0;background:#fdf0f0}.notice-warning{border-color:var(--orange-800);background:#fef8f0}.compact-notice{padding:10px 12px}.group-pool-banner{background:var(--bg-elevated);border:1px dashed var(--border);border-radius:var(--radius-md);padding:14px 20px;display:flex;align-items:center;justify-content:space-between}.group-pool-banner .pool-info{display:flex;align-items:center;gap:12px}.pool-tag{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:4px}.pool-tag.cost{background:var(--cost-bg);color:var(--cost-text);border:1px solid var(--cost-border)}.pool-tag.hours{background:var(--hours-bg);color:var(--hours-text);border:1px solid var(--hours-border)}.sp-row{display:flex;justify-content:space-between;align-items:baseline;padding:3px 0;gap:8px}.sp-row--indent{padding-left:12px}.sp-row-label{font-size:.78rem;color:var(--text-secondary);flex-shrink:0}.sp-row-value{font-family:var(--font-mono);font-size:.82rem;text-align:right;color:var(--text-primary)}.sp-divider{height:1px;background:var(--border-subtle);margin:6px 0}.sp-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sp-section-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.sp-add-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;padding:0}.sp-add-btn:hover{background:var(--accent-dim);color:var(--accent-text);border-color:var(--green-600)}.sp-icon-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:0}.sp-icon-btn:hover{color:var(--text-secondary)}.sp-icon-btn--danger:hover{color:#c45a5a;background:#c45a5a14}.sp-pool-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;margin-bottom:8px;background:var(--bg-elevated)}.sp-pool-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sp-pool-label{font-size:.8rem;font-weight:600;color:var(--text-primary)}.sp-pool-fields{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.sp-pool-field{display:flex;flex-direction:column;gap:3px;flex:1;min-width:80px}.sp-pool-field label{font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.sp-pool-field input,.sp-pool-field select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px;font-size:.8rem;color:var(--text-primary);font-family:var(--font-body)}.sp-pool-field input:focus,.sp-pool-field select:focus{outline:none;border-color:var(--accent)}.sp-pool-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%235a6662' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:24px;cursor:pointer}.sp-pool-members{display:flex;flex-direction:column;gap:4px}.sp-member-row{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.sp-member-row input[type=checkbox]{accent-color:var(--accent);width:13px;height:13px;cursor:pointer}.sp-member-share{margin-left:auto;font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.sp-detail-fields{display:flex;flex-direction:column;gap:8px;margin-top:8px}.sp-detail-fields .sp-pool-field{min-width:0}.sp-expandable-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:3px 0;color:var(--text-secondary)}.sp-expandable-header:hover{color:var(--text-primary)}.sp-inline-field{display:flex;align-items:center;gap:0}.sp-inline-prefix{font-size:.82rem;color:var(--text-muted);padding:5px 6px 5px 8px;background:var(--bg-input);border:1px solid var(--border);border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.sp-inline-field input{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:5px 8px;font-size:.82rem;color:var(--text-primary);font-family:var(--font-body)}.sp-inline-field input:focus{outline:none;border-color:var(--accent)}.sp-new-pool-form{border:1px dashed var(--border);border-radius:var(--radius-sm);padding:10px;margin-bottom:8px;background:var(--bg-elevated)}.sp-new-pool-actions{display:flex;gap:6px;margin-top:8px}.sp-empty{font-size:.78rem;color:var(--text-muted);text-align:center;padding:8px 0}.canvas-grid-wrapper{container-type:inline-size;overflow:auto;max-height:calc(100vh - var(--canvas-viewport-offset));overscroll-behavior:contain;scroll-padding-top:calc(var(--canvas-pin-block-h) + var(--cvs-strip-h) + var(--cvs-band-h) + 8px);padding-bottom:8px}.canvas-grid-fade{--scroll-fade-color: var(--bg-primary);--scroll-fade-z: 0}.canvas-grid{display:grid;gap:0;min-width:max-content;--canvas-col-w: 240px;--cvs-rollup-reserve: clamp(250px, 24vw, 380px)}.canvas-cell{padding:6px 8px;border-bottom:1px solid var(--border-subtle);min-height:36px;display:flex;align-items:center}.canvas-cell--header{position:sticky;top:0;z-index:4;background:var(--bg-primary);border-bottom:2px solid var(--border);padding-bottom:8px;height:var(--canvas-pin-header-h)}.canvas-cell--label{position:sticky;left:0;z-index:2;background:var(--bg-primary);width:var(--canvas-col-w, 240px);min-width:var(--canvas-col-w, 240px)}.canvas-cell--label:after{content:"";position:absolute;left:100%;top:0;bottom:0;width:var(--scroll-fade-size);pointer-events:none;background:linear-gradient(to right,var(--bg-primary),transparent);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);mask-image:linear-gradient(to right,black,transparent);-webkit-mask-image:linear-gradient(to right,black,transparent);opacity:1;transition:opacity var(--scroll-fade-ms) ease}.canvas-grid--pricing .canvas-cell--label:after{display:none}.canvas-grid-fade[data-at-start=true] .canvas-cell--label:after{opacity:0}.canvas-cell--header.canvas-cell--label{z-index:5}.canvas-grid-fade--summary-hidden{--canvas-pin-summary-h: 0px !important}.cvs-summary-visibility{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text-muted);font:inherit;font-size:11px;cursor:pointer}.cvs-summary-visibility:hover,.cvs-summary-visibility:focus-visible{color:var(--text-primary);border-color:var(--border);background:var(--bg-secondary)}.canvas-cell--value{width:240px;min-width:240px;justify-content:center}.canvas-cell--spacer{min-width:48px;border-bottom:none}.canvas-cell--block{align-items:flex-start;padding-top:8px;padding-bottom:8px}.cvs-header{position:sticky;top:calc(var(--canvas-pin-block-h) + var(--cvs-strip-offset));z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--cvs-band-h);padding:7px 12px;border-radius:var(--radius-sm);background:var(--bg-elevated)}.cvs-header:after{content:"";position:absolute;left:0;top:7px;bottom:7px;width:4px;border-radius:2px;background:var(--band-accent, var(--border))}.cvs-header:before{content:"";position:absolute;inset:calc(-1 * var(--cvs-band-gap)) 0 0 0;z-index:-1;background:linear-gradient(90deg,var(--band-fill, var(--bg-primary)) 0,var(--band-fill, var(--bg-primary)) var(--cvs-band-fill-w),var(--bg-primary) var(--cvs-band-fill-w))}.cvs-anchor{height:0;margin-top:var(--cvs-band-gap)}.cvs-strip{position:absolute;top:var(--canvas-pin-block-h);left:0;height:var(--cvs-strip-h);z-index:4;background:var(--bg-primary);--scroll-fade-size: var(--scroll-fade-size-sm)}.cvs-strip-rail{display:flex;align-items:flex-end;gap:4px;height:100%;padding:0 12px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.cvs-strip-rail::-webkit-scrollbar{display:none}.cvs-chip{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;max-width:190px;height:24px;padding:0 9px;border:1px solid var(--border);border-bottom:none;border-left:3px solid var(--border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--bg-elevated);color:var(--text-muted);font-family:var(--font-body);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.cvs-chip:hover{color:var(--text-primary);border-color:var(--neutral-600);background:var(--neutral-800)}.cvs-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cvs-chip-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.cvs-chip-rollup{font-family:var(--font-mono);font-size:.62rem;font-weight:600;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvs-chip--cost{border-left-color:var(--cost-accent)}.cvs-chip--cost .cvs-chip-rollup{color:var(--cost-text)}.cvs-chip--labor{border-left-color:var(--hours-accent)}.cvs-chip--labor .cvs-chip-rollup{color:var(--hours-text)}.cvs-chip--price{border-left-color:var(--accent)}.cvs-chip--price .cvs-chip-rollup{color:var(--accent-text)}@media (prefers-reduced-motion: reduce){.cvs-chip{transition:none}}.cvs-header-toggle-wrap:after,.cvs-header-right:before{content:"";position:absolute;top:-7px;bottom:-7px;width:var(--scroll-fade-size-sm);pointer-events:none;opacity:1;transition:opacity var(--scroll-fade-ms) ease}.cvs-header-toggle-wrap:after{left:100%;background:linear-gradient(to right,var(--bg-elevated),transparent)}.cvs-header-right:before{right:100%;background:linear-gradient(to left,var(--bg-elevated),transparent)}.canvas-grid-fade[data-at-start=true] .cvs-header-toggle-wrap:after{opacity:0}.canvas-grid-fade[data-at-end=true] .cvs-header-right:before{opacity:0}.cvs-header-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;padding:2px;cursor:pointer;color:var(--text-secondary);font-family:var(--font-body);transition:color .15s}.cvs-header-toggle:hover{color:var(--text-primary)}.qbp-banner-version-slot{display:flex;align-items:center;min-width:0}.qbp-banner-versions{display:flex;align-items:center;gap:3px;min-width:0;max-width:min(52vw,620px);overflow-x:auto;scrollbar-width:none}.qbp-banner-versions::-webkit-scrollbar{display:none}.qbp-banner-versions>span:first-child{margin-left:6px;color:var(--text-muted);font-size:.56rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}.qbp-banner-version{min-width:31px;height:23px;padding:0 7px;border:1px solid var(--workspace-line, var(--border));border-radius:4px 4px 0 0;background:var(--workspace-paper, var(--bg-card));color:var(--text-secondary);font:700 .62rem var(--font-mono);cursor:pointer}.qbp-banner-version:hover:not(:disabled),.qbp-banner-version--active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent-text)}.qbp-banner-version:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.qbp-banner-version:disabled{cursor:default;opacity:.55}.qbp-banner-next{padding:2px 6px;border:1px dashed var(--workspace-line, var(--border));border-radius:999px;color:var(--text-muted);font:.57rem var(--font-mono);white-space:nowrap}.cvs-header-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.cvs-header-label{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.cvs-header-right{position:sticky;right:12px;z-index:1;background:var(--bg-elevated);display:flex;align-items:center;gap:12px}.cvs-header-rollup{font-family:var(--font-mono);font-size:.74rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap}.cvs-header{--cvs-band-fill-w: 300px}.cvs-header--cost{--band-accent: var(--cost-accent);--band-fill: color-mix(in srgb, var(--cost-accent) 17%, var(--bg-elevated))}.cvs-header--cost .cvs-header-rollup{color:var(--cost-text)}.cvs-header--labor{--band-accent: var(--hours-accent);--band-fill: color-mix(in srgb, var(--hours-accent) 17%, var(--bg-elevated))}.cvs-header--labor .cvs-header-rollup{color:var(--hours-text)}.cvs-header--price{--band-accent: var(--accent);--band-fill: color-mix(in srgb, var(--accent) 17%, var(--bg-elevated))}.cvs-header--price .cvs-header-rollup{color:var(--accent-text)}.cvs-header--quote-builder{--band-accent: var(--accent);--band-fill: var(--workspace-section, var(--bg-elevated));--cvs-band-fill-w: 100%}.cvs-header--quote-builder .cvs-header-rollup{color:var(--accent-text)}.cvs-header--plain{--band-accent: var(--neutral-500)}.cvs-header--specs{--band-accent: var(--accent);--band-fill: color-mix(in srgb, var(--accent) 7%, var(--bg-elevated));--cvs-band-fill-w: 100%}.cvs-header--specs .cvs-header-rollup{color:var(--accent-text)}.cvs-labor-reveal-btn{background:none;border:none;padding:2px 4px;font-family:var(--font-body);font-size:.7rem;font-weight:600;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:color .15s}.cvs-labor-reveal-btn:hover{color:var(--hours-text)}.cvs-header-toggle-wrap{position:sticky;left:12px;z-index:1;background:var(--bg-elevated);display:flex;align-items:center;min-width:0}.cvs-bulk-zone{position:absolute;left:-16px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:15px;height:18px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);opacity:0;cursor:pointer;transition:opacity .15s ease,background .15s ease,color .15s ease}.cvs-header:hover .cvs-bulk-zone{opacity:.7}.cvs-bulk-zone:hover,.cvs-bulk-zone--on{opacity:1;background:var(--neutral-800);color:var(--text-primary)}.cvs-bulk-zone:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:1px}.cvs-header-toggle-wrap:has(>.cvs-bulk){z-index:11}.cvs-header:has(.cvs-bulk){z-index:12}.cvs-header-chevron{display:inline-flex;align-items:center;justify-content:center;padding:3px;margin:-3px;border-radius:var(--radius-sm);transition:background .15s ease,color .15s ease}.cvs-header-chevron:hover{background:var(--neutral-800);color:var(--text-primary)}.cvs-bulk{position:fixed;z-index:60;pointer-events:none}.cvs-bulk--open{pointer-events:auto}.cvs-bulk-inner{display:flex;flex-direction:column;align-items:stretch;gap:1px;padding:2px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);opacity:0;transition:opacity .16s ease,transform .16s cubic-bezier(.22,.61,.36,1)}.cvs-bulk-inner--gutter{transform:translate(7px)}.cvs-bulk-inner--above{transform:translateY(7px)}.cvs-bulk--open .cvs-bulk-inner{opacity:1;transform:none}.cvs-bulk-btn{display:flex;align-items:center;gap:4px;padding:3px 7px;border:none;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.68rem;white-space:nowrap;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,color .15s ease}.cvs-bulk-btn+.cvs-bulk-btn{border-top:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm)}.cvs-bulk-btn:first-child{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.cvs-bulk-btn:hover{background:var(--neutral-800);color:var(--text-primary)}.cvs-bulk-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (prefers-reduced-motion: reduce){.cvs-header-chevron,.cvs-bulk-zone,.cvs-bulk-btn{transition:none}.cvs-bulk-inner{transition:opacity .16s ease}.cvs-bulk-inner--gutter,.cvs-bulk-inner--above{transform:none}}.cvs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:64px 24px;animation:fadeIn .2s ease-out}.cvs-empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-lg);background:var(--accent-dim);color:var(--accent-text);margin-bottom:6px}.cvs-empty-title{font-size:1.05rem;font-weight:700;color:var(--text-primary)}.cvs-empty-copy{font-size:.85rem;color:var(--text-secondary);max-width:360px;line-height:1.5}.cvs-empty-actions{display:flex;gap:10px;margin-top:12px}@media (prefers-reduced-motion: reduce){.cvs-empty{animation:none}}.canvas-subsection-header{padding:6px 8px 5px 12px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--border)}.canvas-subsection-label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.canvas-subsection-header--cost .canvas-subsection-label{color:var(--cost-text)}.canvas-subsection-header--labor .canvas-subsection-label{color:var(--hours-text)}.canvas-subsection-header--desc .canvas-subsection-label{color:var(--desc-text)}.canvas-subsection-header--builder .canvas-subsection-label{color:var(--builder-text)}.canvas-subsection-header--price .canvas-subsection-label{color:var(--green-600)}.cvs-comp-subhead{position:sticky;top:calc(var(--canvas-pin-block-h) + var(--cvs-strip-offset) + var(--cvs-band-h) + var(--cvs-pinsum-h, 0px));z-index:3;visibility:var(--cvs-subhead-item-vis, visible);background:var(--subhead-fill)}.cvs-comp-subhead-content:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:3px;border-radius:2px;background:var(--subhead-accent, var(--border))}[id^=cvs-comp-]{--comp-rail: var(--accent)}.cvs-comp-band--component{--component-surface: color-mix(in srgb, var(--accent) 28%, var(--bg-elevated))}.cvs-comp-band--alternate{--component-surface: color-mix(in srgb, var(--alt-accent) 24%, var(--bg-elevated))}.cvs-comp-band--unfiled{--component-surface: color-mix(in srgb, var(--cost-accent) 20%, var(--bg-elevated))}.cvs-comp-band--hidden{--component-surface: color-mix(in srgb, var(--neutral-500) 20%, var(--bg-elevated))}[id^=cvs-comp-]>.canvas-cell--label,[id^=cvs-comp-]>.canvas-subsection-header,[id^=cvs-comp-]>[id^=cvs-comp-]>.canvas-cell--label,[id^=cvs-comp-]>[id^=cvs-comp-]>.canvas-subsection-header{box-shadow:inset 3px 0 0 var(--comp-rail)}.cvs-comp-band--unfiled [id^=cvs-comp-],[id^=cvs-comp-unassigned]{--comp-rail: var(--cost-accent)}.canvas-subsection-header--cost.cvs-comp-subhead{--subhead-accent: var(--cost-accent);--subhead-fill: var(--cost-bg);background:var(--subhead-fill)}.canvas-subsection-header--labor.cvs-comp-subhead{--subhead-accent: var(--hours-accent);--subhead-fill: var(--hours-bg);background:var(--subhead-fill)}.canvas-subsection-header--desc.cvs-comp-subhead{--subhead-accent: var(--desc-accent);--subhead-fill: var(--desc-bg);background:var(--subhead-fill)}.canvas-subsection-header--builder.cvs-comp-subhead{--subhead-accent: var(--builder-accent);--subhead-fill: var(--builder-bg);background:var(--subhead-fill)}.canvas-subsection-header--price.cvs-comp-subhead{--subhead-accent: var(--green-600);--subhead-fill: var(--green-100);background:var(--subhead-fill)}.cvs-comp-section-body{display:contents}.cvs-comp-section-body--desc{--comp-section-divider: var(--desc-border)}.cvs-comp-section-body--builder{--comp-section-divider: var(--builder-border)}.cvs-comp-section-body--cost{--comp-section-divider: var(--cost-border)}.cvs-comp-section-body--labor{--comp-section-divider: var(--hours-border)}.cvs-comp-section-body--price{--comp-section-divider: color-mix(in srgb, var(--green-600) 28%, var(--green-100))}.cvs-comp-section-body>.canvas-cell:not(.canvas-cell--block):not(.canvas-cell--cost-value):not(.canvas-cell--labor-value){border-bottom-color:var(--comp-section-divider)}.canvas-subsection-header--empty.cvs-comp-subhead{--subhead-accent: var(--border)}.canvas-subsection-header--parent{border-bottom:2px solid var(--cost-border);padding-left:12px;margin-top:2px}.canvas-subsection-header--child{padding-left:20px;border-bottom:none}.canvas-subsection-header--child .canvas-subsection-label{font-size:.66rem;font-weight:600;text-transform:none}.canvas-subsection-header--empty .canvas-subsection-label{opacity:.5}.canvas-subsection-add-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);cursor:pointer;padding:0;opacity:.5;transition:opacity .15s,border-color .15s,color .15s}.canvas-subsection-add-btn:hover{opacity:1}.canvas-subsection-add-btn--cost:hover{color:var(--cost-text);border-color:var(--cost-border)}.canvas-subsection-add-btn--labor:hover{color:var(--hours-text);border-color:var(--hours-border)}.product-summary-block{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;width:100%}.product-summary-block--pinnable{padding-right:22px}.product-summary-line{font-size:.72rem;color:var(--text-secondary);line-height:1.5}.product-summary-fields-wrap{position:relative;display:inline-flex;flex:0 0 auto;margin-left:auto}.product-summary-fields-btn{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;opacity:.55;transition:opacity .15s ease,color .15s ease,background .15s ease}.product-summary-fields-btn:hover,.product-summary-fields-btn--on{opacity:1;color:var(--accent-text);background:var(--accent-dim)}.product-summary-fields-menu{position:fixed;z-index:400;display:flex;flex-direction:column;gap:1px;min-width:178px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);box-shadow:var(--shadow-raised);color-scheme:light}.product-summary-fields-title{padding:2px 6px 5px;font-size:.64rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.product-summary-fields-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.74rem;font-weight:600;color:var(--text-primary);cursor:pointer}.product-summary-fields-item:hover{background:var(--accent-dim);color:var(--accent-text)}.product-summary-fields-item input[type=checkbox],.cvs-pinpick-row input[type=checkbox],.cvs-pinpick-chip input[type=checkbox]{flex-shrink:0;width:14px;height:14px;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;display:grid;place-content:center;border:1.5px solid var(--neutral-500);border-radius:3px;background:#fff;cursor:pointer;transition:background .15s ease,border-color .15s ease}.product-summary-fields-item input[type=checkbox]:checked,.cvs-pinpick-row input[type=checkbox]:checked,.cvs-pinpick-chip input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.product-summary-fields-item input[type=checkbox]:after,.cvs-pinpick-row input[type=checkbox]:after,.cvs-pinpick-chip input[type=checkbox]:after{content:"";width:9px;height:9px;transform:scale(0);transition:transform .15s ease;box-shadow:inset 14px 14px #fff;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}.product-summary-fields-item input[type=checkbox]:checked:after,.cvs-pinpick-row input[type=checkbox]:checked:after,.cvs-pinpick-chip input[type=checkbox]:checked:after{transform:scale(1)}.product-summary-fields-item:hover input[type=checkbox]:not(:checked),.cvs-pinpick-row:hover input[type=checkbox]:not(:checked),.cvs-pinpick-chip:hover input[type=checkbox]:not(:checked){border-color:var(--accent)}.product-summary-fields-item input[type=checkbox]:focus-visible,.cvs-pinpick-row input[type=checkbox]:focus-visible,.cvs-pinpick-chip input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){.product-summary-fields-item input[type=checkbox],.product-summary-fields-item input[type=checkbox]:after{transition:none}}.product-summary-fields-menu[data-busy=true] .product-summary-fields-item{opacity:.5;cursor:progress}.product-summary-fields-rule{height:1px;margin:5px 2px;background:var(--border)}.cvs-sumpin-btn{position:absolute;top:2px;right:2px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;opacity:.4;transition:opacity .15s ease,color .15s ease,background .15s ease}.cvs-sumpin-btn:hover,.cvs-sumpin-btn--on{opacity:1;color:var(--accent-text);background:var(--accent-dim)}.cvs-sumpin-line{display:flex;align-items:center;gap:6px;width:100%;height:var(--cvs-crow-line-h)}.cvs-sumpin-label{flex:0 0 auto;max-width:46%;font-size:.63rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);line-height:var(--cvs-crow-line-h);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cvs-sumpin-val{flex:1 1 auto;width:auto;min-width:0}.cvs-sumpin-val--ro{cursor:default}.ctm-card.cvs-pinpick{display:flex;flex-direction:column;width:960px;max-width:100%;height:712px;padding:0;overflow:hidden;animation:soCardIn .2s cubic-bezier(.2,.8,.2,1)}.cvs-pinpick-scrim{animation:soScrimIn .16s ease-out}@media (prefers-reduced-motion: reduce){.cvs-pinpick-scrim,.ctm-card.cvs-pinpick{animation:none}}.cvs-pinpick-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px 12px;border-bottom:1px solid var(--border)}.cvs-pinpick-headtext{display:flex;flex-direction:column;gap:2px;min-width:0}.cvs-pinpick-title{font-family:var(--font-body);font-size:1.02rem;font-weight:700;color:var(--text-primary)}.cvs-pinpick-sub{font-size:.76rem;color:var(--text-muted)}.cvs-pinpick-searchbar{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border)}.cvs-pinpick-search{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0;padding:5px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-muted)}.cvs-pinpick-search:focus-within{border-color:var(--accent-border, var(--accent-text))}.cvs-pinpick-searchinput{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;font-family:var(--font-body);font-size:.82rem;color:var(--text-primary)}.cvs-pinpick-searchinput::placeholder{color:var(--text-muted)}.cvs-pinpick-searchclear{display:inline-flex;align-items:center;flex:0 0 auto;padding:0;border:none;background:none;color:var(--text-muted);cursor:pointer}.cvs-pinpick-searchclear:hover{color:var(--text-primary)}.cvs-pinpick-searchcount{flex:0 0 auto;font-size:.7rem;color:var(--text-muted);white-space:nowrap}.cvs-pinpick-empty{padding:12px;font-size:.78rem;font-style:italic;color:var(--text-muted)}.cvs-pinpick-body{flex:1 1 auto;min-height:96px;overflow-y:auto;padding:6px 10px}.cvs-pinpick-grouphead{display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;border:none;border-radius:var(--radius-sm);background:none;font-family:var(--font-body);font-size:.82rem;font-weight:600;color:var(--text-primary);text-align:left;cursor:pointer}.cvs-pinpick-grouphead:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cvs-pinpick-grouphead:hover{background:var(--accent-dim)}.cvs-pinpick-chev{flex:0 0 auto;color:var(--text-muted);transition:transform .15s ease}.cvs-pinpick-grouphead--on .cvs-pinpick-chev{transform:rotate(90deg)}.cvs-pinpick-groupname{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvs-pinpick-absent{flex:0 0 auto;font-size:.68rem;font-weight:600;font-style:italic;color:var(--text-muted)}.cvs-pinpick-count{flex:0 0 auto;min-width:18px;padding:0 5px;border-radius:8px;background:var(--bg-subtle, rgba(0, 0, 0, .05));font-size:.65rem;font-weight:700;color:var(--text-muted);text-align:center}.cvs-pinpick-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1px 12px;padding:2px 0 7px 26px}.cvs-pinpick-rows--search{grid-template-columns:1fr}.cvs-pinpick-row{display:flex;align-items:center;gap:9px;padding:4px 8px;border-radius:var(--radius-sm);font-size:.78rem;color:var(--text-secondary);cursor:pointer}.cvs-pinpick-row:hover{background:var(--accent-dim);color:var(--accent-text)}.cvs-pinpick-row--active{background:var(--accent-dim);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-border, var(--accent-text))}.cvs-pinpick-rowname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvs-pinpick-none{grid-column:1 / -1;padding:4px 8px;font-size:.76rem;font-style:italic;color:var(--text-muted)}.cvs-pinpick-scope,.cvs-pinpick-preview{flex:0 0 auto;padding:10px 16px;border-top:1px solid var(--border)}.cvs-pinpick-scopehead,.cvs-pinpick-previewhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;font-size:.66rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.cvs-pinpick-scopebtns{display:inline-flex;gap:12px}.cvs-pinpick-linkbtn{padding:0;border:none;background:none;font-family:var(--font-body);font-size:.66rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--accent-text);cursor:pointer}.cvs-pinpick-linkbtn:hover{text-decoration:underline}.cvs-pinpick-scoperow{display:flex;flex-wrap:wrap;gap:5px;max-height:96px;overflow-y:auto}.cvs-pinpick-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 9px 3px 5px;border:1px solid var(--border);border-radius:10px;font-size:.74rem;color:var(--text-secondary);cursor:pointer}.cvs-pinpick-chip--on{border-color:var(--accent-border, var(--accent-text));background:var(--accent-dim);color:var(--accent-text)}.cvs-pinpick-chip span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvs-pinpick-previewcols{display:flex;gap:6px;max-height:190px;overflow:auto}.cvs-pinpick-previewcol{flex:1 1 0;min-width:128px;max-width:260px;padding:6px 8px;border:1px dashed var(--border);border-radius:var(--radius-sm);opacity:.55}.cvs-pinpick-previewcol--on{border-style:solid;background:var(--bg-card);opacity:1}.cvs-pinpick-previewname{margin-bottom:4px;font-size:.66rem;font-weight:700;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvs-pinpick-previewline{display:flex;gap:6px;font-size:.7rem;line-height:1.5}.cvs-pinpick-previewlabel{flex:0 0 auto;max-width:52%;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvs-pinpick-previewval{flex:1 1 auto;min-width:0;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvs-pinpick-previewnone{font-size:.7rem;color:var(--text-muted)}.cvs-pinpick-foot{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:11px 16px;border-top:1px solid var(--border)}.cvs-pinpick-tally{flex:1 1 auto;min-width:0;font-size:.74rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvs-pinpick-err{flex:1 1 auto;font-size:.74rem;font-weight:600;color:var(--danger-text, #b4342b)}.cvs-pinpick-cancel,.cvs-pinpick-apply{flex:0 0 auto;padding:7px 18px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8rem;font-weight:700;cursor:pointer}.cvs-pinpick-cancel{border:1px solid var(--border);background:transparent;color:var(--text-secondary)}.cvs-pinpick-apply{border:1px solid transparent;background:var(--accent);color:#fff}.cvs-pinpick-apply:disabled,.cvs-pinpick-cancel:disabled{opacity:.5;cursor:default}.title-cell-row{display:flex;align-items:center;gap:6px;width:100%}.title-input{font-weight:600;flex:1;min-width:0}.tag-location-btn{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--radius-sm);border:none;background:var(--neutral-500);color:#fff;font-size:.6rem;font-weight:700;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;white-space:nowrap;transition:background .15s}.tag-location-btn:hover{background:var(--neutral-400)}.pfc-input.tag-input{width:100px;font-size:.72rem;flex-shrink:0}.multi-field-row{display:flex;align-items:center;gap:4px;width:100%;min-width:0}.multi-field-item{display:flex;align-items:center;gap:3px;min-width:0}.multi-field-item--input{flex:0 0 44px;min-width:0}.multi-field-item--select{flex:1 1 0%;min-width:0}.multi-field-sep{font-size:.7rem;color:var(--text-muted);padding:0 2px;flex-shrink:0}.multi-field-input{min-width:0;text-align:center;flex:1 1 0%}.multi-field-select{min-width:0;flex:1 1 0%}.height-editor-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:32px;border:1px solid var(--border);border-radius:4px;background:var(--bg-input);color:var(--text-primary);cursor:pointer;font:inherit;padding:4px 8px}.height-editor-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;width:min(460px,calc(100vw - 32px));box-sizing:border-box;max-height:calc(100vh - 32px);overflow-y:auto;border:1px solid var(--border);border-radius:12px;padding:24px;background:var(--bg-card);color:var(--text-primary);font-size:14px;line-height:1.45}.height-editor-dialog input,.height-editor-dialog button{font:inherit}.height-editor-dialog::backdrop{background:color-mix(in srgb,var(--text-primary) 25%,transparent)}.height-editor-dialog h2{margin:0;font-size:20px}.height-editor-dialog header p{color:var(--text-secondary);margin:8px 0 24px}.height-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:0;padding:0;gap:8px;margin:0 0 16px}.height-choices legend{margin-bottom:8px}.height-choices button{display:flex;flex-direction:column;text-align:start;gap:4px;min-height:64px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-primary);cursor:pointer;transition:background .15s ease-out}.height-choices button[aria-pressed=true]{border:2px solid var(--accent);padding:11px;background:var(--bg-elevated)}.height-choices button span{color:var(--text-secondary);font-size:12px}.height-custom-field{display:flex;flex-direction:column;gap:8px;margin:16px 0}.height-custom-field input{min-height:44px;padding:8px;box-sizing:border-box;width:100%}.height-editor-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.height-editor-dialog footer button{min-height:44px;padding:8px 16px;border:1px solid var(--border);border-radius:8px;cursor:pointer}.height-editor-dialog .height-save{color:var(--bg-card);background:var(--accent)}.height-editor-dialog button:disabled{opacity:.55;cursor:wait}.height-settings-link{font:inherit;font-size:11px;color:var(--accent);background:transparent;border:0;text-decoration:underline;cursor:pointer;padding:4px 0}.multi-field-item--select:has(.height-settings-link){flex-wrap:wrap}.height-settings-link{flex-basis:100%;text-align:left}.height-settings-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;box-sizing:border-box;padding:28px;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:12px;font-size:14px;line-height:1.5;white-space:normal}.height-settings-dialog h2{margin:0 0 12px;font-size:20px}.height-settings-dialog p{margin:0 0 24px;overflow-wrap:anywhere}.height-settings-dialog input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:8px 12px;font:inherit}.height-settings-dialog fieldset{min-width:0}.height-settings-dialog button{min-height:44px;border:1px solid var(--border);border-radius:8px;font:inherit;background:var(--bg-input);color:var(--text-primary)}.height-settings-dialog button[type=submit]{background:var(--accent);color:var(--bg-card)}.height-editor-dialog{white-space:normal}.multi-field-row.multi-field-row--dimensions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;box-sizing:border-box}.multi-field-row--dimensions .multi-field-item{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;max-width:none}.multi-field-row--dimensions .multi-field-item--select{grid-column:1 / -1}.multi-field-row--dimensions .multi-field-sep{display:none}.dimension-field-label{font-size:11px;color:var(--text-secondary)}.multi-field-row--dimensions input,.multi-field-row--dimensions .height-editor-trigger{width:100%;box-sizing:border-box;min-height:36px}.height-settings-dialog::backdrop{background:#00000040}.height-settings-dialog p{font-size:13px;color:var(--text-secondary)}.height-settings-dialog .field{display:flex;flex-direction:column;gap:6px;margin:14px 0}.height-settings-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.height-settings-actions button{padding:8px 16px;cursor:pointer}.multi-field-row--wrap{flex-wrap:wrap}.multi-field-custom{display:flex;align-items:center;gap:4px;flex:1 0 100%;min-width:0}.multi-field-custom-label{font-size:.62rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.pfc-input.multi-field-custom-input{width:62px;flex:0 0 62px;text-align:center}.multi-field-custom-unit{font-size:.68rem;color:var(--text-muted);flex-shrink:0}.material-lumber-row{display:flex;align-items:center;gap:4px;width:100%;min-width:0}.material-lumber-row .mat-search-wrapper{flex:1;min-width:0}.lumber-select-group{display:flex;align-items:stretch;flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.pfc-select.lumber-select{width:56px;min-width:0;border:none;border-radius:0}.lumber-suffix{display:flex;align-items:center;padding:0 6px;font-size:.62rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--bg-elevated);border-left:1px solid var(--border);white-space:nowrap}.canvas-cell--divider{padding:0;min-height:auto;height:1px;border-bottom:1px solid var(--border);margin:4px 0}.canvas-cell--field-label{padding:3px 8px 3px 20px;border-bottom:1px solid var(--border-subtle);min-height:28px;gap:4px}.pf-label{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.canvas-cell--field-label .cvs-qual-pin{margin-left:auto}.canvas-cell--field-label:hover .cvs-qual-pin{opacity:1}.canvas-cell--field-label .cvs-qual-pin:disabled{cursor:default;opacity:.3}.canvas-cell--field-value{padding:3px 8px;border-bottom:1px solid var(--border-subtle);min-height:28px;justify-content:stretch}.canvas-cell--pin{position:sticky;z-index:4;background:var(--bg-primary)}.canvas-cell--pin.canvas-cell--label{z-index:5}.canvas-cell--pin-summary{top:var(--canvas-pin-header-h);height:var(--canvas-pin-summary-h);border-bottom:2px solid var(--border)}.pfc-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 6px;font-size:.75rem;color:var(--text-primary);font-family:var(--font-body);width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pfc-input:focus{outline:none;border-color:var(--accent)}.pfc-select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 18px 3px 6px;font-size:.75rem;color:var(--text-primary);font-family:var(--font-body);width:100%;min-width:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 24 24' fill='none' stroke='%239a9490' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center}.pfc-select:focus{outline:none;border-color:var(--accent)}.pfc-select-wrap{display:flex;align-items:center;gap:4px;width:100%}.pfc-stone-group{background:var(--bg-input);border:1px solid var(--cost-border);border-radius:var(--radius-sm);padding:3px 2px;font-size:.75rem;font-family:var(--font-mono);font-weight:700;color:var(--cost-text);width:28px;text-align:center;flex-shrink:0}.pfc-stone-group:focus{outline:none;border-color:var(--accent)}.pfc-stone-group::placeholder{color:var(--text-muted);font-weight:400}.pfc-pct{font-size:.65rem;color:var(--text-muted);margin-left:2px}.canvas-product-header-top{display:flex;align-items:center;justify-content:space-between;width:100%;gap:4px}.canvas-product-drag-handle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:3px;border:none;background:transparent;color:var(--text-muted);cursor:grab;border-radius:3px;opacity:0;transition:opacity .15s,color .15s,background .15s;touch-action:none}.canvas-product-column:hover .canvas-product-drag-handle{opacity:1}.canvas-product-drag-handle:hover{color:var(--text-primary);background:var(--neutral-800)}.canvas-product-drag-handle:active{cursor:grabbing}.canvas-product-title-input{font-size:.82rem;font-weight:600;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:2px 6px;color:var(--text-primary);font-family:var(--font-body);width:100%;min-width:0;max-width:170px}.canvas-product-title-input:hover{border-color:var(--border)}.canvas-product-title-input:focus{outline:none;border-color:var(--accent);background:var(--bg-input)}.canvas-product-include{display:inline-flex;align-items:center;flex-shrink:0;cursor:pointer}.canvas-product-include input{cursor:pointer;accent-color:var(--accent)}.canvas-product-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:3px;border-radius:3px;display:flex;align-items:center;opacity:0;transition:opacity .15s}.canvas-product-column:hover .canvas-product-delete{opacity:1}.canvas-product-delete:hover{color:#c45a5a;background:#c45a5a14}.canvas-product-meta{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;width:100%;overflow:hidden}.canvas-product-badge{font-size:.65rem;font-weight:600;padding:1px 6px;border-radius:10px;background:var(--accent-dim);color:var(--accent-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-product-qty{font-size:.7rem;color:var(--text-muted);font-family:var(--font-mono);flex-shrink:0}.canvas-product-dims{font-size:.68rem;color:var(--text-muted);font-family:var(--font-mono);flex-shrink:0}.canvas-product-excluded-tag{color:var(--cost-text);font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:.62rem;flex-shrink:0;white-space:nowrap}.canvas-cell--add{justify-content:center;min-width:48px}.canvas-add-product-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:1px dashed var(--border);background:transparent;color:var(--text-muted);cursor:pointer;padding:0}.canvas-add-product-btn:hover{border-color:var(--green-600);color:var(--green-600);background:var(--accent-dim)}.canvas-block-label-content{display:flex;align-items:flex-start;gap:6px;width:100%}.canvas-block-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.canvas-block-label-row{display:flex;align-items:center;gap:4px}.canvas-block-label-input{background:transparent;border:none;border-bottom:1px solid transparent;font-size:.8rem;font-weight:600;color:var(--text-primary);font-family:var(--font-body);padding:1px 0;width:100%;min-width:0}.canvas-block-label-input:hover{border-bottom-color:var(--border)}.canvas-block-label-input:focus{outline:none;border-bottom-color:var(--accent)}.canvas-block-fields-row{display:flex;gap:4px;align-items:center}.canvas-block-select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 18px 3px 6px;font-size:.72rem;color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 24 24' fill='none' stroke='%235a6662' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center;min-width:0;max-width:90px}.canvas-block-select:focus{outline:none;border-color:var(--accent)}.canvas-block-num-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 6px;font-size:.75rem;color:var(--text-primary);font-family:var(--font-mono);width:70px;min-width:50px}.canvas-block-num-input:focus{outline:none;border-color:var(--accent)}.canvas-block-type-badge{font-size:.6rem;font-weight:700;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-input);border-radius:3px;padding:1px 4px;flex-shrink:0}.canvas-block-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:3px;border-radius:3px;display:flex;align-items:center;flex-shrink:0;opacity:0;transition:opacity .15s}.canvas-cell--block:hover .canvas-block-delete,.sp-block-config-card:hover .sp-block-delete-btn{opacity:1}.canvas-block-delete:hover{color:#c45a5a;background:#c45a5a14}.canvas-block-menu{position:absolute;top:5px;right:5px;display:inline-flex;z-index:2}.cvs-blk-card--menu{padding-right:32px}.canvas-block-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;opacity:.42;transition:opacity .15s,color .15s,border-color .15s,background .15s}.cvs-blk-card:hover .canvas-block-menu-btn,.canvas-block-menu-btn:focus-visible,.canvas-block-menu-btn--open{opacity:1;border-color:var(--border);background:var(--bg-card);color:var(--text-primary)}.canvas-block-menu-popover{min-width:210px}.cvs-blk-card--collapsed{min-height:34px;padding-top:6px;padding-bottom:6px}.canvas-block-collapsed-summary{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 7px;font-size:10px;color:var(--text-muted)}.canvas-block-collapsed-summary strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-primary)}.canvas-block-collapsed-kind{grid-row:span 2;padding:2px 5px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;font-size:8px;font-weight:700}.canvas-block-collapsed-kind--cost{background:var(--cost-bg);color:var(--cost-text)}.canvas-block-collapsed-kind--labor{background:var(--hours-bg);color:var(--hours-text)}.canvas-block-collapsed-member{display:flex;min-height:34px;align-items:center;justify-content:flex-end;padding:5px 9px;font-size:11px;font-weight:700;color:var(--text-secondary)}.canvas-block-collapsed-member--empty{justify-content:center;color:var(--text-muted);font-weight:500}.canvas-waste-control{display:inline-flex;align-items:center;gap:3px;min-height:26px;padding:2px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.66rem;white-space:nowrap}.canvas-waste-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.56rem}.canvas-waste-input{width:42px;border:0;background:transparent;color:var(--text-primary);font:inherit;text-align:right;outline:none}.canvas-member-note{display:flex;align-items:center;justify-content:center;width:100%;margin-bottom:3px}.canvas-member-note--open{gap:4px}.canvas-member-note-toggle{display:inline-flex;align-items:center;gap:3px;border:0;background:transparent;color:var(--text-muted);padding:2px 4px;border-radius:3px;font-size:.6rem;cursor:pointer;white-space:nowrap}.canvas-member-note-toggle:hover,.canvas-member-note-toggle:focus-visible,.canvas-member-note-toggle--set{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.canvas-member-note--open .canvas-member-note-input{margin-bottom:0;min-width:0}.canvas-member-note-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 6px;font-size:.68rem;font-family:var(--font-body);color:var(--text-secondary);width:100%;text-align:center;margin-bottom:3px}.canvas-member-note-input:hover{border-color:var(--text-muted)}.canvas-member-note-input:focus{outline:none;border-color:var(--accent);color:var(--text-primary)}.canvas-member-note-input::placeholder{font-size:.62rem;color:var(--text-muted);opacity:.6}.canvas-unit-dollar-wrap{display:flex;align-items:center;gap:0}.canvas-unit-dollar-prefix{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);margin-right:1px;flex-shrink:0}.canvas-member-value{display:flex;flex-direction:column;align-items:center;width:100%}.canvas-computed{font-family:var(--font-mono);font-size:.82rem;cursor:pointer;padding:2px 4px;border-radius:3px}.canvas-computed:hover{background:#0000000a}.canvas-computed--cost{color:var(--cost-text)}.canvas-computed--hours{color:var(--hours-text)}.canvas-member-empty{display:flex;justify-content:center;width:100%}.canvas-member-checkbox{accent-color:var(--accent);width:13px;height:13px;cursor:pointer;opacity:.4}.canvas-member-checkbox:hover{opacity:1}.canvas-cell--value:not(.canvas-cell--pin):not(.cvs-pinsum){position:relative}.canvas-member-remove{position:absolute;top:2px;right:2px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);opacity:0;cursor:pointer;transition:opacity .15s ease,background .15s ease,color .15s ease}.canvas-cell--value:hover .canvas-member-remove{opacity:.6}.canvas-member-remove:hover{opacity:1;background:#f7e8e6;color:#c45a5a}.canvas-member-remove:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:-1px}.canvas-member-remove:disabled{cursor:wait}@media (prefers-reduced-motion: reduce){.canvas-member-remove{transition:none}}.canvas-cell--cost{--blk-accent: var(--cost-accent);--blk-fill: color-mix(in srgb, var(--cost-accent) 12%, var(--bg-input));--blk-edge: color-mix(in srgb, var(--cost-accent) 30%, var(--bg-input))}.canvas-cell--labor{--blk-accent: var(--hours-accent);--blk-fill: color-mix(in srgb, var(--hours-accent) 12%, var(--bg-input));--blk-edge: color-mix(in srgb, var(--hours-accent) 30%, var(--bg-input));--blk-wash: rgba(90, 61, 136, .1)}.canvas-cell--cost-value{background:#9a621813}.canvas-cell--labor-value{background:#5a3d8813}.canvas-unit-cell{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}.canvas-unit-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 6px;font-size:.78rem;font-family:var(--font-mono);color:var(--text-primary);width:90px;text-align:center}.canvas-unit-input:focus{outline:none;border-color:var(--accent)}.canvas-unit-input--cost{color:var(--cost-text)}.canvas-unit-input--hours{color:var(--hours-text)}.canvas-rate-member-cell{gap:4px}.canvas-rate-member-label{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;color:var(--text-muted);font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.canvas-rate-member-label .canvas-unit-dollar-wrap{width:min(100%,118px)}.canvas-rate-member-label .canvas-unit-input{min-width:0;width:58px}.canvas-rate-member-suffix{color:var(--text-muted);font-size:10px;letter-spacing:0;text-transform:none}.canvas-rate-member-measure{color:var(--text-secondary);font-size:10px;line-height:1.2;white-space:nowrap}.canvas-unit-inputs{display:flex;gap:3px;justify-content:center}.canvas-unit-input--pieces{width:50px;color:var(--text-secondary)}.canvas-block-tag-select{max-width:80px;font-size:.65rem}.canvas-block-type-select{flex-shrink:0;min-width:58px;max-width:68px;font-weight:600}.canvas-block-total-sum{font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--cost-text);margin-top:2px}.canvas-block-total-sum--hours{color:var(--hours-text)}.canvas-block-total-input-wrap{display:flex;align-items:center;gap:0}.canvas-block-dollar-prefix{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);margin-right:2px;flex-shrink:0}.canvas-block-total-amount-input{width:60px}.canvas-block-fields-row--group,.canvas-block-fields-row{flex-wrap:wrap;row-gap:4px}.bbc-wrap{position:relative;flex-shrink:0}.bbc-chip{display:flex;align-items:center;gap:3px;max-width:152px;padding:3px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);font-family:var(--font-body);font-size:.68rem;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.bbc-chip:hover,.bbc-chip--open{color:var(--accent-text);border-color:var(--accent);background:var(--accent-dim)}.bbc-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bbc-panel{position:fixed;z-index:400;width:288px;max-height:min(560px,calc(100vh - 32px));overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-md, 8px);background:var(--bg-elevated);box-shadow:var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .14))}.bbc-panel-title{font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-top:2px}.bbc-options{display:flex;flex-direction:column;gap:2px}.bbc-option{display:flex;flex-direction:column;gap:1px;padding:5px 7px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease}.bbc-option:hover{background:var(--bg-input)}.bbc-option--on{background:var(--accent-dim);border-color:var(--accent)}.bbc-option-name{font-size:.74rem;font-weight:600;color:var(--text-primary)}.bbc-option-desc{font-size:.66rem;line-height:1.35;color:var(--text-secondary)}.bbc-scope{display:flex;gap:3px}.bbc-scope-btn{flex:1;padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);font-family:var(--font-body);font-size:.7rem;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.bbc-scope-btn:hover{border-color:var(--accent)}.bbc-scope-btn--on{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-text);font-weight:600}.bbc-scope-note{font-size:.65rem;line-height:1.35;color:var(--text-muted)}.bbc-warn{display:flex;align-items:flex-start;gap:5px;padding:5px 7px;border-radius:var(--radius-sm);background:var(--status-lost-dim, rgba(190, 90, 70, .1));color:var(--status-lost);font-size:.66rem;line-height:1.35}.bbc-warn svg{flex-shrink:0;margin-top:1px}.bbc-preview{display:flex;flex-direction:column;gap:1px}.bbc-preview-row{display:flex;align-items:baseline;gap:6px;padding:2px 0;font-size:.68rem;border-bottom:1px solid var(--border-subtle, rgba(0, 0, 0, .05))}.bbc-preview-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.bbc-preview-metric{font-family:var(--font-mono);font-size:.66rem;color:var(--text-muted)}.bbc-preview-value{font-family:var(--font-mono);font-weight:600;color:var(--text-primary);min-width:56px;text-align:right}.canvas-member-warn{display:inline-flex;align-items:center;margin-right:3px;color:var(--status-lost);vertical-align:-1px;cursor:help}.canvas-cell--rate-locked{background-image:repeating-linear-gradient(135deg,rgba(122,110,96,.07) 0 3px,transparent 3px 8px)}.canvas-block-total-locked{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);padding:3px 0;white-space:nowrap}.grl-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.grl-toggle:hover{color:var(--text-primary);border-color:var(--accent)}.grl-toggle--on{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-text)}.grl-toggle--compact{width:18px;height:18px}.grl-toggle:disabled{opacity:.5;cursor:wait}.grl-panel{display:flex;flex-direction:column;gap:2px;margin-top:3px;padding:4px 6px;border-left:2px solid var(--accent);background:var(--bg-elevated);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.grl-line{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:.66rem;color:var(--text-secondary)}.grl-line-icon{color:var(--accent-text);flex-shrink:0}.grl-rate{font-family:var(--font-mono);font-weight:600;color:var(--text-primary)}.grl-warn{font-style:italic;color:var(--status-lost)}.grl-line--drift{justify-content:space-between}.grl-was{color:var(--text-muted)}.grl-refix{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);font-family:var(--font-body);font-size:.64rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;cursor:pointer;transition:border-color .15s ease,color .15s ease}.grl-refix:hover{border-color:var(--accent);color:var(--accent-text)}.grl-refix:disabled{opacity:.5;cursor:wait}.grl-note{font-size:.62rem;font-style:italic;color:var(--text-muted)}.canvas-block-error{margin-top:3px;font-size:.64rem;color:var(--status-lost)}.canvas-cell--species{--blk-accent: var(--cost-accent)}.species-label{gap:3px}.species-label-row1{display:flex;align-items:center;gap:6px}.species-name{font-size:.82rem;font-weight:700;color:var(--text-primary);white-space:nowrap}.species-price-wrap{display:flex;align-items:center;gap:0;margin-left:auto}.species-price-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 6px;font-size:.78rem;font-family:var(--font-mono);color:var(--cost-text);width:65px;text-align:right}.species-price-input:focus{outline:none;border-color:var(--accent)}.species-label-row2{display:flex;align-items:center;gap:8px}.species-stat{font-family:var(--font-mono);font-size:.72rem;font-weight:600}.species-waste-wrap{display:flex;align-items:center;gap:1px}.species-waste-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 4px;font-size:.72rem;font-family:var(--font-mono);color:var(--text-secondary);width:36px;text-align:right}.species-waste-input:focus{outline:none;border-color:var(--accent)}.species-waste-pct{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}.species-stat--bdft{color:var(--text-secondary)}.species-stat--cost{color:var(--cost-text)}.species-detail-toggle{display:flex;align-items:center;gap:4px;background:none;border:none;font-size:.65rem;font-family:var(--font-body);color:var(--text-muted);cursor:pointer;padding:2px 0 0;font-weight:600}.species-detail-toggle:hover{color:var(--accent)}.species-member-cell{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}.species-member-bdft,.species-member-cost{display:flex;gap:8px;justify-content:center}.species-val{font-family:var(--font-mono);font-size:.72rem;color:var(--text-secondary)}.species-val--cost{color:var(--cost-text)}.species-val--dim{opacity:.6}.canvas-species-empty,.canvas-species-dash{color:var(--text-muted);font-size:.72rem;opacity:.4}.canvas-cell--species-value{background:#9a621813}.species-detail-label{--blk-accent: var(--border);--blk-indent-step: 3}.species-detail-row{display:flex;align-items:center;gap:8px}.species-detail-name{font-size:.72rem;font-weight:600;color:var(--text-secondary)}.species-detail-value{background:#49554c08}.species-detail-cell{display:grid;grid-template-columns:1fr 1fr;gap:1px 6px;width:100%;justify-items:center}.canvas-cell--stone{--blk-accent: var(--cost-accent)}.canvas-cell--stone-value{background:#9a621813}.stone-spec-line{font-size:.68rem;color:var(--text-secondary);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stone-cost-input{width:80px}.stone-unit{font-size:.6rem;color:var(--text-muted);font-family:var(--font-body);font-weight:400}.stone-group-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--cost-border);color:#fff;font-size:.55rem;font-weight:700;width:14px;height:14px;border-radius:50%;margin-left:4px;vertical-align:middle}.canvas-subsection-header--parent{font-weight:700}.canvas-subsection-header--child{padding-left:12px;font-size:.7rem}.canvas-unit-pp{font-family:var(--font-mono);font-size:.7rem;opacity:.7}.canvas-unit-pp--cost{color:var(--cost-text)}.canvas-unit-pp--hours{color:var(--hours-text)}.canvas-unit-pp-label{font-family:var(--font-body);font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;opacity:.6}.canvas-empty-section{font-size:.78rem;color:var(--text-muted);padding:8px 12px}.canvas-add-row{padding:4px 8px 8px}.canvas-add-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:var(--radius-sm);border:1px dashed var(--border);background:transparent;font-size:.75rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .15s}.canvas-add-btn--cost{color:var(--cost-text)}.canvas-add-btn--cost:hover{border-color:var(--cost-border);background:var(--cost-bg)}.canvas-add-btn--labor{color:var(--hours-text)}.canvas-add-btn--labor:hover{border-color:var(--hours-border);background:var(--hours-bg)}.canvas-cell--pricing-label{background:var(--bg-primary)}.canvas-pricing-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.canvas-cell--pricing-value{justify-content:center}.canvas-pricing-value{font-family:var(--font-mono);font-size:.82rem;font-weight:500}.canvas-pricing-value--cost{color:var(--cost-text)}.canvas-pricing-value--hours{color:var(--hours-text)}.canvas-pricing-value--price{color:var(--green-600)}.canvas-pricing-value--final{color:var(--green-600);font-weight:700;font-size:.9rem}.canvas-product-column{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;height:var(--canvas-pin-header-h);overflow:hidden}.canvas-product-title-text{font-size:.82rem;font-weight:600;color:var(--text-primary);font-family:var(--font-body);padding:2px 4px;flex:1 1 auto;min-width:0;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-product-title-text--empty{color:var(--text-muted);font-weight:500}.canvas-product-column--dragging{opacity:0}.canvas-product-column--excluded>*{opacity:.55}.canvas-product-column--overlay{padding:6px 8px;border-radius:var(--radius-sm);background:var(--bg-primary);box-shadow:0 10px 24px #0000002e,0 3px 8px #0000001f;transform:scale(1.02);cursor:grabbing;z-index:1000}.canvas-product-drag-handle--overlay{cursor:grabbing}@media (prefers-reduced-motion: reduce){.canvas-product-drag-handle,.canvas-product-delete{transition:none}}.pcol-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer;padding:3px 0 1px;margin-top:2px;color:var(--text-muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;-webkit-user-select:none;user-select:none}.pcol-section-header:hover{color:var(--text-secondary)}.pcol-fields{display:flex;flex-direction:column;gap:3px;width:100%;padding-bottom:2px}.pcol-field{display:flex;align-items:center;gap:4px;width:100%}.pcol-field label{font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;min-width:52px;flex-shrink:0}.pcol-field input,.pcol-field select{flex:1;min-width:0;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 6px;font-size:.75rem;color:var(--text-primary);font-family:var(--font-body)}.pcol-field input:focus,.pcol-field select:focus{outline:none;border-color:var(--accent)}.pcol-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 24 24' fill='none' stroke='%235a6662' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center;padding-right:18px;cursor:pointer}.pcol-margin-grid{display:flex;flex-direction:column;gap:2px;width:100%;margin-top:2px}.pcol-margin-row{display:flex;align-items:center;gap:4px}.pcol-margin-label{font-size:.65rem;color:var(--text-secondary);min-width:60px;flex-shrink:0}.pcol-margin-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 4px;font-size:.72rem;color:var(--text-primary);font-family:var(--font-mono);width:48px;text-align:right}.pcol-margin-input:focus{outline:none;border-color:var(--accent)}.pcol-margin-pct{font-size:.65rem;color:var(--text-muted)}.canvas-cell--desc-sub-header{padding:4px 8px 4px 28px;border-bottom:1px solid var(--border-subtle)}.canvas-desc-sub-label{display:flex;align-items:center;gap:4px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);-webkit-user-select:none;user-select:none}.canvas-desc-sub-label:hover{color:var(--text-secondary)}.canvas-cell--desc-sub-header-spacer{border-bottom:1px solid var(--border-subtle)}.canvas-cell--badge-row{padding:4px 8px;border-bottom:1px solid var(--border-subtle)}.desc-material-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--accent);color:#fff;text-align:center;width:100%}.desc-base-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--neutral-500);color:#fff;text-align:center;width:100%}.canvas-cell--desc-items{padding:4px 8px;border-bottom:1px solid var(--border-subtle)}.desc-items-content{display:flex;flex-direction:column;gap:3px;width:100%}.desc-item-row{display:flex;align-items:center;gap:3px}.desc-item-row--exception{border-left:2px solid #c45a5a;padding-left:4px}.desc-item-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 6px;font-size:.72rem;color:var(--text-primary);font-family:var(--font-body);flex:1;min-width:0}.desc-item-input:focus{outline:none;border-color:var(--accent)}.desc-item-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;opacity:0;transition:opacity .15s;flex-shrink:0}.desc-item-row:hover .desc-item-delete{opacity:1}.desc-item-delete:hover{color:#c45a5a}.desc-item-add-row{display:flex;gap:4px;margin-top:2px}.desc-item-add-btn{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:var(--radius-sm);border:1px dashed var(--border);background:transparent;font-size:.6rem;font-weight:600;font-family:var(--font-body);color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.03em;transition:all .15s}.desc-item-add-btn:hover{border-color:var(--accent);color:var(--accent)}.desc-item-add-btn--exception{color:var(--neutral-500)}.desc-item-add-btn--exception:hover{border-color:#c45a5a;color:#c45a5a}.canvas-cell--desc-actions{padding:4px 8px;border-bottom:1px solid var(--border-subtle)}.mb-section{display:flex;flex-direction:column;gap:6px;width:100%;padding-bottom:4px}.mb-component{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px}.mb-component-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.mb-type-select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 16px 2px 4px;font-size:.7rem;font-weight:600;color:var(--text-primary);font-family:var(--font-body);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 24 24' fill='none' stroke='%239a9490' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}.mb-delete-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;opacity:0;transition:opacity .15s}.mb-component:hover .mb-delete-btn{opacity:1}.mb-delete-btn:hover{color:#c45a5a;background:#c45a5a14}.mb-fields{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.mb-field{display:flex;align-items:center;gap:2px}.mb-field label{font-size:.6rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;min-width:14px}.mb-field--wide{flex:1;min-width:0}.mb-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 4px;font-size:.72rem;font-family:var(--font-mono);color:var(--text-primary);width:42px;text-align:center}.mb-input--text{font-family:var(--font-body);text-align:left;width:auto;flex:1;min-width:0}.mb-input:focus{outline:none;border-color:var(--accent)}.mb-lumber-row{display:flex;gap:4px;align-items:center;width:100%;margin-top:2px;padding-top:3px;border-top:1px solid var(--border)}.mb-computed{display:flex;gap:8px;margin-top:3px}.mb-computed-val{font-family:var(--font-mono);font-size:.68rem;color:var(--text-secondary)}.mb-computed-unit{font-family:var(--font-body);font-size:.6rem;color:var(--text-muted);text-transform:uppercase}.mb-add-row{display:flex;flex-wrap:wrap;gap:3px}.mb-add-btn{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:var(--radius-sm);border:1px dashed var(--border);background:transparent;font-size:.65rem;font-weight:600;font-family:var(--font-body);color:var(--text-muted);cursor:pointer;transition:all .15s}.mb-add-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.bcp-wrap{display:flex;flex-direction:column;gap:5px;width:100%;padding-bottom:4px}.bcp-na{font-size:.72rem;color:var(--text-muted);font-style:italic}.bcp-fields{display:flex;flex-direction:column;gap:3px;width:100%}.bcp-field{display:flex;align-items:center;gap:4px;width:100%}.bcp-field label{font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;min-width:62px;flex-shrink:0}.bcp-field select{flex:1;min-width:0;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 18px 3px 6px;font-size:.75rem;color:var(--text-primary);font-family:var(--font-body);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 24 24' fill='none' stroke='%235a6662' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center;cursor:pointer}.bcp-field select:focus{outline:none;border-color:var(--accent)}.bcp-field select:disabled{opacity:.6;cursor:not-allowed}.bcp-match{background:var(--cost-bg);border:1px solid var(--cost-border);border-radius:var(--radius-sm);padding:5px 7px;display:flex;flex-direction:column;gap:2px}.bcp-match-img{width:100%;aspect-ratio:1 / 1;object-fit:contain;background:#fff;border:1px solid var(--cost-border);border-radius:var(--radius-sm);margin-bottom:3px}.bcp-match-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.bcp-match-sku{font-family:var(--font-mono);font-size:.7rem;font-weight:600;color:var(--text-primary);overflow-wrap:anywhere}.bcp-match-cost{font-size:.8rem;font-weight:700;color:var(--cost-text);flex-shrink:0}.bcp-match-sub{font-size:.62rem;color:var(--text-muted)}.bcp-hint{font-size:.65rem;color:var(--text-muted);font-style:italic}.bcp-warn{font-size:.65rem;font-weight:600;color:#c45a5a}.bcp-mode-link{align-self:flex-start;background:none;border:none;padding:1px 0;font-size:.62rem;font-weight:600;color:var(--text-muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer;font-family:var(--font-body)}.bcp-mode-link:hover{color:var(--accent)}.canvas-member-value-stack{display:flex;flex-direction:column;align-items:center;gap:1px}.canvas-pt-value{font-family:var(--font-mono);font-size:.65rem;opacity:.55}.canvas-pt-value--cost{color:var(--cost-text)}.canvas-pt-value--hours{color:var(--hours-text)}.canvas-pricing-rate-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 6px;font-size:.78rem;font-family:var(--font-mono);color:var(--text-primary);width:80px;text-align:center}.canvas-pricing-rate-input:focus{outline:none;border-color:var(--accent)}.cvs-target-label{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;padding-top:8px}.cvs-target-basis{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 4px;font-size:.66rem;color:var(--text-secondary);max-width:150px}.cvs-target-cell{flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding-top:6px;padding-bottom:8px}.cvs-target-input-row{display:flex;align-items:center;gap:2px}.cvs-target-prefix{font-size:.7rem;color:var(--text-muted)}.cvs-target-error{font-family:var(--font-sans);font-size:.66rem;line-height:1.35;color:#c45a5a;text-align:center;max-width:190px}.cvs-target-proposal{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 7px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-primary);max-width:200px}.cvs-target-headline{font-family:var(--font-mono);font-size:.86rem;font-weight:700;color:var(--accent);display:flex;align-items:baseline;gap:5px}.cvs-target-was{font-size:.62rem;font-weight:500;color:var(--text-muted)}.cvs-target-lands{font-family:var(--font-mono);font-size:.76rem;color:var(--green-600);display:flex;align-items:center;gap:4px}.cvs-target-inexact{font-family:var(--font-sans);font-size:.58rem;text-transform:uppercase;letter-spacing:.04em;color:var(--hours-text);border:1px solid var(--border);border-radius:999px;padding:0 5px}.cvs-target-rate{font-family:var(--font-mono);font-size:.66rem;color:var(--text-secondary);text-align:center}.cvs-target-note{font-family:var(--font-sans);font-size:.6rem;line-height:1.3;color:var(--text-muted);text-align:center}.cvs-target-actions{display:flex;align-items:center;gap:4px;margin-top:2px}.cvs-target-apply{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:3px 12px;font-size:.68rem;font-weight:600;cursor:pointer;transition:opacity .15s ease}.cvs-target-apply:hover:not(:disabled){opacity:.88}.cvs-target-apply:disabled{opacity:.5;cursor:default}.cvs-target-dismiss{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);padding:2px 7px;font-size:.72rem;line-height:1;cursor:pointer;transition:color .15s ease,border-color .15s ease}.cvs-target-dismiss:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-muted)}.cvs-target-dismiss:disabled{opacity:.5;cursor:default}.cvs-target-undo,.qbp-undo{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--text-muted);font-size:.62rem}.cvs-target-undo{margin-top:4px}.cvs-target-undo button,.qbp-undo button{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 6px;background:transparent;color:var(--text-primary);font-size:.62rem;cursor:pointer}.cvs-target-undo button:disabled,.qbp-undo button:disabled{opacity:.5;cursor:default}.cvs-target-freeze{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);padding:2px 4px;line-height:1;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.cvs-target-freeze:hover:not(:disabled){color:var(--blue-500);border-color:var(--blue-500)}.cvs-target-freeze:disabled{opacity:.4;cursor:default}.cvs-target-freeze--on,.cvs-target-freeze--on:hover:not(:disabled){background:var(--blue-900);border-color:var(--blue-500);color:var(--blue-300)}.cvs-target-frozen-chip{display:flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:.66rem;font-weight:700;letter-spacing:.02em;color:var(--blue-300);background:var(--blue-900);border:1px solid var(--blue-800);border-radius:999px;padding:1px 8px;max-width:200px}.cvs-target-frozen-basis{font-family:var(--font-body);font-size:.58rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--blue-500)}.cvs-target-hold{font-family:var(--font-body);font-size:.58rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:center}.cvs-target-proposal--stale{opacity:.45;border-style:dashed}.cvs-target-unfreeze{font-size:.66rem;padding:2px 8px}.canvas-pricing-value--alarm,.cvs-target-rate-alarm{color:#c45a5a;font-weight:700}.sp-margin-grid{display:flex;flex-direction:column;gap:4px}.sp-margin-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.sp-margin-label{font-size:.75rem;color:var(--text-secondary);flex-shrink:0}.sp-margin-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 6px;font-size:.78rem;color:var(--text-primary);font-family:var(--font-mono);width:60px;text-align:right}.sp-margin-input:focus{outline:none;border-color:var(--accent)}.qb-header-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:4px 0;flex-wrap:wrap}.qb-header-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.qb-header-name-group{display:flex;flex-direction:column}.qb-project-name-input{background:transparent;border:none;font:inherit;font-size:1.2rem;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;padding:2px 0;border-bottom:2px solid transparent;width:250px}.qb-project-name-input:focus{outline:none}.qb-quote-number{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.qb-quote-number--unnumbered{font-family:var(--font-body);font-style:italic}.qb-deal-id-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;font-size:.82rem;color:var(--text-primary);font-family:var(--font-body);width:100px}.qb-deal-id-input:focus{outline:none;border-color:var(--accent)}.qb-status-select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 24px 6px 8px;font-size:.82rem;color:var(--text-primary);font-family:var(--font-body);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%235a6662' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.qb-status-select:focus{outline:none;border-color:var(--accent)}.qb-rep-group{display:flex;align-items:center;gap:6px}.qb-rep-toggle{display:flex;align-items:center;gap:4px;font-size:.78rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.qb-rep-toggle input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;cursor:pointer}.qb-rep-rate-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 6px;font-size:.78rem;color:var(--text-primary);font-family:var(--font-mono);width:60px}.qb-rep-rate-input:focus{outline:none;border-color:var(--accent)}.qb-header-right{display:flex;align-items:center;gap:10px}.qb-header-totals{display:flex;flex-direction:column;align-items:flex-end}.qb-total-price{font-family:var(--font-mono);font-size:1.2rem;font-weight:700;color:var(--green-600)}.qb-total-hours{font-family:var(--font-mono);font-size:.8rem;color:var(--hours-text)}.qb-view-tabs{display:inline-flex;gap:4px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px;margin-bottom:8px}.qb-view-tab{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border:none;background:transparent;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s}.qb-view-tab:hover{color:var(--text-primary)}.qb-view-tab--active{background:var(--bg-input);color:var(--accent-text);box-shadow:var(--shadow-raised)}.cf-groupby{display:flex;align-items:center;gap:10px;margin-bottom:14px}.cf-groupby-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.cf-groupby-tabs{display:inline-flex;gap:3px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px}.cf-groupby-tab{padding:5px 12px;border:none;background:transparent;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.78rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s}.cf-groupby-tab:hover{color:var(--text-primary)}.cf-groupby-tab--active{background:var(--bg-input);color:var(--accent-text);box-shadow:var(--shadow-raised)}.cf-shell{display:grid;grid-template-columns:280px 1fr;gap:14px;align-items:start}.cf-rail-fade{position:sticky;top:12px;--scroll-fade-color: var(--bg-card);--scroll-fade-size: 24px;--scroll-fade-inset: 1px;--scroll-fade-radius: 13px}.cf-rail{display:flex;flex-direction:column;gap:2px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:8px;max-height:calc(100vh - 160px);overflow-y:auto}.cf-rail-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:10px 12px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);cursor:pointer;transition:background .15s;font-family:var(--font-body)}.cf-rail-item:hover{background:var(--neutral-750)}.cf-rail-item--sel{background:var(--accent-dim)}.cf-rail-item--ungrouped{border-top:1px dashed var(--border);margin-top:6px;padding-top:12px;border-radius:0 0 var(--radius-md) var(--radius-md)}.cf-rail-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.cf-rail-item-name{font-size:.88rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-rail-item--ungrouped .cf-rail-item-name{font-style:italic;font-weight:500;color:var(--text-secondary)}.cf-rail-item--sel .cf-rail-item-name{color:var(--accent-text)}.cf-rail-item-meta{font-size:.7rem;color:var(--text-muted)}.cf-rail-item-totals{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0}.cf-rail-item-cost{font-family:var(--font-mono);font-size:.82rem;font-weight:700;color:var(--cost-text)}.cf-rail-item-hours{font-family:var(--font-mono);font-size:.7rem;color:var(--hours-text)}.cf-detail{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 24px}.cf-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.cf-detail-title{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--green-600)}.cf-detail-subtitle{font-size:.84rem;color:var(--text-secondary);margin-top:4px}.cf-kpis{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}.cf-kpi{flex:1;min-width:130px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px}.cf-kpi-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.cf-kpi-value{font-family:var(--font-mono);font-size:1.2rem;font-weight:700;margin-top:3px}.cf-kpi--cost .cf-kpi-value{color:var(--cost-text)}.cf-kpi--hours .cf-kpi-value{color:var(--hours-text)}.cf-section-title{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:18px 0 8px}.cf-block-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);margin-bottom:6px;font-size:.85rem}.cf-block-row--cost{background:var(--cost-bg);border:1px solid var(--cost-border)}.cf-block-row--labor{background:var(--hours-bg);border:1px solid var(--hours-border)}.cf-block-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cf-block-row-label{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-block-row-meta{font-size:.72rem;color:var(--text-muted)}.cf-block-row-type{font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-input);border-radius:3px;padding:2px 6px;flex-shrink:0}.cf-block-row-type--button{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);cursor:pointer}.cf-block-row-type--button:hover{border-color:var(--accent);color:var(--text-primary)}.cf-block-recipe-value{min-width:84px;color:var(--text-muted);font-size:.68rem;font-weight:650;text-align:right}.cf-tag-select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 20px 4px 8px;font-size:.72rem;font-weight:600;color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 24 24' fill='none' stroke='%235a6662' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;flex-shrink:0;min-width:90px;max-width:130px}.cf-tag-select:hover{border-color:var(--text-muted)}.cf-tag-select:focus{outline:none;border-color:var(--accent)}.cf-tag-select:disabled{opacity:.5;cursor:wait}.cf-block-row-amt{font-family:var(--font-mono);font-weight:700;flex-shrink:0;min-width:68px;text-align:right}.cf-block-row--cost .cf-block-row-amt{color:var(--cost-text)}.cf-block-row--labor .cf-block-row-amt{color:var(--hours-text)}.cf-empty-note{font-size:.82rem;color:var(--text-muted);padding:10px 2px;font-style:italic}.cf-chips{display:flex;flex-wrap:wrap;gap:8px}.cf-chip{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;padding:5px 11px;border-radius:20px;background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary)}.cf-chip-dim{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted)}.odoo-image{display:block;border-radius:var(--radius-sm);flex-shrink:0}img.odoo-image{object-fit:cover}.odoo-image--loading{background:linear-gradient(90deg,var(--bg-input) 25%,var(--neutral-700) 50%,var(--bg-input) 75%);background-size:200% 100%;animation:odooImageShimmer 1.3s ease-in-out infinite}@keyframes odooImageShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.cf-chip-thumb{width:22px;height:22px;border:1px solid var(--border)}.cf-edit-controls{display:flex;align-items:center;gap:14px;flex-shrink:0}.cf-edit-legend{display:flex;align-items:center;gap:12px;font-size:.68rem;color:var(--text-muted)}.cf-edit-legend-item{display:inline-flex;align-items:center;gap:5px}.cf-edit-legend-swatch{width:9px;height:9px;border-radius:3px;border:1px solid var(--border);display:inline-block}.cf-edit-legend-swatch--white{background:var(--bg-input)}.cf-edit-legend-swatch--tint{background:linear-gradient(90deg,var(--cost-bg) 50%,var(--hours-bg) 50%);border-color:var(--cost-border)}.cf-mode-tabs{display:inline-flex;gap:3px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px}.cf-mode-tab{padding:5px 12px;border:none;background:transparent;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.76rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s}.cf-mode-tab:hover{color:var(--text-primary)}.cf-mode-tab--active{background:var(--bg-input);color:var(--accent-text);box-shadow:var(--shadow-raised)}.cf-mode-tab:disabled{cursor:default}.cf-mode-tab:disabled:not(.cf-mode-tab--active){opacity:.45}.cf-mode-tab:disabled:hover{color:var(--text-secondary)}.cf-mode-tab--active:disabled:hover{color:var(--accent-text)}.cf-edit-error{margin-bottom:14px}.cf-block-row-wrap{margin-bottom:6px}.cf-block-row-wrap .cf-block-row{margin-bottom:0}.cf-block-expand-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;padding:0;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:3px}.cf-block-expand-btn:hover{color:var(--text-primary);background:#0000000d}.cf-edit-primary{display:flex;align-items:baseline;gap:4px;flex-shrink:0}.cf-edit-suffix{font-size:.62rem;color:var(--text-muted);white-space:nowrap}.cf-edit-mixed{font-size:.68rem;font-style:italic;color:var(--text-muted);flex-shrink:0}.cf-edit-input{background:var(--bg-input);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:3px 6px;font-size:.78rem;font-family:var(--font-mono);width:76px;text-align:right}.cf-edit-input:focus{outline:none;box-shadow:inset 0 0 0 1px var(--accent)}.cf-edit-input--cost{color:var(--cost-text)}.cf-edit-input--hours{color:var(--hours-text)}.cf-edit-input--pieces{width:46px;color:var(--text-secondary)}.cf-edit-chip{display:inline-flex;align-items:center;gap:4px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 7px;font-size:.78rem;font-family:var(--font-mono);font-weight:600;cursor:pointer;transition:border-color .15s}.cf-edit-chip:hover{border-color:var(--accent)}.cf-edit-chip:disabled{opacity:.5;cursor:wait}.cf-edit-chip--cost{color:var(--cost-text)}.cf-edit-chip--hours{color:var(--hours-text)}.cf-edit-chip--pieces{color:var(--text-secondary)}.cf-edit-chip-pencil{opacity:0;color:var(--text-muted);transition:opacity .15s;flex-shrink:0}.cf-edit-chip:hover .cf-edit-chip-pencil{opacity:1}.cf-edit-locked{font-family:var(--font-mono);font-size:.78rem;font-weight:600;padding:3px 7px;border:1px dashed var(--border);border-radius:var(--radius-sm)}.cf-edit-locked--cost{color:var(--cost-text)}.cf-edit-locked--hours{color:var(--hours-text)}.cf-block-row-wrap--rate-locked .cf-block-row{background-image:repeating-linear-gradient(135deg,rgba(122,110,96,.07) 0 3px,transparent 3px 8px)}.cf-expand{display:flex;flex-direction:column;gap:3px;margin:2px 0 8px 40px;padding:8px 12px;background:var(--bg-elevated);border:1px dashed var(--border);border-radius:var(--radius-sm)}.cf-expand-empty{font-size:.76rem;color:var(--text-muted);font-style:italic;margin:2px 0 8px 40px}.cf-expand-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 0}.cf-expand-product{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-expand-override-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.cf-expand-value{display:flex;align-items:center;gap:4px;flex-shrink:0}.cf-expand-computed{font-family:var(--font-mono);font-size:.78rem;font-weight:600;flex-shrink:0}.cf-expand-computed--cost{color:var(--cost-text)}.cf-expand-computed--hours{color:var(--hours-text)}@media (max-width: 820px){.cf-shell{grid-template-columns:1fr}.cf-rail-fade{position:static}.cf-rail{max-height:none}.cf-detail-head{flex-direction:column;align-items:flex-start}.cf-block-row{flex-wrap:wrap;row-gap:6px}.cf-expand,.cf-expand-empty{margin-left:0}}.cf-section-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 8px}.cf-section-title-row .cf-section-title{margin:0}.cf-addblock-trigger{display:inline-flex;align-items:center;gap:4px;border:1px dashed var(--border);background:transparent;border-radius:var(--radius-sm);padding:4px 9px;font-family:var(--font-body);font-size:.72rem;font-weight:700;cursor:pointer;transition:all .15s}.cf-addblock-trigger--cost{color:var(--cost-text);border-color:var(--cost-border)}.cf-addblock-trigger--cost:hover:not(:disabled){background:var(--cost-bg)}.cf-addblock-trigger--hours{color:var(--hours-text);border-color:var(--hours-border)}.cf-addblock-trigger--hours:hover:not(:disabled){background:var(--hours-bg)}.cf-addblock-trigger:disabled{color:var(--text-muted);border-color:var(--border);cursor:not-allowed;opacity:.6}.cf-block-scope-choice{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:7px;margin:0 0 10px;padding:9px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:0 12px 30px #1f2b271a}.cf-block-scope-choice--cost{border-left-color:var(--cost-accent)}.cf-block-scope-choice--hours{border-left-color:var(--hours-accent)}.cf-block-scope-choice>div{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;color:var(--text-muted);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.cf-block-scope-choice>div button{display:inline-grid;place-items:center;width:25px;height:25px;border:0;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer}.cf-block-scope-choice>div button:hover{background:var(--bg-hover);color:var(--text-primary)}.cf-block-scope-choice>button{display:flex;flex-direction:column;gap:3px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--bg-input);color:var(--text-primary);text-align:left;cursor:pointer}.cf-block-scope-choice>button:hover:not(:disabled){border-color:var(--accent);background:var(--bg-hover);transform:translateY(-1px)}.cf-block-scope-choice>button strong{font-size:.78rem}.cf-block-scope-choice>button span{color:var(--text-muted);font-size:.68rem;line-height:1.35}.cf-block-scope-choice>button:disabled{opacity:.55;cursor:wait}.cf-block-scope-choice>p{grid-column:1 / -1;margin:0;color:var(--danger);font-size:.7rem}.cf-calc-trigger{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg-input);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:all .15s}.cf-calc-trigger:hover{border-color:var(--accent);color:var(--accent-text)}.cf-calc-trigger--active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-text)}.cf-calc-popover{position:fixed;max-height:calc(100dvh - 24px);display:flex;flex-direction:column;z-index:45;background:var(--bg-input);border:1px solid var(--neutral-600);border-radius:8px;box-shadow:0 1px 2px #14120f1f,0 12px 24px #14120f38,0 28px 52px #14120f33;font-family:var(--font-body);overflow:hidden}.cf-calc-titlebar{display:flex;align-items:center;gap:5px;padding:7px 7px 7px 6px;background:var(--bg-elevated);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.cf-calc-titlebar--dragging{cursor:grabbing}.cf-calc-titlebar-grip{color:var(--text-muted);opacity:.55;flex-shrink:0}.cf-calc-title{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:var(--accent-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-calc-close{border:none;background:transparent;color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0;transition:background .12s,color .12s}.cf-calc-close:hover{color:var(--text-primary);background:var(--neutral-750)}.cf-calc-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:9px 10px 20px;overflow:auto}.cf-calc-presets{display:flex;gap:5px;flex-wrap:wrap;flex-shrink:0;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--border-subtle)}.cf-calc-preset-btn{font-size:.68rem;font-weight:700;border:1px solid var(--border);background:var(--bg-input);border-radius:4px;padding:3px 8px;cursor:pointer;color:var(--text-secondary);font-family:var(--font-body)}.cf-calc-preset-btn:hover{border-color:var(--accent);color:var(--accent-text)}.cf-calc-preset-btn--saved{border-style:dashed}.cf-calc-grid-wrap{flex:1 1 auto;min-height:0;min-width:0;overflow:hidden}.cf-calc-grid{border-collapse:collapse;margin:0 auto}.cf-calc-grid th{background:var(--bg-elevated);color:var(--text-muted);font-size:.62rem;font-weight:800;padding:2px 3px;border:1px solid var(--border);text-align:center}.cf-calc-grid-corner,.cf-calc-grid-rownum{width:18px}.cf-calc-grid-colhead,.cf-calc-grid-rownum{cursor:pointer;-webkit-user-select:none;user-select:none}.cf-calc-grid-colhead:hover,.cf-calc-grid-rownum:hover{background:var(--accent-dim);color:var(--accent-text)}.cf-calc-cell{border:1px solid var(--border);padding:0;position:relative}.cf-calc-cell--selected{outline:2px solid var(--accent);outline-offset:-1px;position:relative;z-index:1}.cf-calc-cell--inrange{outline:1px solid var(--accent);outline-offset:-1px;z-index:1}.cf-calc-cell--inrange .cf-calc-cell-input{background:var(--accent-dim)}.cf-calc-cell--pointer{outline:2px dashed var(--cost-accent);outline-offset:-1px;background:var(--cost-bg);position:relative;z-index:2}.cf-calc-cell--fillnew{outline:1px dashed var(--cost-accent);outline-offset:-1px;z-index:2}.cf-calc-cell--fillnew .cf-calc-cell-input{background:var(--cost-bg)}.cf-calc-cell--movepreview{outline:1px dashed var(--hours-accent);outline-offset:-1px;z-index:2}.cf-calc-cell--movepreview .cf-calc-cell-input{background:var(--hours-bg)}.cf-calc-fill-handle{position:absolute;right:-3px;bottom:-3px;width:7px;height:7px;background:var(--accent);border:1px solid var(--bg-input);border-radius:1px;cursor:crosshair;z-index:4}.cf-calc-move-edge{position:absolute;z-index:3;cursor:move}.cf-calc-move-edge--top{top:-2px;left:0;right:0;height:5px}.cf-calc-move-edge--bottom{bottom:-2px;left:0;right:0;height:5px}.cf-calc-move-edge--left{left:-2px;top:0;bottom:0;width:5px}.cf-calc-move-edge--right{right:-2px;top:0;bottom:0;width:5px}.cf-calc-cell-input{border:none;padding:4px 5px;font-family:var(--font-body);font-size:.76rem;background:var(--bg-input);color:var(--text-primary);cursor:default;caret-color:transparent;width:100%}.cf-calc-cell-input:not([readonly]){cursor:text;caret-color:var(--accent)}.cf-calc-cell-input:focus{outline:none}.cf-calc-cell--pointer .cf-calc-cell-input{background:var(--cost-bg)}.cf-calc-cell--label .cf-calc-cell-input{width:96px;text-align:left;padding-right:3px}.cf-calc-cell--num .cf-calc-cell-input{width:68px;padding-left:3px;padding-right:4px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;font-family:var(--font-mono)}.cf-calc-fromview{display:flex;align-items:center;gap:5px;flex-wrap:wrap;flex-shrink:0;margin-top:7px;font-size:.68rem;color:var(--text-muted)}.cf-calc-fromview-btn{font-size:.68rem;font-weight:700;border:1px solid var(--cost-border);background:var(--cost-bg);color:var(--cost-text);border-radius:4px;padding:2px 7px;cursor:pointer;font-family:var(--font-body)}.cf-calc-fromview-btn:hover{border-color:var(--cost-accent)}.cf-calc-hint{font-size:.66rem;color:var(--text-muted);flex-shrink:0;margin:7px 0 0;padding-bottom:8px;border-bottom:1px solid var(--border-subtle);line-height:1.4}.cf-calc-hint code{background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:.64rem;font-family:var(--font-mono)}.cf-calc-total{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;margin-top:8px;padding:6px 9px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:5px}.cf-calc-total-label{font-size:.72rem;color:var(--text-muted);font-weight:700}.cf-calc-total-value{font-weight:800;font-size:1.02rem;color:var(--accent-text);font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.cf-calc-footer{display:flex;flex-direction:column;gap:7px;flex-shrink:0;margin-top:9px;padding-top:9px;border-top:1px solid var(--border-subtle)}.cf-calc-name-input{background:var(--bg-elevated);border:1px solid var(--border);border-radius:5px;padding:6px 9px;font-family:var(--font-body);font-size:.78rem;color:var(--text-primary)}.cf-calc-name-input:focus{outline:none;border-color:var(--accent)}.cf-calc-footer-actions{display:flex;justify-content:space-between;align-items:center}.cf-calc-save-btn{font-size:.7rem;color:var(--accent-text);background:none;border:none;cursor:pointer;font-weight:700;font-family:var(--font-body);padding:4px 2px}.cf-calc-push-btn{border:none;background:var(--accent);color:#fff;font-weight:700;font-size:.75rem;border-radius:5px;padding:6px 11px;cursor:pointer;font-family:var(--font-body)}.cf-calc-push-btn:disabled{opacity:.55;cursor:not-allowed}.cf-calc-push-error{margin-top:0}.cf-calc-resize-handle{position:absolute;right:3px;bottom:3px;width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);opacity:.5;cursor:nwse-resize;border-radius:3px;-webkit-user-select:none;user-select:none;z-index:3;transition:opacity .12s,background .12s,color .12s}.cf-calc-resize-handle:hover,.cf-calc-popover--resizing .cf-calc-resize-handle{opacity:1;color:var(--accent-text);background:var(--neutral-750)}.cf-pickable{cursor:pointer;border-radius:4px;padding:0 3px;margin:0 -3px;outline:1px dashed transparent;outline-offset:1px;transition:background .12s,outline-color .12s}.cf-pickable:hover{background:var(--accent-dim);outline-color:var(--accent)}@keyframes cfPickFlash{0%{background:var(--accent-dim);outline:1px solid var(--accent)}to{background:transparent;outline-color:transparent}}.cf-pick-flash{border-radius:4px;animation:cfPickFlash .6s ease-out}.cf-addblock-triggers{display:inline-flex;align-items:center;gap:6px}.cf-detail--columns{min-width:0}.cf-cols-fade{--scroll-fade-color: var(--bg-card);--scroll-fade-size: 24px;margin-top:4px}.cf-cols-port{overflow-x:auto;overflow-y:hidden}.cf-cols-grid{display:grid;gap:0;min-width:max-content;align-items:stretch}.cf-cols-corner{position:sticky;left:0;z-index:1;display:flex;align-items:flex-end;padding:0 10px 7px 2px;background:var(--bg-card);border-bottom:2px solid var(--border)}.cf-cols-corner-note{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.cf-cols-head{display:flex;flex-direction:column;justify-content:flex-end;gap:3px;min-width:0;padding:0 8px 7px;background:var(--bg-card);border-bottom:2px solid var(--border)}.cf-cols-head-title{font-size:.82rem;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-cols-head-meta{display:flex;align-items:center;gap:5px;min-width:0}.cf-cols-head-badge{font-size:.62rem;font-weight:700;color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border);border-radius:3px;padding:1px 5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-cols-head-dims{font-family:var(--font-mono);font-size:.66rem;color:var(--text-muted);flex-shrink:0}.cf-cols-head-qty{font-family:var(--font-mono);font-size:.66rem;font-weight:700;color:var(--text-secondary);flex-shrink:0}.cf-cols-band{padding:12px 0 4px}.cf-cols-band-label{position:sticky;left:0;display:inline-block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-card);padding-right:10px}.cf-cols-axis{position:sticky;left:0;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;padding:7px 10px;border-bottom:2px solid var(--bg-card);border-right:2px solid var(--bg-card)}.cf-cols-axis--cost{background:var(--cost-bg)}.cf-cols-axis--hours{background:var(--hours-bg)}.cf-cols-axis-label{font-size:.8rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-cols-axis-foot{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.cf-cols-axis-meta{flex:1;min-width:0;font-size:.66rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-cols-axis-amt{font-family:var(--font-mono);font-size:.78rem;font-weight:700;flex-shrink:0}.cf-cols-axis-amt--cost{color:var(--cost-text)}.cf-cols-axis-amt--hours{color:var(--hours-text)}.cf-cols-cell{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:3px;min-width:0;padding:7px 8px;border-bottom:2px solid var(--bg-card);border-right:2px solid var(--bg-card)}.cf-cols-cell--cost{background:var(--cost-bg)}.cf-cols-cell--hours{background:var(--hours-bg)}.cf-cols-cell--absent{align-items:center;color:var(--neutral-600);font-family:var(--font-mono);font-size:.78rem}.cf-cols-cell-input{display:flex;align-items:center;gap:4px;max-width:100%}.cf-cols-cell-computed{font-family:var(--font-mono);font-size:.78rem;font-weight:600}.cf-cols-cell-computed--cost{color:var(--cost-text)}.cf-cols-cell-computed--hours{color:var(--hours-text)}.cf-cols-total{background:var(--bg-elevated);border-top:2px solid var(--border);border-bottom:none;padding-top:9px;padding-bottom:9px}.cf-cols-total-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.cf-cols-total-cost{font-family:var(--font-mono);font-size:.82rem;font-weight:700;color:var(--cost-text)}.cf-cols-total-hours{font-family:var(--font-mono);font-size:.7rem;color:var(--hours-text)}.sp-block-config-card{padding:6px 8px;margin-bottom:4px;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border-subtle)}.sp-block-configs-scroll{max-height:50vh;overflow-y:auto;padding-right:2px}.sp-block-config-card--editable{padding:8px;margin-bottom:6px}.sp-block-config-edit-row{display:flex;align-items:flex-start;gap:6px;width:100%}.sp-block-config-edit-row .canvas-block-fields{flex:1;min-width:0}.sp-block-config-edit-row .canvas-block-select{max-width:100%}.sp-block-delete-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:3px;border-radius:3px;display:flex;align-items:center;flex-shrink:0;opacity:0;transition:opacity .15s;margin-top:2px}.sp-block-delete-btn:hover{color:#c45a5a;background:#c45a5a14}.mat-search-wrapper{position:relative;flex:1;min-width:0}.mat-search-input{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 6px;font-size:.75rem;color:var(--text-primary);font-family:var(--font-body)}.mat-search-input:focus{outline:none;border-color:var(--accent)}.mat-search-dropdown{position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:2px;max-height:180px;overflow-y:auto;box-shadow:0 4px 12px #0000004d}.mat-search-option{padding:5px 8px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-search-option--highlighted{background:var(--accent-dim);color:var(--text-primary)}.mat-search-option--add{color:var(--accent-text);font-style:italic;border-top:1px solid var(--border-subtle)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .25s ease-out}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--neutral-700);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--neutral-600)}@media (max-width: 900px){.app-sidebar,.app-sidebar--collapsed{top:auto;right:12px;bottom:12px;left:auto;display:flex;width:auto;padding:0;border:0;background:transparent;z-index:120}.app-sidebar .sidebar-top,.app-sidebar .sidebar-nav{display:none}.app-sidebar .sidebar-theme,.app-sidebar--collapsed .sidebar-theme{display:flex;flex-direction:row;gap:6px;padding:6px;border:1px solid var(--theme-line);border-radius:var(--theme-radius-md);background:var(--theme-surface);box-shadow:var(--theme-shadow)}.app-sidebar .sidebar-theme-label span{display:none}.app-sidebar .sidebar-theme-picker,.app-sidebar--collapsed .sidebar-theme-picker{width:112px}.app-main{margin-left:0!important;padding:20px}.quote-canvas-shell{grid-template-columns:1fr}.quote-canvas-left{position:static;width:100%}.canvas-grid-wrapper{max-height:none}.product-card-column{min-width:92vw;max-width:92vw}.product-card-header{flex-direction:column;align-items:flex-start;gap:12px}.product-card-summary{width:100%;justify-content:space-between}.quote-row{grid-template-columns:1fr 1fr;gap:10px}.block-row-cost,.block-row-labor,.block-row-header.block-row-cost,.block-row-header.block-row-labor{grid-template-columns:1fr}}.qbw-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#181a1785;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:qbwScrimIn .16s ease-out}@keyframes qbwScrimIn{0%{opacity:0}to{opacity:1}}.qbw-card{width:100%;max-width:660px;max-height:88vh;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 24px 60px #00000047,0 4px 12px #0000001f;padding:22px 24px 16px;outline:none;animation:qbwCardIn .2s cubic-bezier(.2,.8,.2,1)}@keyframes qbwCardIn{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.qbw-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.qbw-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:24px}.qbw-brand{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:var(--accent-text);padding-right:4px}.qbw-crumb{border:1px solid var(--border);background:var(--neutral-750);color:var(--text-secondary);border-radius:999px;padding:3px 10px;font-size:.74rem;font-weight:600;cursor:pointer;transition:all .15s;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qbw-crumb:hover{border-color:var(--accent);color:var(--text-primary)}.qbw-crumb--current{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-text)}.qbw-price{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1;flex-shrink:0}.qbw-price-value{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--accent-text);letter-spacing:-.02em;display:inline-block;animation:qbwPulse .15s ease-out}@keyframes qbwPulse{0%{transform:translateY(-3px);opacity:.4;color:var(--green-400)}to{transform:none;opacity:1}}.qbw-price-total{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);margin-top:2px}.qbw-head{margin-bottom:16px}.qbw-step{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.qbw-title{font-size:1.7rem;font-weight:700;letter-spacing:-.03em;color:var(--text-primary);margin-top:2px}.qbw-subtitle{font-size:.9rem;color:var(--text-secondary);margin-top:2px}.qbw-body-fade{flex:1;min-height:0;display:flex;flex-direction:column;--scroll-fade-color: var(--bg-card);--scroll-fade-size: 24px}.qbw-body{flex:1;min-height:0;overflow-y:auto}.qbw-options{display:flex;flex-direction:column;gap:8px}.qbw-option{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.qbw-option:hover{border-color:var(--neutral-500)}.qbw-option--hot{border-color:var(--accent);background:var(--accent-dim);box-shadow:inset 0 0 0 1px var(--accent)}.qbw-option--disabled{opacity:.5;cursor:not-allowed;background:var(--neutral-850)}.qbw-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:6px;background:var(--neutral-750);border:1px solid var(--border);font-family:var(--font-mono);font-size:.78rem;font-weight:700;color:var(--text-secondary)}.qbw-option--hot .qbw-num{background:var(--accent);border-color:var(--accent);color:#fff}.qbw-option-label{font-size:1.02rem;font-weight:600;flex:1}.qbw-option-sub{font-size:.78rem;color:var(--text-muted)}.qbw-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.qbw-card-opt{display:flex;flex-direction:column;gap:0;padding:0;border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);cursor:pointer;overflow:hidden;text-align:left;transition:border-color .18s,box-shadow .18s,transform .18s}.qbw-card-opt:hover{border-color:var(--neutral-500)}.qbw-card-opt--hot{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 6px 16px #0000001f;transform:translateY(-2px)}.qbw-card-visual{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4 / 3;background:var(--neutral-850);color:var(--text-secondary);overflow:hidden}.qbw-card-img{width:100%;height:100%;object-fit:cover;display:block}.qbw-card-visual--blank{width:100%;height:100%;background:repeating-linear-gradient(45deg,var(--neutral-800),var(--neutral-800) 8px,var(--neutral-850) 8px,var(--neutral-850) 16px)}.qbw-card-opt--hot .qbw-card-visual{color:var(--accent)}.qbw-num--corner{position:absolute;top:6px;left:6px;width:20px;height:20px;background:#00000073;border:none;color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.qbw-card-opt--hot .qbw-num--corner{background:var(--accent)}.qbw-card-label{padding:8px 10px;font-size:.86rem;font-weight:600}.qbw-illo{width:46px;height:46px;color:inherit}.qbw-card-visual>.qbw-illo{width:96px;height:96px}.qbw-accept{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 16px;margin-bottom:6px;border:1.5px dashed var(--accent);border-radius:var(--radius-md);background:transparent;color:var(--accent-text);cursor:pointer;transition:all .15s}.qbw-accept--hot{background:var(--accent);border-style:solid;color:#fff}.qbw-accept-label{font-weight:700;font-size:.98rem}.qbw-accept-sub{flex:1;font-size:.78rem;opacity:.8}.qbw-accept-key{display:inline-flex}.qbw-size{display:flex;flex-direction:column;gap:16px}.qbw-field{display:flex;flex-direction:column;gap:5px}.qbw-field--wide{width:100%}.qbw-field-label{font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.qbw-input{background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:1.05rem;font-family:var(--font-mono);color:var(--text-primary);transition:border-color .15s;width:100%}.qbw-input:focus{outline:none;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.qbw-dims{display:flex;align-items:flex-end;gap:10px}.qbw-dims--dia{max-width:260px}.qbw-dim-field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.qbw-dim-cap{font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.qbw-dim-x{flex-shrink:0;height:44px;display:flex;align-items:center;font-family:var(--font-mono);font-size:1.25rem;color:var(--text-muted);-webkit-user-select:none;user-select:none}.qbw-affix-wrap{position:relative;display:flex;align-items:center}.qbw-input--affixed{padding-right:34px;text-align:left}.qbw-affix{position:absolute;right:12px;pointer-events:none;font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted)}.qbw-qty-row{display:inline-flex;align-items:center;gap:10px}.qbw-stepper{display:inline-flex;align-items:center;gap:0;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);overflow:hidden;width:fit-content}.qbw-step-btn{width:38px;height:40px;border:none;background:var(--neutral-750);color:var(--text-primary);font-size:1.3rem;font-weight:600;line-height:1;cursor:pointer;transition:background .15s,color .15s}.qbw-step-btn:hover:not(:disabled){background:var(--accent);color:#fff}.qbw-step-btn:disabled{opacity:.4;cursor:not-allowed}.qbw-step-input{width:52px;height:40px;border:none;border-left:1.5px solid var(--border);border-right:1.5px solid var(--border);background:var(--bg-input);text-align:center;font-family:var(--font-mono);font-size:1.05rem;color:var(--text-primary)}.qbw-step-input:focus{outline:none;box-shadow:inset 0 0 0 1px var(--accent)}.qbw-step-suffix{font-size:.86rem;color:var(--text-muted)}.qbw-seg-group{display:flex;flex-direction:column;gap:6px}.qbw-seg-title{font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.qbw-seg{display:inline-flex;flex-wrap:wrap;gap:6px}.qbw-seg-btn{padding:8px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);font-size:.86rem;font-weight:600;cursor:pointer;transition:all .15s}.qbw-seg-btn:hover{border-color:var(--neutral-500);color:var(--text-primary)}.qbw-seg-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-input),0 0 0 4px var(--accent)}.qbw-seg-btn--on{background:var(--accent);border-color:var(--accent);color:#fff}.qbw-seg-btn--illo{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 12px 7px;min-width:74px}.qbw-seg-btn--illo .qbw-illo{width:34px;height:34px;color:var(--text-secondary);transition:color .15s}.qbw-seg-btn--illo:hover .qbw-illo{color:var(--text-primary)}.qbw-seg-btn--illo.qbw-seg-btn--on .qbw-illo{color:#fff}.qbw-primary{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;margin-top:4px;padding:11px 20px;border:none;border-radius:var(--radius-md);background:var(--green-600);color:#fff;font-size:.92rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-raised);transition:background .15s}.qbw-primary:hover:not(:disabled){background:var(--green-500)}.qbw-primary:disabled{opacity:.6;cursor:not-allowed}.qbw-fields{display:flex;flex-direction:column;gap:14px}.qbw-hint-line{font-size:.8rem;color:var(--text-muted);font-style:italic}.qbw-error{margin-top:12px;padding:8px 12px;border-radius:var(--radius-sm);background:#fdf0f0;border:1px solid #e0a0a0;color:#a03a3a;font-size:.82rem;display:flex;align-items:center;gap:10px}.qbw-error span{flex:1}.qbw-error-retry{flex-shrink:0;border:1px solid #c47a7a;background:#fff;color:#a03a3a;border-radius:var(--radius-sm);padding:4px 12px;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .15s}.qbw-error-retry:hover{background:#fbe6e6}.qbw-error--fatal{background:#fbeaea}.qbw-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:12px;border-top:1px solid var(--border-subtle);flex-wrap:wrap}.qbw-hints{display:flex;flex-wrap:wrap;gap:12px;font-size:.74rem;color:var(--text-muted)}.qbw-hints span{display:inline-flex;align-items:center;gap:4px}.qbw-hints kbd{display:inline-flex;align-items:center;min-width:18px;height:18px;padding:0 5px;justify-content:center;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;background:var(--neutral-750);font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary)}.qbw-footer-actions{display:flex;gap:8px}.qbw-textbtn{display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;padding:6px 8px;border-radius:var(--radius-sm);transition:all .15s}.qbw-textbtn:hover{color:var(--text-primary);background:var(--neutral-800)}.qbw-textbtn--accent{color:var(--accent-text)}.qbw-textbtn--accent:hover{background:var(--accent-dim)}.canvas-product-column--qb-flash{animation:qbwFlash 2.4s ease-out}@keyframes qbwFlash{0%{box-shadow:inset 0 0 0 2px var(--accent),0 0 22px #49554c73;background:var(--accent-dim)}70%{box-shadow:inset 0 0 0 2px var(--accent),0 0 10px #49554c33}to{box-shadow:none;background:var(--bg-primary)}}@media (max-width: 640px){.qbw-card{padding:18px 16px 12px}.qbw-title{font-size:1.4rem}.qbw-price-value{font-size:1.25rem}}.qd-root{--qd-bg: #f3efe7;--qd-panel: #eae6de;--qd-pill: #676d63;--qd-pill-dark: #49554b;--qd-total-green: #49554b;--qd-badge: #49554b;--qd-label-muted: #a4a09b;--qd-ink: #3f3f38;--qd-rule: #d2d0ca;--qd-note-rust: #b0553f;--qd-alt-teal: #9fb9c4;--qd-link-blue: #2a7ebe;--qd-font: "DM Sans", -apple-system, sans-serif;display:flex;flex-direction:column;height:100vh}.qd-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex:0 0 auto;flex-wrap:wrap;padding:14px 24px;background:var(--qd-bg);border-bottom:1px solid var(--qd-rule);box-shadow:0 2px 8px #3f3f3814}.qd-scroll{flex:1 1 auto;overflow-y:auto;min-height:0;padding:16px 0 24px}.qd-mode-toggle{display:inline-flex;align-items:center;gap:2px;background:var(--qd-panel);border:1px solid var(--qd-rule);border-radius:8px;padding:3px;margin-right:auto}.qd-mode-btn{border:none;background:transparent;color:var(--qd-total-green);font-family:var(--qd-font);font-weight:600;font-size:.78rem;padding:6px 12px;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.qd-mode-btn:hover:not(.qd-mode-btn--active){background:#49554c1f}.qd-mode-btn--active{background:var(--qd-total-green);color:var(--qd-bg)}.qd-print-btn{display:inline-flex;align-items:center;gap:7px;background:var(--qd-total-green);color:var(--qd-bg);border:none;padding:9px 16px;border-radius:8px;font-family:var(--qd-font);font-weight:600;font-size:.82rem;cursor:pointer;transition:filter .15s}.qd-print-btn:hover:not(:disabled){filter:brightness(1.12)}.qd-print-btn:disabled{background:var(--qd-panel);color:var(--qd-pill);border:1px solid var(--qd-rule);cursor:not-allowed;filter:none}.qd-issued-print-guidance{flex:0 0 100%;color:var(--qd-pill-dark);font-family:var(--qd-font);font-size:.78rem;line-height:1.35;text-align:right}.qd-issued-print-refusal{display:none}.qd-download-btn{display:inline-flex;align-items:center;gap:7px;background:transparent;color:var(--qd-total-green);border:1.5px solid var(--qd-total-green);padding:7.5px 16px;border-radius:8px;font-family:var(--qd-font);font-weight:600;font-size:.82rem;cursor:pointer;transition:background .15s,color .15s,opacity .15s}.qd-download-btn:hover:not(:disabled){background:var(--qd-total-green);color:var(--qd-bg)}.qd-download-btn:disabled{opacity:.6;cursor:default}.qd-pdf-error{flex:0 0 auto;margin:12px 24px 0}.qd-newversion-btn{display:inline-flex;align-items:center;gap:7px;background:var(--qd-note-rust);color:var(--qd-bg);border:1.5px solid var(--qd-note-rust);padding:7.5px 16px;border-radius:8px;font-family:var(--qd-font);font-weight:600;font-size:.82rem;cursor:pointer;transition:filter .15s,opacity .15s}.qd-newversion-btn:hover:not(:disabled){filter:brightness(1.1)}.qd-newversion-btn:disabled{opacity:.6;cursor:default}.qd-versions{flex:0 0 auto;margin:12px 24px 0;padding:10px 14px 12px;background:var(--qd-panel);border:1px solid var(--qd-rule);border-radius:10px;font-family:var(--qd-font)}.qd-versions-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.qd-versions-title{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--qd-label-muted)}.qd-versions-count{font-size:.68rem;font-weight:700;color:var(--qd-total-green);background:#49554c1f;border-radius:20px;padding:1px 7px}.qd-versions-empty{font-size:.78rem;color:var(--qd-label-muted);line-height:1.45}.qd-versions-list{list-style:none;margin:0;padding:0;max-height:156px;overflow-y:auto}.qd-version{padding:6px 0 7px;border-top:1px solid var(--qd-rule)}.qd-version:first-child{border-top:none}.qd-version-line{display:flex;align-items:baseline;gap:8px}.qd-version-no{flex:1 1 auto;min-width:0;font-family:"Inter",var(--qd-font);font-weight:700;font-size:.82rem;color:var(--qd-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qd-version-meta{flex:1 1 auto;min-width:0;font-size:.7rem;color:var(--qd-label-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qd-version-total{font-family:"Inter",var(--qd-font);font-weight:700;font-size:.82rem;color:var(--qd-ink);white-space:nowrap}.qd-version-delta{font-family:"Inter",var(--qd-font);font-weight:700;font-size:.74rem;white-space:nowrap;text-align:right}.qd-version-delta--up{color:var(--qd-note-rust)}.qd-version-delta--down{color:var(--qd-total-green)}.qd-version-delta--flat{color:var(--qd-label-muted)}.qd-version-delta--none{color:var(--qd-label-muted);font-weight:500;font-size:.72rem}.qd-version-pick{display:block;width:calc(100% + 14px);margin:0 -7px;padding:0 7px;border:none;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:6px}.qd-version-pick:hover{background:#49554c0f}.qd-version-pick:focus-visible{outline:2px solid var(--qd-total-green);outline-offset:1px}.qd-version--picked>.qd-version-pick,.qd-version--picked>.qd-version-pick:hover{background:#49554c1a;box-shadow:inset 3px 0 0 var(--qd-total-green)}.qd-versions-pick{display:flex;align-items:center;gap:8px;margin-top:9px;padding-top:8px;border-top:1px solid var(--qd-rule)}.qd-versions-hint{flex:1 1 auto;min-width:0;font-size:.7rem;color:var(--qd-label-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qd-versions-compare{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:none;border-radius:6px;background:var(--qd-total-green);color:#fff;font-family:var(--qd-font);font-size:.7rem;font-weight:700;white-space:nowrap;cursor:pointer}.qd-versions-compare:hover{filter:brightness(1.12)}.qd-page{background:var(--qd-bg);color:var(--qd-ink);font-family:var(--qd-font);font-size:13.5px;line-height:1.5;max-width:816px;margin:0 auto;padding:48px 56px 40px;border-radius:14px;box-shadow:var(--shadow-raised)}.qd-empty{padding:24px;text-align:center;color:var(--qd-label-muted);background:var(--qd-panel);border-radius:12px}.qd-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:32px}.qd-logo{height:56px;width:auto;object-fit:contain}.qd-company-address{font-style:normal;text-align:right;font-size:.85rem;color:var(--qd-ink);line-height:1.5}.qd-titleblock{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:30px}.qd-estimate-title{font-size:1.5rem;font-weight:700;letter-spacing:-.01em;margin-bottom:4px}.qd-quote-sub{font-size:.85rem;color:var(--qd-label-muted);margin-bottom:14px}.qd-pills{display:flex;flex-wrap:wrap;gap:14px}.qd-meta-pills{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.qd-pill{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--qd-ink);font-weight:600}.qd-pill-label{background:var(--qd-pill-dark);color:var(--qd-bg);font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:6px}.qd-section-title{font-size:1.02rem;font-weight:700;color:var(--qd-ink);letter-spacing:-.01em;margin:6px 0 14px}.qd-products{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.qd-rule-text{margin:16px 0;color:var(--qd-ink);font:inherit;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.qd-rule-text--muted{color:var(--qd-pill-dark)}.qd-rule-text--heading{font-weight:700}.qd-rule-text--bullets{padding-inline-start:24px}.qd-rule-pages{width:100%;border-collapse:collapse;table-layout:fixed}.qd-rule-pages>tbody>tr>td{padding:0}.qd-rule-repeat{padding:12px 0;border-bottom:1px solid var(--qd-rule);color:var(--qd-ink);font-weight:600;text-align:start;white-space:pre-wrap;overflow-wrap:anywhere}@media print{.qd-rule-pages>thead{display:table-header-group}.qd-rule-page-break{break-before:page}}.qd-combined-section{margin-bottom:30px}.qd-combined-section:last-child{margin-bottom:20px}.qd-combined-section-header{display:flex;align-items:center;gap:12px;margin:0 0 14px}.qd-combined-section-title{flex-shrink:0;background:var(--qd-pill-dark);color:var(--qd-bg);font-size:.82rem;font-weight:700;padding:6px 13px;border-radius:7px;letter-spacing:-.005em}.qd-combined-section-rule{flex:1;height:1px;background:var(--qd-rule)}.qd-card{position:relative;background:var(--qd-panel);border-radius:16px;padding:24px 28px 22px 54px}.qd-card-badge{position:absolute;top:22px;left:20px}.qd-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:var(--qd-badge);color:var(--qd-bg);font-weight:700;font-size:.78rem;flex-shrink:0}.qd-badge--sm{width:16px;height:16px;font-size:.65rem;border-radius:4px}.qd-totalbar .qd-badge--sm{background:var(--qd-bg);color:var(--qd-total-green)}.qd-spec-header{display:flex;flex-direction:column;gap:3px;margin-bottom:14px}.qd-spec-row{display:flex;gap:8px;font-size:.85rem}.qd-spec-label{color:var(--qd-label-muted);min-width:92px;flex-shrink:0}.qd-spec-value{color:var(--qd-ink);font-weight:600}.qd-rail{display:grid;grid-template-columns:92px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--qd-rule)}.qd-rail-gutter{color:var(--qd-label-muted);font-size:.8rem;text-align:right;line-height:1.3;padding-top:2px}.qd-rail-body{border-left:1px solid var(--qd-rule);padding-left:14px;display:flex;flex-direction:column;gap:10px;min-width:0}.qd-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px}.qd-pair{display:flex;gap:6px;flex-wrap:wrap;font-size:.85rem}.qd-pair-label{color:var(--qd-label-muted)}.qd-pair-value{color:var(--qd-ink);font-weight:600}.qd-subrail{display:flex;gap:10px;padding-left:12px;border-left:2px solid var(--qd-rule);font-size:.82rem}.qd-subrail--note{border-left-color:var(--qd-note-rust)}.qd-subrail--note .qd-subrail-label{color:var(--qd-note-rust)}.qd-subrail-label{flex-shrink:0;min-width:62px;font-weight:700;color:var(--qd-label-muted)}.qd-subrail-body{color:var(--qd-ink);white-space:pre-wrap}.qd-subrail--alternate{border-left:none;background:#9fb9c433;border:1px solid var(--qd-alt-teal);border-radius:8px;padding:10px 12px;margin-top:2px;flex-direction:column;gap:6px}.qd-subrail--alternate .qd-subrail-label{display:inline-block;align-self:flex-start;background:var(--qd-alt-teal);color:var(--qd-total-green);min-width:0;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:5px}.qd-alt-title{font-weight:700;color:var(--qd-ink)}.qd-alt-note{color:var(--qd-ink);opacity:.82}.qd-alt-lines{display:flex;flex-direction:column;gap:6px;margin-top:2px}.qd-alt-line{display:flex;gap:10px;padding-left:12px;border-left:2px solid var(--qd-alt-teal);font-size:.82rem}.qd-alt-line-label{flex-shrink:0;min-width:62px;font-weight:700;color:var(--qd-label-muted)}.qd-alt-line-body{color:var(--qd-ink);white-space:pre-wrap;min-width:0}.qd-alt-line--note{border-left-color:var(--qd-note-rust)}.qd-alt-line--note .qd-alt-line-label{color:var(--qd-note-rust)}.qd-alt-figures{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:2px}.qd-alt-figure{display:flex;align-items:baseline;gap:6px;font-size:.82rem}.qd-alt-figure-label{color:var(--qd-label-muted);font-weight:600}.qd-alt-figure-value{font-weight:700;color:var(--qd-ink)}.qd-alt-net--up .qd-alt-figure-value{color:var(--qd-note-rust)}.qd-alt-net--down .qd-alt-figure-value{color:var(--qd-total-green)}.qd-base-image{width:140px;height:96px;object-fit:contain;border-radius:8px;margin-top:2px;background:#3f3f380a}.odoo-image--loading.qd-base-image{background:linear-gradient(90deg,#3f3f380a 25%,#3f3f3817 37%,#3f3f380a 63%);background-size:400% 100%;animation:qdShimmer 1.4s ease infinite}@keyframes qdShimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.qd-pricing{margin-top:16px;padding-top:12px;border-top:1px solid var(--qd-rule);display:flex;flex-direction:column;gap:6px;align-items:flex-end}.qd-price-row{display:grid;grid-template-columns:minmax(140px,1fr) 90px 50px 90px;gap:10px;align-items:center;width:100%;font-size:.82rem}.qd-price-row>*:first-child{text-align:left}.qd-price-row>*:not(:first-child){text-align:right}.qd-price-row--header{color:var(--qd-label-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--qd-rule);padding-bottom:5px}.qd-price-row-label{color:var(--qd-ink);font-weight:600;display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.qd-price-row-label small{color:var(--qd-ink);font-size:.72rem;font-weight:500;margin-top:2px}.qd-totalbar{background:var(--qd-total-green);color:var(--qd-bg);border-radius:8px;padding:9px 12px;font-weight:600;margin-top:2px}.qd-totalbar-tag{display:flex;align-items:center;gap:8px}.qd-totalbar-code{font-weight:700;font-size:.8rem}.qd-totalbar-total-label{font-weight:600}.qd-details{margin:30px 0;display:flex;flex-direction:column;gap:5px;font-size:.85rem}.qd-detail-row{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:baseline;color:var(--qd-label-muted)}.qd-detail-label{color:var(--qd-ink);font-weight:600}.qd-detail-note{color:var(--qd-label-muted)}.qd-detail-amt{text-align:right;color:var(--qd-ink);font-weight:600}.qd-detail-total-row{display:flex;justify-content:flex-end;gap:40px;padding:6px 0;border-top:1px solid var(--qd-rule);font-weight:700;color:var(--qd-ink)}.qd-detail-total-row--final{margin-top:4px;padding-top:8px;border-top:2px solid var(--qd-total-green);font-size:1rem}.qd-infogrid{display:flex;flex-direction:column;gap:14px;margin:30px 0}.qd-info-row{display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:start}.qd-info-label{background:var(--qd-pill-dark);color:var(--qd-bg);font-size:.74rem;font-weight:700;padding:5px 10px;border-radius:6px;white-space:nowrap;height:fit-content}.qd-info-body{font-size:.85rem;color:var(--qd-ink);display:flex;flex-direction:column;gap:3px}.qd-info-caption{margin-top:4px;font-style:italic;color:var(--qd-label-muted);font-size:.78rem}.qd-conditions-wrap{margin:34px 0 30px}.qd-conditions-title{font-weight:700;margin-bottom:10px;color:var(--qd-ink)}.qd-conditions{width:100%;border-collapse:collapse;font-size:.78rem;border:1px solid rgba(63,63,56,.2)}.qd-conditions th{background:var(--qd-total-green);color:var(--qd-bg);text-align:left;vertical-align:top;font-weight:700;width:220px;padding:9px 12px;border:1px solid rgba(63,63,56,.2)}.qd-conditions td{vertical-align:top;color:var(--qd-ink);padding:9px 12px;border:1px solid rgba(63,63,56,.15)}.qd-conditions td p:not(:last-child){margin-bottom:6px}.qd-document-ending{break-inside:avoid}.qd-footer-band{margin-top:30px;background:var(--qd-total-green);color:var(--qd-bg);text-align:center;padding:14px;border-radius:8px;font-weight:700;font-size:.95rem}.qde-shell{display:grid;grid-template-columns:minmax(320px,400px) 1fr;gap:16px;align-items:start;container:document-studio / inline-size}.qde-preview-pane{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;height:calc(100vh - 160px);display:flex;min-width:0;overflow:hidden}.qde-preview-pane .qd-root{flex:1 1 auto;height:100%;min-width:0}.qde-preview-pane .qd-page{max-width:none;width:100%;margin:0}@container document-studio (max-width: 960px){.qde-shell>*{grid-column:1 / -1}.qde-preview-pane,.qde-preview-pane .qd-root{height:auto}}@container document-studio (max-width: 480px){.qde-preview-pane{padding:8px}.qde-preview-pane .qd-page{padding:24px 16px}}@media (max-width: 1000px){.qde-shell{grid-template-columns:1fr}.qde-preview-pane{height:auto}}.qde-rail-fade{position:sticky;top:12px;--scroll-fade-color: var(--bg-card);--scroll-fade-size: 24px;--scroll-fade-inset: 1px;--scroll-fade-radius: 13px}.qde-rail{display:flex;flex-direction:column;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;max-height:calc(100vh - 160px);overflow-y:auto}.qde-rail-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.qde-rail-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700}.qde-bulknote-trigger{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);font-family:var(--font-body);font-size:.74rem;font-weight:600;padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}.qde-bulknote-trigger:hover{color:var(--text-primary);background:var(--neutral-800)}.qde-bulknote-form{display:flex;flex-direction:column;gap:6px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px}.qde-bulknote-textarea{resize:vertical;min-height:56px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;font-family:var(--font-body);font-size:.82rem;color:var(--text-primary)}.qde-bulknote-textarea:focus{outline:none;border-color:var(--accent)}.qde-bulknote-actions{display:flex;justify-content:flex-end;gap:6px}.qde-rows{display:flex;flex-direction:column;gap:6px}.qde-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);transition:opacity .15s,border-color .15s}.qde-row.qde-row--dragging{opacity:0}.qde-row--excluded{opacity:.55}.qde-row--overlay{z-index:1000;box-shadow:0 10px 24px #0000002e,0 3px 8px #0000001f;transform:scale(1.02);cursor:grabbing}.qde-row-main{display:flex;align-items:center;gap:8px;padding:8px 10px}.qde-drag-handle{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:grab;flex-shrink:0;padding:2px;border:none;background:transparent;touch-action:none}.qde-drag-handle:active,.qde-drag-handle--overlay{cursor:grabbing}.qde-row-checkbox{flex-shrink:0;cursor:pointer;accent-color:var(--accent)}.qde-row-summary{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;cursor:pointer;text-align:left;background:none;border:none;padding:0;font-family:var(--font-body)}.qde-row-title{font-size:.85rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qde-row-meta{font-size:.72rem;color:var(--text-muted);display:flex;gap:6px}.qde-row-excluded-tag{color:var(--cost-text);font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:.65rem}.qde-row-total{font-family:var(--font-mono);font-weight:700;color:var(--green-600);flex-shrink:0;font-size:.85rem}.qde-row-expand-btn{flex-shrink:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:3px;display:inline-flex}.qde-row-expand-btn:hover{color:var(--text-primary)}.qde-row-detail{padding:10px 12px 12px 34px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--border);margin-top:2px}.qde-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}.qde-field{display:flex;flex-direction:column;gap:3px}.qde-field label{font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700}.qde-field input,.qde-field select,.qde-field textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;font-family:var(--font-body);font-size:.82rem;color:var(--text-primary)}.qde-field input:focus,.qde-field select:focus,.qde-field textarea:focus{outline:none;border-color:var(--accent)}.qde-field textarea{resize:vertical;min-height:44px}.qde-field--title{grid-column:1 / -1}.qde-price-grouping{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-input) 72%,transparent)}.qde-price-grouping-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.qde-price-grouping-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}.qde-price-grouping-head strong{font-size:.78rem;color:var(--text-primary)}.qde-price-grouping-head span{font-size:.68rem;line-height:1.35;color:var(--text-muted)}.qde-price-grouping button,.qde-price-grouping select{font:600 .7rem var(--font-body);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);padding:5px 7px}.qde-price-grouping button{cursor:pointer}.qde-price-grouping button:hover:not(:disabled){color:var(--text-primary);border-color:var(--accent)}.qde-price-grouping button:disabled{opacity:.48;cursor:not-allowed}.qde-price-classic{white-space:nowrap}.qde-price-sources{display:flex;flex-direction:column;border-top:1px solid var(--border)}.qde-price-source{padding:8px 0;border-bottom:1px solid var(--border)}.qde-price-source--hidden{background:color-mix(in srgb,var(--cost-bg) 46%,transparent)}.qde-price-source-main{display:flex;align-items:flex-start;gap:7px;cursor:pointer}.qde-price-source-main input{margin-top:2px}.qde-price-source-main>span{display:flex;flex-direction:column;gap:1px;min-width:0}.qde-price-source-main strong{font-size:.76rem;color:var(--text-primary)}.qde-price-source-main small{font-size:.66rem;color:var(--text-muted)}.qde-price-source-main .qde-price-component-title{color:var(--text-secondary);font-size:.72rem;font-weight:600}.qde-price-destination{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:6px;margin:7px 0 0 24px}.qde-price-destination>span{font-size:.65rem;color:var(--text-muted)}.qde-price-destination select{min-width:0;width:100%}.qde-price-grouping-error{display:flex;align-items:flex-start;gap:5px;font-size:.67rem;line-height:1.35;color:var(--cost-text)}.qde-price-preview{display:flex;flex-direction:column;gap:4px;padding:7px 8px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 7%,transparent)}.qde-price-preview>span{font-size:.62rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.qde-price-preview>div{display:grid;grid-template-columns:1fr auto;column-gap:8px}.qde-price-preview strong,.qde-price-preview>div>span{font-size:.72rem}.qde-price-preview small{grid-column:1 / -1;font-size:.62rem;color:var(--text-muted)}.qde-price-preview-label{display:flex;flex-direction:column;align-items:flex-start}.qde-price-preview-label small{margin-top:1px;color:var(--text-secondary);font-size:.72rem;line-height:1.3}.qde-price-grouping-actions{display:flex;justify-content:flex-end;gap:6px}.qde-price-grouping-hint{font-size:.65rem;color:var(--text-muted);text-align:right}.qde-alternates{display:flex;flex-direction:column;gap:6px}.qde-alternates-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--text-muted);display:flex;align-items:center;justify-content:space-between}.qde-alt-add-btn{display:inline-flex;align-items:center;gap:4px;border:1px dashed #9fb9c4;background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:.72rem;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer}.qde-alt-add-btn:hover{color:var(--text-primary);background:var(--neutral-800)}.qde-alt-add-btn:disabled{opacity:.5;cursor:not-allowed}.qde-alt-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);background:#9fb9c42e;border:1px solid rgba(159,185,196,.5)}.qde-alt-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.qde-alt-item-title{font-size:.8rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qde-alt-item-meta{font-size:.68rem;color:var(--text-muted)}.qde-alt-item-actions{display:flex;gap:2px;flex-shrink:0}.qde-icon-btn{border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:4px;display:inline-flex;border-radius:var(--radius-sm)}.qde-icon-btn:hover{color:var(--text-primary);background:var(--neutral-800)}.qde-icon-btn:disabled{opacity:.5;cursor:wait}.qde-icon-btn--danger:hover{color:#c45a5a;background:#c45a5a14}.qde-alt-form{display:flex;flex-direction:column;gap:8px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px}.qde-alt-form-row{display:flex;gap:8px;flex-wrap:wrap}.qde-alt-form-actions{display:flex;justify-content:flex-end;gap:6px}.qde-save-btn{border:none;border-radius:var(--radius-sm);padding:6px 14px;font-family:var(--font-body);font-size:.78rem;font-weight:700;color:#fff;background:var(--accent);cursor:pointer}.qde-save-btn:hover:not(:disabled){background:var(--green-500)}.qde-save-btn:disabled{opacity:.6;cursor:not-allowed}.qde-cancel-btn{border:none;background:transparent;color:var(--text-muted);font-family:var(--font-body);font-size:.78rem;font-weight:600;padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer}.qde-cancel-btn:hover:not(:disabled){color:var(--text-primary);background:var(--neutral-800)}.qde-empty-note{font-size:.82rem;color:var(--text-muted);padding:6px 2px;font-style:italic}.qde-saving-note{font-size:.7rem;color:var(--text-muted);font-style:italic}@media print{.qd-root,.qd-root *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body *{visibility:hidden!important}.qd-root,.qd-root *{visibility:visible!important}.qd-root{position:absolute!important;left:0;top:0;width:100%!important;height:auto!important;background:#fff!important}html,body,#root,.app-layout,.app-main,.quote-canvas-shell,.quote-canvas-right,.canvas-grid-wrapper,.qde-shell,.qde-preview-pane,.qd-scroll{overflow:visible!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important}.app-sidebar,.qb-header-bar,.quote-canvas-left,.qb-view-tabs,.qde-rail-fade,.qde-rail,.qd-toolbar,.qd-versions,.notice{display:none!important}.scroll-fade:before,.scroll-fade:after{display:none!important}body,html{background:#fff!important}.qd-page{max-width:none;width:100%;margin:0 auto;border-radius:0;box-shadow:none}.qd-card,.qd-conditions tr{break-inside:avoid}.qd-combined-section-header{break-after:avoid-page}.qd-details{break-inside:avoid}.qd-root--issued-live .qd-scroll,.qd-root--issued-live .qd-versions{display:none!important}.qd-root--issued-live .qd-issued-print-refusal{display:flex!important;visibility:visible!important;min-height:7in;padding:1in;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#2f3731;font-size:16pt;text-align:center}@page{margin:.5in}}body.qd-print-mode{margin:0;background:#f3efe7}.qd-print-mode .qd-toolbar,.qd-print-mode .qd-versions{display:none!important}.qd-print-mode .qd-root{height:auto}.qd-print-mode .qd-scroll{overflow:visible;height:auto;padding:0}.qd-print-mode .qd-page{max-width:none;width:100%;margin:0;border-radius:0;box-shadow:none;padding:48px 56px 40px}@media screen and (max-width: 600px){.qd-print-mode .qd-page{padding:24px 16px}.qd-print-mode .qd-card{padding:16px}.qd-print-mode .qd-card-badge{position:static;margin-bottom:8px}.qd-print-mode .qd-price-row{grid-template-columns:minmax(0,1fr) 60px 28px 60px;gap:8px}.qd-print-mode .qd-totalbar{padding:8px}.qd-print-mode .qd-totalbar-tag{flex-wrap:wrap;gap:4px}.qd-print-mode .qd-spec-value{min-width:0;overflow-wrap:anywhere}.qd-print-mode .qd-rail{grid-template-columns:72px minmax(0,1fr);gap:8px}.qd-print-mode .qd-pairs{grid-template-columns:1fr}.qd-print-mode .qd-detail-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.qd-print-mode .qd-detail-note{grid-column:1;grid-row:2}}@media print{body.qd-print-mode,html.qd-print-mode,html:has(body.qd-print-mode){background:#f3efe7!important}.qd-print-mode .qd-root{position:static!important;width:auto!important;background:#f3efe7!important}.qd-print-mode .qd-page{max-width:none!important;width:100%!important;margin:0!important;border-radius:0!important;box-shadow:none!important}}.so-root{display:flex;flex-direction:column;gap:16px;max-width:100%}.so-summary{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 24px}.so-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.so-title{font-size:1.3rem;font-weight:700;letter-spacing:-.02em;color:var(--green-600)}.so-subtitle{font-size:.86rem;color:var(--text-secondary);margin-top:4px}.so-option-select-wrap{display:flex;align-items:center;gap:8px}.so-option-select-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.so-option-select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 26px 6px 10px;font-size:.84rem;font-weight:600;color:var(--text-primary);font-family:var(--font-body);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%235a6662' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.so-option-select:focus{outline:none;border-color:var(--accent)}.so-customer-picker{display:flex;flex-direction:column;gap:6px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle);position:relative}.so-customer-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.so-customer-required{color:var(--cost-accent)}.so-customer-chosen{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:8px 12px;border-radius:var(--radius-md);background:var(--accent-dim);border:1px solid var(--green-600);color:var(--accent-text);font-size:.86rem;font-weight:600;cursor:pointer;transition:background .15s}.so-customer-chosen:hover{background:var(--green-100)}.so-customer-chosen svg{flex-shrink:0}.so-customer-chosen-name{color:var(--text-primary)}.so-customer-change{font-size:.72rem;font-weight:500;color:var(--text-muted);margin-left:2px}.so-customer-input-wrap{position:relative;max-width:340px}.so-customer-input-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.so-customer-input{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px 8px 32px;font-size:.86rem;font-family:var(--font-body);color:var(--text-primary)}.so-customer-input:focus{outline:none;border-color:var(--accent)}.so-customer-dropdown{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:220px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);padding:4px}.so-customer-dropdown-note{padding:8px 10px;font-size:.82rem;color:var(--text-muted);font-style:italic}.so-customer-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border-radius:var(--radius-sm);border:none;background:transparent;text-align:left;cursor:pointer;font-family:var(--font-body)}.so-customer-option:hover{background:var(--bg-elevated)}.so-customer-option-name{font-size:.86rem;font-weight:600;color:var(--text-primary)}.so-customer-option-meta{font-size:.76rem;color:var(--text-muted);flex-shrink:0}.so-customer-error{margin-top:2px}.so-customer-helper{font-size:.78rem;color:var(--text-muted)}.orp-picker{display:flex;flex-direction:column;gap:6px;position:relative}.orp-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.orp-required{color:var(--cost-accent)}.orp-chosen-row{display:flex;align-items:center;gap:8px}.orp-chosen{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:8px 12px;border-radius:var(--radius-md);background:var(--accent-dim);border:1px solid var(--green-600);color:var(--accent-text);font-size:.86rem;font-weight:600;cursor:pointer;transition:background .15s}.orp-chosen:hover:not(:disabled){background:var(--green-100)}.orp-chosen:disabled{opacity:.6;cursor:not-allowed}.orp-chosen svg{flex-shrink:0}.orp-chosen-name{color:var(--text-primary)}.orp-change{font-size:.72rem;font-weight:500;color:var(--text-muted);margin-left:2px}.orp-clear{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-sm);flex-shrink:0}.orp-clear:hover:not(:disabled){color:#c45a5a;background:#c45a5a14}.orp-clear:disabled{opacity:.5;cursor:not-allowed}.orp-input-wrap{position:relative;width:100%;max-width:480px}.orp-input-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.orp-input{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px 8px 32px;font-size:.86rem;font-family:var(--font-body);color:var(--text-primary)}.orp-input:focus{outline:none;border-color:var(--accent)}.orp-input:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-elevated)}.orp-dropdown{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:220px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);padding:4px}.orp-dropdown-note{padding:8px 10px;font-size:.82rem;color:var(--text-muted);font-style:italic}.orp-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border-radius:var(--radius-sm);border:none;background:transparent;text-align:left;cursor:pointer;font-family:var(--font-body)}.orp-option:hover:not(:disabled){background:var(--bg-elevated)}.orp-option:disabled{opacity:.6;cursor:not-allowed}.orp-option-name{font-size:.86rem;font-weight:600;color:var(--text-primary)}.orp-option-meta{font-size:.76rem;color:var(--text-muted);flex-shrink:0}.orp-error{margin-top:2px}.orp-helper{font-size:.78rem;color:var(--text-muted)}.so-kpis{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}.so-kpi{flex:1;min-width:130px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px}.so-kpi-label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.so-kpi-value{display:block;font-family:var(--font-mono);font-size:1.2rem;font-weight:700;margin-top:3px}.so-kpi--products .so-kpi-value{color:var(--accent-text)}.so-kpi--bom .so-kpi-value{color:var(--cost-text)}.so-kpi--ops .so-kpi-value{color:var(--hours-text)}.so-legend{font-size:.82rem;color:var(--text-secondary);margin-bottom:16px}.so-legend strong{color:var(--text-primary);font-weight:700}.so-approve-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;font-weight:700;border:none;background:var(--green-600);color:#fff;cursor:pointer;box-shadow:var(--shadow-raised);transition:background .15s}.so-approve-btn:hover:not(:disabled){background:var(--green-500)}.so-approve-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.so-approve-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.so-approve-helper{font-size:.78rem;color:var(--text-muted)}.so-offline-notice{margin-bottom:14px}.so-sent-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-md);background:var(--accent-dim);color:var(--accent-text);font-size:.88rem;font-weight:600}.so-sent-banner svg{flex-shrink:0;color:var(--green-600)}.so-send-error{margin-top:12px}.so-products{display:flex;flex-direction:column;gap:14px}.so-product{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px}.so-product-head{display:flex;flex-direction:column;gap:6px;padding-bottom:14px;margin-bottom:4px;border-bottom:1px solid var(--border-subtle)}.so-product-head-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.so-product-name{font-size:1.05rem;font-weight:700;color:var(--text-primary)}.so-chip{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:600;padding:3px 9px;border-radius:20px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap}.so-chip--code{font-family:var(--font-mono);color:var(--accent-text);border-color:var(--accent-dim)}.so-chip-note{font-family:var(--font-body);font-weight:500;font-style:italic;color:var(--text-muted)}.so-product-head-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.so-product-spec{font-size:.82rem;color:var(--text-secondary)}.so-product-price{font-family:var(--font-mono);font-size:1rem;font-weight:700;color:var(--green-600);flex-shrink:0}.so-section{border-left:3px solid transparent;padding-left:12px;margin-top:14px}.so-section--bom{border-left-color:var(--cost-accent)}.so-section--ops{border-left-color:var(--hours-accent)}.so-section-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.so-section-title{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.so-section--bom .so-section-title{color:var(--cost-text)}.so-section--ops .so-section-title{color:var(--hours-text)}.so-section-count{font-size:.72rem;color:var(--text-muted);flex-shrink:0}.so-empty-note{font-size:.82rem;color:var(--text-muted);padding:6px 0 8px;font-style:italic}.so-lines{display:flex;flex-direction:column;gap:2px}.so-line{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:6px 2px;font-size:.85rem;overflow-x:auto}.so-line-name{display:inline-flex;align-items:center;gap:8px;flex-shrink:1;min-width:0;color:var(--text-primary);font-weight:600;white-space:nowrap}.so-line-qty{font-weight:500;color:var(--text-muted)}.so-line-cost{font-family:var(--font-mono);font-weight:700;color:var(--cost-text);flex-shrink:0;font-variant-numeric:tabular-nums}.so-line-hours{font-family:var(--font-mono);font-weight:700;color:var(--hours-text);flex-shrink:0;font-variant-numeric:tabular-nums;white-space:nowrap}.so-line-mins,.so-line-rate{font-family:var(--font-body);font-weight:500;color:var(--text-muted)}.so-badge{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap;font-family:var(--font-mono)}.so-badge--match{background:var(--accent-dim);border:1px solid var(--green-600);color:var(--accent-text)}.so-badge--new{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-body);font-style:italic;font-weight:500}.so-badge--wc{background:var(--hours-bg);border:1px solid var(--hours-border);color:var(--hours-text)}.so-head-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.so-matrix{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px}.so-cols-fade{--scroll-fade-color: var(--bg-card);--scroll-fade-size: 24px}.so-cols-port{overflow-x:auto;overflow-y:hidden}.so-cols-grid{display:grid;gap:0;min-width:max-content;align-items:stretch}.so-cols-corner{position:sticky;left:0;z-index:1;display:flex;align-items:flex-end;padding:0 10px 7px 2px;background:var(--bg-card);border-bottom:2px solid var(--border)}.so-cols-corner-note{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.so-cols-head{display:flex;flex-direction:column;justify-content:flex-end;gap:3px;min-width:0;padding:0 8px 7px;background:var(--bg-card);border-bottom:2px solid var(--border)}.so-cols-head-title{font-size:.85rem;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-cols-head-meta{display:flex;align-items:center;gap:5px;min-width:0}.so-cols-head-badge{font-size:.62rem;font-weight:700;color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border);border-radius:3px;padding:1px 5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-cols-head-dims{font-family:var(--font-mono);font-size:.66rem;color:var(--text-muted);flex-shrink:0}.so-cols-head-qty{font-family:var(--font-mono);font-size:.66rem;font-weight:700;color:var(--text-secondary);flex-shrink:0}.so-cols-band{padding:14px 0 5px}.so-cols-band-label{position:sticky;left:0;display:inline-flex;align-items:baseline;gap:8px;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-card);padding-right:10px}.so-cols-band--bom .so-cols-band-label{color:var(--cost-text)}.so-cols-band--ops .so-cols-band-label{color:var(--hours-text)}.so-cols-band-count{font-size:.7rem;font-weight:500;text-transform:none;letter-spacing:0;color:var(--text-muted)}.so-cols-empty{font-size:.82rem;color:var(--text-muted);font-style:italic;padding:2px 0 6px;position:sticky;left:0}.so-cols-axis{position:sticky;left:0;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;padding:8px 10px;border-bottom:2px solid var(--bg-card);border-right:2px solid var(--bg-card)}.so-cols-axis--bom{background:var(--cost-bg)}.so-cols-axis--ops{background:var(--hours-bg)}.so-cols-axis-label{font-size:.85rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-cols-axis-foot{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0}.so-cols-axis-meta{font-size:.68rem;color:var(--text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-cols-axis .so-badge{max-width:100%;overflow:hidden}.so-cols-cell{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:2px;min-width:0;padding:8px;border-bottom:2px solid var(--bg-card);border-right:2px solid var(--bg-card)}.so-cols-cell--bom{background:var(--cost-bg)}.so-cols-cell--ops{background:var(--hours-bg)}.so-cols-cell--absent{align-items:center;color:var(--neutral-600);font-family:var(--font-mono);font-size:.8rem}.so-cols-cell-badge{max-width:100%;overflow:hidden}.so-cols-cell-qty{font-size:.7rem;color:var(--text-muted);white-space:nowrap}.so-cols-cell-cost{font-family:var(--font-mono);font-size:.82rem;font-weight:700;color:var(--cost-text);font-variant-numeric:tabular-nums}.so-cols-cell-hours{font-family:var(--font-mono);font-size:.82rem;font-weight:700;color:var(--hours-text);font-variant-numeric:tabular-nums}.so-cols-cell-mins{font-size:.7rem;color:var(--text-muted);white-space:nowrap}.so-cols-total{background:var(--bg-elevated);border-top:2px solid var(--border);border-bottom:none;padding-top:10px;padding-bottom:10px}.so-cols-total-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.so-cols-total-cost{font-family:var(--font-mono);font-size:.88rem;font-weight:700;color:var(--cost-text);font-variant-numeric:tabular-nums}.so-cols-total-hours{font-family:var(--font-mono);font-size:.74rem;font-weight:600;color:var(--hours-text);font-variant-numeric:tabular-nums;white-space:nowrap}.so-cols-total-mins{font-family:var(--font-body);font-weight:500;color:var(--text-muted)}.so-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#181a1785;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:soScrimIn .16s ease-out}@keyframes soScrimIn{0%{opacity:0}to{opacity:1}}.so-confirm-card{width:100%;max-width:440px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 24px 60px #00000047,0 4px 12px #0000001f;padding:24px;outline:none;animation:soCardIn .2s cubic-bezier(.2,.8,.2,1)}@keyframes soCardIn{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.so-confirm-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin-bottom:10px}.so-confirm-body{font-size:.88rem;line-height:1.5;color:var(--text-secondary)}.so-confirm-checkbox-row{display:flex;align-items:center;gap:8px;margin-top:12px;padding:9px 12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.82rem;color:var(--text-secondary);cursor:pointer}.so-confirm-checkbox-row input[type=checkbox]{accent-color:var(--accent-solid, var(--green-600));cursor:pointer}.so-confirm-preview{display:flex;flex-direction:column;gap:6px;margin-top:14px;padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md)}.so-confirm-preview--loading{margin-top:14px;font-size:.82rem;color:var(--text-muted);font-style:italic}.so-confirm-preview-error{margin-top:14px}.so-confirm-preview-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:.8rem}.so-confirm-preview-label{color:var(--text-muted);font-weight:600}.so-confirm-preview-value{font-family:var(--font-mono);color:var(--text-secondary);text-align:right}.so-confirm-preview-ok{color:var(--accent-text)}.so-confirm-preview-bad{color:var(--cost-text)}.so-confirm-gate-note{margin-top:12px;font-size:.76rem;color:var(--text-muted);font-style:italic}.so-confirm-error{margin-top:14px}.so-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.so-confirm-approve{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.85rem;font-weight:700;border:none;background:var(--green-600);color:#fff;cursor:pointer;transition:background .15s}.so-confirm-approve:hover:not(:disabled){background:var(--green-500)}.so-confirm-approve:disabled{opacity:.6;cursor:not-allowed}@media (prefers-reduced-motion: reduce){.so-scrim,.so-confirm-card{animation:none}}.nqs-page{max-width:640px;margin:0 auto}.nqs-back{margin-bottom:14px}.nqs-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);padding:32px;display:flex;flex-direction:column;gap:22px}.nqs-head{display:flex;flex-direction:column;gap:6px}.nqs-title{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.nqs-subtitle{font-size:.88rem;color:var(--text-secondary)}.nqs-section{display:flex;flex-direction:column;gap:4px}.nqs-section+.nqs-section{border-top:1px solid var(--border-subtle);padding-top:20px}.nqs-project-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.nqs-project-tabs{margin-bottom:0}.nqs-project-new-field{max-width:480px}.nqs-deal-hint{font-size:.74rem;color:var(--text-muted);margin:6px 0 0;max-width:480px}.nqs-toggle{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:600;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.nqs-toggle input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}.nqs-rep-picker{display:flex;flex-direction:column;gap:8px;margin-top:14px}.nqs-rep-company-note{font-size:.8rem;color:var(--text-secondary)}.nqs-rep-company-note strong{color:var(--text-primary)}.nqs-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--border-subtle);padding-top:20px}.qb-details-wrap{position:relative}.qb-details-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-input);color:var(--text-secondary);font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer;max-width:220px}.qb-details-trigger:hover{border-color:var(--green-600);color:var(--text-primary)}.qb-details-trigger-main{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:110px}.qb-details-trigger-sep{color:var(--text-muted)}.qb-details-trigger-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:110px}.qb-details-trigger svg{flex-shrink:0;color:var(--text-muted)}.qb-details-popover{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:340px;max-height:70vh;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);padding:18px;display:flex;flex-direction:column;gap:16px;animation:fadeIn .15s ease-out}.qb-details-section{display:flex;flex-direction:column;gap:4px}.qb-details-section+.qb-details-section{border-top:1px solid var(--border-subtle);padding-top:14px}.qb-details-project-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.qb-details-project-tabs{margin-bottom:0}.qb-details-rep-company-note{font-size:.78rem;color:var(--text-secondary);margin-top:2px}.qb-details-rep-company-note strong{color:var(--text-primary)}.qb-details-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.qb-details-saving{font-size:.76rem;color:var(--text-muted);font-style:italic}@media (prefers-reduced-motion: reduce){.qb-details-popover{animation:none}}.pth-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;justify-content:flex-end;background:#181a176b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:pthScrimIn .16s ease-out}@keyframes pthScrimIn{0%{opacity:0}to{opacity:1}}.pth-panel{width:100%;max-width:460px;height:100%;display:flex;flex-direction:column;background:var(--bg-card);border-left:1px solid var(--border);box-shadow:-12px 0 32px #0000002e,-2px 0 6px #0000001a;animation:pthPanelIn .2s cubic-bezier(.2,.8,.2,1)}@keyframes pthPanelIn{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}.pth-header{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 0;flex-shrink:0}.pth-header-title{display:inline-flex;align-items:center;gap:8px;font-size:1.05rem;font-weight:700;color:var(--text-primary)}.pth-header-title svg{color:var(--accent-text)}.pth-close{border:none;background:transparent;color:var(--text-muted);cursor:pointer;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background .12s,color .12s}.pth-close:hover{color:var(--text-primary);background:var(--neutral-800)}.pth-fidelity-note{padding:6px 18px 0;font-size:.78rem;font-style:italic;color:var(--text-muted);flex-shrink:0}.pth-state-filter{display:flex;flex-wrap:wrap;gap:6px;padding:12px 18px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.pth-chip{font-family:var(--font-body);font-size:.74rem;font-weight:600;padding:4px 11px;border-radius:20px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-muted);cursor:pointer;transition:all .15s}.pth-chip:hover{border-color:var(--neutral-500);color:var(--text-secondary)}.pth-chip--active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-text)}.pth-body-fade{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;--scroll-fade-color: var(--bg-card);--scroll-fade-size: 24px}.pth-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:6px 18px 18px}.pth-section+.pth-section{margin-top:20px;padding-top:18px;border-top:1px solid var(--border-subtle)}.pth-section-title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);margin:14px 0 10px}.pth-section-note{font-size:.82rem;color:var(--text-muted);font-style:italic;padding:4px 0}.pth-rows{display:flex;flex-direction:column;gap:8px}.pth-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);transition:border-color .15s}.pth-row:hover{border-color:var(--neutral-500)}.pth-row--cancelled{opacity:.62}.pth-row-main{min-width:0;flex:1 1 auto}.pth-row-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pth-row-name{font-size:.9rem;font-weight:700;color:var(--text-primary)}.pth-row-meta{font-size:.78rem;color:var(--text-secondary);margin-top:2px}.pth-row-provenance{font-size:.74rem;color:var(--text-muted);font-style:italic;margin-top:3px;font-family:var(--font-mono)}.pth-state-badge{display:inline-flex;align-items:center;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:2px 8px;border-radius:20px;white-space:nowrap;background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary)}.pth-state-badge--sale,.pth-state-badge--done{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-text)}.pth-state-badge--sent{background:var(--hours-bg);border-color:var(--hours-border);color:var(--hours-text)}.pth-state-badge--cancel{background:transparent;border-style:dashed;color:var(--text-muted);font-style:italic;text-transform:none;font-weight:500}.pth-state-badge--draft{background:transparent;border-style:dashed;color:var(--text-muted)}.pth-row-action{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.pth-add-btn{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-body);font-size:.78rem;font-weight:700;padding:6px 12px;border-radius:var(--radius-sm);border:none;background:var(--green-600);color:#fff;cursor:pointer;white-space:nowrap;transition:background .15s}.pth-add-btn:hover:not(:disabled){background:var(--green-500)}.pth-add-btn:disabled{opacity:.6;cursor:not-allowed}.pth-oval-badge{font-size:.7rem;font-weight:600;font-style:italic;color:var(--text-muted);padding:6px 10px;border:1px dashed var(--border);border-radius:var(--radius-sm);white-space:nowrap}.pth-added-flash{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;color:var(--accent-text);text-align:right;animation:pthAddedIn .18s ease-out}@keyframes pthAddedIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.pth-row-error{font-size:.72rem;color:var(--status-lost);text-align:right;max-width:160px}.settings-sections{display:flex;flex-direction:column;gap:20px;max-width:980px}.settings-card{padding:24px}.settings-card-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}.settings-card-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-md);background:var(--accent-dim);color:var(--accent-text)}.settings-card-icon svg{width:18px;height:18px}.settings-card-titles{display:flex;flex-direction:column;gap:2px}.settings-card-title{font-size:1.02rem;font-weight:700;letter-spacing:-.01em}.settings-card-subtitle{font-size:.82rem;color:var(--text-muted);max-width:62ch}.settings-subsection+.settings-subsection{margin-top:22px;padding-top:22px;border-top:1px solid var(--border-subtle)}.settings-subsection-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:12px}.settings-field-row{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.settings-field-row .field{min-width:180px}.settings-save-flash{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;color:var(--accent-text);animation:pthAddedIn .18s ease-out}.settings-table{display:flex;flex-direction:column;gap:6px}.md-row,.wc-row{display:grid;gap:12px;align-items:center;padding:8px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.83rem}.md-row{grid-template-columns:1.3fr 110px 1.6fr 110px 32px}.wc-row{grid-template-columns:90px 1fr 1.8fr}.md-row--header,.wc-row--header{background:transparent;border:none;padding:0 14px 2px;font-size:.66rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.settings-cell-muted{color:var(--text-muted)}.settings-cell-mono{font-family:var(--font-mono);font-size:.8rem}.pb-kind+.pb-kind{margin-top:32px;padding-top:20px;border-top:1px solid var(--border)}.pb-kind-head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.pb-kind-title{font-size:1rem;font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}.pb-kind-unit{font-family:var(--font-mono);font-size:.7rem;font-weight:600;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:20px;padding:2px 10px}.pb-empty-copy{font-size:.82rem;margin:0 0 8px}.pb-table{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.pb-row{display:grid;grid-template-columns:1.5fr 100px 70px 120px 1fr 32px;gap:12px;align-items:center;padding:9px 14px;font-size:.83rem;border-bottom:1px solid var(--border);transition:background .15s}.pb-row--nothickness{grid-template-columns:1.5fr 70px 120px 1fr 32px}.pb-table .pb-row:last-child{border-bottom:none}.pb-table .pb-row:not(.pb-row--header):hover{background:var(--neutral-750)}.pb-row--header{padding:9px 14px;font-size:.66rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.pb-row .settings-row-delete{opacity:.4}.pb-row:hover .settings-row-delete,.pb-row .settings-row-delete:focus-visible{opacity:1}.settings-inline-input{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px;font-family:var(--font-body);font-size:.83rem;color:var(--text-primary);box-shadow:var(--shadow-inset)}.settings-inline-input:focus{outline:none;border-color:var(--accent)}.settings-row-delete{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:all .15s}.settings-row-delete:hover{color:#c45a5a;background:#c45a5a14}.settings-add-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px;padding:14px;background:var(--bg-elevated);border:1px dashed var(--border);border-radius:var(--radius-md)}.settings-add-row .field{flex:1;min-width:110px}.settings-add-row .field--wide{flex:1.6;min-width:160px}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.status-tile{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.status-tile-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.status-tile-value{font-size:.92rem;font-weight:600;color:var(--text-primary);word-break:break-word}.status-tile-value--mono{font-family:var(--font-mono);font-size:.82rem}.gate-chip{display:inline-flex;align-items:center;gap:5px;width:fit-content;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.04em}.gate-chip--on{background:var(--accent-dim);color:var(--accent-text)}.gate-chip--off{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted)}.settings-refresh-btn{display:inline-flex;align-items:center;gap:6px}.settings-refresh-btn svg{transition:transform .4s ease}.settings-refresh-btn.is-spinning svg{animation:settingsSpin .7s linear infinite}@keyframes settingsSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.notice-success{border-color:var(--green-600);background:var(--accent-dim)}.skeleton-bar{height:14px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--neutral-700) 37%,var(--bg-elevated) 63%);background-size:400% 100%;animation:skeletonShimmer 1.4s ease infinite}.skeleton-card-body{display:flex;flex-direction:column;gap:10px}@keyframes skeletonShimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion: reduce){.skeleton-bar{animation:none}.settings-refresh-btn.is-spinning svg{animation:none}}@media (prefers-reduced-motion: reduce){.pth-scrim,.pth-panel,.pth-added-flash{animation:none}}.reslice-toast{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:14px;max-width:520px;padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--cost-accent);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-raised);animation:resliceToastIn .18s ease}.reslice-toast-body{display:flex;flex-direction:column;gap:3px;min-width:0}.reslice-toast-msg{font-size:.76rem;color:var(--text-secondary);line-height:1.35}.reslice-toast-msg strong{color:var(--text-primary)}.reslice-toast-more{color:var(--text-muted)}.reslice-toast-count{font-weight:600;color:var(--cost-text)}.reslice-toast-error{font-size:.68rem;color:var(--status-lost)}.reslice-toast-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.reslice-toast-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);font-family:var(--font-body);font-size:.7rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;cursor:pointer;transition:border-color .15s ease,color .15s ease}.reslice-toast-btn:hover{border-color:var(--accent);color:var(--accent-text)}.reslice-toast-btn:disabled{opacity:.5;cursor:wait}.reslice-toast-btn--lock{border-color:var(--accent);color:var(--accent-text)}.reslice-toast-close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-muted);cursor:pointer;transition:color .15s ease}.reslice-toast-close:hover{color:var(--text-primary)}@keyframes resliceToastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.reslice-toast{animation:none}}.doc-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.doc-field--wide{grid-column:1 / -1}.doc-field-help{font-size:.7rem;color:var(--text-muted)}.doc-textarea{min-height:48px;resize:none;overflow:hidden;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;font-family:var(--font-body);font-size:.86rem;line-height:1.45;color:var(--text-primary);box-shadow:var(--shadow-inset);transition:border-color .15s}.doc-textarea:focus{outline:none;border-color:var(--accent)}.doc-textarea:disabled{opacity:.6}.cond-editor{display:flex;flex-direction:column;gap:8px}.cond-empty{font-size:.78rem;font-style:italic;color:var(--text-muted)}.cond-row{display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md)}.cond-row-head{display:flex;align-items:center;gap:8px}.cond-row-index{flex-shrink:0;min-width:18px;font-family:var(--font-mono);font-size:.7rem;font-weight:700;color:var(--text-muted);text-align:right}.cond-label-input{flex:1;min-width:0;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px;font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--text-primary)}.cond-body-input{min-height:42px;resize:none;overflow:hidden;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;font-family:var(--font-body);font-size:.78rem;line-height:1.45;color:var(--text-secondary)}.cond-label-input:focus,.cond-body-input:focus{outline:none;border-color:var(--accent)}.cond-label-input:disabled,.cond-body-input:disabled{opacity:.6}.cond-row-actions{display:flex;gap:2px;flex-shrink:0}.cond-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s ease,background .15s ease}.cond-icon-btn:hover:not(:disabled){color:var(--text-primary);background:var(--neutral-800)}.cond-icon-btn:disabled{opacity:.35;cursor:not-allowed}.cond-icon-btn--danger:hover:not(:disabled){color:#c45a5a;background:#c45a5a14}.cond-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:fit-content;padding:5px 10px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.74rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:color .15s ease,border-color .15s ease}.cond-add-btn:hover:not(:disabled){color:var(--accent-text);border-color:var(--accent)}.cond-add-btn:disabled{opacity:.5;cursor:not-allowed}.qde-doc-panel{display:flex;flex-direction:column;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--border)}.qde-doc-panel-header{display:flex;align-items:center;gap:6px;width:100%;padding:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;text-align:left}.qde-doc-panel-state{margin-left:auto;font-size:.68rem;font-weight:600;color:var(--text-muted)}.qde-doc-panel-body{display:flex;flex-direction:column;gap:10px}.qde-doc-panel-note{margin:0;font-size:.72rem;line-height:1.4;color:var(--text-muted)}.qde-doc-field-head{display:flex;align-items:center;gap:8px}.qde-doc-field-head label{flex:1;min-width:0}.qde-doc-inherit-chip{flex-shrink:0;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.qde-doc-reset{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:2px 7px;border:1px solid var(--accent);border-radius:20px;background:var(--accent-dim);font-family:var(--font-body);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-text);cursor:pointer}.qde-doc-reset:disabled{opacity:.5;cursor:wait}.qde-field .qde-doc-textarea{min-height:42px;line-height:1.45;resize:none;overflow:hidden}.qde-doc-conditions-inherit{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.76rem;color:var(--text-muted)}.qde-doc-figure-input{display:flex;align-items:center;gap:6px}.qde-doc-figure-input input{flex:1;min-width:0}.qde-doc-figure-prefix,.qde-doc-figure-suffix{flex-shrink:0;font-size:.74rem;font-weight:600;color:var(--text-muted)}.qde-doc-leadtime{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-left:10px;border-left:2px solid var(--border)}.qde-doc-leadtime-warn{display:flex;align-items:flex-start;gap:6px;padding:7px 9px;border:1px solid var(--orange-800);border-radius:var(--radius-sm);background:var(--orange-900);font-size:.72rem;line-height:1.45;color:var(--text-primary)}.qde-doc-leadtime-warn svg{flex-shrink:0;margin-top:1px;color:var(--orange-600)}.qde-doc-leadtime-note{font-size:.7rem;line-height:1.45;color:var(--text-muted)}.spl-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;justify-content:center;align-items:flex-start;padding:10vh 20px 40px;background:#181a1775;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:splScrimIn .14s ease-out}@keyframes splScrimIn{0%{opacity:0}to{opacity:1}}.spl-panel{width:100%;max-width:680px;max-height:74vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:0 24px 60px #0000003d,0 4px 12px #0000001f;animation:splPanelIn .18s cubic-bezier(.2,.8,.2,1)}@keyframes splPanelIn{0%{opacity:0;transform:translateY(-10px) scale(.99)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.spl-scrim,.spl-panel{animation:none}}.spl-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.spl-input-icon{color:var(--text-muted);flex-shrink:0}.spl-input{flex:1 1 auto;min-width:0;border:none;background:transparent;outline:none;font-family:var(--font-body);font-size:1.02rem;color:var(--text-primary)}.spl-input::placeholder{color:var(--text-muted)}.spl-spinner{color:var(--text-muted);flex-shrink:0;animation:splSpin .9s linear infinite}@keyframes splSpin{to{transform:rotate(360deg)}}.spl-close{border:none;background:transparent;color:var(--text-muted);cursor:pointer;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);flex-shrink:0;transition:background .12s,color .12s}.spl-close:hover{color:var(--text-primary);background:var(--neutral-750)}.spl-status{display:flex;flex-direction:column;gap:2px;padding:9px 16px;font-size:.8rem;border-bottom:1px solid var(--border);flex-shrink:0}.spl-status--ok{background:var(--accent-dim);color:var(--accent-text)}.spl-status--warn{background:var(--orange-900);color:var(--orange-300)}.spl-status--error{background:#fbeaea;color:#a33f3f}.spl-status-note{font-size:.74rem;opacity:.85}.spl-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:6px 0 10px}.spl-hint{padding:18px 16px 10px}.spl-hint-copy{margin:0 0 10px;font-size:.82rem;line-height:1.5;color:var(--text-muted)}.spl-hint-chips{display:flex;flex-wrap:wrap;gap:6px}.spl-chip{font-family:var(--font-mono);font-size:.74rem;font-weight:600;padding:4px 11px;border-radius:20px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;transition:all .15s}.spl-chip:hover{border-color:var(--accent);color:var(--accent-text)}.spl-empty{margin:0;padding:22px 16px;font-size:.84rem;color:var(--text-muted);text-align:center}.spl-section{padding:4px 0}.spl-section-head{display:flex;align-items:center;gap:7px;padding:8px 16px 5px;color:var(--text-muted)}.spl-section-head svg{opacity:.75;flex-shrink:0}.spl-section-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.spl-section-count{margin-left:auto;font-family:var(--font-mono);font-size:.68rem;font-weight:600;opacity:.8}.spl-section-more{margin:2px 0 0;padding:4px 16px 2px;font-size:.72rem;font-style:italic;color:var(--text-muted)}.spl-row{display:flex;align-items:flex-start;gap:12px;padding:8px 16px;cursor:pointer;border-left:2px solid transparent}.spl-row--active{background:var(--neutral-750);border-left-color:var(--accent)}.spl-row--inert .spl-row-action{color:var(--text-muted);font-style:italic}.spl-row-main{flex:1 1 auto;min-width:0}.spl-row-title{font-size:.88rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spl-row-spec{margin-top:1px;font-family:var(--font-mono);font-size:.76rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spl-row-provenance{margin-top:2px;font-size:.7rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spl-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0;max-width:42%;text-align:right}.spl-row-price{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.spl-row-action{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-text);white-space:nowrap}.spl-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 16px;border-top:1px solid var(--border);background:var(--neutral-850);flex-shrink:0}.spl-keys{display:flex;align-items:center;gap:5px;font-size:.7rem;color:var(--text-muted)}.spl-keys kbd{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;margin-left:6px;border:1px solid var(--border);border-radius:4px;background:var(--bg-input);font-family:var(--font-mono);font-size:.66rem;color:var(--text-secondary)}.spl-footer-notes{display:flex;align-items:center;gap:10px;margin-left:auto}.spl-footer-note{font-size:.68rem;font-style:italic;color:var(--text-muted)}.sidebar-link--action{width:100%;border:none;background:transparent;font-family:var(--font-body);text-align:left;cursor:pointer}.sidebar-kbd{margin-left:auto;padding:1px 5px;border:1px solid var(--border);border-radius:4px;font-family:var(--font-mono);font-size:.64rem;color:var(--text-muted)}.cf-select-box{flex-shrink:0;width:13px;height:13px;margin:0;accent-color:var(--accent);cursor:pointer}.cf-bulk-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 12px;padding:9px 12px;background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--radius-md)}.cf-bulk-count{font-size:.8rem;font-weight:700;color:var(--accent-text)}.cf-bulk-select{background:var(--bg-input);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:5px 10px;font-family:var(--font-body);font-size:.78rem;font-weight:600;color:var(--text-primary);cursor:pointer;max-width:260px}.cf-bulk-clear{border:none;background:transparent;padding:4px 2px;font-family:var(--font-body);font-size:.76rem;font-weight:600;color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.cf-bulk-clear:hover:not(:disabled){color:var(--accent-text)}.cf-bulk-clear:disabled{opacity:.5;cursor:wait}.cf-bulk-error{margin-bottom:12px}.cf-fileunder{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:8px 12px;background:#fef8f0;border:1px solid var(--orange-800);border-radius:var(--radius-md)}.cf-fileunder-label{font-size:.76rem;font-weight:700;color:var(--cost-text)}.cf-fileunder-select{background:var(--bg-input);border:1px solid var(--orange-800);border-radius:var(--radius-sm);padding:4px 9px;font-family:var(--font-body);font-size:.78rem;font-weight:700;color:var(--cost-text);cursor:pointer}.cf-fileunder-note{flex:1 1 260px;min-width:0;font-size:.72rem;color:var(--text-secondary)}.cf-tags-trigger{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:5px 11px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.78rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:border-color .15s,color .15s}.cf-tags-trigger:hover{border-color:var(--accent);color:var(--accent-text)}.cf-tags-trigger-note{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-elevated);border-radius:3px;padding:1px 5px}.cf-group-dist{display:flex;align-items:center;gap:6px;margin:-2px 0 6px 34px}.cf-cols-axis-controls{display:flex;align-items:center;flex-wrap:wrap;gap:4px 5px;min-width:0;margin-top:3px}.cf-dist-label{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);flex-shrink:0}.cf-dist-label--basis{text-transform:none;letter-spacing:0;font-weight:600}.cf-dist-select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 7px;font-family:var(--font-body);font-size:.72rem;font-weight:600;color:var(--text-secondary);cursor:pointer;min-width:0}.cf-dist-select:disabled{opacity:.5;cursor:wait}.cf-basis-select{background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);padding:3px 6px;font-family:var(--font-body);font-size:.72rem;font-weight:600;color:var(--text-secondary);cursor:pointer;min-width:0}.cf-basis-select:hover{border-style:solid;border-color:var(--accent)}.cf-basis-select:disabled{opacity:.5;cursor:wait}.cf-expand-more{display:block;width:100%;text-align:left;margin-top:2px;padding:6px 8px;border:none;background:transparent;font-family:var(--font-body);font-size:.74rem;font-style:italic;color:var(--text-muted);cursor:pointer}.cf-expand-more:hover{color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}.cf-cols-axis-head{display:flex;align-items:center;gap:6px;min-width:0}.cf-cols-cell--joinable{align-items:center}.cf-cols-join{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border:1px dashed var(--neutral-600);border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.7rem;font-weight:600;color:var(--text-muted);cursor:pointer;opacity:.55;transition:opacity .15s,border-color .15s,color .15s,background .15s}.cf-cols-cell--joinable:hover .cf-cols-join{opacity:1;border-style:solid;border-color:var(--accent);color:var(--accent-text);background:var(--accent-dim)}.cf-cols-join:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:1px}.cf-cols-join:disabled{cursor:wait}.cf-cols-cell--excluded{align-items:center;gap:2px;opacity:.85}.cf-cols-excluded-tag{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);text-decoration:line-through}.cf-cols-restore{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);font-family:var(--font-body);font-size:.68rem;font-weight:600;color:var(--text-secondary);cursor:pointer}.cf-cols-restore:hover:not(:disabled){border-color:var(--accent);color:var(--accent-text)}.cf-cols-restore:disabled{opacity:.5;cursor:wait}.cf-cols-cell-foot{display:flex;align-items:center;gap:4px;max-width:100%}.cf-cols-drop{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--text-muted);cursor:pointer;visibility:hidden;flex-shrink:0}.cf-cols-cell:hover .cf-cols-drop,.cf-cols-drop:focus-visible{visibility:visible}.cf-cols-drop:hover:not(:disabled){color:#c45a5a;background:#c45a5a1a}.cf-cols-drop:disabled{cursor:wait}.cf-alltables-toggle{display:inline-flex;align-items:center;padding:4px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);font-family:var(--font-body);font-size:.72rem;font-weight:600;color:var(--text-secondary);cursor:pointer}.cf-alltables-toggle:hover{border-color:var(--accent);color:var(--accent-text)}.cf-alltables-toggle--on{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-text)}.ctm-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:24px;background:#181a1785;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.ctm-card{width:100%;max-width:620px;max-height:calc(100vh - 48px);overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 24px 60px #00000047,0 4px 12px #0000001f;padding:22px;outline:none}.ctm-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.ctm-title{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.ctm-close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.ctm-close:hover{color:var(--text-primary);background:var(--neutral-750)}.ctm-scope{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;margin-bottom:14px;background:#fef8f0;border:1px solid var(--orange-800);border-radius:var(--radius-md);font-size:.8rem;line-height:1.45;color:var(--text-secondary)}.ctm-scope-icon{flex-shrink:0;margin-top:2px;color:var(--cost-text)}.ctm-create{display:flex;align-items:center;gap:8px;margin-bottom:14px}.ctm-create-input{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);font-family:var(--font-body);font-size:.85rem;color:var(--text-primary)}.ctm-create-input:focus{outline:none;border-color:var(--accent)}.ctm-create-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border:none;border-radius:var(--radius-sm);background:var(--accent);font-family:var(--font-body);font-size:.8rem;font-weight:700;color:#fff;cursor:pointer;flex-shrink:0}.ctm-create-btn:disabled{opacity:.45;cursor:not-allowed}.ctm-error{margin-bottom:12px}.ctm-list{display:flex;flex-direction:column;gap:6px}.ctm-empty{font-size:.82rem;font-style:italic;color:var(--text-muted);padding:8px 2px}.ctm-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:9px 12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md)}.ctm-row--active{border-color:var(--accent)}.ctm-row-main{flex:1;min-width:140px;display:flex;flex-direction:column;gap:2px}.ctm-row-name{font-size:.9rem;font-weight:700;color:var(--text-primary)}.ctm-name-input{width:100%;padding:5px 8px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-input);font-family:var(--font-body);font-size:.88rem;font-weight:700;color:var(--text-primary)}.ctm-name-input:focus{outline:none}.ctm-row-meta{display:flex;align-items:center;gap:7px}.ctm-badge{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-input);border:1px solid var(--border);border-radius:3px;padding:1px 5px}.ctm-usage{font-size:.7rem;color:var(--text-muted)}.ctm-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.ctm-act{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);font-family:var(--font-body);font-size:.74rem;font-weight:600;color:var(--text-secondary);cursor:pointer}.ctm-act:hover:not(:disabled){border-color:var(--accent);color:var(--accent-text)}.ctm-act:disabled{opacity:.4;cursor:not-allowed}.ctm-act--go{border-color:var(--accent);color:var(--accent-text);background:var(--accent-dim)}.ctm-act--danger:hover:not(:disabled){border-color:#e0a0a0;color:#c45a5a;background:#fdf0f0}.ctm-confirm{flex:1 1 100%;display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#fef8f0;border:1px solid var(--orange-800);border-radius:var(--radius-md)}.ctm-confirm-icon{flex-shrink:0;margin-top:2px;color:var(--cost-text)}.ctm-confirm-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}.ctm-confirm-text{font-size:.82rem;line-height:1.45;color:var(--text-secondary)}.ctm-locked-note{font-size:.7rem;line-height:1.4;font-style:italic;color:var(--text-muted)}.ctm-confirm-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.ctm-confirm-cancel{padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.78rem;font-weight:600;color:var(--text-secondary);cursor:pointer}.ctm-confirm-cancel:hover:not(:disabled){color:var(--text-primary);background:var(--neutral-800)}.ctm-confirm-btn{padding:6px 13px;border:none;border-radius:var(--radius-sm);background:var(--accent);font-family:var(--font-body);font-size:.78rem;font-weight:700;color:#fff;cursor:pointer}.ctm-confirm-btn:disabled{opacity:.45;cursor:not-allowed}.ctm-confirm-btn--danger{background:#c45a5a}.ctm-reassign-select{padding:6px 9px;border:1px solid var(--orange-800);border-radius:var(--radius-sm);background:var(--bg-input);font-family:var(--font-body);font-size:.78rem;font-weight:600;color:var(--text-primary);cursor:pointer;max-width:220px}.ctm-conflict{flex:1 1 100%;padding:9px 12px;background:#fdf0f0;border:1px solid #e0a0a0;border-radius:var(--radius-md);font-size:.8rem;line-height:1.45;color:var(--text-secondary)}.ctm-conflict-act{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:4px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);font-family:var(--font-body);font-size:.74rem;font-weight:700;color:var(--accent-text);cursor:pointer}.ctm-conflict-act:hover:not(:disabled){border-color:var(--accent)}.ctm-foot{display:flex;justify-content:flex-end;margin-top:16px}.cf-rail-new{margin-top:6px;padding-top:8px;border-top:1px solid var(--border)}.cf-rail-new-btn{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:9px 12px;border:1px dashed var(--border);border-radius:var(--radius-md);background:transparent;font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.cf-rail-new-btn:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-dim)}.cf-rail-new-form{display:flex;flex-direction:column;gap:7px}.cf-rail-new-input{width:100%;padding:7px 9px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-input);font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--text-primary)}.cf-rail-new-input:focus{outline:none}.cf-rail-new-actions{display:flex;justify-content:flex-end;gap:7px}.cf-rail-new-cancel{padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.75rem;font-weight:600;color:var(--text-secondary);cursor:pointer}.cf-rail-new-cancel:hover:not(:disabled){color:var(--text-primary)}.cf-rail-new-go{padding:5px 12px;border:none;border-radius:var(--radius-sm);background:var(--accent);font-family:var(--font-body);font-size:.75rem;font-weight:700;color:#fff;cursor:pointer}.cf-rail-new-go:disabled{opacity:.45;cursor:not-allowed}.cf-rail-new-error{margin:0}.cf-comp-delete{display:inline-flex;align-items:center;margin-left:9px;padding:3px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;vertical-align:middle}.cf-comp-delete:hover:not(:disabled){border-color:#e0a0a0;color:#c45a5a;background:#fdf0f0}.cf-comp-delete:disabled{opacity:.4;cursor:not-allowed}.cf-comp-confirm{margin:0 0 14px}.cf-builtfor{margin:0 0 16px;padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md)}.cf-printsunder .cf-builtfor-head{margin-bottom:11px}.cf-builtfor-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:9px}.cf-builtfor-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.cf-builtfor-note{flex:1;min-width:200px;font-size:.72rem;line-height:1.45;color:var(--text-muted)}.cf-component-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}.cf-component-policy-field{display:grid;gap:5px;font-size:.7rem;font-weight:700;letter-spacing:.035em;color:var(--text-secondary)}.cf-component-policy-field select{width:100%;min-height:34px;padding:6px 30px 6px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font:inherit;font-size:.78rem;letter-spacing:0}@media (max-width: 640px){.cf-component-policy-grid{grid-template-columns:1fr}}.cf-builtfor-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px}.cf-builtfor-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s}.cf-builtfor-row:hover{background:var(--neutral-750)}.cf-builtfor-row--on{border-color:var(--accent);background:var(--accent-dim)}.cf-builtfor-row--locked{cursor:default}.cf-builtfor-row--locked:hover{background:transparent}.cf-builtfor-row--locked .cf-builtfor-name{color:var(--text-secondary)}.cf-builtfor-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;color:var(--text-primary)}.cf-builtfor-dims{flex-shrink:0;font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}.cf-builtfor-pays{flex-shrink:0;font-size:.68rem;color:var(--text-muted)}.cf-builtfor-warn{flex-shrink:0;padding:1px 6px;border:1px solid var(--orange-800);border-radius:3px;background:#fef8f0;font-size:.65rem;font-weight:700;color:var(--cost-text);cursor:help}.cf-rail-preset-btn{margin-top:6px}.cf-comp-preset{display:inline-flex;align-items:center;margin-left:9px;padding:3px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;vertical-align:middle}.cf-comp-preset:hover:not(:disabled){border-color:var(--accent);color:var(--accent-text);background:var(--accent-dim)}.cf-comp-preset:disabled{opacity:.4;cursor:not-allowed}.cf-bulk-preset{display:inline-flex;align-items:center;gap:4px}.cf-preset-notice{flex-direction:row;align-items:flex-start;gap:8px;margin-bottom:14px}.cf-preset-notice>svg{flex-shrink:0;margin-top:2px;color:var(--accent-text)}.cf-preset-notice-close{flex-shrink:0;margin-left:auto;padding:2px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.cf-preset-notice-close:hover{color:var(--text-primary);background:var(--neutral-750)}.pst-card{max-width:560px}.pst-scope{margin-bottom:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);font-size:.8rem;line-height:1.5;color:var(--text-secondary)}.pst-skips{flex-direction:row;align-items:flex-start;gap:8px;margin-bottom:12px}.pst-skips>svg{flex-shrink:0;margin-top:2px;color:var(--cost-text)}.pst-label{display:block;margin:12px 0 5px;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.pst-optional{margin-left:5px;font-weight:500;text-transform:none;letter-spacing:0;opacity:.75}.pst-input{width:100%}.pst-hint{margin-top:5px;font-size:.73rem;line-height:1.45;color:var(--text-muted)}.pst-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}.pst-field{min-width:0}.pst-status{margin-top:0}.pst-error{margin-top:12px}.pst-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:18px}.vcm-card{width:1120px;max-width:100%;max-height:calc(100vh - 48px);padding:18px 20px 16px;display:flex;flex-direction:column;overflow:hidden}.vcm-title{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:.95rem}.vcm-title-no{color:var(--text-primary)}.vcm-title-arrow{color:var(--text-muted)}.vcm-loading,.vcm-error{margin-top:10px}.vcm-loading{color:var(--text-muted);font-size:.85rem}.vcm-headline{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:12px 16px;margin-bottom:10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md)}.vcm-headline-side{display:flex;flex-direction:column;gap:2px;min-width:0}.vcm-headline-side--right{align-items:flex-end}.vcm-headline-label{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.vcm-headline-total{font-family:var(--font-mono);font-size:1.05rem;font-weight:700;color:var(--text-primary)}.vcm-headline-move{display:flex;flex-direction:column;align-items:center;gap:1px;padding:0 18px}.vcm-headline-delta{font-family:var(--font-mono);font-size:1.5rem;font-weight:800;line-height:1.1;white-space:nowrap}.vcm-move--up,.vcm-move--up .vcm-headline-delta{color:var(--cost-accent)}.vcm-move--down,.vcm-move--down .vcm-headline-delta{color:var(--accent)}.vcm-move--flat,.vcm-move--flat .vcm-headline-delta{color:var(--text-muted)}.vcm-cautions{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.vcm-caution{display:flex;align-items:flex-start;gap:8px;padding:8px 11px;background:var(--cost-bg);border:1px solid var(--cost-border);border-radius:var(--radius-sm);font-size:.76rem;line-height:1.45;color:var(--text-secondary)}.vcm-caution svg{flex:0 0 auto;margin-top:2px;color:var(--cost-accent)}.vcm-scroll{flex:0 1 auto;min-height:0;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input)}.vcm-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.8rem}.vcm-col-chip{width:132px}.vcm-col-money{width:150px}.vcm-table thead th{position:sticky;top:0;z-index:1;padding:8px 12px;background:var(--bg-elevated);border-bottom:1px solid var(--border);font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);text-align:left;white-space:nowrap}.vcm-table thead th.vcm-num{text-align:right}.vcm-table td{padding:7px 12px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:baseline}.vcm-num{text-align:right;font-family:var(--font-mono);white-space:nowrap}.vcm-cell-label{min-width:0}.vcm-label{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vcm-sub{display:block;margin-top:1px;font-size:.68rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vcm-move{font-weight:700}.vcm-off{color:var(--text-muted)}.vcm-off-note{display:block;font-size:.68rem;color:var(--text-muted)}.vcm-absent{color:var(--text-muted)}.vcm-chip{display:inline-block;padding:2px 8px;border-radius:20px;font-size:.68rem;font-weight:700;white-space:nowrap}.vcm-chip--add{background:var(--accent-dim);color:var(--accent-text)}.vcm-chip--gone{background:var(--cost-bg);color:var(--cost-text);border:1px solid var(--cost-border)}.vcm-chip--move{background:var(--hours-bg);color:var(--hours-text)}.vcm-chip--flat{background:transparent;color:var(--text-muted);font-weight:500}.vcm-row--aside td{background:var(--bg-surface);color:var(--text-secondary)}.vcm-row--aside .vcm-label{font-weight:500}.vcm-row--total td{background:var(--bg-elevated);border-top:2px solid var(--border);border-bottom:none;font-weight:700;font-size:.86rem}.vcm-row--fold td{padding:0}.vcm-quiet-toggle{display:block;width:100%;padding:7px 12px;border:none;background:var(--bg-surface);color:var(--text-muted);font-family:var(--font-body);font-size:.74rem;text-align:left;cursor:pointer}.vcm-quiet-toggle:hover{color:var(--text-primary)}.vcm-empty{padding:18px 12px;color:var(--text-muted);font-size:.8rem;line-height:1.5}.vcm-proof{flex:0 0 auto;display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-subtle);font-size:.76rem;line-height:1.45;color:var(--text-muted)}.vcm-proof-mark{color:var(--accent);font-weight:700}.vcm-proof-figure{font-family:var(--font-mono);color:var(--text-primary)}.vcm-proof--broken{background:var(--cost-bg);border-color:var(--status-lost);color:var(--text-primary)}.vcm-proof--broken svg{flex:0 0 auto;margin-top:2px;color:var(--status-lost)}.vcm-proof--broken .vcm-proof-figure{color:var(--status-lost)}.vcm-disclose{display:flex;align-items:baseline;gap:6px;width:100%;padding:0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.vcm-disclose svg{flex:0 0 auto;color:var(--text-muted);transform:translateY(1px)}.vcm-disclose:hover svg{color:var(--text-primary)}.vcm-disclose-name{min-width:0;flex:1 1 auto}.vcm-row--comp td{background:var(--bg-surface)}.vcm-table td.vcm-cell-comp{padding-left:46px}.vcm-row--comp .vcm-label{font-weight:500;color:var(--text-secondary)}.vcm-row--detail td{padding:0 12px 12px 46px;background:var(--bg-surface)}.vcm-subproof{padding:6px 0 8px;font-size:.72rem;line-height:1.45;color:var(--text-muted)}.vcm-subproof--broken{color:var(--status-lost);font-weight:600}.vcm-subproof-note{color:var(--text-secondary)}.vcm-facts{margin:0 0 4px;padding:9px 11px;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.vcm-scroll+.vcm-proof,.vcm-cautions+.vcm-facts{margin-bottom:10px}.vcm-facts-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:6px}.vcm-facts-caption{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap}.vcm-facts-rule{font-size:.7rem;line-height:1.4;color:var(--text-muted);text-align:right}.vcm-facts-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.76rem}.vcm-facts-table th{padding:3px 8px;border-bottom:1px solid var(--border-subtle);font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);text-align:left;white-space:nowrap}.vcm-facts-table td{padding:4px 8px;border:none;vertical-align:baseline}.vcm-facts-table th:nth-child(2),.vcm-facts-table th:nth-child(3),.vcm-fact-value{width:30%}.vcm-fact-label{color:var(--text-secondary)}.vcm-fact-value{font-family:var(--font-mono);color:var(--text-primary)}.vcm-say{flex:0 0 auto;margin-top:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated)}.vcm-say-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.vcm-say-caption{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.vcm-copy{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-body);font-size:.72rem;cursor:pointer}.vcm-copy:hover{color:var(--text-primary);border-color:var(--text-muted)}.vcm-say-sentence{margin:0;font-size:.86rem;line-height:1.5;color:var(--text-primary);-webkit-user-select:text;user-select:text}.vcm-say-note{margin:4px 0 0;font-size:.8rem;line-height:1.5;color:var(--text-secondary);-webkit-user-select:text;user-select:text}.vcm-say-withheld{margin:0;font-size:.78rem;line-height:1.5;color:var(--text-secondary)}.vcm-say-open,.vcm-say-cancel{padding:0;margin-top:6px;border:none;background:none;color:var(--text-muted);font-family:var(--font-body);font-size:.74rem;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.vcm-say-open:hover,.vcm-say-cancel:hover{color:var(--text-primary)}.vcm-say-cancel{margin-top:0}.vcm-say-edit{margin-top:8px}.vcm-say-label{display:block;margin-bottom:4px;font-size:.7rem;color:var(--text-muted)}.vcm-say-input{width:100%;padding:6px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-family:var(--font-body);font-size:.8rem;line-height:1.45;resize:vertical}.vcm-say-input:focus{outline:none;border-color:var(--accent)}.vcm-say-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:6px}.vcm-say-failed{flex:1 1 auto;font-size:.74rem;line-height:1.4;color:var(--status-lost)}.qd-print-mode .vcm-scrim{display:none!important}@media print{.vcm-scrim{display:none!important}}.prl-card{max-width:940px;width:100%}.prl-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.prl-search{display:flex;align-items:center;gap:6px;flex:1 1 200px;padding:6px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-muted)}.prl-search-input{flex:1;border:none;background:transparent;font-family:var(--font-body);font-size:.82rem;color:var(--text-primary)}.prl-search-input:focus{outline:none}.prl-filter-select{padding:6px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);font-family:var(--font-body);font-size:.78rem;color:var(--text-primary);cursor:pointer}.prl-older{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;color:var(--text-secondary);cursor:pointer}.prl-body{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:16px;align-items:start}.prl-list{display:flex;flex-direction:column;gap:5px;max-height:52vh;overflow-y:auto;padding-right:3px}.prl-row{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);font-family:var(--font-body);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.prl-row:hover{border-color:var(--accent)}.prl-row--sel{border-color:var(--accent);background:var(--accent-dim)}.prl-row-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.prl-row-name{font-size:.84rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prl-row-meta{font-size:.7rem;color:var(--text-muted)}.prl-chip{flex-shrink:0;padding:1px 6px;border-radius:3px;border:1px solid var(--border);font-size:.63rem;font-weight:700;letter-spacing:.02em;color:var(--text-muted)}.prl-chip--done{border-color:var(--green-600);background:var(--accent-dim);color:var(--accent-text)}.prl-chip--wip{border-color:var(--orange-800);background:#fef8f0;color:var(--cost-text)}.prl-detail{max-height:52vh;overflow-y:auto;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated)}.prl-detail-head{margin-bottom:8px}.prl-detail-title{font-size:.98rem;font-weight:700;color:var(--text-primary)}.prl-detail-sub{font-size:.72rem;color:var(--text-muted)}.prl-note{margin-bottom:10px;font-size:.8rem;line-height:1.45;color:var(--text-secondary)}.prl-facets{display:flex;gap:8px;margin-bottom:12px}.prl-section-title{margin:12px 0 6px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.prl-specs{padding:8px 10px;border:1px solid var(--orange-800);border-radius:var(--radius-md);background:#fef8f0}.prl-specs .prl-section-title{margin-top:0}.prl-spec{display:flex;justify-content:space-between;gap:10px;font-size:.78rem}.prl-spec-label{color:var(--text-muted)}.prl-spec-value{font-weight:600;color:var(--text-primary)}.prl-block{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}.prl-block:last-of-type{border-bottom:none}.prl-block-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.prl-block-label{font-size:.82rem;font-weight:600;color:var(--text-primary)}.prl-block-meta{font-size:.7rem;color:var(--text-muted)}.prl-block-value{flex-shrink:0;font-family:var(--font-num);font-size:.8rem;color:var(--text-secondary)}.prl-versions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.prl-versions .prl-section-title{flex:1 1 100%;margin-bottom:0}.prl-version{padding:3px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);font-family:var(--font-body);font-size:.72rem;color:var(--text-secondary);cursor:pointer}.prl-version--sel{border-color:var(--accent);color:var(--accent-text);background:var(--accent-dim)}.prl-apply{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.prl-products{display:flex;flex-direction:column;gap:4px;max-height:150px;overflow-y:auto}.prl-product{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary);cursor:pointer}.prl-apply-note{margin-top:12px;font-size:.75rem;line-height:1.45;color:var(--text-muted)}.prl-delete{margin-right:auto}.prl-delete-warn{display:inline-flex;align-items:center;gap:5px;margin-right:auto;font-size:.73rem;color:var(--cost-text)}.cvs-header-eyebrow{font-size:.58rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0}.cvs-header-eyebrow:after{content:"·";margin-left:5px;opacity:.55}.cvs-header--component{--band-accent: var(--accent);--band-fill: var(--component-surface, color-mix(in srgb, var(--accent) 28%, var(--bg-elevated)));--cvs-band-fill-w: 100%;box-shadow:inset 0 3px 0 var(--accent)}.canvas-panel.sp-module{overflow:hidden;padding:0;border-radius:6px}.sp-module-header{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;margin:0;padding:7px 9px;border:0;background:color-mix(in srgb,var(--bg-card) 86%,var(--neutral-800));color:var(--text-primary);font:inherit;cursor:pointer}.sp-module-header:hover{background:var(--neutral-800)}.sp-module-header:focus-visible{position:relative;z-index:1;outline:2px solid var(--accent);outline-offset:-2px}.sp-module-title{display:inline-flex;align-items:center;min-width:0;gap:5px;font-size:.69rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase}.sp-module-meta{min-width:0;overflow:hidden;color:var(--text-muted);font-size:.68rem;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.sp-module-body{padding:9px 10px 10px;border-top:1px solid var(--border)}.cvs-summary-note-line{display:flex;align-items:flex-start;gap:6px;width:100%;min-height:var(--cvs-crow-line-h);box-sizing:border-box;padding:3px 5px;border-left:2px solid var(--desc-accent);border-radius:2px;background:color-mix(in srgb,var(--desc-bg) 82%,var(--bg-card))}.cvs-summary-note-caption{flex:0 0 auto;font-size:.63rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);line-height:1.4}.cvs-summary-note-line>.cvs-crow-line{flex:1 1 auto;width:auto;min-width:0;height:auto;min-height:var(--cvs-crow-line-h);white-space:pre-wrap;overflow-wrap:anywhere;overflow:visible;text-overflow:clip;line-height:1.35}.cvs-header--component .cvs-header-label{font-weight:700}.cvs-header--component .cvs-header-rollup{color:var(--accent-text)}.cvs-header--component .cvs-header-eyebrow{color:var(--accent-text);opacity:.75}.cvs-header--unfiled{--band-accent: var(--cost-accent);--band-fill: var(--component-surface, color-mix(in srgb, var(--cost-accent) 20%, var(--bg-elevated)))}.cvs-header--unfiled .cvs-header-label{font-weight:700;color:var(--cost-text)}.cvs-header--unfiled .cvs-header-rollup,.cvs-header--unfiled .cvs-header-eyebrow{color:var(--cost-text)}.cvs-comp-warn{display:flex;align-items:flex-start;gap:7px;padding:8px 12px;font-size:.75rem;line-height:1.45;color:var(--cost-text);background:var(--cost-bg);border-bottom:1px solid var(--cost-border)}.cvs-comp-warn svg{flex-shrink:0;margin-top:1px}.cvs-comp-subhead{padding-top:7px}.cvs-comp-subhead-total{font-family:var(--font-mono);font-size:.7rem;font-weight:600}.cvs-comp-subhead-total--cost{color:var(--cost-text)}.cvs-comp-subhead-total--labor{color:var(--hours-text)}.cvs-comp-subhead-total--desc{color:var(--desc-text)}.cvs-comp-subhead-total--builder{color:var(--builder-text)}.cvs-comp-subhead-total--price{color:var(--accent-text)}.cvs-comp-pricing-label{padding-left:calc(var(--cvs-blk-indent) * 2 + 10px)}.cvs-comp-dial{display:flex;align-items:center;justify-content:center;gap:2px;width:100%}.cvs-comp-dial-input{width:54px;min-width:54px}.cvs-comp-dial-unit{font-family:var(--font-mono);font-size:.62rem;color:var(--text-muted)}.cvs-comp-dial-cell--over{background-color:#49805c1a}.cvs-comp-dial-label .canvas-pricing-label{font-weight:600;color:var(--text-primary)}.cvs-qual-label{display:flex;align-items:center;gap:4px;padding:3px 8px 3px 20px}.cvs-qual-label:has(.cvs-qual-drag){padding-left:25px}.cvs-qual-drag{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--text-muted);opacity:.5;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.cvs-qual-drag:hover{opacity:1;color:var(--desc-text)}.cvs-qual-drag:active{cursor:grabbing}.cvs-insert-slot{position:relative;height:0;z-index:3}.cvs-insert-slot:before{content:"";position:absolute;top:-1px;left:0;right:0;border-top:2px solid var(--desc-accent);opacity:0;pointer-events:none}.cvs-insert-slot--drop:before,.cvs-insert-slot--active:before,.cvs-insert-slot:hover:before{opacity:1}.cvs-insert-slot>button{position:absolute;top:-12px;left:calc(var(--canvas-col-w) / 2 - 12px);width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--desc-accent);border-radius:50%;background:var(--bg-card);color:var(--desc-text);opacity:0;transform:scale(.8);cursor:pointer;transition:opacity .12s ease,transform .12s ease}.cvs-insert-slot:hover>button,.cvs-insert-slot>button:focus-visible,.cvs-insert-slot--active>button{opacity:1;transform:scale(1)}.cvs-insert-slot>button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cvs-insert-slot--cost>button{border-color:var(--cost-accent);color:var(--cost-text)}.cvs-insert-slot--labor>button{border-color:var(--hours-accent);color:var(--hours-text)}.cvs-insert-slot--cost:before{border-top-color:var(--cost-accent)}.cvs-insert-slot--labor:before{border-top-color:var(--hours-accent)}.cvs-inline-block-menu{position:fixed;z-index:80;display:grid;min-width:176px;padding:4px;border:1px solid var(--border);border-radius:7px;background:var(--bg-card);box-shadow:0 6px 20px #00000021}.cvs-inline-block-menu button{padding:8px 10px;border:0;border-radius:4px;background:transparent;color:var(--text-primary);text-align:left;font:inherit;font-size:12px;cursor:pointer}.cvs-inline-block-menu button:hover,.cvs-inline-block-menu button:focus-visible{background:var(--bg-secondary)}.cvs-addqual-cell--drop{box-shadow:inset 0 2px var(--desc-accent)}.cvs-canvas-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:44px}.cvs-canvas-toolbar .cvs-jump{padding:4px 0;margin-right:6px}.cvs-sheet-tool{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:30px;padding:4px 9px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font:inherit;font-size:12px;white-space:nowrap;cursor:pointer}.cvs-sheet-tool:hover:not(:disabled),.cvs-sheet-tool:focus-visible,.cvs-sheet-tool--active{border-color:var(--accent);background:var(--accent-dim)}.cvs-sheet-tool:disabled{opacity:.48;cursor:default}.cvs-sheet-range{background:var(--accent-dim)!important}.multi-field-item.cvs-sheet-range{border-radius:3px}.canvas-cell--value.cvs-sheet-selected{box-shadow:inset 0 0 0 2px var(--accent);outline:none}.cvs-crow-line.cvs-sheet-selected,.cvs-dimension-line.cvs-sheet-selected,.multi-field-item.cvs-sheet-selected{box-shadow:inset 0 0 0 2px var(--accent);border-radius:3px;outline:none}.cvs-sheet-status{position:fixed;z-index:90;right:16px;bottom:16px;max-width:min(360px,calc(100vw - 32px));padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);box-shadow:0 4px 16px #0000001f;font-size:12px}@media (prefers-reduced-motion: reduce){.cvs-insert-slot>button{transition:none}}.cvs-qual-name{flex:1;min-width:0;border:none;border-bottom:1px dashed transparent;background:transparent;font-family:var(--font-body);font-size:.74rem;font-weight:600;color:var(--text-primary);padding:1px 0}.cvs-qual-name:hover,.cvs-qual-name:focus{border-bottom-color:var(--border);outline:none}.cvs-qual-name::placeholder{color:var(--text-muted);font-weight:500}.cvs-qual-fill{flex:0 0 auto;border:1px solid var(--border);border-radius:5px;background:var(--bg-card);color:var(--text-secondary);padding:2px 5px;font:600 10px/1.2 var(--font-body);cursor:pointer}.cvs-qual-fill:hover,.cvs-qual-fill:focus-visible{color:var(--accent-text);border-color:var(--accent)}.cvs-qual-label--exception{box-shadow:inset 3px 0 0 var(--cost-accent)}.cvs-qual-label--bound{box-shadow:inset 3px 0 0 var(--desc-accent)}.cvs-qual-bound{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--desc-text);cursor:help}.cvs-qual-print,.cvs-qual-exc,.cvs-qual-pin,.cvs-qual-delete{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex:0 0 auto;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease}.cvs-qual-pin{opacity:.55}.cvs-qual-print--on{opacity:1;color:var(--accent-text)}.cvs-qual-exc--on{opacity:1;color:var(--cost-text)}.cvs-qual-pin--on{opacity:1;color:var(--desc-text)}.cvs-qual-label:hover .cvs-qual-print,.cvs-qual-label:hover .cvs-qual-exc,.cvs-qual-label:hover .cvs-qual-pin,.cvs-qual-label:hover .cvs-qual-delete,.cvs-qual-print:focus-visible,.cvs-qual-exc:focus-visible,.cvs-qual-pin:focus-visible,.cvs-qual-delete:focus-visible{opacity:1}.cvs-qual-print:hover{background:var(--bg-card);color:var(--accent-text)}.cvs-qual-exc:hover{background:var(--bg-card);color:var(--cost-text)}.cvs-qual-pin:hover{background:var(--bg-card);color:var(--desc-text)}.cvs-qual-delete:hover{background:var(--bg-card);color:#c45a5a}.cvs-qual-input{width:100%}.cvs-qual-input--exception{border-color:var(--cost-border)}.cvs-addqual-cell{padding:3px 8px 6px 20px}.cvs-addqual-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-family:var(--font-body);font-size:.68rem;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.cvs-addqual-btn:hover{color:var(--desc-text);border-color:var(--desc-accent);background:var(--desc-bg)}.cvs-addqual-bind{display:flex;align-items:center;gap:5px;margin-top:4px}.cvs-addqual-bind-label{flex:0 0 auto;font-family:var(--font-body);font-size:.64rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.cvs-addqual-bind-select{flex:1;min-width:0}.cvs-pinq-comp{font-weight:600;color:var(--text-muted)}.cvs-pinq-sep{margin:0 3px;color:var(--text-muted);opacity:.6}.cvs-pinq-name{font-weight:700;color:var(--text-secondary)}.cvs-crow-name--exception .cvs-pinq-comp,.cvs-crow-name--exception .cvs-pinq-name{color:var(--cost-text)}.bq-unknown{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);cursor:help}.mb-filing{display:flex;align-items:center;gap:5px;margin-top:4px}.mb-filing-select{flex:1;min-width:0}.mb-filing-warn{flex:0 0 auto;padding:1px 5px;border-radius:8px;background:var(--cost-bg);border:1px solid var(--cost-border);color:var(--cost-text);font-size:.58rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.mb-component--unfiled{box-shadow:inset 2px 0 0 var(--cost-accent)}.cvs-comp-price-label{display:flex;flex-direction:column;gap:1px}.cvs-comp-price-basis{font-size:.62rem;color:var(--text-muted);letter-spacing:.02em}.cvs-comp-price-cell{flex-direction:column;align-items:center;gap:0}.cvs-comp-price-pt{font-size:.7rem;color:var(--text-muted)}.canvas-block-stack{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.canvas-block-move{display:flex;align-items:center;gap:4px;min-width:0}.canvas-block-component-select{max-width:122px;font-size:.65rem;color:var(--accent-text);border-color:var(--border)}.canvas-block-move-label{font-size:.6rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0}.canvas-block-move-error{font-size:.62rem;color:#c45a5a}.canvas-block-alt-chip{align-self:flex-start;font-size:.58rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--cost-text);background:var(--cost-bg);border:1px solid var(--cost-border);border-radius:3px;padding:1px 5px;flex-shrink:0}.canvas-block-lc-select{max-width:122px;font-size:.65rem;color:var(--hours-text)}.canvas-block-lc-select--unset{color:var(--cost-text);border-color:var(--cost-border);background-color:var(--cost-bg)}.canvas-block-lc-static{font-size:.65rem;font-weight:600;color:var(--hours-text);background:var(--hours-bg);border:1px solid var(--hours-border);border-radius:var(--radius-sm);padding:3px 6px;flex-shrink:0}.cvs-addcomp-cell{align-items:flex-start;padding-top:8px;padding-bottom:10px}.cvs-addcomp-rest{background:var(--bg-primary)}.cvs-addcomp-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--radius-sm);border:1px dashed var(--border);background:transparent;font-family:var(--font-body);font-size:.75rem;font-weight:600;color:var(--accent-text);cursor:pointer;transition:border-color .15s,background .15s}.cvs-addcomp-btn:hover{border-color:var(--accent);background:var(--accent-dim)}.cvs-addcomp-form{display:flex;flex-direction:column;gap:5px;width:100%;min-width:0}.cvs-addcomp-input{width:100%;min-width:0;background:var(--bg-input);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:4px 7px;font-family:var(--font-body);font-size:.78rem;color:var(--text-primary)}.cvs-addcomp-input:focus{outline:none}.cvs-addcomp-actions{display:flex;gap:5px}.cvs-addcomp-go,.cvs-addcomp-cancel{border-radius:var(--radius-sm);padding:3px 9px;font-family:var(--font-body);font-size:.7rem;font-weight:600;cursor:pointer}.cvs-addcomp-go{border:1px solid var(--accent);background:var(--accent);color:#fff}.cvs-addcomp-go:disabled{opacity:.5;cursor:default}.cvs-addcomp-cancel{border:1px solid var(--border);background:transparent;color:var(--text-secondary)}.cvs-addcomp-error{font-size:.68rem;line-height:1.4;color:#c45a5a}:root{--cvs-blk-indent: 8px;--hatch-rate-lock: repeating-linear-gradient( 135deg, rgba(122, 110, 96, .07) 0 3px, transparent 3px 8px );--hatch-dim: repeating-linear-gradient( -45deg, rgba(122, 110, 96, .1) 0 4px, transparent 4px 9px )}.canvas-cell--block{align-items:stretch;padding:0;border-bottom:6px solid var(--bg-primary)}.canvas-cell--cost-value,.canvas-cell--labor-value{border-bottom:6px solid var(--bg-primary)}.cvs-blk-card{box-sizing:border-box;position:relative;flex:1 1 auto;min-width:0;width:auto;margin-left:calc(var(--cvs-blk-indent) * var(--blk-indent-step, 2));padding:7px 8px 8px;border:1px solid var(--blk-edge, var(--border-subtle));border-radius:var(--radius-sm) 0 0 var(--radius-sm);background-color:var(--blk-fill, var(--bg-input))}.canvas-cell--rate-locked .cvs-blk-card{background-image:var(--hatch-rate-lock),linear-gradient(90deg,var(--blk-wash, transparent),transparent 88%)}.canvas-cell--dim{background-image:var(--hatch-dim)}.canvas-cell--dim .canvas-member-checkbox{opacity:.6}.canvas-cell--dim .canvas-member-checkbox:hover{opacity:1}.cvs-blk-margin-chip{position:absolute;right:6px;bottom:6px;z-index:1;display:inline-flex;align-items:center;gap:2px;padding:1px 5px 1px 4px;border:1px solid color-mix(in srgb,var(--cost-accent) 32%,var(--bg-input));border-radius:999px;background:var(--bg-input);color:var(--cost-text);font-family:var(--font-mono);font-size:.62rem;font-weight:700;line-height:1.4;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.cvs-blk-margin-chip:hover{border-color:var(--cost-accent);background:color-mix(in srgb,var(--cost-accent) 14%,var(--bg-input))}.cvs-blk-margin-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cvs-blk-margin-chip--open{border-color:var(--cost-accent);background:color-mix(in srgb,var(--cost-accent) 18%,var(--bg-input))}.cvs-blk-margin-chip--pinned{border-color:var(--accent-text);color:var(--accent-text);background:var(--accent-dim)}.cvs-blk-margin-chip-val{letter-spacing:-.01em}.canvas-cell--cost .canvas-block-move{padding-right:46px}.cvs-margin-label{--blk-indent-step: 3;--blk-fill: color-mix(in srgb, var(--cost-accent) 6%, var(--bg-input));--blk-edge: color-mix(in srgb, var(--cost-accent) 20%, var(--bg-input))}.cvs-margin-label:not(.cvs-margin-money-label),.cvs-margin-value:not(.cvs-margin-money-value){border-bottom:0}.cvs-margin-label:not(.cvs-margin-money-label) .cvs-blk-card{padding-bottom:4px;border-bottom:0;border-bottom-left-radius:0}.cvs-margin-money-label .cvs-blk-card{padding-top:4px;border-top:0;border-top-left-radius:0}.cvs-margin-card{display:flex;flex-direction:column;align-items:stretch;gap:4px}.cvs-margin-head{display:flex;align-items:center;gap:6px}.cvs-margin-title{font-size:.7rem;font-weight:700;color:var(--text-secondary);flex-shrink:0}.cvs-margin-default{display:flex;align-items:center;gap:1px;flex-shrink:0}.cvs-margin-caption{min-width:0;overflow:hidden;font-size:.56rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.cvs-margin-input{width:46px;min-width:46px;padding:2px 4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);font-family:var(--font-mono);font-size:.72rem;text-align:right}.cvs-margin-input:focus{outline:none;border-color:var(--accent)}.cvs-margin-input:disabled{opacity:.5;cursor:wait}.cvs-margin-input--default{color:var(--text-primary);font-weight:600}.cvs-margin-input--over{border-color:color-mix(in srgb,var(--accent-text) 45%,var(--border));background:var(--accent-dim);color:var(--accent-text);font-weight:700}.cvs-margin-pct{font-family:var(--font-mono);font-size:.62rem;color:var(--text-muted)}.cvs-margin-value{background-color:#9a62180b}.cvs-margin-value--over{background-color:#49805c1a}.cvs-margin-cell{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}.cvs-margin-rate{display:flex;align-items:center;gap:2px}.cvs-margin-revert{display:inline-flex;align-items:center;justify-content:center;width:15px;flex-shrink:0}.cvs-margin-clear{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.cvs-margin-clear:hover{background:var(--accent-dim);color:var(--accent-text)}.cvs-margin-clear:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.cvs-margin-clear:disabled{opacity:.5;cursor:wait}.cvs-margin-actions{display:flex;align-items:center;gap:4px}.cvs-margin-action{display:inline-flex;align-items:center;gap:2px;padding:1px 6px 1px 4px;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-input);color:var(--text-muted);font-family:var(--font-sans);font-size:.58rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;line-height:1.5;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.cvs-margin-action:hover:not(:disabled){border-color:var(--cost-accent);background:color-mix(in srgb,var(--cost-accent) 14%,var(--bg-input));color:var(--cost-text)}.cvs-margin-action:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cvs-margin-action:disabled{opacity:.45;cursor:default}.cvs-margin-money-value{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-family:var(--font-mono)}.cvs-margin-money-pp{font-size:.68rem;font-weight:600;color:var(--accent-text)}.cvs-margin-money-pt{font-size:.6rem;color:var(--text-muted)}.cvs-margin-money-total{font-family:var(--font-mono);font-size:.72rem;font-weight:700;color:var(--accent-text);flex-shrink:0}@media (prefers-reduced-motion: reduce){.cvs-blk-margin-chip,.cvs-margin-clear,.cvs-margin-action{transition:none}}.cvs-comp-subhead{--subhead-fill: var(--workspace-section, var(--bg-elevated));padding:0}.cvs-comp-subhead-content{position:sticky;left:0;z-index:1;flex:0 0 auto;align-self:stretch;display:inline-flex;align-items:center;gap:6px;min-width:var(--canvas-col-w, 240px);width:max-content;box-sizing:border-box;padding:6px 12px 5px calc(var(--cvs-blk-indent) + 14px);background:var(--subhead-fill);box-shadow:inset 3px 0 0 var(--comp-rail)}.cvs-comp-subhead-content:before{left:var(--cvs-blk-indent)}.cvs-comp-subhead-toggle{display:inline-flex;align-items:center;gap:5px;padding:0;border:none;background:transparent;font-family:inherit;cursor:pointer}.cvs-comp-subhead-chevron{display:inline-flex;align-items:center;color:var(--text-muted);transition:color .15s}.cvs-comp-subhead-toggle:hover .cvs-comp-subhead-chevron{color:var(--text-primary)}.cvs-comp-subhead-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.cvs-comp-subhead-count{font-size:.62rem;font-weight:600;letter-spacing:.03em;color:var(--text-muted)}.canvas-block-type-select--cost{background-color:var(--cost-bg);border-color:var(--cost-border);color:var(--cost-text);font-weight:700}.canvas-block-type-select--labor{background-color:var(--hours-bg);border-color:var(--hours-border);color:var(--hours-text);font-weight:700}.blk-eg{display:flex;flex-direction:column;gap:1px;margin-top:1px;font-family:var(--font-mono);font-size:.65rem;line-height:1.35}.blk-eg-derived{font-weight:600}.blk-eg--cost .blk-eg-derived{color:var(--cost-text)}.blk-eg--labor .blk-eg-derived{color:var(--hours-text)}.blk-eg-line{color:var(--text-muted);font-size:.62rem}.canvas-block-foot{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:1px}.blk-freeze{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid #c4d8e8;border-radius:var(--radius-sm);background:#eef4f9;color:#3a5f86;font-family:var(--font-body);font-size:.66rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.blk-freeze:hover:not(:disabled){background:#3a5f86;color:#fff}.blk-freeze:disabled{opacity:.55;cursor:default}.blk-refusal{margin-top:3px;padding:6px 7px;border:1px solid var(--cost-border);border-left:3px solid var(--cost-accent);border-radius:var(--radius-sm);background:var(--cost-bg)}.blk-refusal-head{display:flex;align-items:center;gap:4px;font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--cost-text)}.blk-refusal-msg{margin:3px 0 0;font-size:.66rem;line-height:1.45;color:var(--text-secondary)}.blk-refusal-actions{display:flex;gap:5px;margin-top:6px}.blk-refusal-go,.blk-refusal-dismiss{border-radius:var(--radius-sm);padding:3px 8px;font-family:var(--font-body);font-size:.66rem;font-weight:700;cursor:pointer}.blk-refusal-go{border:1px solid var(--cost-accent);background:var(--cost-accent);color:#fff}.blk-refusal-dismiss{border:1px solid var(--border);background:transparent;color:var(--text-secondary)}.blk-refusal-go:disabled,.blk-refusal-dismiss:disabled{opacity:.5;cursor:default}.canvas-block-total-sum{display:flex;align-items:baseline;gap:7px}.canvas-block-total-figure{font-weight:700}.blk-in-chip{font-family:var(--font-body);font-size:.6rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.blk-in-chip--none{color:var(--cost-text);font-weight:700}.blk-in-chip-off{color:var(--cost-text)}.cvs-price-band-label{align-items:stretch;padding:0;border-bottom:6px solid var(--bg-primary);background:var(--bg-primary)}.cvs-comp-price-label{flex:1;min-width:0;margin-left:calc(var(--cvs-blk-indent) * 2);padding:8px 10px;border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:linear-gradient(135deg,var(--green-600),var(--green-800));color:#fff}.cvs-comp-price-cap{font-size:.58rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#ffffffb8}.cvs-comp-price-name{font-size:.82rem;font-weight:700;letter-spacing:-.01em}.cvs-comp-price-tot{font-family:var(--font-mono);font-size:.78rem;font-weight:700;margin-top:2px}.cvs-comp-price-basis{font-size:.6rem;color:#ffffffad;letter-spacing:.02em}.cvs-comp-price-cell{background-color:#49554c17;border-bottom:6px solid var(--bg-primary)}.cvs-comp-price-cell .canvas-pricing-value--final{color:var(--green-700)}.cvs-band-preset{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:3px 8px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.68rem;font-weight:600;letter-spacing:.01em;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.cvs-band-preset:hover:not(:disabled){border-color:var(--accent);background:var(--accent-dim);color:var(--accent-text)}.cvs-band-preset:disabled{opacity:.4;cursor:not-allowed}.cvs-subhead-preset-btn{opacity:.42}.cvs-addcomp-choices{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.cvs-addcomp-preset-btn{color:var(--text-secondary)}.cvs-preset-note{background:var(--accent-dim);border-bottom:1px solid var(--green-600)}.cvs-preset-note-inner{position:sticky;left:0;display:flex;align-items:flex-start;gap:7px;max-width:960px;padding:8px 12px;font-size:.75rem;line-height:1.45;color:var(--accent-text)}.cvs-preset-note-inner>svg{flex-shrink:0;margin-top:2px}.cvs-preset-note-inner>span{min-width:0}.cvs-preset-note-top{flex-direction:row;align-items:flex-start;gap:8px;margin-bottom:8px}.cvs-preset-note-top>svg{flex-shrink:0;margin-top:2px;color:var(--accent-text)}.cvs-preset-note-close{flex-shrink:0;margin-left:auto;padding:2px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.cvs-preset-note-close:hover{color:var(--text-primary);background:var(--accent-dim)}:root{--teal-900: #eef4f6;--teal-800: #cddde3;--teal-500: #4f8296;--teal-300: #2f5d6d;--alt-accent: var(--teal-500);--alt-bg: var(--teal-900);--alt-border: var(--teal-800);--alt-text: var(--teal-300)}.cvs-header--alternate{--band-accent: var(--alt-accent);--band-fill: var(--component-surface, color-mix(in srgb, var(--alt-accent) 24%, var(--bg-elevated)))}.cvs-header--alternate .cvs-header-label{font-weight:700}.cvs-header--alternate .cvs-header-rollup,.cvs-header--alternate .cvs-header-eyebrow{color:var(--alt-text)}.cvs-alt-offer{background:var(--alt-bg);border-bottom:1px solid var(--alt-border)}.cvs-alt-offer-inner{position:sticky;left:0;display:flex;align-items:flex-end;flex-wrap:wrap;gap:6px 12px;max-width:980px;padding:8px 12px;color:var(--alt-text)}.cvs-alt-offer-inner>svg{flex-shrink:0;margin-bottom:5px}.cvs-alt-field{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 150px}.cvs-alt-field--note{flex:2 1 220px}.cvs-alt-field-label{font-family:var(--font-body);font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--alt-text);opacity:.75}.cvs-alt-input{width:100%;min-width:0;background:var(--bg-input);border:1px solid var(--alt-border);border-radius:var(--radius-sm);padding:4px 7px;font-family:var(--font-body);font-size:.76rem;color:var(--text-primary)}.cvs-alt-input:focus{outline:none;border-color:var(--alt-accent)}.cvs-alt-input:disabled{opacity:.6}.cvs-alt-select{min-width:0;border-color:var(--alt-border)}.cvs-alt-additive{flex:1 1 100%;font-size:.68rem;line-height:1.4;color:var(--alt-text);opacity:.85}.cvs-clone-note{background:var(--alt-bg);border-bottom:1px solid var(--alt-border)}.cvs-clone-note .cvs-preset-note-inner{color:var(--alt-text);max-width:880px}.cvs-band-confirm{background:var(--cost-bg);border-bottom:1px solid var(--cost-border)}.cvs-band-confirm .cvs-preset-note-inner{align-items:center;flex-wrap:wrap;color:var(--cost-text);max-width:880px}.cvs-band-confirm-actions{flex-shrink:0;display:flex;gap:6px;margin-left:auto}.cvs-band-confirm-go{border:1px solid #c45a5a;border-radius:var(--radius-sm);padding:3px 9px;background:#c45a5a;font-family:var(--font-body);font-size:.7rem;font-weight:600;color:#fff;cursor:pointer}.cvs-band-confirm-go:disabled{opacity:.55;cursor:default}.cvs-band-menu-wrap{position:relative;display:inline-flex;flex-shrink:0}.cvs-band-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.cvs-band-menu-btn:hover,.cvs-band-menu-btn--on{border-color:var(--border);background:var(--bg-card);color:var(--text-primary)}.cvs-band-menu{position:fixed;z-index:60;display:flex;flex-direction:column;min-width:190px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);box-shadow:var(--shadow-raised)}.cvs-band-menu-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.74rem;font-weight:600;color:var(--text-primary);text-align:left;cursor:pointer}.cvs-band-menu-item:hover:not(:disabled){background:var(--accent-dim);color:var(--accent-text)}.cvs-band-menu-item:disabled{opacity:.42;cursor:not-allowed}.cvs-band-menu-item--danger{color:#c45a5a}.cvs-band-menu-item--danger:hover:not(:disabled){background:#c45a5a1a;color:#c45a5a}.cvs-addcomp-alt-btn{color:var(--alt-text)}.cvs-addcomp-alt-btn:hover{border-color:var(--alt-accent);background:var(--alt-bg)}.cvs-addcomp-form--alt .cvs-addcomp-input{border-color:var(--alt-accent)}.cvs-alt-price-label .cvs-comp-price-label{background:linear-gradient(135deg,var(--teal-500),var(--teal-300))}.cvs-alt-price-cell{background-color:#4f82961a}.cvs-alt-price-cell .canvas-pricing-value--final{color:var(--alt-text)}.cvs-alt-price-delta{font-weight:700;color:var(--alt-text)}.cvs-alt-chip{flex-shrink:0;margin-right:5px;padding:1px 5px;border-radius:3px;background:var(--alt-accent);font-family:var(--font-body);font-size:.56rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#fff;vertical-align:middle}.cvs-addqual-bind-note{font-size:.65rem;line-height:1.4;color:var(--alt-text)}.cvs-crow{height:calc(var(--cvs-crow-lines) * var(--cvs-crow-line-h) + var(--cvs-crow-rules) * var(--cvs-crow-rule-h) + var(--cvs-crow-chrome-h));min-height:0;padding:2px 8px;align-items:stretch}.cvs-crow-rail{display:flex;align-items:flex-start;gap:6px;padding-left:20px}.cvs-crow-names{display:flex;flex-direction:column;min-width:0;padding:3px 0;border-top:1px solid transparent;border-bottom:1px solid transparent;overflow:hidden}.cvs-crow-name{flex:0 0 auto;display:flex;align-items:center;gap:3px;height:var(--cvs-crow-line-h);line-height:var(--cvs-crow-line-h);font-family:var(--font-body);font-size:.64rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.cvs-crow-name-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.cvs-crow-name--exception{color:var(--cost-text)}.cvs-crow-box{display:flex;flex-direction:column;width:100%;height:100%;padding:3px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card)}.cvs-crow-box--empty{background:transparent;border-style:dashed}.cvs-crow-line{position:relative;flex:0 0 auto;display:block;width:100%;height:var(--cvs-crow-line-h);line-height:var(--cvs-crow-line-h);margin:0;padding:0;border:none;border-radius:2px;background:none;font-family:inherit;font-size:.7rem;color:var(--text-secondary);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}button.cvs-crow-line{cursor:text}button.cvs-crow-line:hover{background:#0000000a;box-shadow:inset 0 0 0 1px var(--border)}button.cvs-crow-line:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.cvs-crow-line--open{background:#0000000a;overflow:visible;z-index:1}.height-inline-editor,.height-inline-custom{display:flex;flex-direction:column;gap:6px;min-width:0}.height-inline-editor select{width:100%;min-height:36px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary)}.height-inline-editor .height-settings-link{flex-basis:auto}.height-inline-editor [role=alert]{color:var(--danger, #a32b2b);white-space:normal}.cvs-dimension-line,.cvs-crow-name.cvs-dimension-name{height:30px;flex:0 0 30px}.pricing-breakdown-heading{grid-column:1 / -1;padding:14px 20px 6px;font-size:11px;font-weight:600;color:var(--text-secondary);border-top:1px solid var(--border);background:var(--bg-primary)}.pricing-breakdown-toggle{grid-column:1 / -1;padding:2px 20px;background:var(--bg-primary)}.pricing-breakdown-toggle button{border:0;background:transparent;color:var(--text-secondary);font:inherit;font-size:11px;padding:4px 0;cursor:pointer}.pricing-set-total{margin-left:auto;white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums}.cv-toolbar{padding:12px 0;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.cv-tabs,.cv-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.cv-tabs button,.cv-actions button,.cv-actions select,.cv-actions input{min-height:32px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font:inherit;font-size:12px}.cv-tabs button[aria-pressed=true]{background:var(--accent);color:#fff}.cv-toolbar>small{flex-basis:100%;color:var(--text-secondary);font-size:11px}.cv-table-scroll{overflow:auto;max-height:60vh}.cv-frozen table,.cv-comparison table{border-collapse:collapse;width:100%;font-size:12px;background:var(--bg-card)}.cv-frozen td,.cv-frozen th,.cv-comparison td,.cv-comparison th{padding:8px 12px;border:1px solid var(--border);text-align:left;min-width:120px;max-width:350px;overflow-wrap:anywhere}.cv-changed{background:color-mix(in srgb,#dbad45 18%,var(--bg-card))}.cv-added{background:color-mix(in srgb,#52a76b 15%,var(--bg-card))}.cv-removed{background:color-mix(in srgb,#d47777 15%,var(--bg-card))}.cv-comparison header{display:flex;justify-content:space-between;padding:12px 0}.cv-frozen pre{white-space:pre-wrap;max-height:300px;overflow:auto}.cv-frozen details{margin:12px 0}#cvs-pricing>.canvas-cell--pricing-label,#cvs-pricing>.canvas-cell--pricing-value{min-height:30px;padding-top:5px;padding-bottom:5px}#cvs-pricing .canvas-pricing-label{text-transform:none;letter-spacing:normal;font-size:12px}#cvs-pricing>.pricing-breakdown-total{background:color-mix(in srgb,var(--accent) 5%,var(--bg-card))}#cvs-pricing>.pricing-breakdown-sale{background:color-mix(in srgb,var(--accent) 10%,var(--bg-card));font-weight:600}.cvs-dimension-line>.canvas-cell{width:100%;min-width:0;min-height:0;padding:0;border:0;background:transparent}.multi-field-row--compact-dimensions{gap:2px;height:30px}.multi-field-row--compact-dimensions .multi-field-item--input{flex:0 0 auto;width:40px}.multi-field-row--compact-dimensions .multi-field-item--input:first-child{width:30px}.multi-field-row--compact-dimensions .pfc-input{width:100%;padding:2px;height:26px;min-height:26px;border:1px solid transparent;background:transparent;box-shadow:none;font-size:12px;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.multi-field-row--compact-dimensions input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.multi-field-row--compact-dimensions input:hover,.multi-field-row--compact-dimensions input:focus{border-color:var(--border);background:var(--bg-input)}.height-inline-editor--compact{flex:1;flex-direction:row;align-items:center;gap:3px;position:relative}.height-inline-editor--compact select{flex:1;width:0;min-width:0;height:26px;min-height:26px;padding:2px;font-size:11px}.height-inline-editor--compact .height-inline-custom{display:contents;font-size:0;line-height:0}.height-inline-editor--compact .height-inline-custom input{flex:1;width:0;min-width:0;height:26px;min-height:26px;box-sizing:border-box;padding:2px 4px;font-size:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary)}.height-inline-editor--compact [role=alert]{position:absolute;top:100%;right:0;z-index:8;background:var(--bg-card);padding:6px;border:1px solid var(--border);width:180px}.cvs-crow-edit{position:absolute;top:-6px;left:-6px;right:-6px;z-index:6;display:flex;align-items:center;min-height:calc(var(--cvs-crow-line-h) + 12px);padding:0 4px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-input);box-shadow:0 3px 12px #0000002e}.cvs-crow-edit .canvas-cell{width:100%;min-width:0;min-height:0;height:auto;padding:0;border-bottom:none;background:transparent}.cvs-crow-rule{flex:0 0 auto;height:1px;margin:2px 0;background:var(--border)}.cvs-crow-unpin{flex:0 0 auto;width:13px;height:13px;min-width:13px;padding:0}.cvs-crow--editing{z-index:8}.cvs-pinsum{position:sticky;top:calc(var(--canvas-pin-block-h) + var(--cvs-strip-offset) + var(--cvs-band-h));transform:translateY(var(--cvs-pinsum-push, 0px));z-index:2;visibility:var(--cvs-pinsum-item-vis, hidden);background:var(--bg-primary);border-bottom:1px solid var(--border)}.cvs-pinsum.canvas-cell--label{z-index:3}.cvs-pinsum.canvas-cell--spacer{border-bottom:1px solid var(--border)}.cvs-pinsum-label{box-shadow:inset 3px 0 0 var(--accent)}.cvs-pinsum--alt.cvs-pinsum-label{box-shadow:inset 3px 0 0 var(--alt-accent)}.cvs-pinsum-pin{flex:0 0 auto;display:inline-flex;margin-top:6px;color:var(--text-muted);opacity:.7}.cvs-pinsum-end,.cvs-pin-mark{height:0}.cvs-pin-mark--band{margin-top:var(--cvs-band-gap)}.cvs-header--tier{top:calc(var(--pin-top, var(--canvas-pin-block-h)) + var(--cvs-strip-offset))}.cvs-header--tier[data-frozen=true]{top:var(--pin-top)}.cvs-frozen-row[data-frozen=true]>.canvas-cell{position:sticky;top:var(--pin-top, 0px);z-index:4;background:var(--bg-primary)}.cvs-frozen-row[data-frozen=true]>.canvas-cell.canvas-cell--value{position:sticky}.cvs-frozen-row[data-frozen=true]>.canvas-cell.canvas-cell--label{z-index:5}.cvs-frozen-row[data-frozen=true]>.canvas-cell--divider{box-shadow:0 0 0 4px var(--bg-primary)}.cvs-frozen-row[data-frozen=true]>.canvas-cell.cvs-crow--editing{z-index:8}.cvs-copy-note{background:var(--accent-dim);border-bottom:1px solid var(--green-600)}.cvs-copy-note .cvs-preset-note-inner{color:var(--accent-text);max-width:880px}.cvs-header--hidden{--band-accent: var(--neutral-500);--band-fill: var(--component-surface, color-mix(in srgb, var(--neutral-500) 20%, var(--bg-elevated)))}.cvs-header--hidden .cvs-header-label{font-weight:700;color:var(--text-secondary)}.cvs-header--hidden .cvs-header-rollup{color:var(--text-secondary)}.cvs-header--hidden .cvs-header-eyebrow{color:var(--text-muted)}.cvs-hidden-row{background:color-mix(in srgb,var(--neutral-500) 12%,var(--bg-elevated));border-bottom:1px solid var(--border)}.cvs-hidden-row .cvs-preset-note-inner{align-items:center;color:var(--text-secondary);max-width:880px}.cvs-hidden-row .cvs-preset-note-inner>svg{margin-top:0;color:var(--text-muted)}.cvs-hidden-toggle{flex-shrink:0;margin-left:auto;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);font-family:var(--font-body);font-size:.72rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.cvs-hidden-toggle:hover{border-color:var(--accent);background:var(--accent-dim);color:var(--accent-text)}.cvs-comp-select-label{display:flex;align-items:baseline;gap:8px}.cvs-comp-select-label .canvas-pricing-label{font-weight:600;color:var(--text-primary)}.cvs-comp-select-count{font-family:var(--font-mono);font-size:.62rem;color:var(--text-muted);white-space:nowrap}.cvs-comp-select-cell{justify-content:center}.cvs-comp-select-box{flex-shrink:0;width:14px;height:14px;margin:0;opacity:1;-moz-appearance:none;appearance:none;-webkit-appearance:none;display:grid;place-content:center;border:1.5px solid var(--neutral-500);border-radius:3px;background:#fff;cursor:pointer;transition:background .15s ease,border-color .15s ease}.cvs-comp-select-box:checked{background:var(--accent);border-color:var(--accent)}.cvs-comp-select-box:after{content:"";width:9px;height:9px;transform:scale(0);transition:transform .15s ease;box-shadow:inset 14px 14px #fff;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}.cvs-comp-select-box:checked:after{transform:scale(1)}.cvs-comp-select-box:hover:not(:checked){border-color:var(--accent)}.cvs-comp-select-box:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cvs-comp-select-box:disabled{opacity:.45;cursor:progress}@media (prefers-reduced-motion: reduce){.cvs-comp-select-box,.cvs-comp-select-box:after{transition:none}}.cvs-headsel{position:absolute;top:0;bottom:0;left:var(--canvas-col-w, 240px);z-index:0;display:flex;align-items:center;pointer-events:none}.cvs-headsel-cell{flex:0 0 var(--canvas-col-w, 240px);display:flex;align-items:center;justify-content:center;height:22px;border-radius:3px}.cvs-headsel-cell input{pointer-events:auto}.cvs-headsel-cell--out{background-color:color-mix(in srgb,var(--cost-accent) 14%,transparent)}.cvs-headsel-dash{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);opacity:.55}.cvs-headsel-count{display:inline-flex;align-items:baseline;gap:5px;font-family:var(--font-mono);font-size:.7rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.cvs-headsel-count-cap{font-family:var(--font-body);font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cvs-headsel-count--out{color:var(--cost-text)}.cvs-applicability-cell,.cvs-applicability-cell.is-applicable{background:transparent}.cvs-applicability-light{display:inline-flex;align-items:center;justify-content:center;width:28px;height:19px;padding:0;border:0;border-radius:3px;background:color-mix(in srgb,var(--text-muted) 24%,var(--component-surface, var(--bg-elevated)));color:var(--text-secondary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text-muted) 20%,transparent);cursor:pointer;pointer-events:auto;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.cvs-applicability-light>span{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px}.cvs-applicability-light[aria-pressed=true]{background:var(--accent);color:var(--bg-card);box-shadow:none}.cvs-applicability-light:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 82%,var(--component-surface, var(--bg-elevated)));color:var(--bg-card)}.cvs-applicability-light:focus-visible{outline:2px solid var(--focus-ring, var(--accent));outline-offset:2px}.cvs-applicability-light:disabled{cursor:default;opacity:.62}@media (prefers-reduced-motion: reduce){.cvs-applicability-light{transition:none}}.cvs-desc-unavailable{align-items:center;justify-content:center;background:repeating-linear-gradient(-45deg,transparent,transparent 5px,color-mix(in srgb,var(--border) 32%,transparent) 5px,color-mix(in srgb,var(--border) 32%,transparent) 6px);color:var(--text-muted);font-size:.66rem;font-weight:600;letter-spacing:.02em}.cvs-crow-line--unavailable{color:color-mix(in srgb,var(--text-muted) 58%,transparent);cursor:default;font-style:normal;text-align:center}.cvs-applicability-error{color:var(--cost-text);background:color-mix(in srgb,var(--cost-accent) 12%,var(--surface))}.cvs-bandmargin{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.cvs-bandmargin-cap{font-family:var(--font-body);font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;opacity:.72}.cvs-bandmargin--offered .cvs-bandmargin-cap{opacity:.85}.cvs-comp-select-cell--out,.cvs-comp-price-cell--out{background-color:color-mix(in srgb,var(--cost-accent) 14%,transparent)}.cvs-comp-price-cell--out{justify-content:center}.cvs-comp-price-out{font-family:var(--font-body);font-size:.66rem;font-weight:600;letter-spacing:.02em;color:var(--cost-text);text-align:center}.cvs-unpriced-row{background:color-mix(in srgb,var(--cost-accent) 11%,var(--bg-elevated))}.cvs-unpriced-row .cvs-preset-note-inner>svg{color:var(--cost-text)}.sbx-row{padding:6px 12px;background:var(--bg-primary);border-top:1px solid var(--border-subtle)}.sbx-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:26px}.sbx-toggle{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.sbx-toggle:hover{color:var(--text-primary);border-color:var(--neutral-600)}.sbx-toggle--on{color:var(--desc-text);border-color:var(--desc-border);background:var(--desc-bg)}.sbx-hint{font-size:.72rem;color:var(--text-muted);font-style:italic}.sbx-chips{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.sbx-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 9px;border:1px solid var(--desc-border);border-radius:999px;background:var(--desc-bg);font-size:.72rem;color:var(--desc-text);white-space:nowrap}.sbx-chip--pending{border-style:dashed;color:var(--text-muted);background:transparent;padding-right:9px}.sbx-chip-x{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;border-radius:999px;background:transparent;color:inherit;opacity:.6;cursor:pointer}.sbx-chip-x:hover{opacity:1;background:#00000012}.sbx-chip-worth{padding:1px 6px;border-radius:999px;background:var(--bg-card);font-family:var(--font-mono);font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums}.sbx-chip-worth--up{color:var(--cost-text)}.sbx-chip-worth--down{color:var(--green-600)}.sbx-chip-worth--flat{color:var(--text-muted)}.sbx-add,.sbx-clear{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.72rem;color:var(--text-secondary);cursor:pointer}.sbx-add:hover,.sbx-clear:hover{color:var(--text-primary);border-color:var(--neutral-600)}.sbx-clear{border-style:solid}.sbx-apply{margin-left:auto;padding:5px 13px;border:none;border-radius:var(--radius-sm);background:var(--accent);font-family:var(--font-body);font-size:.74rem;font-weight:600;color:#fff;cursor:pointer}.sbx-apply:disabled{opacity:.45;cursor:not-allowed}.sbx-apply:hover:not(:disabled){background:var(--green-700)}.sbx-error{margin-top:7px;padding:7px 10px;border:1px solid var(--cost-border);border-radius:var(--radius-sm);background:var(--cost-bg);font-size:.75rem;line-height:1.45;color:var(--cost-text)}.sbx-drift{display:flex;align-items:flex-start;gap:8px;margin-top:7px;padding:9px 11px;border:1px solid var(--status-lost);border-radius:var(--radius-sm);background:#fdf0f0;font-size:.75rem;line-height:1.45;color:var(--neutral-200)}.sbx-drift>svg{flex-shrink:0;margin-top:1px;color:var(--status-lost)}.sbx-composer{margin-top:8px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card)}.sbx-composer-tabs{display:flex;gap:4px;margin-bottom:8px}.sbx-tab{padding:3px 10px;border:1px solid transparent;border-radius:999px;background:transparent;font-family:var(--font-body);font-size:.72rem;color:var(--text-muted);cursor:pointer}.sbx-tab--on{border-color:var(--border);background:var(--bg-input);color:var(--text-primary);font-weight:600}.sbx-composer-body{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.sbx-composer-stack{display:grid;gap:8px}.sbx-composer-subrow{padding-top:8px;border-top:1px solid var(--border-subtle, var(--border))}.sbx-select,.sbx-input{padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);font-family:var(--font-mono);font-size:.78rem;color:var(--text-primary)}.sbx-select{font-family:var(--font-body);max-width:280px}.sbx-select--narrow{max-width:110px}.sbx-input{width:92px;text-align:right}.sbx-input--text{width:130px;text-align:left;font-family:var(--font-body)}.sbx-select:focus,.sbx-input:focus{outline:none;border-color:var(--accent)}.sbx-composer-refusal{display:flex;align-items:flex-start;gap:7px;max-width:720px;margin-top:8px;padding:7px 10px;border:1px solid var(--cost-border);border-radius:var(--radius-sm);background:var(--cost-bg);font-size:.73rem;line-height:1.45;color:var(--cost-text)}.sbx-composer-refusal>svg{flex-shrink:0;margin-top:1px}.sbx-op{padding:5px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);font-family:var(--font-body);font-size:.73rem;font-weight:600;color:var(--text-secondary);cursor:pointer}.sbx-op:hover:not(:disabled){color:var(--accent-text);border-color:var(--accent)}.sbx-op:disabled{opacity:.4;cursor:not-allowed}.sbx-or,.sbx-field-label,.sbx-affix{font-size:.72rem;color:var(--text-muted)}.sbx-field-label{font-weight:600;color:var(--text-secondary)}.sbx-targets{display:flex;flex-wrap:wrap;gap:4px}.sbx-target{padding:3px 9px;border:1px solid var(--border);border-radius:999px;background:transparent;font-family:var(--font-body);font-size:.71rem;color:var(--text-muted);cursor:pointer}.sbx-target--on{border-color:var(--accent);background:var(--accent-dim);color:var(--accent-text);font-weight:600}.sbx-cell,.sbx-cell-label{flex-direction:column;align-items:center;justify-content:center;gap:1px;background:var(--desc-bg)}.sbx-cell-label{align-items:flex-start}.sbx-move{font-family:var(--font-mono);font-size:.82rem;font-weight:600}.sbx-move--strong{font-weight:700}.sbx-move--up{color:var(--cost-text)}.sbx-move--down{color:var(--green-600)}.sbx-move--flat{color:var(--text-muted)}.sbx-trail{font-family:var(--font-mono);font-size:.68rem;font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap}.sbx-rollup{background:var(--desc-bg);border-top:1px solid var(--desc-border);border-bottom:1px solid var(--desc-border)}.sbx-rollup-inner{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}.sbx-rollup-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--desc-text)}.sbx-rollup-value{font-family:var(--font-mono);font-size:1.05rem;font-weight:700}.sbx-rollup-value--up{color:var(--cost-text)}.sbx-rollup-value--down{color:var(--green-600)}.sbx-rollup-value--flat{color:var(--text-muted)}.sbx-overlap{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;max-width:720px;margin-top:5px}.sbx-overlap-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.sbx-overlap-value{font-family:var(--font-mono);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.sbx-overlap-value--up{color:var(--cost-text)}.sbx-overlap-value--down{color:var(--green-600)}.sbx-overlap-value--flat{color:var(--text-muted)}.sbx-overlap-note{flex:1 1 320px;font-size:.7rem;line-height:1.45;color:var(--text-muted)}.sbx-rollup-detail{font-family:var(--font-mono);font-size:.74rem;color:var(--text-muted)}.cbs-trigger-row{padding:6px 12px 10px;background:var(--bg-primary)}.cbs-trigger{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);font-family:var(--font-body);font-size:.73rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:color .15s ease,border-color .15s ease}.cbs-trigger:hover{color:var(--cost-text);border-color:var(--cost-border)}.cbs-trigger-count{padding:0 6px;border-radius:999px;background:var(--cost-bg);color:var(--cost-text);font-family:var(--font-mono);font-size:.68rem}.cbs-card{max-width:min(1180px,calc(100vw - 48px));display:flex;flex-direction:column;overflow:hidden}.cbs-scope{padding:9px 12px;margin-bottom:12px;border:1px solid var(--cost-border);border-radius:var(--radius-md);background:var(--cost-bg);font-size:.77rem;line-height:1.45;color:var(--text-secondary)}.cbs-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.cbs-search{display:flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-muted)}.cbs-search-input{border:none;outline:none;background:transparent;font-family:var(--font-body);font-size:.8rem;color:var(--text-primary);width:170px}.cbs-filter{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.73rem;color:var(--text-muted);cursor:pointer}.cbs-filter--on{border-color:var(--accent);background:var(--accent-dim);color:var(--accent-text);font-weight:600}.cbs-count{margin-left:auto;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.cbs-error{margin-bottom:10px;padding:8px 11px;border:1px solid var(--status-lost);border-radius:var(--radius-sm);background:#fdf0f0;font-size:.77rem;color:var(--neutral-200)}.cbs-scroll{overflow:auto;max-height:calc(100vh - 300px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-input)}.cbs-grid{display:grid;grid-template-columns:minmax(200px,1.4fr) 120px repeat(var(--cbs-cols),minmax(96px,1fr)) 110px;align-items:stretch}.cbs-head-cell{position:sticky;top:0;z-index:2;padding:8px 10px;background:var(--bg-card);border-bottom:1px solid var(--border);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cbs-head-cell--num{text-align:right}.cbs-head-cell--name,.cbs-cell--name{position:sticky;left:0;z-index:1;background:var(--bg-input)}.cbs-head-cell--name{z-index:3;background:var(--bg-card)}.cbs-head-cell--total,.cbs-cell--total{position:sticky;right:0;z-index:1;background:var(--bg-input);border-left:1px solid var(--border-subtle)}.cbs-head-cell--total{z-index:3;background:var(--bg-card)}.cbs-band{grid-column:1 / -1;padding:7px 10px 5px;background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-text)}.cbs-empty{grid-column:1 / -1;padding:26px 12px;text-align:center;font-size:.82rem;color:var(--text-muted)}.cbs-cell{display:flex;align-items:center;gap:6px;padding:4px 10px;border-bottom:1px solid var(--border-subtle);min-height:34px}.cbs-cell--num{justify-content:flex-end}.cbs-line--off .cbs-cell{opacity:.5}.cbs-name{font-size:.81rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cbs-kind,.cbs-derived{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;padding:1px 6px;border-radius:999px;font-size:.63rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.cbs-kind{background:var(--hours-bg);color:var(--hours-text)}.cbs-derived{background:var(--neutral-800);color:var(--text-muted)}.cbs-power{flex-shrink:0;width:9px;height:9px;padding:0;border:1px solid var(--neutral-600);border-radius:999px;background:transparent;cursor:pointer}.cbs-power--on{background:var(--accent);border-color:var(--accent)}.cbs-input-wrap{display:inline-flex;align-items:center;gap:1px;padding:2px 5px;border:1px solid transparent;border-radius:var(--radius-sm)}.cbs-input-wrap:hover{border-color:var(--border)}.cbs-input-wrap:focus-within{border-color:var(--accent);background:var(--bg-input)}.cbs-affix{font-size:.7rem;color:var(--text-muted)}.cbs-input{width:58px;padding:0;border:none;background:transparent;font-family:var(--font-mono);font-size:.79rem;text-align:right;color:var(--text-primary)}.cbs-input:focus{outline:none}.cbs-input::-webkit-outer-spin-button,.cbs-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cbs-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.cbs-flat,.cbs-total{font-family:var(--font-mono);font-size:.79rem;color:var(--text-secondary)}.cbs-flat--absent{color:var(--neutral-600)}.cbs-total{font-weight:700;color:var(--cost-text)}.mls-trigger-row{padding-top:0}.mls-trigger:hover{color:var(--accent-text);border-color:var(--accent)}.mls-trigger-count{background:var(--accent-dim);color:var(--accent-text)}.mls-card{max-width:min(880px,calc(100vw - 48px));display:flex;flex-direction:column;overflow:hidden}.mls-scope{padding:9px 12px;margin-bottom:12px;border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--accent-dim);font-size:.77rem;line-height:1.45;color:var(--text-secondary)}.mls-error{margin-bottom:10px;padding:8px 11px;border:1px solid var(--status-lost);border-radius:var(--radius-sm);background:#fdf0f0;font-size:.77rem;color:var(--neutral-200)}.mls-loading{padding:34px 12px;text-align:center;font-size:.82rem;color:var(--text-muted)}.mls-headline{display:flex;align-items:flex-end;gap:22px;flex-wrap:wrap;padding:11px 14px;margin-bottom:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-input)}.mls-headline-figure{display:flex;flex-direction:column;gap:2px}.mls-headline-label{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.mls-headline-money,.mls-headline-rate{font-family:var(--font-mono);font-size:1.28rem;font-weight:700;line-height:1.1;color:var(--text-primary)}.mls-headline-rate{color:var(--accent-text)}.mls-headline-weight{display:flex;flex-direction:column;gap:2px;margin-left:auto;text-align:right;font-family:var(--font-mono);font-size:.78rem;color:var(--text-secondary)}.mls-headline-caption{font-family:var(--font-body);font-size:.69rem;color:var(--text-muted)}.mls-controls{display:flex;align-items:center;gap:8px;margin-bottom:10px}.mls-count{margin-left:auto;font-family:var(--font-mono);font-size:.73rem;color:var(--text-muted)}.mls-scroll{overflow:auto;max-height:calc(100vh - 400px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-input)}.mls-grid{display:grid;grid-template-columns:minmax(200px,1.6fr) 128px 244px minmax(96px,.8fr) minmax(96px,.8fr);align-items:stretch}.mls-head-cell{position:sticky;top:0;z-index:2;padding:8px 10px;background:var(--bg-card);border-bottom:1px solid var(--border);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap}.mls-head-cell--num{text-align:right}.mls-empty,.mls-divider{grid-column:1 / -1;padding:24px 12px;text-align:center;font-size:.82rem;color:var(--text-muted)}.mls-divider{padding:12px 12px 8px;border-top:1px solid var(--border);font-size:.7rem;font-style:italic}.mls-cell{display:flex;align-items:center;gap:6px;padding:5px 10px;border-bottom:1px solid var(--border-subtle);min-height:36px}.mls-cell--num{justify-content:flex-end}.mls-cell--rate{flex-direction:column;align-items:flex-start;gap:1px}.mls-cell--band{background:var(--bg-card);border-bottom:1px solid var(--border)}.mls-band--offered .mls-cell--band{background:var(--bg-primary)}.mls-band-name{font-size:.85rem;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mls-band-count{margin-left:auto;font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted);white-space:nowrap}.mls-band-rate{font-family:var(--font-mono);font-size:.95rem;font-weight:700;color:var(--accent-text)}.mls-spread{font-family:var(--font-mono);font-size:.66rem;color:var(--text-muted)}.mls-band-money{font-family:var(--font-mono);font-size:.83rem;font-weight:700;color:var(--text-primary)}.mls-band-money--cost{font-weight:500;color:var(--text-secondary)}.mls-cell--block{padding-left:20px}.mls-line-icon{flex-shrink:0;color:var(--neutral-600)}.mls-line-name{font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mls-line-money{font-family:var(--font-mono);font-size:.79rem;color:var(--text-secondary)}.mls-line--offered .mls-line-name,.mls-line--offered .mls-line-money{color:var(--text-muted)}.mls-chip{display:inline-flex;align-items:center;flex-shrink:0;padding:1px 6px;border-radius:999px;background:var(--neutral-800);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.mls-chip--offer{background:var(--desc-bg);color:var(--desc-text)}.mls-chip--unfiled{background:var(--cost-bg);color:var(--cost-text)}.mls-input-wrap{display:inline-flex;align-items:center;gap:1px;padding:2px 5px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card)}.mls-input-wrap:hover{border-color:var(--border)}.mls-input-wrap:focus-within{border-color:var(--accent);background:var(--bg-input)}.mls-affix{font-size:.7rem;color:var(--text-muted)}.mls-input{width:50px;padding:0;border:none;background:transparent;font-family:var(--font-mono);font-size:.79rem;text-align:right;color:var(--text-primary)}.mls-input:focus{outline:none}.mls-input::-webkit-outer-spin-button,.mls-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mls-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.mls-actual{font-family:var(--font-mono);font-size:.66rem;color:var(--cost-text)}.mls-act{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);font-family:var(--font-body);font-size:.7rem;font-weight:600;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:color .15s ease,border-color .15s ease}.mls-act:hover:not(:disabled){color:var(--accent-text);border-color:var(--accent)}.mls-act:disabled{opacity:.45;cursor:default}.mls-act--reset:hover:not(:disabled){color:var(--cost-text);border-color:var(--cost-border)}.mls-act-note{font-size:.69rem;font-style:italic;color:var(--text-muted)}.mls-notes{margin-top:10px;display:flex;flex-direction:column;gap:4px}.mls-note{font-size:.73rem;line-height:1.45;color:var(--text-muted)}.cvs-link-follows{color:var(--text-secondary);opacity:.72;border-style:dashed}.canvas-block-label-input.cvs-link-follows,.cvs-qual-name.cvs-link-follows,.canvas-member-note-input.cvs-link-follows{border-bottom:1px dashed var(--alt-border)}.cvs-qual-print.cvs-link-follows,.cvs-qual-exc.cvs-link-follows,.grl-toggle.cvs-link-follows{border-style:solid}.cvs-link-own,.cvs-link-own:focus{box-shadow:inset 2px 0 0 var(--alt-accent)}.cvs-blk-card--linkfollows{box-shadow:inset 2px 0 0 var(--alt-border)}.cvs-blk-card--linkown{box-shadow:inset 2px 0 0 var(--alt-accent)}.cvs-blk-chiprow{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0}.canvas-cell--linkfollows{background-image:linear-gradient(90deg,color-mix(in srgb,var(--alt-accent) 9%,transparent),transparent 72%)}.canvas-cell--linkown{box-shadow:inset 3px 0 0 var(--alt-accent)}.cvs-link-cellmark{position:absolute;bottom:2px;left:3px;z-index:1;display:inline-flex;color:var(--alt-accent);opacity:.62;pointer-events:none}.cvs-link-wrap{position:relative;display:inline-flex;flex-shrink:0}.cvs-link-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 5px;border:1px solid var(--alt-border);border-radius:3px;background:var(--alt-bg);font-family:var(--font-body);font-size:.58rem;font-weight:700;letter-spacing:.04em;color:var(--alt-text);cursor:pointer}.cvs-link-chip:hover,.cvs-link-chip--open{border-color:var(--alt-accent);color:var(--alt-accent)}.cvs-link-chip--own{background:var(--bg-input);box-shadow:inset 2px 0 0 var(--alt-accent)}.cvs-link-chip-count{font-family:var(--font-mono);letter-spacing:0}.cvs-link-menu{position:fixed;z-index:60;min-width:220px;max-width:300px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-raised)}.cvs-link-menu-head{padding:4px 6px 6px;font-size:.68rem;line-height:1.4;color:var(--text-secondary)}.cvs-link-menu-title{padding:4px 6px 2px;font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.cvs-link-menu-item{display:flex;align-items:center;gap:6px;width:100%;padding:4px 6px;border:none;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.72rem;color:var(--text-primary);text-align:left;cursor:pointer}.cvs-link-menu-item:hover:not(:disabled){background:var(--alt-bg);color:var(--alt-text)}.cvs-link-menu-item:disabled{opacity:.5;cursor:default}.cvs-link-menu-item--all{margin-top:4px;border-top:1px solid var(--border-subtle);border-radius:0;padding-top:6px;font-weight:600;color:var(--alt-text)}.cvs-link-menu-busy{margin-left:auto;color:var(--text-muted)}.cvs-link-menu-note{padding:5px 6px 2px;font-size:.64rem;line-height:1.4;color:var(--text-muted)}.cvs-link-menu-error{padding:4px 6px;font-size:.64rem;line-height:1.4;color:var(--status-lost)}.cvs-link-orphan{display:inline-flex;align-items:center;gap:3px;padding:1px 5px;border:1px solid var(--cost-border);border-radius:3px;background:var(--cost-bg);font-size:.56rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--cost-text);cursor:help;flex-shrink:0}.cvs-blk-card--replaced .canvas-block-stack>*:not(.cvs-blk-chiprow){opacity:.4}.cvs-blk-card--replaced .canvas-block-delete,.cvs-blk-card--replaced .canvas-block-menu,.cvs-blk-card--replaced .cvs-blk-margin-chip,.canvas-cell--replaced{opacity:.4}.cvs-replaced{display:inline-flex;align-items:center;gap:3px;padding:1px 5px;border:1px solid var(--cost-border);border-radius:3px;background:var(--cost-bg);font-size:.56rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--cost-text);cursor:help;min-width:0}.cvs-replaced span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvs-replaced--charging{border-color:var(--status-lost);background:color-mix(in srgb,var(--status-lost) 12%,transparent);color:var(--status-lost)}.cvs-replaces-glyph{color:var(--text-muted);flex-shrink:0}.cvs-replaces-btn{display:inline-flex;align-items:center;gap:3px;min-width:0;max-width:140px;padding:1px 4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.65rem;color:var(--text-muted);cursor:pointer}.cvs-replaces-btn-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvs-replaces-btn:hover,.cvs-replaces-btn--open{border-color:var(--alt-accent);color:var(--alt-text)}.cvs-replaces-btn--set{color:var(--alt-text);border-color:var(--alt-border);background:var(--alt-bg);font-weight:600}.cvs-replaces-menu{position:fixed;z-index:400;min-width:250px;max-width:372px;max-height:62vh;overflow-y:auto;padding:6px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-raised)}.cvs-replaces-menu-head{padding:4px 6px 6px;font-size:.68rem;line-height:1.4;color:var(--text-secondary)}.cvs-replaces-menu-item{display:flex;align-items:center;gap:6px;width:100%;padding:4px 6px;border:none;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.72rem;color:var(--text-primary);text-align:left;cursor:pointer}.cvs-replaces-menu-item:hover:not(:disabled){background:var(--alt-bg);color:var(--alt-text)}.cvs-replaces-menu-item:disabled{opacity:.5;cursor:default}.cvs-replaces-menu-item--current{color:var(--alt-text);font-weight:600}.cvs-replaces-menu-tick{display:inline-flex;justify-content:center;width:11px;flex-shrink:0;color:var(--alt-accent)}.cvs-replaces-menu-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvs-replaces-menu-domain{flex-shrink:0;font-size:.58rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.cvs-replaces-menu-error{padding:4px 6px;font-size:.64rem;line-height:1.4;color:var(--status-lost)}.cvs-qual-label--linkfollows{box-shadow:inset 3px 0 0 var(--alt-border)}.cvs-qual-label--linkown{box-shadow:inset 3px 0 0 var(--alt-accent)}.cvs-qual-label--shared{box-shadow:inset 3px 0 0 var(--desc-border)}.cvs-shared-jump{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0;padding:0;border:none;background:transparent;text-align:left;cursor:pointer}.cvs-shared-name{font-family:var(--font-body);font-size:.74rem;font-weight:600;color:var(--text-secondary)}.cvs-shared-note{font-size:.58rem;line-height:1.25;color:var(--text-muted)}.cvs-shared-jump:hover .cvs-shared-name,.cvs-shared-jump:hover .cvs-shared-note{color:var(--desc-text)}.cvs-shared-cell{background:color-mix(in srgb,var(--desc-accent) 5%,transparent)}.cvs-shared-value{font-family:var(--font-body);font-size:.74rem;color:var(--text-secondary);padding:0 2px}.cvs-qual-refusal{background:var(--cost-bg);border-bottom:1px solid var(--cost-border)}.cvs-qual-refusal .cvs-preset-note-inner{color:var(--cost-text);max-width:880px}.cvs-bandlink{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.cvs-bandlink-state{display:inline-flex;align-items:center;gap:4px;font-size:.62rem;color:var(--alt-text);cursor:help}.cvs-bandlink-cap{font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75}.cvs-bandlink-count{font-family:var(--font-mono);padding-left:5px;margin-left:1px;border-left:1px solid var(--alt-border);color:var(--text-muted)}.cvs-bandlink--forked .cvs-bandlink-count{color:var(--alt-accent);font-weight:700}.cvs-bandlink-btn{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border:1px solid var(--alt-border);border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.62rem;font-weight:600;color:var(--alt-text);cursor:pointer}.cvs-bandlink-btn:hover:not(:disabled){background:var(--alt-bg);border-color:var(--alt-accent)}.cvs-bandlink-btn:disabled{opacity:.55;cursor:default}.cvs-band-relink{background:var(--alt-bg);border-bottom:1px solid var(--alt-border)}.cvs-band-relink .cvs-preset-note-inner{align-items:center;flex-wrap:wrap;color:var(--alt-text);max-width:880px}.cvs-band-relink-go{border:1px solid var(--alt-accent);border-radius:var(--radius-sm);padding:3px 9px;background:var(--alt-accent);font-family:var(--font-body);font-size:.7rem;font-weight:600;color:#fff;cursor:pointer}.cvs-band-relink-go:disabled{opacity:.55;cursor:default}.mb-component--linkfollows{box-shadow:inset 2px 0 0 var(--alt-border)}.mb-component--linkown{box-shadow:inset 2px 0 0 var(--alt-accent)}.mb-filing-select:disabled{opacity:.55;cursor:default}.mb-refusal{display:flex;align-items:flex-start;gap:4px;margin:4px 0;padding:4px 5px;border:1px solid color-mix(in srgb,#c45a5a 45%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,#c45a5a 8%,transparent);color:var(--text-primary);font-size:.66rem;line-height:1.35}.mb-refusal-dismiss{flex:none;margin-left:auto;padding:0;border:none;background:none;color:var(--text-secondary);cursor:pointer;line-height:0}.mb-refusal-dismiss:hover{color:var(--text-primary)}.qbp-target-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:1px solid var(--accent);border-radius:999px;background:transparent;font-family:var(--font-mono);font-size:.66rem;color:var(--accent-text);cursor:pointer}.qbp-target-chip:hover{background:var(--accent-dim)}.qbp-body{padding:0 12px 10px;background:var(--bg-primary)}.qbp-assembly-title{display:flex;flex-direction:column;gap:3px;width:100%;color:var(--text-primary);font-size:.72rem}.qbp-assembly-title span{color:var(--text-muted);font-size:.66rem}.qbp-advanced-open{display:flex;align-items:center;gap:7px;width:max-content;max-width:100%;margin-top:3px;padding:5px 7px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-dim);font-family:var(--font-body);color:var(--accent-text);text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.qbp-advanced-open:hover{border-color:var(--accent-text);background:color-mix(in srgb,var(--accent) 16%,var(--bg-card));transform:translateY(-1px)}.qbp-advanced-open svg{flex:0 0 auto}.qbp-advanced-open span{display:inline-flex;line-height:1.25;color:var(--text-muted)}.qbp-advanced-open b{font-size:.68rem;color:var(--accent-text)}.qbp-assembly-label{align-self:start;align-items:flex-start;flex-direction:column;gap:5px;padding:7px 10px}.qbp-assembly-card{align-self:start;display:block;min-height:0;padding:0;border:1px solid var(--border-subtle);border-radius:0;background:var(--bg-surface);overflow:hidden}.qbp-assembly-spacer{align-self:stretch}.qbp-assembly-head,.qbp-component,.qbp-target-entry,.qbp-target-result,.qbp-target-line,.qbp-target-actions{display:flex;align-items:center;gap:9px}.qbp-assembly-head{justify-content:space-between;padding:7px 9px;border-bottom:1px solid var(--border-subtle);font-size:.7rem}.qbp-assembly-head>div{display:flex;flex-direction:column;gap:1px}.qbp-assembly-head span{color:var(--text-muted);font-size:.63rem}.qbp-assembly-price{font-family:var(--font-mono);color:var(--text-primary)!important}.qbp-components{display:grid}.qbp-client-components-label{display:flex;align-items:center;gap:5px;padding:5px 8px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-muted);font-size:.58rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase}.qbp-weight-editor{overflow:hidden;background:var(--bg-surface)}.qbp-weight-editor>summary{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;list-style:none}.qbp-weight-editor>summary::-webkit-details-marker{display:none}.qbp-weight-editor>summary>span{flex:0 0 auto;font-size:.63rem;font-weight:700;color:var(--text-secondary)}.qbp-weight-editor>summary>strong{min-width:0;overflow:hidden;margin-left:auto;font:.59rem var(--font-mono);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.qbp-weight-editor>summary:after{content:"+";font:600 .78rem var(--font-mono);color:var(--accent-text)}.qbp-weight-editor[open]>summary:after{content:"−"}.qbp-weight-editor>summary:hover{background:var(--bg-elevated)}.qbp-weight-editor>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.qbp-weight-editor-body{border-top:1px solid var(--border-subtle)}.qbp-weight-guide{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.qbp-weight-guide>div{display:flex;flex-direction:column;gap:2px;min-width:0}.qbp-weight-guide strong{font-size:.7rem;color:var(--text-primary)}.qbp-weight-guide span{font-size:.64rem;line-height:1.35;color:var(--text-muted)}.qbp-weight-guide button{flex:0 0 auto;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);font-family:var(--font-body);font-size:.65rem;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.qbp-weight-guide button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-dim);color:var(--accent-text)}.qbp-weight-guide button:disabled{opacity:.45;cursor:default}.qbp-component{min-height:31px;padding:5px 8px;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.qbp-component--out{opacity:.58}.qbp-component label{display:flex;align-items:center;gap:7px;flex:1 1 120px;min-width:0;font-size:.68rem}.qbp-component-price{margin-left:auto;text-align:right;font:.65rem var(--font-mono);color:var(--text-secondary)}.qbp-weight-control{display:flex;align-items:center}.qbp-weight-control--slider{flex:1 0 100%;display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:10px;padding-top:4px}.qbp-weight-input{display:flex;align-items:center;width:70px;color:var(--text-muted);font-size:.65rem}.qbp-weight-input input{width:52px;padding:3px 4px;border:1px solid var(--border);border-radius:3px;background:var(--bg-primary);color:var(--text-primary);text-align:right;font:.66rem var(--font-mono)}.qbp-weight-slider{width:100%;min-width:0;accent-color:var(--accent);cursor:ew-resize}.qbp-weight-slider:disabled{cursor:default;opacity:.5}.qbp-target-allocator{padding:7px 9px;background:var(--bg-primary)}.qbp-target-tools{background:var(--bg-primary)}.qbp-target-tools>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:2px 6px;padding:7px 9px;border-top:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;list-style:none}.qbp-target-tools>summary::-webkit-details-marker{display:none}.qbp-target-tools>summary svg{grid-row:1 / 3;color:var(--accent-text)}.qbp-target-tools>summary span{font-size:.64rem;font-weight:700}.qbp-target-tools>summary small{color:var(--text-muted);font-size:.57rem}.qbp-target-tools>summary:after{content:"+";grid-column:3;grid-row:1 / 3;color:var(--accent-text);font:700 .75rem var(--font-mono)}.qbp-target-tools[open]>summary:after{content:"−"}.qbp-target-tools>summary:hover{background:var(--bg-elevated)}.qbp-target-tools>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.qbp-target-tools[open]>.qbp-target-allocator{border-top:1px solid var(--border-subtle)}.qbp-target-entry>span:first-child{color:var(--text-muted)}.qbp-target-entry{flex-wrap:wrap}.qbp-target-entry input{width:82px;padding:4px 6px;border:1px solid var(--border);border-radius:3px;background:var(--bg-card);color:var(--text-primary);font:.7rem var(--font-mono)}.qbp-target-entry button,.qbp-target-actions button,.qbp-target-library-bar button,.qbp-target-version button,.qbp-target-version-form-actions button{padding:4px 8px;border:1px solid var(--accent);border-radius:3px;background:transparent;color:var(--accent-text);font:.66rem var(--font-body);cursor:pointer}.qbp-target-entry button{display:inline-flex;align-items:center;gap:4px}.qbp-target-entry button:disabled,.qbp-target-actions button:disabled,.qbp-target-library-bar button:disabled,.qbp-target-version button:disabled,.qbp-target-version-form-actions button:disabled{opacity:.45;cursor:default}.qbp-weight-total{width:100%;text-align:right;color:var(--text-muted);font:.64rem var(--font-mono)}.qbp-weight-total--ready{color:var(--accent-text)}.qbp-target-library-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px;padding-top:7px;border-top:1px solid var(--border-subtle)}.qbp-target-library-bar button{min-height:28px;display:inline-flex;align-items:center;gap:5px;border-color:var(--border);color:var(--text-secondary)}.qbp-target-library-bar button:hover:not(:disabled),.qbp-target-version button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-dim);color:var(--accent-text)}.qbp-target-library{margin-top:7px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card)}.qbp-target-library-head{display:flex;flex-direction:column;gap:2px;padding-bottom:7px;border-bottom:1px solid var(--border-subtle)}.qbp-target-library-head strong{font-size:.7rem;color:var(--text-primary)}.qbp-target-library-head span,.qbp-target-version-empty{font-size:.63rem;line-height:1.4;color:var(--text-muted)}.qbp-target-version-empty{padding:9px 0 2px}.qbp-target-version-list{display:grid;gap:7px;padding-top:7px}.qbp-target-version{padding:7px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface)}.qbp-target-version-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:6px}.qbp-target-version-title span{font:600 .62rem var(--font-mono);color:var(--accent-text)}.qbp-target-version-title strong{overflow:hidden;font-size:.68rem;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.qbp-target-version-title b{font:600 .68rem var(--font-mono);color:var(--text-primary)}.qbp-target-version p{margin:4px 0 6px;font-size:.63rem;line-height:1.4;color:var(--text-secondary)}.qbp-target-version-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.qbp-target-version-meta>span{min-width:0;font-size:.59rem;color:var(--text-muted)}.qbp-target-version-form{display:grid;gap:8px;margin:5px 0;padding:9px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-dim)}.qbp-target-version-form-head{display:flex;align-items:center;gap:6px;color:var(--accent-text)}.qbp-target-version-form label{display:grid;gap:4px}.qbp-target-version-form label>span{font-size:.61rem;font-weight:600;color:var(--text-secondary)}.qbp-target-version-form input,.qbp-target-version-form textarea{width:100%;min-width:0;padding:6px 7px;border:1px solid var(--border);border-radius:3px;background:var(--bg-input);color:var(--text-primary);font:.68rem/1.4 var(--font-body);resize:vertical}.qbp-target-version-form-actions{display:flex;justify-content:flex-end;gap:7px}.qbp-target-version-form-actions button:last-child{border-color:var(--border);color:var(--text-muted)}.qbp-target-proposal{display:grid;gap:4px;margin-top:7px;padding-top:7px;border-top:1px solid var(--border-subtle);font-size:.66rem}.qbp-target-result{color:var(--text-muted);flex-wrap:wrap}.qbp-target-result strong{color:var(--text-primary)}.qbp-target-line{flex-wrap:wrap}.qbp-target-line span:first-child{flex:1 1 120px;color:var(--text-secondary)}.qbp-target-line span:nth-child(2){font-family:var(--font-mono);color:var(--text-muted)}.qbp-target-line strong{width:72px;text-align:right;font-family:var(--font-mono)}.qbp-target-warning{display:flex;gap:5px;color:var(--cost-accent)}.qbp-assembly-card--advanced .qbp-target-proposal{gap:8px;margin-top:9px;padding-top:9px}.qbp-decision-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.qbp-decision-head>div{display:grid;gap:2px}.qbp-decision-head>div>span,.qbp-decision-grid span,.qbp-recommendation-strip span{font-size:.59rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase;color:var(--text-muted)}.qbp-decision-head>div>strong{display:flex;align-items:baseline;gap:7px;font:700 .88rem var(--font-mono);color:var(--text-primary)}.qbp-decision-head>div>strong b{color:var(--accent-text);font-weight:600}.qbp-decision-head>em{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:999px;font-size:.61rem;font-style:normal;font-weight:700;white-space:nowrap}.qbp-decision-ready{background:color-mix(in srgb,var(--accent) 12%,var(--bg-card));color:var(--accent-text)}.qbp-decision-near{background:color-mix(in srgb,var(--cost-accent) 12%,var(--bg-card));color:var(--cost-accent)}.qbp-decision-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.qbp-decision-allocation,.qbp-decision-review{min-width:0;padding:8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card)}.qbp-decision-allocation>div{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.qbp-decision-allocation b{padding:3px 6px;border-radius:999px;background:var(--accent-dim);font:600 .62rem var(--font-mono);color:var(--accent-text)}.qbp-decision-review{display:grid;align-content:center;gap:2px;min-width:104px}.qbp-decision-review strong{font:700 .72rem var(--font-mono);color:var(--accent-text)}.qbp-decision-review--warn strong{color:var(--cost-accent)}.qbp-decision-review small{font-size:.57rem;color:var(--text-muted)}.qbp-recommendation-strip{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:7px 8px;border-left:3px solid var(--accent);border-radius:2px var(--radius-sm) var(--radius-sm) 2px;background:color-mix(in srgb,var(--accent) 7%,var(--bg-card));color:var(--accent-text)}.qbp-recommendation-strip>div{display:grid;gap:2px;min-width:0}.qbp-recommendation-strip strong{overflow:hidden;font:600 .64rem var(--font-mono);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.qbp-recommendation-strip button{flex:0 0 auto;padding:5px 7px;border:1px solid var(--accent);border-radius:3px;background:var(--bg-card);color:var(--accent-text);font:.62rem var(--font-body);cursor:pointer}.qbp-target-details{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface)}.qbp-target-details>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;color:var(--text-secondary);cursor:pointer;list-style:none}.qbp-target-details>summary::-webkit-details-marker{display:none}.qbp-target-details>summary:after{content:"+";font:600 .78rem var(--font-mono);color:var(--accent-text)}.qbp-target-details[open]>summary:after{content:"−"}.qbp-target-details>summary span{font-size:.65rem;font-weight:650}.qbp-target-details>summary small{margin-left:auto;font-size:.57rem;color:var(--text-muted)}.qbp-target-details>summary:hover{background:var(--bg-elevated)}.qbp-target-details>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.qbp-target-details-body{display:grid;gap:8px;padding:8px;border-top:1px solid var(--border-subtle)}.qbp-target-details-section,.qbp-shared-notes{display:grid;gap:4px}.qbp-target-details-section>strong,.qbp-shared-notes>strong{font-size:.62rem;color:var(--text-secondary)}.qbp-shared-notes{padding:7px;border-radius:var(--radius-sm);background:var(--bg-elevated)}.qbp-shared-notes .qbp-target-warning{align-items:flex-start;font-size:.59rem;line-height:1.35}.qbp-price-review,.acb-price-review{overflow:hidden;border:1px solid color-mix(in srgb,var(--cost-accent) 34%,var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--cost-accent) 6%,var(--bg-card))}.acb-price-review{margin-top:10px}.acb-price-review>summary{cursor:pointer;list-style:none}.acb-price-review>summary::-webkit-details-marker{display:none}.acb-price-review>summary>b{margin-left:auto;font-size:.58rem;color:var(--cost-accent)}.acb-price-review>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.qbp-price-review-head,.acb-price-review-head{display:flex;align-items:flex-start;gap:7px;padding:8px 9px;color:var(--cost-accent)}.qbp-price-review-head>div,.acb-price-review-head>div{display:grid;gap:2px}.qbp-price-review-head strong,.acb-price-review-head strong{font-size:.68rem;color:var(--text-primary)}.qbp-price-review-head span,.acb-price-review-head span{font-size:.61rem;color:var(--text-muted)}.qbp-price-review-list,.acb-price-review-list{border-top:1px solid var(--border-subtle)}.qbp-price-review-row,.acb-price-review-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;border-bottom:1px solid var(--border-subtle)}.qbp-price-review-row>div:first-child,.qbp-price-review-values,.acb-price-review-row>div:first-child,.acb-price-review-values{display:grid;gap:2px;min-width:0}.qbp-price-review-row strong,.acb-price-review-row strong{font-size:.65rem;color:var(--text-primary)}.qbp-price-review-row span,.qbp-price-review-row small,.acb-price-review-row span{font-size:.58rem;color:var(--text-muted)}.qbp-price-review-values,.acb-price-review-values{grid-column:1 / -1;display:flex;grid-auto-flow:column;align-items:baseline;justify-content:space-between;padding-top:5px;border-top:1px dashed var(--border-subtle);text-align:right}.qbp-price-review-values strong,.acb-price-review-values strong{font-family:var(--font-mono)}.qbp-price-review-badge,.acb-price-review-badge{grid-column:2;grid-row:1;align-self:start;justify-self:end;padding:3px 5px;border-radius:999px;font:700 .56rem var(--font-mono);white-space:nowrap}.qbp-price-review-badge--high,.acb-price-review-badge--high{background:#f5dfd7;color:#9b3f21}.qbp-price-review-badge--low,.acb-price-review-badge--low{background:#e5e6f4;color:#514d91}.qbp-price-review-row small{grid-column:1 / -1;text-align:left}.qbp-price-review>p,.acb-price-review>p{margin:0;padding:6px 9px;background:color-mix(in srgb,var(--bg-input) 65%,transparent);font-size:.58rem;color:var(--text-muted)}.qbp-target-actions{justify-content:flex-end;margin-top:3px}.qbp-target-actions button:last-child{border-color:var(--border);color:var(--text-muted)}.qbp-assembly-card--advanced .qbp-target-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;margin-top:1px}.qbp-assembly-card--advanced .qbp-target-actions button{min-height:31px}.qbp-assembly-card--advanced .qbp-target-actions button:first-child{background:var(--accent);color:var(--bg-card);font-weight:700}.qbp-assembly-card:not(.qbp-assembly-card--advanced) .qbp-target-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:3px 8px;padding:6px 0;border-bottom:1px solid var(--border-subtle)}.qbp-assembly-card:not(.qbp-assembly-card--advanced) .qbp-target-line span:first-child{grid-column:1 / -1}.qbp-assembly-card:not(.qbp-assembly-card--advanced) .qbp-target-line span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qbp-assembly-card:not(.qbp-assembly-card--advanced) .qbp-target-line strong{width:auto}.qbp-assembly-card:not(.qbp-assembly-card--advanced) .qbp-target-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px}.qbp-assembly-card:not(.qbp-assembly-card--advanced) .qbp-target-actions button:first-child{grid-column:1 / -1;min-width:0;white-space:normal}.qbp-undo{margin-top:7px;padding:6px 7px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 6%,var(--bg-card))}.qbp-undo>span{display:inline-flex;align-items:center;gap:4px;color:var(--accent-text)}.sp-validity-date{color:var(--text-muted);font-size:.66rem}.qbp-empty,.qbp-elsewhere{padding:6px 2px;font-family:var(--font-sans);font-size:.68rem;line-height:1.4;color:var(--text-muted)}.qbp-issue-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 0 6px;border-bottom:1px solid var(--workspace-line-soft, var(--border-subtle))}.qbp-issue-copy{display:flex;align-items:baseline;gap:8px;min-width:0}.qbp-issue-copy strong{color:var(--text-primary);font-size:.72rem;white-space:nowrap}.qbp-issue-copy span{min-width:0;overflow:hidden;color:var(--text-muted);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.qbp-open-preview{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:var(--bg-card);font:700 .65rem var(--font-body);cursor:pointer}.qbp-open-preview:hover{filter:brightness(.94)}.qbp-open-preview:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.qbp-version-guidance,.qbp-restore-boundary{display:flex;align-items:flex-start;gap:7px;margin:8px 0;padding:7px 8px;border-left:3px solid var(--accent);background:var(--accent-dim);color:var(--text-secondary);font-size:.66rem;line-height:1.4}.qbp-version-details .qbp-version-guidance{margin:0 8px 6px}.qbp-version-guidance svg,.qbp-restore-boundary svg{flex:0 0 auto;margin-top:1px;color:var(--accent-text)}.qbp-restore-boundary{margin-bottom:0;border-left-color:var(--border);background:var(--bg-surface)}@media (max-width: 920px){.qbp-issue-copy{align-items:flex-start;flex-direction:column;gap:1px}.qbp-open-preview{justify-self:end}}.qbp-list{display:flex;flex-direction:column;gap:3px;margin:0;padding:0;list-style:none}.qbp-version{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.qbp-switch{display:grid;grid-template-columns:14px 34px minmax(90px,1fr) 92px 78px 52px auto;align-items:center;gap:8px;flex:1 1 380px;padding:4px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);font-family:var(--font-body);font-size:.7rem;color:var(--text-secondary);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.qbp-switch:hover:not(:disabled){border-color:var(--accent);background:var(--bg-elevated)}.qbp-switch:disabled{cursor:default;opacity:.6}.qbp-switch-icon{color:var(--text-muted)}.qbp-switch:hover:not(:disabled) .qbp-switch-icon{color:var(--accent-text)}.qbp-version-no{font-family:var(--font-mono);font-weight:600;color:var(--text-primary)}.qbp-version-number{font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qbp-version-total{font-family:var(--font-mono);color:var(--text-primary);text-align:right}.qbp-version-delta{font-family:var(--font-mono);font-size:.66rem;text-align:right}.qbp-version-delta--up{color:var(--cost-accent)}.qbp-version-delta--down{color:var(--accent)}.qbp-version-delta--flat,.qbp-version-delta--none{color:var(--text-muted)}.qbp-version-when{font-size:.65rem;color:var(--text-muted);text-align:right}.qbp-version-busy{font-size:.65rem;color:var(--accent-text)}.qbp-diff,.qbp-target{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.66rem;color:var(--text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease}.qbp-diff:hover:not(:disabled),.qbp-target:hover:not(:disabled){color:var(--accent-text);border-color:var(--accent)}.qbp-diff:disabled,.qbp-target:disabled{cursor:default;opacity:.5}.qbp-diff-peek{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);color:var(--text-secondary)}.qbp-diff-count{color:var(--text-muted)}.qbp-version-note{flex:1 0 100%;padding:0 8px 2px 30px;font-family:var(--font-sans);font-size:.65rem;font-style:italic;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qbp-outcome{margin-top:8px;padding:7px 9px;border:1px solid var(--border-subtle);border-left:2px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-surface);font-family:var(--font-sans);font-size:.68rem;line-height:1.45;color:var(--text-secondary)}.qbp-outcome-head{display:flex;align-items:baseline;gap:8px;font-weight:600;color:var(--text-primary)}.qbp-outcome-count{font-weight:400;font-size:.66rem;color:var(--text-muted)}.qbp-outcome-line{margin-top:4px}.qbp-outcome-match{color:var(--accent-text)}.qbp-outcome-back{color:var(--text-muted)}.qbp-pullback{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;padding-top:6px;border-top:1px solid var(--border-subtle)}.qbp-pullback-what{flex:1 1 220px}.qbp-pullback-go{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.67rem;font-weight:600;color:var(--accent-text);cursor:pointer}.qbp-pullback-go:hover:not(:disabled){background:var(--accent-dim)}.qbp-pullback-go:disabled{cursor:default;opacity:.5}.qbp-refusal{display:flex;align-items:flex-start;gap:5px;margin-top:8px;padding:5px 7px;border:1px solid color-mix(in srgb,#c45a5a 45%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,#c45a5a 8%,transparent);font-family:var(--font-sans);font-size:.67rem;line-height:1.4;color:var(--text-primary)}.acb-scrim{z-index:320;padding:16px;background:#181a17a3}.acb-card{width:100%;max-width:1540px;height:calc(100vh - 32px);max-height:calc(100vh - 32px);padding:16px 18px 18px;display:flex;flex-direction:column;overflow:hidden}.acb-head{flex:0 0 auto;align-items:flex-start;margin-bottom:10px}.acb-content{flex:1;min-height:0;overflow:auto}.vcm-scrim{z-index:330}.summary-group{border-left:3px solid var(--border);margin:6px 0;padding-left:6px}.summary-group--green{border-color:#4f7664}.summary-group--blue{border-color:#527b9a}.summary-group--amber{border-color:#aa782d}.summary-group-toggle,.summary-groups-edit,.summary-source-link{border:0;background:transparent;color:var(--text-primary);cursor:pointer;text-align:left}.summary-group-toggle{font-size:12px;font-weight:600;padding:4px 0;width:100%}.summary-groups-edit{font-size:11px;text-decoration:underline;padding:4px 0}.summary-group-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;font-size:11px;padding:3px}.summary-group-line strong{font-variant-numeric:tabular-nums}.summary-group-line--highlight{background:#fff0bc;color:#332b15}.summary-source-link{grid-column:1 / -1;font-size:10px;text-decoration:underline;color:var(--text-secondary);padding:0}.summary-groups-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;border:1px solid var(--border);border-radius:12px;padding:20px;color:var(--text-primary);background:var(--bg-surface)}.summary-groups-dialog::backdrop{background:#0006}.summary-groups-dialog h2{margin:0;font-size:20px}.summary-groups-dialog header p{color:var(--text-secondary);margin:8px 0 16px}.summary-groups-editor{max-height:60dvh;overflow:auto}.summary-groups-editor>section{border-top:1px solid var(--border);padding:12px 0}.summary-groups-editor .bm-row{display:grid;grid-template-columns:auto auto 1fr;gap:8px}.summary-groups-editor .bm-row>.bm-field{grid-column:1 / -1}.summary-groups-editor fieldset{margin:12px 0;max-height:260px;overflow:auto}.summary-choice{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:4px 0;font-size:12px}.summary-choice label{display:flex;align-items:center;gap:6px}.summary-groups-dialog footer{display:flex;justify-content:flex-end;gap:8px;padding-top:16px}.cvs-jump{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:12px;color:var(--text-secondary)}.cvs-jump select{max-width:min(280px,70vw);min-height:32px}.bm-description-input select[aria-invalid=true]{border:2px solid #b42318}.acb-content .acb-workspace{min-height:420px}.acb-issued-history{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.acb-issued-history>summary{cursor:pointer;font-weight:600;padding:6px 0}.acb-content .cv-toolbar{border-bottom:1px solid var(--border);margin-bottom:12px}.acb-title{display:inline-flex;align-items:center;gap:8px}.acb-title svg{color:var(--accent)}.acb-head p{margin:3px 0 0;font-size:.78rem;line-height:1.4;color:var(--text-muted)}.acb-summary{flex:0 0 auto;display:grid;grid-template-columns:minmax(150px,1.2fr) repeat(3,minmax(105px,.7fr));gap:1px;margin-bottom:10px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--border)}.acb-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:7px 10px;background:var(--bg-elevated)}.acb-summary span{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.acb-summary strong{font:.78rem var(--font-mono);color:var(--text-primary)}.acb-workspace{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:12px}.acb-visual,.acb-editor{min-height:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface)}.acb-visual{min-width:0;display:flex;flex-direction:column;overflow:hidden}.acb-section-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.acb-section-head>div{display:flex;flex-direction:column;gap:2px}.acb-section-head strong{font-size:.82rem;color:var(--text-primary)}.acb-section-head span{font-size:.72rem;color:var(--text-muted)}.acb-read-note{max-width:290px;text-align:right;line-height:1.35}.acb-view-tools{display:flex;align-items:flex-end;flex-direction:column;gap:5px}.acb-view-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.acb-zoom-shortcut{padding:4px 7px;border:1px solid var(--border-subtle);border-bottom-color:var(--border);border-radius:4px;background:var(--bg-card);box-shadow:0 1px color-mix(in srgb,var(--text-primary) 8%,transparent);color:var(--text-muted);font:600 .61rem var(--font-mono);white-space:nowrap}.acb-view-toggle{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input)}.acb-view-toggle button{padding:4px 8px;border:0;border-radius:3px;background:transparent;font-family:var(--font-body);font-size:.69rem;color:var(--text-muted);cursor:pointer}.acb-view-toggle button:hover{color:var(--text-primary)}.acb-view-toggle button.acb-view-toggle--active{background:var(--accent-dim);color:var(--accent-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.acb-focus-toggle{min-height:30px;display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);font:600 .69rem var(--font-body);cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}.acb-focus-toggle:hover{border-color:var(--text-muted);color:var(--text-primary)}.acb-focus-toggle--active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent-text)}.acb-graph-scroll{flex:1 1 auto;min-height:0;display:flex;overflow:auto;padding:10px 12px 0;background:radial-gradient(circle at 80% 10%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 32%),var(--bg-input);transition:background-color .18s ease}.acb-graph-scroll--focused{background:radial-gradient(circle at 80% 10%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 36%),var(--bg-input)}.acb-graph-stage{margin:auto}.acb-graph{display:block;overflow:visible}.acb-grid-line{stroke:var(--border-subtle);stroke-width:1;stroke-dasharray:3 5}.acb-axis-label{fill:var(--text-muted);font-family:var(--font-mono);font-size:11px;text-anchor:end}.acb-selected-column{fill:color-mix(in srgb,var(--accent) 9%,transparent);stroke:color-mix(in srgb,var(--accent) 28%,transparent);stroke-width:1}.acb-series-line{stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:acb-line-reveal .46s cubic-bezier(.2,0,0,1) forwards}.acb-series{opacity:1;transition:opacity .14s ease}.acb-series--muted{opacity:.16}.acb-graph--focused .acb-series--muted{opacity:0}.acb-series--selected .acb-series-line{stroke-width:3.4}.acb-series--selected .acb-series-point{stroke-width:2.5}.acb-series--comparison{opacity:.34}.acb-series--comparison .acb-series-line{stroke-width:2.2}.acb-series--comparison .acb-series-point{stroke-width:2}.acb-series-preview-line{stroke-width:3.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:acb-preview-line-enter .36s cubic-bezier(.2,0,0,1) both}.acb-series-preview-point{stroke-width:2.25;vector-effect:non-scaling-stroke;animation:acb-preview-point-enter .24s cubic-bezier(.2,0,0,1) both}.acb-series-delta line{stroke:color-mix(in srgb,var(--accent) 64%,var(--text-muted));stroke-width:1.25;stroke-dasharray:2 3;vector-effect:non-scaling-stroke}.acb-series-delta text{fill:var(--text-secondary);font:600 10px var(--font-mono);text-anchor:middle;paint-order:stroke;stroke:var(--bg-input);stroke-width:4px;stroke-linejoin:round}.acb-series-point{stroke:var(--bg-input);stroke-width:2;vector-effect:non-scaling-stroke}.acb-table-selectors,.acb-component-axis{display:grid;align-items:stretch;gap:0;padding:0 24px 10px 48px}.acb-component-axis-item{min-width:0;padding:8px 6px;border-top:1px solid var(--border-subtle);font-size:.72rem;font-weight:600;line-height:1.25;color:var(--text-secondary);text-align:center;overflow-wrap:anywhere}.acb-table-selector{min-width:0;margin-inline:3px;padding:7px 8px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);text-align:left;cursor:pointer}.acb-table-selector:hover{background:var(--bg-elevated)}.acb-table-selector--active{border-color:var(--accent);background:var(--accent-dim)}.acb-table-selector span,.acb-table-selector strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acb-table-selector span{font-size:.71rem;color:var(--text-secondary)}.acb-table-selector strong{margin-top:2px;font:.75rem var(--font-mono);color:var(--text-primary)}.acb-legend{flex:0 0 auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:9px 12px;border-top:1px solid var(--border);background:var(--bg-elevated)}.acb-legend-item{display:grid;grid-template-columns:7px minmax(54px,auto) auto;align-items:center;gap:5px;padding:3px 7px;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-card);font-size:.68rem;color:var(--text-secondary)}button.acb-legend-item{font-family:var(--font-body);cursor:pointer}button.acb-legend-item:hover{border-color:var(--text-muted)}.acb-legend-item--active{border-color:var(--accent);background:var(--accent-dim)}.acb-legend-item i{width:7px;height:7px;border-radius:50%}.acb-legend-item strong{font-family:var(--font-mono);color:var(--text-primary)}.acb-preview-key{display:inline-flex;align-items:center;gap:10px;padding:4px 8px;border:1px solid var(--accent);border-radius:999px;background:var(--accent-dim);font-size:.67rem;color:var(--text-secondary)}.acb-preview-key span{display:inline-flex;align-items:center;gap:5px}.acb-preview-key i{width:18px;height:0;border-top:2px solid var(--accent)}.acb-preview-key i.acb-preview-key-current{opacity:.35}.acb-preview-key i.acb-preview-key-proposed{border-top-width:4px}.acb-editor{overflow-y:auto;background:var(--bg-input)}.acb-editor-head{position:sticky;top:0;z-index:2;display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.acb-editor-head>span{font-size:.63rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.acb-editor-head strong{font-size:.86rem;color:var(--text-primary)}.acb-editor-head p{margin:2px 0 0;font-size:.69rem;line-height:1.4;color:var(--text-muted)}.acb-composition{padding:12px;border-bottom:1px solid var(--border);background:var(--bg-surface)}.acb-composition--compact{padding:0}.acb-current-mix{overflow:hidden}.acb-current-mix>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 12px;cursor:pointer;list-style:none}.acb-current-mix>summary::-webkit-details-marker{display:none}.acb-current-mix>summary>div{display:grid;gap:1px}.acb-current-mix>summary span{font-size:.56rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.acb-current-mix>summary strong{font:700 .7rem var(--font-mono);color:var(--text-primary)}.acb-current-mix>summary p{overflow:hidden;margin:0;font-size:.59rem;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.acb-current-mix>summary>b{font-size:.58rem;color:var(--accent-text)}.acb-current-mix>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.acb-current-mix-body{display:grid;gap:8px;padding:8px 12px 10px;border-top:1px solid var(--border-subtle);background:var(--bg-card)}.acb-current-mix-body .acb-threshold-control{justify-self:end}.acb-composition-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.acb-composition-head>div{display:flex;flex-direction:column;gap:2px}.acb-composition-head span{font-size:.63rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.acb-composition-head strong{font-size:.78rem;color:var(--text-primary)}.acb-threshold-control{display:flex;align-items:center;gap:6px}.acb-threshold-control span{font-size:.6rem;letter-spacing:0;text-transform:none}.acb-threshold-control select{padding:5px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font:.66rem var(--font-mono)}.acb-composition-body{display:grid;grid-template-columns:124px minmax(0,1fr);align-items:center;gap:12px}.acb-donut-wrap{position:relative;width:124px;height:124px}.acb-donut{display:block;transform:rotate(-90deg);transform-origin:center;animation:acb-donut-enter .48s cubic-bezier(.2,0,0,1) both}.acb-donut-track,.acb-donut-segment{fill:none;stroke-width:14}.acb-donut-track{stroke:var(--border-subtle)}.acb-donut-segment{stroke-linecap:butt;transition:stroke-width .14s ease}.acb-donut-total{position:absolute;top:30px;right:30px;bottom:30px;left:30px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;text-align:center}.acb-donut-total span{font-size:.55rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.acb-donut-total strong{max-width:76px;overflow:hidden;font:.72rem var(--font-mono);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.acb-composition-list{display:flex;flex-direction:column;min-width:0}.acb-composition-row{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;padding:4px 0;border-bottom:1px solid var(--border-subtle)}.acb-composition-row:last-child{border-bottom:0}.acb-composition-row i{width:7px;height:7px;border-radius:50%}.acb-composition-row span{overflow:hidden;font-size:.67rem;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}.acb-composition-row strong{font:.69rem var(--font-mono);color:var(--text-primary)}.acb-composition-row small{grid-column:2 / 4;margin-top:-3px;font:.62rem var(--font-mono);color:var(--text-muted)}.acb-composition>p{margin:10px 0 0;font-size:.66rem;line-height:1.4;color:var(--text-muted)}.qbp-assembly-card--advanced{width:100%;min-height:0;border:0;border-radius:0;background:transparent}.qbp-assembly-card--advanced .qbp-assembly-head{background:var(--bg-surface)}.qbp-assembly-card--advanced .qbp-target-allocator{background:var(--bg-elevated)}.acb-empty{padding:28px;border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);text-align:center}@media (max-width: 920px){.acb-card{overflow-y:auto}.acb-workspace{grid-template-columns:1fr;min-height:auto}.acb-visual{min-height:520px}.acb-editor{overflow:visible}.acb-summary{grid-template-columns:repeat(2,1fr)}}@keyframes acb-line-reveal{to{stroke-dashoffset:0}}@keyframes acb-donut-enter{0%{opacity:0;transform:rotate(-108deg) scale(.92)}to{opacity:1;transform:rotate(-90deg) scale(1)}}@keyframes acb-preview-line-enter{0%{opacity:0}to{opacity:1}}@keyframes acb-preview-point-enter{0%{opacity:0;transform:scale(.72);transform-origin:center}to{opacity:1;transform:scale(1);transform-origin:center}}@media (prefers-reduced-motion: reduce){.acb-series,.acb-donut-segment,.acb-focus-toggle,.acb-graph-scroll,.qbp-weight-guide button{transition:none}.acb-series-line,.acb-donut,.acb-series-preview-line,.acb-series-preview-point{animation:none}.acb-series-line{stroke-dashoffset:0}}@media print{.acb-scrim{display:none!important}}.cvs-target-ref{font-family:var(--font-mono);font-size:.63rem;color:var(--accent-text);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qbp-history{grid-column:1 / -1;position:sticky;left:12px;z-index:1;box-sizing:border-box;width:min(calc(100% - 36px),calc(100cqw - 36px));margin:4px 18px 6px;border:1px solid var(--border, #d7d0c5);background:#f5f1e9;color:#3c403b}.qbp-history-head,.qbp-history-actions,.qbp-history-notice{display:flex;align-items:center;gap:10px}.qbp-history-head{justify-content:space-between;min-height:32px;padding:5px 10px;border-bottom:1px solid #ddd5ca;cursor:pointer;list-style:none}.qbp-version-details{margin:5px 0 0;border:1px solid var(--workspace-line-soft, var(--border-subtle));background:var(--bg-surface)}.qbp-version-details>summary{display:flex;align-items:center;gap:8px;padding:7px 8px;cursor:pointer;list-style:none}.qbp-version-details>summary::-webkit-details-marker{display:none}.qbp-version-details>summary span{color:var(--text-primary);font-size:.66rem;font-weight:700}.qbp-version-details>summary small{margin-left:auto;color:var(--text-muted);font-size:.59rem}.qbp-version-details>summary:after{content:"+";color:var(--accent-text);font:700 .74rem var(--font-mono)}.qbp-version-details[open]>summary:after{content:"−"}.qbp-version-details>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.qbp-version-details .qbp-list{padding:0 8px 8px}@media (max-width: 920px){.qbp-banner-versions{max-width:42vw}.qbp-banner-versions>span:first-child,.qbp-banner-next{display:none}.qbp-version-details>summary small{display:none}}.qbp-history-head::-webkit-details-marker{display:none}.qbp-history-head>small{margin-left:auto;color:var(--text-muted);font-size:.61rem}.qbp-history-head:after{content:"+";color:var(--accent-text);font:700 .76rem var(--font-mono)}.qbp-history[open] .qbp-history-head:after{content:"−"}.qbp-history-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.qbp-history-head .qbp-history-summary{display:flex;align-items:baseline;flex-direction:row;gap:8px}.qbp-history-summary strong{color:var(--text-primary);font-size:.66rem;font-weight:700}.qbp-history-head span,.qbp-history-actions span{color:#686b65;font-size:.72rem;text-transform:uppercase;letter-spacing:.055em}.qbp-history-head .qbp-history-progress{color:#2f5e4f;font-weight:700}.qbp-history[aria-busy=true]{border-color:#71877c;box-shadow:inset 3px 0 #557063}.qbp-history-actions{padding:10px 12px}.qbp-history-actions button{min-width:210px;display:grid;grid-template-columns:auto auto;gap:2px 8px;align-items:center;justify-items:start;border:1px solid #8c968e;background:#fbf8f2;color:#344139;padding:8px 10px}.qbp-history-actions button strong{grid-column:2;font-size:.82rem;font-weight:600}.qbp-history-actions button:disabled{border-color:#d1cbc1;color:#99958e;background:#eeebe5;cursor:not-allowed}.qbp-history-notice{margin:0 12px 10px;padding:8px 10px;border-left:3px solid #557063;background:#e6eee8;font-size:.82rem}.qbp-history-notice--error{border-left-color:#9b4a3d;background:#f5e8e4;color:#77362d}.qbp-history-notice small{margin-left:auto;text-transform:uppercase;letter-spacing:.04em}.qbp-history-notice button{margin-left:4px;border:0;background:transparent;color:inherit;font-size:1rem}.qbp-target-version-mode,.qbp-original-stale,.qbp-original-saved{display:inline-flex;width:fit-content;margin:3px 0;padding:2px 6px;border:1px solid #a4b5aa;color:#405d4f;font-size:.72rem;font-weight:650}.qbp-target-version-mode--legacy_live,.qbp-original-stale{border-color:#b99067;color:#7d542e;background:#f3e9dc}.qbp-target-version-edit{display:grid;grid-template-columns:1fr auto auto;gap:6px;margin:7px 0}.qbp-target-version-edit input,.qbp-target-version-edit textarea{grid-column:1 / -1;width:100%}.qbp-scenario-banner{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;padding:7px 8px;border-left:3px solid #557063;background:#edf2ed;font-size:.78rem}.qbp-scenario-banner--legacy{border-left-color:#a16c36;background:#f4eadf}.commercial-restore{margin:6px 0 0 30px;color:#4a4f49;font-size:.72rem}.commercial-restore__open{display:inline-flex;align-items:center;gap:4px;padding:3px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:#486455;font:inherit}.commercial-restore__preview{padding:8px;border-left:2px solid #557063;background:#f2eee6}.commercial-restore__head{display:flex;align-items:center;justify-content:space-between;gap:8px}@media (max-width: 920px){.qbp-history-head>small{display:none}}.commercial-restore__head button,.commercial-restore__actions button,.commercial-restore__error button,.commercial-restore__status button{border:0;background:transparent;color:#466154;font:inherit;text-decoration:underline}.commercial-restore__preview p{margin:5px 0;line-height:1.4}.commercial-restore__preview ul{max-height:112px;margin:6px 0;padding:0;overflow-y:auto;list-style:none}.commercial-restore__preview li{display:flex;justify-content:space-between;gap:7px;padding:3px 0;border-top:1px solid #d8d0c5}.commercial-restore__preview li span{text-transform:capitalize}.commercial-restore__actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.commercial-restore__error,.commercial-restore__status{display:flex;align-items:flex-start;gap:5px;padding:6px 7px;border-left:2px solid #9a4b3f;background:#f6e8e4;color:#75372e;line-height:1.35}.qd-commercial-refusal{display:grid;gap:.25rem;margin:.75rem 0;padding:.75rem .9rem;border:1px solid #a65a47;background:#f7e8e2;color:#63392f;font-size:.82rem;line-height:1.4}.qd-commercial-refusal strong{color:#4f2c24;font-size:.86rem}.commercial-restore__status{border-left-color:#557063;background:#e8efe9;color:#355143}@media print{.commercial-restore{display:none!important}}@media (max-width: 920px){.qbp-history{left:8px;width:min(calc(100% - 36px),calc(100cqw - 36px))}.qbp-history-actions{align-items:stretch;flex-direction:column}.qbp-history-actions button{min-width:0;width:100%}}.app-layout[data-theme=studio],html[data-app-theme=studio]{--theme-canvas: #e3e6e2;--theme-surface: #e9ece8;--theme-section: #f0f2ef;--theme-card: #f7f8f6;--theme-paper: #ffffff;--theme-line: #c9cec8;--theme-line-soft: #dde1dc;--theme-ink: #252a26;--theme-secondary: #555d57;--theme-muted: #747c75;--theme-accent: #495d51;--theme-accent-dim: #e1e9e3;--theme-radius-sm: 5px;--theme-radius-md: 8px;--theme-radius-lg: 12px;--theme-radius-xl: 16px;--theme-shadow-raised: 0 1px 3px rgba(26, 35, 28, .1);--theme-shadow-inset: inset 0 1px 2px rgba(26, 35, 28, .08);--theme-shadow-pressed: inset 0 1px 3px rgba(26, 35, 28, .13)}.app-layout[data-theme=cupertino],html[data-app-theme=cupertino]{--theme-canvas: #f2f2f7;--theme-surface: #f7f7fa;--theme-section: #fbfbfd;--theme-card: #ffffff;--theme-paper: #ffffff;--theme-line: #c7c7cc;--theme-line-soft: #e5e5ea;--theme-ink: #1c1c1e;--theme-secondary: #48484a;--theme-muted: #6e6e73;--theme-accent: #0066cc;--theme-accent-dim: #e5f1fb;--theme-radius-sm: 8px;--theme-radius-md: 10px;--theme-radius-lg: 14px;--theme-radius-xl: 18px;--theme-shadow-raised: 0 1px 2px rgba(18, 34, 54, .05), 0 8px 24px rgba(18, 34, 54, .08);--theme-shadow-inset: inset 0 1px 2px rgba(18, 34, 54, .06);--theme-shadow-pressed: inset 0 1px 3px rgba(18, 34, 54, .12)}.app-layout[data-theme=workshop],html[data-app-theme=workshop]{--theme-canvas: #e8e0d4;--theme-surface: #eee7dc;--theme-section: #f4eee5;--theme-card: #f8f4ed;--theme-paper: #fffdf9;--theme-line: #d2c8ba;--theme-line-soft: #e4dbcf;--theme-ink: #302d29;--theme-secondary: #655f58;--theme-muted: #8a8279;--theme-accent: #536155;--theme-accent-dim: #e3e9e2;--theme-radius-sm: 7px;--theme-radius-md: 11px;--theme-radius-lg: 15px;--theme-radius-xl: 20px;--theme-shadow-raised: 3px 3px 8px rgba(69, 58, 43, .09), -2px -2px 6px rgba(255, 255, 255, .62);--theme-shadow-inset: inset 1px 1px 3px rgba(69, 58, 43, .09), inset -1px -1px 3px rgba(255, 255, 255, .48);--theme-shadow-pressed: inset 2px 2px 4px rgba(69, 58, 43, .12)}.app-layout[data-theme=blueprint],html[data-app-theme=blueprint]{--theme-canvas: #dce5e8;--theme-surface: #e6edef;--theme-section: #eef3f4;--theme-card: #f6f9fa;--theme-paper: #fcfeff;--theme-line: #b8c8ce;--theme-line-soft: #d3dfe3;--theme-ink: #203039;--theme-secondary: #4e626d;--theme-muted: #71838c;--theme-accent: #365f73;--theme-accent-dim: #d9e7ed;--theme-radius-sm: 3px;--theme-radius-md: 5px;--theme-radius-lg: 8px;--theme-radius-xl: 10px;--theme-shadow-raised: 0 1px 2px rgba(31, 57, 69, .12);--theme-shadow-inset: inset 0 1px 2px rgba(31, 57, 69, .1);--theme-shadow-pressed: inset 0 2px 3px rgba(31, 57, 69, .15)}.app-layout[data-theme=paper],html[data-app-theme=paper]{--theme-canvas: #f3f3f0;--theme-surface: #f8f8f5;--theme-section: #fbfbf9;--theme-card: #fdfdfb;--theme-paper: #ffffff;--theme-line: #d7d8d3;--theme-line-soft: #e7e8e4;--theme-ink: #252724;--theme-secondary: #5e625c;--theme-muted: #858983;--theme-accent: #485a4e;--theme-accent-dim: #e7ece8;--theme-radius-sm: 2px;--theme-radius-md: 4px;--theme-radius-lg: 6px;--theme-radius-xl: 8px;--theme-shadow-raised: none;--theme-shadow-inset: inset 0 1px 1px rgba(28, 31, 28, .06);--theme-shadow-pressed: inset 0 1px 2px rgba(28, 31, 28, .1)}.app-layout[data-theme],html[data-app-theme]{--neutral-950: var(--theme-canvas);--neutral-900: var(--theme-surface);--neutral-850: var(--theme-section);--neutral-800: var(--theme-card);--neutral-750: var(--theme-paper);--neutral-700: var(--theme-line);--neutral-600: color-mix(in srgb, var(--theme-line) 72%, var(--theme-secondary));--neutral-500: var(--theme-muted);--neutral-400: var(--theme-secondary);--neutral-300: color-mix(in srgb, var(--theme-ink) 78%, var(--theme-secondary));--neutral-200: color-mix(in srgb, var(--theme-ink) 88%, var(--theme-secondary));--neutral-100: var(--theme-ink);--neutral-50: color-mix(in srgb, var(--theme-ink) 92%, black);--bg-primary: var(--theme-canvas);--bg-surface: var(--theme-surface);--bg-elevated: var(--theme-section);--bg-card: var(--theme-card);--bg-input: var(--theme-paper);--border: var(--theme-line);--border-subtle: var(--theme-line-soft);--text-primary: var(--theme-ink);--text-secondary: var(--theme-secondary);--text-muted: var(--theme-muted);--accent: var(--theme-accent);--accent-text: var(--theme-accent);--accent-dim: var(--theme-accent-dim);--radius-sm: var(--theme-radius-sm);--radius-md: var(--theme-radius-md);--radius-lg: var(--theme-radius-lg);--radius-xl: var(--theme-radius-xl);--shadow-raised: var(--theme-shadow-raised);--shadow-inset: var(--theme-shadow-inset);--shadow-pressed: var(--theme-shadow-pressed);min-width:0;color:var(--theme-ink);background:var(--theme-canvas)}html[data-app-theme],html[data-app-theme] body,html[data-app-theme] #root{min-height:100%;color:var(--theme-ink);background:var(--theme-canvas)}.app-layout[data-theme] .app-sidebar{background:var(--theme-surface);border-right-color:var(--theme-line-soft)}.app-layout[data-theme] .app-main{background:var(--theme-canvas)}.sidebar-theme{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 118px;align-items:center;gap:8px;margin-top:auto;padding:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated)}.sidebar-theme-label{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--text-secondary);font-size:.78rem;font-weight:700}.sidebar-theme-label svg{width:16px;height:16px;flex:0 0 auto}.sidebar-theme-picker{position:relative;width:100%;min-width:0}.sidebar-theme-trigger{display:grid;grid-template-columns:18px minmax(0,1fr) 14px;align-items:center;gap:7px;width:100%;min-width:0;min-height:36px;padding:0 8px;border:1px solid var(--border);border-radius:max(var(--radius-sm),8px);background:var(--bg-input);color:var(--text-primary);font:600 .76rem/1 var(--font-body);text-align:left;cursor:pointer;box-shadow:0 1px 1px color-mix(in srgb,var(--theme-ink) 6%,transparent)}.sidebar-theme-trigger:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--bg-input) 92%,var(--accent-dim))}.sidebar-theme-trigger:focus-visible,.sidebar-theme-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-theme-swatch,.sidebar-theme-option-swatch{position:relative;width:18px;height:18px;overflow:hidden;border:1px solid color-mix(in srgb,var(--theme-ink) 16%,transparent);border-radius:50%;background:var(--theme-swatch-bg)}.sidebar-theme-swatch:after,.sidebar-theme-option-swatch:after{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:50%;background:var(--theme-swatch-accent);content:""}.sidebar-theme-chevron{color:var(--text-muted);transition:transform .14s ease}.sidebar-theme-trigger[aria-expanded=true] .sidebar-theme-chevron{transform:rotate(180deg)}.sidebar-theme-menu{position:absolute;right:0;bottom:calc(100% + 8px);z-index:180;width:190px;padding:6px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:14px;background:var(--bg-input);box-shadow:0 18px 45px #141c222e,0 2px 8px #141c221a}.sidebar-theme-menu-head{padding:6px 8px 7px;color:var(--text-muted);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sidebar-theme-option{display:grid;grid-template-columns:22px minmax(0,1fr) 16px;align-items:center;gap:8px;width:100%;min-height:38px;padding:5px 8px;border:0;border-radius:9px;background:transparent;color:var(--text-primary);font:600 .78rem/1.2 var(--font-body);text-align:left;cursor:pointer}.sidebar-theme-option:hover,.sidebar-theme-option[aria-selected=true]{background:var(--accent-dim);color:var(--accent-text)}.app-sidebar--collapsed .sidebar-theme{display:flex;flex-direction:column;gap:6px;padding:8px 4px}.app-sidebar--collapsed .sidebar-theme-picker{width:42px}.app-sidebar--collapsed .sidebar-theme-trigger{display:flex;justify-content:center;min-height:42px;padding:0}.app-sidebar--collapsed .sidebar-theme-chevron{display:none}.app-sidebar--collapsed .sidebar-theme-menu{right:auto;bottom:0;left:calc(100% + 10px)}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#eef1ee;color:var(--text-primary)}.auth-card{width:min(100%,400px);padding:30px 32px 28px;border:1px solid rgba(55,71,62,.1);border-radius:20px;background:#fbfcfb;box-shadow:0 18px 48px #2e3d341c}.auth-brand{display:flex;align-items:center;gap:9px;margin-bottom:30px;font-weight:700;letter-spacing:-.015em}.auth-brand img{width:27px;height:27px;object-fit:contain}.auth-eyebrow{margin:0 0 8px;color:var(--accent-text);font:700 .69rem/1.2 var(--font-body);letter-spacing:.12em;text-transform:uppercase}.auth-card h1{margin:0;font-size:2rem;line-height:1.08;letter-spacing:-.04em}.auth-copy{margin:8px 0 22px;color:var(--text-secondary);font-size:.88rem;line-height:1.45}.auth-form{display:grid;gap:10px}.auth-environments{margin:0 0 2px;padding:0;border:0}.auth-environments legend{margin-bottom:7px;color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.auth-environment-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.auth-environment-buttons button{min-height:38px;border:1px solid #d3d9d5;border-radius:9px;background:#f4f6f4;color:var(--text-secondary);font:700 .78rem/1 var(--font-body);cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}.auth-environment-buttons button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,#d3d9d5);color:var(--text-primary)}.auth-environment-buttons button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#fff}.auth-environment-buttons button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 18%,transparent);outline-offset:2px}.auth-environment-buttons button:disabled{cursor:default;opacity:.42}.auth-form input{width:100%;height:46px;padding:0 13px;border:1px solid #d3d9d5;border-radius:10px;background:#fff;color:var(--text-primary);font:500 .88rem/1 var(--font-body);box-shadow:0 1px 2px #2e3d3408;transition:border-color .15s ease,box-shadow .15s ease}.auth-form input::placeholder{color:#929b96}.auth-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.auth-primary{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;gap:9px;margin-top:4px;padding:0 16px;border:0;border-radius:10px;background:var(--accent);color:#fff;font:700 .86rem/1 var(--font-body);cursor:pointer;transition:transform .14s ease,background .14s ease,opacity .14s ease}.auth-primary:hover{transform:translateY(-1px);filter:brightness(1.06)}.auth-primary:active{transform:translateY(0) scale(.99)}.auth-primary:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 22%,transparent);outline-offset:2px}.auth-primary svg{width:17px}.auth-primary:disabled,.auth-primary.is-disabled{cursor:default;pointer-events:none;opacity:.42}.auth-mode{margin:9px 0 0;color:var(--text-muted);font-size:.68rem;text-align:center}.auth-error{margin:0 0 12px;padding:10px 11px;border:1px solid #e7bcbc;border-radius:9px;background:#fff2f2;color:#8b3636;font-size:.78rem;line-height:1.4}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.auth-loader{display:grid;place-items:center;gap:14px;color:#536157;font-size:.82rem}.auth-loader span{width:26px;height:26px;border:2px solid rgba(73,85,76,.18);border-top-color:#49554c;border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.sidebar-account{display:grid;grid-template-columns:34px minmax(0,1fr) 30px;align-items:center;gap:9px;padding:9px;border:1px solid var(--border-subtle);border-radius:12px;background:color-mix(in srgb,var(--bg-input) 65%,transparent)}.sidebar-account-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--accent);color:#fff;font-weight:700}.sidebar-account-copy{display:flex;min-width:0;flex-direction:column}.sidebar-account-copy strong{overflow:hidden;color:var(--text-primary);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-copy span{color:var(--text-muted);font-size:.65rem;text-transform:capitalize}.sidebar-account-logout{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:9px;background:transparent;color:var(--text-muted);cursor:pointer}.sidebar-account-logout:hover{background:var(--accent-dim);color:var(--accent-text)}.sidebar-account-logout svg{width:15px}.sidebar-account--collapsed{grid-template-columns:1fr;justify-items:center;padding:6px 3px}.sidebar-account--collapsed .sidebar-account-logout{margin-top:2px}.permission-toast{position:fixed;right:24px;bottom:24px;z-index:1000;width:min(420px,calc(100vw - 32px));display:grid;grid-template-columns:36px minmax(0,1fr) 28px;align-items:center;gap:11px;padding:14px;border:1px solid rgba(139,54,54,.22);border-radius:16px;background:#fffafaf5;box-shadow:0 18px 50px #281d1d2e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.permission-toast>svg{width:20px;color:#9c4848}.permission-toast div{display:flex;flex-direction:column;gap:2px}.permission-toast strong{font-size:.82rem}.permission-toast span{color:var(--text-secondary);font-size:.73rem}.permission-toast button{border:0;background:transparent;color:var(--text-muted);cursor:pointer}.permission-toast button svg{width:16px}.permission-page{min-height:65vh;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center}.permission-page>svg{width:38px;height:38px;color:var(--accent)}.permission-page h1{margin:5px 0 0;font-size:1.5rem}.permission-page p{margin:0;color:var(--text-secondary)}.users-page{max-width:1280px;margin:0 auto}.users-page-head{align-items:flex-end}.users-page-head h1{margin:0 0 6px;letter-spacing:-.035em}.users-page-head p:not(.auth-eyebrow){margin:0;color:var(--text-secondary)}.access-card{margin-bottom:18px;padding:0;overflow:hidden;background:color-mix(in srgb,var(--bg-card) 92%,white)}.access-section-head{display:flex;align-items:flex-start;gap:13px;padding:20px 22px;border-bottom:1px solid var(--border-subtle)}.access-section-head>svg{width:20px;color:var(--accent)}.access-section-head h2{margin:0 0 4px;font-size:.98rem}.access-section-head p{margin:0;color:var(--text-muted);font-size:.75rem}.access-table-wrap{overflow-x:auto}.access-table{width:100%;border-collapse:collapse}.access-table th{padding:11px 16px;background:color-mix(in srgb,var(--bg-surface) 72%,transparent);color:var(--text-muted);font-size:.65rem;letter-spacing:.07em;text-align:left;text-transform:uppercase}.access-table td{padding:13px 16px;border-top:1px solid var(--border-subtle);font-size:.78rem}.access-table tbody tr:first-child td{border-top:0}.access-table tr.is-disabled{opacity:.56}.access-table td:first-child{min-width:210px}.access-table td strong,.access-table td span{display:block}.access-table td span{color:var(--text-muted);font-size:.69rem}.access-table select{min-width:145px;height:34px;border:1px solid var(--border);border-radius:9px;background:var(--bg-input);color:var(--text-primary)}.access-toggle input{position:absolute;opacity:0;pointer-events:none}.access-toggle span{width:40px;height:23px;position:relative;display:block;border-radius:999px;background:var(--border);cursor:pointer;transition:background .14s ease}.access-toggle span:after{position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0000002e;content:"";transition:transform .14s ease}.access-toggle input:checked+span{background:var(--accent)}.access-toggle input:checked+span:after{transform:translate(17px)}.access-toggle svg{display:none}.access-state{min-width:74px;height:30px;border:1px solid var(--border);border-radius:999px;background:var(--bg-input);color:var(--text-muted);font-size:.7rem;cursor:pointer}.access-state.is-active{border-color:color-mix(in srgb,var(--accent) 34%,var(--border));background:var(--accent-dim);color:var(--accent-text)}.auth-loading-row{padding:26px 22px;color:var(--text-muted);font-size:.8rem}.audit-list{max-height:480px;overflow:auto}.audit-row{display:grid;grid-template-columns:9px minmax(0,1fr) 42px 160px;align-items:center;gap:11px;padding:11px 22px;border-top:1px solid var(--border-subtle);font-size:.73rem}.audit-row:first-child{border-top:0}.audit-row>div{display:flex;min-width:0;flex-direction:column}.audit-row span{overflow:hidden;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.audit-row code{color:var(--text-secondary);font-size:.68rem}.audit-row time{color:var(--text-muted);text-align:right}.audit-dot{width:7px;height:7px;border-radius:50%;background:#8b9690}.audit-dot--succeeded{background:#3b8060}.audit-dot--refused{background:#b37a32}.audit-dot--failed{background:#ac4f4f}@media (max-width: 720px){.auth-card{padding:28px 24px;border-radius:22px}.auth-brand{margin-bottom:28px}.sidebar-account{border:0;background:transparent}.access-table th:nth-child(5),.access-table td:nth-child(5){display:none}.audit-row{grid-template-columns:9px minmax(0,1fr) 36px;padding-inline:14px}.audit-row time{display:none}}.cvs-summary-pin-btn{position:relative;display:inline-flex;flex:0 0 auto;width:26px;height:26px;align-items:center;justify-content:center;margin-left:auto;padding:0;border:1px solid color-mix(in srgb,var(--border) 86%,transparent);border-radius:8px;background:color-mix(in srgb,var(--bg-input) 88%,transparent);color:var(--text-muted);cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.cvs-summary-pin-btn:hover,.cvs-summary-pin-btn:focus-visible,.cvs-summary-pin-btn--on{border-color:color-mix(in srgb,var(--accent) 54%,var(--border));background:var(--accent-dim);color:var(--accent-text)}.cvs-summary-pin-btn:active{transform:scale(.96)}.cvs-summary-pin-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cvs-summary-pin-dot{position:absolute;top:3px;right:3px;width:5px;height:5px;border:1px solid var(--bg-input);border-radius:50%;background:var(--accent)}.cvs-rowpin-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:240;display:grid;place-items:center;padding:20px;background:#161b1f42;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cvs-rowpin-card{width:min(760px,calc(100vw - 32px));max-height:min(620px,calc(100vh - 32px));overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 84%,transparent);border-radius:max(var(--radius-lg),14px);background:var(--bg-card);color:var(--text-primary);box-shadow:0 24px 70px #121a213d,0 3px 12px #121a211f}.cvs-rowpin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 18px 10px}.cvs-rowpin-head span{color:var(--accent-text);font-size:.64rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.cvs-rowpin-head h2{margin:4px 0 0;font-size:1rem;line-height:1.3}.cvs-rowpin-head>button{display:grid;flex:0 0 auto;width:34px;height:34px;place-items:center;border:0;border-radius:50%;background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer}.cvs-rowpin-copy{margin:0;padding:0 18px 12px;color:var(--text-secondary);font-size:.78rem;line-height:1.45}.cvs-rowpin-all{padding:0;border:0;background:transparent;color:var(--accent-text);font:700 .7rem/1.2 var(--font-body);cursor:pointer}.cvs-rowpin-destination{display:grid;gap:8px;margin:0 12px 12px;padding:12px;border:1px solid var(--border-subtle);border-radius:12px;background:color-mix(in srgb,var(--bg-elevated) 72%,var(--bg-card))}.cvs-rowpin-section-head{display:flex;min-height:32px;align-items:center;justify-content:space-between;gap:16px}.cvs-rowpin-section-head>div{display:grid;gap:2px}.cvs-rowpin-section-head>div>span,.cvs-rowpin-section-head>span{color:var(--text-muted);font-size:.61rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.cvs-rowpin-section-head b{font-size:.74rem}.cvs-rowpin-component{position:relative;display:grid;min-height:52px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-input);cursor:pointer}.cvs-rowpin-component--on{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent-dim) 74%,var(--bg-input))}.cvs-rowpin-component>input{position:absolute;width:1px;height:1px;opacity:0}.cvs-rowpin-component>span:last-child{display:grid;gap:2px}.cvs-rowpin-component b{font-size:.76rem}.cvs-rowpin-component small{color:var(--text-muted);font-size:.64rem}.cvs-rowpin-component--on .cvs-rowpin-check{border-color:var(--accent);background:var(--accent)}.cvs-rowpin-component:focus-within{outline:2px solid var(--accent);outline-offset:1px}.cvs-rowpin-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;max-height:330px;overflow:auto;padding:0}.cvs-rowpin-table{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:9px;min-height:42px;padding:5px 10px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-input);color:var(--text-primary);font-size:.78rem;font-weight:650;cursor:pointer}.cvs-rowpin-table--on{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent-dim) 74%,var(--bg-input))}.cvs-rowpin-table input{position:absolute;width:1px;height:1px;opacity:0}.cvs-rowpin-check{display:grid;width:20px;height:20px;place-items:center;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:#fff}.cvs-rowpin-table--on .cvs-rowpin-check{border-color:var(--accent);background:var(--accent)}.cvs-rowpin-table:focus-within{outline:2px solid var(--accent);outline-offset:1px}.cvs-rowpin-error{margin:0 18px 10px;color:var(--danger);font-size:.72rem}.cvs-rowpin-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 18px;border-top:1px solid var(--border-subtle)}@media (max-width: 620px){.cvs-rowpin-card{width:min(440px,calc(100vw - 24px))}.cvs-rowpin-list{grid-template-columns:1fr}.cvs-rowpin-section-head{align-items:flex-start;flex-direction:column;gap:6px}}.qbp-exclusion{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:7px;width:100%;margin-top:5px;padding:8px;border:1px solid color-mix(in srgb,var(--cost-accent, #a66500) 28%,var(--workspace-line));border-radius:9px;background:color-mix(in srgb,var(--cost-bg, #fbf4e9) 84%,var(--workspace-paper));color:var(--workspace-secondary);font-size:.64rem;line-height:1.4}.qbp-exclusion>svg{flex:0 0 auto;color:var(--cost-accent, #a66500)}.qbp-exclusion>span{min-width:0}.qbp-exclusion button{grid-column:2;justify-self:start;min-height:28px;padding:4px 9px;border:1px solid color-mix(in srgb,var(--cost-accent, #a66500) 38%,var(--workspace-line));border-radius:8px;background:var(--workspace-paper);color:var(--cost-text, #7b4d00);font:700 .66rem/1 var(--font-body);cursor:pointer}.spotlight-reveal-target{position:relative;z-index:12;outline:3px solid color-mix(in srgb,var(--accent) 72%,white);outline-offset:3px;animation:spotlightReveal 1.8s ease both}@keyframes spotlightReveal{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent)}22%{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 20%,transparent)}}@media (max-width: 900px){.sidebar-theme-trigger{min-height:40px}}.app-layout[data-theme] .quote-builder{--workspace-canvas: var(--theme-canvas);--workspace-rail: var(--theme-surface);--workspace-section: var(--theme-section);--workspace-paper: var(--theme-paper);--workspace-line: var(--theme-line);--workspace-line-soft: var(--theme-line-soft);--workspace-ink: var(--theme-ink);--workspace-secondary: var(--theme-secondary);--workspace-muted: var(--theme-muted);--bg-primary: var(--workspace-canvas);--bg-surface: var(--workspace-rail);--bg-elevated: var(--workspace-section);--bg-card: var(--workspace-paper);--bg-input: var(--workspace-paper);--border: var(--workspace-line);--border-subtle: var(--workspace-line-soft);--text-primary: var(--workspace-ink);--text-secondary: var(--workspace-secondary);--text-muted: var(--workspace-muted);--accent: var(--theme-accent);--accent-text: var(--theme-accent);--accent-dim: var(--theme-accent-dim);--shadow-raised: var(--theme-shadow-raised);--shadow-inset: var(--theme-shadow-inset);--shadow-pressed: var(--theme-shadow-pressed);color:var(--workspace-ink);background:var(--workspace-canvas)}.app-layout[data-theme] .pp-workspace{--pp-ink: var(--theme-ink);--pp-muted: var(--theme-muted);--pp-line: var(--theme-line);--pp-soft-line: var(--theme-line-soft);--pp-paper: var(--theme-card);--pp-panel: var(--theme-section);--pp-card: var(--theme-paper);--pp-accent: var(--theme-accent);color:var(--pp-ink);background:var(--theme-canvas)}@media (prefers-reduced-motion: reduce){.app-sidebar,.app-main{transition:none}}.quote-builder{--workspace-canvas: #e3e6e2;--workspace-rail: #e9ece8;--workspace-section: #f0f2ef;--workspace-paper: #ffffff;--workspace-line: #c9cec8;--workspace-line-soft: #dde1dc;--workspace-ink: #252a26;--workspace-secondary: #555d57;--workspace-muted: #747c75;--bg-primary: var(--workspace-canvas);--bg-surface: var(--workspace-rail);--bg-elevated: var(--workspace-section);--bg-card: var(--workspace-paper);--bg-input: var(--workspace-paper);--border: var(--workspace-line);--border-subtle: var(--workspace-line-soft);--text-primary: var(--workspace-ink);--text-secondary: var(--workspace-secondary);--text-muted: var(--workspace-muted);--accent-dim: #e4ebe6;--shadow-raised: 0 1px 2px rgba(28, 34, 29, .08);--shadow-inset: inset 0 1px 2px rgba(28, 34, 29, .08);--shadow-pressed: inset 0 1px 2px rgba(28, 34, 29, .12);color:var(--workspace-ink);background:var(--workspace-canvas)}.quote-builder .quote-canvas-shell,.quote-builder .quote-canvas-right,.quote-builder .canvas-grid-fade,.quote-builder .canvas-grid-wrapper{background:var(--workspace-canvas)}.quote-builder .canvas-grid{width:max-content;min-width:100%;background:var(--workspace-canvas)}.quote-builder .canvas-cell--label{background:var(--workspace-rail);border-right:1px solid var(--workspace-line)}.quote-builder .canvas-cell--value{background:var(--workspace-paper);border-right:1px solid var(--workspace-line-soft)}.quote-builder .canvas-cell--header,.quote-builder .canvas-cell--header.canvas-cell--value{background:var(--workspace-section);border-right-color:var(--workspace-line);border-bottom-color:var(--workspace-line)}.quote-builder .canvas-cell--spacer{background:var(--workspace-canvas)}.quote-builder .product-summary-block{border-color:var(--workspace-line-soft);border-radius:2px;background:var(--workspace-paper);box-shadow:none}.quote-builder .cvs-header{border-top:1px solid var(--workspace-line);border-bottom:1px solid var(--workspace-line);border-radius:0;background:var(--workspace-section)}.quote-builder .cvs-header-right{background:var(--workspace-section)}.quote-builder .cvs-header--component .cvs-header-toggle-wrap,.quote-builder .cvs-header--component .cvs-header-right,.quote-builder .cvs-header--specs .cvs-header-toggle-wrap,.quote-builder .cvs-header--specs .cvs-header-right,.quote-builder .cvs-header--quote-builder .cvs-header-toggle-wrap,.quote-builder .cvs-header--quote-builder .cvs-header-right{background:var(--band-fill);align-self:stretch;margin-block:-7px;padding-block:7px}.quote-builder .cvs-header--component .cvs-header-toggle-wrap:after,.quote-builder .cvs-header--specs .cvs-header-toggle-wrap:after,.quote-builder .cvs-header--quote-builder .cvs-header-toggle-wrap:after{top:0;bottom:0;background:var(--band-fill)}.quote-builder .cvs-header--component .cvs-header-right:before,.quote-builder .cvs-header--specs .cvs-header-right:before,.quote-builder .cvs-header--quote-builder .cvs-header-right:before{top:0;bottom:0;background:var(--band-fill)}.quote-builder .cvs-header--specs{box-shadow:inset 4px 0 0 var(--band-accent)}.quote-builder .cvs-header--specs .cvs-header-eyebrow{color:var(--accent-text)}.quote-builder .cvs-header--specs .cvs-header-rollup{padding:3px 7px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--workspace-line));border-radius:6px;background:color-mix(in srgb,var(--workspace-paper) 72%,transparent)}.quote-builder .cvs-header--component .cvs-header-toggle-wrap{left:0;flex:0 0 var(--canvas-col-w, 240px);width:var(--canvas-col-w, 240px);box-sizing:border-box;padding-left:12px}.quote-builder .cvs-header--component .cvs-header-toggle{min-width:0;overflow:hidden}.quote-builder .cvs-header--component .cvs-header-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-builder .cvs-header-eyebrow{font-size:.62rem}.quote-builder .cvs-header-label,.quote-builder .cvs-header-rollup{font-size:.76rem}.quote-builder .qbp-assembly-label,.quote-builder .qbp-assembly-card,.quote-builder .qbp-assembly-spacer{border-top:0;border-bottom:1px solid var(--workspace-line);border-radius:0;box-shadow:none}.quote-builder .qbp-assembly-label{background:var(--workspace-rail)}.quote-builder .qbp-assembly-card{border-right:1px solid var(--workspace-line-soft);border-left:0;background:var(--workspace-paper)}.quote-builder .qbp-assembly-spacer{background:var(--workspace-canvas)}.quote-builder .qbp-assembly-head,.quote-builder .qbp-weight-editor,.quote-builder .qbp-components{background:var(--workspace-paper)}.quote-builder .qbp-assembly-head{min-height:45px;border-bottom-color:var(--workspace-line-soft)}.quote-builder .qbp-assembly-title{font-size:.76rem}.quote-builder .qbp-assembly-title span,.quote-builder .qbp-assembly-head span,.quote-builder .qbp-weight-editor>summary>span,.quote-builder .qbp-weight-editor>summary>strong,.quote-builder .qbp-weight-guide span{font-size:.68rem}.quote-builder .qbp-weight-guide strong,.quote-builder .qbp-weight-guide button,.quote-builder .qbp-component,.quote-builder .qbp-target-entry,.quote-builder .qbp-target-result,.quote-builder .qbp-target-line,.quote-builder .qbp-target-actions{font-size:.7rem}.quote-builder .qbp-history{left:0;width:min(100%,100cqw);margin:4px 0 0;border:0;border-top:1px solid var(--workspace-line);border-bottom:1px solid var(--workspace-line);background:var(--workspace-section);color:var(--workspace-ink);box-shadow:none}.quote-builder .qbp-history-head{min-height:32px;padding:5px 10px;border-bottom-color:var(--workspace-line-soft);background:var(--workspace-rail)}.quote-builder .qbp-history-head span,.quote-builder .qbp-history-actions span{color:var(--workspace-muted)}.quote-builder .qbp-history-head .qbp-history-progress{color:var(--accent-text)}.quote-builder .qbp-history[aria-busy=true]{border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}.quote-builder .qbp-history-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;padding:10px 12px;background:var(--workspace-section)}.quote-builder .qbp-history-actions button{width:100%;min-width:0;border-color:var(--workspace-line);border-radius:2px;background:var(--workspace-paper);color:var(--workspace-secondary)}.quote-builder .qbp-history-actions button:disabled{border-color:var(--workspace-line-soft);background:var(--workspace-rail);color:var(--workspace-muted)}.quote-builder .qbp-history-notice{background:var(--accent-dim)}.quote-builder .qbp-body{padding:5px 10px 7px;border-bottom:1px solid var(--workspace-line);background:var(--workspace-rail)}.quote-builder .canvas-cell--pricing-label{background:var(--workspace-rail)}.quote-builder .canvas-cell--pricing-value{background:var(--workspace-paper)}@media (max-width: 920px){.quote-builder .qbp-history{left:0;width:min(100%,100cqw)}.quote-builder .qbp-history-actions{grid-template-columns:1fr}}.app-layout[data-theme] .quote-builder{--workspace-canvas: var(--theme-canvas);--workspace-rail: var(--theme-surface);--workspace-section: var(--theme-section);--workspace-paper: var(--theme-paper);--workspace-line: var(--theme-line);--workspace-line-soft: var(--theme-line-soft);--workspace-ink: var(--theme-ink);--workspace-secondary: var(--theme-secondary);--workspace-muted: var(--theme-muted);--accent: var(--theme-accent);--accent-text: var(--theme-accent);--accent-dim: var(--theme-accent-dim);--shadow-raised: var(--theme-shadow-raised);--shadow-inset: var(--theme-shadow-inset);--shadow-pressed: var(--theme-shadow-pressed)}.app-layout[data-theme] .quote-canvas-shell,.app-layout[data-theme] .quote-canvas-right,.app-layout[data-theme] .canvas-grid-fade,.app-layout[data-theme] .canvas-grid-wrapper,.app-layout[data-theme] .canvas-grid,.app-layout[data-theme] .canvas-cell--spacer{background-color:var(--theme-canvas)}.odoo-environment-selector{margin-bottom:24px}.odoo-environment-help{color:var(--text-muted);font-size:13px;line-height:1.5;margin:8px 0 12px}.odoo-environment-buttons{display:flex;gap:8px;flex-wrap:wrap}.odoo-environment-buttons .btn{min-width:136px;display:inline-flex;justify-content:center;align-items:center;gap:8px}.odoo-environment-buttons .btn[aria-current=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.odoo-environment-buttons span.btn{cursor:default}.odoo-environment-buttons .btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.odoo-environment-detail{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;margin-top:12px;overflow-wrap:anywhere}.ohp-panel{margin-top:14px;border:1px solid color-mix(in srgb,var(--border) 82%,var(--accent) 18%);border-radius:16px;overflow:hidden;background:color-mix(in srgb,var(--surface) 96%,var(--accent) 4%);box-shadow:0 10px 28px #1f312d0f}.ohp-panel--ready{border-color:color-mix(in srgb,var(--accent) 52%,var(--border))}.ohp-panel--loading{padding:18px;color:var(--text-muted);font-size:.76rem}.ohp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 20px 15px}.ohp-eyebrow{display:block;margin-bottom:5px;color:var(--accent-text);font:700 .62rem/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.ohp-head h3{margin:0;color:var(--text-primary);font-size:.98rem;letter-spacing:-.015em}.ohp-head p{max-width:760px;margin:5px 0 0;color:var(--text-secondary);font-size:.69rem;line-height:1.5}.ohp-status{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:7px 10px;border-radius:999px;background:var(--warning-soft, #fff4dd);color:var(--cost-accent);font-size:.66rem;font-weight:750}.ohp-status--ready{background:color-mix(in srgb,var(--accent) 13%,var(--surface));color:var(--accent-text)}.ohp-version-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 20px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-raised, var(--surface)) 90%,transparent)}.ohp-version-row>div{display:grid;gap:3px}.ohp-version-row label{color:var(--text-primary);font-size:.72rem;font-weight:720}.ohp-version-row label strong{color:var(--cost-accent)}.ohp-version-row span{color:var(--text-muted);font-size:.63rem}.ohp-version-row select{min-width:250px;height:34px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text-primary);padding:0 30px 0 10px;font-size:.7rem}.ohp-empty-version{padding:7px 10px;border-radius:8px;background:var(--warning-soft, #fff4dd);color:var(--cost-accent)!important;font-weight:650}.ohp-global-errors{display:flex;flex-wrap:wrap;gap:7px;padding:9px 20px;border-top:1px solid var(--border)}.ohp-global-errors span{padding:5px 8px;border-radius:7px;background:var(--warning-soft, #fff4dd);color:var(--cost-accent);font-size:.62rem}.ohp-lines-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:13px 20px;border:0;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 96%,var(--accent) 4%);color:var(--text-primary);text-align:left;cursor:pointer}.ohp-lines-toggle:hover{background:color-mix(in srgb,var(--surface) 90%,var(--accent) 10%)}.ohp-lines-toggle>span{display:grid;gap:3px}.ohp-lines-toggle strong{font-size:.72rem}.ohp-lines-toggle small{color:var(--text-muted);font-size:.61rem;font-weight:450}.ohp-lines-toggle b{flex:0 0 auto;color:var(--accent-text);font-size:.63rem}.ohp-table-wrap{overflow-x:auto;border-top:1px solid var(--border)}.ohp-table{width:100%;min-width:1160px;border-collapse:collapse;table-layout:fixed}.ohp-table th{padding:9px 10px;background:color-mix(in srgb,var(--surface-muted, var(--surface)) 78%,transparent);color:var(--text-muted);font:700 .58rem/1 var(--font-mono);letter-spacing:.08em;text-align:left;text-transform:uppercase}.ohp-table th:nth-child(1){width:18%}.ohp-table th:nth-child(2){width:12%}.ohp-table th:nth-child(3){width:21%}.ohp-table th:nth-child(4){width:18%}.ohp-table th:nth-child(5){width:20%}.ohp-table th:nth-child(6){width:11%}.ohp-table td{padding:10px;border-top:1px solid var(--border);vertical-align:top;background:color-mix(in srgb,var(--surface) 98%,transparent)}.ohp-row--saving td{opacity:.55}.ohp-line-identity{display:grid;gap:2px}.ohp-line-identity strong{color:var(--text-primary);font-size:.7rem}.ohp-line-identity span{color:var(--text-secondary);font-size:.66rem;line-height:1.3}.ohp-line-identity small,.ohp-table td>small{color:var(--text-muted);font-size:.58rem}.ohp-line-identity em{color:var(--accent-text);font-size:.54rem;font-style:normal;font-weight:650}.ohp-table select,.ohp-table input{box-sizing:border-box;width:100%;min-height:31px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);padding:5px 8px;font-size:.66rem}.ohp-table [aria-invalid=true]{border-color:var(--cost-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--cost-accent) 12%,transparent)}.ohp-product-stack,.ohp-vendor-stack{display:grid;gap:6px}.ohp-vendor-stack>label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px}.ohp-vendor-stack>label span{color:var(--text-muted);font-size:.61rem}.ohp-quantity,.ohp-quantity>label{display:grid;gap:8px;min-width:0}.ohp-quantity>label>span,.ohp-quantity>small{color:var(--text-muted);font-size:.66rem;line-height:1.4}.ohp-quantity output{font-variant-numeric:tabular-nums;font-weight:600}.ohp-quantity select{min-width:0;min-height:44px}.cf-model-port{overflow-x:auto;margin-block:8px 16px;border:1px solid var(--border)}.cf-model-grid{display:grid;min-width:min-content}.cf-model-grid .canvas-cell,.cf-cols-grid .canvas-cell{position:static;min-width:0;width:auto}.cf-model-grid .cf-cols-head{display:grid;gap:4px}.cf-model-grid .bm-canvas-label,.cf-cols-grid .bm-canvas-label{min-width:0}.cf-model-grid .bm-canvas-label .cf-tag-select,.cf-cols-grid .bm-canvas-label .cf-tag-select{flex:1;width:auto}.cf-model-grid .bm-canvas-member,.cf-cols-grid .bm-canvas-member{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;padding:12px}.cf-model-grid .bm-canvas-member output,.cf-cols-grid .bm-canvas-member output{font-variant-numeric:tabular-nums}.cf-model-grid .bm-canvas-member .bm-field,.cf-cols-grid .bm-canvas-member .bm-field{max-width:100%}.ohp-na{display:inline-block;padding-top:7px;color:var(--text-muted);font-size:.63rem}.ohp-field-error{display:block;margin-top:4px;color:var(--cost-accent);font-size:.56rem;line-height:1.3}.ohp-procurement-more{margin-top:2px;border-top:1px solid var(--border);padding-top:5px}.ohp-procurement-more>summary{color:var(--accent-text);font-size:.56rem;font-weight:700;cursor:pointer}.ohp-procurement-more[open]{display:grid;gap:5px}.ohp-procurement-more label{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:6px}.ohp-procurement-more label span{color:var(--text-muted);font-size:.53rem}.ohp-picker-picker{position:relative;min-width:0}.ohp-picker-chosen-row{display:flex;align-items:stretch;gap:4px}.ohp-picker-chosen,.ohp-picker-input-wrap{position:relative;display:flex;align-items:center;width:100%;min-height:31px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary)}.ohp-picker-chosen{gap:6px;padding:5px 8px;text-align:left;cursor:pointer}.ohp-picker-chosen-name{min-width:0;overflow:hidden;font-size:.64rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.ohp-picker-change{margin-left:auto;color:var(--accent-text);font-size:.55rem}.ohp-picker-clear{flex:0 0 28px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted)}.ohp-picker-input-icon{position:absolute;left:8px;color:var(--text-muted);pointer-events:none}.ohp-picker-input{padding-left:27px!important;border:0!important;box-shadow:none!important}.ohp-picker-dropdown{position:absolute;z-index:80;top:calc(100% + 4px);left:0;right:0;max-height:220px;overflow-y:auto;padding:4px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 16px 38px #1b2a2729}.ohp-picker-option{display:grid;width:100%;gap:2px;padding:7px 8px;border:0;border-radius:7px;background:transparent;text-align:left;cursor:pointer}.ohp-picker-option:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}.ohp-picker-option-name{color:var(--text-primary);font-size:.64rem}.ohp-picker-option-meta,.ohp-picker-dropdown-note{color:var(--text-muted);font-size:.56rem}.ohp-picker-dropdown-note{padding:8px}.ohp-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px 10px 20px;border-top:1px solid var(--border);color:var(--text-muted);font-size:.61rem}.ohp-footer button{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-secondary);font-size:.61rem;cursor:pointer}.so-technical-review{margin:14px 0 0;border:1px solid var(--border);border-radius:13px;overflow:hidden;background:var(--surface)}.so-technical-review>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 15px;color:var(--text-primary);font-size:.69rem;font-weight:700;cursor:pointer;list-style:none}.so-technical-review>summary::-webkit-details-marker{display:none}.so-technical-review>summary small{color:var(--text-muted);font-size:.59rem;font-weight:500}.so-technical-review>summary:after{content:"+";color:var(--accent-text);font:700 .82rem var(--font-mono)}.so-technical-review[open]>summary:after{content:"−"}.so-technical-review[open]>summary{border-bottom:1px solid var(--border)}@media (max-width: 900px){.ohp-head,.ohp-version-row{align-items:stretch;flex-direction:column;gap:10px}.ohp-version-row select{width:100%;min-width:0}}.bc-preset-picker{position:absolute;z-index:5;inset:116px 16px auto auto;width:320px;max-height:320px;overflow:auto;padding:12px;border:1px solid var(--border, #c8cfca);border-radius:10px;background:var(--surface, #fff);box-shadow:0 8px 24px #0002}.bc-preset-picker>div{display:flex;justify-content:space-between;align-items:center}.bc-preset-picker>button{display:block;width:100%;text-align:left;padding:10px 8px;border:0;background:transparent;color:inherit}.bc-preset-picker>button:hover{background:#7a8f801a}.bc-preset-picker small{opacity:.6}
