:root,[data-theme=dark]{--bg-base: #0d1520;--bg-surface: #111827;--bg-elevated: #1a2540;--bg-input: #0f172a;--bg-hover: #1e2e45;--text-primary: #dde6f0;--text-secondary: #94a3b8;--text-muted: #546880;--border-subtle: #1e2d45;--border-strong: #2e4060;--accent-blue: #5b9bd5;--accent-green: #52b893;--accent-amber: #c9924a;--accent-red: #c0504a;--accent-purple: #8b72c8;--accent-alert: #d4729a;--accent-teal: #3d9faa;--status0-bg: #151d28;--status0-fg: #546880;--status1-bg: #0a2820;--status1-fg: #52b893;--status2-bg: #0a2820;--status2-fg: #52b893;--statusDP-bg: #2a1f0a;--statusDP-fg: #c9924a;--status3-bg: #0a1e35;--status3-fg: #5b9bd5;--status4-bg: #1d1545;--status4-fg: #8b72c8;--status5-bg: #2e0f1e;--status5-fg: #d4729a;--status6-bg: #2e100f;--status6-fg: #c0504a;--status7-bg: #2e100f;--status7-fg: #c0504a;--status8-bg: #151d28;--status8-fg: #546880;--map-filter: brightness(.82) saturate(.75)}[data-theme=light]{--bg-base: #f5f0e8;--bg-surface: #fdf9f2;--bg-elevated: #ede8dc;--bg-input: #faf7f0;--bg-hover: #e8e0d0;--text-primary: #2d2518;--text-secondary: #5c4f3a;--text-muted: #8a7a62;--border-subtle: #d8cebc;--border-strong: #c0b498;--accent-blue: #2e6aaa;--accent-green: #2a8060;--accent-amber: #9a6a10;--accent-red: #9a2828;--accent-purple: #5e46a0;--accent-alert: #9a2828;--accent-teal: #1f6a72;--status0-bg: #e8e0d0;--status0-fg: #8a7a62;--status1-bg: #d8f0e4;--status1-fg: #1a6040;--status2-bg: #d8f0e4;--status2-fg: #1a6040;--statusDP-bg: #f5e8c8;--statusDP-fg: #7a4a08;--status3-bg: #d0e4f5;--status3-fg: #183c70;--status4-bg: #e4d8f5;--status4-fg: #3c2070;--status5-bg: #f2d8d8;--status5-fg: #8a1818;--status6-bg: #f2d8d0;--status6-fg: #8a1818;--status7-bg: #f2d8d0;--status7-fg: #8a1818;--status8-bg: #e8e0d0;--status8-fg: #8a7a62;--map-filter: brightness(1.05) saturate(.85)}[data-theme=light] .app-header,[data-theme=light] .dashboard-left,[data-theme=light] .dashboard-right,[data-theme=light] .tab-bar,[data-theme=light] .fw-workspace{background:var(--bg-base)}[data-theme=light] .tab-btn{color:var(--text-secondary)}[data-theme=light] .tab-btn:hover{background:var(--bg-hover);color:var(--text-primary)}[data-theme=light] .tab-btn.active{color:var(--accent-blue);background:var(--bg-surface);border-bottom-color:var(--accent-blue)}[data-theme=light] .vehicle-list,[data-theme=light] .call-panel,[data-theme=light] .panel-section{background:var(--bg-base)}[data-theme=light] .vehicle-row{background:var(--bg-surface);border:1px solid var(--border-subtle)}[data-theme=light] .vehicle-row:hover{background:var(--bg-hover)}[data-theme=light] .vehicle-row.status-0{opacity:.5}[data-theme=light] .vl-section-title{color:var(--text-muted)}[data-theme=light] .vl-section-title.status-group-2{color:var(--accent-green)}[data-theme=light] .vl-section-title.status-group-1{color:var(--accent-teal)}[data-theme=light] .vl-section-title.status-group-DP{color:var(--accent-amber)}[data-theme=light] .vl-section-title.status-group-3{color:var(--accent-blue)}[data-theme=light] .vl-section-title.status-group-4{color:var(--accent-purple)}[data-theme=light] .vl-section-title.status-group-5{color:var(--accent-alert)}[data-theme=light] .vl-section-title.status-group-6,[data-theme=light] .vl-section-title.status-group-7{color:var(--accent-red)}[data-theme=light] .vl-section-title.status-group-8{color:var(--text-muted)}[data-theme=light] .vehicle-status-button{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}[data-theme=light] .vehicle-status-button:hover{background:var(--bg-hover)}[data-theme=light] .vehicle-status-dropdown-menu{background:var(--bg-surface);border-color:var(--border-strong);box-shadow:0 4px 16px #0000001f}[data-theme=light] .dropdown-item{color:var(--text-secondary)}[data-theme=light] .dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}[data-theme=light] .dropdown-item.active{background:#dbeafe;color:var(--accent-blue)}[data-theme=light] .dropdown-code{color:var(--accent-blue)}[data-theme=light] .call-stichwort-inline{color:var(--text-primary)}[data-theme=light] .call-address-sm{color:var(--text-muted)}[data-theme=light] .vl-sort-btn{color:var(--text-muted);border-color:var(--border-strong)}[data-theme=light] .vl-sort-btn:hover{color:var(--text-primary)}[data-theme=light] .vl-sort-dropdown{background:var(--bg-surface);border-color:var(--border-strong);box-shadow:0 6px 24px #0000001a}[data-theme=light] .vl-sort-select{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-strong)}[data-theme=light] .vl-sort-label{color:var(--text-muted)}[data-theme=light] .fw-window{background:var(--bg-surface);border-color:var(--border-subtle);box-shadow:0 4px 20px #3c28141a}[data-theme=light] .fw-title-bar{background:var(--bg-elevated);border-bottom-color:var(--border-strong);color:var(--text-primary)}[data-theme=light] .fw-title-text{color:var(--text-primary)}[data-theme=light] .fw-ctrl-btn{color:var(--text-muted);background:transparent}[data-theme=light] .fw-ctrl-btn:hover{background:var(--bg-hover);color:var(--text-primary)}[data-theme=light] .fw-body{background:var(--bg-base);color:var(--text-primary)}[data-theme=light] .fw-badge{background:var(--accent-red)}[data-theme=light] .ws-overlay{background:#281e0f66}[data-theme=light] .ws-dialog{background:var(--bg-surface);border-color:var(--border-strong);color:var(--text-primary);box-shadow:0 8px 32px #3c281426}[data-theme=light] .ws-header{border-bottom-color:var(--border-subtle);color:var(--text-primary)}[data-theme=light] .ws-header h2{color:var(--text-primary)}[data-theme=light] .ws-hint{color:var(--text-secondary)}[data-theme=light] .ws-slot{background:var(--bg-elevated);border-color:var(--border-subtle)}[data-theme=light] .ws-slot-filled{border-color:var(--accent-blue)}[data-theme=light] .ws-slot-name{color:var(--text-primary)}[data-theme=light] .ws-slot-date,[data-theme=light] .ws-slot-num{color:var(--text-muted)}[data-theme=light] .ws-footer{border-top-color:var(--border-subtle)}[data-theme=light] .ws-rename-input{background:var(--bg-input);border-color:var(--border-strong);color:var(--text-primary)}[data-theme=light] .status-bar{background:var(--bg-elevated);border-top-color:var(--border-subtle);color:var(--text-primary)}[data-theme=light] .sb-label{color:var(--text-secondary)}[data-theme=light] .sb-count{color:var(--text-primary)}[data-theme=light] .dispatch-dialog{background:var(--bg-surface);border-color:var(--border-subtle);color:var(--text-primary)}[data-theme=light] .dispatch-dialog h3{color:var(--text-primary)}[data-theme=light] .dispatch-address{color:var(--text-secondary)}[data-theme=light] .dvl-row{color:var(--text-primary)}[data-theme=light] .dvl-row:hover{background:var(--bg-hover)}[data-theme=light] .dvl-station,[data-theme=light] .dvl-dist{color:var(--text-muted)}[data-theme=light] .dvl-header{color:var(--text-muted);border-color:var(--border-subtle)}[data-theme=light] .dvl-col-header{color:var(--accent-amber)}[data-theme=light] .dvl-section-label{color:var(--accent-amber);border-top-color:var(--border-subtle)}[data-theme=light] .dvl-name{color:var(--text-primary)}[data-theme=light] .dispatch-hiorg-section{border-color:var(--border-subtle)}[data-theme=light] .call-card{background:var(--bg-surface);border-left-color:var(--border-strong)}[data-theme=light] .call-id,[data-theme=light] .call-stichwort-sm,[data-theme=light] .call-stichwort-inline{color:var(--text-primary)}[data-theme=light] .call-address-sm,[data-theme=light] .call-status-badge{color:var(--text-muted)}[data-theme=light] .call-meldung{color:var(--text-secondary)}[data-theme=light] .dv-name{color:var(--text-primary)}[data-theme=light] .dv-status{color:var(--text-muted)}[data-theme=light] .phone-panel{background:var(--bg-surface);color:var(--text-primary)}[data-theme=light] .phone-incoming{background:var(--bg-elevated);border-color:var(--border-subtle)}[data-theme=light] .eep-empty,[data-theme=light] .eep-empty-hint{color:var(--text-muted)}[data-theme=light] .station-list-item{background:var(--bg-surface)}[data-theme=light] .station-list-item:hover{background:var(--bg-hover)}[data-theme=light] .station-list-name{color:var(--text-primary)}[data-theme=light] .station-list-meta{color:var(--text-muted)}[data-theme=light] .dialog-overlay{background:#281e0f66}[data-theme=light] .dialog-frame{background:var(--bg-surface);border-color:var(--border-subtle);color:var(--text-primary);box-shadow:0 8px 32px #3c281426}[data-theme=light] .dialog-ctrl-btn{color:var(--text-muted)}[data-theme=light] .dialog-ctrl-btn:hover{background:var(--bg-hover);color:var(--text-primary)}[data-theme=light] .minimized-tray{background:var(--bg-elevated);border-top-color:var(--border-subtle)}[data-theme=light] .minimized-chip{background:var(--bg-surface);border-color:var(--border-strong);color:var(--text-primary)}[data-theme=light] .btn-session,[data-theme=light] .btn-workspace{background-color:var(--accent-blue);border-color:var(--accent-blue);color:#fff!important}[data-theme=light] .btn-session:hover,[data-theme=light] .btn-workspace:hover{filter:brightness(1.15)}*{margin:0;padding:0;box-sizing:border-box}html{background:var(--bg-base)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-base);color:var(--text-primary);height:100vh;overflow:hidden}#root{height:100vh;display:flex;flex-direction:column}.app{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:center;gap:12px;padding:max(6px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 6px max(16px,env(safe-area-inset-left));background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);position:relative;z-index:100}.app-header h1{font-size:1.2rem;color:var(--text-primary)}.app-header .subtitle{color:var(--text-secondary);font-size:.8rem}.header-user{color:var(--text-muted);font-size:.8rem;margin-left:12px}.btn-logout{margin-left:auto}.btn{padding:5px 12px;border:1px solid var(--border-strong);border-radius:5px;background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;font-size:.8rem;transition:background .15s,color .15s}.btn:hover{background:var(--bg-hover)}.btn-primary{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.btn-primary:hover{filter:brightness(1.15)}.btn-danger{background:var(--accent-red);border-color:var(--accent-red);color:#fff}.btn-danger:hover{filter:brightness(1.15)}.btn-advance{background:var(--accent-green);border-color:var(--accent-green);color:#fff}.btn-advance:hover{filter:brightness(1.15)}.btn-small{padding:3px 8px;font-size:.72rem}.btn-xs{padding:2px 6px;font-size:.68rem}.btn:disabled{opacity:.4;cursor:default}.btn-secondary{background:var(--bg-surface);border-color:var(--border-strong);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-hover)}.login-divider{text-align:center;color:var(--text-muted);font-size:.75rem;margin:4px 0;display:flex;align-items:center;gap:8px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.btn-annehmen{background:#16a34a;border-color:#22c55e;font-size:1rem;padding:10px 24px;font-weight:700}.btn-annehmen:hover{background:#15803d}.btn-halten{background:#d97706;border-color:#f59e0b;font-size:1rem;padding:10px 24px;font-weight:700}.btn-halten:hover{background:#b45309}.login-container{display:flex;align-items:center;justify-content:center;height:100vh;background:#0f172a}.login-form{background:#1e293b;padding:40px;border-radius:12px;border:1px solid #334155;display:flex;flex-direction:column;gap:14px;min-width:320px}.login-form h1{text-align:center;font-size:2rem}.login-subtitle{text-align:center;color:#94a3b8;margin-bottom:8px}.login-fields{display:flex;flex-direction:column;gap:12px}.login-form input{padding:10px 14px;border:1px solid #475569;border-radius:6px;background:#0f172a;color:#e2e8f0;font-size:.95rem}.login-form input:focus{outline:none;border-color:#3b82f6}.error{color:#ef4444;font-size:.85rem;text-align:center}.success{color:#22c55e;font-size:.85rem;text-align:center}.login-hint{color:#94a3b8;font-size:.8rem;line-height:1.4}.login-tabs{display:flex;border-bottom:1px solid #334155;margin:0 -4px 4px}.login-tab{flex:1;padding:8px;background:none;border:none;color:#64748b;cursor:pointer;font-size:.85rem;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.login-tab:hover{color:#e2e8f0}.login-tab.active{color:#3b82f6;border-bottom-color:#3b82f6;font-weight:600}.btn-link{background:none;border:none;color:#64748b;cursor:pointer;font-size:.8rem;padding:4px 0;text-align:center;width:100%}.btn-link:hover{color:#94a3b8}.fw-workspace{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f1a;overflow:hidden}.fw-window{position:absolute;display:flex;flex-direction:column;background:#1e293b;border:1px solid #334155;border-radius:8px;box-shadow:0 8px 32px #0000008c;min-width:240px;min-height:160px;overflow:hidden;will-change:transform}.fw-titlebar{display:flex;align-items:center;gap:6px;padding:0 8px;height:32px;background:#0f172a;border-bottom:1px solid #334155;cursor:move;-webkit-user-select:none;user-select:none;flex-shrink:0}.fw-titlebar-icon{font-size:.85rem}.fw-titlebar-title{font-size:.78rem;font-weight:700;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fw-titlebar-badge{display:flex;align-items:center}.fw-titlebar-spacer{flex:1}.fw-ctrl{background:none;border:none;cursor:pointer;font-size:.7rem;padding:2px 5px;border-radius:4px;color:#94a3b8;transition:background .12s,color .12s}.fw-ctrl:hover{background:#334155;color:#e2e8f0}.fw-ctrl-close:hover{background:#ef4444;color:#fff}.fw-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700}.fw-badge-info{background:#3b82f6}.fw-badge-urgent{background:#f97316;animation:fw-pulse 1s infinite}@keyframes fw-pulse{0%,to{opacity:1}50%{opacity:.55}}.fw-body{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.fw-body::-webkit-scrollbar{width:5px}.fw-body::-webkit-scrollbar-track{background:#1e293b}.fw-body::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}.fw-resize{position:absolute;z-index:10}.fw-resize-e{right:-3px;top:4px;bottom:4px;width:6px;cursor:e-resize}.fw-resize-w{left:-3px;top:4px;bottom:4px;width:6px;cursor:w-resize}.fw-resize-s{bottom:-3px;left:4px;right:4px;height:6px;cursor:s-resize}.fw-resize-n{top:-3px;left:4px;right:4px;height:6px;cursor:n-resize}.fw-resize-se{right:-3px;bottom:-3px;width:10px;height:10px;cursor:se-resize}.fw-resize-sw{left:-3px;bottom:-3px;width:10px;height:10px;cursor:sw-resize}.fw-resize-ne{right:-3px;top:-3px;width:10px;height:10px;cursor:ne-resize}.fw-resize-nw{left:-3px;top:-3px;width:10px;height:10px;cursor:nw-resize}.fw-window-map .fw-body{overflow:hidden;padding:0}.fw-window-map .fw-body>div:first-child{flex:1;min-height:0}.fw-window .leaflet-container{width:100%!important;height:100%!important}.fw-window .dispatch-map{height:100%;width:100%}.fw-window .status-bar{width:100%;flex-shrink:0}.phone-queue{display:flex;flex-direction:column;gap:4px;padding:8px}.phone-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;color:#64748b;font-size:.82rem}.phone-empty-icon{font-size:2rem}.phone-call-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:6px;background:#0f172a;border-left:3px solid #334155}.phone-row-incoming{border-left-color:#f97316;animation:fw-pulse 1.2s infinite}.phone-row-waiting{border-left-color:#3b82f6}.phone-row-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.phone-row-pos{font-size:.7rem;font-weight:700;color:#64748b;width:16px;flex-shrink:0}.phone-row-info{display:flex;flex-direction:column;gap:1px;min-width:0}.phone-row-name{font-size:.82rem;font-weight:700;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-row-sub{font-size:.67rem;color:#64748b}.phone-row-stichwort{font-size:.7rem;color:#94a3b8}.phone-row-actions{display:flex;gap:4px;flex-shrink:0}.phone-btn{padding:3px 8px;font-size:.72rem;font-weight:700;border:none;border-radius:5px;cursor:pointer;transition:background .12s}.phone-btn-accept{background:#16a34a;color:#fff}.phone-btn-accept:hover{background:#15803d}.phone-btn-hold{background:#1d4ed8;color:#fff}.phone-btn-hold:hover{background:#1e40af}.phone-row-internal{border-left-color:#6366f1;background:#0e0e1c}.phone-row-internal-urgent{border-left-color:#818cf8;animation:fw-pulse 1.8s infinite}.phone-row-internal-icon{font-size:1rem;width:18px;color:#94a3b8}.phone-internal-type{color:#9ba3bf;font-weight:600}.phone-btn-internal{background:#3730a3;color:#c7d2fe}.phone-btn-internal:hover{background:#312e81}.internal-call-dialog{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;height:100%}.internal-call-body{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.internal-call-info{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#0f172a;border-radius:6px;font-size:.75rem;flex-shrink:0}.internal-call-unit{font-weight:700;color:#a5b4fc}.internal-call-ref{font-size:.68rem;color:#64748b;font-family:monospace}.internal-call-chat{flex:1;min-height:60px;overflow-y:auto}.internal-call-type-badge.internal-badge-urgent{background:#1e1b4b;color:#a5b4fc}.internal-call-type-badge.internal-badge-stable{background:#14532d;color:#86efac}.internal-call-type-badge.internal-badge-neutral{background:#1c1917;color:#a8a29e}.internal-header-sub{color:#64748b;font-size:.78rem}.fw-window-ampds .internal-call-dialog{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;width:100%;height:100%}.phone-active{display:flex;flex-direction:column;gap:12px;padding:14px}.phone-active-header{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid #334155}.phone-active-icon{font-size:1.6rem}.phone-active-meta{display:flex;flex-direction:column;gap:2px}.phone-active-name{font-size:.95rem;font-weight:700;color:#e2e8f0}.phone-active-sub{font-size:.72rem;color:#94a3b8}.phone-active-info{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:#94a3b8}.phone-active-info .phone-lbl{color:#64748b;margin-right:4px}.phone-active-hint{font-size:.72rem;color:#475569;font-style:italic}.phone-auflegen-btn{align-self:flex-start;padding:8px 20px;background:#dc2626;color:#fff;font-size:.85rem;font-weight:700;border:none;border-radius:7px;cursor:pointer;transition:background .15s}.phone-auflegen-btn:hover{background:#b91c1c}.eep-panel{display:flex;flex-direction:column;height:100%;overflow-y:auto}.eep-header{display:flex;flex-direction:column;gap:6px;padding:10px 14px;background:#0f172a;border-bottom:1px solid #334155;flex-shrink:0}.eep-header-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eep-stichwort{font-weight:700;font-size:.88rem;color:#e2e8f0}.eep-address{font-size:.75rem;color:#94a3b8}.eep-rec-label{font-size:.68rem;color:#64748b;text-transform:uppercase;font-weight:700}.eep-prio-row{gap:6px}.eep-prio-label{font-size:.72rem;color:#64748b}.eep-prio-select{background:#0f172a;color:#cbd5e1;border:1px solid #334155;border-radius:4px;padding:2px 6px;font-size:.75rem}.eep-columns{display:grid;grid-template-columns:1fr 1fr;gap:0;flex:1;overflow-y:auto;padding:8px 8px 0}.eep-footer{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid #334155;background:#0f172a;flex-shrink:0}.eep-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;padding:24px;color:#64748b;font-size:.82rem;text-align:center}.eep-empty-icon{font-size:2.4rem}.eep-empty-hint{font-size:.7rem;color:#475569}.dashboard{display:flex;flex:1;overflow:hidden}.dashboard-left{flex:1;position:relative}.divider-resizer{width:6px;background:#334155;cursor:col-resize;transition:background .15s;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;position:relative}.divider-resizer:hover{background:#475569}.divider-resizer.resizing{background:#3b82f6}.divider-resizer:before{content:"⋮⋮";color:#64748b;font-size:.8rem;font-weight:700;letter-spacing:-2px;transition:color .15s}.divider-resizer:hover:before{color:#94a3b8}.divider-resizer.resizing:before{color:#e2e8f0}@media (max-width: 768px){.divider-resizer{display:none}}.dashboard-right{overflow-y:auto;border-left:1px solid #334155;background:#1e293b;display:flex;flex-direction:column;transition:width .05s}.dispatch-map{height:100%;width:100%}.dispatch-map .leaflet-tile-pane{filter:var(--map-filter)}.custom-marker{background:none!important;border:none!important}.station-marker{font-size:22px;text-align:center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));cursor:pointer;color:#dc2626;font-weight:900}.station-marker.station-fw,.station-marker.station-pol{font-size:18px;color:unset}.vehicle-marker{display:flex;align-items:center;justify-content:center;border-radius:4px;padding:2px 4px;color:#fff;font-size:9px;font-weight:700;white-space:nowrap;box-shadow:0 1px 4px #00000080;letter-spacing:.02em}.vehicle-marker.pulse{animation:vpulse 1s ease-in-out infinite}@keyframes vpulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.85}}.vehicle-marker.marker-flash{animation:marker-flash .5s ease-in-out infinite;box-shadow:0 0 12px 4px #ffffffb3;z-index:9000!important}@keyframes marker-flash{0%,to{transform:scale(1.3);opacity:1}50%{transform:scale(1.6);opacity:.6}}.call-marker{font-size:24px;text-align:center;color:#000;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}.hospital-marker{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:#fff;color:#dc2626;font-weight:900;font-size:14px;border:2px solid #dc2626;border-radius:4px;box-shadow:0 1px 4px #0006}.panel-section{padding:10px 12px;border-bottom:1px solid #334155}.panel-section h2{font-size:.85rem;margin-bottom:8px;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.empty-text{color:#64748b;font-size:.8rem;padding:6px 0}.vtype-badge{display:inline-block;padding:1px 5px;border-radius:3px;font-size:.65rem;font-weight:700;color:#fff;letter-spacing:.02em}.codispatch-row{display:flex;gap:10px;margin:6px 0 4px;flex-wrap:wrap}.codispatch-check{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;background:#1e293b;border:1.5px solid #334155;cursor:pointer;font-size:.8rem;font-weight:600;color:#94a3b8;-webkit-user-select:none;user-select:none;transition:border-color .15s,color .15s}.codispatch-check input{margin:0;cursor:pointer}.codispatch-check.active{border-color:#60a5fa;color:#e2e8f0}.prio-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:.65rem;font-weight:700;color:#fff}.prio-badge.p1{background:#ef4444}.prio-badge.p2{background:#f97316}.prio-badge.p3{background:#eab308;color:#0f172a}.prio-badge.p4{background:#3b82f6}.prio-badge.p5{background:#6b7280}.call-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;animation:overlayIn .2s ease-out}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.call-notification{background:#1e293b;border:2px solid #ef4444;border-radius:16px;padding:32px 40px;text-align:center;min-width:400px;animation:ringPulse 1.5s ease-in-out infinite}.call-notification.prio-1{border-color:#ef4444}.call-notification.prio-2{border-color:#f97316}.call-notification.prio-3{border-color:#eab308}.call-notification.prio-4{border-color:#3b82f6}.call-notification.prio-5{border-color:#6b7280}@keyframes ringPulse{0%,to{box-shadow:0 0 20px #ef44444d}50%{box-shadow:0 0 40px #ef444499}}.call-ring-icon{font-size:3rem;margin-bottom:8px}.call-notification h2{color:#ef4444;font-size:1.3rem;margin-bottom:16px;text-transform:uppercase;letter-spacing:.1em}.call-info{margin-bottom:24px}.call-stichwort{font-size:1.4rem;font-weight:700;color:#f1f5f9;margin-bottom:6px}.call-kategorie{color:#94a3b8;font-size:.85rem;margin-bottom:8px}.call-address{color:#cbd5e1;font-size:.95rem;margin-bottom:6px}.call-prio{font-size:.9rem;color:#f59e0b;font-weight:600}.call-notification-actions{display:flex;gap:16px;justify-content:center}.call-panel{display:flex;flex-direction:column;gap:8px;container-type:inline-size}.call-card{padding:8px 10px;background:#0f172a;border-radius:6px;border-left:3px solid #475569;font-size:.8rem}.call-card.prio-border-1{border-left-color:#ef4444}.call-card.prio-border-2{border-left-color:#f97316}.call-patients-list{display:flex;flex-direction:column;gap:3px;margin:6px 0;padding:5px 8px;background:#ffffff0d;border-radius:4px;border:1px solid rgba(255,255,255,.1)}[data-theme=light] .call-patients-list{background:#00000008;border-color:#0000000d}.call-patient-entry{display:flex;align-items:center;justify-content:space-between}.p-status-tag{font-weight:700;text-transform:uppercase;font-size:.7rem;letter-spacing:.02em}.call-card.prio-border-3{border-left-color:#eab308}.call-card.prio-border-4{border-left-color:#3b82f6}.call-card.prio-border-5{border-left-color:#6b7280}.call-card.prio-1{border-left-color:#ef4444}.call-card.prio-1 .call-stichwort-sm,.call-card.prio-1 .call-id{color:#f87171}.call-card.prio-2{border-left-color:#f97316}.call-card.prio-2 .call-stichwort-sm,.call-card.prio-2 .call-id{color:#fb923c}.call-card.prio-3{border-left-color:#3b82f6}.call-card.prio-3 .call-stichwort-sm,.call-card.prio-3 .call-id{color:#60a5fa}.call-card.prio-4{border-left-color:#22c55e}.call-card.prio-4 .call-stichwort-sm,.call-card.prio-4 .call-id{color:#4ade80}.call-card.prio-5{border-left-color:#6b7280}.call-card.prio-5 .call-stichwort-sm,.call-card.prio-5 .call-id{color:#9ca3af}.call-card.resolved{opacity:.5;border-left-color:#475569;padding:6px 10px}.has-internal-call{border-left-color:#8b5cf6!important}.internal-call-banner{margin-top:8px;padding:8px 10px;background:#1e1035;border:1px solid #7c3aed;border-radius:6px;font-size:.78rem}.internal-call-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.internal-call-badge{background:#7c3aed;color:#fff;font-size:.65rem;font-weight:700;padding:1px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em}.internal-call-vehicle{font-weight:600;color:#c4b5fd;flex:1}.internal-call-time{font-size:.68rem;color:#6b7280}.internal-call-dialog{display:flex;flex-direction:column;gap:4px;padding:6px 0;border-top:1px solid #4c1d95;border-bottom:1px solid #4c1d95;margin-bottom:8px}.internal-call-line{display:flex;gap:8px;align-items:flex-start}.internal-call-speaker{font-size:.68rem;color:#7c3aed;font-weight:600;white-space:nowrap;min-width:100px}.internal-call-vehicle .internal-call-speaker{color:#a78bfa}.internal-call-text{color:#e2e8f0;font-size:.78rem;line-height:1.4}.internal-call-action{width:100%;text-align:center}.internal-call-actions{display:flex;gap:6px;flex-wrap:wrap}.call-update-entry.update-alert{background:#ef444414;border-left:2px solid #ef4444;border-radius:4px;padding:2px 6px}.radio-dialog .dialog-frame-content{min-width:380px;max-width:520px}.radio-dialog-embedded{display:flex;flex-direction:column;flex:1;min-height:0}.radio-dialog-embedded .ampds-embedded-header{padding:10px 14px 6px;border-bottom:1px solid #1e293b;flex-shrink:0}.radio-dialog-embedded .ampds-embedded-body{flex:1;min-height:0;overflow-y:auto;padding:8px 10px;display:flex;flex-direction:column;gap:8px}.radio-dialog-embedded .ampds-embedded-footer{flex-shrink:0;padding:8px 10px;border-top:1px solid #1e293b}.radio-chat-embedded{flex:1;min-height:60px;max-height:none!important;overflow-y:auto}.radio-live-indicator{display:flex;align-items:center;gap:5px;margin-left:auto;font-size:.68rem;font-weight:700;color:#3b82f6}.radio-dialog-body{display:flex;flex-direction:column;gap:8px}.radio-dialog-info{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#0f172a;border-radius:6px;font-size:.75rem}.radio-unit-badge{font-weight:700;color:#e2e8f0}.radio-call-ref{font-size:.68rem;color:#64748b;font-family:monospace}.radio-type-badge{margin-left:auto;font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:4px}.radio-type-badge.radio-type-nef_nachforderung{background:#7f1d1d;color:#fca5a5}.radio-type-badge.radio-type-nef_nicht_noetig{background:#14532d;color:#86efac}.radio-type-badge.radio-type-kein_patient{background:#1c1917;color:#a8a29e}.radio-chat{display:flex;flex-direction:column;gap:6px;min-height:160px;max-height:280px;overflow-y:auto;padding:8px;background:#0f172a;border-radius:6px}.radio-chat::-webkit-scrollbar{width:4px}.radio-chat::-webkit-scrollbar-thumb{background:#334155;border-radius:2px}.radio-msg{display:flex;flex-direction:column;gap:2px;padding:5px 8px;border-radius:5px;font-size:.78rem;animation:fadeInMsg .3s ease}@keyframes fadeInMsg{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.radio-msg-leitstelle{background:#1e3a5f;border-left:2px solid #3b82f6}.radio-msg-vehicle{background:#1a1a2e;border-left:2px solid #7c3aed;align-self:flex-end;max-width:88%}.radio-msg-label{font-size:.65rem;color:#64748b;font-weight:600}.radio-msg-text{color:#e2e8f0;line-height:1.4}.radio-msg-time{font-size:.62rem;color:#475569;align-self:flex-end}.radio-msg-typing{display:flex;align-items:center;padding:6px 10px}.radio-typing-dots{display:flex;gap:4px}.radio-typing-dots span{width:6px;height:6px;background:#475569;border-radius:50%;animation:typingBounce 1.2s ease-in-out infinite}.radio-typing-dots span:nth-child(2){animation-delay:.2s}.radio-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.radio-dialog-waiting{display:flex;align-items:center;gap:8px;color:#64748b;font-size:.78rem}.radio-pulse-dot{width:8px;height:8px;background:#3b82f6;border-radius:50%;animation:radioPulse 1s ease-in-out infinite}@keyframes radioPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.call-card-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.call-id{font-weight:700;font-family:monospace;font-size:.8rem}.call-status-badge{margin-left:auto;font-size:.65rem;color:#94a3b8;text-transform:uppercase}.call-stichwort-sm{font-weight:600;margin-bottom:2px}.call-stichwort-inline{margin-left:6px;font-weight:500;color:#cbd5e1}.call-address-sm{color:#94a3b8;font-size:.75rem}.call-meldung{color:#cbd5e1;font-size:.75rem;margin:4px 0;font-style:italic;line-height:1.3}.call-patient{color:#94a3b8;font-size:.72rem}.call-transport-ziel{color:#38bdf8;font-size:.72rem;font-weight:600}.call-card-actions{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.dispatched-vehicles{margin-top:6px}.dv-header{font-size:.72rem;color:#94a3b8;text-transform:uppercase;margin-bottom:4px}.dv-row{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:.78rem;cursor:pointer}.dv-row:hover{background:#1a2744;border-radius:4px}.dv-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dv-status{color:#94a3b8;font-size:.7rem;white-space:nowrap;flex-shrink:0}.dv-status-short{display:none}.dv-status-long{display:inline}.dispatch-dialog{background:#1e293b;border:1px solid #475569;border-radius:12px;padding:20px 24px;min-width:800px;max-width:950px;max-height:80vh;overflow-y:auto}.dispatch-dialog h3{font-size:1rem;margin-bottom:8px}.dispatch-address{color:#94a3b8;font-size:.85rem;margin-bottom:4px}.dispatch-rec{color:#f59e0b;font-size:.8rem;margin-bottom:12px;font-weight:600}.dispatch-vehicle-list{margin-bottom:16px}.dispatch-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.dispatch-col{min-width:0}.dvl-col-header{font-size:.75rem;color:#f59e0b;text-transform:uppercase;letter-spacing:.04em;font-weight:600;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #475569}.dispatch-hiorg-section{margin-bottom:12px;padding-top:8px;border-top:1px solid #334155}.dispatch-hiorg-section.dispatch-hiorg-top{border-top:none;border-bottom:1px solid #334155;padding-top:0;padding-bottom:10px;margin-bottom:14px}.dispatch-hiorg-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.dvl-header{display:flex;gap:8px;font-size:.7rem;color:#64748b;text-transform:uppercase;padding:4px 0;border-bottom:1px solid #334155}.dvl-header span{flex:1}.dvl-row{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background .1s}.dvl-row:hover{background:#334155}.dvl-row.selected{background:#1e3a5f}.dvl-row.recommended{border-left:2px solid #f59e0b;padding-left:6px}.dvl-row input[type=checkbox]{accent-color:#3b82f6}.dvl-name{flex:1;display:flex;align-items:center;gap:5px}.dvl-schichtende-badge{font-size:.62rem;font-weight:600;padding:1px 5px;border-radius:3px;background:#7c3aed;color:#ede9fe;white-space:nowrap;letter-spacing:.02em}.dvl-station{flex:1;color:#94a3b8;font-size:.72rem}.dvl-dist{color:#64748b;font-size:.72rem;min-width:55px;text-align:right}.dispatch-dialog-actions{display:flex;gap:8px;justify-content:flex-end}.dvl-show-all{width:100%;margin:6px 0;text-align:center;color:#60a5fa}.dvl-section-label{font-size:.7rem;color:#f59e0b;text-transform:uppercase;letter-spacing:.04em;padding:8px 0 4px;border-top:1px solid #334155;margin-top:4px;font-weight:600}.dispatch-mpds{font-family:JetBrains Mono,monospace;color:#f59e0b;font-weight:700;font-size:.85rem;margin-bottom:4px}.dvl-busy{opacity:.7}.dvl-busy:hover{opacity:1}.dvl-busy-header{margin-top:10px;color:#ef4444;border-bottom-color:#7f1d1d}.dvl-busy-info{flex:1;color:#f87171;font-size:.7rem}.dispatch-extra-sections{display:flex;gap:16px;margin-top:10px;padding-top:10px;border-top:1px solid #334155}.dispatch-col-fw,.dispatch-col-pol{flex:1;min-width:0}.dispatch-fw-header{color:#f87171!important}.dispatch-pol-header{color:#60a5fa!important}.dispatch-auto-ctrl{display:flex;align-items:center;gap:8px;padding:8px 0 6px}.dispatch-auto-btn{width:28px;height:28px;border-radius:6px;border:1px solid #475569;background:#1e293b;color:#e2e8f0;font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .1s}.dispatch-auto-btn:hover{background:#334155}.dispatch-auto-count{font-size:1.1rem;font-weight:700;color:#f1f5f9;min-width:20px;text-align:center}.dispatch-auto-label{font-size:.78rem;color:#94a3b8}.dispatch-auto-row{opacity:.85;border-left:2px solid #3b82f6;padding-left:6px;cursor:default}.vl-section-fw{color:#f87171}.vl-section-pol{color:#60a5fa}.reassign-dialog{max-width:550px;min-width:400px}.dialog-frame .reassign-dialog{padding:16px 20px}.reassign-warning{color:#fbbf24;font-size:.85rem;margin-bottom:12px}.reassign-list{margin-bottom:16px}.reassign-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#1e293b;border:1px solid #7f1d1d;border-radius:6px;margin-bottom:6px;font-size:.82rem}.reassign-from{color:#f87171;font-size:.75rem;margin-left:auto}.station-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.station-detail-header h3{font-size:.95rem}.station-detail-address{color:#94a3b8;font-size:.8rem;margin-bottom:12px}.station-vehicle-section{margin-bottom:12px}.station-vehicle-section h4{font-size:.75rem;color:#64748b;text-transform:uppercase;margin-bottom:6px;letter-spacing:.03em}.station-vehicle-card{background:#0f172a;border-radius:6px;padding:8px 10px;margin-bottom:6px}.station-vehicle-card.on-call{opacity:.7}.svc-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.svc-name{font-weight:600;font-size:.85rem}.svc-status{font-size:.72rem;color:#94a3b8;margin-bottom:3px}.status-dot{width:8px;height:8px;border-radius:50%;margin-left:auto}.status-dot.available,.status-dot.EB{background:#22c55e}.status-dot.alarmiert{background:#f59e0b}.status-dot.ZBO{background:#3b82f6}.status-dot.BO{background:#a855f7}.status-dot.ZAO{background:#ef4444}.status-dot.AO{background:#64748b}.svc-crew{margin-top:4px}.crew-row{display:flex;gap:6px;align-items:center;font-size:.75rem;padding:1px 0}.crew-qual{background:#334155;padding:1px 5px;border-radius:3px;font-size:.65rem;font-weight:600;min-width:40px;text-align:center}.crew-name{color:#cbd5e1}.crew-qual-full{color:#64748b;font-size:.65rem;margin-left:auto}.vehicle-list{display:flex;flex-direction:column;gap:3px;container-type:inline-size}.vl-section-title{font-size:.7rem;color:#64748b;text-transform:uppercase;padding:4px 0 2px}.vl-section-title.status-group-2{color:#10b981}.vl-section-title.status-group-1{color:#06b6d4}.vl-section-title.status-group-DP{color:#f59e0b}.vl-section-title.status-group-3{color:#3b82f6}.vl-section-title.status-group-4{color:#a855f7}.vl-section-title.status-group-5{color:#c0506a;font-weight:600}.vl-section-title.status-group-6,.vl-section-title.status-group-7{color:#ef4444}.vl-section-title.status-group-8{color:#64748b}.vl-section-title.status-group-0{color:#475569}.vl-pinned-radio{position:sticky;top:0;z-index:10;background:#3a1010;border-left:3px solid #b03030;border-bottom:1px solid #5a2020;padding:4px 6px 6px;margin-bottom:6px}[data-theme=light] .vl-pinned-radio{background:#f5e0e0;border-left-color:#9a2828;border-bottom-color:#d8b8b8}.vl-pinned-header{font-size:.72rem;font-weight:600;color:#c87878;letter-spacing:.03em}[data-theme=light] .vl-pinned-header{color:#9a2828}.vehicle-row{display:flex;align-items:center;gap:6px;padding:4px 6px;background:#0f172a;border-radius:4px;font-size:.78rem;cursor:pointer;transition:all .15s}.vehicle-row:hover{background:#1e293b}.vehicle-row.active{background:#172033}.vehicle-row.radio-request{background:#3f1f1f;border-left:2px solid #ff1493;padding-left:4px}.vehicle-row.radio-request:hover{background:#5f2f2f}.vehicle-row.status-0{opacity:.45;filter:grayscale(80%);cursor:default}.vehicle-row.status-0:hover{background:#0f172a;opacity:.55}.vehicle-status-badge{display:inline-flex;align-items:center;gap:3px;font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:3px;white-space:nowrap}.status-icon{font-size:.9rem}.status-label{color:#e2e8f0}.status-duration{color:#94a3b8;font-size:.65rem;font-weight:400}.vehicle-status-badge.status-0{background:var(--status0-bg);color:var(--status0-fg)}.vehicle-status-badge.status-1{background:var(--status1-bg);color:var(--status1-fg)}.vehicle-status-badge.status-2{background:var(--status2-bg);color:var(--status2-fg)}.vehicle-status-badge.status-DP{background:var(--statusDP-bg);color:var(--statusDP-fg)}.vehicle-status-badge.status-3{background:var(--status3-bg);color:var(--status3-fg)}.vehicle-status-badge.status-4{background:var(--status4-bg);color:var(--status4-fg)}.vehicle-status-badge.status-5{background:var(--status5-bg);color:var(--status5-fg);font-weight:600;animation:pulse-alert 2.5s ease-in-out infinite}.vehicle-status-badge.status-6{background:var(--status6-bg);color:var(--status6-fg)}.vehicle-status-badge.status-7{background:var(--status7-bg);color:var(--status7-fg)}.vehicle-status-badge.status-8{background:var(--status8-bg);color:var(--status8-fg)}@keyframes pulse-alert{0%,to{opacity:1}50%{opacity:.65}}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.7}}.vl-name{flex:1}.vl-status{font-size:.7rem;font-weight:600}.vl-call{font-size:.65rem;color:#64748b;font-family:monospace}.vl-location{font-size:.72rem;color:#94a3b8;font-style:italic;margin-right:4px}[data-theme=light] .vl-location{color:var(--text-muted)}.vehicle-btn{padding:3px 8px;font-size:.65rem;background:#1e293b;border:1px solid #334155;color:#e2e8f0;border-radius:3px;cursor:pointer;transition:all .1s;white-space:nowrap}.vehicle-btn:hover{background:#334155;border-color:#475569}.vehicle-btn-respond{background:#1e40af;border-color:#3b82f6;color:#93c5fd;flex-shrink:0}.vehicle-btn-respond:hover{background:#1e3a8a;border-color:#60a5fa}.vehicle-btn-available{background:#064e3b;border-color:#10b981;color:#86efac}.vehicle-btn-available:hover{background:#047857;border-color:#34d399}.vehicle-btn-unavailable{background:#5f2a2a;border-color:#dc2626;color:#fca5a5}.vehicle-btn-unavailable:hover{background:#7f3c3c;border-color:#ef4444}.vehicle-status-dropdown-wrapper{position:relative;display:inline-block}.vehicle-status-button{display:inline-flex;align-items:center;gap:3px;font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:3px;background:#1e293b;border:1px solid #334155;color:#e2e8f0;cursor:pointer;white-space:nowrap;transition:all .15s;min-width:0}.status-label-long{display:inline}.status-label-short{display:none}@container (max-width: 360px){.has-call .status-label-long{display:none}.has-call .status-label-short{display:inline}}@container (max-width: 320px){.v-status-3 .status-label-long,.v-status-4 .status-label-long,.v-status-7 .status-label-long,.v-status-8 .status-label-long{display:none}.v-status-3 .status-label-short,.v-status-4 .status-label-short,.v-status-7 .status-label-short,.v-status-8 .status-label-short{display:inline}.v-status-5 .btn-text{display:none}}@container (max-width: 260px){.status-label-long{display:none}.status-label-short{display:inline}.status-icon{display:none}.vehicle-status-button{padding:2px 4px}.vehicle-row{gap:3px;padding:4px 3px}}@container (max-width: 380px){.dv-status-long{display:none}.dv-status-short{display:inline}.dv-row{gap:4px}}.vehicle-status-button:hover{background:#334155;border-color:#475569}.status-code{font-family:monospace;font-size:.7rem;font-weight:700;color:#60a5fa}.status-icon{font-size:.9rem;display:inline-block;min-width:16px;text-align:center}.status-label-short{color:#cbd5e1;font-size:.7rem}.vehicle-status-dropdown-menu{position:absolute;top:100%;right:0;background:#0f172a;border:1px solid #334155;border-radius:4px;margin-top:2px;z-index:1000;min-width:220px;box-shadow:0 4px 12px #00000080;max-height:300px;overflow-y:auto}.dropdown-item{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;background:none;border:none;color:#cbd5e1;font-size:.75rem;cursor:pointer;text-align:left;transition:all .15s;font-family:system-ui,-apple-system,sans-serif}.dropdown-item:hover{background:#1e293b;color:#e2e8f0}.dropdown-item.active{background:#1e40af;color:#93c5fd;font-weight:600}.dropdown-code{font-family:monospace;font-size:.7rem;font-weight:700;color:#60a5fa;min-width:30px}.vl-toolbar{display:flex;align-items:center;justify-content:flex-end;padding:3px 2px 5px}.vl-sort-wrapper{position:relative}.vl-sort-btn{display:flex;align-items:center;gap:4px;padding:3px 9px;font-size:.72rem;font-weight:600;color:#94a3b8;background:transparent;border:1px solid #334155;border-radius:5px;cursor:pointer;transition:border-color .15s,color .15s}.vl-sort-btn:hover{border-color:#64748b;color:#cbd5e1}.vl-sort-dropdown{position:absolute;right:0;top:calc(100% + 4px);z-index:200;min-width:220px;background:#1e2433;border:1px solid #334155;border-radius:7px;box-shadow:0 6px 24px #0006;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.vl-sort-row{display:flex;align-items:center;gap:8px}.vl-sort-label{font-size:.68rem;font-weight:700;text-transform:uppercase;color:#64748b;width:36px;flex-shrink:0}.vl-sort-select{flex:1;background:#0f172a;color:#cbd5e1;border:1px solid #334155;border-radius:4px;padding:3px 6px;font-size:.75rem;cursor:pointer}.vl-sort-select:focus{outline:none;border-color:#3b82f6}.vl-sort-swap-row{display:flex;justify-content:center}.vl-sort-swap-btn{font-size:.7rem;color:#3b82f6;background:transparent;border:1px solid #1d4ed8;border-radius:4px;padding:2px 10px;cursor:pointer;transition:background .15s}.vl-sort-swap-btn:hover{background:#1e3a5f}.vl-empty{padding:12px;text-align:center;color:#64748b;font-size:.8rem}.resolved-section{margin-top:8px}.resolved-section summary{cursor:pointer;color:#64748b;font-size:.75rem;padding:4px 0}.dashboard-right::-webkit-scrollbar{width:6px}.dashboard-right::-webkit-scrollbar-track{background:#1e293b}.dashboard-right::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}.tab-bar{display:flex;border-bottom:1px solid #334155;background:#0f172a}.tab-btn{flex:1;padding:8px 12px;background:none;border:none;border-bottom:2px solid transparent;color:#94a3b8;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px;-webkit-user-select:none;user-select:none}@media (min-width: 769px){.tab-btn{cursor:grab}.tab-btn:active{cursor:grabbing}}.tab-btn:hover{color:#e2e8f0;background:#1e293b}.tab-btn.active{color:#3b82f6;border-bottom-color:#3b82f6;background:#1e293b}.tab-btn.dragging{opacity:.5;background:#334155}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700}.tab-badge-info{background:#3b82f6}.tab-content{flex:1;overflow-y:auto}.station-list{display:flex;flex-direction:column;gap:4px}.station-list-item{padding:8px 10px;background:#0f172a;border-radius:5px;cursor:pointer;transition:background .1s}.station-list-item:hover{background:#172033}.station-list-name{font-weight:600;font-size:.85rem}.station-list-meta{color:#64748b;font-size:.72rem;margin-top:2px}.btn-transfer{background:#7c3aed;border-color:#8b5cf6}.btn-transfer:hover{background:#6d28d9}.transfer-dropdown{margin-top:6px;padding:8px;background:#172033;border:1px solid #334155;border-radius:6px;display:flex;flex-direction:column;gap:4px}.transfer-title{font-size:.72rem;color:#94a3b8;text-transform:uppercase;margin-bottom:2px}.transfer-option{text-align:left;padding:6px 8px;background:#1e293b;border:1px solid #334155;border-radius:4px;color:#e2e8f0;font-size:.78rem;cursor:pointer;transition:background .1s}.transfer-option:hover{background:#334155}.transfer-target{color:#8b5cf6;font-size:.7rem;margin-left:6px}.call-card.transferred{opacity:.6;border-left-color:#7c3aed;padding:6px 10px}.pending-count{color:#94a3b8;font-size:.8rem;margin-bottom:12px}.vtype-KTW{background:#0891b2}.ampds-dialog{background:#1e293b;border:1px solid #475569;border-radius:12px;width:90vw;max-width:900px;height:80vh;display:flex;flex-direction:column;overflow:hidden}.ampds-body{flex:1;display:flex;overflow:hidden}.ampds-chat{flex:1;min-width:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.ampds-chat::-webkit-scrollbar{width:5px}.ampds-chat::-webkit-scrollbar-track{background:#1e293b}.ampds-chat::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}.ampds-msg{padding:8px 12px;border-radius:8px;max-width:85%;width:fit-content;min-width:0;word-break:break-word;overflow-wrap:anywhere;font-size:.82rem;line-height:1.4}.ampds-msg-dispatcher{background:#1e3a5f;align-self:flex-end;border-bottom-right-radius:2px}.ampds-msg-caller{background:#334155;align-self:flex-start;border-bottom-left-radius:2px}.ampds-msg-system{background:#172033;align-self:center;text-align:center;font-size:.72rem;color:#94a3b8;border:1px solid #334155;max-width:100%}.ampds-msg-label{display:block;font-size:.65rem;color:#94a3b8;margin-bottom:2px}.ampds-msg-text{display:block}.ampds-msg-time{display:block;font-size:.6rem;color:#64748b;text-align:right;margin-top:4px}.ampds-typing{animation:typingPulse 1s ease-in-out infinite}@keyframes typingPulse{0%,to{opacity:1}50%{opacity:.5}}.ampds-info{width:240px;border-left:1px solid #334155;padding:12px;overflow-y:auto;background:#0f172a}.ampds-info-section{margin-bottom:14px}.ampds-info-section h4{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.ampds-detail-row{display:flex;justify-content:space-between;font-size:.78rem;padding:3px 0;border-bottom:1px solid #1e293b}.ampds-detail-row span:first-child{color:#94a3b8}.ampds-units{display:flex;gap:4px;flex-wrap:wrap}.ampds-actions{padding:12px 16px;border-top:1px solid #334155;background:#0f172a;flex-shrink:0}.fw-window-ampds .fw-body{overflow:hidden;display:flex;flex-direction:column;min-width:0}.fw-window-ampds .dialog-frame-embedded,.fw-window-ampds .radio-dialog-embedded{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;width:100%;height:100%}.fw-window-ampds .dialog-frame-embedded .dialog-frame-body{flex:1;min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;width:100%}.fw-window-ampds .dialog-frame-embedded .ampds-dialog{flex:1;min-height:0;min-width:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;border:none;border-radius:0;display:flex;flex-direction:column}.fw-window-ampds .ampds-body{flex:1;min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;width:100%}.fw-window-ampds .ampds-chat{flex:1;min-height:0;overflow-y:auto;width:100%}.fw-window-ampds .ampds-actions{flex-shrink:0;max-height:42%;overflow-y:auto;padding:8px 10px;border-top:1px solid #334155;background:#0f172a;width:100%;box-sizing:border-box}.fw-window-ampds .ampds-actions>*{width:100%;box-sizing:border-box}.fw-window-ampds .ampds-choices,.fw-window-ampds .ampds-instructions,.fw-window-ampds .ampds-summary{width:100%;align-items:stretch}.fw-window-ampds .ampds-actions .btn{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;white-space:normal;word-break:break-word;overflow-wrap:anywhere;line-height:1.25;text-align:center}.fw-window-ampds .ampds-instr-row{align-items:flex-start;min-width:0;word-break:break-word;overflow-wrap:anywhere}.fw-window-ampds .ampds-instr-row>span{flex:1;min-width:0;word-break:break-word;overflow-wrap:anywhere}.fw-window-ampds .dialog-frame-footer{min-width:0}.fw-window-ampds .dialog-frame-footer .dialog-footer-actions{width:100%;min-width:0;display:flex}.fw-window-ampds .dialog-frame-footer .btn,.fw-window-ampds .dialog-frame-footer .btn-lg{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;white-space:normal;word-break:break-word;overflow-wrap:anywhere;line-height:1.25}.fw-window-ampds .dialog-frame-footer{padding:6px 10px;flex-shrink:0}.fw-window-ampds .btn-lg{font-size:.78rem;padding:7px 12px;width:100%}.fw-window-ampds .ampds-chat{padding:8px;box-sizing:border-box}.fw-window-ampds .ampds-msg{font-size:.75rem;max-width:100%;box-sizing:border-box}.fw-window-ampds .ampds-msg-label{font-size:.6rem}.fw-window-ampds .ampds-choices-label{font-size:.68rem}.fw-window-ampds .ampds-caller-q-preview{font-size:.75rem;padding:5px 8px}.fw-window-ampds .btn.btn-small.btn-primary{font-size:.72rem;padding:5px 8px;white-space:normal;text-align:left;line-height:1.3}.fw-window-ampds .ampds-instr-row{font-size:.72rem;padding:5px 6px}.ampds-choices{display:flex;flex-direction:column;gap:6px}.ampds-choices-label{font-size:.72rem;color:#94a3b8;text-transform:uppercase;margin-bottom:2px}.ampds-caller-q-preview{font-size:.82rem;color:#e2e8f0;font-style:italic;padding:6px 10px;background:#334155;border-radius:6px;border-left:3px solid #3b82f6;margin-bottom:4px}.ampds-waiting{color:#64748b;font-size:.8rem;text-align:center;padding:4px}.ampds-instructions{display:flex;flex-direction:column;gap:6px}.ampds-instr-row{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;background:#1e293b;border:1px solid #334155;border-radius:4px;cursor:pointer;font-size:.78rem;transition:background .1s}.ampds-instr-row:hover{background:#334155}.ampds-instr-row.selected{background:#1e3a5f;border-color:#3b82f6}.ampds-instr-row input[type=checkbox]{accent-color:#3b82f6;margin-top:2px}.ampds-summary{display:flex;flex-direction:column;gap:10px}.ampds-summary-header{font-size:.85rem;font-weight:700;color:#e2e8f0}.ampds-priority-select{display:flex;align-items:center;gap:8px;font-size:.82rem}.ampds-priority-select label{color:#94a3b8}.ampds-priority-select select{padding:4px 8px;background:#0f172a;border:1px solid #475569;border-radius:4px;color:#e2e8f0;font-size:.82rem}.ampds-summary-actions{display:flex;gap:8px;align-items:center}.btn-lg{padding:10px 20px;font-size:.9rem}.mpds-code{font-family:Consolas,Courier New,monospace;font-weight:700;color:#f59e0b;letter-spacing:.05em}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999}.ampds-overlay-bg{background:#000000d9;z-index:10001}.dialog-frame{background:#1e293b;border:1px solid #475569;border-radius:12px;min-width:800px;max-width:950px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.dialog-frame-wide{width:80vw;max-width:1400px;height:80vh}.dialog-frame-embedded{width:100%;height:100%;min-height:0;border:none;border-radius:0;background:transparent;flex:1;display:flex;flex-direction:column}.dialog-frame-embedded .dialog-frame-header{display:none}.dialog-frame-embedded .dialog-frame-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.dialog-frame-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#0f172a;border-bottom:1px solid #334155;min-height:44px}.dialog-frame-title-area{display:flex;flex-direction:column;gap:1px;min-width:0}.dialog-frame-title{font-weight:700;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dialog-frame-subtitle{color:#94a3b8;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dialog-frame-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.dialog-ctrl-btn{width:28px;height:28px;border:1px solid #475569;border-radius:6px;background:#1e293b;color:#94a3b8;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.dialog-ctrl-btn:hover{background:#334155;color:#e2e8f0}.dialog-ctrl-close:hover{background:#dc2626;border-color:#dc2626;color:#fff}.dialog-frame-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}.dialog-frame-footer{flex-shrink:0;padding:10px 16px;border-top:1px solid #334155;background:#0f172a}.dialog-footer-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.dialog-frame .ampds-dialog{border:none;border-radius:0;width:100%;height:100%;max-width:none;flex:1;min-height:0}.dialog-frame .ampds-body{flex:1;min-height:0}.dialog-frame .dispatch-dialog{border:none;border-radius:0;min-width:0;max-width:none;max-height:none;padding:16px 20px}.minimized-tray{position:fixed;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:9998}.minimized-chip{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#1e293b;border:1px solid #475569;border-radius:8px;color:#e2e8f0;font-size:.8rem;font-weight:600;cursor:pointer;box-shadow:0 4px 16px #0006;transition:all .15s}.minimized-chip:hover{background:#334155;transform:translateY(-2px);box-shadow:0 6px 20px #00000080}.minimized-chip.undispatched{border-color:#ef4444}.heartbeat-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#ef4444;animation:heartbeat 1.2s ease-in-out infinite;flex-shrink:0}@keyframes heartbeat{0%{transform:scale(1);opacity:1}15%{transform:scale(1.35);opacity:1}30%{transform:scale(1);opacity:1}45%{transform:scale(1.2);opacity:1}60%{transform:scale(1);opacity:.8}to{transform:scale(1);opacity:1}}.status-bar{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:0;padding:0 12px;height:32px;background:#0f172aeb;border-top:1px solid #334155;z-index:800;font-size:.72rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sb-section{display:flex;align-items:center;gap:6px;padding:0 10px;white-space:nowrap}.sb-divider{width:1px;height:18px;background:#334155;flex-shrink:0}.sb-spacer{flex:1}.sb-users{display:flex;gap:8px;align-items:center}.sb-user{font-size:.7rem;padding:2px 6px;border-radius:4px;background:#1e293b;white-space:nowrap}.sb-user-free{color:#22c55e}.sb-user-busy{color:#f59e0b}.sb-clock{font-family:Consolas,Courier New,monospace}.sb-time{font-size:.82rem;font-weight:700;color:#e2e8f0;letter-spacing:.05em}.sb-date{color:#64748b;font-size:.68rem}.sb-shift{color:#94a3b8;font-size:.7rem}.sb-vehicles{display:flex;gap:8px}.sb-vtype{display:flex;align-items:center;gap:3px}.sb-vtype .vtype-badge{font-size:.58rem;padding:0 4px}.sb-vcount{color:#94a3b8;font-size:.68rem;font-family:Consolas,monospace}.sb-vtype-empty .sb-vcount{color:#ef4444;font-weight:700}.sb-calls{display:flex;gap:8px}.sb-call-stat{font-weight:600}.sb-incoming{color:#ef4444}.sb-held{color:#f59e0b}.sb-dispatched{color:#3b82f6}.sb-idle{color:#475569;font-weight:400}.sb-mute-btn{width:26px;height:26px;border:1px solid #475569;border-radius:5px;background:#1e293b;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:all .15s}.sb-mute-btn:hover{background:#334155}.sb-muted{background:#7f1d1d;border-color:#dc2626}.sb-partial-muted{background:#451a03;border-color:#f97316}.sb-sound-menu{position:absolute;bottom:calc(100% + 6px);right:0;min-width:220px;background:#1e293b;border:1px solid #334155;border-radius:8px;box-shadow:0 4px 20px #00000080;z-index:9999;overflow:hidden}.sb-sound-menu-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #334155;font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.sb-sound-all-btn{background:none;border:1px solid #475569;border-radius:4px;color:#cbd5e1;font-size:.7rem;padding:2px 7px;cursor:pointer;white-space:nowrap}.sb-sound-all-btn:hover{background:#334155}.sb-sound-row{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer;font-size:.82rem;color:#e2e8f0;transition:background .1s}.sb-sound-row:hover{background:#263348}.sb-sound-row.sb-sound-muted{color:#64748b}.sb-sound-icon{font-size:1rem;flex-shrink:0}.sb-sound-label{flex:1}.sb-sound-check{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.sb-shortcuts{display:flex;gap:6px}.sb-shortcut{color:#475569;font-size:.6rem;font-family:Consolas,monospace;letter-spacing:.03em}.sb-nicht-disp{color:#a855f7}.status-bar-sidebar{position:absolute;top:0;left:0;bottom:0;width:44px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:130px 4px 6px;background:#0f172ae6;border-right:1px solid #334155;z-index:800;font-size:.68rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:visible}.sbs-section{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.sbs-clock{font-family:Consolas,Courier New,monospace}.sbs-clock .sb-time{font-size:.72rem;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.05em}.sbs-clock .sb-date{display:none}.sbs-divider{width:80%;height:1px;background:#334155;flex-shrink:0;margin:2px 0}.sbs-spacer{flex:1}.status-bar-sidebar .sb-vehicles{flex-direction:column;gap:3px}.status-bar-sidebar .sb-vtype{flex-direction:column;gap:1px}.status-bar-sidebar .sb-vtype .vtype-badge{font-size:.52rem;padding:0 2px}.status-bar-sidebar .sb-vcount{font-size:.6rem}.status-bar-sidebar .sb-calls{flex-direction:column;gap:4px;align-items:center}.status-bar-sidebar .sb-call-stat{font-size:.68rem}.status-bar-sidebar .sb-mute-btn{width:28px;height:28px}.status-bar-sidebar .sb-sound-menu{bottom:auto;right:auto;top:0;left:calc(100% + 6px);min-width:200px}.elapsed-time{font-size:.68rem;font-family:Consolas,Courier New,monospace;color:#64748b;letter-spacing:.03em}.status-elapsed{font-size:.65rem;font-family:Consolas,monospace;color:#94a3b8;margin-left:4px}.dispatch-assigned{background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:6px;padding:6px 8px;margin-bottom:8px}.dvl-assigned{opacity:.85}.elapsed-warn{color:#f59e0b;font-weight:700}.call-elapsed{font-size:1.1rem;font-family:Consolas,Courier New,monospace;color:#94a3b8;margin-bottom:8px;letter-spacing:.05em}.call-elapsed-warn{color:#ef4444;font-weight:700}kbd{display:inline-block;padding:1px 5px;border:1px solid #475569;border-radius:3px;background:#0f172a;color:#94a3b8;font-family:Consolas,monospace;font-size:.7rem;margin-left:6px;vertical-align:middle}.call-card-updated{border-left-color:#f59e0b!important;animation:pulse-update 1.5s ease-in-out infinite}@keyframes pulse-update{0%,to{box-shadow:0 0 #f59e0b4d}50%{box-shadow:0 0 8px 2px #f59e0b66}}.call-updates{margin-top:6px;padding:6px 8px;background:#1a2744;border-radius:6px;border-left:3px solid #f59e0b}.call-update-entry{display:flex;align-items:flex-start;gap:6px;font-size:.75rem;color:#e2e8f0;padding:3px 0}.call-update-icon{flex-shrink:0}.call-update-text{flex:1}.call-update-time{flex-shrink:0;color:#64748b;font-size:.65rem;font-family:Consolas,monospace}.btn-session{background:#1e40af;border-color:#3b82f6;font-size:.75rem;color:#fff}.session-create,.session-join{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.session-create input,.session-join input{flex:1;padding:6px 10px;border:1px solid #475569;border-radius:6px;background:#0f172a;color:#e2e8f0;font-size:.85rem}.session-create input:focus,.session-join input:focus{outline:none;border-color:#3b82f6}.session-seed-select{padding:6px 10px;border:1px solid #475569;border-radius:6px;background:#0f172a;color:#e2e8f0;font-size:.85rem;min-width:140px}.session-seed-select:focus{outline:none;border-color:#3b82f6}.session-seed-desc{width:100%;font-size:.75rem;color:#94a3b8;padding:2px 4px;font-style:italic}.btn-session{background:#1e40af;border-color:#3b82f6;font-size:.75rem}.btn-session:hover{background:#1d4ed8}.header-users{color:#60a5fa;font-size:.8rem;background:#3b82f626;padding:2px 8px;border-radius:10px}.session-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999}.session-dialog{background:#1e293b;border:1px solid #475569;border-radius:12px;padding:20px;min-width:420px;max-width:520px;max-height:80vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.session-dialog-header{display:flex;justify-content:space-between;align-items:center}.session-dialog-header h2{font-size:1.1rem;color:#f1f5f9}.session-error{color:#ef4444;font-size:.8rem;padding:6px 10px;background:#ef44441a;border-radius:6px}.session-list{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto}.session-loading,.session-empty{color:#64748b;text-align:center;padding:16px;font-size:.85rem}.session-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid #334155;border-radius:8px;cursor:pointer;transition:background .15s}.session-item:hover{background:#334155}.session-item.active{border-color:#3b82f6;background:#3b82f61a}.session-item-info{flex:1;min-width:0}.session-item-name{font-size:.9rem;color:#e2e8f0;display:flex;align-items:center;gap:8px}.session-active-badge{font-size:.65rem;background:#2563eb;color:#fff;padding:1px 6px;border-radius:4px}.session-item-meta{font-size:.72rem;color:#64748b;margin-top:2px}.session-item-actions{display:flex;gap:4px;margin-left:8px}.session-share-box{background:#0f172a;border:1px solid #334155;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px;align-items:center}.session-share-box .session-rename-input{background:#1e293b;border:1px solid #3b82f6;border-radius:4px;color:#f1f5f9;font-size:.9rem;padding:2px 6px;width:100%;outline:none}.session-share-label{font-size:.8rem;color:#94a3b8}.session-share-key{font-size:1.5rem;font-weight:800;letter-spacing:4px;color:#60a5fa;font-family:monospace}.btn-workspace{background:#4338ca;border-color:#6366f1;font-size:.75rem;color:#fff}.btn-workspace:hover{background:#3730a3}.ws-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999}.ws-dialog{background:#1e293b;border:1px solid #475569;border-radius:12px;padding:16px;width:min(580px,92vw);max-height:86vh;display:flex;flex-direction:column;gap:12px}.ws-header{display:flex;justify-content:space-between;align-items:center}.ws-header h2{font-size:1.1rem;color:#f1f5f9}.ws-hint{font-size:.78rem;color:#94a3b8;line-height:1.4}.ws-slots{display:flex;flex-direction:column;gap:6px;overflow-y:auto}.ws-slot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:#0f172a;border:1px solid #334155;border-radius:8px}.ws-slot-filled{border-color:#4338ca}.ws-slot-default{border-color:#d97706;background:#1c1505}.ws-default-badge{display:inline-block;margin-left:4px;font-size:.75rem;line-height:1}.ws-default-active{background:#451a03;border-color:#f59e0b;color:#fde68a}.ws-slot-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.ws-slot-num{font-size:.85rem;font-weight:700;color:#818cf8;background:#1e1b4b;border:1px solid #4338ca;border-radius:6px;padding:4px 8px;min-width:36px;text-align:center}.ws-slot-text{flex:1;min-width:0}.ws-slot-name{font-size:.9rem;color:#e2e8f0;font-weight:600;cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-empty-label{color:#64748b;font-style:italic;font-weight:400}.ws-slot-date{font-size:.7rem;color:#64748b;margin-top:2px}.ws-rename-input{background:#1e293b;border:1px solid #6366f1;border-radius:4px;padding:4px 8px;color:#e2e8f0;font-size:.9rem;width:100%}.ws-rename-input:focus{outline:none}.ws-slot-actions{display:flex;gap:4px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.ws-footer{display:flex;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid #334155}.ampds-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;height:100%;color:#64748b;text-align:center}.ampds-empty-icon{font-size:2.4rem;opacity:.5}.ampds-empty-title{font-size:1rem;font-weight:600;color:#94a3b8}.ampds-empty-hint{font-size:.8rem;color:#64748b;max-width:260px}.mobile-call-buttons{position:fixed;right:16px;bottom:calc(72px + env(safe-area-inset-bottom));display:flex;flex-direction:column-reverse;gap:12px;z-index:9000;pointer-events:none}.mobile-call-buttons button{pointer-events:auto}.mcb-btn{width:60px;height:60px;border-radius:50%;background:#16a34a;color:#fff;border:2px solid #064e3b;box-shadow:0 6px 18px #0006;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:transform .1s;position:relative}.mcb-btn:active{transform:scale(.92)}.mcb-icon{font-size:1.7rem;line-height:1}.mcb-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#dc2626;color:#fff;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #0f172a}@keyframes mcb-pulse{0%{box-shadow:0 0 #dc2626b3,0 6px 18px #0006;background:#dc2626}70%{box-shadow:0 0 0 18px #dc262600,0 6px 18px #0006;background:#16a34a}to{box-shadow:0 0 #dc262600,0 6px 18px #0006;background:#dc2626}}.mcb-blink{animation:mcb-pulse 1.2s infinite;border-color:#7f1d1d}.mcb-btn-internal{background:#2563eb;border-color:#1e3a8a}.mcb-badge-internal{background:#6366f1}@keyframes mcb-pulse-blue{0%{box-shadow:0 0 #2563ebb3,0 6px 18px #0006;background:#1d4ed8}70%{box-shadow:0 0 0 18px #2563eb00,0 6px 18px #0006;background:#2563eb}to{box-shadow:0 0 #2563eb00,0 6px 18px #0006;background:#1d4ed8}}.mcb-blink-blue{animation:mcb-pulse-blue 1.2s infinite;border-color:#1e3a8a}.mcb-row-internal{border-color:#2563eb;border-left:4px solid #2563eb}.sheet-header-internal h3{color:#93c5fd}.internal-type-label{font-weight:700;color:#60a5fa;text-transform:uppercase}.btn-internal{background:#2563eb!important;border-color:#3b82f6!important}.mcb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;z-index:9999}.mcb-sheet{background:#1e293b;width:100%;max-width:560px;max-height:90vh;border-radius:16px 16px 0 0;border:1px solid #475569;border-bottom:none;display:flex;flex-direction:column;padding:12px 12px calc(24px + env(safe-area-inset-bottom))}.mcb-sheet-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid #334155;margin-bottom:8px}.mcb-sheet-header h3{font-size:1rem;color:#f1f5f9}.mcb-close{background:transparent;border:none;color:#94a3b8;font-size:1.2rem;cursor:pointer;padding:4px 8px}.mcb-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;flex:1;min-height:0;padding-bottom:20px}.mcb-row{background:#0f172a;border:1px solid #334155;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.mcb-row-incoming{border-color:#dc2626}.mcb-row-waiting{border-color:#475569}.mcb-row-info{display:flex;flex-direction:column;gap:3px}.mcb-row-top{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#94a3b8}.mcb-row-label{font-weight:600}.mcb-row-stichwort{font-size:1.05rem;font-weight:700;color:#e2e8f0;line-height:1.3}.mcb-row-address{font-size:.9rem;color:#94a3b8;word-break:break-word;line-height:1.3}.mcb-row-actions{display:flex;gap:8px;flex-wrap:wrap}.mcb-row-actions .btn{flex:1;min-width:120px;min-height:44px;font-size:.95rem;padding:10px 14px}.phone-row-locked{opacity:.5;background:#1e293b!important;border-left-color:#64748b!important;animation:none!important}.phone-row-accepted-other{border-left-color:#f97316!important;opacity:.6}.phone-row-locked .phone-row-name{color:#64748b}.phone-row-locked .phone-row-stichwort{color:#475569}.locked-by-badge{display:inline-block;background:#f97316;color:#fff;font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:3px;margin-top:2px}.locked-indicator{font-size:.65rem;color:#64748b;font-style:italic}.call-card-locked{opacity:.5;background:#1e293b}.call-card-locked .call-stichwort-sm{color:#64748b}.call-card-locked .call-id{color:#475569}.mcb-btn-sprechwunsch{background:#be185d;border-color:#9d174d}.mcb-badge-sprechwunsch{background:#f472b6}@keyframes mcb-pulse-rose{0%{box-shadow:0 0 #be185db3,0 6px 18px #0006;background:#9d174d}70%{box-shadow:0 0 0 18px #be185d00,0 6px 18px #0006;background:#be185d}to{box-shadow:0 0 #be185d00,0 6px 18px #0006;background:#9d174d}}.mcb-blink-rose{animation:mcb-pulse-rose 1.2s infinite;border-color:#9d174d}.mcb-row-sprechwunsch{border-color:#be185d;border-left:4px solid #be185d}.sheet-header-sprechwunsch h3{color:#f9a8d4}.sprechwunsch-type-label{font-weight:700;color:#f472b6;text-transform:uppercase}.btn-sprechwunsch{background:#be185d!important;border-color:#db2777!important}.mobile-nav{display:none}@media (max-width: 768px){html{background:#0f172a}body{overflow:hidden;background:#0f172a}#root,.app{height:100dvh;overflow:hidden}.app-header{padding:max(6px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 6px max(10px,env(safe-area-inset-left));height:auto;min-height:44px;overflow:visible}.app-header:before{content:"";position:absolute;inset:auto 0 100% 0;height:100px;background:#1e293b;pointer-events:none;z-index:-1}.app-header h1{font-size:1rem}.header-user{display:none}.dashboard{flex:1;display:flex;flex-direction:column;height:auto;margin-bottom:calc(52px + env(safe-area-inset-bottom));position:relative;overflow:hidden}.dashboard-left{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.dashboard-right{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border-left:none;z-index:2;display:none}.dashboard-right.mobile-panel-visible{display:flex}.dashboard-left.mobile-map-visible{z-index:3}.status-bar,.sb-mute-btn{display:none}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:52px;background:#0f172a;border-top:1px solid #334155;z-index:9100;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;color:#64748b;font-size:.6rem;font-weight:600;cursor:pointer;padding:4px 0;position:relative;transition:color .15s,background .15s}.mobile-nav-btn.active{color:#3b82f6;background:#3b82f614}.mobile-nav-btn .nav-icon{font-size:1.25rem;line-height:1}.mobile-nav-badge{position:absolute;top:4px;right:calc(50% - 14px);min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:#ef4444;color:#fff;font-size:.55rem;font-weight:700;display:flex;align-items:center;justify-content:center}.mobile-nav-badge-info{background:#3b82f6}.mobile-mute-btn{flex:0 0 56px;border-left:1px solid #334155}.mobile-mute-btn.muted{color:#ef4444;background:#ef444414}.mobile-mute-btn.partially-muted{color:#f97316;background:#f9731614}.mobile-mute-btn .nav-icon{font-size:1.4rem}.mobile-mute-dropdown{position:fixed;bottom:calc(58px + env(safe-area-inset-bottom));right:4px;min-width:200px;background:#1e293b;border:1px solid #334155;border-radius:8px;box-shadow:0 4px 20px #00000080;z-index:9200;overflow:hidden}.mobile-mute-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #334155;font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.mobile-mute-all-btn{background:none;border:1px solid #475569;border-radius:4px;color:#cbd5e1;font-size:.7rem;padding:2px 7px;cursor:pointer;white-space:nowrap}.mobile-mute-all-btn:hover{background:#334155}.mobile-mute-row{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer;font-size:.82rem;color:#e2e8f0;transition:background .1s}.mobile-mute-row:hover{background:#263348}.mobile-mute-row.muted{color:#64748b}.mobile-mute-icon{font-size:1rem;flex-shrink:0}.mobile-mute-label{flex:1}.mobile-mute-check{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.dialog-overlay{align-items:flex-end;padding:0}.dialog-frame{width:100%!important;min-width:0!important;max-width:100%!important;height:92dvh!important;max-height:92dvh!important;border-radius:16px 16px 0 0;overflow:hidden}.dialog-frame-header{padding:8px 12px;min-height:48px}.dialog-frame-title{font-size:.85rem}.dialog-ctrl-btn{width:36px;height:36px}.dialog-frame-body{overflow-x:hidden}.dialog-footer-actions{flex-wrap:wrap}.dialog-footer-actions .btn{flex:1;min-width:120px;text-align:center}.dialog-frame-footer{padding:10px 16px max(10px,env(safe-area-inset-bottom)) 16px}.call-notification{left:8px;right:8px;top:calc(52px + env(safe-area-inset-top));width:auto;max-width:none}.minimized-tray{bottom:calc(60px + env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:center;padding:0 8px}.minimized-chip{font-size:.72rem;padding:6px 10px}.dispatch-columns{grid-template-columns:1fr}.dispatch-mobile-sections{display:flex;flex-direction:column;gap:0}.dispatch-mobile-section{padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #334155}.dispatch-mobile-section:last-child{border-bottom:none;margin-bottom:0}.dispatch-extra-sections{flex-direction:column}.dvl-row{min-height:44px;padding:8px 6px}.app-header .subtitle{display:none}.tab-btn{padding:10px 8px;font-size:.78rem;cursor:pointer}.login-form{min-width:0;width:calc(100vw - 40px);padding:28px 20px}.vehicle-row{padding:8px 6px;gap:6px;min-height:44px}.vehicle-status-button{font-size:.72rem;padding:4px 8px;min-height:36px}.status-label-short{display:none}.vehicle-status-dropdown-menu{position:fixed;right:8px;left:8px;top:auto;bottom:calc(60px + env(safe-area-inset-bottom));min-width:0;max-height:50dvh;z-index:9200;border-radius:8px}.dropdown-item{padding:10px 12px;font-size:.82rem;min-height:44px}.tab-content{padding-bottom:20px}.mobile-sprechwunsch-popup{position:absolute;top:calc(52px + env(safe-area-inset-top));left:12px;right:12px;background:#9d174dd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(244,114,182,.5);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:12px;z-index:100;box-shadow:0 8px 32px #0006;animation:slide-down .3s ease-out,mcb-pulse-rose 2s infinite;cursor:pointer}@keyframes slide-down{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.msp-icon{font-size:1.5rem}.msp-content{flex:1}.msp-title{font-weight:800;font-size:.9rem;color:#fff;text-transform:uppercase}.msp-text{font-size:.8rem;color:#fbcfe8}.msp-arrow{color:#f472b6;font-size:1.2rem}}
