:root{--bg:#f3f5f4;--surface:#fff;--sunken:#eaeeed;--ink:#101514;--ink-2:#5f6965;--ink-3:#8f9894;--ink-d:#b4bcb8;--line-s:#10151412;--line:#10151421;--green:#2f4d3a;--green-s:#e3eee7;--green-ink:#1f3527;--inverse:#101514;--r:12px;--r-sm:8px;--r-card:24px;--shadow-card:none;--glass:#ffffffb8;--quiet:#1015140f;--solid:#101514;--solid-ink:#fff;--warm:#e2761b;--warm-soft:#fff1e6;--field-a:#9fe6d3;--field-b:#a8cbf4;--field-c:#ffbe93;--field-base:#ddefea;--field-line:#ffffffd9;--font:"Geist", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--state-error:#8c3a28;--alarm:#8c3a28;--alarm-ink:#fff3ef;--manager:#6b4a8c;--manager-s:#ece3f2;--manager-ink:#4a2e63}[data-theme=dark]{--bg:#0b0f0e;--surface:#141918;--sunken:#1b2120;--ink:#edf2f0;--ink-2:#a3ada9;--ink-3:#727c78;--ink-d:#4a5450;--line-s:#ffffff12;--line:#ffffff21;--green:#7fb58a;--green-s:#1a2d22;--green-ink:#b8d4bd;--inverse:#000;--alarm:#db9684;--alarm-ink:#2a1410;--shadow-card:none;--glass:#1c2220b8;--quiet:#ffffff14;--solid:#edf2f0;--solid-ink:#0b0f0e;--warm:#ff9f55;--warm-soft:#2a1a0e;--field-a:#11594e;--field-b:#1d3d66;--field-c:#7a3f1f;--field-base:#0f2621;--field-line:#ffffff59}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);min-height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.shell{max-width:1240px;margin:0 auto;padding:32px 32px 64px}@media (max-width:700px){.shell{padding:20px 16px 48px}}.app-header{background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);z-index:100;border-bottom:1px solid var(--line-s);align-items:center;gap:28px;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.brand{flex:none;align-items:center;gap:10px;display:flex}.monogram{background:var(--green);color:#f5f1e8;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:700;display:flex}[data-theme=dark] .monogram{color:#1a1816}.wordmark{flex-direction:column;line-height:1.15;display:flex}.wordmark .prod{color:var(--ink);letter-spacing:-.01em;font-size:16px;font-weight:700}.wordmark .co{color:var(--ink-3);font-size:11px}.app-header-right{align-items:center;gap:10px;margin-left:auto;display:flex}.header-btn{color:var(--ink-2);border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 12px;font-size:13px;font-weight:500}.header-btn:hover{background:var(--sunken);color:var(--ink)}.app-nav{align-items:center;gap:2px;min-width:0;display:flex}.app-nav-menu{position:relative}.app-nav-link{color:var(--ink-2);background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:500;transition:background .1s,color .1s;display:inline-flex}.app-nav-link:hover,.app-nav-link.open{background:var(--sunken);color:var(--ink)}.app-nav-link.active{color:var(--ink);background:var(--green-s)}.app-nav-caret{color:var(--ink-3);flex:none}.app-nav-pop,.user-menu-pop{background:var(--surface);border:1px solid var(--line-s);z-index:120;border-radius:12px;min-width:220px;padding:6px;position:absolute;top:calc(100% + 8px);box-shadow:0 12px 32px #1f1d1a1f,0 2px 6px #1f1d1a0f}.app-nav-pop{flex-direction:column;display:flex;left:0}.app-nav-pop-item{color:var(--ink);border-radius:8px;padding:8px 12px;font-size:14px;font-weight:500;display:block}.app-nav-pop-item:hover{background:var(--sunken)}.user-menu{position:relative}.user-menu-btn{border:1px solid var(--line-s);background:var(--surface);color:var(--ink-2);border-radius:999px;align-items:center;gap:8px;max-width:240px;padding:4px 10px 4px 4px;font-size:13px;font-weight:500;display:inline-flex}.user-menu-btn:hover,.user-menu-btn.open{background:var(--sunken)}.user-menu-avatar{background:var(--green);color:#f5f1e8;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:inline-flex}[data-theme=dark] .user-menu-avatar{color:#1a1816}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-menu-pop{min-width:280px;padding:8px;right:0}.user-menu-who{border-bottom:1px solid var(--line-s);margin-bottom:6px;padding:6px 8px 10px}.user-menu-email{color:var(--ink);overflow-wrap:anywhere;font-size:13px;font-weight:600}.user-menu-role{color:var(--ink-3);font-size:12px}.user-menu-row{color:var(--ink-2);justify-content:space-between;align-items:center;gap:12px;padding:6px 8px;font-size:13px;display:flex}.user-menu-signout{text-align:left;border:none;border-top:1px solid var(--line-s);width:100%;color:var(--ink-2);background:0 0;margin-top:6px;padding:8px;font-size:13px;font-weight:500}.user-menu-signout:hover{color:var(--ink);background:var(--sunken);border-radius:0 0 8px 8px}.theme-toggle,.view-toggle{background:var(--sunken);border-radius:8px;padding:2px;display:inline-flex}.theme-toggle button,.view-toggle button{font-family:var(--font);cursor:pointer;color:var(--ink-3);background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500}.theme-toggle button.active,.view-toggle button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #1f1d1a1a}.view-toggle button:disabled{opacity:.5;cursor:wait}.preview-banner{z-index:99;color:var(--ink-2);text-align:center;background:#f59e5624;border-bottom:1px solid #f59e564d;padding:8px 32px;font-size:13px;position:sticky;top:64px}[data-theme=dark] .preview-banner{color:#f4b884}@media (max-width:900px){.app-header{flex-wrap:wrap;gap:8px 12px;height:auto;padding:10px 16px 0}.app-nav{scrollbar-width:none;order:3;width:100%;margin:0 -4px;padding-bottom:8px;overflow-x:auto}.app-nav::-webkit-scrollbar{display:none}.wordmark .co,.user-menu-name{display:none}.app-nav-link{white-space:nowrap;padding:6px 10px}.app-nav-pop{position:fixed;top:auto;left:16px;right:16px}.preview-banner{position:static;top:0}}.projects-toolbar{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.toolbar-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex:0 0 280px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.search-box input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.search-glass{color:var(--ink-3);font-size:14px;line-height:1}.search-clear{color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.search-clear:hover{color:var(--ink)}.filter-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;font-weight:500;transition:background .1s,color .1s;display:inline-flex}.chip:hover{background:var(--sunken)}.chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip-count{font-family:var(--mono);color:var(--ink-3);background:var(--sunken);border-radius:999px;padding:1px 6px;font-size:10px}.toolbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.ghost-toggle{color:var(--ink-2);border:1px solid var(--line);border-radius:var(--r);background:var(--surface);cursor:pointer;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.ghost-toggle:hover{background:var(--sunken)}select.ghost-toggle{padding-right:24px}.ghost-toggle input[type=checkbox]{cursor:pointer;margin:0}.projects-empty-filtered{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);text-align:center;color:var(--ink-3);padding:36px 24px;font-size:13px}.projects-table-card{background:var(--surface);border:1px solid var(--line-s);box-shadow:var(--shadow-card);border-radius:12px;overflow:hidden}table.projects-list{border-collapse:collapse;width:100%;font-size:13px}table.projects-list thead th{text-align:left;letter-spacing:0;color:var(--ink-3);background:var(--sunken);border-bottom:1px solid var(--line);padding:12px 16px;font-size:12px;font-weight:500}table.projects-list tbody td{border-bottom:1px solid var(--line-s);color:var(--ink);vertical-align:middle;padding:12px 16px}table.projects-list tbody tr:last-child td{border-bottom:none}table.projects-list tbody tr.row-link{cursor:pointer}.proj-name{color:var(--ink);font-weight:600}.proj-sub{color:var(--ink-3);margin-top:2px;font-size:11px}.price{font-family:var(--mono);font-weight:600}.price-sub{font-family:var(--mono);color:var(--ink-3);margin-top:2px;font-size:10px}.price.pending{font-family:var(--font);color:var(--ink-3);font-weight:500}.updated-date{font-family:var(--mono);color:var(--ink-3);font-size:11px}.updated-rel{color:var(--ink-3);margin-top:2px;font-size:11px}.badge,.status-dot{color:var(--ink-2);white-space:nowrap;align-items:center;gap:7px;font-size:13px;font-weight:500;display:inline-flex}.badge .pip{background:var(--ink-d);border-radius:50%;width:7px;height:7px}.status-dot:before{content:"";background:var(--ink-d);border-radius:50%;width:7px;height:7px}.badge.quoted .pip,.status-dot.quoted:before{background:#c08a2e}.badge.approved .pip,.status-dot.approved:before{background:var(--green)}.badge.in_production .pip,.status-dot.in_production:before{background:#3f6fb5}.badge.completed .pip,.status-dot.completed:before{background:var(--ink-3)}.badge.archived{color:var(--ink-3)}.owner-cell{align-items:center;gap:6px;display:inline-flex}.avatar{background:var(--green);color:#f5f1e8;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:700;display:inline-flex}[data-theme=dark] .avatar{color:#1a1816}.owner-name{color:var(--ink-2);font-size:12px}.actions-cell{justify-content:flex-end;align-items:center;gap:4px;display:flex}.row-btn{letter-spacing:0;color:var(--ink-2);background:0 0;border:1px solid #0000;border-radius:4px;padding:5px 10px;font-size:12px}.row-btn:hover{background:var(--sunken);border-color:var(--line)}.row-btn.primary{color:var(--green-ink);border-color:var(--green-s);background:var(--green-s)}[data-theme=dark] .row-btn.primary{color:var(--green-ink)}.row-menu-anchor{display:inline-block;position:relative}.row-menu{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);z-index:30;flex-direction:column;gap:2px;min-width:160px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #00000024}.row-menu-item{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:4px;width:100%;padding:7px 10px;font-size:12px;display:block}.row-menu-item:hover{background:var(--sunken)}.row-menu-item.danger{color:var(--state-error)}.row-menu-item.danger:hover{background:#8c3a2814}.row-menu-divider{background:var(--line-s);height:1px;margin:4px 0}.bom-to-summary-btn{background:var(--green);color:#f5f1e8;border:1px solid var(--green);border-radius:var(--r);letter-spacing:.02em;justify-content:center;align-items:center;gap:6px;margin-top:18px;padding:10px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:background .1s,transform 60ms;display:flex}[data-theme=dark] .bom-to-summary-btn{color:#1a1816}.bom-to-summary-btn:hover{background:var(--green-ink)}[data-theme=dark] .bom-to-summary-btn:hover{color:#f5f1e8;background:var(--green)}.bom-to-summary-btn:active{transform:translateY(1px)}.summary-hero{background:var(--surface);border:1px solid var(--line-s);box-shadow:var(--shadow-card);border-radius:12px;grid-template-columns:1.6fr 1fr;gap:24px;margin-bottom:24px;padding:24px 28px;display:grid}.summary-hero-left{flex-direction:column;gap:18px;display:flex}.summary-hero-right{flex-direction:column;align-items:flex-end;display:flex}.summary-tier-block{border-top:1px solid var(--line-s);padding-top:14px}.summary-tier-label{letter-spacing:0;color:var(--ink-3);align-items:center;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.summary-tier-scope{background:var(--sunken);color:var(--ink-3);letter-spacing:.06em;border-radius:3px;padding:1px 6px;font-size:9px}.summary-tier-readout{color:var(--ink);font-size:14px;font-weight:600}.summary-tier-hint{color:var(--ink-3);margin-top:2px;font-size:11px}.summary-tier-buttons{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.summary-tier-btn{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:500;transition:background .1s,color .1s}.summary-tier-btn:hover{background:var(--sunken)}.summary-tier-btn.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.summary-tier-btn:disabled{opacity:.5;cursor:wait}.summary-tier-specials{background:var(--sunken);border:1px solid var(--line);border-radius:var(--r);align-items:center;gap:6px;width:fit-content;margin-top:8px;padding:8px 10px;display:flex}.summary-tier-specials-label{letter-spacing:0;color:var(--ink-3);font-size:12px}.summary-tier-specials input{border:1px solid var(--line);background:var(--surface);width:70px;color:var(--ink);font-family:var(--mono);text-align:right;border-radius:4px;outline:none;padding:4px 6px;font-size:13px}.summary-tier-specials-suffix{font-family:var(--mono);color:var(--ink-3);font-size:12px}.summary-margin-block{border-top:1px solid var(--line-s);flex-direction:column;gap:6px;padding-top:14px;display:flex}.summary-margin-row{color:var(--ink-2);justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.summary-margin-row.strong{color:var(--ink);margin-top:2px;font-size:14px;font-weight:600}.summary-margin-row.dim{color:var(--ink-3);font-size:12px}.summary-side-block{background:var(--sunken);border:1px solid var(--line);border-radius:var(--r);text-align:right;width:100%;padding:18px 22px}.summary-side-label{letter-spacing:0;color:var(--ink-3);margin-bottom:6px;font-size:12px}.summary-side-amount{font-family:var(--mono);color:var(--ink);letter-spacing:-.01em;margin-bottom:8px;font-size:32px;font-weight:700}.summary-side-sub{color:var(--ink-2);font-size:12px;line-height:1.5}.summary-side-sub .strike{color:var(--ink-3);text-decoration:line-through}.summary-side-sub .green{color:var(--green);font-weight:600}.summary-pdf-stack{flex-direction:column;align-items:flex-end;gap:6px;width:100%;margin-top:12px;display:flex}.summary-pdf-row{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.summary-pdf-label{letter-spacing:0;color:var(--ink-3);margin-bottom:2px;font-size:12px}.summary-pdf-btn{background:var(--green-s);border:1px solid var(--green);border-radius:var(--r);color:var(--green-ink);letter-spacing:.02em;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;text-decoration:none;transition:background .1s,color .1s,transform 60ms;display:flex}.summary-pdf-btn:hover{background:var(--green);color:#f5f1e8}.summary-pdf-btn:active{transform:translateY(1px)}[data-theme=dark] .summary-pdf-btn:hover{color:#1a1816}.kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--line-s);box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;gap:4px;padding:16px 18px;display:flex;position:relative}.kpi-card.has-discount{border-color:var(--green-s);background:linear-gradient(180deg, var(--green-s) 0%, var(--surface) 100%)}.kpi-discount-badge{font-family:var(--mono);letter-spacing:.08em;background:var(--green);color:#f5f1e8;border-radius:3px;padding:2px 6px;font-size:9px;position:absolute;top:8px;right:8px}[data-theme=dark] .kpi-discount-badge{color:#1a1816}.kpi-label{letter-spacing:0;color:var(--ink-3);font-size:12px}.kpi-value{font-family:var(--mono);color:var(--ink);font-size:22px;font-weight:700}.kpi-sub{color:var(--ink-3);font-size:11px}.kpi-sub.line-through{text-decoration:line-through}.kpi-cost-note{color:var(--ink-2);font-size:11px;font-family:var(--mono)}.summary-section{background:var(--surface);border:1px solid var(--line-s);box-shadow:var(--shadow-card);border-radius:12px;margin-bottom:16px;overflow:hidden}.summary-section-header{background:var(--sunken);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.summary-section-title{color:var(--ink);margin-right:12px;font-size:14px;font-weight:600}.summary-section-meta{color:var(--ink-3);font-size:11px}.summary-section-subtotal{font-family:var(--mono);color:var(--ink);font-size:16px;font-weight:700}.summary-section-body{padding:0}.summary-table{border-collapse:collapse;width:100%;font-size:13px}.summary-table thead th{text-align:left;letter-spacing:0;color:var(--ink-3);border-bottom:1px solid var(--line-s);background:var(--surface);padding:10px 16px;font-size:12px;font-weight:500}.summary-table tbody td{border-bottom:1px solid var(--line-s);vertical-align:top;padding:10px 16px}.summary-table th.r,.summary-table td.r{text-align:right}.summary-table .mono{font-family:var(--mono)}.summary-table .dim{color:var(--ink-3)}.summary-row-sub{color:var(--ink-3);align-items:center;gap:4px;margin-top:2px;font-size:11px;display:inline-flex}.summary-level-chip{font-family:var(--mono);background:var(--sunken);color:var(--ink-2);border:1px solid var(--line);border-radius:3px;padding:1px 5px;font-size:9px}.summary-subtotal-row td{border-top:1px solid var(--line);background:var(--sunken);font-weight:600}.summary-subtotal-label{text-align:right;color:var(--ink-3);letter-spacing:0;font-size:12px}.summary-discount-row td{background:var(--surface);color:var(--ink-2);font-size:12px;padding:8px 16px!important}.summary-grand-row td{background:var(--green-s);border-bottom:none;font-weight:700}.summary-grand-label{text-align:right;color:var(--green-ink);letter-spacing:0;font-size:12px}.summary-grand-amount{color:var(--green-ink);font-size:16px}.summary-defaults-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.construction-grid{grid-template-rows:auto auto auto;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:12px;display:grid}@media (max-width:1024px){.construction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.construction-field{grid-template-rows:subgrid;background:var(--sunken);border:1px solid var(--line);border-radius:var(--r);grid-row:span 3;gap:6px;padding:12px;display:grid}@supports not (grid-template-rows:subgrid){.construction-field{grid-template-rows:18px auto auto}}.construction-label{letter-spacing:0;color:var(--ink-3);font-size:12px;line-height:1.4}.construction-rate-hint{font-family:var(--mono);letter-spacing:.04em;text-transform:none;color:var(--ink-d);margin-top:2px;font-size:9px;display:block}.construction-input-row{background:var(--surface);border:1px solid var(--line);border-radius:4px;align-items:center;gap:4px;min-width:0;padding:6px 8px;display:flex}.construction-input-row input{font-family:var(--mono);color:var(--ink);-moz-appearance:textfield;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.construction-input-row input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.construction-input-row input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.construction-prefix,.construction-suffix{font-family:var(--mono);color:var(--ink-3);font-size:11px}.construction-total{font-family:var(--mono);color:var(--ink);text-align:right;font-size:13px;font-weight:600}.construction-total .dim{color:var(--ink-d);font-weight:400}.summary-default-label{letter-spacing:0;color:var(--ink-3);margin-bottom:4px;font-size:12px}.summary-default-value{color:var(--ink);font-size:13px}.bom-item-row{border-bottom:1px solid var(--line-s);cursor:pointer;border-left:3px solid #0000;align-items:center;padding:12px 16px;font-size:13px;transition:background 80ms,border-left-color 80ms;display:grid}.bom-item-row:hover,.bom-item-row.selected{background:var(--sunken)}.bom-item-row.active{background:var(--green-s);border-left-color:var(--green)}.bom-item-row.active.selected,.bom-item-row.active:hover{background:var(--green-s)}[data-theme=dark] .bom-item-row.active{background:#7fb58a1a}[data-theme=dark] .bom-item-row.active:hover{background:#7fb58a29}.btn-primary-large{background:var(--green);color:#f5f1e8;border:1px solid var(--green);border-radius:var(--r);padding:9px 16px;font-size:13px;font-weight:600}[data-theme=dark] .btn-primary-large{color:#1a1816}.btn-primary-large:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r);padding:9px 16px;font-size:13px;font-weight:500}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.dialog-backdrop{z-index:200;background:#0000008c;justify-content:center;align-items:flex-start;padding:32px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.dialog-shell{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;width:580px;max-width:100%;display:flex;box-shadow:0 20px 50px #0000002e}.dialog-header{border-bottom:1px solid var(--line-s);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.dialog-header h2{letter-spacing:-.01em;font-size:18px;font-weight:700}.dialog-close{color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:24px;line-height:1}.dialog-close:hover{color:var(--ink)}.dialog-body{flex-direction:column;gap:8px;max-height:calc(100vh - 220px);padding:8px 24px 4px;display:flex;overflow-y:auto}.dialog-footer{border-top:1px solid var(--line-s);justify-content:flex-end;gap:10px;padding:16px 24px 20px;display:flex}.dlg-section{border-bottom:1px solid var(--line-s);padding:12px 0}.dlg-section:last-child{border-bottom:none}.dlg-section-title{letter-spacing:0;color:var(--ink-3);margin-bottom:4px;font-size:12px}.dlg-section-hint{color:var(--ink-3);margin-bottom:10px;font-size:11px}.dlg-section-body{flex-direction:column;gap:12px;display:flex}.dlg-field{flex-direction:column;gap:6px;display:flex}.dlg-label{color:var(--ink-2);align-items:center;gap:4px;font-size:12px;display:flex}.dlg-req{color:var(--state-error);font-weight:700}.dlg-input{background:var(--sunken);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);outline:none;width:100%;min-width:0;padding:8px 10px;font-size:13px}.dlg-input:focus{border-color:var(--ink-2)}.dlg-input:disabled{opacity:.5;cursor:not-allowed}select.dlg-input{appearance:auto}.dlg-grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.dlg-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dlg-hint{color:var(--ink-3);font-size:11px}.dlg-warn{color:var(--state-error);font-size:11px}[data-theme=dark] .dlg-warn{color:#f4b884}.dlg-error{border:1px solid var(--state-error);border-radius:var(--r);color:var(--state-error);background:#8c3a2814;margin:0 24px 16px;padding:10px 12px;font-size:12px}:root{--state-warn:#a07a1f;--state-warn-soft:#fcfaf2;--state-success:#2f4d3a;--state-success-soft:#e0e8dd}[data-theme=dark]{--state-warn:#c7a050;--state-warn-soft:#2a2718;--state-success:#7fb58a;--state-success-soft:#1f2d24;--state-error:#db9684}.settings-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (max-width:1024px){.settings-layout{grid-template-columns:minmax(0,1fr)}.settings-preview-rail{position:static}}.settings-sections{flex-direction:column;gap:12px;min-width:0;display:flex}.settings-preview-rail{flex-direction:column;gap:16px;max-height:calc(100vh - 48px);display:flex;position:sticky;top:24px}.settings-anchor-nav{background:var(--surface);border:1px solid var(--line-s);box-shadow:var(--shadow-card);border-radius:6px;flex:none;max-height:40vh;padding:12px 14px;overflow-y:auto}.settings-anchor-nav-title{letter-spacing:0;color:var(--ink-3);margin-bottom:8px;font-size:12px}.settings-anchor-nav-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.settings-anchor-nav-link{color:var(--ink-2);border-left:2px solid #0000;border-radius:4px;padding:5px 8px;font-size:12px;text-decoration:none;transition:background .12s,color .12s,border-color .12s;display:block}.settings-anchor-nav-link:hover{background:var(--sunken);color:var(--ink)}.settings-anchor-nav-link.active{background:var(--green-s);color:var(--green-ink);border-left-color:var(--green);font-weight:600}.dirty-bar{background:var(--state-warn-soft);border-bottom:1px solid var(--state-warn);z-index:50;justify-content:space-between;align-items:center;padding:8px 24px;font-size:12px;display:flex;position:sticky;top:0}.dirty-bar strong{color:var(--state-warn)}.dirty-bar-actions{gap:6px;display:flex}.snapshot-banner{background:var(--green-s);color:var(--green-ink);border-radius:18px;margin-bottom:24px;padding:12px 16px;font-size:12px}[data-theme=dark] .snapshot-banner{color:var(--green)}.snapshot-banner strong{font-weight:600}.section-block{background:var(--surface);border:1px solid var(--line-s);box-shadow:var(--shadow-card);border-radius:12px;overflow:hidden}.section-block-header{background:var(--sunken);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--line-s);text-align:left;width:100%;font:inherit;color:inherit;border:none;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.section-block.collapsed .section-block-header{border-bottom:none}.section-block-header:hover{background:var(--line-s)}.section-header-left{align-items:center;gap:8px;display:flex}.section-toggle-icon{color:var(--ink-3);flex-shrink:0;width:12px;font-size:11px;transition:transform .15s}.section-block.collapsed .section-toggle-icon{transform:rotate(-90deg)}.section-title{letter-spacing:.02em;color:var(--ink);font-size:12px;font-weight:600}.section-subtitle{color:var(--ink-3);font-size:11px;font-weight:400}.section-badge{color:var(--ink-3);font-size:12px;font-weight:500}.section-badge.done{color:var(--state-success)}.section-badge.warn{color:var(--state-warn)}.section-badge.neutral{background:var(--bg);border-color:var(--line);color:var(--ink-3)}.section-block-body{padding:16px 24px}.section-subheading{letter-spacing:0;color:var(--ink-3);margin:0 0 6px;font-size:12px}.section-subgroup{margin-bottom:18px}.section-subgroup:last-child{margin-bottom:0}.section-hint{color:var(--ink-3);margin-top:6px;font-size:11px;line-height:1.4}.section-explainer{color:var(--ink-3);background:var(--sunken);border-left:3px solid var(--line);border-radius:0 var(--r) var(--r) 0;margin-bottom:16px;padding:8px 12px;font-size:11px;line-height:1.6}.settings-table{border-collapse:collapse;width:100%;font-size:13px}.settings-table thead th{background:var(--sunken);text-align:left;color:var(--ink-2);letter-spacing:0;border-bottom:1px solid var(--line);white-space:nowrap;padding:7px 10px;font-size:12px;font-weight:600}.settings-table thead th.r{text-align:right}.settings-table tbody td{border-bottom:1px solid var(--line-s);vertical-align:middle;padding:8px 10px}.settings-table tbody tr:last-child td{border-bottom:none}.settings-table .r{text-align:right}.key-cell{font-family:var(--mono);color:var(--ink);white-space:nowrap;font-size:11px;font-weight:500}.help-cell{color:var(--ink-3);font-size:11px}.unit-cell{color:var(--ink-3);white-space:nowrap;font-size:11px}.num-input{width:80px;font-family:var(--mono);text-align:right;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r);font-variant-numeric:tabular-nums;padding:5px 8px;font-size:12px}.num-input:focus{border-color:var(--green);outline:none}.num-input:disabled{opacity:.55;cursor:not-allowed}.text-input{font-family:var(--font);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r);padding:5px 8px;font-size:12px}.text-input:focus{border-color:var(--green);outline:none}.select-input{font-family:var(--font);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r);cursor:pointer;padding:5px 8px;font-size:12px}.select-input:focus{border-color:var(--green);outline:none}.row-remove-btn{cursor:pointer;width:22px;height:22px;color:var(--ink-d);background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;font-size:16px;display:flex}.row-remove-btn:hover{color:var(--state-error);background:#8c3a2814}.add-row-btn{font-family:var(--font);border:1px dashed var(--line);border-radius:var(--r);cursor:pointer;color:var(--ink-3);background:0 0;align-items:center;gap:5px;margin-top:12px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.add-row-btn:hover{background:var(--sunken);color:var(--ink);border-style:solid}.add-row-btn:disabled{opacity:.5;cursor:not-allowed}.mult-row{border-bottom:1px solid var(--line-s);grid-template-columns:minmax(0,1fr) 90px 60px;align-items:center;gap:12px;padding:8px 0;display:grid}.mult-row:last-child{border-bottom:none}.mult-label{color:var(--ink);font-size:13px;font-weight:500}.mult-help{color:var(--ink-3);margin-top:1px;font-size:11px}.mult-default{font-family:var(--mono);color:var(--ink-3);font-size:10px}.overrides-header{color:var(--ink-2);border-top:1px solid var(--line-s);margin-top:16px;margin-bottom:8px;padding-top:12px;font-size:11px;font-weight:600}.form-label{color:var(--ink-2);letter-spacing:.02em;margin-bottom:4px;font-size:11px;font-weight:500;display:block}.live-preview-card{background:var(--inverse);border-radius:var(--r);color:#f5f1e8;padding:16px}.lp-header{align-items:center;gap:6px;margin-bottom:12px;display:flex}.lp-pulse{background:var(--green);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse-m6}@keyframes pulse-m6{0%,to{opacity:1}50%{opacity:.4}}.lp-title{color:#f5f1e8;letter-spacing:.02em;font-size:11px;font-weight:600}.lp-sku-label{color:#f5f1e873;letter-spacing:0;margin-bottom:8px;font-size:12px}.lp-total-row{border-top:1px solid #f5f1e833;justify-content:space-between;align-items:baseline;margin-top:12px;padding-top:8px;display:flex}.lp-total-label{color:#f5f1e880;letter-spacing:0;font-size:12px}.lp-total-val{font-family:var(--mono);color:#f5f1e8;font-size:16px;font-weight:600}.save-footer{background:var(--surface);border-top:1px solid var(--line);z-index:50;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 12px #1f1d1a0f}.save-footer-left{color:var(--ink-3);font-size:12px}.save-footer-left strong{color:var(--state-warn)}.save-footer-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{font-family:var(--font);border-radius:var(--r);border:1px solid var(--line);cursor:pointer;background:var(--surface);color:var(--ink);align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.btn:hover{background:var(--sunken)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--green);color:#f5f1e8;border-color:var(--green)}.btn-primary:hover{background:var(--green-ink)}[data-theme=dark] .btn-primary{color:#1a1816}.btn-sm{padding:4px 9px;font-size:11px}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--sunken);color:var(--ink)}.tpl-switcher-card{background:var(--surface);border-radius:var(--r-card);margin-bottom:14px;padding:18px}.tpl-switcher-card .head{letter-spacing:0;color:var(--green);margin-bottom:10px;font-size:12px}.tpl-switcher-card select{background:var(--bg);width:100%;color:var(--ink);border:1px solid var(--line);border-radius:8px;margin-bottom:6px;padding:7px 10px;font-size:13px}.tpl-switcher-card .meta{color:var(--ink-3);margin:4px 0;font-size:11px}.tpl-switcher-card .row-actions{gap:6px;margin-top:6px;display:flex}.templates-list{border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden}.tpl-row{border-bottom:1px solid var(--line-s);grid-template-columns:28px minmax(0,1fr) 90px 240px;align-items:center;gap:12px;padding:10px 14px;display:grid}.tpl-row:last-child{border-bottom:0}.tpl-row.retired{opacity:.55;font-style:italic}.tpl-row .name{color:var(--ink);font-size:13.5px}.tpl-row .desc{color:var(--ink-3);margin-top:2px;font-size:11px}.tpl-row .meta{font-family:var(--mono);color:var(--ink-3);font-size:11px}.tpl-row .actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.tpl-row .mini-btn{color:var(--ink-2);border:1px solid var(--line);font-size:11px;font-family:var(--mono);cursor:pointer;background:0 0;border-radius:3px;padding:3px 9px}.tpl-row .mini-btn:hover{background:var(--sunken);color:var(--ink)}.tpl-row .mini-btn.primary{background:var(--green-s);color:var(--green-ink);border-color:var(--green)}.tpl-switcher-card .mini-btn{color:var(--ink-2);border:1px solid var(--line);font-size:11px;font-family:var(--mono);cursor:pointer;background:0 0;border-radius:3px;padding:4px 10px}.tpl-switcher-card .mini-btn:hover{background:var(--sunken);color:var(--ink)}.tpl-switcher-card .mini-btn.primary{background:var(--green-s);color:var(--green-ink);border-color:var(--green)}.tpl-switcher-card .mini-btn:disabled{opacity:.45;cursor:not-allowed}.supplier-entry-picker{width:100%;display:inline-block}.supplier-entry-picker select{width:100%;padding:4px 6px;font-size:12px}.supplier-entry-picker .picker-status{color:var(--ink-3);font-size:11px;font-style:italic}.supplier-entry-picker .picker-status.error{color:var(--state-error)}.tpl-card{border-bottom:1px solid var(--line-s);margin-bottom:14px;padding:0 0 14px}.tpl-card.locked{color:var(--ink-2)}.tpl-card .head{letter-spacing:0;color:var(--ink-3);margin-bottom:8px;font-size:12px;font-weight:500}.tpl-card.locked .head{color:var(--ink-3)}.tpl-card select{background:var(--bg);width:100%;color:var(--ink);border:1px solid var(--line);border-radius:4px;margin-bottom:6px;padding:7px 10px;font-size:13px}.tpl-card .lock-display{color:var(--ink);align-items:center;gap:8px;font-size:14px;display:flex}.tpl-card .lock-display .lock{color:var(--tan)}.suppliers-toolbar{gap:10px;margin-bottom:14px;display:grid}.suppliers-toolbar .toolbar-row{background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:10px;padding:0;display:flex}.suppliers-list tbody tr{cursor:pointer}.suppliers-list .sub{color:var(--ink-3);margin-top:2px;font-size:11.5px}.suppliers-list .tag{font-family:var(--mono);background:var(--sunken);color:var(--ink-3);border:1px solid var(--line);letter-spacing:.04em;border-radius:999px;margin-right:4px;padding:2px 7px;font-size:10px;display:inline-block}.supplier-detail-grid{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (max-width:880px){.supplier-detail-grid{grid-template-columns:minmax(0,1fr)}.supplier-entries-card,.supplier-files-card{overflow-x:auto}}.supplier-contact-card,.supplier-entries-card,.supplier-files-card{background:var(--surface);border:1px solid var(--line-s);box-shadow:var(--shadow-card);border-radius:12px;padding:18px 20px}.supplier-files-card{grid-column:2}.supplier-entries-card{grid-area:2/1/auto/-1}@media (max-width:880px){.supplier-files-card{grid-column:auto}.supplier-entries-card{grid-row:auto}}.supplier-contact-card h4,.supplier-entries-card h4,.supplier-files-card h4{letter-spacing:0;color:var(--ink-3);margin:0 0 14px;font-size:12px;font-weight:500}.supplier-field{gap:4px;margin-bottom:12px;display:grid}.supplier-field label{letter-spacing:0;color:var(--ink-3);font-size:12px}.supplier-field input,.supplier-field textarea,.supplier-field select{background:var(--sunken);border:1px solid var(--line);color:var(--ink);border-radius:4px;width:100%;padding:7px 9px;font-family:inherit;font-size:13px}.supplier-field input:focus,.supplier-field textarea:focus,.supplier-field select:focus{border-color:var(--green);outline:none}.supplier-field textarea{resize:vertical}.tag-pickers{flex-wrap:wrap;gap:4px;display:flex}.entry-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:13px}.entry-table th{text-align:left;color:var(--ink-3);letter-spacing:0;border-bottom:1px solid var(--line);padding:8px;font-size:12px;font-weight:500}.entry-table td{border-bottom:1px solid var(--line-s);vertical-align:middle;padding:4px}.entry-table input,.entry-table select{color:var(--ink);background:0 0;border:1px solid #0000;border-radius:4px;width:100%;padding:5px 6px;font-family:inherit;font-size:13px}.entry-table input:focus,.entry-table select:focus{border-color:var(--green);background:var(--sunken);outline:none}.entry-table input.num{font-family:var(--mono);text-align:right}.supplier-pricing{gap:8px;display:grid}.supplier-pricing-use{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.supplier-pricing-disc{align-items:center;gap:8px;font-size:13px;display:flex}.supplier-pricing-disc input{background:var(--sunken);border:1px solid var(--line);width:72px;color:var(--ink);font-family:var(--mono);text-align:right;border-radius:4px;padding:5px 6px}.supplier-pricing-hint{color:var(--ink-3);margin:0;font-size:12px;line-height:1.45}.supplier-flag{color:var(--tan);margin:0 0 8px;font-size:12px}.entry-table .entry-changed{border-color:var(--tan);background:var(--sunken)}.entry-table .entry-unknown{color:var(--tan)}.entry-dims{align-items:center;gap:4px;display:flex}.entry-dims input{width:56px}.entry-sub{color:var(--ink-3);font-size:11px;font-family:var(--mono);white-space:nowrap}.entry-missing{color:var(--tan);font-size:11px}.entry-savebar{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;font-size:13px;display:flex;position:sticky;bottom:12px;box-shadow:0 8px 24px #0000001f}.entry-savebar span{margin-right:auto}.entry-confirm-list{margin:8px 0;padding-left:18px;font-size:13px;line-height:1.5}.entry-bulkbar{border-radius:var(--r);background:var(--sunken);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;padding:8px 12px;display:flex}.entry-bulkbar .bulk-count{margin-right:auto}.entry-tick{height:20px;accent-color:var(--green);cursor:pointer;margin:0 6px;width:20px!important}.entry-tick:disabled{cursor:not-allowed;opacity:.35}.entry-table tr.entry-ticked td{background:var(--green-s)}.entry-table input.entry-label{border-color:var(--line-s);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23878787' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 2.5l2.5 2.5L5 13.5H2.5V11z'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:13px;min-width:160px;padding-right:26px}.entry-table input.entry-label:hover{border-color:var(--line)}.entry-table input.entry-label:focus{border-color:var(--green);background-image:none}.entry-table input.entry-label.entry-changed{border-color:var(--tan)}.entry-uses{color:var(--ink-3);padding:0 6px 4px;font-size:13px;line-height:1.35}.entry-actions{white-space:nowrap;justify-content:flex-end;gap:4px;display:flex}.entry-actions .btn{min-height:34px;padding:4px 11px}.tpl-card .hint-muted{color:var(--ink-3);margin-top:4px;font-size:11px;line-height:1.4}.tpl-card .hint-update{color:var(--tan);margin-top:6px;font-size:11px}.tpl-card .btn-link{color:var(--green);font-size:11px;font-family:var(--mono);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.tpl-delta{background:var(--bg);border:1px solid var(--line);font-family:var(--mono);border-radius:4px;grid-template-columns:1fr 18px 1fr;align-items:center;gap:10px;margin:12px 0;padding:10px 14px;font-size:13px;display:grid}.tpl-delta .lbl{color:var(--ink-3);letter-spacing:0;margin-bottom:4px;font-size:12px}.tpl-delta .from{color:var(--ink-3);text-decoration:line-through}.tpl-delta .to{color:var(--green)}.tpl-delta .arrow{color:var(--ink-3);text-align:center}.cabinet-catalog-table{border:1px solid var(--line-s);box-shadow:var(--shadow-card);background:var(--surface);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.cabinet-row{border-bottom:1px solid var(--line-s);grid-template-columns:110px minmax(0,1fr) 80px 140px 110px 200px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:grid}.cabinet-row:last-child{border-bottom:0}.cabinet-row.head{background:var(--sunken);color:var(--ink-3);letter-spacing:0;font-size:12px}.cabinet-row.retired{opacity:.55;font-style:italic}.cabinet-row .mini{color:var(--ink-2);border:1px solid var(--line);font-size:11px;font-family:var(--mono);cursor:pointer;background:0 0;border-radius:3px;padding:2px 8px}.cabinet-row .mini:hover{background:var(--sunken);color:var(--ink)}.callout{border-radius:var(--r);padding:10px 14px;font-size:13px;line-height:1.5}.callout.warn{border-left:3px solid var(--tan,#c9a96b);color:var(--ink-2);background:#c9a96b26}.callout.error{border-left:3px solid var(--state-error,#d77272);color:var(--ink);background:#d772721f}.modal-backdrop{z-index:500;background:#1f1d1a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;width:90%;max-width:720px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 12px 32px #1f1d1a33}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-title{font-size:14px;font-weight:600}.modal-body{padding:18px;overflow:auto}.hardware-variants-row>td{background:var(--sunken);border-bottom:1px solid var(--line);padding:12px 16px 16px}.hardware-variants-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line-s);width:100%;box-shadow:var(--shadow-card);border-radius:4px;font-size:12.5px;overflow:hidden}.hardware-variants-table th{text-align:left;color:var(--ink-3);letter-spacing:0;border-bottom:1px solid var(--line);background:var(--sunken);padding:6px 8px;font-size:12px;font-weight:500}.hardware-variants-table th.r{text-align:right}.hardware-variants-table td{border-bottom:1px solid var(--line-s);padding:4px 8px}.hardware-variants-table td.r{text-align:right}.hardware-variants-table tr:last-child td{border-bottom:none}.hardware-variants-table input.text-input{width:100%;font-size:12px}.row-toggle-btn{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-family:inherit;font-size:11.5px}.row-toggle-btn:hover{background:var(--sunken);color:var(--ink)}.slab-sourcing-card{background:var(--surface);border:1px solid var(--line-s);box-shadow:var(--shadow-card);border-radius:8px;margin-bottom:12px}.slab-sourcing-card .card-header{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:0;padding:10px 12px;font-size:12px;font-weight:500}.slab-sourcing-grid{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.slab-sourcing-grid h4{letter-spacing:0;color:var(--ink-3);margin:12px 0 4px;font-size:12px}.slab-sourcing-grid label{grid-template-columns:140px minmax(0,1fr);align-items:center;gap:8px;display:grid}.slab-sourcing-grid label>span{color:var(--ink-2);font-size:12px}.toast-viewport{z-index:1000;pointer-events:none;flex-direction:column-reverse;gap:10px;max-width:min(380px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{pointer-events:auto;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--ink-3);color:var(--ink);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.4;animation:.18s ease-out toast-in;display:flex;box-shadow:0 12px 32px #1f1d1a33}.toast-success{border-left-color:var(--green)}.toast-error{border-left-color:#c0463b}.toast-info{border-left-color:var(--ink-3)}.toast-icon{width:18px;height:18px;font-size:11px;font-weight:700;font-family:var(--mono);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.toast-success .toast-icon{background:var(--green)}.toast-error .toast-icon{background:#c0463b}.toast-info .toast-icon{background:var(--ink-3)}.toast-message{word-break:break-word;flex:1;min-width:0}.toast-close{color:var(--ink-3);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1}.toast-close:hover{color:var(--ink)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.skeleton{background:linear-gradient(90deg, var(--line) 25%, var(--surface) 50%, var(--line) 75%);background-size:200% 100%;border-radius:6px;animation:1.3s ease-in-out infinite skeleton-shimmer;display:block}.skeleton-line{height:12px;margin:6px 0}.skeleton-row{border-radius:8px;height:44px;margin-bottom:8px}.skeleton-card{border-radius:12px;height:120px}.skeleton-page{max-width:1100px;margin:0 auto;padding:32px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.team-card{background:var(--surface);border:1px solid var(--line-s);box-shadow:var(--shadow-card);border-radius:12px;overflow:hidden}.team-row{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:12px 16px;display:flex}.team-row:last-child{border-bottom:none}.team-row>div:first-child{flex:1}.est-card{background:var(--surface);border:1px solid var(--line-s);box-shadow:var(--shadow-card);border-radius:12px;margin-bottom:24px;padding:16px 18px}.est-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.est-title{font-size:15px;font-weight:600}.est-sub{color:var(--ink-3);max-width:640px;margin-top:3px;font-size:12px}.est-actions{flex-wrap:wrap;gap:6px;display:flex}.est-btn{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.est-btn:hover{background:var(--sunken)}.est-btn:disabled{opacity:.5;cursor:wait}.est-btn-primary{background:var(--green-s);border-color:var(--green);color:var(--green-ink);font-weight:600}.est-note-row{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.est-note-input{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);min-width:240px;color:var(--ink);flex:1;padding:6px 10px;font-size:12px}.est-lock,.est-stale-note{border:1px solid var(--line);border-radius:var(--r);background:var(--sunken);color:var(--ink-2);margin-top:12px;padding:9px 12px;font-size:12px}.est-error{color:var(--state-error);margin-top:12px;font-size:12px}.est-rows{border-top:1px solid var(--line-s);margin-top:14px}.est-row{border-bottom:1px solid var(--line-s);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 0;display:flex}.est-row:last-child{border-bottom:none}.est-row.accepted{background:var(--green-s);border-radius:var(--r);padding-left:10px;padding-right:10px}.est-row-main{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:260px;display:flex}.est-row-meta{color:var(--ink-3);flex-basis:100%;order:3;font-size:11px}.est-row-actions{flex-wrap:wrap;gap:6px;display:flex}.est-rev{font-family:var(--mono);color:var(--ink-3);font-size:12px;font-weight:600}.est-ref{font-family:var(--mono);font-size:12px}.est-money{font-size:14px;font-weight:600}.est-chip{letter-spacing:0;border:1px solid var(--line);color:var(--ink-3);border-radius:999px;padding:2px 7px;font-size:12px}.est-chip-accepted{background:var(--green-s);border-color:var(--green);color:var(--green-ink)}.est-chip-declined,.est-chip-stale{border-color:var(--state-error);color:var(--state-error)}.badge.shop-active{color:var(--green-ink);border-color:var(--green);background:var(--green-s)}.badge.shop-active .pip{background:var(--green)}.badge.shop-suspended{color:#6b5c47;background:#f0e9da;border-color:#d8cfc0}.badge.shop-suspended .pip{background:#6b5c47}[data-theme=dark] .badge.shop-suspended{color:#d8cfc0;background:#d8cfc014;border-color:#6b5c47}[data-theme=dark] .badge.shop-suspended .pip{background:#d8cfc0}.badge.shop-closed{color:var(--ink-3);border-color:var(--line);background:var(--sunken);opacity:.75}.badge.shop-closed .pip{background:var(--ink-3)}.platform-bar{background:var(--ink);color:var(--bg);letter-spacing:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 40px;font-size:12px;display:flex}.platform-bar a{color:inherit;opacity:.75;text-decoration:none}.platform-bar a:hover{opacity:1}.visit-bar{background:var(--alarm);color:var(--alarm-ink);letter-spacing:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 40px;font-size:12px;display:flex}.visit-bar strong{letter-spacing:.04em;font-weight:700}.visit-bar button{letter-spacing:0;color:inherit;border-radius:var(--r);cursor:pointer;background:0 0;border:1px solid;padding:4px 10px;font-size:12px}.visit-bar button:hover:not(:disabled){background:color-mix(in srgb, currentColor 14%, transparent)}.visit-bar button:disabled{opacity:.6;cursor:default}.delivery-mode{font:inherit;color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.delivery-mode.active{color:var(--ink);font-weight:600;text-decoration:none}.apply-table th,.apply-table td{padding:4px 12px 4px 0}.apply-table td.r,.apply-table th.r{text-align:right}.cost-margin-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;padding:16px;display:grid}.cost-margin-value{font-family:var(--mono);margin-top:4px;font-size:16px}.cost-margin-pct{color:var(--ink-3);margin-left:4px;font-size:12px}.cost-margin-sub{color:var(--ink-3);margin-top:4px;font-size:11px;line-height:1.4}.materials-total-table{width:100%;font-size:13px}.materials-total-table th,.materials-total-table td{text-align:left;padding:8px 14px}.materials-total-table .r{text-align:right}.materials-total-note{color:var(--ink-3);margin-top:2px;font-size:11px}.cut-layout{flex-direction:column;gap:20px;padding:16px;display:flex}.cut-pool-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:10px;font-size:13px;display:flex}.cut-sheets{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:14px;display:grid}.cut-sheet{margin:0}.cut-sheet-svg svg{border-radius:var(--r);width:100%;height:auto;display:block}.cut-sheet figcaption{margin-top:4px;font-size:11px}.cut-back-link{font-family:var(--mono);letter-spacing:0;color:var(--ink-3);font-size:12px}.cut-eyebrow{font-family:var(--mono);letter-spacing:0;color:var(--ink-3);margin-bottom:6px;font-size:12px}.cut-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.cut-setting{flex-direction:column;gap:6px;display:flex}.cut-setting-input{height:34px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:0 10px;font-size:14px}.cut-setting-input:disabled{background:var(--sunken);color:var(--ink-2)}.cut-setting-input[aria-invalid=true]{border-color:var(--tan)}.cut-setting-source{color:var(--ink-3);font-size:11px}.cut-setting-own{color:var(--green-ink);font-weight:600}[data-theme=dark] .cut-setting-own{color:var(--green)}.cut-settings-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.cut-setting-error{color:var(--tan);font-size:12px}.cut-pending{margin:0 0 16px;font-size:12px}.cut-denominator{color:var(--ink-3);white-space:nowrap;font-size:10px}.cut-sheets-table td,.cut-parts-table td{vertical-align:top}.cut-parts-table{margin-top:4px}.summary-table td.strong{font-weight:700}.cut-sizes-table td{vertical-align:top}.cut-sizes-table td:last-child{white-space:normal;line-height:1.6}.cut-sizes-table .strong{color:var(--ink);font-weight:700}.cut-size-picker{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.cut-size-picker select{width:auto;max-width:min(100%,300px)}.cut-refused{color:var(--alarm);margin:0 0 16px;font-size:13px}.summary-cut-line{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;padding:14px 20px;font-size:13px;display:flex}@media (max-width:1100px){.cut-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.link-btn{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.stock-picker{flex-direction:column;gap:14px;display:flex}.stock-picker-head{flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:13px;display:flex}.stock-picker-all{margin-left:auto;font-size:12px}.stock-picker-list{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.stock-picker-list label{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:4px;display:inline-flex}.stock-picker-list .strong{font-weight:700}.stock-tag{border-radius:var(--r);background:var(--sunken);color:var(--ink-2);margin-left:6px;padding:0 6px;font-size:11px;display:inline-block}.stock-tag-used{color:var(--green-ink)}[data-theme=dark] .stock-tag-used{color:var(--green)}.stock-tag-idle{color:var(--tan)}.stock-filters{flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;font-size:13px;display:flex}.stock-add-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));align-items:end;gap:12px;display:grid}.stock-table td{vertical-align:top}.stock-status{font-family:var(--mono);letter-spacing:0;font-size:12px}[data-theme=dark] .stock-status-available{color:var(--green)}.stock-status-used,.stock-status-discarded{color:var(--ink-3)}.stock-table td.r{white-space:nowrap}.page-title{letter-spacing:-.02em;flex-wrap:wrap;align-items:center;gap:14px;font-size:28px;font-weight:700;line-height:1.2;display:flex}.page-title .status-dot{letter-spacing:0;font-size:14px}.project-head{margin-bottom:24px}.project-crumbs{color:var(--ink-3);gap:8px;margin-bottom:8px;font-size:13px;display:flex}.project-crumbs a:hover{text-decoration:underline}.project-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.project-meta{color:var(--ink-3);margin-top:6px;font-size:14px}.project-actions{flex-wrap:wrap;gap:8px;display:flex}.project-tabs{border-bottom:1px solid var(--line-s);gap:4px;margin-top:20px;display:flex}.project-tab{color:var(--ink-3);border-bottom:2px solid #0000;align-items:baseline;gap:6px;margin-bottom:-1px;padding:10px 14px;font-size:14px;font-weight:500;display:inline-flex}.project-tab:hover{color:var(--ink)}.project-tab.active{color:var(--ink);border-bottom-color:var(--green)}.btn-secondary{border-color:var(--line);color:var(--ink);border-radius:8px;align-items:center;gap:6px;transition:background .1s,border-color .1s;display:inline-flex}.btn-secondary:hover{background:var(--sunken);border-color:var(--ink-d)}.btn-primary-large{border-radius:8px}table.projects-list thead th{color:var(--ink-3);border-bottom:1px solid var(--line-s);background:0 0;padding:14px 16px 10px;font-size:12px;font-weight:500}table.projects-list tbody td{padding:14px 16px}.proj-name{font-size:14px}.proj-sub,.price-sub,.updated-date,.updated-rel{font-size:12px}.price{font-size:14px}.filter-chips{background:var(--sunken);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.chip{color:var(--ink-3);background:0 0;border:none;border-radius:8px;padding:6px 12px;font-size:13px}.chip:hover{color:var(--ink);background:0 0}.chip.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #1f1d1a1a}.chip-count{color:var(--ink-d);background:0 0;padding:0;font-size:12px}.chip.active .chip-count{color:var(--ink-3);background:0 0}.search-box,.ghost-toggle{border-color:var(--line);border-radius:8px}.search-box{padding:8px 12px}@media (max-width:700px){.page-title{font-size:24px}.project-tabs{overflow-x:auto}.project-tab{white-space:nowrap}.summary-hero-right{order:-1}.project-actions{width:100%}}.price,.price-sub,.kpi-value,.summary-side-amount,.summary-section-subtotal,.summary-margin-row .mono,.mono,td.r,th.r,td.num,.num-input,input[type=number]{font-variant-numeric:tabular-nums}.summary-hero-left>:first-child{border-top:none;padding-top:0}.summary-side-block{background:0 0;border:none;padding:0}.summary-side-amount{letter-spacing:-.02em;font-size:36px}.summary-tier-scope{letter-spacing:0;color:var(--ink-3);background:0 0;padding:0;font-size:12px}.summary-tier-btn{border-radius:8px}.summary-section-header{border-bottom:1px solid var(--line-s);background:0 0;padding:16px 20px}.summary-section-meta{font-size:12px}.kpi-card{padding:18px 20px}.kpi-value{letter-spacing:-.01em;font-size:24px}.kpi-sub,.kpi-cost-note{font-size:12px}.projects-toolbar .filter-chips{align-self:flex-start}@media (max-width:700px){.summary-hero{grid-template-columns:1fr;padding:18px}.summary-hero-right{align-items:stretch}.summary-side-block{text-align:left}.kpi-strip{grid-template-columns:1fr 1fr}}.bom-layout{grid-template-columns:280px minmax(0,1fr) 280px;gap:20px;display:grid}.bom-totals{position:sticky;top:80px}@media (max-width:1100px){.bom-layout{grid-template-columns:260px minmax(0,1fr)}.bom-totals{grid-column:1/-1;position:static}}@media (max-width:700px){.bom-layout{grid-template-columns:minmax(0,1fr)}.projects-table-card{overflow-x:auto}table.projects-list{min-width:720px}}.customer-pick{position:relative}.customer-pick-list{z-index:5;background:var(--surface);border:1px solid var(--line-s);border-radius:10px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 12px 32px #1f1d1a1f}.customer-pick-item{text-align:left;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:flex-start;width:100%;padding:8px 10px;display:flex}.customer-pick-item:hover{background:var(--sunken)}.customer-pick-item .name{color:var(--ink);font-size:14px;font-weight:500}.customer-pick-item .sub{color:var(--ink-3);font-size:12px}.customer-picked{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:13px;display:flex}.link-btn{color:var(--green);background:0 0;border:none;padding:0;font-size:13px;font-weight:500}.link-btn:hover{text-decoration:underline}.stage{background:var(--surface);border:1px solid var(--line-s);box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;gap:12px;margin-top:18px;padding:14px 16px;display:flex}.stage-steps{flex-wrap:wrap;gap:6px 0;margin:0;padding:0;list-style:none;display:flex}.stage-step{color:var(--ink-3);align-items:center;gap:8px;padding-right:28px;font-size:13px;font-weight:500;display:inline-flex;position:relative}.stage-step:not(:last-child):after{content:"";background:var(--line);width:12px;height:1px;position:absolute;top:50%;right:8px}.stage-mark{border:1px solid var(--line);width:22px;height:22px;color:var(--ink-3);background:var(--surface);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.stage-step.done{color:var(--ink-2)}.stage-step.done .stage-mark{background:var(--green-s);border-color:var(--green-s);color:var(--green-ink)}.stage-step.current{color:var(--ink);font-weight:600}.stage-step.current .stage-mark{background:var(--green);border-color:var(--green);color:#f5f1e8}.stage-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.stage-hint{color:var(--ink-2);flex:280px;min-width:0;font-size:13px}.stage-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stage-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;align-items:center;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}.stage-btn:hover:not(:disabled){background:var(--sunken)}.stage-btn.primary{background:var(--green);border-color:var(--green);color:#f5f1e8;font-weight:600}.stage-btn.primary:hover:not(:disabled){background:var(--green-ink)}[data-theme=dark] .stage-btn.primary{color:#1a1816}.stage-btn.ghost{color:var(--ink-2);border-color:#0000}.stage-btn:disabled{opacity:.5;cursor:not-allowed}.stage-confirm{background:var(--sunken);color:var(--ink-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.stage-confirm>span{flex:320px}.stage-note{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex:320px;min-width:0;padding:8px 10px;font-size:13px}.stage-error{color:var(--state-error);font-size:13px}.status-dot.quoted:before{background:#c08a2e}@media (max-width:700px){.stage-step{padding-right:14px;font-size:12px}.stage-step:not(.current){gap:0;font-size:0}.stage-step:not(:last-child):after{display:none}}.bom-totals{max-height:calc(100vh - 96px);overflow-y:auto}@media (max-width:1100px){.bom-totals{max-height:none;overflow:visible}}.bom-mods div{min-width:0}.bom-mods select{flex:0 auto}.app-header{background:var(--glass);height:56px;box-shadow:inset 0 0 0 1px var(--line-s);border-bottom:none;border-radius:999px;margin:12px 20px 0;padding:0 8px 0 14px;top:12px}.monogram{border-radius:50%;width:28px;height:28px;font-size:12px}.wordmark .co{font:400 10px var(--mono);letter-spacing:.06em;text-transform:uppercase}.app-nav-link{color:var(--ink-2);border-radius:999px;padding:7px 14px}.app-nav-link:hover,.app-nav-link.open{background:var(--quiet)}.app-nav-link.active{background:var(--surface);color:var(--ink)}.app-nav-pop,.user-menu-pop{box-shadow:0 18px 40px -12px #10151438, inset 0 0 0 1px var(--line-s);border:none;border-radius:20px}.app-nav-pop-item{border-radius:12px}.app-nav-pop-item.active{background:var(--quiet)}.user-menu-btn{background:var(--surface);border:none}.user-menu-avatar{color:var(--ink);background:#d7f0e8}[data-theme=dark] .user-menu-avatar{color:var(--ink);background:#163a32}.theme-toggle,.view-toggle{background:var(--quiet);border-radius:999px}.theme-toggle button,.view-toggle button{border-radius:999px}.theme-toggle button.active,.view-toggle button.active{box-shadow:none}.header-btn{background:var(--quiet);border:none;border-radius:999px}@media (max-width:900px){.app-header{border-radius:28px;height:auto;margin:8px 8px 0;padding:8px 10px 0 12px;top:8px}}.projects-table-card,.summary-hero,.kpi-card,.summary-section,.settings-anchor-nav,.section-block,.supplier-files-card,.cabinet-catalog-table,.hardware-variants-table,.slab-sourcing-card,.team-card,.est-card,.stage,.dialog-shell,.modal{box-shadow:none;border-radius:var(--r-card);border:none}.btn-primary-large,.stage-btn,.btn-secondary,.btn,.est-btn,.summary-tier-btn,.row-btn,.bom-to-summary-btn,.ghost-toggle,.search-box{border-radius:999px}.btn-secondary,.stage-btn,.est-btn,.btn{background:var(--quiet);color:var(--ink);border:none}.btn-secondary:hover,.stage-btn:hover:not(:disabled),.est-btn:hover,.btn:hover{background:var(--line)}.btn-primary,.stage-btn.primary,.btn-primary-large{background:var(--green);color:#fff;border:none}[data-theme=dark] .btn-primary,[data-theme=dark] .stage-btn.primary,[data-theme=dark] .btn-primary-large{color:#0b0f0e}.stage-btn.primary{box-shadow:0 10px 24px -12px #2f4d3a8c}.stage-btn.ghost{color:var(--ink-2);background:0 0}.bom-to-summary-btn{background:var(--solid);border-color:var(--solid);color:var(--solid-ink)}.bom-to-summary-btn:hover{background:var(--solid);opacity:.88}[data-theme=dark] .bom-to-summary-btn,[data-theme=dark] .bom-to-summary-btn:hover{color:var(--solid-ink);background:var(--solid)}table.projects-list thead th,.kpi-label,.summary-side-label,.summary-tier-label,.summary-tier-scope,.summary-pdf-label,.summary-table th,.tpl-card .head,.settings-anchor-nav h4{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500}.price,.price-sub,.kpi-value,.summary-side-amount,.summary-section-subtotal,.updated-date,.chip-count,.est-money,.est-ref,.est-rev{font-family:var(--mono);letter-spacing:-.02em}.kpi-value{letter-spacing:-.04em;font-size:28px;font-weight:500}.page-title{letter-spacing:-.04em;font-size:40px;font-weight:500}.badge,.status-dot{font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid;border-radius:999px;gap:0;padding:3px 8px}.badge .pip,.status-dot:before{display:none}.badge.draft,.status-dot.draft{color:var(--ink-3)}.badge.quoted,.status-dot.quoted{color:var(--warm);background:0 0}.badge.approved,.status-dot.approved{color:var(--green);background:0 0}.badge.in_production,.status-dot.in_production{color:#3f6fb5;background:0 0}.badge.completed,.status-dot.completed{color:var(--ink-2);background:0 0}[data-theme=dark] .badge.in_production{color:#8db2ee}.est-chip{font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid;background:0 0!important}table.projects-list tbody td{border-bottom:none;position:relative}table.projects-list tbody tr+tr td{box-shadow:inset 0 1px 0 var(--line-s)}table.projects-list tbody tr.row-link:hover{background:var(--bg)}table.projects-list thead th{border-bottom:none}.summary-section-header{border-bottom:none;padding:20px 22px 6px}.summary-section-title{letter-spacing:-.02em;font-size:18px;font-weight:500}.summary-table td{border-color:var(--line-s)!important}.filter-chips,.project-tabs{background:var(--quiet);border-bottom:none;border-radius:999px;gap:2px;padding:3px;display:inline-flex}.chip,.project-tab{color:var(--ink-2);border:none;border-radius:999px;margin:0;padding:7px 16px;font-size:14px}.chip.active,.project-tab.active{background:var(--surface);color:var(--ink);box-shadow:none;border:none}.project-tabs{align-self:flex-start;margin-top:22px}.summary-tier-buttons{background:var(--quiet);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.summary-tier-btn{color:var(--ink-2);background:0 0;border:none;padding:6px 14px;font-size:13px}.summary-tier-btn.active{background:var(--surface);color:var(--ink)}.search-box,.ghost-toggle,.dlg-input,.num-input,.text-input,.select-input,select,.stage-note,.est-note-input{border-color:var(--line-s);background:var(--surface)}.dlg-input{border-radius:12px}.project-crumbs{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase}.project-crumbs a{color:var(--ink-2)}.project-meta{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:14px;margin-top:12px;display:flex}.project-head .project-tabs{margin-top:22px}.project-head{flex-direction:column;display:flex}.stage{padding:18px 20px}.stage-mark{width:26px;height:26px;font:500 11px var(--mono);background:var(--quiet);border:none}.stage-step.done .stage-mark{background:var(--quiet);color:var(--ink)}.stage-step.current .stage-mark{background:var(--solid);color:var(--solid-ink)}[data-theme=dark] .stage-step.current .stage-mark{color:var(--solid-ink)}.stage-step:not(:last-child):after{background:var(--line-s);width:22px;right:6px}.stage-confirm{background:var(--bg);border-radius:18px}.cust-link{font:500 14px var(--font);letter-spacing:0;text-transform:none;color:var(--ink);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--ink-d);text-decoration-color:var(--ink-d);text-underline-offset:3px;background:0 0;border:none;padding:0}.cust-link:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.cust-wrap{position:relative}.cust-pop{z-index:40;background:var(--surface);width:min(360px,86vw);box-shadow:0 18px 40px -12px #10151440, inset 0 0 0 1px var(--line-s);font:400 14px var(--font);letter-spacing:0;text-transform:none;color:var(--ink);border-radius:20px;gap:14px;padding:18px;display:grid;position:absolute;top:calc(100% + 10px);left:0}.cust-pop strong{letter-spacing:-.02em;font-size:18px;font-weight:500}.cust-pop dl{grid-template-columns:76px minmax(0,1fr);gap:8px 12px;margin:0;display:grid}.cust-pop dt{font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-top:3px}.cust-pop dd{overflow-wrap:anywhere;margin:0}.cust-pop dd.mono{font-family:var(--mono)}.cust-pop dd.empty{color:var(--ink-3)}.cust-pop .proj{justify-content:space-between;gap:8px;display:flex}.cust-pop .proj a{color:var(--ink)}.cust-pop .proj a:hover{text-decoration:underline}.cust-pop .row{flex-wrap:wrap;gap:8px;display:flex}.summary-hero{align-items:stretch;gap:6px;padding:6px}.summary-hero-left{padding:18px 18px 16px}.summary-hero-right{align-items:stretch}.summary-side-block{text-align:left;border-radius:20px;flex-direction:column;justify-content:flex-end;height:100%;min-height:300px;display:flex;position:relative;overflow:hidden;background:radial-gradient(60% 80% at 22% 30%, var(--field-a), transparent 70%), radial-gradient(55% 75% at 82% 25%, var(--field-b), transparent 70%), radial-gradient(60% 70% at 65% 100%, var(--field-c), transparent 70%), var(--field-base)!important;padding:22px!important}.summary-side-block:before{content:"";background-image:radial-gradient(var(--field-line) 1px, transparent 1.3px);opacity:.45;background-size:10px 10px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 30% 75%,#0000);mask-image:linear-gradient(#0000,#000 30% 75%,#0000)}.summary-side-block>*{position:relative}.summary-side-block .elev{width:min(46%,280px);height:auto;position:absolute;top:22px;right:20px}.summary-side-block .elev *{stroke:var(--field-line);fill:none;stroke-width:2px;stroke-linejoin:round}.summary-side-block .elev .thin{stroke-width:1.2px}.summary-side-label{color:var(--ink-2)}.summary-side-amount{letter-spacing:-.05em;margin:8px 0 10px;font-size:clamp(40px,5vw,60px);font-weight:500;line-height:1}.summary-side-sub{font-family:var(--mono);letter-spacing:-.01em;color:var(--ink-2);font-size:12px}.summary-margin-row .mono{font-family:var(--mono)}.summary-margin-block{border-top:none;gap:0}.summary-margin-row{box-shadow:inset 0 1px 0 var(--line-s);padding:10px 0;font-size:14px}.summary-margin-row:first-child{box-shadow:none}.summary-margin-row .green{color:#2e9b6a}.tpl-card{border-bottom-color:var(--line-s)}.dialog-shell{border-radius:28px}.toast{box-shadow:0 12px 30px -10px #10151440, inset 0 0 0 1px var(--line-s);border:none;border-radius:999px}.avatar{color:var(--ink);background:#d7f0e8}.avatar.estimator{background:#dcebfb}.avatar.manager{background:#e6defc}[data-theme=dark] .avatar{color:var(--ink);background:#163a32}[data-theme=dark] .avatar.estimator{background:#172c45}[data-theme=dark] .avatar.manager{background:#2a2347}@media (max-width:700px){.page-title{font-size:30px}.summary-side-block{min-height:240px}}.section-block-header{background:0 0;border-bottom:none;padding-top:18px}.settings-anchor-nav a.active,.settings-anchor-nav .active{border-radius:999px}.summary-tier-scope:before{content:"· "}table.projects-list tbody tr+tr td:first-child{box-shadow:inset 0 1px 0 var(--line-s)}.start-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,320px);align-items:baseline;gap:16px;padding:10px 0;display:grid}@media (max-width:760px){.start-row{grid-template-columns:minmax(0,1fr);gap:4px}}.table-scroll{max-width:100%;overflow-x:auto}.shell input:not([class]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),.shell select:not([class]),.shell textarea:not([class]){font:400 13px var(--font);color:var(--ink);background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:10px;max-width:100%;min-height:32px;padding:6px 10px}.shell input:not([class]):focus-visible,.shell select:not([class]):focus-visible,.shell textarea:not([class]):focus-visible{outline:2px solid var(--green);outline-offset:1px}.shell button:not([class]){font:500 13px var(--font);color:var(--ink);background:var(--quiet);cursor:pointer;border:none;border-radius:999px;padding:6px 14px}.shell button:not([class]):hover:not(:disabled){background:var(--line)}.shell button:not([class]):disabled{opacity:.5;cursor:default}@media (max-width:760px){.filter-chips{scrollbar-width:none;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.filter-chips::-webkit-scrollbar{display:none}.filter-chips .chip{white-space:nowrap;flex:none}.platform-shop-row{grid-template-columns:minmax(0,1fr) auto!important}.platform-shop-row>:nth-child(3),.platform-shop-row>:nth-child(4){grid-column:1/-1;justify-content:flex-start!important}.summary-section-body{overflow-x:auto}.cut-sizes-table,.cut-sheets-table,.cut-parts-table{min-width:560px}}html,body{font-size:16px}.shell{max-width:1400px}.summary-table{font-size:15px}.summary-table thead th{padding:12px 20px;font-size:12px}.summary-table tbody td{padding:14px 20px}.summary-section-title{font-size:20px}.summary-section-subtotal{font-size:18px}.summary-section-header{padding:22px 22px 8px}.summary-row-sub,.materials-total-note,.cut-setting-source,.section-hint,.summary-section-meta,.proj-sub,.price-sub,.updated-date,.updated-rel,.hint-muted,.kpi-sub,.kpi-cost-note,.est-sub,.est-row-meta,.owner-name,.help-cell,.unit-cell,.dlg-hint,.mult-help,.section-subtitle,.supplier-pricing-hint,.entry-sub,.cut-denominator,.summary-tier-hint,.cost-margin-sub,.summary-side-sub,.summary-tier-scope,.summary-subtotal-label,.summary-discount-row td{font-size:13px}.section-hint{font-size:14px;line-height:1.5}.cut-sizes-note{color:var(--ink-3);margin:14px 20px 18px}.summary-level-chip{padding:1px 6px;font-size:11px}.proj-name,.price{font-size:16px}table.projects-list thead th{font-size:12px}.settings-table{font-size:15px}.key-cell{font-size:12px}.summary-tier-btn{padding:8px 16px;font-size:15px}.summary-margin-row{font-size:15px}.kpi-value{font-size:30px}@media (max-width:480px){.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-value{overflow-wrap:anywhere;font-size:22px}}.toast{font-size:15px}.badge,.status-dot,.est-chip{font-size:11px}.app-nav-link{font-size:15px}.chip,.project-tab{padding:9px 20px;font-size:16px}.btn,.btn-secondary,.btn-primary,.est-btn,.summary-pdf-btn,.header-btn,.dlg-input,.num-input,.text-input,.select-input,.search-box,.stage-note{font-size:15px}.shell input:not([class]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),.shell select:not([class]),.shell textarea:not([class]){min-height:40px;padding:8px 12px;font-size:15px}.shell button:not([class]){padding:9px 18px;font-size:15px}.logo-mark{flex:none;display:block}.logo-tile{fill:var(--green)}.logo-rings{stroke:#f5f1e8}.logo-egg,[data-theme=dark] .logo-tile{fill:#9fe6d3}[data-theme=dark] .logo-rings{stroke:#0b0f0e}[data-theme=dark] .logo-egg{fill:#2f4d3a}.project-crumbs,.project-meta{font-size:12px}.cust-link{font-size:16px}.stage{gap:16px;padding:22px 24px}.stage-step{font-size:16px}.stage-mark{width:30px;height:30px;font-size:12px}.stage-hint{font-size:15px;line-height:1.45}.stage-btn{min-height:44px;padding:11px 20px;font-size:15px}.stage-confirm{padding:14px 16px;font-size:15px}.stage-more{position:relative}.stage-more-pop{z-index:60;background:var(--surface);min-width:300px;box-shadow:0 18px 40px -12px #10151440, inset 0 0 0 1px var(--line-s);border-radius:18px;gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.stage-more-item{text-align:left;font:500 15px var(--font);color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:12px;gap:2px;padding:12px 14px;display:grid}.stage-more-item small{color:var(--ink-3);font-size:13px;font-weight:400}.stage-more-item:hover{background:var(--bg)}@media (max-width:700px){.stage-more-pop{min-width:min(300px,80vw);left:0;right:auto}}.bom-wrap{flex-direction:column;display:flex}.bom-layout{grid-template-columns:300px minmax(0,1fr) 340px;align-items:start;gap:20px}.bom-card{background:var(--surface);border-radius:var(--r-card)}.bom-label{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}.bom-catalog{padding:22px 0 8px}.bom-catalog>.bom-label,.bom-search-hint,.bom-cat-pick{margin-left:20px;margin-right:20px}.bom-search{width:calc(100% - 40px);font:400 16px var(--font);color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:14px;margin:0 20px;padding:12px 16px;display:block}.bom-search:focus-visible,.bom-select:focus-visible,.bom-input:focus-visible{outline:2px solid var(--green);outline-offset:1px}.bom-search-hint{color:var(--ink-3);min-height:20px;margin-top:6px;font-size:13px}.bom-search-hint b{color:var(--ink);font-weight:600}.bom-cat-pick{color:var(--ink-2);align-items:center;gap:10px;margin-top:12px;margin-bottom:14px;font-size:14px;display:flex}.bom-select{min-width:0;font:500 15px var(--font);color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:12px;flex:1;padding:10px 12px}.bom-select:disabled{color:var(--ink-3);background:var(--bg)}.cat-tags{flex-direction:column;gap:10px;margin:-4px 20px 14px;display:flex}.cat-tag-row{flex-direction:column;gap:6px;display:flex}.cat-tag-label{color:var(--ink-2);font-size:13px;font-weight:600}.cat-tag-chips{flex-wrap:wrap;gap:6px;display:flex}.cat-tag{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--ink);font:500 14px var(--font);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.cat-tag:hover{background:var(--bg)}.cat-tag:focus-visible{outline:2px solid var(--green);outline-offset:1px}.cat-tag.on{background:var(--ink);border-color:var(--ink);color:var(--surface)}.cat-tag-count{font:500 13px var(--mono);color:var(--ink-3)}.cat-tag.on .cat-tag-count{color:var(--ink-d)}.cat-tag-clear{cursor:pointer;min-height:32px;font:500 14px var(--font);color:var(--green-ink);text-underline-offset:3px;background:0 0;border:none;align-self:flex-start;padding:0;text-decoration:underline}.cat-list{border-top:1px solid var(--line-s)}.cat-row{width:100%;color:var(--ink);text-align:left;font:inherit;cursor:pointer;box-shadow:inset 0 -1px 0 var(--line-s);background:0 0;border:none;border-radius:0;align-items:center;gap:12px;margin:0;padding:12px 20px;display:flex}.cat-row:hover,.cat-row:focus-visible{background:var(--bg);outline:none}.cat-row:disabled{cursor:progress}.cat-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cat-name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:500;overflow:hidden}.cat-sku{font:400 13px var(--mono);color:var(--ink-3)}.cat-add{font:600 14px var(--font);color:var(--green-ink);background:var(--green-s);opacity:0;border-radius:999px;flex:none;padding:6px 14px;transition:opacity .1s}[data-theme=dark] .cat-add{color:var(--green);background:#7fb58a24}.cat-row:hover .cat-add,.cat-row:focus-visible .cat-add{opacity:1}@media (hover:none){.cat-add{opacity:1}}.cat-empty{color:var(--ink-3);padding:16px 20px;font-size:14px}.bom-items{overflow:hidden}.bom-items-head{border-bottom:1px solid var(--line-s);min-height:52px;font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);align-items:center;padding:0 20px;transition:background .12s,color .12s}.bom-item-row{padding:16px 20px 16px 17px;font-size:16px}.bom-item-row:hover,.bom-item-row.selected{background:var(--bg)}.bom-items input[type=checkbox],.mod-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--green);cursor:pointer}.item-sku{font:500 16px var(--mono)}.item-name{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:14px;overflow:hidden}.qty{justify-content:center;align-items:center;gap:4px;display:flex}.qty-btn{background:var(--quiet);width:36px;height:36px;color:var(--ink);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;line-height:1;display:inline-flex}.qty-btn:hover:not(:disabled){background:var(--line)}.qty-btn:disabled{opacity:.35;cursor:default}.qty-n{text-align:center;min-width:28px;font:500 16px var(--mono)}.item-unit{font:400 15px var(--mono);text-align:right;color:var(--ink-2)}.item-total{font:600 16px var(--mono);text-align:right}.row-x{width:34px;height:34px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-self:end;font-size:20px;line-height:1}.row-x:hover:not(:disabled){background:var(--quiet);color:var(--state-error)}.mod-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.bom-empty{text-align:center;color:var(--ink-3);padding:40px 24px;font-size:15px;line-height:1.5}.bom-empty.small{padding:24px;font-size:14px}.bulk-count{font:600 14px var(--font);letter-spacing:0;text-transform:none}.bulk-btn{font:500 14px var(--font);letter-spacing:0;text-transform:none;cursor:pointer;color:var(--green-ink);background:#1f352714;border:none;border-radius:999px;padding:6px 16px}.bulk-btn.danger{color:var(--state-error);background:#8c3a2814}.bom-custom-head{border-bottom:1px solid var(--line-s);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.bom-custom-head .bom-label{margin:0}.bom-btn{font:500 14px var(--font);background:var(--quiet);color:var(--ink);cursor:pointer;border:none;border-radius:999px;padding:9px 18px}.bom-btn:hover:not(:disabled){background:var(--line)}.custom-row{border-bottom:1px solid var(--line-s);grid-template-columns:minmax(0,2fr) minmax(0,1fr) 40px;align-items:center;gap:10px;padding:12px 20px;font-size:15px;display:grid}.custom-row-head{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:10px 20px}.custom-price{align-items:center;gap:6px;min-width:0;display:flex}.bom-input{width:100%;min-width:0;font:400 15px var(--font);color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 12px}.bom-input.num{text-align:right;font-family:var(--mono)}.mod-unit{color:var(--ink-3);font-size:14px}.bom-side{flex-direction:column;max-height:calc(100vh - 208px);padding:22px;display:flex;position:sticky;top:96px;overflow-y:auto}.bom-side .tpl-card{border-bottom:1px solid var(--line-s);background:0 0;margin:0 0 20px;padding:0 0 20px}.bom-side .tpl-card .head{margin-bottom:10px}.bom-side .tpl-card select{width:100%;font:500 15px var(--font);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;margin-bottom:6px;padding:10px 12px}.bom-side .tpl-card .hint-muted{font-size:13px}.bom-side .tpl-card .hint-update{color:var(--warm);margin-top:8px;font-size:13px;line-height:1.45}.bom-side .tpl-card .btn-link{font:600 13px var(--font);color:var(--green)}.bom-side .lock-display{display:block}.bom-side .lock-display strong{letter-spacing:-.01em;font-size:17px;font-weight:600}.lock-note{background:var(--bg);border-radius:14px;flex-direction:column;align-items:flex-start;gap:10px;margin-top:10px;padding:12px 14px;display:flex}.lock-note p{color:var(--ink-2);font-size:14px;line-height:1.45}.lock-note-btn{font:600 14px var(--font);background:var(--solid);color:var(--solid-ink);cursor:pointer;border:none;border-radius:999px;padding:8px 16px}.lock-note-btn:disabled{opacity:.5}.bom-discounts{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:20px;display:grid}.bom-discount{font:500 14px var(--font);background:var(--quiet);color:var(--ink-2);cursor:pointer;border:none;border-radius:12px;padding:11px 8px}.bom-discount:hover:not(:disabled){background:var(--line)}.bom-discount.active{background:var(--solid);color:var(--solid-ink)}.bom-custom-pct{margin-bottom:20px}.bom-side-tip{color:var(--ink-3);margin-top:18px;font-size:14px;line-height:1.45}.bom-side .slab-sourcing-card{background:var(--bg);box-shadow:none;border:none;border-radius:16px;margin:0}.slab-sourcing-card .card-header{text-align:left;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:14px 16px;display:grid}.slab-title{font:600 15px var(--font);color:var(--ink)}.slab-sub{color:var(--ink-3);grid-row:2;font-size:13px;font-weight:400}.slab-chevron{color:var(--ink-3);grid-area:1/2/span 2;align-self:center;font-size:22px;font-weight:400}.slab-sourcing-card .card-body{border-top:1px solid var(--line-s);padding:14px 16px 16px}.slab-intro{color:var(--ink-2);margin-bottom:12px;font-size:13px;line-height:1.45}.slab-sourcing-card .lock-note{background:var(--surface);margin:0 0 8px}.slab-sourcing-grid{gap:12px}.slab-sourcing-grid h4{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:14px 0 0}.slab-sourcing-grid label{grid-template-columns:minmax(0,1fr);gap:6px}.slab-sourcing-grid label>span{color:var(--ink);flex-direction:column;font-size:14px;font-weight:500;display:flex}.slab-sourcing-grid label>span .hint{color:var(--ink-3);font-size:12px;font-weight:400}.slab-sourcing-grid select{width:100%;max-width:100%;font:400 14px var(--font);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:9px 12px}.slab-sourcing-grid select:disabled{color:var(--ink-3)}.mods-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.mods-head .bom-label{margin-bottom:6px}.mods-title{font:600 22px var(--mono);letter-spacing:-.02em}.mods-sub{color:var(--ink-3);margin-top:2px;font-size:14px}.mods-done{font:600 14px var(--font);background:var(--solid);color:var(--solid-ink);cursor:pointer;border:none;border-radius:999px;flex:none;padding:9px 18px}.mods-empty{color:var(--ink-3);font-size:14px;line-height:1.5}.mod-list{gap:8px;margin-bottom:14px;display:grid}.mod-row{background:var(--bg);border-radius:14px;align-items:center;gap:10px;min-width:0;min-height:52px;padding:7px 8px 7px 14px;font-size:15px;display:flex}.mod-row.on{background:var(--green-s)}[data-theme=dark] .mod-row.on{background:#7fb58a1f}.mod-check{cursor:pointer;padding-right:14px}.mod-label{min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:15px;overflow:hidden}.mod-row select{min-width:0;max-width:62%;font:500 14px var(--font);color:var(--ink);border:1px solid var(--line-s);background:var(--surface);border-radius:10px;flex:0 auto;padding:8px 10px}.mod-row input[type=number]{width:76px;font:500 14px var(--mono);color:var(--ink);text-align:right;border:1px solid var(--line-s);background:var(--surface);border-radius:10px;padding:8px 10px}.mod-price{align-items:center;gap:4px;display:flex}.mod-mixed{color:var(--ink-3);font-size:13px}.bom-totalbar{z-index:30;background:var(--solid);color:var(--solid-ink);border-radius:999px;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:12px 12px 12px 28px;display:flex;position:sticky;bottom:16px;box-shadow:0 18px 40px -16px #10151473}.tb-figures{flex-wrap:wrap;align-items:center;gap:12px 36px;min-width:0;display:flex}.tb-fig{flex-direction:column;line-height:1.2;display:flex}.tb-k{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;opacity:.6}.tb-v{font:500 17px var(--mono)}.tb-price .tb-v{letter-spacing:-.03em;font-size:26px;font-weight:600}.tb-note{opacity:.7;font-size:13px}.tb-pending{font-family:var(--font);letter-spacing:0;opacity:.75;font-size:16px;font-weight:500}.tb-note.err{opacity:1;color:#ffb4a3}[data-theme=dark] .tb-note.err{color:var(--state-error)}.bom-totalbar .bom-to-summary-btn,[data-theme=dark] .bom-totalbar .bom-to-summary-btn{letter-spacing:0;background:var(--surface);color:var(--ink);border:none;border-radius:999px;flex:none;margin:0;padding:14px 26px;font-size:16px}.bom-totalbar .bom-to-summary-btn:hover{background:var(--surface);opacity:.88}@media (max-width:1200px){.bom-layout{grid-template-columns:280px minmax(0,1fr)}.bom-side{grid-column:1/-1;max-height:none;position:static;overflow:visible}}@media (max-width:760px){.bom-layout{grid-template-columns:minmax(0,1fr)}.bom-items{overflow-x:auto}.bom-items-head,.bom-item-row{min-width:600px}.bom-totalbar{border-radius:24px;padding:10px 10px 10px 18px}.tb-fig:not(.tb-price){display:none}.tb-price .tb-v{font-size:22px}}.bom-catalog{flex-direction:column;max-height:calc(100vh - 208px);display:flex;position:sticky;top:96px}.cat-list{flex:1;min-height:0;overflow-y:auto}@media (max-width:760px){.bom-catalog{max-height:none;position:static}.cat-list{max-height:60vh}}.dict-start{background:var(--quiet);width:calc(100% - 40px);min-height:48px;color:var(--ink);font:500 16px var(--font);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:10px;margin:6px 20px 4px;display:flex}.dict-start svg{color:var(--green)}.dict-start:hover{background:var(--line)}.dict{padding:0 20px 16px}.dict-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.dict-top .bom-label{margin:0}.dict-link{cursor:pointer;min-height:40px;font:500 15px var(--font);color:var(--green-ink);text-underline-offset:3px;background:0 0;border:none;padding:0 4px;text-decoration:underline}.dict-mic-wrap{text-align:center;flex-direction:column;align-items:center;gap:6px;margin:26px 0 22px;display:flex}.dict-mic{background:var(--quiet);width:76px;height:76px;color:var(--green);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}.dict-mic.on{background:var(--green);color:var(--solid-ink);animation:1.6s ease-in-out infinite dict-pulse}@keyframes dict-pulse{0%,to{box-shadow:0 0 0 7px var(--green-s)}50%{box-shadow:0 0 0 14px var(--green-s)}}@media (prefers-reduced-motion:reduce){.dict-mic.on{box-shadow:0 0 0 9px var(--green-s);animation:none}}.dict-status{font-size:18px;font-weight:500}.dict-sub{color:var(--ink-2);font-size:14px}.dict-error{background:var(--warm-soft);color:#8a4310;border-radius:12px;margin:0 0 14px;padding:12px 14px;font-size:14px;line-height:1.45}[data-theme=dark] .dict-error{color:#f4b884}.dict-error-steps{margin:8px 0 0;padding-left:18px}.dict-error-steps li+li{margin-top:6px}.dict-error-code{font:12px var(--mono);opacity:.75;margin-top:8px}.dict-transcript{background:var(--bg);overflow-wrap:anywhere;border-radius:16px;min-height:120px;padding:14px 16px;font-size:18px;line-height:1.7}.dict-placeholder{color:var(--ink-3)}.dict-seg{margin-right:.34em}.dict-seg.ok{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:color-mix(in srgb, var(--green) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--green) 45%, transparent)}.dict-seg.unc{color:#9a4a0e;-webkit-text-decoration:underline dotted var(--warm);text-decoration:underline dotted var(--warm);text-underline-offset:6px;text-decoration-thickness:2px}[data-theme=dark] .dict-seg.unc{color:#f4b884}.dict-seg.int{color:var(--ink-3)}.dict-done{background:var(--green);width:100%;min-height:48px;color:var(--solid-ink);font:500 16px var(--font);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;margin-top:16px;display:flex}.dict-tips{color:var(--ink-2);margin:16px 0 0;font-size:14px;line-height:1.55}.heard{background:color-mix(in srgb, var(--green-s) 55%, var(--surface));border-bottom:1px solid var(--line-s)}.heard-head{justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.heard-label{font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--green-ink)}.heard-count{color:var(--green-ink);font-size:15px;font-weight:500}.heard-empty{color:var(--ink-2);padding:0 20px 18px;font-size:15px}.heard-row{border-top:1px solid var(--line-s);grid-template-columns:40px minmax(0,1.7fr) 128px .8fr .9fr 40px;align-items:center;padding:14px 20px 14px 17px;display:grid}.heard-mark{background:var(--green-s);width:26px;height:26px;color:var(--green);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.heard-said{color:var(--ink-2);margin-top:3px;font-size:13px}.heard-row.unclear{background:var(--warm-soft);grid-template-columns:40px minmax(0,1fr) auto;column-gap:12px}.heard-mark.unclear{border:1.5px solid var(--warm);color:#9a4a0e;font:600 14px var(--font);background:0 0}.heard-unclear-said{color:#9a4a0e;font-size:16px;font-weight:500}[data-theme=dark] .heard-mark.unclear,[data-theme=dark] .heard-unclear-said{color:#f4b884}.heard-unclear-note{color:var(--ink-2);margin-top:3px;font-size:14px;line-height:1.4}.heard-unclear-note b{font:500 14px var(--mono);color:var(--ink)}.heard-unclear-act{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.heard-unclear-act .bom-btn{min-height:40px;font-size:15px}.heard-unclear-act .bom-select{flex:none;min-width:200px;min-height:40px}.heard-foot{border-top:1px solid var(--line-s);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 20px;display:flex}.heard-note{color:var(--ink-2);flex:220px;font-size:14px;line-height:1.45}.heard-actions{gap:10px;display:flex}.heard-discard{min-height:44px;font-size:15px}.heard-add{background:var(--green);min-height:48px;color:var(--solid-ink);font:500 16px var(--font);cursor:pointer;border:none;border-radius:999px;padding:0 24px}.heard-add:disabled{opacity:.45;cursor:default}.bom-added{background:var(--green-s);color:var(--green-ink);border-bottom:1px solid var(--line-s);align-items:center;gap:12px;padding:10px 14px 10px 20px;font-size:16px;font-weight:500;display:flex}.bom-added span{flex:1}.bom-added .bom-btn{min-height:40px}.bom-added .row-x{color:var(--green-ink)}.bom-item-row.just-added{background:color-mix(in srgb, var(--green-s) 55%, var(--surface))}@media (max-width:760px){.heard-row{grid-template-columns:32px minmax(0,1fr) 120px 36px;padding:12px 14px}.heard-row .heard-price{display:none}.heard-row.unclear{grid-template-columns:32px minmax(0,1fr)}.heard-unclear-act{grid-column:2;justify-content:flex-start;margin-top:10px}.heard-actions{width:100%}.heard-add{flex:1}}.mod-row:has(>select){flex-direction:column;align-items:stretch;gap:6px;padding:10px 10px 10px 14px}.mod-row:has(>select) .mod-label{color:var(--ink-2);align-items:center;font-size:13px;display:flex}.mod-row:has(>select)>.mod-dot{position:absolute}.mod-row:has(>select){position:relative}.mod-row:has(>select)>select{width:100%;max-width:100%}.mod-row:has(>select)>.mod-dot{top:16px;right:14px}.search-box{min-width:min(100%,380px);padding:4px 16px}.search-box input{outline:none;width:100%;min-height:40px;font-size:15px;background:0 0!important;border:none!important}.btn-primary-large{border-radius:999px;padding:11px 20px;font-size:15px}.projects-toolbar select,.ghost-toggle{font-size:14px}:root{--badge:#2e7d4f;--badge-ink:#fff}[data-theme=dark]{--badge:#7fb58a;--badge-ink:#0b0f0e}.wait-badge{box-sizing:border-box;background:var(--badge);min-width:22px;height:22px;color:var(--badge-ink);font:500 13px var(--mono);letter-spacing:0;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 7px;line-height:1;display:inline-flex}.app-nav-pop-item.has-badge{justify-content:space-between;align-items:center;gap:12px;display:flex}.app-nav-pop-note{border-top:1px solid var(--line-s);color:var(--ink-3);max-width:240px;margin:4px 6px 2px;padding:10px 6px 4px;font-size:13px;line-height:1.45}.wait-band{background:var(--green-s);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 20px;margin-bottom:14px;padding:18px 22px;display:flex}.wait-band-title{font-size:17px;font-weight:600}.wait-band-sub{color:var(--ink-2);margin-top:2px;font-size:15px}.wait-tile{box-shadow:inset 0 0 0 2px var(--badge);position:relative}.wait-line{min-height:32px;color:var(--ink-3);align-items:center;gap:8px;margin-top:8px;font-size:14px;line-height:1.35;text-decoration:none;display:inline-flex}.mod-row .wait-line{margin-top:0;font-size:13px}.wait-line .wait-badge{min-width:20px;height:20px;padding:0 6px;font-size:12px}.wait-line-go{color:var(--green-ink);font-weight:500}.wait-line:hover .wait-line-go{text-underline-offset:3px;text-decoration:underline}.wait-tile>.wait-badge{box-shadow:0 0 0 2px var(--surface);position:absolute;top:-9px;right:-7px}.wait-next{background:var(--green-s);box-shadow:inset 0 0 0 2px var(--badge);border-radius:16px;margin:6px 0;padding:0 16px}.wait-next+div{border-top:none!important}.tag-rows{flex-direction:column;gap:10px;display:flex}.tag-row-label{color:var(--ink-3);margin-bottom:6px;font-size:13px;font-weight:600}.tag-chips{flex-wrap:wrap;gap:6px;display:flex}.tag-chip{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);font:500 15px var(--font);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.tag-chip:hover{background:var(--sunken)}.tag-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.tag-chip[aria-pressed=true] .wait-badge{background:var(--bg);color:var(--ink)}.tag-clear{min-height:40px;font:500 15px var(--font);color:var(--green-ink);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0 6px;text-decoration:underline}.app-header{gap:22px;height:64px;padding:0 10px 0 14px}.wordmark .co{letter-spacing:.03em;font-size:13px}.app-nav-link{white-space:nowrap;min-height:44px;padding:0 15px;font-size:16px}.user-menu-btn{min-height:44px;padding:0 14px 0 6px;font-size:15px}.user-menu-avatar{width:32px;height:32px;font-size:14px}.header-btn{align-items:center;min-height:44px;padding:0 16px;display:inline-flex}.preview-banner{top:88px}@media (max-width:900px){.app-header{gap:4px 10px;height:auto;padding:8px 10px 0 12px}.app-nav-link{padding:0 12px}}.app-nav-pop{min-width:240px;padding:8px}.app-nav-pop.with-hints{width:360px}.app-nav-pop-item,.app-nav-pop-item.has-badge{border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;min-height:48px;padding:8px 14px;font-size:16px;font-weight:500;display:grid}.app-nav-pop-item:has(small){min-height:60px}.app-nav-pop-item small{color:var(--ink-3);grid-column:1;font-size:14px;font-weight:400}.app-nav-pop-item .wait-badge{grid-area:1/2/span 2}.app-nav-pop-note{max-width:none;font-size:14px}@media (max-width:900px){.app-nav-pop.with-hints{width:auto}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:24px;display:flex}.page-head>:first-child{min-width:0}.page-sub{color:var(--ink-2);max-width:640px;margin-top:8px;font-size:16px;line-height:1.5}.page-sub.warn{color:#9a4a0e}[data-theme=dark] .page-sub.warn{color:var(--warm)}.page-note{color:var(--ink-3);margin-top:6px;font-size:14px}.page-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.back-link{min-height:44px;color:var(--ink-2);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin:-6px 0 2px;padding:0;font-size:16px;display:inline-flex}.back-link:hover{color:var(--ink)}@media (max-width:700px){.page-head{margin-bottom:16px}.page-title{font-size:32px}.page-actions{width:100%}.page-actions>.btn-lg{flex:100%}}.btn.btn-lg{white-space:nowrap;justify-content:center;gap:8px;min-height:48px;padding:0 24px;font-size:17px}.btn.btn-md{white-space:nowrap;justify-content:center;gap:8px;min-height:44px;padding:0 20px;font-size:16px}.btn.btn-icon{letter-spacing:1px;justify-content:center;width:44px;min-height:44px;padding:0;font-size:18px}.btn.btn-ghost.btn-icon,.btn.btn-ghost.btn-md{background:0 0}.btn.btn-ghost.btn-icon:hover,.btn.btn-ghost.btn-md:hover{background:var(--quiet)}.btn.btn-solid,.btn.btn-solid:hover{background:var(--solid);color:var(--solid-ink)}.btn-primary.btn-lg{box-shadow:0 10px 24px -12px #2f4d3a8c}.btn-primary.btn-lg:hover,.btn-primary.btn-md:hover{background:var(--green-ink)}[data-theme=dark] .btn-primary.btn-lg:hover{background:var(--green);opacity:.9}.btn svg{flex:none;width:18px;height:18px}.btn .app-nav-caret{width:10px;height:10px}.ui-card{background:var(--surface);border-radius:var(--r-card);margin-bottom:14px;padding:22px 24px}.ui-card-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;margin-bottom:10px;display:flex}.ui-card h2,.ui-card-h h2{letter-spacing:-.02em;font-size:20px;font-weight:500}.ui-hint{color:var(--ink-3);font-size:15px;line-height:1.5}.ui-small{color:var(--ink-3);font-size:14px;line-height:1.45}.ui-warn{color:#9a4a0e}[data-theme=dark] .ui-warn{color:var(--warm)}@media (max-width:700px){.ui-card{border-radius:22px;padding:18px 16px}}.ui-table{border-collapse:collapse;width:100%}.ui-table th{font:500 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:left;white-space:nowrap;padding:6px 12px 10px}.ui-table td{vertical-align:top;box-shadow:inset 0 1px 0 var(--line-s);padding:14px 12px;font-size:15px}.ui-table th.r,.ui-table td.r{text-align:right}.ui-table td.mid{vertical-align:middle}.ui-table td.mono,.ui-table .mono{font-family:var(--mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ui-table .name{font-size:16px;font-weight:500}.ui-table .sub{color:var(--ink-3);margin-top:2px;font-size:14px}.ui-table td.cell-actions{white-space:nowrap;vertical-align:middle;text-align:right;width:1%}.ui-table tr.row-link{cursor:pointer}.ui-table tr.row-link:hover>td,.ui-table tr.row-open>td{background:var(--bg)}.ui-list-row{min-height:64px;box-shadow:inset 0 1px 0 var(--line-s);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;display:grid}.ui-list-row:first-child{box-shadow:none}.ui-list-row .name{font-size:16px;font-weight:500}.only-phone{display:none}@media (max-width:700px){.only-wide{display:none!important}.only-phone{display:block}}.check-row{cursor:pointer;align-items:center;gap:12px;min-height:44px;font-size:16px;display:inline-flex}.check-row input[type=checkbox],input[type=checkbox].check-22{width:22px;height:22px;accent-color:var(--green);cursor:pointer;flex:none;margin:0}.ui-field{gap:6px;min-width:0;display:grid}.ui-field>span{color:var(--ink-2);font-size:15px}.ui-input,.shell .ui-input{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;font:400 16px var(--font);color:var(--ink);border-radius:12px;padding:0 14px}textarea.ui-input{min-height:66px;padding:10px 14px;line-height:1.45}.ui-input.num{text-align:right;font-family:var(--mono)}.ui-input:focus-visible{outline:2px solid var(--green);outline-offset:1px}.ui-search{max-width:520px}.more-menu{display:inline-flex;position:relative}.more-pop{z-index:60;background:var(--surface);min-width:280px;max-width:calc(100vw - 32px);box-shadow:0 18px 40px -12px #10151440, inset 0 0 0 1px var(--line-s);border-radius:18px;gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.more-pop.left{left:0;right:auto}.more-item{text-align:left;width:100%;min-height:48px;font:500 16px var(--font);color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:12px;gap:2px;padding:12px 14px;display:grid}.more-item small{color:var(--ink-3);font-size:14px;font-weight:400}.more-item:hover:not(:disabled){background:var(--bg)}.more-item:disabled{opacity:.5;cursor:default}.more-item.danger{color:var(--state-error)}.more-pop-body{padding:8px 14px 12px}.more-pop hr{border:none;border-top:1px solid var(--line-s);margin:4px 8px}.chev{border-right:1.8px solid var(--ink-3);border-bottom:1.8px solid var(--ink-3);flex:none;width:9px;height:9px;margin-right:6px;display:inline-block;transform:rotate(-45deg)}.chev.down{transform:rotate(45deg)}.tag-chip .n{font:400 13px var(--mono);color:var(--ink-3)}.tag-chip[aria-pressed=true] .n{color:var(--ink-d)}@media (max-width:700px){.tag-chips.scroll{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.tag-chips.scroll::-webkit-scrollbar{display:none}.tag-chips.scroll .tag-chip{white-space:nowrap;flex:none}}.reader-sheet{z-index:200;background:#10151466;padding:24px 16px;position:fixed;inset:0;overflow-y:auto}.reader-sheet-inner{background:var(--surface);border-radius:var(--r-card);max-width:1180px;margin:0 auto;padding:20px 22px}.reader-sheet-inner>section{margin-bottom:0!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.suppliers-toolbar{gap:12px;margin-bottom:16px}.suppliers-search{align-items:center;gap:8px;display:flex}.suppliers-search .ui-search{flex:auto;min-width:0}.suppliers-list .sub{font-size:14px}.mat-stats{flex-wrap:wrap;gap:14px 28px;margin-bottom:14px;display:flex}.mat-stat-v{font:400 28px var(--mono);letter-spacing:-.03em;line-height:1.15}.mat-stat-v.warn{color:#b3661a}.mat-stat-v.bad{color:var(--state-error)}.mat-stat-l{color:var(--ink-2);font-size:15px}.mat-tools{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.mat-tools .mat-search{flex:260px;width:auto}.mat-tools .mat-section{flex:0 0 220px;width:220px}.mat-card{padding:6px 24px 12px}.mat-grp{width:100%;min-height:60px;box-shadow:inset 0 1px 0 var(--line-s);font:500 18px var(--font);letter-spacing:-.01em;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:8px 4px;display:flex}.mat-grp:first-child{box-shadow:none}.mat-grp:disabled{cursor:default;opacity:1;color:var(--ink)}.mat-grp-n{color:var(--ink-3);margin-left:auto;font-size:14px;font-weight:400}.mat-table{margin-bottom:6px}.mat-table tbody tr:first-child>td{box-shadow:none}.mat-table td.mat-val{white-space:nowrap;width:120px}.mat-table td.mat-unit{width:90px;color:var(--ink-2);white-space:nowrap}.mat-table .sub .mono{font-size:14px}.mat-table .name,.mat-table .sub{overflow-wrap:anywhere}.mat-where{color:var(--ink-3);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px}.mat-where:hover{color:var(--ink)}.mat-unit-inline{display:none}.mat-edit-row>td{padding-top:0;box-shadow:none!important}.mat-panel{background:var(--surface);border-radius:16px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}@media (max-width:700px){.mat-card{padding:4px 16px 10px}.mat-table td{padding:12px 6px}.mat-table td.mat-unit{display:none}.mat-table td.mat-val{width:auto}.mat-unit-inline{display:block}.mat-tools .mat-section{flex:100%;width:100%}.mat-stats{gap:10px 22px}.mat-stat-v{font-size:24px}}.ph-panel{background:var(--surface);border-radius:16px;padding:14px 16px}.ph-values td{padding:10px 12px}.ph-values .ph-path{overflow-wrap:anywhere}.ph-foot{border-top:1px solid var(--line-s);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;padding-top:12px;display:flex}@media (max-width:700px){.ph-panel{background:var(--bg);padding:12px 10px}.ph-values td,.ph-values th{padding-left:6px;padding-right:6px}}.stock-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:10px;padding:0;font-size:16px;display:flex}.stock-filters .ui-field{width:260px;max-width:100%}.stock-filters .ui-field:nth-child(2){width:320px}.stock-count{margin-left:auto;padding-bottom:10px}.stock-table{margin-top:4px}.stock-table td.stock-code{white-space:nowrap;font-weight:600}.stock-table td.stock-size{white-space:nowrap}.stock-table .sub a,.ui-list-row .ui-small a{color:var(--green-ink);text-underline-offset:3px;text-decoration:underline}.stock-status{font:400 15px var(--font);letter-spacing:0;color:var(--ink-2)}.stock-status-available{color:var(--ink-2)}.stock-status-reserved{color:#9a4a0e}[data-theme=dark] .stock-status-reserved{color:var(--warm)}.stock-rule{margin-top:12px}.stock-how{min-height:40px;font:500 15px var(--font);color:var(--green-ink);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.stock-note-editor{background:var(--bg);border-radius:16px;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:12px 0 0;padding:14px 16px;display:flex}.stock-add-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px}.stock-add-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;display:flex}.stock-minsize{gap:8px;width:min(320px,100vw - 64px);display:grid}.stock-minsize-title{font-size:16px;font-weight:500}.stock-minsize-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stock-minsize-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (max-width:700px){.stock-filters .ui-field,.stock-filters .ui-field:nth-child(2){width:100%}.stock-count{margin-left:0;padding-bottom:0}.stock-add-grid{grid-template-columns:1fr 1fr}.stock-add-grid .stock-wide{grid-column:1/-1}.stock-add-actions .btn-lg{flex:100%}.stock-head-more .more-pop{left:0;right:auto}}.team-name{font-size:17px;font-weight:500}.team-line{color:var(--ink-3);font-size:14px;font-weight:400}.journal-filters{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}.journal-filter{width:240px;max-width:100%}.journal-count{margin-left:auto;padding-bottom:10px}.journal-table{table-layout:fixed}.journal-table td.journal-who{color:var(--ink-2);text-overflow:ellipsis;overflow:hidden}.journal-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.journal-detail{background:var(--surface);border-radius:16px;padding:12px 14px}.journal-detail .ui-table td{font-family:var(--mono);word-break:break-word}.journal-item+.journal-item>.ui-list-row{box-shadow:inset 0 1px 0 var(--line-s)}@media (max-width:700px){.journal-filter{width:100%}.journal-count{margin-left:0;padding-bottom:0}.journal-name{white-space:normal}.journal-detail{background:var(--bg);margin-bottom:10px}}.families-scroll,.family-row{position:relative}.family-row .row-cover{color:var(--ink)}.families-table td.r .sub{font-family:var(--font);letter-spacing:0;white-space:nowrap}.families-table td:nth-child(5),.families-table td:nth-child(6){white-space:nowrap}.family-row .row-cover:after{content:"";position:absolute;inset:0}.supplier-page .back-link{margin-bottom:4px}.supplier-pricing-card{padding:12px 24px 14px}.supplier-pricing-card .ui-hint{margin-top:2px}.supplier-pricing-disc{flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 6px;font-size:16px;display:flex}.supplier-pricing-disc .ui-input{width:120px}.supplier-lines-card{padding-bottom:10px}.supplier-lines-tools{gap:10px;margin-bottom:12px;display:flex}.supplier-lines-tools .ui-input{flex:1;min-width:0}.entry-lines .entry-uses{color:var(--green-ink);margin-top:3px;padding:0;font-size:14px}.line-warn{color:#9a4a0e;margin-top:3px;font-size:14px}.line-pending{color:var(--ink-2);margin-top:3px;font-size:14px}.line-pending:before{content:"";background:var(--warm);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}[data-theme=dark] .line-warn{color:var(--warm)}.entry-lines tr.entry-ticked>td{background:var(--green-s)}.entry-lines tr.line-editor-row>td{box-shadow:none;padding-top:0}.line-editor{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:4px 0 6px;display:grid}.line-editor .wide2{grid-column:span 2}.line-editor .wide4{grid-column:1/-1}.line-editor .ui-input.mono{font-family:var(--mono)}.line-editor .entry-changed{border-color:var(--warm);background:var(--warm-soft)}.line-editor select.entry-unknown{color:#9a4a0e}.line-editor-foot{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.line-editor-foot .ui-hint{margin-left:auto}.line-item.open{background:var(--bg);border-radius:16px;margin:0 -16px;padding:0 16px 16px}.line-item+.line-item>.ui-list-row{box-shadow:inset 0 1px 0 var(--line-s)}.line-item .ui-list-row{cursor:pointer}.line-price{white-space:nowrap;font-size:16px}@media (max-width:700px){.supplier-pricing-card{padding:8px 16px 12px}.line-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.line-editor .wide2{grid-column:1/-1}.line-editor-foot .ui-hint{flex-basis:100%;margin-left:0}}.entry-bulkbar{border-radius:16px;margin:0 0 10px;padding:8px 12px}.entry-bulkbar .bulk-count{font-size:16px}.entry-bulkbar .bulk-delete{color:var(--state-error);background:#8c3a2814}.entry-savebar{z-index:40;box-shadow:0 18px 40px -12px #1015144d, inset 0 0 0 1px var(--line-s);border:none;border-radius:18px;padding:10px 14px;font-size:16px}.entry-confirm-list{font-size:15px}.supplier-files-card .file-name{color:var(--green-ink);text-underline-offset:3px;overflow-wrap:anywhere;font-size:16px;font-weight:500;text-decoration:underline}.supplier-contact{padding:6px 24px}.supplier-contact>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:6px 0;list-style:none;display:flex}.supplier-contact>summary::-webkit-details-marker{display:none}.supplier-contact-title{font-size:17px;font-weight:500}.supplier-contact-line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.supplier-contact .when-open,.supplier-contact[open] .when-closed{display:none}.supplier-contact[open] .when-open{display:inline}.supplier-contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:8px 0 18px;display:grid}.supplier-contact-form .wide{grid-column:1/-1}@media (max-width:700px){.supplier-contact{padding:4px 16px}.supplier-contact-form{grid-template-columns:minmax(0,1fr)}}.store-file{gap:8px;min-width:260px;display:grid}.store-file-title{font-size:16px;font-weight:500}.store-file .btn{justify-self:start}.line-editor .ui-input::placeholder{font-family:var(--font);font-size:15px}@media (max-width:700px){.supplier-page .page-actions .more-menu{margin-left:auto}}.sbx .page-head{margin-bottom:20px}.sbx .page-head>:first-child{flex:420px}.sbx-step2 th{white-space:normal;vertical-align:bottom}.sbx-step2 th.r{max-width:130px}.sbx-step2 td.r{white-space:nowrap}.sbx-step2 td.r .sub{white-space:normal;max-width:160px;font-family:var(--font);letter-spacing:0;margin-left:auto}.sbx-step2 td:first-child{min-width:170px}.sbx-step2 td.sbx-from{min-width:260px}.sbx-step2 td.sbx-from .ui-input{width:100%}input[type=file].doc-file{min-height:44px;font:400 16px var(--font);color:var(--ink-2);max-width:100%}input[type=file].doc-file::file-selector-button{background:var(--quiet);min-height:44px;color:var(--ink);font:500 16px var(--font);cursor:pointer;border:none;border-radius:999px;margin-right:12px;padding:0 20px}.sbx .back-link+.page-head{margin-top:4px}.sbx-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sbx-kpi{background:var(--bg);border-radius:18px;min-width:0;padding:16px 18px}.sbx-kpi .v{font:500 30px var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1.1}.sbx-kpi .v .of{color:var(--ink-3);letter-spacing:-.02em;font-size:20px}.sbx-kpi .l{color:var(--ink-2);margin-top:6px;font-size:15px;line-height:1.4}.sbx-kpi-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin-top:12px;display:flex}.sbx-breakdown{margin-top:16px;font-size:15px;line-height:1.5}.sbx-breakdown>p{max-width:860px;margin:0 0 8px}.sbx-breakdown>ul{max-width:860px;margin:0 0 14px 20px;padding:0}.sbx-breakdown>ul li+li{margin-top:4px}.sbx .ui-table td.sbx-group{padding-top:18px;font-size:16px;font-weight:600}.sbx .ui-table td.sbx-sec{color:var(--ink-3);padding-top:14px;padding-bottom:6px;font-size:14px}.sbx-tiles{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.sbx-tile{background:var(--bg);border-radius:18px;flex-direction:column;gap:4px;min-width:0;padding:14px 16px 16px;display:flex;position:relative}.sbx-tile.off>:not(.sbx-tile-nm),.sbx-tile.off .sbx-tile-nm strong{opacity:.55}.sbx-tile-nm{justify-content:space-between;align-items:center;gap:8px;display:flex}.sbx-tile-nm strong{letter-spacing:-.01em;overflow-wrap:anywhere;min-width:0;font-size:18px;font-weight:600}.sbx-count{color:var(--ink-2);flex:none;margin:-8px 0;font-size:15px}.sbx-tile-what,.sbx-tile-stat{font-size:15px}.sbx-tile-btns{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.sbx-more{padding:6px 24px}.sbx-more-row{text-align:left;width:100%;min-height:64px;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:6px 0;display:flex}.sbx-more-row>span:first-child{gap:2px;display:grid}.sbx-more-title{font-size:17px;font-weight:500}.sbx-more-body{box-shadow:inset 0 1px 0 var(--line-s);padding:4px 0 18px}.sbx-more-body h3{margin:16px 0 8px;font-size:17px;font-weight:500}.sbx-own-add{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.sbx-lib-row{min-height:64px;box-shadow:inset 0 1px 0 var(--line-s);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 0;display:flex}.sbx-more-body .ui-hint+.sbx-lib-row{margin-top:8px}.sbx-lib-row>div{flex:320px}.sbx-lib-name{font-size:16px;font-weight:500}.sbx-step-h{align-items:center;gap:10px;display:flex}.sbx-step-n{background:var(--green);color:#fff;min-width:24px;height:24px;font:500 13px var(--mono);letter-spacing:0;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 7px;line-height:1;display:inline-flex}[data-theme=dark] .sbx-step-n{color:#0b0f0e}.sbx-discounts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:14px;display:grid}.sbx-filter{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:8px;display:flex}.sbx-filter>.ui-input{flex:0 340px;min-width:200px}.sbx-shown{margin-left:auto}.sbx .entry-bulkbar{border-radius:16px;padding:8px 12px}.sbx .entry-bulkbar .bulk-count{font-size:15px}.sbx .entry-bulkbar .bulk-btn{min-height:44px;padding:0 18px;font-size:15px}.sbx-items-head,.sbx-item{grid-template-columns:minmax(0,1fr) 170px 120px;column-gap:14px;display:grid}.sbx-items.editable .sbx-items-head,.sbx-items.editable .sbx-item{grid-template-columns:32px minmax(0,1fr) 170px 120px 44px}.sbx-items-head{font:500 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);align-items:center;padding:8px 0}.sbx-items-head .r{text-align:right}.sbx-item{box-shadow:inset 0 1px 0 var(--line-s);align-items:start;row-gap:8px;padding:14px 0}.sbx-item.ticked{background:var(--green-s)}.sbx-tick{padding-top:2px}.sbx-name{min-width:0}.sbx-name .name{overflow-wrap:anywhere;font-size:16px;font-weight:500}.sbx-name .mono{font-family:var(--mono);letter-spacing:-.02em}.sbx-rename{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sbx-rename .ui-input{flex:220px;min-width:0}.sbx-price{text-align:right;min-width:0}.sbx-money{font:400 16px var(--mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.sbx-was{min-height:40px;font:400 14px var(--font);color:var(--green-ink);text-underline-offset:3px;cursor:pointer;text-align:right;background:0 0;border:none;align-items:center;margin:-6px 0 -8px;padding:0;text-decoration:underline;display:inline-flex}.sbx-hist{gap:2px;margin-top:8px;display:grid}.sbx-own-label{display:none}.sbx-act{justify-content:flex-end;display:flex}.sbx-pick{grid-column:1/span 2;gap:4px;min-width:0;display:grid}.sbx-items.editable .sbx-pick{grid-column:2/span 2}.sbx-pick-row{align-items:center;gap:10px;min-width:0;display:flex}.sbx-pick-row>span{white-space:nowrap}.sbx-pick-row .ui-input{flex:1;min-width:0}@media (max-width:700px){.sbx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sbx-kpis .sbx-kpi:nth-child(3){grid-column:1/-1}.sbx-kpi .v{font-size:26px}.sbx-kpi-foot .btn{width:100%}.sbx-more{padding:4px 16px}.sbx-shown{margin-left:0}.sbx-items-head{display:none}.sbx-item,.sbx-items.editable .sbx-item{grid-template-columns:minmax(0,1fr) auto}.sbx-items.editable .sbx-item{grid-template-columns:28px minmax(0,1fr) auto 44px}.sbx-item .sbx-tick,.sbx-item .sbx-name{grid-area:1/1}.sbx-item .sbx-price{grid-area:1/2}.sbx-items.editable .sbx-item .sbx-name{grid-column:2}.sbx-items.editable .sbx-item .sbx-price{grid-column:3}.sbx-items.editable .sbx-item .sbx-act{grid-area:1/4}.sbx-item .sbx-own{grid-area:2/1/auto/-1;align-items:center;gap:10px;display:flex}.sbx-items.editable .sbx-item .sbx-own{grid-column:2/-1}.sbx-own-label{color:var(--ink-3);white-space:nowrap;font-size:14px;display:inline}.sbx-own .ui-input{max-width:140px}.sbx-item .sbx-pick,.sbx-items.editable .sbx-item .sbx-pick{grid-area:3/1/auto/-1}.sbx-items.editable .sbx-item .sbx-pick{grid-column:2/-1}.sbx-pick-row{flex-direction:column;align-items:stretch;gap:4px}}.settings-page{flex-direction:column;min-height:calc(100vh - 76px);display:flex}.settings-page>.shell{flex:1 0 auto;width:100%;padding-bottom:32px}.settings-toolbar{align-items:flex-end;gap:12px;margin-bottom:8px;padding:16px 20px;display:flex}.settings-toolbar .settings-editing{flex:1.4 1 0}.settings-toolbar .settings-goto{flex:1 1 0}.settings-toolbar-note{margin:0 4px 14px}@media (max-width:700px){.settings-toolbar{flex-wrap:wrap;padding:14px 16px}.settings-toolbar .ui-field{flex:100%}}.settings-page .settings-layout{display:block}.settings-page .settings-sections{background:var(--surface);border-radius:var(--r-card);padding:6px 24px 10px;display:block}.settings-page .section-block{box-shadow:inset 0 1px 0 var(--line-s);background:0 0;border:none;border-radius:0;overflow:visible}.settings-page .settings-sections>div:first-child .section-block{box-shadow:none}.settings-page .section-block-header{background:0 0;border:none;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px;min-height:68px;padding:10px 4px;display:grid}.settings-page .section-block-header:hover{background:var(--bg)}.settings-page .section-header-left{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.settings-page .section-header-right{align-items:center;gap:14px;display:flex}.settings-page .section-title{letter-spacing:-.01em;font-size:18px;font-weight:500}.settings-page .section-subtitle{color:var(--ink-3);font-size:15px}.settings-page .section-badge,.settings-page .section-badge.neutral{background:0 0;border:none;font-size:14px}.settings-page .section-block-body{padding:4px 4px 22px;overflow-x:auto}.settings-page:not(.show-keys) .key-cell{display:none!important}.settings-page .key-cell{color:var(--ink-3);font-size:13px}.settings-page .settings-table{font-size:15px}.settings-page .settings-table thead th{font:500 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:0 0;border-bottom:none;padding:6px 10px 8px}.settings-page .settings-table tbody td{box-shadow:inset 0 1px 0 var(--line-s);border-bottom:none;padding:10px}.settings-page .help-cell,.settings-page .unit-cell{color:var(--ink-2);font-size:15px}.settings-page .help-line{color:var(--ink-3);margin-top:2px;font-size:14px}.settings-page .section-explainer{color:var(--ink-2);background:var(--bg);border-left:none;border-radius:14px;padding:12px 14px;font-size:15px;line-height:1.5}.settings-page .section-hint{font-size:14px}.settings-page .section-subheading{color:var(--ink-2);margin-bottom:8px;font-size:15px;font-weight:600}.settings-page .form-label{letter-spacing:0;font-size:15px;font-weight:500}.settings-page .overrides-header{font-size:15px}.settings-page .mult-row{grid-template-columns:minmax(0,1fr) 130px 70px}.settings-page .mult-label{font-size:16px}.settings-page .mult-help{font-size:14px}.settings-page .mult-default{font-size:13px}.settings-page .picker-status{font-size:14px}.settings-page .callout{font-size:15px}.settings-page .num-input,.settings-page .text-input,.settings-page .select-input,.settings-page select:not(.ui-input),.settings-page .supplier-entry-picker select{border:1px solid var(--line);border-radius:12px;min-height:44px;padding:0 12px;font-size:16px}.settings-page .num-input{min-width:110px}.settings-page textarea.text-input,.settings-page textarea{padding:10px 12px;font-size:16px}.settings-page .btn:not(.btn-lg):not(.btn-icon){min-height:44px;padding:0 18px;font-size:16px}.settings-page .row-remove-btn{border-radius:999px;width:44px;height:44px;font-size:20px}.settings-page .add-row-btn{border-radius:999px;min-height:44px;padding:0 18px;font-size:16px}.settings-page .mini-btn,.settings-page .cabinet-row .mini,.settings-page .row-toggle-btn{min-height:44px;font:500 15px var(--font);border-radius:999px;padding:0 14px}.settings-page input[type=checkbox],.settings-page input[type=radio]{width:20px;height:20px;accent-color:var(--green)}.settings-page .cabinet-row.head{font:500 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.settings-page .cabinet-row{font-size:15px}.settings-page .chip{min-height:44px}.settings-page .dialog-close{border-radius:999px;width:44px;height:44px;font-size:22px}.settings-page .tpl-row{grid-template-columns:28px minmax(0,1fr) 90px minmax(0,300px)}.settings-page .tpl-row .name{font-size:16px}.settings-page .tpl-row .desc,.settings-page .tpl-row .meta{font-size:14px}.settings-page .panel-note-row>td{padding:8px 0;box-shadow:none!important}.panel-note{background:var(--warm-soft);border-radius:16px;padding:14px 16px}.panel-note strong{font-size:16px;font-weight:600}.panel-note p{color:var(--ink-2);margin-top:2px;font-size:15px}.panel-note-grid{gap:10px;margin-top:12px;display:grid}.panel-note-field{grid-template-columns:minmax(0,1fr) 150px 110px;align-items:center;gap:12px;font-size:15px;display:grid}@media (max-width:700px){.panel-note-field{grid-template-columns:minmax(0,1fr) 130px}.panel-note-field .unit-cell{display:none}}.settings-savebar.save-footer{z-index:50;background:var(--surface);box-shadow:inset 0 1px 0 var(--line), 0 -8px 24px -16px #10151433;border-top:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding:12px 24px;display:flex;position:sticky;bottom:0}.settings-savebar .savebar-preview{flex:320px;min-width:0}.settings-savebar .save-footer-actions{gap:10px}.settings-savebar .savebar-note{width:220px}.lp-inline-label{color:var(--ink-2);font-size:15px}.lp-inline-row{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.lp-inline-total{font:500 22px var(--mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.lp-inline-delta{color:#9a4a0e}[data-theme=dark] .lp-inline-delta{color:var(--warm)}.lp-inline-wait{color:var(--ink-2);font-size:16px}.savebar-error{color:var(--state-error);margin-top:4px;font-size:15px}@media (max-width:700px){.settings-page .settings-sections{padding:4px 14px 8px}.settings-page .section-block-body{padding:4px 0 18px}.settings-page .settings-table tbody td{padding:8px 6px}.settings-page .settings-table thead th{padding:6px 6px 8px}.settings-page .num-input{min-width:0;padding:0 10px;width:108px!important}.settings-page .unit-cell{white-space:normal}.panel-note{padding:12px}.panel-note-field{grid-template-columns:minmax(0,1fr) 108px;gap:8px}.settings-savebar .lp-inline-rule{display:none}.settings-savebar.save-footer{padding:10px 12px}.settings-savebar .save-footer-actions{flex-wrap:wrap;width:100%}.settings-savebar .savebar-note{flex:140px;width:auto;min-width:0}.settings-savebar.dirty .savebar-note{flex-basis:100%;order:-1}.settings-savebar.dirty .btn-lg{flex:auto}}
