@font-face{font-family:Gravity;src:url(/assets/Gravity-UltraLight-DByY91d6.otf)format("opentype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Gravity;src:url(/assets/Gravity-UltraLightItalic-BuDkvN13.otf)format("opentype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Gravity;src:url(/assets/Gravity-Light-DZPijlws.otf)format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Gravity;src:url(/assets/Gravity-LightItalic-C-6rOAS8.otf)format("opentype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Gravity;src:url(/assets/Gravity-Book-pC1Mza-P.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Gravity;src:url(/assets/Gravity-BookItalic-BAI35lrT.otf)format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Gravity;src:url(/assets/Gravity-Regular-ttnUdLHT.otf)format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Gravity;src:url(/assets/Gravity-Italic-BenGYvcJ.otf)format("opentype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Gravity;src:url(/assets/Gravity-Bold-BnJ6HStd.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Gravity;src:url(/assets/Gravity-BoldItalic-B-0McIRx.otf)format("opentype");font-weight:700;font-style:italic;font-display:swap}:root{--font-sans:"Gravity", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display:var(--font-sans);--font-mono:"Gravity", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--bg:#eaeaea;--surface:#fff;--surface-alt:#f8f8f8;--row-hover:#f8f8f8;--border:#dfdfdf;--border-strong:#cacaca;--ink:#282828;--ink-hover:#1a1a1a;--ink-2:#535353;--ink-muted:#7c7c7c;--on-dark:#fff;--accent:#d93b28;--accent-dark:#b3271a;--production:#127a44;--production-dark:#0d6b38;--overlay:#28282873;--focus:#2c4e77;--tone-danger-fg:#b3271a;--tone-danger-bg:#fbe9e6;--tone-danger-bd:#f0c4bc;--tone-warning-fg:#9a6410;--tone-warning-bg:#fbf0dc;--tone-warning-bd:#edd6a8;--tone-success-fg:#2f6b4a;--tone-success-bg:#e6f1e9;--tone-success-bd:#c2ddcb;--tone-info-fg:#2c4e77;--tone-info-bg:#e5edf7;--tone-info-bd:#c3d5ea;--tone-neutral-fg:#626262;--tone-neutral-bg:#ececec;--tone-neutral-bd:#d7d7d7;--tone-priority-urgent-fg:var(--accent);--tone-priority-urgent-bg:#ffdad4;--tone-priority-urgent-bd:#fc9486;--tone-priority-high-fg:#b65c00;--tone-priority-high-bg:#fcddc8;--tone-priority-high-bd:#e9a069;--tone-priority-normal-fg:#008743;--tone-priority-normal-bg:#cfe9d5;--tone-priority-normal-bd:#73c189;--tone-priority-low-fg:#3372d7;--tone-priority-low-bg:#dde1fc;--tone-priority-low-bd:#97aefa;--tone-priority-lowest-fg:#617787;--tone-priority-lowest-bg:#d9e4ed;--tone-priority-lowest-bd:#9db4c5;--tone-status-new-fg:#5c5c5c;--tone-status-new-bg:#e2e2e2;--tone-status-new-bd:#bebebe;--tone-status-planning-fg:#5b5145;--tone-status-planning-bg:#e6e0d6;--tone-status-planning-bd:#c4bbab;--tone-status-cut-fg:#65561b;--tone-status-cut-bg:#eddcaf;--tone-status-cut-bd:#c8b57f;--tone-status-fill-fg:#006262;--tone-status-fill-bg:#a8e9e6;--tone-status-fill-bd:#6ec4c3;--tone-status-bend-fg:#644d80;--tone-status-bend-bg:#e9d5fa;--tone-status-bend-bd:#c5addb;--tone-status-weld-fg:#7f4a27;--tone-status-weld-bg:#ffd4ba;--tone-status-weld-bd:#e1aa89;--tone-status-socket-fg:#834164;--tone-status-socket-bg:#fed0e4;--tone-status-socket-bd:#e2a4c1;--tone-status-pack-fg:#435f27;--tone-status-pack-bg:#d1e3b8;--tone-status-pack-bd:#a7be89;--tone-status-turn-fg:#025f77;--tone-status-turn-bg:#afe5fb;--tone-status-turn-bd:#76c0dc;--tone-status-assembly-fg:#8620b8;--tone-status-assembly-bg:#efd4fa;--tone-status-assembly-bd:#d3a5e9;--tone-status-hp-pack-fg:#ab0b53;--tone-status-hp-pack-bg:#fcd1e5;--tone-status-hp-pack-bd:#ef9ec3;--tone-status-done-fg:#096445;--tone-status-done-bg:#b7e8cd;--tone-status-done-bd:#84c3a3;--tone-status-cancelled-fg:#8a4043;--tone-status-cancelled-bg:#ffd2cf;--tone-status-cancelled-bd:#eba4a2;--tone-work-idle-fg:#4a5666;--tone-work-idle-bg:#fff;--tone-work-idle-bd:#b6c2d2;--tone-work-progress-fg:#0d6b38;--tone-work-progress-bg:#d8efe1;--tone-work-progress-bd:#8dc7a8;--tone-work-stopped-fg:#9a6410;--tone-work-stopped-bg:#fbf0dc;--tone-work-stopped-bd:#edd6a8;--tone-work-progress-row:#ebf7e9;--tone-work-stopped-row:#fef1e8;--tone-status-planning-row:#eef5fd;--tone-due-fg:#1c4ed8;--radius:2px;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.3rem;--text-2xl:1.3rem;--text-title:2rem;--control-h:2.8rem;--page-pad:1.25rem;--topbar-h:3.5rem;--row-stripe-w:.5rem;--row-slot-w:3.6rem;--row-priority-w:8rem;--row-fact-w:7.5rem;--row-actions-w:10.5rem;--row-actions-gap:.6rem;--row-note-w:clamp(6.5rem, 14vw, 15rem);--row-note-h:calc(var(--control-h) * 2 + var(--row-actions-gap));--row-min-h:5rem}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:clamp(17px,.55vw + .55vh + 10px,22px)}body{background:var(--bg);color:var(--ink-2);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;touch-action:manipulation;margin:0;line-height:1.45}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--font-display);color:var(--ink);font-weight:700;line-height:1.2}svg{flex:none;display:block}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}input,select,textarea,button{font:inherit;color:inherit}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{width:100%;min-height:var(--control-h);background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius);font-size:var(--text-md);padding:.5rem .7rem}textarea{resize:vertical;min-height:5rem}input::placeholder,textarea::placeholder{color:var(--ink-muted);font-style:italic;font-weight:300}input:focus,textarea:focus{border-color:var(--ink-muted)}input:disabled,textarea:disabled{background:var(--surface-alt);color:var(--ink-muted)}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.form{flex-direction:column;gap:1rem;display:flex}.form label{font-size:var(--text-md);color:var(--ink);flex-direction:column;gap:.35rem;font-weight:600;display:flex}.form p{font-size:var(--text-base);color:var(--ink-2)}.error{border-left:3px solid var(--tone-danger-bd);color:var(--tone-danger-fg);font-size:var(--text-base);white-space:pre-line;margin:0;padding-left:.7rem}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:5;min-height:var(--topbar-h);padding:.5rem var(--page-pad);background:var(--surface-alt);border-bottom:1px solid var(--border);align-items:center;gap:1rem;display:flex;position:sticky;top:0}.topbar-brand{flex:none;align-items:center;display:flex}.topbar .brand-logo{width:9rem}.topbar-end{align-items:center;gap:.75rem;min-width:0;margin-left:auto;display:flex}.topbar-station{flex:none;align-items:center;display:flex}.topbar-username{font-size:var(--text-md);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}@media (width<=46rem){.topbar-username{display:none}}.app-main{min-width:0;padding:1.25rem var(--page-pad) 2.5rem;flex:1}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.page-title{font-size:var(--text-title);letter-spacing:-.02em}.page-head-title{flex:100%;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.page-head-end{flex-wrap:wrap;align-items:center;gap:.75rem;margin-left:auto;display:flex}.page-meta{font-size:var(--text-md);color:var(--ink-2);white-space:nowrap;font-weight:600}.page-note{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--ink-muted);font-size:var(--text-lg);text-align:center;padding:3rem 1.5rem}.forbidden{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;max-width:34rem;margin:3rem auto;padding:1.75rem}.forbidden .error{text-align:left}.forbidden p+p{margin-top:1rem}.forbidden .btn{margin-top:1.5rem}.brand-logo{width:100%;height:auto;display:block}.badge{border-radius:var(--radius);font-size:var(--text-md);white-space:nowrap;border:1px solid #0000;align-items:center;gap:.45rem;padding:.25rem .6rem;font-weight:600;line-height:1.3;display:inline-flex}[data-tone=neutral]{--t-fg:var(--tone-neutral-fg);--t-bg:var(--tone-neutral-bg);--t-bd:var(--tone-neutral-bd)}[data-tone=danger]{--t-fg:var(--tone-danger-fg);--t-bg:var(--tone-danger-bg);--t-bd:var(--tone-danger-bd)}[data-tone=priority-urgent]{--t-fg:var(--tone-priority-urgent-fg);--t-bg:var(--tone-priority-urgent-bg);--t-bd:var(--tone-priority-urgent-bd)}[data-tone=priority-high]{--t-fg:var(--tone-priority-high-fg);--t-bg:var(--tone-priority-high-bg);--t-bd:var(--tone-priority-high-bd)}[data-tone=priority-normal]{--t-fg:var(--tone-priority-normal-fg);--t-bg:var(--tone-priority-normal-bg);--t-bd:var(--tone-priority-normal-bd)}[data-tone=priority-low]{--t-fg:var(--tone-priority-low-fg);--t-bg:var(--tone-priority-low-bg);--t-bd:var(--tone-priority-low-bd)}[data-tone=priority-lowest]{--t-fg:var(--tone-priority-lowest-fg);--t-bg:var(--tone-priority-lowest-bg);--t-bd:var(--tone-priority-lowest-bd)}[data-tone=status-new]{--t-fg:var(--tone-status-new-fg);--t-bg:var(--tone-status-new-bg);--t-bd:var(--tone-status-new-bd)}[data-tone=status-planning]{--t-fg:var(--tone-status-planning-fg);--t-bg:var(--tone-status-planning-bg);--t-bd:var(--tone-status-planning-bd)}[data-tone=status-cut]{--t-fg:var(--tone-status-cut-fg);--t-bg:var(--tone-status-cut-bg);--t-bd:var(--tone-status-cut-bd)}[data-tone=status-fill]{--t-fg:var(--tone-status-fill-fg);--t-bg:var(--tone-status-fill-bg);--t-bd:var(--tone-status-fill-bd)}[data-tone=status-bend]{--t-fg:var(--tone-status-bend-fg);--t-bg:var(--tone-status-bend-bg);--t-bd:var(--tone-status-bend-bd)}[data-tone=status-weld]{--t-fg:var(--tone-status-weld-fg);--t-bg:var(--tone-status-weld-bg);--t-bd:var(--tone-status-weld-bd)}[data-tone=status-socket]{--t-fg:var(--tone-status-socket-fg);--t-bg:var(--tone-status-socket-bg);--t-bd:var(--tone-status-socket-bd)}[data-tone=status-pack]{--t-fg:var(--tone-status-pack-fg);--t-bg:var(--tone-status-pack-bg);--t-bd:var(--tone-status-pack-bd)}[data-tone=status-turn]{--t-fg:var(--tone-status-turn-fg);--t-bg:var(--tone-status-turn-bg);--t-bd:var(--tone-status-turn-bd)}[data-tone=status-assembly]{--t-fg:var(--tone-status-assembly-fg);--t-bg:var(--tone-status-assembly-bg);--t-bd:var(--tone-status-assembly-bd)}[data-tone=status-hp-pack]{--t-fg:var(--tone-status-hp-pack-fg);--t-bg:var(--tone-status-hp-pack-bg);--t-bd:var(--tone-status-hp-pack-bd)}[data-tone=status-done]{--t-fg:var(--tone-status-done-fg);--t-bg:var(--tone-status-done-bg);--t-bd:var(--tone-status-done-bd)}[data-tone=status-cancelled]{--t-fg:var(--tone-status-cancelled-fg);--t-bg:var(--tone-status-cancelled-bg);--t-bd:var(--tone-status-cancelled-bd)}[data-tone=work-idle]{--t-fg:var(--tone-work-idle-fg);--t-bg:var(--tone-work-idle-bg);--t-bd:var(--tone-work-idle-bd)}[data-tone=work-progress]{--t-fg:var(--tone-work-progress-fg);--t-bg:var(--tone-work-progress-bg);--t-bd:var(--tone-work-progress-bd)}[data-tone=work-stopped]{--t-fg:var(--tone-work-stopped-fg);--t-bg:var(--tone-work-stopped-bg);--t-bd:var(--tone-work-stopped-bd)}.badge-solid{background:var(--t-bg);border-color:var(--t-bd);color:var(--t-fg)}.badge-outline{background:var(--surface);border-color:var(--t-bd);color:var(--t-fg)}.badge-plain{color:var(--t-fg);font-size:var(--text-lg);background:0 0;border:none;gap:.5rem;padding:0;font-weight:700}.badge-dot{background:currentColor;width:.6rem;height:.6rem}.badge-plain .badge-dot{width:.85rem;height:.85rem}.btn{min-height:var(--control-h);background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius);font-size:var(--text-md);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .9rem;font-weight:600;line-height:1.2;display:inline-flex}.btn:active:not(:disabled){background:var(--surface-alt);transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-filter{justify-content:flex-start;min-width:10.5rem}.btn-filter[aria-pressed=true]{background:var(--surface-alt);border-color:var(--ink)}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--on-dark)}.btn-primary:active:not(:disabled){background:var(--ink-hover);border-color:var(--ink-hover)}.btn-production{background:var(--production);border-color:var(--production);color:var(--on-dark)}.btn-production:active:not(:disabled){background:var(--production-dark);border-color:var(--production-dark)}.btn-resume{border-width:3px;border-color:var(--production);color:var(--production);background:0 0}.btn-resume:active:not(:disabled){background:var(--tone-work-progress-bg);border-color:var(--production-dark);color:var(--production-dark)}.btn-warning{border-color:var(--tone-work-stopped-bd);background:var(--tone-work-stopped-bg);color:var(--tone-work-stopped-fg)}.btn-icon{width:var(--control-h);min-width:var(--control-h);padding:0}.btn-block{width:100%}.order-list{flex-direction:column;gap:.75rem;display:flex}.list-divider{border:0;border-top:2px solid var(--border-strong);margin:.75rem 0}.order-row{grid-template-columns:var(--row-slot-w) minmax(0, 1fr) var(--row-note-w) var(--row-actions-w);min-height:var(--row-min-h);--row-bg:var(--surface);background:var(--row-bg);border:1px solid var(--border);border-radius:var(--radius);grid-template-areas:"slot ident note actions";align-items:center;gap:.75rem 1rem;padding:.8rem 1rem;display:grid}.order-row[data-priority-tone]{border-left:var(--row-stripe-w) solid var(--t-fg,var(--border-strong))}.order-row[data-priority-tone=priority-urgent]{--t-fg:var(--tone-priority-urgent-fg)}.order-row[data-priority-tone=priority-high]{--t-fg:var(--tone-priority-high-fg)}.order-row[data-priority-tone=priority-normal]{--t-fg:var(--tone-priority-normal-fg)}.order-row[data-priority-tone=priority-low]{--t-fg:var(--tone-priority-low-fg)}.order-row[data-priority-tone=priority-lowest]{--t-fg:var(--tone-priority-lowest-fg)}.order-row[data-work-status=not_started]{--row-bg:var(--surface)}.order-row[data-work-status=in_progress]{--row-bg:var(--tone-work-progress-row)}.order-row[data-work-status=stopped]{--row-bg:var(--tone-work-stopped-row)}.order-row[data-work-status=stopped] .row-stage,.order-row[data-work-status=stopped] .row-note:not(.is-empty){background:var(--surface)}.row-clickable{cursor:pointer}.row-clickable:active{filter:brightness(.97)}.row-slot{background:var(--surface-alt);min-height:2.6rem;color:var(--ink);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-xl);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:slot;justify-content:center;align-self:center;align-items:center;padding:.2rem .35rem;font-weight:700;line-height:1;display:flex}.row-signals{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-area:priority;grid-auto-rows:1fr;align-self:stretch;gap:1px;min-width:0;display:grid;overflow:hidden}.row-signal{background:var(--row-bg);color:var(--t-fg,var(--ink));font-size:var(--text-md);text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;padding:.3rem .4rem;font-weight:700;line-height:1.15;display:flex}.row-signal.is-labelled{flex-direction:column;gap:.05rem}.row-signal-label{font-size:var(--text-sm);color:var(--ink-2);opacity:.85;font-weight:600;line-height:1.2}.row-signal-value{line-height:1.15}.row-ident{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-area:ident;align-self:stretch;gap:1px;min-width:0;display:grid;overflow:hidden}.row-ident[data-layout=spec-due]{grid-template:"num num num""size size power"1fr"qty telmik due"1fr/1fr 1fr 2.2fr}.row-ident[data-layout=spec-nodue]{grid-template:"num num""size power"1fr"qty telmik"1fr/.8fr 1.2fr}.row-ident[data-layout=plain-due]{grid-template:"num num""qty due"1fr/1fr 2fr}.row-ident[data-layout=plain-nodue]{grid-template:"num""qty"1fr/1fr}.row-cell{background:var(--row-bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.05rem;min-width:0;padding:.35rem .45rem;display:flex}.row-cell-num{grid-area:num;padding:.15rem .45rem}.row-cell-num.has-work{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem}.row-cell-work{color:var(--t-fg,var(--ink-2));font-size:var(--text-base);white-space:nowrap;flex:none;font-weight:700;line-height:1.2}.row-cell-number{color:var(--ink-muted);min-width:0;font-size:var(--text-lg);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:600;line-height:1.2;overflow:hidden}.row-cell-size{grid-area:size}.row-cell-power{flex-flow:wrap;grid-area:power;gap:.15rem .5rem}.row-cell-hero{color:var(--ink);font-size:var(--text-2xl);overflow-wrap:anywhere;font-weight:700;line-height:1.15}.row-cell-qty{grid-area:qty}.row-cell-telmik{grid-area:telmik}.row-cell-due{grid-area:due}.row-cell-label{font-size:var(--text-sm);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:600;line-height:1.2;overflow:hidden}.row-cell-value{color:var(--ink);font-size:var(--text-xl);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2}.row-cell-telmik .row-cell-value{color:var(--ink-muted);font-weight:600}.row-cell-progress{color:var(--production)}.row-cell-slash{color:var(--ink-muted);font-weight:600}.row-cell-due .row-cell-value{color:var(--tone-due-fg)}.row-cell-due .row-cell-value.is-overdue{color:var(--tone-danger-fg)}.row-cell-note{font-size:var(--text-sm);color:var(--tone-danger-fg);font-weight:600;line-height:1.2}.row-actions{align-self:center;gap:var(--row-actions-gap);grid-area:actions;display:grid}.row-note{height:var(--row-note-h);background:var(--surface-alt);width:100%;color:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius);text-align:left;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;grid-area:note;align-self:center;align-items:flex-start;gap:.2rem;padding:.45rem .6rem;display:flex;overflow:hidden}.row-note:active{filter:brightness(.95)}.row-note.is-empty{color:var(--ink-muted);cursor:inherit;background:0 0;border-style:dashed}.row-note-line{align-items:baseline;gap:.4rem;min-width:0;display:flex}.row-note-tag{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-2);flex:none;font-weight:700;line-height:1.2}.row-note-line .row-note-text{-webkit-line-clamp:2;line-clamp:2}.row-note-line:only-child .row-note-text{-webkit-line-clamp:3;line-clamp:3}.row-note-label{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-2);flex:none;font-weight:600;line-height:1.2}.row-note-text{-webkit-line-clamp:3;line-clamp:3;min-width:0;font-size:var(--text-base);color:inherit;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.row-note:not(.is-empty) .row-note-text{color:var(--ink)}.note-section+.note-section{border-top:1px solid var(--border);margin-top:1.1rem;padding-top:1.1rem}.note-section-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-2);margin-bottom:.35rem;font-weight:700;display:block}.form label>.note-section-title{margin-bottom:0}.note-divider{border:0;border-top:1px solid var(--border);margin:0}.note-full{font-size:var(--text-md);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.45}.form .note-section .note-full{font-size:var(--text-md);color:var(--ink);font-weight:700}.row-error{grid-column:1/-1}.row-stages{border-top:1px solid var(--border);grid-column:1/-1;padding-top:.85rem}.row-stages-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-2);font-weight:600}.row-stages-list{flex-wrap:wrap;gap:.5rem .75rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.row-stage{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);color:var(--ink-2);white-space:nowrap;align-items:baseline;gap:.5rem;padding:.3rem .6rem;display:flex}.row-stage-name{color:var(--ink);font-weight:600}.row-stage-scrap{color:var(--tone-danger-fg)}@media (width<=60em){.order-row{grid-template-columns:var(--row-slot-w) minmax(0, 1fr) max-content;grid-template-areas:"slot ident ident""note note actions";align-items:start}.row-slot{align-self:start}.row-note{height:var(--control-h);justify-content:center;gap:.15rem}.row-note.is-empty{flex-direction:row;align-items:center;gap:.5rem}.row-note-text,.row-note-line .row-note-text,.row-note-line:only-child .row-note-text{-webkit-line-clamp:1;line-clamp:1}.row-note.is-compact{height:auto;min-height:var(--control-h)}.row-actions{display:flex}.row-actions .btn{flex:none}}@media (width<=40em){.order-row{grid-template-columns:var(--row-slot-w) minmax(0, 1fr);grid-template-areas:"slot ident""note note""actions actions";gap:.6rem}.row-note{height:auto;min-height:var(--control-h)}.row-actions .btn{flex:1;min-width:0}.row-note-text{-webkit-line-clamp:2;line-clamp:2}.row-signals{grid-auto-columns:1fr;grid-auto-flow:column}.row-ident[data-layout=spec-due]{grid-template:"num num""size power"1fr"qty telmik"1fr"due due"1fr/1fr 1fr}.row-ident[data-layout=plain-due]{grid-template:"num""qty"1fr"due"1fr/1fr}}.modal-overlay{z-index:25;background:var(--overlay);justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:34rem;max-height:calc(100vh - 4rem);overflow-y:auto}.modal-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem .75rem 1.25rem;display:flex;position:sticky;top:0}.modal-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink);font-weight:700}.modal-body{padding:1.25rem}.modal-lead{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);color:var(--ink-2);padding:.8rem .9rem}.modal-lead strong{color:var(--ink)}.account-facts{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:1rem 1.25rem;margin:0;display:grid}.account-fact{flex-direction:column;gap:.2rem;min-width:0;display:flex}.account-fact dt{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-2);font-weight:600;line-height:1.2}.account-fact dd{color:var(--ink);font-size:var(--text-lg);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:0;font-weight:700;line-height:1.2;display:flex}.account-actions{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.25rem}.login-page{place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:26rem;padding:2rem}.login-card .brand-logo{width:12rem}.login-title{margin-bottom:.1rem}.login-sub{font-size:var(--text-md);color:var(--ink-muted);margin:.4rem 0 1.6rem}.alert-overlay{z-index:30;background:var(--overlay);place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.alert-box{background:var(--surface);border:1px solid var(--border-strong);border-top:6px solid var(--accent);border-radius:var(--radius);flex-direction:column;width:100%;max-width:34rem;max-height:calc(100vh - 3rem);display:flex}.alert-head{background:var(--surface-alt);border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.75rem 1.25rem;display:flex}.alert-head-icon{color:var(--accent);flex:none}.alert-kicker{font-family:var(--font-display);font-size:var(--text-md);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:700}.alert-remaining{font-size:var(--text-sm);color:var(--ink-2);white-space:nowrap;margin-left:auto;font-weight:600}.alert-body{padding:1.25rem;overflow-y:auto}.alert-heading{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink);font-weight:700;line-height:1.25}.alert-order{font-size:var(--text-xl);letter-spacing:.01em;color:var(--ink);margin-top:.35rem;font-weight:700}.alert-facts{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.alert-fact{align-items:baseline;gap:.75rem;display:flex}.alert-fact-label{width:var(--row-fact-w);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-2);flex:none;font-weight:600}.alert-fact-value{font-size:var(--text-md);color:var(--ink);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:.4rem;font-weight:700;display:flex}.alert-fact-from{color:var(--ink-muted);font-weight:400}.alert-fact-arrow{color:var(--ink-muted)}.alert-fact-plain{color:var(--ink-2);font-weight:400}.alert-items{border:1px solid var(--border);border-radius:var(--radius);margin-top:1rem;list-style:none}.alert-item{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.6rem .75rem;display:flex}.alert-item:last-child{border-bottom:0}.alert-item-slot{min-width:1.8rem;font-size:var(--text-md);font-variant-numeric:tabular-nums;color:var(--ink-2);font-weight:700}.alert-item-number{font-size:var(--text-md);color:var(--ink);font-weight:700}.alert-item-quantity{font-size:var(--text-base);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.alert-item-summary{font-size:var(--text-base);color:var(--ink-2)}.alert-note{background:var(--tone-warning-bg);border:1px solid var(--tone-warning-bd);border-radius:var(--radius);font-size:var(--text-base);color:var(--tone-warning-fg);margin-top:1rem;padding:.8rem .9rem}.alert-actions{border-top:1px solid var(--border);padding:1rem 1.25rem}.foreman-row{grid-template-columns:var(--row-slot-w) var(--row-priority-w) minmax(0, 1fr) var(--row-note-w);grid-template-areas:"slot priority ident note"}.foreman-row.has-actions{grid-template-columns:var(--row-slot-w) var(--row-priority-w) minmax(0, 1fr) var(--row-note-w) var(--row-actions-w);grid-template-areas:"slot priority ident note actions"}.foreman-row.is-pending{grid-template-columns:var(--row-priority-w) minmax(0, 1fr) var(--row-note-w) var(--row-actions-w);grid-template-areas:"priority ident note actions"}.order-row.foreman-row.is-pending{--row-bg:var(--tone-status-planning-row)}.new-flag{z-index:1;background:var(--accent);color:var(--on-dark);border-radius:0 var(--radius) 0 var(--radius);font-size:var(--text-base);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;padding:.15rem .5rem;font-weight:700;line-height:1.35;position:absolute;top:-1px;right:-1px}.foreman-row.is-pending{position:relative}.foreman-row.is-pending .row-note:not(.is-empty){background:var(--surface)}.foreman-row.is-pending .row-note.is-empty{color:var(--ink-2)}.row-note.is-compact .row-note-text{-webkit-line-clamp:1;line-clamp:1}.foreman-row .row-note.is-empty{cursor:pointer}@media (width<=60em){.foreman-row{grid-template-columns:var(--row-slot-w) var(--row-priority-w) minmax(0, 1fr);grid-template-areas:"slot priority ident""note note note"}.foreman-row.has-actions{grid-template-columns:var(--row-slot-w) var(--row-priority-w) minmax(0, 1fr) max-content;grid-template-areas:"slot priority ident ident""note note note actions"}.foreman-row.is-pending{grid-template-columns:var(--row-priority-w) minmax(0, 1fr) max-content;grid-template-areas:"priority ident ident""note note actions";padding-top:2.4rem}}@media (width<=40em){.foreman-row{grid-template-columns:var(--row-slot-w) minmax(0, 1fr);grid-template-areas:"slot priority""ident ident""note note"}.foreman-row.has-actions{grid-template-columns:var(--row-slot-w) minmax(0, 1fr);grid-template-areas:"slot priority""ident ident""note note""actions actions"}.foreman-row.is-pending{grid-template-columns:minmax(0,1fr);grid-template-areas:"priority""ident""note""actions"}}.field-note{color:var(--ink-2);font-size:var(--text-sm);margin:-.4rem 0 0;line-height:1.35}.login-note{border-left:3px solid var(--border);font-size:var(--text-base);color:var(--ink-2);margin:-.9rem 0 1.4rem;padding-left:.7rem}.drawing-viewer-overlay{--viewer-bg:#1c1c1c;--viewer-bar:#2b2b2b;--viewer-ink:#fff;z-index:20;background:var(--viewer-bg);overscroll-behavior:contain;flex-direction:column;display:flex;position:fixed;inset:0}.drawing-viewer-bar{background:var(--viewer-bar);color:var(--viewer-ink);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.5rem .75rem;display:flex}.drawing-viewer-title{margin-right:auto;font-weight:600}.drawing-viewer-group{align-items:center;gap:.4rem;display:flex}.drawing-viewer-bar button{min-width:2.75rem;min-height:2.75rem;color:var(--viewer-ink);border-radius:var(--radius);cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #ffffff59;padding:0 .9rem;font-size:1rem;font-weight:600}.drawing-viewer-bar button:hover:not(:disabled){background:#ffffff1f}.drawing-viewer-bar button:disabled{opacity:.45;cursor:not-allowed}.drawing-viewer-close{border-color:#ffffff8c!important}.drawing-viewer-pageno{text-align:center;font-variant-numeric:tabular-nums;min-width:4rem}.drawing-viewer-stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.drawing-viewer-pan{cursor:grab;width:100%!important;height:100%!important}.drawing-viewer-content{line-height:0}.drawing-viewer-message{color:var(--viewer-ink);text-align:center;padding:2rem 1rem}.drawing-viewer-page-box{background:#fff;position:relative}.drawing-viewer-base{width:100%;height:100%;position:absolute;inset:0}.drawing-viewer-detail{position:absolute;top:0;left:0}.drawing-viewer-page-loading{color:#333;text-align:center;justify-content:center;align-items:center;margin:0;font-size:1rem;line-height:1.4;display:flex;position:absolute;inset:0}.drawing-viewer-refining{z-index:1;border-radius:var(--radius);background:var(--viewer-bar);color:var(--viewer-ink);opacity:.9;white-space:nowrap;pointer-events:none;padding:.25rem .6rem;font-size:.85rem;position:absolute;top:.5rem;right:.75rem}.drawing-viewer-footer{background:var(--surface);border-top:1px solid var(--border);flex:none}.viewer-panel{padding:.7rem var(--page-pad);flex-wrap:wrap;align-items:center;gap:.6rem 1.25rem;display:flex}.viewer-panel-facts{flex-wrap:wrap;align-items:center;gap:.5rem .9rem;min-width:0;display:flex}.viewer-panel-quantity{white-space:nowrap;align-items:baseline;gap:.4rem;display:flex}.viewer-panel-quantity-label{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-2);font-weight:600}.viewer-panel-quantity-value{color:var(--ink);font-size:var(--text-md);font-variant-numeric:tabular-nums;font-weight:700}.viewer-panel-form{align-items:center;gap:.6rem;margin-left:auto;display:flex}.viewer-panel-field{font-size:var(--text-md);color:var(--ink);white-space:nowrap;font-weight:600}.viewer-panel .viewer-panel-form input[type=number]{text-align:center;width:5rem;font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700}.viewer-panel-submit{min-width:9.5rem}.viewer-panel-error{flex-basis:100%}@media (width<=48em){.viewer-panel-form{flex-wrap:wrap;width:100%;margin-left:0}.viewer-panel .viewer-panel-form input[type=number]{flex:1;width:auto;min-width:0}}.order-screen{z-index:20;background:var(--bg);overscroll-behavior:contain;flex-direction:column;display:flex;position:fixed;inset:0}.order-screen-bar{padding:.5rem var(--page-pad);background:var(--surface);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:.75rem;display:flex}.order-screen-title{overflow-wrap:anywhere;min-width:0;font-size:var(--text-xl);color:var(--ink);margin-right:auto;font-weight:700}.order-screen-close{flex:none}.order-screen-body{min-height:0;padding:var(--page-pad);flex-direction:column;flex:1;gap:1rem;display:flex;overflow-y:auto}.order-screen-body>*{width:100%;max-width:52rem;margin-inline:auto}.order-screen-notice{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:.35rem;padding:1rem;display:flex}.order-screen-notice[data-kind=problem]{background:var(--tone-warning-bg);border-color:var(--tone-warning-bd)}.order-screen-notice-head{font-size:var(--text-title);color:var(--ink);font-weight:700;line-height:1.15}.order-screen-notice[data-kind=problem] .order-screen-notice-head{color:var(--tone-warning-fg)}.order-screen-notice-detail{font-size:var(--text-base);color:var(--ink-2);line-height:1.4}.order-screen-facts{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:1rem 1.25rem;margin:0;padding:1rem;display:grid}.order-screen-fact{flex-direction:column;gap:.2rem;min-width:0;display:flex}.order-screen-fact dt{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-2);font-weight:600;line-height:1.2}.order-screen-fact dd{color:var(--ink);font-size:var(--text-lg);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:0;font-weight:700;line-height:1.2;display:flex}.order-screen-fact-wide{grid-column:1/-1}.order-screen-fact dd.is-overdue{color:var(--tone-danger-fg)}.order-screen-overdue{font-size:var(--text-sm);color:var(--tone-danger-fg);font-weight:600}.order-screen-note{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.4rem;padding:1rem;display:flex}.order-screen-note-label{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-2);font-weight:600}.order-screen-footer{background:var(--surface);border-top:1px solid var(--border);flex:none}.plan-lead{color:var(--ink-2);font-size:var(--text-md);margin:0;line-height:1.4}.plan-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.plan-slot{grid-template-columns:var(--row-slot-w) minmax(0, 1fr) max-content;background:var(--surface);border:1px solid var(--border);border-left:var(--row-stripe-w) solid var(--t-fg,var(--border-strong));border-radius:var(--radius);align-items:center;gap:.75rem 1rem;padding:.75rem 1rem;display:grid}.plan-slot.is-new{background:var(--tone-status-planning-row);padding-top:2.3rem;position:relative}.plan-slot[data-priority-tone=priority-urgent]{--t-fg:var(--tone-priority-urgent-fg)}.plan-slot[data-priority-tone=priority-high]{--t-fg:var(--tone-priority-high-fg)}.plan-slot[data-priority-tone=priority-normal]{--t-fg:var(--tone-priority-normal-fg)}.plan-slot[data-priority-tone=priority-low]{--t-fg:var(--tone-priority-low-fg)}.plan-slot[data-priority-tone=priority-lowest]{--t-fg:var(--tone-priority-lowest-fg)}.plan-slot-number{background:var(--surface-alt);min-height:2.6rem;color:var(--ink);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-xl);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:.2rem .35rem;font-weight:700;line-height:1;display:flex}.plan-slot-ident{flex-direction:column;gap:.3rem;min-width:0;display:flex}.plan-slot-number-text{color:var(--ink);font-size:var(--text-lg);white-space:nowrap;font-weight:700}.plan-slot-spec{color:var(--ink-2);font-size:var(--text-base)}.plan-slot-badges{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.plan-slot-quantity{color:var(--ink-2);font-size:var(--text-base);white-space:nowrap}.plan-slot-moves{flex-direction:column;gap:.4rem;display:flex}.plan-move{width:var(--control-h);height:var(--control-h)}.plan-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.plan-error{flex:100%;margin:0}.order-screen-stages,.order-screen-notes{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:1rem;display:flex}.order-screen-notes.is-editable{cursor:pointer;-webkit-tap-highlight-color:transparent}.order-screen-notes.is-editable:active{filter:brightness(.96)}.order-screen-notes.is-empty{background:0 0;border-style:dashed}.order-screen-notes-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.order-screen-notes-hint{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);color:var(--ink-2);font-size:var(--text-sm);flex:none;padding:.2rem .6rem;font-weight:600}.plan-stage-choices{flex-direction:column;gap:.75rem;display:flex}.plan-stage-choice{min-height:calc(var(--control-h) * 1.4);justify-content:flex-start;gap:.9rem;padding:.75rem 1rem}.plan-stage-count{color:var(--ink-2);font-size:var(--text-base);font-weight:400}
