:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17202a;background:#e9edf2;--red:#c93232;--red-dark:#9e2525;--navy:#1d2b3a;--navy2:#27394b;--line:#d8dde4;--muted:#6f7a86;--card:#fff;--shadow:0 8px 28px rgba(20,31,44,.13)}
*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.auth-screen{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#172638 0%,#263c50 45%,#b93434 160%);padding:20px;position:relative}.auth-screen:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:36px 36px;pointer-events:none}.auth-card{position:relative;width:min(440px,100%);background:#fff;border-radius:18px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.brand-mark{width:66px;height:66px;border-radius:14px;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:900;font-size:24px;box-shadow:0 8px 18px rgba(201,50,50,.35);margin-bottom:18px}.auth-card h1{margin:0;font-size:30px}.auth-card p{margin:6px 0 22px;color:var(--muted);line-height:1.5}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#edf0f4;border-radius:10px;padding:4px;margin-bottom:18px}.auth-tabs button{border:0;background:transparent;padding:10px;border-radius:8px;font-weight:700;color:#68727f}.auth-tabs button.active{background:#fff;color:#1f2a35;box-shadow:0 2px 7px rgba(0,0,0,.09)}.auth-card label{display:grid;gap:7px;margin:13px 0;font-size:13px;font-weight:700;color:#4d5965}.auth-card input{width:100%;border:1px solid #ccd3db;border-radius:9px;padding:12px 13px;outline:none}.auth-card input:focus{border-color:#59799a;box-shadow:0 0 0 3px rgba(89,121,154,.12)}.primary{border:0;background:var(--red);color:white;border-radius:10px;font-weight:800}.primary:hover{background:var(--red-dark)}.big{width:100%;padding:13px;margin-top:8px}.auth-note{font-size:11px;color:#8a939d;text-align:center;margin-top:18px}.error{background:#fff0f0;color:#a62727;border:1px solid #f1c0c0;border-radius:8px;padding:10px;margin-top:12px;font-size:13px}
.game{width:100%;height:100%;display:grid;grid-template-rows:64px 1fr}.topbar{background:var(--navy);color:#fff;display:flex;align-items:center;padding:0 14px 0 18px;box-shadow:0 2px 9px rgba(0,0,0,.25);z-index:20}.brand{display:flex;align-items:center;gap:11px;min-width:260px}.badge{background:var(--red);font-weight:900;border-radius:8px;padding:8px 9px}.brand div{display:grid}.brand strong{font-size:16px}.brand small{color:#aebac6;margin-top:2px}.resources{margin-left:auto;display:flex;height:100%}.resources>div{min-width:105px;display:grid;align-content:center;padding:0 18px;border-left:1px solid rgba(255,255,255,.1)}.resources span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#9eabb8}.resources strong{font-size:15px;margin-top:2px}.icon-btn{width:42px;height:42px;border-radius:9px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;margin-left:10px}.workspace{min-height:0;display:grid;grid-template-columns:310px 1fr}.sidebar{min-width:0;background:#f5f7f9;z-index:10;display:flex;flex-direction:column;min-height:0}.left-panel{border-right:1px solid var(--line)}.panel-title{height:64px;display:flex;align-items:center;gap:10px;padding:0 15px;background:#fff;border-bottom:1px solid var(--line)}.panel-title>span{font-size:22px}.panel-title div{display:grid}.panel-title strong{font-size:14px}.panel-title small{font-size:11px;color:var(--muted);margin-top:2px}
.mission-list{overflow:auto;flex:1;padding:10px}.empty{border:1px dashed #cfd6de;border-radius:10px;padding:22px 14px;color:#7d8792;text-align:center;font-size:13px;background:#fff}.mission{background:#fff;border:1px solid #dce1e7;border-left:4px solid #d24a4a;border-radius:10px;margin-bottom:10px;padding:12px;box-shadow:0 2px 7px rgba(15,31,48,.05);transition:.15s;cursor:pointer}.mission:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(15,31,48,.11)}.mission-working{border-left-color:#26965a}.mission-enroute{border-left-color:#347dcc}.mission-top{display:flex;gap:9px;align-items:flex-start}.mission-icon{font-size:21px}.mission-heading{flex:1}.mission-title{font-size:13px;font-weight:850;line-height:1.3}.mission-id{font-size:10px;color:#9099a2;margin-top:2px}.mission-state{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;border-radius:20px;padding:5px 7px;white-space:nowrap}.state-open{background:#fff1e9;color:#a8581f}.state-enroute,.state-assigned{background:#e8f1fd;color:#2869a7}.state-working{background:#e8f7ef;color:#237b4a}.state-completed{background:#edf0f3;color:#68727b}.mission-facts{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0 8px}.mission-facts span{font-size:10px;background:#f3f5f7;border-radius:6px;padding:5px 6px;color:#53606d}.mission-live{font-size:10px;color:#697683;margin:7px 0}.mission-actions{display:flex;gap:6px;margin-top:9px}.mission-actions .btn{flex:1}.mission-progress{height:6px;background:#e8ebef;border-radius:20px;overflow:hidden;margin-top:9px}.mission-progress i{height:100%;display:block;background:#2b9c5a;width:0%;transition:width .3s linear}.secondary{border:1px solid #ccd4dc;background:#fff;color:#263441;border-radius:8px;padding:9px;font-weight:750}.wide{margin:10px}
.map-wrap{position:relative;min-width:0}.map-wrap,#map{width:100%;height:100%}.map-missing{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,#eff3f6,#cfd6dd);display:grid;place-items:center;text-align:center;padding:20px;z-index:5}.map-missing div{max-width:480px;background:#fff;border-radius:14px;padding:22px;box-shadow:var(--shadow);display:grid;gap:8px}.map-missing span{color:#687583;line-height:1.5}.map-actions{position:absolute;top:12px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:6}.action{border:0;color:white;border-radius:9px;padding:10px 12px;font-size:12px;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.22);white-space:nowrap}.action span{opacity:.78;margin-left:5px}.action.red{background:#bd3131}.action.blue{background:#274f72}.action:disabled{opacity:.45;filter:grayscale(.5);cursor:not-allowed}.placement-hint{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);background:#172636;color:white;border-radius:9px;padding:10px 13px;box-shadow:var(--shadow);z-index:7;font-size:12px}.placement-hint button{margin-left:8px;border:0;border-radius:6px;padding:5px 8px}.toast{position:absolute;right:16px;bottom:20px;background:#172636;color:#fff;padding:11px 14px;border-radius:9px;box-shadow:var(--shadow);z-index:40;font-size:12px;max-width:360px}.toast.error-toast{background:#9c2929}
.btn{border:0;border-radius:7px;padding:8px 10px;font-size:11px;font-weight:800}.btn.small{padding:6px 8px;font-size:10px}.btn.large{padding:11px 16px;font-size:12px}.btn.ghost{background:#eef2f6;color:#314253}.btn.ghost:hover{background:#e3e9ef}.btn.primary-small{background:#263f59;color:#fff}.btn.primary-small:hover{background:#1d3349}.btn.primary-small:disabled{opacity:.45;cursor:not-allowed}.btn.danger-outline{background:#fff2f2;color:#a82b2b;border:1px solid #efc5c5}.btn.danger-outline:hover{background:#ffe6e6}
.marker-pin{width:42px;height:42px;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);display:grid;place-items:center;border:3px solid white;box-shadow:0 3px 10px rgba(0,0,0,.3)}.marker-pin span{transform:rotate(45deg);font-size:20px}.marker-station{background:#c52f2f}.marker-mission{background:#ef9b23}.marker-vehicle{background:#286695;width:36px;height:36px}.marker-vehicle span{font-size:17px}.marker-vehicle.marker-flashing{animation:markerBlink .65s infinite ease-in-out}@keyframes markerBlink{0%,100%{background:#176dcc;box-shadow:0 0 0 0 rgba(23,109,204,.1),0 3px 10px rgba(0,0,0,.35)}50%{background:#d92525;box-shadow:0 0 0 7px rgba(217,37,37,.2),0 0 18px 8px rgba(23,109,204,.38),0 3px 10px rgba(0,0,0,.35)}}
.modal{position:fixed;inset:0;background:rgba(8,16,26,.56);display:grid;place-items:center;padding:20px;z-index:30;backdrop-filter:blur(2px)}.modal-card{width:min(650px,100%);max-height:min(84vh,820px);display:flex;flex-direction:column;background:#fff;border-radius:17px;box-shadow:0 26px 90px rgba(0,0,0,.38);overflow:hidden}.modal-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fafbfd)}.modal-heading-icon{width:42px;height:42px;border-radius:11px;background:#e9eef3;display:grid;place-items:center;font-size:21px}.modal-heading-icon.warning{background:#fff0df}.modal-heading-icon.admin{background:#e9eef5}.modal-heading-text{display:grid;flex:1}.modal-heading-text strong{font-size:17px}.modal-heading-text small{color:#77838e;margin-top:3px}.icon-btn.dark{background:#f1f4f7;color:#263441;border:1px solid #d4dbe3;margin-left:0}.modal-scroll{overflow:auto}.modal-footer{padding:12px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;background:#fafbfd}
.station-modal-card{width:min(720px,100%)}.station-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 18px;background:#f6f8fa;border-bottom:1px solid var(--line)}.station-summary div{background:#fff;border:1px solid #e0e5ea;border-radius:10px;padding:11px}.station-summary span{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.06em;color:#89939d}.station-summary strong{font-size:18px;margin-top:3px;display:block}.modal-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px 8px}.modal-section-title>div{display:grid}.modal-section-title strong{font-size:14px}.modal-section-title span{font-size:10px;color:#77838e;margin-top:2px}.station-vehicle-card{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;margin:10px 18px;padding:13px;border:1px solid #dfe4e9;border-radius:11px;background:#fff;box-shadow:0 2px 8px rgba(20,31,44,.05)}.station-vehicle-icon{width:44px;height:44px;border-radius:10px;background:#edf3f8;display:grid;place-items:center;font-size:23px}.station-vehicle-main{min-width:0}.station-vehicle-title{display:flex;align-items:center;gap:8px}.station-vehicle-title strong{font-size:13px}.status-chip{font-size:9px;border-radius:12px;padding:4px 6px;background:#edf0f3;color:#53616d}.status-chip.status-2{background:#e7f7ed;color:#23784a}.status-chip.status-4{background:#e7f0fc;color:#2e68a5}.status-chip.status-6{background:#fbe9e9;color:#a33333}.status-chip.status-1{background:#f0f1f3;color:#5d6670}.station-vehicle-type,.station-vehicle-mission,.availability-note{font-size:10px;color:#74808b;margin-top:4px}.station-vehicle-mission{color:#4e5e6e}.availability-note{color:#23784a;font-weight:700}.station-vehicle-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.mission-modal-card{width:min(760px,100%)}.mission-description{margin:0 0 14px;color:#52606c;line-height:1.55;font-size:13px}.mission-detail-body{padding:18px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.detail-grid>div{border:1px solid #e0e5ea;background:#f9fafb;border-radius:9px;padding:10px}.detail-grid span{display:block;font-size:9px;color:#83909b;text-transform:uppercase;letter-spacing:.04em}.detail-grid strong{display:block;font-size:12px;margin-top:4px}.detail-section{margin-top:18px}.detail-section-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:7px}.detail-section-head strong{font-size:13px}.detail-section-head span{font-size:10px;color:#7b8691}.detail-vehicle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e0e5ea;border-radius:9px;padding:10px;margin-bottom:6px;background:#fff}.detail-vehicle-row>div{display:grid}.detail-vehicle-row strong{font-size:12px}.detail-vehicle-row span{font-size:10px;color:#76828d;margin-top:3px}.available-row{background:#f8fbfe}.detail-empty{font-size:11px;color:#7e8994;border:1px dashed #d3d9df;border-radius:9px;padding:12px;text-align:center;background:#fafbfc}
.admin-modal-card{width:min(760px,100%)}.admin-form{padding:18px}.config-group{border:1px solid #dfe5ea;border-radius:12px;padding:14px;margin-bottom:12px;background:#fbfcfd}.config-group>div:first-child{margin-bottom:12px}.config-group strong{font-size:13px}.config-group span{font-size:10px;color:#7b8792;display:block;margin-top:3px}.config-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.config-grid label{display:grid;gap:5px;font-size:10px;font-weight:750;color:#586570}.config-grid input{border:1px solid #cfd7df;border-radius:8px;padding:9px 10px;background:#fff;min-width:0}.config-grid input[type=color]{height:38px;padding:3px}.admin-save{display:flex;justify-content:flex-end;padding-top:3px}
@media(max-width:1000px){.workspace{grid-template-columns:250px 1fr}.brand{min-width:auto}.resources>div{min-width:90px;padding:0 12px}.detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.game{grid-template-rows:56px 1fr}.topbar{padding:0 8px}.brand strong{font-size:13px}.brand small{font-size:9px}.badge{padding:6px 7px}.resources>div{min-width:66px;padding:0 7px}.resources span{font-size:8px}.resources strong{font-size:12px}.desktop-only{display:none!important}.workspace{display:block;position:relative}.map-wrap{position:absolute;inset:0}.left-panel{position:absolute;z-index:12;left:8px;top:66px;width:min(310px,calc(100% - 16px));height:46%;border:1px solid #ccd4dc;border-radius:11px;box-shadow:var(--shadow);overflow:hidden;transform:translateY(calc(-100% - 78px));transition:.22s}.left-panel.open{transform:translateY(0)}.map-actions{top:10px;left:8px;right:8px;transform:none;justify-content:center;flex-wrap:wrap}.action{padding:9px 10px}.placement-hint{bottom:18px;width:calc(100% - 28px);text-align:center}.topbar:after{content:"Einsätze";position:absolute;left:50%;transform:translateX(-50%);bottom:-43px;background:#fff;color:#263441;border:1px solid #cfd6dd;border-radius:0 0 9px 9px;padding:8px 16px;font-weight:800;font-size:11px;box-shadow:0 4px 12px rgba(0,0,0,.12);cursor:pointer}.toast{left:14px;right:14px;bottom:14px;max-width:none}.modal{padding:8px}.modal-card{max-height:92vh}.station-summary{grid-template-columns:repeat(3,1fr);padding:10px}.modal-section-title{align-items:flex-start;flex-direction:column}.station-vehicle-card{grid-template-columns:42px 1fr;margin:8px 10px}.station-vehicle-actions{grid-column:1/-1;justify-content:flex-start}.detail-grid,.config-grid{grid-template-columns:1fr 1fr}.mission-detail-body{padding:13px}.modal-head{padding:12px}.mission-state{display:none}.resources{margin-left:auto}.icon-btn{width:36px;height:36px;margin-left:5px}}

/* v0.5 additions */
.detail-toolbar{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}
.station-buy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;padding:0 18px 8px}
.buy-tile{border:1px solid #dbe2e8;background:#fff;border-radius:11px;padding:12px;display:grid;justify-items:center;gap:7px;box-shadow:0 2px 8px rgba(20,31,44,.05)}
.buy-tile.disabled{opacity:.5;cursor:not-allowed}.buy-tile-icon{width:42px;height:42px;border-radius:10px;background:#edf3f8;display:grid;place-items:center;font-size:22px;overflow:hidden}.buy-tile-icon img{width:100%;height:100%;object-fit:cover}.buy-tile-title{font-weight:800;font-size:12px;color:#233241;text-align:center}.buy-tile-price{font-size:11px;color:#6c7782}
.admin-tabs{display:flex;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line);background:#f8fafc;flex-wrap:wrap}.admin-tabs button{border:1px solid #d7dfe7;background:#fff;border-radius:9px;padding:9px 12px;font-weight:800;color:#334255}.admin-tabs button.active{background:#223a53;color:#fff;border-color:#223a53}.admin-scroll{padding:18px}.admin-panel.active{display:block}.admin-two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}.stack-form{display:grid;gap:10px}.stack-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#56626f}.stack-form input,.stack-form textarea,.stack-form select{width:100%;border:1px solid #cfd7df;border-radius:8px;padding:10px;background:#fff;font:inherit}.stack-form textarea{resize:vertical;min-height:84px}.stack-form.compact{max-width:460px}.form-row{display:flex;gap:8px;flex-wrap:wrap}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.subhead-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.requirements-rows{display:grid;gap:8px}.requirement-row{display:grid;grid-template-columns:1fr 90px auto;gap:8px;align-items:center}.image-preview{border:1px dashed #cfd7df;border-radius:10px;padding:10px;display:grid;place-items:center;background:#fafbfd}.image-preview img{max-width:100%;max-height:96px;border-radius:8px;display:block}.admin-list{display:grid;gap:8px}.admin-list-item{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #dee5eb;border-radius:11px;padding:10px;background:#fff}.admin-list-main{display:flex;gap:10px;align-items:center;min-width:0}.admin-item-icon{width:42px;height:42px;border-radius:10px;background:#eef3f8;display:grid;place-items:center;font-size:20px;overflow:hidden;flex:none}.admin-item-icon img{width:100%;height:100%;object-fit:cover}.admin-list-main strong{display:block;font-size:13px}.admin-list-main span{display:block;font-size:10px;color:#78838e;margin-top:3px}.admin-list-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.inline-icon{width:14px;height:14px;object-fit:cover;border-radius:3px;vertical-align:-2px;margin-right:4px}
.marker-pin img{width:70%;height:70%;object-fit:cover;border-radius:50%;transform:rotate(45deg)}.modal-heading-icon img,.station-vehicle-icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.mission-icon img{width:22px;height:22px;object-fit:cover;border-radius:6px}
@media(max-width:980px){.admin-two-col{grid-template-columns:1fr}.station-buy-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.station-buy-grid,.mini-grid,.requirement-row{grid-template-columns:1fr}.requirement-row .btn{width:100%}.detail-toolbar{justify-content:stretch}.detail-toolbar .btn{flex:1}.admin-tabs{padding:10px}.admin-list-item{flex-direction:column;align-items:stretch}.admin-list-actions{justify-content:flex-start}.admin-scroll{padding:12px}}

/* v0.6 */
.marker-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;transform:translateY(-5px)}
.marker-label{background:rgba(24,36,49,.92);color:#fff;border:1px solid rgba(255,255,255,.65);border-radius:5px;padding:3px 6px;font-size:10px;font-weight:850;line-height:1;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.marker-poi{background:#566170;width:30px;height:30px}.marker-poi span{font-size:14px}
.map-options{position:absolute;right:14px;bottom:16px;z-index:8;display:grid;justify-items:end;gap:7px}.map-options-toggle{border:1px solid #cad3dc;background:#fff;color:#263441;border-radius:9px;padding:9px 11px;font-size:11px;font-weight:850;box-shadow:0 5px 18px rgba(0,0,0,.16)}.map-options-panel{min-width:205px;background:#fff;border:1px solid #d5dde5;border-radius:10px;padding:10px;box-shadow:0 8px 30px rgba(0,0,0,.18);display:grid;gap:8px}.map-options-panel label,.settings-list label{display:flex;align-items:center;gap:8px;font-size:11px;color:#42505d;font-weight:700}.map-options-panel input,.settings-list input{accent-color:#c93232}
.small-modal-card{width:min(500px,100%)}.vehicle-detail-body{padding:16px}.vehicle-rename-form{margin-top:16px}.detail-grid.two{grid-template-columns:repeat(2,1fr)}
.requirement-detail-row{display:flex;align-items:center;gap:10px;border:1px solid #dfe5ea;background:#fafbfd;border-radius:8px;padding:9px 10px;margin-bottom:6px}.requirement-detail-row strong{min-width:34px}.requirement-detail-row span{font-size:11px;color:#52606d}.requirement-detail-row b{font-size:9px;color:#9b4c20;background:#fff0e5;padding:2px 4px;border-radius:4px}
.incident-log-row{display:grid;grid-template-columns:68px 1fr;gap:10px;padding:8px 9px;border-left:3px solid #e0a128;background:#fffaf0;border-radius:0 7px 7px 0;margin-bottom:6px}.incident-log-row time{font-size:10px;color:#8a6a2f;font-weight:800}.incident-log-row span{font-size:11px;color:#4f5963}
.menu-modal-card{width:min(720px,100%)}.achievement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.achievement-card{border:1px solid #dfe5eb;background:#f7f9fb;border-radius:11px;padding:14px;display:grid;gap:5px;opacity:.72}.achievement-card.done{background:#eef9f2;border-color:#c7e6d1;opacity:1}.achievement-card strong{font-size:13px}.achievement-card span{font-size:10px;color:#76818c}.settings-list{display:grid;gap:12px;margin-top:12px}
.check-label{display:flex!important;align-items:center;gap:8px!important}.check-label input{width:auto!important}
.config-subgroup{border-top:1px solid #e1e6eb;padding-top:12px;margin-top:4px;display:grid;gap:10px}.config-subgroup>strong{font-size:12px}
.requirement-row.variant-row{grid-template-columns:90px 1fr auto;align-items:end}.requirement-row.variant-row>div{display:grid;gap:4px}.requirement-row small{font-size:9px;color:#7a8691;font-weight:800}.variant-select select{min-height:82px}
.api-note{font-size:10px;color:#687684;line-height:1.5;margin:12px 0 0}
.modal-heading-icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
@media(max-width:720px){.map-options{bottom:66px;right:8px}.map-options-panel{min-width:190px}.achievement-grid{grid-template-columns:1fr}.detail-grid.two{grid-template-columns:1fr}.requirement-row.variant-row{grid-template-columns:1fr}.incident-log-row{grid-template-columns:55px 1fr}}

/* v0.7 */
.operations-wrap{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:9}.operations-main{min-width:190px}.operations-panel{position:absolute;top:46px;left:50%;transform:translateX(-50%);width:230px;background:#fff;border:1px solid #d7dee6;border-radius:11px;padding:7px;box-shadow:0 14px 38px rgba(18,31,45,.24);display:grid;gap:6px}.operations-item{border:0;border-radius:8px;background:#f4f7fa;color:#263a4e;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font-weight:800}.operations-item:hover{background:#e9eff5}.operations-item:disabled{opacity:.42;cursor:not-allowed}.operations-item span{font-size:10px;color:#7c8792}
.marker-mission.status-red{background:#cf2f2f!important}.marker-mission.status-yellow{background:#e3a21a!important}.marker-mission.status-green{background:#249451!important}.marker-mission.status-red,.marker-mission.status-yellow,.marker-mission.status-green{transition:background .25s ease,box-shadow .25s ease}.marker-mission.status-green{box-shadow:0 0 0 5px rgba(36,148,81,.16),0 3px 10px rgba(0,0,0,.3)}
.mission.status-red{background:#fff3f3;border-color:#edbbbb;border-left-color:#c92f2f}.mission.status-yellow{background:#fff9e9;border-color:#ead9a2;border-left-color:#d6a017}.mission.status-green{background:#eefaf2;border-color:#b8dec6;border-left-color:#299557}.mission.status-red:hover{background:#ffeaea}.mission.status-yellow:hover{background:#fff5d6}.mission.status-green:hover{background:#e5f6eb}
.vehicle-rename-form small{font-size:10px;color:#7a8792;font-weight:500;line-height:1.35}.marker-wrap-vehicle .marker-label{white-space:nowrap}
@media(max-width:720px){.operations-wrap{top:8px}.operations-main{min-width:165px}.operations-panel{width:210px;top:43px}}

/* ===== v0.8 Leitstellen-/Dispositions-UI ===== */
.mission-open-hint{margin-top:8px;padding-top:7px;border-top:1px solid rgba(0,0,0,.08);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#6a7480}
.dispatch-modal-card{width:min(1180px,96vw);height:min(88vh,900px);background:#4c4c4c;color:#fff;border-radius:7px;border:1px solid #292929;box-shadow:0 28px 90px rgba(0,0,0,.52);overflow:hidden;display:grid;grid-template-rows:auto 8px 1fr auto}
.dispatch-head{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(180deg,#454545,#383838);border-bottom:1px solid #222}.dispatch-title-row{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.dispatch-title-row>div:nth-child(2){display:grid;min-width:0}.dispatch-title-row strong{font-size:20px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dispatch-title-row small{font-size:11px;color:#ddd;margin-top:3px}.dispatch-icon{width:40px;height:40px;border-radius:6px;background:#b92024;display:grid;place-items:center;overflow:hidden;flex:none;font-size:22px}.dispatch-icon img{width:100%;height:100%;object-fit:cover}.dispatch-close{border:0;background:transparent;color:#ddd;font-size:23px;font-weight:900}.dispatch-progress{background:#6a1113;padding:2px 10px}.dispatch-progress i{display:block;height:4px;border-radius:5px;background:linear-gradient(90deg,#e93239,#ff5b6a);width:0%;transition:width .3s linear}.dispatch-scroll{padding:14px;overflow:auto;background:#505050}.dispatch-description{padding:10px 12px;background:#3e3e3e;border-left:4px solid #c7262d;border-radius:3px;color:#f5f5f5;line-height:1.5;font-size:12px}.dispatch-summary-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:10px}.dispatch-summary-grid>div{background:#3c3c3c;border:1px solid #666;padding:8px 10px;border-radius:3px}.dispatch-summary-grid span{display:block;font-size:8px;color:#c6c6c6;text-transform:uppercase;letter-spacing:.06em}.dispatch-summary-grid strong{display:block;font-size:12px;margin-top:3px;color:#fff}.dispatch-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:14px 0 7px;color:#fff}.dispatch-section-title strong{font-size:14px}.dispatch-section-title span{font-size:10px;color:#d0d0d0}.requirement-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px}.requirement-chip{border:2px solid;border-radius:3px;padding:7px 8px;display:grid;grid-template-columns:18px 26px 1fr;align-items:center;background:#3b3b3b;font-size:11px}.requirement-chip.ok{border-color:#31b65a}.requirement-chip.missing{border-color:#e03336}.requirement-chip>span{font-weight:900}.requirement-chip.ok>span{color:#4be175}.requirement-chip.missing>span{color:#ff5a5d}.requirement-chip b{font-size:11px}.requirement-chip em{font-style:normal;font-weight:800;color:#fff}.requirement-chip small{grid-column:3;font-size:8px;color:#cfcfcf;margin-top:2px}.dispatch-assigned-row{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#3b3b3b;border:1px solid #666;padding:8px 10px;margin-bottom:4px}.dispatch-assigned-row>div:first-child{display:grid}.dispatch-assigned-row strong{font-size:11px}.dispatch-assigned-row span{font-size:9px;color:#d3d3d3;margin-top:2px}.dispatch-small-btn{border:1px solid #999;background:#292929;color:#fff;border-radius:3px;padding:6px 9px;font-size:10px;font-weight:800}.dispatch-small-btn:hover{background:#1f1f1f}.dispatch-small-btn.danger{background:#a62529;border-color:#d14b4e}.dispatch-empty{padding:11px;border:1px dashed #888;background:#414141;color:#ddd;text-align:center;font-size:10px}.dispatch-controls{display:grid;grid-template-columns:1fr minmax(260px,.6fr);gap:12px;align-items:end;margin:14px 0}.dispatch-distance strong{font-size:12px}.distance-buttons{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}.distance-btn{border:1px solid #2d2d2d;background:#171717;color:#fff;padding:5px 8px;font-size:9px}.distance-btn.active{background:#43b94e;border-color:#43b94e}.dispatch-aao{display:flex;align-items:end;gap:6px}.dispatch-aao label{display:grid;gap:4px;flex:1;font-size:9px;color:#ddd}.dispatch-aao select{background:#262626;border:1px solid #777;color:#fff;padding:7px;border-radius:3px}.dispatch-category-tabs{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:5px}.dispatch-cat{background:#303030;border:1px solid #151515;color:#fff;padding:8px 14px;font-size:10px}.dispatch-cat.active{background:#c8272d}.dispatch-search-row{display:flex;gap:6px;margin-bottom:5px}.dispatch-search-row input{flex:1;background:#2d2d2d;border:1px solid #888;color:#fff;padding:8px 10px}.dispatch-table-wrap{max-height:310px;overflow:auto;border:1px solid #222}.dispatch-table{border-collapse:collapse;width:100%;font-size:10px;background:#424242}.dispatch-table thead{position:sticky;top:0;background:#242424;z-index:1}.dispatch-table th{text-align:left;padding:7px;color:#fff;border-bottom:1px solid #777}.dispatch-table td{padding:7px;border-bottom:1px solid #777;color:#fff}.dispatch-table tr.selected{background:#345b34}.dispatch-table tr:hover{background:#5a5a5a}.dispatch-status{display:inline-grid;place-items:center;min-width:23px;height:20px;border-radius:3px;font-weight:900;background:#6c6c6c}.dispatch-status.status-2{background:#62d86f;color:#0a3611}.dispatch-status.status-1{background:#f0c34e;color:#4b3b00}.dispatch-footer{display:flex;justify-content:flex-end;gap:5px;padding:8px 12px;background:#c92b30;border-top:1px solid #841b1e}.dispatch-footer-btn{border:0;border-radius:3px;padding:9px 14px;font-size:11px;font-weight:900}.dispatch-footer-btn.primary{background:#49bd55;color:#fff}.dispatch-footer-btn.secondary{background:#252525;color:#fff}.dispatch-footer-btn:disabled{opacity:.45;cursor:not-allowed}
.menu-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vehicle-detail-body .danger-outline{margin-left:auto}
.station-vehicle-icon img,.dispatch-icon img{display:block}.user-poi-marker{background:#7c3aed}

/* linke Einsatzliste etwas kompakter und operativer */
.left-panel{background:#e8e8e8}.panel-title{background:#3d3d3d;color:#fff;border-bottom-color:#222}.panel-title small{color:#ccc}.mission-list{background:#e7e7e7;padding:7px}.mission{border-radius:3px;box-shadow:none;border-color:#bcbcbc;padding:10px}.mission.status-red{background:#fff0f0}.mission.status-yellow{background:#fff9df}.mission.status-green{background:#e8f7eb}.mission:hover{transform:none;box-shadow:0 0 0 2px rgba(36,62,88,.16)}

@media(max-width:980px){.dispatch-summary-grid{grid-template-columns:repeat(3,1fr)}.dispatch-controls{grid-template-columns:1fr}.menu-two-col{grid-template-columns:1fr}.dispatch-table th:nth-child(6),.dispatch-table td:nth-child(6){display:none}}
@media(max-width:720px){.dispatch-modal-card{width:100%;height:96vh}.dispatch-summary-grid{grid-template-columns:repeat(2,1fr)}.dispatch-title-row strong{font-size:15px}.dispatch-category-tabs{overflow:auto;flex-wrap:nowrap}.dispatch-cat{white-space:nowrap}.dispatch-table th:nth-child(4),.dispatch-table td:nth-child(4),.dispatch-table th:nth-child(6),.dispatch-table td:nth-child(6){display:none}.dispatch-footer{justify-content:stretch}.dispatch-footer-btn{flex:1;padding:8px 6px;font-size:9px}}


/* ===== v0.8.1 eigenes Einsatzdesign + Theme-System ===== */
body[data-theme="light"]{--ui-bg:#edf3f8;--ui-panel:#ffffff;--ui-panel-soft:#f5f8fc;--ui-panel-alt:#e9eef5;--ui-border:#d7e0ea;--ui-text:#152232;--ui-text-soft:#5e6c7d;--ui-accent:#1f5f95;--ui-accent-2:#2888d8;--ui-danger:#d84f57;--ui-success:#2b8c61;--ui-warning:#efb545;--ui-shadow:0 18px 45px rgba(15,31,48,.16);}
body[data-theme="dark"]{--ui-bg:#101826;--ui-panel:#182233;--ui-panel-soft:#1e2a3d;--ui-panel-alt:#131d2d;--ui-border:#2c3a50;--ui-text:#eef4fb;--ui-text-soft:#9fb0c6;--ui-accent:#4da3ff;--ui-accent-2:#7bc4ff;--ui-danger:#f45b68;--ui-success:#49c986;--ui-warning:#f3c765;--ui-shadow:0 18px 50px rgba(0,0,0,.45);} 
body{background:var(--ui-bg);color:var(--ui-text);transition:background .2s ease,color .2s ease}
body[data-theme="dark"] .topbar{background:#0f1a2b;border-bottom:1px solid rgba(255,255,255,.06)}
body[data-theme="light"] .topbar{background:linear-gradient(90deg,#17314b,#203d60)}
body[data-theme="light"] .sidebar, body[data-theme="light"] .mission-list{background:var(--ui-panel-soft)}
body[data-theme="light"] .panel-title{background:var(--ui-panel);color:var(--ui-text);border-bottom:1px solid var(--ui-border)}
body[data-theme="light"] .panel-title small{color:var(--ui-text-soft)}
body[data-theme="dark"] .sidebar, body[data-theme="dark"] .mission-list{background:var(--ui-panel-alt)}
body[data-theme="dark"] .panel-title{background:#111c2d;color:var(--ui-text);border-bottom:1px solid var(--ui-border)}
body[data-theme="dark"] .panel-title small{color:var(--ui-text-soft)}
body[data-theme="dark"] .mission{background:var(--ui-panel);border-color:var(--ui-border);color:var(--ui-text)}
body[data-theme="light"] .mission{background:var(--ui-panel);border-color:var(--ui-border)}
.mission{border-radius:16px;padding:14px;box-shadow:0 10px 24px rgba(16,34,50,.06);transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease}
.mission:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(16,34,50,.12)}
.mission.status-red{border-left-color:var(--ui-danger)!important}
.mission.status-yellow{border-left-color:var(--ui-warning)!important}
.mission.status-green{border-left-color:var(--ui-success)!important}
body[data-theme="dark"] .mission.status-red{background:linear-gradient(180deg,#22181d,#1b1d2b)}
body[data-theme="dark"] .mission.status-yellow{background:linear-gradient(180deg,#272118,#1b1d2b)}
body[data-theme="dark"] .mission.status-green{background:linear-gradient(180deg,#18251d,#1b1d2b)}
body[data-theme="light"] .mission.status-red{background:linear-gradient(180deg,#fff9fa,#ffffff)}
body[data-theme="light"] .mission.status-yellow{background:linear-gradient(180deg,#fffcf2,#ffffff)}
body[data-theme="light"] .mission.status-green{background:linear-gradient(180deg,#f6fffb,#ffffff)}
.mission-actions-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid rgba(118,132,148,.18)}
.mission-open-hint{margin:0;padding:0;border:0;font-size:10px;text-transform:none;letter-spacing:0;color:var(--ui-text-soft)}
.mission-alarm-btn{border:0;border-radius:10px;padding:8px 12px;font-size:11px;font-weight:800;background:linear-gradient(135deg,var(--ui-accent),var(--ui-accent-2));color:#fff;box-shadow:0 6px 16px rgba(40,136,216,.22)}
.mission-alarm-btn:hover{filter:brightness(1.03)}

.dispatch-modal-card{width:min(1180px,96vw);height:min(88vh,900px);background:var(--ui-panel);color:var(--ui-text);border-radius:24px;border:1px solid var(--ui-border);box-shadow:var(--ui-shadow);overflow:hidden;display:grid;grid-template-rows:auto 6px 1fr auto}
.dispatch-head{background:linear-gradient(135deg,var(--ui-accent),#17314b);border-bottom:0;padding:18px 20px}
.dispatch-title-row strong{font-size:22px;text-transform:none;letter-spacing:-.02em;color:#fff}
.dispatch-title-row small{color:rgba(255,255,255,.8);font-size:12px}
.dispatch-icon{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.18);backdrop-filter:blur(2px)}
.dispatch-close{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.14);color:#fff}
.dispatch-progress{background:rgba(24,61,96,.14);padding:0 20px}
.dispatch-progress i{height:6px;background:linear-gradient(90deg,#ff8a5c,#ffd166)}
.dispatch-scroll{background:var(--ui-panel);padding:18px}
.dispatch-summary-grid>div,.dispatch-assigned-row,.dispatch-empty,.dispatch-table,.dispatch-table thead,.dispatch-table-wrap,.dispatch-description{background:var(--ui-panel-soft);color:var(--ui-text);border-color:var(--ui-border)}
.dispatch-summary-grid>div{border:1px solid var(--ui-border);border-radius:16px;padding:12px 14px}
.dispatch-summary-grid span,.dispatch-section-title span,.requirement-chip small,.dispatch-assigned-row span{color:var(--ui-text-soft)}
.dispatch-summary-grid strong,.dispatch-section-title strong,.requirement-chip em,.dispatch-assigned-row strong,.dispatch-table th,.dispatch-table td{color:var(--ui-text)}
.dispatch-description{border:1px solid var(--ui-border);border-left:4px solid var(--ui-accent-2);border-radius:16px;line-height:1.55}
.dispatch-section-title{margin:18px 0 10px}
.requirement-chip{background:var(--ui-panel-soft);border-radius:14px;padding:10px 12px;border-width:1px}
.requirement-chip.ok{border-color:rgba(43,140,97,.45);box-shadow:inset 0 0 0 1px rgba(43,140,97,.12)}
.requirement-chip.missing{border-color:rgba(216,79,87,.48);box-shadow:inset 0 0 0 1px rgba(216,79,87,.12)}
.dispatch-assigned-row{border:1px solid var(--ui-border);border-radius:14px;padding:10px 12px;margin-bottom:6px}
.dispatch-small-btn{border:1px solid var(--ui-border);background:var(--ui-panel);color:var(--ui-text);border-radius:10px;padding:7px 10px}
.dispatch-small-btn:hover{background:var(--ui-panel-alt)}
.dispatch-small-btn.danger{background:#fff2f2;color:#a62a32;border-color:#f1c1c5}
body[data-theme="dark"] .dispatch-small-btn.danger{background:#3d2026;color:#ffb7bf;border-color:#6a3540}
.dispatch-empty{border:1px dashed var(--ui-border);border-radius:14px;padding:14px}
.dispatch-controls{gap:16px}
.distance-btn{border:1px solid var(--ui-border);background:var(--ui-panel);color:var(--ui-text);padding:7px 10px;border-radius:10px}
.distance-btn.active{background:linear-gradient(135deg,var(--ui-accent),var(--ui-accent-2));border-color:transparent;color:#fff}
.dispatch-aao label{color:var(--ui-text-soft)}
.dispatch-aao select,.dispatch-search-row input{background:var(--ui-panel);border:1px solid var(--ui-border);color:var(--ui-text);padding:10px 12px;border-radius:12px}
.dispatch-cat{background:var(--ui-panel);border:1px solid var(--ui-border);color:var(--ui-text);padding:9px 14px;border-radius:11px}
.dispatch-cat.active{background:linear-gradient(135deg,var(--ui-accent),var(--ui-accent-2));color:#fff;border-color:transparent}
.dispatch-table-wrap{border-radius:16px;overflow:auto;border:1px solid var(--ui-border);background:var(--ui-panel-soft)}
.dispatch-table{background:transparent}
.dispatch-table thead{background:var(--ui-panel-alt)}
.dispatch-table th{padding:11px 10px;border-bottom:1px solid var(--ui-border)}
.dispatch-table td{padding:11px 10px;border-bottom:1px solid var(--ui-border)}
.dispatch-table tr.selected{background:rgba(40,136,216,.12)}
.dispatch-table tr:hover{background:rgba(40,136,216,.08)}
.dispatch-status{border-radius:8px}
.dispatch-status.status-2{background:rgba(43,140,97,.18);color:var(--ui-success)}
.dispatch-status.status-1{background:rgba(239,181,69,.24);color:#8f6110}
.dispatch-footer{background:var(--ui-panel);border-top:1px solid var(--ui-border);padding:14px 18px}
.dispatch-footer-btn{border-radius:12px;padding:11px 16px}
.dispatch-footer-btn.primary{background:linear-gradient(135deg,var(--ui-success),#4fbf8b);color:#fff}
.dispatch-footer-btn.secondary{background:var(--ui-panel-soft);color:var(--ui-text);border:1px solid var(--ui-border)}

.settings-list select{margin-top:6px;width:100%;border:1px solid var(--ui-border);background:var(--ui-panel);color:var(--ui-text);border-radius:10px;padding:10px 12px}
body[data-theme="dark"] .auth-card{background:#162133;color:#eef4fb}
body[data-theme="dark"] .auth-card p, body[data-theme="dark"] .auth-note, body[data-theme="dark"] .auth-card label{color:#b8c6d8}
body[data-theme="dark"] .auth-card input{background:#1c2a3d;border-color:#324760;color:#eef4fb}
body[data-theme="dark"] .auth-tabs{background:#1b293a}
body[data-theme="dark"] .auth-tabs button.active{background:#24364c;color:#fff}
body[data-theme="dark"] .modal-card, body[data-theme="dark"] .station-summary, body[data-theme="dark"] .station-summary div, body[data-theme="dark"] .modal-head, body[data-theme="dark"] .config-group, body[data-theme="dark"] .admin-tabs, body[data-theme="dark"] .admin-form, body[data-theme="dark"] .admin-list-item, body[data-theme="dark"] .menu-tabs button{background-color:var(--ui-panel);color:var(--ui-text);border-color:var(--ui-border)}
body[data-theme="dark"] .modal-head, body[data-theme="dark"] .modal-footer{background:var(--ui-panel-soft)}
body[data-theme="dark"] .icon-btn.dark, body[data-theme="dark"] .btn.ghost{background:var(--ui-panel-soft);color:var(--ui-text);border-color:var(--ui-border)}
body[data-theme="dark"] .config-group input, body[data-theme="dark"] .config-group textarea, body[data-theme="dark"] .config-group select{background:var(--ui-panel-soft);color:var(--ui-text);border-color:var(--ui-border)}
body[data-theme="dark"] .map-options-panel, body[data-theme="dark"] .operations-panel, body[data-theme="dark"] .menu-modal-card{background:var(--ui-panel);color:var(--ui-text);border-color:var(--ui-border)}
body[data-theme="dark"] .operations-item, body[data-theme="dark"] .map-options-toggle{background:var(--ui-panel-soft);color:var(--ui-text)}
@media(max-width:720px){.mission-actions-row{flex-direction:column;align-items:flex-start}.mission-alarm-btn{width:100%}}

/* ===== v0.9.0 Leitstelle Rescue / OpenStreetMap ===== */
.auth-game-logo{width:128px;height:128px;object-fit:contain;display:block;margin:0 auto 14px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.22))}
.topbar-logo{width:42px;height:42px;object-fit:cover;border-radius:10px;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.auth-link-btn{border:0;background:transparent;color:#4b6f95;font-weight:700;font-size:12px;margin:10px auto 0;display:block;text-decoration:underline}
.auth-note a{color:inherit;font-weight:800}
.email-verify-banner{position:fixed;top:64px;left:50%;transform:translateX(-50%);z-index:25;background:#fff7d8;color:#594400;border:1px solid #efd06a;padding:8px 12px;border-radius:0 0 12px 12px;box-shadow:0 5px 18px rgba(0,0,0,.14);font-size:12px}.email-verify-banner button{border:0;background:#5c4810;color:#fff;border-radius:7px;padding:6px 9px;margin-left:8px;font-weight:800}
.legal-menu-wrap{position:relative}.legal-menu-panel{position:absolute;right:0;top:50px;width:180px;background:var(--ui-panel,#fff);border:1px solid var(--ui-border,#d7e0ea);border-radius:12px;box-shadow:var(--ui-shadow);padding:7px;display:grid;z-index:80}.legal-menu-panel a{padding:10px 12px;border-radius:8px;color:var(--ui-text,#152232);text-decoration:none;font-size:12px;font-weight:800}.legal-menu-panel a:hover{background:var(--ui-panel-soft,#f5f8fc)}
.workspace{display:block!important;position:relative!important}.map-wrap{position:absolute!important;inset:0!important}.mission-window{position:absolute!important;left:12px;top:78px;width:320px;height:min(72vh,720px);min-width:270px;min-height:220px;max-width:min(720px,90vw);max-height:calc(100vh - 90px);resize:both;overflow:hidden;z-index:18!important;border:1px solid var(--ui-border,#d7e0ea)!important;border-radius:15px;box-shadow:0 18px 48px rgba(15,31,48,.23);background:var(--ui-panel,#fff)!important}.mission-window.collapsed{height:64px!important;min-height:64px;resize:none}.mission-window.collapsed .mission-list,.mission-window.collapsed #generateMissionBtn{display:none}.mission-window-handle{cursor:move;user-select:none;border-radius:14px 14px 0 0}.mission-window-actions{margin-left:auto;display:flex;gap:5px}.mission-window-actions button{border:0;width:28px;height:28px;border-radius:7px;background:var(--ui-panel-soft,#edf2f7);color:var(--ui-text,#152232);font-weight:900}.mission-window .mission-list{height:calc(100% - 116px);overflow:auto;flex:none}.mission-window #generateMissionBtn{position:absolute;bottom:7px;left:7px;right:7px;width:calc(100% - 14px);margin:0}.mission-window.collapsed .panel-title{border-bottom:0}
.lr-leaflet-divicon{background:transparent!important;border:0!important}.leaflet-container{font:inherit;background:#dce6dc}.leaflet-control-layers,.leaflet-bar,.leaflet-control-scale-line{border-color:rgba(20,40,55,.28)!important;box-shadow:0 5px 16px rgba(0,0,0,.14)}.leaflet-control-layers{border-radius:10px!important;overflow:hidden}.leaflet-control-attribution{font-size:10px!important;background:rgba(255,255,255,.82)!important}.marker-wrap{pointer-events:auto}.marker-label{pointer-events:none}
body[data-theme="dark"] .leaflet-control-layers,body[data-theme="dark"] .leaflet-bar a{background:#182538;color:#edf4ff;border-color:#2d405a}body[data-theme="dark"] .leaflet-control-layers label{color:#edf4ff}body[data-theme="dark"] .leaflet-control-attribution{background:rgba(14,24,38,.84)!important;color:#c4d0de}body[data-theme="dark"] .leaflet-control-attribution a{color:#8fc7ff}
body[data-theme="dark"] .email-verify-banner{background:#3d3213;color:#ffe9a4;border-color:#66531c}body[data-theme="dark"] .email-verify-banner button{background:#e7c75d;color:#241d06}
body[data-theme="dark"] .mission-window{background:#142033!important;border-color:#2b3a50!important}body[data-theme="dark"] .mission-window .panel-title{background:#17253a!important;color:#eef5ff!important}body[data-theme="dark"] .mission-window .mission-list{background:#101a2a!important}
body[data-theme="dark"] .empty,body[data-theme="dark"] .buy-tile,body[data-theme="dark"] .station-vehicle-card,body[data-theme="dark"] .detail-vehicle-row,body[data-theme="dark"] .achievement-card,body[data-theme="dark"] .personal-poi-card,body[data-theme="dark"] .aao-card{background:#1a2739!important;color:#eef5ff!important;border-color:#31435b!important}body[data-theme="dark"] .buy-tile-icon,body[data-theme="dark"] .station-vehicle-icon,body[data-theme="dark"] .admin-item-icon,body[data-theme="dark"] .image-preview{background:#22324a!important;border-color:#31435b!important}body[data-theme="dark"] .station-vehicle-type,body[data-theme="dark"] .station-vehicle-mission,body[data-theme="dark"] .detail-empty,body[data-theme="dark"] .modal-section-title span,body[data-theme="dark"] .admin-list-main span{color:#9fb0c6!important}body[data-theme="dark"] .mission-facts span{background:#223149!important;color:#dce7f4!important}body[data-theme="dark"] .secondary,body[data-theme="dark"] .wide{background:#1b293b!important;color:#edf5ff!important;border-color:#31435b!important}body[data-theme="dark"] .menu-tabs,body[data-theme="dark"] .admin-tabs{background:#121d2d!important}body[data-theme="dark"] .menu-tabs button,body[data-theme="dark"] .admin-tabs button{background:#1c2a3d!important;color:#dce7f4!important;border-color:#31435b!important}body[data-theme="dark"] .menu-tabs button.active,body[data-theme="dark"] .admin-tabs button.active{background:#2b5f8e!important;color:#fff!important}body[data-theme="dark"] .settings-list label{color:#dbe7f5!important}body[data-theme="dark"] .modal-card{background:#152135!important}body[data-theme="dark"] .modal-head{background:#18263a!important;border-color:#31435b!important}body[data-theme="dark"] .modal-heading-text strong{color:#f4f8fc!important}body[data-theme="dark"] .modal-heading-text small{color:#9fb0c6!important}body[data-theme="dark"] .station-summary{background:#101b2b!important;border-color:#31435b!important}body[data-theme="dark"] .station-summary div{background:#19273a!important;border-color:#31435b!important}body[data-theme="dark"] .station-summary span{color:#8fa2b9!important}body[data-theme="dark"] .station-summary strong{color:#f3f7fb!important}
@media(max-width:720px){.mission-window{left:6px!important;top:70px!important;width:min(330px,92vw)!important;height:58vh}.email-verify-banner{width:94vw;text-align:center}.email-verify-banner button{display:block;margin:6px auto 0}}


/* =========================================================
   v0.9.1 – Leitstelle Rescue Brand UI + Layer/Fenster Hotfix
   ========================================================= */
:root{
  --lr-black:#070b10;
  --lr-ink:#0b1420;
  --lr-navy:#101d2c;
  --lr-navy-2:#16283c;
  --lr-navy-3:#203850;
  --lr-red:#d82f32;
  --lr-red-2:#a9151c;
  --lr-blue:#1688d8;
  --lr-blue-glow:#55c7ff;
  --lr-metal:#c9d1d9;
  --lr-silver:#e8edf2;
  --lr-green:#35a56f;
  --lr-amber:#e5a934;
  --lr-radius:14px;
  --lr-shadow:0 18px 50px rgba(0,0,0,.28);
}
body[data-theme="light"]{
  --ui-bg:#e7edf3;--ui-panel:#fdfefe;--ui-panel-soft:#f2f6fa;--ui-panel-alt:#e5ebf1;
  --ui-border:#cbd5df;--ui-text:#111c28;--ui-text-soft:#607080;--ui-accent:#b71f27;--ui-accent-2:#d93a3e;
  --ui-danger:#d82f32;--ui-success:#2c9363;--ui-warning:#d99c2d;--ui-shadow:0 20px 55px rgba(12,27,42,.18);
}
body[data-theme="dark"]{
  --ui-bg:#080e16;--ui-panel:#101b29;--ui-panel-soft:#162437;--ui-panel-alt:#0c1622;
  --ui-border:#2a3c50;--ui-text:#f0f4f8;--ui-text-soft:#9badbf;--ui-accent:#d82f32;--ui-accent-2:#f04b4e;
  --ui-danger:#ff545b;--ui-success:#47c88a;--ui-warning:#f3be51;--ui-shadow:0 22px 65px rgba(0,0,0,.48);
}
html,body,#app{background:var(--ui-bg)}
body{color:var(--ui-text);background:radial-gradient(circle at 15% -10%,rgba(22,136,216,.09),transparent 28%),var(--ui-bg)}

/* Absolute layer order: Leaflet can otherwise sit above our floating UI. */
.game{isolation:isolate;background:var(--ui-bg)}
.topbar{position:relative;z-index:7000!important;background:linear-gradient(90deg,#0b1420 0%,#10233a 58%,#121b27 100%)!important;border-bottom:1px solid rgba(106,137,169,.25);box-shadow:0 5px 20px rgba(0,0,0,.34)}
.workspace{position:relative!important;isolation:isolate;z-index:1}
.map-wrap{z-index:1!important;isolation:isolate;overflow:hidden;background:#b8c7b8}
#map,.leaflet-container{position:relative!important;z-index:1!important}
.leaflet-pane{z-index:10!important}.leaflet-overlay-pane{z-index:20!important}.leaflet-marker-pane{z-index:30!important}.leaflet-tooltip-pane{z-index:35!important}.leaflet-popup-pane{z-index:40!important}.leaflet-top,.leaflet-bottom{z-index:50!important}
.mission-window{z-index:2500!important;pointer-events:auto!important}
.map-actions{z-index:1200!important}.map-options{z-index:1200!important}.placement-hint{z-index:2600!important}.toast{z-index:9600!important}
.modal{z-index:9000!important}.legal-menu-panel{z-index:8000!important}.email-verify-banner{z-index:6500!important}
body.dragging-floating-window #map{pointer-events:none!important}

/* Main branding */
.topbar-logo{width:46px;height:46px;border-radius:12px;border:1px solid rgba(216,47,50,.55);box-shadow:0 0 0 3px rgba(216,47,50,.10),0 8px 24px rgba(0,0,0,.35)}
.brand strong{letter-spacing:.01em}.brand small{color:#9db0c2}
.badge{background:linear-gradient(150deg,var(--lr-red),var(--lr-red-2));box-shadow:0 0 18px rgba(216,47,50,.25)}
.resources>div{border-left-color:rgba(255,255,255,.08)}.resources span{color:#92a6b9}.resources strong{color:#fff}
.icon-btn{border:1px solid #30475d!important;background:linear-gradient(180deg,#17293c,#101d2c)!important;color:#eaf2fa!important;box-shadow:inset 0 1px rgba(255,255,255,.04)}
.icon-btn:hover{border-color:#59748e!important;background:linear-gradient(180deg,#203a55,#14263a)!important}
#adminBtn{border-color:rgba(216,47,50,.55)!important}

/* Auth */
.auth-screen{background:radial-gradient(circle at 50% 20%,rgba(22,136,216,.13),transparent 30%),radial-gradient(circle at 75% 80%,rgba(216,47,50,.16),transparent 34%),linear-gradient(140deg,#060a0f,#101c2a 58%,#090d12)!important}
.auth-screen:before{background-image:linear-gradient(rgba(120,155,190,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(120,155,190,.035) 1px,transparent 1px)}
.auth-card{border:1px solid rgba(117,143,167,.32);background:linear-gradient(180deg,#fff,#f5f8fb);box-shadow:0 32px 90px rgba(0,0,0,.5)}
body[data-theme="dark"] .auth-card{background:linear-gradient(180deg,#111d2c,#0c1623)!important;border-color:#2d4257!important}
.auth-game-logo{width:145px;height:145px;filter:drop-shadow(0 15px 24px rgba(0,0,0,.42)) drop-shadow(0 0 16px rgba(216,47,50,.10))}
.auth-card h1{font-size:31px;letter-spacing:-.025em}.auth-tabs{border:1px solid var(--ui-border);background:var(--ui-panel-soft)}
.auth-tabs button.active{background:linear-gradient(180deg,var(--ui-panel),var(--ui-panel-soft));color:var(--ui-text);box-shadow:0 2px 9px rgba(0,0,0,.11)}
.primary,.btn.primary-small,.mission-alarm-btn{background:linear-gradient(135deg,var(--lr-red),var(--lr-red-2))!important;color:#fff!important;box-shadow:0 7px 18px rgba(216,47,50,.22)}
.primary:hover,.btn.primary-small:hover,.mission-alarm-btn:hover{filter:brightness(1.08)}
.auth-link-btn{color:#2179b8}

/* Floating incident list */
.mission-window{left:12px;top:14px;width:340px;height:min(620px,calc(100% - 28px));min-width:280px;min-height:230px;max-width:calc(100% - 20px);max-height:calc(100% - 20px);border-radius:16px!important;border:1px solid var(--ui-border)!important;background:var(--ui-panel)!important;box-shadow:0 22px 55px rgba(0,0,0,.30)!important;resize:both;overflow:hidden;transition:box-shadow .16s ease,border-color .16s ease}
.mission-window.is-moving{box-shadow:0 30px 75px rgba(0,0,0,.42)!important;border-color:#54708a!important;user-select:none}
.mission-window-handle{height:58px!important;padding:0 12px!important;background:linear-gradient(90deg,#0d1927,#162a40)!important;color:#fff!important;border-bottom:1px solid #304256!important;cursor:grab}
.mission-window.is-moving .mission-window-handle{cursor:grabbing}
.mission-window-handle>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,var(--lr-red),var(--lr-red-2));font-size:17px!important;box-shadow:0 5px 13px rgba(216,47,50,.25)}
.mission-window-handle strong{font-size:13px!important}.mission-window-handle small{color:#91a5b9!important}
.mission-window-actions button{background:#1d3147!important;color:#dbe7f1!important;border:1px solid #314a61!important}.mission-window-actions button:hover{background:#29445f!important}
.mission-window .mission-list{height:calc(100% - 110px);padding:10px;background:var(--ui-panel-alt)!important}
.mission-window #generateMissionBtn{bottom:8px;background:linear-gradient(180deg,var(--ui-panel-soft),var(--ui-panel));border:1px solid var(--ui-border);color:var(--ui-text)}
.mission-window.collapsed{height:58px!important;min-height:58px!important;width:max(280px,min(340px,calc(100vw - 20px)))!important}

/* Mission cards */
.mission{border-radius:13px!important;padding:12px!important;border:1px solid var(--ui-border)!important;border-left:4px solid var(--lr-red)!important;background:var(--ui-panel)!important;box-shadow:0 7px 20px rgba(0,0,0,.07)!important}
.mission:hover{border-color:#8aa0b4!important;transform:translateY(-1px)}
.mission.status-red{border-left-color:#e03a3e!important}.mission.status-yellow{border-left-color:#e4a72f!important}.mission.status-green{border-left-color:#30a56d!important}
body[data-theme="dark"] .mission{background:linear-gradient(180deg,#162336,#111c2b)!important}
.mission-title{color:var(--ui-text)!important;font-weight:850}.mission-id,.mission-live,.mission-open-hint{color:var(--ui-text-soft)!important}
.mission-facts span{background:var(--ui-panel-soft)!important;border:1px solid var(--ui-border);color:var(--ui-text-soft)!important}
.mission-actions-row{border-top-color:var(--ui-border)!important}
.mission-alarm-btn{border-radius:9px!important;padding:8px 12px!important}

/* Map operation panels */
.action.blue,.operations-main{background:linear-gradient(135deg,#173a59,#0f253a)!important;border:1px solid #315571!important;box-shadow:0 9px 24px rgba(0,0,0,.28)!important}
.operations-panel,.map-options-panel{background:var(--ui-panel)!important;border:1px solid var(--ui-border)!important;border-radius:13px!important;box-shadow:var(--ui-shadow)!important;overflow:hidden}
.operations-item,.map-options-panel label{background:var(--ui-panel)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}
.operations-item:hover{background:var(--ui-panel-soft)!important}.operations-item span{color:var(--lr-red)!important}
.map-options-toggle{background:linear-gradient(180deg,#101d2b,#09121c)!important;color:#eaf3fb!important;border:1px solid #31475d!important;border-radius:10px!important}
.leaflet-control-layers{background:var(--ui-panel)!important;color:var(--ui-text)!important;border:1px solid var(--ui-border)!important;border-radius:11px!important}.leaflet-control-layers label{color:var(--ui-text)!important}
body[data-theme="dark"] .leaflet-bar a{background:#111e2d!important;color:#eaf3fb!important;border-color:#2e4257!important}

/* Marker brand language */
.marker-pin{border:2px solid #eef3f6!important;box-shadow:0 4px 13px rgba(0,0,0,.34),0 0 0 2px rgba(7,11,16,.24)!important}
.marker-station{background:linear-gradient(145deg,var(--lr-red),var(--lr-red-2))!important}.marker-vehicle{background:linear-gradient(145deg,#0f66a0,#112b47)!important}.marker-mission.status-red{background:#d82f32!important}.marker-mission.status-yellow{background:#e3a52f!important}.marker-mission.status-green{background:#2e9e69!important}
.marker-label{background:#0c1622!important;color:#fff!important;border:1px solid #334a60!important;border-radius:7px!important;box-shadow:0 3px 10px rgba(0,0,0,.25)!important}

/* Shared windows / dialogs */
.modal{background:rgba(3,8,13,.70)!important;backdrop-filter:blur(5px)}
.modal-card,.dispatch-modal-card,.menu-modal-card{border:1px solid var(--ui-border)!important;background:var(--ui-panel)!important;color:var(--ui-text)!important;border-radius:18px!important;box-shadow:0 35px 100px rgba(0,0,0,.55)!important}
.modal-head{background:linear-gradient(90deg,#0e1a28,#172b40)!important;color:#fff!important;border-color:#31445a!important}.modal-heading-icon{background:linear-gradient(145deg,var(--lr-red),var(--lr-red-2))!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)}.modal-heading-text strong{color:#fff!important}.modal-heading-text small{color:#9fb3c6!important}.modal-footer{background:var(--ui-panel-soft)!important;border-color:var(--ui-border)!important}
.dispatch-modal-card{overflow:hidden}.dispatch-head{background:linear-gradient(100deg,#0b1521 0%,#17304a 72%,#61191f 145%)!important;border-bottom:1px solid #34485e!important}.dispatch-icon{background:linear-gradient(145deg,var(--lr-red),var(--lr-red-2))!important;border:1px solid rgba(255,255,255,.16)!important}.dispatch-progress i{background:linear-gradient(90deg,var(--lr-red),#f47a51,var(--lr-blue))!important}.dispatch-scroll{background:var(--ui-panel)!important}.dispatch-footer{background:linear-gradient(180deg,var(--ui-panel-soft),var(--ui-panel))!important}
.dispatch-summary-grid>div,.dispatch-description,.requirement-chip,.dispatch-assigned-row,.dispatch-table-wrap,.dispatch-empty{border-color:var(--ui-border)!important;background:var(--ui-panel-soft)!important;color:var(--ui-text)!important}.dispatch-table thead{background:var(--ui-panel-alt)!important}.dispatch-table th,.dispatch-table td{border-color:var(--ui-border)!important;color:var(--ui-text)!important}.dispatch-table tr.selected{background:rgba(22,136,216,.16)!important}
.dispatch-footer-btn.primary{background:linear-gradient(135deg,var(--lr-red),var(--lr-red-2))!important}.dispatch-footer-btn.secondary{background:var(--ui-panel-soft)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}
.dispatch-cat.active,.distance-btn.active{background:linear-gradient(135deg,#1a6aa1,#16476e)!important}.dispatch-small-btn{background:var(--ui-panel)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}

/* Forms / admin / station / menus */
.station-summary,.config-group,.admin-form,.admin-list-item,.station-vehicle-card,.buy-tile,.detail-vehicle-row,.achievement-card,.personal-poi-card,.aao-card{background:var(--ui-panel-soft)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}
.station-summary div{background:var(--ui-panel)!important;border-color:var(--ui-border)!important}.station-summary span,.station-vehicle-type,.station-vehicle-mission,.admin-list-main span,.detail-empty{color:var(--ui-text-soft)!important}
.buy-tile-icon,.station-vehicle-icon,.admin-item-icon,.image-preview{background:var(--ui-panel-alt)!important;border-color:var(--ui-border)!important}
.stack-form input,.stack-form textarea,.stack-form select,.config-group input,.config-group textarea,.config-group select,.settings-list select,.dispatch-aao select,.dispatch-search-row input{background:var(--ui-panel)!important;color:var(--ui-text)!important;border:1px solid var(--ui-border)!important}.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus,.config-group input:focus,.config-group textarea:focus,.config-group select:focus{outline:none;border-color:var(--lr-blue)!important;box-shadow:0 0 0 3px rgba(22,136,216,.12)}
.menu-tabs,.admin-tabs{background:var(--ui-panel-alt)!important;border-color:var(--ui-border)!important}.menu-tabs button,.admin-tabs button{background:var(--ui-panel)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}.menu-tabs button.active,.admin-tabs button.active{background:linear-gradient(135deg,#173a58,#1b527b)!important;color:#fff!important;border-color:#315a79!important}
.legal-menu-panel{background:linear-gradient(180deg,var(--ui-panel),var(--ui-panel-soft))!important}.legal-menu-panel a{color:var(--ui-text)!important}.legal-menu-panel a:hover{background:rgba(216,47,50,.12)!important;color:var(--ui-text)!important}

/* Dark theme: remove remaining white islands and low-contrast text. */
body[data-theme="dark"] .secondary,body[data-theme="dark"] .btn.ghost,body[data-theme="dark"] .btn.danger-outline,body[data-theme="dark"] .icon-btn.dark{background:#16263a!important;color:#edf4fb!important;border-color:#33495f!important}
body[data-theme="dark"] .btn.danger-outline{color:#ff9ea4!important;border-color:#6d343c!important;background:#32191e!important}
body[data-theme="dark"] .state-open{background:#3a261b!important;color:#ffc08b!important}.state-enroute,body[data-theme="dark"] .state-assigned{background:#15314b!important;color:#9dd2ff!important}.state-working{background:#173528!important;color:#83e1ae!important}
body[data-theme="dark"] .error{background:#32191d!important;color:#ffabb1!important;border-color:#69323a!important}
body[data-theme="dark"] input::placeholder,body[data-theme="dark"] textarea::placeholder{color:#71859a!important}
body[data-theme="dark"] option{background:#101b29;color:#eef4f8}
body[data-theme="dark"] .auth-card a,body[data-theme="dark"] .auth-link-btn{color:#74c2ff!important}

@media(max-width:720px){
  .mission-window{left:8px!important;top:8px!important;max-width:calc(100% - 16px)!important;max-height:calc(100% - 16px)!important}
  .topbar-logo{width:38px;height:38px}.brand{min-width:unset}.brand small{display:none}.resources>div{min-width:80px;padding:0 8px}
}


/* ===== v0.9.2 Rescue Control UI ===== */
:root{--lr-red:#d82e38;--lr-red-hot:#ff4650;--lr-blue:#36a5ff;--lr-ink:#0b1624;--lr-panel:#111e2f;--lr-panel-2:#16263b;--lr-edge:#31465f;--lr-text:#edf5ff;--lr-muted:#90a5bd;--lr-metal:#b9c6d3}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{background:linear-gradient(90deg,#091522 0%,#10253a 58%,#151d2b 100%)!important;border-bottom:1px solid #2b425a;box-shadow:0 8px 26px rgba(0,0,0,.28)}
.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--lr-red),transparent 38%,var(--lr-blue) 72%,transparent)}
.topbar-logo{border:1px solid #4a5e72;background:#08111c;padding:2px}
.icon-btn{border-radius:12px!important;border-color:#344a62!important;background:linear-gradient(180deg,#182b40,#101d2d)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.icon-btn:hover{border-color:#5f7892!important;transform:translateY(-1px)}

/* Floating dispatch list */
.mission-window{background:linear-gradient(180deg,#101d2d,#0c1724)!important;border:1px solid #334b64!important;border-radius:18px!important;box-shadow:0 22px 58px rgba(0,0,0,.36)!important}
.mission-window .panel-title{height:66px!important;background:linear-gradient(180deg,#15273b,#101d2d)!important;border-bottom:1px solid #2b4158!important;border-radius:17px 17px 0 0!important;padding:0 12px!important}
.window-grip{width:28px;height:32px;border-radius:9px;border:1px solid #354d66;display:grid;place-content:center;gap:3px;background:#0d1927}.window-grip i{display:block;width:12px;height:2px;background:#72869c;border-radius:5px}.mission-window-title{display:grid;margin-left:9px}.window-kicker{font-size:8px;color:#ff5962;letter-spacing:.18em;font-weight:900}.mission-window-title strong{font-size:14px;color:#f4f8fc}.window-collapse-btn{margin-left:auto;width:34px;height:34px;border-radius:10px;border:1px solid #385069;background:#0e1a29;color:#dbe8f6;font-weight:900;font-size:17px}.mission-window.collapsed .window-collapse-btn{transform:rotate(180deg)}
.mission-window .mission-list{background:transparent!important;padding:10px!important}
.mission-empty{min-height:150px;display:grid;place-items:center;align-content:center;gap:8px;background:#0c1724!important;border:1px dashed #31475e!important;color:#dbe8f6!important}.mission-empty small{color:#8298ae}.empty-pulse{width:12px;height:12px;border-radius:50%;background:#2c9d69;box-shadow:0 0 0 7px rgba(44,157,105,.12)}
.mission{position:relative;overflow:hidden;border:1px solid #31475f!important;border-left:0!important;border-radius:14px!important;background:linear-gradient(180deg,#16263a,#111e2f)!important;color:#edf5ff!important;padding:12px 12px 11px 16px!important;box-shadow:0 9px 22px rgba(0,0,0,.14)!important}
.mission-signal{position:absolute;left:0;top:0;bottom:0;width:4px;background:#d82e38}.mission.status-yellow .mission-signal{background:#f0b53d}.mission.status-green .mission-signal{background:#2ba46d}.mission-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.mission-alarm-code{font-size:8px;letter-spacing:.18em;font-weight:900;color:#ff5962}.mission-title{font-size:14px!important;color:#fff;letter-spacing:-.01em;margin-top:3px}.mission-location{font-size:11px;color:#a9bbcd;margin:8px 0 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mission-compact-meta{display:flex;gap:5px;flex-wrap:wrap}.mission-compact-meta span{font-size:9px;color:#d7e3ef;background:#0c1724;border:1px solid #2c4157;border-radius:7px;padding:4px 6px}.mission-compact-meta .patient-badge{border-color:#70414b;color:#ffc4c8;background:#2b1720}.mission-live{color:#8fa6bd!important;border-top:1px solid #293d52;margin-top:9px!important;padding-top:8px}.mission-actions-row{border-top:0!important;margin-top:4px!important;padding-top:4px!important;justify-content:flex-end!important}.mission-locate-btn,.mission-alarm-btn{height:34px;border-radius:10px!important;font-weight:850;border:1px solid #38506a}.mission-locate-btn{width:38px;background:#0d1927;color:#b8c8d9}.mission-alarm-btn{background:linear-gradient(135deg,#ec3d47,#b91d2a)!important;color:#fff!important;padding:0 14px!important;box-shadow:0 7px 18px rgba(216,46,56,.22)!important}.mission-state{border:1px solid currentColor;background:transparent!important;padding:4px 7px!important}
.mission-window #generateMissionBtn{background:#0d1927!important;border:1px solid #31485f!important;color:#b6c7d7!important}

/* Bottom-right icon dock */
.map-dock{position:absolute;right:18px;bottom:18px;z-index:920;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.map-dock-btn{width:48px;height:48px;border:1px solid #39516a;border-radius:14px;background:linear-gradient(180deg,#15283d,#0c1928);box-shadow:0 10px 28px rgba(0,0,0,.28);display:grid;place-items:center;padding:8px;transition:.15s}.map-dock-btn:hover{transform:translateY(-2px);border-color:#67839e}.map-dock-btn img{width:100%;height:100%;display:block}.dock-options{position:relative!important;right:auto!important;bottom:auto!important}.dock-options .map-options-panel{right:58px!important;bottom:0!important;width:240px;border-radius:15px!important;background:#101d2d!important;color:#eaf3fc!important;border:1px solid #344c65!important;box-shadow:0 20px 50px rgba(0,0,0,.34)!important}.map-options-head{display:grid;padding:4px 4px 10px;border-bottom:1px solid #2d4359;margin-bottom:7px}.map-options-head strong{font-size:13px}.map-options-head small{font-size:9px;color:#849bb2;margin-top:2px}.map-options-panel label{border-radius:9px;padding:8px 7px!important;color:#c7d6e5!important}.map-options-panel label:hover{background:#16283c}.map-options-toggle{display:none!important}

/* Leaflet controls and station tooltip */
.leaflet-control-layers{background:#0e1b2a!important;color:#edf4fc!important;border:1px solid #344a62!important;border-radius:13px!important}.leaflet-control-layers-toggle{filter:invert(.9) saturate(.2)}.leaflet-control-layers label{color:#e5eef7!important}.lr-map-tooltip{background:#0d1927!important;color:#fff!important;border:1px solid #3c566f!important;border-radius:9px!important;box-shadow:0 7px 20px rgba(0,0,0,.25)!important;font-size:11px!important;font-weight:800!important;padding:6px 9px!important}.lr-map-tooltip:before{border-top-color:#3c566f!important}

/* Blaulicht that persists while marker moves */
.marker-emergency .marker-vehicle{animation:lrBlueLightPin .75s steps(1,end) infinite!important;overflow:visible}.marker-emergency .marker-vehicle:before,.marker-emergency .marker-vehicle:after{content:"";position:absolute;z-index:3;width:8px;height:5px;top:5px;border-radius:5px;transform:rotate(45deg)}.marker-emergency .marker-vehicle:before{left:7px;background:#24a8ff;box-shadow:0 0 12px #24a8ff}.marker-emergency .marker-vehicle:after{right:7px;background:#ff3441;box-shadow:0 0 12px #ff3441}@keyframes lrBlueLightPin{0%,49%{box-shadow:0 0 0 5px rgba(36,168,255,.18),0 0 22px rgba(36,168,255,.85),0 4px 12px rgba(0,0,0,.4)}50%,100%{box-shadow:0 0 0 5px rgba(255,52,65,.17),0 0 22px rgba(255,52,65,.8),0 4px 12px rgba(0,0,0,.4)}}

/* Mission dispatch – custom command-console structure */
.dispatch-modal-card{border-radius:20px!important;border:1px solid #3a526c!important;background:#0c1724!important;box-shadow:0 34px 100px rgba(0,0,0,.54)!important}.dispatch-head{background:linear-gradient(90deg,#101f31,#142a40 70%,#241b2a)!important;border-bottom:1px solid #3a5067!important;padding:17px 20px!important}.dispatch-title-row{gap:13px!important}.dispatch-code{height:38px;display:grid;place-items:center;padding:0 11px;border-radius:9px;background:linear-gradient(135deg,#ec3e48,#af1523);color:white;font-size:10px;font-weight:950;letter-spacing:.16em;box-shadow:0 0 0 1px rgba(255,255,255,.12) inset}.dispatch-heading-copy{display:grid;gap:2px;min-width:0}.dispatch-heading-copy strong{font-size:20px!important}.dispatch-heading-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(650px,58vw);color:#9cb0c4!important}.dispatch-patient-line{font-size:10px;color:#ffb3b9;font-weight:800}.dispatch-progress{height:4px!important;background:#0a131e!important;padding:0!important}.dispatch-progress i{height:4px!important;background:linear-gradient(90deg,#d92d37,#ff5962)!important}.dispatch-scroll{background:#0c1724!important}.compact-summary{grid-template-columns:repeat(4,1fr)!important}.dispatch-summary-grid>div{background:#132238!important;border-color:#30475f!important;border-radius:12px!important}.dispatch-summary-grid span{color:#829ab3!important;font-size:8px!important;letter-spacing:.12em}.dispatch-summary-grid strong{color:#fff!important}.dispatch-description{background:#111f31!important;border-color:#30485f!important;border-left:3px solid #d82e38!important;color:#d9e5f0!important;border-radius:12px!important}.dispatch-section-title{border-bottom:1px solid #263c52;padding-bottom:7px}.requirement-chip{background:#122136!important;border-color:#344a62!important}.requirement-chip.ok{border-color:#2f8460!important}.requirement-chip.missing{border-color:#8a3941!important}.dispatch-assigned-row{background:#122136!important;border-color:#30475f!important}.dispatch-controls{background:#0e1b2a;border:1px solid #2e455d;border-radius:14px;padding:12px}.distance-btn,.dispatch-cat,.dispatch-small-btn{background:#101e30!important;color:#cfdeed!important;border-color:#344d66!important}.distance-btn.active,.dispatch-cat.active{background:#1d6ca4!important}.dispatch-aao select,.dispatch-search-row input{background:#0d1928!important;color:#eaf3fc!important;border-color:#344d66!important}.dispatch-table-wrap{border-color:#344c64!important;background:#0f1d2e!important}.dispatch-table thead{background:#09131f!important}.dispatch-table th,.dispatch-table td{border-color:#293e54!important;color:#dce8f4!important}.dispatch-table tr.selected{background:#143c46!important}.dispatch-footer{background:#09131f!important;border-color:#30465d!important}.dispatch-footer-btn.secondary{background:#102034!important;border-color:#344d66!important;color:#d9e7f5!important}.dispatch-footer-btn.primary{background:linear-gradient(135deg,#dd3540,#a91622)!important}.incident-log-row{background:#101e30!important;border-color:#30475f!important;color:#cbd9e7!important}

/* Station and vehicle UI */
.station-modal-card,.small-modal-card,.menu-modal-card,.admin-modal-card{border:1px solid #3a526a!important;background:#0c1724!important;border-radius:20px!important}.modal-head{background:linear-gradient(90deg,#112238,#0e1a29)!important}.modal-heading-icon{background:#182c43!important;border:1px solid #3a526a!important}.station-summary{background:#09131f!important}.station-summary div{background:#112137!important;border-color:#30475f!important}.station-buy-grid{padding:4px 18px 14px!important}.buy-tile{background:linear-gradient(180deg,#16283d,#101d2d)!important;border:1px solid #354d66!important;border-radius:14px!important;color:#fff!important}.buy-tile:hover{transform:translateY(-2px);border-color:#617d99}.station-vehicle-card{background:#101e30!important;border:1px solid #30485f!important;border-radius:14px!important}.station-vehicle-card:hover{border-color:#55728f!important}

body[data-theme="light"] .mission-window,body[data-theme="light"] .dispatch-modal-card,body[data-theme="light"] .station-modal-card,body[data-theme="light"] .small-modal-card{filter:none}
body[data-theme="light"] .mission-window{background:linear-gradient(180deg,#f8fbff,#eaf0f6)!important}body[data-theme="light"] .mission-window .mission-list{background:transparent!important}
body[data-theme="light"] .mission{background:linear-gradient(180deg,#fff,#f6f9fc)!important;color:#142234!important;border-color:#ccd8e4!important}body[data-theme="light"] .mission-title{color:#142234!important}body[data-theme="light"] .mission-location{color:#607387!important}body[data-theme="light"] .mission-compact-meta span{background:#edf3f8;color:#31465a;border-color:#d1dde8}body[data-theme="light"] .mission-live{color:#64788b!important}
body[data-theme="light"] .dispatch-modal-card,body[data-theme="light"] .station-modal-card,body[data-theme="light"] .small-modal-card{background:#edf3f8!important;color:#142234!important}body[data-theme="light"] .dispatch-scroll{background:#edf3f8!important}body[data-theme="light"] .dispatch-summary-grid>div,body[data-theme="light"] .dispatch-description,body[data-theme="light"] .requirement-chip,body[data-theme="light"] .dispatch-assigned-row,body[data-theme="light"] .dispatch-controls{background:#fff!important;color:#142234!important;border-color:#cedae6!important}body[data-theme="light"] .dispatch-summary-grid strong,body[data-theme="light"] .dispatch-section-title strong,body[data-theme="light"] .requirement-chip em,body[data-theme="light"] .dispatch-assigned-row strong{color:#142234!important}body[data-theme="light"] .dispatch-table-wrap{background:#fff!important;border-color:#ccd8e4!important}body[data-theme="light"] .dispatch-table thead{background:#dfe8f0!important}body[data-theme="light"] .dispatch-table th,body[data-theme="light"] .dispatch-table td{color:#172638!important;border-color:#d2dce6!important}body[data-theme="light"] .dispatch-aao select,body[data-theme="light"] .dispatch-search-row input,body[data-theme="light"] .distance-btn,body[data-theme="light"] .dispatch-cat,body[data-theme="light"] .dispatch-small-btn{background:#fff!important;color:#203448!important;border-color:#cbd8e4!important}
@media(max-width:720px){.map-dock{right:8px;bottom:8px}.map-dock-btn{width:44px;height:44px}.compact-summary{grid-template-columns:1fr 1fr!important}.dispatch-heading-copy small{max-width:50vw}.mission-window{top:8px!important}.mission-window-title strong{font-size:13px}}
