@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/archivo-latin-var.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-600.woff2)format("woff2")}:root{--accent:#b8920a;--steel-950:#0f131a;--steel-900:#161b24;--steel-850:#1a2029;--steel-800:#1e2530;--steel-700:#2a3340;--steel-600:#3b4655;--steel-500:#55657a;--steel-400:#8593a6;--steel-300:#b3bdca;--steel-200:#d4dae2;--steel-100:#eaeef3;--gold:var(--accent);--gold-bright:color-mix(in srgb, var(--accent) 82%, white);--gold-dim:color-mix(in srgb, var(--accent) 35%, transparent);--gold-ghost:color-mix(in srgb, var(--accent) 10%, transparent);--gold-press:color-mix(in srgb, var(--accent) 18%, transparent);--rust:#9c4a2f;--rust-dim:#9c4a2f4d;--ground:var(--steel-950);--panel:var(--steel-900);--raised:var(--steel-800);--edge-light:#ffffff0f;--edge-dark:#0000008c;--rule:#ffffff14;--rule-strong:#ffffff24;--plate-edge-l:#ffffff05;--plate-edge-r:#00000040;--field-bg:var(--steel-950);--field-edge:var(--rule);--on-accent:var(--steel-950);--scrim:#0f131adb;--duty-res:#2f8a44;--duty-com:#c2410c;--display:"Archivo", system-ui, -apple-system, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--r:4px;--tap:56px;--gut:14px;--header-bg:#0f131a;--header-ink:#fff;--header-muted:#b3bdca;--header-gold:#d9ae14;--header-h:96px;--chat-ground:#1a2029;--chat-panel:#1e2530;--chat-raised:#2a3340;--chat-ink:#eaeef3;--chat-muted:#b3bdca;--chat-rule:#ffffff14;--chat-accent:#b8920a;--chat-accent-ink:#d9ae14;--chat-danger:#c8653f;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}:root[data-theme=paper]{--ink-900:#161b24;--ink-800:#1e2530;--ink-700:#3b4655;--ink-500:#55657a;--ink-400:#55657a;--ink-300:#8593a6;--paper:#fff;--plate:#fff;--plate-soft:#fbfcfe;--key:#f4f6f8;--key-down:#e6eaef;--well:#eef1f4;--accent:#b8920a;--accent-bright:#7a5f00;--accent-dim:#b8920a66;--accent-ghost:#b8920a1a;--steel-950:var(--well);--steel-900:var(--plate);--steel-850:var(--plate-soft);--steel-800:var(--key);--steel-700:var(--key-down);--steel-600:var(--ink-300);--steel-500:var(--ink-400);--steel-400:var(--ink-500);--steel-300:var(--ink-700);--steel-200:var(--ink-800);--steel-100:var(--ink-900);--gold:var(--accent);--gold-bright:var(--accent-bright);--gold-dim:var(--accent-dim);--gold-ghost:var(--accent-ghost);--gold-press:#b8920a2e;--rust:#a83a24;--rust-dim:#a83a2429;--ground:var(--paper);--panel:#f4f6f8;--raised:#fff;--edge-light:#fff;--edge-dark:#dde3ea;--rule:#dde3ea;--rule-strong:#c5ced8;--plate-edge-l:var(--rule);--plate-edge-r:var(--rule);--field-bg:var(--plate);--field-edge:var(--rule-strong);--on-accent:#161b24;--scrim:#161b2485;--duty-res:#2e7d32;--duty-com:#b45309}*,:before,:after{box-sizing:border-box}html,body{background:var(--ground);max-width:100vw;height:100%;color:var(--steel-200);font-family:var(--display);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior:none;margin:0;padding:0;overflow-x:hidden}body{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}img{max-width:100%;display:block}.t-title{font-family:var(--display);letter-spacing:-.018em;color:var(--steel-100);margin:0;font-weight:600}.t-title--lg{font-size:1.375rem;line-height:1.2}.t-title--md{font-size:1.0625rem;line-height:1.25}.t-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--steel-400);font-size:.6875rem;font-weight:500}.t-data{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--steel-100);font-weight:500}.t-data--lg{font-size:1.25rem;font-weight:600}.t-data--dim{color:var(--steel-400)}.t-unpriced{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--steel-500);font-size:.8125rem}.plate{background:var(--panel);border-radius:var(--r);border-top:1px solid var(--edge-light);border-bottom:1px solid var(--edge-dark);border-left:1px solid var(--plate-edge-l);border-right:1px solid var(--plate-edge-r)}.plate--raised{background:var(--raised)}.ticks{position:relative}.ticks:before,.ticks:after{content:"";border:1px solid var(--gold);pointer-events:none;width:11px;height:11px;position:absolute}.ticks:before{border-bottom:0;border-right:0;top:5px;left:5px}.ticks:after{border-top:0;border-left:0;bottom:5px;right:5px}.ticks--4{position:relative}.ticks--4:before,.ticks--4:after{content:none}.ticks--4>.bezel{pointer-events:none;--c:var(--gold);--t:1px;--len:16px;background:linear-gradient(var(--c), var(--c)) 0 0 / var(--len) var(--t) no-repeat, linear-gradient(var(--c), var(--c)) 0 0 / var(--t) var(--len) no-repeat, linear-gradient(var(--c), var(--c)) 100% 0 / var(--len) var(--t) no-repeat, linear-gradient(var(--c), var(--c)) 100% 0 / var(--t) var(--len) no-repeat, linear-gradient(var(--c), var(--c)) 0 100% / var(--len) var(--t) no-repeat, linear-gradient(var(--c), var(--c)) 0 100% / var(--t) var(--len) no-repeat, linear-gradient(var(--c), var(--c)) 100% 100% / var(--len) var(--t) no-repeat, linear-gradient(var(--c), var(--c)) 100% 100% / var(--t) var(--len) no-repeat;position:absolute;top:6px;bottom:6px;left:6px;right:6px}.rule{background:var(--rule);height:1px;position:relative}.rule:before{content:"";background:var(--gold);width:22px;height:1px;position:absolute;top:0;left:0}.status{border-left:3px solid #0000}.status--review{border-left-color:var(--gold)}.status--filed{border-left-color:var(--steel-600)}.status--failed{border-left-color:var(--rust)}.status--gone{border-left-color:var(--rule)}.btn{min-height:var(--tap);border-radius:var(--r);background:var(--raised);border-top:1px solid var(--edge-light);border-bottom:1px solid var(--edge-dark);font-family:var(--display);letter-spacing:-.01em;color:var(--steel-100);justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:.9375rem;font-weight:600;transition:background 90ms linear,transform 60ms linear;display:inline-flex}.btn:active{background:var(--steel-700);transform:translateY(1px)}.btn:disabled{opacity:.4}.btn--primary{background:var(--gold-ghost);border:1px solid var(--gold-dim);border-top-color:var(--gold);color:var(--gold-bright)}.btn--primary:active{background:var(--gold-press)}.btn--quiet{border:1px solid var(--rule);color:var(--steel-400);background:0 0}.chip{min-height:var(--tap);border-radius:var(--r);background:var(--raised);border-top:1px solid var(--edge-light);border-bottom:1px solid var(--edge-dark);font-family:var(--mono);letter-spacing:.06em;color:var(--steel-100);flex:1;justify-content:center;align-items:center;font-size:1rem;font-weight:600;display:flex}.chip:active{background:var(--gold-ghost);border-top-color:var(--gold);color:var(--gold-bright)}.seg{border-radius:var(--r);border:1px solid var(--rule);display:inline-flex;overflow:hidden}.seg>button{min-width:44px;height:40px;font-family:var(--mono);letter-spacing:.08em;color:var(--steel-400);background:0 0;font-size:.8125rem;font-weight:600}.seg>button+button{border-left:1px solid var(--rule)}.seg>button[aria-pressed=true]{background:var(--gold-ghost);color:var(--gold-bright)}.field{width:100%;min-height:var(--tap);border-radius:var(--r);background:var(--field-bg);border:1px solid var(--field-edge);font-family:var(--mono);letter-spacing:.02em;color:var(--steel-100);-webkit-user-select:text;user-select:text;padding:0 14px;font-size:1rem}select.field{font-size:1rem}.field::placeholder{color:var(--steel-600);letter-spacing:.06em}.field:focus{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold-dim);outline:none}.tb{border:1px solid var(--rule);border-radius:var(--r);grid-template-columns:repeat(2,1fr);display:grid;overflow:hidden}.tb>div{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);min-width:0;padding:10px 12px}.tb>div:nth-child(2n){border-right:0}.tb>div>.t-label{margin-bottom:3px;display:block}.tb>div>.t-data{text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;display:block;overflow:hidden}.tb--full{grid-column:1/-1}#app{flex-direction:column;flex:1;min-height:0;display:flex}.screen{min-height:0;padding-top:var(--safe-top);flex-direction:column;flex:1;display:flex}.screen__scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.topbar{padding:12px var(--gut);border-bottom:1px solid var(--rule);background:var(--panel);justify-content:space-between;align-items:center;gap:12px;display:flex}.hdr{z-index:800;padding:var(--safe-top) var(--gut) 0;background:var(--header-bg);border-bottom:3px solid var(--accent);grid-template-columns:1fr auto;grid-template-areas:"title who""nav nav";column-gap:12px;display:grid;position:fixed;top:0;left:0;right:0}.hdr__title{font-family:var(--display);color:var(--header-ink);text-overflow:ellipsis;white-space:nowrap;grid-area:title;align-self:center;padding-top:10px;font-size:1.0625rem;font-weight:700;overflow:hidden}.hdr__who{font-family:var(--mono);color:var(--header-muted);text-overflow:ellipsis;white-space:nowrap;grid-area:who;align-self:center;max-width:40vw;padding-top:10px;font-size:.75rem;overflow:hidden}.hdr__nav{grid-area:nav;grid-template-columns:repeat(var(--hdr-cols,5), 1fr);display:grid}.hdr__item{min-width:0;height:44px;font-family:var(--display);color:var(--header-muted);border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 4px;font-size:.8125rem;font-weight:600;display:flex}.hdr__item svg{stroke-width:1.7px;flex:none;width:18px;height:18px}.hdr__item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hdr__item[aria-current=page]{color:var(--header-gold);border-bottom-color:var(--header-gold)}@media (max-width:400px){.hdr__item{flex-direction:column;gap:1px;font-size:.6875rem}}@media (min-width:768px){.hdr{grid-template-columns:auto 1fr auto;grid-template-areas:"title nav who";align-items:center}.hdr__title,.hdr__who{padding-top:0}.hdr__nav{grid-template-columns:repeat(var(--hdr-cols,5), auto);justify-self:end;gap:4px}.hdr__item{padding:0 14px}}.shell-body{min-height:0;padding-top:var(--header-h);flex-direction:column;flex:1;display:flex}.toolbar{padding:10px var(--gut);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:10px;display:flex}.btn--wide{flex:1}.toolbar .btn{min-height:44px}.home-top{padding:18px var(--gut) 10px;flex-direction:column;gap:2px;display:flex}.home-hello{font-family:var(--display);color:var(--steel-100);margin:0;font-size:1.375rem;font-weight:700}.home-new{width:calc(100% - 2 * var(--gut));min-height:56px;margin:6px var(--gut) 4px;font-size:1.0625rem}.tiles{padding:10px var(--gut) 4px;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tile{background:var(--panel);border:1px solid var(--rule);border-radius:var(--r);text-align:left;min-height:76px;color:var(--steel-100);flex-direction:column;align-items:flex-start;gap:4px;padding:10px;display:flex}.tile__num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600}.tile__label{font-family:var(--display);color:var(--steel-400);font-size:.75rem}.home-empty{font-family:var(--display);color:var(--steel-400);margin:0 0 8px;padding:6px 2px;font-size:.875rem}@media (min-width:768px){.home-body,.home-top,.home-new{max-width:760px}}.navbar{background:var(--panel);border-top:1px solid var(--rule-strong);padding-bottom:var(--safe-bottom);grid-template-columns:repeat(3,1fr);display:grid}.navbar>button{height:62px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--steel-500);border-top:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:.625rem;font-weight:600;display:flex}.navbar>button[aria-current=page]{color:var(--gold-bright);border-top-color:var(--gold)}.navbar svg{stroke-width:1.6px;width:21px;height:21px}.nav-count{font-family:var(--mono);background:var(--gold);color:var(--on-accent);border-radius:2px;padding:1px 4px;font-size:.5625rem;font-weight:600}.empty{padding:48px var(--gut);text-align:center}.empty .t-label{margin-bottom:14px;display:block}.empty__rule{background:var(--gold);width:40px;height:1px;margin:0 auto}.row{align-items:center;gap:10px;display:flex}.row--between{justify-content:space-between}.col{flex-direction:column;display:flex}.grow{flex:1;min-width:0}.pad{padding:var(--gut)}.gap{gap:var(--gut)}.hidden{display:none!important}@media (max-width:400px){:root{--gut:12px}.tb>div{padding:9px 10px}.t-title--lg{font-size:1.25rem}}.truncate,.t-title{overflow-wrap:anywhere}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.shell-toast{left:var(--gut);right:var(--gut);bottom:calc(var(--safe-bottom) + 12px);z-index:3000;padding:10px var(--gut);background:var(--panel);color:var(--steel-100);border:1px solid var(--rule-strong);border-top:2px solid var(--gold);font-family:var(--mono);text-align:center;opacity:0;pointer-events:none;font-size:.75rem;transition:opacity .15s;position:fixed}.shell-toast--on{opacity:1}.shell-toast--error{border-top-color:var(--steel-300)}.shell-overlay{z-index:2000;padding:var(--gut);background:var(--scrim,#0009);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.shell-overlay__plate{background:var(--panel);border:1px solid var(--rule-strong);border-top:2px solid var(--gold);flex-direction:column;gap:14px;width:100%;max-width:360px;padding:20px;display:flex}.job-group{padding:14px var(--gut) 4px}.job-group__head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.job-group__head .t-label{margin:0}.job-row{width:100%;min-height:var(--tap);padding:10px var(--gut);text-align:left;background:var(--panel);border-radius:var(--r);border-top:1px solid var(--edge-light);border-bottom:1px solid var(--edge-dark);border-left:3px solid var(--rule-strong);color:var(--steel-100);align-items:center;gap:10px;margin-bottom:6px;display:flex}.job-row:active{background:var(--raised)}.job-row--expired,.job-row--expiring{border-left-color:var(--rust)}.job-row--quiet{border-left-color:var(--gold)}.job-row--won{border-left-color:var(--steel-300)}.job-row__text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.job-row__line{font-family:var(--display);overflow-wrap:anywhere;font-size:.9375rem;font-weight:500}.job-row__sub{font-family:var(--mono);color:var(--steel-400);overflow-wrap:anywhere;font-size:.75rem}.job-fold>summary{cursor:pointer;align-items:center;min-height:44px;list-style:none;display:flex}.job-fold>summary::-webkit-details-marker{display:none}.jobs-top{justify-content:space-between;align-items:center}.jobs-top .btn{min-height:40px;padding:0 12px}.quote-page{z-index:900;background:var(--ground);padding-top:var(--safe-top);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.quote-page__scroll{overscroll-behavior:contain;min-height:0;padding:var(--gut) var(--gut) calc(var(--gut) + var(--safe-bottom));flex-direction:column;flex:1;gap:14px;display:flex;overflow-y:auto}.quote-head{flex-direction:column;gap:8px;display:flex}.quote-head__total{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--steel-100);font-size:1.5rem;font-weight:600}.qchip{border:1px solid var(--rule-strong);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--steel-300);border-radius:2px;align-self:flex-start;padding:2px 8px;font-size:.6875rem;font-weight:600;display:inline-block}.qchip--accepted,.qchip--viewed{border-color:var(--gold-dim);color:var(--gold-bright)}.qchip--declined,.qchip--expired{border-color:var(--rust-dim);color:var(--rust)}.quote-actions{flex-direction:column;gap:8px;display:flex}.quote-actions .btn{width:100%}.quote-sec{padding:12px var(--gut);flex-direction:column;gap:8px;display:flex}.quote-trail{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.quote-trail li{border-left:2px solid var(--rule-strong);flex-direction:column;gap:2px;padding-left:12px;display:flex}.quote-trail li.is-good{border-left-color:var(--gold)}.quote-trail li.is-warn{border-left-color:var(--rust)}.quote-note{font-family:var(--display);color:var(--steel-300);overflow-wrap:anywhere;font-size:.875rem}.quote-lines{flex-direction:column;display:flex}.quote-line{border-bottom:1px solid var(--rule);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.quote-line__desc{font-family:var(--display);overflow-wrap:anywhere;min-width:0;font-size:.875rem}.quote-line__amt{font-family:var(--mono);white-space:nowrap;font-size:.8125rem}.shell-overlay--full{align-items:stretch;padding:0}.qdoc{background:var(--ground);min-width:0;padding-top:var(--safe-top);flex-direction:column;flex:1;display:flex}.qdoc__bar{padding:8px var(--gut);border-bottom:1px solid var(--rule-strong);justify-content:space-between;gap:10px;display:flex}.qdoc__bar .btn{min-height:44px}.qdoc__frame{background:#fff;border:0;flex:1;width:100%;min-height:0}.sheet-error{color:var(--rust);min-height:1em;margin:0}.team-row{flex-direction:column;gap:6px;display:flex}.team-row__name{font-family:var(--display);overflow-wrap:anywhere;min-width:0;font-size:.9375rem;font-weight:500}.team-row__sub{font-family:var(--mono);color:var(--steel-400);overflow-wrap:anywhere;font-size:.75rem;line-height:1.45}.team-chip{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--rule-strong);border-radius:var(--r);color:var(--steel-300);flex:none;padding:3px 8px;font-size:.6875rem}.team-chip--seat{border-color:var(--gold-dim);color:var(--gold-bright)}.team-chip--revoked{border-color:var(--rust-dim);color:var(--rust)}.team-actions{flex-wrap:wrap;gap:8px;display:flex}.team-actions .btn{flex:auto;min-width:0}.team-status{min-height:17px;color:var(--gold-bright);overflow-wrap:anywhere;line-height:1.45}.team-error{color:var(--rust);overflow-wrap:anywhere}.team-qr{width:256px;max-width:100%;height:auto;image-rendering:pixelated;background:#fff;padding:8px}#team-job,#team-name,#team-email{width:100%;min-width:0}.job-row__chips{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.job-stage{border-left:2px solid var(--rule-strong);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:10px;padding:8px 0 8px 12px;display:flex}.job-stage--current{border-left-color:var(--gold)}.job-stage--done{border-left-color:var(--steel-300)}.job-stage--done .job-row__line{color:var(--steel-300)}.job-stage__text{flex-direction:column;flex:1;align-items:flex-start;gap:4px;min-width:0;display:flex}.job-thumbs{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.job-thumb{border:1px solid var(--rule-strong);background:var(--raised);aspect-ratio:1;min-width:0;padding:0;overflow:hidden}.job-thumb--issue{border-color:var(--rust)}.job-thumb__img{object-fit:cover;width:100%;height:100%;display:block}.job-thumb__img--missing{visibility:hidden}.job-photo{z-index:950;background:var(--ground);padding-top:var(--safe-top);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.job-photo__frame{background:#000;flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.job-photo__img{object-fit:contain;max-width:100%;max-height:100%}.job-photo__meta{padding:var(--gut) var(--gut) calc(var(--gut) + var(--safe-bottom));flex-direction:column;gap:6px;display:flex}.plate.quote-sec input{min-height:44px}.crew-seat{gap:8px;display:grid}.crew-seat__btn{background:var(--gold-ghost);border:1px solid var(--gold-dim);border-top-color:var(--gold);border-radius:var(--r);min-width:0;min-height:68px;color:var(--gold-bright);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:6px 4px;font-size:.6875rem;font-weight:600;display:flex}.crew-seat__btn:active{background:var(--gold-press)}.crew-sheet{overscroll-behavior:contain;max-height:90vh;overflow-y:auto}.crew-sheet textarea.field,.crew-sheet input.field,.crew-sheet select.field{box-sizing:border-box;width:100%;min-width:0}.crew-kinds{display:flex}.crew-kinds>button{flex:1;min-height:44px}
