/* FW Einsatzdoku – Gemeinsames Design */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800;900&family=Barlow:wght@400;500;600;700&display=swap');

/* ── THEME VARIABLEN ── */
:root {
  --rot: #D0021B;
  --rot-d: #A50015;
  --rot-l: #FF1A1A;
  --gold: #E67E00;
  --gruen: #1A8C3C;
  --gruen-l: #22A84A;
  --blau: #1565C0;
  --blau-l: #1976D2;

  /* HELL (Standard) */
  --bg: #F2F2F2;
  --bg2: #FFFFFF;
  --bg3: #E8E8E8;
  --surface: #FFFFFF;
  --surface2: #F5F5F5;
  --border: #DEDEDE;
  --border-s: #C8C8C8;
  --text: #111111;
  --text2: #444444;
  --text3: #888888;
  --header-bg: #D0021B;
  --header-text: #FFFFFF;
  --shadow: rgba(0,0,0,0.12);
  --shadow-s: rgba(0,0,0,0.06);
}

[data-theme="dark"] {
  --bg: #0A0A0A;
  --bg2: #141414;
  --bg3: #1E1E1E;
  --surface: #1A1A1A;
  --surface2: #242424;
  --border: rgba(255,255,255,0.1);
  --border-s: rgba(255,255,255,0.06);
  --text: #F0EDE8;
  --text2: #BBBBBB;
  --text3: #777777;
  --header-bg: #1A0005;
  --header-text: #FFFFFF;
  --shadow: rgba(0,0,0,0.4);
  --shadow-s: rgba(0,0,0,0.2);
}

/* ── RESET ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html, body { height:100%; overflow:hidden; }
body { font-family:'Barlow',sans-serif; background:var(--bg); color:var(--text); display:flex; flex-direction:column; height:100vh; transition:background 0.2s, color 0.2s; }

/* ── HEADER ── */
.fw-header {
  background:var(--header-bg);
  color:var(--header-text);
  padding:0 16px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-shrink:0;
  box-shadow:0 2px 8px var(--shadow);
  position:relative;
  z-index:10;
}

.fw-header-left { display:flex; align-items:center; gap:12px; }

.fw-back {
  color:rgba(255,255,255,0.8);
  text-decoration:none;
  font-size:22px;
  line-height:1;
  padding:8px 4px;
  display:flex;
  align-items:center;
}

.fw-header-title {
  font-family:'Barlow Condensed',sans-serif;
  font-size:20px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  color:#fff;
}

.fw-header-sub {
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:rgba(255,255,255,0.6);
  margin-top:1px;
}

.fw-badge {
  background:rgba(255,255,255,0.2);
  border:1px solid rgba(255,255,255,0.4);
  color:#fff;
  font-family:'Barlow Condensed',sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:2px;
  padding:3px 10px;
  border-radius:3px;
  text-transform:uppercase;
  display:none;
  animation:blink 2s infinite;
}
.fw-badge.show { display:inline-block; }
@keyframes blink { 0%,100%{opacity:1;} 50%{opacity:0.6;} }

.fw-header-right { display:flex; align-items:center; gap:10px; }

.fw-timer {
  font-family:'Barlow Condensed',sans-serif;
  font-size:18px;
  font-weight:700;
  letter-spacing:2px;
  color:rgba(255,255,255,0.9);
  min-width:54px;
  text-align:right;
}

