/* V1.10 Hell-/Dunkelmodus */
:root{--bg:#eef5ee;--card:#fff;--green:#1d5b3a;--green2:#2f7a4e;--line:#d7e2d8;--text:#15251b;--muted:#65756b;--soft:#f7fbf7;--item:#fbfdfb;--shadow:#0001;--input:#fff;--warning-bg:#fff8e6;--warning-line:#f3d38b}
:root[data-theme="dark"]{--bg:#08130d;--card:#102016;--green:#2f9b63;--green2:#45b879;--line:#244531;--text:#edf7ef;--muted:#a7b8ad;--soft:#14291c;--item:#13261b;--shadow:#0007;--input:#0b1811;--warning-bg:#342915;--warning-line:#9f7b28}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Arial,Helvetica,sans-serif;color:var(--text);transition:background .2s,color .2s}.top{background:var(--card);border-bottom:1px solid var(--line);padding:12px 22px;display:flex;gap:20px;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;color:var(--green);font-weight:700}.brand img{height:64px}.brand span{max-width:520px}nav{display:flex;gap:8px;flex-wrap:wrap}nav a,.btn{background:var(--green);color:#fff;text-decoration:none;border:0;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}.on,nav a:hover,.btn:hover{background:var(--green2)}main{max-width:1250px;margin:22px auto;padding:0 18px}.hero,.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 25px var(--shadow);padding:18px;margin-bottom:18px}.grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.weather{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.metric{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:12px}.metric strong{display:block;color:var(--green);font-size:22px}.muted,.small{color:var(--muted);font-size:13px}.search{display:flex;gap:10px}.search input,input,select,textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--input);color:var(--text)}textarea{min-height:90px}.map{height:520px;border-radius:16px;border:1px solid var(--line);overflow:hidden}.forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.list{display:grid;gap:12px}.item{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--item)}footer{max-width:1250px;margin:20px auto;padding:18px}.footgrid{display:flex;gap:14px;flex-wrap:wrap}.footcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;align-items:center;gap:10px}.footcard img{height:54px;max-width:140px;object-fit:contain}.adminbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.danger{background:#9b1c1c}.ok{background:#e7f4ea;color:#1d5b3a;padding:10px;border-radius:10px}@media(max-width:800px){.grid{grid-template-columns:1fr}.top{display:block}.brand img{height:52px}.search,.row{display:block}.search .btn{width:100%;margin-top:8px}}

.version{font-size:12px;opacity:.7;text-align:center;margin-top:14px}
.legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:13px;color:var(--muted)}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:5px;vertical-align:-1px}.dot.red{background:#e53e3e}.dot.amber{background:#b7791f}.dot.green{background:#2f7a4e}.warn{background:var(--warning-bg);border-color:var(--warning-line)}.risk1 strong{color:#2f7a4e}.risk2 strong{color:#5f8d2e}.risk3 strong{color:#b7791f}.risk4 strong{color:#c05621}.risk5 strong{color:#c53030}
.badge{display:inline-block;padding:.25rem .55rem;border-radius:999px;font-size:.82rem;font-weight:700;background:#edf2f7;color:#2d3748}.badge.on{background:#c6f6d5;color:#22543d}.badge.warn{background:#feebc8;color:#7b341e}.badge.off{background:#fed7d7;color:#742a2a}

/* V1.9: Mobile Einsatz-Reihenfolge
   Auf dem Handy stehen die einsatzrelevanten Informationen vor der Karte. */
@media(max-width:800px){
  main{display:flex;flex-direction:column;}
  .home-grid,.info-grid,.forms{display:contents;}
  .weather-card{order:10;}
  .warn-card{order:11;}
  .reports-card{order:20;}
  .ops-list-card{order:30;}
  .field-form-card{order:40;}
  .ops-form-card{order:50;}
  .map-card{order:60;}
  .hotspots-card{order:70;}
  .regional-sources-card{order:80;}
  .map{height:420px;}
}


/* V1.10 Theme-Feinschliff */
.theme-toggle{background:transparent;color:var(--green);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}
.theme-toggle:hover{background:var(--soft)}
a{color:var(--green)}
:root[data-theme="dark"] nav a,:root[data-theme="dark"] .btn{color:#041008}
:root[data-theme="dark"] .theme-toggle{color:var(--text);background:var(--soft)}
:root[data-theme="dark"] .leaflet-container{background:#1b2b22}
:root[data-theme="dark"] .leaflet-control, :root[data-theme="dark"] .leaflet-popup-content-wrapper, :root[data-theme="dark"] .leaflet-popup-tip{filter:none;background:#102016;color:#edf7ef}
:root[data-theme="dark"] input, :root[data-theme="dark"] select, :root[data-theme="dark"] textarea{color:var(--text);background:var(--input)}
:root[data-theme="dark"] input::placeholder, :root[data-theme="dark"] textarea::placeholder{color:#87998d}
@media(max-width:800px){.theme-toggle{width:100%;margin-top:8px}.top nav{margin-top:10px}}

/* V1.14: Mehrdeutige Ortssuche mit Auswahl */
.search-input-wrap{position:relative;width:100%}
.suggestions{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:50;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px var(--shadow);overflow:hidden;max-height:340px;overflow-y:auto}
.suggestion{display:block;width:100%;text-align:left;background:var(--card);color:var(--text);border:0;border-bottom:1px solid var(--line);padding:12px;cursor:pointer}
.suggestion:hover{background:var(--soft)}
.suggestion strong{display:block;color:var(--green);font-size:14px}
.suggestion small{display:block;color:var(--muted);margin-top:3px}
.suggestion:last-child{border-bottom:0}
@media(max-width:800px){.suggestions{position:static;margin-top:8px}.search-input-wrap{width:100%}}
