:root{--bg:#f2f3f6;--surface:#fff;--surface-2:#eceef2;--surface-raised:#fff;--border:#e3e5ea;--text:#111827;--text-2:#5b6472;--accent:#e8590c;--accent-pressed:#c94d0a;--accent-text:#c2410c;--on-accent:#1a0a00;--ink:#111827;--on-ink:#fff;--hero-bg:#111827;--success:#15803d;--success-bg:#e9f7ef;--warning:#8a5a00;--warning-bg:#fdf3e1;--danger:#b42318;--danger-bg:#fdecea;--danger-fill:#b42318;--success-fill:#15803d;--info:#1d5fa8;--info-bg:#e8f1fb;--tag-before:#2f6fb3;--tag-during:#6b7280;--tag-after:#1f9d55;--tag-issue:#d93a2b;--tag-safety:#e07b00;--tag-delivery:#7c4dcc;--tag-inspection:#0f8b8d;--on-dark:#fff;--on-dark-1:#ffffff29;--on-dark-2:#ffffff73;--on-dark-3:#ffffffe0;--scrim-1:#0006;--scrim-2:#0009;--scrim-3:#000000c7;--camera-bg:#000;--white:#fff;--black:#000;--dark-surface:#15171c;--dark-surface-90:#15171ce6;--fixed-muted:#5e636b;--rec-red:#ff3b30;--overlay:#0a0c1073;--shadow-1:0 1px 2px #1018280a, 0 4px 14px -6px #1018281a;--shadow-2:0 12px 32px -10px #1018283d, 0 2px 6px #1018280f;--border-width:1px;--glass-bg:linear-gradient(180deg, #fff 0%, #f8f9fb 100%);--glass-border:#11182714;--glass-shadow:inset 0 1px 0 #fffffff2, inset 0 -1px 0 #fff9, var(--shadow-2);--summary-bg:linear-gradient(135deg, #fff1e6 0%, #fff 55%, #eef1f6 100%);--edge-light:#ffffffe6;--fs-title:1.75rem;--fs-display:1.5rem;--fs-headline:1.25rem;--fs-section:1.125rem;--fs-body:1rem;--fs-caption:.875rem;--fs-label:.75rem;--fw-regular:400;--fw-semi:600;--fw-heavy:800;--radius-xs:8px;--radius-s:14px;--radius-m:20px;--radius-l:24px;--radius-xl:28px;--radius-pill:999px;--tabbar-h:64px;--tabbar-space:calc(var(--tabbar-h) + 10px + env(safe-area-inset-bottom));--ease:cubic-bezier(.2, .8, .2, 1);color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-contrast=high]){--bg:#0b1017;--surface:#141b25;--surface-2:#1d2632;--surface-raised:#18202b;--border:#263041;--text:#f3f4f6;--text-2:#9aa4b2;--accent:#ff8a3d;--accent-pressed:#ff7a24;--accent-text:#ff9b57;--ink:#f3f4f6;--on-ink:#111827;--hero-bg:#1d2632;--success:#4ade80;--success-bg:#14261c;--warning:#f5b54a;--warning-bg:#2a2112;--danger:#ff8a80;--danger-bg:#2b1615;--info:#7fb2e8;--info-bg:#132235;--overlay:#0009;--shadow-1:inset 0 1px 0 #ffffff0a;--shadow-2:0 14px 34px -12px #000000bf;--glass-bg:linear-gradient(180deg, #1f2834 0%, #161d27 100%);--glass-border:#ffffff17;--glass-shadow:inset 0 1px 0 #ffffff17, inset 0 -1px 0 #ffffff08, var(--shadow-2);--summary-bg:linear-gradient(135deg, #2b1a0f 0%, #161d27 55%, #111821 100%);--edge-light:#ffffff12;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-contrast=high]{--bg:#fff;--surface:#fff;--surface-2:#f0f0f0;--surface-raised:#fff;--text:#000;--text-2:#1f1f1f;--border:#000;--border-width:2px;--accent:#ffb000;--accent-text:#000;--on-accent:#000;--ink:#000;--hero-bg:#000;--success:#0b6b2f;--warning:#000;--danger:#a1170c;--info:#0b4a8f;--shadow-1:none;--shadow-2:none;--glass-bg:#fff;--glass-border:#000;--glass-shadow:none;--summary-bg:#fff;--edge-light:transparent;font-size:110%}*{box-sizing:border-box}body{background:var(--bg);overscroll-behavior-y:none;margin:0}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}.screen{max-width:720px;padding:calc(env(safe-area-inset-top) + 8px) 16px calc(var(--tabbar-space) + 32px);animation:screen-in .2s var(--ease);margin:0 auto}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}}.topbar{justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.eyebrow{font-size:var(--fs-label);font-weight:var(--fw-semi);letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);margin:12px 0 2px}.large-title{font-size:var(--fs-title);font-weight:var(--fw-heavy);letter-spacing:-.02em;margin:0 0 16px}.section-header{justify-content:space-between;align-items:baseline;margin:28px 0 10px;display:flex}.section-title{font-size:var(--fs-section);font-weight:var(--fw-semi);letter-spacing:-.01em;margin:0}.muted{color:var(--text-2)}.btn{border-radius:var(--radius-pill);min-height:52px;font-size:var(--fs-body);font-weight:var(--fw-semi);transition:transform .12s var(--ease), opacity .12s;border:none;justify-content:center;align-items:center;gap:10px;padding:0 22px;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5}.btn-primary{background:var(--ink);color:var(--on-ink)}.btn-primary:active{opacity:.85}.btn-accent{background:var(--accent);color:var(--on-accent)}.btn-secondary{background:var(--surface-2);color:var(--text)}.btn-block{width:100%}.icon-btn{background:var(--surface-2);width:48px;height:48px;color:var(--text);transition:transform .12s var(--ease);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:active{transform:scale(.95)}.icon-btn.glass{border:var(--border-width) solid var(--glass-border)}.card{background:var(--surface);border:var(--border-width) solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-1)}.glass{background:var(--glass-bg);border:var(--border-width) solid var(--glass-border);box-shadow:var(--glass-shadow)}.photo-tag{border-radius:var(--radius-pill);background:var(--scrim-2);min-height:24px;color:var(--white);font-size:var(--fs-label);font-weight:var(--fw-semi);white-space:nowrap;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.job-card{text-align:left;width:100%;color:var(--text);transition:transform .12s var(--ease);align-items:center;gap:14px;padding:12px;display:flex}.job-card-photo{flex-direction:column;align-items:stretch;gap:0;padding:8px}.job-card:active{transform:scale(.985)}.job-collage{border-radius:calc(var(--radius-l) - 8px);background:var(--surface-2);grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr;gap:2px;height:136px;display:grid;position:relative;overflow:hidden}.job-collage img{object-fit:cover;width:100%;height:100%;min-height:0}.job-collage img:first-child{grid-row:span 2}.job-collage.n-1 img:first-child,.job-collage.n-2 img:first-child{grid-column:span 1}.job-collage.n-1{grid-template-columns:1fr}.job-collage.n-2{grid-template-columns:1fr 1fr}.job-collage.n-2 img{grid-row:span 2}.job-collage.n-0{height:72px;color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--fw-semi);justify-content:center;align-items:center;gap:8px;display:flex}@media (width>=720px){.job-collage.n-0{height:136px}}.job-collage .photo-tag{position:absolute;bottom:8px;left:8px}.job-card-body{flex:1;gap:2px;min-width:0;display:grid}.job-card-photo .job-card-body{gap:4px;padding:12px 8px 8px}.job-card-row{align-items:center;gap:8px;min-width:0;display:flex}.job-card-title{min-width:0;font-size:var(--fs-body);font-weight:var(--fw-semi);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.job-card-meta{font-size:var(--fs-caption);color:var(--text-2);margin-top:3px}.job-card-cover{border-radius:var(--radius-s);object-fit:cover;background:var(--surface-2);flex-shrink:0;width:64px;height:64px}.people{flex-shrink:0;display:inline-flex}.people span{border:2px solid var(--surface);background:var(--surface-2);letter-spacing:-.02em;width:30px;height:30px;color:var(--text);font-size:var(--fs-label);font-weight:var(--fw-semi);border-radius:50%;place-items:center;margin-left:-5px;display:grid}.people span:first-child{margin-left:0}.chevron{color:var(--text-2);flex-shrink:0}.stack,.job-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (width>=720px){.job-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media (width>=1280px){.job-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.summary-card{border-radius:var(--radius-xl);background:var(--summary-bg);border:var(--border-width) solid var(--glass-border);box-shadow:inset 0 1px 0 var(--edge-light), var(--shadow-1);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:16px;padding:16px 8px;display:grid}.summary-stat{text-align:center;justify-items:center;gap:2px;min-width:0;padding:0 4px;display:grid}.summary-stat+.summary-stat{border-left:var(--border-width) solid var(--border)}.summary-num{min-height:32px;font-size:var(--fs-display);font-weight:var(--fw-heavy);letter-spacing:-.02em;font-variant-numeric:tabular-nums;align-items:center;display:flex}.summary-num.ok{color:var(--success)}.summary-label{max-width:100%;font-size:var(--fs-label);font-weight:var(--fw-semi);color:var(--text-2);line-height:1.25}.search-row{gap:8px;margin-bottom:10px;display:flex}.search-row .field{flex:1;min-width:0}.round-btn{background:var(--ink);width:52px;height:52px;color:var(--on-ink);transition:transform .12s var(--ease);border:none;border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.round-btn:active{transform:scale(.95)}.filter-chips{scrollbar-width:none;gap:8px;margin:0 -16px 16px;padding:0 16px;display:flex;overflow-x:auto}.filter-chips::-webkit-scrollbar{display:none}.filter-chips .chip{border-width:var(--border-width);font-weight:var(--fw-semi)}.filter-chips .count{font-weight:var(--fw-regular);color:var(--text-2)}.filter-chips .chip[aria-pressed=true] .count{color:inherit}.hero{border-radius:var(--radius-l);background:var(--hero-bg);width:100%;color:var(--white);text-align:left;box-shadow:var(--shadow-2);transition:transform .12s var(--ease);border:none;align-items:center;gap:14px;padding:18px;display:flex;position:relative;overflow:hidden}.hero:active{transform:scale(.98)}.hero-icon{border-radius:var(--radius-s);background:var(--accent);width:52px;height:52px;color:var(--on-accent);flex-shrink:0;place-items:center;display:grid}.hero-label{font-size:var(--fs-label);font-weight:var(--fw-semi);letter-spacing:.04em;text-transform:uppercase;opacity:.7}.hero-title{font-size:var(--fs-headline);font-weight:var(--fw-heavy);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;display:-webkit-box;overflow:hidden}.banner{border-radius:var(--radius-m);background:color-mix(in srgb, var(--accent) 16%, var(--surface));border:var(--border-width) solid color-mix(in srgb, var(--accent) 45%, var(--border));font-size:var(--fs-body);align-items:flex-start;gap:12px;margin-bottom:14px;padding:14px;line-height:1.4;display:flex}.banner .icon-btn{background:0 0;flex-shrink:0;width:48px;height:48px;margin:-12px -10px -12px 0}.day-header{z-index:2;padding:calc(env(safe-area-inset-top) + 10px) 2px 8px;background:linear-gradient(var(--bg) 75%, transparent);font-weight:var(--fw-semi);justify-content:space-between;align-items:baseline;margin-top:4px;display:flex;position:sticky;top:0}.day-header .muted{font-size:var(--fs-caption);font-weight:var(--fw-semi)}.grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}@media (width>=560px){.grid{grid-template-columns:repeat(4,1fr)}}.tile{aspect-ratio:1;border-radius:var(--radius-xs);background:var(--surface-2);border:none;padding:0;position:relative;overflow:hidden}.tile img{object-fit:cover;width:100%;height:100%;transition:transform .16s var(--ease);display:block}.tile:active img{transform:scale(.96)}.tile-new img{animation:tile-in .22s var(--ease)}@keyframes tile-in{0%{opacity:0;transform:scale(.94)}}.skeleton{background:var(--surface-2)}.skeleton-line{border-radius:var(--radius-pill);background:var(--surface-2);height:14px;display:block}.field.search-pill{border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-1);padding-left:18px}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;display:flex}.empty-icon{border:var(--border-width) solid var(--glass-border);border-radius:var(--radius-l);background:var(--summary-bg);width:76px;height:76px;box-shadow:inset 0 1px 0 var(--edge-light), var(--shadow-1);color:var(--accent-text);place-items:center;margin-bottom:8px;display:grid}.empty-title{font-size:var(--fs-section);font-weight:var(--fw-heavy);letter-spacing:-.01em}.empty p{color:var(--text-2);max-width:300px;font-size:var(--fs-caption);margin:0 0 12px;line-height:1.45}.field{border:var(--border-width) solid var(--border);border-radius:var(--radius-m);background:var(--surface);min-height:52px;color:var(--text-2);align-items:center;gap:10px;padding:0 14px;transition:border-color .12s,box-shadow .12s;display:flex}.field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent)}.field input{min-width:0;color:var(--text);font-size:var(--fs-section);background:0 0;border:none;outline:none;flex:1;align-self:stretch}.field input::-webkit-search-cancel-button{appearance:none}.field input::placeholder{color:var(--text-2)}.field-clear{color:var(--text-2);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;margin-right:-14px;display:inline-flex}.tabbar{z-index:20}.tab{color:var(--text-2);font-size:var(--fs-label);font-weight:var(--fw-semi);white-space:nowrap;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;display:flex}.fab{background:var(--accent);color:var(--on-accent);transition:transform .14s var(--ease);border:none;place-items:center;display:grid}.fab:active{transform:scale(.92)}@media (width<=1023.98px){.tabbar{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));max-width:480px;height:var(--tabbar-h);border-radius:var(--radius-pill);background:var(--glass-bg);border:var(--border-width) solid var(--glass-border);box-shadow:var(--glass-shadow);justify-content:space-between;align-items:center;gap:2px;margin:0 auto;padding:0 8px;display:flex;position:fixed}.tab{border-radius:var(--radius-pill);flex:none;min-width:48px;height:48px;padding:0 12px}.tab-label{display:none}.tab[aria-current=page]{background:var(--ink);color:var(--on-ink);padding:0 16px 0 14px}.tab[aria-current=page] .tab-label{display:inline}.fab{width:52px;height:52px;box-shadow:0 4px 12px -2px color-mix(in srgb, var(--accent) 55%, transparent);border-radius:50%;flex:none}}.fade-img{opacity:0;transition:opacity .2s var(--ease)}.fade-img.loaded{opacity:1}.upload-banner-host{left:12px;right:12px;bottom:calc(var(--tabbar-space) + 8px);z-index:19;pointer-events:none;max-width:480px;margin:0 auto;position:fixed}.upload-banner{border-radius:var(--radius-pill);width:100%;min-height:48px;color:var(--text);font-size:var(--fs-caption);font-weight:var(--fw-semi);text-align:left;pointer-events:auto;animation:toast-in .22s var(--ease);align-items:center;gap:10px;padding:0 18px;display:flex}.upload-banner svg{color:var(--accent-text);flex-shrink:0}.upload-banner.bad svg{color:var(--danger)}.upload-banner span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}body:has(.upload-banner) .screen{padding-bottom:calc(var(--tabbar-space) + 32px + 56px)}@media (width>=1024px){.upload-banner-host{left:calc(var(--sidebar-w) + 24px);bottom:16px;right:24px}}.backdrop{z-index:40;background:var(--overlay);animation:fade-in .2s var(--ease);position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.sheet{z-index:41;max-width:720px;max-height:88dvh;padding:8px 16px calc(env(safe-area-inset-bottom) + 20px);border-radius:var(--radius-l) var(--radius-l) 0 0;background:var(--surface);box-shadow:var(--shadow-2);animation:sheet-in .26s var(--ease);margin:0 auto;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}@keyframes sheet-in{0%{transform:translateY(100%)}}.sheet-grab{touch-action:none;cursor:grab;margin:-8px -16px 0;padding:8px 16px 0}.sheet-handle{border-radius:var(--radius-pill);background:var(--border);width:40px;height:5px;margin:4px auto 14px}.sheet-title{font-size:var(--fs-headline);font-weight:var(--fw-heavy);margin:0 0 14px}.sheet-label{font-size:var(--fs-label);font-weight:var(--fw-semi);letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);margin:20px 0 8px}.picker-row{border:none;border-bottom:1px solid var(--border);text-align:left;width:100%;min-height:60px;font-size:var(--fs-body);font-weight:var(--fw-semi);background:0 0;align-items:center;gap:12px;padding:8px 4px;display:flex}.picker-row img{border-radius:var(--radius-xs);object-fit:cover;flex-shrink:0;width:44px;height:44px}.picker-row .muted{font-size:var(--fs-caption);font-weight:var(--fw-semi)}.new-job{gap:8px;display:flex}.new-job .field{flex:1}.toast{left:12px;right:12px;bottom:calc(var(--tabbar-space) + 16px);z-index:50;border-radius:var(--radius-m);background:var(--dark-surface);max-width:520px;color:var(--white);box-shadow:var(--shadow-2);animation:toast-in .28s var(--ease);align-items:center;gap:12px;margin:0 auto;padding:10px 10px 10px 14px;display:flex;position:fixed}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.98)}}.toast img{border-radius:var(--radius-xs);object-fit:cover;width:40px;height:40px}.toast-text{font-weight:var(--fw-semi);font-size:var(--fs-body);flex:1;line-height:1.3}.toast-action{border-radius:var(--radius-xs);background:var(--on-dark-1);color:var(--accent);font-weight:var(--fw-heavy);border:none;padding:10px 14px}.setting{align-items:center;gap:14px;padding:16px;display:flex}.setting+.setting{border-top:1px solid var(--border)}.setting-icon{border-radius:var(--radius-xs);background:var(--surface-2);flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.setting-body{flex:1;min-width:0}.setting-title{font-weight:var(--fw-semi)}.setting-desc{font-size:var(--fs-caption);color:var(--text-2);margin-top:2px;line-height:1.35}.switch{border-radius:var(--radius-s);background:var(--border);border:none;flex-shrink:0;width:52px;height:32px;transition:background-color .18s;position:relative}.switch:before,.checkbox:before,.swatch:before{content:"";position:absolute;inset:-8px}.switch:after{content:"";background:var(--white);width:26px;height:26px;box-shadow:0 1px 3px var(--scrim-1);transition:transform .22s var(--ease);border-radius:50%;position:absolute;top:3px;left:3px}.switch[aria-checked=true]{background:var(--success-fill)}.switch[aria-checked=true]:after{transform:translate(20px)}.cloud-actions{gap:10px;padding:0 16px 16px;display:grid}.avatar{background:color-mix(in srgb, var(--accent) 22%, var(--surface-2));width:38px;height:38px;font-size:var(--fs-caption);font-weight:var(--fw-heavy);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.join-code{border-radius:var(--radius-xs);background:var(--surface-2);letter-spacing:.08em;-webkit-user-select:all;user-select:all;margin-left:4px;padding:2px 8px;font-family:ui-monospace,SF Mono,Menlo,monospace;display:inline-block}.row-actions{flex-wrap:wrap;gap:8px;width:100%;padding-left:52px;display:flex}.row-actions .btn{min-height:48px;font-size:var(--fs-body);padding:0 14px}.code-input{letter-spacing:.12em;font-family:ui-monospace,SF Mono,Menlo,monospace}.btn-danger{background:var(--danger-fill);color:var(--white)}.backup-line{width:fit-content;min-height:48px;color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--fw-semi);text-align:left;background:0 0;border:none;align-items:center;gap:6px;margin:-15px 0 3px;padding:0;display:flex}.ok{color:var(--success)}.warn{color:var(--danger)}.pswp{--pswp-bg:var(--black)}.pswp__caption{padding:40px 20px calc(env(safe-area-inset-bottom) + 20px);background:linear-gradient(transparent, var(--scrim-3));color:var(--white);pointer-events:none;position:absolute;bottom:0;left:0;right:0}.pswp__caption-title{font-size:var(--fs-section);font-weight:var(--fw-semi)}.pswp__caption-meta{font-size:var(--fs-caption);opacity:.8;margin-top:3px}.pswp__button--delete-button{justify-content:center;align-items:center;display:flex}.pswp__button{flex-shrink:0;min-width:48px}.pill{border-radius:var(--radius-pill);font-size:var(--fs-label);font-weight:var(--fw-semi);white-space:nowrap;color:var(--text-2);background:var(--surface-2);flex-shrink:0;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.pill-active{color:var(--success);background:var(--success-bg)}.pill-on_hold{color:var(--warning);background:var(--warning-bg)}.pill-done{color:var(--info);background:var(--info-bg)}.pill-on-photo{color:var(--white);background:var(--scrim-2)}.segmented{border-radius:var(--radius-pill);background:var(--surface-2);grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;margin-bottom:14px;padding:4px;display:grid}.segmented button{border-radius:var(--radius-pill);min-height:48px;color:var(--text-2);font-size:var(--fs-body);font-weight:var(--fw-semi);background:0 0;border:none}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1), 0 0 0 1px var(--border)}.segmented .count{font-weight:var(--fw-semi);color:var(--text-2);margin-left:5px}.title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.title-row .large-title{margin-bottom:0}.job-card-sub{font-size:var(--fs-caption);color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.job-card-foot{font-size:var(--fs-caption);color:var(--text-2);align-items:center;gap:8px;margin-top:4px;display:flex}.job-card-photo .job-card-foot{justify-content:space-between;min-height:30px;margin-top:2px}.screen-flush{padding-top:0}.cover{min-height:calc(env(safe-area-inset-top) + 236px);padding:calc(env(safe-area-inset-top) + 70px) 16px 50px;border-radius:0 0 var(--radius-xl) var(--radius-xl);background:linear-gradient(135deg, var(--hero-bg), color-mix(in srgb, var(--hero-bg) 70%, var(--accent)));flex-direction:column;justify-content:flex-end;margin:0 -16px;display:flex;position:relative;overflow:hidden}@media (width>=720px){.cover{border-radius:var(--radius-xl);margin:12px 0 0}}.cover img{object-fit:cover;width:100%;height:100%;animation:fade-in .25s var(--ease);display:block;position:absolute;inset:0}.cover:after{content:"";background:linear-gradient(var(--scrim-1), transparent 30%, transparent 38%, var(--scrim-3));pointer-events:none;position:absolute;inset:0}.cover-bar{z-index:1;top:calc(env(safe-area-inset-top) + 10px);justify-content:space-between;gap:8px;display:flex;position:absolute;left:16px;right:16px}.cover-actions{gap:8px;min-width:0;display:flex}.cover-bar .icon-btn{flex-shrink:0;width:48px;height:48px}.cover-bar .icon-btn,.onsite-pill{background:var(--scrim-2);color:var(--white);border:1px solid var(--on-dark-1);box-shadow:inset 0 1px 0 var(--on-dark-1)}.onsite-pill{min-width:0;height:48px;font-size:var(--fs-caption);font-weight:var(--fw-semi);white-space:nowrap;transition:transform .12s var(--ease);border:none;border-radius:24px;align-items:center;gap:8px;padding:0 16px;display:inline-flex;overflow:hidden}.onsite-pill:active{transform:scale(.96)}:root[data-contrast=high] .cover-bar .icon-btn,:root[data-contrast=high] .onsite-pill{background:var(--hero-bg)}.badge-host{position:relative}.dot-badge{border-radius:var(--radius-xs);background:var(--danger-fill);min-width:20px;height:20px;color:var(--white);font-size:var(--fs-label);font-weight:var(--fw-heavy);padding:0 6px;line-height:20px;position:absolute;top:-2px;right:-2px}.count-badge{border-radius:var(--radius-s);background:var(--danger-fill);min-width:24px;height:24px;color:var(--white);font-size:var(--fs-label);font-weight:var(--fw-heavy);text-align:center;flex-shrink:0;padding:0 8px;line-height:24px}.cover-title{z-index:1;color:var(--white);text-shadow:0 1px 10px var(--scrim-1);position:relative}.cover-title .pill{text-shadow:none}.cover-title h1{font-size:var(--fs-title);font-weight:var(--fw-heavy);letter-spacing:-.02em;overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;line-height:1.12;display:-webkit-box;overflow:hidden}.cover-address{min-height:48px;color:var(--white);font-weight:var(--fw-semi);align-items:center;gap:6px;margin:-4px 0 -10px;text-decoration:none;display:flex}.cover-address svg{flex-shrink:0}.cover-address span{text-overflow:ellipsis;white-space:nowrap;text-decoration:underline;-webkit-text-decoration-color:var(--on-dark-2);text-decoration-color:var(--on-dark-2);text-underline-offset:3px;overflow:hidden}.cover-facts{font-size:var(--fs-caption);color:var(--on-dark-3);margin:4px 0 0}.cover-facts span{display:inline-block}.job-actions{gap:10px;display:flex}.job-shoot{border-radius:var(--radius-pill);min-width:0;min-height:64px;box-shadow:var(--shadow-1);flex:1;padding:10px 14px 10px 10px}.job-shoot .hero-icon{border-radius:50%;width:44px;height:44px}.job-shoot .hero-title{margin:0}.gallery-btn{border:var(--border-width) solid var(--border);border-radius:var(--radius-l);background:var(--surface);min-width:80px;color:var(--text);font-size:var(--fs-caption);font-weight:var(--fw-semi);transition:transform .12s var(--ease);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:3px;padding:0 12px;display:flex}.gallery-btn:active{transform:scale(.95)}.job-stats{z-index:2;border-radius:var(--radius-l);grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:-36px 0 14px;padding:6px;display:grid;position:relative}@media (width>=720px){.job-stats{margin:-36px 16px 16px}}.stat-tile{border-radius:calc(var(--radius-l) - 6px);background:var(--surface-2);min-width:0;min-height:66px;color:var(--text-2);text-align:center;border:none;align-content:center;justify-items:center;gap:2px;padding:6px 4px;display:grid}button.stat-tile{transition:transform .12s var(--ease)}button.stat-tile:active{transform:scale(.96)}.stat-num{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text);font-size:var(--fs-section);font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums;line-height:1.2;overflow:hidden}.stat-num.bad{color:var(--danger)}.stat-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:var(--fs-label);font-weight:var(--fw-semi);overflow:hidden}.ba-card{margin-bottom:4px;padding:12px}.ba-row+.ba-row{border-top:var(--border-width) solid var(--border);margin-top:12px;padding-top:12px}.ba-head{font-size:var(--fs-caption);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.ba-tag{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--tag-color) 14%, var(--surface));color:var(--text);font-size:var(--fs-label);font-weight:var(--fw-semi);align-items:center;gap:6px;padding:4px 12px;display:inline-flex}.ba-tag:before{content:"";background:var(--tag-color);border-radius:50%;width:8px;height:8px}.ba-thumbs{scrollbar-width:none;gap:6px;margin:0 -12px;padding:0 12px;display:flex;overflow-x:auto}.ba-thumbs::-webkit-scrollbar{display:none}.ba-thumb{border-radius:var(--radius-s);background:var(--surface-2);width:84px;height:84px;transition:transform .12s var(--ease);border:none;flex:none;padding:0;position:relative;overflow:hidden}.ba-thumb:active{transform:scale(.96)}.ba-thumb img{object-fit:cover;width:100%;height:100%;display:block}@media (width>=720px){.ba-thumb{width:120px;height:120px}}.tile-ok{border:2px solid var(--white);background:var(--success-fill);width:18px;height:18px;color:var(--white);box-shadow:0 1px 3px var(--scrim-1);border-radius:50%;place-items:center;display:grid;position:absolute;top:5px;right:5px}.job-tabs{margin:14px 0}.job-tabs button{white-space:nowrap;min-height:48px;padding:0 6px}.tab-toolbar{font-size:var(--fs-caption);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.tab-toolbar .link-btn{flex-shrink:0}.info-row{min-height:52px;color:var(--text);font-weight:var(--fw-semi);align-items:center;gap:12px;padding:10px 16px;text-decoration:none;display:flex}.info-row+.info-row{border-top:1px solid var(--border)}.info-row svg{color:var(--text-2);flex-shrink:0}.info-row span{flex:1;min-width:0}.info-row .muted{font-weight:var(--fw-semi);flex:none}.notice-row{border-radius:var(--radius-m);background:var(--surface-2);font-weight:var(--fw-semi);align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.notice-row span{flex:1}.notice-row .btn{min-height:48px;font-size:var(--fs-body);padding:0 14px}.form{gap:16px;display:grid}.form-label{font-size:var(--fs-caption);font-weight:var(--fw-semi);color:var(--text-2);margin-bottom:6px;display:block}.form-hint{font-size:var(--fs-caption);color:var(--danger);margin-top:6px}.form-actions{gap:10px;margin-top:6px;display:grid}.btn-ghost{color:var(--text-2);background:0 0}.picker-row.create{color:var(--text)}.picker-plus{border-radius:var(--radius-xs);background:var(--accent);width:44px;height:44px;color:var(--on-accent);flex-shrink:0;place-items:center;display:grid}.picker-empty{color:var(--text-2);padding:18px 4px}.picker-plus-empty{background:var(--surface-2);color:var(--text-2)}.camera{z-index:60;background:var(--black);color:var(--white);animation:fade-in .2s var(--ease);flex-direction:column;display:flex;position:fixed;inset:0}.camera video,.camera-ghost{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.camera-ghost{opacity:.4;pointer-events:none}.camera-flash{z-index:3;background:var(--white);pointer-events:none;animation:.24s ease-out forwards camera-flash;position:absolute;inset:0}@keyframes camera-flash{0%{opacity:.85}to{opacity:0}}.camera-top{z-index:2;padding:calc(env(safe-area-inset-top) + 10px) 12px 24px;background:linear-gradient(var(--scrim-2), transparent);align-items:center;gap:8px;display:flex;position:relative}.cam-btn{background:var(--scrim-2);width:48px;height:48px;color:var(--white);transition:transform .12s var(--ease), background-color .15s;border:none;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.cam-btn:active{transform:scale(.9)}.cam-btn[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.cam-job{flex:1;min-width:0;padding:0 4px}.cam-job-name{font-weight:var(--fw-heavy);font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cam-job-meta{font-size:var(--fs-label);opacity:.85;align-items:center;gap:4px;margin-top:2px;display:flex}.camera-spacer{z-index:2;flex-direction:column;flex:1;align-items:center;gap:8px;display:flex;position:relative}.camera-hint{border-radius:var(--radius-pill);background:var(--scrim-2);font-size:var(--fs-caption);font-weight:var(--fw-semi);padding:6px 12px}.camera-hint-error{background:var(--danger-fill)}.camera-error{z-index:2;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:relative}.camera-error h2{margin:4px 0 0}.camera-error p{opacity:.8;max-width:320px;margin:0 0 8px;line-height:1.4}.camera-bottom{z-index:2;padding:28px 0 calc(env(safe-area-inset-bottom) + 18px);background:linear-gradient(transparent, var(--scrim-3) 35%);position:relative}.shutter-row{grid-template-columns:1fr auto 1fr;align-items:center;padding:0 22px;display:grid}.shutter{border:5px solid var(--on-dark-2);background:var(--white);width:80px;height:80px;transition:transform .1s var(--ease);background-clip:padding-box;border-radius:50%}.shutter:active{transform:scale(.88)}.shutter:disabled{opacity:.4}.cam-thumb{border:2px solid var(--on-dark-3);border-radius:var(--radius-s);background:var(--on-dark-1);justify-self:start;width:58px;height:58px;position:relative}.cam-thumb img{border-radius:var(--radius-s);object-fit:cover;width:100%;height:100%;animation:tile-in .22s var(--ease)}.cam-count{border-radius:var(--radius-s);background:var(--accent);min-width:24px;height:24px;color:var(--on-accent);font-size:var(--fs-label);font-weight:var(--fw-heavy);text-align:center;padding:0 6px;line-height:24px;position:absolute;top:-8px;right:-8px}.cam-done{border-radius:var(--radius-pill);background:var(--on-dark-1);min-height:48px;color:var(--white);font-weight:var(--fw-heavy);border:none;justify-self:end;align-items:center;gap:6px;padding:0 16px;display:inline-flex}.chip-row{scrollbar-width:none;gap:8px;padding:0 14px 16px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip-wrap{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);min-height:48px;color:var(--text);font-size:var(--fs-body);font-weight:var(--fw-semi);transition:background-color .15s, border-color .15s, color .15s, transform .12s var(--ease);flex:none;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.chip:before{content:"";background:var(--tag-color);border-radius:50%;width:9px;height:9px}.chip:active{transform:scale(.95)}.chip[aria-pressed=true]{border-color:var(--tag-color);background:var(--tag-color);color:var(--white)}.chip[aria-pressed=true]:before{background:var(--white)}.chip-dark{border-color:var(--on-dark-2);background:var(--scrim-1);color:var(--white)}.tile-dots{gap:3px;display:flex;position:absolute;top:6px;left:6px}.tile-dot{border:2px solid var(--white);background:var(--tag-color);width:11px;height:11px;box-shadow:0 1px 3px var(--scrim-1);border-radius:50%}.tile-issue{border:2px solid var(--white);background:var(--danger-fill);width:19px;height:19px;color:var(--white);box-shadow:0 1px 3px var(--scrim-1);border-radius:50%;place-items:center;margin:-4px 1px 0 -4px;display:grid}.tile-issue.fixed{background:var(--success-fill)}.tile-icons{color:var(--white);filter:drop-shadow(0 1px 2px var(--scrim-3));gap:4px;display:flex;position:absolute;bottom:5px;right:5px}.details-preview{aspect-ratio:4/3;border-radius:var(--radius-m);object-fit:cover;background:var(--surface-2);width:100%;display:block}.details-meta{margin:10px 0 4px}.details-meta b{font-size:var(--fs-section);display:block}.textarea{border:var(--border-width) solid var(--border);border-radius:var(--radius-m);background:var(--surface);width:100%;min-height:96px;color:var(--text);font:inherit;font-size:var(--fs-body);resize:vertical;padding:12px 14px;line-height:1.4}.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent);outline:none}.pair-row{align-items:center;gap:12px;display:flex}.pair-row img{border-radius:var(--radius-xs);object-fit:cover;width:56px;height:56px}.pair-row .btn{min-height:48px;font-size:var(--fs-body);margin-left:auto;padding:0 14px}.compare{z-index:70;background:var(--black);color:var(--white);animation:fade-in .2s var(--ease);flex-direction:column;display:flex;position:fixed;inset:0}.compare-top{padding:calc(env(safe-area-inset-top) + 10px) 12px 10px;align-items:center;gap:12px;display:flex}.compare-top b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.compare-area{flex:1;place-items:center;min-height:0;display:grid;container-type:size}.compare-stage{width:min(100cqw, 100cqh * var(--ratio));aspect-ratio:var(--ratio);touch-action:none;cursor:ew-resize;position:relative;overflow:hidden}.compare-stage img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.compare-after{clip-path:inset(0 0 0 var(--pos))}.compare-line{top:0;bottom:0;left:var(--pos);background:var(--white);width:3px;box-shadow:0 0 8px var(--scrim-2);pointer-events:none;position:absolute;transform:translate(-50%)}.compare-knob{background:var(--white);width:48px;height:48px;color:var(--dark-surface);box-shadow:0 2px 10px var(--scrim-1);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.compare-label{border-radius:var(--radius-pill);background:var(--scrim-2);font-size:var(--fs-label);font-weight:var(--fw-heavy);letter-spacing:.08em;pointer-events:none;padding:5px 12px;position:absolute;top:12px}.compare-bottom{padding:12px 16px calc(env(safe-area-inset-bottom) + 16px);text-align:center;font-size:var(--fs-caption);opacity:.8}.pswp__caption-tags{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.pswp__caption-tag{border-radius:var(--radius-pill);font-size:var(--fs-label);font-weight:var(--fw-heavy);color:var(--white);padding:3px 10px}.pswp__caption-note{font-size:var(--fs-body);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;line-height:1.4;display:-webkit-box;overflow:hidden}.cam-modes{justify-content:center;gap:2px;margin:-4px 0 14px;display:flex}.cam-modes button{white-space:nowrap;border-radius:var(--radius-pill);min-height:48px;color:var(--on-dark-3);font-size:var(--fs-body);font-weight:var(--fw-heavy);background:0 0;border:none;padding:0 8px}.cam-modes .cam-phone{border-left:1px solid var(--on-dark-2);border-radius:0 17px 17px 0;align-items:center;gap:5px;margin-left:4px;display:inline-flex}.cam-modes button[aria-pressed=true]{background:var(--on-dark-1);color:var(--accent)}.cam-modes button:disabled{opacity:.4}.shutter-video,.shutter-scan{border-color:var(--white);background:0 0;place-items:center;display:grid}.shutter-video span{background:var(--rec-red);width:58px;height:58px;transition:transform .2s var(--ease), border-radius .2s var(--ease);border-radius:50%}.shutter-video.is-recording span{border-radius:13px;transform:scale(.52)}.shutter-scan{opacity:.5;border-style:dashed}.rec-pill{border-radius:var(--radius-pill);background:var(--rec-red);font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums;align-items:center;gap:8px;padding:6px 14px;display:inline-flex}.rec-dot{background:var(--white);border-radius:50%;width:10px;height:10px;animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.scan-frame{aspect-ratio:1;border-radius:var(--radius-l);width:min(70vw,280px);box-shadow:0 0 0 9999px var(--scrim-1);outline:3px solid var(--accent);outline-offset:-3px;margin:auto 0 8px}.scan-result{z-index:4;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 150px);border-radius:var(--radius-l);background:var(--dark-surface);max-width:520px;animation:sheet-in .26s var(--ease);margin:0 auto;padding:16px;position:absolute}.scan-result-label{font-size:var(--fs-label);font-weight:var(--fw-heavy);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.scan-result-text{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--fs-section);word-break:break-all;-webkit-user-select:text;user-select:text;margin:6px 0 14px}.scan-result-actions{flex-wrap:wrap;gap:8px;display:flex}.scan-result-actions .btn{min-height:48px;font-size:var(--fs-body);flex:auto;padding:0 14px;text-decoration:none}.tile-video{border-radius:var(--radius-pill);background:var(--scrim-2);color:var(--white);font-size:var(--fs-label);font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums;align-items:center;gap:3px;padding:2px 7px;display:inline-flex;position:absolute;bottom:5px;left:5px}.pswp-video{width:100%;height:100%;padding:calc(env(safe-area-inset-top) + 60px) 0 calc(env(safe-area-inset-bottom) + 120px);justify-content:center;align-items:center;display:flex}.pswp-video video{background:var(--black);max-width:100%;max-height:100%}video.details-preview{background:var(--black);object-fit:contain}.details-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.details-actions .btn{min-height:48px;font-size:var(--fs-body);padding:0 14px}.code-text{word-break:break-all;font-family:ui-monospace,SF Mono,Menlo,monospace}.editor{z-index:70;background:var(--black);color:var(--white);animation:fade-in .2s var(--ease);flex-direction:column;display:flex;position:fixed;inset:0}.editor-top{padding:calc(env(safe-area-inset-top) + 10px) 12px 10px;align-items:center;gap:10px;display:flex}.editor-top b{text-align:center;flex:1}.editor-save{border-radius:var(--radius-pill);background:var(--accent);min-height:48px;color:var(--on-accent);font-weight:var(--fw-heavy);border:none;align-items:center;gap:6px;padding:0 16px;display:inline-flex}.editor-save:disabled,.cam-btn:disabled{opacity:.4}.editor-stage{touch-action:none;flex:1;min-height:0}.editor-bottom{padding:10px 12px calc(env(safe-area-inset-bottom) + 12px)}.editor-colors{justify-content:center;align-items:center;gap:14px;margin-bottom:12px;display:flex}.swatch{border:3px solid var(--on-dark-2);width:34px;height:34px;transition:transform .12s var(--ease);border-radius:50%;position:relative}.swatch[aria-pressed=true]{border-color:var(--white);transform:scale(1.18)}.editor-delete{background:var(--danger-fill);margin-left:8px}.editor-tools{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.editor-tool{border-radius:var(--radius-s);background:var(--on-dark-1);min-height:60px;color:var(--on-dark-3);font-size:var(--fs-label);font-weight:var(--fw-semi);border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.editor-tool[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.editor-hint{text-align:center;font-size:var(--fs-caption);opacity:.7;margin-top:10px}.editor-text{padding:10px 12px calc(env(safe-area-inset-bottom) + 12px);gap:8px;display:flex}.editor-text input{border:2px solid var(--accent);border-radius:var(--radius-s);background:var(--dark-surface);min-width:0;min-height:48px;color:var(--white);font-size:var(--fs-body);flex:1;padding:0 14px}.link-btn{min-height:48px;color:var(--text);font-weight:var(--fw-heavy);background:0 0;border:none;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.add-card{width:100%;color:var(--text-2);text-align:left;font-weight:var(--fw-semi);border-style:dashed;align-items:center;gap:12px;padding:16px;display:flex}.checklist-icon{border-radius:var(--radius-s);background:var(--surface-2);width:64px;height:64px;color:var(--text-2);flex-shrink:0;place-items:center;display:grid}.checklist-icon.complete{background:color-mix(in srgb, var(--success) 16%, var(--surface));color:var(--success)}.progress-row{align-items:center;gap:12px;margin-bottom:14px;display:flex}.progress{border-radius:var(--radius-pill);background:var(--surface-2);flex:1;height:8px;overflow:hidden}.progress span{border-radius:var(--radius-pill);background:var(--accent);transform-origin:0;width:100%;height:100%;transition:transform .25s var(--ease);display:block}.progress span.complete{background:var(--success-fill)}.checklist{overflow:hidden}.check-item{align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.check-item+.check-item,.check-add{border-top:1px solid var(--border)}.checkbox{border:2.5px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);width:32px;height:32px;color:var(--white);transition:background-color .15s, border-color .15s, transform .12s var(--ease);flex-shrink:0;place-items:center;margin-top:2px;display:grid;position:relative}.checkbox:active{transform:scale(.88)}.checkbox[aria-checked=true]{border-color:var(--success);background:var(--success-fill)}.check-body{flex:1;min-width:0;padding-top:5px}.check-text{font-size:var(--fs-body);font-weight:var(--fw-semi);cursor:pointer;line-height:1.35}.check-item.is-done .check-text{color:var(--text-2);text-decoration:line-through}.check-item .icon-btn{flex-shrink:0}.check-photos{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.check-photos button{background:0 0;border:none;padding:0}.check-photos img{border-radius:var(--radius-xs);object-fit:cover;width:48px;height:48px;display:block}.check-add{align-items:center;gap:10px;padding:12px 14px;display:flex}.check-tip{font-size:var(--fs-caption);margin:12px 4px 0}.setting-button{text-align:left;background:0 0;border:none;width:100%}a.setting-button{color:inherit;text-decoration:none}.setting-button:disabled{opacity:.45}.btn.warn{color:var(--danger)}.filter-row{scrollbar-width:none;gap:8px;margin:12px -16px 0;padding:2px 16px 4px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-chip{border:var(--border-width) solid var(--border);border-radius:var(--radius-pill);background:var(--surface);max-width:220px;min-height:48px;color:var(--text);font-size:var(--fs-caption);font-weight:var(--fw-semi);white-space:nowrap;text-overflow:ellipsis;transition:background-color .15s, color .15s, transform .12s var(--ease);flex:none;align-items:center;gap:6px;padding:0 14px;display:inline-flex;overflow:hidden}.filter-chip:active{transform:scale(.96)}.filter-chip[aria-pressed=true]{border-color:var(--hero-bg);background:var(--hero-bg);color:var(--white)}.filter-clear{color:var(--text-2);font-weight:var(--fw-semi);background:0 0;border:none;flex:none;padding:0 6px}.understood{font-size:var(--fs-caption);font-weight:var(--fw-semi);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;display:flex}.understood-pill{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent) 20%, var(--surface));color:var(--text);font-weight:var(--fw-semi);padding:3px 10px}.result-summary{font-size:var(--fs-caption);font-weight:var(--fw-semi);color:var(--text-2);margin:16px 2px 0}.date-range{align-items:center;gap:8px;display:flex}.date-range .field{flex:1;min-width:0}.picker-row[aria-pressed=true]{color:var(--text)}.picker-row[aria-pressed=true]:after{content:"✓";font-weight:var(--fw-heavy);color:var(--success)}.attention{overflow:hidden}.attention-row{text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 14px;display:flex}.attention-row+.attention-row{border-top:1px solid var(--border)}.attention-icon{border-radius:var(--radius-s);flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.attention-icon.bad{background:color-mix(in srgb, var(--danger) 14%, var(--surface));color:var(--danger)}.attention-icon.warn{background:color-mix(in srgb, var(--accent) 22%, var(--surface));color:var(--warning)}.attention-icon.info{background:var(--info-bg);color:var(--info)}.attention-icon.muted{background:var(--surface-2);color:var(--text-2)}.attention-body{flex:1;min-width:0}.attention-title{font-weight:var(--fw-semi);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.attention-sub{font-size:var(--fs-caption);color:var(--text-2);margin-top:2px;display:block}.issue-job{font-weight:var(--fw-heavy);margin:18px 4px 8px}.issue-list{overflow:hidden}.issue-row{align-items:center;gap:12px;padding:10px 12px;display:flex}.issue-row+.issue-row{border-top:1px solid var(--border)}.issue-thumbs{background:0 0;border:none;flex-shrink:0;gap:4px;padding:0;display:flex}.issue-thumbs img{border-radius:var(--radius-xs);object-fit:cover;width:58px;height:58px}.issue-body{flex:1;min-width:0}.issue-note{font-weight:var(--fw-semi);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}.issue-meta{font-size:var(--fs-caption);font-weight:var(--fw-semi);margin-top:4px}.fix-btn{border-radius:var(--radius-pill);background:var(--success-fill);min-height:48px;color:var(--white);font-weight:var(--fw-heavy);transition:transform .12s var(--ease);border:none;flex-shrink:0;align-items:center;gap:4px;padding:0 14px;display:inline-flex}.fix-btn:active{transform:scale(.94)}.issue-banner{border-radius:var(--radius-m);background:color-mix(in srgb, var(--danger) 12%, var(--surface));color:var(--danger);font-weight:var(--fw-semi);align-items:center;gap:10px;margin-top:12px;padding:10px 12px;display:flex}.issue-banner span{flex:1}.issue-banner.is-fixed{background:color-mix(in srgb, var(--success) 12%, var(--surface));color:var(--success)}.issue-banner .btn{min-height:48px;font-size:var(--fs-caption);padding:0 12px}.pswp__caption-issue{border-radius:var(--radius-pill);background:var(--danger-fill);font-size:var(--fs-label);font-weight:var(--fw-heavy);margin-top:6px;padding:2px 10px;display:inline-block}.pswp__caption-issue.is-fixed{background:var(--success-fill)}.log-day{padding:14px}.log-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.log-head b{font-size:var(--fs-section)}.log-head .muted{font-size:var(--fs-caption)}.log-facts{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.log-fact{border-radius:var(--radius-pill);background:var(--surface-2);font-size:var(--fs-caption);font-weight:var(--fw-semi);align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.log-fact .tile-dot{width:9px;height:9px;box-shadow:none;border-width:0}.log-notes,.log-ticks{margin:0 0 10px;padding:0;list-style:none}.log-notes button{text-align:left;background:0 0;border:none;align-items:flex-start;gap:10px;width:100%;padding:6px 0;line-height:1.35;display:flex}.log-notes img{border-radius:var(--radius-xs);object-fit:cover;flex-shrink:0;width:36px;height:36px}.log-ticks li{font-size:var(--fs-body);align-items:center;gap:6px;padding:3px 0;display:flex}.log-strip{grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:12px;display:grid}.log-strip button{aspect-ratio:1;border-radius:var(--radius-xs);background:var(--surface-2);border:none;padding:0;position:relative;overflow:hidden}.log-strip img{object-fit:cover;width:100%;height:100%;display:block}.log-more{background:var(--scrim-2);color:var(--white);font-weight:var(--fw-heavy);font-size:var(--fs-caption);place-items:center;display:grid;position:absolute;inset:0}.log-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.log-actions .btn{min-height:48px;font-size:var(--fs-body)}.share-strip{align-items:center;gap:6px;display:flex}.share-strip img{border-radius:var(--radius-xs);object-fit:cover;width:54px;height:54px}.share-more{font-weight:var(--fw-heavy);color:var(--text-2);padding-left:4px}.share-title{margin:12px 0 16px}.share-hint{font-size:var(--fs-caption);margin:10px 4px 0;line-height:1.4}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.check-line{min-height:48px;font-weight:var(--fw-semi);align-items:center;gap:10px;display:flex}.check-line input{width:22px;height:22px;accent-color:var(--accent)}.report-file{border-radius:var(--radius-m);background:var(--surface-2);word-break:break-all;align-items:center;gap:14px;margin-bottom:18px;padding:14px;display:flex}.location-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.location-row .btn{min-height:48px;font-size:var(--fs-caption);padding:0 12px}.logo-preview{object-fit:contain;max-width:160px;max-height:56px;margin-top:6px;display:block}.map-box{height:55vh;min-height:300px;margin:0 -16px;position:relative;overflow:hidden}@media (width>=720px){.map-box{border-radius:var(--radius-l);margin:0}}.map-box>.map{position:absolute;inset:0}.map-error{border-radius:var(--radius-m);background:var(--dark-surface-90);color:var(--white);font-weight:var(--fw-semi);padding:10px 12px;position:absolute;bottom:12px;left:12px;right:12px}.map-marker{cursor:pointer;background:0 0;border:none;padding:0 0 10px}.map-pin{border:4px solid var(--pin-color);background:var(--white);width:52px;height:52px;box-shadow:0 4px 12px var(--scrim-1);cursor:pointer;border-radius:50% 50% 50% 4px;padding:0;display:block;overflow:hidden;transform:rotate(-45deg)}.map-pin img{object-fit:cover;width:100%;height:100%;transform:rotate(45deg)scale(1.42)}.map-card{color:var(--dark-surface);gap:6px;padding:4px;font-family:inherit;display:grid}.map-card b{font-size:var(--fs-body)}.map-card .muted{font-size:var(--fs-caption);color:var(--fixed-muted)}.map-card .btn{min-height:48px;font-size:var(--fs-caption);margin-top:4px}.pswp__counter{white-space:nowrap}.setting-icon.link-on{background:color-mix(in srgb, var(--success) 18%, var(--surface-2));color:var(--success)}.link-box{border:var(--border-width) solid var(--border);border-radius:var(--radius-m);background:var(--surface-2);align-items:center;gap:10px;min-height:52px;padding:0 14px;display:flex}.link-box input{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-caption);background:0 0;border:none;outline:none;flex:1}.link-actions{grid-template-columns:1.4fr 1fr 1fr;gap:8px;margin-top:10px;display:grid}.link-actions .btn{min-height:48px;font-size:var(--fs-body);padding:0 10px;text-decoration:none}.tile-comments{font-size:var(--fs-label);font-weight:var(--fw-heavy);align-items:center;gap:2px;display:inline-flex}.comments{gap:2px;margin-bottom:10px;display:grid}.comment{align-items:flex-start;gap:10px;padding:8px 0;display:flex}.comment .avatar{width:32px;height:32px;font-size:var(--fs-label)}.comment-body{flex:1;min-width:0}.comment-head{font-size:var(--fs-caption)}.comment-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px;line-height:1.4}.comment .icon-btn{width:48px;height:48px;color:var(--text-2);background:0 0;margin:-8px -8px -8px 0}.comment-form{align-items:center;gap:8px;display:flex}.send-btn{background:var(--accent);width:48px;height:48px;color:var(--on-accent)}.send-btn:disabled{opacity:.4}.share-page{max-width:1100px;padding:calc(env(safe-area-inset-top) + 20px) 16px 40px;margin:0 auto}.share-brand{color:var(--text-2);font-size:var(--fs-body);font-weight:var(--fw-heavy);align-items:center;gap:12px;margin-bottom:18px;display:flex}.share-brand img{object-fit:contain;max-width:160px;max-height:44px}.share-title{font-size:clamp(1.8rem,5vw,2.6rem);font-weight:var(--fw-heavy);letter-spacing:-.02em;margin:0 0 6px;line-height:1.1}.share-address{color:var(--text-2);font-weight:var(--fw-semi);align-items:center;gap:6px;margin:0 0 4px;display:flex}.share-sub{margin:0 0 4px}.share-note{color:var(--text-2);font-size:var(--fs-caption);margin:0 0 14px}.share-section{margin-top:10px}.share-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.tile-large{aspect-ratio:4/3;border-radius:var(--radius-m)}.share-footer{color:var(--text-2);font-size:var(--fs-caption);text-align:center;margin-top:40px}.share-message{text-align:center;align-content:center;place-items:center;gap:10px;min-height:80dvh;display:grid}.share-message h1{font-size:var(--fs-headline);margin:6px 0 0}@media (width>=720px){.share-page{padding:40px 32px 60px}.share-page .grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}.share-grid{grid-template-columns:repeat(3,1fr);gap:12px}}.sidebar-brand,.fab-label{display:none}@media (width>=1024px){:root{--sidebar-w:248px}body:has(.tabbar){padding-left:var(--sidebar-w)}.tabbar{width:var(--sidebar-w);background:var(--surface);border-right:var(--border-width) solid var(--border);flex-direction:column;align-items:stretch;gap:4px;padding:20px 14px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{font-size:var(--fs-section);font-weight:var(--fw-heavy);align-items:center;gap:10px;padding:4px 10px 22px;display:flex}.sidebar-brand img{width:32px;height:32px}.tabbar .fab{border-radius:var(--radius-pill);width:100%;height:50px;font-size:var(--fs-body);font-weight:var(--fw-semi);border:none;order:1;justify-content:center;gap:10px;margin:0 0 18px;display:flex}.tabbar .fab svg{width:22px;height:22px}.fab-label{display:inline}.sidebar-brand{order:0}.tab{border-radius:var(--radius-pill);height:48px;font-size:var(--fs-body);flex-direction:row;order:2;justify-content:flex-start;gap:14px;padding:0 14px}.tab:hover{background:var(--surface-2)}.tab[aria-current=page]{background:var(--ink);color:var(--on-ink)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.screen{max-width:1100px;padding:28px 40px 64px}.screen-narrow{max-width:780px}.screen-flush{padding-top:0}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.day-header{padding-top:12px}.stack:has(>.job-card){grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.toast{left:calc(var(--sidebar-w) + 24px);bottom:24px;right:24px}.sheet{border-radius:var(--radius-l);width:min(600px,100vw - 48px);max-height:86vh;animation:dialog-in .22s var(--ease);padding:20px 24px 24px;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.sheet-handle{display:none}.sheet-grab{cursor:auto}.tile img{transition:transform .2s var(--ease)}.tile:hover img{transform:scale(1.04)}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,-46%)scale(.98)}}.details-meta>.muted{display:block}.drop-hint{font-size:var(--fs-caption);text-align:center;margin:8px 0 0;display:none}@media (width>=1024px){.drop-hint{display:block}}.drop-overlay{z-index:60;border:4px dashed var(--accent);background:color-mix(in srgb, var(--bg) 88%, transparent);color:var(--text);font-size:var(--fs-headline);font-weight:var(--fw-heavy);text-align:center;pointer-events:none;align-content:center;place-items:center;gap:12px;padding:24px;display:grid;position:fixed;inset:0}.import-progress{left:12px;right:12px;bottom:calc(var(--tabbar-space) + 16px);z-index:50;border-radius:var(--radius-m);background:var(--dark-surface);max-width:520px;color:var(--white);font-weight:var(--fw-semi);box-shadow:var(--shadow-2);gap:8px;margin:0 auto;padding:12px 14px;display:grid;position:fixed}.import-bar{border-radius:var(--radius-pill);background:linear-gradient(to right, var(--accent) var(--done), var(--on-dark-1) var(--done));height:6px}@media (width>=1024px){.import-progress{left:calc(var(--sidebar-w) + 24px);bottom:24px;right:24px}}.ai-bar{border-radius:var(--radius-pill);background:linear-gradient(to right, var(--accent) var(--done), var(--surface-2) var(--done));height:6px;margin-top:8px}.ai-title{align-items:center;gap:6px;display:inline-flex}.ai-suggest{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.ai-suggest .muted,.ai-sees{font-size:var(--fs-caption);align-items:center;gap:4px;display:inline-flex}.ai-sees{margin:10px 0 0}.visit-row{padding-top:10px;padding-bottom:10px}.visit-dot{background:var(--success-fill);width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb, var(--success) 22%, transparent);border-radius:50%;flex-shrink:0;display:inline-block}.onsite-bar{border-radius:var(--radius-m);background:color-mix(in srgb, var(--success) 12%, var(--surface));border:var(--border-width) solid color-mix(in srgb, var(--success) 35%, var(--border));align-items:center;gap:10px;margin:0 0 14px;padding:8px 8px 8px 14px;display:flex}.onsite-bar.is-stale{background:color-mix(in srgb, var(--accent) 14%, var(--surface));border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.onsite-bar .btn{min-height:48px;font-size:var(--fs-caption);padding:0 12px}.onsite-text{min-width:0;min-height:48px;color:var(--text);font-weight:var(--fw-semi);text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:10px;display:flex}.onsite-body{flex-direction:column;min-width:0;display:flex}.onsite-job{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.onsite-time{font-size:var(--fs-caption);font-weight:var(--fw-semi);color:var(--text-2)}.voice-card{padding:12px 16px 16px}.voice-notes{gap:8px;display:grid}.voice-note{align-items:center;gap:10px;display:flex}.voice-play{background:var(--ink);width:48px;height:48px;color:var(--on-ink)}.voice-delete{width:48px;height:48px;color:var(--text-2);background:0 0;margin:0 -8px 0 -4px}.doc-thumb{border-radius:var(--radius-xs);object-fit:cover;flex-shrink:0;width:38px;height:38px}.doc-file{overflow-wrap:anywhere;align-items:center;gap:6px;display:flex}.doc-big-icon{border-radius:var(--radius-m);background:var(--surface-2);height:140px;color:var(--text-2);place-items:center;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.btn.disabled{opacity:.5;pointer-events:none}a.btn{text-decoration:none}.log-weather{font-weight:var(--fw-semi);margin:6px 0 0}.chip-plain:before{display:none}.chip-plain[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--on-ink)}.setting-body>.setting-title,.setting-body>.setting-desc{display:block}.ai-bar.bar-warn{background:linear-gradient(to right, var(--danger) var(--done), var(--surface-2) var(--done))}.pswp{--pswp-bg:#000;--pswp-placeholder-bg:#222;--pswp-root-z-index:100000;--pswp-preloader-color:#4f4f4f66;--pswp-preloader-color-secondary:#ffffffe6;--pswp-icon-color:#fff;--pswp-icon-color-secondary:#4f4f4f;--pswp-icon-stroke-color:#4f4f4f;--pswp-icon-stroke-width:2px;--pswp-error-text-color:var(--pswp-icon-color);width:100%;height:100%;z-index:var(--pswp-root-z-index);touch-action:none;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:#0000;outline:0;display:none;position:fixed;top:0;left:0}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{will-change:opacity;transform:translateZ(0)}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{width:100%;height:100%;position:absolute;top:0;left:0}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:-webkit-zoom-out;cursor:-moz-zoom-out;cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{color:var(--pswp-error-text-color);margin:auto;font-size:1em;line-height:1}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(.4, 0, .22, 1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{cursor:pointer;width:50px;height:60px;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none;background:0 0;border:0;margin:0;padding:0;display:block;position:relative;overflow:hidden}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{box-shadow:none;opacity:1;background:0 0;border:0;padding:0;transition:none}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary);pointer-events:none;width:32px;height:32px;position:absolute;top:14px;left:9px;overflow:hidden}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{z-index:10;flex-direction:row;justify-content:flex-end;width:100%;height:60px;display:flex;position:absolute;top:0;left:0;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{width:75px;height:100px;margin-top:-50px;position:absolute;top:50%}.pswp__button--arrow:disabled{cursor:default;display:none}.pswp__button--arrow .pswp__icn{background:0 0;border-radius:0;width:60px;height:60px;margin-top:-30px;top:50%}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{left:0;right:auto}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scaleX(-1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{width:50px;height:60px;margin-right:auto;position:relative;overflow:hidden}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:.6s linear infinite pswp-clockwise}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pswp__counter{margin-top:15px;height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85;margin-inline-start:20px;font-size:14px;line-height:30px}.pswp--one-slide .pswp__counter{display:none}
