:root{--bg:#0f1720;--panel:#16212e;--panel-2:#1d2b3a;--border:#27384a;--border-strong:#35506b;--text:#e6edf3;--muted:#8aa0b3;--accent:#5b8ff0;--accent-ink:#06122a;--accent-2:#2b7a4b;--warn:#d9a441;--err:#e5534b;--ok:#3fb950;--orange:#e0a030;--orange-soft:#e0a03073;--on-warn:#1a1206;--accent-soft:#5b8ff024;--accent-faint:#5b8ff01f;--ok-soft:#3fb9501a;--ok-tint:#3fb95026;--ok-faint:#3fb9501f;--warn-soft:#d9a4411f;--warn-tint:#d9a44126;--err-soft:#e5534b1a;--err-tint:#e5534b26;--nest-fill:#5b8ff059;--nest-fill-rot:#3fb95059;--hit:#ffd23f40;--overlay:#0000008c;--shadow-menu:0 8px 24px #00000073;--shadow-toast:0 6px 20px #00000059;--shadow-up:0 -4px 18px #0006;--shadow-pop:0 12px 40px #00000080;--doc-fill:#e9eef3;--doc-line:#9aa9b8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f3f5f8;--panel:#fff;--panel-2:#f2f5f9;--border:#d5dce5;--border-strong:#9db4cc;--text:#17212b;--muted:#5a6a7b;--accent:#2d6ae0;--accent-ink:#fff;--accent-2:#2b7a4b;--warn:#9a6200;--err:#c9302c;--ok:#1a7f37;--orange:#b26a00;--orange-soft:#b26a0073;--on-warn:#fff;--accent-soft:#2d6ae01a;--accent-faint:#2d6ae014;--ok-soft:#1a7f3714;--ok-tint:#1a7f371f;--ok-faint:#1a7f371a;--warn-soft:#d9a44129;--warn-tint:#d9a44133;--err-soft:#c9302c14;--err-tint:#c9302c1f;--nest-fill:#2d6ae040;--nest-fill-rot:#1a7f3740;--hit:#d6a0004d;--overlay:#14233766;--shadow-menu:0 8px 24px #1423372e;--shadow-toast:0 6px 20px #1423372e;--shadow-up:0 -4px 18px #1423371f;--shadow-pop:0 12px 40px #14233740;--doc-fill:#fff;--doc-line:#8a99a8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.app{max-width:1280px;margin:0 auto;padding:24px 20px 60px}header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}header h1{margin:0;font-size:26px}.provider{border:1px solid var(--border);white-space:nowrap;border-radius:20px;padding:6px 12px;font-size:13px}.provider.ok{color:var(--ok);border-color:var(--accent-2)}.provider.ko{color:var(--err)}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:18px;display:flex}.tabs button{color:var(--muted);background:0 0;border-radius:8px 8px 0 0;padding:10px 20px;font-weight:600}.tabs button.active{color:var(--text);border-bottom:2px solid var(--accent)}.tabs button.tab-icon{padding:10px 12px;font-size:16px}.tabs .tab-right{margin-left:auto}.config-menu{position:relative}.config-dropdown{z-index:30;background:var(--panel-2);border:1px solid var(--border);min-width:170px;box-shadow:var(--shadow-menu);border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:100%;right:0}.config-dropdown button{text-align:left;color:var(--text);background:0 0;border:none;border-radius:6px;padding:8px 12px}.config-dropdown button:hover{background:var(--panel)}.config-dropdown button.active{color:var(--accent)}.status{color:var(--ok);background:var(--ok-soft);border-radius:8px;margin:12px 0;padding:8px 12px}.grid3{grid-template-columns:repeat(3,1fr);align-items:end;gap:14px;display:grid}.check{flex-direction:row;align-items:center;gap:8px}.check input{width:auto}.rate-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.rate-grid input{width:100%}.coeffs{flex-wrap:wrap;gap:8px;display:flex}.coeff{flex-direction:row;align-items:center;gap:4px;font-size:11px}.coeff span{color:var(--muted)}.cell-num{width:88px}select{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 8px}.link-danger{color:var(--err);background:0 0;padding:2px 8px}.op-actions{white-space:nowrap}.link-revert{color:var(--accent);background:0 0;padding:2px 8px;font-size:15px}.search{width:100%;margin-bottom:10px}.section-sub{border-bottom:2px solid var(--accent);color:var(--text);margin:18px 0 6px;padding-bottom:4px;font-size:15px;display:inline-block}.mult-edit{flex-flow:wrap;align-items:center;gap:6px}.mult-edit input{width:64px}.mult-edit strong{color:var(--text);margin-left:8px}.mat-search{min-width:260px;position:relative}.mat-current{align-items:center;gap:6px;margin-bottom:3px;display:flex}.mat-input{width:100%;padding:4px 7px;font-size:12px}.mat-dropdown{z-index:20;background:var(--panel-2);border:1px solid var(--accent);max-height:260px;box-shadow:var(--shadow-menu);border-radius:8px;margin:2px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.mat-dropdown li{cursor:pointer;border-radius:6px;padding:6px 9px;font-size:13px}.mat-dropdown li:hover,.mat-dropdown li.on{background:var(--accent);color:var(--accent-ink)}.mat-dropdown li:hover .muted,.mat-dropdown li.on .muted{color:var(--accent-ink)}.mat-dropdown li.mat-none,.mat-dropdown li.mat-none:hover{color:var(--muted);cursor:default;background:0 0}input.wide{width:100%;min-width:220px}.add-op{gap:8px;margin-bottom:10px;display:flex}.add-op .wide{flex:1}.push-bar{justify-content:space-between;align-items:center;gap:16px;display:flex}.push-bar p{margin:2px 0 0;font-size:13px}.push-result.ok{border-color:var(--accent-2)}.push-result.ko{border-color:var(--err)}.push-result p{margin:4px 0 0}.push-errors{margin-top:8px;font-size:12px}.push-errors summary{cursor:pointer;color:var(--warn)}.push-errors ul{margin:6px 0 0;padding-left:18px}.dxf-target{margin-top:8px}.dxf-target .wide{max-width:420px}.margin-edit{flex-direction:row;align-items:center;gap:6px}.src{border:1px solid var(--border);border-radius:8px;padding:1px 7px;font-size:11px}.src-katana{color:var(--accent)}.src-fallback{color:var(--warn)}.src-manual{color:var(--muted)}.engine-select{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;font-size:14px;display:flex}.engine-select label{color:var(--text);cursor:pointer;border:1px solid var(--border);border-radius:8px;flex-direction:row;align-items:center;gap:6px;padding:6px 12px}.engine-select label.active{border-color:var(--accent);background:var(--panel-2)}.engine-select label.disabled{opacity:.5;cursor:not-allowed}.engine-select input{width:auto}.dropzone{border:2px dashed var(--border);text-align:center;cursor:pointer;background:var(--panel);border-radius:12px;margin-bottom:14px;padding:32px;transition:border-color .15s,background .15s}.dropzone.compact{padding:12px}.dropzone.compact p{margin:0}.dropzone:hover{border-color:var(--accent);background:var(--panel-2)}.loading{color:var(--accent);margin:16px 0}.loading.loading-toast{z-index:60;background:var(--panel-2);border:1px solid var(--border);box-shadow:var(--shadow-toast);pointer-events:none;border-radius:999px;align-items:center;gap:8px;margin:0;padding:8px 14px;font-size:13px;display:flex;position:fixed;bottom:20px;right:20px}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tab-icon svg{display:block}.error{color:var(--err);background:var(--err-soft);border-radius:8px;margin:16px 0;padding:10px 14px}.warn-banner{background:var(--warn-soft);color:var(--warn);border-radius:8px;margin-bottom:14px;padding:10px 14px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:26px 0 12px;display:flex}h2{margin:0;font-size:19px}h2.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}.controls{align-items:flex-end;gap:12px;display:flex}label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}input{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:7px 9px;font-size:14px}input[type=number]{width:90px}button{cursor:pointer;background:var(--panel-2);color:var(--text);border:none;border-radius:6px;padding:9px 16px;font-family:inherit;font-size:14px;font-weight:600}button:hover:not(:disabled){filter:brightness(1.08)}button.primary{background:var(--accent);color:var(--accent-ink)}button:disabled{opacity:.5;cursor:default}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:14px;padding:16px}.parts{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.part-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.part-name{flex:1;font-size:15px;font-weight:600}.badge{color:var(--muted);border:1px solid var(--border);border-radius:10px;padding:2px 8px;font-size:11px}.grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;display:grid}.grid input{width:100%}.features,.ops-line{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.chip{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:3px 8px;font-size:12px}.op-tag{background:var(--accent-soft);color:var(--accent);border-radius:12px;padding:3px 9px;font-size:12px}.muted{color:var(--muted)}.notes{color:var(--muted);margin:8px 0 0;padding-left:18px;font-size:12px}.totals{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.totals>div{flex-direction:column;display:flex}.totals .grand{text-align:right;margin-left:auto}.totals .grand strong{color:var(--ok);font-size:24px}.totals .grand .grand-edit{justify-content:flex-end;align-items:center;gap:6px;display:flex}.totals .grand .grand-input{text-align:right;width:130px;color:var(--ok);font-size:22px;font-weight:700}.badge.price-manual{background:var(--warn);color:var(--on-warn);margin-left:6px}.tbl{border-collapse:collapse;width:100%;margin:10px 0;font-size:13px}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--border);padding:7px 8px}.tbl th{color:var(--muted);font-size:12px;font-weight:500}.conf{border-radius:8px;margin-left:6px;padding:1px 6px;font-size:11px}.conf-hi{background:var(--ok-tint);color:var(--ok)}.conf-mid{background:var(--warn-tint);color:var(--warn)}.conf-lo{background:var(--err-tint);color:var(--err)}.part-total{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.warnings{border-color:var(--warn)}.warnings>summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px;font-weight:600;list-style:none}.warnings>summary::-webkit-details-marker{display:none}.warnings>summary:before{content:"▸ ";color:var(--warn)}.warnings[open]>summary:before{content:"▾ "}.warnings ul{margin:8px 0 0;padding-left:18px;font-size:13px}.dxf-grid4{grid-template-columns:repeat(3,1fr);align-items:start;gap:18px;display:grid}.dxf-grid4 .dxf-col{min-width:0}.dxf-grid4 .dxf-col h4{margin:0 0 8px;font-size:14px}.dxf-field{color:var(--muted);flex-direction:column;gap:3px;margin-bottom:8px;font-size:13px;display:flex}@media (width<=1100px){.dxf-grid4{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.dxf-grid4{grid-template-columns:1fr}}.totals-float{z-index:10;box-shadow:var(--shadow-up);position:sticky;bottom:0}.dxf-parts th.col-cost,.dxf-parts td.col-cost,.dxf-parts th.col-vendant,.dxf-parts td.col-vendant{text-align:right}.dxf-parts td.col-vendant strong{color:var(--ok)}.pct-step{align-items:center;gap:4px;display:flex}.pct-step .step-btn{cursor:pointer;width:26px;height:26px;padding:0;font-size:16px;line-height:1}.dxf-piece-detail{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;padding-top:12px;display:grid}.dxf-bom-line{align-items:center;gap:8px;margin-top:6px;display:flex}@media (width<=800px){.dxf-piece-detail{grid-template-columns:1fr}}.modal-overlay{background:var(--overlay);z-index:100;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);width:100%;max-width:440px;max-height:90vh;box-shadow:var(--shadow-pop);border-radius:10px;padding:18px 20px;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-head h3{margin:0}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px}.modal-choices{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.modal-choices .choice{text-align:left;border:1px solid var(--border);background:var(--panel-2);cursor:pointer;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.modal-choices .choice.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.modal-choices .choice span{font-size:12px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.modal-actions .modal-cancel{margin-right:auto}.modal-actions .modal-internal{white-space:nowrap}.soum-internal{border:1px dashed var(--muted);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px}.soum-link{white-space:nowrap;padding:4px 10px;font-size:12px}.modal.katana-modal{max-width:520px;padding:0}.km-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 22px 14px;display:flex}.km-head h3{margin:0;font-size:18px}.km-sub{color:var(--muted);margin-top:3px;font-size:13px}.km-sub strong{color:var(--text);font-weight:600}.km-body{flex-direction:column;gap:16px;padding:16px 22px 4px;display:flex}.km-label{letter-spacing:.02em;color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:600}.km-opt{opacity:.8;font-weight:400}.km-choices{flex-direction:column;gap:8px;margin-top:-6px;display:flex}.km-choice{text-align:left;background:var(--panel-2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;font-weight:400;transition:border-color .12s,background .12s;display:grid}.km-choice:hover{border-color:var(--border-strong)}.km-choice.active{border-color:var(--accent);background:var(--accent-faint)}.km-radio{border:2px solid var(--border-strong);box-sizing:border-box;border-radius:50%;width:16px;height:16px}.km-choice.active .km-radio{border:5px solid var(--accent)}.km-icon{font-size:20px;line-height:1}.km-text{flex-direction:column;gap:1px;min-width:0;display:flex}.km-title{font-size:14px;font-weight:600}.km-desc{color:var(--muted);font-size:12.5px}.km-count{color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:12px}.km-choice.active .km-count{color:var(--accent);border-color:var(--accent)}.km-field{flex-direction:column;display:flex}.km-field .km-label{margin-bottom:6px}.km-field input:not([type=checkbox]){width:100%;padding:9px 11px}.km-hint{color:var(--muted);margin-top:6px;font-size:12.5px}.km-hint code{background:var(--panel-2);border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:4px;padding:0 5px}.km-note{color:var(--muted);background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-size:13px}.km-field .km-note{margin-top:8px}.km-note.warn{color:var(--text);background:var(--warn-soft);border-color:var(--warn);flex-direction:column;gap:6px;display:flex}.km-check{align-items:center;gap:6px;font-weight:600;display:flex}.km-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:12px;padding:14px 22px 18px;display:flex}.km-btn{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}.km-btn:hover{border-color:var(--border-strong)}.dxf-rename{margin:0 0 12px}.dxf-rename label{color:var(--muted);flex-direction:column;gap:4px;max-width:480px;font-size:13px;display:flex}.dxf-rename input{font-size:14px}.parts-head{flex-wrap:wrap;gap:10px}.bulk-tools{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.bulk-tools select,.bulk-tools button{padding:4px 8px;font-size:13px}.export-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.dxf-thumb{color:var(--accent);background:var(--panel-2);border:1px solid var(--border);border-radius:6px;display:block}.dxf-parts-wrap{overflow-x:auto}.dxf-parts th,.dxf-parts td{vertical-align:middle;white-space:nowrap}.dxf-parts select{min-width:110px}.dxf-parts input[type=checkbox]{cursor:pointer;width:16px;height:16px}.dxf-thumb-cell,.dxf-file{cursor:pointer}.dxf-file{font-weight:600}.dxf-accordion>td{background:var(--panel-2);padding:16px}.dxf-detail{flex-wrap:wrap;gap:24px;display:flex}.dxf-detail-preview{align-items:flex-start;gap:16px;display:flex}.dxf-stats{color:var(--muted);margin:0;padding:0;font-size:13px;list-style:none}.dxf-stats li{margin-bottom:4px}.dxf-stats strong{color:var(--text)}.dxf-layers{min-width:200px}.dxf-layers strong{margin-bottom:6px;font-size:13px;display:block}.dxf-layer{color:var(--text);cursor:pointer;flex-direction:row;align-items:center;gap:6px;margin-bottom:4px;font-size:13px}.dxf-layer input{width:auto}.dxf-stat-unit{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.dxf-stat-unit select{padding:2px 6px}.dxf-secondary{flex:1;min-width:280px}.wide-label{max-width:460px}.merged-card{border-color:var(--accent)}.merged-card h3{color:var(--accent);margin-top:0}.parts-title{margin:22px 0 4px;font-size:14px}.part-acc-head{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.part-acc-head h3{margin:0}.part-acc-head strong{color:var(--ok)}.nest-card{border-color:var(--accent-2)}.asm-card{border-color:var(--accent)}.asm-card .nest-head h3{color:var(--accent)}.merged-embedded .section-head:first-child{justify-content:flex-end}.nest-head{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.nest-head h3{align-items:center;gap:8px;margin:0;display:flex}.badge.nest-on{background:var(--accent-2);color:#fff;border-radius:10px;padding:1px 8px;font-size:11px}.nest-body{margin-top:12px}.nest-toggle{margin-bottom:8px}.nest-group{border:1px solid var(--border);background:var(--panel-2);border-radius:8px;margin-top:10px;padding:10px 12px}.nest-group-head{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.nest-group-head label{color:var(--muted);flex-direction:row;align-items:center;gap:6px;font-size:13px;display:flex}.nest-group-head select{padding:2px 6px}.nest-metric{color:var(--muted);font-size:13px}.nest-metric strong{color:var(--text)}.nest-oversized{color:var(--orange);margin:6px 0 0;font-size:13px}.nest-plates{flex-wrap:wrap;gap:14px;margin-top:10px;display:flex}.nest-plate-wrap{flex-direction:column;align-items:center;gap:3px;font-size:12px;display:flex}.nest-plate{border:1px solid var(--border);border-radius:3px}.nest-plate-bg{fill:var(--bg)}.nest-piece{fill:var(--nest-fill);stroke:var(--accent);stroke-width:.6px}.nest-piece.rot{fill:var(--nest-fill-rot);stroke:var(--ok)}.nest-retaille pattern line{stroke:var(--orange-soft);stroke-width:2px}.nest-offcut-zone{stroke:none}.nest-offcut-line{stroke:var(--orange);stroke-width:1.5px;stroke-dasharray:6 4}.nest-offcut-label{fill:var(--orange);paint-order:stroke;stroke:var(--bg);stroke-width:3px;font-size:11px;font-weight:600}.bulk-bar{border-color:var(--accent);align-items:center;gap:16px;display:flex}.bulk-warn{color:var(--orange);margin:4px 0 0;font-size:13px}.asm-panel{padding:0;overflow:hidden}.asm-panel.asm-existing{border-color:var(--orange)}.asm-head{background:var(--panel-2);align-items:center;gap:10px;padding:10px 14px;display:flex}.asm-toggle{color:var(--text);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:15px}.asm-name{flex:0 320px;font-size:14px;font-weight:600}.asm-file{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.asm-overwrite{color:var(--orange);white-space:nowrap;flex-direction:row;align-items:center;gap:5px;font-size:12px}.asm-overwrite input{width:auto}.asm-total{color:var(--ok);font-size:15px}.asm-body{padding:8px 14px 14px}.draggable-row{cursor:grab}.draggable-row:active{cursor:grabbing}.drag-handle{color:var(--muted);text-align:center;-webkit-user-select:none;user-select:none;width:24px}.add-min{color:var(--muted);white-space:nowrap;flex-direction:row;align-items:center;gap:6px;font-size:12px}.add-min .cell-num{width:64px}.merged-edit-ctrl{align-items:center;gap:8px;display:flex}.nest-offcut{flex-wrap:wrap;align-items:center;gap:6px 22px;margin:4px 0 8px;display:flex}.nest-offcut label{color:var(--muted);flex-direction:row;align-items:center;gap:8px;font-size:13px}.nest-offcut .cell-num{width:70px}.cache-banner{background:var(--panel-2);border:1px solid var(--accent-2);color:var(--muted);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0;padding:8px 12px;font-size:13px;display:flex}.cache-banner button{padding:3px 10px}.bom-unmatched{color:var(--orange);max-width:260px;margin-top:3px;font-size:11px}.info{vertical-align:middle;margin-left:6px;font-weight:400;display:inline-flex}.info-btn{border:1px solid var(--border);background:var(--panel-2);width:18px;height:18px;color:var(--muted);cursor:help;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font:italic 600 11px/1 Georgia,Times New Roman,serif;display:inline-flex}.info-btn:hover,.info-btn:focus-visible,.info-btn.open{color:var(--text);border-color:var(--accent);background:var(--panel);outline:none}.info-pop{z-index:1000;border:1px solid var(--border);background:var(--panel-2);width:max-content;max-width:min(320px,100vw - 16px);color:var(--text);text-align:left;text-transform:none;letter-spacing:normal;white-space:normal;box-shadow:var(--shadow-menu);pointer-events:none;border-radius:8px;padding:10px 12px;font-size:13px;font-style:normal;font-weight:400;line-height:1.45;position:fixed}.info-pop strong{color:var(--text)}.soum-client{background:0 0;border-color:#0000;width:240px;max-width:100%}.soum-client:hover,.soum-client:focus{border-color:var(--border);background:var(--panel-2)}.soum-save{color:var(--muted);font-size:12px}.soum-save.saved{color:var(--ok)}.soum-save.error{color:var(--warn)}.soum-start{text-align:center;padding:36px 20px}.soum-start h2{margin-top:0}.soum-start .controls{justify-content:center}.soum-empty{text-align:center;padding:28px 20px}.soum-filter{max-width:360px;margin-bottom:12px}.soumissions .soum-no{margin-right:8px;font-weight:600}.soumissions .tbl .num{text-align:right}.soum-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.soum-dup button{white-space:nowrap}.soum-dup{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}:root{--pe-cut:#4f9dff;--pe-engrave:#f0a040;--pe-ignore:#5d6f82;--pe-sel:#ffd23f;--pe-bend:#c38bff}:root[data-theme=light]{--pe-cut:#1f6fd1;--pe-engrave:#c26a00;--pe-ignore:#9aa8b6;--pe-sel:#d99a00;--pe-bend:#8a3fd1}.dxf-layers-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.editor-btn{padding:4px 10px;font-size:13px}.editor-note{margin:6px 0 0;font-size:12px}.dxf-layer select,.pe-layer select{margin-right:6px;padding:2px 6px;font-size:12px}select.role-cut{border-color:var(--pe-cut)}select.role-engrave{border-color:var(--pe-engrave);color:var(--pe-engrave)}select.role-bend{border-color:var(--pe-bend);color:var(--pe-bend)}select.role-ignore{color:var(--muted)}.dxf-thumb .thumb-engrave{stroke:var(--pe-engrave)}.dxf-thumb .thumb-bend{stroke:var(--pe-bend);stroke-dasharray:3 2}.pe-overlay{padding:2vh 2vw}.pe-modal{flex-direction:column;width:96vw;max-width:1280px;height:92vh;max-height:92vh;display:flex;overflow:hidden}.pe-modal .modal-head h3{align-items:center;display:flex}.pe-body{flex:1;grid-template-columns:1fr 300px;gap:14px;min-height:0;display:grid}.pe-canvas-wrap{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.pe-toolbar{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:6px 8px;font-size:12px;display:flex}.pe-toolbar button{padding:3px 8px;font-size:12px}.pe-legend{color:var(--muted);align-items:center;gap:4px;display:inline-flex}.pe-legend i{border-radius:2px;width:14px;height:3px;margin-left:8px;display:inline-block}.pe-legend .lg-cut{background:var(--pe-cut)}.pe-legend .lg-engrave{background:var(--pe-engrave)}.pe-legend .lg-bend{background:var(--pe-bend)}.pe-legend .lg-ignore{background:var(--pe-ignore)}.pe-legend .lg-sel{background:var(--pe-sel)}.pe-canvas{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;flex:1;width:100%;min-height:0}.pe-path{fill:none;vector-effect:non-scaling-stroke;stroke-width:1.5px;pointer-events:none;stroke-linejoin:round}.pe-cut{stroke:var(--pe-cut)}.pe-engrave{stroke:var(--pe-engrave)}.pe-ignore{stroke:var(--pe-ignore);stroke-dasharray:4 3}.pe-bend{stroke:var(--pe-bend);stroke-dasharray:8 4}.pe-sel{stroke:var(--pe-sel);stroke-width:3px}.pe-hit{fill:none;stroke:#0000;stroke-width:10px;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:pointer}.pe-hit:hover{stroke:var(--hit)}.pe-box{fill:var(--accent-faint);stroke:var(--pe-cut);stroke-width:1px;vector-effect:non-scaling-stroke}.pe-box.crossing{fill:var(--ok-faint);stroke:var(--ok);stroke-dasharray:5 4}.pe-side{flex-direction:column;gap:12px;min-height:0;display:flex;overflow-y:auto}.pe-stats{border:1px solid var(--border);background:var(--panel-2);border-radius:8px;grid-template-columns:1fr 1fr;gap:8px;padding:10px;display:grid}.pe-stats div{flex-direction:column;font-size:13px;display:flex}.pe-section{flex-direction:column;gap:6px;font-size:13px;display:flex}.pe-section p{margin:0}.pe-sel-actions{gap:8px;display:flex}.pe-sel-actions button{padding:4px 10px;font-size:13px}.pe-new-layer{gap:6px;display:flex}.pe-new-layer input{flex:1;min-width:0}.pe-layer{align-items:center;gap:4px;display:flex}.pe-layer .pe-layer-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--accent);cursor:pointer;text-align:left;font:inherit;background:0 0;border:none;flex:1;padding:0;overflow:hidden}.pe-history{flex-flow:wrap;margin-top:auto}.pe-history button{padding:4px 10px;font-size:12px}.pe-sel-actions{flex-wrap:wrap;align-items:center}.pe-std.role-cut{border-color:var(--pe-cut)}.pe-std.role-engrave{border-color:var(--pe-engrave);color:var(--pe-engrave)}.pe-std.role-bend{border-color:var(--pe-bend);color:var(--pe-bend)}.pe-std.role-ignore{color:var(--muted)}.pe-group{border-left:3px solid var(--border);flex-direction:column;gap:4px;padding-left:8px;display:flex}.pe-group.role-cut{border-left-color:var(--pe-cut)}.pe-group.role-engrave{border-left-color:var(--pe-engrave)}.pe-group.role-bend{border-left-color:var(--pe-bend)}.pe-group.role-ignore{border-left-color:var(--pe-ignore)}.pe-group-head{font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:2px 0;font-weight:600;display:flex}.pe-group-head:hover{color:var(--accent)}.pe-group .pe-layer{padding-left:10px}.pe-group .pe-layer select{margin:0 0 0 4px}.pe-empty{margin:0 0 0 10px;font-size:12px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--text)}.sort-ind{opacity:.35;margin-left:4px;font-size:10px}th.sortable:hover .sort-ind{opacity:.7}.sort-ind.on{opacity:1;color:var(--accent)}.plate-stock-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 0;display:flex}.plate-stock-row:first-of-type{border-top:none}.plate-stock-row>strong,.plate-stock-key{gap:6px;min-width:230px;display:flex}.format-picker{flex-wrap:wrap;flex:1;align-items:center;gap:6px 14px;display:flex}.format-chip{white-space:nowrap;flex-direction:row;align-items:center;gap:5px;font-size:13px;display:inline-flex}.format-add{color:var(--muted);align-items:center;gap:4px;display:inline-flex}.format-add .cell-num{width:56px}.devis-head{flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0 10px;display:flex}.devis-head h2{margin:0}.pricing-chips{flex-wrap:wrap;gap:6px;display:flex}.pricing-chips .tag{color:var(--muted);background:var(--panel-2);border-radius:999px;padding:2px 10px;font-size:12px}.pricing-btn{margin-left:auto}.modal.pricing-modal{max-width:820px;padding:0}.pricing-modal .modal-head{border-bottom:1px solid var(--border);margin:0;padding:16px 20px}.pricing-cols{grid-template-columns:repeat(2,1fr);display:grid}.pricing-col{border-right:1px solid var(--border);min-width:0;padding:16px 20px}.pricing-col:last-child{border-right:none}.pricing-col h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-items:center;gap:6px;margin:0 0 12px;font-size:13px;display:flex}.pricing-foot{border-top:1px solid var(--border);background:var(--panel-2);border-radius:0 0 10px 10px;align-items:center;gap:26px;padding:14px 20px;display:flex}.pricing-foot>span:not(.pricing-actions){color:var(--muted);flex-direction:column;font-size:13px;display:flex}.pricing-foot strong{color:var(--text);font-size:16px}.pricing-foot .sell strong{color:var(--ok);font-size:20px}.pricing-actions{gap:8px;margin-left:auto;display:flex}@media (width<=760px){.pricing-cols{grid-template-columns:1fr}.pricing-col{border-right:none;border-bottom:1px solid var(--border)}}.plate-stock-pref{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.pricing-chips .tag.refining{color:var(--accent);align-items:center;gap:6px;display:inline-flex}.nest-status{align-items:center;gap:6px;display:inline-flex}.soum-menu{position:relative}.soum-more{border:1px solid var(--border);padding:2px 10px;font-size:16px;line-height:1.2}.soum-dropdown{z-index:40;background:var(--panel-2);border:1px solid var(--border);min-width:230px;box-shadow:var(--shadow-menu);border-radius:10px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.soum-dropdown button{text-align:left;background:0 0;border:none;border-radius:6px;padding:8px 10px}.soum-dropdown button:hover{background:var(--panel)}.soum-dropdown hr{border:none;border-top:1px solid var(--border);margin:4px 0}.page-drop{z-index:100;border:3px dashed var(--accent);background:var(--accent-faint);pointer-events:none;border-radius:16px;place-items:center;display:grid;position:fixed;inset:10px}.page-drop-msg{background:var(--panel);color:var(--accent);border:1px solid var(--accent);box-shadow:var(--shadow-pop);border-radius:12px;padding:14px 26px;font-size:20px;font-weight:700}.dropzone.drag{border-color:var(--accent);background:var(--accent-faint);color:var(--accent);font-weight:700}.app{max-width:1440px}header.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:18px;padding-bottom:12px;display:flex}.topbar .brand{white-space:nowrap;margin:0;font-size:19px}.crumb{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.crumb-link{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:14px}.crumb-link:hover{color:var(--text)}.crumb-sep{color:var(--muted)}.crumb .soum-no{font-size:21px;font-weight:800}.crumb .soum-client{width:200px;color:var(--muted);font-size:15px}.topnav{gap:4px;display:flex}.topnav button{color:var(--muted);background:0 0;border:none;border-radius:8px;padding:6px 12px;font-weight:600}.topnav button.active{background:var(--panel-2);color:var(--text)}.topnav .nav-current{color:var(--accent)}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.icon-btn{color:var(--muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:15px;line-height:1;display:inline-flex}.icon-btn svg{display:block}.icon-btn:hover,.icon-btn.active{color:var(--text);background:var(--panel-2)}.theme-toggle span{text-align:center;width:18px;font-size:15px;line-height:18px;display:inline-block}.topbar-right .config-dropdown{right:0}.work{grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:22px;display:grid}.work-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.seg{background:var(--panel);border:1px solid var(--border);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--muted);background:0 0;border:none;border-radius:8px;padding:6px 14px;font-weight:600}.seg button.on{background:var(--panel-2);color:var(--text)}.work-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.check-all{color:var(--muted);flex-direction:row;align-items:center;gap:6px;font-size:13px;display:inline-flex}.work-side{flex-direction:column;gap:14px;display:flex;position:sticky;top:12px}.side-slot{flex-direction:column;gap:14px;display:flex}.side-slot .card,.side-total{margin:0}.side-lab{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.side-big{color:var(--ok);font-size:36px;font-weight:800;line-height:1.15}.side-sub{color:var(--muted);font-size:12.5px}.side-refining{color:var(--accent);align-items:center;gap:5px;margin-left:6px;display:inline-flex}.side-bd{border-top:1px solid var(--border);margin:12px 0}.side-bd>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:10px;padding:7px 0;font-size:14px;display:flex}.side-bd>div>span:first-child{color:var(--muted)}.side-bd>div>span:last-child{white-space:nowrap}.side-links{justify-content:space-between;margin-bottom:10px;display:flex}button.link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}button.link:hover{text-decoration:underline}.side-force{align-items:center;gap:8px;margin-bottom:10px;display:flex}.side-force input{width:130px}.side-cta{width:100%;padding:11px;font-size:15px}.side-nest-head{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.side-nest-head strong{font-size:14px}.side-nest-group+.side-nest-group{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.side-nest-label{margin-bottom:6px;font-size:12.5px}.side-plates{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:8px;display:flex}.side-nest-more{margin-top:10px}.side-total{color:var(--muted);font-size:13px}.side-total strong{color:var(--text)}.sort-by{color:var(--muted);flex-direction:row;align-items:center;gap:8px;margin-left:auto;font-size:13px;display:inline-flex}.parts-head{gap:12px}.pcards{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px;margin-top:12px;display:grid}.pcard{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;min-width:0;padding:12px}.pcard.checked{border-color:var(--accent)}.pcard-main{grid-template-columns:96px minmax(0,1fr);gap:12px;display:grid}.pcard-thumb{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:10px;place-items:center;width:96px;height:96px;padding:0;display:grid}.pcard-title{align-items:center;gap:8px;min-width:0;display:flex}.pcard-title strong{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15px;overflow:hidden}.pcard-more{white-space:nowrap}.pcard-meta{color:var(--muted);margin:2px 0 8px;font-size:12.5px}.pcard-ctrl{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pcard-ctrl select{width:auto;height:32px;padding-top:0;padding-bottom:0}.qty-step{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:stretch;height:32px;display:inline-flex;overflow:hidden}.qty-step button{background:var(--panel);width:30px;height:100%;color:var(--muted);border:none;border-radius:0;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.qty-step button:hover{color:var(--text);background:var(--panel-2)}.qty-step .cell-num{text-align:center;box-sizing:border-box;background:0 0;border:none;border-radius:0;width:52px;height:100%;margin:0;padding:0 4px}.pcard-price{justify-content:space-between;align-items:baseline;margin-top:8px;font-size:13px;display:flex}.pcard-price .col-vendant strong{color:var(--ok);font-size:15px}.pcard-detail{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.pcard-add{border:2px dashed var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:12px;min-height:120px;font-size:13.5px}.pcard-add:hover{border-color:var(--accent);color:var(--text)}@media (width<=1280px){.work{grid-template-columns:minmax(0,1fr) 300px;gap:16px}.pcards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (width<=1000px){.work{grid-template-columns:minmax(0,1fr) 270px;gap:12px}.work-side .side-big{font-size:30px}.work-side .card{padding:12px}.work-head{gap:8px}}@media (width<=760px){.work{grid-template-columns:1fr}.work-side{order:-1;position:static}}.acard{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:14px}.acard.open{border-color:var(--border-strong)}.acard.asm-existing{border-left:3px solid var(--warn)}.acard-main{grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.acard-thumb{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;place-items:center;width:70px;height:86px;padding:0;display:grid;position:relative}.acard-pdf{color:#fff;background:#c33;border-radius:3px;padding:0 4px;font-size:9px;font-weight:700;position:absolute;bottom:4px;right:4px}.acard .asm-name{background:0 0;border-color:#0000;flex:1;min-width:0;padding:2px 6px;font-size:15px;font-weight:700}.acard .asm-name:hover,.acard .asm-name:focus{border-color:var(--border);background:var(--panel-2)}.acard-status{flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.acard-status .tag{color:var(--muted);background:var(--panel-2);border-radius:999px;padding:1px 8px;font-size:11.5px}.acard-side{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.acard-qty{align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.acard-detail{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.acard-status .ok,.side-ai .ok{color:var(--ok)}.acard-status .run,.side-ai .run{color:var(--accent);align-items:center;gap:6px;display:inline-flex}.acard-status .err,.side-ai .err{color:var(--err)}.acard-status .warn,.side-ai .warn{color:var(--warn)}.side-ai>div{padding:3px 0;font-size:13.5px}.side-note{margin:8px 0 0;font-size:12.5px}.side-bd>div.side-bd-sub{color:var(--muted);padding:3px 0 7px 12px;font-size:12.5px}.side-bd>div.side-bd-sub>span:last-child{color:var(--muted)}.vs-pref{color:var(--warn)}.side-times{margin:-4px 0 12px;font-size:13px}.side-times>div{justify-content:space-between;gap:8px;padding:4px 0;display:flex}.side-times>div:not(.side-times-head){color:var(--muted);padding-left:12px}.side-times>div>span:last-child{white-space:nowrap}.side-times-head{border-bottom:1px solid var(--border);font-weight:600}.side-download{width:100%;margin-top:8px}.mat-table input{width:200px}.mat-actions{justify-content:flex-end;align-items:center;gap:14px;display:flex}.mat-new{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding-top:12px;display:flex}.mat-new input{width:220px}.warn-text{color:var(--warn);font-size:13px}.so-check{color:var(--muted);background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-size:13px}.so-check.err,.so-check.warn{flex-direction:column;gap:6px;display:flex}.so-check.run{flex-direction:row;align-items:center;gap:8px;display:flex}.so-check.ok{color:var(--ok);background:var(--ok-soft);border-color:var(--ok)}.so-check.ok strong,.so-check.err strong,.so-check.warn strong{color:inherit}.so-check.err{color:var(--text);background:var(--err-soft);border-color:var(--err)}.so-check.err>div:first-child{color:var(--err)}.so-check.warn{color:var(--text);background:var(--warn-soft);border-color:var(--warn)}.so-detail{color:var(--muted);font-size:12.5px}.so-ferr{color:var(--err)}.so-fix{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.so-fix input{width:150px;font-weight:600}.so-fix button{padding:7px 12px;font-size:13px}.so-btn{background:var(--panel);color:var(--text);border:1px solid var(--border)}.so-btn:hover{border-color:var(--border-strong)}.side-price .so-check{margin-top:10px}.crumb .soum-no-btn{color:var(--text);background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;margin:0 -6px;padding:0 6px;line-height:1.3;display:inline-flex}.crumb .soum-no-btn:hover{border-color:var(--border);background:var(--panel-2)}.soum-no-pen{color:var(--muted);opacity:0;font-size:13px;font-weight:400}.soum-no-btn:hover .soum-no-pen,.soum-no-btn:focus-visible .soum-no-pen{opacity:1}.soum-no-edit{align-items:center;gap:8px;display:inline-flex}.soum-no-input{width:160px;padding:2px 8px;font-size:19px;font-weight:800}.soum-no-err{color:var(--err);font-size:12px}.bend-chip{border:1px dashed var(--pe-bend);color:var(--pe-bend);background:0 0;border-radius:999px;align-self:flex-start;margin:2px 0 4px;padding:2px 10px;font-size:12px;font-weight:600}.bend-chip:hover{background:var(--panel-2)}.side-bd>div.side-min>span{color:var(--warn)}.badge.price-min{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn);margin-left:6px}.two-person{color:var(--warn);white-space:nowrap}.dup-list{flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:14px;display:flex}.open-chip{background:var(--err-soft);border:1px solid var(--err);color:var(--err);border-radius:999px;align-self:flex-start;margin:2px 0 4px;padding:2px 10px;font-size:12px;font-weight:600}.pe-open{fill:var(--err);fill-opacity:.35;stroke:var(--err);stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:none}.pe-open-stat span,.pe-open-stat strong{color:var(--err)}.modal.dup-modal{max-width:640px}.dup-foot{flex-wrap:wrap}.conflict-banner{border:1px solid var(--warn);background:var(--warn-soft);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:0 0 14px;padding:12px 16px;font-size:14px;display:flex}.conflict-actions{flex-wrap:wrap;gap:8px;display:flex}.soum-save.conflict{color:var(--warn);font-weight:600}.dup-hint{margin:0 0 10px;font-size:13px}.gas-table{max-width:560px}.modal-overlay.part-overlay{z-index:95}.modal.part-modal{flex-direction:column;max-width:1000px;padding:0;display:flex}.part-modal-body{padding:4px 22px 20px;overflow-y:auto}.part-modal-body .pcard-detail{border-top:none;margin-top:0;padding-top:12px}.update-card{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;font-size:14px;display:flex}.update-card>div{flex-direction:column;gap:6px;display:flex}.update-state.ok,.update-state.uptodate{color:var(--ok)}.update-state.failed{color:var(--warn)}.update-msg{color:var(--accent)}.modal.cutlist-ask{max-width:560px}.cutlist-pick{border:1.5px dashed var(--border);background:var(--panel-2);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:4px;width:100%;padding:18px 12px;display:flex}.cutlist-pick:hover:not(:disabled){border-color:var(--accent)}.cutlist-or{text-align:center;color:var(--muted,#8a99a8);margin:10px 0;font-size:13px}.cutlist-paste{flex-direction:column;gap:6px;font-size:14px;display:flex}.cutlist-paste textarea{box-sizing:border-box;resize:vertical;background:var(--panel-2);width:100%;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}.modal.cutlist-review{max-width:1080px}.cutlist-scroll{overflow-x:auto}.cutlist-tbl td{vertical-align:top}.cutlist-tbl select{max-width:230px}.cutlist-tbl .cell-num{width:72px}.cutlist-tbl tr.cl-doubt td{background:var(--warn-soft)}.cutlist-tbl tr.cl-doubt td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.cl-src{min-width:190px}.cl-src .muted,.cl-how{font-size:12px}.cl-note{color:var(--accent);font-size:12px}.cl-why{color:var(--warn);margin-top:2px;font-size:12px}.cl-before{color:var(--muted,#8a99a8);white-space:nowrap;margin-right:4px;font-size:12px}.cutlist-gaps{flex-direction:column;gap:4px;margin-top:12px;font-size:13px;display:flex}.cutlist-banner{border:1px solid var(--accent);background:var(--accent-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 14px;padding:10px 14px;font-size:14px;display:flex}.cutlist-banner>span{flex:1;min-width:200px}.soum-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.soum-filters .soum-filter{flex:260px;margin-bottom:0}.soum-range{flex-wrap:wrap;gap:8px;font-size:14px;display:inline-flex}.soum-range label{flex-direction:row;align-items:center;gap:6px;margin:0;display:inline-flex}.soum-sum{text-align:right;margin-top:10px;font-size:13px}.soum-sum strong{color:var(--text)}.release-notes{margin-top:12px;font-size:14px}.release-notes summary{cursor:pointer;font-weight:600}.release-notes ul{flex-direction:column;gap:3px;margin:6px 0 10px;padding-left:20px;display:flex}.release-older{margin-top:6px}.release-older summary{color:var(--muted);font-weight:500}.brand-link{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:9px;padding:0;display:inline-flex}.brand-link:hover .brand-word{color:var(--accent)}.brand-tile{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);border-radius:7px;flex:none;justify-content:center;align-items:center;font:700 16px/1 Noto Sans CJK JP,Noto Sans JP,Yu Gothic,Meiryo,Hiragino Sans,sans-serif;display:inline-flex}.brand-word{letter-spacing:-.02em;font-size:18px;font-weight:650}.brand-by{color:var(--muted);align-self:flex-end;margin-bottom:4px;font-size:12px;font-weight:500}@media (width<=1100px){.brand-by{display:none}}.soum-tabs{flex-wrap:wrap;flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.soum-tab{border:1px solid var(--border);background:var(--panel);border-radius:8px;align-items:center;max-width:220px;display:inline-flex}.soum-tab.loaded{border-color:var(--accent)}.soum-tab.on{background:var(--accent-soft)}.soum-tab-open{min-width:0;color:var(--text);cursor:pointer;background:0 0;border:none;align-items:baseline;gap:6px;padding:5px 4px 5px 10px;display:inline-flex}.soum-tab-no{white-space:nowrap;font-weight:700}.soum-tab.on .soum-tab-no{color:var(--accent)}.soum-tab-client{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.soum-tab-x{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:12px}.soum-tab-x:hover{color:var(--err)}.soum-tab-new{border:1px dashed var(--border);color:var(--muted);background:0 0;border-radius:8px;padding:4px 10px}.soum-tab-new:hover{color:var(--accent);border-color:var(--accent)}.soum-bar{margin:-6px 0 16px}.modal label.soum-auto{color:var(--text);flex-direction:row;align-items:center;gap:8px;margin:4px 0 12px;font-size:14px;display:flex}.modal label.soum-auto input{flex:none;width:auto;margin:0}.soum-hint{margin:-4px 0 10px;font-size:13px}.modal.mrp-new{max-width:520px;overflow:visible}.mrp-search{position:relative}.mrp-hits{z-index:50;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;max-height:280px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000040}.mrp-hits button{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:8px;padding:7px 10px;display:flex}.mrp-hits button:hover,.mrp-hits button:focus{background:var(--accent-soft)}.mrp-none{padding:7px 10px;font-size:13px}.mrp-chip{border:1px solid var(--accent);background:var(--accent-soft);border-radius:8px;align-items:baseline;gap:10px;padding:8px 12px;display:flex}.mrp-chip .link{margin-left:auto}.mrp-quotes{flex-direction:column;gap:6px;margin:4px 0 12px;padding:0;list-style:none;display:flex}.modal label.mrp-quote{border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:8px;flex-flow:wrap;align-items:baseline;gap:10px;margin:0;padding:8px 12px;display:flex}.modal label.mrp-quote.on{border-color:var(--accent);background:var(--accent-soft)}.modal label.mrp-quote input{flex:none;width:auto;margin:0}.mrp-quote .muted{font-size:13px}.mrp-options{flex-direction:column;gap:8px;display:flex}label.mrp-option{color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-flow:wrap;align-items:baseline;gap:10px;margin:0;padding:10px 14px;display:flex}label.mrp-option.on{border-color:var(--accent);background:var(--accent-soft)}label.mrp-option.off{cursor:default;opacity:.7}label.mrp-option input{flex:none;width:auto;margin:0}.mrp-option-name{font-weight:700}.mrp-option-state{color:var(--muted);font-size:13px}.mrp-option-state.ok{color:var(--ok)}.mrp-option-state.ko{color:var(--warn)}.mrp-option-detail{flex-basis:100%;padding-left:24px;font-size:12px}.badge.warn-badge{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn);margin-left:6px}.merged-stale{margin:10px 0 0;font-size:13px}.op-search{min-width:180px;position:relative}.op-hits{z-index:60;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;width:max-content;min-width:100%;max-width:420px;max-height:280px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 3px);left:0;overflow-y:auto;box-shadow:0 8px 24px #00000040}.op-hits button{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 10px;display:flex}.op-hits button.on,.op-hits button:hover{background:var(--accent-soft)}.op-hits .muted{white-space:nowrap;font-size:12px}.detail-thumb{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;flex:none;padding:0;line-height:0;position:relative}.detail-thumb:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.detail-thumb-hint{background:var(--accent);color:var(--accent-ink);opacity:0;border-radius:6px;padding:3px 8px;font-size:12px;line-height:1.2;transition:opacity .15s;position:absolute;bottom:6px;right:6px}.detail-thumb:hover .detail-thumb-hint,.detail-thumb:focus-visible .detail-thumb-hint{opacity:1}table.merged-ops.editing,table.merged-bom.editing{table-layout:fixed;width:100%}table.merged-ops.editing td,table.merged-bom.editing td,table.merged-ops.editing th,table.merged-bom.editing th{vertical-align:top;padding-left:5px;padding-right:5px}table.merged-ops.editing input,table.merged-ops.editing select,table.merged-bom.editing input{box-sizing:border-box;width:100%;min-width:0}table.merged-ops.editing .op-search,table.merged-bom.editing .mat-search{min-width:0}.merged-ops col.c-drag{width:24px}.merged-ops col.c-op{width:30%}.merged-ops col.c-res{width:27%}.merged-ops col.c-time{width:15%}.merged-ops col.c-num,.merged-bom col.c-num{width:12%}.merged-ops col.c-money,.merged-bom col.c-money{width:13%}.merged-ops col.c-x,.merged-bom col.c-x{width:30px}.merged-bom col.c-mat{width:40%}.merged-bom col.c-qty{width:16%}.merged-bom col.c-weight{width:11%}.cell-hint{margin-top:2px;font-size:11px;display:block}.error.file-errors{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.error.file-errors ul{margin:4px 0 0;padding-left:18px}.push-target.internal{border:1px dashed var(--border);border-radius:8px;flex-direction:column;gap:4px;margin:10px 0;padding:8px 10px;font-size:12.5px;display:flex}.push-target.internal .link{align-self:flex-start;padding:0}.side-push-res{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;font-size:12.5px;list-style:none;display:flex}.side-push-res .ok{color:var(--ok)}.side-push-res .err{color:var(--err)}.side-push-res a{margin-left:4px}:root[data-palette=vermillon][data-theme=dark]{--bg:#111215;--panel:#18191e;--panel-2:#202228;--border:#2c2e36;--border-strong:#454852;--text:#ecedf0;--muted:#9b9ea8;--accent:#e5554b;--accent-ink:#fff;--accent-soft:#e5554b26;--accent-faint:#e5554b1a;--nest-fill:#e5554b52;--err:#ff8a5c;--err-soft:#ff8a5c1a;--err-tint:#ff8a5c26}:root[data-palette=vermillon][data-theme=light]{--bg:#f4f4f5;--panel:#fff;--panel-2:#f1f1f3;--border:#dcdde1;--border-strong:#a9abb3;--text:#16181d;--muted:#5e616b;--accent:#c8372d;--accent-ink:#fff;--accent-soft:#c8372d1a;--accent-faint:#c8372d12;--nest-fill:#c8372d38;--err:#c2410c;--err-soft:#c2410c1a;--err-tint:#c2410c24}:root[data-palette=sarcelle][data-theme=dark]{--bg:#0f1819;--panel:#162223;--panel-2:#1d2b2d;--border:#283a3c;--border-strong:#3e5658;--text:#e5eeee;--muted:#93a9a8;--accent:#2bb3a6;--accent-ink:#04201d;--accent-soft:#2bb3a626;--accent-faint:#2bb3a61a;--nest-fill:#2bb3a652}:root[data-palette=sarcelle][data-theme=light]{--bg:#f2f6f6;--panel:#fff;--panel-2:#eef4f3;--border:#d3e0de;--border-strong:#9db8b4;--text:#142224;--muted:#566b6a;--accent:#0f766e;--accent-ink:#fff;--accent-soft:#0f766e1a;--accent-faint:#0f766e12;--nest-fill:#0f766e38}:root[data-palette=ambre][data-theme=dark]{--bg:#121518;--panel:#1a1e22;--panel-2:#22272c;--border:#2f353b;--border-strong:#48505a;--text:#e8eaec;--muted:#9aa1a8;--accent:#e08a2e;--accent-ink:#1d0f02;--accent-soft:#e08a2e26;--accent-faint:#e08a2e1a;--nest-fill:#e08a2e52}:root[data-palette=ambre][data-theme=light]{--bg:#f3f4f5;--panel:#fff;--panel-2:#f1f2f4;--border:#d8dbdf;--border-strong:#a7aeb6;--text:#1b1e22;--muted:#5f6670;--accent:#b45309;--accent-ink:#fff;--accent-soft:#b453091a;--accent-faint:#b4530914;--nest-fill:#b4530938}:root[data-palette=acier]{--bg:#2b323c;--panel:#353d49;--panel-2:#3e4755;--border:#4b5567;--border-strong:#5b667b;--text:#e6ebf2;--muted:#a3afc0;--accent:#b5e655;--accent-ink:#1b2410;--accent-soft:#b5e65521;--accent-faint:#b5e65517;--nest-fill:#b5e65547;--doc-fill:#e9eef3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-palette=lime][data-theme=dark]{--bg:#111315;--panel:#191c1f;--panel-2:#212529;--border:#2e3338;--border-strong:#475058;--text:#e9ecee;--muted:#9ba3aa;--accent:#b6e52f;--accent-ink:#141a03;--accent-soft:#b6e52f21;--accent-faint:#b6e52f17;--nest-fill:#b6e52f47}:root[data-palette=lime][data-theme=light]{--bg:#e9ebed;--panel:#f8f9fa;--panel-2:#eef0f2;--border:#d1d5d9;--border-strong:#9aa2aa;--text:#16191c;--muted:#5b636b;--accent:#4d7c0f;--accent-ink:#fff;--accent-soft:#4d7c0f1c;--accent-faint:#4d7c0f14;--nest-fill:#4d7c0f3d}:root[data-palette=atelier][data-theme=dark]{--bg:#15130f;--panel:#1e1b16;--panel-2:#27231d;--border:#3a342b;--border-strong:#574d3f;--text:#f0ebe3;--muted:#a99f91;--accent:#f0892a;--accent-ink:#1d0f02;--accent-soft:#f0892a26;--accent-faint:#f0892a1a;--nest-fill:#f0892a52}:root[data-palette=atelier][data-theme=light]{--bg:#f6f4f1;--panel:#fff;--panel-2:#f4f1ec;--border:#e0d9cf;--border-strong:#bfb2a0;--text:#221d17;--muted:#6b6256;--accent:#c25e00;--accent-ink:#fff;--accent-soft:#c25e001a;--accent-faint:#c25e0014;--nest-fill:#c25e0038}:root[data-palette=carbone][data-theme=dark]{--bg:#0a0a0b;--panel:#121214;--panel-2:#19191c;--border:#26262a;--border-strong:#3d3d43;--text:#ededee;--muted:#9a9aa2;--accent:#e6e6e9;--accent-ink:#0a0a0b;--accent-soft:#e6e6e91a;--accent-faint:#e6e6e912;--nest-fill:#e6e6e940}:root[data-palette=carbone][data-theme=light]{--bg:#f5f5f5;--panel:#fff;--panel-2:#f2f2f2;--border:#dedede;--border-strong:#ababab;--text:#111;--muted:#626262;--accent:#161616;--accent-ink:#fff;--accent-soft:#16161612;--accent-faint:#1616160d;--nest-fill:#1616162e}.palette-grid{flex-wrap:wrap;gap:12px;display:flex}.palette-option{min-width:84px;box-shadow:none;background:0 0;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:12px 10px;transition:border-color .15s;display:flex}.palette-option:hover{border-color:var(--border);background:0 0}.palette-option.on{border-color:var(--accent)}.palette-dot{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden;box-shadow:0 1px 2px #00000040,0 0 0 1px #0000001f}.palette-dot svg{filter:drop-shadow(0 0 1.5px #000000bf)}.palette-name{color:var(--muted);text-align:center;font-size:12px;font-weight:500;line-height:1.2}.palette-option.on .palette-name{color:var(--text)}html{accent-color:var(--accent)}tr.lt-group td{cursor:pointer;background:var(--panel-2);border-top:1px solid var(--border-strong);padding:9px 10px}tr.lt-group td>*{vertical-align:middle}tr.lt-group:hover td{background:var(--accent-faint)}tr.lt-group .lt-caret{width:16px;color:var(--muted);display:inline-block}tr.lt-group strong{margin-right:10px}tr.lt-group .muted{font-size:12.5px}tr.lt-group .lt-add{float:right;font-size:12.5px}.sync-list{flex-direction:column;gap:4px;max-height:50vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.sync-list label{border-radius:6px;flex-direction:row;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.sync-list input{width:auto}.sync-list li.rate label{background:var(--accent-faint)}.sync-list li.new label{background:var(--ok-soft)}.backup-bar{flex-wrap:wrap;align-items:flex-end;gap:10px;margin:10px 0;display:flex}.backup-bar label{color:var(--muted);flex-direction:column;gap:4px;font-size:12.5px;display:flex}.backup-bar input{width:220px}.backup-scroll{max-height:360px;overflow:auto}.company-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.company-grid .span2{grid-column:span 2}.company-grid .span-all{grid-column:1/-1}.company-grid textarea{box-sizing:border-box;resize:vertical;width:100%;font:inherit}.company-grid .check-row{flex-direction:row;align-self:end;align-items:center;gap:8px}.company-grid .check-row input{width:auto}.logo-field>span{color:var(--muted);margin-bottom:5px;font-size:12.5px;display:block}.logo-field>div{align-items:center;gap:10px;display:flex}.logo-field img{background:#fff;border-radius:4px;max-width:120px;max-height:40px;padding:3px}@media (width<=1100px){.company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pricing-warn{color:var(--warn);margin:6px 0 0;font-size:12.5px;font-weight:600}.pct-step.below input{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn) inset}.config-page{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:20px;display:grid}.config-nav{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;padding:8px;display:flex;position:sticky;top:12px}.config-group{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 10px 4px;font-size:11px}.config-link{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:7px 10px;font-size:13.5px;font-weight:500;display:flex}.config-link:hover{background:var(--panel-2)}.config-link.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.config-dot{background:var(--warn);border-radius:50%;flex:none;width:7px;height:7px}.config-savebar{z-index:6;background:var(--panel);border:1px solid var(--warn);box-shadow:inset 0 0 0 999px var(--warn-soft), var(--shadow-menu);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;display:flex;position:sticky;top:0}.config-sp{flex:1}.config-head h2{align-items:center;gap:10px;margin:0 0 2px;display:flex}.config-head p{margin:0 0 14px;font-size:13px}.config-now{color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500}.settings label.changed input,.settings label.changed select{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn) inset}.settings .was{color:var(--warn);font-size:11.5px}.danger-outline{color:var(--err);border-color:var(--err)}@media (width<=900px){.config-page{grid-template-columns:1fr}.config-nav{flex-flow:wrap;position:static}.config-nav>div{display:contents}.config-group{display:none}.config-link{width:auto}}.config-page .grid3{align-items:start}.config-page .grid3>label{justify-content:flex-start}.soum-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.soum-stat{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:11px 14px}.soum-stat .l{color:var(--muted);font-size:12px}.soum-stat .v{margin-top:2px;font-size:22px;font-weight:700}.soum-stat .v small{font-size:14px}.soum-stat .v.ok{color:var(--ok)}.soum-stat .v.err{color:var(--err)}.soum-stat .s{color:var(--muted);font-size:12px}.soumissions .soum-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.soumissions .soum-filter{width:260px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);color:var(--muted);background:var(--panel);border-radius:999px;padding:4px 11px;font-size:12.5px;font-weight:500}.chip.on{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.chip .n{opacity:.7;margin-left:5px}.soum-hide-empty{color:var(--muted);flex-direction:row;align-items:center;gap:6px;font-size:13px;display:flex}.soum-hide-empty input{width:auto}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.st-brouillon{color:var(--muted);background:var(--panel-2)}.st-envoyee{color:var(--accent);background:var(--accent-soft)}.st-gagnee{color:var(--ok);background:var(--ok-soft)}.st-perdue{color:var(--err);background:var(--err-soft)}.st-interne{color:var(--muted);border:1px dashed var(--border-strong)}.soum-list .soum-check{width:30px}.soum-list input[type=checkbox]{width:auto}.soum-row{cursor:pointer}.soum-row:hover td{background:var(--panel-2)}.soum-row.sel td{background:var(--accent-faint)}.soum-row .soum-no{color:var(--accent);margin-right:6px;font-weight:700}.soum-pop{position:relative}.pill-btn,.more-btn{box-shadow:none;background:0 0;border:none;padding:2px 4px}.more-btn{color:var(--muted);border-radius:6px;font-size:18px;line-height:1}.more-btn:hover{background:var(--panel-2);color:var(--text)}.soum-menu-pop{z-index:20;background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow-pop);border-radius:10px;flex-direction:column;min-width:210px;padding:6px;display:flex;position:absolute;top:100%;left:0}.soum-menu-pop.right{left:auto;right:0}.soum-menu-pop button{text-align:left;color:var(--text);box-shadow:none;background:0 0;border:none;border-radius:6px;padding:7px 10px;font-size:13px;font-weight:500}.soum-menu-pop button:hover,.soum-menu-pop button.on{background:var(--panel-2)}.soum-menu-pop button.danger{color:var(--err)}.soum-menu-pop hr{border:none;border-top:1px solid var(--border);margin:4px 0}.soumissions .soum-sum{justify-content:space-between;gap:10px;display:flex}.soum-selbar{z-index:10;background:var(--panel);border:1px solid var(--accent);box-shadow:var(--shadow-pop);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;width:fit-content;max-width:100%;margin:14px auto 0;padding:10px 14px;display:flex;position:sticky;bottom:16px}.soum-selbar select{width:auto}@media (width<=1000px){.soum-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.grade-rates td,.grade-rates th{padding-top:5px;padding-bottom:5px}.grade-rates .cell-num{width:100px}.grade-rates tr.changed-row .cell-num{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn) inset}.family-rates{flex-direction:column;gap:8px;margin-top:14px;font-size:12.5px;display:flex}.soumissions .soum-status-filter{width:auto}.soumissions .soum-status-filter.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.op-form{flex-direction:column;gap:12px;display:flex}.op-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.sync-list li.update label,.sync-list li.rate label{background:var(--accent-faint)}.update-new{color:var(--accent);margin:4px 0}.update-pill{border:1px solid var(--accent);color:var(--accent);background:var(--accent-soft);white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600}.parts-head .check-all{margin-left:8px}.parts-head .sort-by{margin-left:auto}.parts-head .check-all input{width:auto}.lang-card{justify-content:space-between;align-items:center;gap:16px;max-width:640px;display:flex}.lang-title{font-weight:600}.lang-toggle{border:1px solid var(--border);background:var(--panel-2,var(--panel));border-radius:8px;display:inline-flex;overflow:hidden}.lang-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:0;min-width:46px;padding:7px 14px;font-size:12px;font-weight:700}.lang-toggle button.on{background:var(--accent);color:var(--accent-ink)}.lang-toggle button:not(.on):hover{color:var(--text)}.lang-card .small{margin-top:2px;font-size:12px}.provider.solo{color:var(--muted)}.client-search{display:inline-block}.crumb .client-search .mrp-hits{min-width:280px;right:auto}.mrp-hits .client-create{color:var(--accent);font-weight:600}.client-error{color:var(--err)}.modal-actions button{white-space:nowrap}.modal:has(.modal-actions .modal-internal){max-width:580px}.modal-actions{flex-wrap:wrap}.soum-bar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.soum-status-note{color:var(--ok);font-size:12px}.user-menu{position:relative}.user-avatar{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);letter-spacing:.02em;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:13px;font-weight:700;display:inline-flex}.user-avatar.open,.user-avatar:hover{box-shadow:0 0 0 3px var(--accent-soft)}.user-dropdown{z-index:60;background:var(--panel);border:1px solid var(--border-strong,var(--border));min-width:270px;box-shadow:var(--shadow-pop);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.user-head{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;margin-bottom:4px;padding:10px 12px 12px;display:flex}.user-role{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11.5px}.user-dropdown button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:9px 12px;font-size:14px;display:flex}.user-dropdown button svg{color:var(--muted)}.user-dropdown button:hover:not(:disabled){background:var(--accent-soft)}.user-dropdown button:disabled{color:var(--muted);cursor:default}.user-dropdown hr{border:none;border-top:1px solid var(--border);margin:4px 0}.user-soon{color:var(--muted);margin-left:auto;font-size:11px}.sub-page{flex-wrap:wrap;align-items:flex-start;gap:24px;max-width:1180px;margin:0 auto;display:flex}.sub-main{flex-direction:column;flex:999 560px;gap:24px;min-width:0;display:flex}.sub-main h1{margin:0;font-size:26px}.sub-side{flex-direction:column;flex:300px;gap:16px;width:100%;max-width:360px;display:flex}.sub-banner{color:#fff;background:linear-gradient(135deg, #141b25, color-mix(in srgb, var(--accent) 22%, #141b25));border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:16px;flex-wrap:wrap;gap:24px;padding:28px;display:flex}.sub-banner-head{flex-direction:column;flex:220px;gap:6px;display:flex}.sub-eyebrow{letter-spacing:.12em;text-transform:uppercase;opacity:.75;font-size:12px;font-weight:700}.sub-banner-title{font-size:24px;font-weight:800}.sub-banner-price{opacity:.8;margin-top:6px}.sub-banner-price span{letter-spacing:-.02em;opacity:1;font-size:38px;font-weight:800}.sub-banner-free{opacity:.85;margin-top:6px}.sub-banner-list{flex:2 300px}.sub-banner-list ul{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 20px;margin:0;padding:0;list-style:none;display:grid}.sub-banner-list li{opacity:.92;align-items:flex-start;gap:8px;font-size:14px;display:flex}.sub-banner-list li svg,.sub-feature-list li svg{color:#86efac;flex:none;margin-top:2px}.sub-link-light{color:#fff;cursor:pointer;background:0 0;border:none;margin-top:12px;padding:0;font-weight:600}.sub-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.sub-section-head h2{margin:0;font-size:18px}.sub-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.sub-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:12px;padding:20px;display:flex}.sub-card.on{border:2px solid var(--accent)}.sub-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sub-card-name{font-size:16px;font-weight:700}.sub-badge{color:var(--ok);background:color-mix(in srgb, var(--ok) 16%, transparent);border-radius:999px;margin-left:8px;padding:2px 9px;font-size:12px;font-weight:700}.sub-card-price{color:var(--muted)}.sub-card-price span{color:var(--text);letter-spacing:-.02em;font-size:30px;font-weight:800}.sub-card-hint{color:var(--muted);flex:1;margin:0;font-size:14px;line-height:1.5}.sub-more{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-weight:600}.sub-card .primary,.sub-btn-off{width:100%;height:40px;font-weight:600}.sub-month-total{color:var(--muted);margin:8px 0 14px}.sub-month-total span{color:var(--text);letter-spacing:-.02em;font-size:36px;font-weight:800}.sub-line{border-top:1px solid var(--border);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.sub-line>span:last-child{font-variant-numeric:tabular-nums;font-weight:600}.sub-box{background:var(--panel-2);border-radius:8px;justify-content:space-between;margin-top:14px;padding:10px 12px;font-weight:600;display:flex}.sub-past h3{margin:0 0 6px;font-size:14px}.sub-cap{text-transform:capitalize}.sub-feature-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.sub-feature-list li{gap:8px;display:flex}.sub-detail h4{margin:14px 0 4px}.suspended-card{text-align:center;max-width:560px;margin:80px auto}.auth-page{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:24px 16px;display:flex}.auth-card{width:100%;max-width:380px;padding:30px 30px 24px}.auth-card.wide{max-width:440px}.auth-card h2{margin:18px 0 12px}.auth-brand{align-items:center;gap:10px;display:flex}.auth-co{margin-top:6px}.auth-by{opacity:.7}.auth-full{width:100%;height:42px;margin-top:8px;font-weight:600}.auth-link{margin:14px auto 0;display:block}.auth-help{text-align:center;margin:8px 0 0}.auth-notice{background:var(--warn-soft);border:1px solid var(--warn);border-radius:8px;margin-bottom:12px;padding:8px 10px;font-size:13px}.auth-code{letter-spacing:.3em;text-align:center;height:48px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px}.auth-check{align-items:center;gap:8px;margin:12px 0 4px;font-size:13px;flex-direction:row!important;display:flex!important}.auth-check input{margin:0;width:auto!important}.auth-qr{background:#fff;border-radius:8px;width:170px;height:170px;margin:6px auto 4px;overflow:hidden}.auth-qr svg{width:100%;height:100%;display:block}.auth-qr-wait{opacity:.15}.auth-key{text-align:center;font-size:12px}.auth-recovery{border:1px dashed var(--border-strong);text-align:center;border-radius:8px;grid-template-columns:1fr 1fr;gap:6px 12px;margin:10px 0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.team-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.team-head h1{margin:0}.team-table{overflow-x:auto}.team-person{align-items:center;gap:10px;display:flex}.team-av{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.team-role-fixed{font-weight:600}.team-badge{margin:0}.team-pending{color:var(--warn);font-size:12px;font-weight:600}.team-ok{color:var(--ok);font-size:12px;font-weight:600}.team-roles{padding:14px 18px}.team-roles summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;list-style:none}.team-roles summary::-webkit-details-marker{display:none}.team-roles summary:before{content:"▸ ";color:var(--muted)}.team-roles[open] summary:before{content:"▾ "}.team-roles table{margin-top:10px}.team-roles td:not(:first-child),.team-roles th:not(:first-child){text-align:center}.team-note{font-size:13px}.team-sw-row{justify-content:space-between;align-items:flex-start;gap:12px;margin:10px 0 6px;display:flex}.team-switch{background:var(--border-strong);width:38px;height:22px;box-shadow:none;border:none;border-radius:11px;flex:none;margin-top:2px;padding:0;position:relative}.team-switch.on{background:var(--accent)}.team-switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:3px;left:3px}.team-switch.on:after{left:19px}.team-modal{max-width:460px}.team-cred{border:1px dashed var(--border-strong);border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:6px 12px;padding:12px;display:grid}.team-cred code{-webkit-user-select:all;user-select:all;font-size:14px}.nowrap{white-space:nowrap}.danger-btn{background:var(--err)!important;border-color:var(--err)!important;color:#fff!important}.ok-msg{color:var(--ok);margin-top:8px;font-size:13px}.account-page{flex-direction:column;gap:16px;max-width:640px;margin:0 auto;display:flex}.account-page h1{margin:8px 0 0}.account-page h3{margin-top:0}.account-grid{grid-template-columns:auto 1fr;gap:6px 16px;display:grid}.account-pw{gap:4px;max-width:360px;display:grid}.account-pw button{justify-self:start;margin-top:6px}.account-inline{flex-wrap:wrap;gap:8px;display:flex}@media (width<=640px){.auth-recovery{grid-template-columns:1fr}}.user-dropdown button.user-logout,.user-dropdown button.user-logout svg{color:var(--err)}.link-banner{border:1px solid var(--warn);background:var(--warn-soft);border-radius:10px;margin:0 0 12px;padding:10px 14px;font-size:13px}.link-chip{box-shadow:none;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.link-chip.ok{color:var(--ok);background:var(--ok-soft)}.link-chip.todo{color:var(--warn);background:var(--warn-soft);border-color:var(--warn)}.link-chip:hover{filter:brightness(1.15)}.link-modal{max-width:440px}select.todo{border-color:var(--warn);color:var(--warn)}.link-ok{color:var(--ok);white-space:nowrap;font-size:12px;font-weight:600}.link-todo{color:var(--warn);white-space:nowrap;font-size:12px;font-weight:600}.wz{width:min(780px,100vw - 32px);max-width:780px}.wz-steps{border-bottom:1px solid var(--border);margin:4px 0 16px;padding:0;list-style:none;display:flex}.wz-steps li{color:var(--muted);flex:1;align-items:center;gap:8px;padding:0 0 12px;font-size:13px;font-weight:600;display:flex}.wz-steps li span{border:1px solid var(--border-strong);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:inline-flex}.wz-steps li.on{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.wz-steps li.on span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.wz-steps li.done{color:var(--ok)}.wz-steps li.done span{border-color:var(--ok)}.wz-title{margin:0 0 6px;font-size:16px}.wz-note{margin:0 0 10px}.wz-ok{border:1px solid var(--ok);background:var(--ok-soft);border-radius:8px;margin-top:12px;padding:10px 12px;font-size:13px}.wz-scroll{max-height:46vh;overflow:auto}.wz-tbl td,.wz-tbl th{padding:6px 8px}.wz-tbl select{min-width:200px}.wz-tbl .c{text-align:center}.wz-tbl input[type=checkbox],.wz-extra input,.wz-rate input{margin:0;width:auto!important}.wz-rate{align-items:center;gap:6px;font-size:13px;flex-direction:row!important;display:inline-flex!important}.wz-extra{border:1px dashed var(--border-strong);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:12px;padding:10px 12px;font-size:13px;display:flex}.wz-extra label{align-items:center;gap:6px;flex-direction:row!important;display:inline-flex!important}.wz-sum{gap:8px;margin:8px 0 12px;padding:0;list-style:none;display:grid}.wz-sum li{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.wz-sum li.warn{border-color:var(--warn);background:var(--warn-soft)}.wz-foot{justify-content:space-between}.mrp-about{margin-left:auto;font-size:13px}.mrp-about-list{gap:8px;padding-left:18px;display:grid}.config-version{color:var(--muted);margin-top:18px;padding:0 12px;font-size:11px}.ai-instr{flex-direction:column;gap:6px;margin-top:14px;display:flex}.ai-instr textarea{box-sizing:border-box;resize:vertical;width:100%;font:inherit;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:14px}.op-ai{text-align:center}.op-ai input{width:auto}.tbl-scroll{overflow-x:auto}.ops-tbl .coeff span{white-space:nowrap}.ops-tbl select{max-width:116px}.ops-tbl .cell-num{width:56px}.ops-tbl td,.ops-tbl th{padding-left:3px;padding-right:3px}.op-form-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.op-form-row .dxf-field input,.op-form-row .dxf-field select{width:100%;min-width:0}.ops-tbl .op-hint-text{max-width:230px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;overflow:hidden}.ops-tbl .op-actions{white-space:nowrap}.link-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:14px}.link-btn:hover{color:var(--accent)}.ops-tbl .op-lock{padding:2px 6px;display:inline-block}.op-std-name{font-weight:600}.op-ai-check{flex-direction:row;align-items:center;gap:8px;display:flex}.op-ai-check input{width:auto}.ops-tbl select.op-unit{max-width:72px}.ops-tbl td.op-name{min-width:120px}.ops-tbl td.op-name input.wide{width:100%}.ops-tbl .coeff{align-items:center;gap:4px;display:flex}.card-head-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-head-row .small-btn{padding:5px 12px;font-size:13px;font-weight:500}.wz-instr{resize:vertical;width:100%;font:inherit;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:14px}:root[data-palette=acier] .topbar{box-shadow:inset 0 -2px #b5e655}.module-list{flex-direction:column;gap:10px;display:flex}.module-row{text-align:left;border:1px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:row;align-items:center;gap:12px;padding:12px 14px;display:flex}.module-row.on{border-color:var(--accent);background:var(--accent-faint)}.module-row input{width:auto}.module-text{flex-direction:column;flex:1;align-items:flex-start;gap:2px;display:flex}.module-text strong{color:var(--text);font-size:14px}.module-price{white-space:nowrap}.module-row{align-items:flex-start}.module-row>input,.module-row>.module-lock{flex:none;margin-top:3px}.module-row .module-lock{color:var(--muted)}.module-row.locked strong,.module-row.locked .module-hint{opacity:.5}.module-new{vertical-align:1px;color:var(--accent-ink,#fff);background:var(--accent);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:700}.module-meta{flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:6px;display:flex}.module-ok{color:var(--accent);font-size:13px;font-weight:600}.module-add{padding:5px 12px;font-size:13px}.module-contact{font-style:italic}.module-more,.module-link{cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.module-more{color:var(--text);text-underline-offset:2px;opacity:.85;text-decoration:underline}.module-link{color:var(--accent);font-weight:600}.module-foot{margin:12px 0 0}.sub-card-name .module-new{font-size:11px}.sub-banner-quota{opacity:.85;margin-top:6px;font-weight:600}.sub-box.warn{color:var(--warn,#d9822b)}.soum-quota{margin:8px 0 0}.op-coeffs{flex-wrap:wrap;gap:8px 16px;display:flex}.op-coeffs .coeff{align-items:center;gap:6px;display:flex}.op-coeffs .coeff input{width:110px}.op-coeffs .coeff span{white-space:nowrap;color:var(--muted)}.op-ia-note{margin:0;font-size:12px;line-height:1.45}.step-mode{flex-direction:column;gap:12px;display:flex}.step-drop{border:2px dashed var(--border-strong);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;display:flex}.step-drop:hover{border-color:var(--accent);background:var(--accent-faint)}.step-drop-icon{color:var(--accent);font-size:40px;line-height:1}.step-viewer{padding:0;overflow:hidden}.step-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.step-views{gap:4px;display:flex}.step-views button{padding:4px 10px;font-size:12px}.step-mouse{width:auto;margin-left:auto;padding:4px 8px;font-size:12px}.step-edges{flex-direction:row;align-items:center;gap:6px;font-size:13px;display:flex}.step3d-canvas:focus{outline:none}.step-edges input{width:auto}.step3d-canvas{background:radial-gradient(ellipse at 50% 35%, var(--panel) 0%, var(--panel-2) 75%);touch-action:none;height:470px;position:relative}.step3d-canvas canvas{display:block}.step3d-wrap{position:relative}.step-legend{pointer-events:none;flex-wrap:wrap;align-items:center;gap:6px;display:flex;position:absolute;bottom:12px;left:12px}.step-legend>span{background:color-mix(in srgb, var(--panel) 88%, transparent);border:1px solid var(--border);border-radius:999px;align-items:center;gap:7px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.step-legend .sw{border-radius:2px;width:16px;height:4px;display:inline-block}.step-legend .sw.proposed{background:#f2c14e}.step-legend .sw.chosen{background:#ff5a1f}.settings .check-row.step-check{color:var(--text);flex-direction:row;align-items:center;gap:8px;font-size:13px}.settings .check-row.step-check input[type=checkbox]{width:auto;margin:0}.settings .check-row.step-check{align-self:end;padding-bottom:10px}.step-send-fields{grid-template-columns:1fr 140px;gap:12px;margin:14px 0;display:grid}.step-send-fields .km-field:only-child{grid-column:2}.step-send-incl{gap:8px;margin:6px 0 0;padding:0;font-size:13px;list-style:none;display:grid}.step-send-incl li{align-items:baseline;gap:10px;display:flex}.step-send-incl li>span:first-child{text-align:center;flex:none;width:16px}.step-send-formula{color:var(--muted);margin-top:2px;font-size:12px;display:block}.pgroup{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 5%, var(--panel));border-radius:12px;margin-bottom:14px;padding:0 12px 12px}.pgroup-head{align-items:center;gap:12px;padding:12px 2px;display:flex}.pgroup-icon{color:var(--accent);font-size:22px;line-height:1}.pgroup-name{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pgroup-name strong{font-size:15px}.pgroup-name>span{color:var(--muted);font-size:12.5px}.pgroup-mul{color:var(--accent)}.pgroup-price{text-align:right}.pgroup-price strong{font-size:17px;display:block}.pgroup-price span{color:var(--muted);font-size:12px}.pgroup-op{border:1px solid var(--border);background:var(--panel);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-top:10px;padding:9px 12px;font-size:13px;display:flex}.pgroup-op .k{font-weight:700}.pgroup-op .v{color:var(--muted);flex:1}.pgroup-loose{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:6px 0 8px;font-size:12px;font-weight:700}.thumb-mark{fill:none;stroke:var(--err);stroke-width:1.6px}.chk-chip{color:var(--warn);border:1px solid var(--warn);background:var(--warn-soft);border-radius:999px;align-items:center;gap:6px;margin:6px 6px 0 0;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.chk-chip.err{color:var(--err);border-color:var(--err);background:var(--err-soft)}.chk-chip.ok{color:var(--ok);border-color:var(--ok);background:var(--ok-faint)}.step-bends .chk-chip{margin:0 4px 0 0}.step-tools{border:1px solid var(--border);background:var(--panel);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.step-tools button{box-shadow:none;color:var(--muted);background:0 0;border:none;border-radius:8px;padding:5px 10px;font-size:12.5px;font-weight:600}.step-tools button.on{background:var(--panel-2);color:var(--accent)}.step-tools button:disabled{opacity:.45}.step3d-box{container-type:inline-size}.step3d-wrap{grid-template-columns:minmax(0,1fr) 210px;display:grid}.step3d-main{min-width:0;position:relative}.step-pane{border-left:1px solid var(--border);background:var(--panel);max-height:470px;padding:10px;font-size:12.5px;overflow:auto}.step-pane-head{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px;font-size:11.5px;font-weight:700}.step-pane-row{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:6px;padding:4px 6px;display:flex}.step-pane-row:hover{background:var(--panel-2)}.step-pane-row.sel{background:var(--accent-faint)}.step-pane-row.hid .nm{opacity:.45}.step-pane-row .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.step-pane-row .iso{color:var(--accent);font-size:11px}.step-eye{width:22px;height:22px;box-shadow:none;color:var(--muted);background:0 0;border:none;place-items:center;padding:0;display:inline-grid}.step-eye:hover{color:var(--accent)}@container (width<=760px){.step3d-wrap{grid-template-columns:minmax(0,1fr)}.step-pane{display:none}}.step-pop{background:var(--panel);border:1px solid var(--border-strong);width:260px;box-shadow:var(--shadow-pop);z-index:2;border-radius:10px;gap:10px;padding:12px 14px;font-size:12.5px;display:grid;position:absolute;top:10px;left:12px}.step-pop-head{justify-content:space-between;align-items:center;display:flex}.step-pop-head b{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11.5px}.step-axis{gap:4px;display:flex}.step-axis button{padding:2px 10px;font-size:12px;font-weight:700}.step-axis button.on{border-color:var(--accent);color:var(--accent);background:var(--accent-faint)}.step-axis .step-flip{margin-left:auto;font-weight:600}.step-range{align-items:center;gap:8px;display:flex}.step-range input{accent-color:var(--accent);flex:1;padding:0}.step-range span{text-align:right;font-variant-numeric:tabular-nums;min-width:38px}.step-gear-wrap{margin-left:auto;position:relative}.step-gear{width:34px;height:30px;color:var(--muted);place-items:center;padding:0;display:inline-grid}.step-gear:hover,.step-gear.on{color:var(--accent)}.step-gear-pop{z-index:5;background:var(--panel);border:1px solid var(--border-strong);width:280px;box-shadow:var(--shadow-pop);border-radius:10px;gap:8px;padding:12px 14px;font-size:12.5px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.step-gear-pop b{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11.5px}.step-gear-pop .step-display{display:flex}.step-gear-pop .step-display button{flex:1;padding:5px 6px;font-size:12px}.step-gear-pop .step-edges{margin:2px 0}.tag-file{border:1px solid var(--border);color:var(--muted);vertical-align:1px;border-radius:6px;margin-left:6px;padding:0 6px;font-size:11px;display:inline-block}.step-acc{border:1px solid var(--border);background:var(--panel);border-radius:12px;margin-bottom:12px}.step-acc.open{border-color:var(--border-strong)}.step-acc-head{align-items:center;gap:12px;padding:8px 14px 8px 6px;display:flex}.step-acc-toggle{min-width:0;box-shadow:none;color:var(--text);text-align:left;background:0 0;border:none;border-radius:8px;flex:1;align-items:center;gap:12px;padding:6px 8px;font-weight:400;display:flex}.step-acc-toggle:hover{background:var(--panel-2)}.step-acc-chev{width:12px;color:var(--muted)}.step-acc-icon{color:var(--accent);font-size:22px;line-height:1}.step-acc-name{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.step-acc-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.step-acc-name span{color:var(--muted);font-size:12.5px}.step-acc-qty{color:var(--muted);cursor:default;flex-direction:row;align-items:center;gap:6px;font-size:12.5px;display:flex}.step-acc-qty input{text-align:center;width:58px}.step-acc-chip{white-space:nowrap;border:1px solid var(--border);background:var(--panel-2);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.step-acc-chip.ok{color:var(--ok);border-color:var(--ok);background:var(--ok-faint)}.step-acc-chip.warn{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}.step-acc-body{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding:12px;display:flex}.step-acc-body>.card{margin:0}.step-add{border:1.5px dashed var(--border-strong);color:var(--muted);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:13px;display:flex}.step-add strong{color:var(--accent)}.step-add:hover{background:var(--accent-faint)}@media (width<=900px){.step-acc-head{flex-wrap:wrap}}.step-status{border-top:1px solid var(--border);background:var(--panel);flex-wrap:wrap;align-items:baseline;gap:6px 18px;min-height:42px;padding:10px 14px;font-size:13px;display:flex}.step-status .m{align-items:baseline;gap:6px;display:inline-flex}.step-status .m>span{color:var(--muted);font-size:12px}.step-status .m strong{font-variant-numeric:tabular-nums}.step-status .m.main strong{color:var(--accent);font-size:15px}.step-status .hint{color:var(--muted)}.step-status-clear{margin-left:auto;font-size:12px}.step-unit button{min-width:38px}.step-ruler{vertical-align:-2px}.step-view-btn{width:32px;height:30px;color:var(--muted);place-items:center;padding:0;display:inline-grid}.step-view-btn:hover{color:var(--accent)}.step-nav-help{gap:4px;margin:6px 0;padding:0;list-style:none;display:grid}.step-nav-help span{min-width:70px;font-weight:700;display:inline-block}.step-flats h3{margin:0}.step-flat-3d{align-self:flex-start;margin-top:4px;font-size:12px}.step-flat-modal{max-width:min(720px,100vw - 32px)}.step-flat-big{background:var(--panel-2);border-radius:10px;place-items:center;padding:8px;display:grid}.step-flat-big .dxf-thumb{max-width:100%;height:auto}.step-bends{margin-top:8px}.step-parts tbody tr{cursor:pointer}.step-parts tbody tr.on td{background:var(--accent-faint)}.step-chip{white-space:nowrap;background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.step-chip.ok{color:var(--ok);border-color:var(--ok);background:var(--ok-faint)}.step-chip.verifier{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}.step-chip.profile{color:var(--accent);border-color:var(--accent);background:var(--accent-faint)}.step-side h3{margin-top:0}.step-send{width:100%;margin-top:6px}.step-weld-total{margin:4px 0;font-size:18px}.step-weld-actions{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.step-weld-actions button{padding:4px 10px;font-size:12px}.step-gap{flex-flow:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.step-gap>span{width:100%;color:var(--muted);font-size:12px}.step-gap button{padding:4px 10px;font-size:12px}.warn-card{border-color:var(--warn);background:var(--warn-soft)}.app-toast{z-index:1000;background:var(--panel);border:1px solid var(--ok,#3fb950);border-radius:12px;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:12px 14px 12px 18px;font-weight:600;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #00000059}.app-toast a{color:var(--accent);white-space:nowrap}.app-toast .modal-close{position:static}.detail-issues{flex-direction:column;align-items:flex-start;gap:6px;margin-top:8px;display:flex}.step-flats h3{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.step-flats-sub{font-size:13px;font-weight:400}.step-card{cursor:pointer;transition:border-color .12s,background .12s}.step-card:hover{border-color:var(--border-strong,var(--muted))}.pcard.step-card.sel{border-color:var(--accent);background:var(--accent-faint);box-shadow:0 0 0 1px var(--accent) inset}.step-card .pcard-title .step-chip{flex:none}.step-card-icon{color:var(--muted);cursor:default}.step-card-chips .chk-chip{margin:4px 6px 0 0}.chk-chip.feat{color:var(--accent);border-color:var(--accent);background:var(--accent-faint);font-weight:500}.step-chip.pas_tole{color:var(--muted)}.step-detail{align-items:flex-start}.step-detail-preview{flex:420px;min-width:0}.step-detail-side{flex:240px;min-width:0}.step-detail-h{margin:16px 0 6px;font-size:14px}.step-detail-side .step-detail-h:first-of-type{margin-top:12px}.step-detail-note{margin-top:14px}.pgroup-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px;display:inline-flex}.pgroup-chev{font-size:13px;transition:transform .15s;display:inline-block;transform:rotate(90deg)}.pgroup.folded .pgroup-chev{transform:none}.pgroup.folded{padding-bottom:0}.pgroup-name{cursor:pointer}.k-row{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.k-field{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.k-row .k-num{width:110px}.k-note{margin:12px 0 0}.k-note .link{white-space:nowrap}.info-pop .k-tip{margin:6px 0 8px;padding-left:18px}.info-pop .k-tip li{margin-bottom:3px}.info-pop .k-din{border-collapse:collapse;width:100%;margin-top:4px;font-size:12.5px}.info-pop .k-din th,.info-pop .k-din td{text-align:left;border-bottom:1px solid var(--border);padding:3px 6px}.info-pop .k-din th{color:var(--muted);font-weight:500}
