@layer components {
.app{background:var(--color-neutral-50);grid-template-columns:232px 1fr;height:100vh;display:grid}.sidebar{background:var(--color-surface-2);border-right:1px solid var(--color-neutral-200);flex-direction:column;gap:4px;padding:14px 12px;display:flex}.sb-brand{align-items:center;gap:10px;padding:8px 8px 16px;display:flex}.sb-logo{background:var(--color-neutral-900);width:28px;height:28px;color:var(--color-neutral-50);font-family:var(--font-mono);letter-spacing:.02em;border-radius:7px;place-items:center;font-size:11px;font-weight:600;display:grid}.sb-brand-text{flex-direction:column;line-height:1.1;display:flex}.sb-brand-text strong{letter-spacing:-.01em;font-size:14px;font-weight:600}.sb-brand-text span{color:var(--color-neutral-400);font-size:11px}.sb-section{text-transform:uppercase;letter-spacing:.06em;color:var(--color-neutral-400);padding:14px 8px 4px;font-size:10.5px;font-weight:500}.sb-item{border-radius:var(--radius-ctl);color:var(--color-neutral-600);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:7px 8px;font-size:13.5px;font-weight:450;display:flex}.sb-item:hover{background:var(--color-surface-3);color:var(--color-neutral-900)}.sb-item.active{background:var(--color-neutral-900);color:var(--color-neutral-50);font-weight:500}.sb-item.active .sb-count{color:var(--color-neutral-50);background:#ffffff26}.sb-item svg{flex:none}a.sb-item{color:inherit;text-decoration:none}.sb-item .sb-count{font-size:11px;font-family:var(--font-mono);background:var(--color-surface-3);color:var(--color-neutral-600);border-radius:10px;margin-left:auto;padding:1px 6px}.sb-user{border-top:1px solid var(--color-neutral-200);border-bottom:1px solid var(--color-neutral-200);align-items:center;gap:10px;margin-top:auto;padding:14px 8px;display:flex}.sb-user-info{flex:1;min-width:0;line-height:1.2}.sb-user-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:500;display:block;overflow:hidden}.sb-user-info span{color:var(--color-neutral-400);font-size:11px}.sb-logout{border-radius:var(--radius-ctl);color:var(--color-neutral-400);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:none;padding:4px 6px;font-size:11px;font-weight:500}.sb-logout:hover{background:var(--color-surface-3);color:var(--color-neutral-900)}.sb-credit{color:var(--color-neutral-400);letter-spacing:.01em;flex-direction:column;gap:3px;padding:12px 8px 2px;font-size:10.5px;display:flex}.sb-credit strong{color:var(--color-neutral-600);font-weight:550}.sb-credit span{line-height:1.4}.sb-avatar{background:var(--color-primary-600);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:grid}.main{flex-direction:column;min-width:0;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--color-neutral-200);background:var(--color-neutral-50);flex:none;align-items:center;gap:14px;height:52px;padding:0 20px;display:flex}.crumb{color:var(--color-neutral-400);align-items:center;gap:8px;font-size:13px;line-height:1;display:flex}.crumb-parent{color:var(--color-neutral-400);font-weight:400}.crumb-current,.crumb strong{color:var(--color-neutral-900);font-weight:500}.crumb svg{opacity:.6;flex-shrink:0;display:block}.topbar-search{background:var(--color-surface);border:1px solid var(--color-neutral-200);max-width:480px;color:var(--color-neutral-400);border-radius:7px;flex:1;align-items:center;gap:8px;margin-left:auto;padding:6px 10px;display:flex}.topbar-search:focus-within{border-color:var(--color-primary-200)}.topbar-search input{color:var(--color-neutral-900);background:0 0;border:none;outline:none;flex:1;font-size:13px}.kbd{font-family:var(--font-mono);background:var(--color-surface-2);border:1px solid var(--color-neutral-200);color:var(--color-neutral-400);border-radius:4px;padding:1px 5px;font-size:10.5px}.content{flex:1;min-width:0;padding:24px 28px;overflow:auto}.sc-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.reorder-col{min-height:420px;position:relative}.reorder-inner{flex-direction:column;min-height:0;display:flex;position:absolute;inset:0}.reorder-list{flex:1 1 0;min-height:0;overflow-y:auto}@media (max-width:1100px){.sc-grid{grid-template-columns:minmax(0,1fr);align-items:start}.reorder-col{min-height:0;position:static}.reorder-inner{position:static}.reorder-list{flex:none;max-height:480px}}.sc-grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.sc-grid-2>div{flex-direction:column;min-width:0;height:460px;display:flex}.sc-grid-2>div>.section-title{flex:none}.sc-grid-2>div>.card{flex:1 1 0;min-height:0;overflow-y:auto}@media (max-width:1100px){.sc-grid-2{grid-template-columns:minmax(0,1fr)}.sc-grid-2>div{height:auto;display:block}.sc-grid-2>div>.card{max-height:460px}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-head>div:first-child{min-width:240px}.page-head>div:last-child{flex-wrap:wrap}.page-title{letter-spacing:-.015em;margin:0;font-size:22px;font-weight:550}.page-sub{color:var(--color-neutral-400);margin-top:4px;font-size:13px}.btn{border-radius:var(--radius-ctl);border:1px solid var(--color-neutral-200);background:var(--color-surface);color:var(--color-neutral-900);white-space:nowrap;align-items:center;gap:6px;padding:6px 11px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--color-surface-2);border-color:var(--color-neutral-300)}.btn.primary{background:var(--color-neutral-900);color:var(--color-neutral-50);border-color:var(--color-neutral-900)}.btn.primary:hover{background:#1f2228;border-color:#1f2228}.btn.ghost{color:var(--color-neutral-600);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--color-surface-2);color:var(--color-neutral-900)}.btn.sm{padding:4px 8px;font-size:12px}.btn.icon{padding:6px}.btn:disabled{opacity:.38;cursor:default;pointer-events:none}.drawer-nav{border-right:1px solid var(--color-neutral-200);align-items:center;gap:2px;margin-right:2px;padding-right:8px;display:flex}.drawer-nav .btn{padding:3px 5px}.filter-bar{background:var(--color-surface);border:1px solid var(--color-neutral-200);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;display:flex}.filter-search{background:var(--color-surface-2);min-width:220px;color:var(--color-neutral-400);border:1px solid #0000;border-radius:6px;flex:1;align-items:center;gap:6px;padding:5px 9px;display:flex}.filter-search:focus-within{background:var(--color-surface);border-color:var(--color-primary-200)}.filter-search input{color:var(--color-neutral-900);background:0 0;border:none;outline:none;flex:1;font-size:13px}.filter-pill{background:var(--color-surface-2);color:var(--color-neutral-600);cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;padding:5px 9px;font-size:12.5px;display:inline-flex}.filter-pill:hover{background:var(--color-surface-3)}.filter-pill.active{background:var(--color-primary-100);border-color:var(--color-primary-200);color:var(--color-primary-600)}.filter-pill .clear{color:var(--color-neutral-400);margin-left:2px}.filter-divider{background:var(--color-neutral-200);width:1px;height:18px}.tbl-wrap{background:var(--color-surface);border:1px solid var(--color-neutral-200);box-shadow:var(--shadow-sm);border-radius:10px;overflow:auto hidden}.tbl-wrap.tbl-fill{flex:auto;min-height:0;overflow-y:auto}.tbl-wrap.tbl-fill>.tbl>thead>tr>th{box-shadow:inset 0 -1px 0 var(--color-neutral-200)}.tbl{border-collapse:collapse;width:100%;min-width:1080px;font-size:13px}.tbl thead th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-neutral-400);border-bottom:1px solid var(--color-neutral-200);background:var(--color-surface-2);white-space:nowrap;z-index:1;padding:9px 12px;font-size:11.5px;font-weight:500;position:sticky;top:0}.tbl thead th.num,.tbl tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.tbl thead th.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.tbl thead th.th-sortable .th-sort-label{align-items:center;gap:3px;display:inline-flex}.tbl thead th.th-sortable .th-sort-label svg{opacity:0;transition:opacity .1s}.tbl thead th.th-sortable:hover{color:var(--color-neutral-600)}.tbl thead th.th-sortable:hover .th-sort-label svg{opacity:.45}.tbl thead th.th-sortable.is-sorted{color:var(--color-neutral-900)}.tbl thead th.th-sortable.is-sorted .th-sort-label svg{opacity:1}.tbl thead th.th-sortable:focus-visible{outline:2px solid var(--color-primary-200);outline-offset:-2px}.tbl.tbl-fixed{table-layout:fixed}.tbl.tbl-fixed tbody td{text-overflow:ellipsis;overflow:hidden}.tbl.tbl-fixed tbody td.expand-cell,.tbl.tbl-fixed tbody td.row-action-cell{text-overflow:clip}.tbl.tbl-fixed thead th .th-label-text{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.tbl.tbl-fixed tbody tr.serial-subrow>td{overflow:visible}.tbl.tbl-fixed.is-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.col-resizer{cursor:col-resize;z-index:3;touch-action:none;place-items:center;width:9px;height:100%;display:grid;position:absolute;top:0;right:-4px}.col-resizer-grip{background:var(--color-neutral-300);width:1px;height:56%;transition:background .1s;position:relative}.col-resizer:hover .col-resizer-grip,.col-resizer.is-dragging .col-resizer-grip{background:var(--color-primary-500)}.col-resizer-grip:before,.col-resizer-grip:after{content:"";background:var(--color-primary-500);width:4px;height:7px;position:absolute;top:50%;transform:translateY(-50%)}.col-resizer-grip:before{clip-path:polygon(100% 0,100% 100%,0 50%);right:3px}.col-resizer-grip:after{clip-path:polygon(0 0,0 100%,100% 50%);left:3px}.col-resizer-grip:before,.col-resizer-grip:after{opacity:0;transition:opacity .1s}.col-resizer:hover .col-resizer-grip:before,.col-resizer:hover .col-resizer-grip:after,.col-resizer.is-dragging .col-resizer-grip:before,.col-resizer.is-dragging .col-resizer-grip:after{opacity:1}.tbl.tbl-fixed td.name .name-text.name-trunc{max-width:100%}.tbl tbody tr{border-bottom:1px solid var(--color-neutral-200);cursor:pointer;transition:background 80ms}.tbl tbody tr:last-child{border-bottom:none}.tbl tbody tr:hover{background:var(--color-surface-2)}.tbl tbody tr.selected{background:var(--color-primary-100)}.tbl td{vertical-align:middle;white-space:nowrap;color:var(--color-neutral-900);padding:10px 12px}.tbl td.mono{font-family:var(--font-mono);color:var(--color-neutral-600);font-size:12px}.tbl td.muted{color:var(--color-neutral-400)}.tbl td.name strong{font-weight:500}.tbl td.name small{color:var(--color-neutral-400);margin-top:1px;font-size:11.5px;display:block}.tbl td.name .name-cell{align-items:center;gap:10px;min-width:0;display:flex}.tbl td.name .name-text{min-width:0}.tbl td.name .name-text.name-trunc{max-width:var(--mel-name-text-max,494px)}.tbl td.name .name-text.name-trunc>strong,.tbl td.name .name-text.name-trunc>small{align-items:center;min-width:0;display:flex}.tbl td.name .name-text.name-trunc .trunc-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tbl tfoot td.num,.tbl tfoot td{text-align:right;font-variant-numeric:tabular-nums}.tbl-foot td{border-top:1px solid var(--color-neutral-200);background:var(--color-surface-2);padding:9px 12px;font-size:12.5px}.tbl-foot.total td{border-top:1px solid var(--color-neutral-300);background:var(--color-surface-3);color:var(--color-neutral-900);font-size:13.5px}.link-btn{font:inherit;color:var(--color-info-600);cursor:pointer;font-size:13px;font-family:var(--font-mono);background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.link-btn:hover{text-decoration:underline}.app.dense .tbl td,.app.dense .tbl thead th{padding:6px 12px}.app.cozy .tbl td{padding:14px}.badge{background:var(--color-surface-2);color:var(--color-neutral-600);border:1px solid var(--color-neutral-200);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:2px 7px;font-size:11.5px;font-weight:500;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge.released{background:var(--color-success-100);color:var(--color-success-600);border-color:#0000}.badge.construction{background:var(--color-warning-100);color:var(--color-warning-600);border-color:#0000}.badge.draft{background:var(--color-surface-3);color:var(--color-neutral-600);border-color:#0000}.badge.obsolete{background:var(--color-danger-100);color:var(--color-danger-600);border-color:#0000}.badge.tender{background:var(--color-primary-100);color:var(--color-primary-600);border-color:#0000}.badge.master{background:var(--color-info-100);color:var(--color-info-600);border-color:#0000}.cat-pill{width:22px;height:22px;font-family:var(--font-mono);border-radius:5px;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.cat-A{color:#00582a;color:lab(32.0461% -42.6174 22.1696);background:#d2f6dd;background:lab(93.7125% -15.5331 7.96211)}.cat-B{color:#625600;color:lab(36.6201% -.613749 57.4134);background:#f4f0d1;background:lab(94.4684% -2.0749 15.2971)}.cat-C{color:#805300;color:lab(39.4811% 17.4358 64.8795);background:#ffebd2;background:lab(94.2484% 3.83502 15.0783)}.cat-D{color:#9e4421;color:lab(40.9725% 37.1098 39.0125);background:#ffe8e0;background:lab(93.9398% 10.4992 10.0549)}.cat-E{color:#ac3031;color:lab(40.3901% 50.5466 30.7736);background:#ffe7e4;background:lab(93.8292% 12.2803 6.63641)}.status-dot{vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.status-dot.ordered{background:var(--color-info-600)}.status-dot.delivered{background:var(--color-warning-600)}.status-dot.mounted{background:var(--color-success-600)}.status-dot.pending{background:var(--color-neutral-400)}.status-dot.issue{background:var(--color-danger-600)}.status-dot.placeholder{border:1.5px dashed var(--color-neutral-400);box-sizing:border-box;background:0 0;width:9px;height:9px;margin-right:6px}.badge.placeholder{color:var(--color-neutral-400);border:1px dashed var(--color-neutral-200);background:0 0}.ph-chip{letter-spacing:.02em;color:var(--color-neutral-400);border:1px dashed var(--color-neutral-200);vertical-align:middle;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:4px;margin-left:8px;padding:1px 7px;font-size:10.5px;font-weight:500;display:inline-flex}.tbl tr.group-row td{background:var(--color-surface-3);text-transform:uppercase;letter-spacing:.07em;color:var(--color-neutral-600);padding:6px 12px;font-size:10.5px;font-weight:600}.tbl tr.group-row .group-cell{align-items:center;gap:7px;display:flex}.tbl tr.group-row .group-cell .count{font-family:var(--font-mono);letter-spacing:0;text-transform:none;color:var(--color-neutral-400);font-weight:500}.tbl tr.placeholder-row td{background:color-mix(in oklch, var(--color-surface-2) 55%, transparent)}.tbl tr.placeholder-row td.name strong{font-weight:500}.tbl tr.placeholder-row td.est{color:var(--color-neutral-400);font-style:italic}.tbl tr.placeholder-row td:first-child{box-shadow:inset 2px 0 0 var(--color-neutral-200)}.tbl tr.placeholder-row:hover td{background:var(--color-surface-2)}.ph-est-tilde{color:var(--color-neutral-400)}.modal-scrim{background:#0f111557}.drawer-overlay{opacity:0;pointer-events:none;z-index:40;background:#0f11152e;transition:opacity .18s;position:fixed;inset:0}.drawer-overlay.open{opacity:1;pointer-events:auto}.drawer{background:var(--color-neutral-50);border-left:1px solid var(--color-neutral-200);width:min(820px,80vw);height:100vh;box-shadow:var(--shadow-lg);z-index:50;flex-direction:column;transition:transform .22s cubic-bezier(.32,.72,.2,1);display:flex;position:fixed;top:0;right:0;overflow:hidden;transform:translate(100%)}.drawer.open{transform:translate(0)}.drawer-head{border-bottom:1px solid var(--color-neutral-200);background:var(--color-neutral-50);padding:18px 22px 14px}.drawer-head-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.drawer-head-top .id-row{font-family:var(--font-mono);color:var(--color-neutral-400);align-items:center;gap:8px;font-size:12px;display:flex}.drawer-title-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-top:2px;display:flex}.drawer-thumb{background:var(--color-surface-2);border:1px solid color-mix(in oklch, var(--color-neutral-200) 60%, transparent);border-radius:8px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid;overflow:hidden}.drawer-thumb img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;display:block}.drawer-title{letter-spacing:-.015em;margin:0 0 6px;font-size:22px;font-weight:550}.drawer-sub{color:var(--color-neutral-400);font-size:13px}.drawer-actions{gap:6px;display:flex}.drawer-meta-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.drawer-tabs{border-bottom:1px solid var(--color-neutral-200);background:var(--color-neutral-50);gap:2px;padding:0 22px;display:flex}.drawer-tab{color:var(--color-neutral-400);background:0 0;border:none;margin-bottom:-1px;padding:10px 12px;font-size:13px;font-weight:500;position:relative}.drawer-tab:hover{color:var(--color-neutral-600)}.drawer-tab.active{color:var(--color-neutral-900)}.drawer-tab.active:after{content:"";background:var(--color-neutral-900);height:2px;position:absolute;bottom:0;left:12px;right:12px}.drawer-tab .tab-count{font-family:var(--font-mono);background:var(--color-surface-3);border-radius:8px;margin-left:5px;padding:1px 5px;font-size:10.5px}.drawer-tab.active .tab-count{background:var(--color-neutral-900);color:var(--color-neutral-50)}.drawer-body{flex:1;padding:20px 22px 32px;overflow:auto}.spec-grid{background:var(--color-surface);border:1px solid var(--color-neutral-200);border-radius:10px;grid-template-columns:repeat(2,1fr);gap:14px 24px;padding:16px 18px;display:grid}.spec-row{border-bottom:1px dashed #0000;flex-direction:column;gap:2px;display:flex}.spec-label{color:var(--color-neutral-400);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px}.spec-value{color:var(--color-neutral-900);font-size:13.5px;font-weight:450}.spec-value.mono{font-family:var(--font-mono);font-size:12.5px}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-neutral-400);align-items:center;gap:8px;margin:22px 0 10px;font-size:12px;font-weight:500;display:flex}.section-title .line{background:var(--color-neutral-200);flex:1;height:1px}.section-title .section-count{font-family:var(--font-mono);color:var(--color-neutral-600);background:var(--color-surface-3);letter-spacing:0;border-radius:5px;padding:0 6px;font-size:11px;font-weight:500}.doc-row{border-top:1px solid var(--color-neutral-200);align-items:center;gap:12px;padding:10px 14px;display:flex}.doc-row:first-child{border-top:none}.doc-fmt{font-family:var(--font-mono);letter-spacing:.02em;border-radius:6px;flex:none;align-items:center;gap:4px;padding:3px 7px 3px 6px;font-size:10.5px;font-weight:600;display:inline-flex}.doc-info{flex:1;min-width:0;line-height:1.25}.doc-info strong{font-size:13px;font-weight:500;display:block}.doc-info .doc-file{font-family:var(--font-mono);color:var(--color-neutral-400);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.doc-meta{color:var(--color-neutral-400);flex:none;align-items:center;gap:12px;font-size:11.5px;display:flex}.doc-meta .doc-size{font-family:var(--font-mono);text-align:right;min-width:56px}.doc-meta .doc-src{align-items:center;gap:4px;display:inline-flex}.doc-actions{flex:none;gap:2px;display:flex}@media (max-width:720px){.doc-meta .doc-src{display:none}}.card{background:var(--color-surface);border:1px solid var(--color-neutral-200);border-radius:10px;padding:14px 16px}.usage-row{border-top:1px solid var(--color-neutral-200);grid-template-columns:1fr 100px 100px 110px 90px;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:grid}.usage-row:first-child{border-top:none}.usage-row .pname{flex-direction:column;gap:1px;display:flex}.usage-row .pname strong{font-weight:500}.usage-row .pname small{color:var(--color-neutral-400);font-size:11.5px;font-family:var(--font-mono)}.usage-row .qty{font-family:var(--font-mono);font-size:12.5px}.usage-row .stage{color:var(--color-neutral-600);font-size:12.5px}.rev-list{padding-left:18px;position:relative}.rev-list:before{content:"";background:var(--color-neutral-200);width:1px;position:absolute;top:8px;bottom:8px;left:5px}.rev-item{padding:8px 0 16px;position:relative}.rev-item:before{content:"";background:var(--color-neutral-50);border:2px solid var(--color-neutral-300);border-radius:50%;width:9px;height:9px;position:absolute;top:12px;left:-16px}.rev-item.current:before{border-color:var(--color-primary-600);background:var(--color-primary-600)}.rev-head{align-items:baseline;gap:10px;display:flex}.rev-head .rev-num{font-family:var(--font-mono);font-size:13px;font-weight:600}.rev-head .rev-date{color:var(--color-neutral-400);font-size:12px}.rev-head .rev-by{color:var(--color-neutral-600);font-size:12px}.rev-desc{color:var(--color-neutral-600);margin-top:3px;font-size:13px}.rev-item.avail:before{border-color:var(--color-warning-600);background:var(--color-surface)}.badge.avail-badge{background:var(--color-warning-100);color:#794900;color:lab(35.8566% 20.8863 63.181);border-color:#0000}.rev-sold-note{color:var(--color-neutral-400);font-size:11px;font-family:var(--font-mono);margin-left:6px}.rev-switch{background:var(--color-primary-600);color:#fff;border-color:#0000;align-items:center;gap:5px;display:inline-flex}.rev-switch:hover{background:var(--color-primary-600);color:#fff;filter:brightness(1.08);border-color:#0000}.related-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.related-card{background:var(--color-surface);border:1px solid var(--color-neutral-200);cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:12px;transition:border-color .12s,background .12s;display:flex}.related-card:hover{border-color:var(--color-neutral-300);background:var(--color-surface-2)}.related-thumb{background:var(--color-surface-2);width:40px;height:40px;color:var(--color-neutral-400);border-radius:6px;flex:none;place-items:center;display:grid}.related-info{flex:1;min-width:0}.related-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;display:block;overflow:hidden}.related-info small{font-family:var(--font-mono);color:var(--color-neutral-400);font-size:11px;display:block}.stock-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;display:grid}.stock-stat{background:var(--color-surface);border:1px solid var(--color-neutral-200);border-radius:8px;padding:12px 14px}.stock-stat .label{color:var(--color-neutral-400);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px}.stock-stat .value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:22px;font-weight:550}.stock-stat .sub{color:var(--color-neutral-400);font-size:11.5px;font-family:var(--font-mono);margin-top:2px}.empty{text-align:center;color:var(--color-neutral-400);padding:60px 20px;font-size:13px}.switch{cursor:pointer;color:var(--color-neutral-600);align-items:center;gap:6px;font-size:13px;display:inline-flex}.switch input{display:none}.switch-track{background:var(--color-neutral-300);border-radius:8px;width:28px;height:16px;transition:background .15s;position:relative}.switch-track:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:2px;left:2px}.switch input:checked+.switch-track{background:var(--color-primary-600)}.switch input:checked+.switch-track:after{transform:translate(12px)}.kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.kpi-row.kpi-5{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:1100px){.kpi-row,.kpi-row.kpi-5{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.kpi{background:var(--color-surface);border:1px solid var(--color-neutral-200);border-radius:10px;padding:14px 16px}.kpi .label{color:var(--color-neutral-400);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.kpi .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:6px;font-size:26px;font-weight:550}.kpi .delta{font-size:11.5px;font-family:var(--font-mono);color:var(--color-neutral-400);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;overflow:hidden}.kpi .delta.up{color:var(--color-success-600)}.kpi .delta.down{color:var(--color-danger-600)}.proj-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.proj-card{background:var(--color-surface);border:1px solid var(--color-neutral-200);cursor:pointer;border-radius:10px;padding:16px;transition:border-color .12s,box-shadow .12s}.proj-card:hover{border-color:var(--color-neutral-300);box-shadow:var(--shadow-md)}.proj-card-head{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.proj-card h3{margin:0 0 2px;font-size:15px;font-weight:550}.proj-card .pid{font-family:var(--font-mono);color:var(--color-neutral-400);font-size:11.5px}.proj-bar{background:var(--color-surface-2);border-radius:3px;height:6px;margin-top:10px;display:flex;overflow:hidden}.proj-bar>span{height:100%;display:block}.proj-legend{color:var(--color-neutral-600);flex-wrap:wrap;gap:10px;margin-top:8px;font-size:11.5px;display:flex}.proj-legend span{align-items:center;gap:4px;display:inline-flex}.proj-legend i{border-radius:50%;width:7px;height:7px;display:inline-block}.bar{background:var(--color-surface-2);border-radius:2px;min-width:60px;height:4px;overflow:hidden}.bar>span{background:var(--color-success-600);height:100%;display:block}.bar.low>span{background:var(--color-warning-600)}.bar.critical>span{background:var(--color-danger-600)}.risk-matrix{gap:2px;display:inline-flex}.risk-matrix span{background:var(--color-surface-3);border-radius:2px;width:6px;height:12px}.risk-matrix span.on{background:currentColor}.shimmer{background:linear-gradient(90deg, var(--color-surface-2) 0%, var(--color-surface-3) 50%, var(--color-surface-2) 100%);background-size:200% 100%;animation:1.2s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.t-status{white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:2px 9px 2px 8px;font-size:12px;font-weight:500;display:inline-flex}.seg{background:var(--color-surface-2);border:1px solid var(--color-neutral-200);border-radius:7px;gap:2px;margin-left:12px;padding:2px;display:inline-flex}.seg-btn{font:inherit;color:var(--color-neutral-600);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:3px 11px;font-size:12px}.seg-btn:hover{color:var(--color-neutral-900)}.seg-btn.on{background:var(--color-surface);color:var(--color-neutral-900);font-weight:500;box-shadow:0 1px 2px #0000000f}.score-bar{align-items:center;gap:1px;display:flex}.score-bar i{background:var(--color-surface-3);border-radius:1px;width:4px;height:14px}.score-bar.s-A i:nth-child(-n+1),.score-bar.s-B i:nth-child(-n+2),.score-bar.s-C i:nth-child(-n+3),.score-bar.s-D i:nth-child(-n+4),.score-bar.s-E i:nth-child(-n+5){background:currentColor}.kit-chip{background:var(--color-primary-100);color:var(--color-primary-600);border:1px solid var(--color-primary-200);letter-spacing:.02em;text-transform:lowercase;font-size:10.5px;font-weight:550;font-family:var(--font-mono);vertical-align:1px;border-radius:999px;align-items:center;gap:3px;margin-left:8px;padding:1px 6px 1px 5px;display:inline-flex}.rev-chip{background:var(--color-warning-100);color:#794900;color:lab(35.8566% 20.8863 63.181);letter-spacing:.02em;font-size:10.5px;font-weight:550;font-family:var(--font-mono);vertical-align:1px;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:3px;margin-left:8px;padding:1px 6px 1px 5px;display:inline-flex}.badge.kit-badge{background:var(--color-primary-100);color:var(--color-primary-600);border-color:var(--color-primary-200);align-items:center;gap:5px;display:inline-flex}.bom-card{padding:0;overflow:hidden}.bom-scroll{scrollbar-color:var(--color-neutral-300) transparent;overflow-x:auto}.bom-scroll::-webkit-scrollbar{height:10px}.bom-scroll::-webkit-scrollbar-track{background:var(--color-surface-2)}.bom-scroll::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border:2px solid var(--color-surface-2);border-radius:6px}.bom-row{border-top:1px solid var(--color-neutral-200);grid-template-columns:36px 60px 140px 260px 130px 140px 92px 104px 18px;align-items:center;gap:12px;width:max-content;min-width:100%;padding:11px 16px;font-size:13px;display:grid}.bom-row:first-child{border-top:none}.bom-row.bom-head{background:var(--color-surface-2);text-transform:uppercase;letter-spacing:.05em;color:var(--color-neutral-400);padding:9px 16px;font-size:10.5px;font-weight:550}.bom-row.clickable{cursor:pointer}.bom-row.clickable:hover{background:var(--color-surface-2)}.bom-row>.num{text-align:right}.bom-idx{color:var(--color-neutral-400);font-size:11.5px}.bom-qty{background:var(--color-surface-3);color:var(--color-neutral-900);font-size:12px;font-weight:550;font-family:var(--font-mono);text-align:center;border-radius:4px;min-width:30px;padding:2px 8px;display:inline-block}.bom-pn{color:var(--color-neutral-900);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.bom-name{color:var(--color-neutral-900);font-weight:450;line-height:1.35}.bom-name.tree{align-items:center;gap:0;min-width:0;display:flex}.bom-name.tree .bom-nm-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bom-sub{color:var(--color-neutral-600);font-size:12.5px}.bom-row.bom-total{background:var(--color-surface-2);border-top:1.5px solid var(--color-neutral-300);font-size:13.5px}.badge.bom-type{text-transform:none;letter-spacing:0;white-space:nowrap;padding:2px 8px;font-size:10.5px;font-weight:500}.badge.bom-type.zem-internal{background:var(--color-primary-100);color:var(--color-primary-600);border-color:var(--color-primary-200)}.badge.bom-type.mfg-part{background:var(--color-surface-2);color:var(--color-neutral-600)}.badge.bom-type.bulk{color:var(--color-neutral-400);background:0 0;border-style:dashed}.usage-row.used2{grid-template-columns:1fr 60px 160px 110px 110px}.usage-row.kit2{grid-template-columns:1fr 90px 72px 140px;align-items:center}.usage-row.kit2 .qty{display:flex}.subtab-bar{border-bottom:1px solid var(--color-neutral-200);gap:4px;margin-bottom:16px;padding-bottom:12px;display:flex}.subtab{color:var(--color-neutral-600);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:7px;padding:6px 12px;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.subtab:hover{background:var(--color-surface-2);color:var(--color-neutral-900)}.subtab.active{background:var(--color-surface-2);border-color:var(--color-neutral-200);color:var(--color-neutral-900)}.subtab-count{background:var(--color-surface-3);min-width:18px;height:18px;color:var(--color-neutral-600);font-family:var(--font-mono);border-radius:999px;place-items:center;padding:0 5px;font-size:10.5px;font-weight:600;display:inline-grid}.subtab.active .subtab-count{background:var(--color-primary-600);color:#fff}.serial-note{background:var(--color-surface-2);border:1px solid var(--color-neutral-200);color:var(--color-neutral-600);border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:11px 14px;font-size:12.5px;line-height:1.5;display:flex}.serial-note .mono{font-family:var(--font-mono)}.serial-flag{font-family:var(--font-mono);white-space:nowrap;border:1px solid #0000;border-radius:5px;align-items:center;padding:1px 6px;font-size:10px;font-weight:500;display:inline-flex}.serial-flag.drift{background:var(--color-warning-100);color:var(--color-warning-600)}.serial-flag.warn{background:var(--color-danger-100);color:var(--color-danger-600)}.serial-flag.fw{background:var(--color-surface-3);color:var(--color-neutral-600)}.serial-flag.move{background:var(--color-info-100);color:var(--color-info-600)}.serial-flag.swap{background:var(--color-primary-100);color:var(--color-primary-600);border-color:var(--color-primary-200)}.serial-primary{color:var(--color-neutral-900);font-size:12.5px}.serial-secondary{color:var(--color-neutral-400);font-size:10.5px}.serial-row{grid-template-columns:22px 1.5fr 44px 1.3fr 1fr 1.2fr 1.4fr;align-items:center;gap:12px;padding:9px 14px;font-size:12.5px;display:grid}.serial-row.fw{grid-template-columns:22px 1.5fr 44px 70px 1.2fr 1fr 1.2fr 1.3fr}.serial-row.scoped{grid-template-columns:22px 1.5fr 44px 1.3fr 1.2fr 1.4fr}.serial-row.scoped.fw{grid-template-columns:22px 1.5fr 44px 70px 1.3fr 1.2fr 1.4fr}.serial-scope-bar{border:1px solid var(--color-primary-200);background:var(--color-primary-100);color:var(--color-neutral-600);border-radius:10px;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 12px;padding:9px 13px;font-size:12.5px;display:flex}.ssb-filter{letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--color-primary-600);border-radius:20px;align-items:center;gap:5px;padding:3px 9px 3px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.ssb-proj{color:var(--color-neutral-900);font-size:13px;font-weight:600}.ssb-sep{color:var(--color-neutral-400)}.ssb-count{font-family:var(--font-mono);font-size:11.5px}.ssb-note{color:var(--color-neutral-400);font-size:11.5px}.ssb-link{border:1px solid var(--color-primary-200);background:var(--color-surface);color:var(--color-primary-600);cursor:pointer;border-radius:7px;align-items:center;gap:3px;padding:4px 7px 4px 10px;font-size:11.5px;font-weight:500;transition:background .12s;display:inline-flex}.ssb-link:hover{background:var(--color-primary-100)}.serial-row.head{background:var(--color-surface-2);text-transform:uppercase;letter-spacing:.04em;color:var(--color-neutral-400);font-size:10.5px;font-weight:500}.serial-row.body{border-top:1px solid var(--color-neutral-200);cursor:pointer}.serial-row.body:hover,.serial-row.body.open{background:var(--color-surface-2)}.serial-row .chev{color:var(--color-neutral-400);transition:transform .15s}.serial-row.body.open .chev{color:var(--color-primary-600);transform:rotate(90deg)}.serial-row .pos{color:var(--color-neutral-600);font-size:11.5px}.serial-row .proj.muted,.muted{color:var(--color-neutral-400)}.serial-history{background:var(--color-surface-2);border-top:1px solid var(--color-neutral-200);padding:14px 16px 16px 36px}.sh-grid{grid-template-columns:230px 1fr;gap:24px;display:grid}.sh-meta{flex-direction:column;gap:5px;display:flex}.sh-mrow{justify-content:space-between;gap:10px;font-size:12px;display:flex}.sh-mlabel{color:var(--color-neutral-400)}.sh-mval{color:var(--color-neutral-900);text-align:right}.sh-mval.mono,.sh-mrow .mono{font-family:var(--font-mono)}.sh-timeline{border-left:1.5px solid var(--color-neutral-200);flex-direction:column;gap:12px;margin-left:4px;padding-left:16px;display:flex}.sh-event{position:relative}.sh-dot{background:var(--color-primary-600);width:8px;height:8px;box-shadow:0 0 0 3px var(--color-surface-2);border-radius:50%;position:absolute;top:4px;left:-22.5px}.sh-event-head{align-items:center;gap:8px;font-size:12.5px;display:flex}.sh-event-head .mono{font-family:var(--font-mono);color:var(--color-neutral-400);font-size:11px}.sh-note{color:var(--color-neutral-600);margin-top:2px;font-size:12px;line-height:1.45}.tbl .expand-cell{cursor:pointer;text-align:center;padding-left:10px!important}.tbl .row-chev{color:var(--color-neutral-400);transition:transform .15s;display:inline-flex}.tbl .row-chev.open{color:var(--color-primary-600);transform:rotate(90deg)}.serial-count{background:var(--color-info-100);color:var(--color-info-600);font-family:var(--font-mono);border-radius:5px;align-items:center;gap:3px;margin-left:8px;padding:0 6px;font-size:10px;display:inline-flex}.tbl tr.serial-subrow td{background:var(--color-surface-2);border-top:none}.tbl tr.serial-subrow:hover td{background:var(--color-surface-2)}.tbl td.row-action-cell{z-index:1;text-align:right;background:linear-gradient(to right, transparent 0, var(--color-surface) 24px);width:46px;padding-left:0;padding-right:10px;position:sticky;right:0}.tbl tbody tr:hover td.row-action-cell{background:linear-gradient(to right, transparent 0, var(--color-surface-2) 24px)}.tbl .row-action-btn{opacity:0;transition:opacity .1s}.tbl tbody tr:hover .row-action-btn,.tbl .row-action-btn:focus-visible{opacity:1}.th-scoped,.tbl td.scoped-cell{color:var(--color-neutral-600);background:color-mix(in oklch, var(--color-surface-2) 55%, transparent)}.tbl td.scoped-cell{padding-top:6px;padding-bottom:6px}.tbl tbody tr:hover td.scoped-cell{background:var(--color-surface-2)}.line-status{align-items:center;gap:6px;display:flex}.rollup-na{color:var(--color-neutral-400);padding-left:6px}.rollup-status{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:flex-start;gap:4px;padding:4px 6px;display:flex}.rollup-status:hover{background:var(--color-surface-2);border-color:var(--color-neutral-200)}.rollup-bar{gap:2px;width:100%;max-width:150px;height:4px;display:flex}.rollup-bar span{border-radius:2px;min-width:4px;height:100%;display:block}.rollup-txt{color:var(--color-neutral-600);font-size:11.5px;line-height:1.3}.rollup-txt strong{color:var(--color-neutral-900);font-weight:600;font-family:var(--font-mono)}.rollup-status.empty .rollup-txt{color:var(--color-neutral-400);font-size:12px}.serial-row .edit-cell{justify-content:flex-end;align-items:center;display:flex}.serial-row .notes-cell,.proj-serial-item .notes-cell{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.serial-edit-btn{width:22px;height:22px;color:var(--color-neutral-400);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:5px;flex-shrink:0;place-items:center;transition:opacity .12s,background .12s;display:inline-grid}.serial-row.body:hover .serial-edit-btn,.proj-serial-item:hover .serial-edit-btn,.serial-edit-btn:focus-visible{opacity:1}.serial-edit-btn:hover{background:var(--color-surface-3);border-color:var(--color-neutral-200);color:var(--color-neutral-900)}.sh-changes{flex-direction:column;gap:10px;display:flex}.sh-changes-head{text-transform:uppercase;letter-spacing:.05em;color:var(--color-neutral-400);font-size:10.5px;font-weight:600}.sh-changes-empty{color:var(--color-neutral-400);font-size:12px}.sh-change{border-top:1px solid var(--color-neutral-200);flex-direction:column;gap:4px;padding-top:8px;display:flex}.sh-change:first-of-type{border-top:none;padding-top:0}.sh-change-head{align-items:center;gap:8px;display:flex}.sh-change-head .font-mono{color:var(--color-neutral-400);font-size:11px}.sh-by{color:var(--color-neutral-400);margin-left:auto;font-size:11px}.sh-diff{color:var(--color-neutral-400);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.sh-field{min-width:84px;color:var(--color-neutral-600)}.sh-from{font-family:var(--font-mono);color:var(--color-neutral-400);font-size:11.5px;text-decoration:line-through}.sh-to{font-family:var(--font-mono);color:var(--color-neutral-900);font-size:11.5px}.se-modal{width:min(880px,96vw)}.se-body{max-height:min(66vh,620px);padding:16px 18px 18px;overflow-y:auto}.se-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.se-locked{border:1px solid var(--color-neutral-200);background:var(--color-surface-2);color:var(--color-neutral-600);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:8px 10px;font-size:13px;overflow:hidden}.se-sec-head{letter-spacing:.04em;text-transform:uppercase;color:var(--color-neutral-400);align-items:center;gap:10px;margin:20px 0 8px;font-size:11px;font-weight:600;display:flex}.se-sec-head .line{background:var(--color-neutral-200);flex:1;height:1px}.se-sec-note{letter-spacing:0;text-transform:none;font-weight:500;font-family:var(--font-mono);white-space:nowrap;font-size:11px}.se-rows{flex-direction:column;gap:6px;display:flex}.se-row{grid-template-columns:1.3fr 1.1fr 1.3fr 1.4fr 26px;align-items:center;gap:8px;display:grid}.se-row.locked-proj{grid-template-columns:1.3fr 1.1fr 1.6fr 26px}.se-row.head{text-transform:uppercase;letter-spacing:.04em;color:var(--color-neutral-400);padding-bottom:2px;font-size:10.5px}.se-row .np-input{padding:6px 8px;font-size:12.5px}.se-row .np-input.bad{border-color:var(--color-danger-600)}.se-drop{width:24px;height:24px;color:var(--color-neutral-400);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;place-items:center;display:grid}.se-drop:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-danger-600)}.se-drop:disabled{opacity:.25;cursor:default}.se-hint{color:var(--color-neutral-400);align-items:center;gap:8px;margin-top:12px;font-size:11.5px;display:flex}@media (max-width:760px){.se-grid{grid-template-columns:repeat(2,1fr)}.se-row,.se-row.locked-proj{grid-template-columns:1fr}.se-row.head{display:none}}.proj-serial{padding:4px 0 8px}.proj-serial-bar{color:var(--color-neutral-600);align-items:center;gap:10px;padding:8px 16px;font-size:12.5px;display:flex}.proj-serial-bar .mono{font-family:var(--font-mono);font-size:11.5px}.proj-serial-list{flex-direction:column;display:flex}.proj-serial-item{border-top:1px solid var(--color-neutral-200);grid-template-columns:1.4fr 1.2fr 1.4fr 1fr 1.4fr;align-items:center;gap:12px;margin:0 10px;padding:8px 16px;display:grid}.proj-serial-item .pos{color:var(--color-neutral-600);font-size:11.5px}.proj-serial-item.removed{opacity:.6}.proj-serial-item.removed .serial-primary{text-decoration:line-through}.proj-serial-foot{color:var(--color-neutral-400);align-items:center;gap:7px;padding:9px 16px 2px;font-size:11.5px;display:flex}.proj-serial-empty{color:var(--color-neutral-400);flex-wrap:wrap;align-items:center;gap:14px;padding:12px 16px;font-size:12.5px;display:flex}.proj-serial-callout{border:1px solid var(--color-primary-200);background:var(--color-primary-100);border-radius:10px;margin-bottom:14px;padding:12px 14px}.psc-label{letter-spacing:.05em;text-transform:uppercase;color:var(--color-neutral-600);align-items:center;gap:8px;margin-bottom:10px;font-size:11px;font-weight:600;display:flex}.psc-count{font-family:var(--font-mono);background:var(--color-primary-600);color:#fff;letter-spacing:0;border-radius:20px;padding:1px 8px;font-size:11px;font-weight:600}.psc-empty{color:var(--color-neutral-400);font-size:12.5px}.psc-chips{flex-direction:column;gap:7px;display:flex}.psc-chip{background:var(--color-surface);border:1px solid var(--color-neutral-200);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px;display:flex}.psc-chip .psc-rev{color:var(--color-neutral-600);font-size:11.5px}.inline-bom{padding:4px 0 14px}.inline-bom-row{border-top:1px solid var(--color-neutral-200);grid-template-columns:56px 172px 1fr 144px 122px 96px 22px;align-items:center;gap:18px;padding:12px 24px 12px 40px;font-size:13px;display:grid}.inline-bom-row.head{text-transform:uppercase;letter-spacing:.05em;color:var(--color-neutral-400);border-top:none;padding-top:4px;padding-bottom:10px;font-size:10.5px;font-weight:500}.inline-bom-row.clickable{cursor:pointer}.inline-bom-row.clickable:hover{background:var(--color-surface-3)}.inline-bom-row .num{text-align:right}.inline-bom-row .bom-qty{font-family:var(--font-mono);color:var(--color-neutral-600)}.inline-bom-row .pn{color:var(--color-neutral-900);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.inline-bom-row .nm{color:var(--color-neutral-900);line-height:1.4}.inline-bom-row .sub{color:var(--color-neutral-600);font-size:12.5px}.inline-bom-row .chev2{color:var(--color-neutral-400);text-align:right}.inline-bom-row.tree .nm{align-items:center;gap:0;min-width:0;display:flex}.inline-bom-row.kit-row{font-weight:500}.inline-bom-row.kit-row.open{background:0 0}.bom-children{position:relative}.bom-children .inline-bom-row{border-top-color:var(--color-neutral-200)}.bom-guide{flex:0 0 24px;align-self:stretch;position:relative}.bom-guide.cont:before{content:"";border-left:1.5px solid var(--color-bomrail);position:absolute;top:-13px;bottom:-13px;left:11px}.bom-guide.last:before{content:"";border-left:1.5px solid var(--color-bomrail);position:absolute;top:-13px;bottom:50%;left:11px}.bom-guide.last.through:before{bottom:-13px}.bom-guide.last:after{content:"";border-top:1.5px solid var(--color-bomrail);width:13px;position:absolute;top:50%;left:11px}.bom-twist{cursor:pointer;width:18px;height:18px;color:var(--color-neutral-400);background:0 0;border:none;border-radius:4px;flex:0 0 18px;place-items:center;margin-right:4px;transition:transform .13s,background .13s;display:grid}.bom-twist:hover{background:var(--color-surface-3);color:var(--color-neutral-900)}.bom-twist.open{color:var(--color-primary-600);transform:rotate(90deg)}.bom-twist-spacer{flex:0 0 22px}.bom-leaf{border-radius:5px;flex:none;place-items:center;width:20px;height:20px;margin-right:8px;display:grid}.bom-leaf.is-kit{background:var(--color-primary-100);color:var(--color-primary-600)}.bom-leaf.is-leaf{color:var(--color-neutral-400)}.bom-nm-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bom-kit-count{font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;color:var(--color-primary-600);background:var(--color-primary-100);border-radius:999px;flex:none;margin-left:8px;padding:2px 7px;font-size:10px;font-weight:600}.bom-open{cursor:pointer;color:var(--color-neutral-400);background:0 0;border:none;border-radius:4px;place-items:center;padding:3px;display:inline-grid}.bom-open:hover{background:var(--color-surface-3);color:var(--color-primary-600)}.comm-tbl{min-width:980px}.comm-tbl tbody tr.comm-row td{white-space:nowrap}.comm-await{color:var(--color-neutral-400);align-items:center;gap:6px;font-size:12px;font-style:italic;display:inline-flex}.comm-detail{background:var(--color-surface-2);white-space:normal;padding:16px 18px 18px}.comm-compare{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.comm-col{flex-direction:column;min-width:0;display:flex}.comm-col-head{text-transform:uppercase;letter-spacing:.06em;color:var(--color-neutral-400);align-items:center;gap:10px;margin-bottom:7px;font-size:10.5px;font-weight:600;display:flex}.comm-arrow{color:var(--color-neutral-400);align-self:center;place-items:center;display:grid}.comm-card{background:var(--color-surface);border:1px solid var(--color-neutral-200);border-radius:9px;flex:1;padding:12px 14px}.comm-card.ok{border-color:var(--color-primary-200)}.comm-art{text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--color-neutral-200);background:0 0;align-items:center;gap:11px;width:100%;margin-bottom:10px;padding:0 0 11px;display:flex}.comm-art:hover strong{color:var(--color-primary-600)}.comm-art strong{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:550;display:block;overflow:hidden}.comm-art-sub{color:var(--color-neutral-400);margin-top:2px;font-size:11px;display:block}.comm-kv{justify-content:space-between;gap:12px;padding:3px 0;font-size:12px;display:flex}.comm-kv>span:first-child{color:var(--color-neutral-400)}.comm-kv>span:last-child,.comm-kv .mono{color:var(--color-neutral-900);text-align:right}.comm-kv .mono{font-family:var(--font-mono);font-size:11.5px}.comm-kv .link-btn{font-size:12px}.comm-record{flex-direction:column;gap:9px;min-width:0;display:flex}.comm-record-label{color:var(--color-neutral-600);align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:flex}.comm-record-row{gap:8px;min-width:0;display:flex}.comm-prefill{border:1px solid var(--color-primary-100);background:var(--color-primary-100);color:var(--color-neutral-600);border-radius:6px;align-items:flex-start;gap:7px;padding:8px 10px;font-size:11.5px;line-height:1.45;display:flex}.comm-prefill svg{color:var(--color-primary-600);flex:none;margin-top:1px}.comm-prefill .mono{color:var(--color-neutral-900);font-weight:500}.comm-prefill .link-btn{flex:none;margin-left:auto;font-size:11.5px}.comm-input{border:1px solid var(--color-neutral-300);background:var(--color-surface);min-width:0;color:var(--color-neutral-900);border-radius:6px;outline:none;flex:1;padding:7px 10px;font-size:13px}.comm-input:focus{border-color:var(--color-primary-600);box-shadow:0 0 0 3px var(--color-primary-100)}.comm-hint{color:var(--color-neutral-400);font-size:11px;line-height:1.45}.comm-alt-toggle{cursor:pointer;color:var(--color-neutral-400);background:0 0;border:none;align-self:flex-start;align-items:center;gap:5px;padding:0;font-size:11.5px;display:inline-flex}.comm-alt-toggle:hover{color:var(--color-primary-600)}.comm-alt{flex-direction:column;gap:8px;display:flex}.comm-alt-head{color:var(--color-neutral-600);justify-content:space-between;align-items:center;font-size:11.5px;font-weight:500;display:flex}.comm-alt-head>span{align-items:center;gap:5px;display:inline-flex}.comm-alt-head .link-btn{font-size:11.5px}.comm-banner{border-radius:8px;align-items:flex-start;gap:10px;margin-top:12px;padding:11px 14px;font-size:12.5px;line-height:1.5;display:flex}.comm-banner.note{background:var(--color-surface-2);border:1px solid var(--color-neutral-300);color:var(--color-neutral-600)}.comm-banner.ok{background:var(--color-surface);border:1px solid var(--color-neutral-200);color:var(--color-neutral-600)}.comm-banner strong{color:inherit}@media (max-width:900px){.comm-compare{grid-template-columns:1fr}.comm-arrow{padding:4px 0;transform:rotate(90deg)}}.clone-dot{background:var(--color-warning-100);color:#794900;color:lab(35.8566% 20.8863 63.181);min-width:16px;height:16px;font-size:10.5px;font-weight:650;font-family:var(--font-mono);border-radius:999px;place-items:center;margin-left:2px;padding:0 4px;line-height:1;display:inline-grid}.modal-scrim{z-index:110;background:#0f111557;place-items:flex-start center;padding:80px 20px 40px;animation:.14s modal-fade;display:grid;position:fixed;inset:0;overflow:auto}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-surface);border:1px solid var(--color-neutral-200);width:min(660px,96vw);box-shadow:var(--shadow-lg);border-radius:12px;animation:.16s cubic-bezier(.2,.8,.3,1) modal-rise;overflow:hidden}@keyframes modal-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-head{border-bottom:1px solid var(--color-neutral-200);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.modal-head h3{margin:0;font-size:15.5px;font-weight:600}.modal-sub{color:var(--color-neutral-400);margin-top:1px;font-size:12px}.modal-ico{background:var(--color-primary-100);width:32px;height:32px;color:var(--color-primary-600);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.modal-note{color:var(--color-neutral-600);background:var(--color-warning-100);border-bottom:1px solid var(--color-neutral-200);align-items:flex-start;gap:10px;padding:12px 18px;font-size:12.5px;line-height:1.55;display:flex}.modal-note strong{color:var(--color-neutral-900)}.modal-toolbar{border-bottom:1px solid var(--color-neutral-200);background:var(--color-surface-2);align-items:center;gap:10px;padding:9px 18px;display:flex}.modal-toolbar .link-btn:disabled{opacity:.4;cursor:default;pointer-events:none}.clone-list{max-height:46vh;overflow:auto}.clone-row{-moz-column-gap:12px;border-bottom:1px solid var(--color-neutral-200);cursor:pointer;grid-template-columns:22px minmax(160px,1fr) auto;grid-template-areas:"chk main rev""chk note note";align-items:center;gap:3px 12px;padding:12px 18px;transition:background .12s;display:grid}.clone-row:hover{background:var(--color-surface-2)}.clone-row input{width:15px;height:15px;accent-color:var(--color-primary-600);cursor:pointer;grid-area:chk;margin:0}.clone-row-main{grid-area:main;min-width:0}.clone-row-name{font-size:13.5px}.clone-row-name strong{font-weight:550}.clone-qty{color:var(--color-neutral-400);margin-left:4px;font-size:11px}.clone-row-meta{color:var(--color-neutral-400);margin-top:1px;font-size:11px}.clone-rev{grid-area:rev;justify-self:end;align-items:center;gap:7px;display:flex}.clone-rev-note{color:var(--color-neutral-600);flex-wrap:wrap;grid-area:note;align-items:baseline;gap:8px;margin-left:0;font-size:11.5px;display:flex}.rev-pill{font-family:var(--font-mono);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:550}.rev-pill.kept{background:var(--color-success-100);color:var(--color-success-600);border:1px solid #0000}.rev-pill.replaced{background:var(--color-surface-2);color:var(--color-neutral-400);border:1px solid var(--color-neutral-300);text-decoration:line-through;-webkit-text-decoration-color:var(--color-neutral-400);text-decoration-color:var(--color-neutral-400)}.clone-row:not(.on) .clone-row-main{opacity:.6}.modal-foot{border-top:1px solid var(--color-neutral-200);background:var(--color-surface);justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;display:flex}.modal-foot-sum{color:var(--color-neutral-600);font-size:12px;line-height:1.5}.modal-foot-sum strong{color:var(--color-neutral-900);font-weight:600}.toast{z-index:120;background:var(--color-surface);border:1px solid var(--color-neutral-200);box-shadow:var(--shadow-lg);border-radius:10px;align-items:center;gap:12px;max-width:92vw;padding:12px 14px;font-size:13px;animation:.22s cubic-bezier(.2,.8,.3,1) toast-rise;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}@keyframes toast-rise{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.toast-ico{background:var(--color-success-100);width:26px;height:26px;color:var(--color-success-600);border-radius:7px;flex-shrink:0;place-items:center;display:grid}@media (max-width:720px){.clone-row{grid-template-columns:22px 1fr;grid-template-areas:"chk main""chk rev""chk note"}.clone-rev{justify-self:start}}.ph-form{flex-direction:column;gap:14px;padding:16px 18px;display:flex}.ph-form-grid{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.ph-field{flex-direction:column;gap:5px;min-width:0;display:flex}.ph-field.full{grid-column:1/-1}.ph-field label{letter-spacing:.03em;text-transform:uppercase;color:var(--color-neutral-400);white-space:nowrap;align-items:baseline;gap:5px;min-width:0;font-size:11px;font-weight:600;display:flex}.ph-field label .opt{text-transform:none;letter-spacing:0;color:var(--color-neutral-400);opacity:.75;font-size:10.5px;font-weight:500}.ph-field .req{color:var(--color-danger-600)}.ph-input{border:1px solid var(--color-neutral-300);background:var(--color-surface);color:var(--color-neutral-900);border-radius:6px;outline:none;width:100%;padding:8px 10px;font-size:13px}.ph-input:focus{border-color:var(--color-primary-600);box-shadow:0 0 0 3px var(--color-primary-100)}.ph-input::placeholder{color:var(--color-neutral-400)}textarea.ph-input{resize:vertical;min-height:56px;font-family:inherit;line-height:1.5}.ph-input-money{align-items:center;display:flex;position:relative}.ph-input-money .cur{color:var(--color-neutral-400);font-family:var(--font-mono);pointer-events:none;font-size:12.5px;position:absolute;left:10px}.ph-input-money .ph-input{padding-left:24px}.ph-est-readout{color:var(--color-neutral-400);font-size:11.5px;font-family:var(--font-mono)}.ph-est-readout strong{color:var(--color-neutral-600);font-weight:600}@media (max-width:560px){.ph-form-grid{grid-template-columns:1fr}}.new-chip{background:var(--color-success-100);color:var(--color-success-600);letter-spacing:.02em;font-size:10.5px;font-weight:550;font-family:var(--font-mono);vertical-align:1px;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:3px;margin-left:8px;padding:1px 6px 1px 5px;display:inline-flex}.ac-modal{flex-direction:column;width:min(760px,96vw);max-height:88vh;display:flex}.ac-search{border:1px solid var(--color-neutral-300);background:var(--color-surface);color:var(--color-neutral-400);border-radius:8px;align-items:center;gap:8px;margin:14px 18px 0;padding:8px 10px;display:flex}.ac-search:focus-within{border-color:var(--color-primary-600);box-shadow:0 0 0 3px var(--color-primary-100)}.ac-search input{color:var(--color-neutral-900);background:0 0;border:none;outline:none;flex:1;font-size:13px}.ac-search input::placeholder{color:var(--color-neutral-400)}.ac-subbar{justify-content:space-between;align-items:center;gap:12px;margin:10px 18px 0;display:flex}.ac-count{color:var(--color-neutral-400);font-size:11.5px;font-family:var(--font-mono)}.ac-toggle{color:var(--color-neutral-600);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;display:inline-flex}.ac-toggle.on{color:var(--color-neutral-900)}.ac-toggle input{opacity:0;pointer-events:none;position:absolute}.ac-switch{background:var(--color-surface-3);border:1px solid var(--color-neutral-300);border-radius:999px;flex:none;width:30px;height:17px;transition:background .14s,border-color .14s;position:relative}.ac-switch>span{background:var(--color-surface);border-radius:999px;width:13px;height:13px;transition:transform .14s;position:absolute;top:1px;left:1px;box-shadow:0 1px 2px #0000002e}.ac-toggle.on .ac-switch{background:var(--color-primary-600);border-color:var(--color-primary-600)}.ac-toggle.on .ac-switch>span{transform:translate(13px)}.ac-list{flex-direction:column;flex:1;gap:2px;min-height:140px;margin:12px 8px 0 18px;padding-right:10px;display:flex;overflow-y:auto}.ac-row{cursor:pointer;border-radius:7px;grid-template-columns:18px minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:9px 10px;transition:background .1s;display:grid}.ac-row:hover{background:var(--color-surface-2)}.ac-row.on{background:var(--color-primary-100)}.ac-box{border:1.5px solid var(--color-neutral-300);background:var(--color-surface);color:#fff;border-radius:5px;place-items:center;width:17px;height:17px;display:grid}.ac-box.on{border-color:var(--color-primary-600);background:var(--color-primary-600)}.ac-main{min-width:0}.ac-name{flex-wrap:wrap;align-items:center;gap:2px;font-size:13.5px;display:flex}.ac-name strong{font-weight:500}.ac-meta{color:var(--color-neutral-400);margin-top:1px;font-size:11px}.ac-already{background:var(--color-surface-3);color:var(--color-neutral-400);font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;border-radius:999px;margin-left:8px;padding:0 6px}.ac-price{color:var(--color-neutral-600);white-space:nowrap;text-align:right;min-width:76px;font-size:12.5px}.ac-qty-ph{text-align:center;width:96px;color:var(--color-neutral-400);font-family:var(--font-mono)}.ac-qty{border:1px solid var(--color-neutral-300);background:var(--color-surface);border-radius:7px;align-items:center;width:96px;display:inline-flex;overflow:hidden}.ac-qty button{background:var(--color-surface-2);cursor:pointer;width:28px;height:28px;color:var(--color-neutral-600);border:none;place-items:center;display:grid}.ac-qty button:hover:not(:disabled){background:var(--color-surface-3);color:var(--color-neutral-900)}.ac-qty button:disabled{opacity:.4;cursor:default}.ac-qty input{text-align:center;width:40px;color:var(--color-neutral-900);-moz-appearance:textfield;background:0 0;border:none;outline:none;font-size:13px}.ac-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ac-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@media (max-width:620px){.ac-modes{grid-template-columns:1fr}.ac-row{grid-template-columns:18px minmax(0,1fr) auto}.ac-price{display:none}}.np-modal{flex-direction:column;width:min(1040px,96vw);max-height:90vh;display:flex}.np-meta{border-bottom:1px solid var(--color-neutral-200);background:var(--color-surface-2);gap:14px;padding:14px 18px;display:flex}.np-field{flex-direction:column;gap:5px;min-width:0;display:flex}.np-field label{letter-spacing:.03em;text-transform:uppercase;color:var(--color-neutral-400);align-items:baseline;gap:5px;font-size:11px;font-weight:600;display:flex}.np-field .req{color:var(--color-danger-600)}.np-field .opt{text-transform:none;letter-spacing:0;opacity:.75;font-size:10.5px;font-weight:500}.np-input{border:1px solid var(--color-neutral-300);background:var(--color-surface);color:var(--color-neutral-900);border-radius:6px;outline:none;width:100%;padding:8px 10px;font-size:13.5px}.np-input:focus{border-color:var(--color-primary-600);box-shadow:0 0 0 3px var(--color-primary-100)}.np-input::placeholder{color:var(--color-neutral-400)}.np-body{flex:1;grid-template-columns:minmax(0,1fr) 348px;min-height:0;display:grid;overflow:hidden}.np-body--single{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.np-inputs{border-right:1px solid var(--color-neutral-200);min-height:0;padding:8px 18px 20px;overflow-y:auto}.np-group{margin-top:16px}.np-group:first-child{margin-top:8px}.np-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-neutral-600);align-items:center;gap:10px;margin-bottom:6px;font-size:11px;font-weight:600;display:flex}.np-group-title .line{background:var(--color-neutral-200);flex:1;height:1px}.np-group-count{background:var(--color-primary-100);min-width:18px;height:18px;color:var(--color-primary-600);letter-spacing:0;border-radius:999px;place-items:center;padding:0 6px;font-size:10.5px;font-weight:600;display:inline-grid}.np-rows{flex-direction:column;display:flex}.np-prod{border-radius:7px;justify-content:space-between;align-items:center;gap:14px;padding:7px 4px 7px 8px;display:flex}.np-prod:hover{background:var(--color-surface-2)}.np-prod.on{background:var(--color-primary-100)}.np-prod-name{color:var(--color-neutral-900);min-width:0;font-size:13.5px}.np-prod.on .np-prod-name{font-weight:500}.np-qty{border:1px solid var(--color-neutral-300);background:var(--color-surface);border-radius:7px;flex:none;align-items:center;width:92px;display:inline-flex;overflow:hidden}.np-qty.on{border-color:var(--color-primary-200)}.np-qty.warn{border-color:var(--color-warning-600);box-shadow:0 0 0 2px var(--color-warning-100)}.np-qty button{background:var(--color-surface-2);cursor:pointer;width:28px;height:28px;color:var(--color-neutral-600);border:none;flex:none;place-items:center;display:grid}.np-qty button:hover:not(:disabled){background:var(--color-surface-3);color:var(--color-neutral-900)}.np-qty button:disabled{opacity:.35;cursor:default}.np-qty input{text-align:center;width:36px;color:var(--color-neutral-900);-moz-appearance:textfield;background:0 0;border:none;outline:none;flex:1;font-size:13px}.np-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.np-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.np-rail{background:var(--color-surface-2);flex-direction:column;gap:12px;min-height:0;padding:14px 18px 20px;display:flex;overflow-y:auto}.np-rail-head{text-transform:uppercase;letter-spacing:.06em;color:var(--color-neutral-400);align-items:center;gap:7px;font-size:11px;font-weight:600;display:flex}.np-rail-card{background:var(--color-surface);border:1px solid var(--color-neutral-200);border-radius:10px;padding:12px 14px}.np-rail-card-title{color:var(--color-neutral-900);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.np-rail-rule{letter-spacing:.02em;color:var(--color-neutral-400);font-size:10.5px;font-weight:500;font-family:var(--font-mono)}.np-empty{color:var(--color-neutral-400);padding:4px 0;font-size:12px;line-height:1.5}.np-ctrl-list{flex-direction:column;gap:6px;display:flex}.np-ctrl{border:1px solid var(--color-neutral-200);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:9px 10px;transition:border-color .12s,background .12s;display:flex}.np-ctrl:hover{background:var(--color-surface-2)}.np-ctrl.sel{border-color:var(--color-primary-600);background:var(--color-primary-100)}.np-ctrl.rec{border-color:var(--color-primary-200)}.np-ctrl.rec.sel{border-color:var(--color-primary-600)}.np-ctrl input{opacity:0;pointer-events:none;position:absolute}.np-radio{border:1.5px solid var(--color-neutral-300);background:var(--color-surface);border-radius:50%;flex:none;width:16px;height:16px;margin-top:1px;transition:border-color .12s;position:relative}.np-ctrl.sel .np-radio{border-color:var(--color-primary-600)}.np-ctrl.sel .np-radio:after{content:"";background:var(--color-primary-600);border-radius:50%;position:absolute;inset:3px}.np-ctrl-body{flex-direction:column;gap:2px;min-width:0;display:flex}.np-ctrl-name{color:var(--color-neutral-900);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.np-ctrl-code{color:var(--color-neutral-400);background:var(--color-surface-2);border:1px solid var(--color-neutral-200);border-radius:4px;padding:0 5px;font-size:10.5px}.np-rec-pill{letter-spacing:.02em;color:var(--color-primary-600);background:var(--color-primary-100);border:1px solid var(--color-primary-200);border-radius:999px;align-items:center;gap:3px;padding:1px 7px 1px 5px;font-size:10px;font-weight:600;display:inline-flex}.np-ctrl-desc{color:var(--color-neutral-400);font-size:11.5px;line-height:1.4}.np-warn{background:var(--color-warning-100);color:#794900;color:lab(35.8566% 20.8863 63.181);border-radius:7px;align-items:center;gap:7px;margin-top:8px;padding:8px 10px;font-size:11.5px;line-height:1.4;display:flex}.np-warn svg{color:var(--color-warning-600);flex:none}.np-warn strong{font-weight:600}.np-warn .link-btn{color:#794900;color:lab(35.8566% 20.8863 63.181);flex:none;margin-left:auto;font-size:11.5px}.np-room-list{flex-direction:column;gap:4px;display:flex}.np-room{justify-content:space-between;align-items:center;gap:10px;padding:7px 4px;display:flex}.np-room-main{flex-direction:column;gap:1px;min-width:0;display:flex}.np-room-name{color:var(--color-neutral-600);font-size:12.5px}.np-room.active .np-room-name{color:var(--color-neutral-900);font-weight:500}.np-room-rule{color:var(--color-neutral-400);font-size:10.5px;font-family:var(--font-mono)}.np-room-right{flex:none;align-items:center;gap:8px;display:flex}.np-rec-qty{color:var(--color-primary-600);white-space:nowrap;text-align:right;min-width:42px;font-size:11.5px}.np-rec-qty strong{font-weight:600}.np-rec-qty.none{color:var(--color-neutral-400)}.np-summary{border:1px solid var(--color-neutral-200);background:var(--color-surface);border-radius:10px;flex-direction:column;gap:7px;padding:12px 14px;display:flex}.np-sum-row{color:var(--color-neutral-600);justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.np-sum-row .mono{color:var(--color-neutral-900);font-weight:600;font-family:var(--font-mono)}.np-apply{border:1px solid var(--color-primary-200);background:var(--color-primary-100);color:var(--color-primary-600);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:6px;margin-top:4px;padding:8px 10px;font-size:12.5px;font-weight:600;transition:background .12s;display:inline-flex}.np-apply:hover{background:#c4e7dc;background:lab(88.9185% -13.6229 1.20173)}@media (max-width:820px){.np-body{grid-template-columns:1fr;overflow-y:auto}.np-inputs{border-right:none;border-bottom:1px solid var(--color-neutral-200);overflow:visible}.np-rail{overflow:visible}}.editable{border-radius:6px;align-items:center;display:inline-flex;position:relative}.editable.is-editable{cursor:pointer}.editable.is-editable:hover{box-shadow:0 0 0 2px var(--color-primary-100), 0 0 0 3px var(--color-primary-200)}.editable.is-open{box-shadow:0 0 0 2px var(--color-primary-100), 0 0 0 3px var(--color-primary-600)}.editable.is-locked{cursor:inherit}.edit-afford{background:var(--color-surface);border:1px solid var(--color-neutral-300);width:15px;height:15px;box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;z-index:2;border-radius:50%;place-items:center;transition:opacity .1s;display:grid;position:absolute;top:-7px;right:-7px}.edit-afford.caret{color:var(--color-primary-600)}.edit-afford.lock{color:var(--color-neutral-400)}.editable:hover .edit-afford,.editable.is-open .edit-afford{opacity:1}.edit-pop{z-index:200;background:var(--color-surface);border:1px solid var(--color-neutral-200);box-shadow:var(--shadow-lg);border-radius:10px;padding:5px;animation:.1s edit-pop-in;position:fixed}@keyframes edit-pop-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.edit-pop-head{text-transform:uppercase;letter-spacing:.05em;color:var(--color-neutral-400);padding:5px 9px 6px;font-size:10.5px;font-weight:600}.edit-pop-scroll{max-height:260px;overflow-y:auto}.edit-pop-opt{width:100%;font:inherit;text-align:left;color:var(--color-neutral-900);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 9px;font-size:13px;display:flex}.edit-pop-opt:hover{background:var(--color-surface-2)}.edit-pop-opt.active{background:var(--color-primary-100);color:var(--color-primary-600)}.edit-pop-opt .epo-body{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.edit-pop-opt .epo-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.edit-pop-opt .epo-num{background:var(--color-surface-3);width:18px;height:18px;color:var(--color-neutral-900);font-family:var(--font-mono);border-radius:999px;flex:none;place-items:center;font-size:11px;font-weight:600;display:inline-grid}.edit-pop-opt.active svg{color:var(--color-primary-600)}.badge.tender-off{color:var(--color-neutral-400);border:1px dashed var(--color-neutral-300);background:0 0}.edit-banner{background:var(--color-primary-100);border:1px solid var(--color-primary-200);color:var(--color-neutral-600);border-radius:9px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:10px 13px;font-size:12.5px;line-height:1.45;display:flex}.edit-banner svg{color:var(--color-primary-600);flex:none;margin-top:1px}.edit-banner strong{color:var(--color-neutral-900);font-weight:600}.spec-row.edit-spec .spec-label{align-items:center;gap:6px;display:flex}.spec-edit-dot{background:var(--color-primary-600);border-radius:50%;flex:none;width:6px;height:6px}.spec-input{width:100%;margin-top:4px;padding:6px 9px;font-size:13px}.spec-input.mono{font-family:var(--font-mono);font-size:12.5px}select.spec-input{cursor:pointer;appearance:auto}.spec-input-wrap{align-items:center;display:flex;position:relative}.spec-input-wrap .spec-suffix{color:var(--color-neutral-400);font-size:11.5px;font-family:var(--font-mono);pointer-events:none;position:absolute;right:10px}.spec-input-wrap .spec-input{padding-right:52px}.spec-row.locked-spec .spec-label{align-items:center;gap:6px;display:flex}.spec-row.locked-spec .spec-lock{color:var(--color-neutral-400);opacity:0;transition:opacity .1s;display:inline-flex}.spec-row.locked-spec:hover .spec-lock{opacity:1}.spec-row.locked-spec .spec-value{color:var(--color-neutral-600)}.spec-row.auto-spec .spec-label{align-items:center;gap:6px;display:flex}.spec-auto{text-transform:uppercase;letter-spacing:.04em;color:var(--color-neutral-400);background:var(--color-surface-3);border-radius:4px;padding:0 5px;font-size:9.5px;font-weight:600}.spec-note{color:var(--color-neutral-400);font-size:11.5px}.risk-val .cat-pill{box-shadow:inset 0 0 0 1.5px color-mix(in oklch, currentColor 45%, transparent)}.mel-login-page{background:var(--color-neutral-50);place-items:center;min-height:100vh;padding:24px;display:grid}.mel-login-card{background:var(--color-surface);border:1px solid var(--color-neutral-200);width:min(400px,100%);box-shadow:var(--shadow-md);border-radius:12px;padding:32px}.mel-login-brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.mel-login-brand .sb-logo{border-radius:8px;width:36px;height:36px;font-size:12px}.mel-login-brand strong{letter-spacing:-.02em;font-size:18px;font-weight:600;display:block}.mel-login-brand span{color:var(--color-neutral-400);font-size:12px}.mel-login-card h2{letter-spacing:-.02em;margin:0 0 6px;font-size:20px;font-weight:600}.mel-login-sub{color:var(--color-neutral-600);margin:0 0 24px;font-size:13.5px}.mel-login-field{margin-bottom:14px}.mel-login-field label{color:var(--color-neutral-600);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.mel-login-field input{border:1px solid var(--color-neutral-200);border-radius:var(--radius-ctl);background:var(--color-surface);width:100%;color:var(--color-neutral-900);padding:10px 12px;font-size:14px}.mel-login-field input:focus{border-color:var(--color-primary-200);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.mel-login-error{border-radius:var(--radius-ctl);background:var(--color-danger-100);color:var(--color-danger-600);margin-bottom:14px;padding:10px 12px;font-size:13px}.mel-login-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.mel-login-actions .btn.primary{justify-content:center;width:100%;padding:10px 16px}.mel-login-demo{border-top:1px solid var(--color-neutral-200);text-align:center;margin-top:20px;padding-top:20px}.mel-login-demo button{color:var(--color-neutral-600);background:var(--color-surface-2);border:1px solid var(--color-neutral-200);border-radius:var(--radius-ctl);width:100%;padding:8px 14px;font-size:13px}.mel-login-demo button:hover{background:var(--color-surface-3);color:var(--color-neutral-900)}.mel-login-demo p{color:var(--color-neutral-400);margin:8px 0 0;font-size:11px}.mel-client-root{height:100vh;overflow:hidden}
}

