@font-face {
  font-family: Geist;
  src: url("./geist.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: Fander;
  src: url("./fander.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
:root {
  color-scheme: light;
  --cream: #F9F4ED;
  --surface: #FFFFFF;
  --ink: #141414;
  --blue: #0B5CFF;
  --press: #0746C4;
  --yellow: #F4FF00;
  --soft: #514E49;
  --line: #DAD4CB;
  --edge: #837C73;
  font: 16px/1.4 Geist, system-ui, sans-serif;
  font-synthesis: none;
  color: var(--ink);
  background: var(--cream);
}
* {box-sizing: border-box}
body {margin: 0; min-height: 100svh}
h1,h2,h3,p {margin: 0}
h1 {font: 400 clamp(32px,4vw,46px)/1.08 Fander, Geist, sans-serif; overflow-wrap: anywhere}
button,input,textarea,select {font: inherit; color: var(--ink)}
button,a,summary {touch-action: manipulation}
button {cursor: pointer; border: 0; background: transparent}
button:disabled {cursor: default; opacity: .5}
button,summary {font-weight: 620}
button,a,summary {min-height: 48px}
:focus-visible {outline: 3px solid var(--ink); outline-offset: 2px}
[hidden] {display: none !important}
.icon {display: block; width: 20px; height: 20px; flex: none}
a {color: var(--press); text-underline-offset: .18em}
.topbar {background: var(--surface); border-bottom: 1px solid var(--line)}
.bar-inner,.workspace {max-width: 1200px; margin: auto; padding-inline: clamp(16px,4vw,44px)}
.bar-inner {min-height: 58px; display: flex; align-items: center; justify-content: space-between}
.brand {display: flex; align-items: center; gap: 12px}
.brand img {display: block; width: 103px; height: auto}
.brand span {border-left: 1px solid var(--line); padding-left: 12px; font-size: 14px; font-weight: 650}
.quiet,.reset,.plain,.skip-action,.demo-link {display: inline-flex; align-items: center; justify-content: center; gap: 6px; color: var(--press); font-size: 14px}
.quiet {min-width: 64px; padding: 0 8px}
.workspace {padding-block: 22px max(32px,env(safe-area-inset-bottom))}
.heading,.card-top,.search-line,.results-meta,.pager,.back-link {display:flex; align-items:center; gap:12px; justify-content:space-between}
.heading {margin-bottom: 15px}
.heading h1 {margin-top: 2px}
.eyebrow {display: flex; align-items: center; gap: 5px; font-size: 11px; line-height: 1.25; font-weight: 680; letter-spacing: .055em; color: var(--soft)}
.eyebrow .icon,.place .icon,.last-note .icon {width: 16px; height: 16px}
.icon-button,.filter-button,.soft,.pager button,.workspace-menu button {
  min-height: 48px; min-width: 48px; display: inline-flex; align-items: center; justify-content: center;
  gap: 7px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); padding: 0 12px; font-size: 14px;
}
.icon-button {padding: 0}
[aria-expanded="true"].icon-button,[aria-expanded="true"].filter-button {background: var(--yellow); color: var(--ink); border-color: var(--ink)}
.workspace-menu {display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px}
.view-tabs {display: inline-flex; gap: 2px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); padding: 2px; margin-bottom: 10px}
.view-tabs button {display: flex; align-items: center; justify-content: center; gap: 7px; min-width: 90px; padding: 0 12px; border-radius: 7px; font-size: 14px}
.view-tabs [aria-current="page"],.scopes [aria-pressed="true"],.choice-grid [aria-pressed="true"] {background: var(--yellow); color: var(--ink)}
.view-tabs .icon {width: 18px; height: 18px}
.filter-box,.map-holder,.lead-card,.door-card,.empty,.lead-rows,.auth,.emblem-panel {background: var(--surface); border: 1px solid var(--line); border-radius: 13px}
.filter-box {padding: 8px 12px}
.search-line {gap: 8px}
.global-search {display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1}
.global-search input,.filter-grid input,.filter-grid select,.form-label textarea,.form-label select,.auth input {
  font-size: 16px; min-height: 48px; border: 1px solid var(--edge); background: var(--surface); border-radius: 8px; padding: 8px 10px; min-width: 0; width: 100%;
}
.global-search input {flex: 1; border: 0; padding: 6px 2px}
input::placeholder,textarea::placeholder {color: var(--soft); opacity: 1}
.scopes {display: flex; gap: 4px; padding-top: 5px; margin-top: 5px; border-top: 1px solid var(--line)}
.scopes button {display: flex; align-items: center; gap: 6px; border-radius: 6px; padding: 3px 10px; font-size: 13px}
.scopes button small {font-size: 12px; font-weight: 500; font-variant-numeric: tabular-nums}
.filter-grid {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)) auto; align-items: end; gap: 9px; padding: 10px 0 2px; margin-top: 6px; border-top: 1px solid var(--line)}
.filter-grid select,.form-label select {appearance: none; -webkit-appearance: none; height: 48px; padding-right: 32px; background: var(--surface) url("./chevron.svg") right 10px center / 18px 18px no-repeat}
.filter-grid label,.form-label,.auth label {display: grid; gap: 6px; font-size: 14px; font-weight: 650}
.results-meta {align-items: baseline; justify-content: flex-start; flex-wrap: wrap; gap: 2px 10px; margin: 13px 0 9px; font-size: 12px; color: var(--soft)}
.results-meta strong {font-weight: 700; font-size: 15px; color: var(--ink); font-variant-numeric: tabular-nums}
.results-meta strong:empty {display: none}
.map-grid {display: grid; grid-template-columns: minmax(0,1.6fr) minmax(285px,1fr); align-items: start; gap: 14px}
.map-holder {height: clamp(365px,52vh,540px); overflow: hidden}
.map-chrome,.map-foot {display: flex; align-items: center; justify-content: space-between}
.map-holder>div{width:100%;height:100%;position:relative;touch-action:none;overflow:hidden;isolation:isolate;user-select:none}.map-holder canvas,.markers,.map-chrome,.map-foot{position:absolute;inset:0;width:100%;height:100%}.markers,.map-chrome,.map-foot{pointer-events:none}.map-chrome{inset:11px 11px auto auto;width:calc(100% - 22px);height:auto;align-items:flex-start}.map-area,.map-source,.map-scale{background:var(--surface);border-radius:6px;padding:4px 7px;box-shadow:0 1px 5px var(--line);font-size:10px;color:var(--ink);font-weight:640}.map-tools{display:grid;background:var(--surface);border-radius:9px;box-shadow:0 1px 7px var(--line);overflow:hidden;pointer-events:auto}.map-tools button{width:37px;height:35px;display:grid;place-items:center}.map-tools button+button{border-top:1px solid var(--line)}.map-tools .icon{width:17px;height:17px}.map-foot{inset:auto 8px 6px;width:calc(100% - 16px);height:auto;justify-content:space-between;align-items:end}.map-scale{width:65px;border-bottom:1px solid var(--ink);border-radius:0;background:var(--line);text-align:center;padding:1px}.map-source{font-weight:500;font-size:9px;background:var(--line);padding:1px 4px}
.map-pin,.cluster{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);display:grid;place-items:center;border:2px solid var(--surface);box-shadow:0 1px 5px var(--line);line-height:1}.map-pin{height:27px;width:27px;color:var(--surface);background:var(--pin);border-radius:9px}.map-pin .icon{width:16px;height:16px}.map-pin.selected{width:34px;height:34px;z-index:2;outline:2px solid var(--ink);box-shadow:0 0 0 5px var(--surface)}.cluster{min-width:29px;height:29px;padding:0 5px;border-radius:30px;background:var(--ink);color:var(--surface);font-weight:750;font-size:11px}

