:root { --ink:#172029; --panel:rgba(255,255,255,.96); --blue:#1479e9; --red:#ef4a4a; --line:#e9edf2; }
* { box-sizing:border-box; }
body { margin:0; font-family:Inter,Arial,sans-serif; color:var(--ink); overflow:hidden; }
button { font:inherit; border:0; cursor:pointer; }
.app-shell,#map,.map-fallback { position:fixed; inset:0; }
#map { background:#d9e2d3; }
.map-fallback { display:grid; place-items:center; background:linear-gradient(125deg,#d6dfd3,#bfd2c4 46%,#dfe3cf); z-index:0; }
.map-fallback[hidden] { display:none; }
.map-fallback:before { content:""; position:absolute; inset:0; opacity:.25; background:repeating-linear-gradient(25deg,transparent 0 48px,#fff 49px 52px,transparent 53px 120px),repeating-linear-gradient(-57deg,transparent 0 75px,#638072 77px 80px,transparent 81px 160px); }
.map-fallback>div { position:relative; background:#fff; padding:24px 28px; border-radius:16px; box-shadow:0 18px 50px #28362a35; text-align:center; max-width:310px; }
.map-fallback strong { display:block; margin-top:8px; }.map-fallback p { font-size:12px; color:#66717c; }.fallback-icon { font-size:30px; color:var(--blue); }
.topbar { position:fixed; top:18px; left:18px; right:18px; height:64px; display:flex; justify-content:space-between; align-items:center; z-index:2; pointer-events:none; }
.brand,.top-actions { pointer-events:auto; }.brand { display:flex; align-items:center; gap:10px; color:#fff; background:#172029; border-radius:10px; padding:8px 16px 8px 8px; box-shadow:0 5px 18px #17202950; text-align:left; }
.brand-mark { display:grid; place-items:center; width:42px; height:42px; background:var(--red); border-radius:7px; font:700 21px/1 'Barlow Condensed'; }.brand b,.panel-heading,.dock-item b { font-family:'Barlow Condensed'; letter-spacing:.07em; }.brand b { display:block; font-size:19px; line-height:16px; }.brand small { font-size:8px; letter-spacing:.22em; opacity:.65; }
.top-actions { display:flex; gap:8px; align-items:center; }.icon-button,.profile { height:43px; background:var(--panel); border-radius:9px; box-shadow:0 3px 12px #17202924; color:#4e5a65; }.icon-button { position:relative; width:43px; font-size:21px; }.icon-button.active { color:var(--blue); }.icon-button i { position:absolute; right:-3px; top:-4px; display:grid; place-items:center; width:17px; height:17px; background:var(--red); color:#fff; border-radius:50%; font-style:normal; font-size:10px; }.profile { display:flex; align-items:center; gap:8px; padding:5px 10px 5px 5px; }.avatar { display:grid; place-items:center; width:33px; height:33px; border-radius:6px; background:#dcecfb; color:#1571d0; font-weight:700; font-size:11px; }.profile-name { font-size:12px; font-weight:600; }
.credits { padding:11px 13px; color:#8fceff; background:#111c27; border:1px solid #29465d; border-radius:9px; box-shadow:0 3px 12px #17202924; font:700 15px 'Barlow Condensed'; letter-spacing:.03em; }
.control-panel { position:fixed; top:100px; left:18px; z-index:2; width:345px; background:var(--panel); border-radius:11px; box-shadow:0 12px 34px #1720292e; overflow:hidden; }.panel-heading { height:45px; display:flex; gap:8px; align-items:center; padding:0 14px; font-size:13px; border-bottom:1px solid var(--line); }.panel-heading button { margin-left:auto; color:#8a949d; font-size:22px; background:transparent; }.live-dot { width:8px; height:8px; background:var(--red); border-radius:50%; box-shadow:0 0 0 4px #ffe2e2; }
.mission { display:grid; grid-template-columns:37px 1fr auto; align-items:center; gap:9px; padding:13px 14px; border-bottom:1px solid var(--line); }.mission-icon { display:grid; place-items:center; height:34px; border-radius:6px; background:#eaf3fe; color:var(--blue); font-size:20px; }.mission-critical .mission-icon { background:#ffebeb; color:var(--red); }.mission b { display:block; font-size:12px; }.mission small { color:#7c8792; font-size:10px; }.mission time { align-self:start; padding-top:2px; font-size:11px; color:#8b97a1; font-weight:600; }.mission-critical time { color:var(--red); }.all-missions { width:100%; height:43px; color:var(--blue); background:#fff; font-size:12px; font-weight:700; text-align:left; padding:0 14px; }.all-missions span { float:right; font-size:18px; }
.map-tools { position:fixed; right:18px; top:100px; z-index:2; display:grid; gap:7px; }.map-tools>button,.zoom-controls { background:var(--panel); width:40px; border-radius:8px; box-shadow:0 3px 12px #17202924; overflow:hidden; }.map-tools button { height:40px; background:transparent; color:#4e5a65; font-size:20px; }.zoom-controls { display:grid; }.zoom-controls button:first-child { border-bottom:1px solid var(--line); }
.layer-menu { position:fixed; z-index:3; top:146px; right:66px; display:grid; gap:5px; width:196px; padding:11px; background:#111c27; border:1px solid #2a4052; border-radius:10px; box-shadow:0 12px 30px #00000070; }.layer-menu[hidden] { display:none; }.layer-menu>span { padding:1px 3px 6px; color:#87a0b5; font:700 10px 'Barlow Condensed'; letter-spacing:.14em; }.layer-menu button { display:flex; align-items:center; gap:9px; height:42px; padding:4px; color:#c2d1dc; background:transparent; border-radius:6px; text-align:left; font-size:11px; font-weight:700; }.layer-menu button small { margin-left:auto; color:#85a2b8; font-size:9px; }.layer-menu button.active { color:#fff; background:#1a3650; }.layer-preview { width:40px; height:30px; border-radius:4px; border:1px solid #3b4e5d; }.dark-preview { background:linear-gradient(135deg,#0b121a,#293949 50%,#101923); }.light-preview { background:linear-gradient(135deg,#f1eedb,#c8d5ce 50%,#e6e1d2); }.address-preview { background:repeating-linear-gradient(90deg,#e9e4d3 0 8px,#cbd8bf 8px 12px,#f7f2e2 12px 18px); }
.bottom-dock { position:fixed; z-index:2; left:50%; bottom:24px; transform:translateX(-50%); min-width:570px; height:65px; display:flex; align-items:center; gap:4px; padding:7px; background:var(--panel); border-radius:13px; box-shadow:0 12px 34px #1720293d; }.dock-item { display:grid; place-items:center; gap:2px; min-width:72px; height:51px; color:#64717e; background:transparent; border-radius:8px; }.dock-item span { font-size:20px; }.dock-item b { font-size:11px; }.dock-item.active { color:var(--blue); background:#e9f3fe; }.build-button { margin-left:auto; height:47px; border-radius:8px; padding:0 15px; background:var(--blue); color:#fff; font-size:12px; font-weight:700; }.build-button span { font-size:19px; vertical-align:-2px; }.map-credit { position:fixed; right:8px; bottom:6px; z-index:1; color:#55616a; background:#ffffffaa; padding:3px 5px; font-size:9px; }
.dock-panel { position:fixed; z-index:4; left:18px; bottom:105px; width:min(360px,calc(100vw - 36px)); overflow:hidden; border:1px solid #294052; border-radius:12px; background:#111c27; color:#e8f2f8; box-shadow:0 16px 42px #00000080; }.dock-panel[hidden] { display:none; }.dock-panel header { display:flex; align-items:center; justify-content:space-between; padding:13px 15px; border-bottom:1px solid #294052; color:#8fcaff; font:700 16px 'Barlow Condensed'; letter-spacing:.08em; }.dock-panel header button { color:#b4c8d8; background:transparent; font-size:24px; }.dock-panel-content,.dock-panel #dock-panel-content { padding:14px 15px; }.dock-panel-item { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid #243849; }.dock-panel-item:last-child { border-bottom:0; }.dock-panel-item b { display:block; font-size:13px; }.dock-panel-item small { display:block; margin-top:3px; color:#9ab0c0; font-size:11px; }.dock-panel-empty { margin:0; color:#9ab0c0; font-size:12px; line-height:1.5; }.dock-panel-action { width:100%; height:42px; margin-top:12px; border-radius:7px; color:#fff; background:#187ee8; font-weight:700; }
.transaction-amount { text-align:right; }.transaction-amount.negative { color:#ff8d91; }.transaction-amount.positive { color:#78d69b; }
.auth-backdrop { position:fixed; inset:0; z-index:20; display:grid; place-items:center; background:rgba(16,25,33,.48); backdrop-filter:blur(5px); padding:18px; }.auth-backdrop[hidden] { display:none; }.auth-modal { position:relative; width:min(100%,430px); padding:28px; background:#fff; border-radius:16px; box-shadow:0 24px 70px #07141d66; }.modal-close { position:absolute; right:13px; top:10px; color:#7a8791; background:transparent; font-size:25px; }.auth-identity { display:flex; gap:12px; align-items:center; }.auth-icon { display:grid; place-items:center; width:44px; height:44px; color:#fff; border-radius:11px; background:var(--blue); font-size:20px; font-weight:700; }.eyebrow { color:#7a8791; font:600 10px 'Barlow Condensed'; letter-spacing:.16em; }.auth-modal h2 { margin:2px 0 0; font:700 25px 'Barlow Condensed'; }.auth-copy { margin:20px 0; color:#5d6974; font-size:13px; line-height:1.5; }.auth-tabs { display:flex; gap:4px; padding:4px; margin-bottom:14px; background:#edf1f5; border-radius:8px; }.auth-tabs button { flex:1; height:34px; border-radius:5px; background:transparent; color:#65717c; font-size:12px; font-weight:700; }.auth-tabs button.active { background:#fff; color:var(--blue); box-shadow:0 1px 4px #23344418; }.auth-form { display:grid; gap:13px; }.auth-form label { display:grid; gap:6px; color:#53616d; font-size:11px; font-weight:700; }.auth-form input { height:43px; border:1px solid #dbe2e8; border-radius:7px; padding:0 11px; font:14px Inter; outline:0; }.auth-form input:focus { border-color:var(--blue); box-shadow:0 0 0 3px #1479e91c; }.primary-action { height:45px; margin-top:4px; color:#fff; background:var(--blue); border-radius:7px; font-size:13px; font-weight:700; }.account-actions button { width:100%; height:42px; color:#d63535; background:#fff0f0; border-radius:7px; font-size:12px; font-weight:700; }.auth-feedback { min-height:18px; margin:13px 0 0; color:#328952; font-size:12px; text-align:center; }.auth-feedback.error { color:#d63535; }
@media (max-width:700px) { .topbar { top:9px; left:9px; right:9px; }.profile-name { display:none; }.control-panel { top:82px; left:9px; right:9px; width:auto; }.mission:nth-child(3) { display:none; }.map-tools { right:9px; top:315px; }.bottom-dock { left:9px; right:9px; bottom:10px; min-width:0; transform:none; height:60px; padding:5px; }.dock-item { min-width:0; flex:1; height:48px; }.dock-item b { font-size:9px; }.build-button { padding:0 11px; }.brand { padding-right:10px; }.brand b { font-size:17px; } }
.tutorial-backdrop { position:fixed; inset:0; z-index:21; display:grid; place-items:center; padding:18px; background:rgba(12,21,29,.52); backdrop-filter:blur(6px); }.tutorial-backdrop[hidden] { display:none; }.tutorial-modal { width:min(100%,500px); padding:30px; border-radius:17px; background:#fff; box-shadow:0 24px 70px #07141d72; }.tutorial-step { color:var(--blue); font:700 11px 'Barlow Condensed'; letter-spacing:.18em; }.tutorial-modal h1 { margin:8px 0 10px; font:700 31px/1 'Barlow Condensed'; }.tutorial-modal>p { color:#5c6874; font-size:13px; line-height:1.55; }.tutorial-locate { width:100%; margin:13px 0 8px; }.secondary-action { width:100%; height:42px; color:#53616d; background:#edf1f4; border-radius:7px; font-size:12px; font-weight:700; }.tutorial-map-wrap { margin-top:16px; }.tutorial-map-wrap>p { margin:0 0 7px; color:#697682; font-size:11px; }.tutorial-map-wrap .primary-action { width:100%; margin-top:10px; }.tutorial-map-wrap[hidden] { display:none; }#tutorial-map { height:230px; border-radius:9px; overflow:hidden; }.tutorial-note { margin:15px 0 0; color:#7a8791!important; font-size:10px!important; text-align:center; }
.specialization-options { display:grid; gap:8px; margin-top:16px; }.specialization-options button { display:grid; gap:3px; padding:12px 14px; color:#dceaf4; background:#172838; border:1px solid #29445a; border-radius:8px; text-align:left; }.specialization-options button:hover { background:#1c3a52; border-color:#3985ba; }.specialization-options b { font-size:14px; }.specialization-options small { color:#9db2c3; font-size:11px; }
.placement-hint { position:fixed; z-index:22; top:24px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:11px; padding:12px 17px; color:#eff7ff; background:#1279e8; border-radius:9px; box-shadow:0 10px 30px #00000070; font-size:12px; }.placement-hint[hidden] { display:none; }.placement-hint b { font-family:'Barlow Condensed'; font-size:16px; letter-spacing:.06em; }.placement-hint span { opacity:.9; }
.mission-notice { position:fixed; z-index:23; top:24px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:16px; min-width:310px; padding:12px 14px 12px 17px; color:#eff7ff; background:#d94b4b; border:1px solid #ff9494; border-radius:9px; box-shadow:0 12px 32px #00000080; opacity:1; transition:opacity .35s ease,transform .35s ease; }.mission-notice.is-hiding { opacity:0; transform:translate(-50%,-10px); pointer-events:none; }.mission-notice[hidden] { display:none; }.mission-notice div { display:grid; gap:2px; }.mission-notice b { font:700 15px 'Barlow Condensed'; letter-spacing:.1em; }.mission-notice span { font-size:11px; }.mission-notice button { margin-left:auto; color:#fff; background:transparent; font-size:23px; }
.mission-modal-backdrop { position:fixed; inset:0; z-index:25; display:grid; place-items:center; padding:18px; background:#061018a8; backdrop-filter:blur(5px); }.mission-modal-backdrop[hidden] { display:none; }.mission-modal { position:relative; width:min(100%,480px); padding:28px; color:#edf5fa; background:#111c27; border:1px solid #2b465a; border-radius:15px; box-shadow:0 25px 70px #000000a0; }.mission-modal h2 { margin:4px 0 12px; font:700 29px 'Barlow Condensed'; }.mission-modal>p { margin:0 0 18px; color:#a9bdcb; font-size:13px; line-height:1.5; }.mission-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.mission-detail-grid>div { display:grid; gap:4px; padding:10px; background:#172838; border-radius:7px; }.mission-detail-grid small,.mission-requirements>span { color:#89a7ba; font:700 9px 'Barlow Condensed'; letter-spacing:.12em; }.mission-detail-grid b { font-size:12px; }.mission-requirements { margin-top:17px; }.mission-requirements>div { margin-top:8px; }.mission-requirement { display:flex; justify-content:space-between; padding:10px; border-bottom:1px solid #294052; color:#d9e8f3; font-size:12px; }
.mission-availability { margin-top:17px; }.mission-availability>span { color:#89a7ba; font:700 9px 'Barlow Condensed'; letter-spacing:.12em; }.available-building { display:flex; justify-content:space-between; width:100%; margin-top:8px; padding:11px; color:#e2edf5; background:#172838; border:1px solid #294052; border-radius:7px; text-align:left; }.available-building>span { display:grid; gap:3px; min-width:0; }.available-building>span>b { display:block; font-size:13px; }.available-building>span small { display:block; color:#9ab0c0; font-size:10px; }.available-building>b { flex:0 0 auto; align-self:center; font-size:15px; }.assignment-form { display:grid; gap:8px; margin-top:10px; padding:11px; background:#0c1721; border:1px solid #294052; border-radius:7px; }.assignment-form label { display:flex; gap:8px; align-items:center; color:#dce9f1; font-size:11px; }.assignment-form select { height:35px; color:#e9f3f8; background:#172838; border:1px solid #3a5367; border-radius:5px; padding:0 8px; }.assignment-form .dock-panel-action { margin:2px 0 0; }
.mission-assignments { margin-top:17px; }.mission-assignments>span { color:#89a7ba; font:700 9px 'Barlow Condensed'; letter-spacing:.12em; }.mission-assignment-row { display:flex; justify-content:space-between; gap:10px; margin-top:8px; padding:10px; background:#142a3a; border-left:3px solid #5bb3ff; border-radius:6px; }.mission-assignment-row b { display:block; font-size:12px; }.mission-assignment-row small { display:block; margin-top:3px; color:#9cb5c6; font-size:10px; }.mission-assignment-status { color:#78c6ff; font-size:11px; font-weight:700; text-align:right; }
.withdraw-button { display:block; margin:6px 0 0 auto; padding:4px 7px; color:#ffb0b0; background:#3c2028; border:1px solid #73404a; border-radius:4px; font-size:10px; }
.assignment-form label span { display:grid; gap:2px; }.assignment-form label small { color:#91aabd; font-size:9px; }
.batch-assignment-form>small{color:#91aabd;font-size:10px;line-height:1.4}.batch-vehicle-list{display:grid;gap:6px;max-height:240px;overflow:auto}.batch-vehicle-row{padding:9px;background:#142536;border:1px solid #294052;border-radius:6px}.batch-vehicle-row:has(input:checked){border-color:#348ed0;background:#18324a}.batch-vehicle-row span b{font-size:11px}.batch-dispatch-open{margin:8px 0 10px}.mission-requirement.optional{margin-top:5px;padding-left:9px;border:1px dashed #3b6d86;border-radius:6px;background:#102433}.mission-requirement.optional small{color:#64c9df}.mission-requirement.reinforcement{margin-top:6px;padding-left:9px;border:1px solid #a84d42;border-radius:6px;background:#321d22}.mission-requirement.reinforcement small{color:#ff9b8e;font-weight:800}
.mission-actions{margin-top:16px}.mission-actions[hidden],.mission-report[hidden]{display:none}.mission-cancel-button{width:100%;padding:11px;color:#ffb7b7;background:#3d1d29;border:1px solid #713344;border-radius:7px;font-weight:700}.mission-cancel-button:hover{background:#542332}.mission-report{margin-top:18px;padding-top:15px;border-top:1px solid #294052}.mission-report>span{color:#89a7ba;font:700 9px 'Barlow Condensed';letter-spacing:.12em}.mission-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.mission-report-grid>div{display:grid;gap:3px;padding:9px;background:#172838;border-radius:6px}.mission-report-grid small,.mission-report-units small{color:#91aabd;font-size:9px}.mission-report-grid b{font-size:11px}.mission-report-units{display:grid;gap:6px;margin-top:8px}.mission-report-units>div{display:grid;gap:3px;padding:8px 10px;border-bottom:1px solid #294052;font-size:11px}
.map-marker { display:grid; place-items:center; width:32px; height:32px; color:#fff; border:2px solid #f5fbff; box-shadow:0 3px 10px #00000085; font:700 19px/1 'Barlow Condensed'; }.headquarters-marker { color:#172431; background:#fff; border-color:#a9c2d1; border-radius:7px; }.station-marker { clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%); }.mission-marker { width:34px; height:34px; border-radius:50%; animation:mission-pulse 1.6s infinite; }.fire-marker { background:#df4a4a; }.police-marker { background:#287ddd; }.medical-marker { color:#2a2a22; background:#f2c94c; border-color:#fff5bd; }@keyframes mission-pulse { 0%,100% { box-shadow:0 0 0 0 #ffffff55,0 3px 10px #00000085; } 50% { box-shadow:0 0 0 8px #ffffff00,0 3px 10px #00000085; } }
.vehicle-marker { position:relative; color:#fff; background:#18364d; border-color:#7ec4ff; border-radius:50%; font-size:17px; }
.vehicle-marker.emergency-response::before,.vehicle-marker.emergency-response::after { content:""; position:absolute; z-index:2; top:-6px; width:7px; height:5px; background:#138cff; border:1px solid #bfe5ff; border-radius:3px 3px 1px 1px; }
.vehicle-marker.emergency-response::before { left:5px; animation:blue-light-left .7s steps(1,end) infinite; }
.vehicle-marker.emergency-response::after { right:5px; animation:blue-light-right .7s steps(1,end) infinite; }
@keyframes blue-light-left { 0%,45% { opacity:1; box-shadow:0 0 5px 2px #168fff,0 0 13px 5px #168fff99; } 50%,95% { opacity:.2; box-shadow:none; } }
@keyframes blue-light-right { 0%,45% { opacity:.2; box-shadow:none; } 50%,95% { opacity:1; box-shadow:0 0 5px 2px #168fff,0 0 13px 5px #168fff99; } }
.mission-archive-list { display:grid; gap:8px; max-height:55vh; overflow:auto; }.mission-archive-item { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:12px; color:#edf5fa; text-align:left; background:#172838; border:1px solid #294052; border-radius:8px; }.mission-archive-item:hover { background:#1c3245; border-color:#3e6683; }.mission-archive-item span { min-width:0; }.mission-archive-item span>b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.mission-archive-item small { display:block; margin-top:3px; color:#9db0c0; font-size:11px; }.mission-archive-item>b:last-child { flex:0 0 auto; color:#70b9ff; font-size:11px; }
.stations-modal-list{display:grid;gap:10px;max-height:58vh;overflow:auto}.station-card{padding:14px;background:#172838;border:1px solid #294052;border-radius:9px}.station-card header{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.station-card header b,.station-resource b{display:block}.station-card header small,.station-resource small{display:block;margin-top:3px;color:#9db0c0;font-size:11px}.station-card header>span{color:#77d79c;font-size:11px}.station-resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.station-resource-grid>div>small{color:#89a7ba;font:700 9px 'Barlow Condensed';letter-spacing:.1em}.station-resource{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #294052;font-size:12px}.station-resource em{font-style:normal;font-size:10px;white-space:nowrap}.resource-available{color:#77d79c}.resource-assigned,.resource-en_route{color:#70b9ff}.resource-on_scene{color:#f2c94c}.resource-returning{color:#bba9ff}@media(max-width:600px){.station-resource-grid{grid-template-columns:1fr}}
.mission-requirement span small{display:block;margin-top:3px;color:#89a7ba;font-size:10px}.station-card-compact{width:100%;color:inherit;text-align:left}.station-card-compact header{margin:0}
.station-tabs{display:flex;gap:6px;margin:16px 0 2px;padding:5px;background:#0b141e;border-radius:8px}.station-tabs button{flex:1;padding:9px;color:#9db0c0;background:transparent;border-radius:6px;font-size:12px;font-weight:700}.station-tabs button.active{color:#fff;background:#1d4768}.mission-detail-grid>div:nth-child(3){grid-column:span 2}
.station-shop{display:grid;gap:7px;margin-top:12px}.station-shop button{width:100%;padding:10px 12px;color:#dce9f2;text-align:left;background:#172838;border:1px solid #294052;border-radius:7px;font-size:12px;font-weight:700}.station-shop button:hover{background:#1d4768;border-color:#3e79a5}.station-shop button::after{content:'Kaufen';float:right;color:#70b9ff}
.person-stats{display:flex!important;gap:7px;margin-top:4px!important;font-size:9px!important}.person-stats i{font-style:normal}.stat-success{color:#70d69a}.stat-aborted{color:#f2c94c}.stat-failed{color:#ff7474}
.finance-forecast{margin-bottom:10px;padding:12px;background:#142536;border:1px solid #294052;border-radius:8px}.finance-forecast>div:first-child{display:flex;align-items:center;gap:8px}.finance-forecast small{color:#89a7ba;font:700 9px 'Barlow Condensed';letter-spacing:.1em}.finance-forecast>div:first-child b{margin-left:auto;color:#f2c94c}.finance-forecast>div:first-child span{padding:3px 6px;border-radius:8px;background:#263b4c;color:#9eb2c0;font-size:9px}.finance-cost-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-top:10px}.finance-cost-grid span{display:flex;justify-content:space-between;color:#9eb2c0;font-size:10px}.finance-cost-grid b{color:#dce9f2}
.rank-progress{display:block;width:180px;max-width:100%;height:4px;margin-top:6px;background:#263b4c;border-radius:9px;overflow:hidden}.rank-progress i{display:block;height:100%;background:linear-gradient(90deg,#35a7ff,#70d69a);border-radius:inherit}.personnel-card>span{min-width:0}
.station-shop button{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.station-shop button span,.station-shop button small{display:block}.station-shop button small{margin-top:3px;color:#9db0c0;font-size:10px}.vehicle-sell{display:block;margin-top:5px;padding:3px 7px;border:1px solid #9d5960;border-radius:5px;background:transparent;color:#ff9292;font:inherit;cursor:pointer}.station-upgrade+.station-upgrade{margin-top:14px}
.vehicle-sell{margin-left:8px;padding:3px 6px;color:#ff9c9c;background:#3d2028;border:1px solid #87404a;border-radius:4px;font-size:9px}
.mission-modal-backdrop{background:transparent!important;backdrop-filter:none!important}
.mission-modal{max-height:calc(100vh - 36px);overflow-y:auto;box-sizing:border-box;scrollbar-color:#3e6683 #0b141e}.mission-modal-backdrop{overflow-y:auto;align-items:start}.mission-modal::-webkit-scrollbar{width:9px}.mission-modal::-webkit-scrollbar-thumb{background:#3e6683;border-radius:8px}.mission-modal::-webkit-scrollbar-track{background:#0b141e}
.cheat-trigger{position:fixed;right:18px;bottom:105px;z-index:20}.cheat-label{display:grid;gap:6px;margin:14px 0;color:#9db0c0;font-size:12px}.cheat-label input{padding:10px;color:#edf5fa;background:#0b141e;border:1px solid #294052;border-radius:7px}.mission-modal hr{border:0;border-top:1px solid #294052;margin:16px 0}.mission-modal .withdraw-button{width:100%;margin-top:8px}
.mission-archive-modal { width:min(100%,760px); }.mission-archive-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:0 0 16px; }.mission-archive-stats div { padding:11px; background:#172838; border:1px solid #294052; border-radius:8px; }.mission-archive-stats small { display:block; color:#89a7ba; font:700 9px 'Barlow Condensed'; letter-spacing:.1em; }.mission-archive-stats b { display:block; margin-top:4px; font-size:17px; }.mission-archive-list { max-height:46vh; } @media(max-width:600px){.mission-archive-stats{grid-template-columns:repeat(2,1fr)}}
/* Dark operations center */
body { color:#edf3f8; background:#081018; }.app-shell,#map { background:#0b141e; }.map-fallback { background:linear-gradient(135deg,#101d2a,#071019); }.map-fallback>div,.control-panel,.bottom-dock,.icon-button,.profile,.auth-modal,.tutorial-modal { background:#111c27; color:#edf3f8; box-shadow:0 14px 38px #00000070; }.map-fallback>div { border:1px solid #273849; }.map-fallback p,.auth-copy,.tutorial-modal>p,.tutorial-note,.mission small,.mission time { color:#9db0c0!important; }.panel-heading,.mission { border-color:#263746; }.panel-heading button { color:#9db0c0; }.mission-icon { background:#102b43; color:#57a9ff; }.mission-critical .mission-icon { background:#3d2028; color:#ff7373; }.all-missions { background:#111c27; color:#63adff; }.icon-button,.profile { color:#b7c6d2; }.avatar { background:#17334e; color:#76bdff; }.dock-item { color:#91a4b3; }.dock-item.active { color:#71b9ff; background:#15324d; }.map-tools>button,.zoom-controls { background:#111c27; box-shadow:0 4px 15px #00000050; }.map-tools button { color:#d4e1eb; }.zoom-controls button:first-child { border-color:#263746; }.auth-tabs { background:#0b141e; }.auth-tabs button { color:#9aabb8; }.auth-tabs button.active { color:#70b9ff; background:#1a2a39; box-shadow:none; }.auth-form label { color:#b4c3ce; }.auth-form input { color:#edf3f8; background:#0b141e; border-color:#2a4052; }.secondary-action { color:#c7d5df; background:#1a2a39; }.auth-icon { background:#187ee8; }.leaflet-control-zoom a,.leaflet-control-attribution { color:#cbd8e3!important; background:#111c27!important; border-color:#2a4052!important; }.leaflet-control-attribution a { color:#7cbdff!important; }
.assignment-form[hidden]{display:none}.mission-marker{transition:border-color .2s,box-shadow .2s}.mission-marker.mission-open{box-shadow:0 0 0 3px #ff5f5f55,0 4px 12px #0008}.mission-marker.mission-en-route{border-color:#66b9ff!important;box-shadow:0 0 0 4px #299cff66,0 0 16px #299cff}.mission-marker.mission-on-scene{border-color:#ffd45c!important;box-shadow:0 0 0 4px #ffd45c66,0 0 16px #ffd45c}@keyframes missionPulse{50%{transform:scale(1.12)}}.mission-marker.mission-en-route{animation:missionPulse 1.25s ease-in-out infinite}
.vehicle-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.vehicle-detail-grid>div{padding:11px;background:#172838;border-radius:7px}.vehicle-detail-grid small,.vehicle-section>span{display:block;color:#89a7ba;font:700 9px 'Barlow Condensed';letter-spacing:.12em}.vehicle-detail-grid b{display:block;margin-top:4px;font-size:12px}.vehicle-section{margin-top:18px}.vehicle-crew,.vehicle-alternatives{display:grid;gap:7px;margin-top:8px}.vehicle-crew-row,.vehicle-alternative{display:flex;justify-content:space-between;gap:12px;padding:10px;background:#142536;border:1px solid #294052;border-radius:7px;color:#dce9f2;text-align:left}.vehicle-crew-row small,.vehicle-alternative small{display:block;margin-top:3px;color:#91aabd;font-size:9px}.vehicle-alternative>strong{align-self:center;color:#70b9ff;white-space:nowrap}.vehicle-status-available{color:#70d69a}.vehicle-status-en_route{color:#70b9ff}.vehicle-status-on_scene{color:#f2c94c}.vehicle-status-returning{color:#bba9ff}.vehicle-command-row{display:flex;gap:8px;margin-top:10px}.vehicle-command-row button{flex:1}@media(max-width:600px){.vehicle-detail-grid{grid-template-columns:1fr}.vehicle-command-row{display:grid}}
.vehicle-list-button{width:100%;color:#dce9f2;background:transparent;border:0;text-align:left;cursor:pointer}.vehicle-detail-link{cursor:pointer}.vehicle-detail-link:hover{background:#172838}.vehicle-status-assigned{color:#70b9ff}
.vehicle-detail-backdrop{place-items:start end!important;padding:12px!important}.vehicle-side-modal{width:min(390px,calc(100vw - 24px))!important;max-height:calc(100vh - 24px)!important;padding:22px!important;border-radius:13px!important}.vehicle-side-modal h2{font-size:25px}.vehicle-side-modal .vehicle-detail-grid{grid-template-columns:1fr}.vehicle-route-line{filter:drop-shadow(0 0 5px #299cff)}
.mission-side-backdrop{place-items:start end!important;padding:12px!important}.mission-side-modal{width:min(390px,calc(100vw - 24px))!important;max-height:calc(100vh - 24px)!important;padding:22px!important;border-radius:13px!important}.mission-side-modal h2{font-size:25px}.mission-side-modal .mission-detail-grid{grid-template-columns:1fr}.mission-side-modal .mission-assignment-row{gap:8px}
.mission-vehicle-route-line{filter:drop-shadow(0 0 4px #299cff)}
.vehicle-crew-stats{display:grid!important;gap:2px;text-align:right}.vehicle-crew-stats i{display:block;font-style:normal}
.build-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;margin-bottom:10px;background:#142536;border:1px solid #294052;border-radius:8px;color:#e4eff6}.build-option>div{display:grid;gap:3px}.build-option small{display:block;color:#8fa8ba;font-size:10px}.build-option>.map-marker{position:static;display:grid}.dock-panel-action:disabled{opacity:.45;cursor:not-allowed}
.station-history{display:grid;gap:6px;margin-top:14px}.station-history[hidden]{display:none}.station-history-row{display:flex;justify-content:space-between;gap:14px;width:100%;padding:10px;color:#dce9f2;background:#142536;border:1px solid #294052;border-radius:7px;text-align:left}.station-history-row:hover{border-color:#3a7093;background:#183047}.station-history-row>span{display:grid;gap:3px}.station-history-row>span:last-child{text-align:right}.station-history-row small{color:#8fa8ba;font-size:9px}.history-status-completed{color:#66d99a}.history-status-failed,.history-status-expired{color:#ff7d7d}.history-status-cancelled{color:#e4b56b}.history-status-in_progress,.history-status-assigned{color:#65b9ff}.station-focus-button{width:100%;margin:9px 0 2px;padding:9px;color:#a9cbe0;background:#102333;border:1px solid #2b5068;border-radius:7px;font-weight:700}.station-focus-button:hover{color:#fff;border-color:#4386ae}.default-crew-editor>small{display:block;margin:5px 0 9px;color:#8fa8ba;font-size:10px}
