:root{--bg:#080d12;--panel:#0f1720;--panel2:#121d28;--line:#203140;--text:#eef5fb;--muted:#8497a8;--accent:#37e38b;--accent2:#22b96c;--warn:#ffb548;--danger:#ff5d6c;--shadow:0 18px 50px rgba(0,0,0,.32)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif}body{min-height:100vh}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:245px;background:linear-gradient(180deg,#0b1219,#081017);border-right:1px solid var(--line);padding:22px 15px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 25px}.brand-mark,.login-logo{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(55,227,139,.7);background:rgba(55,227,139,.1);color:var(--accent);font-weight:900;letter-spacing:-1px;border-radius:12px;box-shadow:inset 0 0 24px rgba(55,227,139,.08)}.brand strong{display:block;letter-spacing:1.4px}.brand span{display:block;color:var(--accent);font-size:11px;letter-spacing:3px;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-item{color:#9aacbb;text-decoration:none;padding:12px 13px;border-radius:10px;display:flex;gap:12px;align-items:center;font-weight:650}.nav-item:hover{background:#111d27;color:white}.nav-item.accent{border:1px solid rgba(55,227,139,.2);color:#dfffee;background:rgba(55,227,139,.05)}.side-footer{margin-top:auto;border-top:1px solid var(--line);padding-top:16px}.user-chip{display:flex;gap:10px;align-items:center}.user-chip strong,.user-chip small{display:block}.user-chip small{color:var(--muted);font-size:11px}.status-dot{width:9px;height:9px;background:var(--accent);border-radius:50%;box-shadow:0 0 10px var(--accent)}.logout{display:block;color:var(--muted);text-decoration:none;font-size:12px;margin:12px 0 0 19px}.main{margin-left:245px;width:calc(100% - 245px);padding:28px}.main.full{margin:0;width:100%;padding:0}.page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:24px}.page-head h1{font-size:30px;margin:2px 0 4px;letter-spacing:-.8px}.eyebrow{font-size:11px;letter-spacing:2.5px;color:var(--accent);font-weight:800;margin:0}.muted{color:var(--muted);margin:4px 0}.live-pill{font-size:11px;color:#c9ffdf;border:1px solid rgba(55,227,139,.25);background:rgba(55,227,139,.06);padding:8px 11px;border-radius:999px}.live-pill span{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:6px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.kpi{background:linear-gradient(145deg,var(--panel),#0b131b);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.kpi small{color:var(--muted);font-size:10px;letter-spacing:1.3px}.kpi strong{display:block;font-size:34px;margin:7px 0 1px}.kpi strong.text{font-size:18px;margin-top:10px}.kpi span{color:#6f8495;font-size:12px}.kpi.warning strong{color:var(--warn)}.panel{background:linear-gradient(160deg,var(--panel),#0c141c);border:1px solid var(--line);border-radius:15px;padding:20px;margin-bottom:18px;box-shadow:var(--shadow)}.panel h2{font-size:17px;margin:0 0 16px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:#6f8292;font-size:10px;letter-spacing:1px;padding:11px 10px;border-bottom:1px solid var(--line)}td{padding:14px 10px;border-bottom:1px solid #172530;font-size:14px;vertical-align:top}td strong,td small{display:block}td small{color:var(--muted);font-size:11px;margin-top:4px}.status-tag,.badge{display:inline-block;border:1px solid rgba(55,227,139,.28);background:rgba(55,227,139,.08);color:#a9f7c9;padding:4px 7px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.5px}.badge.warn{border-color:rgba(255,181,72,.3);background:rgba(255,181,72,.08);color:#ffd18a}.badge.ok{color:#a9f7c9}.link{color:var(--accent);text-decoration:none;font-weight:700;cursor:pointer}.btn{border:1px solid #2b4355;background:#14222d;color:white;border-radius:9px;padding:9px 13px;text-decoration:none;font-weight:750;cursor:pointer}.btn.primary{background:linear-gradient(180deg,#36dc87,#21b76a);color:#06120c;border-color:#49e997}.btn.small{padding:6px 9px;font-size:11px}.btn.wide{width:100%}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:13px}.duty-card{display:block;text-decoration:none;color:var(--text);border:1px solid var(--line);background:#0b141c;border-radius:12px;padding:16px;transition:.2s}.duty-card:hover{transform:translateY(-2px);border-color:#345266}.duty-card h3{margin:14px 0 4px}.duty-card p{color:var(--muted);margin:0}.card-top,.meta{display:flex;justify-content:space-between;gap:12px;color:#718596;font-size:11px}.meta{margin-top:14px}.assignment-strip{margin-top:12px;border-top:1px solid var(--line);padding-top:10px;color:#c7d3dc;font-size:12px}.split{display:grid;grid-template-columns:2fr 1fr;gap:18px}.split.wide-left{grid-template-columns:2.2fr 1fr}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.span2{grid-column:span 2}.span3{grid-column:span 3}.stack{display:flex;flex-direction:column;gap:12px}label{font-size:11px;color:#91a4b3;font-weight:700;letter-spacing:.3px}input,select,textarea{width:100%;margin-top:6px;background:#081018;border:1px solid #263b4c;color:white;border-radius:8px;padding:10px 11px;outline:none;font:inherit}input:focus,select:focus,textarea:focus{border-color:#38c87b;box-shadow:0 0 0 3px rgba(55,227,139,.08)}textarea{min-height:82px;resize:vertical}.inline-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:7px;margin-top:8px}.info-box,.briefing{border-left:3px solid var(--accent);background:#0a141b;padding:13px 14px;color:#b8c6d0;line-height:1.55;border-radius:5px}.briefing.strong{font-size:16px;color:#e7f1f7}.icon-btn{border:0;background:#1a2731;color:white;border-radius:7px;width:28px;height:28px;cursor:pointer}.icon-btn.danger{color:#ff8e98}.timeline{display:flex;flex-direction:column;gap:9px}.event{display:grid;grid-template-columns:135px 1fr auto;gap:14px;border:1px solid var(--line);background:#0a131a;padding:12px;border-radius:10px}.event.closed{opacity:.55}.event-time{color:var(--muted);font-size:12px}.event p{margin:4px 0;color:#b7c4ce}.event small{color:#718494}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.map-panel{padding:0;overflow:hidden}.map-side{margin:0}.map-side .legend{display:grid;grid-template-columns:1fr 1fr;gap:7px;font-size:12px;color:#9eb0be;margin-bottom:15px}.coords{display:grid;grid-template-columns:1fr 1fr;gap:8px}.point-list{margin-top:18px;display:flex;flex-direction:column;gap:7px}.point-item{display:flex;justify-content:space-between;gap:8px;background:#09121a;border:1px solid var(--line);border-radius:8px;padding:9px}.point-item strong,.point-item small{display:block}.point-item small{color:var(--muted);font-size:10px;margin-top:2px}#map{height:70vh;min-height:520px}.pg-marker{background:transparent;border:0}.pg-marker div{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#0b141c;border:2px solid #42e28e;box-shadow:0 3px 12px rgba(0,0,0,.5);font-size:20px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,#153225 0,#0b141a 32%,#05080b 75%);padding:20px}.login-card{width:min(430px,100%);background:rgba(12,20,27,.93);border:1px solid #263a48;border-radius:18px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.5)}.login-logo{margin-bottom:20px}.login-card h1{margin:0;font-size:28px}.demo-box{margin-top:18px;padding:12px;background:#081017;border:1px solid var(--line);border-radius:9px;display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;font-size:11px;color:#8ca0af}.alert{padding:10px;border-radius:8px;margin:14px 0}.alert.danger{background:rgba(255,93,108,.1);border:1px solid rgba(255,93,108,.3);color:#ffabb2}.mobile-duty{max-width:900px;margin:auto}.duty-hero{background:linear-gradient(135deg,#10241b,#0c1720);border:1px solid rgba(55,227,139,.25);border-radius:18px;padding:24px;margin-bottom:14px}.duty-hero h1{font-size:30px;margin:5px 0}.hero-time{font-size:17px;font-weight:800;margin-top:18px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.hero-time span{color:var(--muted);font-size:11px}.assignment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.assignment-grid>div,.mobile-section{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:16px}.assignment-grid small,.assignment-grid strong,.assignment-grid span{display:block}.assignment-grid small{color:var(--muted);font-size:10px}.assignment-grid strong{font-size:20px;margin-top:5px}.assignment-grid span{color:var(--muted);font-size:11px}.mobile-section{margin-bottom:12px}.mobile-section h2{font-size:15px;margin:0 0 12px}#miniMap{height:340px;border-radius:10px;overflow:hidden}.empty-state{text-align:center;padding:15vh 20px;color:var(--muted)}.empty-state>div{font-size:45px;color:var(--accent)}.empty-state h1{color:white}.compact{margin-bottom:18px}
@media(max-width:1000px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.split,.split.wide-left,.map-layout{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr 1fr}.span3{grid-column:span 2}.map-side{order:-1}#map{height:55vh}}
@media(max-width:760px){.sidebar{position:fixed;left:0;right:0;top:auto;bottom:0;width:auto;height:70px;flex-direction:row;padding:7px 8px;background:#081018;border-top:1px solid var(--line);border-right:0}.brand,.side-footer{display:none}.sidebar nav{width:100%;display:grid;grid-template-columns:repeat(5,1fr);gap:2px}.nav-item{padding:7px 4px;display:flex;flex-direction:column;gap:2px;text-align:center;font-size:19px}.nav-item span{font-size:9px}.main{margin-left:0;width:100%;padding:18px 13px 88px}.page-head{align-items:flex-start}.page-head h1{font-size:25px}.live-pill{display:none}.kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.kpi{padding:13px}.kpi strong{font-size:27px}.split,.form-grid,.form-grid.three{grid-template-columns:1fr}.span2,.span3{grid-column:span 1}.panel{padding:15px}.assignment-grid{grid-template-columns:1fr 1fr}.assignment-grid>div:last-child{grid-column:span 2}.inline-form{grid-template-columns:1fr}.event{grid-template-columns:1fr}.cards{grid-template-columns:1fr}#map{min-height:420px}.map-layout{grid-template-columns:1fr}.login-wrap{padding:12px}.login-card{padding:22px}}
.map-tool-block{margin-bottom:14px}.small-copy{font-size:11px;line-height:1.45}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.draw-hint{font-size:11px;color:var(--muted);background:#081018;border:1px solid var(--line);border-radius:8px;padding:9px 10px}.shape-list{display:flex;flex-direction:column;gap:7px;margin:12px 0}.soft-rule{border:0;border-top:1px solid var(--line);margin:18px 0}.btn:disabled{opacity:.45;cursor:not-allowed}.employee-nav{grid-template-columns:1fr!important}

/* v0.1.3 map editor */
.map-layout-v2{grid-template-columns:minmax(0,1fr) 360px;align-items:start}
.map-panel-v2{position:relative;min-width:0}
.map-side-v2{max-height:calc(100vh - 120px);overflow:auto;scrollbar-width:thin}
.map-mode-bar{position:absolute;left:14px;bottom:14px;z-index:500;background:rgba(6,12,17,.90);border:1px solid #2b4355;color:#aebdca;padding:9px 12px;border-radius:9px;font-size:11px;font-weight:750;box-shadow:0 5px 20px rgba(0,0,0,.34);pointer-events:none}
.map-mode-bar.active{border-color:rgba(55,227,139,.55);color:#dfffee;background:rgba(8,28,20,.94)}
.drawing-actions{display:none;grid-template-columns:1fr 1fr;gap:7px}.drawing-actions.visible{display:grid}.drawing-actions .danger-outline{grid-column:span 2}
.danger-outline{border-color:rgba(255,93,108,.45);color:#ffabb2;background:rgba(255,93,108,.07)}
.hidden-field{display:none!important}
.legend-v2{grid-template-columns:1fr 1fr!important}
.map-crosshair{cursor:crosshair!important}.map-drawing{cursor:crosshair!important}
.pg-marker-inner{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#0b141c;border:2px solid #42e28e;box-shadow:0 3px 12px rgba(0,0,0,.5);font-size:20px}
.pg-marker-inner.type-emergency_exit{border-color:#6bff91;box-shadow:0 0 0 3px rgba(107,255,145,.12),0 3px 12px rgba(0,0,0,.5)}
.pg-marker-inner.type-roadblock{border-color:#ff5d6c;background:#201014}
.pg-marker-inner.type-employee{border-color:#ffd84d;background:#1d1a0b}
.pg-marker-inner.type-medical{border-color:#64c7ff}.pg-marker-inner.type-fire{border-color:#ff7b57}.pg-marker-inner.type-danger{border-color:#ffb548}.pg-marker-inner.type-camera{border-color:#b598ff}
.leaflet-container{background:#0b141c}
.leaflet-draw-tooltip{background:#071018!important;border:1px solid #2b4355!important;color:#e7f1f7!important;box-shadow:none!important}
.leaflet-draw-tooltip:before{border-right-color:#2b4355!important}
.leaflet-editing-icon{width:14px!important;height:14px!important;margin-left:-7px!important;margin-top:-7px!important;border-radius:50%!important;background:#fff!important;border:3px solid #22c875!important;box-shadow:0 2px 8px rgba(0,0,0,.5)!important}
@media(max-width:1200px){.map-layout-v2{grid-template-columns:minmax(0,1fr) 330px}}
@media(max-width:1000px){.map-layout-v2{grid-template-columns:1fr}.map-side-v2{max-height:none;overflow:visible;order:0}.map-panel-v2{order:-1}#map{height:62vh;min-height:470px}}
@media(max-width:760px){.map-mode-bar{left:8px;right:8px;bottom:8px;text-align:center}.drawing-actions{grid-template-columns:1fr}.drawing-actions .danger-outline{grid-column:auto}.legend-v2{grid-template-columns:1fr 1fr!important}}

/* v0.1.4: Pfeilspitzen werden als echte Leaflet-Polygone gerendert; keine HTML/Emoji-Spitze mehr. */
.pg-marker-inner.type-entrance{border-color:#67b7ff;background:#0b1621}
.pg-marker-inner.type-emergency_exit{border-color:#65ff9a;background:#0b1a13;box-shadow:0 0 0 3px rgba(101,255,154,.12),0 3px 12px rgba(0,0,0,.5)}
.pg-marker-inner svg{display:block}


/* v0.2.0 Statusfunk */
.head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.status-attention{border-color:rgba(255,181,72,.34);background:linear-gradient(160deg,rgba(50,35,15,.88),#0c141c)}
.status-feed{display:flex;flex-direction:column;gap:8px}
.status-feed-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);background:#09121a;border-radius:11px;padding:10px 12px}
.status-feed-row>div:nth-child(2) strong,.status-feed-row>div:nth-child(2) span,.status-feed-row>div:nth-child(2) small{display:block}
.status-feed-row>div:nth-child(2) span{color:#c4d1da;margin-top:2px}
.status-feed-row>div:nth-child(2) small{color:var(--muted);margin-top:3px}
.status-number{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:20px;font-weight:900;border:1px solid #365063;background:#0d1821}
.status-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #365063;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;background:#0b151d}
.status-chip b{font-size:14px}
.tone-ok{border-color:rgba(55,227,139,.45)!important;background:rgba(55,227,139,.08)!important;color:#b8ffd5!important}
.tone-active{border-color:rgba(103,183,255,.45)!important;background:rgba(103,183,255,.08)!important;color:#c9e8ff!important}
.tone-warn{border-color:rgba(255,181,72,.45)!important;background:rgba(255,181,72,.08)!important;color:#ffd698!important}
.tone-danger{border-color:rgba(255,93,108,.62)!important;background:rgba(255,93,108,.12)!important;color:#ffc0c6!important}
.tone-off{border-color:rgba(132,151,168,.45)!important;background:rgba(132,151,168,.08)!important;color:#c3d0da!important}
.badge.status-off{border-color:rgba(132,151,168,.35);background:rgba(132,151,168,.08);color:#bac8d3}
.status-request-list{display:flex;flex-direction:column;gap:9px}
.status-request{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;background:#09121a;border:1px solid var(--line);border-radius:11px;padding:10px}
.status-request-main strong,.status-request-main span,.status-request-main small{display:block}
.status-request-main span{margin-top:2px}.status-request-main small{color:var(--muted);margin-top:3px}
.status-request-actions{display:flex;gap:7px;align-items:center}
.status-setter{margin-top:6px}.status-set-form{display:flex;gap:6px;min-width:280px}.status-set-form select{margin-top:4px}.status-set-form .btn{margin-top:4px;white-space:nowrap}
.status-console{border-color:rgba(103,183,255,.25)}
.status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}
.status-grid form{margin:0}
.status-button{width:100%;min-height:76px;border:1px solid #2b4355;border-radius:11px;background:#0b151d;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px;cursor:pointer;font-weight:800}
.status-button:hover{transform:translateY(-1px);filter:brightness(1.08)}
.status-button-code{font-size:23px;line-height:1;font-weight:950}
.status-button>span:last-child{font-size:10px;line-height:1.15;text-align:center}
.status-pending-note{margin:10px 0 2px;padding:9px 11px;border:1px solid rgba(255,181,72,.28);background:rgba(255,181,72,.07);border-radius:9px;color:#ffd8a0;font-size:12px}
.status-help,.status-last{font-size:11px;line-height:1.4;margin:10px 0 0;color:var(--muted)}
.status-toast-stack{position:fixed;right:18px;top:18px;z-index:5000;width:min(390px,calc(100vw - 28px));display:flex;flex-direction:column;gap:9px;pointer-events:none}
.status-toast{pointer-events:auto;border:1px solid #385064;background:rgba(7,14,20,.97);border-radius:13px;padding:12px 13px;box-shadow:0 18px 55px rgba(0,0,0,.48);backdrop-filter:blur(12px)}
.status-toast-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.status-toast-head button{border:0;background:transparent;color:#8da0ae;font-size:21px;cursor:pointer}
.status-toast-code{font-size:11px;letter-spacing:1.6px;font-weight:900;margin-top:6px}.status-toast-text{font-size:13px;line-height:1.45;margin-top:4px}.status-toast-text small{color:var(--muted)}
@media(max-width:760px){
  .head-actions{display:none}
  .status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .status-feed-row,.status-request{grid-template-columns:44px 1fr}.status-kind,.status-request-actions{grid-column:2}
  .status-request-actions{justify-content:flex-start}
  .status-set-form{min-width:0;flex-direction:column}
  .status-toast-stack{right:10px;top:10px;width:calc(100vw - 20px)}
}

/* v0.2.4 Professional Lagekarten-Arbeitsplatz */
.map-pro-page{max-width:1800px;margin:0 auto}.map-pro-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:14px}.map-pro-head h1{margin:2px 0 4px;font-size:30px;letter-spacing:-.7px}.map-title-line{display:flex;align-items:center;gap:12px}.map-duty-state{font-size:9px;letter-spacing:1.2px;font-weight:900;color:#9df0c1;border:1px solid rgba(55,227,139,.28);background:rgba(55,227,139,.07);padding:4px 7px;border-radius:4px}.map-head-actions{display:flex;align-items:center;gap:9px}.map-access-chip{font-size:9px;letter-spacing:1.1px;font-weight:900;color:#91a4b3;border:1px solid #263a49;background:#0b131a;padding:7px 9px;border-radius:5px}.map-back-btn{border-radius:6px;padding:8px 11px}
.map-workspace{position:relative;border:1px solid #243542;background:#081018;box-shadow:0 22px 60px rgba(0,0,0,.34);min-height:650px;overflow:hidden}.map-commandbar{height:58px;display:flex;align-items:stretch;border-bottom:1px solid #273845;background:linear-gradient(180deg,#101922,#0b131a);position:relative;z-index:1200;padding:0 8px}.map-toolbar-group{display:flex;align-items:stretch;border-right:1px solid #243642;padding:6px 7px;gap:3px}.map-toolbar-right{border-right:0;border-left:1px solid #243642}.map-toolbar-spacer{flex:1}.map-toolbar-label{align-self:center;font-size:8px;letter-spacing:1.4px;font-weight:900;color:#5f7484;margin:0 5px 0 3px;writing-mode:vertical-rl;transform:rotate(180deg)}.map-tool{position:relative;min-width:74px;border:1px solid transparent;background:transparent;color:#9cafbd;padding:5px 10px;border-radius:5px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:750;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.map-tool:hover{background:#14212b;color:#fff;border-color:#2d4353}.map-tool.active{background:#10251b;color:#dfffee;border-color:rgba(55,227,139,.45);box-shadow:inset 0 0 0 1px rgba(55,227,139,.08)}.map-tool.compact{min-width:auto;padding-inline:9px}.map-tool b{min-width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:#1c2a35;color:#a9bac7;font-size:9px}.map-tool-icon{width:20px;height:20px;display:grid;place-items:center;color:#c3d0da;font-size:15px}.shape-swatch{display:inline-block;width:18px;height:13px;flex:0 0 auto;border-radius:2px}.shape-swatch.boundary{border:2px dashed #63c7f7;background:rgba(99,199,247,.05)}.shape-swatch.sector{border:2px solid #3ed58a;background:rgba(62,213,138,.16)}.shape-swatch.restricted{border:2px dashed #ff5d6c;background:rgba(255,93,108,.18)}.shape-swatch.line{height:0;border-top:4px dashed #ffac52;border-radius:0}.shape-swatch.arrow{height:5px;background:#ffd84d;opacity:.75;clip-path:polygon(0 30%,72% 30%,72% 0,100% 50%,72% 100%,72% 70%,0 70%)}
.map-context-panel{position:absolute;z-index:1150;left:0;right:0;top:58px;background:rgba(10,18,25,.98);border-bottom:1px solid #304554;box-shadow:0 18px 35px rgba(0,0,0,.34);padding:12px 14px}.map-context-panel[hidden],.map-floating-panel[hidden]{display:none!important}.map-context-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.map-context-head>div{display:flex;align-items:baseline;gap:10px}.context-kicker{font-size:8px;letter-spacing:1.5px;font-weight:900;color:#5f7484}.map-context-head strong,.floating-panel-head strong{font-size:13px}.context-close{border:0;background:transparent;color:#8da0ae;font-size:22px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px}.context-close:hover{background:#182630;color:white}.map-context-form{display:flex;align-items:flex-end;gap:9px}.map-context-form label{min-width:150px}.map-context-form input,.map-context-form select{height:35px;margin-top:4px;padding:7px 9px;border-radius:5px}.context-grow{flex:1;min-width:200px!important}.context-coords{display:flex;gap:5px;width:210px}.context-coords input{min-width:0}.map-action-btn{height:35px;border-radius:5px;white-space:nowrap;padding:7px 12px}.map-inline-actions{display:none;align-items:center;gap:4px}.map-inline-actions.visible{display:flex}.map-inline-actions .btn{height:35px;border-radius:5px}.map-context-status{margin-top:8px;font-size:10px;color:#7690a1;letter-spacing:.15px}.shape-context-form label:first-of-type{max-width:260px}.hidden-field{display:none!important}
.map-floating-panel{position:absolute;z-index:1300;top:66px;right:10px;width:min(440px,calc(100% - 20px));max-height:520px;background:rgba(9,17,24,.98);border:1px solid #304554;box-shadow:0 22px 60px rgba(0,0,0,.5);border-radius:7px;overflow:hidden}.floating-panel-head{height:48px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #223540}.floating-panel-head>div{display:flex;align-items:baseline;gap:9px}.object-manager-body{max-height:460px;overflow:auto;padding:8px;scrollbar-width:thin}.object-section-title{font-size:9px;letter-spacing:1.1px;font-weight:900;color:#698091;padding:9px 6px 6px;display:flex;justify-content:space-between}.object-section-title span{color:#a9bbc8}.map-object-row{display:grid;grid-template-columns:26px minmax(0,1fr) 30px;align-items:center;gap:8px;padding:8px 7px;border-top:1px solid #162733}.map-object-row:first-of-type{border-top:0}.map-object-row strong,.map-object-row small{display:block}.map-object-row strong{font-size:12px}.map-object-row small{font-size:9px;color:#708697;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.object-icon-mini,.legend-symbol{display:grid;place-items:center;width:24px;height:24px;color:#a9bbc8}.object-icon-mini svg,.legend-symbol svg{width:19px;height:19px}.object-icon-mini.type-entrance,.legend-symbol[data-point-icon="entrance"]{color:#67b7ff}.object-icon-mini.type-emergency_exit,.legend-symbol[data-point-icon="emergency_exit"]{color:#65ff9a}.object-icon-mini.type-roadblock,.legend-symbol[data-point-icon="roadblock"]{color:#ff6d78}.object-icon-mini.type-employee,.legend-symbol[data-point-icon="employee"]{color:#ffd84d}.object-icon-mini.type-danger,.legend-symbol[data-point-icon="danger"]{color:#ffb548}.object-empty{font-size:11px;color:#718494;padding:12px 7px}.legend-panel{width:min(480px,calc(100% - 20px));padding-bottom:8px}.map-pro-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:8px}.map-pro-legend span,.map-shape-legend span{min-height:38px;display:flex;align-items:center;gap:7px;padding:5px 7px;font-size:10px;color:#a9bbc8;background:#0c161e;border:1px solid #162733}.map-shape-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;padding:0 8px 8px}
.map-canvas-shell{position:relative}.map-workspace #map{height:calc(100vh - 195px);min-height:620px;max-height:980px;border:0}.map-mode-bar{left:12px;bottom:12px;display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:5px;background:rgba(7,13,18,.90);border:1px solid #243744;color:#8fa3b2;font-size:10px;letter-spacing:.15px}.map-mode-bar.active{border-color:rgba(55,227,139,.42);background:rgba(8,25,18,.94);color:#c7f9da}.mode-dot{width:6px;height:6px;border-radius:50%;background:#617887}.map-mode-bar.active .mode-dot{background:#37e38b;box-shadow:0 0 8px rgba(55,227,139,.65)}.map-coordinate-readout{position:absolute;right:10px;bottom:10px;z-index:500;background:rgba(7,13,18,.86);border:1px solid #223541;color:#708697;padding:6px 8px;border-radius:4px;font:9px ui-monospace,SFMono-Regular,Consolas,monospace;pointer-events:none}.map-workspace:fullscreen{background:#081018;padding:0}.map-workspace:fullscreen .map-workspace #map,.map-workspace:fullscreen #map{height:calc(100vh - 58px);max-height:none}.map-workspace:fullscreen .map-commandbar{height:58px}.leaflet-control-zoom a{background:#0e1921!important;color:#c9d5de!important;border-bottom-color:#233744!important}.leaflet-control-zoom{border:1px solid #2b4050!important;box-shadow:0 8px 22px rgba(0,0,0,.28)!important}.leaflet-control-attribution{background:rgba(7,13,18,.76)!important;color:#718696!important}.leaflet-control-attribution a{color:#88a6ba!important}.pg-marker-inner{width:40px;height:40px;border-radius:7px;display:grid;place-items:center;background:rgba(8,17,24,.96);border:1px solid #526877;box-shadow:0 5px 15px rgba(0,0,0,.42);font-size:0;color:#b9cad6}.pg-marker-inner svg{width:24px;height:24px;display:block}.pg-marker-inner.type-post{color:#a6f3ca;border-color:#3d8c68}.pg-marker-inner.type-entrance{color:#67b7ff;border-color:#39769e}.pg-marker-inner.type-emergency_exit{color:#65ff9a;border-color:#3fa962;box-shadow:0 0 0 2px rgba(101,255,154,.08),0 5px 15px rgba(0,0,0,.42)}.pg-marker-inner.type-escape_route{color:#8bdcff;border-color:#3d829d}.pg-marker-inner.type-roadblock{color:#ff7782;border-color:#a6424a;background:#1c1014}.pg-marker-inner.type-employee{color:#ffd84d;border-color:#9a812e;background:#1b190f}.pg-marker-inner.type-radio{color:#b6cfff;border-color:#597aa1}.pg-marker-inner.type-camera{color:#c3aeff;border-color:#755ea8}.pg-marker-inner.type-danger{color:#ffbd65;border-color:#a67636}.map-crosshair{cursor:crosshair!important}.map-drawing{cursor:crosshair!important}
@media(max-width:1180px){.map-toolbar-label{display:none}.map-tool{min-width:62px;padding-inline:7px}.map-tool span:last-child{font-size:10px}.map-pro-legend{grid-template-columns:repeat(2,1fr)}.map-context-form{flex-wrap:wrap}.context-grow{flex:1 1 280px}.map-workspace #map{height:calc(100vh - 220px)}}
@media(max-width:760px){.map-pro-page{margin:-4px -1px 0}.map-pro-head{align-items:flex-start;margin-bottom:10px}.map-pro-head .muted,.map-access-chip{display:none}.map-pro-head h1{font-size:22px}.map-head-actions{align-self:flex-start}.map-commandbar{height:54px;overflow-x:auto;overflow-y:hidden;padding:0 4px;scrollbar-width:none}.map-commandbar::-webkit-scrollbar{display:none}.map-toolbar-group{flex:0 0 auto;padding:5px 4px}.map-toolbar-spacer{display:none}.map-toolbar-right{margin-left:auto}.map-tool{min-width:58px;flex-direction:column;gap:1px;padding:3px 6px;font-size:9px}.map-tool-icon{height:18px}.map-tool.compact{min-width:52px}.map-tool b{position:absolute;right:2px;top:2px;min-width:15px;height:15px;font-size:8px}.shape-swatch{width:16px;height:10px}.map-context-panel{top:54px;padding:10px}.map-context-head{margin-bottom:7px}.map-context-form{display:grid;grid-template-columns:1fr 1fr;gap:7px}.map-context-form label,.context-grow{min-width:0!important}.context-grow{grid-column:span 2}.context-coords{width:auto;grid-column:span 2}.map-action-btn{width:100%}.map-inline-actions{grid-column:span 2}.map-context-status{font-size:9px}.map-floating-panel{top:60px;right:6px;width:calc(100% - 12px);max-height:65vh}.map-workspace #map{height:calc(100vh - 190px);min-height:520px}.map-coordinate-readout{display:none}.map-mode-bar{right:8px;left:8px;justify-content:center}.map-pro-legend{grid-template-columns:repeat(2,1fr)}.map-shape-legend{grid-template-columns:1fr 1fr}}

/* v0.2.5 Operations UI -------------------------------------------------- */
:root{
  --bg:#071018;--panel:#0c151e;--panel2:#101b25;--panel3:#13212d;
  --line:#223241;--line-soft:#172633;--text:#edf3f7;--muted:#8093a3;
  --accent:#39d98a;--accent2:#21b96c;--warn:#efb250;--danger:#ef6570;
  --blue:#5faef6;--shadow:0 18px 45px rgba(0,0,0,.22);
}
html,body{background:#071018}.shell{background:linear-gradient(90deg,#081019 0,#081019 238px,#071018 238px)}
.pro-sidebar{width:238px;padding:0 13px 16px;background:#081019;border-right:1px solid #1d2b37}
.pro-brand{height:76px;padding:0 8px;gap:11px;border-bottom:1px solid #172631;margin-bottom:13px}
.pro-brand .brand-mark{width:38px;height:38px;border-radius:7px;font-size:13px;letter-spacing:.2px;background:#0d2018;border:1px solid #285c43;box-shadow:none}
.brand-copy strong{font-size:13px;letter-spacing:1.5px}.brand-copy span{font-size:8px;letter-spacing:2.5px;color:#66d99e}
.nav-section-label{color:#536878;font-size:8px;letter-spacing:1.6px;font-weight:850;padding:8px 11px 7px}.nav-section-label.sub{margin-top:15px;padding-top:12px;border-top:1px solid #13222d}
.pro-nav{gap:3px}.pro-nav .nav-item{position:relative;height:39px;padding:0 10px;border-radius:5px;color:#899caa;font-size:12px;font-weight:650;gap:10px;border:1px solid transparent}
.pro-nav .nav-item svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.pro-nav .nav-item:hover{background:#0f1b25;border-color:#1d3040;color:#d9e2e8}.pro-nav .nav-item.active{background:#112219;border-color:#244c39;color:#d9fae9}
.pro-nav .nav-item.active:before{content:"";position:absolute;left:-14px;width:3px;height:20px;border-radius:0 2px 2px 0;background:#39d98a}
.pro-side-footer{padding:14px 7px 0;border-top:1px solid #172631}.system-state{display:flex;align-items:center;gap:7px;color:#69808f;font-size:9px;letter-spacing:.6px;text-transform:uppercase;margin:0 4px 12px}.system-state .status-dot{width:6px;height:6px;box-shadow:0 0 8px rgba(57,217,138,.7)}
.pro-side-footer .user-chip{padding:8px 4px;gap:9px}.avatar{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;background:#142430;border:1px solid #29404f;color:#d8e6ef;font-size:11px;font-weight:800}.pro-side-footer .user-chip strong{font-size:11px}.pro-side-footer .user-chip small{font-size:9px}.pro-side-footer .logout{margin:8px 4px 0;padding:8px 9px;border-radius:5px;border:1px solid transparent}.pro-side-footer .logout:hover{background:#101b24;border-color:#20313e;color:#d8e2e8}
.main{margin-left:238px;width:calc(100% - 238px);padding:0;background:#071018}.app-topbar{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid #172631;background:rgba(9,18,26,.94);position:sticky;top:0;z-index:18;backdrop-filter:blur(10px)}.topbar-title,.topbar-meta{display:flex;align-items:center;gap:8px;color:#708493;font-size:10px;font-weight:650;letter-spacing:.25px}.topbar-dot{width:6px;height:6px;border-radius:50%;background:#39d98a}.topbar-sep{width:1px;height:15px;background:#243542}.content-frame{padding:25px 28px 38px;max-width:1780px;margin:0 auto}.main.full{margin:0;width:100%;padding:0}
.pro-page-head{align-items:center;margin-bottom:20px;min-height:58px}.pro-page-head h1{font-size:27px;line-height:1.12;margin:2px 0 5px;letter-spacing:-.65px}.pro-page-head .muted{font-size:12px}.eyebrow,.section-kicker{font-size:8px;letter-spacing:1.8px;font-weight:900;color:#5bca91;margin:0 0 4px}.section-kicker{color:#627b8c}.head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.breadcrumb{display:flex;align-items:center;gap:6px;color:#5f7585;font-size:9px;margin-bottom:8px}.breadcrumb a{color:#758d9e;text-decoration:none}.breadcrumb strong{color:#a7b7c2}.breadcrumb span{color:#394e5d}
.panel.pro-panel,.pro-panel{background:#0b151e;border:1px solid #1e2e3b;border-radius:7px;box-shadow:0 14px 35px rgba(0,0,0,.16);padding:17px 18px;margin-bottom:15px}.pro-panel .panel-head{min-height:40px;margin-bottom:12px;align-items:flex-start}.pro-panel .panel-head h2{font-size:14px;margin:0}.pro-panel .panel-head .muted{font-size:10px}.table-meta{align-self:center;color:#6f8493;font-size:9px;text-transform:uppercase;letter-spacing:.8px}.panel h2{font-size:15px}.btn{border-radius:5px;padding:8px 11px;background:#111e28;border:1px solid #2b4050;font-size:11px;font-weight:750;box-shadow:none;transition:background .12s,border-color .12s,color .12s}.btn:hover{background:#172733;border-color:#395466}.btn.primary{background:#2fc77b;color:#06130c;border-color:#49df92}.btn.primary:hover{background:#39d98a}.btn.ghost{background:transparent;border-color:#253945;color:#a5b5c0}.btn.danger-outline{background:transparent;border-color:#6a3138;color:#f28c95}.btn.small{padding:6px 9px;font-size:9px}.live-pill{padding:6px 9px;border-radius:4px;font-size:8px;letter-spacing:.8px;background:#0c1c15}.live-pill span{width:5px;height:5px}
.pro-kpis{gap:10px;margin-bottom:15px}.pro-kpis .kpi{position:relative;min-height:115px;border-radius:7px;border:1px solid #1f303e;background:#0b151e;box-shadow:none;padding:15px 16px;overflow:hidden}.pro-kpis .kpi:after{content:"";position:absolute;right:0;top:0;width:3px;height:100%;background:#1d394b}.pro-kpis .kpi.warning:after{background:#7a5729}.kpi-top{display:flex;align-items:center;justify-content:space-between}.kpi-index{font:700 8px ui-monospace,SFMono-Regular,Consolas,monospace;color:#435b6b}.pro-kpis .kpi strong{font-size:29px;letter-spacing:-1px;margin:12px 0 0}.pro-kpis .kpi strong.text{font-size:15px;letter-spacing:0;margin-top:14px}.pro-kpis .kpi span{font-size:9px}.pro-kpis .kpi small{font-size:8px;letter-spacing:1.2px}.metric-inline{display:inline-grid;place-items:center;min-width:27px;height:25px;border:1px solid #2a4050;border-radius:4px;background:#101c25;color:#dbe6ec;font:750 11px ui-monospace,SFMono-Regular,Consolas,monospace}
.pro-table{font-size:12px}.pro-table th{height:34px;padding:8px 9px;background:#0a131b;color:#5f7585;font-size:8px;letter-spacing:1.15px;border-top:1px solid #172632;border-bottom:1px solid #1e2f3b;white-space:nowrap}.pro-table td{padding:11px 9px;border-bottom:1px solid #15242f;font-size:11px;vertical-align:middle}.pro-table tbody tr:hover{background:#0e1a23}.pro-table td strong{font-size:11px;font-weight:700}.pro-table td small{font-size:9px;margin-top:3px;color:#6e8291}.pro-table .table-actions{white-space:nowrap;text-align:right}.pro-table .table-actions .btn{margin-left:4px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.95em}.empty-table{padding:24px;color:#667c8b;text-align:center;font-size:10px}.status-tag,.badge{border-radius:4px;font-size:8px;padding:4px 6px;letter-spacing:.75px}.status-tag.status-active{color:#9cf2c2;border-color:#286446;background:#10271d}.status-tag.status-completed{color:#9fb3c1;border-color:#334957;background:#121e27}.status-tag.status-cancelled{color:#f29aa1;border-color:#67333a;background:#231318}.status-tag.status-planned{color:#9cccf4;border-color:#2e5674;background:#101f2c}
.form-grid{gap:10px}.form-grid.three{gap:10px}.stack{gap:10px}label{font-size:9px;color:#728898;letter-spacing:.35px;text-transform:uppercase;font-weight:750}input,select,textarea{margin-top:5px;background:#071019;border:1px solid #263947;color:#e9f0f4;border-radius:5px;padding:9px 10px;font-size:11px}input:focus,select:focus,textarea:focus{border-color:#388d65;box-shadow:0 0 0 2px rgba(57,217,138,.07)}textarea{min-height:76px}.large-textarea{min-height:190px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:4px}.form-footer .muted{font-size:9px}.create-panel{scroll-margin-top:65px}.settings-grid,.resource-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:15px}.resource-grid{grid-template-columns:1.55fr .8fr}.resource-info p{line-height:1.65;font-size:11px}.security-note{display:flex;align-items:center;gap:8px;border-top:1px solid #1b2a36;margin-top:18px;padding-top:13px;color:#7f94a2;font-size:9px}.security-note span{width:7px;height:7px;border-radius:50%;background:#39d98a}.person-cell{display:flex;align-items:center;gap:9px}.person-avatar{width:30px;height:30px;border-radius:5px;display:grid;place-items:center;background:#12232e;border:1px solid #294352;color:#bed1dc;font-size:8px;font-weight:850;letter-spacing:.3px}.account-details summary{list-style:none;width:max-content}.account-details summary::-webkit-details-marker{display:none}.account-form{min-width:620px;padding:10px 0 2px}.detail-line{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #1b2b37;padding-top:11px;margin-top:13px;color:#718695;font-size:9px;text-transform:uppercase;letter-spacing:.5px}.detail-line strong{color:#d0dbe2;font-size:10px;text-transform:none;letter-spacing:0}
.attention-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 12px;border:1px solid #654a25;background:#1d1710;border-radius:6px;margin-bottom:14px;color:#cdb58f;font-size:10px}.attention-bar>div{display:flex;align-items:center;gap:9px}.attention-dot{width:7px;height:7px;border-radius:50%;background:#efb250}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(330px,.75fr);gap:15px}.dashboard-grid .pro-panel{margin-bottom:0}.compact-feed .status-feed-row{padding:9px 0;border-radius:0;border:0;border-bottom:1px solid #182833;background:transparent}.compact-feed .status-feed-row:last-child{border-bottom:0}
.briefing{border-left:2px solid #2e9f68;background:#08121a;border-radius:3px;padding:12px 13px;font-size:11px;line-height:1.65}.status-chip{border-radius:4px}.status-setter summary{font-size:9px;margin-top:5px}.status-set-form{display:flex;gap:5px;align-items:center;margin-top:5px}.status-set-form select{min-width:160px}.icon-btn{border-radius:4px;background:#13212b;border:1px solid #253b49}.pro-timeline .event{border-radius:5px;background:#09131b;border-color:#1d2d39;padding:10px;grid-template-columns:120px 1fr auto}.event-time{font-size:9px}.event p{font-size:10px;line-height:1.5}.event small{font-size:8px}
.pro-login-wrap{background:#071018;min-height:100vh;padding:28px}.login-shell{width:min(900px,100%);min-height:520px;display:grid;grid-template-columns:1fr 1fr;border:1px solid #20313e;background:#09131b;box-shadow:0 35px 100px rgba(0,0,0,.38)}.login-brand-panel{position:relative;padding:54px 48px;background:linear-gradient(145deg,#0a181f,#0b1c16);border-right:1px solid #20313e;display:flex;flex-direction:column;justify-content:center}.login-brand-panel:before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:#39d98a}.login-brand-mark{width:52px;height:52px;display:grid;place-items:center;border:1px solid #336a4d;background:#0d2118;color:#70e5aa;font-size:15px;font-weight:900;border-radius:6px;margin-bottom:28px}.login-brand-panel h1{font-size:37px;margin:4px 0 12px;letter-spacing:-1.2px}.login-brand-panel>p:not(.eyebrow){max-width:330px;color:#8296a4;font-size:12px;line-height:1.7}.login-system{display:flex;align-items:center;gap:8px;margin-top:45px;color:#607887;font-size:9px;text-transform:uppercase;letter-spacing:1px}.login-system span{width:6px;height:6px;border-radius:50%;background:#39d98a}.pro-login-card{width:auto;background:#0b151e;border:0;border-radius:0;box-shadow:none;padding:58px 50px;display:flex;flex-direction:column;justify-content:center}.login-card-head{margin-bottom:21px}.login-card-head h2{font-size:21px;margin:3px 0}.login-submit{height:40px;margin-top:6px}.login-foot{border-top:1px solid #1b2a35;margin-top:28px;padding-top:14px;color:#475d6d;font-size:7px;letter-spacing:1.2px}
.duty-hero{border-radius:7px;background:#0b171f;border-color:#244233;padding:20px}.duty-hero h1{font-size:26px}.assignment-grid>div,.mobile-section{border-radius:7px;background:#0b151e}.mobile-section{box-shadow:none}.assignment-grid strong{font-size:17px}
@media(max-width:1250px){.dashboard-grid{grid-template-columns:1fr}.settings-grid,.resource-grid{grid-template-columns:1fr}.account-form{min-width:520px}}
@media(max-width:1000px){.content-frame{padding:20px}.pro-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.settings-grid,.resource-grid{grid-template-columns:1fr}}
@media(max-width:760px){.shell{background:#071018}.pro-sidebar{height:64px;padding:5px 7px}.pro-sidebar .pro-brand,.pro-sidebar .nav-section-label,.pro-sidebar .pro-side-footer{display:none}.pro-nav{display:grid;grid-template-columns:repeat(5,1fr)!important;width:100%;gap:2px}.pro-nav .nav-item{height:52px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:4px;font-size:9px}.pro-nav .nav-item svg{width:18px;height:18px}.pro-nav .nav-item.active:before{display:none}.app-topbar{display:none}.main{margin-left:0;width:100%;padding-bottom:72px}.content-frame{padding:15px 12px 25px}.pro-page-head{align-items:flex-start}.pro-page-head h1{font-size:23px}.head-actions{width:100%}.pro-page-head{flex-direction:column}.pro-kpis{grid-template-columns:repeat(2,1fr)}.pro-kpis .kpi{min-height:100px}.pro-kpis .kpi strong{font-size:25px}.form-grid,.form-grid.three{grid-template-columns:1fr}.span2,.span3{grid-column:span 1}.form-footer{align-items:flex-end}.dashboard-grid,.settings-grid,.resource-grid{grid-template-columns:1fr}.account-form{min-width:0;grid-template-columns:1fr}.login-shell{grid-template-columns:1fr;min-height:0}.login-brand-panel{display:none}.pro-login-wrap{padding:16px}.pro-login-card{padding:32px 24px}.table-actions .btn{display:inline-block;margin-top:4px}.attention-bar>div{align-items:flex-start;flex-wrap:wrap}}
.duty-location{color:#8fa1ae;font-size:11px;text-transform:uppercase;letter-spacing:.7px;margin:8px 0 0}.duty-location:before{content:"ORT";display:inline-block;color:#526a7a;font-size:7px;letter-spacing:1.1px;margin-right:8px;border-right:1px solid #2b3e4b;padding-right:8px}.empty-state-mark{width:48px;height:48px;margin:0 auto 12px;display:grid;place-items:center;border:1px solid #2f6549;border-radius:6px;background:#0d2118;color:#62dc9d;font-size:11px!important;font-weight:900;letter-spacing:.5px}

/* v0.2.6 · Einsatzadresse / Kartenfokus / sichere Löschbereiche */
.location-picker-card,.duty-location-section{border:1px solid #233744;background:#09131b;border-radius:6px;padding:14px;overflow:hidden}.location-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.location-picker-head h3{margin:1px 0 4px;font-size:13px}.location-picker-head .muted{font-size:9px}.location-search-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-bottom:10px}.location-search-line.padded{padding:0 14px}.location-search-line label{min-width:0}.location-search-line .btn{height:34px;white-space:nowrap}.location-map-shell{position:relative;border:1px solid #263b49;border-radius:5px;overflow:hidden;background:#081018}.location-map-shell.padded-map{margin:0 14px}.location-picker-map{height:320px;min-height:260px}.location-map-crosshair{position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);pointer-events:none;z-index:500;opacity:.58}.location-map-crosshair:before,.location-map-crosshair:after{content:"";position:absolute;background:#e5edf3}.location-map-crosshair:before{width:18px;height:1px;left:0;top:8px}.location-map-crosshair:after{height:18px;width:1px;left:8px;top:0}.location-picker-status{margin-top:8px;color:#718696;font-size:9px;min-height:16px}.location-picker-status[data-tone="ok"]{color:#81dcb0}.location-picker-status[data-tone="warn"]{color:#e9b76e}.location-picker-status.padded-status{padding:0 14px 12px}.duty-location-section{padding:0 0 14px}.duty-location-section .panel-head{padding:14px 14px 0}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:24px;border-color:#4f2930!important;background:linear-gradient(160deg,#171014,#0d1116)!important}.danger-zone-copy{max-width:760px}.danger-zone h2{margin:2px 0 5px!important;color:#ffd7da}.danger-zone p:last-child{margin:0;color:#a9898d;font-size:10px;line-height:1.55}.btn.danger-solid{background:#8d2f39;border-color:#b94450;color:#fff}.btn.danger-solid:hover{background:#a83a45;border-color:#d1515d}.leaflet-container{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif}.location-picker-card .leaflet-control-attribution,.duty-location-section .leaflet-control-attribution{font-size:8px}
@media(max-width:760px){.location-search-line{grid-template-columns:1fr}.location-search-line .btn{width:100%}.location-picker-map{height:290px}.danger-zone{align-items:stretch;flex-direction:column}.danger-zone form,.danger-zone .btn{width:100%}.location-search-line.padded{padding:0 10px}.location-map-shell.padded-map{margin:0 10px}.location-picker-status.padded-status{padding:0 10px 10px}}


/* v0.2.7 · freie Lagekartenbibliothek */
.map-library-head{align-items:center}.map-search-panel{padding:12px 14px}.map-searchbar{display:flex;align-items:end;gap:8px}.map-search-field{flex:1}.map-search-field span{display:block}.map-search-field input{margin-top:5px}.map-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:12px;margin-bottom:18px}.map-library-card{position:relative;min-height:300px;background:linear-gradient(155deg,#0c161e,#09121a);border:1px solid #203441;border-radius:7px;padding:16px;display:flex;flex-direction:column;box-shadow:0 12px 34px rgba(0,0,0,.22)}.map-library-card:hover{border-color:#315266}.map-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.map-card-code{font:8px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1px;color:#6c8291}.map-card-count{font-size:8px;color:#8195a4;border:1px solid #223743;background:#0a131a;padding:4px 6px;border-radius:4px}.map-card-icon{width:38px;height:38px;margin:22px 0 12px;display:grid;place-items:center;color:#76e1aa;border:1px solid #2f6148;background:#0d2018;border-radius:6px}.map-card-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.map-library-card h2{font-size:18px;margin:0 0 5px}.map-card-location{margin:0;color:#b5c3cc;font-size:11px;font-weight:700}.map-card-address{margin:4px 0 0;color:#728695;font-size:9px;line-height:1.45}.map-card-desc{margin:13px 0;color:#8295a3;font-size:10px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.map-card-meta{margin-top:auto;padding-top:13px;border-top:1px solid #182934;display:flex;justify-content:space-between;gap:10px;color:#5f7483;font-size:8px}.map-card-actions{display:flex;gap:7px;margin-top:11px}.map-card-actions .btn{flex:1;text-align:center}.map-library-empty{grid-column:1/-1;text-align:center;min-height:260px;display:flex;flex-direction:column;justify-content:center;align-items:center}.standalone-map-create{scroll-margin-top:20px}.map-view-description{margin:-3px 0 12px;padding:10px 12px;border-left:2px solid #39d98a;background:#0a141b;color:#91a5b3;font-size:10px;line-height:1.55}.map-view-commandbar .map-tool{pointer-events:auto}.map-view-workspace #map{height:calc(100vh - 230px)}
@media(max-width:760px){.pro-sidebar .pro-nav{display:flex!important;grid-template-columns:none!important;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;justify-content:flex-start}.pro-sidebar .pro-nav::-webkit-scrollbar{display:none}.pro-sidebar .pro-nav .nav-item{flex:0 0 74px;min-width:74px}.pro-sidebar .employee-nav{justify-content:center!important}.pro-sidebar .employee-nav .nav-item{flex:1 1 33.333%;max-width:160px;min-width:92px}.map-searchbar{display:grid;grid-template-columns:1fr 1fr}.map-search-field{grid-column:1/-1}.map-library-grid{grid-template-columns:1fr;gap:9px}.map-library-card{min-height:255px;padding:14px}.map-card-icon{margin:14px 0 10px}.map-card-actions{position:sticky;bottom:0}.standalone-view-head{flex-direction:column}.standalone-view-head .map-head-actions{width:100%}.standalone-view-head .map-head-actions .btn{flex:1;text-align:center}.map-view-description{font-size:9px}.map-view-workspace #map{height:calc(100vh - 235px);min-height:470px}}

/* v0.2.9 · Mobile-first stabilization ---------------------------------- */
html,body{max-width:100%;overflow-x:hidden}
.content-frame img,.pro-panel img,.panel img{max-width:100%;height:auto}
.main,.content-frame,.panel,.pro-panel,.map-pro-page,.map-workspace,.table-wrap,.resource-grid,.settings-grid,.dashboard-grid{min-width:0}

@media(max-width:900px){
  :root{--mobile-nav-h:72px}
  html{background:#071018}
  body{padding:0 0 calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px));overscroll-behavior-x:none}
  .shell{display:block;min-height:100dvh;background:#071018!important}

  /* fixed navigation: always above Leaflet and dialogs */
  .sidebar.pro-sidebar{
    display:block!important;position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;
    width:100vw!important;height:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px))!important;
    padding:5px 7px calc(5px + env(safe-area-inset-bottom,0px))!important;margin:0!important;
    border:0!important;border-top:1px solid #29404f!important;background:rgba(7,16,24,.98)!important;
    box-shadow:0 -12px 35px rgba(0,0,0,.45)!important;z-index:10050!important;backdrop-filter:blur(14px);
  }
  .pro-sidebar .pro-brand,.pro-sidebar .nav-section-label,.pro-sidebar .pro-side-footer{display:none!important}
  .pro-sidebar nav.pro-nav{
    display:flex!important;flex-direction:row!important;align-items:stretch!important;justify-content:flex-start!important;
    width:100%!important;height:100%!important;gap:4px!important;padding:0!important;margin:0!important;
    overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity;
  }
  .pro-sidebar nav.pro-nav::-webkit-scrollbar{display:none!important}
  .pro-sidebar .pro-nav .nav-item{
    flex:1 0 76px!important;min-width:76px!important;max-width:108px!important;height:58px!important;margin:0!important;padding:6px 5px!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;
    border:1px solid transparent!important;border-radius:7px!important;color:#8297a6!important;background:transparent!important;
    font-size:9px!important;line-height:1.05!important;text-align:center!important;white-space:nowrap!important;scroll-snap-align:start;
  }
  .pro-sidebar .pro-nav .nav-item svg{width:20px!important;height:20px!important;flex:0 0 20px!important}
  .pro-sidebar .pro-nav .nav-item span{display:block!important;font-size:9px!important;line-height:1.05!important;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .pro-sidebar .pro-nav .nav-item.active{color:#dffbed!important;background:#10241b!important;border-color:#2b5942!important}
  .pro-sidebar .pro-nav .nav-item.active:before{display:none!important}
  .pro-sidebar .employee-nav{justify-content:center!important}
  .pro-sidebar .employee-nav .nav-item{flex:1 1 33.333%!important;max-width:180px!important;min-width:92px!important}

  /* compact top bar so mobile still feels like an app */
  .app-topbar{
    display:flex!important;position:sticky!important;top:0!important;z-index:2100!important;height:43px!important;
    padding:0 12px!important;background:rgba(8,17,25,.96)!important;border-bottom:1px solid #1c2d39!important;backdrop-filter:blur(12px);
  }
  .app-topbar .topbar-title{font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .app-topbar .topbar-meta{display:none!important}

  .main{margin:0!important;width:100%!important;max-width:100vw!important;padding:0!important;overflow:visible!important;background:#071018!important}
  .content-frame{width:100%!important;max-width:none!important;padding:14px 11px 18px!important;margin:0!important;overflow:visible!important}

  .page-head,.pro-page-head{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;min-height:0!important;margin:0 0 13px!important}
  .pro-page-head>div:first-child{min-width:0}
  .pro-page-head h1,.page-head h1{font-size:22px!important;line-height:1.15!important;letter-spacing:-.35px!important;overflow-wrap:anywhere}
  .pro-page-head .muted,.page-head .muted{font-size:10px!important;line-height:1.45!important}
  .head-actions,.map-head-actions{width:100%!important;display:flex!important;gap:7px!important;flex-wrap:wrap!important}
  .head-actions>.btn,.map-head-actions>.btn{flex:1 1 130px!important;min-height:40px!important;text-align:center!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}

  .panel,.panel.pro-panel,.pro-panel{padding:13px!important;margin-bottom:11px!important;border-radius:7px!important;overflow:visible!important}
  .panel-head{align-items:flex-start!important;gap:8px!important;flex-wrap:wrap!important}
  .panel-head h2{font-size:14px!important}
  .table-meta{margin-left:auto}

  .btn{min-height:40px;padding:9px 11px;font-size:11px;touch-action:manipulation}
  .btn.small{min-height:34px;padding:7px 9px;font-size:10px}
  input,select,textarea{font-size:16px!important;min-height:44px!important;padding:10px 11px!important} /* iOS: no input auto-zoom */
  textarea{min-height:96px!important}
  label{font-size:9px!important}
  .form-grid,.form-grid.three,.settings-grid,.resource-grid,.dashboard-grid,.split,.split.wide-left{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .span2,.span3{grid-column:1!important}
  .form-footer{flex-direction:column!important;align-items:stretch!important;gap:8px!important}
  .form-footer .btn{width:100%!important}
  .inline-form,.account-form{display:grid!important;grid-template-columns:1fr!important;min-width:0!important;width:100%!important;gap:7px!important}
  .account-details,.account-details summary{width:100%!important;max-width:100%!important}
  .account-details summary{display:flex!important;justify-content:center!important}

  .pro-kpis,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .pro-kpis .kpi,.kpi{min-width:0!important;min-height:92px!important;padding:12px!important}
  .pro-kpis .kpi strong,.kpi strong{font-size:24px!important;word-break:break-word}
  .pro-kpis .kpi strong.text,.kpi strong.text{font-size:13px!important}

  /* tables become readable touch cards instead of horizontal desktop tables */
  .table-wrap{overflow:visible!important;width:100%!important}
  .mobile-card-table{display:block!important;width:100%!important;border-collapse:separate!important}
  .mobile-card-table thead{display:none!important}
  .mobile-card-table tbody{display:grid!important;gap:9px!important;width:100%!important}
  .mobile-card-table tr{display:block!important;width:100%!important;background:#09141c!important;border:1px solid #1d303d!important;border-radius:7px!important;padding:7px 10px!important;overflow:hidden!important}
  .mobile-card-table tr:hover{background:#09141c!important}
  .mobile-card-table td{display:grid!important;grid-template-columns:minmax(86px,34%) minmax(0,1fr)!important;align-items:start!important;gap:10px!important;width:100%!important;padding:8px 0!important;border:0!important;border-bottom:1px solid #162733!important;text-align:left!important;white-space:normal!important;min-width:0!important}
  .mobile-card-table td:last-child{border-bottom:0!important}
  .mobile-card-table td:not([colspan])::before{content:attr(data-label);display:block;color:#607888;font-size:8px;font-weight:850;letter-spacing:.8px;text-transform:uppercase;padding-top:2px}
  .mobile-card-table td[colspan]{display:block!important;padding:12px 0!important}
  .mobile-card-table .table-actions{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;flex-wrap:wrap!important}
  .mobile-card-table .table-actions::before{content:attr(data-label);flex:0 0 86px;color:#607888;font-size:8px;font-weight:850;letter-spacing:.8px;text-transform:uppercase}
  .mobile-card-table .table-actions .btn{margin:0!important;flex:1 1 90px!important;text-align:center!important}
  .mobile-card-table .table-actions form{flex:1 1 90px!important;margin:0!important}
  .mobile-card-table .table-actions form .btn{width:100%!important}
  .mobile-card-table td>*{min-width:0!important;max-width:100%!important}
  .person-cell{align-items:flex-start!important;min-width:0!important}.person-cell>div:last-child{min-width:0!important}

  .assignment-grid{grid-template-columns:1fr!important;gap:8px!important}.assignment-grid>div:last-child{grid-column:auto!important}
  .duty-hero{padding:15px!important}.duty-hero h1{font-size:23px!important}.hero-time{font-size:14px!important}
  .mobile-section{padding:13px!important;margin-bottom:9px!important}
  #miniMap{height:min(52dvh,390px)!important;min-height:300px!important}

  .location-picker-card,.duty-location-section{padding:11px!important}
  .location-picker-head{display:block!important}
  .location-search-line{grid-template-columns:1fr!important}
  .location-search-line .btn{width:100%!important}
  .location-picker-map{height:min(48dvh,360px)!important;min-height:280px!important}
  .location-search-line.padded{padding:0!important}.location-map-shell.padded-map{margin:0!important}.location-picker-status.padded-status{padding:0!important}

  .map-searchbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}.map-search-field{grid-column:1/-1!important}.map-searchbar .btn{width:100%!important}
  .map-library-grid{grid-template-columns:minmax(0,1fr)!important;gap:9px!important}.map-library-card{min-height:0!important;padding:13px!important}.map-card-icon{margin:12px 0 9px!important}.map-card-actions{position:static!important;display:grid!important;grid-template-columns:1fr 1fr!important}.map-card-actions .btn{width:100%!important}

  /* map editor/view: fixed-height workspace, touch toolbar, no page shift */
  .map-pro-page{width:100%!important;max-width:100%!important;margin:0!important;min-width:0!important}
  .map-pro-head{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;margin:0 0 9px!important}
  .map-title-line{display:flex!important;align-items:flex-start!important;flex-wrap:wrap!important;gap:6px!important}
  .map-pro-head h1{font-size:20px!important;line-height:1.15!important;overflow-wrap:anywhere}
  .map-pro-head .muted{display:block!important;font-size:9px!important;line-height:1.4!important;overflow-wrap:anywhere}
  .map-access-chip{display:none!important}
  .map-workspace{width:100%!important;min-width:0!important;min-height:0!important;border-radius:6px!important;overflow:hidden!important}
  .map-commandbar{
    position:relative!important;z-index:1600!important;width:100%!important;height:62px!important;padding:0 3px!important;
    display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x!important;
  }
  .map-commandbar::-webkit-scrollbar{display:none!important}
  .map-toolbar-group{flex:0 0 auto!important;height:62px!important;padding:5px 3px!important;gap:2px!important}
  .map-toolbar-spacer{display:none!important}.map-toolbar-right{margin-left:0!important}
  .map-tool{flex:0 0 62px!important;min-width:62px!important;height:50px!important;padding:3px 4px!important;display:flex!important;flex-direction:column!important;gap:1px!important;font-size:9px!important;white-space:nowrap!important}
  .map-tool.compact{min-width:58px!important;flex-basis:58px!important}.map-tool span:last-child{font-size:8px!important;max-width:58px;overflow:hidden;text-overflow:ellipsis}.map-tool-icon{height:18px!important}.shape-swatch{width:17px!important;height:10px!important}.map-toolbar-label{display:none!important}
  .map-context-panel{position:absolute!important;left:0!important;right:0!important;top:62px!important;z-index:1700!important;padding:10px!important;max-height:calc(100dvh - 190px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  .map-context-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:7px!important}
  .map-context-form label,.context-grow,.context-coords,.map-inline-actions{grid-column:1!important;width:100%!important;min-width:0!important;max-width:none!important}
  .context-coords{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  .map-action-btn{width:100%!important;min-height:42px!important;height:auto!important}
  .map-inline-actions.visible{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:5px!important}.map-inline-actions .btn{height:auto!important;min-height:40px!important;padding:7px 5px!important}
  .map-floating-panel{position:absolute!important;top:68px!important;left:6px!important;right:6px!important;width:auto!important;max-height:calc(100dvh - 205px)!important;z-index:1800!important}
  .object-manager-body{max-height:calc(100dvh - 260px)!important}
  .map-pro-legend{grid-template-columns:1fr 1fr!important}.map-shape-legend{grid-template-columns:1fr 1fr!important}
  .map-workspace #map,.map-view-workspace #map{height:calc(100dvh - 225px)!important;min-height:390px!important;max-height:none!important;width:100%!important}
  .map-mode-bar{left:7px!important;right:7px!important;bottom:7px!important;max-width:calc(100% - 14px)!important;justify-content:center!important;font-size:8px!important;padding:6px 8px!important;white-space:normal!important;text-align:center!important}
  .map-coordinate-readout{display:none!important}
  .leaflet-control-container{font-size:11px}
  .leaflet-control-zoom{margin-top:10px!important;margin-left:10px!important}
  .leaflet-control-zoom a{width:36px!important;height:36px!important;line-height:36px!important;font-size:20px!important}
  .leaflet-control-attribution{font-size:7px!important;max-width:70vw;white-space:normal!important}

  .status-toast-stack{left:8px!important;right:8px!important;top:51px!important;width:auto!important;max-width:none!important;z-index:12000!important}
  .status-toast{width:100%!important;max-width:none!important}
}

@media(max-width:420px){
  :root{--mobile-nav-h:68px}
  .content-frame{padding:11px 8px 16px!important}
  .pro-kpis,.kpi-grid{grid-template-columns:1fr 1fr!important}
  .pro-kpis .kpi,.kpi{padding:10px!important;min-height:85px!important}
  .pro-kpis .kpi strong,.kpi strong{font-size:21px!important}
  .panel,.panel.pro-panel,.pro-panel{padding:11px!important}
  .mobile-card-table td{grid-template-columns:82px minmax(0,1fr)!important;gap:7px!important}
  .map-card-actions{grid-template-columns:1fr!important}
  .map-commandbar{height:58px!important}.map-toolbar-group{height:58px!important}.map-tool{height:46px!important;min-width:58px!important;flex-basis:58px!important}.map-context-panel{top:58px!important}
  .map-workspace #map,.map-view-workspace #map{height:calc(100dvh - 210px)!important;min-height:360px!important}
}

/* fullscreen intentionally covers app navigation */
.map-workspace:fullscreen{z-index:20000!important}
.map-workspace:fullscreen #map{height:calc(100dvh - 62px)!important;min-height:0!important}


/* v0.2.12 · Leaflet vector renderer stabilization ---------------------- */
/* Leaflet positions its vector canvas/SVG with its own pixel dimensions.
   A global max-width on canvas/svg rescaled that surface and made stored
   boundaries/polygons/lines disappear or render outside the visible map. */
.leaflet-container canvas,
.leaflet-container svg{max-width:none!important;max-height:none!important}
.leaflet-overlay-pane canvas,
.leaflet-overlay-pane svg{overflow:visible}

/* v0.2.13: zoomadaptive Kartenmarker */
.pg-marker-inner svg{width:var(--pg-marker-svg,24px)!important;height:var(--pg-marker-svg,24px)!important;}
.pg-marker{transition:none!important;}


/* v0.2.13: zuverlässiger Karten-Vollbildmodus auf Mobilgeräten */
html.map-fullscreen-lock,body.map-fullscreen-lock{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none}
.map-workspace.map-pseudo-fullscreen,
.map-view-workspace.map-pseudo-fullscreen{
  position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;
  max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;
  border-radius:0!important;z-index:30000!important;background:#081018!important;display:flex!important;flex-direction:column!important;
}
.map-workspace.map-pseudo-fullscreen .map-commandbar,
.map-view-workspace.map-pseudo-fullscreen .map-commandbar,
.map-workspace:fullscreen .map-commandbar,
.map-view-workspace:fullscreen .map-commandbar{
  flex:0 0 auto!important;width:100%!important;max-width:100vw!important;border-radius:0!important;
}
.map-workspace.map-pseudo-fullscreen #map,
.map-view-workspace.map-pseudo-fullscreen #map,
.map-workspace:fullscreen #map,
.map-view-workspace:fullscreen #map{
  flex:1 1 auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;border-radius:0!important;
}
.map-workspace.map-pseudo-fullscreen #fullscreenBtn,
.map-view-workspace.map-pseudo-fullscreen #fullscreenBtn,
.map-workspace:fullscreen #fullscreenBtn,
.map-view-workspace:fullscreen #fullscreenBtn{position:sticky!important;right:4px!important;z-index:20!important;background:#173428!important;border-color:#3ca371!important;color:#e8fff3!important}
.map-workspace.map-pseudo-fullscreen .map-context-panel,
.map-workspace:fullscreen .map-context-panel{max-height:calc(100dvh - 64px)!important;overflow:auto!important;-webkit-overflow-scrolling:touch}
@media(max-width:900px){
  .map-workspace.map-pseudo-fullscreen .map-commandbar,
  .map-view-workspace.map-pseudo-fullscreen .map-commandbar{padding-top:max(0px,env(safe-area-inset-top))!important}
  .map-workspace.map-pseudo-fullscreen .map-coordinate-readout,
  .map-view-workspace.map-pseudo-fullscreen .map-coordinate-readout{bottom:max(8px,env(safe-area-inset-bottom))!important}
  .map-workspace.map-pseudo-fullscreen .leaflet-control-attribution,
  .map-view-workspace.map-pseudo-fullscreen .leaflet-control-attribution{margin-bottom:max(0px,env(safe-area-inset-bottom))!important}
}

/* v0.2.16 – sichtbarer Statusversand und robuste Einsatz-Zuweisung */
.status-direct-form,.status-inline-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}
.status-direct-form select,.status-inline-form select{min-width:155px;max-width:220px;margin:0}
.status-inline-form .btn,.status-direct-form .btn{white-space:nowrap}
.assignment-actions{display:flex;gap:6px;align-items:flex-start;justify-content:flex-end}
.assignment-editor{position:relative}
.assignment-editor>summary{list-style:none;cursor:pointer;white-space:nowrap}
.assignment-editor>summary::-webkit-details-marker{display:none}
.assignment-edit-form{position:absolute;right:0;top:calc(100% + 7px);z-index:80;width:min(360px,80vw);padding:12px;background:#09141c;border:1px solid #2a4151;border-radius:7px;box-shadow:0 18px 50px rgba(0,0,0,.48);display:grid;gap:8px;text-align:left}
.assignment-edit-form label{display:grid;gap:4px;font-size:9px;color:#718795;text-transform:uppercase;letter-spacing:.7px}
.assignment-edit-form input,.assignment-edit-form select,.assignment-edit-form textarea{width:100%}
.assignment-edit-form textarea{min-height:70px}
.status-table .status-direct-form{margin:0;min-width:250px}
@media(max-width:900px){
  .status-direct-form,.status-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}
  .status-direct-form select,.status-inline-form select{min-width:0;max-width:none;width:100%}
  .assignment-actions{justify-content:flex-start;flex-wrap:wrap}
  .assignment-editor{width:100%}
  .assignment-editor>summary{width:100%;text-align:center}
  .assignment-edit-form{position:static;width:100%;max-width:none;margin-top:7px;box-shadow:none}
  .status-table .status-direct-form{min-width:0}
}

/* v0.2.17 – sichtbare Direktaktionen für Status und Funk */
.command-action-panel{border-color:#274435;background:linear-gradient(180deg,rgba(19,38,29,.92),rgba(9,18,24,.96))}
.command-action-grid{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(220px,1fr) auto;gap:10px;align-items:end}
.command-action-grid label{display:grid;gap:5px}
.command-action-submit{display:flex;align-items:end}
.command-action-submit .btn{min-height:42px;white-space:nowrap}
.radio-inline-form{display:grid;grid-template-columns:minmax(140px,1fr) auto;gap:6px;margin-top:7px;min-width:260px}
.radio-inline-form select{margin:0;min-width:0}
.alert.ok{background:rgba(55,227,139,.10);border:1px solid rgba(55,227,139,.30);color:#aaf2ca}
@media(max-width:900px){
  .command-action-grid{grid-template-columns:1fr}
  .command-action-submit .btn{width:100%}
  .radio-inline-form{grid-template-columns:1fr;width:100%;min-width:0}
  .radio-inline-form .btn{width:100%}
}

/* v0.2.18 – Status und Funkgeräte dauerhaft am Mitarbeiter */
.status-self-current{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 16px;border-bottom:1px solid var(--line);margin-bottom:14px}.standalone-status-grid{margin-top:12px}.alert.info{background:rgba(89,153,255,.08);border:1px solid rgba(89,153,255,.22);color:var(--text)}.alert.info a{color:var(--accent)}
@media(max-width:760px){.status-self-current{align-items:flex-start;flex-direction:column}.command-action-grid{grid-template-columns:1fr!important}.standalone-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* v0.2.19 – Funkgeräte bearbeiten/löschen */
.danger-zone-panel{border-color:#4d2a30!important;background:linear-gradient(180deg,rgba(52,20,25,.34),rgba(11,21,30,.96))!important}
@media(max-width:760px){
  .danger-zone-panel .btn{width:100%}
}

/* v0.2.20 – Einsatzserien, Lagekarten-Vorlagen und Objektfunk */
.duty-import-card,.recurrence-card{border:1px solid var(--line);background:rgba(9,20,28,.58);padding:14px;border-radius:8px}
.compact-head{margin-bottom:10px}.compact-head h3{margin:2px 0 4px}.recurrence-grid{margin-top:8px}
.duty-context-strip{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.radio-assignment-grid{align-items:stretch}
.radio-assignment-grid>.panel{height:100%}.metric-inline+small{display:block;margin-top:3px}
@media(max-width:900px){
  .duty-import-card,.recurrence-card{padding:10px}
  .radio-assignment-grid{grid-template-columns:1fr!important}
  .recurrence-grid{grid-template-columns:1fr!important}
}

/* v0.2.21 · Dashboard Status-Schnellzugriff */
.dashboard-status-quick{margin-bottom:15px;border-color:#24465a;background:linear-gradient(180deg,#0c1922 0%,#09141c 100%)}
.dashboard-status-form{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:14px;align-items:end}
.dashboard-status-person{margin:0}.dashboard-status-person select{margin-top:6px}
.dashboard-status-buttons{display:grid;grid-template-columns:repeat(6,minmax(92px,1fr));gap:7px;min-width:0}
.dashboard-status-button{min-height:62px;width:100%;padding:8px 6px;display:flex;align-items:center;justify-content:center;gap:7px;line-height:1.1}
.dashboard-status-button .status-button-code{font-size:22px;line-height:1}
.dashboard-self-status{display:grid;gap:10px}.dashboard-current-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.employee-dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr)}
@media(max-width:1100px){.dashboard-status-form{grid-template-columns:1fr}.dashboard-status-buttons{grid-template-columns:repeat(3,1fr)}.employee-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:760px){.dashboard-status-quick{margin-bottom:10px}.dashboard-status-quick .panel-head{align-items:flex-start}.dashboard-status-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.dashboard-status-button{min-height:56px;font-size:10px;padding:7px 4px}.dashboard-status-button .status-button-code{font-size:20px}.dashboard-current-status{align-items:flex-start;flex-direction:column}.employee-dashboard-grid{grid-template-columns:1fr}}

/* v0.2.22 · WhereSIM Live-Status + eigener Dashboard-Status */
.whereversim-live-panel{margin-bottom:14px;border-color:#234253;background:linear-gradient(180deg,rgba(12,28,38,.96),rgba(8,18,25,.96))}
.wsim-summary{display:flex;align-items:center;gap:9px;min-height:30px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:rgba(4,12,17,.42)}
.wsim-summary.error{border-color:rgba(255,94,94,.35);background:rgba(255,94,94,.06)}
.wsim-summary .muted{margin-left:auto}.wsim-led{width:9px;height:9px;border-radius:50%;background:#6d7d87;box-shadow:0 0 0 3px rgba(109,125,135,.12)}
.wsim-live-badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.07em;padding:5px 8px;border-radius:999px;border:1px solid #344955;background:#0b1720;color:#9fb2bf;white-space:nowrap}
.wsim-live-badge i{display:block;width:7px;height:7px;border-radius:50%;background:#78909c}
.wsim-live-badge.online{border-color:rgba(55,227,139,.35);background:rgba(55,227,139,.10);color:#aaf2ca}.wsim-live-badge.online i{background:#37e38b;box-shadow:0 0 8px rgba(55,227,139,.85)}
.wsim-live-badge.offline{border-color:rgba(255,94,94,.32);background:rgba(255,94,94,.08);color:#ffb0b0}.wsim-live-badge.offline i{background:#ff5e5e}
.wsim-live-badge.unlinked,.wsim-live-badge.unmatched{border-color:rgba(255,194,75,.25);background:rgba(255,194,75,.07);color:#e5c985}.wsim-live-badge.unlinked i,.wsim-live-badge.unmatched i{background:#d9aa46}
.wsim-live-badge.checking,.wsim-live-badge.unknown{opacity:.78}
.wsim-radio-live{display:grid;gap:4px;min-width:145px}.wsim-live-detail{display:block;max-width:240px;color:#78909f;line-height:1.25}
@media(max-width:900px){.wsim-summary{align-items:flex-start;flex-wrap:wrap}.wsim-summary .muted{width:100%;margin-left:18px}.wsim-radio-live{min-width:0}.wsim-live-detail{max-width:none}}

/* v0.2.23 WhereverSIM inventory + SIM controls */
.wsim-inventory-toolbar{display:flex;gap:12px;align-items:center;margin:0 0 16px}.wsim-inventory-toolbar input{flex:1;min-width:0}.wsim-sim-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.wsim-sim-card{border:1px solid var(--line,#223443);background:rgba(8,20,29,.7);border-radius:12px;padding:14px;display:grid;gap:12px}.wsim-sim-card.linked{opacity:.72}.wsim-sim-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.wsim-sim-card-head strong,.wsim-sim-card-head small{display:block}.wsim-sim-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;font-size:.82rem;color:var(--muted,#8ea9bc)}.wsim-sim-facts span{display:flex;justify-content:space-between;gap:8px}.wsim-sim-facts b{color:var(--text,#eaf6ff);font-weight:600;text-align:right}.wsim-linked-note{font-size:.82rem;color:var(--muted,#8ea9bc)}.wsim-sim-actions{margin-top:7px;display:flex;gap:6px;flex-wrap:wrap}.btn.tiny{padding:5px 8px;font-size:.72rem;min-height:0}.wsim-transition-note{font-size:.74rem}.whereversim-live-panel .head-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:900px){.wsim-sim-grid{grid-template-columns:1fr}.wsim-inventory-toolbar{align-items:stretch;flex-direction:column}.wsim-sim-card{padding:12px}.wsim-sim-facts{grid-template-columns:1fr}.wsim-sim-facts span{justify-content:flex-start}.wsim-sim-facts b{margin-left:auto}.whereversim-live-panel .panel-head{gap:12px}.whereversim-live-panel .head-actions{width:100%}.whereversim-live-panel .head-actions .btn{flex:1}}


/* v0.2.24 · kompakter WhereSIM-Status + 500-MB-Monatsverbrauch */
.wsim-radio-live{justify-items:start;align-items:start}
.wsim-live-badge{width:max-content!important;max-width:150px!important;justify-self:start!important}
.wsim-data-usage{width:min(230px,100%);display:grid;gap:5px;margin-top:3px}
.wsim-data-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:#78909f;text-transform:uppercase;letter-spacing:.045em}
.wsim-data-row strong{color:#b7cad5;font-size:9px;font-weight:750;white-space:nowrap}
.wsim-data-track{height:6px;width:100%;overflow:hidden;border-radius:999px;background:#142630;border:1px solid #203742}
.wsim-data-track>span{display:block;height:100%;border-radius:inherit;background:#37e38b;transition:width .25s ease}
.wsim-data-usage.warn .wsim-data-track>span{background:#e7b94b}
.wsim-data-usage.limit .wsim-data-track>span{background:#ff5e5e}
.wsim-data-usage.warn .wsim-data-row strong{color:#f0cf79}
.wsim-data-usage.limit .wsim-data-row strong{color:#ff9b9b}
@media(max-width:900px){.wsim-live-badge{max-width:135px!important}.wsim-data-usage{width:min(210px,100%)}.wsim-data-row{font-size:8px}.wsim-data-row strong{font-size:8px}}

/* ======================================================================
   v0.2.25 · Pro UI/UX refresh
   Dense desktop command center + mobile app shell
   ====================================================================== */
:root{
  --bg:#071019;
  --bg-deep:#050b10;
  --panel:#0b151d;
  --panel2:#0e1a23;
  --panel3:#101f29;
  --line:#1b2c37;
  --line-strong:#29414f;
  --text:#edf4f8;
  --muted:#7f94a2;
  --muted2:#5f7482;
  --accent:#35d986;
  --accent2:#24b86b;
  --warn:#e8ae53;
  --danger:#ed6370;
  --shadow:0 8px 26px rgba(0,0,0,.18);
  --radius:9px;
  --sidebar-w:214px;
  --topbar-h:46px;
}
html,body{background:var(--bg);font-size:14px}
body{color:var(--text);letter-spacing:0}

/* Desktop shell — less chrome, more working area */
.sidebar.pro-sidebar{
  width:var(--sidebar-w);padding:14px 11px 12px;background:#081118;
  border-right:1px solid #192934;box-shadow:none
}
.pro-brand{padding:2px 6px 16px;gap:9px}
.pro-brand .brand-mark{width:36px;height:36px;border-radius:8px;font-size:12px;box-shadow:none}
.pro-brand .brand-copy strong{font-size:12px;letter-spacing:1.15px}
.pro-brand .brand-copy span{font-size:8px;letter-spacing:2.2px;margin-top:1px}
.nav-section-label{margin:10px 8px 5px!important;font-size:8px!important;letter-spacing:1.55px!important;color:#516777!important}
.nav-section-label.sub{margin-top:15px!important}
.pro-sidebar nav.pro-nav{gap:3px}
.pro-sidebar .nav-item{
  min-height:36px;padding:8px 9px;border-radius:7px;gap:9px;font-size:12px;font-weight:650;color:#8fa3b0
}
.pro-sidebar .nav-item svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pro-sidebar .nav-item:hover{background:#0d1a22;color:#eaf5fa}
.pro-sidebar .nav-item.active{background:#0f241a;color:#aef3ca;border:1px solid #214a36}
.pro-sidebar .side-footer{padding:11px 6px 0}
.system-state{font-size:9px!important;color:#6f8492!important;margin-bottom:9px!important}
.system-state .status-dot{width:6px;height:6px;box-shadow:none}
.user-chip{gap:7px}.user-chip .avatar{width:27px;height:27px;border-radius:7px;font-size:10px}
.user-chip strong{font-size:10px}.user-chip small{font-size:8px}
.logout{font-size:9px;margin:8px 0 0 34px}

.main{margin-left:var(--sidebar-w);width:calc(100% - var(--sidebar-w));padding:0;background:#071019}
.app-topbar{height:var(--topbar-h);padding:0 21px;background:#081119;border-bottom:1px solid #192934;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1900}
.topbar-title{font-size:9px!important;letter-spacing:.35px!important;color:#8ca0ad!important}.topbar-dot{width:6px!important;height:6px!important;box-shadow:none!important}
.topbar-meta{font-size:9px!important;color:#69808f!important}
.content-frame{max-width:1540px;margin:0 auto;padding:18px 22px 28px}

/* Page hierarchy */
.page-head,.pro-page-head{margin-bottom:14px;align-items:center}
.page-head h1,.pro-page-head h1{font-size:24px;line-height:1.12;letter-spacing:-.45px;margin:2px 0 3px}
.eyebrow,.section-kicker{font-size:8px!important;letter-spacing:1.7px!important;font-weight:800!important}
.pro-page-head .muted,.page-head .muted{font-size:10px;line-height:1.4;margin:2px 0}
.head-actions{gap:6px}
.live-pill{font-size:8px;padding:5px 8px;border-radius:999px}.live-pill span{width:5px;height:5px}

/* Flat, compact surfaces */
.panel,.panel.pro-panel,.pro-panel{
  background:#0a141c;border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:12px;box-shadow:none
}
.panel:hover,.pro-panel:hover{border-color:#223845}
.panel h2,.pro-panel h2{font-size:14px;line-height:1.25;margin:0 0 10px}
.panel-head{gap:10px}.panel-head h2{margin:1px 0 0}
.table-meta{font-size:9px;color:#627887}
.attention-bar{padding:9px 12px!important;border-radius:8px!important;margin-bottom:12px!important;font-size:10px!important}

/* KPI: information density, not giant tiles */
.kpi-grid,.pro-kpis{gap:8px;margin-bottom:12px}
.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.kpi{min-height:78px;padding:11px 12px;background:#0a141c;border:1px solid var(--line);border-radius:8px;box-shadow:none}
.kpi small{font-size:7.5px;letter-spacing:1.05px}.kpi strong{font-size:25px;line-height:1;margin:8px 0 3px}.kpi strong.text{font-size:14px;margin-top:8px}.kpi span{font-size:9px}.kpi-index{font-size:8px!important;color:#415968!important}

/* Controls */
.btn{min-height:32px;padding:6px 10px;border-radius:6px;border-color:#28404f;background:#101d26;font-size:10px;font-weight:700;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.btn:hover{background:#142631;border-color:#355466}
.btn.primary{background:#2ac879;border-color:#42da8d;color:#06120c}
.btn.primary:hover{background:#31d382}
.btn.small{min-height:28px;padding:5px 8px;font-size:9px}
.btn.tiny{min-height:24px!important;padding:4px 6px!important;font-size:8px!important}
.btn.ghost{background:#0a151d}
input,select,textarea{margin-top:4px;background:#071119;border:1px solid #233744;border-radius:6px;padding:7px 9px;font-size:11px;min-height:34px}
input:focus,select:focus,textarea:focus{border-color:#2e8f61;box-shadow:0 0 0 2px rgba(53,217,134,.07)}
textarea{min-height:70px}label{font-size:9px;letter-spacing:.2px;color:#8297a5}.form-grid{gap:9px 10px}.stack{gap:9px}
.info-box,.briefing{padding:10px 11px;font-size:11px;line-height:1.45;border-left-width:2px}

/* Tables */
.table-wrap{border:1px solid #172833;border-radius:7px;overflow:auto}
.pro-table,table{font-size:11px}
th{font-size:7.5px;letter-spacing:.9px;padding:8px 9px;background:#09131a;color:#617786}
td{font-size:11px;padding:9px;border-bottom:1px solid #142630}
td small{font-size:8.5px;margin-top:2px}.status-tag,.badge{font-size:8px;padding:3px 5px;border-radius:4px}.metric-inline{font-size:11px!important}
.table-actions{white-space:nowrap}

/* Dashboard */
.dashboard-grid{gap:10px;grid-template-columns:minmax(0,1.65fr) minmax(290px,.65fr)}
.dashboard-status-quick{padding:12px!important}.dashboard-status-quick .panel-head{margin-bottom:8px}
.dashboard-self-status{gap:8px!important}.dashboard-current-status{font-size:10px!important}
.dashboard-status-buttons{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:5px!important}
.dashboard-status-button{min-height:44px!important;padding:5px!important;border-radius:6px!important;font-size:8px!important}
.dashboard-status-button .status-button-code{font-size:17px!important;line-height:1!important}
.status-feed-row{padding:8px!important;gap:8px!important}.status-number{width:30px!important;height:30px!important;font-size:13px!important}.status-feed-row strong{font-size:10px!important}.status-feed-row span,.status-feed-row small{font-size:8px!important}

/* Resource / map cards */
.cards,.resource-grid,.map-library-grid{gap:9px!important}
.duty-card,.map-library-card,.wsim-sim-card{border-radius:8px!important;box-shadow:none!important;background:#0a141c!important;border-color:#1b2d38!important}
.map-library-card{min-height:230px!important;padding:13px!important}.map-card-icon{margin:12px 0 9px!important;width:32px!important;height:32px!important}.map-card-icon svg{width:18px!important;height:18px!important}.map-library-card h2{font-size:15px!important}.map-card-desc{margin:8px 0!important}.map-card-meta{padding-top:9px!important}.map-card-actions{margin-top:8px!important}
.wsim-sim-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;gap:9px!important}.wsim-sim-card{padding:11px!important;gap:8px!important}.wsim-sim-facts{font-size:9px!important}.wsim-live-badge{font-size:8px!important;padding:4px 7px!important}.wsim-data-usage{max-width:260px}

/* Login */
.pro-login-wrap{background:radial-gradient(circle at 25% 15%,#0e2a1d 0,#071019 34%,#050a0f 80%)}
.login-shell{max-width:780px!important;min-height:420px!important;border-radius:12px!important;overflow:hidden!important;box-shadow:0 24px 70px rgba(0,0,0,.28)!important}
.login-brand-panel,.pro-login-card{padding:30px!important}.login-brand-panel h1{font-size:31px!important}.login-brand-panel p{font-size:11px!important}.login-brand-mark{width:42px!important;height:42px!important;border-radius:8px!important}.pro-login-card h2{font-size:20px!important}.login-submit{min-height:36px!important}.login-foot{font-size:7px!important}

/* Mobile-only shell is separate from desktop sidebar */
.mobile-appbar,.mobile-tabbar,.mobile-more-sheet,.mobile-sheet-backdrop{display:none}

@media(max-width:1100px) and (min-width:901px){
  :root{--sidebar-w:194px}.content-frame{padding:16px}.dashboard-grid{grid-template-columns:1fr}.dashboard-status-buttons{grid-template-columns:repeat(3,1fr)!important}
}

@media(max-width:900px){
  :root{--mobile-nav-h:64px;--mobile-top-h:48px}
  html{background:#071019}
  body{padding:0 0 calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px));background:#071019;overscroll-behavior-y:none}
  body.mobile-sheet-open{overflow:hidden}
  .shell{display:block;background:#071019!important;min-height:100dvh}
  .sidebar.pro-sidebar{display:none!important}
  .app-topbar{display:none!important}
  .mobile-appbar{
    display:flex;position:sticky;top:0;z-index:9000;height:calc(var(--mobile-top-h) + env(safe-area-inset-top,0px));padding:max(7px,env(safe-area-inset-top,0px)) 12px 7px;
    align-items:center;justify-content:space-between;background:rgba(7,16,25,.96);border-bottom:1px solid #172934;backdrop-filter:blur(16px)
  }
  .mobile-appbrand{display:flex;align-items:center;gap:8px;min-width:0}.mobile-appbrand-mark{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;background:#0d2419;border:1px solid #245d42;color:#66e6a1;font-weight:850;font-size:9px}.mobile-appbrand strong,.mobile-appbrand small{display:block}.mobile-appbrand strong{font-size:11px;line-height:1.05}.mobile-appbrand small{font-size:7px;letter-spacing:1.4px;color:#5f7685;text-transform:uppercase;margin-top:2px}.mobile-appstate{display:flex;align-items:center;gap:5px;color:#78909e;font-size:8px}.mobile-appstate .status-dot{width:6px;height:6px;box-shadow:none}
  .main{margin:0!important;width:100%!important;max-width:100vw!important;padding:0!important;background:#071019!important}
  .content-frame{width:100%!important;max-width:none!important;margin:0!important;padding:11px 10px 15px!important}

  /* native-app-like bottom tabs */
  .mobile-tabbar{
    display:grid;grid-template-columns:repeat(var(--mobile-tab-count,5),minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:11000;height:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px));
    padding:5px 5px calc(5px + env(safe-area-inset-bottom,0px));background:rgba(7,15,22,.98);border-top:1px solid #1b2e39;box-shadow:0 -8px 26px rgba(0,0,0,.28);backdrop-filter:blur(18px)
  }
  .mobile-tab{appearance:none;border:0;background:transparent;color:#708694;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;border-radius:7px;font:inherit;padding:2px;cursor:pointer}
  .mobile-tab svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .mobile-tab span{font-size:7.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .mobile-tab.active{color:#66e6a1;background:#0d2118}.mobile-tab:active{transform:scale(.97)}

  /* slide-up More sheet */
  .mobile-sheet-backdrop{display:block;position:fixed;inset:0;z-index:11900;background:rgba(0,0,0,.55);backdrop-filter:blur(3px)}
  .mobile-sheet-backdrop[hidden]{display:none!important}
  .mobile-more-sheet{display:block;position:fixed;left:7px;right:7px;bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px) + 7px);z-index:12000;max-height:min(78dvh,680px);overflow:auto;overscroll-behavior:contain;background:#0a151d;border:1px solid #203542;border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,.55);padding:7px 10px 10px;transform:translateY(calc(100% + 100px));opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease}
  .mobile-more-sheet.open{transform:translateY(0);opacity:1;pointer-events:auto}.mobile-sheet-handle{width:34px;height:3px;border-radius:3px;background:#2d4350;margin:1px auto 8px}.mobile-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:5px 3px 10px;border-bottom:1px solid #192c37}.mobile-sheet-head strong,.mobile-sheet-head small{display:block}.mobile-sheet-head strong{font-size:11px}.mobile-sheet-head small{font-size:8px;color:#6d8290;margin-top:2px}.mobile-sheet-close{width:30px;height:30px;border:0;border-radius:7px;background:#101f28;color:#9db0ba;font-size:20px;line-height:1}.mobile-sheet-links{display:grid;gap:4px;padding-top:7px}.mobile-sheet-links a{display:flex;align-items:center;gap:10px;padding:9px;border-radius:8px;text-decoration:none;color:#dbe6eb;background:#0b1820;border:1px solid transparent}.mobile-sheet-links a:active{background:#10232c}.mobile-sheet-links svg{width:19px;height:19px;fill:none;stroke:#6f8998;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.mobile-sheet-links span strong,.mobile-sheet-links span small{display:block}.mobile-sheet-links strong{font-size:10px}.mobile-sheet-links small{font-size:8px;color:#68808e;margin-top:2px}.mobile-sheet-links .mobile-sheet-logout{border-top:1px solid #1d303a;margin-top:3px;color:#f0b7bc}.mobile-sheet-links .mobile-sheet-logout svg{stroke:#d4747e}

  /* page rhythm */
  .page-head,.pro-page-head{display:flex!important;flex-direction:row!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;margin:0 0 10px!important}
  .pro-page-head>div:first-child{min-width:0;flex:1}.eyebrow{display:none!important}
  .page-head h1,.pro-page-head h1{font-size:19px!important;line-height:1.12!important;letter-spacing:-.25px!important;margin:1px 0 2px!important}
  .page-head .muted,.pro-page-head .muted{font-size:8.5px!important;line-height:1.35!important;margin:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .head-actions,.map-head-actions{display:flex!important;width:auto!important;max-width:46%!important;gap:5px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
  .head-actions>.btn,.map-head-actions>.btn{flex:0 1 auto!important;min-width:0!important;min-height:34px!important;padding:6px 8px!important;font-size:8.5px!important}.live-pill{display:none!important}

  .panel,.panel.pro-panel,.pro-panel{padding:10px!important;margin-bottom:8px!important;border-radius:8px!important;background:#0a141c!important;box-shadow:none!important}.panel-head{gap:6px!important}.panel-head h2{font-size:12px!important}.section-kicker{font-size:7px!important;letter-spacing:1.2px!important}.panel-head .muted{font-size:8px!important}
  .btn{min-height:36px!important;padding:7px 9px!important;border-radius:7px!important;font-size:9px!important}.btn.small{min-height:31px!important;padding:5px 7px!important;font-size:8px!important}
  input,select,textarea{font-size:16px!important;min-height:41px!important;padding:8px 9px!important;border-radius:7px!important}textarea{min-height:82px!important}label{font-size:8px!important}.form-grid,.form-grid.three,.settings-grid,.resource-grid,.dashboard-grid,.split,.split.wide-left{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}.stack{gap:8px!important}

  /* dashboard turns into compact app cards */
  .pro-kpis,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin-bottom:8px!important}.pro-kpis .kpi,.kpi{min-height:69px!important;padding:9px 10px!important;border-radius:8px!important}.pro-kpis .kpi strong,.kpi strong{font-size:20px!important;margin:6px 0 2px!important}.kpi small{font-size:6.5px!important}.kpi span{font-size:7.5px!important}.kpi-index{display:none!important}
  .dashboard-status-quick{padding:10px!important}.dashboard-status-quick .panel-head>a{display:none!important}.dashboard-status-buttons{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}.dashboard-status-button{min-height:42px!important;padding:4px!important}.dashboard-status-button .status-button-code{font-size:15px!important}.dashboard-status-button span:last-child{font-size:7px!important}.dashboard-current-status{font-size:9px!important}.status-pending-note{font-size:8px!important;padding:7px!important}
  .dashboard-grid,.employee-dashboard-grid{grid-template-columns:1fr!important;gap:8px!important}

  /* compact data list instead of oversized cards */
  .table-wrap{border:0!important;overflow:visible!important}.mobile-card-table tbody{gap:6px!important}.mobile-card-table tr{padding:5px 9px!important;border-radius:8px!important;background:#09141b!important}.mobile-card-table td{grid-template-columns:minmax(76px,29%) minmax(0,1fr)!important;gap:7px!important;padding:6px 0!important;font-size:9.5px!important}.mobile-card-table td:not([colspan])::before{font-size:6.5px!important;letter-spacing:.65px!important}.mobile-card-table td small{font-size:7.5px!important}.mobile-card-table .table-actions::before{flex-basis:76px!important;font-size:6.5px!important}.mobile-card-table .table-actions .btn,.mobile-card-table .table-actions form{flex:0 1 auto!important}.mobile-card-table .table-actions .btn{min-height:30px!important}

  .assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.assignment-grid>div{padding:9px!important;border-radius:8px!important}.assignment-grid>div:last-child{grid-column:1/-1!important}.assignment-grid small{font-size:7px!important}.assignment-grid strong{font-size:15px!important;margin-top:3px!important}.assignment-grid span{font-size:8px!important}.duty-hero{padding:12px!important;border-radius:10px!important;margin-bottom:8px!important}.duty-hero h1{font-size:20px!important}.hero-time{font-size:12px!important;margin-top:10px!important}.mobile-section{padding:10px!important;border-radius:8px!important;margin-bottom:7px!important}.mobile-section h2{font-size:11px!important;margin-bottom:8px!important}#miniMap{height:min(46dvh,330px)!important;min-height:260px!important;border-radius:8px!important}

  .map-library-grid{gap:7px!important}.map-library-card{min-height:0!important;padding:10px!important;border-radius:8px!important}.map-card-icon{display:none!important}.map-library-card h2{font-size:13px!important}.map-card-location{font-size:9px!important}.map-card-address,.map-card-desc{font-size:8px!important}.map-card-meta{font-size:7px!important}.map-card-actions{display:flex!important;gap:5px!important}.map-card-actions .btn{flex:1!important}
  .wsim-sim-grid{grid-template-columns:1fr!important;gap:7px!important}.wsim-sim-card{padding:10px!important}.wsim-sim-facts{font-size:8px!important}.whereversim-live-panel .panel-head{align-items:flex-start!important}.wsim-data-usage{max-width:190px!important}

  .status-toast-stack{top:calc(var(--mobile-top-h) + env(safe-area-inset-top,0px) + 6px)!important;left:8px!important;right:8px!important;z-index:13000!important}.status-toast{border-radius:9px!important}

  /* preserve map ergonomics while using the new shell */
  .map-pro-head{margin-bottom:7px!important}.map-pro-page .page-head{display:flex!important}.map-workspace{border-radius:8px!important}.map-commandbar{height:56px!important}.map-toolbar-group{height:56px!important}.map-tool{height:44px!important;min-width:56px!important;flex-basis:56px!important;border-radius:6px!important}.map-tool-icon{height:16px!important}.map-tool span:last-child{font-size:7px!important}.map-context-panel{top:56px!important}.map-workspace #map,.map-view-workspace #map{height:calc(100dvh - 188px)!important;min-height:350px!important}.map-floating-panel{top:62px!important}
  .map-workspace.map-pseudo-fullscreen,.map-view-workspace.map-pseudo-fullscreen{bottom:0!important}.map-workspace.map-pseudo-fullscreen #map,.map-view-workspace.map-pseudo-fullscreen #map{height:auto!important}

  /* login becomes one clean mobile surface */
  .pro-login-wrap{padding:0!important;display:block!important;min-height:100dvh!important;background:#071019!important}.login-shell{display:block!important;max-width:none!important;min-height:100dvh!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#071019!important}.login-brand-panel{padding:56px 22px 22px!important;min-height:auto!important;background:linear-gradient(180deg,#0c2118,#071019)!important}.login-brand-panel h1{font-size:28px!important}.login-brand-panel p:not(.eyebrow){font-size:10px!important;max-width:300px}.pro-login-card{padding:22px!important;border:0!important;border-top:1px solid #183027!important;border-radius:20px 20px 0 0!important;background:#0a141c!important;min-height:55dvh}.pro-login-card h2{font-size:18px!important}.login-foot{margin-top:20px!important}
}

@media(max-width:390px){
  .content-frame{padding-left:8px!important;padding-right:8px!important}.mobile-tab span{font-size:7px}.page-head h1,.pro-page-head h1{font-size:18px!important}.head-actions,.map-head-actions{max-width:42%!important}.dashboard-status-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important}.assignment-grid{grid-template-columns:1fr!important}.assignment-grid>div:last-child{grid-column:auto!important}.mobile-card-table td{grid-template-columns:70px minmax(0,1fr)!important}.mobile-card-table .table-actions::before{flex-basis:70px!important}
}

/* v0.2.26 Dienstbörse / Qualifikationen / Benachrichtigungen */
.notification-bell{position:relative;width:30px;height:30px;border:1px solid #203441;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;color:#8ea4b0;background:#0a151d;text-decoration:none}.notification-bell svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.notification-count{position:absolute;right:-5px;top:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#ef4e5f;color:#fff;font:700 9px/17px system-ui;text-align:center;border:2px solid #071019}.notification-count.is-empty{display:none}.mobile-app-actions{display:flex;align-items:center;gap:8px}.mobile-bell{width:31px;height:31px}.global-notify-stack{position:fixed;top:48px;right:14px;z-index:14000;width:min(340px,calc(100vw - 20px));display:grid;gap:7px}.global-notify-toast{display:grid;gap:3px;padding:10px 12px;border:1px solid #24513f;background:#0b1d18;color:#e6f4ed;border-radius:9px;text-decoration:none;box-shadow:0 14px 45px rgba(0,0,0,.4)}.global-notify-toast strong{font-size:10px}.global-notify-toast span{font-size:9px;color:#a7c2b5}
.qualification-field{border:1px solid #20333e;border-radius:8px;padding:9px 10px;margin:0;min-width:0}.qualification-field legend{padding:0 5px;color:#7f96a3;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}.qualification-checks{display:flex;gap:7px;flex-wrap:wrap}.qual-check{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid #223844;border-radius:7px;background:#09151c;cursor:pointer;min-width:120px}.qual-check input{width:15px;height:15px;min-height:0;padding:0;margin:0;accent-color:#26c281}.qual-check span,.qual-check b,.qual-check small{display:block}.qual-check b{font-size:10px;color:#dbe7ec}.qual-check small{font-size:7px;color:#718995;margin-top:1px}.qualification-badges{display:flex;flex-wrap:wrap;gap:5px}.qual-badge{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:22px;padding:0 8px;border:1px solid #2b8060;border-radius:999px;background:#0b2b20;color:#7ef0b4;font-size:8px;font-weight:800;letter-spacing:.5px}.qual-badge.neutral{border-color:#334751;background:#101c23;color:#8ea4af}.employee-edit-form{min-width:min(420px,78vw);padding-top:9px}.employee-editor>summary{list-style:none}.employee-editor>summary::-webkit-details-marker{display:none}
.duty-market-panel{border-color:#234237!important}.duty-market-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0}.application-list{display:grid;gap:6px;margin-top:9px}.application-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid #1c313b;border-radius:8px;background:#09151c}.application-row strong,.application-row small{display:block}.application-row small{font-size:8px;color:#718895;margin-top:4px}.application-actions{display:flex;gap:5px;flex-wrap:wrap}
.open-duty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:9px}.open-duty-card{border:1px solid #1c343d;border-radius:10px;background:#09151d;padding:12px;display:grid;gap:11px}.open-duty-card.not-eligible{opacity:.64}.open-duty-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.open-duty-top h2{font-size:15px;margin:2px 0 3px}.open-duty-top p{font-size:9px;color:#7f96a2;margin:0}.open-duty-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px}.open-duty-meta>span{padding:8px;border:1px solid #192f39;border-radius:7px;background:#081219}.open-duty-meta b,.open-duty-meta small{display:block}.open-duty-meta b{font-size:10px}.open-duty-meta small{font-size:7px;color:#6e8490;margin-top:3px}.open-duty-quals{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:8px;color:#768c98}.open-duty-state{min-height:36px;display:flex;align-items:center}.compact-profile{display:flex;align-items:center;justify-content:space-between;padding:9px 11px!important}.notification-page-list{padding:0!important;overflow:hidden}.notification-row{display:flex;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid #172a33;color:#dbe6eb;text-decoration:none}.notification-row:last-child{border-bottom:0}.notification-row.unread{background:#0b1d1a}.notification-row-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#10252d;border:1px solid #23414c;color:#68db9f;font-weight:800}.notification-row-copy{display:grid;gap:2px;min-width:0;flex:1}.notification-row-copy strong{font-size:10px}.notification-row-copy span{font-size:9px;color:#9aadb6}.notification-row-copy small{font-size:7px;color:#657b87}.notification-row-arrow{font-size:22px;color:#48616d}
@media(max-width:900px){.global-notify-stack{top:calc(var(--mobile-top-h) + env(safe-area-inset-top,0px) + 7px);right:8px;left:8px;width:auto}.open-duty-grid{grid-template-columns:1fr}.qualification-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.qual-check{min-width:0;padding:7px}.qual-check small{display:none}.application-row{align-items:flex-start;flex-direction:column}.application-actions{width:100%}.application-actions form,.application-actions .btn{flex:1}.employee-edit-form{min-width:0}.compact-profile{display:block}.mobile-sheet-links a[href="/open-duties"]{order:-3}.mobile-sheet-links a[href="/notifications"]{order:-2}}

/* ======================================================================
   v0.2.27 · Silver Metallic Command Theme
   Dark graphite + brushed silver UI, distinct operational status colors
   ====================================================================== */
:root{
  --bg:#0d1013;
  --bg-deep:#090b0d;
  --panel:#14181c;
  --panel2:#181d22;
  --panel3:#1d2329;
  --line:#343b42;
  --line-strong:#56616a;
  --text:#f1f3f4;
  --muted:#9aa4ac;
  --muted2:#707b84;
  --accent:#c7cdd2;
  --accent2:#909aa2;
  --silver-hi:#eef1f3;
  --silver:#bdc5cb;
  --silver-mid:#8d979f;
  --silver-dark:#4c555d;
  --warn:#e5b756;
  --danger:#e66c75;
  --shadow:0 10px 30px rgba(0,0,0,.24);
}
html,body{background:linear-gradient(180deg,#101419 0,#0b0e11 100%);color:var(--text)}
body{background-attachment:fixed}

/* Subtle brushed-metal shell */
.sidebar.pro-sidebar{
  background:
    linear-gradient(110deg,rgba(255,255,255,.025) 0,rgba(255,255,255,0) 22%,rgba(255,255,255,.018) 48%,rgba(255,255,255,0) 74%),
    linear-gradient(180deg,#1a1f24 0,#111519 54%,#0d1013 100%);
  border-right:1px solid #454d54;
  box-shadow:inset -1px 0 rgba(255,255,255,.035)
}
.pro-brand .brand-mark,.mobile-appbrand-mark,.login-brand-mark{
  color:#11161a!important;
  background:linear-gradient(145deg,#f3f5f6 0,#b9c1c7 42%,#7d8992 100%)!important;
  border-color:#d9dee2!important;
  box-shadow:inset 0 1px rgba(255,255,255,.8),0 2px 8px rgba(0,0,0,.34)!important;
  text-shadow:0 1px rgba(255,255,255,.35)
}
.pro-brand .brand-copy strong{color:#f4f5f6}
.pro-brand .brand-copy span{color:#aeb8bf}
.nav-section-label{color:#737e87!important}
.pro-sidebar .nav-item{color:#a7b0b7}
.pro-sidebar .nav-item:hover{background:linear-gradient(180deg,#252b30,#1c2227);color:#fff;border-color:#3b444b}
.pro-sidebar .nav-item.active{
  background:linear-gradient(180deg,#d7dce0 0,#aeb7be 52%,#8e989f 100%);
  color:#11161a;border:1px solid #edf0f2;
  box-shadow:inset 0 1px rgba(255,255,255,.78),0 2px 8px rgba(0,0,0,.28)
}
.pro-sidebar .nav-item.active svg{stroke:#11161a}
.system-state .status-dot,.mobile-appstate .status-dot,.topbar-dot{background:#43df8a!important;box-shadow:0 0 8px rgba(67,223,138,.65)!important}

.app-topbar{
  background:linear-gradient(180deg,#22282d 0,#171c20 100%);
  border-bottom:1px solid #495159;
  box-shadow:inset 0 1px rgba(255,255,255,.045)
}
.topbar-title{color:#c5ccd1!important}.topbar-meta{color:#8e99a1!important}
.content-frame{background:transparent}

/* Metallic panels — restrained, not chrome */
.panel,.panel.pro-panel,.pro-panel,.mobile-section,.assignment-grid>div{
  background:
    linear-gradient(115deg,rgba(255,255,255,.026),rgba(255,255,255,0) 26%),
    linear-gradient(180deg,#1a1f24 0,#12171b 100%)!important;
  border-color:#353e45!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 7px 22px rgba(0,0,0,.16)!important
}
.panel:hover,.pro-panel:hover{border-color:#4b565e!important}
.page-head h1,.pro-page-head h1,.panel h2,.pro-panel h2{color:#f5f6f7}
.eyebrow,.section-kicker{color:#aab4bb!important}
.muted{color:#939da5!important}

.kpi{
  background:linear-gradient(145deg,#20262b 0,#14191d 58%,#101418 100%)!important;
  border-color:#3b444b!important;
  box-shadow:inset 0 1px rgba(255,255,255,.045)!important
}
.kpi small{color:#9aa4ab}.kpi span{color:#7e8991}.kpi-index{color:#69747c!important}
.kpi strong{color:#f2f4f5}.kpi.warning strong{color:#e6b95c}

/* Controls */
.btn{
  background:linear-gradient(180deg,#30373d 0,#22282d 100%);
  border-color:#4c565e;color:#eef1f2;
  box-shadow:inset 0 1px rgba(255,255,255,.055)
}
.btn:hover{background:linear-gradient(180deg,#3b434a,#2a3036);border-color:#69757d}
.btn.primary{
  background:linear-gradient(180deg,#e4e8eb 0,#bbc3c9 48%,#959fa7 100%);
  border-color:#eef1f3;color:#11161a;
  box-shadow:inset 0 1px rgba(255,255,255,.9),0 2px 8px rgba(0,0,0,.24)
}
.btn.primary:hover{background:linear-gradient(180deg,#f0f2f4,#c6cdd2 50%,#a2abb2)}
.btn.ghost{background:#181d21;border-color:#3b444b;color:#cbd1d5}
.btn.danger-outline{background:rgba(208,65,77,.08);border-color:#744149;color:#f0a4aa}
input,select,textarea{
  background:#101418;border-color:#3a434a;color:#f1f3f4;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.32)
}
input:focus,select:focus,textarea:focus{border-color:#aeb7bd;box-shadow:0 0 0 2px rgba(197,205,211,.1)}

/* Tables and list surfaces */
.table-wrap{border-color:#30383f;background:#111519}
th{background:linear-gradient(180deg,#20262b,#181d21);color:#9da7ae;border-bottom-color:#424b52}
td{border-bottom-color:#282f35;color:#dde1e4}
tbody tr:hover td{background:rgba(210,217,222,.026)}
.status-tag,.badge{border-color:#566169;background:#22282d;color:#cfd5d9}
.qual-badge{border-color:#66727a;background:#242b30;color:#e0e4e7}
.qualification-field,.qual-check{border-color:#3b444b;background:#13181c}.qual-check input{accent-color:#aeb7be}
.person-avatar,.avatar{background:linear-gradient(145deg,#d8dde0,#89949c)!important;color:#101519!important;border-color:#dfe3e6!important}

/* Distinct status palette 1–6 */
.tone-s1{--st:#39c878;--st-bg:rgba(57,200,120,.13);--st-border:rgba(57,200,120,.58);--st-text:#aef0c9}
.tone-s2{--st:#4c9fe8;--st-bg:rgba(76,159,232,.13);--st-border:rgba(76,159,232,.58);--st-text:#b9dcfb}
.tone-s3{--st:#d6ad48;--st-bg:rgba(214,173,72,.13);--st-border:rgba(214,173,72,.58);--st-text:#f1d894}
.tone-s4{--st:#e78543;--st-bg:rgba(231,133,67,.14);--st-border:rgba(231,133,67,.6);--st-text:#f6c09d}
.tone-s5{--st:#9b78de;--st-bg:rgba(155,120,222,.14);--st-border:rgba(155,120,222,.6);--st-text:#d6c4f6}
.tone-s6{--st:#df5a65;--st-bg:rgba(223,90,101,.14);--st-border:rgba(223,90,101,.62);--st-text:#f4b0b6}
.tone-s1,.tone-s2,.tone-s3,.tone-s4,.tone-s5,.tone-s6{
  border-color:var(--st-border)!important;background:var(--st-bg)!important;color:var(--st-text)!important
}
.status-chip.tone-s1,.status-chip.tone-s2,.status-chip.tone-s3,.status-chip.tone-s4,.status-chip.tone-s5,.status-chip.tone-s6{
  box-shadow:inset 3px 0 var(--st),0 0 0 1px rgba(0,0,0,.08)
}
.status-button.tone-s1,.status-button.tone-s2,.status-button.tone-s3,.status-button.tone-s4,.status-button.tone-s5,.status-button.tone-s6{
  background:linear-gradient(180deg,color-mix(in srgb,var(--st) 20%,#1a2024),#14191d)!important;
  border-color:var(--st-border)!important;color:var(--st-text)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.045)!important
}
.status-feed-row.tone-s1,.status-feed-row.tone-s2,.status-feed-row.tone-s3,.status-feed-row.tone-s4,.status-feed-row.tone-s5,.status-feed-row.tone-s6{
  border-left:3px solid var(--st)!important;background:linear-gradient(90deg,var(--st-bg),transparent 42%)!important
}
.status-number.tone-s1,.status-number.tone-s2,.status-number.tone-s3,.status-number.tone-s4,.status-number.tone-s5,.status-number.tone-s6{
  border-color:var(--st-border)!important;background:var(--st-bg)!important;color:var(--st-text)!important
}
.tone-none{border-color:#475159!important;background:#1a2024!important;color:#89949b!important}

/* Employee status is visible at a glance, including a restrained row tint */
.employee-row{position:relative}
.employee-row.employee-status-1 td{background:linear-gradient(90deg,rgba(57,200,120,.045),transparent 38%)}
.employee-row.employee-status-2 td{background:linear-gradient(90deg,rgba(76,159,232,.045),transparent 38%)}
.employee-row.employee-status-3 td{background:linear-gradient(90deg,rgba(214,173,72,.045),transparent 38%)}
.employee-row.employee-status-4 td{background:linear-gradient(90deg,rgba(231,133,67,.05),transparent 38%)}
.employee-row.employee-status-5 td{background:linear-gradient(90deg,rgba(155,120,222,.05),transparent 38%)}
.employee-row.employee-status-6 td{background:linear-gradient(90deg,rgba(223,90,101,.055),transparent 38%)}
.employee-status-cell .status-chip{white-space:nowrap}.employee-status-cell small{margin-top:4px;color:#7f8990}

/* Notifications and cards */
.notification-bell{background:linear-gradient(180deg,#2c3338,#1c2226);border-color:#4d575f;color:#d5dade}
.notification-row,.open-duty-card,.map-library-card,.duty-card,.wsim-sim-card{
  background:linear-gradient(180deg,#191f23,#12171b)!important;border-color:#353e45!important
}
.notification-row.unread{background:linear-gradient(90deg,rgba(189,197,203,.11),#161b1f)!important}
.notification-row-icon{background:#282f34;border-color:#555f67;color:#e0e4e6}
.global-notify-toast{border-color:#606b73;background:linear-gradient(180deg,#252c31,#171c20);color:#eef1f2}

/* Maps: keep tactical colors, use metallic frame */
.map-workspace,.map-view-workspace{border-color:#4a545c!important;box-shadow:0 10px 30px rgba(0,0,0,.28)!important}
.map-commandbar{background:linear-gradient(180deg,#2a3136,#191f23)!important;border-bottom-color:#4b555d!important}
.map-tool{color:#b8c0c6!important}.map-tool:hover{background:#343c42!important;color:#fff!important}.map-tool.active{background:linear-gradient(180deg,#d6dce0,#9ca6ad)!important;color:#101519!important;border-color:#eef1f3!important}
.map-context-panel,.map-floating-panel{background:linear-gradient(180deg,#20262b,#14191d)!important;border-color:#465058!important}

/* Metallic login */
.pro-login-wrap{background:radial-gradient(circle at 28% 12%,#343b41 0,#181d21 28%,#0b0e11 74%)!important}
.login-brand-panel{background:linear-gradient(145deg,#2b3237 0,#181d21 58%,#101417 100%)!important}
.pro-login-card{background:linear-gradient(180deg,#1c2226,#111519)!important;border-color:#414a51!important}
.login-system{color:#aeb7bd!important;border-color:#4c565d!important;background:#171c20!important}

/* Desktop density refinement */
@media(min-width:901px){
  .content-frame{padding-top:16px;padding-bottom:24px}
  .panel,.panel.pro-panel,.pro-panel{padding:13px}
  .page-head,.pro-page-head{margin-bottom:12px}
  .kpi{min-height:72px}.kpi strong{font-size:23px}
  td{padding-top:8px;padding-bottom:8px}
}

/* Mobile: native-app metallic chrome */
@media(max-width:900px){
  html,body{background:#0d1013!important}
  .mobile-appbar{
    background:linear-gradient(180deg,rgba(39,46,51,.98),rgba(20,25,29,.98))!important;
    border-bottom-color:#515a62!important;
    box-shadow:0 3px 12px rgba(0,0,0,.26)!important
  }
  .mobile-tabbar{
    background:linear-gradient(180deg,rgba(31,37,42,.98),rgba(14,18,21,.99))!important;
    border-top-color:#505960!important;
    box-shadow:0 -4px 18px rgba(0,0,0,.25)!important
  }
  .mobile-tab{color:#929ca4!important}
  .mobile-tab.active{color:#f1f3f4!important}
  .mobile-tab.active svg{stroke:#f1f3f4!important}
  .mobile-tab.active::before{background:linear-gradient(90deg,#7e8991,#e1e5e8,#7e8991)!important;box-shadow:0 0 9px rgba(210,218,223,.24)!important}
  .mobile-more-sheet{background:linear-gradient(180deg,#252b30,#111519)!important;border-top-color:#59636a!important}
  .mobile-sheet-links a{background:linear-gradient(180deg,#20262b,#171c20)!important;border-color:#3b444b!important}
  .mobile-sheet-handle{background:#7e8991!important}
  .panel,.panel.pro-panel,.pro-panel{box-shadow:none!important}
  .employee-row.employee-status-1,.employee-row.employee-status-2,.employee-row.employee-status-3,.employee-row.employee-status-4,.employee-row.employee-status-5,.employee-row.employee-status-6{border-left:3px solid transparent!important}
  .employee-row.employee-status-1{border-left-color:#39c878!important}.employee-row.employee-status-2{border-left-color:#4c9fe8!important}.employee-row.employee-status-3{border-left-color:#d6ad48!important}.employee-row.employee-status-4{border-left-color:#e78543!important}.employee-row.employee-status-5{border-left-color:#9b78de!important}.employee-row.employee-status-6{border-left-color:#df5a65!important}
  .mobile-card-table .employee-status-cell{align-items:center!important}
  .mobile-card-table .employee-status-cell .status-chip{justify-self:end}
}

/* =========================================================
   v0.2.28 · Enterprise structure pass
   ========================================================= */
.enterprise-page-head,
.record-page-head { margin-bottom: 14px; }
.breadcrumb,
.enterprise-breadcrumb { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin:0 0 8px; font-size:11px; line-height:1.2; color:var(--muted,#8f989f); letter-spacing:.025em; }
.breadcrumb a,
.enterprise-breadcrumb a { color:inherit; text-decoration:none; }
.breadcrumb a:hover,
.enterprise-breadcrumb a:hover { color:var(--text,#eef2f4); }
.breadcrumb span { opacity:.5; }
.breadcrumb strong { color:#cfd5d9; font-weight:650; }

.record-title-line { display:flex; align-items:center; gap:14px; }
.record-avatar { width:46px; height:46px; display:grid; place-items:center; flex:0 0 auto; border:1px solid rgba(255,255,255,.18); border-radius:10px; background:linear-gradient(145deg,#555d63,#23282c 55%,#171b1e); box-shadow:inset 0 1px rgba(255,255,255,.12),0 5px 14px rgba(0,0,0,.2); color:#f3f5f6; font-weight:800; font-size:14px; letter-spacing:.05em; }
.record-actions { align-self:flex-start; }

.record-tabs { position:sticky; top:48px; z-index:620; display:flex; align-items:center; gap:4px; overflow-x:auto; scrollbar-width:none; margin:0 0 14px; padding:5px; border:1px solid rgba(255,255,255,.11); border-radius:9px; background:rgba(27,31,35,.96); box-shadow:0 7px 20px rgba(0,0,0,.18); backdrop-filter:blur(14px); }
.record-tabs::-webkit-scrollbar { display:none; }
.record-tabs a { flex:0 0 auto; padding:8px 12px; border-radius:6px; color:#aeb6bc; text-decoration:none; font-size:12px; font-weight:680; white-space:nowrap; transition:.15s ease; }
.record-tabs a:hover,
.record-tabs a:focus-visible { background:rgba(255,255,255,.08); color:#fff; outline:none; }
.record-section { scroll-margin-top:112px; }

.record-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:0 0 12px; }
.record-summary-card { min-width:0; padding:12px 13px; border:1px solid rgba(255,255,255,.105); border-radius:8px; background:linear-gradient(160deg,rgba(68,74,79,.45),rgba(28,32,35,.92) 58%); box-shadow:inset 0 1px rgba(255,255,255,.055); }
.record-summary-card > span:first-child { display:block; margin-bottom:7px; color:#889198; font-size:9px; letter-spacing:.12em; font-weight:800; }
.record-summary-card > strong { display:block; overflow:hidden; text-overflow:ellipsis; color:#f0f3f5; font-size:14px; line-height:1.3; }
.record-summary-card > small { display:block; margin-top:4px; overflow:hidden; text-overflow:ellipsis; color:#8e979e; font-size:10px; white-space:nowrap; }
.inline-command-panel { margin-top:0; }

.enterprise-create { margin:0 0 12px; overflow:hidden; }
.enterprise-create:not([open]) { background:linear-gradient(160deg,rgba(54,60,65,.35),rgba(27,31,34,.88)); }
.enterprise-create-summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 14px; cursor:pointer; user-select:none; }
.enterprise-create-summary::-webkit-details-marker { display:none; }
.enterprise-create-summary span:first-child { display:flex; flex-direction:column; min-width:0; gap:2px; }
.enterprise-create-summary b { font-size:13px; color:#e9edf0; }
.enterprise-create-summary small { color:#879098; font-size:10px; }
.summary-chevron { width:26px; height:26px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.1); border-radius:6px; color:#aeb6bc; transition:.16s ease; }
.enterprise-create[open] .summary-chevron { transform:rotate(180deg); }
.enterprise-create-body { padding:0 14px 14px; border-top:1px solid rgba(255,255,255,.07); }
.enterprise-create-body form { padding-top:13px; }

.enterprise-list-head { align-items:flex-end; }
.enterprise-list-tools { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.compact-search { display:grid; gap:4px; min-width:250px; margin:0; }
.compact-search > span { color:#7f8990; font-size:9px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.compact-search input { min-height:34px; padding:7px 9px; }
.enterprise-table tbody tr { transition:background .14s ease,border-color .14s ease; }
.enterprise-table tbody tr:hover { background-color:rgba(255,255,255,.025); }

/* keep record controls calm and aligned */
.record-section.panel { margin-bottom:12px; }
.record-section .panel-head { margin-bottom:10px; }
.record-section .form-grid { gap:10px 12px; }

@media (max-width: 1100px) {
  .record-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .record-tabs { top:57px; margin-left:-2px; margin-right:-2px; border-radius:8px; }
  .record-tabs a { padding:8px 10px; font-size:11px; }
  .record-section { scroll-margin-top:126px; }
  .enterprise-list-head { align-items:stretch; }
  .enterprise-list-tools { width:100%; justify-content:stretch; align-items:stretch; }
  .compact-search { min-width:0; flex:1 1 100%; }
  .record-title-line { gap:10px; align-items:flex-start; }
  .record-avatar { width:40px; height:40px; border-radius:9px; }
}

@media (max-width: 560px) {
  .record-summary-grid { grid-template-columns:1fr 1fr; gap:7px; }
  .record-summary-card { padding:10px; }
  .record-summary-card > strong { font-size:12px; }
  .record-summary-card .status-chip { max-width:100%; font-size:10px; }
  .record-page-head .head-actions { width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .record-page-head .head-actions .btn { width:100%; justify-content:center; }
  .enterprise-create-summary { padding:11px 12px; }
  .enterprise-create-body { padding:0 11px 11px; }
  .enterprise-list-panel .panel-head { gap:9px; }
}

/* =========================================================
   v0.2.29 · Audit trail / enterprise activity center
   ========================================================= */
.activity-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.activity-filter-panel{margin-bottom:12px}
.activity-filter-grid{display:grid;grid-template-columns:minmax(220px,1.7fr) minmax(150px,.8fr) minmax(150px,.8fr) auto;gap:10px;align-items:end}
.activity-filter-grid label{margin:0}
.activity-filter-actions{display:flex;gap:7px;align-items:center;min-height:36px}
.activity-list{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.07)}
.activity-row{display:grid;grid-template-columns:76px 14px minmax(0,1fr) auto;gap:11px;align-items:start;padding:10px 4px;border-bottom:1px solid rgba(255,255,255,.065)}
.activity-row:hover{background:rgba(255,255,255,.018)}
.activity-time{display:flex;flex-direction:column;align-items:flex-end;padding-top:1px}.activity-time strong{font-size:12px;color:#dfe4e7}.activity-time small{font-size:9px;color:#7f8990}
.activity-marker{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#89949b;box-shadow:0 0 0 3px rgba(137,148,155,.1)}
.activity-marker.entity-duty{background:#5a9de0}.activity-marker.entity-employee{background:#7fc49b}.activity-marker.entity-radio{background:#c3a667}.activity-marker.entity-map{background:#9c84c9}.activity-marker.entity-application{background:#d08a58}.activity-marker.entity-incident{background:#d56c72}
.activity-main{min-width:0}.activity-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.activity-title strong{font-size:12px;color:#edf0f2}.activity-title span{font-size:11px;color:#aab3b9}.activity-main p{margin:4px 0 0;color:#a3adb3;font-size:11px}.activity-main small{display:block;margin-top:4px;color:#707b82;font-size:9px}
.audit-badge{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border:1px solid #49535a;border-radius:999px;background:#20262a;color:#b9c1c6;font-size:8px;font-weight:800;letter-spacing:.07em;white-space:nowrap}
.audit-mini-list{display:grid;gap:0}.audit-mini-row{display:grid;grid-template-columns:12px minmax(0,1fr);gap:8px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}.audit-mini-row:last-child{border-bottom:0}.audit-mini-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:#89949b;box-shadow:0 0 0 3px rgba(137,148,155,.08)}.audit-mini-row strong{display:block;color:#e2e7e9;font-size:11px}.audit-mini-row span{display:block;margin-top:2px;color:#a4adb3;font-size:10px}.audit-mini-row small{display:block;margin-top:3px;color:#737e85;font-size:9px}
.duty-audit-panel{margin-top:12px}.audit-duty-list{max-height:370px;overflow:auto;padding-right:3px}

@media(max-width:1100px){.activity-filter-grid{grid-template-columns:1fr 1fr}.activity-filter-actions{grid-column:1/-1}.activity-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.activity-row{grid-template-columns:50px 10px minmax(0,1fr);gap:8px;padding:9px 0}.activity-type{grid-column:3}.activity-time strong{font-size:11px}.activity-filter-grid{grid-template-columns:1fr}.activity-filter-actions{grid-column:auto}.activity-filter-actions .btn{flex:1}.employee-history-grid{grid-template-columns:1fr!important}.activity-summary{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.activity-summary{grid-template-columns:1fr 1fr}.activity-row{grid-template-columns:42px 9px minmax(0,1fr)}.activity-title{display:block}.activity-title span{display:block;margin-top:1px}.audit-badge{font-size:7px}.activity-filter-actions{display:grid;grid-template-columns:1fr 1fr}}

/* v0.2.30 Objektverwaltung & Funkstatus-Popups */
.global-notify-toast.notify-offline{border-color:#8a3f45;background:linear-gradient(180deg,#3b2024,#201417)}
.global-notify-toast.notify-online{border-color:#477b62;background:linear-gradient(180deg,#20352d,#15231e)}
.object-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.object-card{display:flex;flex-direction:column;gap:8px}.object-card h2{margin:0;font-size:15px}.object-card .object-code{font:700 9px/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.08em;color:#aab4ba}.object-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px}.object-fact{border:1px solid var(--line);padding:8px;border-radius:7px;background:rgba(255,255,255,.018)}.object-fact small,.object-fact strong{display:block}.object-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr);gap:14px}.object-toolbar{display:flex;gap:7px;flex-wrap:wrap}.object-instructions{white-space:pre-wrap;line-height:1.55}
@media(max-width:900px){.object-grid,.object-detail-grid{grid-template-columns:1fr}.object-facts{grid-template-columns:1fr 1fr}.object-toolbar .btn{flex:1}.object-card{padding:11px!important}}


/* v0.3.0 · Command Center ------------------------------------------------ */
.command-head{margin-bottom:14px}.command-head-actions{align-items:center}.command-updated{font-size:11px;color:var(--muted,#8e98a3);white-space:nowrap}.command-updated b{color:#d7dde2;font-weight:700}
.command-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:10px}
.command-kpi{display:flex;min-width:0;min-height:98px;flex-direction:column;justify-content:space-between;padding:13px 14px;border:1px solid #3a4249;border-radius:7px;background:linear-gradient(155deg,#242a2f 0%,#171b1f 72%);box-shadow:inset 0 1px rgba(255,255,255,.05);color:#eef1f3;text-decoration:none;transition:border-color .15s,transform .15s}
.command-kpi:hover{border-color:#68727b;transform:translateY(-1px)}.command-kpi.is-alert{border-color:#7c4141;background:linear-gradient(155deg,#322525,#1b1819 72%)}.command-kpi.is-warn{border-color:#71613d;background:linear-gradient(155deg,#302c22,#1b1a17 72%)}
.command-kpi-label{font-size:9px;font-weight:800;letter-spacing:.075em;text-transform:uppercase;color:#aeb7be;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-kpi strong{font-size:29px;line-height:1;font-weight:750;letter-spacing:-.04em}.command-kpi strong em{font-size:14px;color:#89939b;font-style:normal;font-weight:600}.command-kpi small{font-size:9px;color:#8f999f}
.command-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}.command-action{display:flex;align-items:center;gap:10px;min-width:0;padding:9px 11px;border:1px solid #343c42;border-radius:6px;background:#171b1f;color:#dce2e6;text-decoration:none}.command-action>span{display:grid;place-items:center;flex:0 0 31px;height:31px;border:1px solid #4a535b;border-radius:5px;background:linear-gradient(#31373c,#20252a);font-size:10px;font-weight:900;letter-spacing:.04em}.command-action strong,.command-action small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-action strong{font-size:11px}.command-action small{margin-top:2px;font-size:8px;color:#879198}.command-action.primary{border-color:#737b81;background:linear-gradient(145deg,#343a3f,#20252a)}
.command-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.8fr);gap:10px;align-items:start}.command-span-2{grid-column:1/-1}.command-layout>.panel{margin:0;min-width:0}
.command-duty-list{display:grid;gap:5px}.command-duty-row{display:grid;grid-template-columns:62px minmax(0,1fr) 112px;gap:11px;align-items:center;padding:9px 10px;border:1px solid #30373d;border-radius:5px;background:#14181b;color:#e2e7ea;text-decoration:none}.command-duty-row:hover{border-color:#555f67}.command-duty-row.is-active{border-left:3px solid #48a774}.command-duty-row.is-understaffed{box-shadow:inset -3px 0 #ba7954}.command-duty-time{text-align:center;border-right:1px solid #30373d}.command-duty-time strong{display:block;font-size:17px}.command-duty-time small{font-size:9px;color:#818c93}.command-duty-main{min-width:0}.command-duty-title{display:flex;gap:7px;align-items:center;min-width:0}.command-duty-title strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-duty-main>span,.command-duty-main>small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-duty-main>span{font-size:10px;color:#adb5bb}.command-duty-main>small{font-size:8px;color:#737e85}.command-staff-meter{text-align:right}.command-staff-meter>div:first-child b{font-size:16px}.command-staff-meter>div:first-child span{font-size:10px;color:#89939a}.staff-progress{height:3px!important;margin:4px 0 3px;background:#30373c;border-radius:9px;overflow:hidden}.staff-progress span{display:block;height:100%;background:#b7c0c7}.command-staff-meter small{font-size:8px;color:#879198}.command-staff-meter small b{color:#e0a06e}
.command-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.command-status-card{min-width:0;padding:9px;border:1px solid #343b41;border-left:3px solid currentColor;border-radius:5px;background:#161a1e;text-decoration:none;color:#cbd2d7}.command-status-card span,.command-status-card small{display:block;font-size:8px}.command-status-card strong{display:block;margin:5px 0 2px;font-size:21px;color:#f0f3f5}.command-status-card.tone-green{color:#65b889}.command-status-card.tone-blue{color:#6ea4cf}.command-status-card.tone-yellow{color:#d3b168}.command-status-card.tone-orange{color:#d98d60}.command-status-card.tone-purple{color:#a787c4}.command-status-card.tone-red{color:#d66d6d}.command-muted-line{margin-top:7px;font-size:9px;color:#758087}
.command-decision-list{display:grid;gap:6px}.command-decision-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 9px;border:1px solid #30373c;border-radius:5px;background:#14181b}.command-decision-item strong,.command-decision-item span,.command-decision-item small{display:block}.command-decision-item strong{font-size:11px}.command-decision-item span{margin-top:2px;font-size:9px;color:#b8c0c5}.command-decision-item small{margin-top:2px;font-size:8px;color:#768189}.command-decision-actions{display:flex;gap:4px}.command-decision-actions .btn{min-height:29px;padding:5px 8px;font-size:9px}
.command-short-list{display:grid;gap:5px}.command-short-list>a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;border:1px solid #30373c;border-radius:5px;background:#14181b;color:#dfe4e7;text-decoration:none}.command-short-list strong,.command-short-list span{display:block}.command-short-list strong{font-size:10px}.command-short-list span{font-size:8px;color:#78838a;margin-top:2px}.command-short-list>a>b{min-width:34px;text-align:center;color:#ef9b74;font-size:16px}
.radio-command-summary{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.radio-summary{padding:5px 7px;border:1px solid #343b41;border-radius:4px;font-size:8px;color:#929da4}.radio-summary b{font-size:11px;color:#e7ebed}.radio-summary.online{border-color:#315945}.radio-summary.offline{border-color:#6c3939}.command-radio-list{display:grid;gap:4px}.command-radio-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 8px;border-radius:4px;color:#dfe4e7;text-decoration:none;background:#14181b}.radio-dot{width:7px;height:7px;border-radius:50%;background:#677078}.radio-dot.online{background:#53b17b;box-shadow:0 0 8px rgba(83,177,123,.28)}.radio-dot.offline{background:#c45e5e}.command-radio-row strong,.command-radio-row small{display:block}.command-radio-row strong{font-size:10px}.command-radio-row small{font-size:8px;color:#78838a;margin-top:1px}.radio-state{font-size:7px;font-weight:800;letter-spacing:.07em;color:#778188}.radio-state.online{color:#64bd89}.radio-state.offline{color:#d16e6e}
.command-object-list{display:grid;gap:5px}.command-object-list>a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 9px;border:1px solid #30373c;border-radius:5px;background:#14181b;color:#dfe4e7;text-decoration:none}.command-object-list strong,.command-object-list span{display:block}.command-object-list strong{font-size:10px}.command-object-list span{margin-top:2px;font-size:8px;color:#7d888f}.command-object-meta{display:grid;grid-template-columns:auto auto;gap:0 5px;align-items:center}.command-object-meta b{font-size:12px;text-align:right}.command-object-meta small{font-size:7px;color:#7d888f;text-transform:uppercase}
.command-event-stream{display:grid;grid-template-columns:1fr 1fr;gap:5px}.command-event{position:relative;display:block;min-width:0;padding:8px 9px 8px 14px;border:1px solid #30373c;border-radius:5px;background:#14181b;color:#dfe4e7;text-decoration:none}.event-rail{position:absolute;left:0;top:0;bottom:0;width:3px;background:#59636b}.command-event.is-critical .event-rail{background:#c35f5f}.command-event.is-ok .event-rail{background:#52ad78}.command-event strong,.command-event span,.command-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-event strong{font-size:10px}.command-event span{margin-top:2px;font-size:9px;color:#aeb7bd}.command-event small{margin-top:3px;font-size:7px;color:#6f7b82}
@media(max-width:1300px){.command-kpi-grid{grid-template-columns:repeat(3,1fr)}.command-actions{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.command-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.command-kpi{min-height:84px;padding:10px}.command-kpi strong{font-size:24px}.command-actions{display:flex;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.command-actions::-webkit-scrollbar{display:none}.command-action{flex:0 0 150px}.command-layout{grid-template-columns:minmax(0,1fr)}.command-span-2{grid-column:auto}.command-duty-row{grid-template-columns:50px minmax(0,1fr) 82px;gap:7px;padding:8px}.command-duty-title{align-items:flex-start;flex-direction:column;gap:3px}.command-status-grid{grid-template-columns:repeat(2,1fr)}.command-decision-item{grid-template-columns:1fr}.command-decision-actions .btn{flex:1}.command-event-stream{grid-template-columns:1fr}.command-head-actions{width:100%;justify-content:space-between}}
@media(max-width:420px){.command-kpi-grid{grid-template-columns:1fr 1fr}.command-kpi{min-height:78px}.command-kpi-label{font-size:8px}.command-kpi strong{font-size:21px}.command-duty-row{grid-template-columns:43px minmax(0,1fr)}.command-staff-meter{grid-column:2;text-align:left;display:flex;align-items:center;gap:7px}.command-staff-meter .staff-progress{flex:1}.command-staff-meter small{min-width:55px}.command-status-card{padding:8px}.command-status-card strong{font-size:18px}}


/* ======================================================================
   v0.3.1 · Command Center layout stabilization
   Isolated, predictable grid behavior across desktop/tablet/mobile.
   ====================================================================== */
.command-center-shell{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:clip;
}
.command-center-shell *{min-width:0}
.command-center-shell .command-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.command-center-shell .command-head>div:first-child{flex:1 1 520px}
.command-center-shell .command-head-actions{
  flex:0 1 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
  max-width:100%;
}
.command-center-shell .command-kpi-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(135px,1fr));
  gap:8px;
  width:100%;
  margin:0 0 10px;
}
.command-center-shell .command-kpi{
  width:100%;
  max-width:100%;
  min-height:90px;
  padding:11px 12px;
  overflow:hidden;
}
.command-center-shell .command-kpi-label,
.command-center-shell .command-kpi small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.command-center-shell .command-actions{
  display:grid;
  grid-template-columns:repeat(5,minmax(155px,1fr));
  gap:8px;
  width:100%;
  margin:0 0 10px;
}
.command-center-shell .command-action{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.command-center-shell .command-layout{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:10px;
  width:100%;
  align-items:start;
}
.command-center-shell .command-layout>.panel{
  grid-column:span 6;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0;
  overflow:hidden;
}
.command-center-shell .command-layout>.command-span-2{grid-column:1/-1}
.command-center-shell .panel-head{
  min-width:0;
  flex-wrap:wrap;
}
.command-center-shell .panel-head>div:first-child{min-width:0;flex:1 1 auto}
.command-center-shell .panel-head .btn,
.command-center-shell .panel-head .table-meta{flex:0 0 auto}
.command-center-shell .command-duty-row{
  width:100%;
  grid-template-columns:56px minmax(0,1fr) minmax(90px,108px);
}
.command-center-shell .command-decision-item,
.command-center-shell .command-radio-row,
.command-center-shell .command-object-list>a,
.command-center-shell .command-short-list>a,
.command-center-shell .command-event{
  max-width:100%;
}
.command-center-shell .command-decision-actions{flex-wrap:wrap;justify-content:flex-end}
.command-center-shell .command-event-stream{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:1450px){
  .command-center-shell .command-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .command-center-shell .command-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1180px){
  .command-center-shell .command-layout{grid-template-columns:minmax(0,1fr)}
  .command-center-shell .command-layout>.panel,
  .command-center-shell .command-layout>.command-span-2{grid-column:1}
  .command-center-shell .command-event-stream{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:900px){
  .command-center-shell{overflow-x:hidden}
  .command-center-shell .command-head{align-items:flex-start;gap:8px}
  .command-center-shell .command-head>div:first-child{flex-basis:100%}
  .command-center-shell .command-head-actions{width:100%;justify-content:flex-start}
  .command-center-shell .command-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .command-center-shell .command-kpi{min-height:76px;padding:9px 10px}
  .command-center-shell .command-kpi strong{font-size:22px}
  .command-center-shell .command-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:visible;
    gap:7px;
  }
  .command-center-shell .command-action{flex:none;padding:8px 9px}
  .command-center-shell .command-duty-row{
    grid-template-columns:46px minmax(0,1fr);
    gap:7px;
  }
  .command-center-shell .command-staff-meter{
    grid-column:2;
    text-align:left;
    display:grid;
    grid-template-columns:auto minmax(70px,1fr) auto;
    gap:7px;
    align-items:center;
  }
  .command-center-shell .command-staff-meter .staff-progress{margin:0}
  .command-center-shell .command-decision-item{grid-template-columns:minmax(0,1fr)}
  .command-center-shell .command-decision-actions{justify-content:stretch}
  .command-center-shell .command-decision-actions .btn{flex:1 1 0}
}
@media(max-width:460px){
  .command-center-shell .command-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .command-center-shell .command-kpi{min-height:72px;padding:8px}
  .command-center-shell .command-kpi-label{font-size:7px}
  .command-center-shell .command-kpi strong{font-size:20px}
  .command-center-shell .command-kpi small{font-size:7px}
  .command-center-shell .command-actions{grid-template-columns:minmax(0,1fr)}
  .command-center-shell .command-action{min-height:48px}
  .command-center-shell .command-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ======================================================================
   v0.3.2 · Leitstelle compact rebuild
   Independent column stacks remove grid-row gaps and oversized empty areas.
   ====================================================================== */
.command-center-shell{
  width:100%;max-width:1480px;margin:0 auto;overflow:visible;
}
.command-center-shell .command-head{
  margin:0 0 8px!important;align-items:center!important;gap:10px!important;
}
.command-center-shell .command-head h1{font-size:24px!important;line-height:1.05;margin:1px 0 2px!important}
.command-center-shell .command-head .muted{font-size:10px!important;margin:2px 0 0!important}
.command-center-shell .command-head .eyebrow{font-size:8px!important;letter-spacing:1.6px!important}
.command-center-shell .command-head-actions{gap:5px!important}
.command-center-shell .command-updated{font-size:9px!important}
.command-center-shell .live-pill{padding:5px 8px!important;font-size:8px!important}

.command-center-shell .command-kpi-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:6px!important;margin:0 0 7px!important;
}
.command-center-shell .command-kpi{
  min-height:66px!important;padding:8px 10px!important;border-radius:5px!important;
  justify-content:center!important;gap:3px!important;
}
.command-center-shell .command-kpi-label{font-size:7px!important;letter-spacing:.06em!important}
.command-center-shell .command-kpi strong{font-size:21px!important;line-height:1!important;margin:1px 0!important}
.command-center-shell .command-kpi strong em{font-size:10px!important}
.command-center-shell .command-kpi small{font-size:7px!important;line-height:1.15!important}

.command-center-shell .command-actions{
  display:flex!important;gap:6px!important;margin:0 0 8px!important;flex-wrap:wrap!important;
}
.command-center-shell .command-action{
  flex:0 1 190px!important;min-height:42px!important;padding:6px 8px!important;border-radius:5px!important;gap:7px!important;
}
.command-center-shell .command-action>span{flex-basis:27px!important;width:27px!important;height:27px!important;font-size:8px!important}
.command-center-shell .command-action strong{font-size:9px!important}
.command-center-shell .command-action small{font-size:7px!important;margin-top:1px!important}

.command-center-shell .pro-panel{
  padding:10px!important;border-radius:7px!important;margin:0!important;
}
.command-center-shell .panel-head{margin-bottom:7px!important;min-height:28px!important;align-items:center!important}
.command-center-shell .panel-head h2{margin:0!important;font-size:12px!important;line-height:1.15!important}
.command-center-shell .section-kicker{margin:0 0 2px!important;font-size:6.5px!important;letter-spacing:1.2px!important}
.command-center-shell .panel-head .btn{min-height:27px!important;padding:4px 7px!important;font-size:8px!important;border-radius:4px!important}
.command-center-shell .table-meta{font-size:8px!important}
.command-center-shell .empty-table{padding:12px 8px!important;min-height:0!important;font-size:8px!important;color:#707b82!important}

.command-duty-panel{margin-bottom:8px!important}
.command-duty-panel .command-duty-list{max-height:270px;overflow:auto;padding-right:2px}
.command-center-shell .command-duty-row{
  grid-template-columns:50px minmax(0,1fr) 94px!important;
  gap:8px!important;padding:7px 8px!important;border-radius:4px!important;
}
.command-center-shell .command-duty-time strong{font-size:14px!important}
.command-center-shell .command-duty-time small{font-size:7px!important}
.command-center-shell .command-duty-title strong{font-size:10px!important}
.command-center-shell .command-duty-main>span{font-size:8px!important}
.command-center-shell .command-duty-main>small{font-size:7px!important}
.command-center-shell .command-staff-meter>div:first-child b{font-size:13px!important}
.command-center-shell .command-staff-meter>div:first-child span{font-size:8px!important}
.command-center-shell .command-staff-meter small{font-size:7px!important}

.command-workspace{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:start;
}
.command-column{display:flex;flex-direction:column;gap:8px;min-width:0}
.command-compact-panel{min-width:0}
.command-scroll-list{scrollbar-width:thin;scrollbar-color:#4a535a transparent}
.command-scroll-list::-webkit-scrollbar{width:6px;height:6px}
.command-scroll-list::-webkit-scrollbar-thumb{background:#4a535a;border-radius:8px}
.command-decision-list.command-scroll-list{max-height:220px;overflow:auto;padding-right:2px}
.command-short-list.command-scroll-list{max-height:240px;overflow:auto;padding-right:2px}
.command-radio-list.command-scroll-list{max-height:248px;overflow:auto;padding-right:2px}
.command-object-list.command-scroll-list{max-height:230px;overflow:auto;padding-right:2px}
.command-event-stream.command-scroll-list{max-height:205px;overflow:auto;padding-right:2px}

.command-center-shell .command-status-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:4px!important}
.command-center-shell .command-status-card{padding:7px!important;border-radius:4px!important;border-left-width:2px!important}
.command-center-shell .command-status-card span,.command-center-shell .command-status-card small{font-size:6.5px!important}
.command-center-shell .command-status-card strong{font-size:17px!important;margin:2px 0 1px!important}
.command-center-shell .command-muted-line{margin-top:5px!important;font-size:7px!important}

.command-center-shell .command-decision-list{gap:4px!important}
.command-center-shell .command-decision-item{padding:6px 7px!important;border-radius:4px!important;gap:6px!important}
.command-center-shell .command-decision-item strong{font-size:9px!important}
.command-center-shell .command-decision-item span{font-size:7.5px!important}
.command-center-shell .command-decision-item small{font-size:6.5px!important}
.command-center-shell .command-decision-actions .btn{min-height:25px!important;padding:3px 6px!important;font-size:7px!important}
.command-center-shell .command-short-list{gap:4px!important}
.command-center-shell .command-short-list>a{padding:6px 7px!important;border-radius:4px!important}
.command-center-shell .command-short-list strong{font-size:9px!important}
.command-center-shell .command-short-list span{font-size:7px!important}
.command-center-shell .command-short-list>a>b{font-size:13px!important}
.command-center-shell .radio-command-summary{margin-bottom:5px!important;gap:4px!important}
.command-center-shell .radio-summary{padding:3px 5px!important;font-size:6.5px!important}
.command-center-shell .radio-summary b{font-size:9px!important}
.command-center-shell .command-radio-list{gap:3px!important}
.command-center-shell .command-radio-row{padding:5px 6px!important;border-radius:3px!important}
.command-center-shell .command-radio-row strong{font-size:8.5px!important}
.command-center-shell .command-radio-row small{font-size:6.5px!important}
.command-center-shell .radio-state{font-size:6px!important}
.command-center-shell .command-object-list{gap:4px!important}
.command-center-shell .command-object-list>a{padding:6px 7px!important;border-radius:4px!important}
.command-center-shell .command-object-list strong{font-size:8.5px!important}
.command-center-shell .command-object-list span{font-size:6.5px!important}
.command-center-shell .command-object-meta b{font-size:10px!important}
.command-center-shell .command-object-meta small{font-size:6px!important}

.command-event-panel{margin-top:8px!important}
.command-center-shell .command-event-stream{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}
.command-center-shell .command-event{padding:6px 7px 6px 11px!important;border-radius:4px!important}
.command-center-shell .command-event strong{font-size:8.5px!important}
.command-center-shell .command-event span{font-size:7px!important}
.command-center-shell .command-event small{font-size:6px!important}

@media(max-width:1250px){
  .command-center-shell .command-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .command-center-shell .command-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .command-center-shell .command-event-stream{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:980px){
  .command-center-shell{max-width:none}
  .command-workspace{grid-template-columns:minmax(0,1fr)}
  .command-center-shell .command-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .command-center-shell .command-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .command-center-shell .command-actions{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:2px}
  .command-center-shell .command-action{flex:0 0 150px!important}
  .command-decision-list.command-scroll-list,.command-short-list.command-scroll-list,.command-radio-list.command-scroll-list,.command-object-list.command-scroll-list,.command-event-stream.command-scroll-list{max-height:none}
}
@media(max-width:560px){
  .command-center-shell .command-head h1{font-size:20px!important}
  .command-center-shell .command-head .muted{font-size:9px!important}
  .command-center-shell .command-kpi-grid{gap:5px!important}
  .command-center-shell .command-kpi{min-height:60px!important;padding:7px!important}
  .command-center-shell .command-kpi strong{font-size:18px!important}
  .command-center-shell .command-kpi-label{font-size:6px!important}
  .command-center-shell .command-kpi small{font-size:6px!important}
  .command-center-shell .command-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .command-center-shell .command-event-stream{grid-template-columns:minmax(0,1fr)!important}
  .command-center-shell .command-duty-row{grid-template-columns:43px minmax(0,1fr)!important}
  .command-center-shell .command-staff-meter{grid-column:2!important;text-align:left!important;display:grid!important;grid-template-columns:auto minmax(60px,1fr) auto!important;gap:5px!important;align-items:center!important}
  .command-center-shell .command-staff-meter .staff-progress{margin:0!important}
}

/* =========================================================
   v0.3.3 · Navigation & action cleanup
   One clear route per function; dashboard is operational only.
   ========================================================= */
.command-center-shell.command-clean .command-kpi-grid-clean{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  margin-bottom:8px!important;
}
.command-center-shell.command-clean .command-kpi{
  cursor:default!important;
  transform:none!important;
}
.command-center-shell.command-clean .command-kpi:hover{
  transform:none!important;
  border-color:var(--line)!important;
}
.command-center-shell.command-clean .command-status-card{
  cursor:default!important;
  transform:none!important;
}
.command-center-shell.command-clean .command-status-card:hover{transform:none!important}
.command-center-shell.command-clean .command-radio-row{cursor:default!important}
.command-center-shell.command-clean .command-radio-row:hover{background:inherit!important}
.command-center-shell.command-clean .command-workspace-clean{margin-top:8px}

/* Lists should expose one primary action only. */
.object-toolbar .btn:only-child,.map-card-actions .btn:only-child{min-width:84px;text-align:center}

@media(max-width:1250px){
  .command-center-shell.command-clean .command-kpi-grid-clean{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .command-center-shell.command-clean .command-kpi-grid-clean{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* =========================================================
   v0.3.4 · Reduced operations dashboard
   Quiet hierarchy, no duplicate module views, compact live overview.
   ========================================================= */
.ops-dashboard-v034{max-width:1480px;margin:0 auto;padding:0 2px 22px;overflow-x:hidden}
.ops-dashboard-v034 .ops-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 10px;padding:0 0 8px;border-bottom:1px solid var(--line)}
.ops-dashboard-v034 .ops-head h1{margin:1px 0 1px;font-size:24px;line-height:1.05;letter-spacing:-.4px}
.ops-dashboard-v034 .ops-head .muted{margin:0;font-size:10px}
.ops-dashboard-v034 .ops-live{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:8px;color:var(--muted)}
.ops-dashboard-v034 .ops-live>span{width:7px;height:7px;border-radius:50%;background:#43d18d;box-shadow:0 0 0 3px rgba(67,209,141,.12)}
.ops-dashboard-v034 .ops-live b{font-size:8px;color:var(--text);letter-spacing:.8px}
.ops-dashboard-v034 .ops-live small{font-size:8px}

.ops-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:8px}
.ops-kpi{min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008))}
.ops-kpi>span{display:block;font-size:6.5px;letter-spacing:1px;color:var(--muted);font-weight:800}
.ops-kpi strong{display:block;margin:2px 0 0;font-size:20px;line-height:1;font-variant-numeric:tabular-nums}
.ops-kpi small{display:block;margin-top:2px;font-size:7px;color:var(--muted)}
.ops-kpi.is-alert{border-color:rgba(236,104,80,.46);background:linear-gradient(180deg,rgba(122,43,30,.16),rgba(255,255,255,.008))}
.ops-kpi.is-warn{border-color:rgba(220,177,58,.4);background:linear-gradient(180deg,rgba(112,84,18,.14),rgba(255,255,255,.008))}

.ops-primary-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr);gap:8px;align-items:start;margin-bottom:8px}
.ops-secondary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.1fr);gap:8px;align-items:start}
.ops-panel{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:var(--panel);box-shadow:none}
.ops-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;min-height:27px}
.ops-panel-head h2{margin:0;font-size:11px;line-height:1.1}
.ops-panel-head .section-kicker{margin:0 0 2px;font-size:6px;letter-spacing:1.15px}
.ops-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 6px;border:1px solid var(--line);border-radius:999px;font-size:8px;color:var(--muted);font-variant-numeric:tabular-nums}
.ops-empty{padding:16px 8px;text-align:center;color:var(--muted);font-size:8px}
.ops-empty-good{color:#82948c}

.ops-duty-list{display:flex;flex-direction:column;gap:4px;max-height:340px;overflow:auto;padding-right:2px;scrollbar-width:thin}
.ops-duty-row{display:grid;grid-template-columns:48px minmax(0,1fr) 82px;gap:8px;align-items:center;padding:6px 7px;border:1px solid rgba(126,139,148,.25);border-left:2px solid #66727a;border-radius:4px;background:rgba(255,255,255,.012);color:inherit;text-decoration:none}
.ops-duty-row:hover{background:rgba(255,255,255,.026);border-color:rgba(161,174,182,.38)}
.ops-duty-row.is-active{border-left-color:#42c889}
.ops-duty-row.is-understaffed{border-right:2px solid #df765d}
.ops-duty-time strong{display:block;font-size:12px;line-height:1.05}
.ops-duty-time small{font-size:6.5px;color:var(--muted)}
.ops-duty-main{min-width:0}
.ops-duty-main>div{display:flex;align-items:center;gap:5px;min-width:0}
.ops-duty-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}
.ops-duty-main small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;color:var(--muted)}
.ops-duty-main .status-tag{font-size:5.5px;padding:2px 4px}
.ops-duty-staff{text-align:right;font-variant-numeric:tabular-nums}
.ops-duty-staff strong{display:block;font-size:12px;line-height:1}.ops-duty-staff strong span{font-size:7px;color:var(--muted);font-weight:600}
.ops-duty-staff small{font-size:6.5px;color:var(--muted)}
.ops-duty-row.is-understaffed .ops-duty-staff small{color:#f38a6d}

.ops-decision-list{display:flex;flex-direction:column;gap:4px;max-height:340px;overflow:auto;padding-right:2px;scrollbar-width:thin}
.ops-decision-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px;border:1px solid rgba(126,139,148,.24);border-radius:4px;background:rgba(255,255,255,.012)}
.ops-decision-copy{min-width:0}.ops-decision-copy strong{display:block;margin:2px 0 1px;font-size:8.5px}.ops-decision-copy small{display:block;font-size:6.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ops-type{display:inline-block;font-size:5.5px;letter-spacing:.8px;color:#9eabb2;font-weight:800}
.ops-actions{display:flex;gap:4px}.ops-actions .btn{min-height:24px;padding:3px 6px;font-size:7px;border-radius:4px}

.ops-status-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.ops-status-cell{min-width:0;padding:6px;border:1px solid var(--line);border-radius:4px;background:rgba(255,255,255,.012)}
.ops-status-cell>span{font-size:6px;font-weight:800}.ops-status-cell strong{display:block;margin:1px 0;font-size:14px}.ops-status-cell small{display:block;font-size:5.7px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ops-status-cell.tone-green{border-color:rgba(55,192,126,.38)}.ops-status-cell.tone-blue{border-color:rgba(66,147,214,.38)}.ops-status-cell.tone-yellow{border-color:rgba(220,177,58,.38)}.ops-status-cell.tone-orange{border-color:rgba(227,127,63,.38)}.ops-status-cell.tone-purple{border-color:rgba(159,117,218,.38)}.ops-status-cell.tone-red{border-color:rgba(221,87,87,.38)}
.ops-footnote{display:block;margin-top:5px;font-size:6.5px;color:var(--muted)}

.ops-radio-summary{display:flex;gap:4px;flex-wrap:wrap}.ops-radio-summary>span{display:inline-flex;align-items:center;gap:3px;padding:3px 5px;border:1px solid var(--line);border-radius:999px;font-size:6.5px;color:var(--muted)}.ops-radio-summary b{font-size:9px;color:var(--text)}
.ops-radio-summary .online{border-color:rgba(55,192,126,.35)}.ops-radio-summary .offline{border-color:rgba(221,87,87,.4)}
.ops-alert-list{display:flex;flex-direction:column;gap:3px;margin-top:6px}.ops-alert-list>div{display:grid;grid-template-columns:8px auto minmax(0,1fr);align-items:center;gap:5px;padding:4px 5px;background:rgba(255,255,255,.012);border-radius:3px}.ops-alert-list strong{font-size:7.5px}.ops-alert-list small{font-size:6px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.ops-event-list{display:flex;flex-direction:column;gap:2px}.ops-event-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;padding:4px 5px;border-bottom:1px solid rgba(126,139,148,.14);color:inherit;text-decoration:none}.ops-event-row:last-child{border-bottom:0}.ops-event-row strong{display:block;font-size:7.5px}.ops-event-row small{display:block;font-size:6px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-event-row time{font-size:6px;color:#68747b}.ops-event-row.is-critical strong{color:#ef7569}.ops-event-row.is-ok strong{color:#56c995}

@media(max-width:1180px){
  .ops-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ops-primary-grid{grid-template-columns:minmax(0,1fr)}
  .ops-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ops-events-panel{grid-column:1/-1}
}
@media(max-width:900px){
  .ops-dashboard-v034{padding-bottom:86px}
  .ops-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ops-secondary-grid{grid-template-columns:minmax(0,1fr)}
  .ops-events-panel{grid-column:auto}
  .ops-status-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
  .ops-dashboard-v034 .ops-head{align-items:flex-start}.ops-dashboard-v034 .ops-head h1{font-size:20px}.ops-dashboard-v034 .ops-head .muted{font-size:8px}.ops-live small{display:none}
  .ops-kpis{gap:4px;margin-bottom:6px}.ops-kpi{padding:7px 8px}.ops-kpi strong{font-size:17px}.ops-kpi small{font-size:6px}
  .ops-primary-grid,.ops-secondary-grid{gap:6px;margin-bottom:6px}.ops-panel{padding:8px}
  .ops-duty-row{grid-template-columns:40px minmax(0,1fr);gap:6px}.ops-duty-staff{grid-column:2;display:flex;align-items:center;gap:6px;text-align:left}.ops-duty-staff strong{font-size:10px}
  .ops-decision-row{grid-template-columns:minmax(0,1fr)}.ops-actions{justify-content:flex-start}
  .ops-status-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
}


/* =========================================================
   v0.3.6 · Operations dashboard alignment hotfix
   Dashboard uses the full desktop work area exactly once.
   ========================================================= */
.content-frame.content-frame-ops{
  width:100%;
  max-width:none;
  margin:0;
  padding:16px 18px 24px;
}
.content-frame-ops .ops-dashboard-v034{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 0 22px;
}
.content-frame-ops .ops-head,
.content-frame-ops .ops-kpis,
.content-frame-ops .ops-primary-grid,
.content-frame-ops .ops-secondary-grid{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
}
.content-frame-ops .ops-primary-grid{
  grid-template-columns:minmax(0,2fr) minmax(300px,.92fr);
}
.content-frame-ops .ops-secondary-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,.82fr) minmax(0,1fr);
}
@media(max-width:1180px){
  .content-frame.content-frame-ops{padding:14px 14px 22px}
  .content-frame-ops .ops-primary-grid{grid-template-columns:1fr}
  .content-frame-ops .ops-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .content-frame-ops .ops-events-panel{grid-column:1/-1}
}
@media(max-width:900px){
  .content-frame.content-frame-ops{padding:11px 10px 15px!important}
  .content-frame-ops .ops-secondary-grid{grid-template-columns:1fr}
  .content-frame-ops .ops-events-panel{grid-column:auto}
}


/* ============================================================
   v0.3.7 · Gap-free operations workspace
   Two independent vertical stacks avoid dead zones caused by a
   shared CSS-grid row height. Only applies to the Leitstelle.
   ============================================================ */
.content-frame-ops .ops-workspace-grid{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(320px,.92fr);
  gap:8px;
  align-items:start;
  width:100%;
  margin:0;
}
.content-frame-ops .ops-stack{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.content-frame-ops .ops-stack > .ops-panel{
  width:100%;
  margin:0;
}
.content-frame-ops .ops-duty-list{
  max-height:318px;
}
.content-frame-ops .ops-decisions-panel.is-compact-empty .ops-decision-list{
  min-height:0;
}
.content-frame-ops .ops-decisions-panel.is-compact-empty .ops-empty{
  padding:8px 6px 6px;
}
.content-frame-ops .ops-radio-panel .ops-empty{
  padding:9px 6px 4px;
}
.content-frame-ops .ops-events-panel{
  min-height:0;
}
@media(max-width:1180px){
  .content-frame-ops .ops-workspace-grid{grid-template-columns:1fr;gap:6px}
  .content-frame-ops .ops-stack{gap:6px}
}
@media(max-width:900px){
  .content-frame-ops .ops-workspace-grid{display:block}
  .content-frame-ops .ops-stack{gap:6px;margin-bottom:6px}
  .content-frame-ops .ops-stack:last-child{margin-bottom:0}
  .content-frame-ops .ops-duty-list{max-height:none}
}
\n\n/* ============================================================\n   v0.3.8 · Desktop readability + duty lifecycle notifications\n   ============================================================ */\n.global-notify-toast.notify-completed{border-color:#60798c;background:linear-gradient(180deg,#26343d,#182128)}\n@media(min-width:1181px){\n  .content-frame-ops .ops-head h1{font-size:28px}\n  .content-frame-ops .ops-head .muted{font-size:12px;line-height:1.35}\n  .content-frame-ops .ops-live,.content-frame-ops .ops-live b,.content-frame-ops .ops-live small{font-size:9px}\n  .content-frame-ops .ops-kpi{padding:10px 12px}\n  .content-frame-ops .ops-kpi>span{font-size:8px}\n  .content-frame-ops .ops-kpi strong{font-size:24px}\n  .content-frame-ops .ops-kpi small{font-size:9px}\n  .content-frame-ops .ops-panel{padding:11px 12px}\n  .content-frame-ops .ops-panel-head h2{font-size:14px}\n  .content-frame-ops .ops-panel-head .section-kicker{font-size:7.5px}\n  .content-frame-ops .ops-count{font-size:9px}\n  .content-frame-ops .ops-empty{font-size:10px}\n  .content-frame-ops .ops-duty-row{grid-template-columns:58px minmax(0,1fr) 96px;padding:8px 9px}\n  .content-frame-ops .ops-duty-time strong{font-size:15px}\n  .content-frame-ops .ops-duty-time small{font-size:8px}\n  .content-frame-ops .ops-duty-main strong{font-size:11px}\n  .content-frame-ops .ops-duty-main small{font-size:8.5px}\n  .content-frame-ops .ops-duty-main .status-tag{font-size:7px}\n  .content-frame-ops .ops-duty-staff strong{font-size:15px}\n  .content-frame-ops .ops-duty-staff strong span{font-size:9px}\n  .content-frame-ops .ops-duty-staff small{font-size:8px}\n  .content-frame-ops .ops-decision-copy strong{font-size:10.5px}\n  .content-frame-ops .ops-decision-copy small{font-size:8px}\n  .content-frame-ops .ops-type{font-size:7px}\n  .content-frame-ops .ops-actions .btn{font-size:8.5px}\n  .content-frame-ops .ops-status-cell>span{font-size:7.5px}\n  .content-frame-ops .ops-status-cell strong{font-size:18px}\n  .content-frame-ops .ops-status-cell small{font-size:7.3px}\n  .content-frame-ops .ops-footnote{font-size:8px}\n  .content-frame-ops .ops-radio-summary>span{font-size:8px}\n  .content-frame-ops .ops-radio-summary b{font-size:11px}\n  .content-frame-ops .ops-alert-list strong{font-size:9.5px}\n  .content-frame-ops .ops-alert-list small{font-size:8px}\n  .content-frame-ops .ops-event-row strong{font-size:9.5px}\n  .content-frame-ops .ops-event-row small{font-size:8px}\n  .content-frame-ops .ops-event-row time{font-size:8px}\n}\n
/* v0.3.9 — freiwillige Live-Standortfreigabe */
.location-share-toggle{
  display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 10px;border:1px solid #3b4650;border-radius:7px;
  background:linear-gradient(180deg,#242a2f,#171b1f);color:#b9c2ca;font:600 11px/1 inherit;letter-spacing:.03em;cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease
}
.location-share-toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.location-share-toggle:hover{border-color:#66727d;color:#eef2f5}
.location-share-toggle.is-live{color:#6df2a6;border-color:#2c8b58;background:linear-gradient(180deg,rgba(30,105,67,.42),rgba(15,61,40,.38));box-shadow:0 0 0 1px rgba(78,215,137,.06) inset}
.location-share-toggle.is-live:before{content:"";width:6px;height:6px;border-radius:50%;background:#55e994;box-shadow:0 0 8px rgba(85,233,148,.8)}
.mobile-location-toggle{height:34px;min-width:34px;padding:0 8px;border-radius:8px}
.mobile-location-toggle span{font-size:10px}

.live-location-panel{overflow:hidden}
.live-location-meta{display:flex;align-items:center;gap:7px;color:#aeb8c0;font-size:12px}
.live-location-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:12px;min-width:0}
.live-location-map{height:430px;min-height:320px;border:1px solid #35414a;border-radius:8px;overflow:hidden;background:#10161b}
.live-location-list{display:flex;flex-direction:column;gap:6px;max-height:430px;overflow:auto;padding-right:2px}
.live-location-person{width:100%;border:1px solid #303a42;border-radius:7px;background:#151a1e;color:#dbe2e7;text-align:left;padding:9px 10px;display:grid;grid-template-columns:8px 1fr;gap:9px;align-items:start;cursor:pointer}
.live-location-person:hover{border-color:#596570;background:#191f24}
.live-location-person-dot{width:7px;height:7px;border-radius:50%;background:#55e994;margin-top:4px;box-shadow:0 0 7px rgba(85,233,148,.7)}
.live-location-person.is-stale .live-location-person-dot{background:#7f8991;box-shadow:none}
.live-location-person span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.live-location-person strong{font-size:12px;line-height:1.2}
.live-location-person small{font-size:10px;color:#84929c;white-space:normal}
.live-location-marker-wrap{background:none!important;border:none!important}
.live-location-marker{position:relative;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#11171b;border:2px solid var(--marker);color:#f7fafb;font-size:10px;font-weight:800;box-shadow:0 3px 12px rgba(0,0,0,.45),0 0 0 3px rgba(0,0,0,.24)}
.live-location-marker.is-live:after{content:"";position:absolute;width:40px;height:40px;border-radius:50%;border:1px solid var(--marker);opacity:.35;animation:pgLocationPulse 1.8s ease-out infinite}
.live-location-marker.is-stale{opacity:.65;filter:saturate(.35)}
@keyframes pgLocationPulse{0%{transform:scale(.65);opacity:.5}100%{transform:scale(1.3);opacity:0}}

@media (max-width:900px){
  .live-location-layout{grid-template-columns:1fr}
  .live-location-map{height:min(52dvh,420px);min-height:300px}
  .live-location-list{max-height:260px}
  .mobile-location-toggle span{display:none}
  .mobile-location-toggle.is-live span{display:inline}
}


/* ============================================================
   v0.3.11 · einklappbare Live-Standorte
   ============================================================ */
.live-location-panel-head{gap:14px}
.live-location-collapse-toggle{
  margin-left:auto;display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;
  border:1px solid #3a4650;border-radius:8px;background:#151a1e;color:#c8d1d8;cursor:pointer;
  font:600 11px/1 inherit;white-space:nowrap;transition:border-color .18s ease,background .18s ease,color .18s ease
}
.live-location-collapse-toggle:hover{border-color:#65727d;background:#1a2025;color:#f2f5f7}
.live-location-collapse-toggle .status-dot{flex:0 0 auto}
.live-location-chevron{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}
.live-location-collapse-toggle[aria-expanded="true"] .live-location-chevron{transform:rotate(225deg) translate(-1px,-1px)}
.live-location-body{margin-top:2px}
.live-location-panel.is-collapsed .live-location-body{display:none}
.live-location-panel.is-collapsed .panel-head{margin-bottom:0}
@media(max-width:600px){
  .live-location-panel-head{align-items:center}
  .live-location-panel-head .muted{display:none}
  .live-location-collapse-toggle{min-height:32px;padding:0 8px}
}

/* v0.4.0 · native mobile location state */
.location-share-toggle.has-location-error{outline:1px solid rgba(255,94,94,.7);box-shadow:0 0 0 3px rgba(255,94,94,.08)}
.location-share-toggle.has-location-error svg{filter:drop-shadow(0 0 5px rgba(255,94,94,.35))}

/* v0.4.2 · Admin-only System & Update availability */
.system-page-head{margin-bottom:16px}.system-admin-badge{border:1px solid #4a6170;background:#101b23;color:#b9c8d1;border-radius:6px;padding:8px 10px;font-size:9px;font-weight:850;letter-spacing:1px}.system-update-grid{display:grid;grid-template-columns:.85fr 1.35fr;gap:14px;margin-bottom:14px}.system-status-list{display:grid;gap:0}.system-status-list>div{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:12px 0;border-top:1px solid #1b2b37}.system-status-list>div:first-child{border-top:0}.system-status-list span{color:#788c99;font-size:10px;text-transform:uppercase;letter-spacing:.45px}.system-status-list strong,.system-status-list code{text-align:right;color:#dce6ec;font-size:11px;overflow-wrap:anywhere}.system-status-list .ok{color:#72d9a7}.system-status-list .warn{color:#f3c36b}.system-status-list .bad{color:#ff8080}.system-update-copy{color:#8fa1ac;line-height:1.65;font-size:11px;margin:0 0 15px}.system-update-form{display:grid;gap:13px}.system-update-form input[type=file]{display:block;width:100%;border:1px dashed #345062;background:#09131b;padding:13px}.system-confirm-row{display:flex;align-items:flex-start;gap:9px!important;text-transform:none!important;letter-spacing:0!important;font-size:10px!important;color:#9eafb9!important}.system-confirm-row input{width:16px;height:16px;min-height:0!important;margin:1px 0 0;padding:0}.system-confirm-row span{line-height:1.45}.system-update-button{justify-self:start;min-width:190px}.system-update-button:disabled,.system-update-form input:disabled{opacity:.45;cursor:not-allowed}.system-log-card{margin-bottom:14px}.system-log-output{margin:0;max-height:360px;overflow:auto;background:#050b10;border:1px solid #1b2b37;border-radius:6px;padding:13px;color:#a9bbc5;font:10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.system-pending-list{display:flex;flex-wrap:wrap;gap:8px}.system-pending-list code{background:#0a141c;border:1px solid #213541;border-radius:5px;padding:7px 9px;color:#a9bbc5;font-size:10px}.system-update-running{border-color:#7d642d!important}.system-update-error{border-color:#7b3838!important}
@media(max-width:900px){.system-update-grid{grid-template-columns:1fr}.system-update-button{width:100%}.system-status-list>div{flex-direction:column;gap:4px}.system-status-list strong,.system-status-list code{text-align:left}}

/* v0.4.2 · Update availability indicator */
.nav-update-badge{margin-left:auto!important;width:auto!important;max-width:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:18px;padding:2px 6px!important;border:1px solid rgba(255,176,64,.52)!important;border-radius:999px!important;background:rgba(255,151,32,.14)!important;color:#ffc36f!important;font-size:7px!important;font-weight:900!important;letter-spacing:.06em!important;line-height:1!important;white-space:nowrap;box-shadow:0 0 14px rgba(255,151,32,.08)}
.nav-update-badge.is-hidden,.mobile-update-dot.is-hidden,.mobile-system-update.is-hidden{display:none!important}
.mobile-more-button{position:relative}.mobile-update-dot{position:absolute;right:18%;top:6px;width:7px;height:7px;border-radius:50%;background:#ff9d36;box-shadow:0 0 0 2px #15191d,0 0 10px rgba(255,157,54,.8)}
.mobile-system-update{display:inline-flex;margin-top:5px;width:max-content;padding:3px 6px;border:1px solid rgba(255,176,64,.42);border-radius:999px;background:rgba(255,151,32,.10);color:#ffc36f;font-style:normal;font-size:7px;font-weight:850;letter-spacing:.04em}
.system-update-available{border-color:#8b6729!important;background:rgba(151,98,19,.08)!important}.system-update-available strong{color:#ffd080!important}.system-status-list .update-ready{color:#ffc36f}.system-pending-note{margin:4px 0 0;color:#6f838f;font-size:9px;line-height:1.45}
@media(max-width:900px){.nav-update-badge{font-size:6.5px!important;padding:2px 5px!important}}

/* === ProGuard AI v0.5.0 === */
.nav-item.nav-ai svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ai-page{max-width:1500px;margin:0 auto;padding:28px 28px 110px}
.ai-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.ai-hero .eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:#8a96a3;margin-bottom:8px}
.ai-hero h1{margin:0;font-size:34px;letter-spacing:-.03em}.ai-spark{color:#d4a84f}
.ai-hero p{max-width:760px;color:#87929d;margin:8px 0 0;line-height:1.55}
.ai-state{display:flex;align-items:center;gap:10px;border:1px solid #303840;background:#171c21;border-radius:12px;padding:11px 14px;min-width:190px}
.ai-state-dot{width:9px;height:9px;border-radius:50%;background:#9c4c4c;box-shadow:0 0 0 4px rgba(156,76,76,.12)}
.ai-state.is-ready .ai-state-dot{background:#5fa878;box-shadow:0 0 0 4px rgba(95,168,120,.12)}
.ai-state strong,.ai-state small{display:block}.ai-state strong{font-size:13px}.ai-state small{font-size:10px;color:#7f8a94;margin-top:2px}
.ai-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.ai-chat-card,.ai-panel{border:1px solid #2a3239;background:#151a1f;border-radius:16px;box-shadow:0 14px 45px rgba(0,0,0,.17)}
.ai-chat-card{overflow:hidden}.ai-chat-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;border-bottom:1px solid #252d34;background:#171d22}
.ai-chat-head strong,.ai-chat-head small{display:block}.ai-chat-head strong{font-size:14px}.ai-chat-head small{font-size:11px;color:#7e8993;margin-top:3px}
.ai-clear{font-size:11px;padding:7px 10px}
.ai-chat{height:min(58vh,620px);min-height:390px;overflow:auto;padding:22px;display:flex;flex-direction:column;gap:18px;background:radial-gradient(circle at 20% 0%,rgba(212,168,79,.035),transparent 28%),#11161a}
.ai-message{display:flex;gap:11px;max-width:86%;align-items:flex-start}.ai-message.user{align-self:flex-end;flex-direction:row-reverse}.ai-message.assistant{align-self:flex-start}
.ai-message-badge{width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:grid;place-items:center;font-size:13px;font-weight:900;background:#252d34;color:#d4a84f;border:1px solid #343e47;overflow:hidden}
.ai-message-badge.is-avatar{padding:0;background:linear-gradient(180deg,#1b2025,#11161b);border-color:#3b4650;box-shadow:0 4px 14px rgba(0,0,0,.24)}
.ai-message-badge.is-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.ai-message.user .ai-message-badge{background:#28313a;color:#e2e7eb}
.ai-message-body{min-width:0}.ai-message-meta{font-size:10px;color:#707c86;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin:0 0 5px 3px}.ai-message.user .ai-message-meta{text-align:right;margin-right:3px}
.ai-message-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;font-size:14px;color:#d9dee3;background:#1a2025;border:1px solid #293139;border-radius:4px 14px 14px 14px;padding:12px 14px}
.ai-message.user .ai-message-text{background:#242d35;border-color:#36424d;border-radius:14px 4px 14px 14px}
.ai-message.temporary .ai-message-text{color:#9da7b0}
.ai-typing{display:flex;align-items:center;gap:5px;padding:9px 18px;border-top:1px solid #232a30;color:#77838d;font-size:11px}.ai-typing span{width:5px;height:5px;border-radius:50%;background:#d4a84f;animation:aiPulse 1s infinite alternate}.ai-typing span:nth-child(2){animation-delay:.18s}.ai-typing span:nth-child(3){animation-delay:.36s}.ai-typing em{font-style:normal;margin-left:6px}@keyframes aiPulse{to{opacity:.25;transform:translateY(-2px)}}
.ai-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:14px 16px;border-top:1px solid #252d34;background:#171c21}.ai-composer.has-voice{grid-template-columns:minmax(0,1fr) auto}.ai-input-shell{position:relative;min-width:0}.ai-input-shell textarea{display:block;margin:0;resize:none;min-height:48px;max-height:140px;border:1px solid #343d45;border-radius:11px;background:#101519;color:#edf0f2;padding:12px 13px;font:inherit;line-height:1.4;outline:none}.ai-input-shell.has-voice textarea{padding-right:62px}.ai-input-shell textarea:focus{border-color:#665b3c;box-shadow:0 0 0 3px rgba(212,168,79,.07)}.ai-send{display:flex;align-items:center;gap:8px;align-self:stretch;min-width:105px;justify-content:center}.ai-send svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.ai-voice{position:absolute;right:6px;bottom:6px;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;border:1px solid #3a444c;border-radius:9px;background:#20272d;color:#dbe1e5;cursor:pointer;line-height:1;appearance:none;-webkit-appearance:none;z-index:2}.ai-voice svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.ai-voice:hover{border-color:#706343;color:#e4be6b}.ai-voice.is-recording{background:#542329;border-color:#b24c58;color:#fff;box-shadow:0 0 0 3px rgba(178,76,88,.12);animation:aiVoicePulse 1.1s infinite alternate}.ai-voice:disabled{opacity:.48;cursor:not-allowed}@keyframes aiVoicePulse{to{box-shadow:0 0 0 6px rgba(178,76,88,.05)}}
.ai-voice-state{padding:8px 16px;border-top:1px solid #252d34;background:#171c21;color:#9ba6ae;font-size:11px}.ai-voice-state.is-recording{color:#ef9aa3}.ai-voice-state.is-working{color:#d4b56d}.ai-voice-state.is-ok{color:#92c8a3}.ai-voice-state.is-error{color:#e69a9a}
.ai-privacy{padding:9px 16px 13px;color:#68737d;font-size:10px;line-height:1.45;background:#171c21}
.ai-side{display:flex;flex-direction:column;gap:14px}.ai-panel{padding:15px}.ai-panel-title{font-size:10px;letter-spacing:.12em;color:#727e88;font-weight:900;margin-bottom:10px}.ai-rules p{font-size:12px;line-height:1.5;color:#a8b1b8;margin:8px 0}.ai-rules .muted{color:#707b84}
@media(max-width:900px){
  /* v0.5.1 · ProGuard AI follows the native mobile shell */
  .ai-page{max-width:none!important;margin:0!important;padding:0!important;min-width:0}
  .ai-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;margin:0 0 8px!important;padding:0!important}
  .ai-hero>div:first-child{min-width:0}
  .ai-hero .eyebrow{display:none!important}
  .ai-hero h1{font-size:19px!important;line-height:1.12!important;letter-spacing:-.25px!important;margin:1px 0 2px!important}
  .ai-hero p{font-size:8.5px!important;line-height:1.35!important;margin:0!important;color:#7f8990!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:none!important}
  .ai-state{min-width:0!important;width:auto!important;max-width:132px!important;gap:6px!important;border-radius:7px!important;padding:7px 8px!important;background:#151a1f!important;border-color:#3b444b!important;box-shadow:none!important}
  .ai-state-dot{width:6px!important;height:6px!important;box-shadow:none!important;flex:0 0 6px!important}
  .ai-state strong{font-size:8px!important;white-space:nowrap}.ai-state small{font-size:6.5px!important;white-space:nowrap;margin-top:1px!important}

  .ai-layout{display:flex!important;flex-direction:column!important;gap:7px!important;min-width:0}
  .ai-side{display:block!important;order:0!important;min-width:0}
  .ai-panel{border-radius:8px!important;box-shadow:none!important;background:#14181c!important;border-color:#343b42!important}
  .ai-panel-title{display:none!important}.ai-rules{display:none!important}

  .ai-chat-card{order:1!important;border-radius:8px!important;border-color:#343b42!important;box-shadow:none!important;overflow:hidden!important;background:#111519!important;min-width:0}
  .ai-chat-head{padding:8px 9px!important;gap:7px!important;background:#171c20!important;border-bottom-color:#343b42!important}
  .ai-chat-head strong{font-size:10px!important}.ai-chat-head small{font-size:7px!important;line-height:1.25!important;margin-top:2px!important;max-width:230px!important}
  .ai-clear{min-height:29px!important;padding:5px 7px!important;font-size:7.5px!important;white-space:nowrap!important}

  .ai-chat{height:calc(100dvh - var(--mobile-top-h) - var(--mobile-nav-h) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 285px)!important;min-height:250px!important;max-height:520px!important;padding:10px 9px!important;gap:10px!important;background:#101417!important;scroll-behavior:smooth}
  .ai-message{gap:7px!important;max-width:97%!important}
  .ai-message-badge{width:24px!important;height:24px!important;flex:0 0 24px!important;border-radius:6px!important;font-size:9px!important}.ai-message-badge.is-avatar{border-radius:7px!important}
  .ai-message-meta{font-size:6.5px!important;margin:0 0 3px 2px!important;letter-spacing:.04em!important}
  .ai-message-text{font-size:12px!important;line-height:1.45!important;padding:9px 10px!important;border-radius:3px 10px 10px 10px!important;background:#1a2025!important}
  .ai-message.user .ai-message-text{border-radius:10px 3px 10px 10px!important;background:#242b31!important}

  .ai-typing{min-height:30px!important;padding:6px 9px!important;font-size:7px!important;background:#151a1e!important;border-top-color:#30383e!important}.ai-typing em{margin-left:3px!important}
  .ai-composer{display:grid!important;grid-template-columns:minmax(0,1fr) 42px!important;align-items:end!important;gap:6px!important;padding:7px!important;background:#171c20!important;border-top-color:#343b42!important}
  .ai-composer.has-voice{grid-template-columns:minmax(0,1fr) 42px!important}
  .ai-input-shell{min-width:0!important}
  .ai-input-shell textarea{margin:0!important;min-height:42px!important;max-height:100px!important;padding:9px 10px!important;border-radius:7px!important;font-size:16px!important;line-height:1.3!important;background:#101418!important;border-color:#3a434a!important}
  .ai-input-shell.has-voice textarea{padding-right:51px!important}
  .ai-voice{right:4px!important;bottom:4px!important;min-width:34px!important;width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border-radius:7px!important}.ai-voice svg{width:17px!important;height:17px!important}
  .ai-send{min-width:42px!important;width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border-radius:7px!important;align-self:end!important}
  .ai-send span{display:none!important}.ai-send svg{width:18px!important;height:18px!important}
  .ai-voice-state{padding:6px 8px!important;font-size:8px!important;line-height:1.35!important}
  .ai-privacy{padding:6px 8px 8px!important;font-size:6.8px!important;line-height:1.35!important;color:#727c83!important;background:#171c20!important}
}
@media(max-width:390px){
  .ai-state{max-width:112px!important}.ai-state small{display:none!important}
  .ai-hero p{max-width:220px!important}
  .ai-chat{height:calc(100dvh - var(--mobile-top-h) - var(--mobile-nav-h) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 270px)!important;min-height:235px!important}
  .ai-chat-head small{max-width:175px!important}
}

/* === ProGuard AI usage monitor v0.5.2 · admin only === */
.ai-usage-panel{position:relative;overflow:hidden}
.ai-usage-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:11px}
.ai-usage-kpi{min-width:0;padding:9px 8px;border:1px solid #2d363e;border-radius:9px;background:#11161a}
.ai-usage-kpi span,.ai-usage-kpi strong{display:block}.ai-usage-kpi span{font-size:8px;letter-spacing:.07em;text-transform:uppercase;color:#707d87;font-weight:800}.ai-usage-kpi strong{font-size:13px;margin-top:3px;color:#e3e7ea;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-budget{margin:2px 0 10px}.ai-budget-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;color:#78848d}.ai-budget-head strong{color:#adb6bd;font-size:9px;font-weight:700}.ai-budget-track{height:6px;margin-top:6px;border-radius:999px;background:#242c32;overflow:hidden}.ai-budget-track i{display:block;height:100%;border-radius:inherit;background:#7b9f76;transition:width .25s ease}.ai-budget-track i.is-high{background:#bd8741}
.ai-token-split{display:flex;gap:7px;flex-wrap:wrap;font-size:8px;color:#68757f;margin:0 0 9px}.ai-token-split span{padding:4px 6px;border-radius:6px;background:#11161a;border:1px solid #293139}.ai-token-split b{color:#adb6bd;font-weight:700}
.ai-usage-users{border-top:1px solid #252e35;padding-top:7px}.ai-usage-users>div{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:8px;color:#7e8992}.ai-usage-users>div span:last-child{color:#aeb7bd;font-variant-numeric:tabular-nums}.ai-usage-note{margin:8px 0 0;font-size:7.5px;line-height:1.4;color:#626e77}
@media(max-width:900px){
  .ai-usage-panel{margin-top:7px!important;padding:7px 8px!important}
  .ai-usage-panel .ai-panel-title{display:flex!important;margin:0 0 6px!important;font-size:7px!important;letter-spacing:.09em!important}
  .ai-usage-kpis{grid-template-columns:repeat(3,1fr)!important;gap:4px!important;margin-bottom:6px!important}.ai-usage-kpi{padding:5px 6px!important;border-radius:6px!important}.ai-usage-kpi span{font-size:6px!important}.ai-usage-kpi strong{font-size:9px!important;margin-top:1px!important}
  .ai-budget{margin:0!important}.ai-budget-head{font-size:6.5px!important}.ai-budget-head strong{font-size:6.5px!important}.ai-budget-track{height:3px!important;margin-top:3px!important}
  .ai-token-split,.ai-usage-users,.ai-usage-note{display:none!important}
}

/* === v0.5.3 · collapsible admin AI usage / mobile-fit === */
/* === v0.5.4 · AI assistant avatar === */
.ai-usage-panel{padding:0!important;overflow:hidden}
.ai-usage-toggle{width:100%;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;text-align:left}
.ai-usage-toggle:hover{background:rgba(255,255,255,.018)}
.ai-usage-toggle-main,.ai-usage-toggle-side{display:flex;align-items:center;min-width:0}
.ai-usage-toggle-main{gap:9px}.ai-usage-toggle-main>span:last-child{display:flex;flex-direction:column;min-width:0}
.ai-usage-toggle-main strong{font-size:11px;color:#dce1e5;letter-spacing:.02em}.ai-usage-toggle-main small{font-size:7.5px;color:#6f7b84;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-usage-toggle-icon{width:25px;height:25px;display:grid;place-items:center;border:1px solid #343e46;border-radius:7px;background:#11161a;color:#d4a84f;font-size:12px;flex:0 0 25px}
.ai-usage-toggle-side{gap:9px;margin-left:auto}.ai-usage-summary{display:flex;align-items:baseline;white-space:nowrap;font-variant-numeric:tabular-nums}.ai-usage-summary b{font-size:10px;color:#d9dee2}.ai-usage-summary small{font-size:7.5px;color:#727e87;margin-left:2px}
.ai-usage-chevron{font-size:15px;color:#76828b;line-height:1;transition:transform .18s ease}.ai-usage-panel.is-open .ai-usage-chevron{transform:rotate(180deg)}
.ai-usage-body{border-top:1px solid #293139;padding:11px 14px 13px}.ai-usage-body[hidden]{display:none!important}
@media(max-width:900px){
  .ai-usage-panel{margin-top:7px!important;border-radius:8px!important;background:#14181c!important;border-color:#343b42!important}
  .ai-usage-toggle{min-height:42px!important;padding:7px 8px!important;gap:7px!important}
  .ai-usage-toggle-main{gap:7px!important}.ai-usage-toggle-icon{width:24px!important;height:24px!important;flex-basis:24px!important;border-radius:6px!important;font-size:10px!important}
  .ai-usage-toggle-main strong{font-size:9px!important}.ai-usage-toggle-main small{font-size:6.5px!important;margin-top:1px!important}
  .ai-usage-toggle-side{gap:6px!important;min-width:0}.ai-usage-summary b{font-size:8px!important}.ai-usage-summary small{font-size:6.5px!important}.ai-usage-chevron{font-size:13px!important}
  .ai-usage-body{padding:7px 8px 8px!important;border-top-color:#30383e!important}
  .ai-usage-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;margin:0 0 7px!important}
  .ai-usage-kpi{padding:6px 5px!important;border-radius:6px!important;min-width:0!important}.ai-usage-kpi span{font-size:5.8px!important}.ai-usage-kpi strong{font-size:8.5px!important;margin-top:1px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .ai-budget{margin:0 0 7px!important}.ai-budget-head{font-size:6.4px!important}.ai-budget-head strong{font-size:6.4px!important;text-align:right!important}.ai-budget-track{height:3px!important;margin-top:3px!important}
  .ai-token-split{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;margin:0 0 6px!important;font-size:6.2px!important}.ai-token-split span{padding:4px!important;border-radius:5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .ai-usage-users{display:block!important;padding-top:5px!important}.ai-usage-users>div{font-size:6.5px!important;padding:2px 0!important}.ai-usage-users>div span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-usage-users>div span:first-child{max-width:58%}
  .ai-usage-note{display:block!important;margin:6px 0 0!important;font-size:5.8px!important;line-height:1.35!important;color:#626e77!important}
}
@media(max-width:390px){
  .ai-usage-toggle-main small{max-width:92px!important}.ai-usage-summary small{display:none!important}
  .ai-usage-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* === v0.5.5 · Admin-only AI access & usage center === */
.ai-admin-page{max-width:1500px;margin:0 auto;padding:28px 28px 120px;display:grid;gap:18px}
.ai-admin-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:22px 24px;border:1px solid #303941;background:linear-gradient(135deg,#181e23,#12171b);border-radius:18px}
.ai-admin-hero h1{margin:4px 0 6px;font-size:30px;line-height:1.08}.ai-admin-hero p{margin:0;max-width:820px;color:#94a0a9;font-size:13px;line-height:1.55}
.ai-admin-model{min-width:190px;padding:11px 13px;border:1px solid #313b43;border-radius:12px;background:#11161a;text-align:right}.ai-admin-model span,.ai-admin-model strong,.ai-admin-model small{display:block}.ai-admin-model span{font-size:9px;letter-spacing:.12em;color:#76838d;text-transform:uppercase}.ai-admin-model strong{font-size:13px;margin:2px 0}.ai-admin-model small{font-size:10px;color:#75818b}
.ai-admin-success{border:1px solid rgba(74,183,121,.35);background:rgba(74,183,121,.08);color:#9ed6b5;border-radius:10px;padding:10px 13px;font-size:12px;font-weight:700}
.ai-admin-section{border:1px solid #2b343b;background:#151a1f;border-radius:16px;padding:18px;box-shadow:0 14px 40px rgba(0,0,0,.12)}
.ai-admin-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.ai-admin-section-head h2{margin:2px 0 0;font-size:18px}.ai-admin-section-head p{margin:0;max-width:600px;text-align:right;color:#78848e;font-size:11px;line-height:1.45}.ai-admin-kicker{font-size:8px;font-weight:900;letter-spacing:.14em;color:#d4a84f}.ai-admin-period{font-size:10px;color:#7d8993;padding:6px 9px;border:1px solid #303940;border-radius:8px;background:#11161a}
.ai-admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ai-admin-kpis article{padding:14px;border:1px solid #2d363e;border-radius:12px;background:#11161a;min-width:0}.ai-admin-kpis span,.ai-admin-kpis strong,.ai-admin-kpis small{display:block}.ai-admin-kpis span{font-size:9px;color:#7d8992;text-transform:uppercase;letter-spacing:.08em}.ai-admin-kpis strong{font-size:21px;margin:4px 0 2px;overflow-wrap:anywhere}.ai-admin-kpis small{font-size:9px;color:#626e77}
.ai-admin-budget{margin-top:12px;padding:12px 13px;border:1px solid #29323a;border-radius:11px;background:#101519}.ai-admin-budget>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#8a959e}.ai-admin-budget>div:first-child strong{color:#cbd2d7}.ai-admin-budget-track{height:7px!important;margin-top:8px;background:#272e34;border-radius:999px;overflow:hidden}.ai-admin-budget-track i{display:block;height:100%;background:#77947d;border-radius:999px;transition:width .25s ease}.ai-admin-budget-track i.is-high{background:#b59659}
.ai-admin-token-split{margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ai-admin-token-split span{padding:8px 10px;border-radius:9px;background:#101519;border:1px solid #293139;display:flex;justify-content:space-between;align-items:center;gap:10px}.ai-admin-token-split small{font-size:9px;color:#6e7a84}.ai-admin-token-split strong{font-size:11px;color:#c7ced4;overflow-wrap:anywhere}
.ai-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ai-role-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #2b343c;border-radius:12px;background:#11161a;transition:border-color .2s,background .2s}.ai-role-card.is-enabled{border-color:#365044;background:linear-gradient(135deg,rgba(54,80,68,.16),#11161a)}.ai-role-card>div strong,.ai-role-card>div small{display:block}.ai-role-card>div strong{font-size:12px}.ai-role-card>div small{font-size:9px;color:#707c86;margin-top:2px;text-transform:uppercase;letter-spacing:.06em}
.ai-switch{position:relative;display:block;width:42px;height:23px;flex:0 0 42px;cursor:pointer}.ai-switch input{position:absolute;opacity:0;pointer-events:none}.ai-switch span{position:absolute;inset:0;border-radius:999px;background:#2a3239;border:1px solid #3b454e;transition:.2s}.ai-switch span:after{content:"";position:absolute;width:17px;height:17px;left:2px;top:2px;border-radius:50%;background:#8c969e;transition:.2s}.ai-switch input:checked+span{background:#345444;border-color:#4b725e}.ai-switch input:checked+span:after{transform:translateX(19px);background:#b6d5c0}
.ai-admin-users-head{align-items:center}.ai-admin-search-wrap{width:min(420px,44%)}.ai-admin-search-wrap input{width:100%;height:38px;border:1px solid #303a42;border-radius:10px;background:#0f1418;color:#dce1e5;padding:0 12px;font-size:12px;outline:none}.ai-admin-search-wrap input:focus{border-color:#56636d;box-shadow:0 0 0 2px rgba(86,99,109,.12)}
.ai-admin-user-list{display:grid;gap:9px}.ai-user-card{border:1px solid #2b343b;border-radius:13px;background:#11161a;padding:13px 14px;display:grid;grid-template-columns:minmax(250px,1.2fr) minmax(420px,1.8fr) minmax(300px,1.1fr);gap:14px;align-items:center}.ai-user-card[hidden]{display:none!important}.ai-user-main{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0}.ai-user-avatar{width:38px;height:38px;border:1px solid #3a444c;border-radius:10px;background:#222a31;display:grid;place-items:center;font-size:13px;font-weight:900;color:#d2d7db}.ai-user-name{min-width:0}.ai-user-name strong,.ai-user-name span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-user-name strong{font-size:12px}.ai-user-name span{font-size:9px;color:#737f88;margin-top:3px}.ai-access-pill{font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;padding:5px 7px;border-radius:999px;white-space:nowrap}.ai-access-pill.is-on{color:#a8d2b6;background:rgba(71,145,99,.12);border:1px solid rgba(71,145,99,.3)}.ai-access-pill.is-off{color:#d4a9a9;background:rgba(159,71,71,.11);border:1px solid rgba(159,71,71,.3)}
.ai-user-usage{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.ai-user-usage span{padding:7px 8px;border-radius:8px;background:#161c21;border:1px solid #283139;min-width:0}.ai-user-usage small,.ai-user-usage strong{display:block}.ai-user-usage small{font-size:7px;color:#6b7780;text-transform:uppercase;letter-spacing:.06em}.ai-user-usage strong{font-size:10px;margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.ai-user-control{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:10px;align-items:center}.ai-user-control label,.ai-user-control small{display:block}.ai-user-control label{font-size:9px;font-weight:800}.ai-user-control small{font-size:8px;line-height:1.35;color:#69757e;margin-top:2px}.ai-user-control select{width:100%;height:36px;border-radius:9px;border:1px solid #343e46;background:#161c21;color:#d8dde1;padding:0 9px;font-size:10px;outline:none}.ai-user-control select:focus{border-color:#5a6872}
.ai-admin-empty{text-align:center;padding:28px;color:#737f88;font-size:12px}.ai-admin-note{border:1px solid #333c43;border-radius:13px;padding:13px 15px;background:#12171b}.ai-admin-note strong{font-size:11px}.ai-admin-note p{margin:4px 0 0;color:#77838c;font-size:10px;line-height:1.5}
@media(max-width:1180px){.ai-user-card{grid-template-columns:1fr 1.35fr}.ai-user-control{grid-column:1/-1}.ai-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
  .ai-admin-page{max-width:none;margin:0;padding:10px 9px calc(var(--mobile-nav-h,68px) + env(safe-area-inset-bottom,0px) + 18px);gap:10px}
  .ai-admin-hero{padding:13px 12px;border-radius:10px;align-items:flex-start}.ai-admin-hero h1{font-size:20px;margin-top:2px}.ai-admin-hero p{font-size:10px;line-height:1.4}.ai-admin-model{min-width:100px;padding:7px 8px;border-radius:8px}.ai-admin-model span{font-size:6px}.ai-admin-model strong{font-size:9px}.ai-admin-model small{font-size:7px}
  .ai-admin-section{padding:11px 10px;border-radius:10px;box-shadow:none}.ai-admin-section-head{align-items:flex-start;margin-bottom:9px}.ai-admin-section-head h2{font-size:14px}.ai-admin-section-head p{display:none}.ai-admin-kicker{font-size:6px}.ai-admin-period{font-size:7px;padding:4px 6px}
  .ai-admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ai-admin-kpis article{padding:9px;border-radius:8px}.ai-admin-kpis span{font-size:6.5px}.ai-admin-kpis strong{font-size:15px;margin:2px 0}.ai-admin-kpis small{font-size:6.5px}
  .ai-admin-budget{padding:8px 9px;margin-top:7px;border-radius:8px}.ai-admin-budget>div:first-child{font-size:7px}.ai-admin-budget-track{height:5px!important;margin-top:5px}.ai-admin-token-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:6px}.ai-admin-token-split span{padding:6px 7px}.ai-admin-token-split small{font-size:6.5px}.ai-admin-token-split strong{font-size:8px}
  .ai-role-grid{grid-template-columns:1fr;gap:6px}.ai-role-card{padding:9px 10px;border-radius:8px}.ai-role-card>div strong{font-size:10px}.ai-role-card>div small{font-size:6.5px}.ai-switch{width:38px;height:21px;flex-basis:38px}.ai-switch span:after{width:15px;height:15px}.ai-switch input:checked+span:after{transform:translateX(17px)}
  .ai-admin-users-head{display:grid;grid-template-columns:1fr;gap:8px}.ai-admin-search-wrap{width:100%}.ai-admin-search-wrap input{height:34px;border-radius:8px;font-size:10px}
  .ai-admin-user-list{gap:7px}.ai-user-card{display:block;padding:10px;border-radius:9px}.ai-user-main{grid-template-columns:32px minmax(0,1fr) auto;gap:8px}.ai-user-avatar{width:32px;height:32px;border-radius:8px;font-size:11px}.ai-user-name strong{font-size:10px}.ai-user-name span{font-size:7px}.ai-access-pill{font-size:6px;padding:4px 6px}
  .ai-user-usage{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:8px;overflow-x:auto}.ai-user-usage span{padding:6px 5px;min-width:58px}.ai-user-usage small{font-size:5.5px}.ai-user-usage strong{font-size:8px}
  .ai-user-control{grid-template-columns:1fr;margin-top:8px;gap:5px;padding-top:8px;border-top:1px solid #252e35}.ai-user-control label{font-size:7.5px}.ai-user-control small{font-size:6.5px}.ai-user-control select{height:34px;font-size:9px;border-radius:8px}
  .ai-admin-note{padding:9px 10px;border-radius:9px}.ai-admin-note strong{font-size:9px}.ai-admin-note p{font-size:7px;line-height:1.45}
}
@media(max-width:390px){.ai-admin-hero{display:block}.ai-admin-model{margin-top:8px;text-align:left;width:100%}.ai-user-usage{grid-template-columns:repeat(3,minmax(68px,1fr))}}

/* === v0.5.6 · AI governance, mobile polish & duty card cleanup === */
.duty-status-stack{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.duty-status-stack .duty-app-open{margin:0}
.duty-status-stack .compact-quals{display:flex;align-items:center;gap:5px;margin:0}

.ai-model-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.ai-model-card{padding:12px;border:1px solid #2c353d;border-radius:11px;background:#101519;min-width:0}
.ai-model-card.is-default{border-color:#5d563c;background:linear-gradient(145deg,rgba(212,168,79,.07),#101519)}
.ai-model-card>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ai-model-card strong{font-size:11px}.ai-model-card small{font-size:7px;color:#8b7e5e;text-transform:uppercase;letter-spacing:.08em}
.ai-model-card code{display:block;margin-top:6px;font-size:8px;color:#74808a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-model-price{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.ai-model-price span{font-size:7px;color:#8d989f;border:1px solid #29323a;background:#151b20;border-radius:6px;padding:4px 6px}
.ai-role-policy-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ai-role-policy-card{border:1px solid #2b343c;border-radius:12px;background:#11161a;padding:12px;min-width:0}.ai-role-policy-card.is-enabled{border-color:#365044;background:linear-gradient(135deg,rgba(54,80,68,.12),#11161a)}
.ai-role-policy-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.ai-role-policy-head strong,.ai-role-policy-head small{display:block}.ai-role-policy-head strong{font-size:12px}.ai-role-policy-head small{font-size:8px;color:#6d7982;margin-top:2px;text-transform:uppercase;letter-spacing:.06em}
.ai-policy-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr .9fr;gap:7px}.ai-policy-grid label,.ai-user-policy-form label{font-size:7px;color:#79858e;text-transform:uppercase;letter-spacing:.05em}.ai-policy-grid input,.ai-policy-grid select,.ai-user-policy-form input,.ai-user-policy-form select{margin-top:4px;height:34px;border:1px solid #313b43;border-radius:8px;background:#0f1418;color:#dce1e5;padding:0 8px;font-size:9px;min-width:0}
.ai-policy-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:9px}.ai-policy-footer span{font-size:7px;color:#68747d}.ai-policy-footer .btn{min-height:30px}
.ai-user-card-v2{display:block!important}.ai-user-card-v2 .ai-user-main{margin-bottom:8px}.ai-user-usage-v2{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:9px}.ai-effective-model strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-user-policy-form{display:grid;grid-template-columns:1.05fr 1.25fr .8fr .95fr .9fr auto;gap:7px;align-items:end;border-top:1px solid #252e35;padding-top:9px}.ai-user-policy-save{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:125px}.ai-user-policy-save small{font-size:6.5px;color:#65717a;white-space:nowrap}.ai-user-policy-save .btn{min-height:34px;white-space:nowrap}

@media(max-width:1180px){
  .ai-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ai-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ai-user-policy-form{grid-template-columns:repeat(3,minmax(0,1fr))}.ai-user-policy-save{align-items:stretch;min-width:0}.ai-user-policy-save .btn{width:100%}
}

@media(max-width:900px){
  .ai-hero{grid-template-columns:minmax(0,1fr) auto!important;margin-bottom:6px!important}
  .ai-hero p{display:none!important}.ai-hero h1{font-size:18px!important}

  /* Duty cards: status badges stay together and action no longer leaves a tall empty block */
  .mobile-card-table td[data-label="Status"]{align-items:center!important}
  .mobile-card-table td[data-label="Status"] .duty-status-stack{grid-column:2;display:flex!important;align-items:center!important;gap:5px!important;row-gap:5px!important;min-height:28px!important}
  .mobile-card-table td[data-label="Status"] .status-tag,.mobile-card-table td[data-label="Status"] .badge,.mobile-card-table td[data-label="Status"] .qual-badge{margin:0!important}
  .mobile-card-table td[data-label="Status"] .compact-quals{display:flex!important;gap:4px!important;flex-wrap:wrap!important}
  .mobile-card-table td[data-label="Aktion"]{min-height:42px!important;align-items:center!important;padding-top:5px!important;padding-bottom:5px!important}
  .mobile-card-table td[data-label="Aktion"] .btn{min-width:92px!important;padding:7px 11px!important}

  /* Admin AI governance */
  .ai-model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.ai-model-card{padding:8px;border-radius:8px}.ai-model-card strong{font-size:9px}.ai-model-card small{font-size:5.8px}.ai-model-card code{font-size:6.5px;margin-top:4px}.ai-model-price{gap:4px;margin-top:5px}.ai-model-price span{font-size:5.8px;padding:3px 4px}
  .ai-role-policy-list{grid-template-columns:1fr;gap:6px}.ai-role-policy-card{padding:9px;border-radius:8px}.ai-role-policy-head{margin-bottom:7px}.ai-role-policy-head strong{font-size:10px}.ai-role-policy-head small{font-size:6px}
  .ai-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.ai-policy-grid label,.ai-user-policy-form label{font-size:6px}.ai-policy-grid input,.ai-policy-grid select,.ai-user-policy-form input,.ai-user-policy-form select{height:34px;font-size:9px;border-radius:7px;padding:0 7px;margin-top:3px}.ai-policy-footer{margin-top:7px}.ai-policy-footer span{font-size:6px}.ai-policy-footer .btn{font-size:8px!important}
  .ai-user-usage-v2{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;overflow:visible!important;margin:7px 0!important}.ai-user-usage-v2 span{min-width:0!important}.ai-effective-model{grid-column:span 2}
  .ai-user-policy-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding-top:7px}.ai-user-policy-save{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px}.ai-user-policy-save small{font-size:6px;white-space:normal}.ai-user-policy-save .btn{width:auto;min-height:32px;font-size:8px!important}
}
@media(max-width:390px){
  .ai-model-grid{grid-template-columns:1fr 1fr}
  .ai-policy-grid,.ai-user-policy-form{grid-template-columns:1fr 1fr}
}
.ai-user-effective-limits{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 8px;padding:6px 8px;border:1px solid #293139;border-radius:8px;background:#0f1418}.ai-user-effective-limits span{font-size:7px;color:#6d7982;text-transform:uppercase;letter-spacing:.05em}.ai-user-effective-limits b{font-size:7.5px;color:#aeb7bd;border-left:1px solid #323b42;padding-left:6px}
@media(max-width:900px){.ai-user-effective-limits{gap:5px;padding:5px 6px;margin:0 0 7px}.ai-user-effective-limits span{width:100%;font-size:5.8px}.ai-user-effective-limits b{font-size:6.5px}}

/* === v0.5.7 · AI quick questions removed === */

/* === v0.5.8 · Benutzer-Online-Status · Admin/Inhaber === */
.presence-state{display:inline-flex;align-items:center;gap:7px;min-height:24px;font-size:12px;font-weight:800;color:#aeb8c1}
.presence-state .presence-dot{width:9px;height:9px;border-radius:50%;background:#66717a;box-shadow:0 0 0 3px rgba(102,113,122,.10)}
.presence-state.is-online{color:#78d7a1}.presence-state.is-online .presence-dot{background:#42d783;box-shadow:0 0 0 3px rgba(66,215,131,.12),0 0 12px rgba(66,215,131,.28)}
.presence-state.is-offline{color:#8c969f}.presence-state.is-offline .presence-dot{background:#64707a}
.presence-state.compact{margin-top:8px;font-size:11px}
.presence-meta{display:block!important;color:#78838c!important;font-size:10px!important;line-height:1.35;margin-top:2px!important;white-space:nowrap}
.account-presence-card{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:0 0 18px;padding:14px 16px;border:1px solid #303941;border-radius:12px;background:#12171b}
.account-presence-main{display:flex;flex-direction:column;gap:3px}.account-presence-main>span{font-size:11px;color:#78838c}
.account-presence-times{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px;min-width:min(520px,60%)}
.account-presence-times>div{padding:9px 11px;border:1px solid #293139;border-radius:9px;background:#171d22}
.account-presence-times small{display:block;color:#6f7a84;font-size:8px;font-weight:800;letter-spacing:.12em;margin-bottom:4px}
.account-presence-times strong{font-size:11px;color:#cfd5da;font-weight:700}
@media(max-width:900px){
  .presence-meta{white-space:normal;font-size:9px!important}
  .account-presence-card{align-items:stretch;flex-direction:column;padding:11px 12px;gap:10px}
  .account-presence-times{min-width:0;width:100%;grid-template-columns:1fr 1fr;gap:7px}
  .account-presence-times>div{padding:8px 9px}
  .account-presence-times strong{font-size:10px;overflow-wrap:anywhere}
}
@media(max-width:430px){
  .account-presence-times{grid-template-columns:1fr}
}

/* === v0.6.0 · AI actions, knowledge base, report copilot === */
.ai-action-card{align-self:flex-start;max-width:86%;margin:-7px 0 8px 41px;border:1px solid #4a5965;background:#151c21;border-radius:13px;padding:13px;box-shadow:0 10px 26px rgba(0,0,0,.2)}
.ai-action-card.is-confirmed{border-color:#356c50;background:#132019}.ai-action-card.is-cancelled{opacity:.68}
.ai-action-head{display:flex;gap:10px;align-items:center}.ai-action-head>div{display:flex;flex-direction:column;min-width:0}.ai-action-head strong{font-size:13px}.ai-action-head small{font-size:11px;color:#a9b2ba;margin-top:2px}
.ai-action-mark{width:28px;height:28px;border-radius:8px;background:#3a2f1a;border:1px solid #6e5726;color:#e5b957;display:grid;place-items:center;font-weight:900}
.ai-action-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:11px 0}.ai-action-details div{display:flex;justify-content:space-between;gap:8px;border:1px solid #28323a;background:#11171b;border-radius:8px;padding:7px 9px;font-size:10px}.ai-action-details span{color:#7f8b95;text-transform:capitalize}.ai-action-details b{font-weight:700;text-align:right;overflow-wrap:anywhere}
.ai-action-buttons{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.ai-action-result{margin-top:10px;font-size:11px;color:#9fd1b3}.ai-action-error{margin-top:10px;font-size:11px;color:#e2a0a0}
.ai-knowledge-upload{display:grid;grid-template-columns:1.2fr 1fr 1.4fr auto;gap:10px;align-items:end}.ai-knowledge-upload label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#87939c;font-weight:800;letter-spacing:.04em}.ai-knowledge-upload input,.ai-knowledge-upload select{min-height:42px}.ai-knowledge-file small{font-weight:500;letter-spacing:0;color:#6f7a83}.ai-knowledge-list{display:grid;gap:8px;margin-top:14px}.ai-knowledge-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid #29323a;background:#12171b;border-radius:11px;padding:11px 13px}.ai-knowledge-card>div{min-width:0;display:flex;flex-direction:column}.ai-knowledge-card strong{font-size:12px}.ai-knowledge-card span,.ai-knowledge-card small{font-size:10px;color:#89949d;overflow-wrap:anywhere}
.ai-report-form textarea{width:100%;min-height:360px;resize:vertical;line-height:1.55;font-size:13px}.ai-report-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.ai-report-meta span{font-size:10px;color:#79858f}
@media(max-width:900px){
  .ai-action-card{max-width:96%!important;margin:-4px 0 6px 31px!important;padding:9px!important;border-radius:9px!important}.ai-action-head strong{font-size:10px!important}.ai-action-head small{font-size:8px!important}.ai-action-mark{width:22px!important;height:22px!important;border-radius:6px!important;font-size:10px!important}.ai-action-details{grid-template-columns:1fr!important;gap:4px!important;margin:8px 0!important}.ai-action-details div{font-size:8px!important;padding:6px 7px!important}.ai-action-buttons{display:grid!important;grid-template-columns:1fr 1fr!important}.ai-action-buttons .btn{width:100%!important;font-size:8px!important;padding:8px 6px!important}
  .ai-knowledge-upload{grid-template-columns:1fr!important;gap:8px!important}.ai-knowledge-upload .btn{width:100%!important}.ai-knowledge-card{grid-template-columns:1fr auto!important;gap:8px!important;padding:9px!important}.ai-knowledge-card form{grid-column:1/-1}.ai-knowledge-card form .btn{width:100%!important}.ai-knowledge-card .badge{align-self:start!important;font-size:7px!important}.ai-report-form textarea{min-height:300px!important;font-size:12px!important}.ai-report-meta{align-items:stretch!important;flex-direction:column!important}.ai-report-meta .btn{width:100%!important}
}

/* === v0.6.1 · AI public plan search for standalone maps === */
.public-plan-search{border:1px solid #2c363f;border-radius:14px;background:#12171b;padding:16px;min-width:0}
.public-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.public-plan-head h2,.public-plan-head h3{margin:2px 0 4px}.public-plan-head .btn{flex:0 0 auto}
.public-plan-status{margin-top:12px;padding:10px 12px;border-radius:9px;background:#171e23;border:1px solid #28333c;color:#98a4ae;font-size:12px;line-height:1.45}
.public-plan-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.public-plan-result{min-width:0;border:1px solid #2c363f;background:#171d22;border-radius:12px;padding:13px}.public-plan-result h4{margin:8px 0 3px;font-size:14px;line-height:1.35}.public-plan-result p{margin:8px 0 12px;color:#a8b1b9;font-size:12px;line-height:1.45}.public-plan-result-source{font-size:10px;color:#78858f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-plan-result-badges{display:flex;flex-wrap:wrap;gap:5px}.public-plan-result-actions{display:flex;gap:7px;flex-wrap:wrap}.public-plan-result-actions .btn{flex:1 1 auto;justify-content:center}
.public-plan-selection{margin-top:12px}.public-plan-selected-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid rgba(80,183,126,.42);background:rgba(54,128,88,.09);border-radius:10px}.public-plan-selected-copy{display:grid;gap:3px;min-width:0}.public-plan-selected-copy strong{font-size:13px;overflow-wrap:anywhere}.public-plan-selected-copy small{font-size:10px;color:#89969f;overflow-wrap:anywhere}.public-plan-selected-actions{display:flex;gap:7px;flex:0 0 auto}
.badge.success{border-color:rgba(80,183,126,.42);color:#7bcf9d;background:rgba(54,128,88,.08)}.badge.subtle{opacity:.78}
@media(max-width:900px){.public-plan-search{padding:11px!important;border-radius:10px!important}.public-plan-head{gap:9px!important;align-items:center!important}.public-plan-head h2,.public-plan-head h3{font-size:14px!important}.public-plan-head p{font-size:10px!important;line-height:1.35!important}.public-plan-head .btn{font-size:10px!important;padding:8px 10px!important}.public-plan-results{grid-template-columns:1fr!important;gap:8px!important}.public-plan-result{padding:10px!important}.public-plan-result h4{font-size:12px!important}.public-plan-result p{font-size:10px!important;margin:6px 0 9px!important}.public-plan-result-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.public-plan-selected-card{align-items:stretch!important;flex-direction:column!important;gap:8px!important}.public-plan-selected-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.public-plan-selected-actions .btn{justify-content:center!important}.public-plan-status{font-size:10px!important;padding:8px 9px!important}}
.public-plan-inline{margin-top:4px!important;font-size:11px!important}.public-plan-inline a{color:#d4a84f;text-decoration:none}.public-plan-inline a:hover{text-decoration:underline}

/* === v0.6.2 · multiple public plan sources === */
.public-plan-selection{display:grid;gap:8px}.public-plan-selection[hidden]{display:none!important}
.public-plan-selected-title{margin:0!important;min-height:34px!important;padding:7px 8px!important;font-size:12px!important;font-weight:750!important;background:#10161b!important;border-color:#33414b!important}
.public-plan-selected-actions{align-items:center}.public-plan-selected-actions .btn[disabled]{opacity:.35}
.public-plan-inline-list{display:flex;align-items:flex-start;gap:8px;margin-top:6px;color:#82909a;font-size:11px;line-height:1.4}.public-plan-inline-list>span{flex:0 0 auto}.public-plan-inline-list>div{display:flex;gap:6px;flex-wrap:wrap;min-width:0}.public-plan-inline-list a{display:inline-flex;max-width:100%;padding:3px 7px;border:1px solid #394650;border-radius:999px;color:#d4a84f;text-decoration:none;background:#151b20;overflow-wrap:anywhere}.public-plan-inline-list a:hover{border-color:#55636e;background:#1a2127}
@media(max-width:900px){
  .public-plan-selected-actions{grid-template-columns:1fr auto auto 1fr!important}.public-plan-selected-actions .btn{min-width:0!important;padding:7px 6px!important}
  .public-plan-selected-title{font-size:11px!important;min-height:38px!important}.public-plan-inline-list{flex-direction:column;gap:5px;font-size:10px!important}.public-plan-inline-list>div{width:100%}.public-plan-inline-list a{font-size:10px;padding:4px 7px}
}

/* === v0.6.3 · public plan overlays on Lagekarte === */
.pg-plan-overlay-image{filter:saturate(.94) contrast(1.02);box-shadow:0 0 0 1px rgba(255,255,255,.06);will-change:transform,left,top,width,height}
.plan-layer-panel{width:min(460px,calc(100vw - 28px));max-height:min(76vh,720px);overflow:auto}
.plan-layer-body{padding:10px;display:flex;flex-direction:column;gap:9px}
.plan-source-import-row,.plan-overlay-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border:1px solid #2a3944;background:#0d151b;border-radius:7px}
.plan-layer-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.plan-layer-copy strong{font-size:11px;color:#e2e9ee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-layer-copy small{font-size:8px;color:#738692;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:270px}
.plan-import-actions,.plan-overlay-row-actions,.plan-editor-actions{display:flex;align-items:end;gap:6px;flex:0 0 auto}.plan-import-actions label{font-size:7px;color:#738692;display:flex;flex-direction:column;gap:2px}.plan-import-actions input{width:54px;height:30px;padding:4px 6px}
.plan-overlay-title{margin-top:4px}.plan-overlay-editor{border:1px solid #375062;background:#101920;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:9px}.plan-overlay-editor[hidden]{display:none}.plan-overlay-editor label{display:flex;flex-direction:column;gap:4px;font-size:8px;color:#8193a0}.plan-overlay-editor input[type="text"],.plan-overlay-editor input[type="number"],.plan-overlay-editor input:not([type]){width:100%}.plan-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.plan-range-line{display:grid;grid-template-columns:1fr 52px;gap:8px;align-items:center}.plan-range-line input[type="range"]{width:100%}.plan-range-line output{font:10px ui-monospace,SFMono-Regular,Consolas,monospace;text-align:right;color:#b6c5cf}.plan-visible-check{flex-direction:row!important;align-items:center;gap:8px!important}.plan-visible-check input{width:auto!important}.plan-editor-actions{justify-content:flex-end}.plan-center-handle{background:transparent!important;border:0!important}.plan-center-handle span{display:block;width:24px;height:24px;border-radius:50%;background:#2f9cff;border:3px solid #d7efff;box-shadow:0 0 0 3px rgba(47,156,255,.23),0 3px 12px rgba(0,0,0,.5)}
.leaflet-control-layers.pg-plan-layer-control{background:#0d161d;color:#dce5ea;border:1px solid #31424e;border-radius:7px;box-shadow:0 8px 24px rgba(0,0,0,.34)}.leaflet-control-layers.pg-plan-layer-control label{color:#dce5ea;font-size:11px}.leaflet-control-layers.pg-plan-layer-control .leaflet-control-layers-list{padding:4px 6px}
@media(max-width:900px){
  .plan-layer-panel{left:8px!important;right:8px!important;top:auto!important;bottom:calc(var(--mobile-nav-h) + 10px)!important;width:auto!important;max-height:62dvh!important;border-radius:10px!important}
  .plan-source-import-row,.plan-overlay-row{align-items:flex-start;gap:7px;padding:8px}.plan-layer-copy strong{font-size:10px}.plan-layer-copy small{font-size:7px;max-width:45vw}.plan-import-actions{align-items:center}.plan-import-actions label{font-size:6px}.plan-import-actions input{width:48px;height:28px}.plan-import-actions .btn,.plan-overlay-row-actions .btn{min-height:30px;padding:6px 8px;font-size:9px}.plan-edit-grid{grid-template-columns:1fr 1fr}.plan-overlay-editor{padding:9px}.plan-editor-actions .btn{flex:1}.plan-range-line{grid-template-columns:1fr 44px}
}

/* === v0.6.4 · compact public-plan dropdown === */
.public-plan-dropdown{margin-top:9px;max-width:620px;border:1px solid #34404a;border-radius:10px;background:#13191e;overflow:hidden}
.public-plan-dropdown summary{list-style:none;display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 12px;cursor:pointer;color:#d6dde2;font-size:12px;font-weight:800;user-select:none}
.public-plan-dropdown summary::-webkit-details-marker{display:none}.public-plan-dropdown summary span{flex:1;min-width:0}.public-plan-dropdown summary b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#232c33;border:1px solid #3d4953;color:#aeb8c0;font-size:10px}.public-plan-dropdown summary i{font-style:normal;color:#7f8b95;font-size:14px;transition:transform .18s ease}.public-plan-dropdown[open] summary i{transform:rotate(180deg)}
.public-plan-dropdown-list{display:grid;gap:1px;border-top:1px solid #2a343c;background:#0f1418}.public-plan-dropdown-list a{display:grid;gap:2px;padding:10px 12px;color:#d8dee3;text-decoration:none;border-bottom:1px solid #202a31}.public-plan-dropdown-list a:last-child{border-bottom:0}.public-plan-dropdown-list a:hover{background:#171f25}.public-plan-dropdown-list a span{font-size:12px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}.public-plan-dropdown-list a small{font-size:9px;color:#75828c;line-height:1.3;overflow-wrap:anywhere}
@media(max-width:900px){.public-plan-dropdown{max-width:none!important;margin-top:8px!important;border-radius:8px!important}.public-plan-dropdown summary{min-height:38px!important;padding:8px 10px!important;font-size:10px!important}.public-plan-dropdown summary b{min-width:22px!important;height:22px!important;font-size:9px!important}.public-plan-dropdown-list a{padding:9px 10px!important}.public-plan-dropdown-list a span{font-size:10.5px!important}.public-plan-dropdown-list a small{font-size:8.5px!important}}

/* v0.6.6 · AI Command Mode */
.ai-action-batch{align-self:flex-start;max-width:86%;margin:0 0 10px 41px;border:1px solid #3a4b58;background:#11181d;border-radius:13px;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 10px 26px rgba(0,0,0,.18)}
.ai-action-batch>div:first-child{display:flex;flex-direction:column;gap:2px}.ai-action-batch strong{font-size:12px}.ai-action-batch small{font-size:10px;color:#8f9ba5}.ai-action-batch-buttons{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.ai-action-batch.is-confirmed{border-color:#356c50;background:#132019}.ai-action-batch.is-cancelled{opacity:.68}
@media(max-width:700px){.ai-action-batch{max-width:96%!important;margin:0 0 7px 31px!important;padding:9px!important;display:block!important}.ai-action-batch-buttons{display:grid!important;grid-template-columns:1fr 1fr!important;margin-top:8px}.ai-action-batch-buttons .btn{width:100%!important;font-size:8px!important;padding:8px 6px!important}}

/* === v0.6.9 · Global AI quick access + reliable push-to-talk === */
/* The microphone is a real grid cell now. It can no longer collapse into the textarea. */
.ai-composer{grid-template-columns:minmax(0,1fr) auto!important}
.ai-composer.has-voice{grid-template-columns:minmax(0,1fr) 46px auto!important}
.ai-input-shell.has-voice textarea,.ai-input-shell textarea{padding-right:13px!important}
.ai-voice,.ai-voice-push{
  position:static!important;right:auto!important;bottom:auto!important;
  width:46px!important;min-width:46px!important;height:48px!important;min-height:48px!important;
  align-self:end!important;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;
  border:1px solid #46515a!important;border-radius:10px!important;background:#242c32!important;color:#e0e6ea!important;
  touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important;
}
.ai-voice svg,.ai-voice-push svg{width:20px!important;height:20px!important;pointer-events:none!important}
.ai-voice.is-recording,.ai-voice-push.is-recording{background:#6a2730!important;border-color:#d05a68!important;color:#fff!important}

.global-ai-launch{
  height:30px;min-width:48px;padding:0 9px;border:1px solid #4a5963;border-radius:7px;background:linear-gradient(180deg,#30383e,#1c2328);
  color:#dce4e8;display:inline-flex;align-items:center;justify-content:center;gap:5px;font:800 9px/1 system-ui;letter-spacing:.05em;cursor:pointer;
}
.global-ai-launch:hover,.global-ai-launch[aria-expanded="true"]{border-color:#8a7440;color:#efd38a;background:#2e2b22}
.global-ai-launch svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mobile-ai-launch{width:38px;min-width:38px;height:38px;padding:0;border-radius:10px}.mobile-ai-launch span{display:none}.mobile-ai-launch svg{width:19px;height:19px}

.ai-quick-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.18);z-index:14980;backdrop-filter:blur(1px)}
.ai-quick-panel{
  position:fixed;z-index:14990;top:58px;right:16px;width:min(430px,calc(100vw - 30px));height:min(650px,calc(100dvh - 78px));
  display:flex;flex-direction:column;overflow:hidden;border:1px solid #3b4852;border-radius:14px;background:#10161b;
  box-shadow:0 24px 80px rgba(0,0,0,.58);transform:translateY(-8px) scale(.985);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;
}
.ai-quick-panel.open{transform:none;opacity:1;pointer-events:auto}
.ai-quick-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border-bottom:1px solid #29343c;background:#171e23;flex:0 0 auto}
.ai-quick-title{display:flex;align-items:center;gap:9px;min-width:0}.ai-quick-title img{width:34px;height:34px;border-radius:9px;object-fit:cover;border:1px solid #4b5962;background:#20282e}.ai-quick-title>span{display:flex;min-width:0;flex-direction:column}.ai-quick-title strong{font-size:12px}.ai-quick-title small{font-size:8px;color:#84929c;margin-top:1px}
.ai-quick-head-actions{display:flex;gap:6px}.ai-quick-expand,.ai-quick-close{width:31px;height:31px;border:1px solid #3d4952;border-radius:8px;background:#20272d;color:#ccd4d9;display:grid;place-items:center;text-decoration:none;font-size:17px;cursor:pointer}.ai-quick-close{font-size:20px;line-height:1}
.ai-quick-chat{flex:1 1 auto;min-height:0;overflow:auto;padding:12px 11px;display:flex;flex-direction:column;gap:10px;background:#0d1317;scrollbar-width:thin}
.ai-quick-message{display:flex;gap:8px;max-width:96%;align-self:flex-start}.ai-quick-message.user{align-self:flex-end;flex-direction:row-reverse}.ai-quick-badge{width:27px;height:27px;flex:0 0 27px;border:1px solid #39454e;border-radius:8px;background:#20272d;display:grid;place-items:center;font-size:9px;font-weight:900;overflow:hidden}.ai-quick-badge img{width:100%;height:100%;object-fit:cover}.ai-quick-message-body{min-width:0}.ai-quick-message-body small{display:block;margin:0 0 3px 2px;color:#697781;font-size:7px}.ai-quick-message-text{padding:9px 10px;border:1px solid #2d3740;border-radius:4px 10px 10px 10px;background:#192026;color:#dde4e8;font-size:11px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.ai-quick-message.user .ai-quick-message-text{border-radius:10px 4px 10px 10px;background:#252e35}.ai-quick-message.temporary .ai-quick-message-text{color:#9aa6ae}
.ai-quick-typing{display:flex;align-items:center;gap:4px;min-height:30px;padding:6px 11px;border-top:1px solid #273139;color:#798690;font-size:8px;background:#141a1f}.ai-quick-typing span{width:5px;height:5px;border-radius:50%;background:#d4a84f;animation:aiPulse 1s infinite alternate}.ai-quick-typing span:nth-child(2){animation-delay:.15s}.ai-quick-typing span:nth-child(3){animation-delay:.3s}.ai-quick-typing em{font-style:normal;margin-left:4px}
.ai-quick-composer{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:6px;align-items:end;padding:8px;border-top:1px solid #2b353d;background:#171d22}.ai-quick-panel[data-voice-enabled="1"] .ai-quick-composer{grid-template-columns:minmax(0,1fr) 42px 42px}
.ai-quick-composer textarea{display:block;width:100%;min-width:0;min-height:42px;max-height:100px;resize:none;margin:0;padding:9px 10px;border:1px solid #3a454d;border-radius:8px;background:#0e1418;color:#e8edf0;font-size:14px;line-height:1.35;outline:none}.ai-quick-composer textarea:focus{border-color:#71613b;box-shadow:0 0 0 2px rgba(212,168,79,.07)}
.ai-quick-voice,.ai-quick-send{width:42px;height:42px;min-width:42px;min-height:42px;margin:0;padding:0;border:1px solid #46515a;border-radius:8px;background:#242c32;color:#e1e6e9;display:grid;place-items:center;cursor:pointer;appearance:none;-webkit-appearance:none}.ai-quick-send{background:#d8dee2;color:#182027;border-color:#e3e7ea}.ai-quick-voice{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.ai-quick-voice svg,.ai-quick-send svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.ai-quick-voice.is-recording{background:#6a2730;border-color:#d05a68;color:#fff;box-shadow:0 0 0 3px rgba(208,90,104,.12)}.ai-quick-voice:disabled,.ai-quick-send:disabled{opacity:.45;cursor:not-allowed}
.ai-quick-voice-state{padding:6px 10px;border-top:1px solid #29333b;background:#151b20;color:#98a4ac;font-size:8px}.ai-quick-voice-state.is-recording{color:#f19aa5}.ai-quick-voice-state.is-working{color:#d5b96f}.ai-quick-voice-state.is-ok{color:#88c9a2}.ai-quick-voice-state.is-error{color:#e89a9a}.ai-quick-foot{padding:6px 10px;color:#64717b;font-size:7px;border-top:1px solid #252f36;background:#141a1f}
.ai-quick-action{align-self:stretch;margin:0 0 2px 35px;padding:9px;border:1px solid #46545e;border-radius:9px;background:#151c21}.ai-quick-action>strong{display:block;font-size:10px}.ai-quick-action-details{display:grid;gap:4px;margin:7px 0}.ai-quick-action-details>div{display:flex;justify-content:space-between;gap:8px;padding:5px 6px;border:1px solid #27323a;border-radius:6px;background:#10161a;font-size:8px}.ai-quick-action-details span{color:#77858f}.ai-quick-action-details b{text-align:right;font-weight:700;overflow-wrap:anywhere}.ai-quick-action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ai-quick-action-buttons button{min-height:31px;border:1px solid #44515a;border-radius:7px;background:#242c32;color:#dce3e7;font-size:8px;font-weight:800;cursor:pointer}.ai-quick-action-buttons button.primary{background:#d9dfe3;color:#182027;border-color:#e6eaed}.ai-quick-action.is-confirmed{border-color:#356c50;background:#132019}.ai-quick-action.is-cancelled{opacity:.65}.ai-quick-action-result{margin-top:7px;color:#91c9a8;font-size:8px}.ai-quick-action-link{display:inline-block;margin-top:6px;color:#d4b05d;font-size:8px}.ai-quick-error,.ai-quick-config-warning{padding:7px 9px;border:1px solid #704046;border-radius:7px;background:#29171a;color:#e9a3aa;font-size:8px}
body.ai-quick-open{overflow:hidden}

@media(max-width:900px){
  .ai-composer{grid-template-columns:minmax(0,1fr) 42px!important}.ai-composer.has-voice{grid-template-columns:minmax(0,1fr) 42px 42px!important}
  .ai-voice,.ai-voice-push{width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;border-radius:7px!important}
  .ai-quick-panel{top:auto;right:8px;left:8px;bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px) + 8px);width:auto;height:min(72dvh,620px);border-radius:13px}
  .ai-quick-backdrop{background:rgba(0,0,0,.36)}
  .ai-quick-chat{padding:10px 9px}.ai-quick-message-text{font-size:11px}.ai-quick-composer textarea{font-size:16px}
  body.ai-quick-open{overflow:hidden}
}
@media(max-width:480px){
  .mobile-app-actions{gap:6px}.mobile-ai-launch{width:36px;min-width:36px;height:36px}
  .ai-quick-panel{left:6px;right:6px;height:min(74dvh,590px)}
  .ai-quick-head{padding:8px}.ai-quick-title img{width:31px;height:31px}.ai-quick-title strong{font-size:11px}.ai-quick-title small{font-size:7px}
}

/* v0.7.0 · AI Admin Command Mode destructive confirmations */
.ai-action-card.is-destructive,.ai-quick-action.is-destructive{border-color:rgba(214,79,79,.65)!important;background:linear-gradient(180deg,rgba(104,31,31,.20),rgba(255,255,255,.01))!important}
.ai-action-card.is-destructive .ai-action-mark{background:#6e2930!important;color:#fff!important}
.ai-action-card.is-destructive .ai-action-buttons .primary,.ai-quick-action.is-destructive .ai-quick-action-buttons .primary{background:#8b333b!important;border-color:#b34b55!important;color:#fff!important}

/* =========================================================
   v0.7.3 · Dienstanweisungen
   ========================================================= */
.nav-count-badge{margin-left:auto;min-width:20px;height:18px;padding:0 5px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#8b6024;color:#fff;font-size:8px;font-weight:800}
.directive-page{max-width:1320px;margin:0 auto}.directive-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.directive-head h1{margin:3px 0 3px}.directive-head-kpi{min-width:150px;padding:10px 13px;border:1px solid var(--line);border-radius:9px;background:var(--panel);text-align:right}.directive-head-kpi strong{display:block;font-size:24px;line-height:1}.directive-head-kpi span{font-size:9px;color:var(--muted)}.directive-head-kpi.is-warn{border-color:#725a2a}.directive-create-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:12px;margin-bottom:16px}.directive-form,.directive-ai-panel{display:grid;gap:10px}.directive-form label,.directive-ai-panel label{display:grid;gap:5px}.directive-form label>span,.directive-ai-panel label>span{font-size:9px;font-weight:800;color:#9ea9b0;letter-spacing:.4px}.directive-form input,.directive-form textarea,.directive-ai-panel input,.directive-ai-panel textarea{width:100%;border:1px solid #343d45;border-radius:8px;background:#101519;color:#edf0f2;padding:10px 11px;font:inherit;outline:none}.directive-form textarea,.directive-ai-panel textarea{resize:vertical;line-height:1.45}.directive-file-field small,.directive-publish-note{font-size:8px;color:var(--muted)}.directive-publish-note{padding:8px 9px;border:1px solid #2e3941;border-radius:7px;background:#10171c}.directive-ai-state{padding:8px 9px;border-radius:7px;font-size:9px;background:#11181d;border:1px solid #344049}.directive-ai-state.is-working{color:#d8bb78}.directive-ai-state.is-ok{color:#82c59b;border-color:#345b46}.directive-ai-state.is-error{color:#e19a9a;border-color:#603c40}.directive-list-section{display:grid;gap:8px}.directive-section-head h2{margin:2px 0 5px}.directive-admin-list,.directive-employee-list{display:grid;gap:9px}.directive-admin-card,.directive-employee-card{padding:13px 14px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.directive-admin-card.is-archived{opacity:.62}.directive-employee-card.needs-ack{border-color:#765e2b;box-shadow:inset 3px 0 0 #b78831}.directive-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.directive-card-head h2,.directive-card-head h3{margin:5px 0 2px;line-height:1.2}.directive-card-head small{font-size:8px;color:var(--muted)}.directive-status{display:inline-flex;padding:3px 6px;border-radius:999px;border:1px solid #40505a;font-size:7px;font-weight:850;letter-spacing:.8px;color:#aeb8bd}.directive-status.is-active,.directive-status.is-ok{border-color:#315c47;color:#7bc99c}.directive-status.is-warn{border-color:#765e2b;color:#e1ba64}.directive-progress{text-align:right;white-space:nowrap}.directive-progress strong{display:block;font-size:20px}.directive-progress span{font-size:8px;color:var(--muted)}.directive-body{white-space:pre-wrap;margin-top:12px;padding:11px 12px;border-radius:7px;background:#0e151a;border:1px solid #29343b;font-size:11px;line-height:1.55;color:#dce2e5}.directive-file-link{display:inline-flex;margin-top:9px;padding:7px 9px;border:1px solid #3b4b55;border-radius:7px;color:#b9cad4;text-decoration:none;font-size:9px}.directive-pending{margin-top:10px;border-top:1px solid #27323a;padding-top:9px}.directive-pending summary{cursor:pointer;color:#e2b964;font-size:9px;font-weight:800}.directive-pending-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:7px}.directive-pending-list>div{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:6px;background:#11191e;border:1px solid #29353c}.directive-pending-list span{font-size:9px}.directive-pending-list small{font-size:7px;color:var(--muted)}.directive-all-ok,.directive-ack-done{margin-top:10px;color:#7bc99c;font-size:9px}.directive-archive-form{margin-top:10px}.directive-ack-form{margin-top:12px;padding-top:10px;border-top:1px solid #2b363e}.directive-ack-form p{margin:0 0 8px;color:#a9b4ba;font-size:9px}.empty-state{padding:24px;border:1px dashed #33414a;border-radius:9px;text-align:center;color:var(--muted)}
@media(max-width:850px){.directive-head{align-items:flex-start;flex-direction:column}.directive-head-kpi{width:100%;text-align:left}.directive-create-grid{grid-template-columns:1fr}.directive-pending-list{grid-template-columns:1fr}.directive-card-head{align-items:flex-start}.directive-body{font-size:13px}.directive-admin-card,.directive-employee-card{padding:12px}.nav-count-badge{position:absolute;right:5px;top:3px}}


/* =========================================================
   v0.7.4 · Einsatzübersicht: Heute im Fokus, Zukunft + Archiv einklappbar
   ========================================================= */
.duty-overview-panel{display:grid;gap:12px}
.duty-overview-head{align-items:flex-start!important}
.duty-overview-head .muted{max-width:760px;margin-top:4px}
.duty-overview-counts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.duty-overview-counts>span{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:8px;background:rgba(255,255,255,.015)}
.duty-overview-counts b{font-size:11px;color:var(--text);font-variant-numeric:tabular-nums}
.duty-focus-group,.duty-collapse-group{border:1px solid rgba(132,145,154,.24);border-radius:8px;background:rgba(255,255,255,.012);overflow:hidden}
.duty-group-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid rgba(132,145,154,.18)}
.duty-group-heading>div,.duty-collapse-group summary>span:first-child{display:flex;align-items:center;gap:7px;min-width:0}
.duty-group-heading strong,.duty-collapse-group summary strong{font-size:10px;color:var(--text)}
.duty-group-heading small,.duty-collapse-group summary small{font-size:7px;color:var(--muted)}
.duty-group-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:#6f7b83}
.duty-group-dot.is-today{background:#45c88b;box-shadow:0 0 0 3px rgba(69,200,139,.10)}
.duty-group-dot.is-upcoming{background:#d4a84f}
.duty-group-dot.is-archive{background:#66747d}
.duty-collapse-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;user-select:none}
.duty-collapse-group summary::-webkit-details-marker{display:none}
.duty-collapse-group summary:after{content:'›';font-size:18px;line-height:1;color:#82919b;transform:rotate(90deg);transition:transform .16s ease;margin-left:2px}
.duty-collapse-group[open] summary:after{transform:rotate(-90deg)}
.duty-collapse-group[open] summary{border-bottom:1px solid rgba(132,145,154,.18)}
.duty-group-count{margin-left:auto;min-width:28px;height:22px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;font-size:8px;color:var(--muted);font-variant-numeric:tabular-nums}
.duty-overview-table{margin:0}.duty-overview-table .pro-table{margin:0}.duty-overview-table .pro-table th:first-child,.duty-overview-table .pro-table td:first-child{padding-left:12px}.duty-overview-table .pro-table th:last-child,.duty-overview-table .pro-table td:last-child{padding-right:12px}
@media(max-width:760px){
  .duty-overview-panel{gap:8px}.duty-overview-head{gap:8px!important}.duty-overview-counts{width:100%;justify-content:flex-start}.duty-overview-counts>span{font-size:7px;min-height:25px;padding:3px 7px}.duty-overview-counts b{font-size:10px}
  .duty-group-heading,.duty-collapse-group summary{padding:9px 8px}.duty-group-heading>div,.duty-collapse-group summary>span:first-child{gap:6px;flex-wrap:wrap}.duty-group-heading strong,.duty-collapse-group summary strong{font-size:9px}.duty-group-heading small,.duty-collapse-group summary small{font-size:6.5px}.duty-collapse-group summary small{flex-basis:100%;padding-left:13px}.duty-group-count{height:20px;min-width:24px;padding:0 5px}
}

/* =========================================================
   v0.7.6 · AI portal diagnostics
   ========================================================= */
.ai-portal-check-copy{margin:-4px 0 14px;color:#7f8b94;font-size:11px;line-height:1.5}
.ai-portal-check-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.ai-portal-check-meta span{padding:5px 8px;border:1px solid #2d3740;border-radius:999px;background:#10161a;color:#7f8b94;font-size:9px}.ai-portal-check-meta strong{color:#cbd2d7}
.ai-portal-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}.ai-portal-kpis article{padding:10px 12px;border:1px solid #2d363e;border-radius:10px;background:#101519}.ai-portal-kpis span,.ai-portal-kpis strong{display:block}.ai-portal-kpis span{font-size:8px;color:#7e8992;text-transform:uppercase;letter-spacing:.08em}.ai-portal-kpis strong{margin-top:3px;font-size:19px}.ai-portal-kpis .is-critical{border-color:rgba(220,83,83,.45)}.ai-portal-kpis .is-critical strong{color:#ed8c8c}.ai-portal-kpis .is-warning{border-color:rgba(217,166,64,.45)}.ai-portal-kpis .is-warning strong{color:#e1bd73}.ai-portal-kpis .is-info strong{color:#96b7c7}
.ai-portal-ai-review{border:1px solid #3a3425;background:linear-gradient(180deg,rgba(125,97,38,.09),rgba(16,21,25,.8));border-radius:11px;padding:11px 12px;margin-bottom:10px}.ai-portal-review-title{display:flex;align-items:center;gap:6px;color:#d4ad5d;font-size:10px;margin-bottom:6px}.ai-portal-review-text{white-space:pre-wrap;color:#c6ced3;font-size:11px;line-height:1.55}
.ai-portal-findings{display:grid;gap:7px;max-height:620px;overflow:auto;padding-right:2px}.ai-portal-finding{padding:10px 11px;border:1px solid #2c353d;border-left-width:3px;border-radius:9px;background:#101519}.ai-portal-finding.severity-critical{border-left-color:#d95f5f}.ai-portal-finding.severity-warning{border-left-color:#d3a44e}.ai-portal-finding.severity-info{border-left-color:#708f9f}.ai-portal-finding-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:5px;color:#6f7c86;font-size:8px}.ai-portal-finding-head code{margin-left:auto;color:#66737d;font-size:7px}.ai-portal-severity{font-weight:900;letter-spacing:.08em}.severity-critical .ai-portal-severity{color:#e88383}.severity-warning .ai-portal-severity{color:#deb96d}.severity-info .ai-portal-severity{color:#91aebe}.ai-portal-finding>strong{display:block;font-size:11px}.ai-portal-finding p{margin:4px 0;color:#9aa5ad;font-size:10px;line-height:1.45}.ai-portal-finding small{display:block;color:#78858e;font-size:9px;line-height:1.4}.ai-portal-all-good{color:#94c2a5}
@media(max-width:760px){.ai-portal-check-head{display:grid;grid-template-columns:1fr;gap:8px}.ai-portal-check-head form,.ai-portal-check-head button{width:100%}.ai-portal-check-copy{font-size:8px;margin-bottom:9px}.ai-portal-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.ai-portal-kpis article{padding:8px}.ai-portal-kpis span{font-size:6.5px}.ai-portal-kpis strong{font-size:15px}.ai-portal-ai-review{padding:8px}.ai-portal-review-text{font-size:8px}.ai-portal-findings{max-height:none}.ai-portal-finding{padding:8px}.ai-portal-finding>strong{font-size:9px}.ai-portal-finding p{font-size:7.5px}.ai-portal-finding small{font-size:7px}}
.ai-action-warning,.ai-quick-action-warning{margin:7px 0;padding:7px 9px;border:1px solid rgba(218,168,65,.38);border-radius:8px;background:rgba(126,93,24,.12);color:#e0bd75;font-size:9px;line-height:1.4}.ai-action-warning p{margin:0 0 4px}.ai-action-warning p:last-child{margin-bottom:0}.ai-quick-action-warning>div+div{margin-top:4px}

/* =========================================================
   v0.7.7 · Tages-Einsatzfunk im Dashboard
   ========================================================= */
.ops-duty-radio{display:flex!important;align-items:center;gap:5px!important;margin-top:3px!important;font-size:6.5px!important;line-height:1.15!important;color:#7f8c94!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ops-duty-radio .radio-dot{width:6px;height:6px;min-width:6px;border-radius:50%;background:#59636a;box-shadow:none}
.ops-duty-radio.is-online{color:#7dbb97!important}.ops-duty-radio.is-online .radio-dot{background:#43c98b;box-shadow:0 0 0 2px rgba(67,201,139,.09)}
.ops-duty-radio.is-offline{color:#e3877f!important}.ops-duty-radio.is-offline .radio-dot{background:#df655c;box-shadow:0 0 0 2px rgba(223,101,92,.09)}
.ops-duty-radio.is-unknown{color:#c8aa63!important}.ops-duty-radio.is-unknown .radio-dot{background:#b99a53}
.ops-duty-radio.is-none{color:#647179!important}.ops-duty-radio.is-none .radio-dot{background:#4e5960}
.duty-radio-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 6px;border:1px solid #37434b;border-radius:999px;font-size:8px;white-space:nowrap}
.duty-radio-pill.is-online{border-color:rgba(67,201,139,.35);color:#8bc6a2}.duty-radio-pill.is-offline{border-color:rgba(223,101,92,.42);color:#e7938b}.duty-radio-pill.is-unknown{border-color:rgba(185,154,83,.38);color:#cbb16f}
@media(max-width:560px){.ops-duty-radio{font-size:6px!important}.duty-radio-pill{font-size:7px}}

/* v0.8.0 · AI-Systemcheck Reparaturfreigaben */
.ai-portal-research-sources{display:grid;gap:4px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(212,173,93,.18)}
.ai-portal-research-sources strong{font-size:8px;color:#9b8b68;text-transform:uppercase;letter-spacing:.08em}
.ai-portal-research-sources a{color:#8fb4c8;font-size:8px;line-height:1.35;overflow-wrap:anywhere}
.ai-portal-repair-prepare{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px solid #242d33}
.ai-portal-repair-prepare span{font-size:8px;color:#73808a}
.ai-portal-repair-queue{margin-top:12px;padding-top:12px;border-top:1px solid #2b343b;display:grid;gap:7px}
.ai-portal-repair-queue-head{display:flex;justify-content:space-between;gap:10px;align-items:end}.ai-portal-repair-queue-head strong{font-size:11px}.ai-portal-repair-queue-head span{font-size:8px;color:#7c8891}
.ai-portal-repair-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #3c392c;border-radius:9px;background:linear-gradient(180deg,rgba(130,102,47,.08),#101519)}
.ai-portal-repair-card>div:first-child{display:grid;gap:3px}.ai-portal-repair-card strong{font-size:10px}.ai-portal-repair-card small{font-size:7.5px;color:#78858e}
.ai-portal-repair-actions{display:flex;gap:6px;flex:0 0 auto}.ai-portal-repair-actions form{margin:0}
@media(max-width:760px){.ai-portal-repair-queue-head,.ai-portal-repair-card{align-items:stretch;display:grid}.ai-portal-repair-actions{display:grid;grid-template-columns:1fr 1fr}.ai-portal-repair-actions .btn{width:100%}.ai-portal-repair-prepare{display:grid}.ai-portal-research-sources a{font-size:7px}}
.ai-portal-repair-card p{margin:2px 0;color:#98a4ac;font-size:8.5px;line-height:1.4}


/* === v0.8.1 · compact AI role rules + global copyright footer === */
.global-app-footer{width:100%;text-align:center;color:#69757e;font-size:10px;font-weight:700;letter-spacing:.045em;padding:18px 16px 24px;opacity:.82}
.ai-role-policy-list-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ai-role-policy-card-compact{padding:10px 11px;border-radius:11px;transition:border-color .18s ease,background .18s ease}
.ai-role-policy-head-compact{margin:0;gap:8px}
.ai-role-policy-identity{min-width:0}.ai-role-policy-identity strong{font-size:12px}.ai-role-policy-identity small{font-size:7px}
.ai-role-policy-head-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.ai-role-state{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:22px;padding:0 7px;border-radius:999px;border:1px solid #313a42;background:#151b20;color:#7b8790;font-size:7px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.ai-role-state.is-on{border-color:rgba(94,159,119,.38);background:rgba(62,122,84,.16);color:#9cc7ab}.ai-role-state.is-off{color:#7e8991}
.ai-role-expand{height:28px;padding:0 8px;border:1px solid #343e46;border-radius:8px;background:#1a2025;color:#b7c0c6;font:inherit;font-size:8px;font-weight:800;display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.ai-role-expand b{font-size:12px;font-weight:700;line-height:1;transition:transform .18s ease}.ai-role-expand.is-open b{transform:rotate(180deg)}
.ai-role-policy-summary{display:grid;grid-template-columns:minmax(0,1.45fr) repeat(3,minmax(58px,.55fr));gap:5px;margin-top:8px}
.ai-role-policy-summary>span{min-width:0;padding:6px 7px;border:1px solid #283139;border-radius:8px;background:#0f1418}
.ai-role-policy-summary small,.ai-role-policy-summary strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-role-policy-summary small{font-size:6px;color:#68757e;text-transform:uppercase;letter-spacing:.055em}.ai-role-policy-summary strong{margin-top:2px;font-size:8px;color:#c7cfd4}
.ai-role-policy-details{margin-top:8px;padding-top:8px;border-top:1px solid #273038}.ai-role-policy-details[hidden]{display:none!important}
.ai-policy-grid-compact{grid-template-columns:1.35fr .8fr 1fr .9fr}
.ai-role-details-note{margin-top:6px;color:#66727b;font-size:7px;line-height:1.4}
.ai-role-savebar{position:sticky;bottom:10px;z-index:12;margin-top:10px;padding:9px 10px;border:1px solid #354039;border-radius:11px;background:rgba(16,22,26,.96);box-shadow:0 14px 32px rgba(0,0,0,.28);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:12px}
.ai-role-savebar>span strong,.ai-role-savebar>span small{display:block}.ai-role-savebar>span strong{font-size:9px;color:#c8d0d5}.ai-role-savebar>span small{margin-top:2px;font-size:7px;color:#68747d}.ai-role-savebar .btn{min-height:34px;white-space:nowrap}

@media(max-width:900px){
  .global-app-footer{font-size:9px;padding:12px 10px calc(var(--mobile-nav-h,68px) + env(safe-area-inset-bottom,0px) + 14px)}
  .ai-role-policy-section{padding-bottom:8px!important}
  .ai-role-policy-list-compact{grid-template-columns:1fr;gap:5px!important}
  .ai-role-policy-card-compact{padding:8px 9px!important;border-radius:9px!important}
  .ai-role-policy-head-compact{margin:0!important}
  .ai-role-policy-identity strong{font-size:10px!important}.ai-role-policy-identity small{font-size:5.8px!important;margin-top:1px!important}
  .ai-role-policy-head-actions{gap:5px}.ai-role-state{min-width:31px;height:19px;padding:0 5px;font-size:5.7px}
  .ai-role-policy-head-actions .ai-switch{width:34px;height:19px;flex-basis:34px}.ai-role-policy-head-actions .ai-switch span:after{width:13px;height:13px;top:3px;left:3px}.ai-role-policy-head-actions .ai-switch input:checked+span:after{transform:translateX(15px)}
  .ai-role-expand{height:24px;padding:0 6px;border-radius:7px;font-size:6.5px}.ai-role-expand b{font-size:10px}
  .ai-role-policy-summary{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,.56fr));gap:3px;margin-top:6px}
  .ai-role-policy-summary>span{padding:5px 5px;border-radius:6px}.ai-role-policy-summary small{font-size:5px}.ai-role-policy-summary strong{font-size:6.7px;margin-top:1px}
  .ai-role-policy-details{margin-top:6px;padding-top:6px}.ai-policy-grid-compact{grid-template-columns:1fr 1fr!important;gap:5px!important}.ai-role-details-note{font-size:5.8px;margin-top:5px}
  .ai-role-savebar{bottom:calc(var(--mobile-nav-h,68px) + env(safe-area-inset-bottom,0px) + 7px);margin-top:7px;padding:7px 8px;border-radius:9px}.ai-role-savebar>span strong{font-size:7.5px}.ai-role-savebar>span small{font-size:5.8px}.ai-role-savebar .btn{min-height:30px!important;padding:6px 9px!important;font-size:7px!important}
}
@media(max-width:390px){
  .ai-role-policy-summary{grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,.65fr))}
  .ai-role-expand span{display:none}.ai-role-expand{width:25px;padding:0;justify-content:center}
}


/* === v0.8.2 · sauber integrierter globaler Copyright-Footer === */
.main{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.content-frame{
  width:100%;
  flex:1 0 auto;
}
.global-app-footer{
  width:100%;
  flex:0 0 auto;
  margin-top:auto;
  padding:0 22px 14px;
  color:#78848d;
  font-size:11px;
  font-weight:700;
  letter-spacing:.018em;
  line-height:1.35;
  text-align:left;
  opacity:1;
}
.global-app-footer>span{
  display:block;
  width:100%;
  max-width:1496px;
  margin:0 auto;
  padding-top:12px;
  border-top:1px solid rgba(126,145,158,.24);
}
.main.full .login-wrap{
  min-height:0;
  flex:1 0 auto;
}
.main.full .global-app-footer{
  background:#071019;
}
@media(max-width:900px){
  .global-app-footer{
    padding:0 10px calc(var(--mobile-nav-h,68px) + env(safe-area-inset-bottom,0px) + 10px);
    font-size:10px;
    font-weight:700;
  }
  .global-app-footer>span{
    padding-top:10px;
  }
}

/* ProGuard PoC v0.8.3 */
.poc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.poc-kpi{display:flex;flex-direction:column;gap:6px}.poc-kpi>span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#8f9aa4)}.poc-kpi>strong{font-size:1.65rem}.poc-kpi>small{color:var(--muted,#8f9aa4)}.poc-state.online{color:#6fd8a4}.poc-state.offline{color:#e27b7b}.poc-live-dot{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:.78rem}.poc-live-dot i{width:9px;height:9px;border-radius:50%;background:#747d86;box-shadow:0 0 0 3px rgba(116,125,134,.12)}.poc-live-dot.online i{background:#55d690;box-shadow:0 0 0 3px rgba(85,214,144,.14)}.poc-live-dot.offline i{background:#e36e72;box-shadow:0 0 0 3px rgba(227,110,114,.14)}.poc-actions{display:flex;flex-wrap:wrap;gap:6px}.poc-actions form{margin:0}.poc-credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.poc-credential-grid input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.poc-channel-grid{align-items:start}.poc-gateway-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.poc-gateway-info>div{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:11px}.poc-gateway-info span{display:block;color:var(--muted,#8f9aa4);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.poc-gateway-info strong{display:block;margin-top:3px}.poc-member-list{display:grid;gap:7px;margin-bottom:10px}.poc-member{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(255,255,255,.02)}.poc-add-member{display:grid;grid-template-columns:1fr auto;gap:8px}.poc-channel-card{margin-bottom:14px}@media(max-width:900px){.poc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.poc-credential-grid,.poc-gateway-info{grid-template-columns:1fr}}@media(max-width:560px){.poc-kpis{grid-template-columns:1fr}.poc-add-member{grid-template-columns:1fr}.poc-actions{display:grid;grid-template-columns:1fr}.poc-actions .btn{width:100%}}

/* ProGuard PoC browser dispatch console */
.poc-console-panel{overflow:hidden}.poc-console-grid{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(180px,.7fr));gap:12px;align-items:end}.poc-console-info{min-height:64px;padding:10px 12px;border:1px solid var(--line,#2c3a46);border-radius:10px;background:rgba(255,255,255,.02);display:flex;flex-direction:column;gap:5px}.poc-console-info span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#8fa0ad)}.poc-console-controls{display:flex;gap:14px;align-items:center;margin-top:16px;flex-wrap:wrap}.poc-ptt-button{width:min(100%,360px);min-height:92px;border-radius:18px;border:1px solid #394955;background:linear-gradient(180deg,#1d2932,#111a20);color:#f5f8fa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;user-select:none;touch-action:none;font:inherit}.poc-ptt-button span{font-size:1.6rem;font-weight:900;letter-spacing:.08em}.poc-ptt-button small{opacity:.72}.poc-ptt-button.active{transform:translateY(1px);border-color:#c9973b}.poc-ptt-button.granted{box-shadow:0 0 0 2px rgba(87,183,122,.25) inset;border-color:#57b77a}.poc-ptt-button:disabled{opacity:.45;cursor:not-allowed}.poc-console-message{margin-top:12px;min-height:22px}@media(max-width:760px){.poc-console-grid{grid-template-columns:1fr}.poc-console-controls{align-items:stretch}.poc-console-controls>.btn,.poc-ptt-button{width:100%}}


/* ProGuard PoC NOTRUF ---------------------------------------------------- */
.emergency-modal{
  position:fixed;
  inset:0;
  z-index:3000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(12,5,7,.78);
  backdrop-filter:blur(5px);
}
.emergency-modal[hidden]{display:none!important}
.emergency-modal-card{
  width:min(760px,96vw);
  max-height:94vh;
  overflow:auto;
  border:2px solid rgba(255,93,102,.88);
  border-radius:18px;
  background:linear-gradient(180deg,#351116 0%,#171b22 46%,#12171d 100%);
  box-shadow:0 26px 80px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.04) inset;
  padding:20px;
}
.emergency-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.emergency-modal-head h2{
  margin:.15rem 0 0;
  color:#fff;
  letter-spacing:.04em;
}
.emergency-modal-head .section-kicker{color:#ff8d94}
.emergency-pulse{
  width:22px;height:22px;border-radius:50%;
  background:#ff4f5b;
  box-shadow:0 0 0 0 rgba(255,79,91,.65);
  animation:proguardEmergencyPulse 1.1s infinite;
  flex:0 0 auto;
}
@keyframes proguardEmergencyPulse{
  0%{box-shadow:0 0 0 0 rgba(255,79,91,.65)}
  75%{box-shadow:0 0 0 16px rgba(255,79,91,0)}
  100%{box-shadow:0 0 0 0 rgba(255,79,91,0)}
}
.emergency-person{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:13px 15px;
  margin-bottom:14px;
  border-radius:12px;
  background:rgba(255,255,255,.065);
}
.emergency-person strong{font-size:1.22rem;color:#fff}
.emergency-person span{color:#cdd5dd;font-size:.9rem}
.emergency-map-wrap{
  position:relative;
  min-height:290px;
  border-radius:14px;
  overflow:hidden;
  background:#20262d;
  border:1px solid rgba(255,255,255,.1);
}
.emergency-map{height:320px;width:100%}
.emergency-no-location{
  min-height:290px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#d7dde3;
  font-weight:700;
}
.emergency-details{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:14px 0;
}
.emergency-details span{
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.075);
  color:#e3e8ed;
  font-size:.86rem;
}
.emergency-ack-btn{
  width:100%;
  min-height:48px;
  border-color:#ff5963!important;
  background:#d92f3a!important;
  color:#fff!important;
  font-weight:800!important;
  font-size:1rem!important;
}
.emergency-ack-btn:hover{background:#ec3e49!important}
@media(max-width:640px){
  .emergency-modal{padding:8px}
  .emergency-modal-card{padding:14px;border-radius:14px}
  .emergency-map,.emergency-map-wrap{height:260px;min-height:260px}
}


/* v0.8.17 NOTRUF global */
body:has(.emergency-modal:not([hidden])){overflow:hidden}
.emergency-modal:not([hidden]){display:flex!important}
.emergency-map[hidden]{display:none!important}
.emergency-no-location[hidden]{display:none!important}
.emergency-no-location:not([hidden]){display:flex!important}


/* v0.8.24 · PoC-Zentrale: ein Hauptmenüpunkt, interne Arbeitsbereiche */
.poc-center-tabs{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));gap:7px;margin:0 0 12px;position:sticky;top:8px;z-index:35;padding:7px;border:1px solid #2d363d;border-radius:10px;background:rgba(17,21,25,.94);backdrop-filter:blur(10px);box-shadow:0 8px 24px rgba(0,0,0,.22)}
.poc-center-tabs button{appearance:none;border:1px solid transparent;border-radius:7px;background:#171c20;color:#aeb8c0;padding:9px 10px;text-align:left;display:flex;flex-direction:column;gap:2px;cursor:pointer;min-width:0;transition:.16s ease}
.poc-center-tabs button:hover{border-color:#46525c;background:#1b2126;color:#eef2f4}
.poc-center-tabs button.active{border-color:#6f7b84;background:#252c31;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.poc-center-tabs button span{font-size:12px;font-weight:800;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.poc-center-tabs button small{font-size:9px;color:#7f8b94;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.poc-center-tabs button.active small{color:#aeb8c0}
[data-poc-panel][hidden]{display:none!important}
.poc-overview-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.poc-device-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.poc-group-create{max-width:720px}
#pocLocationPanel .live-location-map{height:520px}
#pocLocationPanel .live-location-list{max-height:520px}
@media (max-width:1100px){.poc-center-tabs{grid-template-columns:repeat(4,minmax(120px,1fr));position:relative;top:auto}}
@media (max-width:700px){.poc-center-tabs{display:flex;overflow-x:auto;scrollbar-width:none;padding:6px;margin-left:-2px;margin-right:-2px}.poc-center-tabs::-webkit-scrollbar{display:none}.poc-center-tabs button{flex:0 0 126px}.poc-device-head-actions{align-items:flex-end;flex-direction:column}.poc-overview-actions .btn{flex:1 1 45%}#pocLocationPanel .live-location-map{height:min(55dvh,430px);min-height:310px}#pocLocationPanel .live-location-list{max-height:280px}}

/* v0.8.27 Zero-Touch PoC enrollment */
.poc-enroll-form{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(150px,1fr) auto;gap:.5rem;align-items:center;min-width:min(720px,100%)}
.poc-enroll-form select,.poc-enroll-form input{min-width:0}
@media(max-width:900px){.poc-enroll-form{grid-template-columns:1fr;min-width:0}.poc-enroll-form .btn{width:100%}}

/* v0.8.29 · PoC-Gerätestamm direkt in der PoC-Zentrale */
.poc-radio-edit-row > td{padding:0!important;background:rgba(8,14,20,.55)}
.poc-radio-edit-form{margin:10px 12px 14px;padding:16px;border:1px solid rgba(126,151,173,.22);border-radius:12px;background:linear-gradient(180deg,rgba(24,31,38,.96),rgba(15,21,27,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.poc-radio-edit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.poc-radio-edit-head strong{display:block;font-size:1.05rem}
.poc-radio-edit-head small{display:block;margin-top:4px}
.poc-radio-edit-form .form-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}
@media(max-width:760px){.poc-radio-edit-row{display:table-row!important}.poc-radio-edit-form{margin:8px 0;padding:12px}.poc-radio-edit-head{flex-direction:column}.poc-radio-edit-form .form-grid.three{grid-template-columns:1fr}.poc-radio-edit-form .span3{grid-column:1}.poc-radio-edit-form .form-footer{justify-content:stretch;flex-direction:column}.poc-radio-edit-form .form-footer .btn{width:100%}}

/* PoC GPS live follow + route recording v0.8.43 */
.poc-gps-toolbar,.poc-gps-routebar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.poc-gps-toolbar label,.poc-gps-routebar label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#8f9ba4;font-weight:700}
.poc-gps-toolbar select{min-width:240px}
.poc-gps-routebar select{min-width:300px}
.poc-gps-follow{flex-direction:row!important;align-items:center!important;gap:7px!important;min-height:38px;padding:0 10px;border:1px solid #303a42;border-radius:7px;background:#151a1e;color:#dbe2e7!important}
.poc-gps-follow input{width:auto;margin:0}
#pocTrackState{align-self:center}
#pocTrackMeta{align-self:center;font-size:11px}
.live-location-person.is-selected{border-color:#ff6b6b;background:#20191a}
.live-location-marker.is-selected{transform:scale(1.12);box-shadow:0 3px 12px rgba(0,0,0,.45),0 0 0 4px rgba(255,107,107,.18)}
@media(max-width:700px){.poc-gps-toolbar,.poc-gps-routebar{align-items:stretch}.poc-gps-toolbar label,.poc-gps-routebar label{width:100%}.poc-gps-toolbar select,.poc-gps-routebar select{min-width:0;width:100%}.poc-gps-toolbar .btn{flex:1 1 42%}#pocTrackState{align-self:flex-start}}

/* PoC GPS route management + live speed + radio gap map v0.8.45 */
.poc-live-toolbar{align-items:end}
.poc-live-speed{min-width:150px;display:flex;flex-direction:column;gap:3px;padding:7px 11px;border:1px solid #303a42;border-radius:7px;background:#151a1e}
.poc-live-speed span{font-size:10px;color:#89959e;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.poc-live-speed strong{font-size:17px;line-height:1.1;color:#f4f7f8}

.poc-gap-count{min-width:132px;display:flex;flex-direction:column;gap:3px;padding:7px 11px;border:1px solid #4a3031;border-radius:7px;background:rgba(92,25,28,.16)}
.poc-gap-count span{font-size:10px;color:#b98e90;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.poc-gap-count strong{font-size:17px;line-height:1.1;color:#ff7770}
.poc-route-manager-panel{overflow:hidden}
.poc-route-start-card{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1.3fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid #303a42;border-radius:9px;background:#13191d;margin-bottom:14px}
.poc-route-start-card label,.poc-route-edit label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#8f9ba4;font-weight:700;min-width:0}
.poc-route-start-card select,.poc-route-start-card input,.poc-route-edit input{width:100%;min-width:0}
.poc-route-section{border-top:1px solid #283139;padding-top:14px;margin-top:14px}
.poc-route-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.poc-route-section-head>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.poc-route-section-head strong{font-size:13px;color:#e7edf0}
.poc-route-section-head small{font-size:10px;color:#84919a}
.poc-route-filter-head{align-items:end}
.poc-route-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.poc-route-filters select{min-width:210px}.poc-route-filters input{min-width:220px}
.poc-active-tracks{display:grid;gap:7px}
.poc-active-track{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #463b26;border-radius:8px;background:#1b1812;padding:10px 11px}
.poc-active-track>div:first-child{display:grid;grid-template-columns:10px 1fr;column-gap:8px;row-gap:2px;min-width:0;align-items:center}
.poc-active-track strong{grid-column:2;font-size:12px;white-space:normal;overflow-wrap:anywhere}.poc-active-track small{grid-column:2;color:#9b978c;font-size:10px}
.poc-record-dot{grid-row:1/3;width:8px;height:8px;border-radius:50%;background:#ff6b6b;box-shadow:0 0 8px rgba(255,107,107,.65)}
.poc-active-track-actions{display:flex!important;gap:6px;flex:0 0 auto}
.poc-route-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.25fr);gap:12px;align-items:start}
.poc-route-list{display:flex;flex-direction:column;gap:6px;max-height:520px;overflow:auto;padding-right:2px}
.poc-route-row{width:100%;border:1px solid #303a42;border-radius:8px;background:#151a1e;color:#dbe2e7;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer}
.poc-route-row:hover{border-color:#596570;background:#191f24}.poc-route-row.is-selected{border-color:#ff6b6b;background:#20191a}
.poc-route-row>span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.poc-route-row strong{font-size:12px;white-space:normal;overflow-wrap:anywhere}.poc-route-row small{font-size:10px;color:#87939c;white-space:normal}
.poc-route-detail{border:1px solid #303a42;border-radius:9px;background:#13191d;padding:12px;min-height:180px}.poc-route-detail.is-empty{display:grid;place-items:center}
.poc-route-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:12px}.poc-route-detail-head h3{margin:6px 0 2px;font-size:17px}.poc-route-detail-head p{margin:0;color:#8f9ba4;font-size:11px}
.poc-route-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.poc-route-stats>div{border:1px solid #2a343b;border-radius:7px;padding:9px;background:#10161a;display:flex;flex-direction:column;gap:2px;min-width:0}.poc-route-stats span{font-size:9px;text-transform:uppercase;color:#81909a;font-weight:800;letter-spacing:.04em}.poc-route-stats strong{font-size:14px;color:#eef3f5;overflow-wrap:anywhere}.poc-route-stats small{font-size:9px;color:#81909a}
.poc-route-edit{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:end;border-top:1px solid #283139;padding-top:12px}
.live-location-person b{color:#f2f5f7;font-weight:800}

@media(max-width:900px){
  .poc-route-layout{grid-template-columns:1fr}
  .poc-route-list{max-height:320px}
  .poc-route-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .poc-live-toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
  .poc-live-toolbar>label:first-child{grid-column:1/-1;width:100%}
  .poc-live-toolbar .poc-gps-follow,.poc-live-toolbar .btn{width:100%;min-height:42px;justify-content:center}
  .poc-live-speed,.poc-gap-count{grid-column:1/-1;width:100%;min-width:0;flex-direction:row;align-items:center;justify-content:space-between;min-height:44px}
  .poc-route-start-card{grid-template-columns:1fr;padding:10px}
  .poc-route-start-card .btn{width:100%;min-height:44px}
  .poc-route-section-head,.poc-route-filter-head{align-items:stretch;flex-direction:column}
  .poc-route-filters{display:grid;grid-template-columns:1fr;width:100%}.poc-route-filters select,.poc-route-filters input{width:100%;min-width:0}
  .poc-active-track{align-items:stretch;flex-direction:column}.poc-active-track-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr}.poc-active-track-actions .btn{width:100%}
  .poc-route-layout{grid-template-columns:1fr}.poc-route-list{max-height:300px}
  .poc-route-row{align-items:flex-start}.poc-route-row>.badge{flex:0 0 auto}
  .poc-route-detail{padding:10px}.poc-route-detail-head{flex-direction:column}.poc-route-detail-head .btn{width:100%}
  .poc-route-stats{grid-template-columns:1fr 1fr;gap:6px}.poc-route-stats>div{padding:8px}.poc-route-stats strong{font-size:13px}
  .poc-route-edit{grid-template-columns:1fr}.poc-route-edit .btn{width:100%;min-height:40px}
}
@media(max-width:420px){
  .poc-live-toolbar{grid-template-columns:1fr}.poc-live-toolbar>label:first-child,.poc-live-speed,.poc-gap-count{grid-column:auto}
  .poc-route-stats{grid-template-columns:1fr}
}

/* v0.8.46 manual per-device firmware selection / downgrade */
.poc-ota-version-form{display:flex;gap:6px;align-items:center;margin-top:7px;flex-wrap:wrap}.poc-ota-version-form select{min-width:145px;max-width:190px;padding:6px 8px;font-size:.78rem}@media(max-width:560px){.poc-ota-version-form{display:grid;grid-template-columns:1fr}.poc-ota-version-form select,.poc-ota-version-form .btn{width:100%;max-width:none}}


/* v0.8.51 command-center cleanup: clearer navigation hierarchy and compact PoC technology area */
.pro-nav>.nav-section-label{margin:10px 8px 5px!important;padding:0 3px 5px!important;border-bottom:1px solid rgba(126,151,173,.10);color:#758692!important;font-size:8px!important;letter-spacing:1.45px!important;font-weight:850}
.pro-nav>.nav-section-label.sub{margin-top:14px!important;padding-top:0!important;border-top:0!important}
.pro-sidebar .nav-item{min-height:38px}
.poc-center-tabs{grid-template-columns:repeat(6,minmax(118px,1fr))}
.poc-tech-nav{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px;padding:6px;border:1px solid #2d363d;border-radius:9px;background:#11171b}
.poc-tech-nav button{appearance:none;border:1px solid #303a42;border-radius:7px;background:#171c20;color:#9fabb3;padding:8px 11px;cursor:pointer;font:inherit;font-size:11px;font-weight:750}
.poc-tech-nav button:hover{background:#1e252a;color:#eef2f4;border-color:#4a5660}
.poc-tech-nav button.active{background:#293136;color:#fff;border-color:#6f7b84}
@media(max-width:1180px){.poc-center-tabs{grid-template-columns:repeat(3,minmax(130px,1fr))}}
@media(max-width:700px){.poc-center-tabs{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:6px}.poc-center-tabs button{flex:0 0 132px;scroll-snap-align:start}.poc-tech-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.poc-tech-nav button{text-align:center}}

.mobile-sheet-section-label{padding:8px 8px 3px;color:#6f818d;font-size:8px;font-weight:850;letter-spacing:1.25px;border-top:1px solid rgba(126,151,173,.10);margin-top:3px}.mobile-sheet-section-label:first-child{border-top:0;margin-top:0;padding-top:2px}

/* v0.8.52: T50E/Q-20 hardware families are visually and technically separated. */
.poc-family-separator td{background:rgba(255,255,255,.035);border-top:2px solid rgba(255,255,255,.09);padding-top:12px!important;padding-bottom:10px!important}
.poc-family-separator strong{font-size:.92rem;margin-right:10px}.poc-family-separator small{color:var(--muted,#8f98a6)}
.poc-firmware-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px}
.poc-firmware-family{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.025)}
.poc-firmware-family>strong{min-width:52px}
@media(max-width:720px){.poc-firmware-family-grid{grid-template-columns:1fr}}

/* Bavaria Intercom v0.9.0 multi-tenant foundation */
.bi-page-head{align-items:flex-end}.bi-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.bi-kpi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.bi-kpi{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:18px;min-height:112px;display:flex;flex-direction:column;gap:4px}.bi-kpi small{color:var(--muted,#96a0aa);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.bi-kpi strong{font-size:2rem;line-height:1.1}.bi-kpi span{color:var(--muted,#96a0aa);font-size:.82rem}.bi-platform-split{align-items:start;gap:18px}.bi-list{display:flex;flex-direction:column;gap:8px}.bi-list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.02);text-decoration:none;color:inherit}.bi-list-row:hover{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.035)}.bi-list-row span:first-child{display:flex;flex-direction:column;gap:3px}.bi-list-row small{color:var(--muted,#96a0aa)}.bi-company-metrics{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;flex-wrap:wrap}.bi-company-metrics em{font-style:normal;color:var(--muted,#96a0aa);font-size:.8rem}.bi-enforcement{display:flex;flex-direction:column;gap:12px}.bi-enforcement p{margin:0;line-height:1.5;color:var(--muted,#96a0aa)}.bi-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bi-form-grid label{margin:0}.bi-span-2{grid-column:1/-1}.bi-license-card{display:grid;grid-template-columns:1fr auto;gap:7px 12px;align-items:center;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:12px}.bi-license-card small{grid-column:1/-1;color:var(--muted,#96a0aa)}.bi-inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bi-inline-form input,.bi-inline-form select{min-width:150px}.bi-device-assign{display:grid;grid-template-columns:minmax(130px,1fr);gap:6px;min-width:200px}.bi-device-assign input,.bi-device-assign select{min-width:0}.bi-device-table td{vertical-align:top}.bi-company-map{height:420px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#0e1114}.bi-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bi-group-card{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:15px;display:flex;flex-direction:column;gap:13px;background:rgba(255,255,255,.018)}.bi-group-card>div:first-child{display:flex;flex-direction:column;gap:3px}.bi-group-card small{color:var(--muted,#96a0aa)}.bi-member-tags{display:flex;gap:7px;flex-wrap:wrap}.bi-member-tags form{margin:0}.bi-member-tag{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:inherit;border-radius:999px;padding:6px 9px;cursor:pointer}.bi-member-tag:hover{border-color:rgba(255,255,255,.25)}.bi-narrow-panel{max-width:620px}.bi-platform-sidebar .brand-mark,.bi-company-sidebar .brand-mark,.mobile-appbrand-mark{letter-spacing:-.04em}.bi-platform-sidebar .brand-copy strong,.bi-company-sidebar .brand-copy strong{letter-spacing:.08em}.bi-platform-sidebar .brand-copy span,.bi-company-sidebar .brand-copy span{letter-spacing:.12em}
@media(max-width:1100px){.bi-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bi-group-grid{grid-template-columns:1fr}.bi-platform-split{grid-template-columns:1fr}}
@media(max-width:700px){.bi-kpi-grid,.bi-kpi-grid-3{grid-template-columns:1fr 1fr}.bi-form-grid{grid-template-columns:1fr}.bi-span-2{grid-column:auto}.bi-company-metrics{justify-content:flex-end}.bi-company-map{height:340px}.bi-inline-form{align-items:stretch}.bi-inline-form>*{flex:1 1 100%}}
/* v0.9.1 Bavaria Intercom commercial modules + service radio */
.nav-ai-icon{width:20px;height:20px;border-radius:6px;display:block}.bi-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.bi-module-card{display:flex;flex-direction:column;gap:12px}.bi-module-card h2{margin:6px 0}.bi-module-icon{width:46px;height:46px;border:1px solid #31424e;border-radius:12px;display:grid;place-items:center;font-size:24px;background:#0d161d;color:#dce6ec}.bi-module-icon img{width:36px;height:36px;border-radius:10px}.bi-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bi-module-price{display:flex;align-items:baseline;gap:6px}.bi-module-price strong{font-size:20px}.bi-module-price small{color:#8193a0}.bi-action-row{display:flex;gap:6px;align-items:center}.bi-module-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 14px}.bi-plan-row{border-bottom:1px solid #24333e;padding:8px 0 12px}.bi-plan-row:last-child{border-bottom:0}.bi-plan-modules{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:5px 8px}.bi-kpi-text{font-size:16px!important}.bi-ai-title{display:flex;align-items:center;gap:14px}.bi-ai-title img{width:54px;height:54px;border-radius:14px}.bi-company-ai{max-width:980px}.bi-ai-chat{min-height:360px;max-height:58vh;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:8px 2px 16px}.bi-ai-msg{display:flex;gap:9px;align-items:flex-start}.bi-ai-msg img{width:30px;height:30px;border-radius:8px}.bi-ai-msg>div{max-width:78%;border:1px solid #2c3d49;background:#111b22;border-radius:12px;padding:10px 12px;white-space:pre-wrap}.bi-ai-msg.user{justify-content:flex-end}.bi-ai-msg.user>div{background:#18252e}.bi-ai-compose{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.bi-ai-compose textarea{min-height:82px}.bi-service-current{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid #2c3d49;border-radius:10px;background:#0d161d}.bi-service-current strong{font-size:18px}.bi-service-switch{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.alert.compact{padding:9px 11px;margin:0}
@media(max-width:1050px){.bi-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bi-service-switch{grid-template-columns:1fr 1fr}.bi-service-switch .btn{grid-column:1/-1}}
@media(max-width:680px){.bi-module-grid{grid-template-columns:1fr}.bi-price-grid,.bi-ai-compose,.bi-service-switch{grid-template-columns:1fr}.bi-ai-msg>div{max-width:90%}}

/* v0.9.5 Device Administration */
.bi-device-kpi{color:inherit;text-decoration:none;transition:.16s ease}.bi-device-kpi:hover{transform:translateY(-2px);border-color:rgba(55,227,139,.28)}
.bi-device-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.bi-device-flow-grid>div{position:relative;border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:14px 14px 14px 48px;background:rgba(255,255,255,.018);min-height:82px}.bi-device-flow-grid>div>span{position:absolute;left:13px;top:14px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:rgba(55,227,139,.12);border:1px solid rgba(55,227,139,.28);color:#a9f7c9;font-weight:900;font-size:11px}.bi-device-flow-grid strong,.bi-device-flow-grid small{display:block}.bi-device-flow-grid small{color:var(--muted);margin-top:4px;line-height:1.35}.bi-device-enroll-form{display:grid;grid-template-columns:minmax(105px,130px) auto;gap:6px;align-items:end}.bi-device-enroll-form input{margin:0}.bi-device-subaction{margin-top:7px;display:flex;gap:6px;align-items:end}.bi-device-subaction input{margin:0;min-width:130px}.bi-empty-state{padding:18px 10px;text-align:center;color:var(--muted)}.bi-empty-state strong,.bi-empty-state small{display:block}.bi-empty-state strong{color:#dbe5ea;margin-bottom:4px}.bi-device-blocked{margin-top:14px;border-top:1px solid rgba(255,255,255,.07);padding-top:12px}.bi-device-blocked summary{cursor:pointer;color:var(--muted);font-weight:750}.badge.off{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#9aa6af}.badge.info{border-color:rgba(86,166,255,.28);background:rgba(86,166,255,.08);color:#b8d9ff}
@media(max-width:1000px){.bi-device-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .bi-device-flow-grid{grid-template-columns:1fr}
  .bi-device-enroll-form{grid-template-columns:1fr}
  .bi-device-subaction{align-items:stretch;flex-direction:column}
  .bi-device-table{min-width:0!important;width:100%!important}
  .bi-device-action-cell{display:block!important}
  .bi-device-action-cell::before{margin-bottom:7px}
  .bi-device-assign{min-width:0!important;width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
  .bi-device-assign select,.bi-device-assign input,.bi-device-action-cell input,.bi-device-action-cell select{width:100%!important;max-width:100%!important;min-width:0!important}
  .bi-device-action-cell form{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
  .bi-device-action-cell .btn{width:100%!important;max-width:100%!important}
  .bi-device-subaction{width:100%!important;margin-top:7px!important}
  .bi-device-table td strong,.bi-device-table td small{overflow-wrap:anywhere}
  .bi-device-audit-table td{grid-template-columns:minmax(72px,28%) minmax(0,1fr)!important}
}


/* Bavaria Intercom v0.9.6 · device GPS locator */
.bi-device-gps-cell small{display:block;margin-top:5px}
.bi-gps-backdrop{position:fixed;inset:0;z-index:5090;background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}
.bi-gps-modal{position:fixed;z-index:5100;left:50%;top:50%;transform:translate(-50%,-46%) scale(.985);width:min(920px,calc(100vw - 28px));height:min(720px,calc(100dvh - 34px));background:#071018;border:1px solid #29404f;border-radius:16px;box-shadow:0 24px 90px rgba(0,0,0,.65);padding:12px;opacity:0;visibility:hidden;transition:.16s ease;overflow:hidden;display:flex;flex-direction:column}.bi-gps-modal.open{transform:translate(-50%,-50%) scale(1);opacity:1;visibility:visible}.bi-modal-open{overflow:hidden}
.bi-gps-map-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:2px 2px 10px}.bi-gps-map-head .section-kicker{margin:0 0 2px}.bi-gps-map-head h2{margin:0;font-size:18px}.bi-gps-close{width:38px;height:38px;flex:0 0 38px;border:1px solid #29404f;border-radius:10px;background:#0e1a22;color:#dce7ed;font-size:25px;line-height:1;cursor:pointer}
.bi-gps-map-shell{position:relative;flex:1;min-height:0}.bi-gps-map-full{height:100%;min-height:360px;border:1px solid #213642;border-radius:13px;overflow:hidden;background:#0b141c;position:relative}.bi-gps-map-empty{position:absolute;inset:0;z-index:2;display:grid;place-items:center;color:#758b98;padding:22px;text-align:center;background:#0b141c}.bi-gps-live-pill{position:absolute;z-index:500;top:12px;left:12px;display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(4,32,22,.92);border:1px solid rgba(85,233,148,.55);color:#80f0ae;font-size:10px;letter-spacing:.6px;box-shadow:0 5px 20px rgba(0,0,0,.35)}.bi-gps-pulse{width:8px;height:8px;border-radius:50%;background:#55e994;box-shadow:0 0 0 0 rgba(85,233,148,.55);animation:biGpsPulse 1.6s infinite}.bi-gps-live-pill.is-stale{background:rgba(43,34,7,.92);border-color:#aa8838;color:#e6c66c}.bi-gps-live-pill.is-stale .bi-gps-pulse,.bi-gps-live-pill.is-waiting .bi-gps-pulse{background:#e6c66c;animation:none}.bi-gps-live-pill.is-offline{background:rgba(35,20,20,.92);border-color:#764141;color:#d99a9a}.bi-gps-live-pill.is-offline .bi-gps-pulse{background:#b55d5d;animation:none}@keyframes biGpsPulse{70%{box-shadow:0 0 0 8px rgba(85,233,148,0)}100%{box-shadow:0 0 0 0 rgba(85,233,148,0)}}
.bi-gps-marker-popup{min-width:210px}.bi-gps-marker-popup>strong{display:block;font-size:15px;margin-bottom:3px}.bi-gps-marker-popup>small{display:block;color:#647783;margin:3px 0 8px}.bi-gps-marker-state{display:inline-block;font-size:9px;font-weight:800;letter-spacing:.5px;padding:3px 6px;border-radius:6px;background:#3b2d16;color:#9a6e24}.bi-gps-marker-state.is-live{background:#dff7e9;color:#0c6b3d}.bi-gps-marker-popup>div{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border-top:1px solid #e8ecef;font-size:11px}.bi-gps-marker-popup>div span{color:#61717c}.bi-gps-marker-popup>div b{text-align:right}.bi-gps-popup-time{margin-top:7px!important;font-size:9px}.bi-gps-map .leaflet-popup-content{margin:11px 13px}.bi-gps-map .leaflet-popup-content-wrapper{border-radius:11px}
@media(max-width:760px){.bi-gps-modal{top:max(8px,env(safe-area-inset-top,0px));left:8px;right:8px;bottom:calc(82px + env(safe-area-inset-bottom,0px));inset-block-start:max(8px,env(safe-area-inset-top,0px));inset-inline-start:8px;inset-inline-end:8px;inset-block-end:calc(82px + env(safe-area-inset-bottom,0px));transform:none;width:auto;height:auto;min-width:0;max-width:none;max-height:none;border-radius:14px;padding:8px;box-sizing:border-box}.bi-gps-modal.open{transform:none}.bi-gps-map-head{padding:3px 3px 7px;flex:0 0 auto}.bi-gps-map-head h2{font-size:16px}.bi-gps-map-shell{flex:1 1 auto;min-height:0;height:auto}.bi-gps-map-full{min-height:0;height:100%;width:100%}.bi-gps-live-pill{top:9px;left:9px}.bi-device-gps-cell .btn{width:100%!important}}


/* Bavaria Intercom v0.9.6.5 - compact expandable device cards */\n.bi-mobile-device-quick{display:none}\n@media(max-width:760px){\n  .bi-device-table tr.bi-device-collapsible{padding:0!important;overflow:hidden!important;border-radius:12px!important;border:1px solid rgba(91,132,153,.34)!important;background:#091821!important}\n  .bi-device-table tr.bi-device-collapsible>td{margin:0!important}\n  .bi-device-table tr.bi-device-collapsible:not(.expanded)>td:not(.bi-device-card-primary){display:none!important}\n  .bi-device-table tr.bi-device-collapsible>.bi-device-card-primary{display:block!important;padding:11px 12px!important;border:0!important;min-height:0!important}\n  .bi-device-table tr.bi-device-collapsible>.bi-device-card-primary::before{display:none!important}\n  .bi-device-card-primary>strong{display:block!important;font-size:14px!important;line-height:1.2!important;letter-spacing:.02em!important;margin:0 0 3px!important}\n  .bi-device-card-primary>small{display:block!important;font-size:8px!important;line-height:1.25!important;color:#8194a0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin:0!important}\n  .bi-mobile-device-quick{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px;margin-top:9px}\n  .bi-mobile-device-quick .badge{justify-self:start;white-space:nowrap}\n  .bi-mobile-device-owner{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b9c6cc;font-size:9px;font-weight:750}\n  .bi-mobile-device-quick .btn{width:auto!important;min-width:0!important;min-height:28px!important;padding:5px 8px!important;font-size:8px!important;margin:0!important;white-space:nowrap!important}\n  .bi-device-table tr.bi-device-collapsible.expanded>.bi-device-card-primary{border-bottom:1px solid rgba(91,132,153,.22)!important}\n  .bi-device-table tr.bi-device-collapsible.expanded>td:not(.bi-device-card-primary){padding-left:11px!important;padding-right:11px!important}\n  .bi-device-table tr.bi-device-collapsible.expanded>td:last-child{padding-bottom:12px!important}\n}\n@media(max-width:390px){\n  .bi-mobile-device-quick{grid-template-columns:auto minmax(0,1fr) auto}\n  .bi-mobile-device-quick .bi-device-expand{grid-column:1/-1;width:100%!important}\n}\n

/* Bavaria Intercom v0.9.6.6 - reliable mobile device accordion */
@media(max-width:760px){
  .bi-device-table tr.bi-device-collapsible > td.bi-device-detail-cell{
    display:none!important;
  }
  .bi-device-table tr.bi-device-collapsible.expanded > td.bi-device-detail-cell{
    display:grid!important;
  }
  .bi-device-table tr.bi-device-collapsible.expanded > td.bi-device-detail-cell.bi-device-action-cell,
  .bi-device-table tr.bi-device-collapsible.expanded > td.bi-device-detail-cell.bi-device-gps-cell{
    display:block!important;
  }
  .bi-device-table tr.bi-device-collapsible:not(.expanded) > td.bi-device-card-primary{
    border-bottom:0!important;
  }
}


/* Bavaria Intercom v0.9.6.7 - hard mobile accordion fallback */
@media(max-width:760px){
  .bi-device-table tr.bi-device-collapsible > td.bi-device-detail-cell{display:none!important}
  .bi-device-table tr.bi-device-collapsible.expanded > td.bi-device-detail-cell{display:grid!important}
  .bi-device-table tr.bi-device-collapsible.expanded > td.bi-device-detail-cell.bi-device-action-cell,
  .bi-device-table tr.bi-device-collapsible.expanded > td.bi-device-detail-cell.bi-device-gps-cell{display:block!important}
}

/* v0.9.8 company-internal locations & tracking */
.company-location-layout{grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr)}
.company-location-map{height:520px;min-height:360px}
.company-location-toolbar{align-items:end}
.company-location-toolbar .poc-gps-follow{min-height:44px}
.company-employee-marker{background:#4d8cff!important}
@media (max-width:760px){
  .company-location-layout{display:block}
  .company-location-map{height:min(58dvh,520px);min-height:360px}
  .company-location-layout .live-location-list{max-height:280px;margin-top:10px}
  .company-location-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .company-location-toolbar>label:first-child{grid-column:1/-1}
  .company-location-toolbar .poc-live-speed{grid-column:1/-1}
  .poc-route-start-card{grid-template-columns:1fr!important}
  .poc-route-layout{grid-template-columns:1fr!important}
}


/* Bavaria Intercom v0.9.8.1 - practical company location markers */
.bi-company-map-marker-wrap{background:transparent!important;border:0!important;overflow:visible!important}
.bi-company-map-marker{--bi-marker:#8a98a2;position:relative;display:flex;align-items:center;gap:7px;width:max-content;max-width:156px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.32));transform-origin:17px 36px}
.bi-company-map-marker.is-live{--bi-marker:#31d987}
.bi-company-map-marker.is-stale{--bi-marker:#e7a83e}
.bi-company-map-marker.is-offline{--bi-marker:#84919a;opacity:.82}
.bi-company-map-marker.is-employee{--bi-marker:#4d8cff}
.bi-company-map-marker.is-selected{transform:scale(1.06);z-index:3}
.bi-company-map-pin{position:relative;flex:0 0 34px;width:34px;height:34px;border-radius:50% 50% 50% 7px;transform:rotate(-45deg);background:#111a20;border:3px solid var(--bi-marker);box-shadow:0 0 0 2px rgba(5,10,13,.62),0 3px 9px rgba(0,0,0,.35)}
.bi-company-map-pin>span{position:absolute;inset:8px;border-radius:50%;background:var(--bi-marker);display:grid;place-items:center;color:#07110d;font-size:8px;font-weight:900;transform:rotate(45deg)}
.bi-company-map-marker.is-live .bi-company-map-pin:after{content:"";position:absolute;inset:-8px;border:2px solid var(--bi-marker);border-radius:50%;opacity:.24;animation:pgLocationPulse 1.8s ease-out infinite}
.bi-company-map-person>span{inset:5px;background:var(--bi-marker);font-size:8px;color:#fff}
.bi-company-map-label{display:flex;flex-direction:column;gap:1px;min-width:0;max-width:115px;padding:5px 8px 5px 9px;border:1px solid rgba(112,135,149,.48);border-left:3px solid var(--bi-marker);border-radius:7px;background:rgba(10,18,23,.93);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.bi-company-map-label b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#eef4f7;font-size:10px;line-height:1.2}
.bi-company-map-label small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bi-marker);font-size:7px;font-weight:850;letter-spacing:.05em}
.bi-company-map-marker.is-selected .bi-company-map-label{border-color:var(--bi-marker);box-shadow:0 0 0 2px rgba(255,255,255,.08)}
.live-location-person.is-live .live-location-person-dot{background:#31d987;box-shadow:0 0 7px rgba(49,217,135,.65)}
.live-location-person.is-stale .live-location-person-dot{background:#e7a83e;box-shadow:0 0 7px rgba(231,168,62,.35)}
.live-location-person.is-offline .live-location-person-dot{background:#7d8a93;box-shadow:none}
.bi-location-popup{min-width:190px;color:#18242b}
.bi-location-popup-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}
.bi-location-popup-head strong{font-size:14px;color:#101b21;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bi-location-popup>small{display:block;margin:-1px 0 7px;color:#647783;font-size:10px}
.bi-location-state{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:3px 6px;background:#e8edf0;color:#66727b;font-size:8px;font-weight:900;letter-spacing:.04em}
.bi-location-state.is-live{background:#d9f7e8;color:#087246}
.bi-location-state.is-stale{background:#fff0cf;color:#8a5c08}
.bi-location-state.is-offline{background:#e7ebed;color:#66727b}
.bi-location-popup-grid{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding-top:5px;border-top:1px solid #e7ecef;font-size:10px}
.bi-location-popup-grid span{color:#6b7b85}.bi-location-popup-grid b{text-align:right;color:#1b2931}
.bi-location-popup time{display:block;margin-top:6px;color:#7b8991;font-size:8px}
@media(max-width:760px){
  .bi-company-map-marker{max-width:140px;gap:5px}
  .bi-company-map-label{max-width:100px;padding:4px 6px 4px 7px}
  .bi-company-map-label b{font-size:9px}.bi-company-map-label small{font-size:6.5px}
  .bi-company-map-pin{flex-basis:30px;width:30px;height:30px}
}

/* Bavaria Intercom v0.9.9 - company PoC communication */
.company-poc-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}.company-poc-kpis article{background:var(--panel,#171c20);border:1px solid var(--line,#313a40);border-radius:14px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px}.company-poc-kpis span{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted,#91a0aa)}.company-poc-kpis strong{font-size:1.5rem}.company-poc-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:16px;padding:4px;background:#11171b;border:1px solid #303a40;border-radius:14px}.company-poc-tabs button{appearance:none;border:0;background:transparent;color:#aeb9c0;padding:11px 16px;border-radius:10px;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}.company-poc-tabs button.active{background:#223039;color:#fff;box-shadow:inset 0 0 0 1px #486273}.company-poc-panel[hidden]{display:none!important}.company-poc-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.company-poc-section-head h2{margin:0}.company-dispatch-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:16px}.company-dispatch-console,.company-radio-presence{background:#10171b;border:1px solid #30404a;border-radius:16px;padding:18px}.company-dispatch-topline,.company-radio-presence-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.company-dispatch-topline h2,.company-radio-presence-head h3{margin:0}.company-channel-select{display:grid;gap:7px;margin:20px 0 14px;font-weight:700}.company-channel-select select{width:100%;font-size:1.05rem}.company-dispatch-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.company-dispatch-status>div{border:1px solid #2d3940;border-radius:12px;padding:12px}.company-dispatch-status span{display:block;color:#8fa0aa;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}.company-dispatch-status strong{font-size:1rem}.company-dispatch-actions{display:grid;grid-template-columns:minmax(0,.65fr) minmax(180px,1fr);gap:12px;align-items:stretch}.company-poc-ptt{border:1px solid #53616a;border-radius:18px;background:linear-gradient(180deg,#263139,#151c20);color:#fff;min-height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font:inherit;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}.company-poc-ptt span{font-size:2rem;font-weight:900;letter-spacing:.08em}.company-poc-ptt small{color:#aab5bb}.company-poc-ptt.active{background:#6e2e24;border-color:#d76a54;transform:scale(.99)}.company-poc-ptt.granted{box-shadow:0 0 0 2px rgba(99,225,157,.22),inset 0 0 0 1px #62c98f}.company-console-message{min-height:1.4em;margin-top:10px;color:#9aabb5}.company-radio-presence-head{margin-bottom:10px}.company-radio-presence-head span{color:#8fa0aa}.company-radio-presence-list{display:grid;gap:8px;max-height:430px;overflow:auto}.company-radio-presence-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;align-items:center;border:1px solid #29343a;border-radius:12px;padding:10px 12px}.company-radio-presence-item small{display:block;color:#81909a;margin-top:2px}.company-radio-mini{grid-column:1/-1;display:flex;gap:12px;font-size:.78rem;color:#a0adb5}.company-radio-presence-item.is-online{border-color:#33594a}.company-group-cards,.company-device-cards,.company-permission-cards{display:grid;gap:10px}.company-group-card,.company-device-card,.company-permission-card{padding:0!important;overflow:hidden}.company-group-toggle,.company-device-summary{width:100%;border:0;background:transparent;color:inherit;padding:15px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;font:inherit;cursor:pointer}.company-device-summary{grid-template-columns:minmax(0,1fr) auto auto}.company-group-toggle strong,.company-device-summary strong{display:block;font-size:1rem}.company-group-toggle small,.company-device-summary small{display:block;color:#8e9ca5;margin-top:3px}.company-group-toggle>span:last-child,.company-device-summary>span:last-child{font-size:1.5rem;transition:transform .18s}.company-group-toggle.open>span:last-child,.company-device-summary.open>span:last-child{transform:rotate(90deg)}.company-group-body,.company-device-body{border-top:1px solid #2d3940;padding:14px 16px;display:grid;gap:14px}.company-member-chips{display:flex;gap:7px;flex-wrap:wrap}.company-member-chips form{margin:0}.company-member-chips button{border:1px solid #35434b;background:#141c21;color:#d7dfe3;border-radius:999px;padding:7px 10px;font:inherit;font-size:.82rem}.presence-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#67747c;margin-right:6px}.presence-dot.online{background:#5fd79a}.company-group-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.company-inline-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.company-inline-editor label{display:grid;gap:5px}.company-inline-actions{grid-column:1/-1;display:flex;gap:8px}.company-inline-editor.is-collapsed{display:none}.company-device-telemetry{display:flex;gap:8px;flex-wrap:wrap}.company-device-telemetry span{border:1px solid #334049;border-radius:999px;padding:6px 9px;color:#cbd4d9;font-size:.8rem}.company-device-groups-form{display:grid;gap:9px}.company-group-checks{display:flex;flex-wrap:wrap;gap:8px}.company-group-checks label{position:relative}.company-group-checks input{position:absolute;opacity:0;pointer-events:none}.company-group-checks span{display:block;border:1px solid #3a474f;border-radius:999px;padding:8px 11px;cursor:pointer}.company-group-checks input:checked+span{background:#203b31;border-color:#4d9b76;color:#dff9eb}.company-permission-card{padding:15px 16px!important}.company-permission-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.company-permission-card header small{display:block;color:#8e9ba4;margin-top:2px}.company-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.company-permission-grid label{display:flex;align-items:center;gap:9px;border:1px solid #303b42;border-radius:10px;padding:10px}.company-permission-grid input{width:18px;height:18px}
@media(max-width:820px){.company-dispatch-status{grid-template-columns:1fr 1fr}.company-dispatch-status>div:last-child{grid-column:1/-1}.company-poc-kpis{grid-template-columns:repeat(3,1fr);gap:7px}.company-poc-kpis article{padding:10px;display:block}.company-poc-kpis span{font-size:.64rem}.company-poc-kpis strong{display:block;font-size:1.2rem;margin-top:3px}.company-dispatch-grid{grid-template-columns:1fr}.company-radio-presence{padding:13px}.company-radio-presence-list{max-height:300px}.company-dispatch-console{padding:14px}.company-dispatch-actions{grid-template-columns:1fr}.company-poc-ptt{min-height:128px}.company-inline-editor{grid-template-columns:1fr}.company-inline-actions{grid-column:auto}.company-permission-grid{grid-template-columns:1fr}.company-poc-tabs{position:sticky;top:0;z-index:12}.company-group-add{grid-template-columns:1fr}.company-device-summary{padding:13px 12px}.company-poc-section-head{align-items:stretch}.company-poc-section-head .btn{width:auto}}

/* Bavaria Intercom v0.10.0 - Billing Foundation */
.code-box{padding:12px 14px;border:1px solid var(--line,#30363d);border-radius:12px;background:rgba(0,0,0,.18);overflow:auto}
.code-box code{font-size:.84rem;white-space:nowrap}
.bi-secret-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bi-secret-status small{opacity:.72}

/* v0.10.1 – Firmenzugänge & Rechte */
.company-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.company-access-card{padding:16px!important;display:grid;gap:14px}.company-access-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.company-access-head strong,.company-access-head small{display:block}.company-access-head small{margin-top:3px;color:var(--muted,#8d9aa3)}.company-access-account-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;gap:9px;align-items:end;padding:12px;border:1px solid #2d3940;border-radius:12px;background:#11181c}.company-access-account-form label{display:grid;gap:5px}.company-access-active{display:flex!important;align-items:center;gap:8px;min-height:40px;padding:0 4px}.company-access-active input{width:18px;height:18px}.company-access-permission-form{display:grid;gap:10px}.company-access-permission-form fieldset{border:1px solid #2d3940;border-radius:12px;padding:10px;margin:0;min-width:0}.company-access-permission-form legend{padding:0 6px;color:#82929c;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.company-full-access{padding:5px 0}.company-access-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #273239;padding-top:10px;font-size:.8rem;color:#8e9ba4}.company-access-foot a{color:#d7e5ed;text-decoration:none}.company-profile-rights{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.company-profile-rights span{border:1px solid #355044;background:#16261f;color:#c9ead9;border-radius:999px;padding:6px 9px;font-size:.78rem}.company-password-panel{max-width:760px}.company-password-panel .form-grid{margin:0}
@media(max-width:1050px){.company-access-grid{grid-template-columns:1fr}.company-access-account-form{grid-template-columns:1fr 1fr}.company-access-account-form .btn{align-self:end}}
@media(max-width:760px){.company-access-card{padding:12px!important}.company-access-account-form{grid-template-columns:1fr}.company-access-account-form .btn{width:100%}.company-access-foot{align-items:flex-start;flex-direction:column}.company-access-head{align-items:center}}


/* v0.10.1.1 – fokussierte Gerätezuweisung */
.bi-assign-device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
.bi-assign-device-card{border:1px solid var(--border);border-radius:14px;background:var(--panel-2,#101820);padding:15px;min-width:0}
.bi-assign-device-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.bi-assign-device-head strong{display:block;font-size:1rem}.bi-assign-device-head small{display:block;margin-top:4px;overflow-wrap:anywhere}
.bi-assign-device-meta{display:flex;flex-wrap:wrap;gap:7px 12px;margin:12px 0;color:var(--muted);font-size:.88rem}
.bi-assign-device-details>summary{list-style:none;cursor:pointer;display:inline-flex}.bi-assign-device-details>summary::-webkit-details-marker{display:none}
.bi-assign-device-form{display:grid;gap:10px;margin-top:12px}.bi-assign-device-form select,.bi-assign-device-form input{width:100%}
@media(max-width:760px){.bi-assign-device-grid{grid-template-columns:1fr}.bi-assign-device-card{padding:13px}.bi-assign-device-details>summary{width:100%;justify-content:center}.bi-assign-device-form .btn{width:100%}}

/* v0.10.1.2 – manuelle Schnellzuteilung für Tarif & Module */
.bi-company-license-panel{display:flex;flex-direction:column;gap:12px}
.bi-company-module-strip{display:flex;gap:6px;flex-wrap:wrap}
.bi-company-quick-assign{border-top:1px solid rgba(255,255,255,.08);padding-top:10px}
.bi-company-quick-assign>summary{list-style:none;cursor:pointer;width:max-content;margin-left:auto}
.bi-company-quick-assign>summary::-webkit-details-marker{display:none}
.bi-company-quick-assign[open]>summary{margin-bottom:12px}
.bi-company-quick-assign-body{display:grid;gap:14px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.018)}
.bi-company-quick-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end}
.bi-company-quick-row label{margin:0}.bi-company-quick-row label>span{display:block;margin-bottom:6px;color:var(--muted,#96a0aa);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.bi-company-quick-modules{display:grid;gap:10px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}
.bi-company-quick-module-grid{display:flex;gap:8px;flex-wrap:wrap}
.bi-quick-check{display:flex!important;align-items:center;gap:7px;margin:0!important;padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.025);cursor:pointer}
.bi-quick-check:has(input:checked){border-color:rgba(133,225,179,.55);background:rgba(70,160,115,.12)}
.bi-quick-check input{width:auto;min-width:0;margin:0}
@media(max-width:720px){.bi-company-quick-row{grid-template-columns:1fr}.bi-company-quick-row .btn,.bi-company-quick-modules>.btn{width:100%}.bi-company-quick-assign>summary{width:100%;text-align:center}.bi-company-quick-module-grid{display:grid;grid-template-columns:1fr 1fr}.bi-quick-check{min-height:44px}}
@media(max-width:440px){.bi-company-quick-module-grid{grid-template-columns:1fr}}

/* Bavaria Intercom v0.10.2 – controlled operational data reset */
.system-reset-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:2px 0 14px}.system-reset-summary>div{border:1px solid #3b2930;background:#111318;border-radius:6px;padding:10px}.system-reset-summary span{display:block;color:#9a8589;font-size:8px;text-transform:uppercase;letter-spacing:.7px}.system-reset-summary strong{display:block;margin-top:4px;font-size:18px;color:#f1dfe1}.system-reset-form{display:grid;grid-template-columns:minmax(230px,420px) 1fr auto;gap:12px;align-items:end}.system-reset-form .system-confirm-row{align-self:center;margin-bottom:3px}.system-reset-form .btn{min-height:36px;white-space:nowrap}@media(max-width:900px){.system-reset-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.system-reset-form{grid-template-columns:1fr}.system-reset-form .btn{width:100%}}@media(max-width:520px){.system-reset-summary{grid-template-columns:1fr 1fr}}

.alert.warn{background:rgba(255,181,72,.10);border:1px solid rgba(255,181,72,.30);color:#ffd18a}
