:root{font-family:system-ui,-apple-system,sans-serif;color:#e8f3ff;background:#07111d}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% -20%,#25435d,#081522 50%,#07111d);min-height:100vh}header{display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid #294052;background:#0a1929}h1{font-size:19px;margin:3px 0;letter-spacing:.07em}h1 span{font-size:10px;color:#7b9fb7}small{font-size:10px;letter-spacing:.12em;color:#87a8c0;font-weight:750}h2{margin:4px 0;font-size:20px}button,.import{border:1px solid #35556b;border-radius:12px;background:#152b40;color:#e9f4ff;padding:11px 13px;font-weight:750;cursor:pointer;font-size:13px;touch-action:manipulation}button:active,.import:active{transform:scale(.98)}button.primary{background:linear-gradient(130deg,#e8ad3c,#f8d47a);color:#18202b;border:0}button:disabled{opacity:.35;cursor:not-allowed}main{max-width:850px;margin:auto;padding:12px 12px calc(30px + env(safe-area-inset-bottom))}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.stats>div,.mapwrap,#panel{background:#102236;border:1px solid #2c4359;border-radius:17px;padding:14px}.stats b{display:block;font-size:19px;margin-top:7px;color:#f4d184}.mapwrap{margin-top:12px;padding:12px}.sectionhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}#map{height:300px;border-radius:11px;overflow:hidden;background:#182a38;z-index:0;filter:saturate(.77) brightness(.87)}.mapfoot{display:flex;justify-content:space-between;font-size:10px;color:#a7c2d4;padding:9px 3px 0}.mapfoot span:first-child{color:#60e4bb}nav{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}nav button{font-size:11px;padding:12px 3px}nav .selected{background:#d6a747;color:#10202f;border-color:#f5d487}#panel{min-height:205px}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.item{border:1px solid #294358;border-radius:13px;padding:13px;margin-top:10px;background:#152b40}.item strong{display:block;font-size:15px}.muted{color:#9ab4c9;font-size:12px;line-height:1.5}.tag{font-size:11px;border-radius:20px;padding:5px 9px;background:#28465b;color:#aee2ff}.tag.busy{background:#5a4423;color:#ffdc95}.item button{margin-top:10px}.price{color:#f7d17b;font-size:17px;font-weight:800}footer{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}footer button,footer .import{font-size:11px;padding:9px}.hint{color:#7896aa;font-size:11px;line-height:1.6}.taxi-pin{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f3c45c;border:3px solid #fff0be;box-shadow:0 3px 12px #0009;font-size:17px}.place-pin{font-size:18px;text-shadow:0 2px 3px #000}#toast{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#f5d17a;color:#192334;padding:10px 16px;border-radius:12px;font-weight:750;font-size:12px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:9999;max-width:90%;text-align:center}#toast.show{opacity:1}@media(min-width:650px){.stats{grid-template-columns:repeat(4,1fr)}#map{height:380px}nav button{font-size:13px}}.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:10px!important}

/* NIGHT CAB: bespoke midnight dispatch cartography */
#map{filter:none;background:#0b1724;border:1px solid #2b4a61;box-shadow:inset 0 0 40px #050d18,0 12px 36px #0005}
.mapwrap{background:linear-gradient(155deg,#122a40,#0b1a2a);border-color:#31536b;box-shadow:0 12px 32px #0004}
.sectionhead h2{color:#f9e1a6;letter-spacing:.02em}
.leaflet-container{background:#0b1724!important}
.leaflet-control-zoom a{background:#14283b!important;color:#f5d07e!important;border-color:#31516a!important}
.leaflet-control-attribution{background:#07111dcf!important;color:#a6bdca!important}
.leaflet-control-attribution a{color:#91d5dc!important}
.taxi-pin{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(140deg,#f9dc8b,#e7a739);border:2px solid #fff1b6;box-shadow:0 0 0 5px #f6c45128,0 0 22px #ffc65d85,0 6px 14px #000a;transform:translate(-7px,-7px);font-size:0}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#102b3b!important;color:#fff0c8!important;border:1px solid #365a67}
.mapfoot{color:#9eb8c7;letter-spacing:.02em}

/* Dark-Night-Darstellung nur auf OSM-Kacheln, nicht auf Taximarkern */
#map .leaflet-tile-pane { filter: saturate(0.82) brightness(0.96) contrast(1.04); }
#map { background:#101d2b; }

/* Scharfe Kartentexte: keine invertierenden Filter oder Skalierung der Kacheln. */
#map .leaflet-tile { image-rendering:auto; }

/* Manager-Erweiterungen */
.extras{margin:10px 0;flex-wrap:wrap}.extras button{font-size:12px}.slots{background:#102236;border:1px solid #2c4359;border-radius:17px;padding:14px;margin-top:12px}.slots .item{flex-wrap:wrap}.slots .item .muted{display:block}.taxi-pin{box-shadow:0 0 0 4px #ffcb5440,0 0 20px #ffc65d95,0 6px 14px #000a}#map{filter:none!important}.stats>div{background:linear-gradient(145deg,#142d45,#0c1c30)}

/* NIGHT CAB 1.1: native-feeling iPhone application shell */
html,body{height:100%;overflow:hidden}body{overscroll-behavior:none}button,.import{min-height:44px;font-size:14px} .app-shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden;max-width:850px;margin:0 auto;background:#081624}.app-header{flex:0 0 auto;padding:calc(env(safe-area-inset-top) + 10px) 16px 12px;background:#0c1d2e;border-bottom:1px solid #27435a;display:flex;align-items:center;justify-content:space-between;gap:12px}.app-header h1{font-size:16px;letter-spacing:.035em}.app-header h1 span{display:block;font-size:10px;margin-top:3px}.app-header #pause{white-space:nowrap}.app-main{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:16px 14px 28px;width:100%;max-width:none;margin:0}.view[hidden],#settings-content[hidden],#more-content[hidden]{display:none!important}.page-title{margin:4px 2px 18px}.page-title h2{font-size:27px;margin-top:5px}.welcome{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:8px}.welcome h2{font-size:23px;line-height:1.18;margin-top:5px}.live-pill{color:#69e6b5;font-size:11px;font-weight:800;background:#123b35;border:1px solid #245d4b;border-radius:20px;padding:8px 10px;white-space:nowrap}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats>div{min-width:0;padding:16px 12px;border-radius:17px;background:#12293d}.stats b{font-size:clamp(15px,4.5vw,21px);overflow-wrap:anywhere}.home-card{padding:18px 16px;margin-top:14px;background:linear-gradient(145deg,#142e44,#102236);border:1px solid #31516a;border-radius:18px;box-shadow:0 8px 24px #0002}.home-card h2{font-size:19px}.home-card .jump{width:100%;margin-top:8px;text-align:center}.bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;flex:0 0 auto;margin:0;padding:7px 4px calc(7px + env(safe-area-inset-bottom));background:#0c1d2e;border-top:1px solid #345068;z-index:500}.bottom-nav button{border:0;border-radius:12px;background:transparent;min-height:55px;padding:5px 1px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;color:#99b6ca;font-weight:700}.bottom-nav button.selected{background:#233e50;color:#f7d47c}.nav-icon{font-size:23px;line-height:1}.mapwrap{margin:0;padding:10px}.mapwrap #map{height:min(58dvh,540px);min-height:320px;filter:none}.mapfoot{flex-wrap:wrap;gap:5px}.sectionhead{gap:10px}.engine-panel{display:none!important}#jobs-host,#fleet-host,#more-content{background:#102236;border:1px solid #2c4359;border-radius:18px;padding:14px;min-width:0}.item{overflow-wrap:anywhere}.item .row{flex-wrap:wrap}.item button{max-width:100%;white-space:normal}.row{min-width:0}.more-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}.more-tabs button{padding:9px 3px;font-size:12px}.more-tabs button.selected{background:#d6a747;color:#10202f}.settings-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.settings-actions>*{min-width:0;text-align:center;display:flex;align-items:center;justify-content:center}.settings-actions .danger{color:#ffb7b7}.slots{margin-top:14px}.slots .row{flex-wrap:wrap}#toast{bottom:calc(85px + env(safe-area-inset-bottom))}button:focus-visible,.import:focus-visible{outline:3px solid #f6d47a;outline-offset:2px}@media(min-width:650px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.bottom-nav button{font-size:12px}}

/* 1.2: compact mobile dashboard — no duplicate navigation shortcuts */
.app-shell{max-width:650px}
.app-header{min-height:56px;padding:calc(env(safe-area-inset-top) + 6px) 14px 7px;gap:8px}
.brand{display:flex;align-items:center;gap:9px;min-width:0}
.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#1e384b;font-size:18px;flex-shrink:0}
.brand small{font-size:8px;letter-spacing:.085em;white-space:nowrap}
.app-header h1{font-size:16px;margin:1px 0 0;letter-spacing:.07em;line-height:1.15}
.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-time{font-size:11px;color:#b3c7d8;font-weight:700;font-variant-numeric:tabular-nums}
.app-header #pause{height:35px;min-height:35px;width:35px;min-width:35px;padding:0;border-radius:11px;font-size:14px}
.app-main{padding:13px 13px 18px}.welcome{margin:0 0 12px;align-items:center}.welcome h2{font-size:20px;margin-top:3px}.welcome small{font-size:9px}.live-pill{font-size:10px;padding:6px 9px}
.stats{gap:8px}.stats>div{padding:12px 11px;border-radius:13px;min-height:74px}.stats small{font-size:9px;letter-spacing:.07em}.stats b{font-size:clamp(16px,4vw,19px);margin-top:5px;white-space:nowrap;overflow-wrap:normal;letter-spacing:-.04em}
.briefing{margin-top:12px;border:1px solid #29465a;border-radius:15px;background:linear-gradient(140deg,#132b3e,#102236);padding:12px 13px}.briefing-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:5px}.briefing h3{font-size:15px;margin:0;font-weight:760}.briefing .tag{font-size:10px;padding:5px 8px}
.briefing-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #294052;padding:10px 2px;font-size:13px}.briefing-row:first-of-type{border-top:0}.briefing-row span{display:flex;align-items:center;gap:9px;color:#c5d6e4}.briefing-row strong{font-size:13px;font-variant-numeric:tabular-nums}.status-dot{width:7px;height:7px;display:inline-block;border-radius:50%}.status-dot.amber{background:#f4bd58}.status-dot.green{background:#51dbaf}.status-dot.blue{background:#77b9f4}
.briefing-last{margin-top:10px}.city-indicator{font-size:10px;color:#89a8bc}.city-line{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:700;margin-top:10px}.city-line span:last-child{color:#ecc777}.briefing .muted{margin:9px 0 0;font-size:11px}
.bottom-nav{padding:4px 3px calc(3px + env(safe-area-inset-bottom));border-top-color:#263c4d}.bottom-nav button{border-radius:10px;min-height:49px;gap:1px;padding:4px 1px;font-size:10px}.nav-icon{font-size:21px}.bottom-nav button.selected{background:#1a3446}
.page-title{margin:0 1px 11px}.page-title h2{font-size:22px}.page-title small{font-size:9px}
#toast{bottom:calc(67px + env(safe-area-inset-bottom))}
@media(max-width:370px){.header-time{font-size:10px}.brand small{font-size:7px}.stats b{font-size:15px}.stats>div{padding:10px 8px}}
@media(min-width:650px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