.fw-conn {
  width:10px; height:10px; border-radius:50%;
  background:rgba(255,255,255,0.3);
  transition:background 0.3s;
}
.fw-conn.on { background:#4ADE80; box-shadow:0 0 8px #4ADE80; }

.fw-theme-btn {
  background:rgba(255,255,255,0.15);
  border:1px solid rgba(255,255,255,0.25);
  border-radius:6px;
  color:#fff;
  font-size:16px;
  width:34px; height:34px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition:background 0.15s;
}
.fw-theme-btn:hover { background:rgba(255,255,255,0.25); }

/* ── EINSATZ INFO BANNER ── */
.fw-einsatz-banner {
  background:var(--rot);
  color:#fff;
  padding:10px 16px;
  flex-shrink:0;
  display:none;
}
.fw-einsatz-banner.show { display:block; }
.fw-eb-stw {
  font-family:'Barlow Condensed',sans-serif;
  font-size:30px;
  font-weight:900;
  line-height:1;
  letter-spacing:1px;
  text-transform:uppercase;
}
.fw-eb-meta {
  display:flex; gap:20px; margin-top:5px; flex-wrap:wrap;
}
.fw-eb-meta span {
  font-family:'Barlow Condensed',sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:1px;
  color:rgba(255,255,255,0.85);
}
.fw-eb-meta strong { color:#fff; }

/* ── TABS ── */
.fw-tabs {
  display:flex;
  background:var(--surface);
  border-bottom:2px solid var(--border);
  flex-shrink:0;
}
.fw-tab {
  flex:1;
  padding:14px 6px;
  background:none;
  border:none;
  border-bottom:3px solid transparent;
  margin-bottom:-2px;
  color:var(--text3);
  font-family:'Barlow Condensed',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  cursor:pointer;
  transition:all 0.15s;
}
.fw-tab.active { color:var(--rot); border-bottom-color:var(--rot); }

.fw-tab-content { flex:1; overflow-y:auto; display:none; }
.fw-tab-content.active { display:block; }

/* ── KARTEN / SURFACES ── */
.fw-card {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:12px;
  padding:20px;
  box-shadow:0 2px 8px var(--shadow-s);
}

/* ── FORMULAR ── */
.fw-label {
  display:block;
  font-family:'Barlow Condensed',sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--text3);
  margin-bottom:6px;
  margin-top:18px;
}
.fw-label:first-of-type { margin-top:0; }

.fw-input {
  width:100%;
  background:var(--bg);
  border:2px solid var(--border);
  border-radius:8px;
  padding:14px 16px;
  color:var(--text);
  font-family:'Barlow',sans-serif;
  font-size:17px;
  font-weight:500;
  outline:none;
  transition:border-color 0.15s;
  -webkit-appearance:none;
}
.fw-input:focus { border-color:var(--rot); }

.fw-select {
  width:100%;
  background:var(--bg);
  border:2px solid var(--border);
  border-radius:8px;
  padding:14px 16px;
  color:var(--text);
  font-family:'Barlow',sans-serif;
  font-size:17px;
  font-weight:500;
  outline:none;
  transition:border-color 0.15s;
  -webkit-appearance:none;
  cursor:pointer;
}
.fw-select:focus { border-color:var(--rot); }

/* ── BUTTONS ── */
.fw-btn {
  display:block; width:100%;
  padding:16px;
  border:none; border-radius:10px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:20px; font-weight:800;
  letter-spacing:2px; text-transform:uppercase;
  cursor:pointer; transition:all 0.15s;
  -webkit-tap-highlight-color:transparent;
}
.fw-btn:active { transform:scale(0.97); }

.fw-btn-rot { background:var(--rot); color:#fff; box-shadow:0 4px 12px rgba(208,2,27,0.3); }
.fw-btn-rot:hover { background:var(--rot-d); }

.fw-btn-outline {
  background:transparent;
  border:2px solid var(--border-s);
  color:var(--text2);
}
.fw-btn-outline:hover { border-color:var(--rot); color:var(--rot); }

.fw-btn-ghost {
  background:var(--surface2);
  border:1px solid var(--border);
  color:var(--text2);
  font-size:16px;
}

/* ── STATUS PILLS ── */
.fw-pill {
  font-family:'Barlow Condensed',sans-serif;
  font-size:12px; font-weight:800;
  letter-spacing:1px; text-transform:uppercase;
  padding:4px 10px; border-radius:4px;
  display:inline-block;
}
.fw-pill-1 { background:#DCFCE7; color:#166534; }
.fw-pill-2 { background:#D1FAE5; color:#065F46; }
.fw-pill-3 { background:#FEF3C7; color:#92400E; }
.fw-pill-4 { background:#FEE2E2; color:#991B1B; }
.fw-pill-5 { background:#DBEAFE; color:#1E3A8A; }
.fw-pill-6 { background:#F3F4F6; color:#6B7280; }

[data-theme="dark"] .fw-pill-1 { background:rgba(34,168,74,0.15); color:#4ADE80; }
[data-theme="dark"] .fw-pill-2 { background:rgba(34,168,74,0.1); color:#34D399; }
[data-theme="dark"] .fw-pill-3 { background:rgba(230,126,0,0.15); color:#FCD34D; }
[data-theme="dark"] .fw-pill-4 { background:rgba(208,2,27,0.15); color:#F87171; }
[data-theme="dark"] .fw-pill-5 { background:rgba(21,101,192,0.15); color:#93C5FD; }
[data-theme="dark"] .fw-pill-6 { background:rgba(100,100,100,0.15); color:#9CA3AF; }

/* ── WARTE SCREEN ── */
.fw-warte {
  flex:1; display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding:40px; text-align:center;
}
.fw-warte-icon { font-size:56px; opacity:0.25; animation:pulse 2.5s infinite; margin-bottom:16px; }
@keyframes pulse { 0%,100%{opacity:0.25;} 50%{opacity:0.5;} }
.fw-warte-txt {
  font-family:'Barlow Condensed',sans-serif;
  font-size:18px; font-weight:700;
  letter-spacing:3px; text-transform:uppercase;
  color:var(--text3);
}

/* ── TAGEBUCH ── */
.fw-tb-entry {
  display:flex; gap:10px;
  padding:12px 16px;
  border-bottom:1px solid var(--border);
  transition:background 0.1s;
}
.fw-tb-entry:last-child { border-bottom:none; }
.fw-tb-time {
  font-family:'Barlow Condensed',sans-serif;
  font-size:13px; font-weight:700;
  color:var(--text3); flex-shrink:0; min-width:44px;
}
.fw-tb-sender {
  font-family:'Barlow Condensed',sans-serif;
  font-size:13px; font-weight:800;
  flex-shrink:0; min-width:80px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.fw-tb-text { font-size:14px; line-height:1.4; color:var(--text); }
.tb-typ-system .fw-tb-text { color:var(--text3); font-style:italic; }
.tb-typ-system .fw-tb-sender { color:var(--text3); }
.tb-typ-meldung .fw-tb-sender { color:var(--gold); }
.tb-typ-status .fw-tb-sender { color:var(--blau); }
.tb-typ-fahrzeug .fw-tb-sender { color:var(--gruen); }

.fw-tb-input-bar {
  display:flex; gap:8px;
  padding:10px 12px;
  background:var(--surface);
  border-top:2px solid var(--border);
  flex-shrink:0;
}
.fw-tb-input-bar .fw-input { flex:1; padding:12px 14px; font-size:15px; }
.fw-tb-send {
  background:var(--rot); border:none; border-radius:8px;
  color:#fff; padding:12px 20px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:17px; font-weight:800; letter-spacing:1px;
  cursor:pointer; flex-shrink:0;
  transition:background 0.15s;
}
.fw-tb-send:hover { background:var(--rot-d); }
.fw-tb-send:active { transform:scale(0.95); }

/* ── FAHRZEUG KARTE (ELW) ── */
.fw-fz-card {
  background:var(--surface);
  border:2px solid var(--border);
  border-radius:12px;
  margin-bottom:10px;
  overflow:hidden;
  transition:border-color 0.15s;
  box-shadow:0 2px 6px var(--shadow-s);
}
.fw-fz-card-header {
  display:flex; align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  cursor:pointer;
}
.fw-fz-card-header:active { background:var(--surface2); }
.fw-fz-kz {
  font-family:'Barlow Condensed',sans-serif;
  font-size:22px; font-weight:800; letter-spacing:1px;
}
.fw-fz-bez { font-size:13px; color:var(--text3); margin-top:2px; }
.fw-fz-meta { display:flex; align-items:center; gap:10px; }
.fw-fz-bsz {
  font-family:'Barlow Condensed',sans-serif;
  font-size:16px; font-weight:700; color:var(--text2);
}

/* ELW Fahrzeug-Aktionen (ausklappbar) */
.fw-fz-actions {
  border-top:1px solid var(--border);
  padding:12px 14px;
  background:var(--surface2);
  display:none;
}
.fw-fz-actions.open { display:block; }
.fw-fz-action-label {
  font-family:'Barlow Condensed',sans-serif;
  font-size:11px; font-weight:700; letter-spacing:3px;
  text-transform:uppercase; color:var(--text3);
  margin-bottom:10px;
}
.fw-status-grid-small {
  display:grid; grid-template-columns:repeat(6,1fr); gap:6px;
  margin-bottom:12px;
}
.fw-status-sm {
  padding:10px 4px; border-radius:8px;
  border:2px solid var(--border);
  background:var(--bg); text-align:center;
  cursor:pointer; transition:all 0.15s;
  -webkit-tap-highlight-color:transparent;
}
.fw-status-sm:active { transform:scale(0.93); }
.fw-status-sm .sn {
  font-family:'Barlow Condensed',sans-serif;
  font-size:22px; font-weight:900; line-height:1;
}
.fw-status-sm .st { font-size:8px; color:var(--text3); margin-top:2px; line-height:1.1; }
.fw-status-sm.aktiv-1,.fw-status-sm:hover.s1 { border-color:var(--gruen); background:#F0FDF4; }
.fw-status-sm.aktiv-1 .sn,.fw-status-sm.s1 .sn { color:var(--gruen); }
.fw-status-sm.aktiv-2,.fw-status-sm:hover.s2 { border-color:#059669; background:#ECFDF5; }
.fw-status-sm.aktiv-2 .sn,.fw-status-sm.s2 .sn { color:#059669; }
.fw-status-sm.aktiv-3,.fw-status-sm:hover.s3 { border-color:var(--gold); background:#FFFBEB; }
.fw-status-sm.aktiv-3 .sn,.fw-status-sm.s3 .sn { color:var(--gold); }
.fw-status-sm.aktiv-4,.fw-status-sm:hover.s4 { border-color:var(--rot); background:#FFF1F2; }
.fw-status-sm.aktiv-4 .sn,.fw-status-sm.s4 .sn { color:var(--rot); }
.fw-status-sm.aktiv-5,.fw-status-sm:hover.s5 { border-color:var(--blau); background:#EFF6FF; }
.fw-status-sm.aktiv-5 .sn,.fw-status-sm.s5 .sn { color:var(--blau); }
.fw-status-sm.aktiv-6,.fw-status-sm:hover.s6 { border-color:#6B7280; background:#F9FAFB; }
.fw-status-sm.aktiv-6 .sn,.fw-status-sm.s6 .sn { color:#6B7280; }

[data-theme="dark"] .fw-status-sm { background:var(--bg2); }
[data-theme="dark"] .fw-status-sm.aktiv-1 { background:rgba(34,168,74,0.1); }
[data-theme="dark"] .fw-status-sm.aktiv-2 { background:rgba(5,150,105,0.1); }
[data-theme="dark"] .fw-status-sm.aktiv-3 { background:rgba(230,126,0,0.1); }
[data-theme="dark"] .fw-status-sm.aktiv-4 { background:rgba(208,2,27,0.1); }
[data-theme="dark"] .fw-status-sm.aktiv-5 { background:rgba(21,101,192,0.1); }
[data-theme="dark"] .fw-status-sm.aktiv-6 { background:rgba(107,114,128,0.1); }

.fw-fz-meldung-row { display:flex; gap:8px; }
.fw-fz-meldung-row .fw-input { flex:1; padding:10px 12px; font-size:14px; }
.fw-fz-meldung-row button {
  background:var(--rot); border:none; border-radius:8px;
  color:#fff; padding:10px 14px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:14px; font-weight:800; letter-spacing:1px;
  cursor:pointer; flex-shrink:0;
}

/* ── FAHRZEUG STATUS (groß) ── */
.fw-status-grid-big {
  display:grid; grid-template-columns:1fr 1fr 1fr;
  gap:10px; margin-bottom:24px;
}
.fw-status-big {
  padding:18px 10px; border-radius:12px;
  border:3px solid var(--border);
  background:var(--surface); text-align:center;
  cursor:pointer; transition:all 0.15s;
  -webkit-tap-highlight-color:transparent;
  box-shadow:0 2px 6px var(--shadow-s);
}
.fw-status-big:active { transform:scale(0.95); }
.fw-status-big .sn {
  font-family:'Barlow Condensed',sans-serif;
  font-size:36px; font-weight:900; line-height:1;
}
.fw-status-big .st { font-size:10px; color:var(--text3); margin-top:4px; line-height:1.3; font-weight:600; }
.fw-status-big.aktiv { box-shadow:0 4px 16px var(--shadow); }

.fw-status-big.s1.aktiv,.fw-status-big.s1:active { border-color:var(--gruen); background:#F0FDF4; }
.fw-status-big.s1 .sn { color:var(--gruen); }
.fw-status-big.s2.aktiv,.fw-status-big.s2:active { border-color:#059669; background:#ECFDF5; }
.fw-status-big.s2 .sn { color:#059669; }
.fw-status-big.s3.aktiv,.fw-status-big.s3:active { border-color:var(--gold); background:#FFFBEB; }
.fw-status-big.s3 .sn { color:var(--gold); }
.fw-status-big.s4.aktiv,.fw-status-big.s4:active { border-color:var(--rot); background:#FFF1F2; }
.fw-status-big.s4 .sn { color:var(--rot); }
.fw-status-big.s5.aktiv,.fw-status-big.s5:active { border-color:var(--blau); background:#EFF6FF; }
.fw-status-big.s5 .sn { color:var(--blau); }
.fw-status-big.s6.aktiv,.fw-status-big.s6:active { border-color:#6B7280; background:#F9FAFB; }
.fw-status-big.s6 .sn { color:#6B7280; }

[data-theme="dark"] .fw-status-big { background:var(--surface2); }
[data-theme="dark"] .fw-status-big.s1.aktiv { background:rgba(34,168,74,0.12); }
[data-theme="dark"] .fw-status-big.s2.aktiv { background:rgba(5,150,105,0.12); }
[data-theme="dark"] .fw-status-big.s3.aktiv { background:rgba(230,126,0,0.12); }
[data-theme="dark"] .fw-status-big.s4.aktiv { background:rgba(208,2,27,0.12); }
[data-theme="dark"] .fw-status-big.s5.aktiv { background:rgba(21,101,192,0.12); }
[data-theme="dark"] .fw-status-big.s6.aktiv { background:rgba(107,114,128,0.12); }

/* ── BESATZUNG ── */
.fw-bsz-row { display:flex; align-items:center; gap:16px; }
.fw-bsz-val {
  font-family:'Barlow Condensed',sans-serif;
  font-size:52px; font-weight:900;
  min-width:60px; text-align:center; line-height:1;
  color:var(--text);
}
.fw-bsz-btn {
  width:52px; height:52px; border-radius:10px;
  border:2px solid var(--border-s);
  background:var(--surface);
  color:var(--text); font-size:28px; font-weight:300;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:all 0.15s; box-shadow:0 2px 6px var(--shadow-s);
  -webkit-tap-highlight-color:transparent;
}
.fw-bsz-btn:active { transform:scale(0.92); border-color:var(--rot); color:var(--rot); }

/* ── SCHNELLMELDUNGEN ── */
.fw-schnell {
  display:flex; align-items:center;
  width:100%; padding:16px;
  border-radius:10px;
  border:2px solid var(--border);
  background:var(--surface);
  color:var(--text);
  font-family:'Barlow',sans-serif;
  font-size:15px; font-weight:500;
  cursor:pointer; text-align:left;
  margin-bottom:8px; gap:12px;
  transition:all 0.15s;
  box-shadow:0 1px 4px var(--shadow-s);
  -webkit-tap-highlight-color:transparent;
}
.fw-schnell:active { border-color:var(--rot); transform:scale(0.98); }
.fw-schnell .sicon { font-size:22px; flex-shrink:0; }

/* ── KRÄFTE ZEILE (Fahrzeug-App) ── */
.fw-fz-zeile {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px;
  background:var(--surface);
  border:2px solid var(--border);
  border-radius:10px; margin-bottom:8px;
  box-shadow:0 2px 4px var(--shadow-s);
}
.fw-fz-zeile.ich { border-color:var(--rot); }
.fw-fz-zeile-l { display:flex; align-items:center; gap:12px; }
.fw-fz-zeile-kz {
  font-family:'Barlow Condensed',sans-serif;
  font-size:18px; font-weight:800; letter-spacing:1px;
}
.fw-fz-zeile-sub { font-size:12px; color:var(--text3); margin-top:2px; }

/* ── LAGEKARTE TOOLBAR ── */
.fw-lk-toolbar {
  display:flex; gap:6px; flex-wrap:wrap;
  padding:10px 12px;
  background:var(--surface);
  border-bottom:2px solid var(--border);
  flex-shrink:0;
}
.fw-lk-tool {
  padding:8px 12px; border-radius:8px;
  border:2px solid var(--border);
  background:var(--bg);
  color:var(--text2);
  font-family:'Barlow Condensed',sans-serif;
  font-size:13px; font-weight:700; letter-spacing:1px;
  cursor:pointer; transition:all 0.15s;
  -webkit-tap-highlight-color:transparent;
}
.fw-lk-tool:active { transform:scale(0.95); }
.fw-lk-tool.active { border-color:var(--rot); color:var(--rot); background:#FFF1F2; }
.fw-lk-tool.del.active { border-color:#DC2626; color:#DC2626; background:#FEF2F2; }
[data-theme="dark"] .fw-lk-tool.active { background:rgba(208,2,27,0.12); }
[data-theme="dark"] .fw-lk-tool.del.active { background:rgba(220,38,38,0.12); }

/* ── LEAFLET ANPASSUNG ── */
.leaflet-popup-content-wrapper {
  background:var(--surface2) !important;
  color:var(--text) !important;
  border:1px solid var(--border);
  border-radius:10px !important;
  box-shadow:0 4px 20px var(--shadow) !important;
}
.leaflet-popup-tip { background:var(--surface2) !important; }
.leaflet-popup-content { margin:12px 16px !important; font-family:'Barlow',sans-serif; font-size:14px; }
.popup-del {
  background:var(--rot); color:#fff; border:none;
  border-radius:6px; padding:8px 14px; width:100%;
  font-family:'Barlow Condensed',sans-serif;
  font-size:14px; font-weight:800; letter-spacing:1px;
  cursor:pointer; margin-top:8px; display:block;
}

/* ── OVERLAY ── */
.fw-overlay {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,0.75);
  z-index:200; align-items:center; justify-content:center; padding:20px;
}
.fw-overlay.show { display:flex; }

/* ── BEENDEN BAR ── */
.fw-beenden-bar {
  padding:10px 14px;
  background:var(--surface);
  border-top:2px solid var(--border);
  flex-shrink:0;
}

/* ── SECTION LABEL ── */
.fw-section {
  font-family:'Barlow Condensed',sans-serif;
  font-size:12px; font-weight:800;
  letter-spacing:3px; text-transform:uppercase;
  color:var(--text3); margin-bottom:12px;
}

/* ── LAGEKARTE TAB ── */
#tab-lagekarte, #tab-lagekarte-fz {
  padding:0 !important;
  overflow:hidden !important;
  display:none;
  flex-direction:column;
}
#tab-lagekarte.active, #tab-lagekarte-fz.active { display:flex; }
