/* Neo Swiss, shared by all three roles. Primary tasks remain readable on phones. */
:root{--ink:#111111;--muted:#515151;--paper:#F8F7F3;--white:#fff;--line:#DADADA;--green:#111;--green-dark:#303030;--tint:#f0f0eb;--accent:#72D7FF;--lime:#E7FF38;--chat:#eef9ff;font-family:Helvetica,Arial,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:18px;color:var(--ink);background:var(--paper)}
body{line-height:1.5;--accent:#72D7FF}body.driver-ui{--accent:#E7FF38}body.admin-ui{--accent:#FF4FC3}h1,h2,h3,strong,b{font-weight:800}h1,h2,h3{letter-spacing:-.035em;line-height:1.3}button,input,select{font-family:inherit}button,input,select{font-size:18px}a,button,input,summary{scroll-margin-block:24px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #111;outline-offset:4px}button:disabled{cursor:not-allowed}input,select{border:1px solid #777;border-radius:0;min-height:56px;font-size:18px}input::placeholder{color:#606060;opacity:1}label,.search-label{font-size:17px}.primary,.secondary,.text-button{font-size:17px;min-height:52px;border-radius:0}.primary{background:#111;color:white;border-color:#111}.primary:hover{background:#333}.secondary{border-color:#777}.text-button{color:#111}.hint,.small,.muted,.notice p,.unknown,.support{font-size:15px;color:#515151;line-height:1.6}.eyebrow{font-size:14px;letter-spacing:.09em;color:#111}.notice,.card,.ride-card,.vehicle,.empty,.message,dialog,.login-card{border-radius:0;box-shadow:none}.notice{border:1px solid #111;background:var(--accent)}.notice.warning{background:#fff6bf}.message{font-size:18px;z-index:1200}.message.error{background:#742818}.test-strip{background:#111;color:white;font-size:14px;font-weight:700;letter-spacing:0}.dot{background:#E7FF38}.topbar{border-color:#111}.brand{font-size:22px}.brand-symbol{background:#111;border-radius:0}.brand small{font-size:10px;letter-spacing:.12em}.account .text-button{font-size:15px}.account small{font-size:13px}.demo-roles{gap:0;padding-top:20px}.demo-roles a{border-radius:0;border:1px solid #111;font-size:18px;min-height:58px;padding:8px}.demo-roles a+a{border-left:0}.demo-roles a[aria-current=page]{background:var(--accent);color:#111;border-color:#111;box-shadow:inset 0 -4px #111}.demo-roles a:hover{background:#f0f0eb;border-color:#111}.demo-scope{font-size:14px;text-align:left;color:#515151;margin-top:12px}.workspace-heading{border-bottom:2px solid #111;padding-bottom:18px;gap:16px}.workspace-heading h1,.driver-ui #role-title{font-size:40px;line-height:1.2}.rider-ui #role-title{font-size:28px}.sync{font-size:14px;color:#515151}.sync .text-button{font-size:16px}.support{border-color:#111}.support b{min-width:130px}footer{font-size:14px;color:#515151;border-color:#111}footer .text-button{font-size:14px}.dialog-content{padding:28px}.dialog-content h2{font-size:28px}.dialog-content p{font-size:17px;line-height:1.6}.dialog-content .hint{font-size:15px}.confirm-route{font-size:24px;border-color:#111}.confirm-route small{font-size:16px}.actions .primary,.actions .secondary{font-size:18px;min-height:58px}.section-heading h2{font-size:24px}.badge,.ride-id{font-size:14px}.badge{border-radius:0;background:#eee;color:#111}.badge.requested{background:#E7FF38;color:#111}.ride-top{align-items:flex-start}.ride-route{font-size:23px;line-height:1.5}.ride-meta{font-size:17px}.next{font-size:17px;background:#f1f1ec;border-radius:0}.ride-card{border-color:#111}.ride-progress{font-size:15px}.ride-progress li span{width:32px;height:32px;font-size:14px}.ride-progress li:before{top:16px}.ride-filters button{font-size:16px;white-space:normal;min-height:58px}.ride-filters span{font-size:15px;border-radius:0;background:#eee}.ride-filters button[aria-pressed=true]{border-color:#111;color:#111}.ride-search button{font-size:16px}details,summary,.event-list{font-size:15px}summary{min-height:48px}.ride-actions button{font-size:18px}.vehicle p{font-size:15px}.vehicle h3{font-size:18px}.empty h3{font-size:22px}.empty p{font-size:16px}.cancelled-note{font-size:16px}.role-entry{border-radius:0;border-color:#111}.role-entry:first-child{background:#72D7FF;color:#111}.role-entry b{font-size:20px}.role-entry small{font-size:16px}.entry-icon{font-size:17px;border-radius:0}.login-card{border-color:#111}.lead{font-size:19px}.login-layout{gap:45px}

/* Rider: retain the map/chat split and four-step manual flow. */
.journey-heading h2{font-size:40px}.journey-heading p:not(.eyebrow){font-size:18px;color:#515151}.journey-heading .eyebrow,.journey-area{font-size:14px}.journey-area{border-radius:0;border-color:#777}.journey-steps{border-radius:0;background:#eeeee9;border:1px solid #111;margin-bottom:22px}.journey-steps li{min-height:78px;color:#515151;gap:12px;padding:12px}.journey-steps b{font-size:18px}.journey-steps span{font-size:26px;font-weight:800}.journey-steps li:not(:last-child):after{border-color:#777}.journey-steps [aria-current=step]{background:#72D7FF;color:#111}.journey-steps .step-done{background:#dceef4;color:#111}.journey-grid{border:1px solid #111;border-radius:0;box-shadow:none;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.map-heading h3,.chat-heading h3{font-size:24px}.map-heading .text-button{font-size:16px;min-height:48px}.place-tabs{gap:10px}.place-tabs button{border-radius:0;border-color:#777;background:#fff;min-height:94px;padding:14px}.place-tabs small{font-size:15px;color:#515151;margin-bottom:7px}.place-tabs strong{font-size:19px;line-height:1.4}.place-tabs button[aria-pressed=true]{border:2px solid #111;background:#d7f3ff;padding:13px}.place-tabs button[aria-pressed=true] small{color:#111}.map-prompt{font-size:16px;color:#333;min-height:48px;line-height:1.5}.map-frame #journey-map{height:370px}.map-foot,.map-note{font-size:13px;color:#515151;line-height:1.5}.map-error{font-size:14px;border:1px solid #777;border-radius:0;color:#111}.map-foot{gap:12px}.stop-pin button{box-shadow:none;background:#E7FF38;color:#111;width:120px;min-height:74px;font-size:16px;border-radius:10px;padding:5px 8px;border-color:#111;line-height:1.2}.stop-pin button:after{border-color:#111}.stop-pin button[data-selected=origin]{background:#72D7FF;color:#111}.stop-pin button[data-selected=destination]{background:#111;color:#fff}.stop-pin small{font-size:12px;letter-spacing:0}.stop-pin button>span{white-space:pre-line}.legend-dot.from{background:#1293bd}.legend-dot.to{background:#111}.leaflet-control-zoom a{font-size:24px!important;width:42px!important;height:42px!important;line-height:42px!important}.leaflet-control-zoom{border:1px solid #111!important;border-radius:0!important}.chat-panel{background:#eaf6fc;border-left:1px solid #111}.chat-heading{background:#72D7FF;border-bottom:1px solid #111;padding:20px}.chat-heading p{font-size:15px;color:#111}.guide-avatar{background:#111;color:white;border-radius:0;width:40px;height:40px}.guide-tag{display:none}.chat-messages{padding:20px 18px;min-height:270px;max-height:440px}.chat-bubble{font-size:18px;line-height:1.5;padding:16px;max-width:90%;color:#111;border:1px solid #aaa;box-shadow:none;border-radius:0 12px 12px}.chat-row.user .chat-bubble{background:#E7FF38;color:#111;border-color:#aaa;border-radius:12px 0 12px 12px}.chat-choices button{font-size:17px;border:1px solid #111;color:#111;min-height:52px;border-radius:0;padding:10px 12px;background:white}.chat-composer{border:1px solid #111;border-radius:0;padding:6px;margin-inline:16px;gap:4px}.chat-composer input{font-size:18px;min-height:52px;padding:8px}.chat-composer button{font-size:17px;min-height:52px;background:#111;border-radius:0;padding:8px 12px}.chat-help{font-size:14px;color:#515151;line-height:1.5}.journey-summary{border:1px solid #111;border-radius:0;padding:24px}.selection-heading h3{font-size:22px}.selection-tools button{font-size:16px;min-height:48px}.selection-place{border-color:#777;border-radius:0;background:#fff;min-height:95px;padding:14px}.selection-place small{font-size:15px;color:#515151}.selection-place strong{font-size:20px}.selection-arrow{color:#111;font-size:24px}.selection-people>span{font-size:16px}.selection-people button{font-size:20px;min-height:54px;min-width:54px;border:1px solid #111;border-radius:0;color:#111}.selection-people button[aria-pressed=true]{background:#E7FF38;border-color:#111;color:#111}.selection-bottom p{font-size:16px;color:#515151}.selection-bottom .primary{font-size:20px;min-height:62px;background:#111}.journey-status{border-radius:0;border:1px solid #111;background:#72D7FF}.journey-status b{font-size:24px;color:#111}.journey-status p{font-size:17px;color:#111}.journey-status .status-symbol{color:#111}.vehicle-name{font-size:25px}

/* Driver: map / reception / pending / confirmed preserve the manual hierarchy. */
.driver-console{--pickup:#72D7FF;--dropoff:#111;--driver-border:#111}.driver-context{border-radius:0;border-color:#111;padding:20px}.driver-context-label{font-size:16px;color:#515151}.driver-context strong{font-size:20px}.driver-capacity strong{font-size:36px;color:#111;font-variant-numeric:tabular-nums}.driver-flow{border:1px solid #111;border-radius:0;background:#eeeee9}.driver-flow li{font-size:18px;min-height:72px;color:#515151;padding:12px;gap:10px}.driver-flow span{font-size:25px;font-weight:800}.driver-flow [aria-current=step]{background:#E7FF38;color:#111}.driver-map-panel,.driver-reception,.driver-queue,.driver-confirmed,.driver-operation,.driver-history{border-radius:0;border-color:#111;box-shadow:none}.driver-board{grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);gap:16px}.driver-section-heading{padding:18px}.driver-section-heading h2{font-size:24px}.driver-section-heading .text-button{font-size:16px;min-height:48px}#driver-map{height:400px}.driver-map-legend,.driver-map-note{font-size:14px;color:#515151;line-height:1.5}.driver-map-pin button{width:120px;min-height:76px;box-shadow:none;border-radius:10px;border-color:#111;font-size:16px;line-height:1.2;background:#E7FF38;color:#111;padding:5px 8px}.driver-map-pin small{font-size:12px}.driver-map-pin button>span{white-space:pre-line}.driver-map-pin button[data-end=pickup]{background:#72D7FF;color:#111}.driver-map-pin button[data-end=dropoff]{background:#111;color:white}.driver-dot.pickup{background:#1293bd}.driver-dot.dropoff{background:#111}.driver-dot.stop{background:#E7FF38;border:1px solid #777}.driver-reception h2,.driver-queue h2{font-size:23px;border-bottom:1px solid #111;padding:16px;background:#ddd;color:#111}.driver-reception h2 span,.driver-queue h2 span{font-size:18px}.driver-reception-counts{gap:14px;padding:18px}.driver-reception-counts span{font-size:17px;color:#515151}.driver-reception-counts strong{font-size:44px;color:#111;white-space:nowrap;font-variant-numeric:tabular-nums}.driver-reception-counts small{font-size:16px}.driver-reception>p{font-size:14px;color:#515151;margin:0 18px 14px}.driver-queue{background:#fffef1}.driver-queue h2{background:#E7FF38}.driver-queue-help{font-size:16px;color:#515151;margin:14px}.driver-request{border:1px solid #777;border-radius:0;padding:14px}.driver-request[aria-pressed=true]{border:2px solid #111;padding:13px;background:#f7ffc1}.driver-request-top{font-size:15px;color:#515151}.driver-request-top strong{font-size:28px;color:#111}.driver-request-route{font-size:17px;line-height:1.4;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:7px;margin:12px 0}.driver-request-route b{border-radius:0;background:#72D7FF;color:#111;padding:10px 6px}.driver-request-route b:last-child{background:#111;color:#fff}.driver-request-foot{font-size:15px;color:#515151;flex-wrap:wrap}#driver-queue-list{max-height:350px;padding:4px 14px 14px}.driver-empty{font-size:18px;line-height:1.5;color:#515151;padding:26px 20px}.driver-confirmed-heading{background:#E7FF38;border-bottom:1px solid #111;padding:16px 20px}.driver-confirmed-heading h2{font-size:25px;color:#111}.driver-confirmed-heading h2 span{font-size:20px}.driver-confirmed-heading>span{font-size:16px;color:#111}.driver-run{border-radius:0;border-color:#777;padding:16px}.driver-run.selected{border-color:#111;background:#f6f6ef;padding:15px}.driver-run-heading{font-size:14px;flex-wrap:wrap;color:#515151}.driver-status{border-radius:0;background:#efefe9;color:#111;font-size:16px;padding:6px 8px}.driver-leg{min-height:156px;background:#72D7FF;color:#111;padding:16px 24px 16px 16px;gap:10px}.driver-leg.dropoff{background:#111;color:white}.driver-leg small{font-size:16px}.driver-leg b{font-size:22px}.driver-leg span{font-size:22px;font-weight:700}.driver-leg[aria-current=step]{box-shadow:inset 0 0 0 3px #777}.driver-route-note{font-size:14px;color:#515151}#driver-operation-prompt{font-size:20px;color:#111;line-height:1.5}.driver-selected-route{font-size:20px;background:#f1f1ec;border:1px solid #aaa;border-radius:0;padding:18px;gap:14px;line-height:1.4}.driver-selected-route small{font-size:15px;color:#515151}.driver-safety{border-radius:0;border-color:#777;padding:16px;background:#F8F7F3}.driver-safety .check{font-size:20px;color:#111;min-height:48px}.driver-safety input{width:26px;height:26px;accent-color:#111;flex-shrink:0}.driver-safety p{font-size:15px;color:#515151;margin-left:38px}.driver-main-action .primary{background:#111;border-radius:0;min-height:66px;font-size:24px;min-width:270px}.driver-main-action>span{font-size:16px;color:#515151}.driver-exceptions>span{font-size:17px;color:#515151}.driver-exceptions button{font-size:18px;min-height:56px;border:1px solid #111;border-radius:0;background:#fff;color:#111}.driver-history>summary{font-size:19px;min-height:52px;color:#111}.driver-history .section-heading h2{font-size:24px}.driver-help-notice{font-size:17px;line-height:1.5;border:1px solid #777;border-radius:0;background:#f7ffc1;color:#111}#driver-action-confirm-note{font-size:18px;color:#515151}

/* Shared operation chat and the administrator's map / figures / vehicles. */
.ops-chat{border:1px solid #111;background:#fff;margin-top:20px;min-width:0}.ops-chat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--accent);border-bottom:1px solid #111;padding:18px}.ops-chat-heading h2{font-size:24px;margin:0}.ops-chat-heading>span{font-size:15px}.ops-chat-log{max-height:310px;min-height:130px;overflow:auto;padding:20px;background:#f3f3ee;overscroll-behavior:contain}.ops-chat-row{margin-bottom:16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.ops-chat-row.user{align-items:flex-end}.ops-bubble{padding:14px 16px;max-width:95%;font-size:18px;line-height:1.5;background:white;border:1px solid #999;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:0 12px 12px}.ops-chat-row.user .ops-bubble{background:var(--accent);border-radius:12px 0 12px 12px}.ops-chat-choices{display:flex;flex-wrap:wrap;gap:8px}.ops-chat-choices button{font-size:16px;min-height:52px;border:1px solid #111;background:white;text-align:left;padding:10px;overflow-wrap:anywhere}.ops-chat-form{display:flex;gap:10px;padding:16px;margin:0}.ops-chat-form input{min-width:0}.ops-chat-form button{background:#111;color:white;border:1px solid #111;min-width:88px;min-height:56px;padding:10px;font-weight:700}.ops-chat-note{font-size:14px;line-height:1.5;color:#515151;margin:0;padding:0 18px 16px}.admin-ui #admin-stats,.admin-ui #workspace-nav,.admin-ui #role-kicker,.admin-ui #vehicles-panel{display:none}.admin-ui #work-grid{display:block;margin-top:28px}.admin-board{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,1fr);gap:16px}.admin-board .driver-map-panel{border-color:#111}#admin-map{height:438px;background:#e5eced;z-index:1}.admin-overview{border:1px solid #111;background:white}.admin-overview-heading{padding:18px;background:#FF4FC3;border-bottom:1px solid #111}.admin-overview-heading h2{font-size:26px;margin:0 0 5px}.admin-overview-heading>span{font-size:14px}.admin-big-metrics{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #111}.admin-big-metrics>div{padding:20px 16px;min-width:0}.admin-big-metrics>div+div{border-left:1px solid #111}.admin-big-metrics span{font-size:18px;display:block}.admin-big-metrics strong{display:block;font-size:72px;line-height:1.1;letter-spacing:-.06em;margin-top:15px;font-variant-numeric:tabular-nums}.admin-big-metrics small{font-size:20px;margin-left:7px;letter-spacing:0}.admin-metric-note{font-size:14px;color:#515151;line-height:1.5;margin:14px 18px}.admin-small-metrics{margin:16px 18px}.admin-small-metrics>div{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #DADADA}.admin-small-metrics dt{font-size:18px}.admin-small-metrics dd{margin:0;font-weight:800;font-size:25px}.admin-find-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.admin-find-grid .ops-chat{margin:0}.admin-results{border:1px solid #111;background:white;min-width:0}.admin-results .driver-section-heading{border-bottom:1px solid #111}#admin-result-label{font-size:17px;padding:14px 18px;margin:0;border-bottom:1px solid #DADADA}#admin-result-list{max-height:420px;overflow:auto;padding:14px}.admin-result{width:100%;text-align:left;background:white;border:1px solid #777;padding:16px;margin-bottom:12px;color:#111}.admin-result:last-child{margin-bottom:0}.admin-result:hover{background:#fff0fb}.admin-result-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-result-top>strong{font-size:26px}.admin-result-route{display:block;font-size:20px;font-weight:700;line-height:1.4;margin:14px 0}.admin-result-foot{font-size:14px;color:#515151;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.admin-fleet{margin-top:20px;border:1px solid #111;background:white}.admin-fleet-heading{padding:18px;background:#ddd;border-bottom:1px solid #111;display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-fleet-heading h2{font-size:25px;margin:0}.admin-fleet-heading>span{font-size:15px}.admin-fleet-list{display:grid;grid-template-columns:1fr 1fr}#admin-fleet-list{display:grid;grid-template-columns:1fr 1fr}.admin-vehicle{padding:22px}.admin-vehicle+.admin-vehicle{border-left:1px solid #111}.admin-vehicle h3{font-size:24px;margin:0 0 18px}.admin-vehicle dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.admin-vehicle dt{font-size:16px}.admin-vehicle dd{font-size:40px;font-weight:800;margin:8px 0 0;white-space:nowrap}.admin-vehicle dd small{font-size:18px;margin-left:5px}.admin-vehicle p{font-size:18px;margin:16px 0 0}.admin-vehicle .admin-vehicle-note{font-size:14px;color:#515151}
@media(max-width:1000px){.driver-board,.admin-board{grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr)}.driver-context strong{font-size:18px}.driver-capacity strong{font-size:30px}.driver-reception-counts{gap:10px;padding:14px}.driver-reception-counts>div+div{padding-left:10px}.driver-reception-counts>div{flex-direction:column;align-items:flex-start}.selection-grid{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}.selection-people{grid-column:1/-1;display:flex;gap:18px;padding:5px 0;align-items:center}.selection-people>span{margin:0}.journey-steps b{font-size:16px}.journey-steps li{flex-direction:column;gap:3px}.admin-big-metrics strong{font-size:64px}.driver-leg b{font-size:20px}.ops-chat-heading>span{display:none}}
@media(max-width:700px){:root{font-size:18px}.topbar,.rider-ui .topbar,.driver-ui .topbar{padding:14px}.brand{font-size:18px;gap:8px}.brand small{font-size:9px}.brand-symbol{width:36px;height:36px}.account .text-button{font-size:14px;padding-inline:0}.test-strip{font-size:12px;padding:9px 10px}.strip-detail{margin-left:5px}.demo-shell,.driver-ui .demo-shell,.rider-ui .demo-shell{padding:0 14px}.demo-roles,.rider-ui .demo-roles,.driver-ui .demo-roles{padding-top:14px;grid-template-columns:1fr 1.23fr .87fr}.demo-roles a{font-size:16px;min-height:56px;padding:8px 4px;line-height:1.3}.demo-scope,.rider-ui .demo-scope,.driver-ui .demo-scope{font-size:14px;line-height:1.5;margin-top:12px}main,.rider-ui main,.driver-ui main{padding:20px 14px 40px}.workspace-heading h1,.driver-ui #role-title{font-size:29px}.workspace-heading{padding-bottom:14px}.sync,.driver-ui .sync{font-size:14px;max-width:none}.sync .text-button{font-size:16px;min-height:48px}.eyebrow{font-size:13px}.rider-ui .workspace-heading{display:none}.journey-heading h2{font-size:30px}.journey-heading{margin-bottom:16px}.journey-area{display:none}.journey-steps{margin-bottom:18px}.journey-steps li{padding:10px 3px;min-height:78px;gap:6px}.journey-steps b{font-size:14px}.journey-steps span{font-size:24px}.journey-steps li:not(:last-child):after{display:none}.journey-steps li+li{border-left:1px solid #aaa}.journey-grid{display:flex;border-radius:0}.map-heading{padding:12px 12px 6px}.map-heading h3{font-size:21px}.map-heading .text-button{font-size:15px;min-height:48px}.place-tabs{padding:0 10px;gap:8px}.place-tabs button{min-height:98px;padding:12px 9px}.place-tabs button[aria-pressed=true]{padding:11px 8px}.place-tabs small{font-size:14px}.place-tabs strong{font-size:18px}.map-prompt{font-size:16px;line-height:1.5;margin:12px;min-height:0}.map-frame #journey-map{height:300px}.map-foot{font-size:13px;padding:12px 10px 4px;line-height:1.5}.map-note{font-size:13px;padding:0 10px;margin:5px 0 14px}.chat-panel{border-top:1px solid #111}.chat-heading{padding:16px 12px}.chat-heading h3{font-size:22px}.chat-heading p{font-size:14px}.chat-messages{min-height:180px;max-height:330px;padding:16px 10px}.chat-row{gap:6px}.chat-row .guide-avatar{width:24px;height:24px;font-size:18px}.chat-bubble{font-size:18px;padding:12px;max-width:90%;line-height:1.5}.chat-choices{gap:8px;padding:12px 10px}.chat-choices button{font-size:17px;min-height:52px}.chat-composer{margin:0 10px;padding:5px;gap:2px}.chat-composer input{font-size:18px;min-height:54px;padding:6px}.chat-composer button{font-size:16px;min-height:54px;padding:8px}.chat-help{font-size:14px;margin:12px;line-height:1.5}.journey-summary{padding:16px 12px;border-radius:0;margin-top:16px}.selection-heading{display:block;margin-bottom:14px}.selection-heading h3{font-size:22px;padding-top:0}.selection-tools{gap:16px;flex-wrap:wrap}.selection-tools button{font-size:16px;min-height:48px}.selection-grid{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:6px}.selection-place{padding:12px 8px;min-height:105px}.selection-place strong{font-size:18px;line-height:1.4}.selection-place small{font-size:14px}.selection-arrow{font-size:18px}.selection-people{gap:12px;margin-top:14px;flex-wrap:wrap}.selection-people>span{font-size:17px}.selection-people button{font-size:22px;min-height:56px;min-width:56px}.selection-bottom p{font-size:16px}.selection-bottom .primary{font-size:20px;min-height:64px;white-space:normal}.journey-status b{font-size:23px}.journey-status p{font-size:17px}.section-heading{align-items:flex-start;flex-wrap:wrap}.section-heading h2{font-size:23px}.ride-card{padding:17px 12px}.ride-top{flex-wrap:wrap;gap:8px}.ride-id{font-size:14px;text-align:left}.ride-route{font-size:21px}.ride-meta{font-size:16px}.ride-progress{font-size:14px;gap:2px}.ride-progress li span{font-size:14px}.ride-actions .primary{font-size:19px;min-height:58px}.ride-filters button{font-size:15px;padding:12px 2px}.ride-filters span{font-size:14px;padding-inline:4px;margin-left:2px}.ride-search{gap:8px}.ride-search input{font-size:18px}.ride-search button{font-size:16px}.next{font-size:17px;padding:12px}.dialog-content{padding:22px 16px}.dialog-content h2{font-size:26px}.actions{gap:10px}.actions .primary,.actions .secondary{font-size:18px;min-height:60px;padding:12px 14px}.message{font-size:17px;padding:14px 16px}.support,.hint,.small{font-size:15px}.support p{line-height:1.6}footer{font-size:14px;padding:20px 14px}.driver-context{grid-template-columns:minmax(0,1fr) auto;padding:16px 12px;gap:14px}.driver-context strong{font-size:18px}.driver-context-label{font-size:15px}.driver-capacity strong{font-size:30px}.driver-flow li{font-size:14px;min-height:78px;padding:10px 2px;gap:6px}.driver-flow span{font-size:24px}.driver-flow li+li{border-left:1px solid #aaa}.driver-board,.admin-board{display:flex;flex-direction:column;gap:16px}.driver-section-heading{padding:12px}.driver-section-heading h2{font-size:22px}.driver-section-heading .text-button{font-size:15px}#driver-map,#admin-map{height:300px}.driver-map-legend,.driver-map-note{font-size:13px;padding-inline:12px}.driver-map-legend{gap:10px}.driver-queue-column{gap:16px}.driver-reception h2,.driver-queue h2{font-size:23px;padding:14px}.driver-reception-counts{padding:16px;gap:16px}.driver-reception-counts>div{align-items:center;flex-direction:row;gap:8px}.driver-reception-counts span{font-size:16px}.driver-reception-counts strong{font-size:40px}.driver-reception-counts small{font-size:15px}.driver-reception>p{font-size:14px;margin:0 14px 14px}.driver-queue-help{font-size:16px}.driver-request{padding:12px}.driver-request[aria-pressed=true]{padding:11px}.driver-request-route{font-size:17px;gap:5px}.driver-request-foot{font-size:14px}.driver-confirmed-heading{padding:14px 12px;flex-wrap:wrap}.driver-confirmed-heading h2{font-size:23px}.driver-confirmed-heading h2 span{font-size:18px}.driver-confirmed-heading>span{font-size:15px}#driver-runs{grid-template-columns:1fr;padding:10px;gap:12px}.driver-run{padding:12px}.driver-run.selected{padding:11px}.driver-run-heading{font-size:14px}.driver-status{font-size:15px}.driver-leg{min-height:165px;padding:14px 18px 14px 10px;gap:12px}.driver-leg small{font-size:15px}.driver-leg b{font-size:19px;line-height:1.4}.driver-leg span{font-size:24px}.driver-route-note{font-size:14px;padding:0 12px 14px}.driver-operation{padding:3px 12px 16px}#driver-operation-prompt{font-size:19px;line-height:1.5}.driver-selected-route{font-size:18px;padding:14px;gap:9px;flex-direction:column;align-items:flex-start}.driver-selected-route small{font-size:14px;margin:0;width:100%}.driver-safety{padding:12px}.driver-safety .check{font-size:18px;gap:10px;line-height:1.5}.driver-safety p{font-size:14px;margin-left:36px}.driver-main-action .primary{font-size:24px;min-height:66px;min-width:0}.driver-main-action>span{font-size:15px;margin-top:12px}.driver-exceptions{gap:10px}.driver-exceptions>span{font-size:17px}.driver-exceptions button{font-size:17px;min-height:66px;padding:10px 7px}.driver-history{padding:14px 12px}.driver-history>summary{font-size:18px;line-height:1.5}.ops-chat-heading{padding:16px 12px}.ops-chat-heading h2{font-size:23px}.ops-chat-heading>span{display:none}.ops-chat-log{padding:16px 12px;max-height:320px}.ops-bubble{font-size:18px;padding:13px;max-width:100%}.ops-chat-form{padding:12px;gap:8px}.ops-chat-form input{padding:10px;font-size:18px}.ops-chat-form button{min-width:65px;font-size:17px;padding:8px}.ops-chat-note{font-size:14px;padding:0 12px 16px}.admin-overview-heading{padding:16px}.admin-overview-heading h2{font-size:24px}.admin-big-metrics>div{padding:20px 12px}.admin-big-metrics span{font-size:17px}.admin-big-metrics strong{font-size:68px}.admin-big-metrics small{font-size:19px}.admin-metric-note{font-size:14px;margin:14px}.admin-small-metrics{margin-inline:14px}.admin-find-grid{display:flex;flex-direction:column;gap:16px}.admin-result{padding:14px}.admin-result-route{font-size:20px}.admin-result-foot{font-size:14px}.admin-fleet-heading{padding:16px;display:block}.admin-fleet-heading h2{font-size:24px}.admin-fleet-heading>span{display:block;font-size:14px;margin-top:8px}#admin-fleet-list{grid-template-columns:1fr}.admin-vehicle{padding:20px 16px}.admin-vehicle+.admin-vehicle{border-left:0;border-top:1px solid #111}.admin-vehicle h3{font-size:23px}.admin-vehicle dt{font-size:16px}.admin-vehicle dd{font-size:36px}.admin-ui .workspace-heading h1{font-size:29px}.driver-ui .support{margin-top:28px}.intro .lead{font-size:18px}.role-entry b{font-size:19px}.role-entry small{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Keep the selected role readable while hovered and match map panel rules. */
.demo-roles a[aria-current=page]:hover{background:var(--accent)}.admin-board .driver-map-panel{border:1px solid #111}
@media(max-width:700px){.rider-ui .demo-roles a,.driver-ui .demo-roles a{min-height:56px}}

/* Two large links keep both input methods within one tap on a long phone page. */
.rider-ui #workspace-nav,.driver-ui #workspace-nav,.admin-ui #workspace-nav{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 0 20px;border:1px solid #111;background:white}.workspace-nav a{justify-content:center;font-size:18px;min-height:56px;padding:12px 8px;border:0}.workspace-nav a+a{border-left:1px solid #111}.workspace-nav a:hover{background:var(--accent)}#map-title,#chat-title,#driver-map-title,#driver-chat-title,#admin-map-title,#admin-chat-title{scroll-margin-top:20px}
@media(max-width:700px){.rider-ui #workspace-nav a,.driver-ui #workspace-nav a,.admin-ui #workspace-nav a{font-size:16px;min-height:56px;padding:10px 5px}}