.lead-card,.door-card,.emblem-panel {padding: 18px; min-width: 0}
.card-top {gap: 6px; flex-wrap: wrap}
.tag {display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 7px; font-size: 12px; font-weight: 640}
.tag .icon {width: 16px; height: 16px}
.lead-card h2,.door-card h2 {font: 680 clamp(21px,3vw,30px)/1.15 Geist, sans-serif; letter-spacing: -.025em; overflow-wrap: anywhere; margin-top: 9px}
.place {display: flex; align-items: center; gap: 5px; color: var(--soft); margin-top: 4px; font-size: 14px}
.last-note,.scope-notice,.door-hint,.error,.confirm-suppress {border-left: 3px solid var(--ink); padding: 9px 12px; margin: 11px 0; background: var(--cream); font-size: 14px}
.last-note,.scope-notice,.confirm-suppress {display: flex; gap: 8px; align-items: flex-start}
.last-note small {font-weight: 700; font-size: 12px}
.last-note p,.timeline p {white-space: pre-wrap; overflow-wrap: anywhere}
.primary {display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 48px; padding: 10px 14px; margin-top: 13px; border: 0; border-radius: 9px; background: var(--blue); color: var(--surface); font-size: 16px; font-weight: 650; text-decoration: none}
.primary .icon {color: currentColor}
.primary:active {background: var(--press)}
@media (hover:hover) {.primary:hover {background: var(--press)}}
.skip-action {display: flex; margin: 2px auto 0; padding-inline: 12px}
.detail-block {border-top: 1px solid var(--line); margin-top: 6px}
.detail-block summary {display: flex; align-items: center; gap: 7px; cursor: pointer; list-style: none; font-size: 14px}
.detail-block summary::-webkit-details-marker {display: none}
.detail-block summary .icon {width: 17px; height: 17px}
.detail-block summary .icon:last-child {margin-left: auto}
.detail-block[open] summary .icon:last-child {transform: rotate(180deg)}
.contact-details {margin: 4px 0 10px}
.contact-details>div {display: flex; flex-wrap: wrap; gap: 7px; align-items: baseline; padding: 4px 0}
.contact-details dt,.contact-details dd {margin: 0; font-size: 14px}
.contact-details dt {display: flex; gap: 5px; align-items: center; color: var(--soft)}
.contact-details dt .icon {width: 15px; height: 15px}
.contact-details dd {overflow-wrap: anywhere}
.door-call {display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:8px 12px;border:1px solid var(--blue);border-radius:9px;color:var(--press);font-weight:650;text-decoration:none;overflow-wrap:anywhere}
.door-call .icon {width:18px;height:18px}
.nearby-control {display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:6px;padding-top:5px}
.nearby-button {display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:0 10px;border:1px solid var(--blue);border-radius:8px;color:var(--press);font-size:14px}
.nearby-button .icon {width:18px;height:18px}
.nearby-control small {flex:1 1 150px;color:var(--soft);font-size:12px;line-height:1.3}
.plan-box {background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:12px;margin:0 0 10px;min-width:0}
.plan-head {display:flex;align-items:center;justify-content:space-between;gap:10px}
.plan-head h2 {font-size:16px}.plan-head span,.plan-box p {font-size:12px;color:var(--soft)}
.plan-box p {margin-top:4px}.plan-list {list-style:none;margin:8px 0 0;padding:0}
.plan-list li {display:flex;align-items:center;gap:4px;border-top:1px solid var(--line);min-width:0}
.plan-label {flex:1;min-width:0;padding:7px 0}.plan-label strong,.plan-label small {display:block;overflow-wrap:anywhere}
.plan-label strong {font-size:13px}.plan-label small {font-size:12px;color:var(--soft)}
.plan-controls {display:flex;flex:none}.plan-controls button {display:grid;place-items:center;width:48px;height:48px;color:var(--press)}
.plan-controls .icon {width:17px;height:17px}.plan-controls button[data-plan-up] .icon {transform:rotate(90deg)}.plan-controls button[data-plan-down] .icon {transform:rotate(90deg)}
.plan-actions {display:flex;align-items:center;gap:10px}.plan-actions .primary {flex:1}.plan-actions .plain {flex:none}
.muted,.timeline li>span {color: var(--soft); font-size: 13px}
.muted {margin: 8px 0}
.timeline {list-style: none; padding: 0; margin: 8px 0}
.timeline li {border-left: 2px solid var(--line); padding: 3px 0 8px 10px; margin: 3px 0; font-size: 14px}
.timeline strong,.timeline span {display: block}
.timeline p {margin: 4px 0}
.entry,#app:has(>.auth) {padding: clamp(24px,8vh,72px) 16px}
.auth {max-width: 425px; margin: 0 auto; padding: clamp(21px,4vw,30px); border-top: 3px solid var(--blue)}
.auth h1 {font-size: clamp(30px,5vw,38px)}
.auth p {font-size: 16px; line-height: 1.5; margin: 12px 0 18px}
.auth label {margin-bottom: 6px}
.auth input {min-height: 50px; letter-spacing: .045em}
.auth .demo-link {display: flex; width: fit-content; margin: 6px auto -8px; padding-inline: 6px}
.auth-icon,.emblem-empty {display: grid; place-items: center; color: var(--press); width: 32px; height: 32px; margin-bottom: 6px}
.empty,.boot {padding: 21px}
.empty h2 {font-size: 19px}
.empty p {margin: 6px 0 10px; font-size: 15px}
.boot {max-width: 1200px; margin: auto}
.lead-rows {overflow: hidden}
.lead-row {display: grid; grid-template-columns: 38px minmax(0,1fr) 18px; align-items: center; text-align: left; gap: 10px; width: 100%; min-height: 64px; padding: 10px 13px}
.lead-row+.lead-row {border-top: 1px solid var(--line)}
.row-icon {display: grid; place-items: center; width: 36px; height: 36px; border-radius: 8px}
.lead-row strong,.lead-row small {display: block; overflow-wrap: anywhere}
.lead-row strong {font-size: 16px; font-weight: 650}
.lead-row small,.pager span {font-size: 13px; color: var(--soft)}
.lead-row>.icon {width: 18px}
.pager {padding: 10px 0}
.door-workspace {max-width: 720px}
.back-link {margin: -4px 0 5px}
.plain {padding-left: 0}
.door-card {border-top: 3px solid var(--blue)}
.door-card fieldset {border: 0; margin: 13px 0 0; padding: 0; min-width: 0}
.door-card legend {padding: 0 0 7px; font-weight: 650; font-size: 14px}
.outcome-grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px}
.outcome {display: flex; align-items: center; gap: 7px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); font-size: 14px}
.outcome[aria-pressed="true"] {background: var(--yellow); color: var(--ink); border-color: var(--ink)}
.form-label {display: block; margin-top: 12px}
.form-label textarea,.form-label select {display: block; margin-top: 5px}
.form-label textarea {min-height: 75px; resize: vertical}
.form-label small { color: var(--soft); font-weight: 450}
.confirm-suppress {min-height: 48px; align-items: center}
.confirm-suppress input {width: 20px; height: 20px; accent-color: var(--blue); flex: none}
#notice:not(:empty) {position: fixed; bottom: max(12px,env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); z-index: 6; width: max-content; max-width: calc(100% - 24px); padding: 12px 16px; background: var(--ink); color: var(--surface); border-radius: 9px; font-size: 14px}
.emblem-panel {max-width: 530px; margin: auto}
.emblem-panel h2 {font-size: 14px; margin: 15px 0 7px}
.emblem-preview {display: flex; gap: 11px; align-items: center}
.emblem-preview>span {display: grid; place-items: center; width: 48px; height: 48px; border-radius: 10px}
.emblem-preview small {display: block; color: var(--soft); font-size: 13px}
.choice-grid {display: grid; grid-template-columns: repeat(auto-fit,minmax(48px,1fr)); gap: 5px}
.choice-grid button {display: grid; place-items: center; border: 1px solid var(--line); border-radius: 7px; min-width: 48px}
.choice-grid [aria-pressed="true"] {border-color: var(--ink)}
.swatch i {display: block; width: 22px; height: 22px; border-radius: 50%; background: var(--color); border: 1px solid var(--edge)}
@media(max-width:720px){
  .bar-inner {min-height: 52px}
  .brand img {width: 91px}
  .workspace {padding: 13px 12px max(28px,env(safe-area-inset-bottom))}
  .heading {margin-bottom: 8px}
  .heading h1 {font-size: 32px}
  .workspace-menu,.view-tabs {margin-bottom: 7px}
  .filter-box {padding: 5px 8px}
  .filter-button {padding: 0 9px}
  .scopes {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3px; padding-top: 4px; margin-top: 4px}
  .scopes button {flex-direction: column; justify-content: center; gap: 0; padding: 2px; font-size: 12px}
  .filter-grid {grid-template-columns: repeat(2,minmax(0,1fr))}
  .results-meta {gap: 1px 7px; margin: 8px 1px; font-size: 11px}
  .results-meta strong {font-size: 13px}
  .map-grid {grid-template-columns: minmax(0,1fr); gap: 9px}
  .map-holder {height: clamp(268px,34svh,335px)}
  .lead-card,.door-card,.emblem-panel {padding: 14px}
  .entry,#app:has(>.auth) {padding-top: 30px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important; transition:none!important; animation:none!important}}

/* Field workflow follows the original route walkthrough. */
.field-workflow {
  --route-blue:#1a5bad; --route-sky:#2d7cd4; --route-night:#10151e; --route-yellow:#fdfd00;
  --ink:#233548; --soft:#526777; --line:#d7e2e9; background:#f4f8fc;
  -webkit-font-smoothing:antialiased;
}
.field-workflow .topbar {background:#10151e;color:white;border-bottom:1px solid #2c3b4b}
.field-workflow .bar-inner {min-height:54px}
.field-workflow .brand img {width:93px}
.field-workflow .brand span {color:#f5f8fc;border-color:#485460}
.field-workflow .header-actions {display:flex;align-items:center;gap:6px}
.field-workflow .header-actions button {color:#eff8fc}
.field-workflow .header-menu {width:48px;height:48px;padding:0;background:#263443;border-radius:10px;font:22px/1 Geist,sans-serif;min-width:48px}
.field-workflow .quiet {font-size:12px}
.field-workflow .workspace {padding-top:14px;padding-bottom:100px}
.route-band {background:linear-gradient(115deg,#205aa6 0%,#2878c6 68%,#288ed0 100%);color:white;border-radius:17px;padding:12px 18px 4px;position:relative;isolation:isolate;overflow:hidden}
.route-band::after {content:"";position:absolute;z-index:-1;inset:0 0 0 48%;opacity:.5;background:repeating-radial-gradient(ellipse at 120% 140%,transparent 0 20px,#a7f6ff40 21px 22px,transparent 23px 32px);pointer-events:none}
.route-head {display:flex;align-items:center;justify-content:space-between;gap:7px}
.route-head>div:first-child {min-width:0}
.route-head p,.sheet-kicker,.door-card legend,.door-card .form-label:first-of-type,.last-note small {font-size:10px;line-height:1.25;font-weight:730;letter-spacing:.09em;text-transform:uppercase}
.route-head p {color:#d9faff;display:flex;align-items:center;gap:4px}
.route-head p span {white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.route-head p .icon {width:14px;height:14px}
.route-head h1 {color:white;font:705 clamp(27px,3.8vw,43px)/1.05 Geist,sans-serif;letter-spacing:-.055em;margin:3px 0}
.travel-mode {display:flex;align-items:center;gap:2px;padding:2px;background:#0e437849;border:1px solid #b6e4f067;border-radius:11px;flex:none}
.travel-mode button {display:flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;color:white;border-radius:8px;min-height:48px;font-size:13px}
.travel-mode button .icon {width:16px;height:16px}
.travel-mode [aria-pressed=true] {background:white;color:#1c569a}
.route-band .results-meta {color:#f4fbff;display:flex;align-items:center;flex-wrap:nowrap;gap:7px;margin:2px 0 0;min-height:28px}
.route-band .results-meta>span {font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.route-band .results-meta strong {color:white;font-size:12px}
.route-band .results-meta button {margin-left:auto;display:flex;align-items:center;gap:5px;min-height:48px;padding:0 4px;color:white;font-size:12px}
.route-band .results-meta button .icon {width:15px;height:15px}
.field-tabs {position:fixed;z-index:4;inset:auto 0 0;display:flex;align-items:center;justify-content:center;gap:5px;padding:4px max(10px,env(safe-area-inset-left)) max(5px,env(safe-area-inset-bottom));border-top:1px solid #d4e0e8;background:#fff}
.field-tabs button {width:min(110px,24%);height:48px;display:grid;gap:1px;place-content:center;justify-items:center;border-radius:9px;color:#4a5d68;font-size:11px}
.field-tabs .icon {width:19px;height:19px}
.field-tabs button[aria-current=page] {background:#e0edf9;color:#195893}
.field-workflow .map-grid {margin-top:13px}
.field-workflow .primary {background:#fdfd00;color:#10151e;text-align:left;justify-content:flex-start;font-weight:730}
.field-workflow .primary:hover,.field-workflow .primary:active {background:#f5e918}
.field-workflow .primary .icon:last-child:not(:first-child) {margin-left:auto}
.field-workflow .lead-card {border-radius:17px;box-shadow:0 4px 16px #23354812}
.field-workflow .card-top:not(.sheet-head) {min-height:48px}
.field-workflow .eyebrow {color:#315f86;font-size:10px;text-transform:uppercase;letter-spacing:.09em}
.field-workflow .lead-card h2 {font-size:clamp(28px,4vw,42px);letter-spacing:-.055em;margin-top:3px}
.field-workflow .last-note {border-left:3px solid #2d7cd4;background:#eef5fb;border-radius:0 9px 9px 0}
.field-workflow .last-note small {display:block;color:#35628b;margin-bottom:4px}
.field-workflow .lead-card .detail-block {margin-top:0}
.field-workflow .detail-block summary {font-size:13px}
.field-workflow .stops .filter-box {margin:10px 0}
.field-workflow .lead-card .skip-action {margin:1px auto}
.field-workflow[data-view=door] {background:#10151e;color:#edf4fc}
.field-workflow .door-workspace {max-width:680px;background:radial-gradient(ellipse at top right,#18313d,transparent 48%),#10151e;color:#eff6fa;min-height:calc(100svh - 54px)}
.field-workflow .door-workspace .plain {color:#bfd8e6}
.field-workflow .door-wrap .back-link {margin:0}
.field-workflow .door-card {border:0;background:transparent;padding:0}
.field-workflow .door-card h2 {color:white;font-size:30px;letter-spacing:-.055em;margin:1px 0}
.field-workflow .door-card h2 strong,.field-workflow .door-card h2 span {display:block}
.field-workflow .door-card h2 strong {font-size:clamp(43px,6vw,64px);line-height:1.04}
.field-workflow .door-card .place,.field-workflow .door-card .muted,.field-workflow .door-card .detail-block summary,.field-workflow .door-card dt {color:#b8ccdc}
.field-workflow .door-card .eyebrow {color:#a6d8df}
.field-workflow .door-card .last-note,.field-workflow .door-hint {background:#1e2b36;color:#e0ebf4;border-color:#59cabb}
.field-workflow .door-card .last-note small,.field-workflow .door-card legend,.field-workflow .door-card .form-label {color:#c4e1e5}
.field-workflow .door-card fieldset {margin-top:12px}
.field-workflow .door-card .outcome {color:#f6faff;background:#1d2936;border:1px solid #3c5063}
.field-workflow .door-card .outcome[aria-pressed=true] {background:#263c44;border:2px solid #5bdac3}
.field-workflow .door-card .outcome-grid {gap:7px}
.field-workflow .door-card .form-label small {text-transform:none;letter-spacing:0;color:#adc4d1}
.field-workflow .door-card textarea,.field-workflow .door-card select {background-color:#18222e;color:#edf5f9;border-color:#415869;text-transform:none;letter-spacing:0;font-weight:470}
.field-workflow .door-card textarea::placeholder {color:#adbfcc}
.field-workflow .door-card .stage-fold>summary {display:flex;gap:7px;align-items:center;color:#dae6ed;font-size:13px}
.field-workflow .door-card .stage-fold>summary .icon {width:16px;height:16px}
.field-workflow .door-card .primary {margin-top:4px}
.field-workflow .door-card .detail-block {margin-top:15px;border-color:#304050}
.field-workflow .door-card .detail-block li,.field-workflow .door-card .detail-block li span {color:#cfdce4}
.field-workflow .door-card .error,.field-workflow .door-card .confirm-suppress {color:#13222b}
.field-workflow[data-view=door] .field-tabs {background:#1b2633;border-color:#334353}
.field-workflow[data-view=door] .field-tabs button {color:#d7e4ee}
.field-workflow[data-view=door] :focus-visible {outline-color:#7ce2f9}
.field-sheet {position:fixed;inset:auto 0 0;margin:0 auto;max-height:84svh;width:min(100%,520px);max-width:100vw;overflow:auto;overscroll-behavior:contain;background:white;color:#233548;border:1px solid #d5e1e8;border-radius:21px 21px 0 0;padding:9px 16px max(16px,env(safe-area-inset-bottom));box-shadow:0 -7px 28px #142b3b30}
.field-sheet::backdrop {background:#14223678;backdrop-filter:blur(4px)}
.sheet-grip {width:34px;height:4px;background:#c8d5dd;margin:0 auto 8px;border-radius:5px}
.sheet-head {display:flex;align-items:center;justify-content:space-between;gap:10px}
.sheet-head h2 {font:690 22px/1.1 Geist,sans-serif;letter-spacing:-.045em}
.sheet-close {background:#eef4f7;border-radius:9px;display:grid;place-items:center;width:48px;height:48px}
.sheet-close span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.quick-nav {display:flex;gap:6px;margin:8px 0 14px}
.quick-nav button {flex:1;flex-direction:column;gap:3px;background:#e7f1fa;padding:6px}
.quick-nav button:nth-child(2) {background:#fff8ce}
.quick-nav button:last-child {background:#def5ec}
.sheet-kicker {color:#456780;margin-bottom:4px}
.sheet-tools {display:grid;gap:4px}
.sheet-tools button,.sheet-tools a {display:flex;align-items:center;gap:9px;padding:8px 12px;color:#233548;text-decoration:none;justify-content:start;min-height:48px;border:1px solid #dbe4ea;border-radius:9px;background:#f6f9fb;font-size:14px;font-weight:620}
.sheet-tools .icon:first-child {color:#2869a6}
.sheet-tools a .icon:last-child {margin-left:auto}
.field-workflow .emblem-panel {border:0;padding:8px 0 0}
.field-workflow .emblem-preview {background:#f4f8f9;border-radius:10px;padding:9px}
.field-workflow .emblem-panel .primary {color:white;background:#1a5bad}
.field-workflow .choice-grid {grid-template-columns:repeat(auto-fit,minmax(48px,1fr))}
@media(max-width:720px){
  .field-workflow .workspace {padding:0 0 max(78px,calc(66px + env(safe-area-inset-bottom)))}
  .field-workflow .bar-inner {padding:0 12px}
  .route-band {padding:9px 14px 0;border-radius:0}
  .field-workflow .map-grid {margin:0;gap:0}
  .field-workflow .map-holder {border:0;border-radius:0;height:clamp(250px,39svh,370px)}
  .field-workflow #card {position:relative;margin-top:-12px}
  .field-workflow .lead-card,.field-workflow #card .empty {padding:13px 17px 12px;border-radius:20px 20px 0 0;border-left:0;border-right:0;min-height:180px}
  .field-workflow .lead-card h2 {margin-top:0}
  .field-workflow .lead-card .primary {margin-top:10px}
  .field-workflow .door-workspace {padding:0 16px max(82px,calc(70px + env(safe-area-inset-bottom)))}
  .field-workflow .door-card .lead-card {margin:0}
  .stops .filter-box,.stops #rows,.stops #planned-stops {margin-inline:10px!important}
}
.card-actions {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;gap:6px}
.secondary-link {display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:48px;padding:0 7px;color:#22598b;font-size:13px}
.secondary-link .icon {width:17px;height:17px}
