:root{--bg:#f3f5f7;--surface:#fff;--text:#16202a;--muted:#5d6b78;--brand:#0f3d5e;--brand-ink:#fff;--danger:#b3261e;--border:#d7dde3;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.4}.screen{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}.screen.centered{justify-content:center;align-items:center;padding:24px}.topbar{background:var(--brand);color:var(--brand-ink);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.brand{letter-spacing:.02em;font-weight:700}.brand.big{color:var(--brand);text-align:center;margin-bottom:8px;font-size:1.6rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:16px;padding:22px}.card h1{margin:0 0 8px;font-size:1.5rem}.login{flex-direction:column;gap:12px;width:min(100%,380px);margin:0;display:flex}label{font-weight:600}input[type=password]{font:inherit;letter-spacing:.35em;text-align:center;border:2px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:12px;font-size:1.8rem}input[type=password]:focus{border-color:var(--brand);outline:none}button{font:inherit;cursor:pointer}button.primary{background:var(--brand);color:var(--brand-ink);border:0;border-radius:10px;min-height:56px;padding:16px;font-size:1.1rem;font-weight:700}button.primary:disabled{opacity:.55;cursor:default}button.link{color:inherit;background:0 0;border:0;min-height:44px;padding:8px;text-decoration:underline}.muted{color:var(--muted)}.error{color:var(--danger);margin:0;font-weight:600}.topbar-right{align-items:center;gap:6px;display:flex}.who{opacity:.85}.toolbar{justify-content:space-between;align-items:center;padding:14px 16px 4px;display:flex}.toolbar h1{margin:0;font-size:1.35rem}button.secondary{background:var(--surface);color:var(--brand);border:2px solid var(--brand);border-radius:10px;min-height:44px;padding:8px 14px;font-weight:700}button.secondary:disabled{opacity:.55;cursor:default}.notice{border-radius:10px;margin:8px 16px 0;padding:10px 12px;font-weight:600}.notice.error{color:var(--danger);background:#fdecea}.notice.warn{color:#7a4b00;background:#fff4d6}.jobs-section{padding:12px 16px 0}.jobs-section h2{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:8px 0 6px;font-size:1.05rem}.jobs-section h3.day{margin:10px 0 4px;font-size:1rem}.muted-section{opacity:.7}.job-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.job{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:12px;padding:14px;display:flex}.job-time{color:var(--brand);flex:0 0 62px;font-size:1.1rem;font-weight:700}.job-body{flex:1;min-width:0}.job-title{overflow-wrap:anywhere;font-weight:700}.job-line{overflow-wrap:anywhere;margin-top:4px}.chips,.badges{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.chip{background:var(--brand);color:var(--brand-ink);border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:600}.badge{border:1px solid var(--border);color:var(--muted);border-radius:6px;padding:1px 8px;font-size:.85rem}.badge.accent{color:#7a4b00;background:#fff4d6;border-color:#c98a00;font-weight:600}.small{font-size:.85rem}.footer{text-align:center;padding:16px}.centered-text{text-align:center;padding:24px}a.job{color:inherit;align-items:center;text-decoration:none}.chevron{color:var(--muted);padding-left:4px;font-size:1.6rem;line-height:1}a.back{color:var(--brand-ink);align-items:center;min-height:44px;padding:8px 4px;font-weight:700;text-decoration:none;display:inline-flex}.card-head{padding:16px 16px 4px}.card-head h1{overflow-wrap:anywhere;margin:0 0 4px;font-size:1.4rem}.when{color:var(--brand);margin:0;font-weight:600}.card h2{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px;font-size:1rem}.card h3{margin:10px 0 4px;font-size:.95rem}.callouts{flex-direction:column;gap:8px;padding:8px 16px 0;display:flex}.callout{overflow-wrap:anywhere;background:#fff4d6;border:2px solid #c98a00;border-radius:10px;align-items:baseline;gap:10px;padding:12px 14px;font-weight:600;display:flex}.callout.rams{background:#e8f1fb;border-color:#2b6cb0}.callout-label{letter-spacing:.06em;color:#fff;background:#c98a00;border-radius:6px;flex:none;padding:2px 8px;font-size:.8rem}.callout.rams .callout-label{background:#2b6cb0}.address{overflow-wrap:anywhere;margin:0 0 10px;font-size:1.1rem;font-weight:600}.actions{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}a.action{border:2px solid var(--brand);min-height:48px;color:var(--brand);background:var(--surface);border-radius:10px;flex:auto;justify-content:center;align-items:center;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}a.action.call{background:var(--brand);color:var(--brand-ink);min-height:56px;font-size:1.1rem;display:flex}a.action.wide{margin-bottom:8px;display:flex}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px}.facts{grid-template-columns:max-content 1fr;gap:8px 14px;margin:0;display:grid}.facts dt{color:var(--muted);font-weight:600}.facts dd{overflow-wrap:anywhere;margin:0}.guide-list{margin:0;padding:0;list-style:none}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:8px;display:grid}.photo{aspect-ratio:1;background:var(--border);border-radius:10px;display:block;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%;display:block}body.no-scroll{overflow:hidden}button.photo{cursor:pointer;border:0;width:100%;padding:0}.viewer{z-index:1000;color:#fff;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.viewer-top{align-items:center;gap:10px;min-height:56px;padding:8px 8px 8px 14px;display:flex}.viewer-count{flex:none;font-weight:700}.viewer-name{text-overflow:ellipsis;white-space:nowrap;opacity:.8;flex:auto;min-width:0;font-size:.9rem;overflow:hidden}.viewer-close{color:#fff;background:#ffffff1f;border:2px solid #fff9;border-radius:50%;flex:none;width:56px;height:56px;font-size:2rem;line-height:1}.viewer-stage{touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;flex:auto;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.viewer-stage img{object-fit:contain;-webkit-user-drag:none;will-change:transform;max-width:100%;max-height:100%;transition:transform 60ms linear}.viewer-arrow{color:#fff;background:#ffffff26;border:0;border-radius:12px;width:52px;height:72px;font-size:2.6rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.viewer-arrow.prev{left:6px}.viewer-arrow.next{right:6px}.viewer-arrow:disabled{opacity:.25}.viewer-hint{text-align:center;opacity:.7;margin:0;padding:10px;font-size:.85rem}.tabs{gap:8px;margin-bottom:10px;display:flex}.tab{border:2px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);border-radius:10px;flex:1;font-weight:700}.tab.active{border-color:var(--brand);background:var(--brand);color:var(--brand-ink)}button.primary.wide{width:100%;margin-top:10px}.photo.captioned{aspect-ratio:auto;background:var(--surface);text-align:left;flex-direction:column;display:flex}.photo.captioned img{aspect-ratio:1}.thumb-caption{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:4px 6px;font-size:.8rem;display:block;overflow:hidden}.upload-list{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.upload{background:var(--bg);border-radius:8px;flex-wrap:wrap;gap:6px 10px;padding:8px 10px;font-size:.95rem;display:flex}.upload>span:first-child{font-weight:700}.upload.done>span:first-child{color:#1b7f3b}.upload.error{background:#fdecea}.upload.error>span:first-child{color:var(--danger)}.upload-name{color:var(--muted);text-overflow:ellipsis;overflow:hidden}.upload-message{flex-basis:100%}.capture{border:2px solid var(--brand);background:var(--bg);border-radius:12px;flex-direction:column;gap:10px;margin-top:10px;padding:14px;display:flex}.radio-row{gap:8px;display:flex}.radio{border:2px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:48px;font-weight:700;display:flex}.radio.active{border-color:var(--brand);background:var(--brand);color:var(--brand-ink)}.radio input{margin:0}.capture select,.capture input[type=text]{font:inherit;border:2px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;width:100%;padding:12px}.capture .actions{margin-bottom:0}.capture .actions button{flex:auto;min-height:52px}.capture .actions button.primary{padding:10px 14px;font-size:1rem}button.link.dark{color:var(--muted);flex:none}.queue-banner{z-index:50;color:#5a3a00;background:#fff4d6;border-bottom:2px solid #c98a00;align-items:center;gap:12px;padding:10px 14px;display:flex;position:sticky;top:0}.queue-banner.urgent{border-bottom-color:var(--danger);color:#7a1c14;background:#fdecea}.queue-text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.queue-banner button.secondary{flex:none;min-height:44px;padding:8px 12px}.queue-banner.urgent button.secondary{border-color:var(--danger);color:var(--danger)}.photo.queued{outline-offset:-2px;outline:2px dashed #c98a00;position:relative}.photo.queued img{opacity:.75}.queued-marker{color:#fff;background:#c98a00;border-radius:6px;padding:2px 8px;font-size:.78rem;font-weight:700;position:absolute;top:6px;left:6px}.photo.queued.uploading .queued-marker{background:var(--brand)}.photo.queued.failed .queued-marker{background:var(--danger)}.photo.queued.corrupt{outline-color:var(--danger)}.lost{aspect-ratio:1;text-align:center;color:var(--danger);background:#fdecea;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:.85rem;display:flex}button.small-btn{min-height:36px;padding:4px 10px;font-size:.9rem}.stamps{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}button.stamp{border:2px solid var(--brand);background:var(--surface);min-height:72px;color:var(--brand);border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;display:flex}button.stamp.done{background:var(--brand);color:var(--brand-ink)}button.stamp:disabled{opacity:.6}.stamp-label{font-weight:700}.stamp-time{font-size:.9rem}.stamp-for{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.stamp-for select{font:inherit;border:2px solid var(--border);background:var(--surface);border-radius:10px;padding:10px}.gallery-link{padding:0 16px}.gallery .photo-grid.wide{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}@media (width>=900px){.gallery .card,.gallery .card-head{width:calc(100% - 32px);max-width:1100px;margin-left:auto;margin-right:auto}}.photo-cell{flex-direction:column;gap:2px;display:flex}button.link.danger{color:var(--danger);min-height:40px;padding:6px 8px;text-decoration:underline}.wipe{border:2px solid var(--danger);background:#fdecea;border-radius:12px;flex-direction:column;gap:8px;margin-top:10px;padding:14px;display:flex}.wipe p{margin:0}.wipe input{font:inherit;border:2px solid var(--danger);background:var(--surface);border-radius:10px;padding:12px}button.primary.danger-bg{background:var(--danger)}.view-toggle{gap:8px;padding:12px 16px 0;display:flex}
