:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-size-3xl:2.25rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-base:1.5;--letter-spacing-caps:.08em;--letter-spacing-tight:-.015em;--letter-spacing-display:-.025em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--tap-target:48px;--tap-target-compact:40px;--content-max:72rem;--reading-max:36rem;--topbar-height:64px;--border-width:1px;--focus-ring-width:3px;--focus-offset:2px;--stripe-width:4px;--opacity-disabled:.5;--breakpoint-phone:600px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--rise-distance:6px;--lift-distance:-1px;--press-distance:1px;--color-paper:#f6f4ef;--color-surface:#fff;--color-surface-sunken:#eeebe4;--color-ink:#1a1e23;--color-ink-muted:#5a636e;--color-ink-faint:#8a929c;--color-line:#dcd7cc;--color-line-strong:#b9b2a4;--color-accent:#0079a8;--color-accent-hover:#00648c;--color-accent-soft:#e0f3fa;--color-on-accent:#fff;--color-danger:#c22d3a;--color-danger-hover:#a3222e;--color-danger-soft:#fbe9ea;--color-on-danger:#fff;--color-focus:#00a3e0;--color-backdrop:#1a1e2373;--color-topbar:#ffffffd1;--color-print-paper:#fff;--color-print-ink:#000;--status-quote-fg:#46505c;--status-quote-bg:#edeef0;--status-quote-edge:#8a929c;--status-awaiting-approval-fg:#8a4b00;--status-awaiting-approval-bg:#fff1d6;--status-awaiting-approval-edge:#e59a1a;--status-changes-requested-fg:#a1135a;--status-changes-requested-bg:#fde6f1;--status-changes-requested-edge:#e0338a;--status-approved-fg:#186a3b;--status-approved-bg:#ddf4e5;--status-approved-edge:#2fa560;--status-printing-fg:#005f85;--status-printing-bg:#dcf1fa;--status-printing-edge:#00a3e0;--status-ready-fg:#4b3aa8;--status-ready-bg:#ebe7fc;--status-ready-edge:#7a66e0;--status-collected-fg:#3f5a4c;--status-collected-bg:#e6ece8;--status-collected-edge:#7e9a8b;--status-cancelled-fg:#6b6f75;--status-cancelled-bg:#f0efed;--status-cancelled-edge:#b0b3b8;--shadow-sm:0 1px 2px #1a1e230f;--shadow-md:0 1px 2px #1a1e230f, 0 4px 12px #1a1e230f;--shadow-lg:0 2px 4px #1a1e230f, 0 12px 32px #1a1e231f}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-paper:#111417;--color-surface:#191d22;--color-surface-sunken:#0c0e11;--color-ink:#ebe8e2;--color-ink-muted:#a0a8b2;--color-ink-faint:#6e7781;--color-line:#2b3138;--color-line-strong:#434b55;--color-accent:#3cc6f5;--color-accent-hover:#6dd5f8;--color-accent-soft:#0b2f3d;--color-on-accent:#04212d;--color-danger:#f0646f;--color-danger-hover:#f58b93;--color-danger-soft:#3a1418;--color-on-danger:#2a0509;--color-focus:#6dd5f8;--color-backdrop:#0009;--color-topbar:#191d22d1;--status-quote-fg:#c3c9d0;--status-quote-bg:#252a30;--status-quote-edge:#6e7781;--status-awaiting-approval-fg:#ffc46b;--status-awaiting-approval-bg:#3a2a0d;--status-awaiting-approval-edge:#e59a1a;--status-changes-requested-fg:#ff8cc3;--status-changes-requested-bg:#3d1229;--status-changes-requested-edge:#e0338a;--status-approved-fg:#7ddda2;--status-approved-bg:#12301f;--status-approved-edge:#2fa560;--status-printing-fg:#7fd6f7;--status-printing-bg:#0b2f3d;--status-printing-edge:#00a3e0;--status-ready-fg:#b9adff;--status-ready-bg:#251f4a;--status-ready-edge:#7a66e0;--status-collected-fg:#a9c2b4;--status-collected-bg:#1e2823;--status-collected-edge:#5f7a6b;--status-cancelled-fg:#8f959c;--status-cancelled-bg:#202327;--status-cancelled-edge:#4d535a;--shadow-sm:0 1px 2px #0006;--shadow-md:0 1px 2px #0006, 0 4px 12px #0000004d;--shadow-lg:0 2px 4px #0006, 0 12px 32px #00000080}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:var(--space-0);background:var(--color-paper);min-height:100vh;color:var(--color-ink);font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{margin:var(--space-0);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}p{margin:var(--space-0)}a{color:var(--color-accent)}a:hover{color:var(--color-accent-hover)}:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-offset)}::selection{background:var(--color-accent-soft);color:var(--color-ink)}::placeholder{color:var(--color-ink-faint);opacity:1}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@keyframes rise{0%{opacity:0;transform:translateY(var(--rise-distance))}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.mono,.job-number{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.eyebrow{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-ink-muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{top:var(--space-0);z-index:10;background:var(--color-topbar);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:var(--border-width) solid var(--color-line);box-shadow:var(--shadow-sm);position:sticky}.topbar__inner{max-width:var(--content-max);margin:var(--space-0) auto;min-height:var(--topbar-height);padding:var(--space-2) var(--space-6);align-items:center;gap:var(--space-6);display:flex}.brand{align-items:center;gap:var(--space-2);min-height:var(--tap-target);color:var(--color-ink);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);letter-spacing:var(--letter-spacing-tight);white-space:nowrap;text-decoration:none;display:inline-flex}.brand:hover{color:var(--color-ink)}.brand__mark{color:var(--color-ink);flex:none}.brand__sub{font-weight:var(--font-weight-regular);color:var(--color-ink-muted)}.topnav{gap:var(--space-1);flex:1;display:flex}.topnav__link{min-height:var(--tap-target);padding:var(--space-0) var(--space-4);border-radius:var(--radius-md);color:var(--color-ink-muted);font-weight:var(--font-weight-medium);transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);align-items:center;text-decoration:none;display:inline-flex;position:relative}.topnav__link:hover{color:var(--color-ink);background:var(--color-surface-sunken)}.topnav__link[aria-current=page]{color:var(--color-ink);background:var(--color-accent-soft)}.topnav__link[aria-current=page]:after{content:"";left:var(--space-4);right:var(--space-4);bottom:var(--space-1);height:var(--focus-ring-width);border-radius:var(--radius-pill);background:var(--color-accent);position:absolute}.page{width:100%;max-width:var(--content-max);margin:var(--space-0) auto;padding:var(--space-10) var(--space-6) var(--space-16);flex:1}.page>*+*{margin-top:var(--space-6)}.page>*,.approve-screen__inner{animation:rise var(--duration-slow) var(--ease-out) both}.page-header{align-items:center;gap:var(--space-2) var(--space-6);padding-bottom:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.page-header>*{grid-column:1}.page-header__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-display)}.page-header__lede{color:var(--color-ink-muted);max-width:var(--reading-max)}.page-header__lede:has(.badge){align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.page-header__action{grid-area:1/2/span 2}@media (width<=600px){.topbar__inner{gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-4);flex-wrap:wrap}.brand{flex:1}.brand__sub{display:none}.topnav{flex-basis:100%;order:3}.topnav__link{flex:1;justify-content:center}.page{padding:var(--space-6) var(--space-4) var(--space-12)}.page-header__title{font-size:var(--font-size-2xl)}.page-header__action{grid-area:auto/1;justify-self:start}}.approve-screen{min-height:100vh;padding:var(--space-8) var(--space-4);background:var(--color-paper);justify-content:center;display:flex}.approve-screen__inner{width:100%;max-width:var(--reading-max);gap:var(--space-6);flex-direction:column;display:flex}.approve-screen__title{font-size:var(--font-size-3xl);text-align:center}.approve__header{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.approve__header .approve-screen__title{margin:0}.approve__job{font-size:var(--font-size-lg);color:var(--color-ink-muted);margin:0}.approve__proof{gap:var(--space-4);border-top:var(--space-1) solid var(--status-awaiting-approval-edge);flex-direction:column;display:flex}.approve__proof-title{font-size:var(--font-size-xl);margin:0}.approve__note{font-size:var(--font-size-lg);margin:0}.approve__facts{gap:var(--space-4);flex-direction:column;margin:0;display:flex}.approve__facts dt{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-ink-muted)}.approve__facts dd{margin:var(--space-1) 0 0;font-size:var(--font-size-lg)}.approve__total{padding-top:var(--space-4);border-top:var(--border-width) solid var(--color-line)}.approve__total dd{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.approve__form{gap:var(--space-6);flex-direction:column;display:flex}.approve__legend,.approve__label{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.approve__check{font-size:var(--font-size-lg);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-md)}.approve__check:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.approve__input{font-size:var(--font-size-lg)}.approve__error{font-size:var(--font-size-md)}.approve__actions{gap:var(--space-3);flex-direction:column;display:flex}.approve__big-btn{min-height:calc(var(--tap-target) + var(--space-4));font-size:var(--font-size-lg)}.approve__done{text-align:center;justify-content:center;align-items:center;min-height:60vh}.approve__tick{width:var(--space-16);height:var(--space-16);border-radius:var(--radius-pill);background:var(--status-approved-bg);color:var(--status-approved-fg);font-size:var(--font-size-3xl);box-shadow:0 0 0 var(--space-2) var(--status-approved-bg);animation:pop var(--duration-slow) var(--ease-out) both;place-items:center;display:grid}.approve__thanks{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}@media (width<=600px){.approve-screen{padding:var(--space-6) var(--space-3)}.approve-screen__title{font-size:var(--font-size-2xl)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:var(--space-0) var(--space-5);border:var(--border-width) solid transparent;border-radius:var(--radius-md);font:inherit;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);text-decoration:none;display:inline-flex}.btn:active{transform:translateY(var(--press-distance))}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:var(--opacity-disabled);transform:none}.btn__icon{font-size:var(--font-size-lg);font-weight:var(--font-weight-regular)}.btn--primary{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-sm)}.btn--primary:hover{background:var(--color-accent-hover);color:var(--color-on-accent);box-shadow:var(--shadow-md)}.btn--primary[aria-current=page]{box-shadow:var(--shadow-sm), 0 0 0 var(--focus-ring-width) var(--color-accent-soft)}.btn--secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-line-strong)}.btn--secondary:hover{background:var(--color-surface-sunken);border-color:var(--color-ink-faint);color:var(--color-ink)}.btn--danger{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger)}.btn--danger:hover{background:var(--color-danger);color:var(--color-on-danger)}.btn--block{width:100%}.badge{--badge-fg:var(--status-quote-fg);--badge-bg:var(--status-quote-bg);--badge-edge:var(--status-quote-edge);align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);border:var(--border-width) solid var(--badge-edge);background:var(--badge-bg);color:var(--badge-fg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);white-space:nowrap;display:inline-flex}.badge:before{content:"";width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill);background:var(--badge-edge)}.badge[data-status=awaiting-approval]{--badge-fg:var(--status-awaiting-approval-fg);--badge-bg:var(--status-awaiting-approval-bg);--badge-edge:var(--status-awaiting-approval-edge)}.badge[data-status=changes-requested]{--badge-fg:var(--status-changes-requested-fg);--badge-bg:var(--status-changes-requested-bg);--badge-edge:var(--status-changes-requested-edge)}.badge[data-status=approved]{--badge-fg:var(--status-approved-fg);--badge-bg:var(--status-approved-bg);--badge-edge:var(--status-approved-edge)}.badge[data-status=printing]{--badge-fg:var(--status-printing-fg);--badge-bg:var(--status-printing-bg);--badge-edge:var(--status-printing-edge)}.badge[data-status=ready]{--badge-fg:var(--status-ready-fg);--badge-bg:var(--status-ready-bg);--badge-edge:var(--status-ready-edge)}.badge[data-status=collected]{--badge-fg:var(--status-collected-fg);--badge-bg:var(--status-collected-bg);--badge-edge:var(--status-collected-edge)}.badge[data-status=cancelled]{--badge-fg:var(--status-cancelled-fg);--badge-bg:var(--status-cancelled-bg);--badge-edge:var(--status-cancelled-edge);text-decoration:line-through}.badge--danger{--badge-fg:var(--color-danger);--badge-bg:var(--color-danger-soft);--badge-edge:var(--color-danger)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-ink)}.field__hint{font-size:var(--font-size-sm);color:var(--color-ink-muted)}.field__error{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-danger)}.input,.select,.textarea{width:100%;min-height:var(--tap-target);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font:inherit;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.textarea{min-height:calc(var(--tap-target) * 2);resize:vertical}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-ink-faint)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 var(--focus-ring-width) var(--color-accent-soft);outline:none}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-danger)}.checkbox{align-items:center;gap:var(--space-3);min-height:var(--tap-target);cursor:pointer;display:flex}.checkbox input{width:var(--space-6);height:var(--space-6);accent-color:var(--color-accent)}.fieldset{margin:var(--space-0);padding:var(--space-0);gap:var(--space-4);border:none;flex-direction:column;display:flex}.fieldset legend{padding:var(--space-0);margin-bottom:var(--space-2)}.affix{align-items:center;gap:var(--space-2);color:var(--color-ink-muted);font-variant-numeric:tabular-nums;display:flex}.affix .input{min-width:6rem}.alert{margin:var(--space-0);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-danger);border-left-width:var(--stripe-width);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger);font-weight:var(--font-weight-medium)}.note{margin:var(--space-0);color:var(--color-ink-muted);font-size:var(--font-size-sm)}.confirm{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.confirm>p{font-weight:var(--font-weight-medium);flex-basis:100%}.card.confirm{border-color:var(--color-danger);box-shadow:0 0 0 var(--focus-ring-width) var(--color-danger-soft);animation:rise var(--duration-base) var(--ease-out) both;flex-direction:column;align-items:stretch}.card{gap:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);padding:var(--space-6);flex-direction:column;display:flex}.card>.btn{align-self:flex-start}.card .table-wrap{border-radius:var(--radius-md)}.card__header{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.card p{margin:var(--space-0)}@media (width<=600px){.card{padding:var(--space-4)}}.table-wrap{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);overflow-x:auto}.table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.table th,.table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:var(--border-width) solid var(--color-line)}.table tbody th{font-weight:var(--font-weight-medium)}.table thead th,.table thead td{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-ink-muted);background:var(--color-surface-sunken)}.table tr:last-child td{border-bottom:none}.table .num,.table td.num,.table th.num{text-align:right}.table tbody tr{transition:background-color var(--duration-fast) var(--ease-out)}.table tbody tr:hover{background:var(--color-surface-sunken)}.empty-state{align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center;background:var(--color-surface);border:var(--border-width) dashed var(--color-line-strong);border-radius:var(--radius-lg);flex-direction:column;display:flex}.empty-state__art{width:var(--space-16);height:var(--space-16);margin-bottom:var(--space-2);position:relative}.empty-state__art span{inset:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-sm);position:absolute}.empty-state__art span:first-child{transform:rotate(-8deg)}.empty-state__art span:nth-child(2){transform:rotate(5deg)}.empty-state__art span:nth-child(3){border-top:var(--focus-ring-width) solid var(--color-accent)}.empty-state__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.empty-state__body{max-width:var(--reading-max);color:var(--color-ink-muted)}.empty-state__action{margin-top:var(--space-3)}.print-only{display:none}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--color-print-paper);color:var(--color-print-ink)}.no-print,.topbar{display:none!important}.print-only{display:block}.page{max-width:none;padding:var(--space-0)}.page>*{animation:none}.card,.table-wrap{box-shadow:none}}@page{margin:14mm}.job-ticket{color:var(--color-print-ink);background:var(--color-print-paper);font-family:var(--font-sans);font-size:13pt;line-height:var(--line-height-tight);break-inside:avoid}.job-ticket p{margin:0}.job-ticket__header{border-bottom:1.5mm solid var(--color-print-ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4mm 8mm;padding-bottom:4mm;display:flex}.job-ticket__eyebrow{font-size:11pt;font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;flex-basis:100%}.job-ticket__number{font-family:var(--font-mono);font-size:64pt;font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:1}.job-ticket__due{font-size:18pt}.job-ticket__banner{border:2mm solid var(--color-print-ink);background:var(--color-print-ink);color:var(--color-print-paper);font-size:30pt;font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-caps);text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:6mm 4mm;margin-top:6mm!important}.job-ticket__approval{border:.75mm solid var(--color-print-ink);margin-top:6mm;padding:4mm}.job-ticket__approval-line{font-size:15pt;font-weight:var(--font-weight-bold);margin-bottom:3mm!important}.job-ticket__section{margin-top:6mm}.job-ticket__heading{border-bottom:.3mm solid var(--color-print-ink);font-size:11pt;font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;margin:0 0 2mm;padding-bottom:1mm}.job-ticket__customer{font-size:20pt;font-weight:var(--font-weight-bold)}.job-ticket__list{gap:1.5mm;margin:0;display:grid}.job-ticket__list--spec{font-size:16pt}.job-ticket__row{grid-template-columns:38mm 1fr;gap:4mm;display:grid}.job-ticket__row dt{font-weight:var(--font-weight-regular)}.job-ticket__row dd{font-weight:var(--font-weight-bold);margin:0}.job-ticket__notes{white-space:pre-wrap;font-size:14pt}.job-filters{gap:var(--space-3);margin-bottom:var(--space-4);display:grid}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{min-height:var(--tap-target-compact);padding:0 var(--space-4);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-muted);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out)}.chip:hover{border-color:var(--color-line-strong);color:var(--color-ink)}.chip:active{transform:translateY(var(--press-distance))}.chip[aria-pressed=true]{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-surface);font-weight:var(--font-weight-semibold)}.job-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.job-row{align-items:center;gap:var(--space-4);min-height:var(--tap-target);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:inset var(--stripe-width) 0 0 var(--row-edge,var(--color-line)), var(--shadow-sm);color:inherit;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);grid-template-columns:6rem 1fr 1.6fr auto auto auto;text-decoration:none;display:grid}.job-row:hover{border-color:var(--color-line-strong);box-shadow:inset var(--stripe-width) 0 0 var(--row-edge,var(--color-line)), var(--shadow-md);transform:translateY(var(--lift-distance))}.job-row:active{transform:translateY(var(--press-distance))}.job-row:has([data-status=quote]){--row-edge:var(--status-quote-edge)}.job-row:has([data-status=awaiting-approval]){--row-edge:var(--status-awaiting-approval-edge)}.job-row:has([data-status=changes-requested]){--row-edge:var(--status-changes-requested-edge)}.job-row:has([data-status=approved]){--row-edge:var(--status-approved-edge)}.job-row:has([data-status=printing]){--row-edge:var(--status-printing-edge)}.job-row:has([data-status=ready]){--row-edge:var(--status-ready-edge)}.job-row:has([data-status=collected]){--row-edge:var(--status-collected-edge)}.job-row:has([data-status=cancelled]){--row-edge:var(--status-cancelled-edge)}.job-row__number{color:var(--color-ink-muted);font-weight:var(--font-weight-semibold)}.job-row__customer{font-weight:var(--font-weight-semibold)}.job-row__spec,.job-row__due{min-width:0;color:var(--color-ink-muted);font-size:var(--font-size-sm)}.job-row__due{white-space:nowrap}.job-row__badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.job-row__total{text-align:right;font-weight:var(--font-weight-semibold)}@media (width<=600px){.job-row{gap:var(--space-1) var(--space-3);padding:var(--space-4);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"number badges""customer total""spec spec""due due"}.job-row__number{grid-area:number}.job-row__customer{font-size:var(--font-size-lg);grid-area:customer}.job-row__spec{grid-area:spec}.job-row__due{grid-area:due}.job-row__badges{grid-area:badges;justify-content:flex-end}.job-row__total{font-size:var(--font-size-lg);grid-area:total}}.job-form{gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);align-items:start;display:grid}.job-form__fields{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.job-form__section{gap:var(--space-4);flex-direction:column;display:flex}.job-form__row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.job-form__radios{gap:var(--space-3);flex-wrap:wrap;display:flex}.radio-chip{padding:var(--space-0) var(--space-4);border:var(--border-width) solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface)}.radio-chip:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.price-panel{top:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex;position:sticky}.price-panel__lines{margin:var(--space-0);flex-direction:column;display:flex}.price-line{justify-content:space-between;gap:var(--space-4);padding:var(--space-2) var(--space-0);border-bottom:var(--border-width) solid var(--color-line);flex-wrap:wrap;display:flex}.price-line dt{color:var(--color-ink-muted)}.price-line dd{margin:var(--space-0)}.price-line--total{padding-top:var(--space-3);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);border-bottom:none}.price-line--total dt{color:var(--color-ink)}.price-panel__error{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger);font-weight:var(--font-weight-medium)}.price-panel__actions{gap:var(--space-3);flex-direction:column;display:flex}.price-bar{display:none}@media (width<=800px){.job-form{padding-bottom:var(--space-16);grid-template-columns:minmax(0,1fr)}.price-panel{position:static}.price-bar{inset:auto var(--space-0) var(--space-0);min-height:var(--tap-target);padding:var(--space-3) var(--space-4);border-top:var(--border-width) solid var(--color-line);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--color-topbar);-webkit-backdrop-filter:saturate(1.4)blur(12px);box-shadow:var(--shadow-lg);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);justify-content:space-between;align-items:center;display:flex;position:fixed}.price-bar__label{color:var(--color-ink-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase}}.job-view{gap:var(--space-6);grid-template-rows:auto auto auto auto 1fr;grid-template-columns:minmax(0,1fr) minmax(18rem,24rem);align-items:start;display:grid}.job-view__header{grid-column:1/-1}.job-view__details{grid-area:2/1}.job-view>.proof-panel{grid-area:3/1/span 3}.job-view__price{grid-area:2/2/span 2}.job-view__actions{grid-area:4/2}.job-view .price-line{align-items:baseline}.job-view__details .price-line dd{text-align:right;overflow-wrap:anywhere}@media (width<=800px){.job-view{grid-template-columns:minmax(0,1fr)}.job-view>*{grid-area:auto/1}}.badge[data-proof=pending]{--badge-fg:var(--status-awaiting-approval-fg);--badge-bg:var(--status-awaiting-approval-bg);--badge-edge:var(--status-awaiting-approval-edge)}.badge[data-proof=approved]{--badge-fg:var(--status-approved-fg);--badge-bg:var(--status-approved-bg);--badge-edge:var(--status-approved-edge)}.badge[data-proof=changes-requested]{--badge-fg:var(--status-changes-requested-fg);--badge-bg:var(--status-changes-requested-bg);--badge-edge:var(--status-changes-requested-edge)}.badge[data-proof=superseded]{--badge-fg:var(--status-cancelled-fg);--badge-bg:var(--status-cancelled-bg);--badge-edge:var(--status-cancelled-edge)}.proof-panel{gap:var(--space-4);flex-direction:column;display:flex}.proof-panel__empty{color:var(--color-ink-muted);margin:0}.proof-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.proof-item{gap:var(--space-1);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-line);border-left-width:var(--space-1);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.proof-item[data-state=pending]{border-left-color:var(--status-awaiting-approval-edge)}.proof-item[data-state=approved]{border-left-color:var(--status-approved-edge)}.proof-item[data-state=changes-requested]{border-left-color:var(--status-changes-requested-edge)}.proof-item[data-state=superseded]{opacity:.75}.proof-item__head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.proof-item__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.proof-item__meta{color:var(--color-ink-muted);font-size:var(--font-size-sm);margin:0}.proof-item p{margin:0}.proof-item__decision{gap:var(--space-1);margin-top:var(--space-2);padding-top:var(--space-2);border-top:var(--border-width) dashed var(--color-line);flex-direction:column;display:flex}.proof-item__total{font-weight:var(--font-weight-semibold)}.proof-item__note{white-space:pre-wrap}.proof-item__comment{padding-left:var(--space-3);border-left:var(--border-width) solid var(--color-line-strong);color:var(--color-ink-muted);font-style:italic}.proof-form{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunken);flex-direction:column;display:flex}
