[hidden]{display:none!important}
:root{--bg:#07121b;--panel:#0d1f2b;--panel2:#153246;--line:#31556d;--txt:#eef8ff;--mut:#9bb2c1;--acc:#118bc8;--danger:#a52736;--ok:#1a7047}
*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--txt)}button,input,select,textarea{font:inherit}button{background:#142b3b;color:#fff;border:1px solid #355a72;border-radius:6px;padding:6px 9px;cursor:pointer}button:hover{filter:brightness(1.12)}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#087fb9}.danger{background:var(--danger)}.ok{background:var(--ok)}.smallBtn{padding:5px 8px}.inline{display:flex;gap:5px;align-items:center;white-space:nowrap}.inline input{width:auto}input,select,textarea{width:100%;background:#07141e;color:#fff;border:1px solid #35546a;border-radius:6px;padding:7px}.error{color:#ff8791;min-height:20px}.small{font-size:12px;color:var(--mut)}.logo{font-size:42px;font-weight:900;color:#20a7e8}.login-card{width:min(420px,92vw);background:#0d1d28;padding:30px;border:1px solid #29485d;border-radius:14px;box-shadow:0 16px 42px #0009}.login-card label{display:block;margin:12px 0}#login{height:100%;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#183950,#061019 60%)}
header{height:54px;display:flex;align-items:center;gap:10px;padding:0 12px;background:#0b1c28;border-bottom:1px solid #29485c;position:relative;z-index:1000}header nav{display:flex;gap:4px;flex:1}header nav button.active{background:#087fb9}.pill{font-size:11px;background:#29495b;padding:3px 7px;border-radius:12px}.pill.ok{background:#196240}.notaus-banner{font-weight:900;color:#fff;background:#c60018;border-radius:5px;padding:4px 9px;animation:flash 1s steps(1) infinite}@keyframes flash{50%{background:#65000b}}
.page{display:none;height:calc(100vh - 54px)}.page.active{display:block}.toolbar{display:flex;gap:6px;align-items:center;padding:6px 9px;background:#091923;border-bottom:1px solid #29475b;overflow-x:auto}.toolbar.compact{height:42px}.toolbar select{width:auto;min-width:160px}.pad{padding:12px;overflow:auto;height:100%}.card{background:#0f2634;border:1px solid #2e5066;border-radius:8px;padding:10px;margin:7px 0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.field{margin-bottom:8px}.field>label{display:block;color:var(--mut);font-size:12px;margin-bottom:3px}.row{display:flex;gap:7px;align-items:center}.row>*{min-width:0}.grow{flex:1}.chips{display:flex;flex-wrap:wrap;gap:5px}.chip{display:flex;align-items:center;gap:4px;border:1px solid #365970;border-radius:14px;padding:3px 7px}.chip input{width:auto}.warning{border:1px solid #966d24;background:#4b3615;padding:8px;border-radius:6px}.dangerBox{border:2px solid #b32132;background:#430d14;padding:10px;border-radius:7px}
#desktop{position:relative;height:calc(100% - 42px);overflow:auto;background-image:linear-gradient(#102535 1px,transparent 1px),linear-gradient(90deg,#102535 1px,transparent 1px);background-size:24px 24px}.widget{position:absolute;min-width:220px;min-height:150px;background:#0d1e2a;border:1px solid #34566c;border-radius:8px;resize:both;overflow:hidden;box-shadow:0 8px 22px #0008}.wh{height:34px;display:flex;align-items:center;padding:0 6px;background:#153348;cursor:move}.wh b{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.wh button{border:0;background:transparent;padding:4px}.wb{height:calc(100% - 34px);padding:5px;overflow:auto}.statusTabs{height:27px;display:flex;gap:3px;overflow-x:auto}.statusTabs button{padding:3px 7px;white-space:nowrap}.statusTabs button.active{background:#087fb9}.statusGrid{height:calc(100% - 30px);display:grid;gap:4px;container-type:inline-size}.sbCell{border:1px solid #34566d;border-radius:5px;min-width:0;min-height:0;overflow:hidden;display:flex;align-items:stretch}.vehicleTile{width:100%;height:100%;display:grid;grid-template-columns:minmax(34px,26%) minmax(0,74%);align-items:stretch;background:#0b1a24}.statusBox{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #31546a;min-width:0;padding:2px;cursor:pointer}.statusValue{font-size:clamp(11px,4.9cqw,28px);font-weight:950;line-height:.95;white-space:nowrap}.statusTime{font-size:clamp(7px,1.9cqw,10px);color:#c5d2db;white-space:nowrap;margin-top:3px}.callBox{display:flex;align-items:center;justify-content:center;min-width:0;padding:2px}.callValue{font-size:clamp(12px,5.2cqw,30px);font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;width:100%}.sbHeading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sbSpacer{width:100%;height:100%}.blink{animation:blink .7s steps(1) infinite}@keyframes blink{50%{opacity:.25}}.specialRow{display:grid;grid-template-columns:62px 65px minmax(100px,1fr);gap:5px;padding:5px;border-bottom:1px solid #29465a;align-items:center}.clock{height:100%;display:grid;place-items:center;text-align:center}.clockTime{font-size:clamp(28px,10cqw,64px);font-weight:900}.clockDate{font-size:clamp(12px,3.5cqw,22px);color:#b6c9d5}.miniMap{height:100%;min-height:120px;border-radius:5px}
.mapWrap{display:grid;grid-template-columns:minmax(0,1fr) 330px;height:calc(100% - 42px)}#map{height:100%}#layers{border-left:1px solid #29485d;background:#0b1b27;overflow:auto}.layerHead{height:40px;display:flex;align-items:center;padding:5px 8px;border-bottom:1px solid #29485d}.layerHead b{flex:1}.layerFolder{margin:5px;border:1px solid #294c61;border-radius:6px}.layerFolder>summary{padding:6px;background:#10293a;cursor:pointer}.layerItem{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:4px;align-items:center;padding:4px 5px;border-top:1px solid #203e50}.layerItem input{width:auto}.layerBtns{display:flex;gap:3px}.layerBtns button{padding:2px 5px;font-size:11px}.vehicle-label{background:#0c2432e8;border:1px solid #79a8c2;color:white;border-radius:4px;padding:2px 5px;white-space:nowrap;font-weight:800;font-size:12px}.vehicle-dot{width:12px;height:12px;border:2px solid #fff;background:#168fd0;border-radius:50%;box-shadow:0 0 0 2px #0c2230}.cluster{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#087fb9;border:3px solid white;color:white;font-weight:900;box-shadow:0 2px 7px #0008}.mapLabel{white-space:nowrap;font-weight:800}.tactical{width:56px;height:42px;color:#111;background:#fff9;border-radius:4px;padding:2px}.tactical svg{width:100%;height:100%}.gridLabel{font-weight:900;background:transparent!important;border:0!important;box-shadow:none!important}.gridLabel span{text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}
#modalBack{position:fixed;z-index:10000;inset:0;background:#000b;display:grid;place-items:center}#modal{width:min(780px,95vw);max-height:95vh;background:#0d1f2b;border:1px solid #36566b;border-radius:10px;display:flex;flex-direction:column}#modal.large{width:min(1450px,98vw);height:min(960px,96vh)}.modalHead{height:48px;display:flex;align-items:center;padding:0 10px;border-bottom:1px solid #2b4c61}.modalHead h2{margin:0;flex:1}.modalHead button{border:0;background:transparent}#modalBody{padding:10px;overflow:auto;flex:1}#modalFoot{display:flex;justify-content:flex-end;gap:6px;padding:8px 10px;border-top:1px solid #2b4c61}.areaEditor{display:grid;grid-template-columns:370px 1fr;gap:10px;height:100%}.editorMap{height:100%;min-height:650px;border-radius:6px}.sectorList{max-height:170px;overflow:auto}.sectorRow{display:grid;grid-template-columns:1fr auto auto;gap:4px;padding:4px;border-bottom:1px solid #29485d}.symbolGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:7px}.symbolCard{border:1px solid #36586e;border-radius:6px;padding:7px;cursor:pointer}.symbolCard.selected{outline:2px solid #15a5e8}.symbolPreview{height:64px;color:#111;background:#eef4f7;border-radius:4px;padding:3px}.symbolPreview svg{width:100%;height:100%}.statusboardEditor{display:grid;grid-template-columns:330px 1fr;gap:10px;height:100%}.sbEditorGrid{display:grid;gap:3px;background:#061019;border:1px solid #31546a;border-radius:6px;padding:5px;min-height:560px}.editCell{border:1px dashed #36596f;min-height:55px;border-radius:4px;display:flex;align-items:stretch}.editItem{width:100%;background:#17394d;border:1px solid #3c6981;border-radius:3px;padding:4px;cursor:grab;overflow:hidden}.editItem.heading{background:#574815;text-align:center}.editItem.spacer{background:#111d26;color:#78909e}.tabList{display:flex;gap:4px;flex-wrap:wrap}.tabList button.active{background:#087fb9}
#lockScreen,#blockedScreen{position:fixed;z-index:30000;inset:0;background:#02070bee;display:grid;place-items:center}.lockCard{width:min(420px,92vw);background:#0d202c;border:1px solid #385b72;border-radius:12px;padding:24px}.dangerCard{border:3px solid #c41428;text-align:center}#toast{display:none;position:fixed;z-index:40000;right:16px;bottom:16px;max-width:450px;background:#17506b;border:1px solid #4d829a;border-radius:7px;padding:9px 12px}.toastWarn{background:#755512!important}.toastDanger{background:#8d1e2c!important}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:6px;border-bottom:1px solid #29485b;vertical-align:top}th{position:sticky;top:0;background:#0f2634}.tableWrap{overflow:auto;max-height:70vh}.sdsComposer{max-width:1150px}.recipientBox{min-height:74px;background:#07131d;border:1px solid #35536a;border-radius:6px;padding:6px}.typeButtons{display:flex;gap:6px}.typeButtons button.selected{background:#087fb9}.addressTabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:7px}.addressTabs button.active{background:#087fb9}.printPreview{border:1px solid #526d7c;background:white;color:#111;display:grid;place-items:center;min-height:430px}.printSheet{background:#f5f5f5;border:1px solid #888;box-shadow:0 4px 18px #0007;position:relative;overflow:hidden}.printSheetMap{position:absolute;inset:4%;background:#dfe7e9}.permGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.permGrid label{display:flex;gap:5px;align-items:center}.permGrid input{width:auto}
@media(max-width:900px){.grid2,.grid3,.grid4,.areaEditor,.statusboardEditor{grid-template-columns:1fr}.mapWrap{grid-template-columns:1fr}.areaEditor .editorMap{height:500px}.editorMap{min-height:500px}#layers{position:absolute;right:0;width:300px;max-height:55vh;z-index:800}.adminTabs{height:auto;flex-wrap:wrap}}
/* ELO 1.1.1 corrective styles */
.statusBox{background:linear-gradient(135deg,var(--c1,#0b1a24) 0 100%);color:var(--tc,#fff)}
.statusBox.split{background:linear-gradient(135deg,var(--c1,#555) 0 48%,#fff 49%,#fff 51%,var(--c2,#222) 52% 100%);text-shadow:0 1px 2px #000}
.statusValue{font-size:clamp(14px,6.2cqw,34px);letter-spacing:-.03em}.statusTime{font-size:clamp(7px,2.15cqw,11px);line-height:1.05;white-space:normal;text-align:center}.callValue{font-size:clamp(14px,6.1cqw,34px);letter-spacing:-.025em}.vehicleTile{grid-template-columns:minmax(58px,30%) minmax(0,70%)}
.statusPopover{position:fixed;z-index:50000;background:#0e2330;border:1px solid #4e7890;border-radius:9px;padding:8px;box-shadow:0 12px 34px #000c;max-height:70vh;overflow:auto}.statusPopHead{display:flex;align-items:center;gap:6px}.statusPopHead b{flex:1}.statusPopHead button{padding:2px 6px}.statusPopover p{font-size:11px;color:var(--mut);margin:4px 0 8px}.statusPopGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.statusPopGrid button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:54px;border:2px solid var(--sc,#355a72);background:color-mix(in srgb,var(--sc,#355a72) 30%,#142b3b);color:var(--tc,#fff)}.statusPopGrid button b{font-size:20px}.statusPopGrid button span{font-size:10px;line-height:1.05;text-align:center}
.statusList{height:100%;overflow:auto}.statusListRow{height:64px;border-bottom:1px solid #29485d;padding:3px}.statusList.compact .statusListRow{height:48px}.statusList .vehicleTile{border:1px solid #29485d;border-radius:5px}.emptyState{padding:16px;text-align:center;color:var(--mut)}.statusMini{display:inline-grid;place-items:center;min-width:26px;height:22px;border-radius:4px;font-weight:900}
.editItem.group{background:#174f37;border-color:#3d8c68}.statusboardEditor{grid-template-columns:minmax(360px,420px) 1fr}.sbHeading{align-items:center!important;justify-content:center!important;text-align:center!important}
.mapLegend{display:grid;gap:5px;padding:8px;border-bottom:1px solid #29485d;background:#071722}.mapLegend span{display:flex;gap:7px;align-items:center;font-size:12px}.mapLegend i{width:20px;height:4px;display:inline-block;border-radius:2px}.mapLegend .dotLegend{width:11px;height:11px;border-radius:50%;background:#168fd0;border:2px solid #fff}.layerBlock{border-top:1px solid #203e50}.layerBlock .layerItem{border-top:0}.layerSub{display:flex;gap:10px;padding:2px 6px 6px 31px;background:#091722;font-size:11px;color:#b9cbd5;flex-wrap:wrap}.layerSub label{display:flex;align-items:center;gap:3px}.layerSub input{width:auto}.layerSystem{display:grid;gap:4px;padding:7px 10px}.styleHint{padding-bottom:5px}
.printChecks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}.printChecks label{display:flex;align-items:center;gap:5px;border:1px solid #365970;border-radius:6px;padding:5px}.printChecks input{width:auto}.printSheet img{width:100%;height:100%;object-fit:contain;display:block}.printDialogGrid{align-items:start}.statusSwatch{display:flex;align-items:center;gap:8px;min-width:120px;border:1px solid #789;border-radius:5px;padding:5px 8px;font-size:11px}.statusSwatch b{font-size:18px}.statusSwatch.big{margin:8px 0;min-height:44px}.statusSwatch.big span{font-size:14px}.warning code,code{background:#07141e;padding:1px 3px;border-radius:3px}
@media(max-width:900px){.statusboardEditor{grid-template-columns:1fr}.statusPopGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 1.1.2 */
.statusTime{font-size:clamp(8px,2.3cqw,12px)!important;line-height:1!important;white-space:nowrap!important;text-align:center!important;margin-top:4px!important;color:#eef6fb!important;font-variant-numeric:tabular-nums}
.statusValue{font-size:clamp(15px,6cqw,32px)!important}.vehicleTile{grid-template-columns:minmax(94px,36%) minmax(0,64%)!important}.callValue{font-size:clamp(15px,5.4cqw,31px)!important}
.statusList.compact{display:flex;flex-direction:column;gap:3px;padding:2px}.statusList.compact .statusListRow{height:auto}.statusCompactRow{display:grid;grid-template-columns:68px minmax(90px,1fr) auto;align-items:center;gap:7px;min-height:38px;padding:3px 5px;border:1px solid #29485d;border-radius:5px;background:#0b1a24}.compactStatus{height:30px;display:grid;place-items:center;border-radius:4px;font-weight:950;font-size:18px;background:var(--c1);color:var(--tc)}.compactStatus.split{background:linear-gradient(135deg,var(--c1) 0 47%,#fff 48%,#fff 52%,var(--c2) 53% 100%);text-shadow:0 1px 2px #000}.compactTime{font-size:11px;color:#d5e3eb;white-space:nowrap;font-variant-numeric:tabular-nums}.orderRow{display:grid;grid-template-columns:34px minmax(120px,1fr) 1fr auto auto;align-items:center;gap:5px;padding:4px;border-bottom:1px solid #29485d}.orderRow button{padding:2px 7px}
.tactical{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}.symbolPreview{background:transparent!important;border:1px dashed #527188!important;color:inherit;padding:6px!important;height:82px!important}.symbolCard{background:#0b1b27}.symbolCard .symbolPreview svg,.tactical svg{overflow:visible}

/* ===== ELO 1.1.3 ===== */
.vehicleTile113{display:grid!important;grid-template-columns:minmax(92px,36%) minmax(0,64%)!important;grid-template-rows:minmax(0,1fr) 30px!important}
.vehicleTile113 .statusBox{grid-column:1;grid-row:1;min-height:0}
.vehicleTile113 .callBox{grid-column:2;grid-row:1;min-height:0}
.vehicleTile113 .statusValue{font-size:clamp(18px,7cqw,38px)!important;line-height:.95!important}
.statusStamp113{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:3px 7px;background:#07131d;border-top:1px solid #34566d;color:#f2f8fc;font-size:clamp(10px,2.2cqw,14px);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}
.statusStamp113 span{color:#9fb6c4;font-size:.82em;overflow:hidden;text-overflow:ellipsis}.statusStamp113 b:last-child{font-size:1.08em}
.statusListRow{height:82px!important}.statusList.compact .statusListRow{height:auto!important}
.statusCompactRow{grid-template-columns:72px minmax(100px,1fr) 96px!important;min-height:44px!important}.compactTime{display:flex!important;flex-direction:column;align-items:flex-end;font-size:12px!important;line-height:1.1}.compactTime b{font-size:14px}.compactTime small{font-size:10px;color:#a9bdc9}
#audioEnable.active{background:#1f7a4d;border-color:#56c58a}.printState{margin-top:8px;padding:7px 9px;border:1px solid #365970;border-radius:6px;background:#07141e;color:#d9e7ef;min-height:34px}

/* ===== ELO Stadt Wunstorf 1.1.4 ===== */
.statusGrid114{height:auto!important;min-height:100%!important;align-content:start!important}
.statusGrid114 .sbCell{min-height:108px!important}
.vehicleTile114{display:grid!important;grid-template-columns:minmax(92px,35%) minmax(0,65%)!important;grid-template-rows:minmax(64px,1fr) 40px!important;min-height:106px!important}
.vehicleTile114 .statusBox{grid-column:1;grid-row:1;min-height:64px!important}.vehicleTile114 .callBox{grid-column:2;grid-row:1;min-height:64px!important}
.vehicleTile114 .statusValue{font-size:clamp(24px,7.2cqw,42px)!important;line-height:1!important}.vehicleTile114 .callValue{font-size:clamp(20px,5.8cqw,36px)!important;line-height:1!important}
.statusStamp114{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(58px,.55fr) minmax(86px,.9fr) minmax(78px,.75fr);gap:7px;align-items:center;padding:4px 8px;background:#07131d;border-top:1px solid #34566d;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}
.statusStamp114 span{font-size:12px;color:#9fb6c4;overflow:hidden;text-overflow:ellipsis}.statusStamp114 strong{font-size:clamp(13px,2.6cqw,17px);text-align:right;letter-spacing:.01em}.statusStamp114 strong:last-child{font-size:clamp(14px,2.9cqw,19px)}
.statusListRow{height:112px!important}.statusList .vehicleTile114{min-height:104px!important}.statusCompactRow114{grid-template-columns:78px minmax(120px,1fr) 118px!important;min-height:58px!important}.compactTime114 b{font-size:17px!important}.compactTime114 small{font-size:12px!important}.compactTime114 em{font-size:10px;color:#7fa1b4;font-style:normal}
.vehicle-label114{display:flex!important;align-items:center!important;justify-content:center!important;height:27px!important;box-sizing:border-box!important;white-space:nowrap!important;font-size:13px!important;font-weight:850!important;padding:3px 7px!important;box-shadow:0 2px 7px #0008!important}
.vehicle-dot114{width:14px!important;height:14px!important;box-sizing:border-box!important;border-width:2px!important;position:relative!important;z-index:4!important}.clusterSingle114{position:absolute;left:20px;top:-7px;min-width:100px;width:max-content}
@media(max-width:1100px){.vehicleTile114{grid-template-columns:minmax(82px,36%) minmax(0,64%)!important}.statusStamp114 span{font-size:10px}.statusStamp114 strong{font-size:13px}.vehicleTile114 .callValue{font-size:clamp(18px,5.4cqw,31px)!important}}

/* ===== ELO Stadt Wunstorf 1.1.5 – kompakte, zellabhängige Statuskacheln ===== */
.statusGrid115{height:100%!important;min-height:0!important;align-content:stretch!important}
.statusGrid115 .sbCell{min-height:62px!important;container-type:size!important}
.vehicleTile115{display:grid!important;grid-template-columns:minmax(42px,29%) minmax(0,71%)!important;grid-template-rows:minmax(38px,1fr) clamp(18px,25cqh,25px)!important;min-height:0!important}
.vehicleTile115 .statusBox,.vehicleTile115 .callBox{min-height:0!important;padding:1px!important}
.vehicleTile115 .statusValue{font-size:clamp(15px,36cqh,33px)!important;line-height:.92!important}
.vehicleTile115 .callValue{font-size:clamp(13px,29cqh,29px)!important;line-height:.96!important;letter-spacing:-.035em!important}
.vehicleTile115 .statusStamp114{height:auto!important;min-height:18px!important;padding:1px 5px!important;gap:4px!important;grid-template-columns:auto 1fr auto!important}
.vehicleTile115 .statusStamp114 span{font-size:clamp(7px,10cqh,10px)!important}
.vehicleTile115 .statusStamp114 strong{font-size:clamp(8px,12cqh,11px)!important;line-height:1!important}
.statusListRow{height:72px!important}.statusList .vehicleTile115{min-height:66px!important}
@container (max-height:76px){.vehicleTile115 .statusStamp114{grid-template-columns:auto 1fr!important}.vehicleTile115 .statusStamp114 strong:last-child{grid-column:2}.vehicleTile115 .statusStamp114 strong:nth-child(2){display:none}}


/* ===== ELO Stadt Wunstorf 1.1.6 ===== */
#desktop{height:100%!important}.dashToolbar{position:fixed!important;z-index:9000;top:54px;right:8px;width:max-content;max-width:calc(100vw - 16px);height:auto!important;border:1px solid #365970!important;border-radius:0 0 8px 8px;box-shadow:0 8px 25px #000a;background:#0b1c28!important}.dashToolbar[hidden]{display:none!important}
.widget116{resize:none!important}.resizeHandle116{position:absolute;bottom:0;width:18px;height:18px;z-index:40}.resizeHandle116.br{right:0;cursor:nwse-resize;background:linear-gradient(135deg,transparent 45%,#6391aa 46% 55%,transparent 56%)}.resizeHandle116.bl{left:0;cursor:nesw-resize;background:linear-gradient(225deg,transparent 45%,#6391aa 46% 55%,transparent 56%)}
.statusGrid116{height:100%!important;min-height:0!important;align-content:stretch!important}.statusGrid116 .sbCell{min-height:74px!important;container-type:size!important}.vehicleTile116{display:grid!important;grid-template-columns:minmax(44px,28%) minmax(0,72%)!important;grid-template-rows:minmax(44px,1fr) 24px!important;min-height:0!important}.vehicleTile116 .statusBox,.vehicleTile116 .callBox{min-height:0!important;padding:1px!important}.vehicleTile116 .statusValue{font-size:clamp(18px,min(42cqh,7.2cqw),34px)!important;line-height:.94!important}.vehicleTile116 .callValue{font-size:clamp(16px,min(36cqh,6.1cqw),31px)!important;line-height:.96!important;letter-spacing:-.025em!important}.statusStamp116{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:5px;padding:2px 5px;border-top:1px solid #34566d;background:#07131d;color:#f7fbfd;white-space:nowrap;overflow:hidden;font-variant-numeric:tabular-nums}.statusStamp116 span{font-size:clamp(8px,min(15cqh,2.2cqw),11px);color:#a7becb;overflow:hidden;text-overflow:ellipsis}.statusStamp116 b{font-size:clamp(10px,min(18cqh,2.55cqw),13px);text-align:right}.statusStamp116 b:last-child{font-size:clamp(10px,min(19cqh,2.7cqw),14px)}
@container (max-width:165px){.statusStamp116{grid-template-columns:1fr auto;gap:3px}.statusStamp116 span{display:none}.statusStamp116 b{font-size:10px!important}.vehicleTile116 .callValue{font-size:clamp(14px,5.8cqw,22px)!important}}
@container (max-height:82px){.vehicleTile116{grid-template-rows:minmax(42px,1fr) 22px!important}.statusStamp116 b{font-size:10px!important}.statusStamp116 b:last-child{font-size:11px!important}}


/* ELO 1.1.7 */
.vehicleTile117{grid-template-columns:minmax(46px,27%) minmax(0,73%)!important}
.vehicleTile117 .statusValue{font-size:clamp(23px,min(55cqh,9.2cqw),46px)!important;font-weight:950!important;line-height:.9!important}
.vehicleTile117 .callValue{font-size:clamp(20px,min(49cqh,8.1cqw),42px)!important;font-weight:900!important;line-height:.94!important;letter-spacing:-.035em!important}
#startViewSelect{max-width:210px}


/* ===== ELO Stadt Wunstorf 1.1.8 ===== */
.vehicleTile117 .statusValue{font-size:clamp(28px,min(76cqh,12cqw),58px)!important;font-weight:950!important;line-height:.88!important}
.vehicleTile117 .callValue{font-size:clamp(24px,min(66cqh,10.5cqw),52px)!important;font-weight:950!important;line-height:.9!important;letter-spacing:-.04em!important}
.addressTabs118{display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;gap:5px!important;max-height:180px!important;overflow:auto!important;padding:5px 0 8px!important;position:sticky;top:0;background:#0b1a24;z-index:3}
.addressTabs118 button{flex:0 0 auto!important}
.editorContextLabel{color:#b8cbd6;background:#07141ecc;border:1px dashed #6f8fa2;border-radius:4px;padding:2px 5px;font-size:12px;white-space:nowrap;opacity:.85}
.editorContextSymbol{opacity:.65;filter:saturate(.7)}

/* ===== ELO Stadt Wunstorf 1.1.9 ===== */
.sectorRow119{display:grid;grid-template-columns:minmax(100px,1fr) 38px 38px 58px auto auto;gap:6px;align-items:center;margin:5px 0}.sectorRow119 input[type=color]{width:36px;height:30px;padding:2px}.sectorWidth119{width:56px!important}.sdsVehicleList119{max-height:190px;overflow:auto;border:1px solid #31566c;border-radius:6px;padding:6px;display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:3px}.sdsVehicleList119 label{white-space:nowrap}.sdsTargets119{max-height:260px;overflow:auto}.sdsTargetRow119{padding:7px 0;border-bottom:1px solid #29495b}.sdsTargetRow119:last-child{border-bottom:0}.vehicleQuick119 textarea{width:100%}.vehicle-label114{cursor:pointer}.callBox[data-vzoom]{cursor:pointer}.callBox[data-vzoom]:hover{background:#123247}.sds119 .chips{align-items:flex-start}

/* ===== ELO Stadt Wunstorf 1.1.10 ===== */
.sectorRow119{grid-template-columns:minmax(100px,1fr) 38px 38px 38px 58px auto auto!important}
.statusList.singleline110{display:flex;flex-direction:column;gap:2px;padding:2px}
.statusSingle110{display:grid;grid-template-columns:48px minmax(115px,1fr) 44px 76px;align-items:center;gap:6px;min-height:32px;padding:2px 5px;border:1px solid #29485d;border-radius:5px;background:#0b1a24}
.statusSingle110 .compactStatus{height:27px;font-size:17px}
.statusCall110{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-size:14px}
.statusCall110:hover{text-decoration:underline}
.statusKind110{font-size:11px;color:#9fb6c4;text-align:right;white-space:nowrap}
.statusTime110{font-size:12px;font-weight:750;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.sdsOverview110{margin-top:7px}.sdsSenderSummary110{margin-top:7px;padding-top:6px;border-top:1px solid #29495b}.sdsOrigin110{font-size:10px;color:#b6cbd7;border:1px solid #3b6278;border-radius:9px;padding:1px 6px;white-space:nowrap}
@media(max-width:700px){.statusSingle110{grid-template-columns:44px minmax(90px,1fr) 40px 62px;gap:4px}.statusTime110{font-size:11px}.statusKind110{font-size:10px}}


/* ===== ELO Stadt Wunstorf 1.1.11 ===== */
.demo-banner111{font-weight:950;color:#111;background:#ffd22e;border:2px solid #ffea83;border-radius:5px;padding:4px 9px;letter-spacing:.08em;animation:demoPulse111 1.4s ease-in-out infinite}
.special-banner111{font-weight:850;color:#fff;background:#8a4b00;border:1px solid #e79d35;border-radius:5px;padding:4px 8px;font-size:11px;white-space:nowrap}
@keyframes demoPulse111{50%{filter:brightness(1.18);box-shadow:0 0 10px #ffd22e88}}
.vehicleFocus111{outline:3px solid #ffd22e!important;box-shadow:0 0 18px #ffd22e88!important}
.extra111 .card{min-height:270px}.demoFacts111{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.demoFacts111 span{background:#12384b;border:1px solid #386579;border-radius:12px;padding:3px 8px;font-size:11px}
.sdsHistoryRow111{display:grid;grid-template-columns:150px minmax(150px,1fr) minmax(180px,2fr) 240px;gap:8px;align-items:center;padding:7px 4px;border-bottom:1px solid #29495b}.sdsHistoryRow111:last-child{border-bottom:0}.demoTag111{display:inline-block;background:#8a6200;color:#fff3bd;border:1px solid #d7a900;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:850}.stateTag111{display:inline-block;background:#174b63;border:1px solid #3a6d84;border-radius:10px;padding:1px 6px;font-size:10px}.sectorDefaults111{margin-top:8px;padding-top:8px;border-top:1px solid #29495b}
@media(max-width:1000px){.sdsHistoryRow111{grid-template-columns:110px 1fr}.sdsHistoryRow111>div:nth-child(3),.sdsHistoryRow111>div:nth-child(4){grid-column:1/-1}header{height:auto;min-height:54px;flex-wrap:wrap;padding-top:4px;padding-bottom:4px}.page{height:calc(100vh - 70px)}}

/* ===== ELO Stadt Wunstorf 1.1.12 ===== */
.statusSds112{max-height:min(82vh,760px)!important;overflow:auto!important}.currentStatus112{font-size:12px;color:#a9c0cc;margin-top:2px}.currentStatus112 strong{color:#fff}.statusSdsGrid112{display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(330px,.95fr);gap:12px;align-items:start}.statusPrimary112,.statusSdsSide112{min-width:0}.statusPrimary112 h4,.statusSdsSide112 h4{margin:3px 0 5px}.statusPopGrid button.current112{outline:2px solid #fff;box-shadow:0 0 0 2px #0007 inset}.statusSdsSide112{border-left:1px solid #35566a;padding-left:12px}.statusSdsSide112 textarea{width:100%}
.sds112{max-width:none}.sdsLayout112{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(560px,1.45fr);gap:14px;align-items:start}.sdsComposeLeft112{min-width:0}.sdsVehiclePane112{min-width:0;border:1px solid #31566c;border-radius:7px;padding:8px;background:#091923}.sdsVehiclePane112 h4{margin:0}.sdsSearch112{max-width:280px}.sdsVehicleTableWrap112{margin-top:7px;max-height:540px;overflow-y:auto;overflow-x:hidden;border:1px solid #29495b;border-radius:6px}.sdsVehicleTable112{width:100%;table-layout:fixed}.sdsVehicleTable112 th,.sdsVehicleTable112 td{padding:6px 7px;vertical-align:middle}.sdsVehicleTable112 th{top:0;z-index:2}.sdsVehicleTable112 th.sel112,.sdsVehicleTable112 td.sel112{width:72px;text-align:center}.sdsVehicleTable112 th.status112,.sdsVehicleTable112 td.status112{width:70px;text-align:center}.sdsVehicleTable112 tbody tr.selected112{background:#0d2b3a}.sdsVehicleTable112 tbody tr:hover{background:#123247}.radioCells112{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.radioChoice112{display:grid;grid-template-columns:auto auto;grid-template-areas:'box label' 'box sub';column-gap:4px;align-items:center;border:1px solid #365c70;border-radius:5px;padding:3px 5px;min-width:112px;max-width:190px;background:#0b2230}.radioChoice112 input{grid-area:box;width:auto}.radioChoice112 span{grid-area:label;font-size:11px;font-weight:750;white-space:nowrap}.radioChoice112 small{grid-area:sub;color:#8fa9b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radioChoice112.disabled112{opacity:.45}.rowHint112{display:block;color:#8fb0c1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.groupDot112{display:inline-grid;place-items:center;margin-left:4px;width:18px;height:18px;border-radius:50%;background:#8a6200;color:#fff3bd;font-size:10px;font-weight:900}.statusMini112{display:inline-block;min-width:34px;padding:3px 5px;border-radius:4px;background:#173546;font-weight:850}.sdsSummary112{margin-top:8px}.sdsGroups112{max-height:130px;overflow:auto}
@media(max-width:1050px){.statusSdsGrid112{grid-template-columns:1fr}.statusSdsSide112{border-left:0;border-top:1px solid #35566a;padding-left:0;padding-top:10px}.sdsLayout112{grid-template-columns:1fr}.sdsVehicleTableWrap112{max-height:420px}}
@media(max-width:650px){.sdsVehicleTable112 th.status112,.sdsVehicleTable112 td.status112{display:none}.sdsVehicleTable112 th.sel112,.sdsVehicleTable112 td.sel112{width:58px}.radioChoice112{min-width:96px}}

/* 1.1.14 OPTA/ISSI Import */
.optaHead114{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:7px}.optaHint114{margin-bottom:8px}.optaTableWrap114{height:calc(100% - 78px);min-height:520px;overflow:auto;border:1px solid #31546a;border-radius:7px}.optaTable114{border-collapse:separate;border-spacing:0;width:100%;min-width:1500px}.optaTable114 th{position:sticky;top:0;z-index:3;background:#153246;text-align:left;padding:6px;border-bottom:1px solid #45677c;white-space:nowrap}.optaTable114 td{padding:5px;border-bottom:1px solid #29485d;vertical-align:top}.optaTable114 input,.optaTable114 select{min-width:110px;padding:5px}.optaTable114 td:nth-child(3) input{min-width:260px}.optaTable114 td:nth-child(5) input{width:115px}.optaTable114 td:nth-child(6) input{width:150px}.optaTable114 td:nth-child(7) input{width:120px}.optaTable114 td:nth-child(8) select{width:105px}.optaRowErr114{background:#4b1018}.optaRowWarn114{background:#493a13}.optaErr114{color:#ff9aa3;font-size:12px;font-weight:700}.optaWarn114{color:#ffd36b;font-size:12px}.optaOk114{color:#78e6a6;font-size:12px}.optaIssuesCell114{min-width:230px;max-width:330px}.optaGroups114{min-width:145px}.optaGroups114>summary{cursor:pointer;white-space:nowrap}.optaGroupMenu114{display:grid;gap:3px;margin-top:5px;max-height:170px;overflow:auto;border:1px solid #38596e;border-radius:5px;padding:5px;background:#091923;min-width:170px}.optaGroupMenu114 label{display:flex;gap:5px;align-items:center;white-space:nowrap}.optaGroupMenu114 input{width:auto;min-width:0}


/* ===== 1.1.22 – Verwaltungsfilter ===== */
.adminFilter122{margin:9px 0 10px;padding:9px 10px}.adminFilterGrid122{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) minmax(190px,1fr) minmax(160px,.8fr);gap:8px;align-items:end}.adminFilterGrid122 .field{margin:0}.adminFilterGrid122 input,.adminFilterGrid122 select{width:100%}.adminFilterFoot122{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.adminFilterEmpty122{margin:8px 0;padding:10px;border:1px dashed #3b5c70;border-radius:6px;text-align:center}.adminGroupTableWrap122{max-height:70vh}.adminFilterGridGroups122{grid-template-columns:minmax(300px,2fr) minmax(190px,1fr) minmax(210px,1fr)}
@media(max-width:1050px){.adminFilterGrid122,.adminFilterGridGroups122{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.adminFilterGrid122,.adminFilterGridGroups122{grid-template-columns:1fr}.adminFilterFoot122{align-items:stretch;flex-direction:column}.adminFilterFoot122 button{width:100%}}

/* 1.1.24 – Statusboard Gruppenfahrzeuge vollständig lesbar */
.sbItemPopover123{position:fixed;z-index:12050;background:#0d1f2b;border:1px solid #3d6279;border-radius:9px;box-shadow:0 14px 36px #000b;padding:10px;max-height:min(720px,86vh);overflow:auto}.sbItemPopover123 .statusPopHead{margin:-4px -2px 8px}.sbPopActions123{justify-content:flex-end;margin-top:10px}.sbGroupVehicleList123{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:6px;max-height:420px;overflow:auto;margin-top:7px;padding:2px}.sbGroupVehicle123{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;border:1px solid #31546a;border-radius:5px;padding:7px 8px;background:#0a1822;min-height:54px}.sbGroupVehicle123>input{width:auto;margin:0}.sbGroupVehicle123 span{display:flex;flex-direction:column;min-width:0;width:100%}.sbGroupVehicle123 b{display:block;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.12;font-size:15px}.sbGroupVehicle123 small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.sbGroupPopover123{min-width:min(720px,calc(100vw - 20px))}@media(max-width:620px){.sbGroupVehicleList123{grid-template-columns:1fr}.sbGroupPopover123{min-width:0}.sbGroupVehicle123 b{font-size:14px}}.sbGroupCount123{margin-top:7px}.sbCapacity123{border:1px solid #31546a;background:#091722;border-radius:5px;padding:6px 8px;margin-bottom:6px}.editItem.heading,.editItem.group{display:flex;flex-direction:column;justify-content:center;gap:2px}.editItem.heading small,.editItem.group small{font-size:10px;opacity:.8;white-space:normal}.groupPreview123{background:repeating-linear-gradient(135deg,#103526,#103526 7px,#0b291d 7px,#0b291d 14px)!important;border-color:#3d8c68!important}.groupPreviewLabel123{width:100%;align-self:center;text-align:center;font-size:10px;color:#9fd8bb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px}.sbHeading{transition:filter .12s ease}.sbHeading:hover{filter:brightness(1.12)}

/* 1.1.25 – Fahrzeugtyp optional + Statusboard-Rechte */
.callBox125{flex-direction:column;gap:2px}.vehicleType125{max-width:100%;font-size:clamp(8px,2.1cqw,12px);line-height:1.05;color:#b9cad5;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statusCallType125{min-width:0;display:flex;flex-direction:column;justify-content:center}.statusCallType125>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statusCallType125>small{display:block;max-width:100%;color:#9fb4c2;font-size:10px;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statusSingle125 .statusCallType125{cursor:pointer}.specialCall125{min-width:0;display:flex;flex-direction:column;justify-content:center}.specialCall125>b,.specialCall125>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.specialCall125>small{font-size:10px;color:#a8bdc9;margin-top:2px}.sbTypeToggle125{margin:4px 0 9px;padding:7px;border:1px solid #31546a;border-radius:5px;background:#0a1822}.editItem>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


/* 1.1.26 – alte Darstellung bleibt Standard; Typ nur als optionale Zusatzzeile */
.vehicleType126{font-size:10px;line-height:1.05;color:#b9cad5;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.compactCall126,.singleCall126,.specialType126{min-width:0;display:flex;flex-direction:column;justify-content:center}.compactCall126>b,.singleCall126>b,.specialType126>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compactCall126>small,.singleCall126>small,.specialType126>small{font-size:9px;line-height:1.05;color:#9fb4c2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.singleCall126{cursor:pointer}
/* 1.1.26 – Gruppenauswahl wieder kompakt wie vor der Verbreiterung */
.sbGroupPopover123{min-width:min(520px,calc(100vw - 20px));max-width:min(560px,calc(100vw - 20px))}.sbGroupVehicleList123{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.sbGroupVehicle123{min-height:52px;padding:6px 8px}.sbGroupVehicle123 b{font-size:13px;line-height:1.12;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.sbGroupVehicle123 small{font-size:11px}@media(max-width:560px){.sbGroupVehicleList123{grid-template-columns:1fr}.sbGroupPopover123{min-width:0;max-width:calc(100vw - 20px)}}


/* 1.1.29 – Statusboard Fahrzeugtyp/Datum/Uhrzeit, ohne Rasteränderung */
.vehicleTile116 .callBox129.hasType129{position:relative!important;padding:1px 2px 15px!important}
.vehicleTile116 .callBox129.hasType129 .callValue{font-size:clamp(16px,min(36cqh,6.1cqw),31px)!important;line-height:.96!important}
.vehicleType129{position:absolute;left:3px;right:3px;bottom:2px;font-size:clamp(11px,min(21cqh,3.15cqw),15px);font-weight:750;line-height:1.05;color:#c6d5dd;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.statusStamp129{grid-template-columns:1fr auto 1fr!important;gap:5px!important}
.statusStamp129 .statusDate129{text-align:left!important;justify-self:start!important}
.statusStamp129 .statusClock129{text-align:right!important;justify-self:end!important}
.statusStamp129 .statusKind129{text-align:center!important;justify-self:center!important;font-size:clamp(7px,min(13cqh,1.9cqw),10px)!important;color:#8faab9!important}

/* ===== 1.1.30 Historien / Sitzungen ===== */
.statusSdsGrid112.history130{grid-template-columns:minmax(330px,1fr) minmax(300px,.9fr) minmax(310px,.95fr)}
.statusHistory130{border-left:1px solid #35566a;padding-left:12px;min-width:0}
.statusHistory130 h4{margin:3px 0 7px}.statusHistory130 .tableWrap{max-height:330px}
.miniHistory130{width:100%;font-size:11px;border-collapse:collapse}.miniHistory130 th,.miniHistory130 td{padding:4px 5px;border-bottom:1px solid #294758;text-align:left;white-space:nowrap}.miniHistory130 td:nth-child(2){white-space:normal}.miniHistory130 .srcManual{color:#ffd166}.miniHistory130 .srcFunk{color:#9bd4ff}
.historyTop130{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.historyTop130 button.active{background:#0a86c7;border-color:#36b3f5}.historyFilters130{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr));gap:8px;align-items:end;margin-bottom:8px}.historyFilters130 .field{margin:0}.historyGroups130{display:flex;gap:5px;flex-wrap:wrap;max-height:110px;overflow:auto;padding:5px;border:1px solid #294758;border-radius:6px;margin-bottom:8px}.historyGroups130 .chip{font-size:11px}.historyActions130{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:6px 0 10px}.historyTable130{width:100%;border-collapse:collapse;font-size:12px}.historyTable130 th{position:sticky;top:0;background:#123247;z-index:2;text-align:left}.historyTable130 th,.historyTable130 td{padding:6px;border-bottom:1px solid #294758;vertical-align:top}.historyTable130 .ok130{color:#7ee787}.historyTable130 .bad130{color:#ff8d8d}.historyTable130 .msg130{max-width:520px;white-space:normal;word-break:break-word}.historyTableWrap130{max-height:62vh;overflow:auto;border:1px solid #294758;border-radius:6px}.sessionCard130{margin-bottom:12px}.sessionCard130 .historyTableWrap130{max-height:280px}.deviceId130{font-family:monospace;font-size:10px;color:#89a8ba}.historyCount130{font-size:11px;color:#a9c0cc;margin-left:auto}.userSession130{min-width:120px}.userSession130 input{width:80px}.userSession130 select{min-width:170px}
@media(max-width:1150px){.statusSdsGrid112.history130{grid-template-columns:1fr 1fr}.statusHistory130{grid-column:1/-1;border-left:0;border-top:1px solid #35566a;padding-left:0;padding-top:10px}.historyFilters130{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.statusSdsGrid112.history130,.historyFilters130{grid-template-columns:1fr}.statusHistory130{grid-column:auto}}

/* ===== 1.1.31 – Zeitzeile in schmalen Statusboard-Spalten + farbige Statushistorie ===== */
.statusStamp129{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;gap:4px!important;padding-left:4px!important;padding-right:4px!important}
.statusStamp129 .statusKind129{display:block!important;visibility:visible!important;max-width:38px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.statusStamp129 .statusDate129,.statusStamp129 .statusClock129{min-width:0;white-space:nowrap}
.statusHistoryBadge131{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 6px;border-radius:5px;background:var(--hist-bg);color:var(--hist-fg);font-weight:800;line-height:1.1;box-shadow:inset 0 0 0 1px #ffffff22}
.statusHistoryBadge131>b{min-width:14px;text-align:center;font-size:12px}.statusHistoryBadge131>span{font-weight:700;font-size:11px;white-space:normal}
.miniHistory130 .statusHistoryBadge131{padding:2px 5px}.miniHistory130 .statusHistoryBadge131>b{font-size:11px}.miniHistory130 .statusHistoryBadge131>span{font-size:10px}

/* ===== ELO 1.1.35 – Login-Hintergrund / Collage ===== */
#login{position:relative;overflow:hidden;isolation:isolate}
.loginBackdrop135{position:absolute;inset:0;z-index:-2;display:grid;background:radial-gradient(circle at 30% 20%,#183950,#061019 60%);overflow:hidden}
.loginBackdrop135.layout1{grid-template-columns:1fr;grid-template-rows:1fr}
.loginBackdrop135.layout2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
.loginBackdrop135.layout4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.loginBackdrop135::after{content:"";position:absolute;inset:0;background:#03101a55;pointer-events:none;z-index:5}
.loginBgSlot135{position:relative;min-width:0;min-height:0;overflow:hidden;background:#0a1a25}
.loginBgSlot135 img,.loginBgPreviewSlot135 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--px,50%) var(--py,50%);transform:scale(var(--pz,1));transform-origin:var(--px,50%) var(--py,50%);user-select:none;-webkit-user-drag:none;pointer-events:none}
#login .login-card{position:relative;z-index:2;background:#0d1d28e8;backdrop-filter:blur(4px)}
.loginBgEditor135{display:grid;grid-template-columns:minmax(440px,1.3fr) minmax(330px,.7fr);gap:12px;min-height:620px}
.loginBgPreview135{position:relative;display:grid;min-height:580px;border:1px solid #35586f;border-radius:8px;overflow:hidden;background:#061019}.loginBgPreview135::after{content:"";position:absolute;inset:0;z-index:2;background:#03101a55;pointer-events:none}
.loginBgPreview135.layout1{grid-template-columns:1fr;grid-template-rows:1fr}.loginBgPreview135.layout2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.loginBgPreview135.layout4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.loginBgPreviewSlot135{position:relative;overflow:hidden;min-width:0;min-height:0;border:1px solid #27485d;cursor:grab;background:linear-gradient(135deg,#102535,#07141e)}
.loginBgPreviewSlot135:active{cursor:grabbing}.loginBgPreviewSlot135.selected{outline:3px solid #20a7e8;outline-offset:-3px}
.loginBgPreviewEmpty135{position:absolute;inset:0;display:grid;place-items:center;color:#8ca5b5;font-weight:700;text-align:center;padding:12px}
.loginBgPreviewBadge135{position:absolute;left:8px;top:8px;z-index:4;background:#07141edc;border:1px solid #517189;border-radius:16px;padding:3px 8px;font-weight:800}.loginBgMockCard135{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);width:min(300px,62%);background:#0d1d28e8;border:1px solid #29485d;border-radius:12px;padding:18px;box-shadow:0 10px 30px #0009;pointer-events:none}.loginBgMockCard135 b{display:block;font-size:30px;color:#20a7e8}.loginBgMockCard135 span{display:block;font-size:19px;font-weight:800;margin:4px 0 12px}.loginBgMockInput135{height:30px;border:1px solid #35546a;border-radius:5px;background:#07141e;margin:6px 0}
.loginBgEditorSide135{overflow:auto;padding-right:3px}.loginBgLayoutButtons135{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.loginBgLayoutButtons135 button.active{background:#087fb9}
.loginBgControls135 input[type=range]{padding:0}.loginBgFileRow135{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:end}.loginBgHint135{font-size:12px;color:#a9becb;line-height:1.35}
@media(max-width:900px){.loginBgEditor135{grid-template-columns:1fr}.loginBgPreview135{min-height:420px}}

/* 1.1.38 */
.mapShowAll138{margin-left:4px;font-weight:700}.posVisCard138{margin-top:10px}

/* 1.1.39 – Dashboard auf unterschiedliche Monitore + Auskoppeln */
.widget139,.widget{min-width:160px;min-height:100px}
.wh [data-popout139]{font-size:16px;line-height:1;padding:3px 6px}
.popout139 header,.popout139 #dashToolbar,.popout139 #mapPage,.popout139 #sdsPage,.popout139 #adminPage{display:none!important}
.popout139 #app{display:block!important;height:100vh!important;min-height:0!important}
.popout139 #dash{display:block!important;position:fixed!important;inset:0!important;height:100vh!important}
.popout139 #desktop{position:absolute!important;inset:0!important;height:100%!important;width:100%!important;overflow:hidden!important;background:#081721!important}
.popout139 #desktop>.widget{border-radius:0!important;border:0!important;box-shadow:none!important;min-width:0!important;min-height:0!important}
.popout139 .resizeHandle116{display:none!important}
.popoutMissing139{padding:30px;font:18px system-ui;color:#fff;background:#081721;min-height:100vh}
@media(max-width:900px){.widget{min-width:140px}.wh{height:32px}.wb{height:calc(100% - 32px)}}


/* ===== ELO Stadt Wunstorf 1.1.40 – persönliche kompakte Oberfläche ===== */
/* Fensterköpfe: Statusboard-Reiter liegen in .wb und bleiben daher immer sichtbar. */
body.widgetHeadsHidden140 #desktop .widget>.wh{display:none!important}
body.widgetHeadsHidden140 #desktop .widget>.wb{height:100%!important}
body.widgetHeadsHover140 #desktop .widget>.wh{
  position:absolute!important;left:0;right:0;top:0;z-index:80;
  transform:translateY(-29px);opacity:.42;
  transition:transform .16s ease,opacity .16s ease;
  box-shadow:0 3px 9px #0008
}
body.widgetHeadsHover140 #desktop .widget>.wh:hover,
body.widgetHeadsHover140 #desktop .widget>.wh:focus-within{transform:translateY(0);opacity:1}
body.widgetHeadsHover140 #desktop .widget>.wb{height:100%!important}

/* In ausgekoppelten Fenstern bleibt der Kopf immer erreichbar, insbesondere der Zurück-Knopf. */
body.popout139 #desktop .widget>.wh{display:flex!important;position:relative!important;transform:none!important;opacity:1!important}
body.popout139 #desktop .widget>.wb{height:calc(100% - 34px)!important}

/* Hauptnavigation: Hover- und Menüknopf-Modus liegen über den Seiten und verbrauchen keinen Platz. */
body.navHover140 header,body.navButton140 header{
  position:fixed!important;left:0;right:0;top:0;z-index:18000;
  transition:transform .17s ease,box-shadow .17s ease;
  box-shadow:0 5px 16px #0009
}
body.navHover140 header{transform:translateY(calc(-100% + 6px))}
body.navButton140 header{transform:translateY(-110%)}
body.navHover140.navOpen140 header,body.navButton140.navOpen140 header{transform:translateY(0)}
body.navHover140 .page,body.navButton140 .page{height:100vh}

#navHoverStrip140{display:none;position:fixed;z-index:17999;left:0;right:0;top:0;height:10px;background:transparent}
body.navHover140 #navHoverStrip140{display:block}
#navFloat140{display:none;position:fixed;z-index:18010;left:8px;top:8px;width:42px;height:42px;padding:0;border-radius:10px;
  background:#0b1c28e8;border:1px solid #4b7188;box-shadow:0 4px 14px #0009;font-size:23px;line-height:1}
body.navButton140 #navFloat140{display:block}
body.navButton140.navOpen140 #navFloat140{top:61px}

#dashDisplay140{white-space:nowrap}
.displayPrefs140{display:grid;gap:14px}.displayPrefs140 .prefBlock140{border:1px solid #31556d;border-radius:8px;padding:10px;background:#0b1a24}
.displayPrefs140 .prefBlock140>label{display:block;color:var(--mut);font-size:12px;margin-bottom:5px}

/* ===== ELO Stadt Wunstorf 1.1.41 ===== */
.mapStatusFilter141{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px}.sbCompact141{height:auto!important;align-content:start!important;gap:2px!important}.sbCompact141 .sbCell{min-height:36px!important}.sbCompact141 .vehicleTile{grid-template-rows:1fr!important;grid-template-columns:minmax(30px,24%) minmax(0,76%)!important;min-height:34px!important}.sbCompact141 .statusBox,.sbCompact141 .callBox{padding:0 2px!important}.sbCompact141 .statusValue{font-size:clamp(15px,min(54cqh,6cqw),28px)!important}.sbCompact141 .callValue{font-size:clamp(13px,min(48cqh,5.6cqw),27px)!important}.sbDynamic141{gap:2px!important}.sbDynamic141 .sbCell{min-height:42px!important}.sbDynamic141 .vehicleTile{grid-template-columns:minmax(32px,24%) minmax(0,76%)!important;grid-template-rows:minmax(28px,1fr) 18px!important}.sbDynamic141 .statusValue{font-size:clamp(13px,min(40cqh,5.8cqw),28px)!important}.sbDynamic141 .callValue{font-size:clamp(12px,min(35cqh,5.2cqw),27px)!important}.sbDynamic141 .statusStamp116{height:18px!important;min-height:18px!important;padding:0 3px!important}.sbDynamic141 .statusStamp116 *{font-size:clamp(7px,1.7cqw,10px)!important}.sbDynamic141 .vehicleType129{font-size:clamp(8px,1.9cqw,11px)!important}
.routeSuggest141{display:flex;flex-direction:column;gap:2px;max-height:180px;overflow:auto}.routeSuggest141 button{text-align:left}.routeResult141{margin-top:10px;min-height:80px}.quickResults141{display:flex;flex-direction:column;gap:4px;max-height:62vh;overflow:auto}.quickItem141{display:grid;grid-template-columns:minmax(120px,1fr) 1fr auto;align-items:center;text-align:left;gap:8px;padding:9px}.quickItem141 span{color:#b8cbd7}.quickItem141 em{font-size:10px;color:#7fa0b5}.incidentBadge141{background:#7d271f!important;color:white!important}.timelineHead141{display:flex;gap:10px;align-items:center;border-bottom:1px solid #34566d;padding:5px}.timelineHead141 span{color:#a8becb}.timeline141{overflow:auto;height:calc(100% - 36px)}.timelineRow141{display:grid;grid-template-columns:66px 72px minmax(0,1fr);gap:6px;padding:5px;border-bottom:1px solid #254256;align-items:start}.timelineRow141 time{font-variant-numeric:tabular-nums}.timelineType141{color:#86a9bc;text-transform:uppercase;font-size:10px}.timeoutList141{height:100%;overflow:auto}.timeoutRow141{display:grid;grid-template-columns:auto minmax(100px,1fr) auto auto;gap:7px;align-items:center;padding:5px;border-bottom:1px solid #29485b;cursor:default}.timeoutRow141:hover{background:#173448}.timeoutRow141 small{color:#a9bdc8}.timeoutCfg141>div{display:grid;grid-template-columns:38px minmax(180px,1fr) 100px 40px;gap:7px;align-items:center;margin:5px 0}.timeoutCfg141>div>span{text-align:center;padding:4px;border-radius:4px;font-weight:800}
#offlineBanner141{position:fixed;left:50%;top:4px;transform:translateX(-50%);z-index:99999;background:#9b5b00;color:white;border:1px solid #ffca69;border-radius:7px;padding:6px 13px;font-weight:800;box-shadow:0 4px 18px #0009}#offlineBanner141[hidden]{display:none!important}
body.bigscreen141 #app>header,body.bigscreen141 #dashToolbar{display:none!important}body.bigscreen141 #dash{inset:0!important}body.bigscreen141 #desktop{height:100vh!important;background:#07131d!important}#bigExit141{position:fixed;right:8px;top:8px;z-index:99999;opacity:.18}#bigExit141:hover{opacity:1}


/* ===== ELO Stadt Wunstorf 1.1.46 ===== */
.bulkStatus146{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:14px;align-items:center;border-color:#6d572d}.bulkStatus146 h3{margin:.1rem 0 .35rem}.bulkStatus146 .row{justify-content:flex-end}.bulkStatus146 select{min-width:220px}
.lardisTableWrap146{max-height:calc(100vh - 235px);overflow:auto}.lardisTable146{font-size:12px;min-width:1120px}.lardisTable146 th{position:sticky;top:0;z-index:2;background:#102838}.lardisTable146 td{vertical-align:top}.liveControls146{flex-wrap:wrap}.liveControls146 input{min-width:280px}.liveDir146{display:inline-block;padding:2px 6px;border-radius:12px;white-space:nowrap;font-weight:700}.liveDir146.in{background:#164c31}.liveDir146.out{background:#24466d}.liveRaw146{min-width:360px;max-width:720px;white-space:normal;word-break:break-word}.liveRaw146 code{white-space:pre-wrap}.liveRaw146 details{margin-top:4px}.liveRaw146 pre{white-space:pre-wrap;max-width:700px;overflow:auto;background:#07131c;padding:7px;border-radius:5px}.warnPill146{background:#704915!important;color:#fff!important}
@media(max-width:900px){.bulkStatus146{grid-template-columns:1fr}.bulkStatus146 .row{justify-content:flex-start}.lardisTableWrap146{max-height:calc(100vh - 285px)}}

/* ===== 1.1.47 ===== */
.positionControls147 .positionSwitch147{font-size:15px;font-weight:700;margin:8px 0}.positionControls147 .positionSwitch147 input{width:auto}
/* Lagekarten-Zweitfenster: Hauptnavigation/andere Module ausblenden, die Lagekarte selbst bleibt vollwertig sichtbar. */
body.mapPopout147{overflow:hidden}body.mapPopout147 #app>header,body.mapPopout147 #dash,body.mapPopout147 #sdsPage,body.mapPopout147 #adminPage{display:none!important}
body.mapPopout147 #mapPage{display:block!important;height:100vh!important}body.mapPopout147 #mapPage>.toolbar{height:42px!important;overflow:visible!important}
body.mapPopout147 #mapPage>.toolbar>*:not(#mapPopoutControls147){display:none!important}body.mapPopout147 #mapPopoutControls147{display:flex!important;align-items:center;gap:8px;width:100%}
body.mapPopout147 .mapWrap{height:calc(100vh - 42px)!important}
#mapPopoutControls147 .grow{flex:1}

/* 1.1.50 – WMS-Admin / Lagekartenbeschriftungen */
.wmsLayerGrid150{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:8px 0 12px}
.wmsLayerGrid150 label{margin:0}
@media(max-width:760px){.wmsLayerGrid150{grid-template-columns:1fr}}
/* Fallback-Obergrenze; JS setzt die zoomabhängige Variable pro Karte. */
.leaflet-container .gridLabel span,.leaflet-container .mapLabel{max-width:min(240px,45vw);overflow:hidden;text-overflow:ellipsis;line-height:1.05}


/* ===== ELO Stadt Wunstorf 1.1.52 ===== */
/* Lage-Texte bleiben geometrisch exakt um ihren Leaflet-Anker zentriert. */
.leaflet-container .gridLabel{display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important}
.leaflet-container .gridLabel>span{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;transform-origin:center!important;width:max-content!important;max-width:240px!important;text-align:center!important}
.leaflet-container .mapLabel{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;transform-origin:center!important;width:max-content!important;max-width:240px!important;text-align:center!important}
.leaflet-container.eloLageZooming152 .gridLabel>span,.leaflet-container.eloLageZooming152 .mapLabel{opacity:0!important}

/* Optional: komplette Dashboard-Arbeitsfläche ohne äußere Scrollleisten. */
body.dashFitWorkspace152 #desktop{overflow:hidden!important}
body.dashFitContent152 #desktop .widget>.wb{overflow:hidden!important}
body.dashFitContent152 #desktop .statusGrid{overflow:hidden!important}
body.dashFitContent152 #desktop .sbDynamic141 .sbCell{min-height:0!important}
body.dashFitContent152 #desktop .statusTabs{overflow:hidden!important}
.fitInner152{position:relative;transform-origin:top left;will-change:transform}
.resizeLocked152 .resizeHandle116{display:none!important}
#layoutLock152.active{background:#6f5518;border-color:#b98b2c}
#adminDashLocks152 label{margin:7px 0}


/* ===== ELO Stadt Wunstorf 1.1.53 ===== */
/* Sprechwünsche und Statusansicht bleiben auch bei automatischer Inhaltsanpassung lesbar und scrollbar. */
body.dashFitContent152 #desktop .widgetType153-special>.wb{overflow:auto!important}
body.dashFitContent152 #desktop .widgetType153-statuslist>.wb{overflow:hidden!important}
body.dashFitContent152 #desktop .widgetType153-statuslist .statusList{height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;transform:none!important}
body.dashFitContent152 #desktop .widgetType153-special .fitInner152,
body.dashFitContent152 #desktop .widgetType153-statuslist .fitInner152{transform:none!important}

/* Statusboard wird zuerst dynamisch komprimiert; reicht der Platz nicht, scrollt das Raster statt Inhalte abzuschneiden. */
body.dashFitContent152 #desktop .widgetType153-statusboard>.wb{overflow:hidden!important;min-height:0!important}
body.dashFitContent152 #desktop .widgetType153-statusboard .statusTabs{overflow-x:auto!important;overflow-y:hidden!important;flex-shrink:0}
body.dashFitContent152 #desktop .widgetType153-statusboard .statusGrid{overflow-y:auto!important;overflow-x:hidden!important;min-height:0!important;scrollbar-gutter:stable}
body.dashFitContent152 #desktop .widgetType153-statusboard .sbDynamic141 .sbCell{min-height:42px!important}

/* Leaflet darf den eingeklappten Dashboard-Fensterkopf nicht überdecken. */
body.widgetHeadsHover140 #desktop .widget>.wh{z-index:5000!important;pointer-events:auto!important}
body.widgetHeadsHover140 #desktop .widget.headerPeek153>.wh{transform:translateY(0)!important;opacity:1!important}
#desktop .widgetType153-map,#desktop .widgetType153-lage{isolation:isolate}
#desktop .widgetType153-map>.wb,#desktop .widgetType153-lage>.wb{position:relative;z-index:1}
body.widgetHeadsHover140 #desktop .widgetType153-map>.wh,
body.widgetHeadsHover140 #desktop .widgetType153-lage>.wh{z-index:6000!important}

/* 1.1.55 – Orientierungstabelle Suchraster; Eingabe bleibt frei */
.rasterGuide155{margin-top:8px}.rasterGuide155 .small{margin-top:4px}.rasterGuide155 table{margin-top:7px;font-size:12px}.rasterGuide155 th,.rasterGuide155 td{padding:5px 7px}.rasterGuide155 th{position:static}.rasterGuide155 td:first-child{white-space:nowrap;width:110px}


/* ===== 1.1.56 – Sprechwünsche/Notruf ===== */
.specialClock156{display:flex;flex-direction:column;gap:1px;line-height:1.05;min-width:62px}
.specialClock156 small{font-size:10px;opacity:.78;white-space:nowrap}
.specialEmergency156{box-shadow:inset 4px 0 0 #ff0019;background:rgba(255,0,25,.08)}
.emergencyLabel156{font-weight:800;color:#ff4b5d;letter-spacing:.04em}


/* ===== ELO Stadt Wunstorf 1.1.57 ===== */
/* Sprechwunsch-Zeilen: keine leere Zeitspalte / keine auseinandergezogenen Balken. */
.specialRow.specialRow157{display:grid!important;grid-template-columns:58px minmax(0,1fr) minmax(72px,auto)!important;gap:7px!important;align-items:center!important;min-height:46px;padding:5px 7px!important;overflow:hidden}
.specialStatus157{display:grid;place-items:center;align-self:stretch;min-height:32px;border-radius:5px;background:var(--spc,#6b1b24);color:var(--spt,#fff);font-size:18px;font-weight:950;line-height:1;white-space:nowrap}
.specialIdentity157{min-width:0;display:flex;flex-direction:column;justify-content:center;line-height:1.05}.specialIdentity157>b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.specialIdentity157>small{font-size:10px;color:#9fb4c2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.specialIdentity157 .emergencyLabel157{color:#ff5969;font-weight:900;letter-spacing:.04em}
.specialMeta157{min-width:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right;font-variant-numeric:tabular-nums;line-height:1.08}.specialMeta157>b{font-size:11px;white-space:nowrap;color:#eef8ff}.specialMeta157>small{font-size:10px;white-space:nowrap;color:#9fb4c2;margin-top:2px}.specialEmergency157{box-shadow:inset 4px 0 0 #ff0019;background:rgba(255,0,25,.07)}
@media(max-width:520px){.specialRow.specialRow157{grid-template-columns:50px minmax(0,1fr) 64px!important;gap:4px!important}.specialMeta157>b{font-size:10px}.specialMeta157>small{font-size:9px}}

/* Statusboard exakt in der verfügbaren Fensterhöhe halten. Flex statt calc(), damit
   Tabs/Scrollbalken keine letzten Pixel der untersten Zeile mehr abschneiden. */
#desktop .widgetType153-statusboard>.wb{display:flex!important;flex-direction:column!important;min-height:0!important;padding-bottom:6px!important}
#desktop .widgetType153-statusboard .statusTabs{flex:0 0 31px!important;height:31px!important;min-height:31px!important}
#desktop .widgetType153-statusboard .statusGrid{flex:1 1 auto!important;height:auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:5px!important;scroll-padding-bottom:5px!important}


/* ===== ELO Stadt Wunstorf 1.1.58 – Statuszeit im Statusboard randlos ===== */
/* Datum/Uhrzeit haben Vorrang. Keine ungenutzten Innenabstände; die Schrift darf bis an den Zellrand. */
#desktop .widgetType153-statusboard .statusStamp116.statusStamp129{
  grid-template-columns:minmax(0,1fr) min-content minmax(0,1fr)!important;
  column-gap:1px!important;
  padding:0 1px!important;
  min-height:18px!important;
  height:18px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#desktop .widgetType153-statusboard .statusStamp129 .statusDate129,
#desktop .widgetType153-statusboard .statusStamp129 .statusClock129{
  font-size:clamp(7px,min(12cqh,1.65cqw),10px)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
  font-variant-numeric:tabular-nums!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#desktop .widgetType153-statusboard .statusStamp129 .statusDate129{justify-self:start!important;text-align:left!important}
#desktop .widgetType153-statusboard .statusStamp129 .statusClock129{justify-self:end!important;text-align:right!important}
#desktop .widgetType153-statusboard .statusStamp129 .statusKind129{
  max-width:30px!important;
  margin:0!important;
  padding:0!important;
  font-size:clamp(6px,min(10cqh,1.25cqw),8px)!important;
  line-height:1!important;
}
/* Auf schmalen Statusboard-Zellen wird nur die Quellenangabe ausgeblendet – Datum und Uhrzeit bleiben vollständig sichtbar. */
@container (max-width:175px){
  #desktop .widgetType153-statusboard .statusStamp129{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:0!important;padding:0!important}
  #desktop .widgetType153-statusboard .statusStamp129 .statusKind129{display:none!important}
  #desktop .widgetType153-statusboard .statusStamp129 .statusDate129,
  #desktop .widgetType153-statusboard .statusStamp129 .statusClock129{font-size:clamp(6.5px,min(11cqh,1.62cqw),9px)!important}
}
@container (max-width:135px){
  #desktop .widgetType153-statusboard .statusStamp129 .statusDate129,
  #desktop .widgetType153-statusboard .statusStamp129 .statusClock129{font-size:6.5px!important;letter-spacing:-.075em!important}
}


/* ===== ELO Stadt Wunstorf 1.1.59 – Statuszeit wieder gut lesbar ===== */
/* Datum/Uhrzeit behalten eine sinnvolle Mindestgröße. Die Quellenangabe weicht zuerst. */
#desktop .widgetType153-statusboard .statusStamp116.statusStamp129{
  min-height:21px!important;
  height:21px!important;
  padding:0!important;
  column-gap:0!important;
}
#desktop .widgetType153-statusboard .statusStamp129 .statusDate129,
#desktop .widgetType153-statusboard .statusStamp129 .statusClock129{
  font-size:10.5px!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
  font-weight:800!important;
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
}
/* Schon bei normalen schmalen Dashboard-Spalten verschwindet Funk/Manuell, damit die Zeit groß bleiben kann. */
@container (max-width:230px){
  #desktop .widgetType153-statusboard .statusStamp129{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  #desktop .widgetType153-statusboard .statusStamp129 .statusKind129{display:none!important}
  #desktop .widgetType153-statusboard .statusStamp129 .statusDate129,
  #desktop .widgetType153-statusboard .statusStamp129 .statusClock129{font-size:10px!important}
}
@container (max-width:150px){
  #desktop .widgetType153-statusboard .statusStamp129 .statusDate129,
  #desktop .widgetType153-statusboard .statusStamp129 .statusClock129{font-size:9px!important;letter-spacing:-.035em!important}
}


/* ===== ELO Stadt Wunstorf 1.1.60 – Statuszeit feste Zeile, lesbar und randbündig ===== */
/* Im dynamischen Statusboard bekommt die Zeit eine echte reservierte Zeile.
   Datum links, Uhrzeit rechts; keine 50/50-Spalten und kein Überstehen aus einer 18px-Rasterzeile. */
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleTile116{
  grid-template-rows:minmax(24px,1fr) 20px!important;
}
#desktop .widgetType153-statusboard .statusStamp116.statusStamp129{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  min-width:0!important;
  min-height:20px!important;
  height:20px!important;
  padding:0!important;
  margin:0!important;
  gap:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  line-height:20px!important;
}
#desktop .widgetType153-statusboard .statusStamp129 .statusDate129,
#desktop .widgetType153-statusboard .statusStamp129 .statusClock129{
  display:block!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  font-size:11.5px!important;
  line-height:20px!important;
  letter-spacing:-.02em!important;
  font-weight:800!important;
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
#desktop .widgetType153-statusboard .statusStamp129 .statusDate129{
  text-align:left!important;
  margin-right:auto!important;
}
#desktop .widgetType153-statusboard .statusStamp129 .statusClock129{
  text-align:right!important;
  margin-left:auto!important;
}
/* Die Quellenangabe weicht in den Statusboard-Kacheln vollständig, damit die Zeit lesbar bleibt. */
#desktop .widgetType153-statusboard .statusStamp129 .statusKind129{display:none!important}
@container (max-width:150px){
  #desktop .widgetType153-statusboard .statusStamp129 .statusDate129,
  #desktop .widgetType153-statusboard .statusStamp129 .statusClock129{font-size:11px!important;letter-spacing:-.025em!important}
}


/* ===== ELO Stadt Wunstorf 1.1.61 – Zeitzeile minimal höher, Gesamtkachel unverändert ===== */
/* Vier Pixel werden aus dem Funkrufnamen-/Fahrzeugbereich genommen und der Zeitzeile
   gegeben. Die Kachel selbst wird dadurch nicht höher. */
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleTile116{
  grid-template-rows:minmax(0,1fr) 24px!important;
}
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleTile116 .statusBox,
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleTile116 .callBox{
  min-height:0!important;
  overflow:hidden!important;
}
#desktop .widgetType153-statusboard .statusStamp116.statusStamp129{
  display:grid!important;
  grid-template-columns:max-content minmax(0,1fr) max-content!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:24px!important;
  height:24px!important;
  padding:0 1px!important;
  margin:0!important;
  gap:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  line-height:23px!important;
}
#desktop .widgetType153-statusboard .statusStamp129 .statusDate129,
#desktop .widgetType153-statusboard .statusStamp129 .statusClock129{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  font-size:12px!important;
  line-height:23px!important;
  letter-spacing:-.02em!important;
  font-weight:800!important;
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
#desktop .widgetType153-statusboard .statusStamp129 .statusDate129{
  grid-column:1!important;
  justify-self:start!important;
  text-align:left!important;
}
#desktop .widgetType153-statusboard .statusStamp129 .statusClock129{
  grid-column:3!important;
  justify-self:end!important;
  text-align:right!important;
}
#desktop .widgetType153-statusboard .statusStamp129 .statusKind129{display:none!important}
@container (max-width:150px){
  #desktop .widgetType153-statusboard .statusStamp129 .statusDate129,
  #desktop .widgetType153-statusboard .statusStamp129 .statusClock129{
    font-size:11.5px!important;
    letter-spacing:-.025em!important;
  }
}

/* ===== 1.1.62 – AlarmSDS ===== */
.alarmTop162{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.alarmTop162 h2{margin:0}.alarmTop162>div:first-child{margin-right:auto}.alarmInbox162{background:#6d174f;border:1px solid #bb55ff;border-radius:999px;padding:6px 11px;white-space:nowrap}.bad162{background:#7a1f2b!important}.alarmTableWrap162{max-height:calc(100vh - 155px);border:1px solid #29495b;border-radius:7px}.alarmTable162{min-width:1500px}.alarmTable162 thead th{top:0;z-index:3}.alarmTable162 .alarmFilter162 th{top:34px;background:#0a1c27;padding:3px}.alarmFilter162 input{width:100%;min-width:70px;padding:5px}.alarmDone162{opacity:.67}.alarmSep162 td{background:#173546!important;padding:10px}.alarmVeh162{display:inline-block;border:1px dashed #567887;border-radius:5px;padding:2px 5px;margin:1px;font-size:11px;white-space:nowrap}.alarmVeh162.standard{border:2px solid #bb55ff;padding:1px 4px;box-shadow:0 0 5px #bb55ff55}.alarmVeh162.sent{border-color:#20d67b!important;color:#bfffe0;box-shadow:none}.alarmTarget162{display:grid;grid-template-columns:auto minmax(90px,auto) 1fr;gap:7px;align-items:center;padding:5px 0;border-bottom:1px solid #29495b}.alarmTarget162 input{width:auto}.alarmTarget162 small{color:#9eb4c0}.alarmSend162 textarea,.alarmSettings162 textarea{width:100%}.alarmGroup162{border:1px solid #31566c;border-radius:6px;padding:8px;margin:7px 0}.alarmGroup162 textarea{margin-top:6px}.userPermGrid162{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:6px;margin-top:8px}.userPermGrid162 label{display:grid;grid-template-columns:minmax(120px,1fr) 145px;gap:8px;align-items:center}.userPermGrid162 select{width:100%}
.alarmPreassign162{outline:3px solid #bb55ff;outline-offset:-3px;box-shadow:inset 0 0 8px #bb55ff66}

/* ===== 1.1.63 – AlarmSDS nutzt vorhandene ELO-Gruppen ===== */
.alarmGroupChoices163{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:10px}
.alarmGroupChoices163 .chip{display:flex;align-items:flex-start;gap:7px;white-space:normal}
.alarmGroupChoices163 .chip span.small{display:block;opacity:.78;margin-left:2px}


/* ===== 1.1.65 – AlarmSDS Auftragssteuerung ===== */
.alarmEnableCell165{text-align:center;width:34px}.alarmEnableCell165 input{width:18px;height:18px;margin:0}.alarmActions165{display:flex;gap:5px;align-items:center;flex-wrap:wrap;min-width:190px}.alarmActions165 button{white-space:nowrap}.alarmDisabled165{opacity:.52}.alarmDisabledBlock165{margin-top:10px;border:1px solid #29495b;border-radius:7px;padding:7px}.alarmDisabledBlock165 summary{cursor:pointer;font-weight:700}.alarmInfo165{padding:5px 8px;margin-bottom:6px;border-left:3px solid #bb55ff;background:#24152c}.muted165{opacity:.75}

/* ===== 1.1.66 – AlarmSDS Fireboard-Nr. / Auftraege ohne Nr. ===== */
.alarmTable162{min-width:1260px}
.alarmNr166{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:center}
.alarmNoNumber166{border-color:#7a6530;background:#17170d}
.alarmNoNumber166 summary{color:#ffd776}
.alarmNoNumberHint166{padding:6px 4px 8px;color:#c8b77f}


/* ===== 1.1.67 – Statusboard Datum/Zeit + AlarmSDS/Protokoll ===== */
#desktop .widgetType153-statusboard .statusTabs{flex-basis:28px!important;height:28px!important;min-height:28px!important}
#desktop .widgetType153-statusboard .sbDynamic141{gap:1px!important}
#desktop .widgetType153-statusboard .sbDynamic141 .sbCell{min-height:0!important}
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleTile116{
  grid-template-rows:minmax(34px,1fr) 28px!important;
}
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleTile116 .statusBox,
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleTile116 .callBox{
  min-height:0!important;padding:0 1px!important;overflow:hidden!important;
}
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleTile116 .statusValue{
  font-size:clamp(17px,min(44cqh,6.2cqw),30px)!important;line-height:.9!important;
}
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleTile116 .callValue{
  font-size:clamp(14px,min(34cqh,5.3cqw),27px)!important;line-height:.92!important;
}
#desktop .widgetType153-statusboard .sbDynamic141 .callBox129.hasType129{padding:0 1px 11px!important}
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleType129{font-size:clamp(8px,1.8cqw,10px)!important;bottom:1px!important;line-height:1!important}
#desktop .widgetType153-statusboard .statusStamp116.statusStamp129{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  height:28px!important;min-height:28px!important;line-height:27px!important;
  width:100%!important;padding:0!important;margin:0!important;gap:2px!important;overflow:hidden!important;
}
#desktop .widgetType153-statusboard .statusStamp129 .statusDate129,
#desktop .widgetType153-statusboard .statusStamp129 .statusClock129{
  display:block!important;flex:0 0 auto!important;font-size:12px!important;line-height:27px!important;
  letter-spacing:-.015em!important;font-weight:850!important;white-space:nowrap!important;overflow:visible!important;
}
#desktop .widgetType153-statusboard .statusStamp129 .statusDate129{margin-right:auto!important;text-align:left!important}
#desktop .widgetType153-statusboard .statusStamp129 .statusClock129{margin-left:auto!important;text-align:right!important}
#desktop .widgetType153-statusboard .statusStamp129 .statusKind129{display:none!important}
#desktop .widgetType153-statusboard .sbDynamic141 .sbHeading{padding:0 2px!important;line-height:1!important}
.auditFilters167{display:grid;grid-template-columns:minmax(220px,1fr) 180px 220px auto auto;gap:7px;align-items:center;margin-bottom:8px}.auditTableWrap167{max-height:calc(100vh - 190px)}.auditTableWrap167 table{width:100%}.auditTableWrap167 thead th{position:sticky;top:0;z-index:2}
@media(max-width:1000px){.auditFilters167{grid-template-columns:1fr 1fr}.auditFilters167 #auditQ167{grid-column:1/-1}}

/* ===== 1.1.68 – dynamisches Statusboard: Zeitzeile wirklich sichtbar ===== */
/* Die Fahrzeugkachel bleibt insgesamt kompakt. Nur die interne Verteilung wird
   geaendert: oben Status/Funkrufname/Typ, unten eine feste, voll sichtbare Zeitzeile. */
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleTile116{
  grid-template-rows:minmax(40px,1fr) 30px!important;
}
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleTile116 .statusBox,
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleTile116 .callBox{
  min-height:0!important;
  padding:0 1px!important;
  overflow:hidden!important;
}
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleTile116 .statusValue{
  font-size:clamp(17px,min(38cqh,5.9cqw),29px)!important;
  line-height:.9!important;
}
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleTile116 .callValue{
  font-size:clamp(13px,min(31cqh,5.0cqw),25px)!important;
  line-height:.9!important;
}
#desktop .widgetType153-statusboard .sbDynamic141 .callBox129.hasType129{
  padding:0 1px 10px!important;
}
#desktop .widgetType153-statusboard .sbDynamic141 .vehicleType129{
  font-size:clamp(8px,1.7cqw,10px)!important;
  line-height:1!important;
  bottom:1px!important;
}
#desktop .widgetType153-statusboard .sbDynamic141 .statusStamp116.statusStamp129{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  line-height:29px!important;
  padding:0 1px!important;
  margin:0!important;
  gap:2px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#desktop .widgetType153-statusboard .sbDynamic141 .statusStamp129 .statusDate129,
#desktop .widgetType153-statusboard .sbDynamic141 .statusStamp129 .statusClock129{
  display:block!important;
  flex:0 0 auto!important;
  font-size:12.5px!important;
  line-height:29px!important;
  letter-spacing:-.015em!important;
  font-weight:850!important;
  white-space:nowrap!important;
  overflow:visible!important;
  padding:0!important;
  margin:0!important;
}
#desktop .widgetType153-statusboard .sbDynamic141 .statusStamp129 .statusDate129{margin-right:auto!important;text-align:left!important}
#desktop .widgetType153-statusboard .sbDynamic141 .statusStamp129 .statusClock129{margin-left:auto!important;text-align:right!important}
#desktop .widgetType153-statusboard .sbDynamic141 .statusStamp129 .statusKind129{display:none!important}
/* Reine Ueberschriftenzeilen duerfen bewusst deutlich flacher sein. */
#desktop .widgetType153-statusboard .sbDynamic141 .sbHeading{
  padding:0 2px!important;
  line-height:.92!important;
}


/* ===== 1.1.70 – adaptive Mischdarstellung fuer dynamisches Statusboard ===== */
#desktop .widgetType153-statusboard .sbAdaptive169{align-content:start!important;gap:1px!important}
#desktop .widgetType153-statusboard .sbAdaptive169 .sbCell{min-height:0!important}
#desktop .widgetType153-statusboard .sbAdaptive169 .vehicleTile116{
  grid-template-rows:minmax(30px,1fr) 20px!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .vehicleTile116 .statusBox,
#desktop .widgetType153-statusboard .sbAdaptive169 .vehicleTile116 .callBox{
  min-height:0!important;padding:0 1px!important;overflow:hidden!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .vehicleTile116 .statusValue{
  font-size:clamp(15px,min(41cqh,5.7cqw),27px)!important;line-height:.9!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .vehicleTile116 .callValue{
  font-size:clamp(12px,min(34cqh,4.8cqw),23px)!important;line-height:.9!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .callBox129.hasType129{padding:0 1px 9px!important}
#desktop .widgetType153-statusboard .sbAdaptive169 .vehicleType129{
  font-size:clamp(7.5px,1.55cqw,9px)!important;line-height:1!important;bottom:1px!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .statusStamp116.statusStamp129{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  height:20px!important;min-height:20px!important;max-height:20px!important;line-height:19px!important;
  width:100%!important;padding:0 1px!important;margin:0!important;gap:1px!important;overflow:hidden!important;box-sizing:border-box!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .statusStamp129 .statusDate129,
#desktop .widgetType153-statusboard .sbAdaptive169 .statusStamp129 .statusClock129{
  display:block!important;flex:0 0 auto!important;font-size:10px!important;line-height:19px!important;
  letter-spacing:-.025em!important;font-weight:800!important;white-space:nowrap!important;overflow:visible!important;padding:0!important;margin:0!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .statusStamp129 .statusDate129{margin-right:auto!important;text-align:left!important}
#desktop .widgetType153-statusboard .sbAdaptive169 .statusStamp129 .statusClock129{margin-left:auto!important;text-align:right!important}
#desktop .widgetType153-statusboard .sbAdaptive169 .statusStamp129 .statusKind129{display:none!important}
#desktop .widgetType153-statusboard .sbAdaptive169 .sbHeading{
  padding:0 2px!important;line-height:.95!important;font-size:clamp(12px,min(45cqh,2.6cqw),17px)!important;
}


/* ===== 1.1.70 – groessere Ueberschriften/Funkrufnamen bei kompakteren Abstaenden ===== */
#desktop .widgetType153-statusboard .sbAdaptive169 .sbHeading{
  font-size:clamp(14px,min(58cqh,3.15cqw),20px)!important;
  line-height:.86!important;
  padding:0 1px!important;
  letter-spacing:-.015em!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .vehicleTile116 .callValue{
  font-size:clamp(13px,min(39cqh,5.25cqw),25px)!important;
  line-height:.84!important;
  letter-spacing:-.02em!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .callBox129.hasType129{
  padding:0 1px 7px!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .vehicleType129{
  font-size:clamp(7.5px,1.65cqw,9.5px)!important;
  line-height:.92!important;
  bottom:0!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .statusValue{
  line-height:.84!important;
}


/* ===== 1.1.71 – groessere, eng gesetzte Statusboard-Typografie + F/M ===== */
#desktop .widgetType153-statusboard .sbAdaptive169 .sbHeading{
  font-size:clamp(16px,min(70cqh,3.8cqw),23px)!important;
  line-height:.78!important;
  letter-spacing:-.035em!important;
  padding:0!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .vehicleTile116 .callValue{
  font-size:clamp(14px,min(47cqh,6.0cqw),28px)!important;
  line-height:.78!important;
  letter-spacing:-.04em!important;
  padding:0!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .callBox129.hasType129{
  padding:0 0 6px!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .vehicleType129{
  font-size:clamp(8px,1.8cqw,10px)!important;
  line-height:.86!important;
  bottom:0!important;
  letter-spacing:-.02em!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .statusStamp116.statusStamp129{
  display:grid!important;
  grid-template-columns:max-content minmax(9px,1fr) max-content!important;
  align-items:center!important;
  column-gap:1px!important;
  padding:0 1px!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .statusStamp129 .statusKind129{
  display:block!important;
  min-width:9px!important;
  font-size:9px!important;
  line-height:19px!important;
  color:#9fb4c2!important;
  font-weight:800!important;
  text-align:center!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .statusStamp129 .statusDate129{
  margin:0!important;text-align:left!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .statusStamp129 .statusClock129{
  margin:0!important;text-align:right!important;
}

/* 1.1.71 final – vorhandenen Raum fuer lesbarere Funkrufnamen/Ueberschriften nutzen */
#desktop .widgetType153-statusboard .sbAdaptive169 .vehicleTile116{
  grid-template-columns:minmax(30px,25%) minmax(0,75%)!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .sbHeading{
  font-size:clamp(18px,min(74cqh,4.4cqw),24px)!important;
  line-height:.76!important;
  letter-spacing:-.045em!important;
}
#desktop .widgetType153-statusboard .sbAdaptive169 .vehicleTile116 .callValue{
  font-size:clamp(16px,min(52cqh,6.8cqw),28px)!important;
  line-height:.76!important;
  letter-spacing:-.05em!important;
}

/* ===== 1.1.75 AlarmSDS Einsatzstellen-Pins ===== */
.alarmPinWrap173{background:transparent!important;border:0!important}
.alarmPin173{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;background:#44145f;color:#fff;border:2px solid #d778ff;border-radius:7px;padding:3px 7px 3px 4px;box-shadow:0 2px 7px #0009;font-size:12px;line-height:1.1;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.alarmPinDot173{width:14px;height:14px;min-width:14px;border-radius:50% 50% 50% 0;background:#d778ff;border:2px solid #fff;transform:rotate(-45deg);box-shadow:0 0 0 1px #5f176e}
.alarmPin173 b{overflow:hidden;text-overflow:ellipsis}
.alarmIncident173{display:grid;gap:8px;min-width:min(620px,80vw)}
.alarmInfoRow173{display:grid;grid-template-columns:minmax(110px,150px) 1fr;gap:10px;border-bottom:1px solid #24485a;padding:5px 0}
.alarmInfoRow173>b{color:#9ccfe7}.alarmInfoRow173 span{white-space:pre-wrap;overflow-wrap:anywhere}
.alarmIncidentActions173{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.alarmPickList173{display:grid;gap:6px;min-width:min(520px,75vw)}
.alarmPickList173 button{display:grid;grid-template-columns:90px 1fr;text-align:left;gap:8px;padding:8px}
.mapAlarmSettings173 label{margin-top:7px}

/* ===== 1.1.75 AlarmSDS Liveticker-Hinweis ===== */
.alarmLiveTickerInfo175{margin:8px 0 10px;padding:8px 10px;border:1px solid #3b7188;border-left:4px solid #1da1d2;border-radius:5px;background:#0d202a;color:#dceff8;font-size:13px;line-height:1.25}
.alarmLiveTickerInfo175 b{color:#fff}

/* ===== 1.1.76 AlarmSDS Liveticker-Quellen ===== */
.alarmTickerOff176{margin:18px 6px;padding:26px 20px;border:2px solid #ef4444;border-radius:8px;background:#3d090d;text-align:center;display:flex;flex-direction:column;gap:8px}
.alarmTickerOff176 b{font-size:clamp(24px,3vw,42px);line-height:1.05;color:#fff;letter-spacing:.02em}
.alarmTickerOff176 span{font-size:15px;color:#ffd9dc}
.alarmSources176{display:flex;flex-direction:column;gap:9px;margin-top:8px}
.alarmSource176{border:1px solid #345870;border-radius:7px;background:#071722;overflow:hidden}
.alarmSource176>summary{cursor:pointer;display:flex;align-items:center;gap:10px;padding:10px 12px;background:#123247;font-weight:700;list-style:none}
.alarmSource176>summary::-webkit-details-marker{display:none}.alarmSource176>summary:before{content:'▶';font-size:12px}.alarmSource176[open]>summary:before{content:'▼'}
.alarmSource176.inactive{border-color:#b98618}.alarmSource176.inactive>summary{background:#3a310d}.alarmSource176.error{border-color:#b62d3a}.alarmSource176.error>summary{background:#471018}
.alarmSourceName176{font-size:18px}.alarmSourceBadge176{padding:2px 7px;border-radius:999px;font-size:11px}.alarmSourceBadge176.active{background:#146c3b}.alarmSourceBadge176.inactive{background:#a16207}.alarmSourceBadge176.error{background:#a7192a}.alarmSourceMeta176{margin-left:auto;font-size:12px;font-weight:500;opacity:.9}
.alarmSourceBody176{padding:8px}.alarmSourceWarn176{padding:8px 10px;margin-bottom:8px;border:1px solid #b98618;border-radius:5px;background:#2b250d;color:#ffe9a6}
.alarmNoNumber176{margin-top:8px;border:1px solid #8a741c;border-radius:6px;background:#17170a}.alarmNoNumber176>summary{cursor:pointer;padding:8px 10px;font-weight:700;color:#ffe36b}

/* ===== 1.1.77 Disponieren / EMS ===== */
.emsState177{margin:8px 0;padding:8px 10px;border-radius:7px;border:1px solid #5e7180;background:#17252f}.emsState177.ready{border-color:#2d8d60;background:#123525}.emsState177.off{border-color:#b47a2a;background:#382b14}.alarmDispatch177{border:1px solid #31566c;border-radius:8px;overflow:hidden;margin:10px 0}.alarmDispatchHead177,.alarmDispatchRow177{display:grid;grid-template-columns:minmax(145px,1.2fr) minmax(150px,1fr) 90px minmax(170px,1fr);gap:8px;align-items:center;padding:7px 9px}.alarmDispatchHead177{background:#173546;border-bottom:1px solid #31566c}.alarmDispatchRow177{border-bottom:1px solid #29495b}.alarmDispatchRow177:last-child{border-bottom:0}.alarmDispatchRow177>small{color:#9eb4c0}.alarmDispatchSection177{padding:7px 9px;background:#0d2633;font-weight:700;border-top:1px solid #31566c;border-bottom:1px solid #31566c}.alarmDispatchSection177:first-child{border-top:0}.dispatchCheck177{display:flex;gap:6px;align-items:center;margin:0}.dispatchCheck177 input{width:auto}.dispatchCheck177 span{line-height:1.2}.dispatchCheck177 small{font-size:10px;color:#9eb4c0;overflow-wrap:anywhere}.dispatchCheck177.ems177{align-items:flex-start}.emsSent177{display:block;color:#6ee7a8;margin-top:2px}.alarmSend162 .modalFooter177{display:flex;gap:6px}@media(max-width:900px){.alarmDispatchHead177,.alarmDispatchRow177{grid-template-columns:1fr 1fr}.alarmDispatchHead177>*:nth-child(3),.alarmDispatchHead177>*:nth-child(4){margin-top:3px}.alarmDispatchRow177{padding:9px}.alarmDispatchRow177>.dispatchCheck177{justify-content:flex-start}}

/* 1.1.80 */
.sdsEmsButtons180{flex-wrap:wrap}.sdsEmsButtons180 button{min-width:150px}.specialSend180{margin:10px 0;padding:8px;border:1px solid #42687d;border-radius:7px;background:#0b1b27}.demoVehicles180{max-height:220px;overflow:auto}.sdsVehicleTable112 th:last-child,.sdsVehicleTable112 td:last-child{min-width:150px;max-width:260px;word-break:break-word}

/* ===== 1.1.77 Wasserversorgung / Wasserrettungs-Layer ===== */
.waterPage177{height:calc(100vh - 48px);display:flex;flex-direction:column;min-height:0}.waterWrap177{display:grid;grid-template-columns:minmax(0,1fr) 330px;min-height:0;flex:1}.waterWrap177 #waterMap177{min-height:420px;background:#07131c}.waterWrap177 #waterSide177{overflow:auto;border-left:1px solid #285066;background:#0b1c27;padding:8px}.waterSideCard177{border:1px solid #31586c;border-radius:6px;padding:8px;margin-bottom:8px;background:#0d2430}.waterItem177{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;padding:6px 0;border-bottom:1px solid #284858}.waterItem177:last-child{border-bottom:0}.waterItem177 .meta{font-size:11px;color:#9eb6c4}.waterLineLabel177{font-size:10px!important;line-height:1!important;font-weight:700;color:#111;background:rgba(255,255,255,.76);padding:1px 2px;border-radius:2px;white-space:nowrap;pointer-events:none}.hydrantIcon177{width:18px;height:18px;border-radius:50%;background:#d60000;border:2px solid #fff;color:#fff;display:flex;align-items:center;justify-content:center;font:bold 11px/1 Arial;box-shadow:0 1px 3px #0008}.waterRescueLabel177{font-size:11px;font-weight:700;color:#fff;background:#007da8cc;border:1px solid #8de5ff;border-radius:3px;padding:1px 4px;white-space:nowrap}.waterDrawActive177{background:#854d00!important}.waterExportGrid177{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.waterHelp177{font-size:12px;color:#a9c1ce}.waterShareRow177{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.waterRescueLayers177 .row177{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;padding:6px 0;border-bottom:1px solid #284858}.waterLegendDot177{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.waterLegendLine177{display:inline-block;width:22px;border-top:4px solid;vertical-align:middle;margin-right:5px}.mapWaterSettings177 label{display:block;margin:5px 0}
@media(max-width:850px){.waterWrap177{grid-template-columns:1fr}.waterWrap177 #waterSide177{max-height:32vh;border-left:0;border-top:1px solid #285066}.waterExportGrid177{grid-template-columns:1fr}}


/* 1.1.78 – Tablet-/Standortverwaltung */
.vehicleVisibility178{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;border:1px solid #34546a;background:#102331;color:#dbeefa}.vehicleVisibility178.active{border-color:#3f8f65;background:#123424;color:#dff8e9}.vehicleVisibility178.inactive{border-color:#73505a;background:#321820;color:#ffdce4}.vehicleVisibility178.permanent{border-color:#397f9d;background:#102f40}.tabletConfigGrid178{align-items:start}.tabletList178{margin-top:12px}.tabletState178{font-size:12px;font-weight:700;white-space:nowrap}.tabletState178.pending{color:#ffd966}.tabletState178.approved{color:#7ee2a8}.tabletState178.blocked{color:#ff8d9b}.tabletRow178.pending{background:rgba(255,210,0,.04)}.tabletRow178.blocked{opacity:.78}.mono178{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;max-width:260px;overflow:hidden;text-overflow:ellipsis}.tabletList178 table td{vertical-align:top}.tabletList178 table button{margin:1px 2px}

/* ===== 1.1.83 Hydrantennetz ===== */
.waterLineLabelIcon183{background:transparent!important;border:0!important;pointer-events:none!important;overflow:visible!important}
.waterLineLabel183{display:inline-block;position:absolute;left:50%;top:50%;transform-origin:center center;font:900 11px/1.1 Arial,sans-serif;white-space:nowrap;letter-spacing:.2px;color:#061018!important;background:rgba(255,255,255,.94);border:1px solid rgba(0,0,0,.78);border-radius:3px;padding:2px 4px;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.72);text-shadow:none!important;-webkit-text-stroke:0!important;paint-order:normal}
.waterFolder183{border:1px solid #294d60;border-radius:6px;margin-top:7px;background:#0b202b;overflow:hidden}.waterFolder183>summary{display:flex;justify-content:space-between;gap:8px;align-items:center;cursor:pointer;padding:7px 8px;font-weight:700;background:#102a38}.waterFolder183>.waterItem177{padding-left:8px;padding-right:8px}.waterFolder183[open]>summary{border-bottom:1px solid #294d60}.waterStdRow183{display:grid;grid-template-columns:auto minmax(90px,130px) 58px auto;gap:8px;align-items:center;margin:6px 0}.waterStdRow183 input[type=number]{width:100%}.waterStdRow183 input[type=color]{width:52px;height:34px;padding:2px}.waterLegendLine177{border-top-style:solid!important}


/* ===== ELO 1.1.86 – Kartenbibliothek im Hintergrund ===== */
.mapLazy185{height:100%;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px;text-align:center;color:#dcecf5;background:#081722}.mapLazy185 span{font-size:12px;color:#9fb8c6}.mapLazy185.error185{color:#ffb5bd}.mapLazy185 button{margin-top:6px}

/* ===== ELO 1.1.86 – Rohrleitungen zoomstabil + Beschriftung ===== */
.waterLinePath186{vector-effect:non-scaling-stroke!important;shape-rendering:geometricPrecision}.waterLineLabel183{font-size:11px!important;font-weight:900!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(0,0,0,.88)!important;box-shadow:0 1px 4px rgba(0,0,0,.82)!important}
