.production-lines-action[data-v-367a7118]{margin-bottom:.75rem}.production-lines-action button[data-v-367a7118]{border:1px solid var(--md-outline-variant,#cac4d0);background:var(--md-surface,#fdfbff);color:var(--md-on-surface-variant,#49454f);border-radius:var(--md-radius-s,8px);cursor:pointer;padding:.35rem .8rem;font-size:.85rem}.production-lines-action button[data-v-367a7118]:hover:not(:disabled){border-color:var(--md-primary,#1976d2);color:var(--md-primary,#1976d2)}.production-lines-action button[data-v-367a7118]:disabled{opacity:.5;cursor:default}.production-lines-action .hint[data-v-367a7118]{margin:.3rem 0 0}.applicable-cell[data-v-367a7118]{text-align:center}.actions-cell[data-v-367a7118]{text-align:right;white-space:nowrap}.actions-cell .icon-btn[data-v-367a7118]{vertical-align:middle}.actions-cell .icon-btn+.icon-btn[data-v-367a7118],.actions-cell .icon-btn+.duration-input[data-v-367a7118],.actions-cell .duration-input+.icon-btn[data-v-367a7118],.actions-cell .edit-name-input+.duration-input[data-v-367a7118]{margin-left:.35rem}.manual-flag[data-v-367a7118]{color:var(--md-primary,#1976d2);border-color:var(--md-primary,#1976d2)}.duration-input[data-v-367a7118]{border:1px solid var(--md-outline-variant,#cac4d0);border-radius:var(--md-radius-s,8px);width:3.5rem;padding:.15rem .35rem;font-size:.85rem}.edit-name-input[data-v-367a7118]{border:1px solid var(--md-outline-variant,#cac4d0);border-radius:var(--md-radius-s,8px);width:9rem;padding:.15rem .35rem;font-size:.85rem}.drag-col[data-v-367a7118]{text-align:center;width:1.6rem;color:var(--md-outline,#79747e);cursor:grab;-webkit-user-select:none;user-select:none}tr[draggable=true]:active .drag-col[data-v-367a7118]{cursor:grabbing}tr.drag-over[data-v-367a7118]{box-shadow:inset 0 2px 0 var(--md-primary,#1976d2)}tr.dragging[data-v-367a7118]{opacity:.45}.icon-btn.danger[data-v-367a7118]:disabled{opacity:.35;cursor:not-allowed}.duration-error[data-v-367a7118]{color:var(--md-error,#b3261e);white-space:normal;font-size:.72rem}.add-phase[data-v-367a7118]{margin-top:.5rem}.add-phase-form[data-v-367a7118]{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.add-phase-form input[type=text][data-v-367a7118]{min-width:10rem}.add-phase-form .gantt-error[data-v-367a7118]{flex-basis:100%;margin:.2rem 0 0}.add-phase button.ghost.small[data-v-367a7118],.add-phase button.primary.small[data-v-367a7118]{border-radius:var(--md-radius-s,8px);cursor:pointer;padding:.35rem .8rem;font-size:.85rem}.add-phase button.ghost.small[data-v-367a7118]{border:1px solid var(--md-outline-variant,#cac4d0);background:var(--md-surface,#fdfbff);color:var(--md-on-surface-variant,#49454f)}.add-phase button.ghost.small[data-v-367a7118]:hover{border-color:var(--md-primary,#1976d2);color:var(--md-primary,#1976d2)}.add-phase button.primary.small[data-v-367a7118]{background:var(--md-primary,#1976d2);color:var(--md-on-primary,#fff);border:none}.add-phase button.primary.small[data-v-367a7118]:disabled{opacity:.5;cursor:default}.prod-hours[data-v-9db09373]{margin:.75rem 0}.prod-hours h4[data-v-9db09373]{margin:0 0 .25rem;font-weight:500}.ph-total[data-v-9db09373]{margin-bottom:.4rem}.ph-total label[data-v-9db09373]{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.ph-line[data-v-9db09373]{align-items:center;gap:.6rem;margin-bottom:.3rem;display:flex}.ph-check[data-v-9db09373]{cursor:pointer;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.ph-num[data-v-9db09373]{max-width:6.5rem}.ph-fixed[data-v-9db09373]{color:var(--md-on-surface-variant);font-size:.85rem}.prod-hours h4+.hint[data-v-9db09373]{margin-top:0}.prod-hours .row-actions[data-v-9db09373]{margin-bottom:.8rem}.pz-uuid-input[data-v-35583cd5]{width:20rem;max-width:100%}.element-filters[data-v-35583cd5]{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.4rem 0;display:flex}.element-filter-name[data-v-35583cd5]{min-width:12rem}.bulk-assign[data-v-35583cd5]{border-left:2px solid var(--md-outline-variant,#cac4d0);flex-wrap:wrap;align-items:center;gap:.4rem;margin-left:auto;padding-left:.75rem;display:flex}.sortable[data-v-35583cd5]{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.status-cell[data-v-35583cd5]{text-align:center}.nowrap[data-v-35583cd5]{white-space:nowrap}.element-table-wrap[data-v-35583cd5]{overflow-x:auto}.actual-when[data-v-35583cd5]{font-size:.8em}.actual-cell[data-v-35583cd5]{white-space:nowrap}.dev[data-v-35583cd5]{border-radius:3px;margin-left:.3rem;padding:0 .3rem;font-size:.8em;font-weight:600}.dev.dev-over[data-v-35583cd5]{color:#8a1c1c;background:#fde8e8}.dev.dev-under[data-v-35583cd5]{color:#1c5a8a;background:#e6f0fa}.dev.dev-ok[data-v-35583cd5]{color:#1f6b2f;background:#e8f3ea}.actual-hours[data-v-35583cd5]{border:1px solid var(--color-border,#e3e3e3);background:var(--md-surface-container-low,#f7f7f7);border-radius:6px;flex-wrap:wrap;align-items:flex-start;gap:.6rem 1.2rem;margin:.4rem 0 .7rem;padding:.55rem .8rem;display:flex}.actual-tile[data-v-35583cd5]{flex-direction:column;gap:.1rem;min-width:11rem;display:flex}.actual-tile strong[data-v-35583cd5]{font-size:1.05rem}.actual-label[data-v-35583cd5]{text-transform:uppercase;letter-spacing:.04em;color:var(--md-on-surface-variant,#666);font-size:.72rem}.actual-lines[data-v-35583cd5]{flex-wrap:wrap;flex-basis:100%;gap:.3rem 1.2rem;font-size:.85rem;display:flex}.status-chip.status-working[data-v-35583cd5]{background:var(--color-warn-tint);color:var(--color-warn-ink)}.status-chip.status-ready[data-v-35583cd5]{background:var(--color-good);color:var(--md-surface)}.milestone-marker[data-v-0561f108]{color:#d32f2f}.restore-block[data-v-8d1828e0]{margin-top:1rem}.restore-actions[data-v-8d1828e0]{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.linklike[data-v-8d1828e0]{color:var(--md-primary,#6750a4);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.restore-message[data-v-8d1828e0]{color:var(--md-on-surface-variant,#49454f)}.panel-head[data-v-0be51ba6]{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.panel-head h2[data-v-0be51ba6]{margin:0}.add-btn[data-v-0be51ba6]{background:var(--md-primary,#1976d2);color:#fff;cursor:pointer;border:none;border-radius:999px;width:1.9rem;height:1.9rem;font-size:1.1rem;line-height:1}.archived-pick[data-v-0be51ba6]{margin-left:auto;font-size:.8rem}.create-form[data-v-0be51ba6]{flex-direction:column;gap:.4rem;margin:.75rem 0;display:flex}.create-form .inline[data-v-0be51ba6]{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.create-form .create-field[data-v-0be51ba6]{align-items:center;gap:.3rem;font-size:.8rem;display:inline-flex}.create-hint[data-v-0be51ba6]{margin:0}.detail-head[data-v-0be51ba6]{background:var(--md-surface-container,#f5f3f7);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0;padding:.6rem .8rem;display:flex}.head-actions[data-v-0be51ba6]{align-items:center;gap:.3rem;margin-left:auto;display:flex}.super-link a[data-v-0be51ba6]{color:var(--md-primary,#1976d2);text-decoration:none}.detail-head input[data-v-0be51ba6],.detail-head select[data-v-0be51ba6],.archived-pick[data-v-0be51ba6]{border:1px solid var(--md-outline-variant,#cac4d0);background:var(--md-surface,#fdfbff);color:var(--md-on-surface,#1c1b1f);border-radius:8px;padding:.45rem .65rem;font-family:inherit;font-size:.85rem}.detail-head input[data-v-0be51ba6]:focus,.detail-head select[data-v-0be51ba6]:focus,.archived-pick[data-v-0be51ba6]:focus{outline:2px solid var(--md-primary,#1976d2);outline-offset:-1px;border-color:#0000}.detail-head input.narrow[data-v-0be51ba6]{width:8rem}.baseline-refresh[data-v-0be51ba6]{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.5rem 0 1rem;display:flex}.baseline-refresh .mini-list[data-v-0be51ba6]{width:100%}.linklike[data-v-0be51ba6]{color:var(--md-primary,#6750a4);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.oss-table[data-v-ddfb2107]{border-collapse:collapse;margin-bottom:.5rem}.oss-table th[data-v-ddfb2107],.oss-table td[data-v-ddfb2107]{text-align:left;border-bottom:1px solid var(--md-outline-variant,#cac4d0);padding:.25rem .5rem}.oss-table .inactive td[data-v-ddfb2107]{opacity:.45}.mono[data-v-ddfb2107]{font-family:ui-monospace,monospace}.oss-name[data-v-ddfb2107]{min-width:12rem}.oss-prefix[data-v-ddfb2107]{width:5rem}.oss-form[data-v-ddfb2107]{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tpl-head[data-v-74dd30f1]{align-items:center;gap:.6rem;display:flex}.tpl-check[data-v-74dd30f1]{white-space:nowrap;flex-direction:row;align-items:center;gap:.3rem;display:flex}.side-checks[data-v-74dd30f1]{flex-wrap:wrap;gap:.7rem;margin-top:.35rem;display:flex}.ups-table[data-v-38e21ef9]{border-collapse:collapse}.ups-table th[data-v-38e21ef9],.ups-table td[data-v-38e21ef9]{text-align:left;border-bottom:1px solid var(--md-outline-variant,#cac4d0);padding:.3rem .6rem}.ups-toggle[data-v-38e21ef9]{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}.medewerkers-layout[data-v-b68af1a5]{grid-template-columns:1fr 1fr;align-items:start;gap:1rem;display:grid}@media (width<=1200px){.medewerkers-layout[data-v-b68af1a5]{grid-template-columns:1fr}}.medewerkers-side[data-v-b68af1a5]{flex-direction:column;gap:1rem;min-width:0;display:flex}.nmbrs-shortcut[data-v-b68af1a5]{border-top:1px solid var(--md-surface-container-high);align-items:center;gap:.6rem;margin-top:.6rem;padding-top:.6rem;display:flex}.leave-balance-total[data-v-b68af1a5]{margin:.5rem 0;font-size:1.6rem;font-weight:600}.leave-balance-total.negative[data-v-b68af1a5],.negative[data-v-b68af1a5],.hint.error[data-v-b68af1a5]{color:var(--color-bad)}.workday-hours-grid[data-v-b68af1a5]{flex-wrap:wrap;align-items:center;gap:.4rem;margin-left:.5rem;display:flex}.workday-hours-cell[data-v-b68af1a5]{color:var(--md-on-surface-variant);flex-direction:column;align-items:center;gap:.1rem;font-size:.7rem;display:flex}.workday-hours-cell input[data-v-b68af1a5]{text-align:center;width:3rem}.cap-bar[data-v-31333036]{cursor:pointer}.source-hint[data-v-31333036]{margin:-.2rem 0 .4rem;font-size:.78rem}.allowed-line[data-v-31333036]{fill:none;stroke:#c62828;stroke-width:1.5px;stroke-dasharray:5 4;opacity:.8}.allowed-line-swatch[data-v-31333036]{background:repeating-linear-gradient(90deg,#c62828 0 5px,#0000 5px 9px);height:2px}.levelling-failed[data-v-31333036]{border-radius:var(--md-radius-s);background:var(--color-danger-bg,#fde8e8);color:var(--color-danger-ink,#8a1c1c);flex-direction:column;gap:.2rem;margin-bottom:.4rem;padding:.45rem .6rem;font-size:.82rem;display:flex}.levelling-failed small[data-v-31333036]{opacity:.8}.factory-notes[data-v-31333036]{flex-direction:column;gap:.3rem;margin-bottom:.4rem;display:flex}.factory-missing[data-v-31333036]{border-radius:var(--md-radius-s);background:var(--color-warn-bg,#fff4e5);color:var(--color-warn-ink,#8a4b00);flex-wrap:wrap;align-items:center;gap:.6rem;margin:0;padding:.4rem .6rem;font-size:.82rem;display:flex}.missing-line[data-v-31333036]{margin-left:.4rem}.factory-notes .hint[data-v-31333036]{margin:0;font-size:.78rem}.bar-percent[data-v-31333036],.bar-label[data-v-31333036],.paused-percent[data-v-31333036],.quote-percent[data-v-31333036],.capacity-value[data-v-31333036]{pointer-events:none}.cap-bar.selected[data-v-31333036]{stroke:var(--md-on-surface);stroke-width:2px}.breakdown[data-v-31333036]{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-m);background:var(--md-surface);margin:.6rem 0 .4rem;padding:.6rem .8rem}.breakdown-head[data-v-31333036]{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.breakdown-table[data-v-31333036]{border-collapse:collapse;width:100%;font-size:.82rem}.breakdown-table th[data-v-31333036]{text-align:left;color:var(--md-on-surface-variant);border-bottom:1px solid var(--md-outline-variant);padding:.15rem .4rem;font-weight:600}.breakdown-table td[data-v-31333036]{border-bottom:1px solid var(--md-surface-container);padding:.2rem .4rem}.breakdown-table .num[data-v-31333036]{text-align:right;white-space:nowrap}.breakdown-table tr.quote td[data-v-31333036],.breakdown-table tr.paused td[data-v-31333036]{color:var(--md-on-surface-variant)}.breakdown .kind[data-v-31333036]{font-size:.72rem}.breakdown .kind.short[data-v-31333036],.breakdown-table tr.short td.num[data-v-31333036]{color:var(--color-bad,#c62828)}.breakdown .hint[data-v-31333036]{margin:.4rem 0 0;font-size:.75rem}.delivery-dialog[data-v-2275848c]{max-width:460px}.delivery-actions[data-v-2275848c]{flex-wrap:wrap}.materials-panel[data-v-56c6feed]{flex-direction:column;gap:.75rem;display:flex}.materials-toolbar[data-v-56c6feed]{gap:.5rem;display:flex}.materials-search[data-v-56c6feed]{width:100%}.staging-block[data-v-56c6feed]{border:1px solid var(--md-outline-variant,#cac4d0);border-radius:8px;padding:.75rem}.add-material-form[data-v-56c6feed]{border:1px solid var(--md-outline-variant,#cac4d0);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.6rem;display:flex}.add-template-row[data-v-56c6feed]{flex-wrap:wrap;flex-basis:100%;gap:.75rem;display:flex}.add-template-pick[data-v-56c6feed]{align-items:center;gap:.3rem;font-size:.85rem;display:flex}.add-template-pick input[type=radio][data-v-56c6feed]{width:auto}.add-name[data-v-56c6feed]{flex:2 10rem}.add-dim[data-v-56c6feed],.add-unit[data-v-56c6feed]{flex:7rem}.add-num[data-v-56c6feed]{width:9rem}.add-material-form .gantt-error[data-v-56c6feed]{flex-basis:100%;margin:0}.staging-table[data-v-56c6feed]{width:100%;font-size:.85rem}.staging-table td[data-v-56c6feed],.staging-table th[data-v-56c6feed]{vertical-align:top;padding:.35rem .4rem}.link-pick[data-v-56c6feed]{margin-top:.25rem;display:block}.materials-type-head[data-v-56c6feed]{letter-spacing:.08em;color:var(--md-on-surface);border-bottom:2px solid var(--md-outline-variant,#cac4d0);margin:.75rem 0 .1rem;padding-bottom:.2rem;font-size:.85rem}.materials-cat-head[data-v-56c6feed]{color:var(--md-on-surface-variant);text-transform:uppercase;letter-spacing:.05em;margin:.4rem 0 .1rem;font-size:.75rem;font-weight:600}.materials-list[data-v-56c6feed]{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.materials-item[data-v-56c6feed]{border:1px solid var(--md-outline-variant,#cac4d0);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .65rem;display:flex}.materials-item-main[data-v-56c6feed]{flex-wrap:wrap;align-items:baseline;gap:.15rem .35rem;min-width:0;display:flex}.materials-prices[data-v-56c6feed]{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.materials-actions[data-v-56c6feed]{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.linklike[data-v-56c6feed]{cursor:pointer;color:var(--md-primary,#1a73e8);font-size:inherit;background:0 0;border:none;padding:0}.pack-info[data-v-56c6feed]{align-items:center;gap:.3rem;display:flex}.pack-missing .linklike[data-v-56c6feed]{color:#b45309;font-weight:600}.pack-edit[data-v-56c6feed]{align-items:center;gap:.25rem;margin-top:.2rem;display:flex}.pack-edit-input[data-v-56c6feed]{width:7rem}.pz-chip[data-v-56c6feed]{background:var(--md-success-container,#d9efe0);color:#1c5220;white-space:nowrap;border-radius:6px;padding:.05rem .35rem;font-size:.7rem}.pz-pick[data-v-56c6feed]{max-width:16rem}.len-chip[data-v-56c6feed]{background:var(--md-tertiary-container,#ffe08c);color:#5c4400;white-space:nowrap;border-radius:6px;padding:.05rem .4rem;font-size:.75rem;font-weight:600}.row-edit[data-v-56c6feed]{flex-wrap:wrap;align-items:center;gap:.3rem;display:inline-flex}.row-edit-name[data-v-56c6feed]{min-width:16rem;padding:.2rem .4rem}.row-edit-dim[data-v-56c6feed]{width:8rem;padding:.2rem .4rem}.plate-link-check[data-v-56c6feed]{flex:none;align-self:center;margin:0 .1rem 0 0}.plate-link-bar[data-v-56c6feed]{background:var(--md-surface-variant,#e7e0ec);z-index:80;max-width:min(60rem,100vw - 2rem);box-shadow:var(--md-shadow-2,0 6px 20px #00000040);border:1px solid var(--md-outline-variant,#cac4d0);border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.csr-table[data-v-6a5e9ad5]{border-collapse:collapse;width:auto}.csr-table th[data-v-6a5e9ad5],.csr-table td[data-v-6a5e9ad5]{text-align:left;border-bottom:1px solid var(--md-outline-variant,#cac4d0);white-space:nowrap;padding:.25rem .9rem .25rem 0}.csr-table td[data-v-6a5e9ad5]:first-child,.csr-table th[data-v-6a5e9ad5]:first-child{padding-left:.25rem}.csr-table .inactive td[data-v-6a5e9ad5]{opacity:.45}.csr-form[data-v-6a5e9ad5]{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.mono[data-v-6a5e9ad5]{font-family:ui-monospace,monospace}.rule-input[data-v-6a5e9ad5]{width:6.5rem;padding:.3rem .5rem}.rule-lengths[data-v-6a5e9ad5]{width:11rem}.range-input[data-v-6a5e9ad5]::placeholder,.rule-input[data-v-6a5e9ad5]::placeholder{opacity:.55}.range-input[data-v-6a5e9ad5]{width:3.5rem;padding:.3rem .5rem}.rule-note[data-v-6a5e9ad5]{min-width:14rem;padding:.3rem .5rem}.error-text[data-v-6a5e9ad5]{color:var(--md-error,#b3261e)}.csr.compact .csr-form[data-v-6a5e9ad5]{gap:.35rem}.csr-edit[data-v-6a5e9ad5]{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.csr-edit-cell[data-v-6a5e9ad5]{white-space:normal}.portal-code[data-v-0e18e4de]{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.7rem;display:flex}.portal-code strong[data-v-0e18e4de]{letter-spacing:.08em}.invite-row[data-v-0e18e4de]{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.invite-row input[type=email][data-v-0e18e4de]{width:16rem}.invite-row input[data-v-0e18e4de]:not([type=email]){flex:1;min-width:10rem}.catalogue-toolbar[data-v-0e18e4de]{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.catalogue-toolbar input[data-v-0e18e4de]{width:14rem}.portal-actions[data-v-0e18e4de]{white-space:nowrap;align-items:center;gap:.35rem;display:flex}.portal-status-active[data-v-0e18e4de]{color:var(--md-confirm,#1b7f3b)}.portal-status-declined[data-v-0e18e4de]{color:var(--md-error,#c90202)}.portal-imported[data-v-0e18e4de]{color:var(--md-confirm,#1b7f3b)}.sc-error[data-v-adca25f1]{color:#b91c1c}.sc-note[data-v-adca25f1]{color:#64748b;margin:.5rem 0}.sc-filters[data-v-adca25f1]{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.sc-search[data-v-adca25f1]{width:16rem;max-width:100%}.sc-table[data-v-adca25f1]{border-collapse:collapse;width:100%}.sc-table th[data-v-adca25f1]{text-align:left;color:#94a3b8;padding:.2rem .4rem;font-size:.75rem;font-weight:500}.sc-table td[data-v-adca25f1]{vertical-align:top;border-top:1px solid #f1f5f9;padding:.25rem .4rem}.sc-name[data-v-adca25f1]{min-width:10rem}.sc-art[data-v-adca25f1]{color:#475569;width:7rem}.sc-dash[data-v-adca25f1]{color:#cbd5e1}.sc-lead[data-v-adca25f1]{color:#475569;margin:.1rem .4rem .1rem 0;font-size:.8rem;display:inline-block}.sc-chip[data-v-adca25f1]{background:#f1f5f9;border-radius:.6rem;margin:.1rem .2rem .1rem 0;padding:.1rem .5rem;font-size:.8rem;display:inline-block}.sc-pkg[data-v-adca25f1]{color:#5b21b6;background:#ede9fe}.sc-materials[data-v-adca25f1]{min-width:12rem}.sc-mat-chip[data-v-adca25f1]{color:#065f46;background:#ecfdf5;border-radius:.6rem;align-items:center;gap:.25rem;margin:.1rem .2rem .1rem 0;padding:.1rem .4rem .1rem .55rem;font-size:.8rem;display:inline-flex}.sc-x[data-v-adca25f1]{color:#065f46;cursor:pointer;background:0 0;border:none;padding:0;font-size:.95rem;line-height:1}.sc-link-btn[data-v-adca25f1]{padding:.05rem .4rem;font-size:.78rem}.sc-link-box[data-v-adca25f1]{margin-top:.35rem}.sc-mat-search[data-v-adca25f1]{width:100%}.sc-mat-list[data-v-adca25f1]{border:1px solid #e2e8f0;border-radius:.4rem;max-height:9rem;margin:.25rem 0 0;padding:0;list-style:none;overflow-y:auto}.sc-mat-list li[data-v-adca25f1]{padding:0}.sc-mat-list li button[data-v-adca25f1]{text-align:left;border:none;border-radius:0;width:100%}.staff-portal-bar[data-v-bbe1214f]{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.25rem 0 1rem;display:flex}.portal-status-active[data-v-bbe1214f]{color:var(--md-confirm,#1b7f3b)}.portal-status-declined[data-v-bbe1214f],.admin-inactive[data-v-bbe1214f]{color:var(--md-error,#c90202)}.mi-toolbar[data-v-bf72d711]{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.mi-toolbar label[data-v-bf72d711]{align-items:center;gap:.4rem;display:flex}.mi-map[data-v-bf72d711]{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:.4rem 1rem;margin-bottom:.8rem;display:grid}.mi-map-row[data-v-bf72d711]{align-items:center;gap:.5rem;display:flex}.mi-prop[data-v-bf72d711]{flex:0 0 9rem;font-size:.82rem}.mi-prop em[data-v-bf72d711]{color:var(--md-error,#c90202);font-style:normal}.mi-map-row select[data-v-bf72d711]{flex:1}.mi-summary[data-v-bf72d711]{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.6rem 0;display:flex}.mi-preview .mi-create[data-v-bf72d711]{color:var(--md-confirm,#1b7f3b)}.mi-preview .mi-update[data-v-bf72d711]{color:var(--md-accent,#728fab)}.mi-preview .mi-skip[data-v-bf72d711]{color:var(--md-on-surface-variant,#6b6b70)}.mi-kv[data-v-bf72d711]{margin-right:.6rem}.mi-warn[data-v-bf72d711]{color:var(--md-error,#c90202);margin-right:.6rem}.cat-table[data-v-a3967930]{border-collapse:collapse;width:100%;margin-bottom:.75rem}.cat-table th[data-v-a3967930]{text-align:left;color:#64748b;padding:.25rem .5rem;font-size:.8rem}.cat-table td[data-v-a3967930]{padding:.2rem .5rem}.cat-name[data-v-a3967930]{width:100%;min-width:8rem}.cat-actions[data-v-a3967930]{white-space:nowrap;text-align:right}.cat-add[data-v-a3967930]{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.cat-add .cat-name[data-v-a3967930]{flex:12rem}.cat-error[data-v-a3967930]{color:#b91c1c;margin:0 0 .5rem}.offcuts-table[data-v-d9dfe28d]{border-collapse:collapse;width:100%;font-size:.9rem}.offcuts-table th[data-v-d9dfe28d],.offcuts-table td[data-v-d9dfe28d]{text-align:left;border-bottom:1px solid var(--color-line,#e5e7eb);padding:.3rem .5rem}.offcut-reserved[data-v-d9dfe28d]{color:var(--color-warn-ink);white-space:nowrap}.offcut-free[data-v-d9dfe28d]{color:var(--color-good-ink);white-space:nowrap}.offcut-use[data-v-d9dfe28d]{white-space:nowrap;align-items:center;gap:.3rem;display:flex}.offcut-use input[data-v-d9dfe28d]{width:4.5rem}.offcut-use select[data-v-d9dfe28d]{max-width:11rem}.library-view[data-v-1a63e6f1]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem;padding:0 1rem 1rem;display:grid}.library-view>.layout-block[data-v-1a63e6f1]{min-width:0;overflow-x:auto}@media (width<=1100px){.library-view[data-v-1a63e6f1]{grid-template-columns:minmax(0,1fr)}}.library-toolbar[data-v-1a63e6f1]{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.5rem 0 .25rem;display:flex}.library-search[data-v-1a63e6f1]{flex:14rem;min-width:10rem;max-width:22rem;padding:.4rem .6rem}.toggle[data-v-1a63e6f1]{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}.type-head[data-v-1a63e6f1]{letter-spacing:.06em;margin:1.1rem 0 .2rem}.library-table[data-v-1a63e6f1]{border-collapse:collapse;width:100%;margin-bottom:.4rem}.library-table th[data-v-1a63e6f1],.library-table td[data-v-1a63e6f1]{text-align:left;border-bottom:1px solid var(--md-outline-variant,#cac4d0);vertical-align:top;padding:.3rem .5rem}.sortable[data-v-1a63e6f1]{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable[data-v-1a63e6f1]:hover{text-decoration:underline}.col-check[data-v-1a63e6f1]{width:2rem}tr.selected td[data-v-1a63e6f1]{background:color-mix(in srgb, var(--md-primary,#6750a4) 8%, transparent)}.merge-bar[data-v-1a63e6f1]{background:var(--md-surface-variant,#e7e0ec);z-index:80;max-width:min(60rem,100vw - 2rem);box-shadow:var(--md-shadow-2,0 6px 20px #00000040);border:1px solid var(--md-outline-variant,#cac4d0);border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.merge-chip[data-v-1a63e6f1]{cursor:pointer;background:var(--md-surface,#fff);border-radius:1rem;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.85rem;display:inline-flex}.merge-btn[data-v-1a63e6f1]{font-weight:600}.assort-box[data-v-1a63e6f1]{border:1px dashed var(--md-outline-variant,#cac4d0);border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.25rem 0 .75rem;padding:.5rem .75rem;display:flex}.assort-results[data-v-1a63e6f1]{width:100%;margin:.25rem 0 0;padding:0;list-style:none}.assort-results li[data-v-1a63e6f1]{padding:.15rem 0}.group-head td[data-v-1a63e6f1]{background:var(--md-surface-variant,#e7e0ec);padding:.35rem .5rem;font-weight:600}.col-number[data-v-1a63e6f1]{white-space:nowrap;width:8.5rem}.col-actions[data-v-1a63e6f1]{white-space:nowrap;width:6rem}.number-input[data-v-1a63e6f1]{width:5rem;padding:.25rem .4rem}.name-input[data-v-1a63e6f1]{width:100%;min-width:9rem;padding:.25rem .4rem}.suggest-btn[data-v-1a63e6f1]{margin-left:.25rem;padding:.15rem .45rem}.attr-input[data-v-1a63e6f1]{width:4rem;padding:.25rem .4rem}.attr-wide[data-v-1a63e6f1]{width:6.5rem}.supplier-chip[data-v-1a63e6f1]{background:var(--md-surface-variant,#e7e0ec);border-radius:1rem;margin:.1rem .3rem .1rem 0;padding:.15rem .5rem;font-size:.85rem;display:inline-block}.rules-table .inactive td[data-v-1a63e6f1]{opacity:.45}.mono[data-v-1a63e6f1]{font-family:ui-monospace,monospace}.rule-form[data-v-1a63e6f1]{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.rule-input[data-v-1a63e6f1]{width:7.5rem;padding:.3rem .5rem}.range-input[data-v-1a63e6f1]{width:3.5rem;padding:.3rem .5rem}.rule-note[data-v-1a63e6f1]{min-width:14rem;padding:.3rem .5rem}.error-text[data-v-1a63e6f1]{color:var(--md-error,#b3261e)}.stock-row>td[data-v-1a63e6f1]{background:color-mix(in srgb, var(--md-primary,#2563eb) 4%, transparent)}.stock-block[data-v-1a63e6f1]{flex-wrap:wrap;align-items:center;gap:.9rem;padding:.3rem 0;display:flex}.stock-mutations[data-v-1a63e6f1]{margin:.15rem 0 .3rem;padding:0;list-style:none}.stock-mutations li[data-v-1a63e6f1]{padding:.1rem 0}.gate-page[data-v-5a48d24b]{max-width:30rem;margin:0 auto;padding:1.2rem;font-size:1.05rem}.gate-top[data-v-5a48d24b]{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.gate-page h1[data-v-5a48d24b]{margin:0 0 .8rem;font-size:1.3rem}.gate-lang[data-v-5a48d24b]{gap:.25rem;display:flex}.gate-lang button[data-v-5a48d24b]{border:1px solid var(--md-outline-variant,#cac4d0);cursor:pointer;background:0 0;border-radius:.4rem;padding:.3rem .55rem;font-size:.8rem;font-weight:600}.gate-lang button.active[data-v-5a48d24b]{background:var(--md-primary,#2563eb);color:#fff;border-color:#0000}.gate-hint[data-v-5a48d24b]{opacity:.75;font-size:.9rem}.gate-ref[data-v-5a48d24b]{margin:.2rem 0 .6rem}.gate-input[data-v-5a48d24b]{box-sizing:border-box;border:1px solid var(--md-outline-variant,#cac4d0);border-radius:.5rem;width:100%;margin:.5rem 0;padding:.7rem .8rem;font-size:1.05rem;display:block}.gate-btn[data-v-5a48d24b]{cursor:pointer;background:var(--md-primary,#2563eb);color:#fff;border:none;border-radius:.5rem;width:100%;padding:.8rem;font-size:1.05rem;display:block}.gate-btn[data-v-5a48d24b]:disabled{opacity:.5}.gate-lines[data-v-5a48d24b]{margin:.6rem 0}.gate-line[data-v-5a48d24b]{border-bottom:1px solid var(--md-outline-variant,#cac4d0);align-items:flex-start;gap:.6rem;padding:.5rem 0;display:flex}.gate-line-info[data-v-5a48d24b]{flex-direction:column;gap:.1rem;min-width:0;display:flex}.gate-line-desc[data-v-5a48d24b]{overflow-wrap:anywhere;font-weight:600}.gate-qty[data-v-5a48d24b]{text-align:center;border:1px solid var(--md-outline-variant,#cac4d0);border-radius:.5rem;flex:none;width:4.2rem;padding:.55rem .4rem;font-size:1.15rem}.gate-done[data-v-5a48d24b]{background:#16a34a1f;border-radius:.5rem;padding:.6rem .8rem;font-weight:600}.gate-error[data-v-5a48d24b]{color:var(--md-error,#b3261e);font-weight:600}.diff-under[data-v-fcc92780]{color:var(--color-bad-ink);font-weight:600}.diff-over[data-v-fcc92780]{color:var(--color-good-ink)}.progress-list[data-v-9f81a63e]{flex-direction:column;gap:1rem;display:flex}.progress-project[data-v-9f81a63e]{border-bottom:1px solid var(--color-divider);padding-bottom:.75rem}.progress-project[data-v-9f81a63e]:last-child{border-bottom:none;padding-bottom:0}.progress-project-name[data-v-9f81a63e]{margin-bottom:.35rem;font-weight:600}.progress-bar-row[data-v-9f81a63e]{grid-template-columns:7rem 1fr auto;align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:.85rem;display:grid}.progress-bar-label[data-v-9f81a63e]{color:var(--md-outline);white-space:nowrap}.progress-bar-track[data-v-9f81a63e]{background:var(--md-surface-container-high);border-radius:999px;height:.6rem;overflow:hidden}.progress-bar-fill[data-v-9f81a63e]{border-radius:999px;height:100%}.progress-bar-fill.calc[data-v-9f81a63e]{background:var(--md-outline-variant,#cac4d0)}.progress-bar-fill.logged[data-v-9f81a63e]{background:var(--md-primary)}.progress-bar-fill.logged.over[data-v-9f81a63e]{background:var(--color-bad)}.progress-bar-fill.progress[data-v-9f81a63e]{background:var(--color-good)}.progress-bar-value[data-v-9f81a63e]{white-space:nowrap;text-align:right;min-width:3.5rem}.progress-m2-hint[data-v-9f81a63e]{color:var(--md-outline);margin:.25rem 0 0;font-size:.8rem}.uren-layout[data-v-5a2629ab]{grid-template-columns:1fr 1fr;align-items:start;gap:1rem;display:grid}@media (width<=1200px){.uren-layout[data-v-5a2629ab]{grid-template-columns:1fr}}.uren-side[data-v-5a2629ab]{flex-direction:column;gap:1rem;min-width:0;display:flex}.uren-grid-wrap[data-v-5a2629ab]{overflow-x:auto}.uren-grid[data-v-5a2629ab]{min-width:60rem}.uren-grid th[data-v-5a2629ab],.uren-grid td[data-v-5a2629ab]{text-align:center;vertical-align:middle}.uren-grid th[data-v-5a2629ab]:first-child,.uren-grid th[data-v-5a2629ab]:nth-child(2),.uren-grid th[data-v-5a2629ab]:nth-child(3),.uren-grid td[data-v-5a2629ab]:first-child,.uren-grid td[data-v-5a2629ab]:nth-child(2),.uren-grid td[data-v-5a2629ab]:nth-child(3){text-align:left}.hours-input[data-v-5a2629ab]{text-align:center;width:3.5rem}.note-input[data-v-5a2629ab]{width:8rem}.proposals[data-v-5a2629ab]{border:1px solid var(--color-border,#e3e3e3);background:var(--md-surface-container-low,#f7f7f7);border-radius:6px;margin-top:.8rem;padding:.55rem .8rem}.proposals-table td[data-v-5a2629ab],.proposals-table th[data-v-5a2629ab]{text-align:left}.proposals-table tr.taken td[data-v-5a2629ab]{color:var(--md-outline,#79747e)}.proposals-table .dev-ok[data-v-5a2629ab]{color:#1f6b2f}.proposals-table .dev-off[data-v-5a2629ab]{color:#8a1c1c}.proposals-table button.small[data-v-5a2629ab]{padding:.1rem .5rem;font-size:.8rem}.price-change-banner[data-v-c972609d]{border-radius:var(--md-radius-m,10px);background:#fef4f4;border:1px solid #e3484833;margin-bottom:1rem;padding:.9rem 1rem}.banner-head[data-v-c972609d]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.warn-icon[data-v-c972609d]{color:#d33}.count-badge[data-v-c972609d]{color:#fff;background:#d33;border-radius:999px;padding:.1rem .5rem;font-size:.7rem;font-weight:700}.new-price[data-v-c972609d]{color:#c22}.pct-chip[data-v-c972609d]{border:1px solid;border-radius:999px;padding:.1rem .5rem;font-size:.72rem}.pct-chip.up[data-v-c972609d],.pct-chip.down[data-v-c972609d]{color:#1a7a3a;background:#edf9f0;border-color:#1a7a3a55}.reveal-head[data-v-eb4f481d]{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.reveal-head h5[data-v-eb4f481d]{margin:0;font-size:.85rem}.reveal-card[data-v-eb4f481d]{border:1px solid var(--border-soft,#e3e3e3);border-radius:6px;flex-direction:column;gap:.4rem;margin-top:.45rem;padding:.5rem .6rem;display:flex}.reveal-row[data-v-eb4f481d]{align-items:center;gap:.4rem;display:flex}.reveal-sides[data-v-eb4f481d]{flex-wrap:wrap;gap:.7rem;display:flex}.side-check[data-v-eb4f481d]{flex-direction:row;align-items:center;gap:.25rem;font-size:.8rem;display:flex}.reveal-grid[data-v-eb4f481d]{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.45rem;display:grid}.reveal-grid label[data-v-eb4f481d]{flex-direction:column;gap:.15rem;font-size:.8rem;display:flex}.accessories-block[data-v-d1f26b42]{border-top:1px solid var(--border-soft,#e3e3e3);margin-top:.8rem;padding-top:.6rem}.accessories-head[data-v-d1f26b42]{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.accessories-head h4[data-v-d1f26b42]{margin:0}.template-select[data-v-d1f26b42]{max-width:13rem}.head-actions[data-v-d1f26b42],.acc-row[data-v-d1f26b42]{align-items:center;gap:.4rem;display:flex}.accessory-card[data-v-d1f26b42]{border:1px solid var(--border-soft,#e3e3e3);border-radius:6px;flex-direction:column;gap:.45rem;margin-top:.55rem;padding:.55rem .6rem;display:flex}.acc-grid[data-v-d1f26b42]{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.acc-grid.two[data-v-d1f26b42]{grid-template-columns:repeat(2,minmax(0,1fr))}.acc-grid label[data-v-d1f26b42],.accessory-card>label[data-v-d1f26b42]{flex-direction:column;gap:.15rem;font-size:.8rem;display:flex}.sides-head[data-v-ac96e357]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.apply-all[data-v-ac96e357]{white-space:nowrap;align-items:center;gap:.3rem;font-size:.8rem;display:flex}.sides-head[data-v-e2152b6b]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.apply-all[data-v-e2152b6b]{white-space:nowrap;align-items:center;gap:.3rem;font-size:.8rem;display:flex}.panel-cross-section svg[data-v-57097a89]{display:block}.cs-dir[data-v-57097a89]{fill:var(--md-on-surface-variant,#6b6b70);text-transform:uppercase;letter-spacing:.04em;font-size:8px}.cs-band[data-v-57097a89]{stroke:#a86f2e;stroke-width:1px}.cs-plate[data-v-57097a89]{fill:var(--md-surface,#fff);stroke:#2f6da8}.cs-foil[data-v-57097a89]{fill:#b9c4ce;stroke:#7d8a95}.cs-batten[data-v-57097a89]{fill:#d99c52}.cs-cladding[data-v-57097a89]{fill:#c8863c}.cs-insulation[data-v-57097a89]{fill:#f3e2a6;stroke:#a86f2e;stroke-width:1px}.cs-stud[data-v-57097a89]{fill:#c8863c;stroke:#a86f2e;stroke-width:.5px}.cs-label[data-v-57097a89]{fill:var(--md-on-surface,#1a1a1a);dominant-baseline:middle;font-size:8px}.cs-sub[data-v-57097a89]{fill:var(--md-on-surface-variant,#6b6b70);dominant-baseline:middle;font-size:7px}.detail-head[data-v-0fd50c43]{background:var(--md-surface-container,#f5f3f7);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0;padding:.6rem .8rem;display:flex}.head-actions[data-v-0fd50c43]{align-items:center;gap:.3rem;margin-left:auto;display:flex}.opening-head-actions[data-v-0fd50c43]{align-items:center;gap:.3rem;display:flex}.calc-breadcrumb[data-v-0fd50c43]{color:var(--md-on-surface-variant,#6b6b6b);align-items:center;gap:.35rem;margin-bottom:.75rem;font-size:.9rem;display:flex}.calc-breadcrumb a[data-v-0fd50c43]{color:var(--md-primary,#1976d2);text-decoration:none}.calc-breadcrumb a[data-v-0fd50c43]:hover{text-decoration:underline}.dashboard-grid[data-v-0fd50c43]{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:1rem;display:grid}@media (width<=1100px){.dashboard-grid[data-v-0fd50c43]{grid-template-columns:1fr}}.dashboard-controls[data-v-0fd50c43]{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.75rem 0 .6rem;display:flex}.quotation-rows[data-v-0fd50c43]{flex-direction:column;gap:.5rem;display:flex}.quotation-row[data-v-0fd50c43],.subproject-card[data-v-0fd50c43]{border:1px solid var(--md-outline-variant,#e0e0e0);background:var(--md-surface,#fff);cursor:pointer;border-radius:10px;align-items:center;gap:.7rem;padding:.7rem .9rem;display:flex}.quotation-row[data-v-0fd50c43]:hover,.quotation-row[data-v-0fd50c43]:focus-visible,.subproject-card[data-v-0fd50c43]:hover,.subproject-card[data-v-0fd50c43]:focus-visible{border-color:var(--md-primary,#1976d2)}.q-icon[data-v-0fd50c43]{background:var(--md-primary-container,#e3ecf9);width:2.2rem;height:2.2rem;color:var(--md-primary,#1976d2);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.q-main[data-v-0fd50c43]{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.q-main strong[data-v-0fd50c43]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.subproject-grid[data-v-0fd50c43]{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:.6rem;margin-bottom:.75rem;display:grid}.summary-tiles[data-v-0fd50c43],.analysis-tiles[data-v-0fd50c43]{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem;display:grid}.analysis-tiles[data-v-0fd50c43]{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-charts[data-v-0fd50c43]{grid-template-columns:1fr;gap:.8rem;margin-top:.8rem;display:grid}.summary-tiles .stat-tile .hint[data-v-0fd50c43],.analysis-tiles .stat-tile .hint[data-v-0fd50c43]{margin-top:.15rem;display:block}.chart-box h4[data-v-0fd50c43]{margin:0 0 .4rem}.line-chart[data-v-0fd50c43]{width:100%;max-width:26rem;height:auto}.chart-line[data-v-0fd50c43]{stroke:var(--md-primary,#1976d2);stroke-width:2px;stroke-linejoin:round}.chart-dot[data-v-0fd50c43]{fill:var(--md-primary,#1976d2)}.chart-baseline[data-v-0fd50c43]{stroke:var(--md-outline-variant,#e0e0e0);stroke-width:1px}.chart-tick[data-v-0fd50c43]{fill:var(--md-on-surface-variant,#6b6b6b);font-size:8px}.donut-wrap[data-v-0fd50c43]{align-items:center;gap:1rem;display:flex}.donut[data-v-0fd50c43]{flex-shrink:0;width:8.5rem;height:8.5rem}.donut-track[data-v-0fd50c43]{stroke:var(--md-surface-container,#f0eef2)}.donut-legend[data-v-0fd50c43]{flex-direction:column;gap:.35rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.donut-legend .dot[data-v-0fd50c43]{vertical-align:-1px;border-radius:50%;width:.7rem;height:.7rem;margin-right:.35rem;display:inline-block}.split-view[data-v-0fd50c43]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem;margin-top:.6rem;display:grid}@media (width<=1100px){.split-view[data-v-0fd50c43]{grid-template-columns:1fr}}.split-right[data-v-0fd50c43]{position:sticky;top:1rem}.quote-info-grid[data-v-0fd50c43]{grid-template-columns:auto 1fr;gap:.25rem .9rem;margin:0;font-size:.88rem;display:grid}.quote-info-grid dt[data-v-0fd50c43]{color:var(--md-on-surface-variant,#6b6b6b)}.quote-info-grid dd[data-v-0fd50c43]{margin:0}.detail-pane-head[data-v-0fd50c43]{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.inline-actions[data-v-0fd50c43]{align-items:center;gap:.35rem;display:flex}tr.clickable.selected td[data-v-0fd50c43]{background:color-mix(in srgb, var(--md-primary,#1976d2) 8%, transparent)}.element-detail h5[data-v-0fd50c43],.detail-cell h5[data-v-0fd50c43]{margin:.8rem 0 .35rem;font-size:.85rem}.layer-stack[data-v-0fd50c43]{margin:.2rem 0 0;padding-left:1.2rem;font-size:.85rem}.layer-stack li[data-v-0fd50c43]{margin-bottom:.15rem}.piece-total[data-v-0fd50c43]{margin:.6rem 0 0;font-size:.95rem}.chips-row[data-v-0fd50c43]{flex-wrap:wrap;gap:.4rem;margin:.25rem 0 .5rem;display:flex}.warning-banner[data-v-0fd50c43]{border:1px solid var(--warn-border,#e6c34a);background:var(--warn-bg,#fdf6dd);border-radius:8px;margin-bottom:.75rem;padding:.6rem .8rem;font-size:.85rem}.warning-banner ul[data-v-0fd50c43]{margin:.3rem 0 0;padding-left:1.1rem}.split-tag[data-v-0fd50c43]{border-radius:var(--md-radius-full,999px);background:var(--md-primary-container,#e3ecf9);color:var(--md-on-primary-container,#274a78);white-space:nowrap;margin-left:.4rem;padding:.05rem .45rem;font-size:.72rem;display:inline-block}.split-tag.danger[data-v-0fd50c43]{color:#8f2318;background:#fbe4e2}.split-warning-text[data-v-0fd50c43]{color:#8f2318;display:block}.compare-block[data-v-0fd50c43]{border:1px solid var(--md-outline-variant,#e0e0e0);border-radius:8px;margin-top:.5rem;padding:.6rem .7rem}.delta-up[data-v-0fd50c43]{color:var(--md-error,#b3261e);font-weight:600}.delta-down[data-v-0fd50c43]{color:var(--ok-green,#1b7f3b);font-weight:600}.win-tpl-select[data-v-0fd50c43]{max-width:12rem;font-size:.8rem}.super-link a[data-v-0fd50c43]{color:var(--md-primary,#1976d2);text-decoration:none}.floor[data-v-057b67a4]{flex-direction:column;gap:1rem;display:flex}.floor-head[data-v-057b67a4]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.floor-head h2[data-v-057b67a4]{margin:0}.floor-actions[data-v-057b67a4]{align-items:center;gap:.75rem;display:flex}.floor-actions label.inline[data-v-057b67a4]{align-items:center;gap:.4rem;font-size:.8rem;display:flex}.floor-actions select[data-v-057b67a4]{width:auto}.hint[data-v-057b67a4]{color:var(--md-on-surface-variant);margin:.2rem 0 0}.err[data-v-057b67a4]{color:var(--color-bad-ink)}.flow[data-v-057b67a4]{align-items:stretch;gap:.4rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.arrow[data-v-057b67a4]{color:var(--md-outline);flex-shrink:0;align-self:center;font-size:1.1rem}.zone[data-v-057b67a4]{border:1px solid var(--color-divider);border-radius:var(--md-radius-m);background:var(--md-surface-dim);flex-direction:column;flex:none;gap:.4rem;min-width:150px;max-width:240px;padding:.5rem;display:flex}.zone-station[data-v-057b67a4]{background:var(--md-surface);border-color:var(--md-outline)}.zone-queue[data-v-057b67a4]{border-style:dashed}.zone-ready[data-v-057b67a4]{background:var(--color-good-tint);border-color:var(--color-good)}.zone-floating[data-v-057b67a4]{border-style:dotted}.assign[data-v-057b67a4]{width:100%;font-size:.72rem}.sync-msg[data-v-057b67a4]{margin:0}.sync-summary[data-v-057b67a4]{color:var(--md-on-surface-variant);border-left:3px solid var(--md-outline-variant);padding-left:.6rem;font-size:.8rem}.sync-summary p[data-v-057b67a4]{margin:.15rem 0}.sync-summary.warn[data-v-057b67a4]{border-left-color:var(--color-warn-ink);color:var(--color-warn-ink)}.zone-title[data-v-057b67a4]{text-transform:uppercase;letter-spacing:.06em;color:var(--md-on-surface-variant);justify-content:space-between;gap:.5rem;font-size:.7rem;display:flex}.cnt[data-v-057b67a4]{color:var(--md-on-surface);font-weight:700}.chips[data-v-057b67a4]{flex-direction:column;gap:.3rem;max-height:320px;display:flex;overflow-y:auto}.chip[data-v-057b67a4]{border-radius:var(--md-radius-s);background:var(--md-surface);border-left:3px solid var(--md-outline);box-shadow:var(--md-shadow-1);flex-direction:column;padding:.3rem .45rem;line-height:1.2;display:flex}.chip b[data-v-057b67a4]{font-size:.8rem}.chip .badge[data-v-057b67a4]{color:var(--md-on-surface-variant);margin-left:.3rem;font-size:.65rem;font-weight:600}.chip small[data-v-057b67a4]{color:var(--md-on-surface-variant);font-size:.68rem}.chip.working[data-v-057b67a4]{border-left-color:var(--md-primary)}.chip.transit[data-v-057b67a4]{border-left-style:dashed}.chip.done[data-v-057b67a4]{border-left-color:var(--color-good)}.chip.queued[data-v-057b67a4]{border-left-color:var(--md-outline-variant)}.rack[data-v-057b67a4]{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);background:var(--md-surface-dim);flex-direction:column;gap:.25rem;padding:.3rem;display:flex}.rack.derived[data-v-057b67a4]{border-style:dashed}.rack.unracked[data-v-057b67a4]{border-color:var(--color-warn-ink)}.rack-head[data-v-057b67a4]{flex-direction:column;line-height:1.2;display:flex}.rack-head b[data-v-057b67a4]{font-size:.78rem}.rack-head small[data-v-057b67a4]{color:var(--md-on-surface-variant);font-size:.66rem}.chip .pos[data-v-057b67a4]{opacity:.8;margin-left:.35rem;font-family:ui-monospace,monospace}.chip .why[data-v-057b67a4]{color:var(--color-warn-ink);font-style:italic}.unracked-chip[data-v-057b67a4]{border-left-color:var(--color-warn-ink)}.pb[data-v-fd761116]{width:100%}.pb-svg[data-v-fd761116]{width:100%;height:auto;display:block}.pb-grid line[data-v-fd761116]{stroke:var(--color-divider);stroke-width:1px}.pb-grid text[data-v-fd761116],.pb-x[data-v-fd761116]{fill:var(--md-on-surface-variant);font-size:10px}.pb-legend[data-v-fd761116]{color:var(--md-on-surface-variant);gap:1rem;margin-bottom:.25rem;font-size:.75rem;display:flex}.pb-legend i[data-v-fd761116]{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:.3rem;display:inline-block}.pb-tip rect[data-v-fd761116]{fill:var(--md-secondary)}.pb-tip text[data-v-fd761116]{fill:var(--md-on-secondary);font-size:10px}.pdash[data-v-f5389e1a]{flex-direction:column;gap:1rem;display:flex}.pdash-head h2[data-v-f5389e1a]{margin:0}.hint[data-v-f5389e1a]{color:var(--md-on-surface-variant);margin:.2rem 0 0}.err[data-v-f5389e1a]{color:var(--color-bad-ink)}.filters[data-v-f5389e1a]{border:1px solid var(--color-divider);border-radius:var(--md-radius-m);background:var(--md-surface-dim);flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;padding:.75rem 1rem;display:flex}.filters label[data-v-f5389e1a]{text-transform:uppercase;letter-spacing:.04em;color:var(--md-on-surface-variant);flex-direction:column;gap:.25rem;font-size:.72rem;display:flex}.filters select[data-v-f5389e1a]{width:auto;min-width:9rem}.presets[data-v-f5389e1a]{flex-wrap:wrap;flex-basis:100%;gap:.35rem;display:flex}.grid2[data-v-f5389e1a]{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=900px){.grid2[data-v-f5389e1a]{grid-template-columns:1fr}}th.num[data-v-f5389e1a],td.num[data-v-f5389e1a]{text-align:right}table[data-v-f5389e1a]{margin-bottom:0}.board[data-v-99f1c245]{flex-direction:column;gap:.8rem;display:flex}.board-head[data-v-99f1c245]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.board-head h2[data-v-99f1c245]{margin:0}.board-actions[data-v-99f1c245]{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.board-actions label.inline[data-v-99f1c245]{align-items:center;gap:.35rem;font-size:.85rem;display:inline-flex}.board-actions .toggle input[data-v-99f1c245]{width:auto}.week-nav[data-v-99f1c245]{align-items:center;gap:.25rem;display:inline-flex}.week-title[data-v-99f1c245]{white-space:nowrap;margin-left:.4rem;font-size:.85rem}.missing[data-v-99f1c245]{border-radius:var(--md-radius-s);background:var(--color-warn-bg,#fff4e5);color:var(--color-warn-ink,#8a4b00);padding:.5rem .7rem;font-size:.85rem}.board-kpis .stat-tile.warn .stat-value[data-v-99f1c245]{color:var(--color-warn-ink,#8a4b00)}.week-row[data-v-99f1c245]{flex-direction:column;gap:.3rem;display:flex}.week-head[data-v-99f1c245]{align-items:baseline;gap:.8rem;padding:.1rem .2rem;display:flex}.week-head b[data-v-99f1c245]{font-size:.95rem}.week-head small[data-v-99f1c245]{color:var(--md-on-surface-variant)}.week-head small.over[data-v-99f1c245]{color:var(--color-bad,#c62828);font-weight:600}.missing[data-v-99f1c245]{flex-direction:column;gap:.35rem;display:flex}.missing-remedy[data-v-99f1c245]{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.days[data-v-99f1c245]{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:stretch;gap:.6rem;display:grid}.day[data-v-99f1c245]{background:var(--md-surface-container);border-radius:var(--md-radius-m);border:2px solid #0000;flex-direction:column;gap:.4rem;min-height:150px;padding:.5rem .55rem;display:flex}.day.today[data-v-99f1c245]{border-color:var(--md-primary)}.day.off[data-v-99f1c245]{opacity:.6;background:var(--md-surface-dim)}.day.drag-over[data-v-99f1c245]{border-color:var(--md-outline);border-style:dashed}.day-head[data-v-99f1c245]{flex-direction:column;line-height:1.2;display:flex}.day-head b[data-v-99f1c245]{text-transform:capitalize;font-size:.85rem}.day-head small[data-v-99f1c245]{color:var(--md-on-surface-variant);font-size:.7rem}.cap-bar[data-v-99f1c245]{background:var(--md-surface);border:1px solid var(--md-outline-variant);border-radius:4px;height:8px;overflow:hidden}.cap-fill[data-v-99f1c245]{background:var(--md-primary);height:100%;transition:width .2s}.day.over .cap-fill[data-v-99f1c245]{background:var(--color-bad,#c62828)}.slots[data-v-99f1c245]{flex-direction:column;flex:1;gap:.35rem;display:flex}.empty[data-v-99f1c245]{color:var(--md-on-surface-variant);text-align:center;padding:.6rem 0;font-size:.72rem}.slot[data-v-99f1c245]{border-radius:var(--md-radius-s);background:var(--md-surface);border-left:4px solid var(--md-outline);box-shadow:var(--md-shadow-1);flex-direction:column;padding:.35rem .5rem;line-height:1.25;display:flex;position:relative}.slot.movable[data-v-99f1c245]{cursor:grab}.slot.dragging[data-v-99f1c245]{opacity:.4}.slot.produuzit[data-v-99f1c245]{background:var(--md-primary-container)}.slot.over[data-v-99f1c245]{outline:1px solid var(--color-bad,#c62828)}.slot-top[data-v-99f1c245]{justify-content:space-between;align-items:baseline;gap:.3rem;display:flex}.slot b[data-v-99f1c245]{font-size:.82rem}.slot small[data-v-99f1c245]{color:var(--md-on-surface-variant);font-size:.7rem}.slot .proj[data-v-99f1c245]{color:var(--md-on-surface)}.flags[data-v-99f1c245]{gap:.15rem;font-size:.75rem;display:inline-flex}.flag.started[data-v-99f1c245]{color:var(--md-primary)}.flag.over[data-v-99f1c245]{color:var(--color-bad,#c62828)}.flag.spill[data-v-99f1c245]{color:var(--md-on-surface-variant);font-weight:700}.spill-in[data-v-99f1c245]{color:var(--md-on-surface-variant);border-bottom:1px dashed var(--md-outline-variant);flex-direction:column;padding:.1rem .2rem;font-size:.68rem;display:flex}.pieces[data-v-99f1c245]{border-top:1px dashed var(--md-outline-variant);flex-direction:column;gap:.1rem;margin:.3rem 0 0;padding:.25rem 0 0;list-style:none;display:flex}.pieces li[data-v-99f1c245]{grid-template-columns:1.4rem 1fr auto;gap:.3rem;font-size:.72rem;line-height:1.3;display:grid}.pieces li .idx[data-v-99f1c245]{color:var(--md-on-surface-variant)}.pieces li .hrs[data-v-99f1c245]{color:var(--md-on-surface-variant);white-space:nowrap}.pieces li.working .nm[data-v-99f1c245]{color:var(--md-primary);font-weight:600}.pieces li.over .nm[data-v-99f1c245]{color:var(--color-bad,#c62828)}.slot-tools[data-v-99f1c245]{gap:.1rem;display:none;position:absolute;bottom:.2rem;right:.25rem}.slot:hover .slot-tools[data-v-99f1c245]{display:inline-flex}.icon-btn[data-v-99f1c245]{background:var(--md-surface-container);border-radius:var(--md-radius-s);cursor:pointer;border:none;padding:.05rem .3rem;font-size:.75rem}.below[data-v-99f1c245]{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.6rem;display:grid}.chips[data-v-99f1c245]{flex-wrap:wrap;gap:.35rem;display:flex}.chip[data-v-99f1c245]{border-radius:var(--md-radius-s);background:var(--md-surface);border-left:3px solid var(--md-outline);box-shadow:var(--md-shadow-1);flex-direction:column;padding:.3rem .45rem;line-height:1.2;display:flex}.chip b[data-v-99f1c245]{font-size:.8rem}.chip small[data-v-99f1c245]{color:var(--md-on-surface-variant);font-size:.68rem}.chip.unracked[data-v-99f1c245]{border-left-style:dashed}.legend[data-v-99f1c245]{flex-wrap:wrap;gap:1rem;margin:0;font-size:.75rem;display:flex}.preview-dialog[data-v-99f1c245]{max-width:640px}.preview-group ul[data-v-99f1c245]{margin:.2rem 0 .6rem;padding-left:1.2rem;font-size:.85rem}.preview-group .over[data-v-99f1c245],.warn-line[data-v-99f1c245]{color:var(--color-bad,#c62828)}.dialog-actions[data-v-99f1c245]{justify-content:flex-end;gap:.5rem;margin-top:.8rem;display:flex}.board.readonly .day[data-v-99f1c245]{min-height:220px}.board.readonly .slot b[data-v-99f1c245]{font-size:1.05rem}.board.readonly .slot small[data-v-99f1c245]{font-size:.85rem}.board.readonly .pieces li[data-v-99f1c245]{font-size:.9rem}.board.readonly .spill-in[data-v-99f1c245]{font-size:.8rem}.board.readonly .day-head b[data-v-99f1c245]{font-size:1rem}.board.readonly .day-head small[data-v-99f1c245]{font-size:.85rem}.login-screen{text-align:center;border:1px solid var(--color-divider);background-image:var(--corner-marks);background-repeat:no-repeat;background-size:var(--corner-mark-size);background-position:var(--corner-mark-position);max-width:420px;margin:15vh auto 0;padding:2.75rem 2rem}.login-screen h1{text-transform:uppercase}.login-screen .subtitle{color:var(--md-on-surface-variant);margin-bottom:2rem}.login-btn{border:1px solid var(--md-primary);background:var(--md-primary);width:100%;color:var(--md-on-primary);text-transform:uppercase;letter-spacing:.03em;cursor:pointer;border-radius:0;padding:.7rem 1.4rem;font-size:.9rem;font-weight:600}.login-btn:hover{background:color-mix(in srgb, var(--md-primary) 82%, black)}.auth-error{color:var(--color-bad-ink);margin-top:1rem}.user-chip{color:var(--md-on-surface-variant);padding:0 .5rem;font-size:.85rem}.logout-btn{cursor:pointer}.brand-wrap{position:relative}.brand,.brand-btn{align-items:center;gap:.65rem;display:flex}.brand-btn{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:0;margin:-.15rem -.4rem;padding:.15rem .4rem}.brand-btn:hover{background:var(--md-surface-container-high)}.company-logo{object-fit:contain;border:1px solid var(--color-divider);border-radius:0;width:2.1rem;height:2.1rem}.company-logo.small{width:1.5rem;height:1.5rem}.switch-chevron{color:var(--md-outline);font-size:.75rem}.dropdown-backdrop{z-index:40;background:0 0;position:fixed;inset:0}.company-switcher{z-index:41;background-color:var(--md-surface);border:1px solid var(--color-divider);box-shadow:var(--md-shadow-2);background-image:var(--corner-marks);background-repeat:no-repeat;background-size:var(--corner-mark-size);background-position:var(--corner-mark-position);border-radius:0;min-width:220px;max-height:60vh;padding:.5rem;position:absolute;top:calc(100% + .4rem);left:0;overflow-y:auto}.switcher-hint{margin:.2rem .5rem .5rem}.switcher-item{text-align:left;cursor:pointer;width:100%;color:var(--md-on-surface);background:0 0;border:none;border-radius:0;align-items:center;gap:.5rem;padding:.45rem .5rem;font-size:.9rem;display:flex}.switcher-item:hover{background:var(--md-surface-container-high)}.switcher-item.active{background:var(--md-primary-container);color:var(--md-on-primary-container);font-weight:600}.switcher-reset{border-top:1px solid var(--color-divider);color:var(--md-primary);margin-top:.3rem;padding-top:.6rem}.logo-placeholder{background:var(--md-primary-container);width:1.5rem;height:1.5rem;color:var(--md-on-primary-container);border-radius:0;flex:none;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}:root{--md-primary:#2f6da8;--md-on-primary:#fff;--md-primary-container:#dceafc;--md-on-primary-container:#1c4b73;--md-secondary:#2b2b2d;--md-on-secondary:#f2f2f3;--md-accent:#3d8bd1;--md-accent-container:#e8f3ff;--md-error:oklch(58% .16 29);--md-error-container:oklch(93% .05 29);--md-on-error-container:oklch(34% .13 29);--md-info:#2f6da8;--md-info-container:#dceafc;--md-success:oklch(58% .11 150);--md-success-container:oklch(93% .045 150);--md-surface:#fff;--md-surface-dim:#f4f5f7;--md-surface-container:#eef0f3;--md-surface-container-high:#d9dce1;--md-on-surface:#1d1f20;--md-on-surface-variant:#5d5d60;--md-outline:#98989b;--md-outline-variant:#1d1f2029;--md-shadow-1:0 1px 3px #1d1f2014;--md-shadow-2:0 4px 16px #1d1f201f;--md-radius-s:6px;--md-radius-m:10px;--md-radius-l:14px;--md-radius-full:999px;--color-good:oklch(58% .11 150);--color-good-ink:oklch(32% .09 150);--color-good-tint:oklch(93% .045 150);--color-warn-ink:oklch(38% .09 70);--color-warn-tint:oklch(94% .05 85);--color-bad:oklch(58% .16 29);--color-bad-ink:oklch(34% .13 29);--color-bad-tint:oklch(93% .05 29);--color-purple:oklch(62% .08 300);--color-purple-ink:oklch(34% .07 300);--color-purple-tint:oklch(93% .03 300);--color-divider:#1d1f201f;color:var(--md-on-surface);background:var(--md-surface-dim);font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--md-surface-dim);margin:0}h1,h2,h3,h4,.nav-brand,.settings-tabs button,.nav-tabs button,form.inline button,.plan-form button,.primary-btn,button.ghost,.ghost.import-btn{font-weight:600}button:focus-visible,a:focus-visible,[tabindex]:focus-visible,tr.clickable:focus-visible,.kanban-card:focus-visible,.mini-list li.clickable-li:focus-visible{outline:2px solid var(--md-primary);outline-offset:2px}#app{width:100%;margin:0;padding:1.25rem 1.75rem}header.app-header{border-bottom:1px solid var(--color-divider);box-shadow:none;background:0 0;border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.85rem 0 1rem;display:flex}h1{letter-spacing:.02em;color:var(--md-secondary);margin:0;font-size:1.4rem}h2{margin-top:0;font-size:1.05rem}p.subtitle{color:var(--md-on-surface-variant);margin:.1rem 0 0;font-size:.85rem}.nav-tabs{align-items:center;gap:.25rem;display:flex}.nav-tabs button{border-radius:var(--md-radius-full);cursor:pointer;color:var(--md-on-surface);background:0 0;border:none;padding:.5rem 1rem;font-size:.82rem;transition:color .15s,background-color .15s}.nav-tabs button:hover{background:var(--md-surface-container);color:var(--md-primary)}.nav-tabs button.active{background:var(--md-primary-container);color:var(--md-on-primary-container)}.nav-tabs .star-btn{color:var(--md-outline);padding:.4rem .5rem;font-size:1rem}.nav-tabs .star-btn.active,.nav-tabs .star-btn:hover{color:var(--md-accent);background:0 0}.nav-tabs .staff-tab{color:#6d28d9;border:1px solid #c4b5fd;border-radius:999px;margin-left:auto;padding:.4rem .8rem}.nav-tabs .staff-tab:hover{color:#5b21b6;background:#f5f3ff}.nav-tabs .staff-tab.active{color:#5b21b6;background:#ede9fe;border-color:#a78bfa}.header-actions{align-items:center;gap:.75rem;display:flex}.locale-switch{border:1px solid var(--color-divider);border-radius:var(--md-radius-full);display:flex;overflow:hidden}.locale-switch button{cursor:pointer;color:var(--md-on-surface-variant);background:0 0;border:none;padding:.35rem .8rem;font-size:.75rem;font-weight:600}.locale-switch button.active{background:var(--md-primary);color:var(--md-on-primary)}.gear-btn{border:1px solid var(--color-divider);border-radius:var(--md-radius-full);cursor:pointer;width:2.4rem;height:2.4rem;color:var(--md-on-surface-variant);background:0 0;font-size:1.1rem}.gear-btn:hover{color:var(--md-primary);border-color:var(--md-primary)}.gear-btn.active{background:var(--md-primary);color:var(--md-on-primary);border-color:var(--md-primary)}.page-head{margin-bottom:.75rem}.back-btn{border:1px solid var(--color-divider);border-radius:var(--md-radius-s);cursor:pointer;color:var(--md-primary);background:0 0;padding:.4rem 1rem;font-weight:600}.status{border-radius:var(--md-radius-m);border:1px solid var(--color-divider);margin:0 0 1rem;padding:.55rem 1rem;font-size:.85rem}.status.online{background:var(--color-good-tint);color:var(--color-good-ink);border-color:#0000}.status.offline{background:var(--color-bad-tint);color:var(--color-bad-ink);border-color:#0000}.status.checking{background:var(--color-warn-tint);color:var(--color-warn-ink);border-color:#0000}section.card{background-color:var(--md-surface);border:1px solid var(--color-divider);border-radius:var(--md-radius-l);box-shadow:var(--md-shadow-1);margin-bottom:1.25rem;padding:1.25rem 1.5rem}.card-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.card-header .card-header-text{align-items:flex-start;gap:.6rem;display:flex}.card-header .card-icon{color:var(--md-primary);flex-shrink:0;margin-top:.1rem}.card-header h3{margin:0;font-size:1rem}.card-header p.subtitle{margin:.15rem 0 0}.card-header .card-header-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.kpi-row{flex-wrap:wrap;gap:.75rem;display:flex}.stat-tile{border:1px solid var(--color-divider);border-radius:var(--md-radius-m);background:var(--md-surface-dim);flex:8rem;min-width:8rem;padding:.75rem .9rem}.stat-tile.highlight{background:var(--md-primary-container);border-color:var(--md-primary)}.stat-tile .stat-label{color:var(--md-on-surface-variant);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.35rem;font-size:.72rem;display:flex}.stat-tile .stat-value{margin-top:.3rem;font-size:1.3rem;font-weight:700}.stat-tile .stat-value small{color:var(--md-on-surface-variant);font-size:.7rem;font-weight:500}.stat-tile.highlight .stat-value{color:var(--md-on-primary-container)}.stat-tile .stat-sub{color:var(--md-on-surface-variant);margin-top:.2rem;font-size:.7rem}table{border-collapse:collapse;width:100%;margin-bottom:1rem}th,td{text-align:left;border-bottom:1px solid var(--color-divider);padding:.55rem .65rem}th{text-transform:uppercase;letter-spacing:.08em;color:var(--md-on-surface-variant);border-bottom:1px solid var(--md-outline);font-size:.68rem;font-weight:600}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--md-surface-container)}td.chevron{color:var(--md-outline);width:1.5rem}td.detail-cell{background:var(--md-surface-container);border-radius:var(--md-radius-s);padding:1rem 1.25rem}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea){color:var(--md-on-surface);background:var(--md-surface);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);padding:.35rem .5rem;font-family:inherit;font-size:.85rem}:where(input,select,textarea):focus-visible{outline:2px solid var(--md-primary);outline-offset:-1px;border-color:#0000}form.inline{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}form.inline input,form.inline select{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);background:var(--md-surface);color:var(--md-on-surface);padding:.5rem .75rem;font-size:.9rem}form.inline input:focus,form.inline select:focus{outline:2px solid var(--md-primary);outline-offset:-1px;border-color:#0000}form.inline input.narrow{width:8rem}form.inline input[type=number]{width:6.5rem}form.inline button,.plan-form button,.primary-btn{border:1px solid var(--md-primary);border-radius:var(--md-radius-s);background:var(--md-primary);color:var(--md-on-primary);cursor:pointer;box-shadow:none;padding:.5rem 1.3rem;font-size:.8rem}form.inline button:hover:not(:disabled),.plan-form button:hover:not(:disabled),.primary-btn:hover{background:color-mix(in srgb, var(--md-primary) 82%, black)}form.inline button:disabled,.plan-form button:disabled{background:var(--md-outline-variant);border-color:var(--md-outline-variant);color:var(--md-on-surface-variant);box-shadow:none;cursor:not-allowed}.empty{color:var(--md-on-surface-variant);font-style:italic}.hint{color:var(--md-on-surface-variant);font-size:.78rem}.plan-form h3{margin:0 0 .75rem;font-weight:500}.plan-controls{flex-wrap:wrap;align-items:flex-end;gap:1.5rem;margin-bottom:.75rem;display:flex}.plan-controls label{color:var(--md-on-surface-variant);flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.plan-controls select,.plan-controls input[type=date],.plan-controls .di-input{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);background:var(--md-surface);padding:.45rem .6rem}fieldset.direction{border:none;gap:1rem;margin:0;padding:0;display:flex}fieldset.direction label{flex-direction:row;align-items:center;gap:.35rem}.plan-phases{margin-bottom:1rem}.plan-phases .hint{margin:.25rem 0 .5rem}.phase-toggle{align-items:center;gap:.5rem;padding:.15rem 0;display:flex}.phase-toggle .sub{padding-left:1rem}.phase-toggle small{color:var(--md-outline)}.phase-table input[type=date],.phase-table .di-input,.phase-table select,.element-table select,tr.edit-row input,tr.edit-row select{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);background:var(--md-surface);padding:.3rem .45rem}tr.edit-row input,tr.edit-row select{width:100%}.phase-table td.sub{padding-left:1.75rem}.phase-table tr.inactive td{color:var(--md-outline)}.element-block{margin-top:1.25rem}.element-block h4{margin:0 0 .5rem;font-weight:500}.element-table .total-label{text-align:right;font-weight:600}.element-table .muted{color:var(--md-outline,#79747e);font-size:.85em}.cell-input{border-radius:var(--md-radius-s);background:0 0;border:1px solid #0000;max-width:9rem;padding:.3rem .45rem}.cell-input:hover,.cell-input:focus{border-color:var(--md-outline-variant);background:var(--md-surface)}.cell-input.num{max-width:5.5rem}.import-row{border-top:1px dashed var(--md-outline-variant);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.import-row select{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);background:var(--md-surface);padding:.4rem .55rem}.import-row button{border:1px solid var(--md-primary);border-radius:var(--md-radius-full);background:var(--md-surface);color:var(--md-primary);cursor:pointer;padding:.4rem 1.1rem;font-weight:500}.import-row button:disabled{border-color:var(--md-outline-variant);color:var(--md-outline);cursor:not-allowed}.import-result{color:var(--md-primary)}.icon-btn{border:1px solid var(--color-divider);border-radius:var(--md-radius-s);cursor:pointer;color:var(--md-on-surface-variant);background:0 0;justify-content:center;align-items:center;padding:.3rem .5rem;font-size:.8rem;display:inline-flex}form.inline button,.plan-form button,.primary-btn,button.ghost{align-items:center;gap:.35rem;display:inline-flex}td.chevron svg{vertical-align:middle}.pill-toggle{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-full);display:inline-flex;overflow:hidden}.pill-toggle button{cursor:pointer;color:var(--md-on-surface-variant);background:0 0;border:none;padding:.4rem .9rem;font-size:.8rem}.pill-toggle button.active{background:var(--md-primary);color:var(--md-on-primary)}.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}@media (width<=900px){.two-col{grid-template-columns:1fr}}.side-detail{border:1px solid var(--color-divider);border-radius:var(--md-radius-m);padding:.75rem .9rem}.form-card{border:1px solid var(--color-divider);border-radius:var(--md-radius-m);background:var(--md-surface);margin-bottom:.75rem;padding:.85rem 1rem}.form-card h4{margin:0 0 .6rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.form-grid label,.form-card label.stacked{color:var(--md-on-surface-variant);flex-direction:column;gap:.25rem;font-size:.78rem;display:flex}.form-card label.stacked{margin-top:.5rem}.form-grid .span2{grid-column:span 2}.preset-row{gap:.35rem;margin:.4rem 0 .2rem;display:flex}.preset-row button{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);background:var(--md-surface);cursor:pointer;padding:.25rem .65rem;font-size:.75rem}.preset-row button.active{background:var(--md-primary);color:var(--md-on-primary);border-color:var(--md-primary)}.layer-row{align-items:center;gap:.4rem;margin-bottom:.35rem;display:flex}.openings-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.openings-head h4{margin:0}.opening-card{border:1px solid var(--color-divider);border-radius:var(--md-radius-m);background:var(--md-surface-dim);margin-bottom:.75rem;padding:.75rem .9rem}.opening-card.selected{border-color:var(--md-primary)}.opening-card-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.opening-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.opening-grid label{color:var(--md-on-surface-variant);flex-direction:column;gap:.2rem;font-size:.72rem;display:flex}.opening-grid input{width:100%}.collapse-btn{border:none;border-top:1px solid var(--color-divider);width:100%;color:var(--md-on-surface-variant);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.3rem;margin-top:.6rem;padding:.35rem;font-size:.78rem;display:flex}.collapse-btn:hover{color:var(--md-primary)}.icon-btn:hover{border-color:var(--md-primary);color:var(--md-primary)}.icon-btn.danger:hover{border-color:var(--color-bad);color:var(--color-bad-ink)}.icon-btn.confirm{color:var(--color-good-ink)}.icon-btn:disabled{opacity:.4;cursor:default}.row-actions{white-space:normal;flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.row-actions>button,.row-actions>a{white-space:nowrap}.actions-col{width:9rem}.status-chip{border-radius:var(--md-radius-full);letter-spacing:.02em;background:var(--md-surface-container-high);color:var(--md-on-surface-variant);padding:.15rem .6rem;font-size:.72rem;font-weight:600;display:inline-block}.status-chip.planned{border:1px solid var(--md-primary);color:var(--md-primary);background:0 0}.status-chip.in_progress{background:var(--color-warn-tint);color:var(--color-warn-ink)}.status-chip.done{background:var(--color-good);color:var(--md-surface)}.status-chip.archived{background:var(--md-surface-container-high);color:var(--md-outline)}.status-chip.late{background:var(--color-bad);color:var(--md-surface)}.status-chip.new{background:var(--color-good);color:var(--md-surface)}.status-chip.price_changed{background:var(--color-warn-tint);color:var(--color-warn-ink)}.status-chip.alias{border:1px solid var(--md-primary);color:var(--md-primary);background:0 0}.status-chip.cancelled{background:var(--md-surface-container-high);color:var(--md-outline);text-decoration:line-through}.status-chip.stage-rfq{border:1px dashed var(--color-purple);color:var(--color-purple-ink);background:0 0}.status-chip.stage-provisional{background:var(--color-warn-tint);color:var(--color-warn-ink)}.status-chip.stage-definitive{border:1px solid var(--md-primary);color:var(--md-primary);background:0 0}.attachments{margin-top:.75rem}.attachments h4{margin:0 0 .3rem;font-weight:500}.attachment-list{margin:0 0 .4rem;padding:0;list-style:none}.attachment-list li{align-items:center;gap:.5rem;padding:.2rem 0;display:flex}.attach-row{align-items:center;gap:.5rem;display:flex}.attach-note{min-width:16rem}.attach-btn{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-full);cursor:pointer;padding:.35rem .8rem;font-size:.85rem;display:inline-block}.attach-btn:hover{border-color:var(--md-primary);color:var(--md-primary)}.receive-note{min-width:14rem}.cap-title{margin:.9rem 0 .2rem;font-weight:500}.cap-bar.quote{fill:#db2777;opacity:.55}.swatch.cap-swatch.quote{opacity:.55;background:#db2777}.cap-bar.paused{fill:#d97706}.swatch.cap-swatch.paused{background:#d97706}.paused-percent,.quote-percent{fill:#fff;font-size:.62rem;font-weight:600}.bar-percent{fill:var(--md-on-surface-variant);font-size:.62rem;font-weight:600}.quote-toggle{color:var(--md-on-surface-variant);cursor:pointer;align-items:center;gap:.35rem;font-size:.8rem;display:flex}.supplier-box{display:inline-block;position:relative}.supplier-box input{min-width:16rem}.supplier-list{z-index:30;background:var(--md-surface);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);box-shadow:var(--md-shadow-2);flex-direction:column;max-height:16rem;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.supplier-option{text-align:left;cursor:pointer;color:var(--md-on-surface);background:0 0;border:none;padding:.45rem .6rem;font-size:.85rem}.supplier-option:hover{background:var(--md-surface-container-high)}.entity-picker-box{display:inline-block;position:relative}.entity-picker-box input{min-width:16rem}.entity-picker-list{z-index:30;background:var(--md-surface);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);box-shadow:var(--md-shadow-2);flex-direction:column;max-height:16rem;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.entity-picker-option{text-align:left;cursor:pointer;color:var(--md-on-surface);background:0 0;border:none;padding:.45rem .6rem;font-size:.85rem}.entity-picker-option:hover{background:var(--md-surface-container-high)}.order-line-block{margin-bottom:.45rem}.order-line .cell-input.dim{max-width:6rem}.line-suggest{color:var(--md-on-surface-variant);align-items:center;gap:.6rem;margin:.1rem 0 0 .2rem;font-size:.8rem;display:flex}.receipts{margin-top:.75rem}.receipts h4{margin:0 0 .3rem;font-weight:500}.receipt-item{border-left:3px solid var(--md-outline-variant);margin-bottom:.5rem;padding:.25rem 0 .25rem .7rem}.receipt-head{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.receipt-lines{color:var(--md-on-surface-variant);margin:.15rem 0 0;padding:0;font-size:.85rem;list-style:none}.receipt-atts{flex-wrap:wrap;gap:.8rem;margin-top:.2rem;font-size:.85rem;display:flex}tr.cancelled td{color:var(--md-outline)}.order-line .cell-input.unit{max-width:4.5rem}.order-line .line-project{flex-shrink:0;max-width:11rem}.line-totals{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin:.3rem 0;display:flex}.line-totals strong{color:var(--md-on-surface);font-weight:600}.quote-chip{border-radius:var(--md-radius-s);background:var(--md-accent-container);color:var(--color-warn-ink);white-space:nowrap;padding:.15rem .6rem;font-size:.75rem;font-weight:500;display:inline-block}.line-chips{flex-wrap:wrap;align-items:center;gap:.3rem;margin-left:.5rem;display:flex}.line-chip{background:var(--md-primary-container);color:var(--md-on-primary-container);border-radius:var(--md-radius-s);align-items:center;gap:.25rem;padding:.1rem .45rem;font-size:.72rem;font-weight:500;display:inline-flex}.chip-x{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-size:.7rem}.chip-select{border:1px dashed var(--md-outline-variant);border-radius:var(--md-radius-s);background:var(--md-surface);color:var(--md-on-surface-variant);padding:.15rem .3rem;font-size:.72rem}.chip-pct{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);width:3.2rem;padding:.15rem .3rem;font-size:.72rem}.gantt-toolbar{margin-bottom:.75rem}.gantt-toolbar h2{margin-bottom:.6rem}.gantt-filters{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.gantt-filters label{text-transform:uppercase;letter-spacing:.05em;color:var(--md-on-surface-variant);flex-direction:column;gap:.2rem;font-size:.68rem;display:flex}.gantt-filters select,.gantt-filters input[type=date],.gantt-filters .di-input{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);color:var(--md-on-surface);background:var(--md-surface);text-transform:none;letter-spacing:normal;padding:.35rem .5rem;font-size:.85rem}button.ghost,.ghost.import-btn{border:1px solid var(--color-divider);color:var(--md-primary);cursor:pointer;background:0 0;border-radius:0;padding:.4rem .9rem;font-family:inherit;font-size:.75rem;text-decoration:none;display:inline-block}button.ghost:hover:not(:disabled),.ghost.import-btn:hover{border-color:var(--md-primary);background:color-mix(in srgb, var(--md-primary) 8%, transparent)}button.ghost:disabled{color:var(--md-outline);cursor:not-allowed}.toolbar-spacer{flex:1}.baseline-toggle{cursor:pointer;text-transform:none!important;letter-spacing:normal!important;color:var(--md-on-surface-variant)!important;flex-direction:row!important;align-items:center!important;gap:.35rem!important;font-size:.85rem!important;display:flex!important}.baseline-toggle input{accent-color:var(--md-primary)}.gantt-grid{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-m);overflow-x:auto}.gantt-row{border-bottom:1px solid var(--md-surface-container-high);grid-template-columns:33rem 2.6rem 1fr;align-items:stretch;min-height:2.1rem;display:grid}.gantt-row:last-child{border-bottom:none}.gantt-row.kind-project{background:var(--md-surface-container)}.gantt-row.kind-project .gantt-label{font-weight:600}.gantt-row.kind-group .gantt-label{color:var(--md-on-surface-variant);font-weight:500}.gantt-row.kind-phase{font-size:.85rem}.gantt-row.kind-group,.gantt-row.kind-phase{min-height:2.2rem}.gantt-row:hover .gantt-track{background:var(--md-surface-container)}.gantt-label{border-right:1px solid var(--md-outline-variant);white-space:nowrap;align-items:center;gap:.15rem;padding:.25rem .5rem;font-size:.85rem;display:flex;overflow:hidden}.gantt-label small{color:var(--md-outline);font-weight:400}.gantt-label.expandable{cursor:pointer;-webkit-user-select:none;user-select:none}.gantt-label.expandable:hover{color:var(--md-primary)}.gantt-label .chevron{width:1rem;color:var(--md-outline);flex:none}.gantt-label .chevron-spacer{flex:none;width:1rem}.gantt-label .label-text{text-overflow:ellipsis;overflow:hidden}.gantt-days{color:var(--md-on-surface-variant);border-right:1px solid var(--md-outline-variant);white-space:nowrap;justify-content:center;align-items:center;font-size:.78rem;display:flex}.gantt-days.header-label{text-transform:uppercase;letter-spacing:.02em;color:var(--md-outline);font-size:.7rem}.gantt-track{position:relative}.gantt-header{background:var(--md-surface);min-height:1.6rem}.gantt-header .gantt-label,.gantt-header .gantt-days{border-right-color:#0000}.gantt-month{color:var(--md-on-surface-variant);border-left:1px solid var(--md-outline-variant);white-space:nowrap;align-items:center;padding-left:.35rem;font-size:.72rem;font-weight:600;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.gantt-weekrow{border-bottom:1px solid var(--md-outline-variant);min-height:1.2rem}.gantt-week{color:var(--md-outline);border-left:1px solid var(--md-surface-container-high);justify-content:center;align-items:center;font-size:.62rem;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.gantt-dayrow{border-bottom:1px solid var(--md-outline-variant);min-height:1rem}.gantt-day{color:var(--md-outline);border-left:1px solid var(--md-surface-container);justify-content:center;align-items:center;font-size:.55rem;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.gantt-day.weekend{background:#2420210f}.gantt-weekend{background:#2420210f;position:absolute;top:0;bottom:0}.gantt-gridline{background:var(--md-surface-container-high);width:1px;position:absolute;top:0;bottom:0}.gantt-today{background:var(--md-error);z-index:3;width:2px;position:absolute;top:0;bottom:0}.gantt-milestone{cursor:help;z-index:5;width:16px;height:13px;position:absolute;top:1px;transform:translate(-50%)}.gantt-milestone:after{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-top:9px solid var(--md-primary);width:0;height:0;filter:drop-shadow(0 0 1px var(--md-surface,#fff));position:absolute;top:0;left:50%;transform:translate(-50%)}.gantt-milestone.manual:after{border-top-color:var(--color-warn-ink)}.gantt-closure{z-index:1;background:repeating-linear-gradient(45deg,#c9020214,#c9020214 6px,#c9020229 6px 12px);position:absolute;top:0;bottom:0}.gantt-pause{z-index:1;background:repeating-linear-gradient(45deg,#ea590c1a,#ea590c1a 6px,#ea590c38 6px 12px);position:absolute;top:0;bottom:0}.pause-block{margin-top:1.25rem}.pause-block h4{margin:0 0 .35rem;font-weight:500}.milestone-block{margin-top:1.25rem}.milestone-block h4{margin:0 0 .35rem;font-weight:500}.gantt-bar{border-radius:var(--md-radius-s);background:var(--md-primary);z-index:2;height:1.15rem;box-shadow:var(--md-shadow-1);align-items:center;transition:filter .1s;display:flex;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.gantt-bar:hover{filter:brightness(1.08)}.gantt-bar .plan-seg{pointer-events:none;z-index:1;background:#00000061;position:absolute;bottom:0}.gantt-bar .plan-seg.short{background:repeating-linear-gradient(45deg,#c62828d9 0 3px,#ffffff59 3px 6px);height:100%!important}.plan-layer{pointer-events:none;z-index:3;height:1.15rem;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.plan-layer.main{height:1.6rem}.plan-layer.slim{height:.65rem}.plan-layer .plan-seg{pointer-events:none;background:#00000061;position:absolute;bottom:0}.plan-layer .plan-seg.short{background:repeating-linear-gradient(45deg,#c62828d9 0 3px,#ffffff59 3px 6px);height:100%!important}.gantt-bar .bar-label{z-index:2;position:relative}.gantt-bar .bar-flag{z-index:3;pointer-events:auto;font-size:.7rem;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.gantt-bar.slim{border-radius:4px;height:.65rem}.gantt-bar.main{border-radius:0;height:1.6rem}.gantt-bar.main .bar-label{font-size:.75rem}.gantt-bar.sub{height:1rem}.gantt-bar.manual{outline:2px solid var(--md-secondary);outline-offset:-1px}.gantt-bar.baseline{opacity:.9;height:.3rem;box-shadow:none;z-index:1;cursor:default;border-radius:2px;top:auto;bottom:1px;transform:none}.gantt-bar.interactive{cursor:grab;touch-action:none}.gantt-bar.interactive:active{cursor:grabbing}.bar-label{color:#fff;white-space:nowrap;text-overflow:ellipsis;padding:0 .4rem;font-size:.68rem;font-weight:500;overflow:hidden}.drag-handle{cursor:ew-resize;z-index:3;border-radius:3px;width:10px;position:absolute;top:0;bottom:0}.gantt-bar.interactive:hover .drag-handle{background:#00000038}.drag-handle.left{left:0}.drag-handle.right{right:0}.gantt-error{color:var(--md-on-error-container);background:var(--md-error-container);border-radius:var(--md-radius-s);margin-top:.6rem;padding:.45rem .7rem;font-size:.85rem}.gantt-editor-backdrop{z-index:50;background:#1c1b1f66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gantt-editor{background-color:var(--md-surface);border:1px solid var(--color-divider);border-radius:var(--md-radius-l);min-width:340px;box-shadow:var(--md-shadow-2);padding:1.5rem 1.75rem}.gantt-editor h3{margin:0 0 .9rem;font-weight:500}.gantt-editor label{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.gantt-editor input[type=date],.gantt-editor .di-input{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);padding:.4rem .55rem}.editor-actions{justify-content:flex-end;gap:.5rem;margin-top:1.1rem;display:flex}.editor-actions .ghost{border-radius:var(--md-radius-full);cursor:pointer;color:var(--md-primary);background:0 0;border:none;padding:.5rem 1.1rem;font-weight:500}.editor-actions .primary{background:var(--md-primary);color:var(--md-on-primary);border-radius:var(--md-radius-full);cursor:pointer;border:none;padding:.5rem 1.4rem;font-weight:500}.editor-actions .primary.danger{background:var(--md-error)}.gantt-legend{color:var(--md-on-surface-variant);flex-wrap:wrap;gap:1.25rem;margin-top:.75rem;font-size:.8rem;display:flex}.gantt-legend .swatch{vertical-align:baseline;border-radius:3px;width:.9rem;height:.7rem;margin-right:.3rem;display:inline-block}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.me-select{color:var(--md-on-surface-variant);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.me-select select{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);background:var(--md-surface);padding:.4rem .6rem}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:.5rem;display:grid}.dash-col h3{color:var(--md-on-surface-variant);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;font-size:.9rem;font-weight:600}.task-list,.phase-list,.update-list{margin:0;padding:0;list-style:none}.task-list li,.phase-list li,.update-list li{border-bottom:1px solid var(--md-surface-container-high);padding:.4rem 0;font-size:.88rem}.task-list label{cursor:pointer;align-items:baseline;gap:.5rem;display:flex}.task-list input{accent-color:var(--md-primary)}.task-list small,.phase-list small,.update-list small{color:var(--md-outline);display:block}.via-tag{background:var(--color-purple-tint);border-radius:var(--md-radius-full);margin-top:.1rem;padding:.05rem .5rem;font-size:.68rem;font-weight:600;color:var(--color-purple-ink)!important;display:inline-block!important}.capacity-block{border-top:1px solid var(--md-outline-variant,#cac4d0);margin-top:1.5rem;padding-top:1.25rem}.capacity-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.capacity-header .line-filter{font-size:.85rem}.capacity-scroll{overflow-x:auto}.bar-label,.week-label{fill:var(--md-on-surface-variant,#49454f);font-size:10px}.cap-bar{fill:var(--md-success-container,#dcfce7)}.cap-bar.over{fill:var(--md-error-container,#fecaca)}.cap-bar.under{fill:var(--md-info-container,#e0f2fe)}.capacity-line{fill:none;stroke:var(--md-error,#c90202);stroke-width:2px}.capacity-dot{fill:var(--md-error,#c90202)}.capacity-value{fill:var(--md-error,#c90202);font-size:9px;font-weight:600}.gantt-weekline{background:var(--md-outline,#94a3b8);opacity:.5;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.period-toggle{border:1px solid var(--md-outline-variant,#cac4d0);border-radius:0;display:inline-flex;overflow:hidden}.period-toggle button{cursor:pointer;color:var(--md-on-surface-variant,#49454f);background:0 0;border:none;padding:.25rem .85rem;font-size:.8rem}.period-toggle button.active{background:var(--md-secondary-container,#e8def8);color:var(--md-on-secondary-container,#1d192b);font-weight:600}.cap-swatch.over{background:var(--md-error-container,#fecaca)}.cap-swatch.under{background:var(--md-info-container,#e0f2fe)}.cap-swatch.ok{background:var(--md-success-container,#dcfce7)}.panel-drawing{touch-action:none}.panel-drawing svg{background:var(--md-surface-container,#f4f4f5);cursor:crosshair;display:block}.panel-outline{fill:#d99c52;stroke:#a86f2e;stroke-width:2px}.panel-stud{fill:#c8863c;stroke:#a86f2e;stroke-width:1px}.panel-opening-group{cursor:pointer}.panel-opening-group.draggable{cursor:grab}.panel-opening-group.dragging{cursor:grabbing}.panel-opening{fill:var(--md-surface,#fff);stroke:#2f6da8;stroke-width:2px}.panel-opening-cross{stroke:#2f6da8;stroke-width:1px;opacity:.7}.panel-opening-label{fill:#2f6da8;font-weight:600}.panel-opening-sublabel{fill:var(--md-on-surface-variant,#5d5d60)}.panel-opening-group.selected .panel-opening{stroke:var(--md-error,#c90202);stroke-width:3px}.panel-mini-preview{display:block}.panel-mini-preview .panel-opening{stroke-width:1px}.panel-dim line{stroke:var(--md-on-surface-variant,#6b6b70);stroke-width:1px}.panel-dim-label{fill:var(--md-on-surface-variant,#6b6b70);dominant-baseline:middle;font-family:inherit}.panel-origin-dot{fill:var(--md-accent,#728fab)}.opening-editor{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:.75rem;display:flex}.opening-editor label{color:var(--md-on-surface-variant);flex-direction:column;gap:.2rem;font-size:.72rem;display:flex}.opening-editor input{width:6rem}.capacity-line-swatch{border-top:2px solid var(--md-error,#c90202);vertical-align:middle;width:.9rem;height:0;margin-right:.3rem;display:inline-block}.settings-tabs{border-bottom:1px solid var(--md-outline-variant);flex-wrap:wrap;gap:.25rem;margin:.75rem 0 1rem;display:flex}.settings-tabs button{cursor:pointer;color:var(--md-on-surface-variant);border-radius:var(--md-radius-s) var(--md-radius-s) 0 0;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-1px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:500}.settings-tabs button:hover{color:var(--md-primary);background:var(--md-surface-container)}.settings-tabs button.active{color:var(--md-primary);border-bottom-color:var(--md-primary)}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:1.5rem;margin-top:.75rem;display:grid}.settings-block h3{color:var(--md-on-surface-variant);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;font-size:.9rem;font-weight:600}.settings-block .hint{margin:.4rem 0 0}.settings-block.flows{grid-column:1/-1}.settings-block{min-width:0;overflow-x:auto}.settings .row-actions{white-space:normal;flex-wrap:wrap}.settings input,.settings select{max-width:100%}.settings .pz-token-input{min-width:min(18rem,100%)}.settings .nmbrs-form input{min-width:min(11rem,100%)}.settings .mailbox-form input{min-width:min(9rem,100%)}.admin-hint{margin-top:-.25rem}.mini-list{margin:0 0 .6rem;padding:0;list-style:none}.mini-list li{border-bottom:1px solid var(--md-surface-container-high);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.3rem .25rem;font-size:.88rem;display:flex}.mini-list li .li-actions{gap:.25rem;margin-left:auto;display:flex}.mini-list small{color:var(--md-outline)}.mini-list li.inactive{opacity:.55}.mini-list li.clickable-li{cursor:pointer;border-radius:var(--md-radius-s)}.mini-list li.clickable-li:hover{background:var(--md-surface-container)}.mini-list li.tpl-active{background:var(--md-primary-container);border-radius:var(--md-radius-s)}.inactive-tag{font-style:italic;color:var(--md-error)!important}.edit-inline{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);background:var(--md-surface);max-width:11rem;padding:.3rem .45rem;font-size:.85rem}.edit-inline.narrow{max-width:5rem}.flow-line em{color:var(--md-outline);font-style:italic}.tpl-table th,.tpl-table td{padding:.35rem .4rem}.templates-list{max-width:26rem}.nmbrs-form input{min-width:11rem}.mailbox-form input{min-width:9rem}.pz-token-input{min-width:18rem}.integrations-tab{flex-direction:column;gap:.75rem;padding:.5rem 0;display:flex}.integration-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;display:grid}.integration-tile-sm{border:1px solid var(--md-outline-variant,#cac4d0);background:var(--md-surface,#fff);cursor:pointer;font:inherit;text-align:center;border-radius:0;flex-direction:column;align-items:center;gap:.4rem;padding:.8rem .6rem;display:flex}.integration-tile-sm:hover{background:var(--md-surface-container-low,#f7f5f9)}.integration-tile-sm.active{border-color:var(--md-primary,#1a73e8);box-shadow:0 0 0 1px var(--md-primary,#1a73e8)}.integration-logo{object-fit:contain;width:32px;height:32px}.integration-logo-emoji{font-size:1.6rem;line-height:32px}.integration-tile-name{font-size:.8rem}.integration-detail{border:1px solid var(--md-outline-variant,#cac4d0);background:var(--md-surface,#fff);border-radius:0;padding:.75rem 1rem .9rem}.integration-detail-head{align-items:baseline;gap:.6rem;margin:0 0 .25rem;display:flex}.integration-tile-body{padding:0}.pz-project-block{border:1px solid var(--md-outline-variant,#cac4d0);border-radius:0;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;padding:.5rem .7rem;font-size:.85rem;display:flex}.pz-unlinked{color:var(--md-on-surface-variant);font-style:italic}.danger-ghost{color:var(--color-bad-ink)}.pz-project-pick{max-width:16rem}.pz-match-head{margin:1rem 0 .15rem;font-size:.85rem}.pz-match-table{width:100%;margin-top:.5rem;font-size:.85rem}.pz-match-table th,.pz-match-table td{text-align:left;border-bottom:1px solid var(--md-outline-variant,#cac4d0);padding:.35rem .45rem}.pz-match-pick{max-width:18rem}.pz-chip{background:var(--md-success-container,#d9efe0);color:var(--color-good-ink);white-space:nowrap;border-radius:0;margin-left:.3rem;padding:.05rem .35rem;font-size:.7rem}.attention-mark{color:var(--color-warn-ink);margin-left:.3rem}.attention-banner{background:var(--color-warn-tint);color:var(--color-warn-ink);border:1px solid var(--color-warn-ink);border-radius:0;margin:.4rem 0;padding:.45rem .7rem;font-size:.85rem}.mailbox-ssl{align-items:center;gap:.35rem;width:auto;font-size:.85rem;display:flex}.mailbox-ssl input[type=checkbox]{width:auto}.kanban-board{align-items:flex-start;gap:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.kanban-col{background:var(--md-surface-container);border-radius:var(--md-radius-m);flex:1;min-width:220px;padding:.6rem .7rem}.kanban-col h3{color:var(--md-on-surface-variant);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .6rem;font-size:.8rem;font-weight:600}.kanban-col h3 small{color:var(--md-outline);font-weight:400}.kanban-card{background:var(--md-surface);border:1px solid var(--color-divider);border-radius:var(--md-radius-m);box-shadow:none;cursor:pointer;flex-direction:column;gap:.15rem;margin-bottom:.6rem;padding:.6rem .75rem;display:flex}.kanban-card:hover{border-color:var(--md-primary)}.kanban-card small{color:var(--md-on-surface-variant)}.kanban-card.uncertain{border-left:4px solid var(--md-accent)}.kanban-card[draggable=true]{cursor:grab}.kanban-card.dragging{opacity:.4}.kanban-col{transition:background-color .1s}.mark-done-btn{margin:.4rem 0 .8rem}.comment-hint{color:var(--md-outline);margin-top:.2rem;font-size:.7rem}.kanban-modal{width:90vw;max-width:480px}.kanban-modal h4{margin:.9rem 0 .4rem;font-weight:500}.comment-list{max-height:40vh;margin:0;padding:0;list-style:none;overflow-y:auto}.comment-list li{border-bottom:1px solid var(--md-surface-container-high);padding:.4rem 0}.comment-list li strong{font-size:.85rem}.comment-list li small{color:var(--md-outline);margin-left:.5rem}.comment-list li p{margin:.15rem 0 0;font-size:.9rem}.comment-form{flex-direction:column;gap:.4rem;margin-top:.75rem;display:flex}.comment-form textarea,.comment-form .author-input{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);padding:.5rem .65rem;font-family:inherit;font-size:.9rem}.warn-item{color:var(--md-on-surface)}.kanban-groups{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.kanban-group{min-width:240px}.kanban-group-title{color:var(--md-primary);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--md-primary-container);margin:0 0 .4rem;padding-bottom:.25rem;font-size:.85rem;font-weight:700}.kanban-cols{align-items:flex-start;gap:.6rem;display:flex}.kanban-col h4{color:var(--md-on-surface-variant);margin:0 0 .5rem;font-size:.75rem;font-weight:600}.kanban-col h4 small{color:var(--md-outline);font-weight:400}.variant-select,.group-select{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);background:var(--md-surface);color:var(--md-on-surface-variant);margin-top:.2rem;padding:.15rem .3rem;font-size:.75rem;display:block}.group-chip{color:var(--md-outline)}.receive-card{border-left:5px solid var(--md-primary)}.ref-input{min-width:12rem;font-size:1rem}.found-order{background:var(--md-surface-container);border-radius:var(--md-radius-m);margin-top:.9rem;padding:.9rem 1rem}.found-order h3{margin:0 0 .3rem;font-weight:500}.order-lines-wrap{margin-bottom:.5rem;overflow-x:auto}.order-lines-table{border-collapse:collapse;width:100%}.order-lines-table th{text-align:left;text-transform:uppercase;letter-spacing:.02em;color:var(--md-on-surface-variant);border-bottom:1px solid var(--md-outline-variant);white-space:nowrap;padding:0 .35rem .3rem;font-size:.72rem;font-weight:500}.order-lines-table td{vertical-align:middle;padding:.25rem .35rem}.oline-input{box-sizing:border-box;width:100%}.oline-input.oline-missing{border-color:var(--md-error);box-shadow:inset 0 0 0 1px var(--md-error)}tr.oline-ordered{background:color-mix(in srgb, var(--color-good) 10%, transparent)}tr.oline-ordered td:not(.col-check) input,tr.oline-ordered td:not(.col-check) select,tr.oline-ordered td:not(.col-check) button{pointer-events:none;opacity:.65}.lock-chip{white-space:nowrap;border:1px solid color-mix(in srgb, var(--color-good) 45%, transparent);border-radius:var(--md-radius-s);cursor:pointer;color:var(--color-good-ink);background:0 0;padding:.1rem .35rem;font-size:.7rem;font-weight:600}.lock-chip.unlocked{color:var(--md-error);border-color:var(--md-error)}.attention-chip{cursor:pointer;background:0 0;border:none;margin-left:.3rem;padding:0;font-size:.95rem}.oline-num{width:4.5rem}.oline-dim{width:6rem}.oline-desc{min-width:11rem}.oline-unit{width:4.5rem}.oline-project{min-width:9.5rem}.oline-price-unit{color:var(--md-on-surface-variant);white-space:nowrap;font-size:.7rem;display:block}.lib-suggest{color:#047857;white-space:nowrap;text-overflow:ellipsis;max-width:16rem;margin-top:.15rem;font-size:.7rem;display:block;overflow:hidden}.oline-total{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--md-on-surface-variant)}.oline-derived:disabled{background:var(--md-surface-container-low,#f7f5f9);color:var(--md-on-surface);opacity:1;font-weight:600}.line-money-total{color:var(--md-on-surface)}.line-suggest-row td{border:none;padding:0 .35rem .4rem}.order-lines-type-head{letter-spacing:.08em;color:var(--md-on-surface);border-bottom:2px solid var(--md-outline-variant,#cac4d0);margin:.9rem 0 .15rem;padding-bottom:.2rem;font-size:.85rem;font-weight:700}.group-totals{justify-content:flex-end;margin:.15rem 0 .5rem}.form-grand-total{border-top:2px solid var(--md-outline-variant,#cac4d0);justify-content:flex-end;padding-top:.4rem}.form-grand-total strong,.group-totals strong{font-variant-numeric:tabular-nums}.status-chip.concept{background:var(--md-surface-container-high);color:var(--md-on-surface-variant)}.status-chip.locked{border:1px solid var(--color-purple);color:var(--color-purple-ink);background:0 0}.status-chip.sent{border:1px solid var(--md-primary);color:var(--md-primary);background:0 0}.status-chip.partially_received{background:var(--color-warn-tint);color:var(--color-warn-ink)}.status-chip.received{background:var(--color-good);color:var(--md-surface)}.supplier-form{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.4rem;width:100%;padding:.4rem 0;display:grid}.supplier-form input{padding:.35rem .5rem;font-size:.8rem}.supplier-form .supplier-note{grid-column:1/-1}.quote-btn{border-radius:var(--md-radius-full);cursor:pointer;border:none;padding:.25rem .7rem;font-size:.75rem;font-weight:600}.quote-btn.won{background:var(--md-success,#4caf50);color:#fff}.quote-btn.lost{background:var(--md-error,#c90202);color:#fff}.won-dialog{max-width:560px;max-height:85vh;overflow-y:auto}.won-dialog h4{color:var(--md-on-surface-variant);text-transform:uppercase;letter-spacing:.04em;margin:1rem 0 .4rem;font-size:.85rem}.won-dialog input,.won-dialog select{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);padding:.4rem .55rem}.won-term-row{align-items:center;gap:.4rem;margin-bottom:.4rem;display:flex}.won-term-row input:first-child{flex:1}.won-error{color:var(--md-error,#c90202);margin:.6rem 0 0;font-size:.85rem}.finance-panel{background:var(--md-surface-variant,#f5f3f7);border-radius:0;margin-top:1rem;padding:.9rem 1rem}.finance-panel h4{margin:0 0 .5rem;font-size:.9rem}.finance-panel h5{color:var(--md-on-surface-variant);text-transform:uppercase;letter-spacing:.04em;margin:.8rem 0 .4rem;font-size:.8rem}.finance-summary{flex-wrap:wrap;gap:1.5rem;margin:0;font-size:.9rem;display:flex}.finance-table{width:100%;font-size:.85rem}.finance-table td{padding:.25rem .5rem .25rem 0}.billing-chip{border-radius:0;margin-left:.4rem;padding:.1rem .5rem;font-size:.7rem}.billing-chip.terms{background:var(--md-surface-container-high);color:var(--md-on-surface-variant)}.billing-chip.separate{background:var(--color-warn-tint);color:var(--color-warn-ink)}.status-chip.term-open{background:var(--md-surface-container-high);color:var(--md-on-surface-variant)}.status-chip.term-sent{border:1px solid var(--md-primary);color:var(--md-primary);background:0 0}.status-chip.term-paid{background:var(--color-good);color:var(--md-surface)}.sup-import{border:1px dashed var(--md-primary,#1976d2);color:var(--md-primary,#1976d2);cursor:pointer;border-radius:0;margin-top:.5rem;padding:.35rem .8rem;font-size:.8rem;display:inline-block}.drag-col{text-align:center;cursor:grab;width:1.6rem;color:var(--md-outline,#79747e);-webkit-user-select:none;user-select:none}tr.clickable[draggable=true]:active .drag-col{cursor:grabbing}tr.drag-over{box-shadow:inset 0 2px 0 var(--md-primary,#1976d2)}.list-toolbar{flex-wrap:wrap;gap:.5rem;display:flex}.bundle-toggle{border:1px solid var(--md-outline-variant,#cac4d0);background:var(--md-surface,#fdfbff);color:var(--md-on-surface-variant,#49454f);border-radius:var(--md-radius-s,8px);cursor:pointer;margin:.4rem 0;padding:.35rem .8rem;font-size:.85rem}.bundle-toggle:hover{border-color:var(--md-primary,#1976d2);color:var(--md-primary,#1976d2)}.bundle-panel{background:var(--md-surface-variant,#f5f3f7);border-radius:0;margin-bottom:.8rem;padding:.8rem 1rem}.bundle-panel .hint{margin:0 0 .6rem}.bundle-list{flex-direction:column;gap:.3rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.bundle-list li{align-items:center;gap:.4rem;font-size:.9rem;display:flex}.bundle-list li .sp-name{flex:1}.bundle-count{color:var(--md-outline,#79747e);font-size:.8rem}.bundle-header-row{cursor:pointer;background:var(--md-surface-variant,#f5f3f7);font-weight:500}.bundle-header-row:hover{background:var(--md-surface-container-high,#edebef)}.bundle-header-row td{padding:.4rem .6rem}.bundle-header-row{cursor:grab}.bundle-header-row:active{cursor:grabbing}.bundle-header-row.drag-over{box-shadow:inset 0 2px 0 var(--md-primary,#1976d2)}.bundle-header-row.dragging{opacity:.45}.bundle-chevron{width:1rem;display:inline-block}.super-select{margin-right:.4rem;font-size:.85rem}@media (width<=640px){#app{padding:.75rem}header.app-header{padding:.6rem .8rem}.nav-tabs button{padding:.45rem .7rem;font-size:.8rem}}.multi-filter{display:inline-block;position:relative}.multi-panel{z-index:40;background:var(--md-surface,#fff);border:1px solid var(--md-outline-variant,#cac4d0);border-radius:0;flex-direction:column;gap:.3rem;min-width:230px;max-height:280px;padding:.5rem .75rem;display:flex;position:absolute;top:100%;left:0;overflow:auto;box-shadow:0 6px 18px #00000024}.multi-item{white-space:nowrap;cursor:pointer;align-items:center;gap:.45rem;font-size:.85rem;display:flex}.gantt-search{min-width:200px}.row-grip{cursor:grab;color:var(--md-outline);-webkit-user-select:none;user-select:none;margin-right:.15rem;font-size:.8rem}.gantt-row.row-drop .gantt-label{box-shadow:inset 0 2px 0 var(--md-primary)}.misaligned-flag{color:var(--md-error);cursor:help;margin-left:.3rem;animation:none}.kind-super .gantt-label{font-weight:700}.kind-super .gantt-bar{opacity:.85}.blocks-grid{grid-template-columns:minmax(min(60rem,100%),1fr) minmax(15rem,1fr);align-items:start;gap:1rem;margin-top:1rem;display:grid}@media (width<=1280px){.blocks-grid{grid-template-columns:1fr}}.orders-layout{grid-template-columns:minmax(min(42rem,100%),1fr) minmax(26rem,38rem);align-items:start;gap:1rem;display:grid}@media (width<=1100px){.orders-layout{grid-template-columns:1fr}}.orders-main{flex-direction:column;gap:1rem;min-width:0;display:flex}.orders-side{min-width:0;position:sticky;top:1rem}.orders-side .card{max-height:calc(100vh - 2rem);overflow-y:auto}.layout-block{background:var(--md-surface,#fff);border:1px solid var(--md-outline-variant,#cac4d0);border-radius:var(--md-radius-l);box-shadow:var(--md-shadow-1);min-width:0;padding:1rem 1.25rem;overflow-x:auto}.layout-block section.card{box-shadow:none;margin-bottom:0;padding:.25rem 0}.layout-block table th,.layout-block table td{padding:.4rem .45rem}.layout-block select{max-width:11rem}.layout-block input[type=date],.layout-block .di-input{max-width:8.5rem}.gantt-filters .filter-btn{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);background:var(--md-surface);color:var(--md-on-surface);text-transform:none;letter-spacing:normal;cursor:pointer;justify-content:space-between;align-items:center;gap:.4rem;min-width:7.5rem;padding:.35rem .5rem;font-size:.85rem;display:flex}.gantt-filters .filter-btn .caret{color:var(--md-on-surface-variant);font-size:.7rem}.gantt-filters input[type=search]{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);background:var(--md-surface);color:var(--md-on-surface);min-width:13rem;padding:.35rem .5rem;font-size:.85rem}.multi-panel .multi-item{text-transform:none;letter-spacing:normal;color:var(--md-on-surface);flex-direction:row;align-items:center;font-size:.85rem;display:flex}.gantt-label{grid-template-columns:8rem minmax(0,1fr) 6rem 4.6rem;align-items:stretch;gap:0;display:grid!important}.gantt-label>span{border-right:1px solid var(--md-surface-container-high);align-items:center;min-width:0;padding:0 .4rem;display:flex}.gantt-label>span:last-child{border-right:none}.gantt-label .col-num{white-space:nowrap;flex:0 0 7.5rem;align-items:center;gap:.15rem;font-size:.8rem;font-weight:700;display:flex;overflow:hidden}.gantt-label .col-name{flex:auto;align-items:center;gap:.15rem;min-width:0;display:flex}.gantt-label .col-name .label-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt-label .col-client{flex:0 0 6rem}.gantt-label .col-status{flex:0 0 4.4rem}.gantt-label .col-client,.gantt-label .col-status{color:var(--md-on-surface-variant);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:400;overflow:hidden}.gantt-colhead span{text-transform:uppercase;letter-spacing:.05em;color:var(--md-on-surface-variant);font-size:.65rem;font-weight:600}.gantt-row.selected .gantt-label{background:var(--md-primary-container)}.bundle-check{flex:none;width:.9rem;height:.9rem;margin-right:.25rem}.bundle-bar{background:var(--md-primary-container);border-radius:var(--md-radius-m);flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;padding:.5rem .9rem;display:flex}.bundle-bar input{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);padding:.35rem .5rem;font-size:.85rem}.bundle-bar input.narrow{width:8rem}.undo-panel{min-width:24rem;max-width:min(30rem,90vw);left:auto;right:0}.undo-panel .undo-last{align-self:flex-start}.undo-item{text-transform:none;letter-spacing:normal;color:var(--md-on-surface);align-items:center;gap:.45rem;min-width:0;font-size:.82rem;display:flex}.undo-item small{color:var(--md-on-surface-variant);flex:none}.undo-item .undo-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.phase-color-input{border:1px solid var(--md-outline-variant);cursor:pointer;background:0 0;border-radius:0;width:2rem;height:1.5rem;margin-right:.4rem;padding:0}.bom-details{border:1px dashed var(--md-outline-variant,#cac4d0);border-radius:.5rem;margin:.35rem 0;padding:.4rem .75rem}.bom-details>summary{cursor:pointer;font-weight:600}.bom-rules-changed{font-weight:600}.opt-table{border-collapse:collapse;margin-top:.4rem}.opt-table th,.opt-table td{text-align:left;border-bottom:1px solid var(--md-outline-variant,#cac4d0);padding:.25rem .6rem}.opt-table tr.best td{background:var(--md-success-container,#d9efe0);font-weight:600}.opt-table tr.unfit td{opacity:.5}.opt-candidates{width:12rem;padding:.25rem .4rem}.opt-kerf{width:4rem;padding:.25rem .4rem}.assign-bar{background:var(--md-surface-variant,#e7e0ec);z-index:80;max-width:min(60rem,100vw - 2rem);box-shadow:var(--md-shadow-2,0 6px 20px #00000040);border:1px solid var(--md-outline-variant,#cac4d0);border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.assign-chip{background:var(--md-tertiary-container,#ffe08c);white-space:nowrap;border-radius:0;align-items:center;gap:.25rem;padding:.1rem .4rem;font-size:.78rem;display:inline-flex}.icon-btn.pick-active{background:var(--md-tertiary-container,#ffe08c);border-radius:50%}tr:has(.pick-active) td{background:color-mix(in srgb, var(--md-tertiary-container,#ffe08c) 35%, transparent)}.mat-title{cursor:pointer}.mat-title:hover{color:var(--md-primary,#6750a4);text-decoration:underline}.linklike{cursor:pointer;color:var(--md-primary,#1a73e8);font-size:inherit;background:0 0;border:none;padding:0}.linklike:hover{text-decoration:underline}.oline-child td{background:color-mix(in srgb, var(--md-primary,#2563eb) 5%, transparent);color:var(--md-on-surface-variant,#667);vertical-align:middle;border-top:none;padding-top:.15rem;padding-bottom:.15rem;font-size:.82rem}.oline-child-link{text-align:right;opacity:.75;font-size:.75rem}.oline-child-info .mono{font-weight:600}.oline-child-actions{text-align:right;white-space:nowrap}.oline-child-actions .linklike{font-size:.8rem}.order-lines-table .icon-btn+.icon-btn{margin-left:.25rem}.order-lines-table td:last-child{white-space:nowrap}.oline-info-row>td{overflow-wrap:anywhere;white-space:normal;max-width:0}.oline-info-row .opt-table{width:100%}.oline-wl{white-space:nowrap}.oline-wl .oline-num{width:4.5rem}.oline-info-row .opt-table td,.oline-info-row .opt-table th{overflow-wrap:normal;white-space:nowrap}.ghost.danger{color:var(--md-error,#b3261e);border-color:color-mix(in srgb, var(--md-error,#b3261e) 35%, transparent)}.readonly-banner{background:color-mix(in srgb, var(--md-tertiary-container,#ffe08c) 60%, transparent);color:var(--md-on-surface,#1d1b20);text-align:center;border-bottom:1px solid var(--md-outline-variant,#cac4d0);padding:.4rem 1rem;font-size:.85rem}.opt-table tr.opt-clickable{cursor:pointer}.opt-table tr.opt-clickable:hover td{background:color-mix(in srgb, var(--md-primary,#2563eb) 8%, transparent)}tr.oline-incomplete td{background:color-mix(in srgb, var(--md-error,#b3261e) 8%, transparent)}tr.oline-incomplete td:first-child{border-left:3px solid var(--md-error,#b3261e)}.plate-layout ol{margin:.25rem 0 0 1.25rem}.plate-layout li{font-family:ui-monospace,monospace;font-size:.8rem}.plate-size-cell{white-space:nowrap;align-items:center;gap:.25rem;display:flex}.stock-chip{background:color-mix(in srgb, var(--color-good) 14%, transparent);color:var(--color-good-ink);border-radius:0;margin-right:.3rem;padding:.1rem .45rem;font-size:.8rem;font-weight:600;display:inline-block}button.offcut-chip{cursor:pointer;background:color-mix(in srgb, var(--color-warn-ink) 14%, transparent);color:var(--color-warn-ink);border:0;font-family:inherit;line-height:1.3}button.offcut-chip:disabled{cursor:default;opacity:.6}.chip-detach{opacity:.7;margin-left:.3rem;font-size:.8rem}.chip-detach:hover{opacity:1}.own-chip{background:color-mix(in srgb, var(--md-primary,#2563eb) 14%, transparent);color:var(--md-primary,#2563eb);border-radius:0;margin-left:.35rem;padding:.05rem .45rem;font-size:.78rem;font-weight:700;display:inline-block}.pack-suggest{color:var(--color-warn-ink);margin-top:.15rem;font-size:.78rem;font-weight:600;display:block}.linked-chip{background:color-mix(in srgb, var(--color-purple) 12%, transparent);color:var(--color-purple-ink);border-radius:0;margin-left:.35rem;padding:.05rem .45rem;font-size:.78rem;font-weight:600;display:inline-block}.shape-mark{cursor:help;color:var(--color-purple);margin-right:.25rem;font-weight:700}.di-wrap{align-items:center;gap:.15rem;display:inline-flex;position:relative}.di-input{width:6.8rem}.di-btn{cursor:pointer;background:0 0;border:none;padding:0 .1rem;font-size:.9rem;line-height:1}.di-btn:disabled{opacity:.4;cursor:default}.di-pop{z-index:60;background:var(--md-surface,#fff);border:1px solid var(--md-outline-variant,#cac4d0);border-radius:var(--md-radius-m,8px);box-shadow:var(--md-shadow-2,0 4px 12px #0000002e);min-width:15.5rem;padding:.55rem .65rem;position:absolute;top:calc(100% + 4px);left:0}.di-head{justify-content:space-between;align-items:center;margin-bottom:.3rem;display:flex}.di-head strong{text-transform:lowercase;font-size:.85rem}.di-nav button{cursor:pointer;color:var(--md-on-surface-variant);background:0 0;border:none;padding:.1rem .3rem;font-size:.9rem}.di-grid{border-collapse:collapse;width:100%;margin:0}.di-grid th{text-transform:lowercase;letter-spacing:0;color:var(--md-on-surface-variant);text-align:center;border:none;padding:.15rem;font-size:.65rem;font-weight:600}.di-grid td{text-align:center;border:none;padding:.05rem}.di-wk{color:var(--md-primary,#2563eb);font-size:.68rem;font-weight:700;border-right:1px solid var(--md-outline-variant,#cac4d0)!important;padding-right:.3rem!important}.di-day{cursor:pointer;width:1.7rem;height:1.7rem;color:var(--md-on-surface);background:0 0;border:none;border-radius:50%;font-size:.78rem}.di-day:hover{background:var(--md-surface-container-high,#eee)}.di-day.out{color:var(--md-outline,#aaa)}.di-day.today{outline:1px solid var(--md-primary,#2563eb)}.di-day.sel{background:var(--md-primary,#2563eb);color:#fff;font-weight:700}.di-foot{justify-content:space-between;margin-top:.35rem;display:flex}.recv-chip{border-radius:var(--md-radius-s);white-space:nowrap;background:color-mix(in srgb, var(--color-warn-ink) 15%, transparent);color:var(--color-warn-ink);margin-right:.25rem;padding:.1rem .35rem;font-size:.68rem;font-weight:600;display:inline-block}.recv-chip.full{background:color-mix(in srgb, var(--color-good) 15%, transparent);color:var(--color-good-ink)}.materials-item-main .plate-link-check{vertical-align:middle;width:auto;margin:0 .4rem 0 0;display:inline-block}.receive-backdrop{z-index:70;background:#1c1b1f66;justify-content:center;align-items:flex-start;padding:3vh 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.receive-dialog{background:var(--md-surface,#fff);width:min(56rem,100%);max-height:92vh;box-shadow:var(--md-shadow-2,0 8px 28px #0000004d);margin-top:0;overflow-y:auto}.receive-close{float:right}.pkg-chip{border-radius:var(--md-radius-full);background:var(--md-primary-container);color:var(--md-on-primary-container);white-space:nowrap;margin-left:.3rem;padding:0 .4rem;font-size:.68rem;display:inline-block}.pkg-hint{white-space:nowrap}.autoplan-dialog{width:1100px;max-width:min(96vw,1100px)}.autoplan-scroll{max-height:60vh;margin:.5rem 0;overflow:auto}.autoplan-table{border-collapse:collapse;width:100%;font-size:.85rem}.autoplan-table th,.autoplan-table td{text-align:left;border-bottom:1px solid var(--color-border,#e3e3e3);white-space:nowrap;vertical-align:top;padding:.3rem .5rem}.autoplan-table tr.unchanged td,.autoplan-table td.muted,.autoplan-table td s{color:var(--color-muted,#888)}.autoplan-table td small{color:var(--color-muted,#888);margin-left:.3rem}.autoplan-late{color:#8a1c1c;background:#fde8e8;border-radius:3px;margin-left:.35rem;padding:.1rem .4rem;font-weight:600}.autoplan-load{flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:.6rem;font-size:.75rem;display:flex}.autoplan-load strong{margin-right:.4rem}.autoplan-load .load-cell{text-align:center;background:#e8f3ea;border-radius:3px;min-width:2.4rem;padding:.15rem .2rem;line-height:1.15;display:inline-block}.autoplan-load .load-cell.over{color:#8a1c1c;background:#fde8e8}.autoplan-load .load-cell.full{box-shadow:inset 0 0 0 2px #b8860b}.autoplan-reason{background:#fff6e0;border:1px solid #e6c97a;border-radius:4px;margin:.4rem 0 .6rem;padding:.5rem .7rem;font-size:.85rem}.autoplan-reason.ok{background:#e8f3ea;border-color:#9fcaa8}.autoplan-reason ul{margin:.3rem 0;padding-left:1.2rem}.autoplan-msg{margin:.3rem 0 0}.pz-webhook-log{margin:.4rem 0 .8rem}.pz-webhook-value{margin-right:.8rem}.pz-webhook-value.placeholder code{color:#8a1c1c;background:#fde8e8}.pz-webhook-table{border-collapse:collapse;width:100%;font-size:.8rem}.pz-webhook-table th,.pz-webhook-table td{text-align:left;border-bottom:1px solid var(--color-border,#e3e3e3);vertical-align:top;padding:.2rem .4rem}.pz-webhook-table pre{max-width:40rem;max-height:16rem;margin:.2rem 0 0;font-size:.72rem;overflow:auto}.pz-webhook-table .nowrap{white-space:nowrap}
