/* Globale Stile des Prototyps – Tokens, Navigationsleiste, Tabellen, Hilfsklassen.
   Inline-Stile im Template bleiben dort, wo sie zu einem einzelnen Element gehören. */
body{margin:0;background:var(--color-bg);
  --color-accent:#007369;
  --color-accent-100:#E7FDD8;
  --color-accent-200:#cdf3c0;
  --color-accent-300:#9fddb0;
  --color-accent-600:#00655c;
  --color-accent-700:#00564e;
  --color-accent-800:#00433d;
  --color-accent-900:#00302c;
  --color-warn:#C2570D;
  --color-warn-100:#FDEBDA;
  --color-warn-700:#8E3E06;
}
.navbar{background:#7A9593;border-bottom:1px solid rgba(0,0,0,.18);flex-wrap:wrap;row-gap:8px;
  position:sticky;top:0;z-index:50}
.navbar>*{min-width:0}
.navbar .seg-opt,.navbar .tabx,.navbar .n{white-space:nowrap}
.dark .navbar{background:#00403A;border-bottom:1px solid rgba(231,253,216,.18)}
.corner{color:color-mix(in srgb,var(--color-text) 45%,transparent)}
.k{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}
.m{font-size:11.5px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}
.h{font-family:var(--font-heading);letter-spacing:.02em;margin:0}
.n{font-family:var(--font-heading);letter-spacing:.01em}
.hit{cursor:pointer;user-select:none}
.hit:hover{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}
.tabx{cursor:pointer;padding:4px 0;border-bottom:2px solid transparent}
.tabx:hover{color:var(--color-accent)}
.tip{position:relative;display:inline-flex}
.tip>.tipbox{position:absolute;bottom:calc(100% + 5px);left:0;z-index:20;white-space:nowrap;
  padding:3px 7px;font-size:11px;background:var(--color-text);color:var(--color-bg);
  opacity:0;visibility:hidden;transition:opacity .06s linear;pointer-events:none}
.tip:hover>.tipbox{opacity:1;visibility:visible}
.dimrow{opacity:.55}
/* Scrollen bleibt, Balken werden nicht angezeigt */
*{scrollbar-width:none;-ms-overflow-style:none}
*::-webkit-scrollbar{width:0;height:0;display:none}
/* Übersichtlichkeit: lange Auflistungen scrollen im Rahmen, Kopfzeile bleibt stehen */
.scrollbox{overflow:auto;max-height:calc(13 * 46px + 44px)}
.scrollbox .table thead th{position:sticky;top:0;z-index:2;background:var(--color-bg);
  box-shadow:inset 0 -1px 0 var(--color-divider)}
/* Kachelreihen: umbrechen statt horizontal scrollen */
.tiles{display:grid;grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  padding:6px;margin:-6px -6px 0}
.tilecol{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-height:min(72vh,780px);
  overflow-y:auto;padding-right:2px}
.cardstack{display:flex;flex-direction:column;gap:10px;max-height:560px;overflow-y:auto;padding-right:2px}
.table th{cursor:pointer;user-select:none;white-space:nowrap}
.table th:hover{color:var(--color-accent)}
.table th[data-sort]::after{content:" ▾";font-size:9px;color:var(--color-accent)}
.table th[data-sort="asc"]::after{content:" ▴"}
.warnbox{padding:10px 12px;border:1px solid var(--color-warn);background:var(--color-warn-100);
  color:var(--color-warn-700);font-size:12.5px}
.btn-warn{background:var(--color-warn);color:#fff;border:1px solid var(--color-warn)}
.btn-warn:hover{background:var(--color-warn-700);border-color:var(--color-warn-700)}
a{color:var(--color-accent-700)}
a:hover{color:var(--color-accent)}
.dark{
  --color-bg:#151c24;
  --color-surface:#1b232c;
  --color-text:#eceef0;
  --color-divider:rgba(236,238,240,.22);
  --color-accent:#3fa89b;
  --color-accent-100:rgba(231,253,216,.14);
  --color-accent-200:rgba(231,253,216,.22);
  --color-accent-300:rgba(231,253,216,.32);
  --color-accent-600:#57bdaf;
  --color-accent-700:#8fd6c4;
  --color-accent-800:#E7FDD8;
  --color-accent-900:#04211f;
  --color-warn:#E2853D;
  --color-warn-100:rgba(226,133,61,.16);
  --color-warn-700:#F0AC71;
  --color-neutral-100:rgba(236,238,240,.10);
  --color-neutral-800:#dfe3e7;
}
