:root{--bg:#07131e;--panel:#102333;--panel-2:#132b3d;--line:rgba(193,220,234,.13);--text:#f2f7fa;--muted:#8ca6b7;--accent:#7be3bf;--blue:#83c9ff;--amber:#f6b76a;--red:#ff7876;--violet:#d2adff;--shadow:0 26px 80px rgba(0,0,0,.28);--radius:22px;--font:"DM Sans","Noto Sans TC",sans-serif;--cjk:"Noto Sans TC","DM Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--text);background:radial-gradient(circle at 76% -12%,#183d53 0,transparent 37rem),linear-gradient(145deg,#07131e,#0a1b29 55%,#06111a);font-family:var(--cjk);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.muted{color:var(--muted);font-size:11px;line-height:1.6}.login-view{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 5%,#1e4554,transparent 42rem),var(--bg)}.login-card{width:min(100%,440px);padding:32px 34px;border:1px solid var(--line);border-radius:28px;background:rgba(13,29,42,.92);box-shadow:var(--shadow);backdrop-filter:blur(20px)}.login-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;color:#06231f;background:linear-gradient(145deg,var(--accent),#c9f7df);font:900 13px var(--font);letter-spacing:-.08em;box-shadow:0 8px 24px rgba(123,227,191,.18)}.brand-mark-large{width:54px;height:54px;border-radius:18px;font-size:16px}.eyebrow{margin:0 0 9px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.16em}.eyebrow.accent{color:var(--accent)}.login-card h1{margin:0;font-size:clamp(28px,5vw,40px);line-height:1;letter-spacing:-.06em}.login-copy{margin:16px 0 28px;color:var(--muted);line-height:1.7}.login-form{display:grid;gap:16px}.field-label,.login-form label{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:600}input,select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;outline:0;color:var(--text);background:rgba(255,255,255,.045);padding:0 13px;transition:.18s ease}input:focus,select:focus{border-color:rgba(123,227,191,.7);box-shadow:0 0 0 3px rgba(123,227,191,.1)}select option{background:#102333}.primary-button{min-height:46px;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:12px;padding:0 15px;color:#061d1a;background:var(--accent);font-weight:800;transition:transform .16s ease,filter .16s ease}.primary-button:hover{transform:translateY(-1px);filter:brightness(1.05)}.primary-button:disabled{cursor:wait;opacity:.55;transform:none}.full-width{width:100%}.ghost-button,.language-toggle,.icon-button{min-height:36px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:rgba(255,255,255,.04);padding:0 11px}.ghost-button:hover,.language-toggle:hover,.icon-button:hover{border-color:rgba(123,227,191,.4);color:var(--text)}.form-error{min-height:15px;margin:0;color:var(--red);font-size:11px}.login-footnote{display:flex;align-items:center;gap:8px;margin-top:24px;color:var(--muted);font-size:10px}.status-dot,.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(123,227,191,.1)}.status-dot.offline{background:var(--red);box-shadow:0 0 0 4px rgba(255,120,118,.1)}
#appView{min-height:100vh}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:0 clamp(16px,4vw,62px);border-bottom:1px solid var(--line);background:rgba(7,19,30,.86);backdrop-filter:blur(20px)}.brand-lockup{display:flex;align-items:center;gap:11px}.brand-lockup .eyebrow{margin-bottom:3px;font-size:8px}.brand-title{font-size:14px;font-weight:700;letter-spacing:-.03em}.topbar-actions{display:flex;align-items:center;gap:7px}.live-pill{display:flex;align-items:center;gap:8px;min-height:34px;border:1px solid var(--line);border-radius:99px;padding:0 11px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em}.live-pill #liveClock{color:var(--text);font-variant-numeric:tabular-nums}.icon-button{width:36px;display:grid;place-items:center;padding:0;font-size:18px}.app-main{width:min(1500px,calc(100% - 32px));margin:auto;padding:39px 0 28px}.hero-row{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:24px}.hero-row h2{max-width:720px;margin:0;font-size:clamp(33px,4.5vw,57px);line-height:.94;letter-spacing:-.08em}.hero-copy{max-width:630px;margin:17px 0 0;color:var(--muted);line-height:1.7}.source-badge{display:flex;align-items:center;gap:10px;min-width:245px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.04)}.source-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;color:#08221f;background:var(--accent);font-size:17px}.source-badge strong,.source-badge small{display:block}.source-badge strong{font-size:10px}.source-badge small{margin-top:4px;color:var(--muted);font-size:9px}.source-badge a{margin-left:auto;color:var(--accent);font-size:18px;text-decoration:none}.main-nav{display:flex;gap:7px;margin-bottom:16px}.main-nav button{min-height:35px;border:1px solid var(--line);border-radius:10px;padding:0 14px;color:var(--muted);background:transparent;font-size:11px}.main-nav button.active{border-color:rgba(123,227,191,.45);color:#061d1a;background:var(--accent);font-weight:800}.network-notice{margin:0 0 16px;padding:12px 14px;border:1px solid rgba(255,120,118,.35);border-radius:12px;color:#ffd0ce;background:rgba(255,120,118,.08);font-size:11px}.dashboard-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:13px}.segmented{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.03)}.segmented button{border:0;border-radius:8px;padding:7px 11px;color:var(--muted);background:transparent;font-size:10px}.segmented button.active{color:#071e1b;background:var(--accent);font-weight:800}.refresh-label{display:grid;gap:2px;margin-left:auto;color:var(--muted);font-size:9px;text-align:right}.refresh-label span:last-child{color:var(--text);font-variant-numeric:tabular-nums}.dashboard-toolbar .ghost-button{font-size:10px}.card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(18,43,61,.92),rgba(9,25,38,.92));box-shadow:0 12px 40px rgba(0,0,0,.13)}.hero-metrics{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:9px;margin-bottom:17px}.hero-metric{min-height:108px;display:grid;align-content:center;gap:7px;border:1px solid var(--line);border-radius:16px;padding:15px;background:rgba(255,255,255,.035)}.hero-metric span,.hero-metric small{color:var(--muted);font-size:10px}.hero-metric strong{font-size:31px;letter-spacing:-.07em;line-height:1}.hero-metric strong em{margin-left:4px;color:var(--accent);font-size:11px;font-style:normal;letter-spacing:0}.metric-0{border-color:rgba(123,227,191,.22);background:rgba(123,227,191,.08)}.metric-1{background:rgba(131,201,255,.08)}.metric-2{background:rgba(246,183,106,.08)}.metric-3{background:rgba(210,173,255,.08)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:17px;align-items:start}.map-card{overflow:hidden}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:21px 22px 15px}.card-header h3{margin:5px 0 0;font-size:19px;letter-spacing:-.05em}.card-kicker{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.14em}.map-actions{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.map-control{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--text);background:rgba(255,255,255,.04);font-size:17px}.map-toolbar{display:flex;flex-wrap:wrap;gap:7px;padding:0 22px 13px}.layer-chip{display:inline-flex;align-items:center;gap:7px;min-height:28px;border:1px solid var(--line);border-radius:99px;padding:0 10px;color:var(--muted);background:transparent;font-size:9px}.layer-chip.active{border-color:rgba(123,227,191,.32);color:var(--text);background:rgba(123,227,191,.09)}.chip-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.chip-dot.routes,.chip-dot.arrows{background:var(--red)}.chip-dot.zones{background:var(--amber)}.chip-dot.facilities{background:var(--violet)}.chip-dot.stations{background:var(--blue)}.map-frame{position:relative;margin:0 12px;aspect-ratio:2438/1370;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#dce4e9}.map-stage{position:absolute;inset:0;transform-origin:center;transition:transform .22s ease}.map-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none}.map-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.overlay-shape{vector-effect:non-scaling-stroke;cursor:pointer}.overlay-shape.routes{filter:drop-shadow(0 2px 2px rgba(0,0,0,.45))}.overlay-shape.editing{stroke-dasharray:7 5}.facility-label,.station-label{paint-order:stroke;stroke:rgba(2,13,23,.7);stroke-width:3px;fill:#fff;font-family:var(--cjk);font-size:11px;font-weight:800;pointer-events:none}.map-station{cursor:pointer}.map-station circle{vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 2px rgba(0,0,0,.5))}.map-station text:not(.station-label){fill:#06131e;font:900 11px var(--font);text-anchor:middle;pointer-events:none}.map-station.selected circle{stroke:var(--accent);stroke-width:3}.map-foot{display:flex;justify-content:space-between;gap:12px;padding:9px 22px 0;color:var(--muted);font-size:9px}.map-legend{display:flex;flex-wrap:wrap;gap:7px 13px;padding:13px 22px 0}.legend-button{display:inline-flex;align-items:center;gap:6px;border:0;padding:0;color:var(--muted);background:transparent;font-size:9px}.legend-button i{width:8px;height:8px;border-radius:50%}.route-strip{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:15px 22px 18px}.route-card{display:flex;align-items:center;gap:10px;min-width:0;border:1px solid var(--line);border-radius:13px;padding:11px;background:rgba(255,255,255,.025)}.route-line{width:4px;align-self:stretch;border-radius:4px;background:var(--red)}.route-line.amber{background:var(--amber)}.route-card strong,.route-card small{display:block}.route-card strong{font-size:10px}.route-card small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35}.station-board{overflow:hidden}.station-row{display:grid;grid-template-columns:35px 1fr 24px;gap:9px;align-items:center;width:100%;border:0;border-bottom:1px solid var(--line);padding:11px 22px;color:var(--text);background:transparent;text-align:left}.station-row:hover,.station-row.active{background:rgba(123,227,191,.08)}.bay-token,.permit-result-badge{display:grid;place-items:center;width:29px;height:27px;border-radius:8px;color:#07131d;background:var(--bay,var(--accent));font-size:9px;font-weight:900}.station-row strong,.station-row small{display:block}.station-row strong{font-size:10px}.station-row small{margin-top:3px;color:var(--muted);font-size:9px}.station-row b{font-size:15px}.activity-list{max-height:235px;overflow:auto}.activity-row{display:grid;grid-template-columns:48px 1fr;gap:9px;padding:10px 22px;border-bottom:1px solid var(--line)}.activity-time{color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}.activity-row strong,.activity-row small{display:block}.activity-row strong{font-size:10px}.activity-row small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.45}.report-card{margin-top:17px;overflow:hidden}.report-card .card-header{align-items:center}.inline-search{min-width:190px}.inline-search input{min-height:34px;font-size:10px}.report-filters{display:flex;gap:7px;padding:0 22px 12px}.coach-detail{border-top:1px solid var(--line)}.coach-detail summary{display:grid;grid-template-columns:minmax(230px,1fr) 100px 130px 100px 18px;align-items:center;gap:12px;padding:13px 22px;cursor:pointer;list-style:none}.coach-detail summary::-webkit-details-marker{display:none}.coach-detail summary:hover{background:rgba(255,255,255,.035)}.permit-identity{display:flex;align-items:center;gap:9px;min-width:0}.permit-identity h4{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.permit-identity span:not(.permit-token){display:block;margin-top:3px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.permit-token{display:grid;place-items:center;width:37px;height:29px;flex:0 0 auto;border-radius:8px;color:#07131d;background:var(--accent);font-size:9px;font-weight:900}.report-cell small,.report-cell strong{display:block}.report-cell small{color:var(--muted);font-size:9px}.report-cell strong{margin-top:3px;font-size:10px}.state-badge,.user-status{display:inline-flex;justify-content:center;align-items:center;min-height:22px;border-radius:99px;padding:0 8px;color:var(--accent);background:rgba(123,227,191,.1);font-size:9px;white-space:nowrap}.state-badge.atBay{color:var(--blue);background:rgba(131,201,255,.1)}.state-badge.toExit{color:var(--amber);background:rgba(246,183,106,.1)}.state-badge.departed{color:var(--muted);background:rgba(255,255,255,.05)}.chevron{color:var(--muted)}.report-expanded{padding:0 22px 17px 68px;background:rgba(0,0,0,.1)}.permit-details{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:13px 0;color:var(--muted);font-size:9px}.permit-details strong{display:block;margin-top:3px;color:var(--text);font-size:10px}.report-expanded h4{margin:10px 0 7px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.time-step{min-height:46px;border:1px solid var(--line);border-radius:9px;padding:8px;background:rgba(255,255,255,.025)}.time-step.done{border-color:rgba(123,227,191,.32);background:rgba(123,227,191,.06)}.time-step span,.time-step strong{display:block}.time-step span{color:var(--muted);font-size:9px}.time-step em{color:var(--accent);font-size:8px;font-style:normal}.time-step strong{margin-top:4px;color:var(--text);font-size:9px}.operation-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:17px;align-items:start}.record-card,.operation-queue,.admin-grid section{overflow:hidden}.operation-body{padding:0 22px 23px}.operation-body>.field-label{margin-bottom:14px}.station-pill,.count-badge{display:inline-flex;align-items:center;min-height:24px;border-radius:99px;padding:0 9px;color:var(--accent);background:rgba(123,227,191,.09);font-size:9px;white-space:nowrap}.phase-switch{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:16px}.phase-button{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:13px;padding:10px;color:var(--muted);background:rgba(255,255,255,.03);text-align:left}.phase-button.active{border-color:rgba(123,227,191,.42);color:var(--text);background:rgba(123,227,191,.09)}.phase-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;color:var(--accent);background:rgba(123,227,191,.12);font-size:16px}.phase-button strong,.phase-button small{display:block}.phase-button strong{font-size:11px}.phase-button small{margin-top:2px;color:var(--muted);font-size:9px}.permit-results{max-height:240px;overflow:auto}.permit-result{display:flex;align-items:center;gap:9px;width:100%;border:0;border-bottom:1px solid var(--line);padding:10px 0;color:var(--text);background:transparent;text-align:left}.permit-result:hover{background:rgba(255,255,255,.04)}.permit-result strong,.permit-result small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permit-result strong{font-size:11px}.permit-result small{margin-top:3px;color:var(--muted);font-size:9px}.selected-permit{margin:13px 0;border:1px solid rgba(123,227,191,.2);border-radius:14px;padding:14px;background:rgba(123,227,191,.05)}.selected-permit.filled{display:grid;gap:11px}.permit-identity h4{margin:0;font-size:16px;letter-spacing:-.04em}.selected-permit .permit-details{padding:0}.rule-note{margin:0;padding:8px 10px;border:1px solid rgba(246,183,106,.2);border-radius:9px;color:#dfbd8b;background:rgba(246,183,106,.06);font-size:10px;line-height:1.5}.checkpoint-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.checkpoint-button{min-height:56px;border:1px solid var(--line);border-radius:11px;padding:9px;color:var(--muted);background:rgba(255,255,255,.025);text-align:left}.checkpoint-button.active{border-color:rgba(123,227,191,.4);color:var(--text);background:rgba(123,227,191,.1)}.checkpoint-button strong,.checkpoint-button small{display:block}.checkpoint-button strong{font-size:10px}.checkpoint-button small{margin-top:3px;color:var(--muted);font-size:9px}.action-preview{min-height:28px;padding:8px 0;color:var(--muted);font-size:10px;line-height:1.5}.action-notice{min-height:22px;padding-top:9px;color:var(--accent);font-size:10px;line-height:1.5}.action-notice.error{color:var(--red)}.operation-queue{overflow:hidden}.queue-row{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:11px 22px;color:var(--text);background:transparent;text-align:left}.queue-row:hover{background:rgba(123,227,191,.07)}.queue-row .permit-identity{margin-bottom:4px}.queue-row .permit-identity h4{font-size:10px}.queue-row>small{display:block;margin-left:46px;color:var(--muted);font-size:9px}.ops-help{margin:15px 22px 22px;padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035)}.ops-help strong{font-size:10px}.ops-help p{margin:5px 0 13px;color:var(--muted);font-size:10px;line-height:1.55}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.panel-form{display:grid;gap:14px;padding:0 22px 23px}.capacity-inputs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.capacity-input{display:grid;gap:6px;color:var(--muted);font-size:9px}.capacity-input input{min-height:38px}.admin-grid .primary-button,.admin-grid .ghost-button{width:max-content}.user-row{display:grid;grid-template-columns:minmax(150px,1fr) 70px 130px auto auto;align-items:center;gap:10px;border-top:1px solid var(--line);padding:12px 22px}.user-row strong,.user-row small{display:block}.user-row strong{font-size:11px}.user-row small{margin-top:3px;color:var(--muted);font-size:9px}.user-status.active{color:var(--accent);background:rgba(123,227,191,.1)}.user-status.disabled{color:var(--red);background:rgba(255,120,118,.1)}.map-editor{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 22px 0;padding:11px;border:1px solid rgba(123,227,191,.25);border-radius:13px;background:rgba(123,227,191,.06)}.map-editor label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9px}.map-editor select{min-height:32px;width:130px;font-size:9px}.map-editor .primary-button,.map-editor .ghost-button{min-height:32px;font-size:9px}.map-editor p{width:100%;margin:0;color:var(--muted);font-size:9px}.edit-handle{fill:var(--accent);stroke:#06131e;stroke-width:3;cursor:grab}.text-button{border:0;padding:3px;color:var(--accent);background:transparent;font-size:10px}.list-empty{text-align:center;padding:28px;color:var(--muted);font-size:11px}.footer{display:flex;justify-content:space-between;gap:12px;margin-top:22px;color:#5f7788;font-size:9px}#accountDialog{width:min(100% - 30px,420px);border:1px solid var(--line);border-radius:18px;padding:0;color:var(--text);background:#0d2130;box-shadow:var(--shadow)}#accountDialog::backdrop{background:rgba(1,8,14,.64);backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.dialog-head h3{margin:0;font-size:17px}.dialog-head+.panel-form{padding-top:18px}#toast{position:fixed;right:20px;bottom:20px;z-index:50;max-width:300px;padding:12px 14px;border:1px solid rgba(123,227,191,.3);border-radius:12px;color:#dcfff1;background:#133d3a;box-shadow:var(--shadow);font-size:11px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s ease}#toast.show{opacity:1;transform:none}
@media(max-width:1100px){.dashboard-grid,.operation-layout{grid-template-columns:1fr}.station-board{display:grid;grid-template-columns:repeat(2,1fr)}.station-board .card-header{grid-column:1/-1}.activity-list{grid-column:1/-1}.station-row{border-right:1px solid var(--line)}.report-expanded{padding-left:68px}}
@media(max-width:720px){.topbar{min-height:65px;padding:0 14px}.brand-title{font-size:12px}.topbar-actions{gap:5px}.live-pill{padding:0 8px}.live-pill #liveClock{display:none}.app-main{width:calc(100% - 20px);padding:25px 0 20px}.hero-row{display:block;margin-bottom:18px}.hero-row h2{font-size:38px}.hero-copy{margin-top:13px;font-size:12px}.source-badge{margin-top:16px}.main-nav{overflow:auto}.main-nav button{white-space:nowrap}.dashboard-toolbar{flex-wrap:wrap}.refresh-label{margin-left:auto}.hero-metrics{grid-template-columns:1fr 1fr}.hero-metric:first-child{grid-column:1/-1}.card{border-radius:17px}.card-header{padding:17px 15px 13px}.map-toolbar{overflow:auto;flex-wrap:nowrap;padding:0 15px 12px}.layer-chip{white-space:nowrap}.map-frame{margin:0 8px;border-radius:12px}.map-foot,.map-legend,.route-strip{padding-left:15px;padding-right:15px}.route-strip{grid-template-columns:1fr}.coach-detail summary{grid-template-columns:1fr 80px 18px}.coach-detail summary>.report-cell:nth-of-type(2),.coach-detail summary>.state-badge{display:none}.report-expanded{padding-left:15px;padding-right:15px}.permit-details{grid-template-columns:1fr 1fr}.timeline{grid-template-columns:1fr 1fr}.operation-body{padding:0 15px 18px}.station-board{display:block}.station-row{padding-left:15px;padding-right:15px}.user-row{grid-template-columns:1fr auto;gap:7px;padding-left:15px;padding-right:15px}.user-row select,.user-row .text-button{grid-column:2}.admin-grid{grid-template-columns:1fr}.footer{display:grid}.login-card{padding:27px 22px}}
@media(max-width:420px){.brand-lockup .eyebrow{display:none}.brand-mark{width:35px;height:35px}.brand-title{max-width:145px;line-height:1.15}.language-toggle{padding:0 8px}.hero-row h2{font-size:33px}.hero-metric strong{font-size:26px}.checkpoint-grid{grid-template-columns:1fr}.permit-details{gap:6px}.source-badge{min-width:0}.capacity-inputs{grid-template-columns:1fr}}

.map-overlay{touch-action:none}.map-station .station-count{fill:#fff!important;font-size:10px!important}.map-foot{padding-bottom:14px}.map-editor{margin-bottom:18px}
@media(max-width:720px){input,select{font-size:16px}.inline-search{min-width:0;width:48%}.report-card .card-header{flex-wrap:wrap}.hero-metrics{grid-template-columns:1fr 1fr}.hero-metric:first-child{grid-column:auto}.hero-row h2{font-size:30px}.hero-copy{font-size:13px}.operation-body .field-label,.muted{font-size:12px}.phase-button{min-height:62px}.phase-button strong{font-size:15px}.phase-button small,.checkpoint-button small{font-size:11px}.checkpoint-button{min-height:64px}.checkpoint-button strong,.permit-details strong{font-size:13px}.permit-details,.action-preview,.time-step span,.time-step strong{font-size:11px}.primary-button{min-height:48px;font-size:14px}.layer-chip{min-height:36px}.station-pill{white-space:normal}.card-header{flex-wrap:wrap}}

@media(max-width:480px){.topbar{flex-wrap:wrap;padding:10px 14px;gap:8px}.brand-lockup{flex:1}.brand-title{max-width:none;white-space:nowrap}.topbar-actions{width:100%;justify-content:flex-end}.language-toggle,.live-pill{white-space:nowrap}.map-toolbar{scrollbar-width:thin;scrollbar-color:#355363 transparent}.map-frame{touch-action:none}}

.permit-description{min-width:0}.permit-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.vehicle-type-label{display:inline-block;padding:2px 5px;border-radius:5px;color:var(--amber);background:rgba(246,183,106,.12);font-size:11px;font-weight:700;line-height:1.4;white-space:nowrap;vertical-align:middle}.vehicle-type-label.car{color:var(--violet);background:rgba(210,173,255,.12)}.permit-result>span:last-child{min-width:0;flex:1}.permit-result strong{white-space:normal}.permit-title h4{max-width:100%}.hero-metric small{line-height:1.5}
/* Dashboard focus and administration map controls. */
.compact-hero{min-height:42px;margin-bottom:18px;align-items:center}.compact-hero .source-badge{margin-left:auto}.refresh-picker{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px}.refresh-picker select{min-height:30px;border-radius:8px;padding:0 7px;color:var(--text);background:rgba(255,255,255,.05);font-size:9px}.map-selection{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 22px 10px;padding:9px 11px;border:1px solid rgba(123,227,191,.38);border-radius:10px;color:var(--accent);background:rgba(123,227,191,.08);font-size:10px;font-weight:700}.map-bay-highlight{pointer-events:none}.map-bay-highlight polyline{vector-effect:non-scaling-stroke;fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px rgba(255,255,255,.8))}.map-bay-highlight polyline:last-child{animation:bay-pulse 1.3s ease-in-out infinite alternate}.map-station.selected .focus-ring{animation:station-pulse 1.3s ease-in-out infinite alternate}.map-station{outline:none}.map-station:focus-visible circle{stroke:var(--accent);stroke-width:4}.legend-button.active{color:var(--text);font-weight:800}.admin-map-section{margin-top:17px;padding-bottom:18px}.admin-map-section #mapWorkspace{min-height:0}.admin-map-section .map-selection{display:none}.admin-map-section #mapEditor{margin-top:14px}.admin-map-section .map-foot{padding-bottom:0}@keyframes bay-pulse{from{opacity:.65}to{opacity:1}}@keyframes station-pulse{from{opacity:.72}to{opacity:1}}
@media(max-width:720px){.compact-hero{min-height:30px}.compact-hero .source-badge{margin-left:0}.refresh-picker{font-size:10px}.refresh-picker select{font-size:12px;min-height:36px}.map-selection{margin-left:15px;margin-right:15px}.admin-map-section .card-header{padding-left:15px;padding-right:15px}}
@media(prefers-reduced-motion:reduce){.map-bay-highlight polyline:last-child,.map-station.selected .focus-ring{animation:none}}

/* Separate phase forms retain their own vehicle and draft. */
.period-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 16px;color:var(--muted);font-size:11px;line-height:1.5}.form-period-title{display:flex;align-items:center;gap:10px;margin-bottom:16px}.form-period-title h4{margin:0;font-size:20px}.period-token{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:var(--accent);color:#07131e;font-weight:900}#pickupForm .period-token{background:var(--blue)}.phase-form{border-top:1px solid var(--line);padding-top:17px}.phase-form .primary-button{margin-top:12px}.control-star{filter:drop-shadow(0 1px 3px #06131e)}.map-station[data-station=CP] .station-label{font-weight:900}

/* Keep dashboard controls together in one centred row. */
.dashboard-toolbar{justify-content:center;flex-wrap:nowrap;overflow-x:auto;gap:12px;padding-bottom:3px}.dashboard-toolbar>.segmented,.dashboard-toolbar>.refresh-label,.dashboard-toolbar>.ghost-button{flex-shrink:0}.dashboard-toolbar .refresh-label{margin-left:0}.dashboard-toolbar .refresh-picker,.dashboard-toolbar button{white-space:nowrap}.dashboard-toolbar .refresh-picker select{width:auto}.dashboard-toolbar .refresh-picker>span{white-space:nowrap}
@media(max-width:600px){.dashboard-toolbar{justify-content:safe center;gap:8px}.dashboard-toolbar .refresh-picker>span{display:none}.dashboard-toolbar .segmented button{padding:8px}.dashboard-toolbar .ghost-button{padding-left:10px;padding-right:10px}.dashboard-toolbar .refresh-picker select{max-width:130px}}

/* Compact app header; event metadata lives with administration settings. */
.topbar{min-height:56px}.brand-lockup .eyebrow{display:none}.brand-lockup .brand-mark{width:30px;height:30px;font-size:12px}.app-main{padding-top:16px}.main-nav{margin-bottom:10px}.admin-event-context{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;padding:0 22px 18px;color:var(--muted);font-size:11px}.admin-event-context strong{color:var(--text)}.admin-event-context small{width:100%}.admin-event-context a{color:var(--accent);text-decoration:none}
@media(max-width:600px){.topbar{flex-wrap:nowrap;min-height:54px;padding:8px 12px;gap:8px}.brand-lockup{flex:1;min-width:0;gap:7px}.brand-lockup>div:last-child{min-width:0}.brand-title{max-width:125px;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:1.25}.topbar-actions{width:auto;flex-shrink:0;gap:5px}.topbar-actions .live-pill{min-height:0;border:0;padding:0 3px}.live-pill #connectionText,.live-pill #liveClock{display:none}.language-toggle{min-height:32px;padding:0 7px;font-size:10px}.topbar .icon-button{min-height:32px;width:30px}.app-main{padding-top:12px}.admin-event-context{padding-left:15px;padding-right:15px}}

.workspace-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:14px}.workspace-toolbar .main-nav{flex-shrink:0;margin-bottom:0}.workspace-toolbar .dashboard-toolbar{margin:0 auto;max-width:100%}
@media(max-width:720px){.workspace-toolbar{flex-wrap:wrap;gap:10px}.workspace-toolbar .main-nav{width:100%}.workspace-toolbar .dashboard-toolbar{margin:0 auto}}
.dashboard-toolbar{justify-content:safe center}
@media(max-width:1000px){.dashboard-toolbar .refresh-picker>span{display:none}}
