:root{--bg:#f4f6f8;--card:#fff;--ink:#14202b;--muted:#5d6b79;--line:#dde3e9;--accent:#0e7c86;--accent-ink:#fff;--accent-soft:#e0f2f3;--ok:#1a7f4b;--ok-soft:#e1f4ea;--warn:#b45309;--warn-soft:#fdf0dc;--bad:#c0352b;--bad-soft:#fde7e5;--info:#2457c5;--info-soft:#e6edfc;--sim:#7c3aed;--radius:14px;--shadow:0 1px 2px #1020300f, 0 4px 14px #1020300f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}:root[data-theme=dark]{--bg:#0d141b;--card:#17212b;--ink:#f1f5f9;--muted:#9aa9b8;--line:#273543;--accent:#19a7b3;--accent-soft:#123941;--ok:#34c77b;--ok-soft:#12311f;--warn:#f0a23b;--warn-soft:#3a2a10;--bad:#ff6b60;--bad-soft:#3d1a17;--info:#7ea6ff;--info-soft:#172648}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0}h1,h2,h3{margin:0;line-height:1.2}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:13px}.row{align-items:center;gap:8px;display:flex}.grow{flex:1;min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sim-banner{background:var(--sim);color:#fff;letter-spacing:.02em;text-align:center;padding:5px 12px;font-size:12px;font-weight:600}.sim-banner b{font-weight:800}.btn{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-weight:600;transition:transform 50ms,filter .15s}.btn:hover{filter:brightness(.97)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn.ok{background:var(--ok);color:#fff;border-color:#0000}.btn.bad{background:var(--bad);color:#fff;border-color:#0000}.btn.ghost{background:0 0}.btn.sm{border-radius:8px;padding:5px 10px;font-size:13px}.btn.xl{border-radius:18px;width:100%;padding:20px;font-size:22px;font-weight:800}.chip{background:var(--line);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.chip.geplant{background:var(--line);color:var(--muted)}.chip.offen{background:var(--warn-soft);color:var(--warn)}.chip.angeboten{background:var(--info-soft);color:var(--info)}.chip.zugewiesen{background:var(--accent-soft);color:var(--accent)}.chip.abgeholt{background:var(--ok-soft);color:var(--ok)}.chip.abgeschlossen{background:var(--line);color:var(--muted)}.chip.storniert{background:var(--bad-soft);color:var(--bad);text-decoration:line-through}.dot{background:var(--muted);border-radius:50%;width:10px;height:10px;display:inline-block}.dot.verfuegbar{background:var(--ok)}.dot.besetzt{background:var(--bad)}.dot.warten{background:var(--warn)}.dot.pause{background:var(--info)}.dot.offline{background:var(--muted)}.login{max-width:460px;margin:0 auto;padding:24px 16px}.login h1{margin-bottom:6px;font-size:26px}.login .acct{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);margin-top:10px;padding:16px;font-size:18px;font-weight:700}.login .acct small{color:var(--muted);font-size:13px;font-weight:400;display:block}.landing{max-width:880px;margin:0 auto;padding:36px 16px}.landing h1{font-size:32px}.tiles{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:22px;display:grid}.tile{background:var(--card);border:1px solid var(--line);color:inherit;box-shadow:var(--shadow);border-radius:18px;padding:22px;text-decoration:none;display:block}.tile:hover{border-color:var(--accent)}.tile .ico{font-size:34px}.tile h2{margin:8px 0 4px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}.stack{flex-direction:column;gap:12px;display:flex}.label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:800}.field{border:1px solid var(--line);background:var(--card);border-radius:10px;width:100%;padding:11px 12px}.seg{background:var(--bg);border:1px solid var(--line);border-radius:12px;gap:3px;padding:3px;display:flex}.seg button{color:var(--muted);background:0 0;border-radius:9px;flex:1;padding:10px;font-weight:700}.seg button.on{background:var(--accent);color:#fff}.opts{flex-wrap:wrap;gap:8px;display:flex}.opt{border:1px solid var(--line);background:var(--card);text-align:left;border-radius:12px;padding:10px 13px;font-weight:600}.opt.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.opt small{color:var(--muted);font-size:12px;font-weight:400;display:block}.banner{background:var(--info-soft);color:var(--info);border-radius:12px;padding:12px 14px;font-weight:600}.banner.warn{background:var(--warn-soft);color:var(--warn)}.banner.bad{background:var(--bad-soft);color:var(--bad)}.banner.ok{background:var(--ok-soft);color:var(--ok)}.toast{color:#fff;z-index:5000;background:#14202b;border-radius:12px;max-width:92vw;padding:11px 18px;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0000004d}.app-narrow{max-width:520px;margin:0 auto;padding:12px 14px 90px}.topbar{justify-content:space-between;align-items:center;padding:10px 0;display:flex}.topbar h1{font-size:20px}.steps{gap:4px;margin:10px 0;display:flex}.steps i{background:var(--line);border-radius:3px;flex:1;height:6px}.steps i.on{background:var(--accent)}.bigstatus{font-size:22px;font-weight:800}.minimap{border:1px solid var(--line);border-radius:12px;height:220px;overflow:hidden}.driver-body{padding-bottom:40px}.status-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.status-btn{background:var(--card);border:2px solid var(--line);color:var(--ink);border-radius:16px;padding:18px 8px;font-size:18px;font-weight:800}.status-btn.on{border-color:var(--accent);background:var(--accent-soft)}.offer{border:3px solid var(--info);background:var(--card);border-radius:20px;padding:16px;animation:1.4s infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 #7ea6ff80}50%{box-shadow:0 0 0 12px #7ea6ff00}}.countdown{background:var(--line);border-radius:5px;height:10px;margin:10px 0;overflow:hidden}.countdown i{background:var(--info);height:100%;transition:width .5s linear;display:block}.offer .btns{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.nextstop .where{font-size:24px;font-weight:800}.stoplist{margin:0;padding:0;list-style:none}.stoplist li{border-top:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.stoplist .n{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:grid}.stoplist .n.drop{border-radius:6px}.dispo{flex-direction:column;height:100%;display:flex}.dispo-head{background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:8px 14px;display:flex}.dispo-head h1{font-size:18px}.dispo-main{flex:1;grid-template-columns:370px minmax(0,1fr) 350px;min-height:0;display:grid}.panel{background:var(--bg);border-right:1px solid var(--line);padding:12px;overflow-y:auto}.panel.right{border-right:0;border-left:1px solid var(--line)}.panel h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);justify-content:space-between;align-items:center;margin:4px 0 8px;font-size:13px;display:flex}.mapwrap{min-height:300px;position:relative}.map-note{text-align:center;color:#5b6b78;z-index:1;pointer-events:none;background:#eef2f4;justify-content:center;align-items:center;padding:16px;font-size:14px;display:flex;position:absolute;inset:0}.tabs{gap:6px;margin-bottom:8px;display:flex}.tabs button{background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 11px;font-size:13px;font-weight:700}.tabs button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.bk{background:var(--card);border:1px solid var(--line);cursor:pointer;border-left:5px solid var(--line);border-radius:12px;margin-bottom:8px;padding:10px 12px}.bk.sel{outline:2px solid var(--accent)}.bk.s-offen{border-left-color:var(--warn)}.bk.s-angeboten{border-left-color:var(--info)}.bk.s-zugewiesen{border-left-color:var(--accent)}.bk.s-abgeholt{border-left-color:var(--ok)}.bk .time{min-width:52px;font-size:17px;font-weight:800}.bk .route{color:var(--muted);font-size:13px}.bk .note{color:var(--warn);margin-top:4px;font-size:12px}.dv{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--c,var(--line));cursor:pointer;border-radius:12px;margin-bottom:9px;padding:11px 12px}.dv.sel{outline:2px solid var(--accent)}.dv .name{font-weight:800}.dv .meter{background:var(--line);border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.dv .meter i{background:var(--info);height:100%;display:block}.dv .sub{color:var(--muted);font-size:13px}.feed{font-size:13px}.feed div{border-top:1px solid var(--line);padding:6px 0}.feed time{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:6px}.modal-bg{z-index:3000;background:#08101880;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--card);border-radius:16px;width:min(560px,100%);max-height:92vh;padding:18px;overflow:auto;box-shadow:0 24px 60px #00000059}.modal h2{margin-bottom:12px;font-size:20px}.results{border:1px solid var(--line);border-radius:10px;margin-top:4px;overflow:hidden}.results button{text-align:left;background:var(--card);border-bottom:1px solid var(--line);width:100%;padding:9px 12px;display:block}.results button:hover{background:var(--accent-soft)}.car{background:var(--c);color:#fff;border:3px solid #fff;border-radius:50%;place-items:center;width:38px;height:38px;font-size:15px;font-weight:800;display:grid;position:relative;box-shadow:0 2px 8px #0006}.car.st-warten{box-shadow:0 0 0 4px #f0a23b8c,0 2px 8px #0006}.car.st-pause,.car.nodriver{filter:grayscale(.9);opacity:.75}.car.sel{transform:scale(1.2);box-shadow:0 0 0 5px #0e7c8680,0 2px 8px #0006}.car.stale:after{content:"!";background:var(--bad);border-radius:50%;place-items:center;width:17px;height:17px;font-size:12px;display:grid;position:absolute;top:-6px;right:-6px}.car-label{white-space:nowrap;color:#14202b;background:#fffffff2;border-radius:6px;padding:1px 6px;font-size:11px;font-weight:800;position:absolute;top:40px;left:50%;transform:translate(-50%);box-shadow:0 1px 4px #0000004d}.stop{background:var(--c);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:grid;box-shadow:0 1px 5px #0006}.stop.drop{border-radius:6px}.stop.offer{background:#2457c5;animation:1.4s infinite pulse}.stop.wait{background:#b45309}.home-pin{filter:drop-shadow(0 1px 3px #00000080);font-size:24px}.legend{z-index:800;color:#14202b;box-shadow:var(--shadow);background:#fffffff2;border-radius:10px;padding:8px 10px;font-size:12px;position:absolute;bottom:22px;left:10px}.legend b{margin-bottom:3px;display:block}.simtag{z-index:800;background:var(--sim);color:#fff;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700;position:absolute;top:10px;right:10px}@media (width<=1100px){.dispo-main{grid-template-rows:55vh auto auto;grid-template-columns:1fr;overflow-y:auto}.dispo{height:auto;min-height:100%}.panel{border:0}.mapwrap{order:-1}}html.embed .sim-banner,html.embed .embed-hide{display:none!important}.pz{--pz-ink:#0c2230;--pz-line:#d6e0e6;height:100%;color:var(--pz-ink);background:#e9eff3;flex-direction:column;display:flex}.pz-boot{color:#5d6b79;place-items:center;height:100%;font-size:20px;display:grid}.pz-head{color:#fff;background:linear-gradient(90deg,#0a2a35,#0e3d49);flex:none;align-items:center;gap:26px;height:64px;padding:0 22px;display:flex}.pz-brand{align-items:center;gap:12px;display:flex}.pz-brand b{letter-spacing:.01em;font-size:18px;display:block}.pz-brand small{color:#9fc3cb;margin-top:1px;font-size:12px;display:block}.pz-logo{font-size:26px}.pz-tabs{background:#ffffff14;border-radius:12px;gap:6px;padding:4px;display:flex}.pz-tabs button{color:#cfe3e7;background:0 0;border-radius:9px;align-items:center;gap:9px;padding:9px 16px;font-size:15px;font-weight:600;display:flex}.pz-tabs button:hover{background:#ffffff1a}.pz-tabs button.on{color:#0a2a35;background:#fff}.pz-tabs kbd{opacity:.55;border:1px solid;border-radius:5px;padding:0 5px;font:600 11px ui-monospace,Menlo,monospace}.pz-kpis{color:#b9d3d8;gap:22px;margin-left:auto;font-size:14px;display:flex}.pz-kpis b{color:#fff;font-variant-numeric:tabular-nums;margin-right:4px;font-size:20px}.pz-chips{align-items:center;gap:10px;display:flex}.pz-chip{color:#e3f0f2;background:#ffffff1f;border-radius:20px;align-items:center;gap:6px;padding:6px 11px;font-size:13px;font-weight:600;display:inline-flex}.pz-chip.sim{color:#fff;background:#7c3aed}.pz-chip.live{color:#6ee7a8}.pz-chip select{color:#fff;background:0 0;border:0;font-size:13px;font-weight:700}.pz-chip select option{color:#000}.pz-body{flex:1;min-height:0;display:flex}.pz-stage{background:radial-gradient(1200px 700px at 30% 10%,#f4f8fa,#dbe5eb);flex:1;position:relative;overflow:hidden}.pz-labels span{letter-spacing:.06em;text-transform:uppercase;color:#4d6572;white-space:nowrap;font-size:13px;font-weight:700;transition:left .35s;position:absolute;top:22px}.pz-frame{transform-origin:0 0;transition:left .35s,top .35s,transform .35s;position:absolute}.pz-frame.hidden{opacity:0;pointer-events:none;transition:none}.pz-frame iframe{background:#fff;border:0;display:block}.pz-monitor{box-sizing:content-box;background:#0b1820;border-radius:14px;padding:10px;box-shadow:0 30px 60px -20px #081e2873,0 0 0 1px #00000026}.pz-monitor iframe{border-radius:6px;width:100%;height:100%}.pz-phone{box-sizing:border-box;background:linear-gradient(145deg,#1b2530,#0a1016);border-radius:58px;padding:10px;box-shadow:0 30px 60px -20px #081e2880,inset 0 0 0 2px #3a4757,0 0 0 1px #0000004d}.pz-phone iframe{border-radius:40px;width:390px;height:794px;margin-top:26px}.pz-notch{z-index:2;pointer-events:none;background:#05090d;border-radius:16px;width:110px;height:20px;margin-left:-55px;position:absolute;top:13px;left:50%}.pz-guide{border-left:1px solid var(--pz-line);background:#fff;flex-direction:column;flex:none;gap:14px;width:372px;padding:18px 18px 14px;display:flex;overflow-y:auto}.pz-guide h2{font-size:19px}.pz-prep{background:#fff7e6;border:1px solid #f0cf8f;border-radius:12px;flex-direction:column;gap:9px;padding:12px;display:flex}.pz-prep.ok{background:#eaf8f0;border-color:#a8dcc0}.pz-prep small,.pz-auto small{color:#5d6b79;margin-top:2px;font-size:12.5px;line-height:1.35;display:block}.pz-auto{flex-direction:column;gap:6px;display:flex}.pz-btn{color:#0c2230;border:1px solid var(--pz-line);background:#eef3f6;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:700}.pz-btn:hover{filter:brightness(.96)}.pz-btn:disabled{opacity:.45;cursor:not-allowed}.pz-btn.primary{color:#fff;background:#0e7c86;border-color:#0000}.pz-btn.bad{color:#fff;background:#c0352b;border-color:#0000}.pz-btn.ghost{background:0 0}.pz-steps{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.pz-steps li{border:1px solid #0000;border-radius:12px;gap:12px;padding:10px;display:flex}.pz-steps li.active{background:#e6f4f5;border-color:#b6dfe2}.pz-steps li.done .pz-num{color:#fff;background:#1a7f4b}.pz-num{color:#4d6572;background:#dfe7ec;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:grid}.pz-steps li.active .pz-num{color:#fff;background:#0e7c86;box-shadow:0 0 0 5px #0e7c862e}.pz-step{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.pz-step b{font-size:15px}.pz-step small{color:#5d6b79;font-size:13px;line-height:1.35}.pz-step .pz-btn{margin-top:6px}.pz-msg{color:#1d3f8f;cursor:pointer;background:#e6edfc;border-radius:10px;padding:10px 12px;font-size:13.5px}.pz-msg.bad{color:#8f1d14;background:#fde7e5}.pz-foot{color:#6b7c88;margin:auto 0 0;font-size:12px;line-height:1.45}@media (width<=1100px){.pz-kpis{display:none}.pz-guide{width:320px}}.pz-status{color:#34505c;background:#eef5f7;border-radius:10px;padding:8px 11px;font-size:13.5px;line-height:1.35}.pz-status.run{background:#e0f1f3;border:1px solid #b6dfe2}.pz-status b{color:#0e5f68}.bk .hold{background:var(--info-soft);color:var(--info);border:1px dashed var(--info);border-radius:10px;margin-top:8px;padding:8px 10px}.review{background:var(--card);border:2px solid #7c3aed;border-radius:14px;margin-bottom:12px;padding:12px 14px;box-shadow:0 6px 18px #0003}.review .metrics{grid-template-columns:repeat(3,1fr);gap:6px;margin:6px 0;display:grid}.review .metrics div{background:var(--bg);text-align:center;border-radius:10px;padding:6px 8px}.review .metrics b{font-size:16px;display:block}.review .metrics span{color:var(--muted);font-size:11px}.review .stoplist{margin:0;padding:0;font-size:12.5px;list-style:none}.review .stoplist li{border-top:1px solid var(--line);align-items:center;gap:8px;padding:5px 0;display:flex}.review .stoplist li.new{background:#7c3aed14;border-radius:8px;padding-left:4px}.review .stoplist .n{color:#fff;background:#6b7280;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:grid}.review .stoplist li.new .n{background:#7c3aed}.review .effects{margin:0;padding-left:16px;font-size:12.5px}.review .late{color:var(--bad);font-weight:700}.chip.warn{background:var(--warn-soft);color:var(--warn)}.routechange{z-index:3000;background:#050a10c7;justify-content:center;align-items:center;padding:12px;animation:.25s ease-out rcin;display:flex;position:fixed;inset:0}@keyframes rcin{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.rc-card{background:var(--card);width:100%;max-height:100%;color:var(--ink);border:3px solid #a78bfa;border-radius:22px;padding:16px;overflow-y:auto;box-shadow:0 20px 50px #000a}.rc-badge{color:#fff;letter-spacing:.02em;background:#7c3aed;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800;display:inline-block}.rc-card h2{margin:8px 0 2px;font-size:24px;line-height:1.15}.rc-lead{color:#c4b5fd;margin:0 0 10px;font-size:17px;font-weight:700}.rc-order{background:var(--bg);border-radius:12px;margin-bottom:8px;padding:10px 12px;line-height:1.45}.rc-stops{margin:8px 0;font-size:13px}.rc-stops li.new{background:#7c3aed22;border-radius:8px;padding-left:4px}.rc-card .btns{background:var(--card);grid-template-columns:1fr 1.4fr;gap:10px;margin-top:10px;padding:10px 0 2px;display:grid;position:sticky;bottom:-16px}.pz-row{flex-wrap:wrap;gap:8px;display:flex}.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl td{border-bottom:1px solid var(--line,#e3e8ee);padding:6px 8px}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.btn.danger{background:var(--bad,#c0352b);color:#fff;border-color:#0000}.topbar{flex-wrap:wrap;row-gap:6px}.topbar h1{flex:100%}.carwrap{transition:transform 1s linear}
