
:root{--bg:#f3f5f7;--ink:#182532;--muted:#647480;--line:#dfe5e9;--red:#b52c37;--nav:#132631;--green:#227656}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;padding:10px 14px;background:white;color:var(--ink)}button:hover{filter:brightness(.96)}button.primary{background:var(--red);border-color:var(--red);color:white}aside{position:fixed;width:234px;inset:0 auto 0 0;background:var(--nav);color:#d9e4ea;display:flex;flex-direction:column;padding:28px 18px;z-index:2}.brand{font-size:17px;font-weight:750;letter-spacing:.7px;display:flex;gap:12px;align-items:center}.mark{background:var(--red);padding:12px 9px;border-radius:9px;color:white;font-size:18px}.brand small{display:block;font-size:10px;font-weight:500;margin-top:5px;letter-spacing:1.5px;color:#a8bdc8}nav{margin-top:40px}nav button{display:flex;align-items:center;gap:12px;text-align:left;width:100%;border:0;background:none;color:#b6c6cf;margin:5px 0;padding:13px}nav button.active{background:#29404d;color:white;box-shadow:inset 3px 0 var(--red)}nav .ic{width:23px;font-size:19px}aside footer{margin-top:auto;font-size:12px;color:#9bb0bd;line-height:1.8}main{margin-left:234px}header{height:76px;background:white;border-bottom:1px solid var(--line);padding:0 34px;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:10px;color:var(--muted);letter-spacing:1.8px;text-transform:uppercase;font-weight:700}.crumb{font-weight:600;margin-top:3px}.account{display:flex;align-items:center;gap:10px;font-size:12px}.avatar{border-radius:50%;background:#e9eef1;padding:10px;font-weight:700}.content{padding:30px 34px;max-width:1600px;margin:auto}.demo{padding:10px 14px;background:#fff7e7;border:1px solid #eee1c2;border-radius:6px;color:#826020;font-size:12px;margin-bottom:26px}.titlebar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px}h1{font-size:28px;letter-spacing:-.9px;margin:0 0 7px}h2{font-size:17px;margin:0}h3{font-size:15px;margin:0 0 10px}.subtitle{color:var(--muted);line-height:1.5;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 25px}.stat,.card{background:white;border:1px solid var(--line);border-radius:9px}.stat{padding:19px}.stat strong{font-size:30px;display:block;margin:8px 0 1px;letter-spacing:-1px}.stat small{color:var(--muted)}.stat:first-child{border-top:3px solid var(--red)}.grid{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}.cardhead{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.pad{padding:20px}.row{padding:18px 20px;border-bottom:1px solid #edf0f2;display:flex;gap:15px;align-items:center}.row:last-child{border-bottom:0}.grow{flex:1;min-width:0}.code{display:inline-flex;background:#fbeaec;color:#a02331;min-width:50px;padding:9px;border-radius:6px;font-weight:800;justify-content:center}.meta{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.5}.pill{display:inline-block;border-radius:5px;background:#eef2f5;padding:4px 8px;font-size:11px;font-weight:650;white-space:nowrap}.pill.red{background:#fbeaec;color:#a02331}.pill.green{background:#e8f4ed;color:#227656}.pill.amber{background:#fff3d9;color:#8d6318}.empty{text-align:center;padding:35px;color:var(--muted)}.toolbar{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.toolbar input{max-width:370px;flex:1}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}td,th{padding:16px 20px;border-bottom:1px solid #edf0f2}th{font-size:11px;color:var(--muted);letter-spacing:.4px;background:#fafbfc}.timeline{border-left:2px solid #e2e7eb;margin:0 0 0 6px;padding-left:20px}.entry{position:relative;margin-bottom:24px;line-height:1.6}.entry:before{content:'';position:absolute;left:-26px;top:6px;background:#b52c37;width:9px;height:9px;border:2px solid white;border-radius:50%}.entry time{font-size:11px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}label{font-size:12px;font-weight:650}input,select,textarea{border:1px solid #ccd6dd;border-radius:6px;padding:10px;background:white;max-width:100%;color:var(--ink)}textarea{min-height:100px;resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #b8d3e0;outline-offset:1px}.link{border:0;background:transparent;color:#a52532;padding:3px;font-weight:650}.stack{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.notice{padding:15px;background:#f0f5f8;border-radius:7px;color:#456170;line-height:1.6;font-size:13px}.modal{border:0;border-radius:12px;padding:0;width:620px;max-width:95vw;box-shadow:0 20px 80px #0004}.modal::backdrop{background:#10212e99}.modal form{padding:24px}.modal h2{margin-bottom:22px}.modal .actions{display:flex;gap:10px;justify-content:flex-end}.tabs{display:flex;gap:10px;margin:20px 0}.tabs button.selected{background:var(--nav);color:white}#toast{position:fixed;right:24px;bottom:22px;background:#193b31;color:white;padding:14px 20px;border-radius:9px;z-index:10;display:none}.badge{border-radius:50%;background:#ad303c;color:white;font-size:10px;padding:2px 6px;margin-left:auto}.tasktitle{font-weight:650;line-height:1.5}.back{margin-bottom:18px}.note{color:var(--muted);font-size:12px;line-height:1.6}.statusnum{display:inline-flex;width:29px;height:29px;background:#edf3f6;border-radius:5px;align-items:center;justify-content:center;font-weight:700}.mobilebrand{display:none}@media(min-width:1450px){.content{padding-top:40px}}@media(max-width:1050px){aside{width:200px}main{margin-left:200px}.grid{grid-template-columns:1fr}.content{padding:25px}.stats{gap:10px}.stat{padding:14px}}@media(max-width:700px){aside{position:static;width:auto;padding:16px}aside .brand,aside footer{display:none}nav{display:flex;overflow:auto;margin:0;gap:6px}nav button{width:auto;white-space:nowrap;margin:0;padding:10px}nav .ic{display:none}main{margin:0}header{padding:0 18px;height:64px}.content{padding:20px 16px}.titlebar{align-items:flex-start}h1{font-size:24px}.stats{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:0}.row{padding:15px}.account span:not(.avatar){display:none}.demo{margin-bottom:20px}.grid{gap:16px}.titlebar .primary{white-space:nowrap}.cardhead{padding:16px}.hidephone{display:none}}

a{color:#9e2733;text-decoration:none}a:hover{text-decoration:underline}.button{display:inline-block;font:inherit;border:1px solid var(--line);border-radius:7px;padding:10px 14px;background:white;color:var(--ink);white-space:nowrap}.button.primary{background:var(--red);color:white;border-color:var(--red)}nav a{display:block;color:#b6c6cf;padding:13px;margin:5px 0;border-radius:6px}nav a.active{background:#29404d;color:white;box-shadow:inset 3px 0 var(--red)}.brand{color:white}.brand:hover{text-decoration:none}aside footer a{color:#c6d6df}.auth{margin:0}.auth .content{max-width:650px;padding-top:8vh}.login h1{margin-top:12px}.login .subtitle{margin-bottom:25px}.narrow{max-width:800px}.topgap{margin-top:22px}.grid>.card{align-self:start}.pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.entry time{display:block}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.notice{margin-bottom:20px}.notice.error{background:#fbeaec;color:#9a2130}.notice.success{background:#e4f3eb;color:#226040}.check{display:flex;gap:8px;align-items:center;margin:15px 0}.check input{width:auto}.toolbar{align-items:end}.toolbar .field{margin:0}.toolbar .check{margin-bottom:10px}.entry{border-left:2px solid #e3e8eb;padding-left:15px}.entry:before{display:none}.stat strong{font-variant-numeric:tabular-nums}td{white-space:normal}.link{display:inline-block}input,select,textarea{width:100%}.stack .button{width:auto}.grid{align-items:start}form button{margin-top:4px}a:focus-visible,button:focus-visible{outline:3px solid #74acc5;outline-offset:3px}.account form{margin:0}.account form button{margin:0}.toolbar>input{min-width:180px}.login form{margin-top:20px}.titlebar{margin-top:14px}.note .button{padding:5px 10px}pre{font:13px ui-monospace,monospace}.card{overflow:hidden}@media(max-width:700px){nav a{white-space:nowrap;margin:0;padding:10px}aside{padding:10px}header .account span{display:none}.titlebar{flex-wrap:wrap}.toolbar{align-items:stretch}.grid>.card{min-width:0}.auth .content{padding-top:25px}.cardhead{flex-wrap:wrap}}
.integration-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.check{display:flex;align-items:center;gap:10px;margin:16px 0}.check input{width:18px;height:18px;flex-shrink:0}details{margin:20px 0}summary{cursor:pointer;font-weight:600;margin-bottom:16px}.topgap{margin-top:24px}code{overflow-wrap:anywhere}textarea{min-height:110px}
.module-cards h2{font-size:25px}.print-sheet{background:white;color:#17253a;padding:32px}.signature{margin-top:60px}.no-print{margin:20px 0}aside nav a{padding:8px 14px;font-size:13px}aside nav{overflow:auto;max-height:70vh}@media print{body{background:white!important}aside,main>header,.notice,.no-print{display:none!important}main{margin:0!important;padding:0!important}.content{max-width:none!important;padding:0!important}.print-sheet{padding:0}table{width:100%;border-collapse:collapse}th,td{border:1px solid #aaa;padding:8px}tr{break-inside:avoid}thead{display:table-header-group}.print-sheet a{color:black;text-decoration:none}@page{size:A4 portrait;margin:15mm}}

.permission-group{border:1px solid var(--line,#dce2e8);border-radius:10px;margin:18px 0;padding:18px}.permission-group legend{font-weight:700;padding:0 8px}.permission-group .check{margin:12px 0}.permission-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #edf0f4}.permission-row small{display:block;color:#586679;font-size:11px}.permission-row select{width:230px;flex-shrink:0}.permission-row span{min-width:0}.permission-row:last-child{border:0}@media(max-width:650px){.permission-row{display:block}.permission-row select{width:100%;margin-top:8px}}
/* Grouped sidebar: module visibility and links are rendered with server permissions. */
aside{width:268px;padding:26px 16px 18px;gap:20px}main{margin-left:268px}.brand{gap:10px;font-size:16px}.brand small{font-size:9px;letter-spacing:1.1px}.sidebar-drawer{display:block;min-height:0;overflow:auto;flex:1;margin:0}.mobile-menu-toggle{display:none}aside nav.portal-nav{display:block;margin:0;max-height:none;overflow:visible}.portal-nav .nav-caption{color:#849eae;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;padding:22px 12px 9px;font-weight:700}.portal-nav .nav-link{display:flex;align-items:center;gap:11px;margin:3px 0;padding:11px 12px;border-radius:8px;color:#bbcbd5;font-size:13px;line-height:1.4;white-space:normal}.portal-nav a:hover{text-decoration:none;background:#223b49;color:#fff}.portal-nav a.active{background:#2b4453;color:#fff;box-shadow:inset 3px 0 #ed6571}.nav-icon{flex-shrink:0;opacity:.9}.portal-nav .nav-group{margin:4px 0;border:1px solid transparent;border-radius:10px}.portal-nav .nav-group>summary{display:flex;align-items:center;gap:11px;list-style:none;font-size:13px;font-weight:650;margin:0;padding:12px 11px;border-radius:9px;color:#d5e1e8;line-height:1.4}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:hover{background:#223b49}.nav-group>summary>span{flex:1}.nav-chevron{flex-shrink:0;transition:transform .18s}.nav-group[open]>summary .nav-chevron{transform:rotate(90deg)}.portal-nav .nav-group[open]{background:#192f3c;border-color:#2a4250}.portal-nav .nav-group.is-current>summary{color:#fff}.portal-nav .nav-group.is-current>summary .nav-icon{color:#ff98a1}.nav-children{padding:0 7px 7px 21px}.portal-nav .nav-children .nav-link{font-size:12px;padding:9px 12px}.nav-divider{border-top:1px solid #2c414d;margin:16px 10px 10px}.portal-nav summary:focus-visible{outline:3px solid #74acc5;outline-offset:2px}aside footer{margin-top:0;padding:15px 10px 0;border-top:1px solid #2c414d;font-size:11px;overflow-wrap:anywhere;flex-shrink:0}select:disabled,input:disabled{background:#edf1f4;color:#566772;opacity:1;cursor:not-allowed}[hidden]{display:none!important}
@media(max-width:1050px) and (min-width:701px){aside{width:244px}main{margin-left:244px}.brand{font-size:15px}.brand small{letter-spacing:.5px}}
@media(max-width:700px){aside{position:static;width:auto;display:block;padding:10px 16px}.sidebar-drawer{overflow:visible;display:block;margin:0}.mobile-menu-toggle{display:flex;align-items:center;justify-content:space-between;list-style:none;padding:11px 4px;margin:0;color:#fff;font-size:14px}.mobile-menu-toggle::-webkit-details-marker{display:none}.sidebar-drawer:not([open])>nav.portal-nav{display:none}.sidebar-drawer[open]>nav.portal-nav{max-height:65vh;overflow:auto;padding-bottom:14px}.portal-nav .nav-caption{padding-top:14px}main{margin-left:0}.nav-children{padding-left:24px}}
@media(prefers-reduced-motion:reduce){.nav-chevron{transition:none}}
/* TEL command dashboard */
.tel-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 22px;flex-wrap:wrap}.tel-live{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:9px}.tel-live>span{width:8px;height:8px;background:#498269;border-radius:50%}.tel-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.tel-config{margin-bottom:24px}.tel-config-head,.tel-command-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.tel-config .meta,.tel-command-head .meta{margin:5px 0 0}.tel-focus{display:flex;align-items:end;gap:12px;margin-top:20px}.tel-focus .field{flex:1;margin:0}.tel-focus button{margin:0;flex-shrink:0}.tel-preferences-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}.tel-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;margin-bottom:24px;align-items:start}.tel-workspace>.card{min-width:0}.tel-incident{padding:22px;border-bottom:1px solid var(--line)}.tel-incident:last-child{border-bottom:0}.tel-incident.focused{box-shadow:inset 4px 0 var(--red);background:#fffafa}.tel-incident-head{display:flex;gap:12px;align-items:center;justify-content:space-between}.tel-incident h3{font-size:18px;line-height:1.4;margin:12px 0 6px}.tel-incident>p{margin:8px 0}.tel-incident .stack{margin-top:14px;flex-wrap:wrap;gap:8px}.tel-incident .button{font-size:12px;padding:8px 11px}.incident-status-controls{display:flex;gap:10px;align-items:end;margin-top:16px;flex-wrap:wrap}.incident-status-controls .field{margin:0;flex:1;min-width:150px}.incident-status-controls button{margin:0;flex-shrink:0}.status-note{margin:10px 0 0}.status-note summary{font-size:11px;color:var(--muted);margin-bottom:8px}.tel-log{margin-bottom:24px}.tel-log .pre{margin-top:9px}.tel-log .link{font-size:12px}.vehicle-group{margin:0 0 26px}.vehicle-group:last-of-type{margin-bottom:18px}.vehicle-group h3{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:14px}.vehicle-count{display:inline-flex;align-items:center;justify-content:center;background:#e9eef2;color:#536473;min-width:24px;height:24px;border-radius:20px;font-size:11px}.vehicle-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.vehicle-tile{border:1px solid var(--line);border-left:4px solid #8b98a4;background:#fff;border-radius:8px;padding:15px;min-width:0}.vehicle-tile-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:7px}.vehicle-tile-head b{font-size:13px;overflow-wrap:anywhere}.vehicle-state{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;border-radius:5px;padding:5px 8px;background:#e9eef2;color:#334655}.vehicle-tile.available{border-left-color:#368365}.vehicle-tile.available .vehicle-state,.vehicle-state.available{background:#e4f3eb;color:#226040}.vehicle-tile.deployed{border-left-color:#397ba5}.vehicle-tile.deployed .vehicle-state,.vehicle-state.deployed{background:#e4eff8;color:#285c80}.vehicle-tile.blocked{border-left-color:#c34450}.vehicle-tile.blocked .vehicle-state,.vehicle-state.blocked{background:#fbeaec;color:#9a2130}.vehicle-tile.limited,.vehicle-tile.request{border-left-color:#bc8c32}.vehicle-tile.limited .vehicle-state,.vehicle-tile.request .vehicle-state,.vehicle-state.limited,.vehicle-state.request{background:#fff3d9;color:#795613}.vehicle-assignment{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.vehicle-tile-footer{border-top:1px solid #edf0f4;margin-top:12px;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.vehicle-tile-footer .button{font-size:11px;padding:6px 9px}.vehicle-tile-footer .meta{font-size:10px}.incident-command{margin:18px 0 24px}.diary-sheet h2{margin:22px 0 14px}.diary-masthead{border-top:5px solid var(--red);padding-top:20px}.diary-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 30px;margin:25px 0 35px}.diary-meta dt{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:5px}.diary-meta dd{margin:0;overflow-wrap:anywhere}.diary-table td{vertical-align:top;font-size:12px}.diary-table td:first-child{width:150px}.diary-table td:nth-child(2){width:160px}.diary-table .pre{white-space:pre-wrap;word-break:break-word}.no-print .stack{flex-wrap:wrap;align-items:center;gap:10px}.no-print .stack form{margin:0}
@media(max-width:1150px){.tel-workspace{grid-template-columns:1fr}.tel-preferences-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.tel-config-head,.tel-command-head{align-items:flex-start;flex-direction:column}.tel-focus{align-items:stretch;flex-direction:column}.tel-preferences-grid{grid-template-columns:1fr}.tel-incident{padding:18px}.vehicle-board{grid-template-columns:1fr}.diary-meta{grid-template-columns:1fr}.tel-toolbar .stack{flex-wrap:wrap}.diary-sheet{padding:18px}.diary-table td:first-child,.diary-table td:nth-child(2){width:auto}.tel-vehicles>.pad{padding:16px}}
@media print{.diary-sheet .diary-table{table-layout:fixed}.diary-sheet .diary-table td:first-child{width:23%}.diary-sheet .diary-table td:nth-child(2){width:23%}.diary-sheet .diary-table td{font-size:9pt;white-space:pre-wrap;overflow-wrap:anywhere}.diary-sheet .diary-table tr{break-inside:auto}.diary-sheet .diary-meta{grid-template-columns:1fr 1fr}.diary-sheet .diary-masthead{border-color:#333}.diary-sheet{padding:0}.diary-sheet h1{font-size:24pt}.diary-sheet h2{font-size:14pt}}
.inbox-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:23px;padding:0 7px;border-radius:16px;background:#cf3b4a;color:#fff;font-size:11px;font-weight:750;font-variant-numeric:tabular-nums}.portal-nav .nav-link>.inbox-badge{margin-left:auto;flex-shrink:0}.mail-notifications{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 14px;margin-bottom:22px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px}.mail-notifications>a{display:flex;gap:9px;align-items:center;font-weight:650}.mail-watch-status{color:var(--muted);flex:1}.mail-notifications>button{font-size:11px;padding:7px 10px}.mail-notifications>button[aria-pressed="true"]{background:#e4f3eb;color:#226040;border-color:#9ac8ad}.mail-inbox-summary{margin-bottom:24px}.mail-toast{position:fixed;z-index:20;right:24px;top:90px;max-width:min(380px,calc(100vw - 32px));background:#fff;border:1px solid #d7a9ad;border-left:5px solid var(--red);border-radius:10px;box-shadow:0 12px 40px #17253230;padding:20px 42px 20px 20px;display:grid;gap:9px;font-size:13px}.mail-toast>b{color:#9d2531}.mail-toast>span{color:var(--muted)}.mail-toast>button{position:absolute;right:8px;top:7px;border:0;font-size:20px;padding:0 4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.mail-notifications{gap:10px}.mail-watch-status{flex-basis:100%;order:3}.mail-toast{top:20px;right:16px}.mail-notifications>button{margin-left:auto}}@media print{.mail-notifications{display:none!important}.diary-sheet .diary-table th:first-child,.diary-sheet .diary-table th:nth-child(2){width:23%}}

/* TEL Einsatzkarte */
.tel-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 22px;padding:5px;background:#e6ecef;border-radius:10px;overflow:visible}.tel-tabs a{margin:0;padding:11px 18px;font-weight:650;color:#435966;border-radius:7px;white-space:nowrap}.tel-tabs a[aria-current=page]{background:#fff;color:#9e2733;box-shadow:0 1px 4px #142b3920}.tel-tabs a:hover{text-decoration:none;background:#ffffffa6}
.tel-map-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.tel-map-toolbar b{font-size:16px}.tel-map-toolbar .meta{display:block}.tel-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}.map-surface{min-width:0}.tel-incident-map{height:clamp(390px,65vh,780px);background:#e7ebed;z-index:0}.map-incident-panel{max-height:calc(65vh + 110px);overflow:auto}.map-incident-panel label{display:block;margin-bottom:8px}.map-incident{padding:17px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.map-incident:last-child{border-bottom:0}.map-incident h3{line-height:1.5;margin:9px 0}.map-incident p{margin:7px 0 12px;line-height:1.5}.map-incident .button,.map-incident button{font-size:12px;padding:8px 10px;white-space:normal}.map-incident .stack{gap:7px}.map-incident-state{font-size:12px;font-weight:750;border-left:3px solid;padding-left:8px}.map-incident-state.new{color:#a02331}.map-incident-state.working{color:#8d6318}.map-position-needed{font-size:12px;color:#8d6318;background:#fff6e2;padding:8px;border-radius:5px}.map-legend{padding:14px 16px;display:flex;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);font-size:12px}.map-legend span{display:flex;gap:6px;align-items:center}.map-dot{display:inline-block;width:11px;height:11px;border-radius:50%}.map-dot.new{background:#b52c37}.map-dot.working{background:#b17715}.map-footnote{padding:0 16px 12px;margin:0}.tel-map-pin{display:grid;place-items:center;color:white;border:3px solid white;border-radius:50%;font:700 13px system-ui,sans-serif;box-shadow:0 2px 8px #18253270}.tel-map-pin.new{background:#b52c37}.tel-map-pin.working{background:#926019}.tel-map-pin:focus{outline:3px solid #1c56b3;outline-offset:3px}.map-popup{min-width:210px}.map-popup h2{font-size:14px}.map-popup .map-incident h3{font-size:14px}.map-popup .map-incident p{margin:7px 0 12px}.map-popup .button{color:var(--ink)}.map-editor[hidden],.tel-map-workspace [hidden]{display:none!important}.map-editor{border:2px solid #9eb5dc}.map-editor .tel-command-head{margin-bottom:12px}.map-editor .split{max-width:700px}.leaflet-container{font-family:system-ui,sans-serif}.leaflet-control-attribution a{color:#174d65}.leaflet-control-attribution{max-width:100%;overflow-wrap:anywhere}.leaflet-popup-content{line-height:1.5}.leaflet-popup-content .stack{margin:0}.leaflet-control-zoom a{color:#182532}.tel-map-workspace button:disabled{opacity:.55;cursor:wait}
@media(max-width:1200px){.tel-map-layout{grid-template-columns:minmax(0,1fr) 310px}.tel-map-toolbar .stack{gap:6px}.tel-map-toolbar button{padding:8px 10px}}
@media(max-width:950px){.tel-map-layout{grid-template-columns:1fr}.map-incident-panel{max-height:none}.tel-incident-map{height:55vh;min-height:350px}.tel-tabs a{padding:10px 12px}.map-incident-panel [data-map-list]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 20px}}
.map-suggestions{margin:12px 0;background:#f4f7f9;border:1px solid var(--line);border-radius:6px;padding:10px}.map-suggestions summary{font-size:12px;margin-bottom:8px}.map-suggestion{padding:10px 0;border-bottom:1px solid var(--line)}.map-suggestion:last-child{border-bottom:0}.map-suggestion small{display:block}.map-suggestion button{margin-top:8px}
:where(.migration-code){display:block;padding:14px;background:#fff;border:1px solid #ccd4de;border-radius:6px;overflow-wrap:anywhere;user-select:all;font-size:16px}
:where(.migration-steps li){margin:10px 0;line-height:1.6}
:where(.recovery){max-width:780px;margin:24px auto}
/* Modular workspaces and TEL command view */
.integration-tabs,.tel-tabs{flex-wrap:wrap;gap:.45rem}.command-work{border-left:4px solid #cbd5e1;padding-left:1rem}.overdue{border-left:4px solid #be3a32!important;padding-left:1rem;background:#fff7ed}.danger-text{color:#ad302b;font-weight:650}.entry button{margin:.3rem .4rem .3rem 0}.nav-caption{font-size:.68rem;letter-spacing:.1em;margin-top:1.2rem}.nav-group summary{line-height:1.35}.nav-children .nav-link{font-size:.82rem}.asset-qr{width:180px;height:180px;shape-rendering:crispEdges}.asset-label{border:1px dashed #8893a4;padding:1rem;max-width:280px;text-align:center}.monitor-mode aside,.monitor-mode main>header,.monitor-mode [data-mail-notifications]{display:none}.monitor-mode main{margin-left:0}.monitor-mode .content{max-width:none}.tel-monitor{background:#edf1f5;min-height:100vh;padding:1rem}.tel-monitor:fullscreen{overflow:auto}.monitor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem}.monitor-summary{font-size:1.2rem;font-weight:650;padding:1rem 0}.monitor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(430px,100%),1fr));gap:1rem}.monitor-incident h2{font-size:1.45rem}.monitor-report{font-size:1.15rem;line-height:1.5}.monitor-section{background:#edf3fa;padding:.7rem;border-radius:6px}.monitor-fleet{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem}.monitor-vehicle{background:#edf5f1;border:1px solid #bdd4c8;border-radius:8px;padding:.8rem;display:grid;gap:.35rem}.monitor-vehicle.stale{background:#fff6e4;border-color:#d4ae59}.monitor-vehicle small{font-size:.78rem}.monitor-vehicle strong{color:#8a4e16;font-size:.8rem}
@media print{.monitor-mode .content,.tel-monitor{padding:0;background:white}.monitor-grid{display:block}.monitor-incident{break-inside:avoid}.asset-label{break-inside:avoid}.overdue{background:white}.tel-monitor details{display:block}}

/* Atemschutz: independent block layout prevents inline KPI padding from overlapping text. */
.air-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:16px;margin:20px 0}
.air-summary-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-width:0;padding:20px;border:1px solid var(--line);border-radius:10px;background:#fff}
.air-summary-label{display:block;line-height:1.5;font-size:13px;font-weight:650;overflow-wrap:anywhere}
.air-summary-number{display:block;font-size:34px;font-weight:750;line-height:1.15;font-variant-numeric:tabular-nums}
.air-fit{--air-tint:#f0f7f2;--air-edge:#468360}.air-unfit{--air-tint:#fcf0f1;--air-edge:#b65a65}.air-review{--air-tint:#fcf7e9;--air-edge:#b28c3b}.air-inactive{--air-tint:#f3f4f6;--air-edge:#8e9aa5}
.air-summary-card{background:var(--air-tint,#fff);border-top:3px solid var(--air-edge,var(--line))}
.air-fitness-table,.air-people-table{min-width:1040px}.air-fitness-table tr td,.air-people-table tr td{background:var(--air-tint,#fff);vertical-align:top;line-height:1.55}
.air-fitness-table tr td:first-child,.air-people-table tr td:first-child{border-left:3px solid var(--air-edge,transparent)}
.air-fitness-table td{min-width:118px}.air-fitness-table td:nth-child(2){min-width:220px;max-width:350px}.air-people-table td:nth-child(4){max-width:240px;overflow-wrap:anywhere}.air-people-table td:nth-child(7){min-width:210px;max-width:270px}
.air-filters{align-items:end;gap:12px}.air-filters>label,.air-filters>.field{flex:1 1 160px;min-width:140px;margin:0}.air-filters button{margin:0 0 4px}.air-filters input,.air-filters select{max-width:none}
.air-monitor-label{display:flex;gap:8px;align-items:center;margin:0;line-height:1.5}.air-monitor-label input[type=checkbox]{width:19px;height:19px;flex:0 0 19px;margin:0}.air-monitor-save{font-size:12px;margin:8px 0;padding:6px 10px}.air-people-table form{margin:0}
.air-contact-table{min-width:1000px}.air-contact-table td{vertical-align:top;min-width:170px}.air-contact-table td:nth-child(2){min-width:300px}.air-contact-table select{max-width:420px;white-space:normal}
@media(max-width:700px){.air-summary{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.air-summary-card{padding:15px;gap:12px}.air-summary-number{font-size:30px}.air-filters>label,.air-filters>.field{flex-basis:100%}}
@media(max-width:360px){.air-summary{grid-template-columns:1fr}}

/* Gemeinsame Kopfzeile: Bild vollständig, Bedienelemente auf eigener Fläche. */
.portal-head{height:auto;min-height:76px;display:flex;justify-content:flex-start;gap:clamp(12px,2vw,28px);padding:8px clamp(14px,2vw,34px)}
.portal-head-brand{display:block;flex:0 1 230px;min-width:0}.portal-banner{display:block;width:100%;height:auto;border-radius:5px}
.portal-head-context{flex:1;min-width:0;overflow-wrap:anywhere}.portal-head .account{margin-left:auto;flex-shrink:0}
.login-banner{margin:0 0 16px}.login-banner .portal-banner{border-radius:9px}
@media(max-width:700px){.portal-head{min-height:64px;gap:12px;flex-wrap:wrap}.portal-head-brand{flex:0 1 min(50vw,210px)}.portal-head-context{display:none}.portal-head .account{max-width:100%}}
@media print{.portal-head,.login-banner{display:none!important}}

.preview-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;padding:12px 16px;margin-bottom:15px;background:#fff4d5;border:1px solid #d2af57;color:#514018;border-radius:8px}.preview-bar form{margin:0 0 0 auto}.preview-bar button{margin:0}

.air-manual-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:20px}.air-manual-options>div{min-width:0}.air-manual-options select{width:100%;max-width:100%}.air-manual-options button{white-space:normal}
.air-send-preview{margin-top:20px;padding-top:12px;border-top:1px solid var(--line)}.air-send-preview .tablewrap{overflow-x:auto}
.air-scope .air-scope-picker{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin:16px 0 20px}.air-scope-picker .field{margin:0;min-width:0;flex:0 1 320px}.air-scope-picker button{margin:0}
.air-scope-fieldset{min-width:0;padding:10px 14px;border:1px solid var(--line);border-radius:6px;margin:0}.air-scope-fieldset legend{font-weight:600;padding:0 5px;max-width:100%;overflow-wrap:anywhere}
.air-scope-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,135px),1fr));gap:8px 16px}.air-scope-choices .check{display:flex;align-items:center;margin:4px 0;gap:8px}.air-scope-choices input[type=checkbox]{width:18px;height:18px;margin:0;flex:none}
.air-scope .air-scope-actions{display:flex;justify-content:flex-start;clear:both;margin-top:14px}.air-scope-actions button.primary{position:static;margin:0;max-width:100%;white-space:normal}
@media(max-width:550px){.air-scope-picker .field{flex:1 1 100%}.air-scope-choices{grid-template-columns:1fr}.air-scope .air-scope-actions button{width:100%}}

.air-place-metrics,.air-tools,.air-schedule-nav{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.air-place-metrics{margin:.65rem 0}.air-place-metrics>span{background:#f0f4f6;border-radius:5px;padding:.3rem .55rem}.air-place-metrics .air-free{background:#e6f3eb;color:#225d40}.air-place-metrics .air-full{background:#f9eee1;color:#795021}.air-schedule-nav{margin:1rem 0}.air-session-line,.air-participant{display:flex;gap:1rem;align-items:center;justify-content:space-between;border-top:1px solid #dfe5e9;padding:.85rem 0}.air-session-line p,.air-participant p{margin:.25rem 0;color:#475868}.air-session-line>div:first-child,.air-participant>div:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.air-tools form,.air-participant form{margin:0}.air-schedule-nav .button{display:inline-flex;width:auto;color:#263846}.air-schedule-nav .button.primary{color:white}#teilnehmer small{font-weight:normal}#teilnehmer form .field select,#warteliste form .field select{max-width:100%}@media(max-width:650px){.air-session-line,.air-participant{align-items:flex-start;flex-wrap:wrap}.air-session-line>div:first-child{flex-basis:100%}.air-participant .air-tools{max-width:100%}.air-schedule-nav{gap:.4rem}.air-schedule-nav .button{white-space:normal}}

.tf-pool,.tf-counts,.tf-monitor header{display:flex;gap:.65rem;flex-wrap:wrap}.tf-car{display:flex;align-items:center;gap:.4rem;padding:.4rem .7rem;border:1px solid #c7d4da;border-radius:7px;background:#f6f8fa;cursor:grab}.tf-grip{touch-action:none;user-select:none;font-size:23px;padding:4px;color:#586774}.tf-car small,.tf-counts strong{display:block}.tf-drag{outline:2px solid #a72b3b}.tf-over{outline:3px solid #186995;background:#f1f9ff}.tf-case h3,.tf-mon-card h3{margin:.3rem 0 .65rem}.tf-case>details{border-top:1px solid #e2e7e9;margin-top:.6rem;padding-top:.6rem}.tf-case summary,.tf-demand summary{cursor:pointer;font-weight:650}.tf-map{height:clamp(230px,45vh,530px);margin-top:12px}.tf-prio{display:inline-block;border-radius:5px;padding:.18rem .45rem;background:#e5eef3;font-weight:700;font-size:.78rem}.tf-p1{color:#fff;background:#9a1829}.tf-p2{color:#693900;background:#ffe4ae}.tf-p0{color:#4e5156;background:#e9eaec}.tf-group{margin-top:25px}.tf-monitor{padding:clamp(12px,2vw,26px);background:#f1f4f6;color:#172934;width:100%;min-height:100vh}.tf-monitor:fullscreen{overflow:auto}.tf-monitor header{align-items:center;justify-content:space-between;background:transparent;padding:0}.tf-monitor header h1{font-size:clamp(22px,3vw,36px);margin:4px 0}.tf-counts>div{flex:1 1 130px;background:#fff;padding:.8rem 1rem;border-left:4px solid #456374;border-radius:5px}.tf-counts strong{font-size:1.7rem}.tf-counts>div:nth-child(2){border-color:#b72a43}.tf-counts>div:nth-child(3){border-color:#d78716}.tf-demand{background:#fff9ee;padding:.7rem 1rem;margin-top:1rem}.tf-mon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:.8rem}.tf-mon-card{border:1px solid #dce4e7;background:#fff;border-radius:8px;padding:1rem;overflow-wrap:anywhere}.tf-mon-card p{margin:.4rem 0}.tf-last{background:#f2f6f8;padding:.55rem .75rem;margin-top:.8rem}.tf-stale{background:#ffedc3;color:#702b15;padding:.6rem}.tf-monitor-group{margin:1.3rem 0}.tf-monitor small{color:#485c68}
.tf-plan td,.tf-plan th{vertical-align:top}.tf-plan .tf-plan-group th{background:#e5edf2;text-align:left;color:#16354a;font-size:1rem}.tf-plan td a{white-space:nowrap}@media print{.tf-plan{overflow:visible}.tf-plan table{font-size:9pt;min-width:0;width:100%}.tf-plan th,.tf-plan td{padding:4px;white-space:normal}.tf-plan thead{display:table-header-group}.tf-plan tr{break-inside:avoid}.tf-plan a{color:#151515}}

.tf-other{padding:.55rem 0;border-top:1px solid #dce4e7}.tf-other p{margin:.3rem 0}.tf-others h2 small{font-weight:normal}.tf-others{background:#f7f9fa}

/* Dispatch console: the two scroll containers keep the target and vehicle pool in reach. */
.desk-bar,.desk-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:.65rem 0 1rem}.desk-action,.desk-actions button,.desk-target{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.55rem .9rem;border:1px solid #bdcbd4;background:white;color:#233747;border-radius:7px;font-weight:650;text-decoration:none}.desk-action.selected{background:#203c50;border-color:#203c50;color:white}.desk-board{display:grid;grid-template-columns:minmax(185px,.72fr) minmax(250px,1.6fr);gap:12px;height:clamp(335px,calc(100dvh - 240px),760px)}.desk-pane{display:flex;flex-direction:column;min-height:0;min-width:0;border:1px solid #c6d5dc;border-radius:9px;overflow:hidden;background:#fff}.desk-pane>header{display:block;position:static;padding:10px 12px;background:#edf2f5;height:auto;flex:none;border:0}.desk-pane h2{font-size:1.1rem;margin:0 0 .45rem}.desk-pane small{font-size:.78em}.desk-pane input{width:100%;min-width:0;height:36px}.desk-scroll{overflow:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:5px}.desk-car{border:1px solid transparent;background:white;color:#182c39;display:grid;grid-template-columns:22px minmax(0,1fr) 30px;align-items:center;gap:5px;width:100%;text-align:left;margin:0;padding:7px 3px;min-height:46px;border-bottom-color:#dae3e8;white-space:normal}.desk-car>span>b,.desk-car small{display:block;overflow-wrap:anywhere}.desk-car small,.desk-ref,.desk-units{color:#455d6a}.desk-car strong{background:#e6edf1;padding:4px;text-align:center;border-radius:4px}.desk-car .tf-grip{font-size:20px;padding:8px 0}.desk-car[aria-pressed=true]{background:#e2f0fb;border-color:#39799a}.desk-incident{margin:0 0 5px;padding:9px 12px;border:1px solid #d2dfe5;border-left:4px solid #516d7d;border-radius:6px;overflow-wrap:anywhere}.desk-incident.eligible{border-color:#6497b6}.desk-incident.tf-over{outline:2px solid #1b729d;background:#e1f1ff}.desk-key{display:inline-block;background:#243e50;color:white;border-radius:4px;padding:2px 7px;font-weight:750;margin-right:7px}.desk-ref,.desk-units{font-size:.83rem}.desk-address{display:block;font-size:1.07rem;font-weight:750;color:#192e3b;margin:.28rem 0}.desk-incident p{margin:.18rem 0}.desk-units{margin-top:.2rem}.desk-group{font-size:1rem;margin:.6rem}.desk-selection{padding:.55rem .75rem;background:#eaf2f6;color:#183749}.desk-hero,.desk-panel{background:white;border:1px solid #cbd8e0;border-radius:8px;padding:clamp(12px,2vw,22px);margin:.7rem 0;overflow-wrap:anywhere}.desk-hero{border-left:5px solid #23485f}.desk-hero h2{margin:.5rem 0 .25rem}.desk-hero p{margin:.3rem 0 .5rem;font-size:1.1rem}.desk-panel h3{margin:0 0 .65rem}.desk-status{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:.5rem}.desk-status button{display:flex;align-items:center;gap:7px;min-height:52px;text-align:left;white-space:normal;background:#f5f8fa;color:#192f40}.desk-status b{font-size:1.4rem}.desk-status .chosen{border:2px solid #33739a;background:#e0edf8}.desk-unit{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;padding:.4rem;border-bottom:1px solid #d8e3e9}.desk-unit form{margin:0}.desk-target[hidden],.desk-car[hidden],.desk-incident[hidden],[data-local-keyword][hidden]{display:none!important}.desk-target{min-height:40px;font-size:.85rem;margin:.2rem 0}.desk-board button:focus-visible,.desk-actions :focus-visible{outline:3px solid #306fab}.desk-panel:focus-within{border-color:#829cab}
@media(max-width:660px){.desk-board{display:flex;flex-direction:column;height:auto;gap:6px}.desk-fleet{max-height:155px}.desk-pane:not(.desk-fleet){height:clamp(255px,46dvh,490px)}.desk-fleet header,.desk-pane>header{display:flex;align-items:center;gap:.5rem;padding:6px}.desk-pane header h2{margin:0;white-space:nowrap;font-size:.95rem}.desk-pane header input{height:32px}.desk-fleet .desk-scroll{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(135px,100%),1fr));min-height:50px}.desk-car{grid-template-columns:18px minmax(0,1fr) 24px;font-size:.86rem}.desk-fleet .tf-grip{font-size:17px}.desk-bar .button,.desk-bar .desk-action{font-size:.88rem}.desk-actions .desk-action{flex:1 1 110px}.desk-status{grid-template-columns:repeat(2,minmax(0,1fr))}}
.desk-key.desk-fire{background:#872d37}.desk-key.desk-help{background:#245674}.desk-tag{display:inline-block;background:#eaf0f3;color:#203747;border-radius:4px;padding:1px 5px;margin:1px 3px 1px 0}.desk-tag b{border-left:1px solid #aabcc5;padding-left:4px}.desk-car strong[data-code="1"],.desk-car strong[data-code="2"]{background:#e1f0e7;color:#20553f}.desk-car strong[data-code="3"],.desk-car strong[data-code="4"]{background:#dfebf3;color:#173e57}.desk-car strong[data-code="6"]{background:#f1e3e5;color:#802e3b}

/* Global mail alerts occupy no space until a new alarm arrives. */
.mail-watcher{display:contents}.mail-sound-settings{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .85rem}.mail-sound-settings small{color:var(--muted)}.mail-sound-settings button[aria-pressed="true"]{background:#e4f3eb;color:#20543a}.mail-inbox-summary [data-mail-watch-status]:empty{display:none}
.desk-case-top{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .4rem}.desk-case-top .desk-ref{margin:0}.desk-allocation{margin-inline-start:auto;border:1px solid;border-radius:5px;padding:2px 6px;font-size:.75rem;line-height:1.35;font-weight:700}.allocation-open{color:#724000;background:#fff2d6;border-color:#d5ae68}.allocation-assigned{color:#17503b;background:#e5f4ec;border-color:#99c4ae}.desk-units:empty{display:none}
@media print{.mail-watcher,.mail-sound-settings{display:none!important}}

/* One readable status chip on every operational screen. Codes remain legible without colour. */
.tel-status-chip{display:inline-flex;align-items:center;justify-content:center;min-width:1.85em;min-height:1.65em;box-sizing:border-box;padding:.15em .43em;border-radius:.35em;border:1px solid var(--chip-line,#a8b2b7);background:var(--chip-bg,#eef1f2);color:var(--chip-fg,#39474e);font-weight:750;font-size:.88em;line-height:1.15;font-variant-numeric:tabular-nums}
:is(.tel-status-chip,.vehicle-tile)[data-code="1"]{--chip-bg:#d4f5de;--chip-fg:#125332;--chip-line:#79b68c}
:is(.tel-status-chip,.vehicle-tile)[data-code="2"]{--chip-bg:#216645;--chip-fg:#fff;--chip-line:#184f35}
:is(.tel-status-chip,.vehicle-tile)[data-code="3"]{--chip-bg:#ffdcd7;--chip-fg:#832b23;--chip-line:#d49389}
:is(.tel-status-chip,.vehicle-tile)[data-code="4"]{--chip-bg:#9e3038;--chip-fg:#fff;--chip-line:#79242b}
:is(.tel-status-chip,.vehicle-tile)[data-code="5"]{--chip-bg:#ffe29e;--chip-fg:#674100;--chip-line:#c99c3c}
:is(.tel-status-chip,.vehicle-tile)[data-code="6"]{--chip-bg:#343f48;--chip-fg:#fff;--chip-line:#2c363e}
:is(.tel-status-chip,.vehicle-tile)[data-code="7"]{--chip-bg:#f1d9ed;--chip-fg:#702658;--chip-line:#be85ac}
:is(.tel-status-chip,.vehicle-tile)[data-code="8"]{--chip-bg:#dcecf9;--chip-fg:#1a5077;--chip-line:#8aaac2}
:is(.tel-status-chip,.vehicle-tile)[data-code="9"]{--chip-bg:#e9e2f6;--chip-fg:#563575;--chip-line:#ac95c4}
.desk-car>.tel-status-chip{align-self:center;justify-self:end;font-size:.92rem}.desk-status .tel-status-chip{font-size:1.05rem}.desk-tag .tel-status-chip{vertical-align:middle;margin-left:.15em}
.district-monitor-layout{display:grid;grid-template-columns:minmax(290px,.8fr) minmax(0,1.5fr);gap:clamp(.8rem,2vw,1.5rem);align-items:start}.district-case-list{min-width:0}.district-case-list>.note:first-child{margin:0 0 .5rem}.district-case-list .tf-monitor-group:first-of-type{margin-top:.35rem}
.district-map{margin:0;position:sticky;top:.75rem;min-width:0;background:#fff;border:1px solid #cad6d9;border-radius:.65rem;overflow:hidden}.district-map figcaption{padding:.85rem 1rem .5rem}.tf-monitor .district-map figcaption small{font-size:.68rem;font-weight:750;letter-spacing:.1em;color:#4d626c}.district-map figcaption h2{margin:.2rem 0;font-size:1.28rem}.district-map figcaption p{font-size:.85rem;margin:0;color:#485e68}
.district-map svg{display:block;width:100%;height:auto;max-height:47vh;min-height:215px;background:#f3f7f8}.district-shape{fill:#dfe8ea;stroke:#fff;stroke-width:2;stroke-linejoin:round}.district-shape.district-active{fill:#addbcf}.district-label{text-anchor:middle;fill:#435860;font-family:system-ui,sans-serif}.district-label.district-has{fill:#0c4139}.district-number{font-size:36px;font-weight:760;font-variant-numeric:tabular-nums}.district-name{font-size:18px;font-weight:650;paint-order:stroke;stroke:#eff5f3;stroke-width:2px;stroke-linejoin:round}.district-north{fill:#536971;text-anchor:middle;font:600 14px system-ui}
.district-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dce4e6}.district-stats>div{display:flex;align-items:center;gap:.5rem;padding:.55rem .8rem}.district-stats>div+div{border-left:1px solid #dce4e6}.district-stats b{font-size:1.35rem}.district-stats span{font-size:.8rem}.district-unassigned{background:#fff1d2;color:#6b470d}.district-source{display:block;padding:.38rem .8rem;border-top:1px solid #e3e9ea;font-size:.65rem}
@media(max-width:820px){.district-monitor-layout{grid-template-columns:1fr}.district-map{position:static}.district-map svg{max-height:38vh}.district-case-list .tf-monitor-group h2{margin-top:.4rem}}

.vehicle-tile[data-code]{border-left-color:var(--chip-line,#a8b2b7)}

.district-river-key{display:flex;align-items:center;gap:.45rem;padding:.35rem .8rem;font-size:.78rem;color:#415a65}.district-river-key i{width:1.4rem;border-top:2px solid #40829a;border-radius:2px}.district-source a{color:inherit;text-decoration:underline}
/* Compact identity, with the original wordmark cropped from the existing red banner. */
aside .side-logo{display:block;overflow:hidden;width:min(100%,210px);height:62px;flex-shrink:0;background:#cf002c;border-radius:5px}aside .side-logo .portal-banner{display:block;width:100%;height:100%;object-fit:cover;object-position:left center;max-width:none;transform:scale(1.85);transform-origin:8% 50%}
main:not(.auth)>.content{padding-top:.6rem}
.td-car-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid #dae3e8}.td-car-row .desk-car{grid-template-columns:22px minmax(0,1fr);border-bottom:0}.td-status-link{display:inline-flex;justify-content:center;align-items:center;min-width:36px;min-height:40px;text-decoration:none}.td-car-row>.tel-status-chip{margin-right:3px}
.td-areas{margin:.4rem 0 .8rem}.td-areas h3{font-size:1rem;margin:.25rem 0}.td-area-grid{display:flex;gap:.6rem;overflow:auto;padding:.15rem 0 .4rem}.td-area-grid>.td-area{flex:0 0 clamp(175px,19vw,270px);max-height:220px;overflow:auto;border-inline-start:4px solid #436b70}.td-area details,.td-area form{margin:.3rem 0}.td-area summary{font-size:.78rem}.td-area-units small{font-size:.74rem}.td-area-grid :is(button,summary){cursor:pointer}.td-area.tf-over{outline:3px solid #29877d}
.td-clock{margin:.5rem 0;background:#223944;color:white;border-radius:6px;padding:.55rem .8rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.td-clock small{color:#c5dce1}.td-clock time{font:650 clamp(16px,1.7vw,24px) system-ui;font-variant-numeric:tabular-nums}.td-map-column{position:sticky;top:.75rem}.td-map-column .district-map{position:static}
.td-map-icon{background:transparent;border:0}.td-pins{display:grid;width:100%;height:100%;grid-template-columns:repeat(auto-fit,minmax(32px,1fr));gap:1px;align-content:center}.td-marker{display:inline-flex;justify-content:center;align-items:center;border:1px solid #424e55;border-radius:5px;padding:2px 5px;font:750 13px/1.25 system-ui;color:white;background:#49545a;white-space:nowrap}.td-marker.fire{background:#b32634;border-color:#871726}.td-marker.help{background:#185996;border-color:#123d6a}.td-marker.sent.fire{background:#f6d7db;color:#702531;border-color:#b46e78}.td-marker.sent.help{background:#d2e5f8;color:#1c4262;border-color:#7497b7}.td-marker.sent.other{background:#dfe3e5;color:#34454d;border-color:#8d999f}.td-pins .td-marker{min-height:25px;box-shadow:0 0 0 1px white}.td-legend{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;font-size:.78rem;padding:.5rem 0}
.td-plan-head,.td-comms-tree{display:flex;flex-wrap:wrap;gap:.65rem}.td-plan-head>div,.td-comms-tree>article{background:white;border:1px solid #cad6db;border-radius:6px;padding:.65rem;min-width:13rem}.td-comms-tree h3{margin:0}.td-comms-tree p{margin:.25rem 0}
@media(max-width:820px){.td-map-column{position:static}}@media(max-width:700px){aside .side-logo{width:125px;height:36px;margin:0 0 .25rem}aside footer{display:none}.desk-car-wrap{min-width:0}}
@media print{.td-comms-tree article,.td-plan-head>div{break-inside:avoid}}

.td-pins.td-cols-1{grid-template-columns:1fr}.td-pins.td-cols-2{grid-template-columns:repeat(2,1fr)}.td-pins.td-cols-3{grid-template-columns:repeat(3,1fr)}

@media(max-width:700px){aside:has(>.sidebar-drawer){position:relative;min-height:52px}aside:has(>.sidebar-drawer)>.side-logo{position:absolute;top:8px;left:14px;margin:0}.sidebar-drawer>.mobile-menu-toggle{margin-left:134px;min-height:36px;padding:.25rem 0 .25rem .5rem;gap:.3rem;font-size:.76rem}.sidebar-drawer[open]>nav.portal-nav{margin-top:.5rem}}

aside>.sidebar-session{display:flex;flex:0 0 auto;min-width:0;align-items:center;justify-content:space-between;gap:.45rem;border-top:1px solid #38505d;padding:.6rem .2rem 0}
.sidebar-session>a{display:block;min-width:0;color:#f3f7f8;line-height:1.25;text-decoration:none;overflow-wrap:anywhere}.sidebar-session small{display:block;font-size:.67rem;color:#bdcdd6}.sidebar-session strong{font-size:.85rem}.sidebar-session form{margin:0;flex-shrink:0}.sidebar-session button{font-size:.78rem;min-height:36px;background:#243d4a;border:1px solid #64808e;color:white;padding:.35rem .55rem}.sidebar-session :is(a,button):focus-visible{outline:2px solid #acd5ff;outline-offset:2px}aside>.sidebar-session+footer{border-top:0;padding:0 .2rem}
@media(max-width:700px){aside>.sidebar-drawer:not([open])+.sidebar-session{display:none}aside>.sidebar-session{padding:.5rem .25rem .1rem}.sidebar-session button{min-height:42px}}

.td-area-grid>.td-area{display:flex;flex-direction:column;align-items:stretch;gap:.22rem;min-width:0;max-height:none;overflow:visible;background:#fff}
.td-area-title{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.td-area-title strong,.td-area-preview>span>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-area-title>b{border-radius:5px;background:#ecf2f4;color:#253f48;padding:.12em .5em;font-size:.82rem}.td-area-counts{color:#465e68;font-size:.77rem}.td-area-preview{display:grid;gap:2px;min-height:2.55rem}.td-area-preview>span{display:flex;justify-content:space-between;align-items:center;gap:.25rem;min-width:0;font-size:.76rem}.td-area-preview .tel-status-chip{flex:none}.td-area-more{margin-top:auto;font-size:.77rem;font-weight:650}.td-area-detail{max-width:900px}.td-area-search,.td-area-pages,.td-unit-line{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.td-area-search label{flex:1;min-width:min(100%,220px)}.td-unit-line{justify-content:space-between;border-top:1px solid #d4dfe3;padding:.45rem 0}.td-unit-line small{color:#42565e}.td-unit-line form{margin:0}.td-area-pages{margin-top:.75rem}.td-unit-line>div{min-width:0;overflow-wrap:anywhere}
[data-tf-board] .td-area-grid>.td-area{background-color:#fff}

.af-review{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:.8rem;align-items:start}.af-review>section{min-width:0}.af-original{position:sticky;top:.6rem}.af-original iframe{display:block;width:100%;height:65vh;min-height:300px;border:1px solid #cad6db;background:#f1f4f5}.af-original small{display:block;margin-top:.35rem}.af-upload{margin:.6rem 0}.af-upload form{max-width:34rem}.af-review details{margin:.6rem 0}.af-review h2{font-size:1.12rem}@media(max-width:820px){.af-review{grid-template-columns:1fr}.af-original{position:static}.af-original iframe{height:38vh;min-height:190px}}

.tf-map-districts{display:flex;flex-wrap:wrap;gap:.35rem .85rem;margin:.35rem 0 .6rem;padding:0;list-style:none}.tf-map-districts li{white-space:nowrap}.tf-map-districts b{font-variant-numeric:tabular-nums}
.ti-control{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.15em;min-width:2.2rem;min-height:2rem;vertical-align:middle;cursor:pointer}.ti-control select{position:absolute;margin:0;inset:0;width:100%;height:100%;min-width:0;opacity:0;cursor:pointer}.ti-control:focus-within{outline:2px solid #147aa0;outline-offset:1px;border-radius:.28rem}.ti-control[data-ti-busy]{opacity:.65}.ti-control .ti-arrow{font-size:.65rem;color:#425563}.ti-stale{outline:2px solid #984921}.ti-notice{position:fixed;bottom:1rem;right:1rem;max-width:min(30rem,90vw);z-index:1500;padding:.65rem .9rem;background:#17313e;color:white;border-radius:.35rem;box-shadow:0 2px 10px #0003}.ti-notice[hidden]{display:none}.ti-notice button{margin-left:.3em}.tp-link{display:inline-block;font-weight:650;white-space:normal}[data-tp-photo] input[type=file]{display:block;max-width:100%;font-size:.87rem}[data-tp-photo] legend{font-weight:650}
.tv-compose>summary{list-style:none;width:max-content;cursor:pointer}.tv-compose>summary::-webkit-details-marker{display:none}.tv-compose form{margin-top:.7rem}.tv-older summary{cursor:pointer;padding:.6rem 0;font-weight:600}.tv-report{margin:.55rem 0;padding:.5rem .7rem;border-left:3px solid #4a7083;background:#f2f6f7}.tv-report p{margin:.25rem 0}.tv-report small{color:#415865}.tv-status .desk-status [aria-pressed=true]{outline:2px solid #1a536f;background:#edf5f8}
@media screen{
.tablet-portal>aside{position:relative;inset:auto;display:block;width:auto;height:auto;min-height:54px;padding:max(5px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 5px max(14px,env(safe-area-inset-left));background:#173442}
.tablet-portal>aside>.side-logo{position:absolute;top:max(8px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));width:128px;margin:0}.tablet-portal>aside>.side-logo img{width:128px;height:35px;object-fit:cover}
.tablet-portal .sidebar-drawer{display:block;overflow:visible;margin:0}.tablet-portal .sidebar-drawer>.mobile-menu-toggle{display:flex;align-items:center;justify-content:flex-end;color:#fff;min-height:44px;margin:0 0 0 140px;padding:0;gap:.7rem;font-size:.9rem}
.tablet-portal .sidebar-drawer[open]>nav.portal-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .7rem;max-height:55dvh;overflow:auto}.tablet-portal .sidebar-drawer:not([open])>nav,.tablet-portal .sidebar-drawer:not([open])~.sidebar-session,.tablet-portal>aside>footer{display:none}.tablet-portal .sidebar-session{padding:.45rem 0}.tablet-install{color:white}.tablet-install summary{padding:.7rem;cursor:pointer}.tablet-install p{max-width:40rem}.tablet-portal main{margin:0;padding:0}.tablet-portal main>.content{padding:clamp(.7rem,1.8vw,1.3rem) max(clamp(.7rem,1.8vw,1.3rem),env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(clamp(.7rem,1.8vw,1.3rem),env(safe-area-inset-left));max-width:1500px;margin:auto}
.tablet-portal .desk-bar{gap:.45rem;margin:.4rem 0 .65rem}.tablet-portal .titlebar{margin:0 0 .45rem}.tablet-portal .titlebar h1{font-size:clamp(1.35rem,3vw,1.9rem)}.tablet-portal .titlebar .subtitle{margin:.15rem 0;line-height:1.3}.tablet-portal .desk-car,.tablet-portal .desk-pane input,.tablet-portal .ti-control,.tablet-portal .tf-grip,.tablet-portal .desk-status button{min-height:44px}.tablet-portal .ti-control{min-width:44px}.tablet-portal .td-car-row{grid-template-columns:minmax(0,1fr) auto}
.tablet-portal .desk-status{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(155px,100%),1fr));gap:.4rem}.tablet-portal .desk-status button{align-items:center;text-align:left}.tablet-portal .tv-status h3,.tablet-portal .tv-reports h3{margin:.1rem 0 .55rem}.tablet-portal .tv-status>p{margin:.25rem 0 .65rem}.tablet-portal .tv-older,.tablet-portal .tv-reports{overflow-wrap:anywhere}
@media(min-width:700px){.tablet-portal .desk-board{display:grid;grid-template-columns:minmax(215px,.82fr) minmax(0,1.55fr);height:clamp(340px,58dvh,780px)}}
@media(max-width:699px){.tablet-portal .desk-board{display:flex;flex-direction:column;height:auto}.tablet-portal .desk-fleet{max-height:32dvh}.tablet-portal .desk-pane:not(.desk-fleet){height:44dvh}}
.tablet-offline{position:sticky;top:0;z-index:1200;background:#7c2d12;color:#fff;font-weight:650;padding:.65rem .85rem}.tablet-offline[hidden]{display:none}
}
