:root {
  /* Graphit-Basis (dunkel) */
  --bg:#0e1410; --surface:#161d18; --surface-2:#1c2620; --surface-3:#233028;
  --border:#2c3d30; --border-soft:#223028;
  --text:#d8e8d2; --text-dim:#7a9478; --text-faint:#485c44;
  /* Akzente */
  --olive:#8aab5e; --olive-soft:#5c7a40; --olive-bg:rgba(138,171,94,.09);
  --amber:#d4923c; --amber-bg:rgba(212,146,60,.10);
  --purple:#9b7fd4; --purple-bg:rgba(155,127,212,.09);
  --info:#5aaec4; --info-bg:rgba(90,174,196,.09);
  --danger:#cc5566; --danger-bg:rgba(204,85,102,.09);
  --brown:#a97142; --brown-bg:rgba(169,113,66,.14);
  /* Modulunabhängiges "erledigt/positiv"-Grün -- --accent ist je Modul eingefärbt
     (z.B. Crimson bei KvK-Map) und deshalb für Erfolgsmeldungen ungeeignet.
     Referenziert --zone-green, das schon pro Theme (hell/dunkel) definiert ist. */
  --ok:var(--zone-green);
  --crimson:#b23a52; --crimson-bg:rgba(178,58,82,.10);
  /* KvK-Map: 5 gedeckte Markierungsfarben für Städte/Schloss/Türme (bewusst
     entsättigt, kein Neon -- passt zur erdigen Gesamtpalette). */
  --zone-red:#a5605e; --zone-blue:#5d7ea8; --zone-green:#6f8f5f; --zone-orange:#ab8354; --zone-purple:#8a7aa3;
  /* Unfarbige Städte: bewusst farbstichfrei (kein Grün-, kein Rotanteil wie
     --surface-3/--text-faint bzw. --crimson), damit "keine Farbe" nicht mit
     einer der 5 Markierungsfarben verwechselt wird. */
  --ash:#87867e; --ash-ink:#d4d3cc;
  /* Turm-Steinfarbe (Wehrturm-Symbol) */
  --stone:#9a958a; --stone-dark:#6e6a5f;
  /* Modul-Akzent (wird je Seite gesetzt: body.mod-prep/-transfer/-hive/-kvkmap) */
  --accent:var(--olive); --accent-bg:var(--olive-bg);
  /* Form */
  --r:10px; --r-sm:6px; --shadow:0 2px 8px rgba(0,0,0,.25);
  --tap:38px;                     /* Mindest-Touch-Ziel (kompakt, siehe bottom-nav-Praezedenzfall) */
}
@media (prefers-color-scheme: light){ :root{
  --bg:#edeee8; --surface:#f9faf5; --surface-2:#eef0e8; --surface-3:#e5e8dd;
  --border:#cdd5c4; --border-soft:#d8ddd0;
  --text:#1a2616; --text-dim:#546050; --text-faint:#8a9880;
  --olive:#4e7530; --olive-soft:#3d5c25; --olive-bg:rgba(78,117,48,.08);
  --amber:#9a6020; --amber-bg:rgba(154,96,32,.09);
  --purple:#6a4fb0; --purple-bg:rgba(106,79,176,.08);
  --info:#2878a0; --danger:#b03040; --brown:#8a5a2e; --brown-bg:rgba(138,90,46,.10);
  --crimson:#8c2b41; --crimson-bg:rgba(140,43,65,.08);
  --zone-red:#8a4a48; --zone-blue:#45647f; --zone-green:#4f6b40; --zone-orange:#8a6234; --zone-purple:#6a5a84;
  --ash:#68675f; --ash-ink:#252420;
  --stone:#78766c; --stone-dark:#524f45;
}}
:root[data-theme="light"]{
  --bg:#edeee8; --surface:#f9faf5; --surface-2:#eef0e8; --surface-3:#e5e8dd;
  --border:#cdd5c4; --border-soft:#d8ddd0;
  --text:#1a2616; --text-dim:#546050; --text-faint:#8a9880;
  --olive:#4e7530; --olive-soft:#3d5c25; --olive-bg:rgba(78,117,48,.08);
  --amber:#9a6020; --amber-bg:rgba(154,96,32,.09);
  --purple:#6a4fb0; --purple-bg:rgba(106,79,176,.08);
  --info:#2878a0; --danger:#b03040; --brown:#8a5a2e; --brown-bg:rgba(138,90,46,.10);
  --crimson:#8c2b41; --crimson-bg:rgba(140,43,65,.08);
  --zone-red:#8a4a48; --zone-blue:#45647f; --zone-green:#4f6b40; --zone-orange:#8a6234; --zone-purple:#6a5a84;
  --ash:#68675f; --ash-ink:#252420;
  --stone:#78766c; --stone-dark:#524f45;
}
:root[data-theme="dark"]{
  --bg:#0e1410; --surface:#161d18; --surface-2:#1c2620; --surface-3:#233028;
  --border:#2c3d30; --border-soft:#223028;
  --text:#d8e8d2; --text-dim:#7a9478; --text-faint:#485c44;
  --olive:#8aab5e; --olive-soft:#5c7a40; --olive-bg:rgba(138,171,94,.09);
  --amber:#d4923c; --amber-bg:rgba(212,146,60,.10);
  --purple:#9b7fd4; --purple-bg:rgba(155,127,212,.09);
  --info:#5aaec4; --danger:#cc5566; --brown:#a97142; --brown-bg:rgba(169,113,66,.14);
  --crimson:#b23a52; --crimson-bg:rgba(178,58,82,.10);
  --zone-red:#a5605e; --zone-blue:#5d7ea8; --zone-green:#6f8f5f; --zone-orange:#ab8354; --zone-purple:#8a7aa3;
  --ash:#87867e; --ash-ink:#d4d3cc;
  --stone:#9a958a; --stone-dark:#6e6a5f;
}

body.mod-prep     { --accent:var(--olive);   --accent-bg:var(--olive-bg); }
body.mod-transfer { --accent:var(--amber);   --accent-bg:var(--amber-bg); }
body.mod-hive     { --accent:var(--purple);  --accent-bg:var(--purple-bg); }
body.mod-kvkmap   { --accent:var(--crimson); --accent-bg:var(--crimson-bg); }
