/* "Submit a report" form, shared by /report and the station page sheet. Layout only; visuals from tokens. */
.report-flow { display: grid; gap: var(--space-4); }
.flow-lead { margin: 0; font-size: 13px; }
.flow-step { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: var(--space-2); justify-items: start; }
.flow-step legend { padding: 0; margin-bottom: var(--space-2); font: 500 18px/1.25 var(--font-display); letter-spacing: -.02em; color: var(--ink); }
.flow-step .ds-choices { margin: 0; }
.flow-step .ds-field { width: 100%; margin-top: 0; }
.flow-hint, .flow-msg, .flow-where { margin: 0; }
.flow-msg:empty { display: none; }
.flow-where { font-weight: 600; }
.ds-field select { width: 100%; border: 1px solid var(--line-control); border-radius: var(--radius-sm); padding: 10px 12px;
  font: 400 14px/1.4 var(--font-sans); color: var(--ink); background: var(--surface-100); }
.flow-photo-buttons { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }
.flow-photo-buttons label { cursor: pointer; }
.flow-preview { display: flex; align-items: center; gap: var(--space-3); }
.flow-preview img { display: block; width: 96px; height: 96px; object-fit: cover; border-radius: var(--radius-sm); border: 1px solid var(--line); }
.flow-heading { padding: var(--space-1) 0; text-align: left; white-space: normal; }
.flow-error { margin: 0; }
.flow-account { display: grid; gap: var(--space-2); justify-items: start; padding: var(--space-3); border: 1px solid var(--line);
  border-radius: var(--radius-md); background: var(--surface-raised); }
.flow-account p { margin: 0; }
.flow-account .ds-field { width: 100%; margin-top: 0; }
.flow-account-row { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.signup-box { max-width: 560px; padding: var(--space-4); }
.signup-box .flow-account-row { align-items: center; }
.phone-row { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: var(--space-2); }
.account-subhead { margin: var(--space-4) 0 0; font: 500 18px/1.25 var(--font-display); letter-spacing: -.02em; color: var(--ink); }
.account-reports { display: grid; gap: var(--space-2); width: 100%; }
.account-reports .ds-status { justify-self: start; }
.account-end { margin-top: var(--space-3); }
.alert-check { display: flex; align-items: center; gap: var(--space-2); font-size: 15px; color: var(--ink); cursor: pointer; }
.alert-check input { width: 18px; height: 18px; accent-color: var(--teal); flex: none; }
.alert-areas { border: 0; padding: 0; margin: 0; }
.alert-areas legend { padding: 0; margin-bottom: var(--space-2); }
.alert-area-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: var(--space-2) var(--space-3); }
[data-alert-more] { display: grid; gap: var(--space-3); }
[data-alert-more][hidden] { display: none; }
.account-confirm { display: grid; gap: var(--space-2); padding: var(--space-3); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); }
.account-confirm p { margin: 0; font-size: 14px; }
.signup-steps { margin: 0 0 var(--space-3); padding-left: var(--space-5); display: grid; gap: var(--space-2); }
.report-flow .sheet-actions { display: flex; justify-content: space-between; align-items: center; }
.visually-hidden, .honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sheet-dialog { max-height: 94vh; }
.sheet-dialog .ds-sheet { max-height: 94vh; overflow-y: auto; overscroll-behavior: contain; }
