.profile-form[data-v-45be3dde]{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.9rem;max-width:60rem;display:grid}.profile-form label[data-v-45be3dde]{flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.profile-form .inline[data-v-45be3dde]{grid-column:1/-1;align-items:center;gap:.75rem;display:flex}.dash-header[data-v-c4676371]{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.catalogue-table td.chevron[data-v-c4676371]{cursor:pointer;width:auto}.mini-list[data-v-c4676371]{flex-direction:column;gap:.35rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.mini-list li[data-v-c4676371]{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.li-actions[data-v-c4676371]{margin-left:auto}.mini-list[data-v-f2624a92]{flex-direction:column;gap:.5rem;margin:.75rem 0;padding:0;list-style:none;display:flex}.link-row[data-v-f2624a92]{border-bottom:1px solid var(--color-divider);padding-bottom:.5rem}.link-row-main[data-v-f2624a92]{align-items:center;gap:.6rem;display:flex}.link-row-main.clickable[data-v-f2624a92]{cursor:pointer}.link-row-main .chevron[data-v-f2624a92]{color:var(--md-outline);margin-left:auto}.li-actions[data-v-f2624a92]{margin-left:.5rem}.overrides-panel[data-v-f2624a92]{border-left:2px solid var(--color-divider);margin-top:.6rem;padding-left:.5rem}.status-chip.active[data-v-f2624a92]{background:var(--color-good);color:var(--md-surface)}.status-chip.declined[data-v-f2624a92]{background:var(--md-surface-container-high);color:var(--md-outline);text-decoration:line-through}.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-screen form{flex-direction:column;gap:.75rem;display:flex}.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}.login-screen .hint{color:var(--md-on-surface-variant)}.app-header .brand{align-items:center;gap:.65rem;display:flex}.logout-btn{cursor:pointer}:root{--md-primary:#5980a6;--md-on-primary:#f2f2f3;--md-primary-container:#d6ebff;--md-on-primary-container:#2c455d;--md-secondary:#2b2b2d;--md-on-secondary:#f2f2f3;--md-accent:#728fab;--md-accent-container:#eef6ff;--md-error:oklch(58% .16 29);--md-error-container:oklch(93% .05 29);--md-on-error-container:oklch(34% .13 29);--md-info:#597ea3;--md-info-container:#d6ebff;--md-success:oklch(58% .11 150);--md-success-container:oklch(93% .045 150);--md-surface:#f2f2f3;--md-surface-dim:#f2f2f3;--md-surface-container:#e9e9ea;--md-surface-container-high:#d4d4d7;--md-on-surface:#1d1f20;--md-on-surface-variant:#5d5d60;--md-outline:#98989b;--md-outline-variant:#1d1f2029;--md-shadow-1:0 1px 2px #2b2b2d24;--md-shadow-2:0 3px 10px #2b2b2d29;--md-radius-s:0;--md-radius-m:0;--md-radius-l:0;--md-radius-full:0;--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:#1d1f2029;--corner-mark-color:#1d1f208c;--corner-marks:linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color));--corner-mark-size:11px 1px, 1px 11px, 11px 1px, 1px 11px, 11px 1px, 1px 11px, 11px 1px, 1px 11px;--corner-mark-position:left -6px top -6px, left -6px top -6px, right -6px top -6px, right -6px top -6px, left -6px bottom -6px, left -6px bottom -6px, right -6px bottom -6px, right -6px bottom -6px;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{text-transform:uppercase;letter-spacing:.03em;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{cursor:pointer;color:var(--md-on-surface);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.55rem 1.1rem;font-size:.82rem;transition:color .15s,border-color .15s}.nav-tabs button:hover{color:var(--md-primary);background:0 0}.nav-tabs button.active{color:var(--md-primary);border-bottom-color:var(--md-primary);background:0 0}.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}.header-actions{align-items:center;gap:.75rem;display:flex}.locale-switch{border:1px solid var(--color-divider);border-radius:0;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);cursor:pointer;width:2.4rem;height:2.4rem;color:var(--md-on-surface-variant);background:0 0;border-radius: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);cursor:pointer;color:var(--md-primary);background:0 0;border-radius:0;padding:.4rem 1rem;font-weight:600}.status{border:1px solid var(--color-divider);border-radius:0;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{border:1px solid var(--color-divider);border-radius:var(--md-radius-l);box-shadow:none;background-color:#0000;background-image:var(--corner-marks);background-repeat:no-repeat;background-size:var(--corner-mark-size);background-position:var(--corner-mark-position);margin-bottom:1.25rem;padding:1.25rem 1.5rem}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:0;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);background:var(--md-primary);color:var(--md-on-primary);cursor:pointer;box-shadow:none;border-radius:0;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);cursor:pointer;color:var(--md-on-surface-variant);background:0 0;border-radius:0;padding:.2rem .5rem;font-size:.8rem}.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{letter-spacing:.02em;background:var(--md-surface-container-high);color:var(--md-on-surface-variant);border-radius:0;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.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;width:8px;position:absolute;top:0;bottom:0}.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);min-width:340px;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;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);margin-top:.1rem;padding:.05rem .4rem;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)}.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}.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.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:0;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}.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}
