/* Field workflow: large targets, readable in sunlight, compact on phones. */
@media(max-width:900px) { .ses-shell:has(.field-workflow) { grid-template-rows:auto 1fr; } }
.field-workflow { max-width: 960px; margin: 0 auto; padding-bottom: 135px; }
.field-workflow [hidden] { display: none !important; }
.field-header { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:12px; }
.field-header h1 { font-size:clamp(1.6rem,4vw,2.1rem); font-weight:750; letter-spacing:-.04em; margin:0; }
.field-header p { margin:4px 0 0; color:var(--text-muted); }
.field-header .field-eyebrow { font-size:.76rem; font-weight:800; color:var(--text-main); letter-spacing:.15em; margin:0 0 7px; }
.field-workflow button,.field-workflow select,.field-workflow input:not([type=radio]):not([type=checkbox]),.field-workflow summary { min-height:48px; }
.field-workflow button { touch-action:manipulation; }
.field-workflow .ses-input-row>button { min-width:48px!important; }
.field-workflow .ses-dropdown-item { min-height:48px; display:flex; align-items:center; }
.field-workflow textarea,.field-workflow input,.field-workflow select { font-size:16px; }
.field-workflow textarea { display:block; width:100%; resize:vertical; }
.field-workflow label { font-weight:600; }
.field-workflow fieldset { margin-top:16px; border-radius:16px; }
.field-workflow :focus-visible { outline:3px solid var(--ses-orange); outline-offset:3px; }
.field-workflow summary { display:list-item; padding:12px 0; cursor:pointer; font-weight:650; }
.field-save { font-size:.82rem; color:var(--text-muted); min-height:24px; padding:4px 0 12px; }
.field-timeline { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.field-time { padding:14px; border:1px solid var(--border-color); border-radius:12px; background:var(--app-bg); min-width:0; }
.field-time-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.field-time-heading strong { font-size:1rem; }
.field-time.recorded { border-color:#3f8f68; }
.field-recorded { display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; min-height:48px; }
.field-recorded strong { font-size:1.9rem; font-variant-numeric:tabular-nums; letter-spacing:-.03em; }
.field-recorded span { font-size:.8rem; }
.field-stamp { width:100%; background:var(--fieldset-bg); color:var(--text-main); border:1px solid var(--border-color); font-weight:650; }
.field-time summary { font-size:.85rem; padding-bottom:0; color:var(--text-main); }
.field-time label { display:block; margin-top:10px; font-size:.85rem; }
.field-time input { display:block; width:100%; max-width:100%; }
.field-time .field-inline-actions { gap:6px; }
.field-time .field-inline-actions button { flex:1; font-size:.82rem; padding:8px; }
.field-travel,.field-extra-times { border-top:1px solid var(--border-color); padding:4px 0; }
.field-travel p,.field-extra-times p,.field-workflow fieldset>p { color:var(--text-muted); font-size:.92rem; line-height:1.5; }
.field-feedback { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #3f8f68; padding:8px 12px; border-radius:12px; font-size:.9rem; margin-bottom:14px; }
.field-feedback button { background:transparent; color:var(--text-main); box-shadow:none; }
.field-count { font-size:.8rem; font-weight:500; margin-left:8px; }
.field-crew-list { display:grid; gap:12px; margin-top:16px; }
.field-crew-card { padding:12px; background:var(--app-bg); border:1px solid var(--border-color); border-radius:12px; }
.field-crew-name { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.field-crew-name button { background:transparent; color:var(--text-main); box-shadow:none; font-size:.8rem; }
.field-roles { display:flex; flex-wrap:wrap; gap:8px; }
.field-observations { padding:16px; }
.field-observations>label { display:block; margin-bottom:18px; }
.field-observations textarea { min-height:85px; margin-top:6px; }
.field-observations input,.field-observations select { display:block; width:100%; margin-top:6px; }
.field-preview { min-height:360px; max-height:65dvh; font-family:ui-monospace,Consolas,monospace; line-height:1.55; margin:8px 0 14px; }
.field-original { margin-top:16px; }
.field-original pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:.86rem; }
.field-inline-actions { display:flex; gap:10px; flex-wrap:wrap; margin:16px 0 4px; }
.field-next-job { margin-top:22px; width:100%; }
.field-workflow .field-primary,.field-workflow .field-import { background:var(--ses-orange); color:#17120d; border:1px solid var(--ses-orange); font-weight:750; box-shadow:none; }
.field-dock { position:fixed; bottom:0; left:0; right:0; z-index:1000; display:flex; gap:10px; justify-content:center; align-items:center; padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)); background:var(--app-bg); border-top:1px solid var(--border-color); }
.field-dock button { min-height:56px; width:min(42vw,350px); font-weight:700; }
.field-dock button:not(.field-primary) { background:var(--fieldset-bg); color:var(--text-main); border:1px solid var(--border-color); box-shadow:none; }
.field-next-job { background:var(--fieldset-bg); color:var(--text-main); border:1px solid var(--border-color); box-shadow:none; }
.field-workflow .field-warning { color:var(--text-main); background:rgba(255,103,31,.13); border-left:4px solid var(--ses-orange); padding:12px; }
@media(max-width:560px) {
    .field-header { flex-wrap:wrap; gap:12px; }
    .field-header>div { flex:1; min-width:140px; }
    .field-header .field-import { font-size:.85rem; padding:10px 12px; }
    .field-timeline { gap:8px; }
    .field-time { padding:10px; }
    .field-stamp { font-size:.85rem; padding:10px 6px; }
    .field-recorded { gap:6px; }
    .field-recorded strong { font-size:1.65rem; }
    .field-dock button { font-size:.87rem; padding:10px; }
}
@media(prefers-reduced-motion:reduce) { .field-workflow * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* One scrolling sheet; every vehicle stage stays within reach. */
.field-workflow { padding-bottom:150px; }
.field-header { margin-bottom:6px; }
.field-header h1 { font-size:1.6rem; }
.field-header .field-eyebrow { margin-bottom:3px; }
.field-quick-times { position:sticky; top:0; z-index:950; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:8px 0; background:var(--app-bg); border-bottom:1px solid var(--border-color); }
.field-time { padding:0; overflow:visible; }
.field-time button.field-stamp,.field-time button.field-recorded { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; width:100%; min-height:76px; margin:0; padding:8px; border:0; border-radius:11px 11px 0 0; box-shadow:none; }
.field-time button.field-stamp { background:var(--ses-orange); color:#17120d; }
.field-time button.field-recorded { background:var(--fieldset-bg); color:var(--text-main); }
.field-time button span { font-size:.9rem; font-weight:700; }
.field-time button strong { font-size:1.65rem; line-height:1.2; font-variant-numeric:tabular-nums; }
.field-time button strong small { font-size:1rem; color:#3f8f68; }
.field-time button.field-time-edit { display:block; width:100%; border:0; border-top:1px solid var(--border-color); border-radius:0 0 11px 11px; padding:6px; background:var(--fieldset-bg); color:var(--text-main); font-size:.82rem; box-shadow:none; min-height:44px; }
.field-feedback { margin:8px 0; }
.field-roles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.field-roles button { padding:10px 4px; font-size:.83rem; background:var(--fieldset-bg); color:var(--text-main); border:1px solid var(--border-color); box-shadow:none; }
.field-roles button[aria-pressed=true] { background:var(--ses-orange); color:#17120d; border-color:var(--ses-orange); font-weight:750; }
.field-observations { border:1px solid var(--border-color); border-radius:12px; margin-top:16px; padding:0 12px; }
.field-observations>summary { padding:14px 0; }
.field-optional { font-weight:400; color:var(--text-muted); font-size:.8rem; }
#job-vehicle,#response-code { width:100%; }
.vehicle-manager { max-width:800px; }
.vehicle-options { display:flex; flex-wrap:wrap; gap:8px 16px; margin:12px 0 20px; }
.vehicle-manager>label { display:block; margin:12px 0; }
.vehicle-manager input:not([type=checkbox]),.vehicle-manager select { width:100%; display:block; min-height:48px; font-size:16px; }
.vehicle-manager label.vehicle-enabled { display:flex; align-items:center; gap:10px; min-height:48px; max-width:100%; padding:8px 12px; border:1px solid var(--border-color); border-radius:8px; cursor:pointer; overflow-wrap:anywhere; }
.vehicle-enabled input { flex:0 0 24px; width:24px; height:24px; accent-color:var(--ses-orange); }
.vehicle-manager button { min-height:48px; }
.vehicle-back { display:inline-flex; align-items:center; min-height:48px; padding:8px 12px; border:1px solid var(--border-color); border-radius:8px; color:var(--text-main); background:var(--fieldset-bg); text-decoration:none; }
.field-dock { display:grid; grid-template-columns:minmax(0,700px); gap:6px; }
.field-dock button { width:100%; min-height:56px; }
.field-copy-hint { font-size:.8rem; line-height:1.35; color:var(--text-muted); }
.field-modal-backdrop { position:fixed; inset:0; z-index:2100; padding:16px; background:rgba(0,0,0,.7); display:flex; align-items:center; justify-content:center; }
.field-modal { background:var(--app-bg); color:var(--text-main); border:1px solid var(--border-color); border-radius:16px; padding:20px; width:min(100%,500px); max-height:90dvh; overflow:auto; }
.field-modal h2 { font-size:1.4rem; margin:0 0 16px; }
.field-modal label { display:block; margin-top:12px; }
.field-modal input { width:100%; display:block; }
.field-quick-times:has(.field-modal-backdrop) { z-index:2100; }
@media(max-width:600px) {
    .field-quick-times { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    .field-time button.field-stamp,.field-time button.field-recorded { min-height:64px; padding:6px; }
    .field-time button strong { font-size:1.5rem; }
    .field-header { gap:8px; }
    .field-header .field-import { max-width:150px; }
}
@media(max-height:520px) { .field-quick-times { position:static; } }

.field-roles button[aria-pressed=true]::before { content:"\2713\00a0"; }
@media(max-height:600px) { .field-quick-times { position:static; } }

/* Avoid artificial scroll containers that prevent the time strip sticking. */
.ses-shell:has(.field-workflow),.ses-content:has(.field-workflow) { overflow:visible; }
body:has(.field-workflow) { overflow-x:clip; overflow-y:visible; }
html:has(.field-workflow) { overflow-x:clip; }
.field-workflow input,.field-workflow textarea,.field-workflow select { scroll-margin-top:150px; }
@media(max-width:600px) { .field-workflow input,.field-workflow textarea,.field-workflow select { scroll-margin-top:250px; } }

/* Copy is the crew action; saving and sharing stay available but quieter. */
.field-report-actions { display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; gap:8px; align-items:center; }
.field-dock .field-report-actions .field-quiet { width:auto; min-width:52px; min-height:48px; padding:10px 8px; font-size:.82rem; font-weight:500; border:0; background:transparent; color:var(--text-muted); }
.field-workflow .field-secondary { background:var(--fieldset-bg); color:var(--text-main); border:1px solid var(--border-color); box-shadow:none; }
.field-copy-complete .field-inline-actions { display:grid; grid-template-columns:1fr 1fr; }
.field-copy-complete .field-inline-actions button { padding:12px 8px; min-height:52px; }

.field-distance>input { width:100%; }
.field-distance>label { display:block; margin-bottom:6px; }
