:root{--blue-text:var(--blue)}
:root{
  --brand:#075985;--blue:#075985;--accent:var(--blue);--blue-soft:#e8f3f8;--green:#15803d;--orange:#c2660a;--red:#dc2626;
  --ink:#172033;--muted:#64748b;--line:#e2e8f0;--surface:#fff;--canvas:#f4f7fa;
  --radius:18px;--radius-sm:13px;--shadow:0 18px 50px rgba(15,23,42,.12);
}
html[data-theme="dark"]{color-scheme:dark;--ink:#F9FAFB;--muted:#9CA3AF;--line:#374151;--surface:#1A1F2B;--canvas:#0F1419;--blue-soft:#242A38}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;overflow-x:hidden;background:var(--canvas);color:var(--ink);font:15px/1.42 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:-.006em}
.topbar{display:flex;align-items:center;gap:14px;padding:18px 28px;background:var(--surface);border-bottom:1px solid var(--line)}
.topbar h1{font-size:20px;margin:0;flex:1;font-weight:800}
.topbar p{margin:0;color:var(--muted);font-size:13px}
.back-link{color:var(--blue-text);text-decoration:none;font-weight:700;font-size:14px}
.page{max-width:1100px;margin:0 auto;padding:28px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;margin-bottom:20px;box-shadow:var(--shadow)}
.card h2{margin-top:0;font-size:16px;font-weight:800}
.client-overview-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.8fr);gap:18px;align-items:stretch;margin-bottom:20px}
.client-overview-grid>.card{height:100%;margin:0}
.client-einsatz-card{border:2px solid var(--blue);background:linear-gradient(135deg,var(--surface),var(--blue-soft));padding:18px 22px}
.client-einsatz-card__layout{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.client-einsatz-card__main{flex:1 1 240px;min-width:240px}
.client-handy-tracker{flex:0 0 420px;display:flex;gap:16px;align-items:center;padding:14px 18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}
.client-handy-tracker__qr{flex:0 0 auto;display:block;line-height:0;border-radius:8px;overflow:hidden}
.client-handy-tracker__qr img{display:block;width:84px;height:84px}
.client-handy-tracker__body{flex:1;display:grid;gap:4px;text-align:left;min-width:0}
.client-handy-tracker__body strong{font-size:13px}
.client-handy-tracker__body .hint{margin:0}
.client-handy-tracker__body .button{margin-top:4px;width:100%}
@media(max-width:700px){.client-einsatz-card__layout{flex-direction:column}.client-handy-tracker{flex-basis:auto;width:100%}}
.client-einsatz-card .notice{margin:10px 0 0}
.client-einsatz-overview>div:first-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.client-einsatz-overview h2{font-size:21px;margin:0}
.client-einsatz-overview__resources{display:grid;grid-template-columns:130px 1fr;gap:5px 14px;margin-top:14px;font-size:13px}
.client-einsatz-overview__resources strong{color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.04em}
.client-status-card{padding:18px 20px}
.client-status-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.client-status-options>div{min-width:0}
.client-status-button{min-width:0;min-height:58px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);display:flex;align-items:center;gap:9px;cursor:pointer;font:inherit;text-align:left}
.client-status-options .client-status-button{width:100%}
.client-status-button strong{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:9px;background:var(--canvas);color:var(--blue-text);font-size:17px}
.client-status-button span{font-size:12px;font-weight:750;white-space:nowrap}
.client-status-button[data-client-status="3"].client-status-button--active{border-color:#facc15;background:#fff8cc;color:#713f12;box-shadow:0 0 0 1px #facc15 inset}
.client-status-button[data-client-status="3"].client-status-button--active strong{background:#fde68a;color:#713f12}
.client-status-button[data-client-status="4"].client-status-button--active{border-color:#4ade80;background:#dcfce7;color:#14532d;box-shadow:0 0 0 1px #4ade80 inset}
.client-status-button[data-client-status="4"].client-status-button--active strong{background:#bbf7d0;color:#14532d}
html[data-theme="dark"] .client-status-button[data-client-status="3"].client-status-button--active{border-color:#ca8a04;background:#3d3514;color:#fef3c7;box-shadow:0 0 0 1px #ca8a04 inset}
html[data-theme="dark"] .client-status-button[data-client-status="3"].client-status-button--active strong{background:#713f12;color:#fef3c7}
html[data-theme="dark"] .client-status-button[data-client-status="4"].client-status-button--active{border-color:#16a34a;background:#12351f;color:#dcfce7;box-shadow:0 0 0 1px #16a34a inset}
html[data-theme="dark"] .client-status-button[data-client-status="4"].client-status-button--active strong{background:#14532d;color:#dcfce7}
.client-status-button:disabled{cursor:not-allowed;opacity:.45}
.client-status-hint{min-height:17px;margin:8px 0 0;color:var(--muted);font-size:11px}
.client-status-time{display:block;min-height:16px;margin:4px 2px 0;color:var(--muted);font-size:10px;text-align:center}
.client-vehicle-status-card{padding:18px 20px}.client-vehicle-status-card .table-heading{align-items:flex-end;margin:0 0 12px}.client-vehicle-status-card h2{margin:2px 0 0}.client-vehicle-status-list{display:grid;gap:8px}.client-vehicle-status-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,.55fr) minmax(280px,1fr);align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.client-vehicle-status-row__identity,.client-vehicle-status-row__current{display:flex;flex-direction:column;gap:2px;min-width:0}.client-vehicle-status-row__identity strong{overflow-wrap:anywhere}.client-vehicle-status-row__identity small,.client-vehicle-status-row__current small{color:var(--muted);font-size:11px}.client-vehicle-status-row__current strong{width:max-content;padding:3px 8px;border-radius:999px;background:var(--canvas);color:var(--muted);font-size:12px}.client-vehicle-status-row__current--3 strong{background:#fef3c7;color:#92400e}.client-vehicle-status-row__current--4 strong{background:#dcfce7;color:#166534}.client-vehicle-status-row__actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.client-vehicle-status-action{min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--canvas);color:var(--blue-text);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.client-vehicle-status-action--3.is-active{border-color:#ca8a04;background:#fef3c7;color:#713f12}.client-vehicle-status-action--4.is-active{border-color:#16a34a;background:#dcfce7;color:#14532d}.client-vehicle-status-action:disabled{cursor:not-allowed;opacity:.48}html[data-theme="dark"] .client-vehicle-status-row__current--3 strong,html[data-theme="dark"] .client-vehicle-status-action--3.is-active{background:#3d3514;color:#fef3c7}html[data-theme="dark"] .client-vehicle-status-row__current--4 strong,html[data-theme="dark"] .client-vehicle-status-action--4.is-active{background:#12351f;color:#dcfce7}@media(max-width:760px){.client-vehicle-status-row{grid-template-columns:1fr auto}.client-vehicle-status-row__actions{grid-column:1/-1}}@media(max-width:440px){.client-vehicle-status-row__actions{grid-template-columns:1fr}}
.client-vehicle-status-row{grid-template-columns:minmax(0,1fr) auto;align-items:end}.client-vehicle-status-row__head{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid var(--line)}.client-vehicle-status-row__load{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.client-vehicle-status-row__load>div{min-width:0;padding:9px;border-radius:9px;background:var(--canvas)}.client-vehicle-status-row__label{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.client-vehicle-assignment-open{justify-self:start}.vehicle-assignment-modal-box{width:min(900px,calc(100vw - 28px));max-height:min(760px,calc(100vh - 28px));overflow:auto}.vehicle-assignment-group{margin-top:14px}.vehicle-assignment-group h4{margin:0 0 8px}.vehicle-assignment-group .check-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));max-height:280px;overflow:auto;padding:2px}.vehicle-assignment-group .check-tile.is-disabled{opacity:.5}.vehicle-assignment-group .check-tile.is-disabled input{cursor:not-allowed}@media(max-width:760px){.client-vehicle-status-row{grid-template-columns:1fr}.client-vehicle-status-row__load{grid-template-columns:1fr}.client-vehicle-status-row__actions{grid-column:1}.client-vehicle-assignment-open{width:100%}}
.client-gps-toggle{display:flex;align-items:center;gap:9px;margin-top:14px;color:var(--muted);font-size:12px;font-weight:650;cursor:pointer}
.client-gps-toggle input{position:absolute;opacity:0;pointer-events:none}
.client-gps-toggle__switch{position:relative;width:36px;height:20px;flex:0 0 36px;border-radius:999px;background:var(--line);transition:.16s}
.client-gps-toggle__switch::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.25);transition:.16s}
.client-gps-toggle input:checked+.client-gps-toggle__switch{background:var(--blue)}
.client-gps-toggle input:checked+.client-gps-toggle__switch::after{transform:translateX(16px)}
.client-gps-toggle input:focus-visible+.client-gps-toggle__switch{outline:3px solid color-mix(in srgb,var(--blue) 30%,transparent);outline-offset:2px}
.client-gps-toggle--disabled{cursor:not-allowed;opacity:.45}
.client-gps-hint{min-height:16px;margin:5px 0 0;color:var(--muted);font-size:10px}
@media(max-width:900px){.client-overview-grid{grid-template-columns:1fr}.client-status-card{height:auto!important}}
@media(max-width:440px){.client-status-options{grid-template-columns:1fr}.client-einsatz-overview__resources{grid-template-columns:1fr}.client-einsatz-overview__resources strong{margin-top:6px}}
.card h3{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:22px 0 10px;font-weight:750}
.hint{color:var(--muted);font-size:13px}
.muted{color:var(--muted)}
.form-row{display:flex;gap:10px;flex-wrap:wrap}
.form-row--three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}
.form-row input,.form-row select{flex:1;min-width:160px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:15px;background:var(--surface);color:var(--ink)}
.form-row--three input,.form-row--three select{min-width:0}
.form-row--three .vehicle-tags{grid-column:1/-1}
label.full{display:block;margin-bottom:14px}
label.full span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
label.full select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:15px;background:var(--surface);color:var(--ink)}
.button{min-height:46px;padding:0 20px;border:0;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:750;font-size:14px;cursor:pointer;transition:.18s;text-decoration:none}
.button.primary{background:var(--blue);color:#fff;box-shadow:0 8px 18px rgba(7,89,133,.28)}
.button.primary:hover{filter:brightness(1.08)}
.button.ghost{background:var(--blue-soft);color:var(--blue-text)}
.button.compact{min-height:34px;padding:0 14px;font-size:12px}
.button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.item-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.item-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm)}
.item-list li.is-inactive{opacity:.5}
.item-list a{color:var(--ink);text-decoration:none;font-weight:700}
.item-list small{color:var(--muted)}
.archive-results li,#einsatz-list li{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;align-items:center}
.item-list .empty{color:var(--muted);justify-content:center}
.client-row{flex-direction:column;align-items:stretch!important;gap:10px}
.client-row__head{display:flex;justify-content:space-between;align-items:baseline}
.client-mirror-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:15px 18px;border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));border-radius:13px;background:var(--blue-soft)}
.client-mirror-intro p{margin:3px 0 0;color:var(--muted);font-size:12px}
.client-mirror-list{display:grid;gap:16px}
.client-mirror-card{margin:0;padding:0;overflow:hidden}
.client-mirror-card>summary{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:16px;padding:17px 20px;cursor:pointer;list-style:none}
.client-mirror-card>summary::-webkit-details-marker{display:none}
.client-mirror-card>summary>span:first-child{display:grid;gap:2px}
.client-mirror-card>summary>span:first-child strong{font-size:17px}
.client-mirror-card>summary small,.client-mirror-card__counts{color:var(--muted);font-size:11px}
.client-mirror-card[open]>summary{border-bottom:1px solid var(--line)}
.client-mirror-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);gap:18px;padding:18px 20px 20px}
.client-mirror-grid--vehicles-only{grid-template-columns:minmax(0,1fr)}
.client-mirror-grid>section{min-width:0}
.client-mirror-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.client-mirror-heading h2{margin:0;font-size:14px}
.client-mirror-heading span{color:var(--muted);font-size:11px}
.client-mirror-table{min-width:760px;font-size:12px}
.client-mirror-table th,.client-mirror-table td{padding:8px 9px}
.client-mirror-table td:nth-child(5){display:grid;gap:2px}
.client-mirror-table td:nth-child(5) small{color:var(--muted);font:10px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}
.client-sync-ok{color:var(--green);font-weight:750}
.client-mirror-personnel{display:grid;gap:6px}
.client-mirror-person{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.client-mirror-person>div{display:grid;gap:2px;min-width:0}
.client-mirror-person strong{font-size:12px}
.client-mirror-person small{color:var(--muted);font-size:10px;overflow-wrap:anywhere}
.client-mirror-person.is-inactive,.client-mirror-table tr.is-inactive{opacity:.52}
.district-vehicles-card{margin-bottom:18px}
.district-vehicle-form{display:grid;grid-template-columns:1.1fr 1fr 1fr .9fr 1fr auto auto;gap:8px;align-items:center;margin:14px 0}
.district-vehicle-form input,.district-vehicle-form select,.district-vehicle-table input,.district-vehicle-table select{width:100%;min-height:36px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:11px}
.district-lora-check,.district-tracker-fields label{display:flex;align-items:center;gap:5px;white-space:nowrap;color:var(--muted);font-size:11px}
.district-lora-check input,.district-tracker-fields label input{width:15px;min-height:15px;padding:0}
.district-tracker-fields{display:grid;grid-template-columns:auto minmax(110px,1fr);align-items:center;gap:7px}
.district-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}
.button.danger{background:color-mix(in srgb,#dc2626 12%,var(--surface));color:#dc2626}
.client-mirror-separator{display:flex;align-items:center;gap:12px;margin:22px 0 13px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.client-mirror-separator:after{content:"";height:1px;flex:1;background:var(--line)}
.feedback.is-error{color:#dc2626}
@media(max-width:1200px){.district-vehicle-form{grid-template-columns:repeat(3,minmax(0,1fr))}.district-vehicle-form .button{width:100%}}
@media(max-width:1050px){.client-mirror-grid{grid-template-columns:1fr}}
@media(max-width:620px){.client-mirror-intro{align-items:flex-start;flex-direction:column}.client-mirror-card>summary{grid-template-columns:1fr auto}.client-mirror-card__counts{grid-column:1/-1}.client-mirror-grid{padding:14px}.district-vehicle-form{grid-template-columns:1fr}}
.client-name{font-weight:800;font-size:15px}
.client-counts{color:var(--muted);font-size:13px}
.link-row{display:flex;align-items:center;gap:10px}
.link-label{flex:0 0 130px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em;font-weight:750}
.link-row input{flex:1;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--blue-soft);color:var(--ink)}
code{background:var(--blue-soft);padding:1px 6px;border-radius:5px;font-size:13px}
.badge{display:inline-flex;padding:5px 12px;border-radius:999px;font-size:11px;font-weight:850}
.badge--connecting{background:#f1f5f9;color:var(--muted)}
.badge--live{background:#dcfce7;color:var(--green)}
.tracker-action-cell{display:flex;align-items:center;gap:6px;white-space:nowrap}
.tracker-assign-select{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:12px;max-width:220px}
.quali-table--tracker td code{font-size:11px}
.tracker-receiver-status{margin-bottom:20px}
.nav-section--elw{margin-top:18px}.sidebar .nav-section--toggle{cursor:pointer;user-select:none}.sidebar .nav-section--toggle::after{content:'⌄';float:right;opacity:.7}.sidebar .nav-section--toggle.is-open::after{content:'⌃'}
.tracker-command-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-bottom:20px}
.tracker-command-card h2{margin:0 0 5px}
.tracker-command-stats{display:grid;grid-template-columns:repeat(4,minmax(82px,1fr));gap:8px;min-width:390px}
.tracker-command-stats>div{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);text-align:center}
.tracker-command-stats strong{font-size:20px;color:var(--blue-text)}
.tracker-command-stats span{font-size:10px;color:var(--muted);white-space:nowrap}
.tracker-command-stats .is-positive strong{color:var(--green)}
.tracker-command-stats .is-warning strong{color:#d97706}
.tracker-section-heading{margin-bottom:14px}
.tracker-section-heading h2{margin-bottom:4px}
@media(max-width:900px){.tracker-command-card{grid-template-columns:1fr}.tracker-command-stats{min-width:0}}
@media(max-width:520px){.tracker-command-stats{grid-template-columns:repeat(2,1fr)}}
.tracker-receiver-summary{display:flex;align-items:center;gap:8px;font-weight:750;margin:10px 0}
.tracker-receiver-list{display:grid;gap:6px;margin:10px 0 0;padding:0;list-style:none}
.tracker-receiver-list li{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:13px}
.tracker-receiver-list small{color:var(--muted)}
.tracker-gateway-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}
.tracker-gateway-form input{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px}
.tracker-gateway-list{display:grid;gap:12px;margin-top:12px}
.tracker-gateway-card{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--surface)}
.tracker-gateway-card--data-loss{border-color:#fca5a5;background:color-mix(in srgb,#dc2626 6%,var(--surface))}
.tracker-gateway-card__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}
.tracker-gateway-card__head code{font-size:11px;color:var(--muted)}
.tracker-gateway-card__head>[data-delete-gateway]{margin-left:auto}
.tracker-gateway-summary{padding:3px 9px;border-radius:999px;font-size:11px;font-weight:750}
.tracker-gateway-summary--ok{background:#dcfce7;color:var(--green)}
.tracker-gateway-summary--no_signal{background:#fef3c7;color:#b45309}
.tracker-gateway-summary--serial_offline,.tracker-gateway-summary--unreachable{background:#fee2e2;color:var(--red)}
.tracker-gateway-role{padding:2px 8px;border-radius:999px;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.02em}
.tracker-gateway-role--preferred{background:#dbeafe;color:#1d4ed8}
.tracker-gateway-role--backup{background:#ede9fe;color:#6d28d9}
.tracker-gateway-role-select{display:flex;gap:4px}
.tracker-gateway-role-select button.is-active{background:var(--blue-soft);border-color:var(--blue);color:var(--blue-text)}
.tracker-gateway-card__status{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:8px}
.tracker-gateway-flag{display:flex;align-items:center;gap:6px;font-size:12px}
.tracker-gateway-flag.is-bad{color:var(--muted)}
.tracker-gateway-flag.is-unknown{color:var(--muted);font-style:italic}
.tracker-gateway-card__counts{margin:0;color:var(--muted);font-size:11px}
.tracker-gateway-counts--bad{color:var(--red);font-weight:750}
.tracker-gateway-card__warning{margin:8px 0 0;color:var(--red);font-size:12px;font-weight:650}
.tracker-failover-banner{margin:0 0 12px;padding:9px 14px;border-radius:10px;font-size:13px;font-weight:700}
.tracker-failover-banner--preferred_ok{background:#dcfce7;color:var(--green)}
.tracker-failover-banner--backup_active,.tracker-failover-banner--other_active{background:#fef3c7;color:#b45309}
.tracker-failover-banner--all_down{background:#fee2e2;color:var(--red)}
.badge--error{background:#fee2e2;color:var(--red)}
.badge--waiting{background:#fef3c7;color:var(--orange)}
.totals-row{display:flex;gap:14px;margin-bottom:20px}
.status-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}
.status-summary{min-width:0;padding:12px;border:3px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}
.status-summary h2{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 8px;font-size:15px}
.status-summary h2 small{color:var(--muted);font-size:11px;font-weight:700}
.status-summary .totals-row{margin:0;gap:8px}
.status-summary .total-tile{padding:9px 8px;border-radius:11px;box-shadow:none}
.status-summary .total-tile strong{font-size:19px}
.status-summary--available{border-color:#22c55e;background:#f0fdf4}
.status-summary--approach{border-color:#eab308;background:#fefce8}
.person-select-cell{width:54px;text-align:center}.person-select{width:18px;height:18px;accent-color:var(--blue);cursor:pointer}
.meldung-status{display:inline-flex;margin-left:6px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:850;vertical-align:middle;white-space:nowrap}
.meldung-status--available{background:#dcfce7;color:#166534}
.meldung-status--approach{background:#fef3c7;color:#92400e}
.meldung-status--open{background:var(--canvas);color:var(--muted)}
.meldung-status--invitation-open{background:#ffedd5;color:#9a3412}
.meldung-status--invitation-accepted{background:#dcfce7;color:#166534}
.meldung-status--invitation-cancelled{background:#e5e7eb;color:#4b5563}
.meldung-status--organiser{background:#dbeafe;color:#1d4ed8}
@media(max-width:950px){.status-summary-grid{grid-template-columns:1fr}}
@media(max-width:560px){.status-summary .totals-row{flex-direction:column}}
.kraefte-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px;align-items:start}
.archive-two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.archive-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.archive-group-card{min-width:0}
.archive-view .detail-rail,.archive-view .detail-panel{display:none}
@media(max-width:900px){.archive-two-column,.archive-group-grid{grid-template-columns:1fr}}
.kraefte-overview-grid .card{margin-bottom:20px}
@media(max-width:900px){.kraefte-overview-grid{grid-template-columns:1fr}}
.total-tile{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-align:center;box-shadow:var(--shadow)}
.total-tile strong{display:block;font-size:30px;color:var(--blue-text);font-weight:800}
.total-tile span{color:var(--muted);font-size:13px}
.meldungen-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;align-items:stretch}
.meldung-card{height:100%;min-width:0;overflow:hidden}
.meldung-card h3{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 14px;min-width:0;overflow-wrap:anywhere;font-size:16px;color:var(--ink);text-transform:none;letter-spacing:0;margin:0 0 14px;font-weight:800}
.meldung-card h3 small{color:var(--muted);font-size:12px;font-weight:400}
.meldung-row{min-width:0;margin-bottom:12px}
.meldung-row:last-child{margin-bottom:0}
.meldung-label{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;font-weight:750}
.chip-row{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.vehicle-operation-status{position:relative;padding-left:12px}.vehicle-operation-status::before{content:"";position:absolute;left:5px;top:50%;width:4px;height:calc(100% - 10px);border-radius:4px;background:var(--muted);transform:translateY(-50%)}.vehicle-operation-status--3::before{background:#f59e0b}.vehicle-operation-status--4::before{background:#22c55e}.vehicle-operation-status>span{font-weight:800}.vehicle-operation-status small{display:block;color:var(--muted);font-size:10px}
.chip{display:inline-flex;flex-direction:column;min-width:0;max-width:100%;overflow-wrap:anywhere;padding:7px 11px;border-radius:10px;background:var(--blue-soft);color:var(--blue-text);font-size:13px;font-weight:700}
.chip small{color:var(--muted);font-weight:400;font-size:11px}
.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:8px}
.check-tile{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface);transition:.16s}
.check-tile:hover{border-color:color-mix(in srgb,var(--blue) 45%,var(--line))}
.check-tile:has(input:checked){border-color:var(--blue);background:var(--blue-soft)}
.check-tile input{width:21px;height:21px;flex:0 0 auto;accent-color:var(--blue)}
.check-tile input[data-preselected]{appearance:none;-webkit-appearance:none;border:2px solid var(--blue);border-radius:4px;background:linear-gradient(var(--blue),var(--blue)) center/9px 9px no-repeat,var(--surface)}
.check-tile span{display:flex;flex-direction:column;font-weight:700;font-size:14px}
.check-tile small{color:var(--muted);font-weight:400;font-size:12px}
.submit-row{display:flex;align-items:center;gap:14px;margin-top:20px}
.empty-hint{color:var(--muted);text-align:center;padding:24px}
.empty{color:var(--muted)}
.notice{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fef3c7;border:1px solid #fde68a;border-radius:var(--radius-sm);padding:14px 18px;margin-bottom:20px;color:#92400e;font-weight:600;font-size:14px}
html[data-theme="dark"] .notice{background:#3a2f10;border-color:#5c4a15;color:#fcd34d}
.notice--warning{background:#fee2e2;border-color:#fca5a5;color:#991b1b;font-weight:800;justify-content:flex-start}
.client-einsatz-closed{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%}
.client-einsatz-closed textarea{width:100%;padding:12px;border:1px solid #fca5a5;border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;resize:vertical}
.feedback-actions{display:flex;gap:8px;flex-wrap:wrap}
.einsatz-details{padding:0;overflow:hidden;container-type:inline-size}
.einsatz-details summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;cursor:pointer;list-style:none}
.einsatz-details summary::-webkit-details-marker{display:none}
.einsatz-details__summary-title{display:flex;align-items:center;gap:11px}
.einsatz-details__chevron{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--blue-soft);color:var(--blue-text);font-size:14px;transition:transform .18s ease}
.einsatz-details[open] .einsatz-details__chevron{transform:rotate(90deg)}
.einsatz-details[open] summary{border-bottom:1px solid var(--line)}
.einsatz-details__form,.einsatz-details__readonly{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));align-items:start;gap:16px;padding:22px 24px}
.einsatz-details__date-time{display:grid;gap:12px;min-width:0}.einsatz-details__date-time>div,.einsatz-details__date-time>label{display:grid;gap:6px}.einsatz-details__date-time+div,.einsatz-details__date-time~.einsatz-details__location{min-width:0}
.einsatz-details__form label{display:grid;gap:6px}
.einsatz-details__location{display:grid;gap:8px;min-width:0}
.master-gps{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:var(--canvas)}
.master-gps .master-gps__toggle{margin:0;color:var(--ink)}
.master-gps__radius{display:flex!important;grid-template-columns:auto 64px auto;align-items:center;gap:5px!important;margin-left:auto}
.master-gps__radius>span{font-size:10px!important}
.master-gps__radius input{padding:5px 7px!important}
.master-gps>small,.gps-readonly{width:100%;color:var(--muted);font-size:10px}
.einsatz-details__form label>span,.einsatz-details__readonly span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.einsatz-details__form input,.einsatz-details__form textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit}
.einsatz-details__form textarea{resize:vertical}
.einsatz-details__form .wide,.einsatz-details__readonly .wide{grid-column:1/-1}
.einsatz-details__actions{display:flex;align-items:center;gap:12px}
.einsatz-details__readonly>div{display:grid;gap:5px;min-width:0}
.einsatz-details__readonly p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.protocol-text{padding:12px 14px;border-radius:10px;background:var(--canvas);white-space:pre-wrap}
.protocol-description time,.beschreibung-block__timestamp{display:block;margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:750}
.protocol-description .protocol-text{margin-top:0}
.feedback-record{padding:14px 0;border-top:1px solid var(--line)}
.feedback-record:first-of-type{border-top:0}
.feedback-record>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.feedback-record span{color:var(--muted);font-size:12px}
.feedback-record p{margin:8px 0 0;white-space:pre-wrap}
html[data-theme="dark"] .status-summary--available{background:#12351f;border-color:#16a34a}html[data-theme="dark"] .status-summary--approach{background:#3d3514;border-color:#ca8a04}
@container(max-width:900px){.einsatz-details__form,.einsatz-details__readonly{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:500px){.einsatz-details__form,.einsatz-details__readonly{grid-template-columns:1fr}.einsatz-details__form .wide,.einsatz-details__readonly .wide{grid-column:auto}}
@media(max-width:760px){.feedback-record>div{align-items:flex-start;flex-direction:column}}
.szenario-person__readonly-note{margin:7px 0 0;font-size:12px;color:var(--muted)}
.szenario-log-entry--readonly{display:grid;grid-template-columns:48px 1fr;align-items:start}
html[data-theme="dark"] .notice--warning{background:#3f1616;border-color:#7f1d1d;color:#fca5a5}
.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal-box{background:var(--surface);border-radius:var(--radius);padding:24px;max-width:420px;width:100%;box-shadow:var(--shadow)}
.modal-box h3{margin:0 0 6px;font-size:18px;font-weight:800}
.modal-options{display:grid;gap:10px;margin:16px 0}
.modal-option-btn{width:100%}
.disclaimer{margin-top:20px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);color:var(--muted);font-size:12px;line-height:1.5}
.disclaimer strong{color:var(--ink)}
.version-footer{text-align:center;color:var(--muted);font-size:11px;margin-top:24px;opacity:.6}
.page-feedback{margin:0 0 18px;padding:12px 16px;border:1px solid #facc15;border-radius:12px;background:#fff4c2;color:#92400e;font-size:13px;font-weight:650}
.page-feedback--error{border-color:#fca5a5;background:#fee2e2;color:#991b1b}
.protocol-divider{display:flex;align-items:center;gap:14px;margin:30px 0 18px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.protocol-divider::before,.protocol-divider::after{content:"";height:1px;background:var(--line);flex:1}
.page-actions{display:flex;justify-content:flex-start;margin:16px 0 24px}
.tracking-workspace{padding-bottom:22px}
.tracking-topbar{margin:-28px -28px 14px;padding:14px 28px}
.tracking-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,2fr);gap:14px;align-items:start}
.tracking-map-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}
#tracking-map{height:520px;min-height:0}
.tracking-center-button{position:absolute;z-index:500;right:10px;top:84px;width:34px;height:34px;border:1px solid rgba(15,23,42,.25);border-radius:7px;background:#fff;color:#172033;font-size:20px;cursor:pointer;box-shadow:0 1px 5px rgba(15,23,42,.25)}
.tracking-mode-toggle{position:absolute;z-index:800;left:10px;top:10px;display:flex;border:1px solid rgba(15,23,42,.25);border-radius:8px;overflow:hidden;box-shadow:0 1px 5px rgba(15,23,42,.25);background:#fff}
.tracking-mode-toggle__btn{border:0;background:transparent;padding:7px 11px;font-size:12px;font-weight:750;cursor:pointer;color:#172033;white-space:nowrap}
.tracking-mode-toggle__btn+.tracking-mode-toggle__btn{border-left:1px solid rgba(15,23,42,.15)}
.tracking-mode-toggle__btn.is-active{background:var(--blue);color:#fff}
.tracking-sidebar{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.8fr);gap:14px;min-width:0}
.tracking-panel{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}
.tracking-panel__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 18px;border-bottom:1px solid var(--line)}
.tracking-panel__head h2{margin:0;font-size:17px}
.tracking-summary{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;white-space:nowrap}
.status-dot{display:inline-block;width:11px;height:11px;flex:0 0 11px;border-radius:50%;background:#94a3b8}
.status-dot--online{background:#22c55e}
.status-dot--stale{background:#facc15}
.status-dot--offline{background:#ef4444}
.status-dot--unknown{background:#9ca3af}
.tracker-list{overflow:auto;max-height:466px}
.tracker-row{width:100%;display:grid;grid-template-columns:13px minmax(0,1fr) auto;gap:11px;align-items:start;padding:14px 16px;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.tracker-row:hover{background:var(--canvas)}
.tracker-row__main,.tracker-row__values{display:grid;gap:2px;min-width:0}
.tracker-filter-bar{display:grid;gap:8px;padding:10px 8px 8px}.tracker-filter-bar input{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:12px}.tracker-filter-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.tracker-filter-tab{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);padding:6px 3px;min-height:32px;font:inherit;font-size:10px;line-height:1.05;font-weight:750;white-space:normal;overflow-wrap:anywhere;cursor:pointer}.tracker-filter-tab.is-active{border-color:var(--blue);background:var(--blue);color:#fff}
.tracker-row__main strong{font-size:14px}
.tracker-filter-tab span{display:none}.tracker-filter-tab b{font-weight:750}
.tracking-layout--tracker-collapsed .tracker-filter-tab span{display:inline}.tracking-layout--tracker-collapsed .tracker-filter-tab b{display:none}
.tracker-row__main small,.tracker-row__values small{color:var(--muted);font-size:10px}
.tracker-row__main code{padding:0;background:none;color:var(--muted);font:10px/1.4 inherit;white-space:nowrap}
.tracker-row__values{text-align:right}
.tracker-row__values strong{font-size:12px;white-space:nowrap}
.simulation-panel{padding-bottom:16px}
.simulation-panel .tracking-panel__head{border-bottom:0;padding-bottom:8px}
.tracking-field{display:grid;gap:5px;padding:0 16px 12px;color:var(--muted);font-size:11px;font-weight:750}
.tracking-field select{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink)}
.simulation-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 13px}
.simulation-actions .button{min-height:39px;padding:0 10px;font-size:12px}
.speed-options{display:flex;align-items:center;gap:6px;margin:0;padding:0 16px 13px;border:0}
.speed-options legend{width:100%;margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:750}
.speed-options label{flex:1}
.speed-options input{position:absolute;opacity:0}
.speed-options span{display:block;padding:7px;border:1px solid var(--line);border-radius:8px;text-align:center;font-size:11px;cursor:pointer}
.speed-options input:checked+span{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-text);font-weight:800}
.tracking-check{display:flex;align-items:center;gap:8px;padding:0 16px;font-size:12px;font-weight:700}
.tracking-check input{width:17px;height:17px;accent-color:var(--blue)}
.tracking-info{display:flex;gap:12px;align-items:flex-start;margin-top:14px;padding:13px 16px;border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));border-radius:12px;background:var(--blue-soft);color:var(--blue-text)}
.tracking-info>span{width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px;border-radius:50%;background:var(--blue);color:#fff;font-weight:900}
.tracking-info strong{font-size:13px}
.tracking-info p{margin:2px 0 0;color:var(--muted);font-size:11px}
.tracker-marker-wrap{background:none!important;border:0!important}
.tracker-marker{width:34px;height:34px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;box-shadow:0 3px 12px rgba(15,23,42,.45);color:#fff;background:#16a34a}
.tracker-marker span{display:block;transform:rotate(var(--heading));font-size:18px}
.tracker-marker--boot{background:#2563eb}
.tracker-marker--stale{background:#eab308}
.tracker-marker--offline{background:#ef4444;filter:grayscale(.35)}
.tracker-label{position:absolute;left:38px;top:-3px;display:grid;min-width:74px;padding:5px 7px;border-radius:7px;background:rgba(15,23,42,.88);color:#fff;box-shadow:0 2px 8px rgba(15,23,42,.3);white-space:nowrap}
.tracker-label strong{font-size:11px}
.tracker-label small{font-size:9px}
.tracker-popup{display:block;min-width:0;width:220px;max-width:220px}
.tracker-popup__identity{display:block;padding-right:10px;font-size:14px;line-height:1.3}
.tracker-popup__resource{margin:6px 0!important;color:var(--ink,#172033);font-size:12px!important;line-height:1.35!important}
.tracker-popup__resource strong{font-size:12px}.tracker-popup__resource span{color:var(--muted,#64748b)}
.tracker-popup__radio{display:grid;gap:3px;margin:8px 0!important;padding-top:8px;border-top:1px solid var(--line,#d7dee8);color:var(--muted,#64748b);font-size:11px!important;line-height:1.35!important}
.tracker-popup__radio>span{display:flex;align-items:center;gap:4px;min-width:0}.tracker-popup__radio b{color:var(--ink,#172033)}
.tracker-popup__radio .signal-badge{font-size:11px}
.leaflet-container{font-family:inherit}
.leaflet-container img{max-width:none!important}
.leaflet-control-attribution{font-size:9px!important}
.tracker-detail-window{position:fixed;z-index:1600;width:220px;max-width:calc(100vw - 16px);padding:13px 24px 13px 20px;border:1px solid #374151;border-radius:12px;background:#1a1f2b;color:#f9fafb;box-shadow:0 8px 24px rgba(0,0,0,.48);pointer-events:auto}.tracker-detail-window::before{content:"";position:absolute;left:-7px;top:14px;width:12px;height:12px;border-left:1px solid #374151;border-bottom:1px solid #374151;background:#1a1f2b;transform:rotate(45deg)}.tracker-detail-window .tracker-popup{width:100%;max-width:100%}.tracker-detail-window .tracker-popup__resource,.tracker-detail-window .tracker-popup__radio b{color:#f9fafb}.tracker-detail-window .tracker-popup__resource span,.tracker-detail-window .tracker-popup__radio{color:#9ca3af}.tracker-detail-window .tracker-popup__radio{border-top-color:#374151}.tracker-detail-window__close{position:absolute;z-index:1;right:5px;top:4px;width:22px;height:22px;border:0;border-radius:5px;background:transparent;color:#9ca3af;font-size:18px;line-height:20px;cursor:pointer}.tracker-detail-window__close:hover{background:#0f1419;color:#f9fafb}.tracker-detail-window--flipped::before{left:auto;right:-7px;border-left:0;border-bottom:0;border-top:1px solid #374151;border-right:1px solid #374151}
.tracker-detail-window--flipped-y::before{top:auto;bottom:14px}
@media(max-width:1100px){.tracking-layout{grid-template-columns:minmax(260px,1fr) minmax(0,2fr)}.tracking-sidebar{grid-template-columns:1fr}.tracker-list{max-height:300px}}
@media(max-width:820px){.tracking-topbar{margin:-18px -18px 12px;padding:12px 18px}.tracking-layout{grid-template-columns:1fr}.tracking-sidebar{grid-template-columns:1fr 1fr}.tracker-list{max-height:290px}#tracking-map{height:56vh;min-height:400px}.tracking-info{margin-bottom:70px}}
@media(max-width:580px){.tracking-sidebar{grid-template-columns:1fr}#tracking-map{min-height:52vh}.tracking-info p{font-size:10px}}
.vehicle-admin-table{min-width:1240px}.vehicle-admin-table .tracker-id-input{min-width:150px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:lowercase}
.table-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.table-heading h2{margin:0}.add-row-btn{width:34px;min-height:34px;padding:0;font-size:22px;line-height:1}
.admin-table{min-width:760px}.admin-table th,.admin-table td{vertical-align:middle}.admin-cell-input{width:100%;min-width:90px;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}.admin-new-row{background:var(--blue-soft)}
.admin-cell-input--bold{font-weight:750}.checkbox-cell{display:grid;place-items:center;min-height:34px;cursor:pointer}.delete-vehicle-btn{min-width:34px;padding:0;color:var(--red);background:#fee2e2}
.vehicle-edit-form{display:grid;grid-template-columns:minmax(130px,1.2fr) minmax(100px,.8fr) minmax(100px,.8fr) auto auto;gap:8px;align-items:center;width:100%}
.vehicle-edit-form input:not([type="checkbox"]),.person-edit-form input{min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}
.vehicle-tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:11px;color:var(--muted)}
.vehicle-tags label{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.person-edit-form{display:flex;gap:8px;align-items:center}
.person-edit-form input{width:min(100%,220px)}
@media(max-width:900px){.vehicle-edit-form{grid-template-columns:1fr 1fr}.vehicle-edit-form .vehicle-tags{grid-column:1/-1}.vehicle-edit-form button{grid-column:1/-1;justify-self:start}}
@media(max-width:700px){.form-row--three{grid-template-columns:1fr}.form-row--three .vehicle-tags{grid-column:auto}}

/* Toast-Benachrichtigungen (Lage-Dashboard) */
/* Auf dieser Seite ändern Navigation und Detailpanel ihre Breite ohne
   Zwischenanimation: Leaflet erhält dadurch genau eine eindeutige
   Containergröße statt vieler Zwischenwerte. Die eigentliche Spaltenaufteilung
   von .tracking-layout wird bewusst nur an EINER Stelle definiert (siehe
   @media(min-width:821px) weiter unten bei .tracking-map-card) - zuvor gab es
   hier und weiter unten zwei widersprüchliche Fassungen, von denen abwechselnd
   die eine die andere überschrieben hat (siehe DD-20260915-156/DD-20260916-160). */
.tracking-page .app-shell,.tracking-page .sidebar,.tracking-page .workspace{transition:none}
.tracking-map-card{height:min(70vh,calc(100dvh - 250px));min-height:360px}.tracking-map-card #tracking-map{height:100%}
.tracking-orientation-button{position:absolute;z-index:800;right:10px;top:126px;width:34px;height:34px;border:1px solid rgba(15,23,42,.25);border-radius:7px;background:#fff;color:#172033;font-size:18px;cursor:pointer;box-shadow:0 1px 5px rgba(15,23,42,.25)}.tracking-orientation-button.is-active{background:var(--blue);color:#fff}
.tracking-lock-button{position:absolute;z-index:800;right:10px;top:168px;width:34px;height:34px;border:1px solid rgba(15,23,42,.25);border-radius:7px;background:#fff;color:#172033;font-size:16px;cursor:pointer;box-shadow:0 1px 5px rgba(15,23,42,.25)}.tracking-lock-button:hover,.tracking-lock-button.is-locked{border-color:var(--blue);background:var(--blue);color:#fff}.tracking-lock-button:disabled,.tracking-center-button:disabled,.tracking-orientation-button:disabled{cursor:not-allowed;opacity:.55}
.tracking-draw-toggle-button{position:absolute;z-index:800;right:10px;top:210px;width:34px;height:34px;border:1px solid rgba(15,23,42,.25);border-radius:7px;background:#fff;color:#172033;font-size:16px;cursor:pointer;box-shadow:0 1px 5px rgba(15,23,42,.25)}
.tracking-draw-toggle-button.is-active{border-color:var(--blue);background:var(--blue);color:#fff}
.tracker-marker{width:46px;height:46px;border:3px solid #fff;border-radius:14px;background:#0b6695;box-shadow:0 3px 12px rgba(15,23,42,.45);transform:rotate(var(--heading));transition:transform .2s ease,width .15s ease,height .15s ease,box-shadow .15s ease}.tracker-marker--boot{background:#2563eb;border-radius:50% 50% 42% 42%}.tracker-marker--truck{background:#b45309}.tracker-marker--stale{background:#ca8a04}.tracker-marker--offline{background:#dc2626;filter:grayscale(.35)}.tracker-marker__vehicle{display:grid;place-items:center;width:100%;height:100%;transform:none!important}.tracker-marker__vehicle svg{width:31px;height:31px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.tracker-marker--selected{width:54px;height:54px;box-shadow:0 0 0 5px color-mix(in srgb,var(--blue) 46%,transparent),0 5px 18px rgba(15,23,42,.6);z-index:5}.tracker-label{left:51px;top:0;min-width:92px;pointer-events:none}.tracker-marker--selected+.tracker-label{font-size:12px;box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 38%,transparent),0 3px 12px rgba(15,23,42,.4)}.tracker-row.is-selected{background:var(--blue-soft);box-shadow:inset 4px 0 0 var(--blue)}
.tracker-marker__vehicle{font-size:27px;line-height:1;filter:drop-shadow(0 1px 1px rgba(15,23,42,.55))}.tracker-marker-wrap{z-index:1000!important}
.rf-unit-icon{overflow:visible!important;background:transparent!important;border:0!important}.rf-unit-crosshair{--unit-color:#16a34a;position:absolute;left:10px;top:10px;width:20px;height:20px;box-sizing:border-box;border:2px solid var(--unit-color);border-radius:50%;background:rgba(255,255,255,.7);box-shadow:0 0 0 1px #fff,0 2px 5px rgba(0,0,0,.65);transition:opacity .15s ease,transform .15s ease,box-shadow .15s ease}.rf-unit-crosshair::before,.rf-unit-crosshair::after{content:"";position:absolute;left:50%;top:50%;z-index:-1;display:block;background:var(--unit-color);box-shadow:0 0 0 1px rgba(255,255,255,.9);transform:translate(-50%,-50%)}.rf-unit-crosshair::before{width:28px;height:2px}.rf-unit-crosshair::after{width:2px;height:28px}.rf-unit-crosshair>i{position:absolute;left:50%;top:50%;width:5px;height:5px;border:1px solid #fff;border-radius:50%;background:var(--unit-color);transform:translate(-50%,-50%)}.rf-unit-crosshair--boot{--unit-color:#2563eb}.rf-unit-crosshair--vehicle{--unit-color:#16a34a}.rf-unit-crosshair--elw{--unit-color:#dc2626}.rf-unit-crosshair--person{--unit-color:#9333ea;background:#fff;border-width:2.5px;box-shadow:0 0 0 1px #fff,0 2px 6px rgba(0,0,0,.55)}.rf-unit-crosshair--person::before,.rf-unit-crosshair--person::after{display:none}.rf-unit-person-glyph{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--unit-color);pointer-events:none;overflow:visible}.rf-unit-crosshair--stale{opacity:.68}.rf-unit-crosshair--offline{opacity:.45;filter:grayscale(.45)}.rf-unit-crosshair.tracker-marker--selected{z-index:5;opacity:1;filter:none;box-shadow:0 0 0 1px #fff,0 0 0 5px color-mix(in srgb,var(--unit-color) 42%,transparent),0 3px 9px rgba(0,0,0,.8);transform:scale(1.15)}
/* Kleiner Online/Offline-Punkt zusätzlich zur Symbolfarbe/-transparenz - auf
   einen Blick erkennbar, ohne erst die (bei Graustufen/Auswahl variierende)
   Deckkraft des ganzen Symbols interpretieren zu müssen. */
.rf-unit-crosshair__badge{position:absolute;right:-2px;bottom:-2px;width:8px;height:8px;border-radius:50%;border:1.5px solid #fff;box-shadow:0 1px 2px rgba(0,0,0,.4)}
.rf-unit-crosshair__badge--online{background:#16a34a}
.rf-unit-crosshair__badge--offline{background:#dc2626}
@media(max-width:820px){.tracking-layout{grid-template-columns:1fr}.tracking-map-card{height:min(56dvh,480px);min-height:300px}.tracking-sidebar{grid-template-columns:1fr}.tracking-map-card #tracking-map{height:100%;min-height:0}}
@media(max-width:1100px){
  /* Auf Tabletbreite würde ein zusätzlich reserviertes 420px-Panel den
     Einsatzkopf umbrechen und die Karte weit nach unten drücken. Nur das
     Workspace-Padding wird hier reduziert - die Detail-Rail-Icons bleiben
     bei ihrer Standardregel (rechts neben dem tatsächlichen Panelrand),
     sonst überlappen sie mit dem noch nicht vollbreiten Detailfenster. */
  .tracking-page .workspace--panel-open{padding-right:4vw!important}
}
.toast-container{position:fixed;top:20px;left:50%;transform:translateX(-50%);display:grid;gap:10px;z-index:200;width:min(520px,92vw);align-items:center;justify-items:center}
.toast{position:relative;display:flex;align-items:center;gap:14px;background:var(--ink);color:#fff;padding:16px 44px 16px 20px;border-radius:var(--radius);box-shadow:var(--shadow);font-size:15px;font-weight:700;animation:toast-in .2s ease-out;width:100%}
.toast--client{border-left:4px solid var(--green)}
.toast--kraefte{border-left:4px solid var(--blue)}
.toast__close{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:26px;height:26px;border:0;border-radius:8px;background:rgb(255 255 255 / 12%);color:#fff;font-size:14px;line-height:1;cursor:pointer}
.toast__close:hover{background:rgb(255 255 255 / 22%)}
@keyframes toast-in{from{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}
.notice a{color:inherit;text-decoration:underline}
.warteraum-item{cursor:grab;flex-direction:column;align-items:flex-start!important;gap:4px;background:#fffbeb;border-color:#fde68a}
html[data-theme="dark"] .warteraum-item{background:#3a2f10;border-color:#5c4a15}
.warteraum-item strong{color:var(--blue-text)}
.warteraum-item.dragging{opacity:.4}
.warteraum-quick{display:flex;align-items:center;gap:14px;margin:-10px 0 20px;padding:11px 13px 11px 16px;border:1px solid #fde68a;border-radius:var(--radius-sm);background:#fffbeb;box-shadow:0 8px 24px rgba(146,64,14,.10)}
.warteraum-quick__label{display:flex;flex-direction:column;min-width:190px;color:#92400e}
.warteraum-quick__label span{font-size:11px;color:var(--muted)}
.warteraum-quick__actions{display:flex;align-items:center;gap:8px;flex:1;flex-wrap:wrap}
.warteraum-quick__close{width:30px;height:30px;flex:0 0 30px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}
.warteraum-quick__close:hover{background:rgb(146 64 14 / 10%);color:#92400e}
html[data-theme="dark"] .warteraum-quick{background:#3a2f10;border-color:#5c4a15}
html[data-theme="dark"] .warteraum-quick__label{color:#fcd34d}
@media(max-width:760px){.warteraum-quick{align-items:flex-start;flex-wrap:wrap}.warteraum-quick__actions{order:3;flex-basis:100%}}
.dropzone{transition:.14s}
.dropzone.drag-over{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 2px var(--blue) inset}
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}
.quali-table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}
.quali-table--people,.quali-table--vehicles{table-layout:fixed}
.quali-table--people{min-width:1000px}
.quali-table--people th:nth-child(1),.quali-table--people td:nth-child(1),.quali-table--vehicles th:nth-child(1),.quali-table--vehicles td:nth-child(1){width:54px}
.quali-table--people th:nth-child(2),.quali-table--people td:nth-child(2){width:165px;max-width:165px;overflow:hidden;text-overflow:ellipsis}
.quali-table--vehicles th:nth-child(2),.quali-table--vehicles td:nth-child(2){width:220px}
.quali-table--people th:nth-child(3),.quali-table--people td:nth-child(3){width:130px;max-width:130px;overflow:hidden;text-overflow:ellipsis}
.quali-table--people th:nth-child(4),.quali-table--people td:nth-child(4){width:160px;max-width:160px;overflow:hidden;text-overflow:ellipsis}
.quali-table--people th:nth-child(n+5),.quali-table--people td:nth-child(n+5){width:60px;min-width:60px}
.quali-table--vehicles th:nth-child(3),.quali-table--vehicles td:nth-child(3){width:220px}
.quali-table th,.quali-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:center}
.quali-table th{background:var(--blue-soft);color:var(--blue-text);font-weight:750;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.quali-table tr:last-child td{border-bottom:0}
.quali-table__name{text-align:left;font-weight:700}
.quali-table tr.is-inactive{opacity:.5}
.quali-cell input{width:20px;height:20px;accent-color:var(--blue);cursor:pointer}
.quali-table__active{border-right:2px solid var(--line);padding-inline:14px!important}
.active-toggle{min-height:30px;padding:0 14px;border:0;border-radius:999px;font-weight:750;font-size:12px;cursor:pointer;transition:.16s}
.active-toggle--on{background:#dcfce7;color:var(--green)}
.active-toggle--on:hover{background:#bbf7d0}
.active-toggle--off{background:#fee2e2;color:var(--red)}
.active-toggle--off:hover{background:#fecaca}
.card--quali-summary{padding-top:16px;padding-bottom:16px}
.card--quali-summary h2{margin-bottom:4px}
.card--quali-summary .hint{margin:0 0 10px}
.quali-summary-row{display:flex;flex-wrap:wrap;gap:10px}
.quali-tile{flex:1 1 90px;background:var(--blue-soft);border-radius:var(--radius-sm);padding:9px 12px;text-align:center;border:2px solid transparent;font:inherit;cursor:default}
button.quali-tile{cursor:pointer;transition:.14s;border-color:color-mix(in srgb,var(--blue) 35%,transparent)}
button.quali-tile:hover{border-color:var(--blue);box-shadow:0 2px 8px color-mix(in srgb,var(--blue) 25%,transparent)}
.quali-tile strong{display:block;font-size:19px;color:var(--blue-text);font-weight:800}
.quali-tile span{font-size:11px;color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.03em}
.quali-tile--total{background:var(--canvas);border:1px dashed var(--line)}
.quali-tile--total strong{color:var(--ink)}
.quali-tile--active{background:var(--blue);border-color:var(--blue)}
.quali-tile--active strong,.quali-tile--active span{color:#fff}
.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--blue-soft);border:1px solid var(--blue);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:12px;font-size:13px;font-weight:700;color:var(--blue-text)}
.role-kraefte{margin:16px 0 20px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas)}
.role-kraefte h3{margin:0 0 10px;color:var(--ink);font-size:13px}
.role-kraefte__table{background:var(--surface)}
.table-scroll--filterable.is-filtered{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue)}
.quali-cell--readonly{font-weight:800;color:var(--green);font-size:16px}
.quali-table tr.person-role--el{background:#fff8cc}
.quali-table tr.person-role--taef{background:#dcfce7}
html[data-theme="dark"] .quali-table tr.person-role--el{background:#3d3514}
html[data-theme="dark"] .quali-table tr.person-role--taef{background:#12351f}
.role-cell{text-align:center;min-width:52px}
.role-toggle{width:24px;height:24px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--blue-text);font-size:12px;font-weight:900;cursor:pointer}
.role-toggle.active{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 18%,transparent)}
.role-toggle:disabled{cursor:not-allowed;opacity:.35;background:var(--canvas)}
.person-role-tag{display:inline-flex;align-items:center;margin-left:5px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:900;line-height:1.35;vertical-align:middle;border:1px solid transparent}
.person-role-tag--el{background:#fde68a;color:#713f12;border-color:#facc15}
.person-role-tag--taef{background:#bbf7d0;color:#14532d;border-color:#4ade80}
html[data-theme="dark"] .person-role-tag--el{background:#713f12;color:#fef3c7;border-color:#ca8a04}
html[data-theme="dark"] .person-role-tag--taef{background:#14532d;color:#dcfce7;border-color:#16a34a}
.table-sort{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}
.table-sort span{min-width:12px;color:var(--muted);font-size:13px}
.table-sort--active span{color:var(--blue-text);font-weight:900}
@media(max-width:640px){.page{padding:14px}.card{padding:16px}.totals-row{flex-direction:column}}

/* App-Shell / Sidebar (Struktur 1:1 von ResQ-Prot uebernommen, DD-20260914-020) */
.app-shell{min-height:100vh;display:grid;grid-template-columns:264px 1fr;background:var(--canvas);transition:grid-template-columns .18s ease}
.app-shell--compact{grid-template-columns:76px 1fr}
.sidebar{width:264px;padding:0;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;transition:width .18s ease}

/* Masthead: farbige Kachel mit Klapp-Button + Icon ("3 Striche + Logo") */
.resq-masthead{height:70px;flex:0 0 70px;background:var(--red);display:flex;align-items:center;gap:12px;padding:12px 14px;overflow:hidden}
.menu-collapse{width:34px;height:34px;flex:0 0 34px;border:1px solid rgb(255 255 255 / 35%);border-radius:8px;background:rgb(255 255 255 / 12%);color:#fff;font-size:18px;line-height:1;cursor:pointer}
.menu-collapse:hover{background:rgb(255 255 255 / 22%)}
.resq-masthead__logo{width:calc(100% - 48px);max-height:42px;object-fit:contain;object-position:left center}
.resq-masthead__logo--fallback{width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:#fff;color:var(--brand);display:grid;place-items:center;font-size:16px;font-weight:800}

.sidebar nav{padding:18px 14px;display:grid;align-content:start;grid-auto-rows:max-content;gap:3px;overflow-y:auto}
.sidebar .nav-section{margin:18px 12px 6px;color:var(--muted);font-size:11.5px;font-weight:750;letter-spacing:.03em;text-transform:uppercase}
.sidebar .nav-section:first-child{margin-top:0}
.sidebar .nav-item{display:flex;align-items:center;gap:12px;min-height:42px;padding:0 12px;border-radius:9px;color:var(--muted);font-weight:550;font-size:13.5px;text-decoration:none}
.sidebar .nav-item span:first-child{width:18px;text-align:center;font-size:16px}
.sidebar .nav-item:hover{background:var(--canvas)}
.sidebar .nav-item.active{background:var(--blue-soft);color:var(--blue-text);font-weight:700}
.sidebar .nav-item--admin-open{color:var(--ink);font-weight:750;cursor:default}
.sidebar .nav-item--admin-open:hover{background:transparent}
.sidebar .nav-item--sub{padding-left:34px;position:relative;min-height:36px;font-size:12.5px}
.sidebar .nav-item--sub::before{content:"";position:absolute;left:21px;top:0;bottom:0;width:1px;background:var(--line)}
.sidebar .nav-item--sub span:first-child{width:15px;font-size:14px}
.nav-active-incident-label{margin:15px 12px 5px;color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.09em}
.nav-active-incident{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;margin:0 2px 5px;padding:10px 9px;border:1px solid color-mix(in srgb,var(--red) 35%,var(--line));border-left:4px solid var(--red);border-radius:11px;background:linear-gradient(135deg,color-mix(in srgb,var(--red) 10%,var(--surface)),var(--surface));color:var(--ink);text-decoration:none;box-shadow:0 6px 16px rgb(15 23 42 / 8%);transition:.15s}
.nav-active-incident:hover,.nav-active-incident.is-current{border-color:var(--red);background:color-mix(in srgb,var(--red) 13%,var(--surface));transform:translateY(-1px)}
.nav-active-incident__icon{position:relative;width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--red);color:#fff;font-size:17px;font-weight:900}
.nav-active-incident__icon i,.nav-active-incident__copy small i{display:block;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px var(--surface)}
.nav-active-incident__icon i{position:absolute;right:-2px;top:-2px;width:8px;height:8px}
.nav-active-incident__copy{display:grid;gap:2px;min-width:0}
.nav-active-incident__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.25}
.nav-active-incident__copy small{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px;white-space:nowrap}
.nav-active-incident__copy small i{width:6px;height:6px;box-shadow:none}
.nav-active-incident__arrow{color:var(--red);font-size:22px;font-weight:500;line-height:1}
.sidebar--compact .nav-active-incident-label,.sidebar--compact .nav-active-incident__copy,.sidebar--compact .nav-active-incident__arrow{display:none}
.sidebar--compact .nav-active-incident{display:grid;grid-template-columns:1fr;justify-items:center;margin:7px 0;padding:8px 0;border-left-width:1px}
.sidebar--compact .nav-active-incident__icon{width:34px;height:34px}
.nav-compact-preload .nav-active-incident-label,.nav-compact-preload .nav-active-incident__copy,.nav-compact-preload .nav-active-incident__arrow{display:none}
.nav-compact-preload .nav-active-incident{display:grid;grid-template-columns:1fr;justify-items:center;margin:7px 0;padding:8px 0;border-left-width:1px}

/* Footer-Menue: Theme-Umschalter + Nutzerbereich (Dummy bis echtes Login existiert) + Hilfe + Abmelden */
.resq-sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:14px 12px 0}
.resq-sidebar-theme{width:100%;min-height:40px;padding:0 12px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;background:var(--canvas);color:var(--ink);font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.resq-sidebar-theme:hover{filter:brightness(.98)}
.resq-sidebar-bottom{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:14px 0}
.resq-sidebar-user{display:flex;align-items:center;gap:10px;min-width:0;color:var(--ink)}
.resq-sidebar-user[title]{cursor:default}
.resq-sidebar-avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font-size:13px;font-weight:750}
.resq-sidebar-user strong,.resq-sidebar-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.resq-sidebar-user strong{font-size:13px;font-weight:600}
.resq-sidebar-user small{margin-top:2px;color:var(--muted);font-size:11px}
.resq-sidebar-preview{margin-top:1px}.resq-sidebar-preview select{display:block;width:100%;min-height:16px;padding:0 14px 0 0;border:0;border-radius:0;background:transparent;color:var(--muted);font:inherit;font-size:10px;font-weight:500;cursor:pointer;line-height:16px}.resq-sidebar-preview select:focus{outline:0;color:var(--ink)}
.resq-sidebar-help,.resq-sidebar-logout{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:9px;font-size:15px;cursor:default;border:1px solid var(--line)}
.resq-sidebar-help{min-width:34px;padding:0;background:var(--canvas);color:var(--muted);border-color:var(--line);font:inherit;cursor:pointer}.resq-sidebar-help:hover{background:var(--surface);color:var(--muted);transform:scale(1.04)}
.resq-sidebar-bug svg,.resq-sidebar-logout svg,.resq-sidebar-help svg{width:16px;height:16px;display:block;stroke:currentColor;fill:none}
.resq-sidebar-bug{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:9px;font-size:15px;cursor:pointer;border:1px solid color-mix(in srgb,var(--red) 30%,var(--line));background:color-mix(in srgb,var(--red) 8%,var(--surface));color:var(--red)}
.resq-sidebar-bug{border-color:var(--line);background:var(--canvas);color:var(--muted)}
.resq-sidebar-bug:hover{background:var(--surface);color:var(--ink)}
.resq-sidebar-version .resq-sidebar-help{display:grid;text-decoration:none;cursor:pointer}
.resq-sidebar-logout{background:var(--canvas);border-color:var(--line);color:var(--muted)}
.resq-sidebar-version{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.resq-sidebar-version span{min-width:0;white-space:nowrap}
.resq-sidebar-version strong,.resq-sidebar-version span>small{display:inline;line-height:1.2}
.resq-sidebar-version strong{font-size:10px;font-weight:600;color:var(--ink)}
.resq-sidebar-version span>small{margin-left:3px;font-size:9px;color:var(--muted)}
.resq-sidebar-version .resq-sidebar-license{display:block;margin:3px 0 0;font-size:8px;color:var(--muted)}
.resq-sidebar-version img{width:18px;height:18px;flex:0 0 18px;object-fit:contain;border-radius:6px}
.resq-sidebar-install{margin:8px 0 10px;width:100%;min-height:32px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.resq-sidebar-install:hover{background:var(--canvas)}
.bug-report-dialog{width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 24px 80px rgba(15,23,42,.3)}
.bug-report-dialog::backdrop{background:rgba(15,23,42,.48)}.bug-report-form{display:grid;gap:14px;padding:22px}.bug-report-dialog__head{display:flex;align-items:start;justify-content:space-between;gap:12px}.bug-report-dialog h2{margin:0}.bug-report-form label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:750}.bug-report-form input,.bug-report-form textarea,.bug-report-form select{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--canvas);color:var(--ink);font:inherit;font-weight:400}.bug-report-form textarea{resize:vertical}.bug-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bug-report-check{display:flex!important;grid-template-columns:none!important;align-items:start;gap:8px}.bug-report-check input{width:auto;margin-top:3px}.bug-report-check small{display:block;margin-top:3px;font-weight:400}.bug-report-form .submit-row{justify-content:end}@media(max-width:640px){.bug-report-grid{grid-template-columns:1fr}}

/* Icon-only-Modus, umgeschaltet ueber den Klapp-Button */
aside.sidebar--compact{width:76px}
.sidebar--compact .resq-masthead{justify-content:center;padding:12px}
.sidebar--compact .resq-masthead__logo,.sidebar--compact .resq-masthead__logo--fallback{display:none}
.sidebar--compact nav{padding:18px 10px}
.sidebar--compact .nav-item{justify-content:center;padding:0}
.sidebar--compact .nav-label,.sidebar--compact .nav-section{display:none}
.sidebar--compact .nav-item--sub{padding-left:0}
.sidebar--compact .nav-item--sub::before{display:none}
.sidebar--compact .resq-sidebar-footer{padding:12px 10px}
.sidebar--compact .resq-sidebar-bottom{grid-template-columns:1fr;padding:12px 0;justify-items:center}
.sidebar--compact .resq-sidebar-theme{justify-content:center}
.sidebar--compact .resq-sidebar-theme .theme-label,html.nav-compact-preload .resq-sidebar-theme .theme-label{display:none}
.sidebar--compact .resq-sidebar-user>span:last-child,.sidebar--compact .resq-sidebar-logout{display:none}.sidebar--compact .resq-sidebar-help{display:flex;width:34px;padding:0}
.sidebar--compact .resq-sidebar-version{grid-template-columns:1fr;padding:12px 0;justify-items:center}
.sidebar--compact .resq-sidebar-version span{display:none}
.sidebar--compact .resq-sidebar-install{display:none}

/* Verhindert den sichtbaren Aufklapp-Blitz beim Wechsel zwischen Einsatz-Tab
   und Lagekarte: der gespeicherte Kompaktzustand wird bereits vor dem ersten
   Paint angewendet und danach von theme.js in den normalen Zustand überführt. */
@media (min-width:700px){
  html.nav-compact-preload .app-shell{grid-template-columns:76px 1fr}
  html.nav-compact-preload .sidebar{width:76px}
  html.nav-compact-preload .resq-masthead{justify-content:center;padding:12px}
  html.nav-compact-preload .resq-masthead__logo,html.nav-compact-preload .resq-masthead__logo--fallback{display:none}
  html.nav-compact-preload .sidebar nav{padding:18px 10px}
  html.nav-compact-preload .sidebar .nav-item{justify-content:center;padding:0}
  html.nav-compact-preload .sidebar .nav-label,html.nav-compact-preload .sidebar .nav-section{display:none}
  html.nav-compact-preload .resq-sidebar-footer{padding:12px 10px}
  html.nav-compact-preload .resq-sidebar-bottom{grid-template-columns:1fr;padding:12px 0;justify-items:center}
  html.nav-compact-preload .resq-sidebar-theme{justify-content:center}
  html.nav-compact-preload .resq-sidebar-user>span:last-child,html.nav-compact-preload .resq-sidebar-logout,html.nav-compact-preload .resq-sidebar-install{display:none}html.nav-compact-preload .resq-sidebar-help{display:flex;width:34px;padding:0}
  html.nav-compact-preload .resq-sidebar-version{justify-content:center;padding:12px 0}
  html.nav-compact-preload .resq-sidebar-version span{display:none}
}
@media (min-width:700px) and (max-width:1100px){
  html.nav-compact-preload .app-shell{grid-template-columns:68px 1fr}
  html.nav-compact-preload .sidebar{width:68px}
}

.workspace{padding:34px calc(4vw + 76px) 56px 4vw;min-width:0;transition:padding-right .2s ease}
.workspace--panel-open{padding-right:calc(clamp(320px,var(--detail-panel-width,420px),calc(100vw - 96px)) + 20px)}
.workspace .topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;padding:0;background:transparent;border:0}
.workspace .topbar-actions{display:flex;align-items:center;gap:14px}
.workspace .eyebrow{margin:0 0 5px;text-transform:uppercase;letter-spacing:.1em;color:var(--blue-text);font-size:11px;font-weight:800}
.workspace .eyebrow .back-link{font:inherit;letter-spacing:inherit;text-transform:inherit}
.workspace .topbar:not(.tracking-topbar){min-height:62px}
.einsatz-sticky-head{position:sticky;top:0;z-index:115;margin:0 0 18px;padding-top:1px;background:color-mix(in srgb,var(--canvas) 94%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.einsatz-sticky-head>.topbar{margin-bottom:18px}
.einsatz-sticky-head>.einsatz-tabs{margin-bottom:0}
.alarm-stopwatch{order:99;width:112px;min-width:112px;display:grid;justify-items:end;gap:1px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--blue) 30%,var(--line));border-radius:10px;background:var(--blue-soft);color:var(--ink);font-variant-numeric:tabular-nums}
.alarm-stopwatch small{color:var(--muted);font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.alarm-stopwatch strong{font-size:16px;line-height:1.15;white-space:nowrap}
.workspace .topbar h1{font-size:26px;margin:0;font-weight:800;flex:none}
.user-menu{display:flex;align-items:center;gap:11px}
.user-menu strong,.user-menu small{display:block;font-size:13px}
.user-menu small{color:var(--muted);margin-top:2px}
.avatar{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;background:var(--blue);color:#fff;font-weight:800}
@media(max-width:699px){
  html.mobile-nav-open,html.mobile-nav-open body{overflow:hidden}
  .app-shell,.app-shell--compact{display:block;min-height:100dvh}
  .sidebar{position:fixed;z-index:2500;inset:0 0 auto;width:100%!important;height:100dvh;min-height:0;border-right:0;border-bottom:1px solid var(--line);box-shadow:0 18px 48px rgb(0 0 0 / 38%);overflow:hidden}
  html.mobile-nav-open .detail-rail,html.mobile-nav-open .detail-panel{visibility:hidden;pointer-events:none}
  .sidebar nav{flex:1 1 auto;min-height:0;overscroll-behavior:contain}
  .sidebar--compact{height:70px;box-shadow:0 4px 18px rgb(0 0 0 / 16%)}
  .sidebar--compact .resq-masthead{justify-content:flex-start;padding:12px 14px}
  .sidebar--compact .resq-masthead__logo,.sidebar--compact .resq-masthead__logo--fallback{display:block}
  .sidebar--compact nav,.sidebar--compact .resq-sidebar-footer{display:none}
  .workspace{box-sizing:border-box;width:100%;min-width:0;padding:90px 16px 20px;overflow-x:hidden}
}
@media(max-width:700px){.einsatz-sticky-head{top:0;margin-inline:-4px}.einsatz-sticky-head>.topbar{display:flex;align-items:flex-start}.einsatz-sticky-head .topbar-actions{flex-wrap:wrap;justify-content:flex-end}.einsatz-sticky-head .button{display:none}.alarm-stopwatch{width:104px;min-width:104px;padding:5px 8px}.alarm-stopwatch strong{font-size:14px}}
@media(min-width:900px){.einsatz-sticky-head>.topbar{display:grid;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr)}.einsatz-sticky-head>.topbar>.gateway-status{position:static;justify-self:center;transform:none}.einsatz-sticky-head>.topbar>.topbar-actions{justify-self:end}}

/* Darstellung (Name/Farben/Icon-Konfiguration, DD-20260914-018/020) */
.appearance-grid{display:grid;gap:20px;max-width:900px}
.appearance-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;box-shadow:var(--shadow)}
.appearance-card h2{margin-top:0;font-size:16px;font-weight:800}
.appearance-card>p{color:var(--muted);font-size:13px;margin-top:-8px}
.appearance-brand-card__content{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(260px,1.15fr);gap:24px;align-items:start;margin-top:18px}
.appearance-preview{min-width:0}
.preview-label{margin:0 0 9px;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--muted)}
.appearance-preview__sidebar{border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.appearance-preview__custom{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;padding:10px;border-radius:10px;background:var(--canvas);font-size:12px;font-weight:650;color:var(--muted)}
.appearance-preview__custom img{width:28px;height:28px;object-fit:contain;border-radius:7px}
.appearance-fields{display:grid;gap:14px}
.appearance-fields label{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--muted)}
.appearance-fields input[type="text"]{padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:15px;background:var(--surface);color:var(--ink);font-weight:400}
.appearance-fields input[type="file"]{font-size:13px;font-weight:400}
.appearance-fields small{color:var(--muted);font-size:11px;font-weight:400}
.appearance-colors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.appearance-colors input[type="color"]{width:100%;height:44px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.appearance-toggle{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--canvas)}
.appearance-toggle span{display:grid;gap:4px}.appearance-toggle strong{color:var(--ink)}.appearance-toggle small{font-weight:400;color:var(--muted)}
.appearance-toggle input{width:46px!important;height:24px;accent-color:var(--blue);flex:0 0 auto}
.inline-link{color:var(--blue);font-weight:800;text-decoration:underline;text-underline-offset:2px}.inline-link:hover{color:var(--ink)}
.dv102-reference-card{max-width:1200px}.dv102-reference-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dv102-reference-card__head p{max-width:720px}.dv102-reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:20px}.dv102-reference-item{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:70px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--canvas)}.dv102-reference-item__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:10px;background:#eef1f4;border:1px solid #c5ccd4}.dv102-reference-item__icon img{width:42px;height:42px;object-fit:contain}.dv102-reference-item strong{min-width:0;overflow-wrap:break-word;word-break:normal;hyphens:auto;font-size:12px;line-height:1.25;color:var(--ink)}
.icon--dv102{display:inline-block;width:1em;height:1em;vertical-align:-.16em;object-fit:contain}
.rf-unit-dv102{position:absolute;left:50%;top:50%;width:12px;height:12px;max-width:70%;max-height:70%;object-fit:contain;transform:translate(-50%,-50%);fill:none;stroke:#111827;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:none}.rf-unit-crosshair:has(.rf-unit-dv102){background:#d1d5db;overflow:hidden}.rf-unit-crosshair:has(.rf-unit-dv102) .rf-unit-crosshair__badge{right:0;bottom:0}.slipway-marker__dv102{display:block;width:14px;height:14px;object-fit:contain;filter:grayscale(1) brightness(1.7) drop-shadow(0 1px 1px rgba(0,0,0,.55))}
.button.danger{background:color-mix(in srgb,var(--red) 10%,var(--surface));color:var(--red)}
.button.danger:hover{background:var(--red);color:#fff}
.button.small{min-height:32px;padding:0 12px;font-size:12px;margin-top:10px;width:100%}
@media(max-width:760px){.appearance-brand-card__content{grid-template-columns:1fr}.appearance-colors{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.dv102-reference-card__head{display:grid}.dv102-reference-card__head .button{justify-self:start}.dv102-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dv102-reference-item{grid-template-columns:42px minmax(0,1fr);padding:8px}.dv102-reference-item__icon{width:42px;height:42px}.dv102-reference-item__icon img{width:34px;height:34px}}

/* Einheitliche Verwaltungs- und Archivkarten */
.settings-form{max-width:none}
.settings-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.settings-card__head{padding:22px 26px;border-bottom:1px solid var(--line)}
.settings-card__head h2{margin:0 0 4px;font-size:17px}
.settings-card__head p,.settings-row p{margin:0;color:var(--muted);font-size:13px}
.settings-list-head{display:grid;grid-template-columns:minmax(280px,1fr) 240px 110px;gap:28px;padding:13px 26px;background:#f8fafc;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.settings-list-head span:nth-child(2),.settings-list-head span:nth-child(3){text-align:left}
.settings-list-card + .settings-list-card{margin-top:38px}
.settings-row{display:grid;grid-template-columns:minmax(280px,1fr) 240px 110px;gap:28px;align-items:center;padding:22px 26px}
.settings-row label{display:grid;gap:7px}
.settings-row label>span:first-child{display:none}
.settings-bound{font-size:14px;font-weight:400;color:var(--ink)}
.settings-label,.settings-row label>span:first-child{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.settings-value{display:flex!important;align-items:center;gap:10px}
.settings-value input{width:120px;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit}
.settings-value b{font-size:13px;color:var(--muted)}
.settings-save{margin-top:18px}
.archive-intro{margin:-18px 0 26px;color:var(--muted)}
.archive-search-form{display:grid;gap:16px}
.archive-search-form label{display:grid;gap:7px;font-size:13px;font-weight:750}
.archive-search-form input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit}
.archive-search-action{width:100%}
.archive-results li{gap:18px}
@media(max-width:760px){.settings-list-head{display:none}.settings-row{grid-template-columns:1fr}.settings-value input{flex:1}.archive-results li,#einsatz-list li{grid-template-columns:1fr;align-items:flex-start}}

/* Detail-Rail + Slide-in-Panel im Lage-Dashboard (DD-20260914-021) */
.detail-rail{position:fixed;top:118px;right:0;display:grid;gap:8px;padding:10px 8px;background:var(--surface);border:1px solid var(--line);border-right:0;border-radius:14px 0 0 14px;box-shadow:var(--shadow);z-index:150;transition:right .2s ease}
.detail-rail--panel-open{right:clamp(320px,var(--detail-panel-width,420px),calc(100vw - 96px))}
.detail-rail__btn{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:18px;text-decoration:none;cursor:pointer}
.detail-rail__btn:hover{background:var(--canvas)}
.detail-rail__btn--active{background:var(--blue-soft);color:var(--blue-text)}
.detail-panel{position:fixed;top:0;right:0;height:100vh;width:clamp(320px,var(--detail-panel-width,420px),calc(100vw - 96px));background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow);transform:translateX(100%);transition:transform .2s ease;z-index:140;display:flex;flex-direction:column}
.detail-panel--open{transform:translateX(0)}
.detail-panel__resize{position:absolute;left:-9px;top:0;bottom:0;width:18px;cursor:ew-resize;z-index:2;touch-action:none}
.detail-panel__resize::after{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--line)}
.detail-panel__resize:hover,.detail-panel__resize--active{background:color-mix(in srgb,var(--blue) 25%,transparent)}
.detail-panel__head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}
.detail-panel__head h2{margin:0;font-size:16px;font-weight:800}
.detail-panel__head-actions{display:flex;align-items:center;gap:7px}
.detail-panel__pin,.detail-panel__close{width:32px;height:32px;flex:0 0 32px;border:0;border-radius:9px;background:var(--canvas);color:var(--muted);font-size:14px;cursor:pointer}
.detail-panel__pin{filter:grayscale(1);opacity:.65}
.detail-panel__pin--active{filter:none;opacity:1;background:var(--blue-soft);box-shadow:0 0 0 1px var(--blue) inset}
.detail-panel__close{width:32px;height:32px;flex:0 0 32px;border:0;border-radius:9px;background:var(--canvas);color:var(--muted);font-size:14px;cursor:pointer}
.detail-panel__body{padding:20px;overflow-y:auto;flex:1;display:grid;gap:28px}
.detail-panel__section-title{margin:0 0 12px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:750}
.detail-panel__foot{display:flex;align-items:center;gap:12px;padding:16px 20px;border-top:1px solid var(--line);background:var(--surface)}
.beschreibung-bloecke{display:grid;gap:12px}
.beschreibung-block{position:relative}
.beschreibung-block textarea{width:100%;min-height:100px;padding:12px 34px 12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;font-size:14px;background:var(--surface);color:var(--ink);resize:vertical}
.beschreibung-block--dirty textarea{border-color:var(--orange);box-shadow:0 0 0 2px color-mix(in srgb,var(--orange) 16%,transparent)}
.szenario-bereich__auftrag{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin:8px 0;font-size:11px;font-weight:750;color:var(--muted)}.szenario-bereich__auftrag input{width:100%;min-width:0;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font:inherit;font-weight:400;white-space:nowrap;overflow-x:auto}
.beschreibung-block__remove{position:absolute;top:8px;right:8px;width:22px;height:22px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;line-height:1;cursor:pointer}
.beschreibung-block__remove:hover{background:var(--canvas);color:var(--red)}
.beschreibung-add-btn{margin-top:12px;width:100%;min-height:42px;border:2px dashed var(--line);border-radius:var(--radius-sm);background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font:inherit;font-size:13px;font-weight:650}
.beschreibung-add-btn span{font-size:16px}
.beschreibung-add-btn:hover{border-color:var(--blue);color:var(--blue-text)}
.szenario-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.szenario-head h3{margin:0}
.szenario-head h2{margin:0}.szenario-head p{margin:3px 0 0}
.szenario-list{display:grid;gap:12px;margin-top:14px}
.szenario-bereich{position:relative;width:100%;min-height:90px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);resize:vertical;overflow:auto}
.szenario-bereich--drag-over{box-shadow:0 0 0 2px var(--blue) inset}
.szenario-bereich__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.szenario-bereich__name{font-weight:750;font-size:14px;color:var(--ink)}
.szenario-bereich__remove{width:22px;height:22px;flex:0 0 22px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;line-height:1;cursor:pointer}
.szenario-bereich__remove:hover{background:rgb(255 255 255 / 60%);color:var(--red)}
.szenario-bereich__people{display:flex;flex-wrap:wrap;gap:8px}
.szenario-bereich__empty{color:var(--muted);font-size:12px}
.protocol-subtitle{margin:20px 0 8px;font-size:14px;color:var(--ink)}
.handy-qr-box{display:grid;place-items:center;padding:14px;margin:12px 0;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}
.handy-qr-box img{width:180px;height:180px}
.handy-link-row{display:flex;gap:8px;margin-bottom:6px}
.handy-link-row input{flex:1;min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);color:var(--ink);font:inherit;font-size:12px}
.handy-tracker-list{display:grid;gap:6px;margin-top:8px}
.handy-tracker-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:13px}
.szenario-bereich__assign{width:100%}.szenario-bereich__assign-trigger{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;padding:0;text-align:left;cursor:pointer}.szenario-bereich__assign-trigger strong{color:var(--blue-text);font-weight:750}.szenario-bereich__assign-trigger:hover{text-decoration:underline}.szenario-bereich__assign-list{display:grid;gap:5px;margin-top:8px;padding:7px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 78%,transparent)}.szenario-bereich__assign-person{display:grid;gap:1px;width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.szenario-bereich__assign-person:hover{border-color:var(--blue);background:var(--blue-soft)}.szenario-bereich__assign-person strong{font-size:11px}.szenario-bereich__assign-person small{color:var(--muted);font-size:9px;line-height:1.25}.szenario-bereich__assign-person.is-assigned,.szenario-bereich__assign-person:disabled{opacity:.48;cursor:not-allowed;background:var(--canvas)}.szenario-bereich__assign-empty{color:var(--muted);font-size:10px;text-align:center}
.szenario-person{position:relative;min-width:110px;padding:8px 22px 8px 10px;border-radius:10px;background:var(--surface);box-shadow:0 1px 3px rgba(15,23,42,.12)}
.szenario-person strong{display:block;font-size:12px;color:var(--ink)}
.szenario-person small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.szenario-person__remove{position:absolute;top:4px;right:4px;width:16px;height:16px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:10px;line-height:1;cursor:pointer}
.szenario-person__remove:hover{background:var(--canvas);color:var(--red)}
.szenario-bereich__count{color:var(--muted);font-weight:600;font-size:12px}
.szenario-person{min-width:120px;padding-right:18px}
.szenario-person__notiz-toggle{display:block;margin-top:6px;border:0;background:transparent;color:var(--muted);font-size:10px;padding:0;cursor:pointer;text-align:left}
.szenario-person__notiz-toggle:hover{color:var(--blue-text)}
.szenario-person__notiz{margin-top:4px}
.szenario-person__notiz textarea{width:100%;min-height:44px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:11px;background:var(--surface);color:var(--ink);resize:vertical}
.szenario-person__log{display:grid;gap:4px;margin-top:6px}
.szenario-log-entry{display:flex;align-items:center;gap:6px}
.szenario-log-entry__zeit{flex:0 0 auto;font-size:10px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.szenario-log-entry__text{flex:1;min-width:0;padding:3px 6px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:11px;background:var(--surface);color:var(--ink)}
.szenario-person__log-add{display:block;margin-top:6px;border:0;background:transparent;color:var(--muted);font-size:10px;padding:0;cursor:pointer;text-align:left}
.szenario-person__log-add:hover{color:var(--blue-text)}
.szenario-bereich__log{display:grid;gap:4px;margin:8px 0 10px;max-width:360px}
.szenario-bereich__log-add{border:0;background:transparent;color:var(--muted);font-size:10px;padding:0;cursor:pointer;text-align:left}
.szenario-bereich__log-add:hover{color:var(--blue-text)}
.szenario-log-entry__delete{border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer;padding:2px 3px}
.szenario-log-entry__delete:hover{color:var(--red)}
.szenario-raum{margin-top:10px;padding:10px;border:1px dashed var(--line);border-radius:10px;background:rgb(255 255 255 / 45%)}
.szenario-raum__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:12px;font-weight:700;color:var(--ink)}
.szenario-raum__remove{width:18px;height:18px;flex:0 0 18px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:11px;line-height:1;cursor:pointer}
.szenario-raum__remove:hover{background:rgb(255 255 255 / 60%);color:var(--red)}
.szenario-raum__people{display:flex;flex-wrap:wrap;gap:8px}
.quali-table tr[draggable]{cursor:grab;-webkit-user-select:none;user-select:none}
.quali-table tr[draggable]:active{cursor:grabbing}
@media(max-width:960px){.workspace--panel-open{padding-right:4vw!important}.detail-rail--panel-open{right:0}.detail-panel{width:100vw;max-width:100vw}.detail-panel__resize{display:none}}
@media(max-width:860px){.detail-rail{top:90px}}

/* iPad / Tablet: PC-nahe Darstellung mit kompakteren Proportionen. Die
   eigentliche Mobile-Ansicht beginnt erst unter 700px, damit iPad-Layouts
   nicht unnötig in eine gestapelte Telefonansicht wechseln. */
@media (min-width:700px) and (max-width:1100px){
  .app-shell{grid-template-columns:220px 1fr}
  .app-shell--compact{grid-template-columns:68px 1fr}
  .sidebar{width:220px;position:sticky;height:100vh;border-right:1px solid var(--line);border-bottom:0}
  aside.sidebar--compact{width:68px}
  .resq-masthead{height:62px;flex-basis:62px;padding:10px 12px;gap:9px}
  .menu-collapse{width:32px;height:32px;flex-basis:32px;font-size:17px}
  .resq-masthead__logo{max-height:36px}
  .sidebar nav{padding:14px 10px;gap:1px}
  .sidebar .nav-section{margin:14px 10px 4px;font-size:10px}
  .sidebar .nav-item{min-height:36px;padding:0 10px;gap:9px;font-size:12.5px}
  .sidebar .nav-item span:first-child{width:16px;font-size:14px}
  .resq-sidebar-footer{padding:8px 10px 9px}
  .resq-sidebar-bottom{padding:8px 0 9px;gap:7px}
  .resq-sidebar-avatar,.resq-sidebar-help,.resq-sidebar-logout{width:30px;height:30px;flex-basis:30px}
  .resq-sidebar-user strong{font-size:12px}
  .resq-sidebar-user small{font-size:10px}
  .resq-sidebar-version{padding:8px 0 9px;gap:7px}
  .resq-sidebar-version img{width:18px;height:18px;flex-basis:18px}
  .resq-sidebar-version strong{font-size:11px}
  .resq-sidebar-version span small{font-size:9px}
  .resq-sidebar-install{min-height:32px;font-size:11px}
  .workspace{padding:24px 24px 42px}
  .workspace .topbar{margin-bottom:20px;gap:16px}
  .workspace .topbar h1{font-size:23px}
  .card{padding:18px 20px;margin-bottom:16px;border-radius:14px}
  .client-einsatz-card{padding:16px 18px}
  .status-summary{padding:13px;border-radius:14px}
  .total-tile{padding:12px}
  .quali-table th,.quali-table td{padding:8px 9px}
  .detail-panel{width:clamp(320px,var(--detail-panel-width,420px),calc(100vw - 96px));max-width:none}
  .detail-rail--panel-open{right:clamp(320px,var(--detail-panel-width,420px),calc(100vw - 96px))}
  .workspace--panel-open{padding-right:calc(clamp(320px,var(--detail-panel-width,420px),calc(100vw - 96px)) + 16px)!important}
}

@media (max-width:699px){
  .workspace{padding:16px}
  .card{padding:16px;border-radius:14px}
}

/* Lagekarte: breite Karte, rechts darunter Tracker und Simulation. Jede
   Fahrzeugzeile steuert ihre eigene Spur; die farbige Markierung entspricht
   der Spur auf der Karte. */
.tracker-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:stretch;padding:0;background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line)}
.tracker-row__select{width:100%;display:grid;grid-template-columns:13px minmax(0,1fr) auto;gap:11px;align-items:start;padding:14px 6px 14px 16px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.tracker-row__select:hover{background:var(--canvas)}
.tracker-row__actions{display:flex;align-items:center;gap:2px}
.tracker-row__locate{width:26px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--blue-text);font-size:15px;line-height:1;cursor:pointer}
.tracker-row__locate:hover{background:var(--blue-soft)}
.tracker-row__track-toggle{position:relative;display:flex;align-items:center;gap:3px;padding:0 5px 0 2px;color:var(--muted);font-size:10px;font-weight:750;white-space:nowrap;cursor:pointer}
.tracker-row__track-toggle input{width:14px;height:14px;margin:0;accent-color:var(--blue);cursor:pointer}
/* Das Wort "Spur" bleibt für Screenreader erhalten (das Label liest sich sonst
   nur über Swatch+Checkbox), verschwindet aber optisch - der Tooltip
   (title="Spur von …") und die Farbmarkierung reichen sehend völlig aus und
   sparen in der jetzt bewusst schmalen Einsatzmittelliste spürbar Platz. */
.tracker-row__track-toggle>span:last-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tracker-track-swatch{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--track-color);box-shadow:0 0 0 1px color-mix(in srgb,var(--track-color) 45%,transparent)}
.tracker-row.is-selected .tracker-row__select{background:var(--blue-soft)}
.tracker-groups{display:grid;gap:10px;padding:10px}.tracker-group{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.tracker-group__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--ink);font-size:11px}.tracker-group__head span{color:var(--muted);font-size:10px}.tracker-group--active,.tracker-group--available{transition:border-color .15s ease,background .15s ease}.tracker-group--drag-over{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 16%,transparent)}.tracker-drop-hint{margin:0;padding:8px 12px;color:var(--muted);font-size:10px;line-height:1.35;border-top:1px dashed var(--line)}.tracker-group .tracker-list{max-height:none}.tracker-group .tracker-row:last-child{border-bottom:0}.tracker-row.is-dragging{opacity:.45}.tracker-row--no-tracker{background:color-mix(in srgb,#f59e0b 8%,var(--surface))}.tracker-row--no-tracker .tracker-row__select{cursor:grab}.tracker-row--no-tracker .tracker-row__select:disabled{opacity:1;color:inherit}.status-dot--no-tracker{background:#d97706}

@media (min-width:821px){
  .tracking-layout{grid-template-columns:minmax(0,1fr) minmax(300px,330px)}
  /* Einzige Stelle, die die Spaltenaufteilung festlegt: Die Karte bekommt den
     gesamten übrigen Platz, die Einsatzmittelliste bleibt so schmal wie für
     Name/Werte/Spur-Toggle nötig, statt unnötig zu strecken. */
  .tracking-layout{grid-template-columns:minmax(0,1fr) minmax(270px,300px);align-items:stretch}
  .tracking-map-card{height:min(72vh,680px);min-height:460px}
  .tracking-map-card #tracking-map{height:100%;min-height:0}
  .tracking-sidebar{grid-template-columns:1fr;align-content:start;gap:14px}
}

/* Finaler Lagekartenaufbau: die Simulation sitzt als flache Steuerleiste im
   blauen Hinweisfeld; der Tracker kann zugunsten der Karte schmal werden. */
.tracking-panel__tools{display:flex;align-items:center;gap:9px;min-width:0}
.tracker-collapse-button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--canvas);color:var(--ink);font-size:18px;line-height:1;cursor:pointer}
.tracker-collapse-button:hover{border-color:var(--blue);color:var(--blue-text)}
.lagekarte-incident-bar{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.6fr);gap:9px 18px;margin:-4px 0 14px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--blue) 22%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--blue-soft) 58%,var(--surface));box-shadow:0 5px 16px rgba(15,23,42,.06)}
.lagekarte-incident-bar__title{display:flex;align-items:center;flex-wrap:wrap;gap:4px 9px;min-width:0}
.lagekarte-incident-bar__title .eyebrow{width:100%;margin:0;color:var(--blue-text);font-size:9px}
.lagekarte-incident-bar__title strong{min-width:0;font-size:15px;overflow-wrap:anywhere}
.lagekarte-incident-bar__meta{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px 14px;color:var(--muted);font-size:10px}
.lagekarte-incident-bar__meta b{color:var(--ink);font-weight:800}
.lagekarte-incident-bar__vehicles{display:flex;flex-wrap:wrap;gap:7px;grid-column:1/-1;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--blue) 15%,var(--line))}
.lagekarte-vehicle-chip{display:grid;gap:1px;min-width:145px;padding:6px 13px 6px 9px;border:1px solid var(--line);border-right:6px solid var(--muted);border-radius:8px;background:var(--surface)}
.lagekarte-vehicle-chip strong{font-size:11px}
.lagekarte-vehicle-chip__crew{color:var(--muted);font-size:9px;font-weight:650}
.lagekarte-vehicle-chip small{color:var(--muted);font-size:9px}
/* Flächenfarbe: reine Tracker-Konnektivität (grau=kein Tracker, grün=online,
   rot=offline) - unabhängig vom gemeldeten S3/S4-Status. Nur die drei
   Nicht-Streifen-Kanten werden hier gesetzt, damit die rechte Streifenfarbe
   (S3/S4, siehe unten) davon unberührt bleibt. */
.lagekarte-vehicle-chip--none{background:color-mix(in srgb,#94a3b8 16%,var(--surface));border-top-color:color-mix(in srgb,#94a3b8 45%,var(--line));border-left-color:color-mix(in srgb,#94a3b8 45%,var(--line));border-bottom-color:color-mix(in srgb,#94a3b8 45%,var(--line))}
.lagekarte-vehicle-chip--online{background:color-mix(in srgb,var(--green) 16%,var(--surface));border-top-color:color-mix(in srgb,var(--green) 45%,var(--line));border-left-color:color-mix(in srgb,var(--green) 45%,var(--line));border-bottom-color:color-mix(in srgb,var(--green) 45%,var(--line))}
.lagekarte-vehicle-chip--offline{background:color-mix(in srgb,#dc2626 14%,var(--surface));border-top-color:color-mix(in srgb,#dc2626 45%,var(--line));border-left-color:color-mix(in srgb,#dc2626 45%,var(--line));border-bottom-color:color-mix(in srgb,#dc2626 45%,var(--line))}
/* Rechter Streifen: gemeldeter S3/S4-Status, unabhängig von der Tracker-Konnektivität. */
.lagekarte-vehicle-chip--status-S3{border-right-color:#eab308}
.lagekarte-vehicle-chip--status-S4{border-right-color:var(--green)}
.lagekarte-vehicle-chip--status-none{border-right-color:var(--muted)}
.lagekarte-incident-bar__scenarios{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:10px;grid-column:1/-1}
.lagekarte-incident-bar__scenarios b{color:var(--ink);font-size:10px}
.lagekarte-incident-bar__scenarios>span:not(.hint){padding:3px 7px;border-radius:999px;background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.einsatz-tabs{display:flex;align-items:center;gap:5px;margin:-10px 0 18px;padding:4px;border-bottom:1px solid var(--line)}
.einsatz-tabs a{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border-radius:8px;color:var(--muted);font-size:12px;font-weight:750;text-decoration:none}
.einsatz-tabs a:hover{background:var(--canvas);color:var(--ink)}
.einsatz-tabs a.is-active{background:var(--blue);color:#fff;box-shadow:0 3px 8px color-mix(in srgb,var(--blue) 25%,transparent)}
.einsatz-tabs a.einsatz-tabs__separated{margin-left:18px}
.einsatz-tabs__hint{margin-left:auto;padding:0 8px;color:var(--muted);font-size:10px;font-weight:650}
.tracking-info.simulation-bar{display:grid;grid-template-columns:auto minmax(220px,.85fr) minmax(0,2fr);align-items:center;gap:15px;margin-top:14px;padding:12px 16px}
.tracking-info__copy{min-width:0}
.tracking-info__copy strong{font-size:13px}
.tracking-info__copy p{margin:2px 0 0;color:var(--muted);font-size:11px;line-height:1.35}
.simulation-bar__controls{display:grid;grid-template-columns:minmax(125px,.85fr) minmax(210px,1.15fr) minmax(175px,1fr) auto;align-items:end;gap:10px;min-width:0}
.simulation-bar .tracking-field{gap:4px;padding:0;color:var(--muted);font-size:10px}
.simulation-bar .tracking-field select{min-height:36px;padding:7px 9px;font-size:11px}
.simulation-bar .simulation-actions{grid-template-columns:1fr 1fr;gap:6px;padding:0}
.simulation-bar .simulation-actions .button{min-height:36px;padding:0 8px;font-size:11px;white-space:nowrap}
.simulation-bar .speed-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0;padding:0;border:0}
.simulation-bar .speed-options legend{grid-column:1/-1;width:auto;margin:0;color:var(--muted);font-size:10px;font-weight:750}
.simulation-bar .speed-options label{min-width:0}
.simulation-bar .speed-options span{padding:8px 5px;font-size:10px}
.simulation-bar__state{align-self:center;justify-self:end;white-space:nowrap}

@media (min-width:821px){
  .tracking-layout--tracker-collapsed{grid-template-columns:minmax(0,1fr) minmax(180px,210px)}
  .tracking-layout--tracker-collapsed .tracking-summary,
  .tracking-layout--tracker-collapsed .tracker-row__values,
  .tracking-layout--tracker-collapsed .tracker-row__main code,
  .tracking-layout--tracker-collapsed .tracker-row__track-toggle>span:not(.tracker-track-swatch){display:none}
  .tracking-layout--tracker-collapsed .tracker-row__select{grid-template-columns:13px minmax(0,1fr);padding:12px 5px 12px 12px}
  .tracking-layout--tracker-collapsed .tracker-row__track-toggle{padding:0 8px 0 2px}
  .tracking-layout--tracker-collapsed .tracker-row__main strong{overflow-wrap:anywhere}
  .tracking-layout--tracker-collapsed .tracker-row__main small{display:block;font-size:9px;line-height:1.3}
  .tracking-layout--tracker-collapsed .tracker-row__call-sign{color:var(--muted)}
}

@media (min-width:821px){
  /* Spaltenbreite selbst ist bewusst NICHT hier festgelegt (siehe die einzige
     .tracking-layout-Regel weiter oben) - nur die eigenständig scrollende Liste
     innerhalb der schmalen rechten Spalte. */
  .tracking-list-panel{max-height:min(72vh,680px);display:flex;flex-direction:column}
  .tracking-list-panel .tracker-groups{min-height:0;overflow-y:auto}
  .tracker-row__select{grid-template-columns:11px minmax(0,1fr) auto;gap:8px;padding:10px 4px 10px 10px}
  .tracker-row__track-toggle{padding-right:7px;font-size:9px}
  .tracker-row__main strong{font-size:12px}
  .tracker-row__main small,.tracker-row__main code,.tracker-row__values small{font-size:9px}
  .tracker-group__head{padding:8px 10px}
  .tracker-groups{gap:7px;padding:7px}
}

@media (max-width:820px){
  .einsatz-tabs{margin:-3px 0 12px;overflow-x:auto;white-space:nowrap}.einsatz-tabs a.einsatz-tabs__separated{margin-left:10px}
  .einsatz-tabs__hint{display:none}
  .lagekarte-incident-bar{grid-template-columns:1fr;gap:8px;margin:-2px 0 12px;padding:11px 12px}
  .lagekarte-incident-bar__meta{justify-content:flex-start}
  .lagekarte-incident-bar__vehicles,.lagekarte-incident-bar__scenarios{grid-column:auto}
  .tracking-info.simulation-bar{grid-template-columns:auto minmax(0,1fr);align-items:start}
  .simulation-bar__controls{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
  .simulation-bar .simulation-inline-field,.simulation-bar .speed-options{grid-column:1/-1}
  .simulation-bar__state{justify-self:start;align-self:center}
}

/* Einsatzstatus der Karten-Fadenkreuze und kompakte Einsatzmittelliste. */
.tracking-panel__title{display:grid;gap:2px;min-width:0}
.tracking-panel__counts{color:var(--muted);font-size:10px;line-height:1.25;white-space:nowrap}
.tracking-panel__counts strong{color:var(--ink);font-weight:800}
.tracker-row__select{padding:7px 3px 7px 9px;gap:7px}
.tracker-row__main,.tracker-row__values{gap:1px}
.tracker-row__main strong{font-size:11px}
.tracker-row__main small,.tracker-row__values small,.tracker-row__main code{font-size:9px;line-height:1.2}
.tracker-row__track-toggle{padding-right:5px;font-size:9px}
.tracker-group__head{padding:6px 9px}
.tracker-drop-hint{padding:6px 9px;font-size:9px;line-height:1.25}
.tracker-groups{gap:6px;padding:6px}
.tracker-category{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.tracker-category__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-bottom:1px solid var(--line);color:var(--ink);font-size:11px}
.tracker-category__head span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}
.tracker-category__head i{font-style:normal;font-size:14px;line-height:1;transition:transform .15s ease}
.tracker-category[open]>.tracker-category__head i{transform:rotate(180deg)}
.tracker-category>summary{list-style:none;cursor:pointer}
.tracker-category>summary::-webkit-details-marker{display:none}
.tracker-category--land.einsatz-details summary{padding:10px 12px}.tracker-category--land.einsatz-details .einsatz-details__chevron{width:24px;height:24px}.tracker-category--land.einsatz-details[open] summary{border-bottom:1px solid var(--line)}.tracker-category--land.einsatz-details .tracker-category__groups{padding:7px}.tracker-category__count{color:var(--muted);font-size:10px}
.tracker-category__visibility-all{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;font-weight:650;white-space:nowrap;cursor:pointer}
.tracker-category__visibility-all input{width:13px;height:13px;margin:0;accent-color:var(--blue);cursor:pointer}
.tracker-category__groups{display:grid;gap:6px;padding:6px}
.tracker-category--land:not([open])>.tracker-category__head{border-bottom:0}
.tracker-row__crew{color:var(--muted);font-size:9px;font-weight:650}
.scenario-map-label-icon,.scenario-map-resize-icon,.scenario-map-delete-icon{background:transparent!important;border:0!important}.scenario-map-label{box-sizing:border-box;display:grid;place-items:center;width:100%;height:100%;padding:6px;border:2px solid color-mix(in srgb,var(--scenario-color,#0e7490) 78%,#fff);border-radius:7px;background:color-mix(in srgb,var(--scenario-color,#0e7490) 46%,#172033);color:#fff;font-size:11px;font-weight:800;line-height:1.2;text-align:center;overflow:hidden;overflow-wrap:anywhere;box-shadow:0 2px 7px rgba(15,23,42,.25);cursor:move}.scenario-map-resize-icon,.scenario-map-delete-icon{display:grid;place-items:center}.scenario-map-resize-icon span,.scenario-map-delete-icon span{display:grid;place-items:center;width:20px;height:20px;border:1px solid rgba(14,116,144,.55);border-radius:50%;background:rgba(255,255,255,.88);color:#0e7490;font-size:14px;line-height:1;box-shadow:0 1px 4px rgba(15,23,42,.28)}.scenario-map-resize-icon span{cursor:nwse-resize}.scenario-map-delete-icon span{border-color:rgba(220,38,38,.62);color:#dc2626;cursor:pointer}.scenario-map-delete-icon svg{width:12px;height:12px}
.tracker-group .tracker-list>.empty{display:flex;align-items:center;justify-content:center;min-height:36px;margin:0;padding:8px 6px;text-align:center;font-size:11px;line-height:1.25}
.szenario-bereich__actions{display:flex;align-items:center;gap:3px}.szenario-bereich__locate,.szenario-bereich__edit{width:22px;height:22px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--blue-text);font-size:15px;line-height:1;cursor:pointer}.szenario-bereich__locate:hover,.szenario-bereich__edit:hover{background:var(--blue-soft)}.scenario-map-label--focused{background:#c2410c;box-shadow:0 0 0 2px rgba(249,115,22,.45),0 2px 8px rgba(15,23,42,.3)}
.scenario-popup{display:grid;gap:4px;min-width:190px;color:var(--ink)}.scenario-popup>strong{font-size:15px}.scenario-popup>span{color:var(--muted);font-size:11px}.scenario-popup ul{display:grid;gap:4px;margin:4px 0 0;padding:0;list-style:none}.scenario-popup li{display:grid;gap:1px;padding-top:4px;border-top:1px solid var(--line)}.scenario-popup li strong{font-size:11px}.scenario-popup li small,.scenario-popup__empty{color:var(--muted);font-size:10px}.scenario-popup__empty{margin:5px 0 0}

/* Der spätere allgemeine Layout-Block darf die tatsächlich eingeklappte
   Einsatzmittelliste nicht wieder auf volle Breite überschreiben. */
@media (min-width:821px){
  .tracking-layout.tracking-layout--tracker-collapsed{grid-template-columns:minmax(0,1fr) minmax(190px,220px)}
  .tracking-layout.tracking-layout--tracker-collapsed .tracking-summary,
  .tracking-layout.tracking-layout--tracker-collapsed .tracker-row__values,
  .tracking-layout.tracking-layout--tracker-collapsed .tracker-row__track-toggle{display:none}
  .tracking-layout.tracking-layout--tracker-collapsed .tracker-row__select{grid-template-columns:11px minmax(0,1fr);padding:9px 8px 9px 10px}
  .tracking-layout.tracking-layout--tracker-collapsed .tracker-row__main strong{overflow-wrap:anywhere}
  .tracking-layout.tracking-layout--tracker-collapsed .tracker-row__main small{display:block;font-size:9px;line-height:1.3}
  .tracking-layout.tracking-layout--tracker-collapsed .tracker-row__call-sign{color:var(--muted)}
}
@media (max-width:820px){
  .tracking-layout.tracking-layout--tracker-collapsed .tracking-summary,
  .tracking-layout.tracking-layout--tracker-collapsed .tracker-row__values,
  .tracking-layout.tracking-layout--tracker-collapsed .tracker-row__track-toggle{display:none}
  .tracking-layout.tracking-layout--tracker-collapsed .tracker-row__select{grid-template-columns:11px minmax(0,1fr);padding:9px 8px 9px 10px}
  .tracking-layout.tracking-layout--tracker-collapsed .tracker-row__main small{display:block;font-size:9px;line-height:1.3}
}

/* Übersicht und Lagekarte teilen sich dieselbe Kopfzeilen-Geometrie. */
.tracking-topbar{min-height:62px;margin:0 0 28px;padding:0}
@media (max-width:820px){.tracking-topbar{margin:0 0 28px;padding:0}}

.einsatz-title-line{display:flex;align-items:center;gap:9px;min-width:0}.einsatz-title-line h1{margin:0;min-width:0}.einsatz-title-edit{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:17px;line-height:1;cursor:pointer}.einsatz-title-edit:hover{border-color:var(--blue);color:var(--blue-text);background:var(--blue-soft)}.einsatz-title-editor{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:8px}.einsatz-title-editor input{min-width:min(360px,70vw);padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit}.einsatz-title-editor .button{min-height:34px}.einsatz-title-editor .hint{font-size:11px}

.quali-table tr.scenario-assigned-row{background:color-mix(in srgb,var(--scenario-row-color) 9%,var(--surface))}.quali-table tr.person-role--el.scenario-assigned-row{background:color-mix(in srgb,var(--scenario-row-color) 9%,#fff8cc)}.quali-table tr.person-role--taef.scenario-assigned-row{background:color-mix(in srgb,var(--scenario-row-color) 9%,#dcfce7)}html[data-theme=dark] .quali-table tr.scenario-assigned-row{background:color-mix(in srgb,var(--scenario-row-color) 14%,var(--surface))}
.quali-table--people th,.quali-table--people td{padding-top:6px;padding-bottom:6px;line-height:1.25}.quali-table--vehicles th,.quali-table--vehicles td{padding-top:7px;padding-bottom:7px;line-height:1.25}.quali-table--people .role-toggle{width:21px;height:21px}.quali-table--people .person-select{width:17px;height:17px}.quali-table--people .person-role-tag{padding:1px 6px}

@media print{
  .sidebar,[data-print-page],[data-download-html],.tracker-detail-window,.detail-rail{display:none!important}
  .app-shell{display:block!important}
  .workspace{padding:0!important}
  .card,.status-summary,.archive-group-card{box-shadow:none!important;break-inside:avoid}
}

/* Einsatzprotokoll (Kapitel 7) - Typ/Priorität sind bewusst getrennte Badges. */
.protokoll-form__row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:10px}
.page--einsatzprotokoll{width:100%;max-width:none;margin:0;padding:0}
.protokoll-form__row label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--muted)}
.protokoll-form__row select,.protokoll-form__row input[type=text]{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit}
.protokoll-form__row--text{align-items:flex-end}
.protokoll-form__text-label{flex:1;min-width:260px}
.protokoll-form__text-label textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;resize:vertical}
.protokoll-filters{display:flex;flex-wrap:wrap;gap:10px}
.protokoll-filters input,.protokoll-filters select{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit}
.protokoll-filters #filter-q{flex:1;min-width:200px}
.protokoll-list{display:grid;gap:10px;max-height:60vh;overflow-y:auto;padding-right:4px}
.protokoll-sticky-section{position:sticky;top:8px;z-index:5}
.protokoll-typ-filter{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}.protokoll-typ-actions{display:flex;gap:6px;margin-right:4px;padding-right:8px;border-right:1px solid var(--line)}
.protokoll-typ-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:11px;font-weight:700;color:var(--muted);cursor:pointer}
.protokoll-typ-chip.is-active{background:var(--blue-soft);border-color:var(--blue);color:var(--blue-text)}
.protokoll-typ-chip input{margin:0}
.protokoll-entry{border:1px solid var(--line);border-left-width:5px;border-radius:var(--radius-sm);padding:12px 14px;background:var(--surface)}
.protokoll-entry__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}
.protokoll-entry__text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.protokoll-entry--prio-normal{border-left-color:var(--line)}
.protokoll-entry--prio-wichtig{border-left-color:var(--orange);background:color-mix(in srgb,var(--orange) 6%,var(--surface))}
.protokoll-entry--prio-kritisch{border-left-color:var(--red);background:color-mix(in srgb,var(--red) 9%,var(--surface))}
.protokoll-entry--unqualifiziert{outline:2px dashed var(--orange);outline-offset:2px}
.protokoll-badge{font-size:10px;padding:4px 9px}
.protokoll-badge--prio-normal{background:var(--blue-soft);color:var(--muted)}
.protokoll-badge--prio-wichtig{background:#fef3c7;color:var(--orange)}
.protokoll-badge--prio-kritisch{background:#fee2e2;color:var(--red)}
.protokoll-badge--unqualifiziert{background:#fef3c7;color:var(--orange)}
.protokoll-badge--typ-fund,.protokoll-badge--typ-gefahr{background:#fee2e2;color:var(--red)}
.protokoll-badge--typ-info,.protokoll-badge--typ-status{background:var(--blue-soft);color:var(--blue-text)}
.protokoll-badge--typ-auftrag,.protokoll-badge--typ-personal,.protokoll-badge--typ-technik{background:#e2e8f0;color:var(--ink)}
.protokoll-badge--typ-rueckmeldung{background:#dcfce7;color:var(--green)}
.protokoll-badge--typ-funk{background:#ede9fe;color:#7c3aed}

/* Lagekarte: Zeichenwerkzeuge + Ebenenpanel (Kapitel 5+6) */
.draw-toolbar{position:absolute;z-index:800;right:10px;top:252px;display:grid;grid-template-columns:repeat(4,32px);align-items:center;justify-content:center;gap:3px;width:150px;border:1px solid var(--line);border-radius:12px;overflow:visible;box-shadow:var(--shadow);background:var(--surface);padding:6px}
.draw-toolbar__btn{border:0;background:transparent;width:32px;height:32px;font-size:15px;cursor:pointer;color:#172033;border-radius:6px;display:grid;place-items:center}
.draw-toolbar__btn:hover{background:#f1f5f9}
.draw-toolbar__btn.is-active{background:var(--blue);color:#fff}
.draw-toolbar__btn.is-multiclick{outline:2px solid #ef4444;outline-offset:1px;box-shadow:0 0 0 2px rgba(239,68,68,.2)}
.draw-toolbar__btn:disabled{opacity:.35;cursor:default}
.draw-toolbar__btn:disabled:hover{background:transparent}
.draw-toolbar__sep{grid-column:1 / -1;width:auto;height:1px;background:rgba(15,23,42,.15);margin:2px 0}
.draw-toolbar__hint{font-size:11px;color:var(--muted);padding:0 6px;white-space:nowrap;max-width:0;overflow:hidden;transition:max-width .15s ease}
.draw-toolbar__hint:not(:empty){max-width:220px;padding:0 8px}
@media (max-width:820px){.draw-toolbar{max-width:calc(100vw - 30px);right:6px;top:252px}.draw-toolbar__hint{display:none}}
.tracking-map-card #tracking-map{overflow:hidden;border-radius:15px}.tracking-map-card .leaflet-pane{z-index:700}.tracking-map-card .leaflet-popup-pane{z-index:1800!important}.tracking-map-card .leaflet-popup{z-index:1801!important}.tracking-map-card .leaflet-popup-content-wrapper{max-height:min(70vh,520px);overflow-y:auto}
.map-object-popup{display:grid;gap:6px;min-width:200px}
.map-object-popup label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:700;color:var(--muted)}
.map-object-popup input,.map-object-popup select{padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px}
.map-object-popup__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}
.map-object-popup__checkbox{flex-direction:row!important;align-items:center;gap:6px!important}
.ebenen-list{display:grid;gap:2px;margin-bottom:12px;font-size:12px}
.katalog-page{max-width:1100px;width:100%;margin-left:0;margin-right:0}.katalog-card{display:grid;gap:12px}.katalog-card h2{margin-bottom:0}.katalog-select-label{font-size:12px;font-weight:700;color:var(--muted)}.katalog-select{width:min(100%,520px);padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit}.katalog-list{display:grid;gap:7px}.katalog-row{display:grid;grid-template-columns:24px minmax(0,1fr) 36px;align-items:center;gap:8px;padding:4px 0}.katalog-row input[type=text]{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit}.katalog-row__delete{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);cursor:pointer}.katalog-row__delete:hover{border-color:var(--red);color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--surface))}.katalog-add-form{display:flex;gap:8px;margin-top:4px}.katalog-add-input{flex:1;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit}
.katalog-row{position:relative;display:block;padding:4px 0}.katalog-row input[type=checkbox]{position:absolute;left:4px;top:14px;z-index:1}.katalog-row input[type=text]{padding-left:40px}.katalog-row__delete{position:absolute;right:0;top:4px}.katalog-row input[type=text]{padding-right:46px}

/* Photoshop-artiges Ebenenpanel: Gruppen (Ebenen) mit Klapp-Pfeil und
   Augen-Symbol, Kartenobjekte/Szenarien als Zeilen darunter, ebenfalls mit
   eigenem Augen-Symbol - siehe renderLayerPanel(). */
.psd-group{margin-left:calc(var(--psd-depth, 0) * 14px)}
.psd-row{display:flex;align-items:center;gap:5px;padding:4px 6px;border-radius:6px;cursor:default;user-select:none}
.psd-row--group{cursor:pointer;font-weight:700}
.psd-row--group:hover{background:var(--canvas)}
.psd-row--group.is-active{background:var(--blue-soft);outline:1px solid var(--blue)}
.psd-row--unassigned{color:var(--muted);font-weight:400;font-style:italic;cursor:default}
.psd-row--item{padding-left:22px;cursor:grab}
.psd-row--item:hover{background:var(--canvas)}
.psd-row--item:active{cursor:grabbing}
.psd-chevron{border:0;background:transparent;color:var(--muted);width:16px;height:16px;padding:0;font-size:11px;line-height:1;cursor:pointer;transition:transform .1s ease;flex:0 0 auto}
.psd-chevron.is-collapsed{transform:rotate(-90deg)}
.psd-eye{border:0;background:transparent;width:18px;height:18px;padding:0;font-size:13px;line-height:1;cursor:pointer;flex:0 0 auto;color:var(--ink)}
.psd-eye--off{opacity:.55}
.psd-eye--spacer{cursor:default}
.psd-icon{flex:0 0 auto;font-size:12px;line-height:1}
.psd-name{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:inherit;padding:2px 4px;border-radius:4px}
.psd-name:hover,.psd-name:focus{background:var(--blue-soft)}
.psd-name--static{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}
.psd-name--static small{color:var(--muted)}
.psd-delete{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;padding:2px 4px;border-radius:5px;flex:0 0 auto}
.psd-delete:hover{background:#fee2e2;color:var(--red)}
.psd-children{display:grid;gap:1px;min-height:6px;border-radius:6px;transition:background .1s ease}
.psd-dragover{background:var(--blue-soft);outline:2px dashed var(--blue)}
.psd-empty{margin:1px 0 1px 22px;padding:4px 6px;font-size:11px;color:var(--muted);font-style:italic}
.map-text-label{background:rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.2);border-radius:5px;padding:2px 6px;font-size:12px;font-weight:700;color:#172033;white-space:nowrap}
html[data-theme="dark"] .draw-toolbar{background:#1A1F2B;border-color:rgba(255,255,255,.15)}
html[data-theme="dark"] .draw-toolbar__btn{color:#F9FAFB}
html[data-theme="dark"] .draw-toolbar__btn:hover{background:#242A38}
html[data-theme="dark"] .map-text-label{background:rgba(26,31,43,.92);border-color:rgba(255,255,255,.2);color:#F9FAFB}

/* Verknüpfung Karte<->Protokoll (Kapitel 8) */
.protokoll-entry__map-link{color:var(--blue-text);text-decoration:none;font-weight:700}
.protokoll-entry__map-link:hover{text-decoration:underline}
.protokoll-entry--highlighted{outline:3px solid var(--blue);outline-offset:2px;animation:protokoll-highlight-pulse 1.5s ease-in-out 2}
@keyframes protokoll-highlight-pulse{0%,100%{background:var(--surface)}50%{background:var(--blue-soft)}}
.map-object-popup__protokoll-list{margin-top:6px;padding-top:8px;border-top:1px solid var(--line);display:grid;gap:4px;font-size:12px}
.map-object-popup__protokoll-list a{color:var(--blue-text);text-decoration:none}
.map-object-popup__protokoll-list a:hover{text-decoration:underline}

/* Einsatzübersicht-Kennzahlen (Kapitel 4) */
.einsatz-kennzahlen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}
.einsatz-kennzahlen-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:14px 10px;border-radius:var(--radius-sm);background:var(--canvas);text-align:center}
.einsatz-kennzahlen-tile strong{font-size:26px;font-weight:900;line-height:1.1}
.einsatz-kennzahlen-tile span{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.einsatz-kennzahlen-tile--warn strong{color:var(--orange)}
.einsatz-kennzahlen-tile--warn{background:#fef3c7}
.einsatz-kennzahlen-tile--alert strong{color:var(--red)}
.einsatz-kennzahlen-tile--alert{background:#fee2e2}
html[data-theme="dark"] .einsatz-kennzahlen-tile--warn{background:#3f2f0f}
html[data-theme="dark"] .einsatz-kennzahlen-tile--alert{background:#3f1616}
.einsatz-kennzahlen-alerts{display:grid;gap:6px;margin-top:14px}
.einsatz-kennzahlen-alert{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:9px;border-left:4px solid var(--red);background:color-mix(in srgb,var(--red) 8%,var(--surface));font-size:13px;text-decoration:none;color:inherit}
.einsatz-kennzahlen-alert:hover{background:color-mix(in srgb,var(--red) 14%,var(--surface))}
.einsatz-kennzahlen-alert--wichtig{border-left-color:var(--orange);background:color-mix(in srgb,var(--orange) 8%,var(--surface))}

/* Zeitachse (Kapitel 9, Grundlage) */
.zeitachse-controls{display:flex;align-items:center;gap:10px}
.zeitachse-controls input{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit}

/* Icon-Marker-Auswahl in der Zeichenwerkzeugleiste + gerenderte Icon-Marker */
.draw-toolbar__icon-select{grid-column:1 / -1;order:2;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:12px;padding:5px 7px;height:32px;max-width:none}
html[data-theme="dark"] .draw-toolbar__icon-select{color:#F9FAFB;border-left-color:rgba(255,255,255,.15)}
.map-icon-marker-wrap{background:transparent!important;border:none!important}
.map-icon-marker{color:#172033;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid rgba(15,23,42,.35);box-shadow:0 1px 4px rgba(15,23,42,.35);font-size:17px;line-height:1;overflow:hidden}.map-icon-marker:has(.icon--dv102){background:#d1d5db;color:#111827;border-color:#111827}.map-icon-marker .icon--dv102{display:block;width:14px;height:14px;max-width:60%;max-height:60%;object-fit:contain;filter:none;flex:0 0 auto}
.lora-test-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px}.lora-test-layout #lora-test-map{height:65vh;min-height:420px;border-radius:12px}.lora-test-row{display:grid;gap:4px;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.lora-test-row small{color:var(--muted)}.lora-test-row a{color:var(--blue-text);font-weight:700;text-decoration:none}@media(max-width:900px){.lora-test-layout{grid-template-columns:1fr}.lora-test-layout #lora-test-map{height:50vh}}

/* Lagekarte: Schnellzugriff (Ebenen-Checkboxen + Schnell-Logeingabe) anstelle der Fahrzeug-Chips */
.lagekarte-incident-bar__quick{grid-column:1/-1;display:grid;gap:8px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--blue) 15%,var(--line))}
.quick-layers{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px}
.quick-layers__label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.quick-layers__item{display:inline-flex;align-items:center;gap:5px;font-weight:700;cursor:pointer}
.quick-log{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.quick-log input[type=text]{flex:1 1 260px;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px}
.quick-log select{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px}
/* Einsatzmittel-Seitenleiste: schlank, Filter-Buttons 2x2 */
@media (min-width:821px){
  .tracking-layout:not(.tracking-layout--tracker-collapsed){grid-template-columns:minmax(0,1fr) minmax(250px,280px)!important}
  .tracker-filter-tab b{white-space:nowrap}
  /* Einsatzmittel-Fenster exakt so hoch wie die Karte daneben */
  .tracking-sidebar{position:relative;min-height:0}
  .tracking-list-panel{position:absolute!important;inset:0;max-height:none!important;height:auto!important}
  /* eingeklappt: schmales Fenster, Icon-Tabs untereinander und größer */
  .tracking-layout.tracking-layout--tracker-collapsed{grid-template-columns:minmax(0,1fr) 230px!important}
  .tracking-layout--tracker-collapsed .tracker-filter-bar input,
  .tracking-layout--tracker-collapsed .tracking-panel__title .tracking-panel__counts{display:none}
  .tracking-layout--tracker-collapsed .tracker-filter-tabs{grid-template-columns:1fr 1fr}
  .tracking-layout--tracker-collapsed .tracker-filter-tab{min-height:44px;padding:6px 2px}
  .tracking-layout--tracker-collapsed .tracker-filter-tab span{font-size:22px;line-height:1}
  .tracking-layout--tracker-collapsed .tracking-panel__title h2{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tracking-layout--tracker-collapsed .tracker-category>summary{gap:6px;padding-left:8px;padding-right:8px}
  .tracking-layout--tracker-collapsed .einsatz-details__summary-title{min-width:0;gap:6px}
  .tracking-layout--tracker-collapsed .einsatz-details__summary-title strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tracking-layout--tracker-collapsed .tracker-category__visibility-all span{display:none}
}

/* Lucide-Icons */
.icon{width:1.15em;height:1.15em;flex:0 0 auto;vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.icon--fill{fill:currentColor;stroke:none}
button .icon,.nav-item .icon{vertical-align:middle}
.lora-test-marker-wrap{background:transparent!important;border:none!important}
.lora-test-marker{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--muted);border:2px solid currentColor;box-shadow:0 1px 5px rgba(15,23,42,.4);font-size:19px}
.lora-test-marker--online{color:#15803d}.lora-test-marker--stale{color:#c2660a}.lora-test-marker--offline{color:#94a3b8}
.lora-test-marker.is-selected{box-shadow:0 0 0 4px rgba(37,99,235,.35),0 1px 5px rgba(15,23,42,.4);transform:scale(1.12)}
.lora-test-row{cursor:pointer;padding-left:8px;border-left:3px solid transparent}.lora-test-row:hover{background:var(--canvas)}.lora-test-row.is-selected{border-left-color:var(--blue);background:var(--blue-soft)}
.lora-test-row__icon{display:inline-flex;vertical-align:middle}
.lora-test-row__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.tracker-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}
.tracker-check-cell{width:34px;text-align:center}
.tracker-action-cell{white-space:nowrap}
/* LoRa-Test: Messkampagne + Auswertung */
.lora-campaign__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-top:10px}
.lora-campaign label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:700;color:var(--muted)}
.lora-campaign input,.lora-campaign select,.lora-eval select{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px}
.lora-campaign__grow{flex:1 1 260px}.lora-campaign__grow input{width:100%}
.lora-campaign .button.is-active{background:var(--blue);color:#fff}
.lora-eval{margin-top:18px}
.lora-eval__check{flex-direction:row!important;align-items:center;gap:6px!important;font-weight:600!important}
.lora-eval__legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted);margin:8px 0}
.lora-eval__legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:4px}
.lora-eval__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:10px 0}
.lora-stat{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:var(--canvas)}
.lora-stat span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.lora-stat strong{font-size:15px}
.lora-eval__charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.lora-eval h3{font-size:13px;margin:0 0 6px;display:flex;align-items:center;gap:8px}
.lora-chart__svg{width:100%;height:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.lora-chart__svg text{font-size:10px;fill:var(--muted)}.lora-chart__svg .lc-label{font-size:11px;font-weight:700}
.lc-grid{stroke:var(--line);stroke-width:1}.lc-loss{stroke:#dc2626;stroke-width:1;stroke-dasharray:4 3;opacity:.7}
.lora-loss-marker{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#dc2626;color:#fff;font-size:14px;box-shadow:0 1px 4px rgba(15,23,42,.4)}
.lora-test-marker--receiver{color:#2563eb}
.lora-note-form{display:flex;gap:6px;margin-top:6px}.lora-note-form input{flex:1;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:12px}
.lora-eval__notes{margin:12px 0}.lora-note{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);font-size:12px}.lora-note time{color:var(--muted);white-space:nowrap}.lora-note span{flex:1;overflow-wrap:anywhere}
.lora-note-marker{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#2563eb;color:#fff;font-size:14px;box-shadow:0 1px 4px rgba(15,23,42,.4)}
.signal-badge{display:inline-flex;align-items:center;gap:5px;font-weight:800;color:var(--signal-color)}
.signal-badge .icon{width:.8em;height:.8em}.signal-badge small{font-weight:400;color:var(--muted)}
.lora-stat--hint{grid-column:1/-1;background:#fef3c7}.lora-stat--hint strong{font-size:13px}
.lc-gap{fill:rgba(220,38,38,.14);stroke:#dc2626;stroke-width:1;stroke-dasharray:4 3}
/* Empfänger-Adressen */
.gw-addresses{margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--canvas)}
.gw-addresses__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:8px}
.gw-addresses__list{display:grid;gap:6px;margin-bottom:8px}
.gw-address-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.gw-address-row input,.gw-address-row select{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:12px;min-width:0}
.gw-address-row input[data-f=label]{flex:1 1 130px}.gw-address-row input[data-f=address]{flex:1 1 150px}.gw-address-row input[data-f=note]{flex:2 1 160px}.gw-address-row__port{width:70px}
/* Empfänger-Tabelle */
.gw-table td{vertical-align:top}
.gw-table__pref{text-align:center;white-space:nowrap}.gw-table__pref small{display:block;color:var(--muted);font-size:10px}
.gw-table__name{min-width:200px}.gw-table__name input{display:block;width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-weight:700;margin-bottom:4px}.gw-table__name input+input{font-weight:400;font-size:12px}
.gw-table__status{min-width:230px}.gw-table__status small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.gw-table .gw-addresses{min-width:420px;border:0;background:transparent;padding:8px}
.gw-table__hint{color:#92400e!important}

.psd-select{width:14px;height:14px;margin:0;flex:0 0 auto;cursor:pointer}
#ebenen-bulk-delete:not([hidden]){color:var(--red)}
.ebenen-selection-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.ebenen-selection-actions[hidden]{display:none}
.ebenen-selection-actions select{grid-column:1/-1;width:100%;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:12px}
.ebenen-selection-actions .button{min-width:0;justify-content:center}
@media (max-width:480px){.ebenen-selection-actions{grid-template-columns:1fr}.ebenen-selection-actions select{grid-column:auto}}

.gateway-status{display:inline-flex;align-items:center;gap:8px;box-sizing:border-box;width:180px;min-width:180px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.gateway-status span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.gateway-status i{width:9px;height:9px;border-radius:50%;background:#94a3b8}
.gateway-status--ok i{background:#16a34a}.gateway-status--warn i{background:#f59e0b}.gateway-status--bad i{background:#dc2626}
.gateway-status--bad{border-color:#fca5a5;background:#fef2f2;color:#7f1d1d}.gateway-status--warn{border-color:#fcd34d;background:#fffbeb;color:#78350f}
html[data-theme="dark"] .gateway-status--bad{border-color:#7f1d1d;background:#3f1616;color:#fecaca}html[data-theme="dark"] .gateway-status--warn{border-color:#ca8a04;background:#3d3514;color:#fef3c7}
.trupp-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0}.trupp-controls select{min-width:0;flex:1 1 120px}
.beschreibung-form{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.beschreibung-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;font-size:14px;background:var(--surface);color:var(--ink);resize:vertical}
.beschreibung-form .button{align-self:flex-end}
.beschreibung-entry{position:relative;padding:8px 30px 8px 12px;margin-bottom:6px;border-left:3px solid var(--blue);border-radius:6px;background:var(--surface);opacity:var(--fade,1)}
.beschreibung-entry:hover{opacity:1}
.beschreibung-entry time{display:block;color:var(--muted);font-size:11px;font-weight:750}
.beschreibung-entry p{margin:2px 0 0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.trupp-tracker-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font:inherit;font-size:12px;font-weight:700;cursor:pointer;color:var(--ink)}
.trupp-tracker-chip--online{border-color:#86efac}.trupp-tracker-chip--stale{border-color:#fcd34d}.trupp-tracker-chip--offline{opacity:.7}
.trupp-tracker-chip.is-followed,.szenario-person__tracker.is-followed{background:var(--blue);border-color:var(--blue);color:#fff}
.szenario-person__tracker{border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);cursor:pointer;padding:2px 5px;line-height:1}
.beschreibung-entry__typ{margin-left:8px;padding:0 6px;border-radius:999px;background:var(--canvas);font-size:10px}
.beschreibung-entry--gefahr{border-left-color:#dc2626}.beschreibung-entry--fund{border-left-color:#d97706}.beschreibung-entry--status{border-left-color:#64748b}
.detail-rail__toggle{display:grid;place-items:center;width:40px;height:24px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}
.detail-rail__toggle:hover{background:var(--canvas);color:var(--ink)}
.detail-rail--collapsed{padding:6px 4px;gap:0}
.detail-rail--collapsed .detail-rail__btn{display:none}
.detail-rail--collapsed .detail-rail__toggle{width:26px;height:34px}
.tracking-basemap-toggle{position:absolute;z-index:800;left:10px;top:50px;display:flex;border:1px solid rgba(15,23,42,.25);border-radius:8px;overflow:hidden;box-shadow:0 1px 5px rgba(15,23,42,.25);background:#fff}
.map-config-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin-bottom:12px}
.map-config-item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}
.map-config-item input{width:1.1rem;height:1.1rem;margin-top:2px}
.map-config-item small{display:block;color:var(--muted);font-size:12px}
.tracking-basemap-toggle{flex-direction:column;overflow:visible}
.tracking-basemap-toggle__btn{border:0;background:#fff;padding:7px 11px;font-size:12px;font-weight:750;cursor:pointer;color:#172033;border-radius:8px;display:flex;gap:6px;align-items:center}
.tracking-basemap-panel{padding:8px 10px;min-width:190px;background:#fff;border-radius:0 0 8px 8px;border-top:1px solid rgba(15,23,42,.15);font-size:12px}
.tracking-basemap-panel h4{margin:6px 0 4px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.tracking-basemap-panel label{display:flex;gap:7px;align-items:center;padding:3px 0;cursor:pointer;font-weight:650;color:#172033}
@media(min-width:861px){.detail-rail{top:calc(118px - 5mm)}}
.ebenen-list{font-size:15px}
.ebenen-list .psd-row--group:not(.psd-row--unassigned) .psd-name--static{font-weight:700}
.ebenen-list .psd-icon{font-size:15px}
.ebenen-list .psd-eye{width:22px;height:22px}
.ebenen-list .psd-eye .icon{width:1.15em;height:1.15em}
.ebenen-list .psd-name--static small{font-size:12px}
.ebenen-list .psd-empty{font-size:12px}
.einsatz-create-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.einsatz-create{color:#fff;border:0;padding:12px 18px;font-weight:800;display:inline-flex;gap:8px;align-items:center}
.einsatz-create--aktiv{background:var(--red)}
.einsatz-create--geplant{background:#2563eb}
.einsatz-create-form{align-items:flex-end;flex-wrap:wrap;gap:10px}
.einsatz-create-form label{display:grid;gap:3px;font-size:11px;font-weight:750;color:var(--muted)}
.card--planned{border-left:4px solid #2563eb}
.nav-active-incident--planned{border-color:color-mix(in srgb,#2563eb 35%,var(--line));border-left-color:#2563eb}
.nav-active-incident--planned:hover,.nav-active-incident--planned.is-current{border-color:#2563eb;background:color-mix(in srgb,#2563eb 13%,var(--surface))}
.nav-active-incident--planned .nav-active-incident__icon{background:#2563eb}
.nav-active-incident--planned .nav-active-incident__arrow{color:#2563eb}
.badge--planned{background:#dbeafe;color:#1d4ed8}
.einsatz-planned .einsatz-tabs a.is-active{background:#2563eb;box-shadow:0 3px 8px rgba(37,99,235,.25)}
.einsatz-planned .topbar .eyebrow{color:#1d4ed8}
.psd-row--scenario{border-left:4px solid transparent;border-radius:6px}
.psd-row--scenario:hover{filter:brightness(.97)}

/* Kopfleiste: "live"-Badge nur bei Verbindungsproblemen zeigen (CHG-20260929-262) */
#conn-status{display:none}

/* Nachtkarte: OSM-Kacheln invertiert (CARTO dark_all verlangt seit 2026 einen API-Key), CHG-20260929-267 */
.map-tiles-night{filter:invert(1) hue-rotate(180deg) brightness(.85) contrast(.9)}

.akku-badge{font-weight:600;white-space:nowrap}
.akku-badge.is-low{color:#b91c1c}
.akku-badge.is-stale{color:var(--muted);font-weight:400}
.akku-input{display:none !important}
.client-vehicle-battery{color:var(--muted);font-size:.75rem}
.client-vehicle-battery.is-low{color:#b91c1c;font-weight:700}
.lora-dep [hidden]{display:none!important}

/* Fahrzeugverwaltung (Ortsgruppe): kompakte Spalten, damit die Tabelle ohne horizontales Scrollen passt */
.vehicle-admin-table{min-width:0}
.vehicle-admin-table th,.vehicle-admin-table td{padding:8px 5px}
.vehicle-admin-table th{white-space:normal;line-height:1.15;font-size:11px;letter-spacing:.02em}
.vehicle-admin-table .admin-cell-input{min-width:60px;padding:7px 7px}
.vehicle-admin-table .tracker-id-input{min-width:100px}
.vehicle-admin-table .akku-cell{white-space:normal;text-align:left;min-width:110px}
.vehicle-admin-table .akku-badge{display:block;font-size:12px;line-height:1.25;white-space:normal}
.vehicle-admin-table .akku-input{display:block;width:4rem;min-width:0;margin-top:4px}
.vehicle-admin-table td:last-child{white-space:nowrap}
.vehicle-admin-table td:last-child .button{padding-inline:8px}
.tracking-basemap-toggle__btn.is-open{background:var(--blue);color:#fff}
.og-besetzung-actions{display:flex;align-items:center;gap:10px}
.og-besetzung-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:14px;margin-top:10px;align-items:start}
@media (max-width:900px){.og-besetzung-grid{grid-template-columns:1fr}}
.og-besetzung-box{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}
.og-besetzung-box__head{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--blue-soft);font-size:13px}
.og-besetzung-count{font-weight:600;color:var(--muted)}
.og-besetzung-link{border:0;background:none;color:var(--blue-text);cursor:pointer;font-size:12px;padding:0}
.og-besetzung-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:2px 8px;padding:8px 12px}
.og-besetzung-list label{display:flex;align-items:center;gap:7px;font-size:13px;cursor:pointer;min-height:26px}
.og-besetzung-list small{color:var(--muted)}
.card--alarm{border-color:#dc2626;background:color-mix(in srgb,#dc2626 7%,var(--surface))}
.nav-active-incident--pending{border-color:#dc2626;animation:nav-alarm-pulse 1.6s ease-in-out infinite}
@keyframes nav-alarm-pulse{50%{box-shadow:0 0 0 3px color-mix(in srgb,#dc2626 35%,transparent)}}
html[data-theme="dark"] .toast{background:#242a38;color:#f9fafb;border:1px solid var(--line)}
html[data-theme="dark"] .toast__close{color:#f9fafb}
.szenario-bereich{background:var(--bereich-bg,var(--surface));color:var(--ink)}
.psd-row--scenario{background:var(--bereich-bg,transparent)}
html[data-theme="dark"] .szenario-bereich,html[data-theme="dark"] .psd-row--scenario{background:color-mix(in srgb,var(--bereich-bg,var(--surface)) 13%,var(--surface))}
html[data-theme="dark"] .szenario-bereich__count,html[data-theme="dark"] .szenario-bereich .hint{color:var(--muted)}
/* ELW-Ansicht auf eine lokale OG-Planung: nur ansehen */
.rf-readonly .detail-rail,.rf-readonly .detail-panel,.rf-readonly .einsatz-title-edit,.rf-readonly #draw-toolbar-toggle,.rf-readonly #draw-toolbar,.rf-readonly .quick-log{display:none!important}
html[data-theme="dark"]{--blue-text:color-mix(in srgb,var(--blue) 50%,#fff)}
html[data-theme="dark"] .einsatz-planned .topbar .eyebrow{color:#93c5fd}
.summary-subhead{margin:20px 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.quali-tile--none{opacity:.45}

/* Ortsgruppen-Uebersicht: Fahrzeug-Tracker (Akku + Sprung zum Standort) */
.client-tracker-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.client-tracker-row{display:grid;grid-template-columns:minmax(120px,1fr) 90px 112px 126px;grid-template-areas:"name state battery jump";align-items:center;gap:10px 14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.client-tracker-row__name{grid-area:name;min-width:0;font-weight:700}
.client-tracker-row__state{grid-area:state;justify-self:end;min-width:76px;text-align:center}
.client-tracker-row__state{justify-self:start;text-align:left}
.client-tracker-row__battery{grid-area:battery;justify-self:start;white-space:nowrap}
.client-tracker-row__jump{grid-area:jump;justify-self:start;white-space:nowrap}
.client-tracker-row__jump.is-disabled{opacity:.5;pointer-events:none}
@media(max-width:699px){
  .client-tracker-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name state" "battery jump";gap:12px 10px;padding:14px 16px}
  .client-tracker-row__name{font-size:15px}
  .client-tracker-row__state{min-width:86px}
  .client-tracker-row__battery{justify-self:start}
  .client-tracker-row__jump{max-width:100%;margin:0}
}

/* Einsatzfahrzeuge: Karte je Fahrzeug (Akku, Status, Sprung zum Standort) */
.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;margin-top:14px}
.vehicle-card{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.vehicle-card.is-inactive{opacity:.6}
.vehicle-card__head{display:flex;align-items:center;gap:10px}
.vehicle-card__name{flex:1;min-width:0;font-size:1.15rem}
.vehicle-card__buttons{display:flex;gap:6px;align-items:center;flex:none}
.vehicle-card__fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vehicle-card__fields label,.vehicle-card__tracker{display:grid;gap:4px}
.vehicle-card__fields span,.vehicle-card__tracker span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.vehicle-card__tags{display:flex;flex-wrap:wrap;gap:8px}
.vehicle-card__qr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.vehicle-card__qr>div:first-child{display:grid;gap:2px;min-width:0}.vehicle-card__qr span{font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.vehicle-card__qr small{color:var(--muted);font-size:11px}.vehicle-card__qr-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.vehicle-card__qr-actions .icon{width:16px;height:16px}
.vehicle-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:13px;cursor:pointer}
.vehicle-chip:has(input:checked){background:var(--blue-soft,rgba(37,99,235,.12));border-color:var(--blue,#2563eb);font-weight:700}
.vehicle-card__lora{display:grid;gap:12px;padding-top:14px;border-top:1px solid var(--line)}
.vehicle-card__lora [hidden]{display:none !important}
.vehicle-card__live{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;align-items:center}
.vehicle-card__live .akku-badge{font-size:1.05rem;white-space:normal}
.vehicle-card__live .akku-bar{grid-column:1 / -1}
.akku-bar{display:block;height:10px;border-radius:999px;background:var(--line);overflow:hidden}
.akku-bar i{display:block;height:100%;background:var(--green,#16a34a);border-radius:inherit;transition:width .4s}
.akku-bar.is-low i{background:#b91c1c}
.vehicle-card__jump{justify-content:center;font-weight:700}
.vehicle-card__jump.is-disabled{opacity:.45;pointer-events:none}
.vehicle-card__lora[hidden]{display:none !important}
.vehicle-group{margin-top:22px}.vehicle-group:first-child{margin-top:8px}
.vehicle-group[hidden]{display:none}
.vehicle-group__title{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.vehicle-group__title span{padding:1px 9px;border-radius:999px;background:var(--line);font-size:12px;color:var(--ink)}
/* kompaktere Fahrzeugkarten */
.vehicle-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;margin-top:8px}
.vehicle-card{gap:9px;padding:12px 14px;border-radius:12px}
.vehicle-card .admin-cell-input{min-height:32px;padding:5px 9px;font-size:.9rem}
.vehicle-card__name.admin-cell-input{font-size:1rem;min-height:34px}
.vehicle-card__fields{gap:8px}
.vehicle-card__fields span,.vehicle-card__tracker span{font-size:10px}
.vehicle-card__tags{gap:6px}
.vehicle-chip{padding:3px 10px;font-size:12px;gap:5px}
.vehicle-card__lora{gap:8px;padding-top:9px}
.vehicle-card__live{gap:5px 10px}
.vehicle-card__live .akku-badge{font-size:.92rem}
.akku-bar{height:7px}
.vehicle-card__jump{padding:6px 12px;font-size:.88rem;min-height:0}
.vehicle-group{margin-top:14px}
.vehicle-group__title{font-size:12px}
.vehicle-card__category{width:auto;min-width:130px}
.vehicle-card__buttons .button{white-space:nowrap}
/* Lagekarte, Einsatzmittel-Liste: Kategorien behalten ihre Inhaltshöhe, die Liste scrollt
   (vorher wurden Wasser-/Land-/Einsatzkräfte-Kategorie auf ~99 px gekürzt und der Inhalt abgeschnitten). */
.tracking-list-panel .tracker-groups{grid-auto-rows:max-content;align-content:start}
@media (min-width:821px){.tracking-list-panel{max-height:min(82vh,820px)}}
.vehicle-card__actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;border-top:1px solid var(--line);padding-top:9px;margin-top:auto}
@media(max-width:620px){.vehicle-card__qr{align-items:stretch;flex-direction:column}.vehicle-card__qr-actions{justify-content:stretch}.vehicle-card__qr-actions .button{flex:1}}

/* Fahrzeuggebundener QR-Zugang: bewusst eigenständig, damit der Ausdruck
   und die Scanansicht ohne das umfangreiche Clientmenü funktionieren. */
.vehicle-qr-page{height:100%;min-height:100vh;overflow-y:auto!important;background:var(--canvas);color:var(--ink)}
.vehicle-qr-shell{width:min(760px,calc(100% - 28px));margin:0 auto;padding:22px 0 48px}.vehicle-qr-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.vehicle-qr-brand img{width:auto;height:48px;max-width:220px;object-fit:contain}.vehicle-qr-brand__fallback{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--brand);color:#fff;font-weight:900}.vehicle-qr-brand div{display:grid;gap:2px}.vehicle-qr-brand small{color:var(--muted)}
.vehicle-qr-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 12px 30px color-mix(in srgb,#000 12%,transparent)}.vehicle-qr-card+.vehicle-qr-card{margin-top:12px}.vehicle-qr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.vehicle-qr-head h1{margin:2px 0 3px;font-size:clamp(1.45rem,5vw,2rem)}.vehicle-qr-status{display:grid;gap:2px;min-width:94px;padding:9px 12px;border-radius:12px;background:var(--canvas);text-align:center}.vehicle-qr-status strong{font-size:1.1rem}.vehicle-qr-status small{color:var(--muted);font-size:10px}.vehicle-qr-status--3{background:#fef3c7;color:#713f12}.vehicle-qr-status--4{background:#dcfce7;color:#14532d}html[data-theme="dark"] .vehicle-qr-status--3{background:#3d3514;color:#fef3c7}html[data-theme="dark"] .vehicle-qr-status--4{background:#12351f;color:#dcfce7}
.vehicle-qr-incident{display:grid;gap:5px;margin-bottom:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.vehicle-qr-incident span{color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.vehicle-qr-incident select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--canvas);color:var(--ink);font:inherit;font-weight:750}
.vehicle-qr-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.vehicle-qr-summary>div{padding:11px;border-radius:11px;background:var(--canvas)}.vehicle-qr-label{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.vehicle-qr-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vehicle-qr-action{min-height:46px;border:1px solid var(--line);border-radius:11px;background:var(--canvas);color:var(--blue-text);font:inherit;font-weight:850;cursor:pointer}.vehicle-qr-action--3.is-active{border-color:#ca8a04;background:#fef3c7;color:#713f12}.vehicle-qr-action--4.is-active{border-color:#16a34a;background:#dcfce7;color:#14532d}.vehicle-qr-action:disabled{cursor:not-allowed;opacity:.48}.vehicle-qr-message{margin:12px 0 0;color:var(--muted);font-size:13px}.vehicle-qr-message.is-error{color:#dc2626}
.vehicle-qr-editor{margin-top:14px}.vehicle-qr-editor h2{margin:0 0 4px;font-size:1.05rem}.vehicle-qr-editor-section{margin-top:14px}.vehicle-qr-editor-section h3{margin:0 0 8px;font-size:.85rem}.vehicle-qr-option-list{display:grid;gap:7px}.vehicle-qr-option{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--canvas)}.vehicle-qr-option input{margin-top:3px}.vehicle-qr-option span{display:grid;gap:2px}.vehicle-qr-option small{color:var(--muted)}.vehicle-qr-option.is-disabled{opacity:.5}.vehicle-qr-save{width:100%;margin-top:16px}.vehicle-qr-empty{text-align:center;padding:26px 18px}.vehicle-qr-empty h1{margin:0 0 8px}.vehicle-qr-empty p{margin:0;color:var(--muted)}
.vehicle-qr-print{display:grid;justify-items:center;text-align:center}.vehicle-qr-print img{width:min(390px,85vw);height:auto;padding:12px;border-radius:14px;background:#fff}.vehicle-qr-print h1{margin:8px 0 3px}.vehicle-qr-print-url{max-width:100%;overflow-wrap:anywhere;color:var(--muted);font-size:11px}.vehicle-qr-print-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
@media(max-width:560px){.vehicle-qr-head{align-items:stretch;flex-direction:column}.vehicle-qr-status{text-align:left}.vehicle-qr-summary,.vehicle-qr-actions{grid-template-columns:1fr}}
@media print{.vehicle-qr-page{background:#fff;color:#000}.vehicle-qr-shell{width:100%;padding:0}.vehicle-qr-card{border:0;box-shadow:none}.vehicle-qr-print-actions,.vehicle-qr-brand{display:none}.vehicle-qr-print-url{color:#333}}
/* Einzelauswahl (Boote/Fahrzeuge/Einsatzkräfte): kein Einklapp-Pfeil, Kopfzeile nicht klickbar (Schalter "Alle sichtbar" bleibt bedienbar) */
.tracker-groups.is-single .einsatz-details__chevron{display:none}
.tracker-groups.is-single details.tracker-category>summary{pointer-events:none;cursor:default}
.tracker-groups.is-single details.tracker-category>summary label{pointer-events:auto}
.client-vehicle-status-summary{display:grid;gap:6px;margin:10px 0 2px}.client-vehicle-status-summary__unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;border-radius:9px;background:var(--canvas)}.client-vehicle-status-summary__unit>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.client-vehicle-status-summary__unit>div{display:flex;gap:5px}.client-vehicle-status-summary__button{min-width:38px;padding:5px 7px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--muted);font:inherit;font-size:11px;font-weight:900;cursor:pointer}.client-vehicle-status-summary__button:disabled{opacity:.42;cursor:not-allowed}.client-vehicle-status-summary__button--3.is-active{border-color:#ca8a04;background:#fef3c7;color:#713f12}.client-vehicle-status-summary__button--4.is-active{border-color:#16a34a;background:#dcfce7;color:#14532d}html[data-theme="dark"] .client-vehicle-status-summary__button--3.is-active{background:#3d3514;color:#fef3c7}html[data-theme="dark"] .client-vehicle-status-summary__button--4.is-active{background:#12351f;color:#dcfce7}
.media-grid figure.is-selected{outline:3px solid var(--primary);outline-offset:5px;border-radius:12px;background:color-mix(in srgb,var(--primary) 12%,transparent);box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 24%,transparent)}
.tracker-category--water.einsatz-details>summary{padding:10px 12px}

/* Entwurf "Einsatz"-Ansicht (?layout=einsatz): Einsatz-Fenster in Kartenhöhe, Vorrat als seitliches Fach */
.draft-badge{margin-right:8px;padding:2px 8px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.draft-back{font-size:12px;color:var(--muted);text-decoration:underline}
.draft-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;border-bottom:1px solid var(--line);background:rgba(250,204,21,.07)}
.draft-strip .draft-badge{margin:0}
.layout-einsatz .tracking-list-panel .tracker-filter-bar{display:none}
.layout-einsatz .tracking-list-panel .tracker-groups{display:flex;flex-direction:column;gap:8px}
.layout-einsatz #tracker-category-water{flex:1 1 auto;display:flex;flex-direction:column;min-height:140px}
.layout-einsatz #tracker-category-water>summary{display:none}
.layout-einsatz #tracker-category-water .tracker-category__groups{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
.layout-einsatz #tracker-category-water .tracker-group--active{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
.layout-einsatz #tracker-category-water .tracker-group--active .tracker-drop-hint{margin-top:auto}
.layout-einsatz #tracker-category-einsatzkraefte{flex:0 0 auto}
.tracking-dock-panel[hidden]{display:none}
.dock-hint{color:var(--muted);font-size:11px}
@media (min-width:821px){
  /* Vorrat als Fach links neben dem Einsatz-Fenster, legt sich über die Karte (verschiebt sie nicht);
     das Einsatz-Fenster bleibt immer sichtbar. */
  .layout-einsatz .tracking-list-panel{z-index:1300}
  .tracking-dock-panel{position:absolute;top:0;bottom:0;right:100%;width:334px;z-index:1200;display:flex;flex-direction:row;transform:translateX(298px);transition:transform .2s ease}
  .tracking-dock-panel.is-open{transform:translateX(0)}
  .dock-handle{flex:0 0 36px;align-self:flex-start;margin-top:72px;padding:14px 0;display:flex;flex-direction:column;align-items:center;gap:10px;border:0;border-radius:12px 0 0 12px;background:var(--blue,#0e6fa8);color:#fff;font:inherit;cursor:pointer;box-shadow:-2px 2px 10px rgba(15,23,42,.35)}
  .dock-handle .icon{width:18px;height:18px;transition:transform .2s ease}
  .dock-handle span{writing-mode:vertical-rl;font-size:13px;font-weight:800;letter-spacing:.08em}
  .dock-handle:hover{filter:brightness(1.1)}
  .tracking-dock-panel.is-open .dock-handle .icon{transform:rotate(180deg)}
  .dock-drawer{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;border:1px solid var(--line);border-radius:16px 0 0 16px;background:var(--surface);box-shadow:var(--shadow);visibility:hidden}
  .tracking-dock-panel.is-open .dock-drawer{visibility:visible}
  .dock-drawer__head{display:flex;align-items:baseline;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
  .dock-body{flex:1 1 auto;min-height:0;overflow:auto}
  .dock-body .tracker-filter-bar{display:block;padding:10px 10px 0}
  .dock-body .tracker-groups{grid-auto-rows:max-content;padding:6px 10px 10px}
}
@media (max-width:820px){
  .tracking-dock-panel{position:static;display:block;margin-top:12px}
  .dock-handle{display:none}
  .dock-drawer{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}
  .dock-drawer__head{padding:12px 16px;border-bottom:1px solid var(--line)}
  .dock-body .tracker-filter-bar{display:block;padding:10px}
}
.layout-toggle{margin-top:6px;padding:3px 10px;border:1px dashed var(--line);border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:11px;cursor:pointer}
.layout-toggle:hover{color:var(--ink);border-color:var(--muted)}
.layout-einsatz .layout-toggle,.tracking-layout--tracker-collapsed .layout-toggle{display:none}
.layout-einsatz .tracking-list-panel .tracker-groups{flex:1 1 auto;min-height:0;overflow-y:auto}
.layout-einsatz #tracker-category-water{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}.layout-einsatz #tracker-category-water .tracker-category__groups{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}.layout-einsatz #tracker-category-water .tracker-group--active{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}.layout-einsatz #tracker-list-active-water{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}.layout-einsatz #tracker-list-active-water .map-order-archive{margin-top:auto!important}
.layout-einsatz #tracker-category-water .tracker-group--completed{display:block;flex:0 0 auto;margin-top:auto}.layout-einsatz #tracker-list-completed-water{display:block;max-height:30vh;overflow:auto}
/* Knopf "In den Einsatz" in Vorrat-Zeilen (große Touch-Fläche) */
.tracker-row__send{grid-column:1/-1;margin:2px 10px 10px;min-height:44px;padding:8px 14px;border:0;border-radius:10px;background:var(--blue,#0e6fa8);color:#fff;font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.tracker-row__send:disabled{opacity:.6;cursor:wait}
.tracker-row__send:active{filter:brightness(.92)}

/* Entwurf: alle Karten-Bedienelemente in einer Reihe an der oberen Kartenkante:
   Live/Mock · Kartenoptionen · Zoom · Zentrieren · Drehen · Sperren · Zeichnen.
   Das aufklappbare Fach beginnt erst unterhalb dieser Reihe, damit sie immer erreichbar bleibt. */
@media (min-width:821px){
  /* gleiche Höhe (34 px), Rundung und Abstände für alle Elemente der Reihe */
  .layout-einsatz .tracking-mode-toggle{height:34px;border-radius:8px}
  .layout-einsatz .tracking-mode-toggle__btn{height:100%;padding-top:0;padding-bottom:0}
  .layout-einsatz .tracking-mode-toggle{left:auto;right:10px}
  .layout-einsatz .tracking-basemap-toggle{left:10px;top:10px;border:0;border-radius:8px;overflow:visible;box-shadow:none;background:none}
  .layout-einsatz .tracking-basemap-toggle__btn{box-sizing:border-box;height:34px;min-height:34px;padding-top:0;padding-bottom:0;border:1px solid rgba(15,23,42,.25);border-radius:8px;background:#fff;box-shadow:0 1px 5px rgba(15,23,42,.25)}
  .layout-einsatz .tracking-map-card .leaflet-top.leaflet-right{right:auto;left:264px}
  .layout-einsatz .tracking-map-card .leaflet-top.leaflet-right .leaflet-control{margin:10px 0 0 0}
  .layout-einsatz .leaflet-control-zoom{display:flex;box-sizing:border-box;width:68px;height:34px;border:1px solid rgba(15,23,42,.25)!important;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 1px 5px rgba(15,23,42,.25)}
  .layout-einsatz .leaflet-control-zoom a{width:33px;height:32px;line-height:32px;border:0;border-radius:0;border-right:1px solid rgba(15,23,42,.2)}
  .layout-einsatz .leaflet-control-zoom a:last-child{border-right:0}
  .layout-einsatz .tracking-orientation-button,.layout-einsatz .tracking-lock-button,.layout-einsatz .tracking-draw-toggle-button,.layout-einsatz .tracking-center-button{top:10px;right:auto;width:34px;height:34px;border-radius:8px}
  .layout-einsatz .tracking-orientation-button{left:340px}
  .layout-einsatz .tracking-lock-button{left:380px}
  .layout-einsatz .tracking-draw-toggle-button{left:420px}
  .layout-einsatz .tracking-center-button{left:460px}
  .layout-einsatz .draw-toolbar{right:auto;left:264px;top:54px}
  .layout-einsatz .tracking-dock-panel{top:56px}
  .layout-einsatz .dock-handle{margin-top:16px}

  /* Die Einsatzleitungs-Lagekarte verwendet unabhängig vom gewählten Layout
     dieselbe kompakte Werkzeugreihenfolge wie die Planung. Live/Mock bleibt
     als vorübergehende Kartenquelle bewusst separat ganz rechts. */
  .tracking-master-map .tracking-mode-toggle{left:auto;right:10px;height:34px;border-radius:8px}
  .tracking-master-map .tracking-mode-toggle__btn{height:100%;padding-top:0;padding-bottom:0}
  .tracking-master-map .tracking-basemap-toggle{left:10px;top:10px}
  .tracking-master-map .tracking-map-card .leaflet-top.leaflet-right{right:auto;left:264px}
  .tracking-master-map .tracking-map-card .leaflet-top.leaflet-right .leaflet-control{margin:10px 0 0}
  .tracking-master-map .tracking-orientation-button{left:340px;right:auto;top:10px}
  .tracking-master-map .tracking-lock-button{left:380px;right:auto;top:10px}
  .tracking-master-map .tracking-draw-toggle-button{left:420px;right:auto;top:10px}
  .tracking-master-map .tracking-center-button{left:460px;right:auto;top:10px}
  .tracking-master-map .draw-toolbar{right:auto;left:264px;top:54px}
}

/* Client-Liste: Ortsgruppen-Fahrzeuge im selben Kartenformat wie Bezirks-Fahrzeuge (schreibgeschützt) */
.client-mirror-grid--vehicles-only .vehicle-group:first-child{margin-top:0}
.vehicle-card--readonly .vehicle-card__name{font-weight:800;font-size:1rem}
.vehicle-card__field{display:grid;gap:2px;min-width:0}
.vehicle-card__field span{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.vehicle-card__field b{font-size:.9rem;font-weight:650;overflow-wrap:anywhere}
.vehicle-chip.is-on{background:var(--blue-soft,rgba(37,99,235,.12));border-color:var(--blue,#2563eb);font-weight:700;cursor:default}

/* Gateway & Tracker: Empfängertabelle ruhiger und ausgerichtet */
.gw-table th,.gw-table td{text-align:left;vertical-align:middle;padding:14px 12px}
.gw-table th.gw-table__pref,.gw-table td.gw-table__pref{text-align:center;width:96px}
.gw-table th:last-child,.gw-table td:last-child{width:56px;text-align:center}
.gw-table__name{width:230px}.gw-table__name input{margin-bottom:6px}.gw-table__name code{display:inline-block}
.gw-table__status{width:330px;min-width:0}
.gw-table__status .tracker-gateway-summary{display:inline-flex;margin-bottom:4px}
.gw-table__status small{margin-top:2px;line-height:1.4}
.gw-table .gw-addresses{min-width:520px;padding:0}
.gw-table .gw-addresses>.hint{margin:0 0 8px}
.gw-address-row{flex-wrap:nowrap;gap:6px}
.gw-address-row select{flex:0 0 92px}
.gw-address-row input[data-f=label]{flex:1 1 90px}
.gw-address-row input[data-f=address]{flex:1.2 1 110px}
.gw-address-row input[data-f=note]{flex:1.5 1 110px}
.gw-address-row .button{flex:none;height:34px;min-width:34px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center}
.gw-address-row input,.gw-address-row select{height:34px;box-sizing:border-box}
.gw-addresses__list{margin-bottom:10px}
.gw-addresses [data-add-address]{display:block;margin:0}

/* Kartenmenü („Ebenen“) im Einsatz-Layout: geöffneter Zustand blau (Spezifität der Layout-Regel übersteuern) */
.layout-einsatz .tracking-basemap-toggle__btn.is-open{background:var(--blue);border-color:var(--blue);color:#fff}

/* Adresszeile Empfänger: zweizeilig und bündig (Zeile 1: Art, Bezeichnung, Adresse, Port; Zeile 2: Notiz + Aktionen) */
.gw-address-row{display:grid;grid-template-columns:92px minmax(0,1fr) minmax(0,1.3fr) auto;gap:6px;align-items:center}
.gw-address-row select,.gw-address-row input{width:100%;flex:none!important}
.gw-address-row input[data-f=port]{width:76px}
.gw-address-row input[data-f=note]{grid-column:1 / 4}
.gw-address-row__actions{display:flex;gap:6px;justify-content:flex-end}
.gw-addresses__list{gap:12px}
.gw-table .gw-addresses{min-width:340px}
.gw-table__status{width:280px}.gw-table__name{width:200px;min-width:0}

/* Kartenbedienelemente folgen dem Theme: Dark = komplett dunkel, Light = hell */
:root{--map-ctl-bg:#fff;--map-ctl-fg:#172033;--map-ctl-line:rgba(15,23,42,.25)}
html[data-theme="dark"]{--map-ctl-bg:#1A1F2B;--map-ctl-fg:#F9FAFB;--map-ctl-line:rgba(255,255,255,.15)}
.tracking-center-button,.tracking-orientation-button,.tracking-lock-button,.tracking-draw-toggle-button:not(.is-active),.tracking-mode-toggle,.tracking-basemap-toggle__btn:not(.is-open),.layout-einsatz .tracking-basemap-toggle__btn:not(.is-open),.tracking-basemap-panel,.draw-toolbar{background:var(--map-ctl-bg);color:var(--map-ctl-fg);border-color:var(--map-ctl-line)}
.tracking-mode-toggle__btn:not(.is-active),.draw-toolbar__btn:not(.is-active),.tracking-basemap-panel label{color:var(--map-ctl-fg)}
.tracking-basemap-panel{border-top-color:var(--map-ctl-line)}
.tracking-basemap-toggle{background:transparent}
@media (max-width:820px){
  /* Das Kartenmenü bleibt innerhalb der Karte; lange Ebenenlisten werden
     unabhängig von der Kartenhöhe scrollbar und bleiben vollständig erreichbar. */
  .tracking-basemap-panel{box-sizing:border-box;max-height:calc(100% - 58px);overflow-y:scroll;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
  .tracking-basemap-panel label{min-height:34px;padding:6px 2px}
  .tracking-basemap-panel input{width:18px;height:18px;flex:0 0 auto}
}
html[data-theme="dark"] .draw-toolbar__btn:hover{background:#242A38}
/* Gateway & Tracker: Fußzeile mit Hinweis und Adress-Buttons */
.gw-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:12px}
.gw-footer .hint{flex:1 1 380px;margin:0}
.gw-footer__actions{display:flex;gap:8px;flex-wrap:wrap}
/* Leaflet-Zoom (+/−) und Kartenhinweise themenkonform */
.leaflet-bar a,.leaflet-bar a:hover{background-color:var(--map-ctl-bg);color:var(--map-ctl-fg);border-bottom-color:var(--map-ctl-line)}
.leaflet-bar{border:1px solid var(--map-ctl-line);box-shadow:0 1px 5px rgba(15,23,42,.25)}
.leaflet-bar a.leaflet-disabled{background-color:var(--map-ctl-bg);color:var(--muted);opacity:.55}
html[data-theme="dark"] .leaflet-bar a:hover{background-color:#242A38}
html[data-theme="dark"] .leaflet-control-attribution{background:rgba(26,31,43,.8);color:#9CA3AF}
html[data-theme="dark"] .leaflet-control-attribution a{color:#9CA3AF}
/* Seitenmenü (Rail) und Detail-Fenster liegen immer über dem Einsatz-Fenster (z-index 1300) */
.detail-rail{z-index:1400}
.detail-panel{z-index:1410}
/* Zoom (+/−) im Einsatz-Layout: Spezifität der Layout-Regel und des Leaflet-Stylesheets übersteuern */
.layout-einsatz .leaflet-control-zoom,.leaflet-container .leaflet-bar,.leaflet-container .leaflet-bar a,.leaflet-touch .leaflet-bar a{background-color:var(--map-ctl-bg)!important;color:var(--map-ctl-fg)!important;border-color:var(--map-ctl-line)!important}
html[data-theme="dark"] .leaflet-container .leaflet-bar a:hover{background-color:#242A38!important}
.status-dot--nogps{background:#facc15}

/* Szenariofarbe in Tabellen (Einsatzkräfte und Einsatzmittel): im Dark Mode zuverlässig, auch mit Rollenfarbe, auf Zellebene */
html[data-theme="dark"] .quali-table tr.scenario-assigned-row,
html[data-theme="dark"] .quali-table tr.scenario-assigned-row>td,
html[data-theme="dark"] .quali-table tr.person-role--el.scenario-assigned-row,
html[data-theme="dark"] .quali-table tr.person-role--el.scenario-assigned-row>td,
html[data-theme="dark"] .quali-table tr.person-role--taef.scenario-assigned-row,
html[data-theme="dark"] .quali-table tr.person-role--taef.scenario-assigned-row>td{background:color-mix(in srgb,var(--scenario-row-color) 22%,var(--surface))}
/* Eingeklapptes Seitenmenü: Pfeil-Knopf 25 % kleiner, Oberkante bleibt */
.detail-rail--collapsed .detail-rail__toggle{width:20px;height:26px}
.detail-rail--collapsed .detail-rail__toggle svg{width:75%;height:75%}

/* Szenario-Karten im Dark Mode: aus der kräftigen Akzentfarbe mischen (die Pastellfarbe ergab nur Grau) */
html[data-theme="dark"] .szenario-bereich,html[data-theme="dark"] .psd-row--scenario{background:color-mix(in srgb,var(--bereich-accent,var(--bereich-bg,var(--surface))) 24%,var(--surface))}
html[data-theme="dark"] .szenario-bereich{border:1px solid color-mix(in srgb,var(--bereich-accent,var(--line)) 55%,var(--line))}
/* Menü-Pfeil: klein, aber gut erkennbar */
.detail-rail--collapsed .detail-rail__toggle{color:var(--ink)}
.detail-rail--collapsed .detail-rail__toggle svg{width:18px;height:18px;stroke-width:2.5}
@media (min-width:821px){.layout-einsatz .tracking-basemap-toggle__btn{white-space:nowrap}}

/* Kataloge & Fristen: eine Spalte, gleiche Breite und Abstände für alle Karten */
.katalog-page{display:grid;gap:18px;padding:28px 0;max-width:1100px}
.katalog-page .settings-form{display:grid;gap:18px;max-width:none;width:100%}
.katalog-page .settings-form>.settings-save{justify-self:start;margin-top:0}
.katalog-page .notice{margin:0}
.settings-list-head{background:var(--canvas)}
.katalog-page .settings-card,.katalog-page .katalog-card{margin:0;width:100%;box-sizing:border-box}
.katalog-page .settings-row,.katalog-page .settings-list-head{grid-template-columns:minmax(200px,1fr) 220px 90px;gap:24px}

/* Zwei Themen, zwei Kästen: Fristen | Kataloge */
.katalog-group{display:grid;gap:16px;padding:22px;border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb,var(--canvas) 55%,var(--surface))}
.katalog-group__head h2{margin:0 0 3px;font-size:19px}
.katalog-group__head p{margin:0;color:var(--muted);font-size:13px}
.katalog-group .settings-form{gap:14px}
.katalog-group .settings-card,.katalog-group .katalog-card{box-shadow:none;background:var(--surface)}
/* Verwaltungsseiten: einheitlich seitenbreit (wie Gateway & Tracker) */
.appearance-grid{max-width:none}
.katalog-page{max-width:none;padding:0}
/* Kein seitliches Springen (z. B. des Benutzer-Buttons) beim Wechsel zwischen kurzen und langen Seiten: Scrollbar-Platz immer reservieren */
html{scrollbar-gutter:stable;overflow-y:scroll}
/* Einsatzaufträge und standardisierte Zusatzprotokolle */
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0}.form-grid label,.settings-form>label{display:flex;flex-direction:column;gap:.35rem;font-weight:600}.form-grid input,.form-grid textarea,.settings-form textarea{width:100%}.auftrag-picker{margin:1rem 0;padding:1rem;border:1px solid var(--border,#d6dce5);border-radius:.6rem;background:var(--surface-muted,#f6f8fb)}.auftrag-picker label{font-weight:500}.auftrag-picker .form-grid{margin:.75rem 0}.wide{grid-column:1/-1}
.auftraege-board__columns{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:1rem}.auftraege-column{min-width:0;padding:1rem;border:1px solid var(--border,#d6dce5);border-radius:.7rem;background:var(--surface-muted,#f8fafc)}.auftraege-column h3{margin-top:0}.drag-list{display:flex;flex-direction:column;gap:.6rem;min-height:180px}.auftrag-chip,.auftrag-drop-card{padding:.75rem;border:1px solid var(--border,#d6dce5);border-radius:.5rem;background:var(--surface,#fff);cursor:grab}.auftrag-chip small,.auftrag-drop-card small{display:block;color:var(--text-muted,#657080)}.auftrag-mini-drop,.auftrag-order-drop{margin-top:.6rem;padding:.5rem;border:1px dashed var(--border,#aab4c2);font-size:.85rem}.auftrag-drop-card--order{min-height:110px}.qual-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.qual-filter input#kraft-search{flex:1 0 100%}@media(max-width:1000px){.auftraege-board__columns{grid-template-columns:1fr}}
/* Eingepinntes Detail-Fenster: Nadel vollflächig in der Aktionsfarbe */
.detail-panel__pin--active{background:var(--blue);color:#fff;box-shadow:none;filter:none;opacity:1}
.detail-panel__pin--active svg{stroke:#fff}

/* Einsatzaufträge: mobile Karten und Multi-Check-Dialog müssen im Darkmode
   dieselben Flächen-/Textfarben wie der restliche Einsatzbereich verwenden. */
.auftrag-picker,.auftraege-column{background:var(--surface);border-color:var(--line);color:var(--ink)}
.auftrag-picker label,.qual-filter label{color:var(--ink)}
.auftrag-picker input:not([type=checkbox]),.qual-filter input[type=search],.qual-filter input#kraft-search{background:var(--canvas);border:1px solid var(--line);color:var(--ink)}
.auftrag-picker input::placeholder,.qual-filter input::placeholder{color:var(--muted);opacity:1}
.auftrag-mini-drop,.auftrag-order-drop{border-color:var(--line);color:var(--muted);background:color-mix(in srgb,var(--canvas) 55%,var(--surface))}
html[data-theme="dark"] .auftrag-picker,html[data-theme="dark"] .auftraege-column{box-shadow:0 4px 14px rgba(0,0,0,.24)}
html[data-theme="dark"] .auftrag-chip,html[data-theme="dark"] .auftrag-drop-card{background:#1a1f2b;border-color:#374151;color:#f9fafb}
.auftrag-crew{display:flex;flex-wrap:wrap;gap:4px;margin:.6rem 0}.auftrag-crew .badge{white-space:normal;text-transform:uppercase}.auftrag-chip small{font-size:13px;color:var(--muted);font-weight:600}
.auftrag-crew .badge{display:inline-flex;flex-direction:column;gap:2px;text-transform:none}.auftrag-crew .badge small{font-size:11px;color:var(--muted);font-weight:600}.auftrag-crew .badge strong{font-size:12px}
.auftrag-button-prefix{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.auftrag-order-people{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.auftrag-remove{display:inline-grid;place-items:center;width:18px;height:18px;margin-left:5px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--red) 16%,var(--surface));color:var(--red);font-weight:800;line-height:1;cursor:pointer}.auftrag-remove:hover{background:var(--red);color:#fff}
.auftrag-qualification-warning{display:block!important;border-left-color:#f59e0b;background:color-mix(in srgb,#f59e0b 14%,var(--surface));color:var(--ink)}
.manual-report-dialog{width:min(520px,calc(100vw - 28px));border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 24px 70px rgba(0,0,0,.45);padding:0}.manual-report-dialog::backdrop{background:rgba(3,8,18,.7);backdrop-filter:blur(4px)}.manual-report-dialog form{display:grid;gap:14px;padding:20px}.manual-report-dialog label{display:grid;gap:6px;font-weight:700}.manual-report-dialog select{padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--canvas);color:var(--ink);font:inherit}.manual-report-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rhein-drift-card{border-left:4px solid #ef4444}.rhein-drift-list{display:grid;gap:8px;margin-top:12px}.rhein-drift-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid color-mix(in srgb,#ef4444 38%,var(--line));border-radius:10px;background:color-mix(in srgb,#ef4444 6%,var(--surface))}.rhein-drift-item>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rhein-drift-item>div:first-child{display:grid;gap:2px}.rhein-drift-item span{color:var(--muted);font-size:12px}.rhein-person-water-toggle{align-items:center!important;justify-content:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--canvas)}.rhein-person-water-toggle>span:last-child{display:grid;gap:2px}.rhein-person-water-toggle small{color:var(--muted);font-weight:400}.rhein-drift-dialog{width:min(620px,calc(100vw - 28px))}.rhein-drift-dialog form{display:grid;gap:14px}.rhein-drift-dialog label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.rhein-drift-dialog input,.rhein-drift-dialog select{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--canvas);color:var(--ink);font:inherit}.rhein-drift-position-field{display:grid;gap:10px;margin:0;padding:12px;border:1px solid var(--line);border-radius:10px}.rhein-drift-position-field legend{padding:0 6px;color:var(--ink);font-weight:800}.rhein-drift-position-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rhein-drift-position-actions{display:flex;gap:8px;flex-wrap:wrap}.map-point-picker{position:absolute;z-index:1900;top:14px;left:50%;display:flex;align-items:center;gap:12px;max-width:calc(100% - 28px);padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);transform:translateX(-50%)}.map-point-picker[hidden]{display:none}.map-point-picker span{color:var(--muted);font-size:12px}.rhein-drift-marker-wrap{background:transparent!important;border:0!important}.rhein-drift-marker{display:grid;width:34px;height:34px;place-items:center;border:2px solid #fff;border-radius:50%;background:#dc2626;color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.45)}.rhein-drift-marker svg{width:19px;height:19px}.rhein-drift-popup{display:grid;gap:6px}.rhein-drift-popup p{margin:0}.rhein-drift-popup small{padding-top:5px;border-top:1px solid var(--line);color:var(--muted)}@media(max-width:620px){.rhein-drift-item{align-items:flex-start;flex-direction:column}.rhein-drift-position-row{grid-template-columns:1fr}.map-point-picker{top:auto;right:10px;bottom:12px;left:10px;align-items:flex-start;flex-direction:column;transform:none}.map-point-picker .button{width:100%}}
.manual-report-list{display:grid;gap:7px;max-height:44vh;overflow:auto}.manual-report-choice{display:flex!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--canvas);cursor:pointer}.manual-report-choice input{width:18px;height:18px}.manual-report-choice strong,.manual-report-choice small{display:block}.manual-report-choice small{color:var(--muted);font-size:12px;margin-top:2px}
.manual-report-choice small{text-transform:uppercase}.manual-report-select-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:-6px}.manual-report-select-actions button{border:0;background:transparent;color:var(--blue-text);font:inherit;font-size:12px;font-weight:750;cursor:pointer;padding:4px 6px}.manual-report-select-actions button:hover{text-decoration:underline}
.manual-report-current-status{margin:-5px 0 0;padding:7px 9px;border-radius:8px;font-size:12px;font-weight:800}.manual-report-current-status--s4{background:color-mix(in srgb,var(--green) 16%,var(--surface));color:var(--green)}.manual-report-current-status--s3{background:color-mix(in srgb,#eab308 18%,var(--surface));color:#a16207}.manual-report-current-status--open{background:var(--canvas);color:var(--muted)}
.og-rueckmeldungen{display:grid;gap:14px}.og-rueckmeldungen .table-heading{align-items:flex-start}.og-rueckmeldungen .table-heading h2{margin:0}.og-rueckmeldungen .table-heading .hint{margin:4px 0 0}.og-rueckmeldungen__grid{display:grid;gap:12px}.og-rueckmeldungen__pending,.og-rueckmeldungen__reported{border:1px solid var(--line);border-radius:12px;background:var(--canvas);padding:12px}.og-rueckmeldungen h3,.og-rueckmeldungen__reported summary{margin:0;font-size:14px;font-weight:800}.og-rueckmeldungen h3 span,.og-rueckmeldungen__reported summary>span{color:var(--muted);font-size:12px}.og-rueckmeldungen__reported summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.og-rueckmeldungen__reported summary::-webkit-details-marker{display:none}.og-rueckmeldungen__reported summary::after{content:'›';color:var(--muted);font-size:20px;line-height:1;transform:rotate(90deg)}.og-rueckmeldungen__reported[open] summary::after{transform:rotate(-90deg)}.og-rueckmeldungen__pending>.hint{margin:5px 0 10px}.og-rueckmeldungen__list{display:grid;gap:8px;margin-top:10px}.og-status-card{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:10px 12px}.og-status-card--pending{display:grid;gap:2px;border-left:4px solid #eab308}.og-status-card--pending strong{font-size:14px}.og-status-card--pending span{color:var(--muted);font-size:12px}.og-status-card--reported summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;cursor:pointer;list-style:none}.og-status-card--reported summary::-webkit-details-marker{display:none}.og-status-card--reported summary strong,.og-status-card--reported summary small{display:block}.og-status-card--reported summary small{color:var(--muted);font-size:12px;margin-top:2px}.og-status-card__counts{font-size:12px;color:var(--muted);white-space:nowrap}.og-status-card__manual{color:#0f766e;background:#ccfbf1;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800;white-space:nowrap}.og-status-card__detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);margin-top:10px;padding-top:10px;font-size:12px}.og-status-card__detail b{font-size:11px;text-transform:uppercase;color:var(--muted)}.og-status-card__detail ul{list-style:none;padding:0;margin:5px 0 0;display:grid;gap:3px}.og-status-card__detail li{overflow-wrap:anywhere}@media(max-width:560px){.og-status-card--reported summary{grid-template-columns:minmax(0,1fr) auto}.og-status-card__manual{grid-column:1/-1;justify-self:start}.og-status-card__detail{grid-template-columns:1fr}}
.auftrag-drop-card--order .auftrag-add-actions{display:none!important}.auftrag-single-assign{order:20;align-self:flex-start;margin-top:8px}.auftrag-assign-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0 10px}.auftrag-assign-tabs button{padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--canvas);color:var(--muted);font:inherit;font-weight:750;cursor:pointer}.auftrag-assign-tabs button.is-active{border-color:var(--blue);background:var(--blue);color:#fff}
.auftrag-drop-card{display:flex;flex-direction:column}.auftrag-drop-card .auftrag-add-person,.auftrag-drop-card .auftrag-add-actions{order:20;align-self:flex-start;margin-top:auto}.auftrag-crew,.auftrag-order-people{display:grid;gap:6px}.auftrag-crew .badge,.auftrag-order-people .badge{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;box-sizing:border-box;padding:9px 30px 9px 11px;border:1px solid color-mix(in srgb,var(--blue) 32%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--surface) 82%,var(--blue) 18%);color:var(--ink);text-transform:none}.auftrag-crew .badge strong,.auftrag-order-people .badge strong{font-size:13px}.auftrag-crew .badge small,.auftrag-order-people .badge small{font-size:11px;color:var(--muted)}.auftrag-crew .auftrag-remove,.auftrag-order-people .auftrag-remove{position:absolute;right:8px;top:50%;transform:translateY(-50%);margin:0}.auftrag-add-actions{width:100%;justify-content:flex-start}.auftrag-add-actions button{min-height:32px}
.auftrag-drop-card--order{position:relative;overflow:hidden;padding:14px 14px 12px;border:1px solid var(--line);border-left-width:1px;border-radius:14px;background:var(--surface);box-shadow:0 3px 10px rgba(15,23,42,.14)}.auftrag-drop-card--order>.table-heading{margin-bottom:8px}.auftrag-drop-card--order>.table-heading strong{font-size:16px}.auftrag-drop-card--order>.table-heading>[data-r]{order:2}.auftrag-drop-card--order>div:not(.table-heading):not(.auftrag-add-actions):not(.auftrag-order-people){display:flex;flex-direction:column;gap:6px}.auftrag-drop-card--order>div:not(.table-heading):not(.auftrag-add-actions):not(.auftrag-order-people)>.badge{display:flex;align-items:center;gap:6px;width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid color-mix(in srgb,var(--blue) 32%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--surface) 82%,var(--blue) 18%);font-weight:750}.auftrag-drop-card--order>div:not(.table-heading):not(.auftrag-add-actions):not(.auftrag-order-people)>.badge .auftrag-remove{position:static;transform:none;margin-left:auto}.auftrag-drop-card--order .auftrag-order-people{margin-top:7px}
html[data-theme="dark"] .auftrag-drop-card--order{background:#1a1f2b;border-color:#374151}html[data-theme="dark"] .auftrag-drop-card--order>div:not(.table-heading):not(.auftrag-add-actions):not(.auftrag-order-people)>.badge{background:#123242;border-color:#215b76}
/* Aufträge und Einsatzmittel: dieselbe Kartensprache, keine blaue Sonderfläche */
.auftrag-drop-card--order{border:1px solid var(--line)!important;border-radius:14px!important;border-left-width:1px!important;background:var(--surface)!important;box-shadow:0 3px 10px rgba(15,23,42,.14)!important}
.auftrag-drop-card--order>.table-heading strong{font-size:16px!important}.auftrag-drop-card--order .auftrag-order-drop{margin-top:6px}.auftrag-drop-card--order>div:not(.table-heading):not(.auftrag-add-actions):not(.auftrag-order-people)>.badge,.auftrag-drop-card--order .auftrag-order-people .badge{width:100%!important;background:color-mix(in srgb,var(--surface) 82%,var(--blue) 18%)!important;border-color:color-mix(in srgb,var(--blue) 32%,var(--line))!important;border-radius:10px!important;box-shadow:none!important}
html[data-theme="dark"] .auftrag-drop-card--order{background:#1a1f2b!important;border-color:#374151!important}html[data-theme="dark"] .auftrag-drop-card--order>div:not(.table-heading):not(.auftrag-add-actions):not(.auftrag-order-people)>.badge,html[data-theme="dark"] .auftrag-drop-card--order .auftrag-order-people .badge{background:#123242!important;border-color:#215b76!important}
.auftrag-drop-card--order{gap:8px}.auftrag-order-subtitle{display:block;margin-top:-5px;color:var(--muted);font-size:12px}.auftrag-drop-card--order>div:not(.table-heading):not(.auftrag-add-actions):not(.auftrag-order-people)>.badge,.auftrag-drop-card--order .auftrag-order-people .badge{position:relative;display:flex!important;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 34px 10px 12px!important}.auftrag-drop-card--order .badge strong{font-size:13px}.auftrag-drop-card--order .badge small{font-size:11px;color:var(--muted);font-weight:600}.auftrag-drop-card--order .badge .auftrag-remove{position:absolute!important;right:8px!important;top:50%!important;transform:translateY(-50%)!important;margin:0!important}
.auftraege-board .qual-filter{display:none!important}
.auftrag-add-actions{display:flex;gap:7px}.auftrag-add-actions button{font-size:0!important}.auftrag-add-actions button::before{font-size:12px;font-weight:750}.auftrag-add-actions button:first-child::before{content:'EK · jetzt zuordnen'}.auftrag-add-actions button:last-child::before{content:'EM · jetzt zuordnen'}.auftrag-drop-card--order>[data-r],.auftrag-drop-card--order .table-heading>[data-r]{display:inline-grid!important;place-items:center;width:28px!important;min-width:28px!important;height:28px!important;padding:0!important;border-radius:50%!important;background:color-mix(in srgb,var(--red) 15%,var(--surface))!important;color:var(--red)!important;border:1px solid color-mix(in srgb,var(--red) 35%,var(--line))!important;font-size:0!important}.auftrag-drop-card--order>[data-r]::after,.auftrag-drop-card--order .table-heading>[data-r]::after{content:'×';font-size:17px;line-height:1}.auftrag-order-people .badge,.auftrag-crew .badge{align-items:center}.auftrag-order-people .auftrag-remove,.auftrag-crew .auftrag-remove{flex:0 0 18px!important;width:18px!important;min-width:18px!important;height:18px!important;padding:0!important;font-size:13px!important;background:color-mix(in srgb,var(--red) 16%,var(--surface))!important}
.auftrag-mini-drop,.auftrag-order-drop{transition:.15s;padding:8px;border-radius:8px;font-size:12px}.auftrag-drop-card:has(.auftrag-crew .badge) .auftrag-mini-drop,.auftrag-drop-card--order:has(.badge) .auftrag-order-drop{padding:4px 8px;border-style:solid;border-color:transparent;background:transparent;color:var(--muted);font-size:11px;text-align:left}.auftrag-drop-card:has(.auftrag-crew .badge) .auftrag-mini-drop::before,.auftrag-drop-card--order:has(.badge) .auftrag-order-drop::before{content:'+ ';font-weight:800;color:var(--blue)}.auftrag-drop-card:has(.auftrag-crew .badge) .auftrag-mini-drop{font-size:0}.auftrag-drop-card:has(.auftrag-crew .badge) .auftrag-mini-drop::after{content:'weitere Einsatzkraft zuordnen';font-size:11px}.auftrag-drop-card--order:has(.badge) .auftrag-order-drop{font-size:0}.auftrag-drop-card--order:has(.badge) .auftrag-order-drop::after{content:'weiteres Einsatzmittel oder EK zuordnen';font-size:11px}
.auftrag-warning{margin:.6rem 0 0;padding:.55rem .7rem;border-left:3px solid var(--orange);background:color-mix(in srgb,var(--orange) 12%,var(--surface));color:var(--ink);font-size:.85rem}
.auftrag-picker-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:18px}.auftrag-picker-modal[hidden]{display:none}.auftrag-picker-modal__backdrop{position:absolute;inset:0;background:rgba(3,8,18,.72);backdrop-filter:blur(5px)}.auftrag-picker-modal__box{position:relative;width:min(460px,100%);max-height:min(78vh,680px);overflow:auto;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.4)}.auftrag-picker-modal__box h2{margin:0}.auftrag-picker-modal__list{display:grid;gap:7px;margin-top:12px}.auftrag-picker-modal__list .szenario-bereich__assign-person{text-align:left}.auftrag-picker-modal__list .szenario-bereich__assign-person:hover{border-color:var(--blue);background:var(--blue-soft)}
.szenario-bereich__assign-person{cursor:pointer;touch-action:manipulation}.szenario-bereich__assign-person:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.szenario-bereich__assign-trigger{cursor:pointer;touch-action:manipulation}
.auftrag-add-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.auftrag-add-person{margin-top:10px}
/* Auftragsboard im Szenario-/Sidebar-Stil */
.auftraege-board{background:var(--canvas);border-color:var(--line)}
.auftraege-board__columns{align-items:start}
.auftraege-column{background:color-mix(in srgb,var(--surface) 82%,var(--blue) 18%);border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));box-shadow:0 5px 14px rgba(15,23,42,.12)}
.auftraege-column h3{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px;color:var(--ink);letter-spacing:.01em}.auftraege-column h3 small{color:var(--muted);font-size:12px}
.auftrag-drop-card{border-radius:12px;border-color:color-mix(in srgb,var(--blue) 35%,var(--line));box-shadow:0 2px 6px rgba(15,23,42,.13);transition:border-color .15s,transform .15s}.auftrag-drop-card:hover{border-color:var(--blue);transform:translateY(-1px)}
.auftrag-drop-card--order{background:color-mix(in srgb,var(--blue) 13%,var(--surface));border-left:4px solid var(--blue)}
.auftrag-chip{border-radius:10px;border-color:var(--line);box-shadow:0 2px 5px rgba(15,23,42,.12)}
.auftrag-chip strong,.auftrag-drop-card strong{font-size:14px}.auftrag-crew .badge{background:color-mix(in srgb,var(--blue) 18%,var(--surface));border:1px solid color-mix(in srgb,var(--blue) 35%,var(--line));color:var(--ink)}
.auftrag-add-actions .button,.auftrag-add-person{border-radius:999px;font-size:12px;padding:6px 10px}
html[data-theme="dark"] .auftraege-board{background:#0f1419;border-color:#374151}html[data-theme="dark"] .auftraege-column{background:linear-gradient(145deg,#1b2435,#18202d);border-color:#334d72}html[data-theme="dark"] .auftrag-drop-card--order{background:linear-gradient(145deg,#1f3763,#1b2b4a);border-left-color:#3b82f6}html[data-theme="dark"] .auftrag-chip,html[data-theme="dark"] .auftrag-drop-card{box-shadow:0 4px 10px rgba(0,0,0,.3)}
@media(max-width:600px){.auftraege-board{border-radius:0;padding:14px 10px}.auftraege-board__columns{gap:12px}.auftraege-column{border-radius:14px;padding:12px}.auftraege-column h3{font-size:15px}.auftrag-drop-card{padding:11px}.auftrag-order-drop{border-radius:9px;text-align:center;padding:10px}.auftrag-add-actions{justify-content:flex-start}}
html[data-theme="dark"] .auftrag-chip small,html[data-theme="dark"] .auftrag-drop-card small{color:#9ca3af}
@media (max-width:600px){.auftraege-board{padding:16px 14px}.auftraege-board .table-heading{align-items:flex-start;gap:12px}.auftraege-board .table-heading .button{min-width:138px}.auftraege-column{padding:14px}.auftrag-picker{padding:14px}.auftrag-picker .form-grid{grid-template-columns:1fr;gap:10px}.auftrag-picker .button{margin-top:8px}.qual-filter{gap:8px}}
/* Standardisierte Zusatzprotokolle: dieselbe Karten- und Feldsprache wie die Einsatzübersicht. */
.tauchprotokoll{display:grid;gap:14px}.tauchprotokoll__intro{display:flex;align-items:center;justify-content:space-between;gap:16px}.tauchprotokoll__intro h2{margin:2px 0 4px}.tauchprotokoll__intro .hint{margin:0}.tauchprotokoll__section{display:grid;gap:14px}.tauchprotokoll__section h3{margin:0;font-size:16px}.tauchprotokoll__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tauchprotokoll__grid label{display:grid;gap:6px;color:var(--ink);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.tauchprotokoll__grid input,.tauchprotokoll__grid textarea{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--canvas);color:var(--ink);font:inherit;letter-spacing:normal;text-transform:none;resize:vertical}.tauchprotokoll__wide{grid-column:1/-1}@media(max-width:850px){.tauchprotokoll__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.tauchprotokoll__intro{align-items:flex-start;flex-direction:column}.tauchprotokoll__grid{grid-template-columns:1fr}.tauchprotokoll__wide{grid-column:auto}.tauchprotokoll__intro .button{width:100%}}
.tauchteam-list{display:grid;gap:12px}.tauchteam-card{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--canvas)}.tauchteam-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.tauchteam-card__head strong,.tauchteam-card__head small{display:block}.tauchteam-card__head small{margin-top:3px;color:var(--muted);font-size:12px}.tauchteam-card__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"divers signal" "safety action";gap:14px}.tauchteam-role--divers{grid-area:divers}.tauchteam-role--signal{grid-area:signal}.tauchteam-role--safety{grid-area:safety}.tauchteam-card h4{display:flex;justify-content:space-between;gap:8px;margin:0 0 7px;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.tauchteam-card h4 span{color:var(--muted);font-size:10px}.tauchteam-options{display:grid;gap:6px}.tauchteam-option{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer}.tauchteam-option.is-disabled{opacity:.5;cursor:not-allowed}.tauchteam-option input{width:17px;height:17px}.tauchteam-option strong,.tauchteam-option small{display:block}.tauchteam-option small{margin-top:2px;color:var(--muted);font-size:11px}.tauchteam-pressure{display:grid;gap:7px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.tauchteam-pressure h4{justify-content:flex-start;margin:0}.tauchteam-pressure__row{display:grid;grid-template-columns:minmax(140px,1fr) repeat(4,minmax(105px,130px));gap:8px;align-items:end}.tauchteam-pressure__row label{display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.tauchteam-pressure__row input{width:100%;box-sizing:border-box;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}@media(max-width:850px){.tauchteam-pressure__row{grid-template-columns:1fr 1fr}.tauchteam-pressure__row strong{grid-column:1/-1}}@media(max-width:650px){.tauchteam-card__grid{grid-template-columns:1fr;grid-template-areas:"divers" "safety" "signal" "action"}}
.tauchteam-dropdown{position:relative}.tauchteam-dropdown summary,.tauchteam-safety-select{box-sizing:border-box;width:100%;min-height:40px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}.tauchteam-dropdown summary{display:flex;justify-content:space-between;gap:10px;list-style:none}.tauchteam-dropdown summary::-webkit-details-marker{display:none}.tauchteam-dropdown summary span{color:var(--muted);font-size:12px;white-space:nowrap}.tauchteam-dropdown[open] summary{border-color:var(--blue);border-bottom-left-radius:0;border-bottom-right-radius:0}.tauchteam-dropdown .tauchteam-options{padding:8px;border:1px solid var(--blue);border-top:0;border-radius:0 0 9px 9px;background:var(--surface);max-height:250px;overflow:auto}
/* Einsatzaufträge: drei gleichwertige Arbeitsbereiche, vollständige Karten als Drop-Zonen. */
.auftraege-board{display:grid;gap:16px;background:var(--surface)!important}.auftraege-board__head{margin:0!important}.auftraege-board__head h2{margin:0}.auftraege-board__head .hint{margin:4px 0 0}.auftrag-picker{display:grid;gap:12px;margin:0!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--canvas)!important}.auftrag-picker__options{display:grid;grid-template-columns:1fr;gap:7px}.auftrag-picker__options label{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer}.auftrag-picker__options label:hover{border-color:var(--blue);background:var(--blue-soft)}.auftrag-picker__options input{width:17px;height:17px}.auftrag-picker__actions{display:flex;flex-wrap:wrap;gap:8px}.auftraege-board__columns{align-items:stretch!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}.auftraege-column{display:flex;flex-direction:column;min-height:430px;height:100%;padding:14px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:var(--canvas)!important;box-shadow:none!important}.auftraege-column__head{display:grid;gap:10px}.auftraege-column h3{margin:0!important;font-size:15px!important}.auftraege-column>.hint{margin:8px 0 12px;min-height:34px;font-size:12px}.auftraege-column input{box-sizing:border-box;width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit}.drag-list{flex:1;min-height:0!important}.auftrag-person-card,.auftrag-unit-card{border:1px solid var(--line)!important;border-radius:12px!important;background:var(--surface)!important;box-shadow:none!important;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s}.auftrag-person-card{display:grid;gap:3px;padding:11px 12px;cursor:grab}.auftrag-person-card:active{cursor:grabbing}.auftrag-person-card strong,.auftrag-unit-card strong{font-size:14px}.auftrag-person-card small,.auftrag-unit-card small{color:var(--muted);font-size:12px}.auftrag-unit-card{display:flex;flex-direction:column;gap:11px;padding:13px}.auftrag-unit-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.auftrag-unit-card__head>span:first-child{display:grid;gap:3px;min-width:0}.auftrag-unit-card__count{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}.auftrag-unit-card__assignments{display:grid;gap:6px}.auftrag-assignment{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--surface) 88%,var(--blue) 12%)}.auftrag-assignment span{display:grid;gap:2px;min-width:0}.auftrag-assignment small{overflow-wrap:anywhere}.auftrag-assignment__remove{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:17px;line-height:1;cursor:pointer}.auftrag-assignment__remove:hover{background:color-mix(in srgb,var(--red) 16%,var(--surface));color:var(--red)}.auftrag-unit-card__action{align-self:flex-start;margin-top:auto;border-radius:9px!important}.auftrag-unit-card.is-drag-over{border-color:var(--blue)!important;background:var(--blue-soft)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 30%,transparent)!important}.auftrag-order-card{border-color:color-mix(in srgb,var(--blue) 35%,var(--line))!important}.auftrag-order-card__delete{min-width:auto!important;padding:5px 8px!important;color:var(--muted)!important}.auftrag-order-card__delete:hover{color:var(--red)!important;background:color-mix(in srgb,var(--red) 12%,var(--surface))!important}.auftrag-order-card__groups{display:grid;gap:10px}.auftrag-group-label{display:block;margin:0 0 5px;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.auftrag-warning{margin:0!important;border-radius:8px;font-size:12px}.auftrag-picker-modal__list{margin-top:12px}.auftrag-picker-modal__list .szenario-bereich__assign-person{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--canvas);color:var(--ink);padding:10px 12px}.auftrag-picker-modal__list .szenario-bereich__assign-person strong,.auftrag-picker-modal__list .szenario-bereich__assign-person small{display:block;text-align:left}.auftrag-picker-modal__list .szenario-bereich__assign-person small{margin-top:3px;color:var(--muted)}@media(max-width:1000px){.auftraege-board__columns{grid-template-columns:1fr!important}.auftraege-column{min-height:260px}}@media(max-width:600px){.auftraege-board__head{flex-direction:column}.auftraege-board__head>.button{width:100%}.auftrag-picker__actions .button{flex:1}.auftraege-column{min-height:0}.auftraege-column>.hint{min-height:auto}.auftrag-unit-card__head{align-items:flex-start}}
/* Tauchgang: gleich breite Beginn-/Ende-Felder mit optischer Trennung. */
.tauchteam-pressure__row{grid-template-columns:minmax(140px,1fr) minmax(0,1fr) minmax(0,1fr) 22px minmax(0,1fr) minmax(0,1fr)}.tauchteam-pressure__row label:nth-of-type(3){grid-column:5}.tauchteam-pressure__row label:nth-of-type(4){grid-column:6}.tauchteam-pressure__row input{height:38px}@media(max-width:1000px){.tauchteam-pressure__row{grid-template-columns:1fr 1fr}.tauchteam-pressure__row strong{grid-column:1/-1}.tauchteam-pressure__row label:nth-of-type(3),.tauchteam-pressure__row label:nth-of-type(4){grid-column:auto}.tauchteam-pressure__row label:nth-of-type(3){margin-top:10px}}
/* Lagekarte: kompakte, klickbare Auftragskacheln und Detaildialog. */
.map-order-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px}.map-order-tile{display:grid;gap:3px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);text-align:left;font:inherit;cursor:pointer}.map-order-tile:hover{border-color:var(--blue);background:var(--blue-soft)}.map-order-tile strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.map-order-tile small{color:var(--muted);font-size:9px}.map-order-dialog{width:min(560px,calc(100vw - 28px));max-height:80vh;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 24px 70px rgba(0,0,0,.45)}.map-order-dialog::backdrop{background:rgba(3,8,18,.7);backdrop-filter:blur(4px)}.map-order-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-order-dialog__head h2{margin:0}.map-order-dialog__body{display:grid;gap:14px;margin:16px 0}.map-order-dialog__body section{display:grid;gap:7px}.map-order-dialog__body h3{margin:0;color:var(--muted);font-size:11px;text-transform:uppercase}.map-order-dialog__body p,.map-order-dialog__body ul{margin:0}.map-order-dialog__unit{display:grid;gap:2px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--canvas)}.map-order-dialog__unit small,.map-order-dialog__unit span{color:var(--muted);font-size:11px}.map-order-dialog__actions{display:flex;justify-content:flex-end}@media(max-width:520px){.map-order-list{grid-template-columns:1fr!important}}

/* Durchgängige Auftragsdarstellung: dieselbe Farbe in Board, Navigation, Übersicht und Lagekarte. */
.auftrag-order-card{border-left:4px solid var(--order-color)!important}.auftrag-order-card__title{display:flex;align-items:center;gap:6px}.auftrag-order-card__edit{display:grid;place-items:center;width:25px;height:25px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.auftrag-order-card__edit:hover{background:color-mix(in srgb,var(--order-color) 14%,var(--surface));color:var(--order-color)}.auftrag-order-card__edit svg{width:14px;height:14px}.auftrag-name-modal__box form{display:grid;gap:14px;margin-top:14px}.auftrag-name-modal__box label{display:grid;gap:6px;font-weight:800}.auftrag-name-modal__box input{box-sizing:border-box;width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--canvas);color:var(--ink);font:inherit}
.quali-table tr.scenario-assigned-row>td:first-child{box-shadow:inset 4px 0 0 var(--scenario-row-color)}
.sidebar-order{display:grid;gap:9px;padding:11px;border:1px solid color-mix(in srgb,var(--order-color) 42%,var(--line));border-left:4px solid var(--order-color);border-radius:11px;background:color-mix(in srgb,var(--order-color) 8%,var(--surface))}.sidebar-order__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.sidebar-order__head span{color:var(--muted);font-size:10px;white-space:nowrap}.sidebar-order__assignments{display:grid;gap:5px}.sidebar-order__unit{display:grid;gap:2px;padding:7px 8px;border:1px solid color-mix(in srgb,var(--order-color) 24%,var(--line));border-radius:8px;background:var(--surface)}.sidebar-order__unit small{color:var(--muted);font-size:10px}.sidebar-order>a{justify-self:start;color:var(--order-color);font-size:11px;font-weight:800;text-decoration:none}

/* Lagekarte: je Auftrag eine vollbreite, inline aufklappbare Karte. */
.map-order-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-content:start;gap:8px;padding:9px}.map-order-card{min-width:0;border:1px solid var(--line);border-left:4px solid var(--order-color);border-radius:10px;background:var(--surface);overflow:hidden}.map-order-card>summary{display:flex;align-items:center;gap:9px;padding:11px;list-style:none;cursor:pointer}.map-order-card>summary::-webkit-details-marker{display:none}.map-order-card>summary>span:last-child{display:grid;gap:3px;min-width:0}.map-order-card>summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.map-order-card>summary small{color:var(--muted);font-size:9px}.map-order-card__chevron{flex:0 0 auto;color:var(--order-color);font-size:21px;font-weight:900;line-height:1;transition:transform .15s}.map-order-card[open] .map-order-card__chevron{transform:rotate(90deg)}.map-order-card__body{display:grid;gap:11px;padding:0 11px 11px}.map-order-card__body section{display:grid;gap:5px}.map-order-card__body h3{margin:0;color:var(--muted);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.map-order-card__body .hint{margin:0;font-size:10px}.map-order-unit,.map-order-person{display:grid;gap:2px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--canvas)}.map-order-unit strong,.map-order-person strong{font-size:11px}.map-order-unit small,.map-order-unit span,.map-order-person small{color:var(--muted);font-size:9px}.map-order-card__link{justify-self:start;background:var(--order-color)!important;border-color:var(--order-color)!important}

/* Der Tauchername steht mittig zur zugehörigen Zeit-/Druckzeile. */
.tauchteam-pressure__row>strong{align-self:center}

/* Gefährdungsbeurteilung nach der DLRG-Vorlage, in der Formensprache der App. */
.tauchprotokoll__grid select{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--canvas);color:var(--ink);font:inherit;letter-spacing:normal;text-transform:none}.tauchprotokoll__sync{min-height:14px;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:normal;text-transform:none}
.risk-assessment{display:grid;gap:14px}.risk-assessment__intro{display:flex;align-items:center;justify-content:space-between;gap:16px}.risk-assessment__intro h2{margin:2px 0 4px}.risk-assessment__intro .hint{margin:0}.risk-section{display:grid;gap:14px}.risk-section h3{margin:0;font-size:16px}.risk-section__head{display:flex;align-items:end;justify-content:space-between;gap:16px}.risk-section__head .hint{margin:4px 0 0}.risk-answer-head{display:grid;grid-template-columns:44px 44px;gap:5px;padding-right:4px;color:var(--muted);font-size:10px;font-weight:850;text-align:center;text-transform:uppercase}.risk-list{display:grid;border:1px solid var(--line);border-radius:11px;overflow:hidden}.risk-row{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;align-items:center;gap:5px;min-height:43px;padding:5px 8px 5px 12px;border-bottom:1px solid var(--line);background:var(--canvas)}.risk-row:last-child{border-bottom:0}.risk-row>span{font-size:12px;font-weight:650}.risk-row label{display:grid;place-items:center;height:32px;border-radius:8px;cursor:pointer}.risk-row label:hover{background:var(--blue-soft)}.risk-row input{width:17px;height:17px;margin:0;accent-color:var(--blue)}.risk-row b{display:none}.risk-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.risk-metrics label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.risk-metrics label input{grid-column:1;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--canvas);color:var(--ink);font:inherit}.risk-metrics label span{grid-column:2}.risk-decisions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.risk-decisions fieldset{display:flex;align-items:center;gap:16px;margin:0;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--canvas)}.risk-decisions legend{padding:0 6px;color:var(--ink);font-size:12px;font-weight:800}.risk-decisions label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:750}.risk-decisions input{width:17px;height:17px;accent-color:var(--blue)}@media(max-width:700px){.risk-assessment__intro,.risk-section__head{align-items:flex-start;flex-direction:column}.risk-answer-head{display:none}.risk-row{grid-template-columns:minmax(0,1fr) 58px 58px}.risk-row label{display:flex;gap:5px}.risk-row b{display:inline;color:var(--muted);font-size:10px}.risk-metrics,.risk-decisions{grid-template-columns:1fr}.risk-assessment__intro .button{width:100%}}

/* Aufträge in der Lagekarte: lesbare Personen, OG am Einsatzmittel und Hover-Details. */
.map-sidebar-orders{display:grid;gap:9px}.map-order-card[open]{overflow:visible}.map-order-unit{gap:6px}.map-order-unit>strong{font-size:12px}.map-order-unit>span{font-size:10px}.map-order-people{display:grid;gap:5px;margin-top:2px}.map-order-people--direct{margin-top:7px}.map-order-person{position:relative;display:grid;gap:2px;padding:8px 9px;border-color:color-mix(in srgb,var(--order-color) 38%,var(--line));background:color-mix(in srgb,var(--order-color) 10%,var(--canvas));cursor:help;outline:none}.map-order-person strong{font-size:11px;line-height:1.25}.map-order-person small{font-size:9px;line-height:1.35}.map-order-person:hover,.map-order-person:focus{border-color:var(--order-color);background:color-mix(in srgb,var(--order-color) 16%,var(--canvas))}.map-order-person:hover::after,.map-order-person:focus::after{content:attr(data-tooltip);position:absolute;z-index:40;left:8px;bottom:calc(100% + 6px);width:max-content;max-width:min(280px,calc(100vw - 48px));padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);box-shadow:0 12px 30px rgba(0,0,0,.3);font-size:10px;line-height:1.45;white-space:pre-line;pointer-events:none}

/* Ausgerichtete Rahmenfelder und echte Unterschriftenfläche. */
.risk-identity{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-identity>.tauchprotokoll__wide{grid-column:1/-1}.risk-identity>label,.tauchprotokoll__frame-grid>label{align-content:start}.risk-identity input,.risk-identity select,.tauchprotokoll__frame-grid input,.tauchprotokoll__frame-grid select{height:42px}.tauchprotokoll__frame-grid>label:nth-last-child(-n+3){grid-template-rows:auto 42px 14px}.tauchprotokoll__frame-grid>label:nth-last-child(-n+2)::after{content:'';height:14px}.signature-label{gap:7px!important}.signature-pad{position:relative;display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--canvas)}.signature-pad canvas{display:block;width:100%;height:150px;border:1px dashed color-mix(in srgb,var(--muted) 55%,var(--line));border-radius:8px;background:var(--surface);cursor:crosshair;touch-action:none}.signature-pad .button{justify-self:end}

/* Tauchtrupp und automatisch erzeugter Auftrag teilen dieselbe Akzentfarbe. */
.tauchteam-card--auftrag{border-left:5px solid var(--team-color);background:color-mix(in srgb,var(--team-color) 5%,var(--canvas))}.tauchteam-card__head strong{display:flex;align-items:center;gap:7px}.tauchteam-card__color{display:inline-block;width:10px;height:10px;border-radius:999px;background:var(--team-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--team-color) 18%,transparent)}.tauchteam-empty{display:grid;gap:5px;padding:18px;border:1px dashed var(--line);border-radius:11px;background:var(--canvas);text-align:center}.tauchteam-empty span{color:var(--muted);font-size:12px}@media(max-width:700px){.risk-identity{grid-template-columns:1fr}.risk-identity>.tauchprotokoll__wide{grid-column:auto}.tauchprotokoll__frame-grid>label:nth-last-child(-n+3){grid-template-rows:auto 42px auto}.tauchprotokoll__frame-grid>label:nth-last-child(-n+2)::after{display:none}}

/* Laufende Tauchzeit je Tauchtrupp mit administrierbaren Warnschwellen. */
.tauchteam-timer{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;margin:-2px 0 13px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);transition:background .2s,border-color .2s}.tauchteam-timer>strong{font-variant-numeric:tabular-nums;font-size:20px;letter-spacing:.04em}.tauchteam-timer>small{justify-self:end;color:var(--muted);font-size:10px}.tauchteam-timer.is-orange{border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 16%,var(--surface))}.tauchteam-timer.is-orange>strong{color:#d97706}.tauchteam-timer.is-red{border-color:#dc2626;background:color-mix(in srgb,#dc2626 17%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,#dc2626 15%,transparent)}.tauchteam-timer.is-red>strong{color:#dc2626}@media(max-width:650px){.tauchteam-timer{grid-template-columns:1fr auto}.tauchteam-timer>small{grid-column:1/-1;justify-self:start}.tauchteam-timer .button{text-align:left}}
.tauchteam-timer--safety{margin-top:-7px;border-color:color-mix(in srgb,var(--red) 55%,var(--line));background:color-mix(in srgb,var(--red) 8%,var(--surface))}.tauchteam-timer--safety>span{color:var(--red);font-size:11px;font-weight:900;text-transform:uppercase}.tauchteam-timer--safety>strong{color:var(--red)}.button.tauchteam-safety-action{grid-area:action;align-self:end;width:100%;margin:0;background:var(--red);color:#fff;box-shadow:0 7px 16px color-mix(in srgb,var(--red) 28%,transparent)}.button.tauchteam-safety-action:hover{filter:brightness(1.08)}.button.tauchteam-safety-action:disabled{background:color-mix(in srgb,var(--red) 45%,var(--surface));color:color-mix(in srgb,#fff 70%,var(--muted));box-shadow:none}

/* Ortsgruppen-Stammdaten: Handyfeld bleibt kompakt zwischen Name und Aktiv. */
.quali-table--client-people{table-layout:fixed;min-width:850px}.quali-table--client-people .quali-table__name{width:190px}.quali-table--client-people .quali-table__mobile{width:54px;padding-inline:6px}.quali-table--client-people .quali-table__mobile-number{width:150px;padding-inline:7px}.quali-table--client-people .quali-table__active{width:78px}.quali-table--client-people .quali-cell{width:48px;padding-inline:6px}.quali-table--client-people .person-mobile-number{min-width:0;width:100%}
.tauchteam-selected-divers{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.tauchteam-selected-divers>span{display:inline-flex;align-items:center;gap:5px;padding:4px 5px 4px 8px;border:1px solid color-mix(in srgb,var(--team-color) 35%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--team-color) 9%,var(--surface));font-size:11px;font-weight:750}.tauchteam-selected-divers button{display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:15px;line-height:1;cursor:pointer}.tauchteam-selected-divers button:hover{background:color-mix(in srgb,var(--red) 16%,var(--surface));color:var(--red)}
.auftrag-qual-filter{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;overflow:visible;padding:7px;border:1px solid color-mix(in srgb,var(--blue) 45%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--blue) 7%,var(--canvas));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 7%,transparent)}.auftrag-qual-filter__label{flex:0 0 100%;color:var(--blue-text);font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.auftrag-qual-filter button{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:1 1 48px;min-width:0;padding:6px 7px;border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:10px;font-weight:850;cursor:pointer}.auftrag-qual-filter button b{display:grid;place-items:center;min-width:17px;height:17px;padding:0 3px;border-radius:999px;background:var(--blue-soft);color:var(--blue-text);font-size:9px}.auftrag-qual-filter button:hover,.auftrag-qual-filter button.is-active{border-color:var(--blue);background:var(--blue);color:#fff}.auftrag-qual-filter button.is-active b{background:rgba(255,255,255,.2);color:#fff}#kraft-column>.drag-list{margin-top:10px}

/* Lagekarte: GPS direkt an Auftragsressourcen sowie wieder sichtbare Trackingübersicht. */
.map-order-resource-head{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0}.map-order-resource-head>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-order-resource-head>span{display:flex;align-items:center;gap:4px;flex:0 0 auto}.map-order-gps{display:inline-flex;align-items:center;gap:4px;padding:2px 5px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:8px!important;font-weight:850;letter-spacing:.04em}.map-order-gps i{width:6px;height:6px;border-radius:50%;background:var(--muted)}.map-order-gps--online{border-color:color-mix(in srgb,#16a34a 45%,var(--line));color:#16a34a}.map-order-gps--online i{background:#22c55e}.map-order-gps--stale{border-color:color-mix(in srgb,#f59e0b 45%,var(--line));color:#d97706}.map-order-gps--stale i{background:#f59e0b}.map-order-gps--offline i{background:#94a3b8}.map-order-locate,.map-tracking-row>button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--blue-text);cursor:pointer}.map-order-locate:hover,.map-tracking-row>button:hover{border-color:var(--blue);background:var(--blue-soft)}.map-order-locate svg,.map-tracking-row>button svg{width:13px;height:13px}.map-tracking-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0}.map-tracking-summary span{display:grid;gap:2px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--canvas);color:var(--muted);font-size:9px;text-align:center}.map-tracking-summary b{color:var(--ink);font-size:15px}.map-tracking-list{display:grid;gap:6px}.map-tracking-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--canvas)}.map-tracking-row>span{display:grid;gap:2px;min-width:0}.map-tracking-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.map-tracking-row small{color:var(--muted);font-size:9px}.tracking-panel__title .tracking-summary{display:flex;align-items:center;gap:5px;margin-top:2px;color:var(--muted);font-size:9px}.tracking-panel__title .tracking-summary #offline-count{margin-left:3px}
.map-tracking-row__actions{display:flex;align-items:center;gap:5px}.map-tracking-row__actions>button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--blue-text);cursor:pointer}.map-tracking-row__actions>button:hover{border-color:var(--blue);background:var(--blue-soft)}.map-tracking-row__actions>button svg{width:13px;height:13px}.map-tracking-row__trail{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:9px;font-weight:800;cursor:pointer}.map-tracking-row__trail input{width:14px;height:14px;margin:0;accent-color:var(--blue);cursor:pointer}

/* Karten-Popups folgen im Darkmode vollständig der App statt dem Leaflet-Weiß. */
html[data-theme="dark"] #tracking-map .leaflet-popup-content-wrapper,html[data-theme="dark"] #tracking-map .leaflet-popup-tip{background:var(--surface);color:var(--ink)}html[data-theme="dark"] #tracking-map .leaflet-popup-content-wrapper{border:1px solid var(--line);box-shadow:0 16px 42px rgba(0,0,0,.55)}html[data-theme="dark"] #tracking-map .leaflet-popup-close-button{color:var(--muted)}html[data-theme="dark"] #tracking-map .leaflet-popup-close-button:hover{color:var(--ink)}html[data-theme="dark"] .map-object-popup input,html[data-theme="dark"] .map-object-popup select{background:var(--canvas);border-color:var(--line);color:var(--ink);color-scheme:dark}html[data-theme="dark"] .map-object-popup option{background:var(--canvas);color:var(--ink)}

/* Führungsrollen: EL gelb, TaEF westengrün – auf Karte und in Auftragskarten. */
.map-order-person--el{border-left:4px solid #facc15;background:color-mix(in srgb,#facc15 13%,var(--canvas))}.map-order-person--taef{border-left:4px solid #16a34a;background:color-mix(in srgb,#16a34a 13%,var(--canvas))}.map-order-role{display:inline-flex;margin-left:5px;padding:1px 5px;border:1px solid transparent;border-radius:999px;font-size:8px;font-weight:900;vertical-align:middle}.map-order-role--el{border-color:#facc15;background:#fef3c7;color:#713f12}.map-order-role--taef{border-color:#22c55e;background:#dcfce7;color:#14532d}html[data-theme="dark"] .map-order-role--el{background:#713f12;color:#fef3c7}html[data-theme="dark"] .map-order-role--taef{background:#14532d;color:#dcfce7}.map-leading-elw{display:grid;gap:4px;padding:9px 10px;border:1px solid color-mix(in srgb,#facc15 50%,var(--line));border-left:4px solid #facc15;border-radius:9px;background:color-mix(in srgb,#facc15 10%,var(--surface))}.map-leading-elw .map-order-resource-head>span:first-child{min-width:0}.map-leading-elw strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.map-leading-elw small{color:var(--muted);font-size:9px}
.map-order-unit .map-order-resource-head>strong{overflow:visible;white-space:normal;text-overflow:clip}.map-order-tracker-tools{display:grid;gap:4px;padding:0 1px}.map-order-tracker-tools__unit{display:flex;align-items:center;justify-content:flex-start;gap:5px;min-width:0}.map-order-tracker-tools__unit>small{min-width:0;margin-right:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px}.map-order-tracker-tools .map-tracking-row__trail{flex:0 0 auto}
.layout-einsatz #tracker-list-active-water.map-order-list{display:flex!important;overflow-y:auto;align-content:normal}.layout-einsatz #tracker-list-active-water>.map-order-card{flex:0 0 auto;width:auto}
.tracking-header-elw{display:flex;align-items:center;gap:6px;min-height:22px;color:var(--ink)}.tracking-header-elw[hidden]{display:none}.tracking-header-elw__unit{display:inline-flex;align-items:center;gap:5px;min-width:0}.tracking-header-elw__unit strong{overflow:hidden;max-width:110px;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.tracking-header-elw__marker{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--red)}.tracking-header-elw .map-order-gps{padding:1px 5px}.tracking-header-elw .map-order-locate{width:21px;height:21px}.tracking-panel__head{align-items:flex-start}.tracking-panel__tools{padding-top:1px}

/* Desktop: Navigation bleibt seitenhoch stehen, nur der Arbeitsbereich scrollt. */
@media(min-width:700px){html,body{height:100%;overflow:hidden}.app-shell{height:100dvh;min-height:0}.sidebar{height:100dvh;min-height:0}.sidebar nav{flex:1 1 auto;min-height:0}.workspace{box-sizing:border-box;height:100dvh;overflow-x:hidden;overflow-y:auto}}

#mittel-column>.drag-list{margin-top:10px}.auftrag-vehicle-filter button{flex-basis:calc(25% - 5px)}

/* iPad: Tabs bleiben innerhalb des Arbeitsbereichs; Inhalt läuft blickdicht unter dem Einsatzkopf durch. */
.einsatz-sticky-head{box-sizing:border-box;min-width:0;max-width:100%;background:var(--canvas);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 -100px 0 0 var(--canvas);isolation:isolate}
.einsatz-tabs{box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;gap:2px;padding:3px}
.einsatz-tabs a{flex:0 0 auto;white-space:nowrap}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.media-grid figure{margin:0;min-width:0}.media-thumb{display:block;width:100%;height:130px;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--canvas);cursor:zoom-in}.media-thumb img{width:100%;height:100%;object-fit:cover}.media-grid figcaption{display:grid;gap:3px;padding:7px 2px;color:var(--ink);font-size:13px}.media-grid figcaption small{color:var(--muted);font-size:11px}.media-lightbox{max-width:min(92vw,1100px);max-height:92vh;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.media-lightbox::backdrop{background:rgba(0,0,0,.75)}.media-lightbox img{display:block;max-width:calc(92vw - 24px);max-height:calc(92vh - 70px);object-fit:contain}.media-lightbox button{display:block;margin:10px auto 0}
@media(max-width:699px){
  .einsatz-tabs{gap:1px;padding:2px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .einsatz-tabs::-webkit-scrollbar{display:none}
  .einsatz-tabs a{min-height:32px;padding-inline:10px;font-size:11px}
  .einsatz-tabs a.einsatz-tabs__separated{margin-left:5px}
}

.planned-gps-card{display:grid;gap:12px}.planned-gps-card .table-heading{margin:0}.planned-gps-card h2{margin:0}.planned-gps-form{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.15fr) minmax(150px,.55fr);gap:12px;align-items:end}.planned-gps-form label{display:grid;gap:6px;min-width:0}.planned-gps-form label>span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.planned-gps-form input{box-sizing:border-box;width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--canvas);color:var(--ink);font:inherit}.planned-gps-form label>small{margin-top:-5px;color:var(--muted);font-size:10px}.planned-gps-form__actions{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.planned-gps-form__actions .hint{margin-left:4px}@media(max-width:700px){.planned-gps-form{grid-template-columns:1fr 1fr}.planned-gps-form__actions{grid-column:1/-1}}@media(max-width:460px){.planned-gps-form{grid-template-columns:1fr}}
.planned-og-card{display:grid;gap:8px;padding-top:16px;padding-bottom:16px}.planned-og-card .table-heading,.planned-og-card .table-heading h2{margin:0}.planned-og-card .table-heading .hint{margin:2px 0 0}.planung-group--cancelled{border-left:4px solid var(--red)}.planung-entry--cancelled{display:block}.planung-cancelled-info{color:var(--red);font-size:13px}.meldung-card--organiser{border-left:4px solid #3b82f6}.meldung-card--invitation-open{border-left:4px solid #f59e0b}.meldung-card--invitation-accepted{border-left:4px solid #22c55e}.meldung-card--invitation-cancelled{border-left:4px solid #9ca3af;background:color-mix(in srgb,var(--surface) 78%,#6b7280 22%)}.meldung-card--invitation-cancelled .chip{opacity:.75}.planung-card-note{margin:10px 0 0;padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-weight:800}.meldung-card__actions{display:flex;justify-content:flex-end;margin-top:8px}.meldung-card__actions:empty{display:none}.planned-og-remove{display:grid;place-items:center;width:30px;height:30px;border:1px solid #9ca3af;border-radius:999px;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}.planned-og-remove:hover{border-color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red)}@media(max-width:700px){.planned-og-form{grid-template-columns:1fr}.planned-og-form .button{justify-self:start}}

/* Auftragsabschluss: aktive Karten und ein seitenhohes, rechtes Archiv teilen denselben Zustand. */
.auftraege-board__head-actions,.auftrag-order-card__actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.auftraege-board__head-actions b{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 4px;border-radius:999px;background:var(--blue-soft);color:var(--blue-text);font-size:10px}.auftrag-order-card__actions{margin-top:auto}.auftrag-order-card__actions .auftrag-unit-card__action{margin-top:0}.auftrag-archive-backdrop{position:fixed;inset:0;z-index:240;background:rgba(3,8,18,.55)}.auftrag-archive-panel{position:fixed;z-index:250;top:0;right:0;box-sizing:border-box;width:min(410px,calc(100vw - 24px));height:100dvh;padding:18px;border-left:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:-18px 0 55px rgba(0,0,0,.35);transform:translateX(105%);transition:transform .2s ease;overflow-y:auto}.auftrag-archive-panel.is-open{transform:translateX(0)}.auftrag-archive-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.auftrag-archive-panel h2{margin:0}.auftrag-archive-panel__list{display:grid;gap:10px}.auftrag-archive-card{display:grid;gap:8px;padding:12px;border:1px solid color-mix(in srgb,var(--order-color) 38%,var(--line));border-left:4px solid var(--order-color);border-radius:11px;background:var(--canvas)}.auftrag-archive-card>small{color:var(--muted);font-size:10px}.auftrag-archive-card .auftrag-assignment__remove{display:none}.auftrag-archive-card .auftrag-order-card__groups{opacity:.85}.sidebar-order--completed,.map-order-card--completed{opacity:.78}.sidebar-order-archive,.map-order-archive{margin-top:9px;border:1px solid var(--line);border-radius:10px;background:var(--canvas);overflow:hidden}.sidebar-order-archive>summary,.map-order-archive>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;color:var(--ink);font-size:11px;font-weight:850;cursor:pointer}.sidebar-order-archive>summary b,.map-order-archive>summary b{display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:10px}.sidebar-order-archive>div,.map-order-archive>div{display:grid;gap:8px;padding:0 8px 8px}.map-order-complete{justify-self:start}.map-order-card__body>.button{margin-top:2px}
@media(max-width:600px){.auftraege-board__head-actions{width:100%}.auftraege-board__head-actions .button{flex:1}.auftrag-order-card__actions{align-items:stretch;flex-direction:column}.auftrag-order-card__actions .button{width:100%}}
.planned-location-flag{display:grid;place-items:center;color:#dc2626;font-size:28px;font-weight:900;text-shadow:0 1px 2px #fff}.planned-location-flag span{display:block;margin-top:-8px;color:var(--ink);font-size:9px;line-height:1;text-shadow:0 1px 2px var(--canvas)}
.active-einsatz-row{border-color:#ef4444!important;box-shadow:inset 4px 0 #ef4444}
.planned-og-form{grid-template-columns:minmax(0,1fr) minmax(180px,.35fr)}.planned-og-form select[multiple]{min-height:112px;padding:8px;background:var(--canvas);color:var(--ink);border:1px solid var(--line);border-radius:9px}.planned-og-invite-button{width:auto;min-width:190px;justify-self:start;margin-top:2px}.planned-og-matrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin-top:2px}.planned-og-matrix label{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--canvas);color:var(--ink);cursor:pointer}.planned-og-matrix label:has(input:checked){border-color:var(--blue);background:var(--blue-soft)}
.planung-entry--own{color:#60a5fa}.planung-entry--invited-open{color:#f59e0b}.planung-entry--invited-accepted{color:#22c55e}.nav-alert-dot{margin-left:auto;display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:#f59e0b;color:#111;font-size:11px}
.planung-group{border-left:4px solid var(--blue)}.planung-group--open{border-left-color:#f59e0b}.planung-group--accepted{border-left-color:#22c55e}.planung-group--own{border-left-color:#2563eb}.planung-group .item-list{margin-top:12px}
.slipway-marker,.leaflet-marker-icon.slipway-marker{position:relative;display:grid;place-items:center;box-sizing:border-box;width:30px!important;height:30px!important;border:2px solid #0b6f9f;border-radius:50%;background:#172131;color:#8bd4ff;box-shadow:0 2px 8px #0008}.slipway-marker__icon{display:grid;place-items:center;width:18px;height:18px;line-height:0}.slipway-marker__icon svg{display:block;width:18px;height:18px;margin:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.slipway-marker__access{position:absolute;top:-6px;right:-6px;display:grid;place-items:center;box-sizing:border-box;width:15px;height:15px;border:1px solid #111827;border-radius:50%;background:#f8fafc;color:#111827;box-shadow:0 1px 3px #0008}.slipway-marker__access svg{width:9px;height:9px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.slipway-popup{width:220px;max-width:220px}.slipway-popup__image{display:block;width:100%;height:110px;object-fit:cover;border-radius:7px;margin:7px 0}.slipway-popup__image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:76px;margin:7px 0;border:1px dashed #94a3b8;border-radius:7px;background:#e8edf3;color:#526174;font-size:12px}.slipway-popup p{margin:6px 0;font-size:12px;line-height:1.4}.slipway-popup__blocked{display:block;padding:4px 6px;border:1px solid #f59e0b;border-radius:6px;background:#fff7ed;color:#9a3412;font-size:10px!important;line-height:1.25!important}.slipway-popup__blocked b{font-size:10px}.slipway-popup__links{display:flex;gap:8px;align-items:center}.slipway-popup__links button{border:0;border-radius:5px;padding:5px 8px;background:#0873a8;color:#fff;cursor:pointer}
.slipway-marker--managed{border-color:#16a34a;color:#bbf7d0}.slipway-admin-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.slipway-admin-form textarea{min-height:80px;grid-column:span 3}.slipway-admin-form .checkbox-label{display:flex;gap:8px;align-items:center}.slipway-admin-list{display:grid;gap:8px}.slipway-admin-row{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.slipway-admin-row small,.slipway-admin-row p{display:block;color:var(--muted);margin:3px 0 0}@media(max-width:700px){.slipway-admin-form{grid-template-columns:1fr}.slipway-admin-form textarea{grid-column:auto}.slipway-admin-row{align-items:flex-start;flex-direction:column}}
.river-gauge-marker{display:flex;align-items:center;justify-content:center;width:30px!important;height:30px!important;border:2px solid #2563eb;border-radius:50%;background:#172033;color:#93c5fd;font-size:20px;font-weight:900;box-shadow:0 2px 8px #0008}.river-gauge-popup{min-width:190px}.river-gauge-popup p{margin:7px 0}.river-gauge-popup a,.river-gauge-popup button{display:inline-block;margin:3px 5px 0 0;border:0;border-radius:5px;padding:5px 8px;background:#0873a8;color:#fff;text-decoration:none;cursor:pointer;font:inherit;font-size:12px}
.slipway-marker--blocked{border-color:#f59e0b!important;background:#713f12!important;color:#fef3c7!important}
.slipway-popup__links{flex-wrap:wrap}.slipway-popup__links .slipway-popup__create{border:0;border-radius:5px;padding:5px 8px;background:#0873a8;color:#fff;cursor:pointer;text-decoration:none;font:inherit;font-weight:700}.slipway-marker--external,.leaflet-marker-icon.slipway-marker--external{width:22px!important;height:22px!important;border:1px dashed #fff!important;background:rgba(12,18,28,.82)!important;color:#fff!important;box-shadow:0 1px 4px #0007;opacity:.78}.slipway-marker--external .slipway-marker__icon,.slipway-marker--external .slipway-marker__icon svg{width:13px;height:13px}
.slipway-admin-form input,.slipway-admin-form select,.slipway-admin-form textarea{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;padding:10px 12px}.slipway-admin-form input[type=checkbox]{width:auto}.slipway-admin-form input[type=file]{padding:8px}.slipway-admin-form .slipway-map-place{grid-column:span 3}.slipway-admin-form .slipway-map-place button{margin-top:6px}@media(max-width:700px){.slipway-admin-form .slipway-map-place{grid-column:auto}}
.slipway-gauge-card{margin-top:16px}.slipway-gauge-form{display:grid;grid-template-columns:1.2fr auto 2fr 1fr auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px;margin-top:8px}.slipway-gauge-form select,.slipway-gauge-form input:not([type=hidden]){min-width:0}@media(max-width:700px){.slipway-gauge-form{grid-template-columns:1fr}.slipway-gauge-form .button{width:max-content}}
/* Gemeinsame Slipstellen: sichtbarer, schreibgeschützter Bestand für alle OGs. */
.slipway-shared-list{display:grid;gap:12px;margin-top:18px}
.slipway-shared-card{border:1px solid var(--border,#334155);border-left:4px solid var(--blue,#0ea5e9);border-radius:14px;padding:16px;background:var(--surface,#18202d)}
.slipway-shared-card__head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.slipway-shared-card h3{margin:0 0 4px}.slipway-shared-card p{margin:6px 0}.slipway-shared-card__head p,.slipway-coordinates{color:var(--muted);font-size:.9rem}.slipway-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0;color:var(--muted);font-size:.9rem}.slipway-image{display:block;max-width:min(100%,420px);max-height:240px;object-fit:cover;border-radius:10px;margin:12px 0}.slipway-client-form{display:grid;gap:10px}.slipway-client-form textarea{min-height:80px}.slipway-client-form .button{justify-self:start}.file-field{display:grid;gap:6px;color:var(--muted)}
.slipway-client-form .form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.slipway-client-form .form-grid>label,.slipway-client-form .slipway-field-wide{display:grid;gap:6px;min-width:0}.slipway-client-form .form-grid>label>span,.slipway-client-form .slipway-field-wide>span,.slipway-client-form .file-field>span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.slipway-client-form input,.slipway-client-form select,.slipway-client-form textarea{width:100%;box-sizing:border-box;background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:10px 12px;font:inherit}.slipway-client-form .form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.slipway-detail-card__head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.slipway-detail-note{white-space:pre-wrap;padding:12px;border-radius:10px;background:var(--surface)}
@media (max-width:800px){.slipway-client-form .form-grid,.slipway-client-form .form-grid--two{grid-template-columns:1fr}.slipway-detail-card__head{display:grid}}
.slipway-client-form>.check-tile{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;padding:10px 14px;border:1px solid var(--border,#354155);border-radius:10px}.slipway-client-form>.check-tile input{width:auto;margin:0}
.slipway-rhein-field{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;padding:10px 4px}.slipway-rhein-field input{width:auto;margin:0}.slipway-card-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.slipway-shared-card{border-left:1px solid var(--border,#334155);padding:14px 16px}.slipway-shared-card__head{align-items:center}.slipway-shared-card .slipway-card-actions{justify-content:flex-end;margin-top:10px}.slipway-editor-form>input[name="mindestpegel_cm"]{max-width:320px}
.slipway-create-form .slipway-rhein-field{align-self:center}.slipway-form-footer{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,1fr) minmax(260px,1fr);gap:12px;align-items:center}.slipway-form-footer .file-field{border:1px solid var(--border,#354155);border-radius:10px;padding:8px}.slipway-visible-field{display:flex;align-items:center;gap:10px}.slipway-visible-field input{width:auto}.slipway-form-footer .button{width:100%;justify-self:stretch}.slipway-geolocation{justify-self:start!important}.slipway-admin-row>div:first-child{display:grid;gap:4px}.slipway-admin-row small{display:block;color:var(--muted,#9ca3af)}
.slipway-admin-row.slipway-row--available{border-left:4px solid #22c55e}.slipway-admin-row.slipway-row--blocked{border-left:4px solid #f59e0b}.slipway-kind-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue);font-size:17px;vertical-align:middle}.slipway-kind-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.slipway-kind-icon img{width:17px;height:17px;object-fit:contain;filter:grayscale(1) brightness(1.7)}
@media(max-width:800px){.slipway-form-footer{grid-template-columns:1fr}.slipway-form-footer .button{width:100%}}
.rhein-person-water-box{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--canvas)}
.dv102-reference-item{grid-template-columns:76px minmax(0,1fr)}.dv102-reference-item__icons{display:flex;align-items:center;gap:5px}.dv102-reference-item__icon{width:52px;height:52px}.dv102-reference-item__icon img{width:44px;height:44px}.dv102-reference-item__lucide{display:grid;place-items:center;width:18px;height:18px;color:var(--blue)}.dv102-reference-item__lucide .icon,.dv102-reference-item__lucide svg{width:17px;height:17px}
@media(max-width:760px){.dv102-reference-item{grid-template-columns:58px minmax(0,1fr)}.dv102-reference-item__icon{width:40px;height:40px}.dv102-reference-item__icon img{width:34px;height:34px}.dv102-reference-item__lucide{width:14px;height:14px}.dv102-reference-item__lucide .icon,.dv102-reference-item__lucide svg{width:14px;height:14px}}
.map-icon-marker{position:relative}.map-icon-marker,.rf-unit-crosshair,.slipway-marker,.leaflet-marker-icon.slipway-marker{border-radius:7px}
.rf-unit-crosshair:has(.rf-unit-dv102){border-radius:7px}
.slipway-marker--external,.leaflet-marker-icon.slipway-marker--external{border-radius:6px!important}
.map-marker-tooltip{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);box-shadow:0 4px 14px rgba(15,23,42,.28);font-size:12px;line-height:1.35}.map-marker-tooltip span{color:var(--muted);font-weight:700}.map-icon-marker__radio{position:absolute;left:50%;top:100%;transform:translateX(-50%);white-space:nowrap;padding:1px 4px;border-radius:4px;background:var(--surface);border:1px solid var(--line);color:var(--ink);font-size:10px;font-weight:800;line-height:1.15;box-shadow:0 1px 3px rgba(15,23,42,.3)}
.rhein-person-water-box .rhein-person-water-toggle{margin:0;padding:11px 13px;border:0;border-radius:0;background:transparent}
.leaflet-popup-pane{z-index:2000!important}.leaflet-popup{z-index:2001!important}.rhein-drift-popup__jump{margin-top:4px;width:max-content}
.tracking-map-card{overflow:visible!important}.tracking-map-card #tracking-map{overflow:visible!important}.tracking-map-card .leaflet-popup-pane{z-index:3000!important}.tracking-map-card .leaflet-popup{z-index:3001!important}
.rhein-drift-locate-button{position:absolute;z-index:900;right:10px;top:252px;display:flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid #b91c1c;border-radius:8px;background:#991b1b;color:#fff;font:700 11px inherit;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3)}.rhein-drift-locate-button[hidden]{display:none}.rhein-drift-locate-button .icon{width:16px;height:16px}
.quick-log .rhein-drift-locate-button{position:static;z-index:auto;display:flex;flex:0 0 auto;align-items:center;justify-content:center;box-sizing:border-box;min-height:34px;margin:0;padding:0 10px}
.quick-log .rhein-drift-locate-button span{white-space:nowrap}
.quick-log .rhein-drift-locate-button{order:5}
.tracking-page .workspace{overflow-y:hidden}.tracking-map-card{overflow:hidden!important;height:min(70vh,calc(100dvh - 400px));min-height:320px}.tracking-map-card #tracking-map{overflow:hidden!important;height:100%;border-radius:15px}
@media(max-width:820px){.tracking-page .workspace{overflow-y:auto}.tracking-map-card{height:min(56dvh,480px);min-height:300px}}
.rhein-drift-inline{display:grid;gap:7px;padding:9px 12px 11px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--red) 4%,var(--surface))}
.rhein-drift-inline__head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rhein-drift-inline__head>span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.rhein-drift-inline .rhein-drift-list{gap:6px;margin:0}
.rhein-drift-inline .rhein-drift-item{padding:7px 9px;border-radius:8px}
.rhein-drift-inline .rhein-drift-item strong{font-size:13px}.rhein-drift-inline .rhein-drift-item span{font-size:11px}.rhein-drift-inline .empty{margin:0;font-size:12px}
@media(max-width:620px){.rhein-drift-inline__head{align-items:stretch;flex-direction:column}.rhein-drift-inline__head .button{width:100%}.rhein-drift-inline .rhein-drift-item{gap:8px}}
.client-vehicle-status-card{margin:18px 0 0!important;padding:16px 0 0!important;border-top:1px solid var(--line)}.client-vehicle-status-card h2,.client-vehicle-status-card h3{margin:2px 0 0}.client-vehicle-draft-assignment{display:grid;grid-template-columns:1fr 1fr;gap:12px}.client-vehicle-draft-assignment>section{min-width:0;padding:9px;border-radius:9px;background:var(--canvas)}.client-vehicle-draft-assignment .check-grid{margin:0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.client-people-picker{position:relative;margin-top:8px}.client-people-picker-toggle{width:100%;text-align:left}.client-people-picker-panel{position:absolute;z-index:5;top:calc(100% + 4px);left:0;right:0;max-height:300px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow)}.client-people-picker-option{margin:3px 0}.client-selected-person-cards{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.client-selected-person-card{display:flex;flex-direction:column;min-width:130px;padding:7px 9px;border:1px solid var(--action);border-radius:8px;background:var(--surface)}.client-selected-person-card small{color:var(--muted)}.client-vehicle-status-row--draft{display:block}.client-vehicle-status-row--draft .client-vehicle-status-row__head{margin-bottom:10px}@media(max-width:760px){.client-vehicle-draft-assignment{grid-template-columns:1fr}}
.client-vehicle-draft-assignment--three{grid-template-columns:1.15fr .9fr 1.15fr}
@media(max-width:760px){.client-vehicle-draft-assignment--three{grid-template-columns:1fr}}
.scenario-map-label{background:transparent!important}
.scenario-map-label strong{display:inline-block;max-width:calc(100% - 8px);padding:5px 9px;border-radius:6px;background:var(--scenario-color,#0e7490);color:#fff;box-shadow:0 1px 4px rgba(15,23,42,.3)}
.scenario-map-delete-icon{z-index:1200!important}
.scenario-map-label-icon.scenario-map-label--focused{background:transparent!important}
.scenario-map-label-icon.scenario-map-label--focused .scenario-map-label{background:transparent!important;box-shadow:0 0 0 2px rgba(249,115,22,.65),0 2px 8px rgba(15,23,42,.3)}
.vehicle-assignment-modal-box{width:min(1120px,calc(100vw - 28px));overflow:auto}
.modal-box.vehicle-assignment-modal-box{width:min(1120px,calc(100vw - 28px));max-width:none}
.vehicle-assignment-modal-box #vehicle-assignment-content{margin-top:14px}
.vehicle-assignment-modal-box .client-people-picker-panel{z-index:20}
.vehicle-assignment-modal-box>.submit-row{margin-top:18px}
.client-vehicle-draft-statuses button{grid-template-rows:1fr;align-content:center}
.client-vehicle-draft-statuses button strong{grid-row:auto;align-self:center}
.client-vehicle-draft-statuses button span{align-self:center}
.client-vehicle-draft-assignment .check-tile.is-disabled{opacity:.42!important;filter:grayscale(1);cursor:not-allowed;background:var(--canvas)!important;border-color:var(--line)!important}.client-vehicle-draft-assignment .check-tile.is-disabled input{cursor:not-allowed}.client-vehicle-draft-statuses{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:238px}.client-vehicle-draft-statuses button,.client-vehicle-status-action{display:grid;grid-template-columns:auto 1fr;column-gap:7px;align-items:center;min-height:58px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:var(--canvas);color:var(--blue-text);font:inherit;text-align:left}.client-vehicle-draft-statuses button:disabled{opacity:.55;cursor:not-allowed}.client-vehicle-draft-statuses button:not(:disabled){cursor:pointer}.client-vehicle-draft-statuses strong,.client-vehicle-status-action strong{grid-row:1/3;padding:5px 7px;border-radius:8px;background:var(--surface);font-size:1rem}.client-vehicle-draft-statuses span,.client-vehicle-status-action span{font-size:.82rem;font-weight:850}.client-vehicle-status-action small{color:var(--muted);font-size:.7rem;font-weight:650}.client-vehicle-status-action{cursor:pointer}.client-vehicle-status-action--3.is-active{border-color:#ca8a04;background:#fef3c7;color:#713f12}.client-vehicle-status-action--4.is-active{border-color:#16a34a;background:#dcfce7;color:#14532d}.tracking-map-card:has(#tracking-map.is-resource-drag-over){outline:3px dashed var(--blue);outline-offset:-6px}.tracking-map-card:has(#tracking-map.is-resource-drag-over)::after{content:'Einsatzmittel hier ablegen – Kartenabschnitt wird erstellt';position:absolute;z-index:1200;top:18px;left:50%;transform:translateX(-50%);padding:9px 13px;border-radius:9px;background:var(--blue);color:#fff;font-size:.82rem;font-weight:800;pointer-events:none}@media(max-width:760px){.client-vehicle-draft-statuses{width:100%;min-width:0}}
.protokoll-media-link{position:relative;display:inline-flex;margin-top:2px}.protokoll-media-preview{display:none;position:absolute;z-index:30;left:0;bottom:calc(100% + 8px);width:220px;padding:5px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.protokoll-media-preview img{display:block;width:100%;max-height:180px;object-fit:cover;border-radius:6px}.protokoll-media-link:hover .protokoll-media-preview,.protokoll-media-link:focus-within .protokoll-media-preview{display:block}.map-order-card[draggable="true"]{cursor:grab}.map-order-card.is-dragging{opacity:.45}.map-order-card--mapped{border-left-color:var(--order-color)}
.map-order-person{background:var(--canvas);border-color:var(--line)}.map-order-person:hover,.map-order-person:focus{border-color:var(--line);background:var(--canvas)}
