/* ═══════════════════════════════════════════════════════════════════════════
   Admin-Center (Verwaltung) — Übersicht-Kacheln + Sektions-Chrome
   Namespace: .adm-*  ·  Tabs nutzen das kanonische .vi-tabs/.vi-tab (ui-standard.css)
   Reuse: .page-header/.page-title/.page-subtitle (Kopf), .set-*/.brand-*/.ho-* (Inhalte)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Sektions-Chrome ───────────────────────────────────────────────────────── */
.adm-shell { max-width: 1180px; }
.adm-tabbar { margin: 4px 0 20px; }
.adm-tabbody { min-height: 120px; }

/* Planned-Tab im kanonischen Tabstreifen (deaktiviert + „geplant"-Pille) */
.adm-shell .vi-tab.is-planned { opacity: .55; cursor: not-allowed; }
.adm-shell .vi-tab.is-planned:hover { background: transparent; }
.adm-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(258px, 1fr));
  gap: 16px;
  align-items: stretch;
}
.adm-tile {
  display: flex; flex-direction: column; text-align: left;
  background: var(--bg-secondary, #fff);
  border: 1px solid var(--border-light, #D8DFDC);
  border-radius: var(--radius-lg, 12px);
  padding: 18px 18px 16px;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, transform .12s ease;
  font: inherit; color: inherit;
  position: relative;
  /* <button> erbt sonst white-space:nowrap aus dem globalen Reset → Text läuft über. */
  white-space: normal; min-width: 0; overflow: hidden;
}
.adm-tile:hover {
  border-color: var(--brand-primary, var(--vi-green, #147352));
  box-shadow: 0 6px 18px rgba(20, 50, 30, .08);
  transform: translateY(-1px);
}
.adm-tile:focus-visible { outline: 2px solid var(--brand-primary, #147352); outline-offset: 2px; }
.adm-tile-ic {
  width: 40px; height: 40px; border-radius: var(--radius-lg);
  display: flex; align-items: center; justify-content: center;
  background: var(--brand-bg-soft, var(--vi-green-soft, #EDF7F2));
  color: var(--brand-primary, var(--vi-green, #147352));
  margin-bottom: 12px;
}
.adm-tile-ic svg { width: 22px; height: 22px; }
.adm-tile-title { font-size: var(--text-base); font-weight: 700; color: var(--text-primary, #263029); margin: 0; white-space: normal; overflow-wrap: anywhere; }
.adm-tile-desc { font-size: var(--text-xs); line-height: 1.5; color: var(--text-secondary, #3A4441); margin: 6px 0 0; flex: 1; white-space: normal; overflow-wrap: anywhere; }
.adm-tile-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 14px; }
.adm-tile-status { flex: 1; min-width: 0; font-size: var(--text-xs); font-weight: 600; color: var(--text-muted, #5F6B66); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-tile-status.is-warn { color: var(--color-gold-strong, #B0791E); }
.adm-tile-arrow { flex: none; color: var(--text-muted, #B7B0A2); display: inline-flex; }
.adm-tile-arrow svg { width: 18px; height: 18px; }
.adm-tile:hover .adm-tile-arrow { color: var(--brand-primary, #147352); }

/* Superadmin-Kachel (Betreiber) optisch absetzen */
.adm-tile-operator { border-style: dashed; }

/* ── Karten / Referenz-Panels (Rollen, Rechte, Integration, Allgemein) ─────── */
.adm-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.adm-card {
  background: var(--bg-secondary, #fff);
  border: 1px solid var(--border-light, #D8DFDC);
  border-radius: var(--radius-lg, 10px);
  padding: 16px;
}
.adm-card-h { display: flex; align-items: center; gap: 8px; font-size: var(--text-md); font-weight: 700; color: var(--text-primary, #263029); margin: 0 0 4px; }
.adm-card-sub { font-size: var(--text-xs); line-height: 1.55; color: var(--text-secondary, #3A4441); margin: 0; }
.adm-card .adm-card-pill { margin-left: auto; }

.adm-note { font-size: var(--text-xs); color: var(--text-muted, #5F6B66); line-height: 1.55; margin: 0 0 16px; max-width: 720px; }
.adm-note a { color: var(--brand-primary, #147352); font-weight: 600; cursor: pointer; }

/* Rollen-/Rechte-Listen */
.adm-role-row { display: flex; gap: 10px; align-items: flex-start; padding: 10px 0; border-top: 1px solid var(--border-light, #EFEBE1); }
.adm-role-row:first-of-type { border-top: 0; }
.adm-role-name { min-width: 130px; font-weight: 700; font-size: var(--text-sm); color: var(--text-primary, #263029); display: flex; align-items: center; gap: 8px; }
.adm-role-hint { font-size: var(--text-xs); color: var(--text-secondary, #3A4441); line-height: 1.5; }
.adm-right-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px 16px; margin-top: 6px; }
.adm-right-item { display: flex; gap: 8px; align-items: center; font-size: var(--text-sm); color: var(--text-primary, #263029); }
.adm-right-item svg { width: 16px; height: 16px; color: var(--brand-primary, #147352); flex: none; }

/* „geplant"-Leerzustand für noch nicht gebaute Bereiche */
.adm-soon {
  border: 1px dashed var(--border, #D8D2C4); border-radius: var(--radius-lg, 10px);
  padding: 22px; text-align: center; color: var(--text-muted, #5F6B66);
}
.adm-soon-title { font-weight: 700; font-size: var(--text-md); color: var(--text-secondary, #3A4441); }
.adm-soon-pill { display: inline-block; margin-bottom: 8px; font-size: var(--text-xxs); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 2px 8px; border-radius: var(--radius-pill); background: var(--gray-200, #EFEBE1); color: var(--gray-600, #5F6B66); }
.adm-soon-sub { font-size: var(--text-xs); margin-top: 6px; line-height: 1.5; }

/* ── Audit-Log (read-only Nachweis-Protokoll) ── */
.adm-audit-filter { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 14px; }
.adm-inp {
  height: 32px; padding: 0 10px; border: 1px solid var(--border, #D8D2C4); border-radius: var(--radius-md);
  background: var(--surface, #fff); color: var(--text-primary, #263029); font: inherit; font-size: var(--text-sm);
}
.adm-inp:focus { outline: none; border-color: var(--brand-primary, #147352); box-shadow: 0 0 0 3px var(--brand-bg-soft, rgba(61,107,79,.12)); }
.adm-audit-lbl { display: inline-flex; align-items: center; gap: 6px; font-size: var(--text-xs); color: var(--text-secondary, #3A4441); }
.adm-table-wrap { overflow-x: auto; border: 1px solid var(--border-light, #EFEBE1); border-radius: var(--radius-lg); }
.adm-audit-table { border-collapse: collapse; width: 100%; min-width: 640px; font-size: var(--text-xs); }
.adm-audit-table thead th {
  text-align: left; font-size: var(--text-xxs); letter-spacing: .06em; text-transform: uppercase; font-weight: 700;
  color: var(--text-muted, #5F6B66); padding: 9px 12px; background: var(--surface-2, #FBF9F3);
  border-bottom: 1px solid var(--border, #D8D2C4); white-space: nowrap;
}
.adm-audit-table tbody td { padding: 9px 12px; border-bottom: 1px solid var(--border-light, #EFEBE1); color: var(--text-primary, #263029); vertical-align: top; }
.adm-audit-table tbody tr:last-child td { border-bottom: 0; }
.adm-audit-ts { white-space: nowrap; font-family: var(--font-mono, ui-monospace, monospace); color: var(--text-secondary, #3A4441); }
.adm-audit-act { font-family: var(--font-mono, ui-monospace, monospace); font-size: var(--text-xxs); padding: 1px 7px; border-radius: var(--radius-sm); background: var(--brand-bg-soft, #E4EEE7); color: var(--brand-primary, #147352); white-space: nowrap; }
.adm-audit-detail { color: var(--text-secondary, #3A4441); }
.adm-audit-pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; font-size: var(--text-xs); color: var(--text-muted, #5F6B66); flex-wrap: wrap; }
.adm-audit-pgbtns { display: flex; gap: 8px; }

@media (max-width: 900px) {
  .adm-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .adm-grid, .adm-cards, .adm-right-grid { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════════════════════════════════════════════
   ADMINISTRATION v9 (31.07.2026) — eigenständige Einstellungs-App (Windows-11-Stil)
   Drei Ebenen: Übersicht → Kategorie (Karten) → Einstellungsseite. Linke Nav = nur
   Hauptkategorien. Namespace: .adm2-*  ·  Renderer: public/admin.js
   Auch für die persönliche Seite (#page-profil, .adm2-body.is-solo) verwendet.
   ════════════════════════════════════════════════════════════════════════════ */
.adm2 { display: flex; flex-direction: column; gap: 0; max-width: 1180px; }
.adm2.is-wide { max-width: none; }

/* ── Kopf: Titel + große Suche ─────────────────────────────────────────────── */
.adm2-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-5, 20px);
  padding-bottom: var(--space-4, 16px); margin-bottom: var(--space-5, 20px);
  border-bottom: 1px solid var(--gray-200, #E7E3DA); flex-wrap: wrap;
}
.adm2-head-main { min-width: 0; }
.adm2-title { margin: 0; font-size: var(--text-2xl, 26px); font-weight: var(--fw-semibold, 600); color: var(--color-forest, #0F5C42); letter-spacing: -0.015em; line-height: 1.15; }
.adm2-sub { margin: 5px 0 0; font-size: var(--text-sm, 14px); color: var(--gray-600, #6B655B); }
.adm2-search { position: relative; flex: 0 1 auto; width: min(420px, 100%); }
.adm2-search-ic { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--gray-500, #5F6B66); pointer-events: none; }
.adm2-search-input {
  width: 100%; height: 44px; padding: 0 14px 0 40px;
  border: 1px solid var(--gray-300, #D8DFDC); border-radius: var(--radius-lg, 12px);
  background: var(--color-surface, #fff); color: var(--gray-900, #141A17);
  font-family: inherit; font-size: var(--text-base, 15px);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.adm2-search-input::placeholder { color: var(--gray-500, #9A9384); }
.adm2-search-input:focus { outline: none; border-color: var(--color-sage, #4E7C5B); box-shadow: 0 0 0 3px var(--color-sage-soft, #EDF7F2); }

/* ── Rumpf: linke Kategorie-Nav + Inhalt ───────────────────────────────────── */
.adm2-body {
  display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: var(--space-6, 28px);
  align-items: start; transition: grid-template-columns .2s ease, gap .2s ease;
}
.adm2-body.is-solo { grid-template-columns: minmax(0, 1fr); max-width: 860px; }

/* Linke Navigation = NUR Hauptkategorien. Eigene Ausrichtung ist wichtig, weil
   die globale Button-Basis Inhalte standardmäßig zentriert. */
.adm2-nav {
  position: sticky; top: 8px; display: flex; flex-direction: column; gap: 4px;
  padding: 8px; border: 1px solid var(--gray-200, #E7E3DA);
  border-radius: var(--radius-xl, 16px); background: var(--color-surface, #fff);
  box-shadow: 0 1px 2px rgba(26, 48, 37, .04), 0 10px 28px rgba(26, 48, 37, .045);
  box-sizing: border-box; min-width: 0;
}
.adm2-wide-toggle {
  display: flex; align-items: center; justify-content: flex-start; gap: 9px;
  width: 100%; min-height: 36px; padding: 6px 9px; box-sizing: border-box;
  border: 1px solid transparent; border-radius: var(--radius-md, 10px);
  background: transparent; color: var(--gray-600, #6B655B); cursor: pointer;
  font-family: inherit; font-size: var(--text-xs, 12.5px); font-weight: var(--fw-medium, 500);
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.adm2-wide-toggle:hover { background: var(--gray-100, #F3F0E9); border-color: var(--gray-200, #E7E3DA); color: var(--color-forest, #0F5C42); }
.adm2-wide-toggle:focus-visible { outline: none; box-shadow: var(--focus-ring, 0 0 0 2px #4E7C5B); }
.adm2-wide-toggle-ic { width: 20px; height: 20px; flex: 0 0 auto; transition: transform .2s ease; }
.adm2-wide-toggle-label { min-width: 0; text-align: left; }
.adm2-nav-home, .adm2-nav-cat {
  display: flex; align-items: center; justify-content: flex-start; gap: 10px;
  width: 100%; min-height: 44px; padding: 6px 10px;
  border: 1px solid transparent; background: transparent; border-radius: var(--radius-md, 10px);
  font-family: inherit; font-size: var(--text-sm, 14px); font-weight: var(--fw-medium, 500);
  line-height: 1.35; color: var(--gray-800, #3B372F); text-align: left; cursor: pointer;
  position: relative; box-sizing: border-box; white-space: normal; overflow-wrap: anywhere;
  transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.adm2-nav-cat { color: var(--gray-700, #3A4441); }
.adm2-nav-home > span, .adm2-nav-cat > span { flex: 1 1 auto; min-width: 0; text-align: left; }
.adm2-nav-home:hover, .adm2-nav-cat:hover {
  background: var(--gray-100, #F3F0E9); border-color: var(--gray-200, #E7E3DA);
  color: var(--gray-900, #141A17); transform: translateX(1px);
}
.adm2-nav-home.is-active, .adm2-nav-cat.is-active {
  background: var(--color-sage-soft, #EDF7F2); border-color: rgba(78, 124, 91, .18);
  color: var(--color-forest, #0F5C42); font-weight: var(--fw-semibold, 600);
  box-shadow: 0 1px 2px rgba(26, 48, 37, .06);
}
.adm2-nav-home.is-active::before, .adm2-nav-cat.is-active::before {
  content: ''; position: absolute; left: -1px; top: 10px; bottom: 10px;
  width: 3px; border-radius: 0 3px 3px 0; background: var(--color-forest, #0F5C42);
}
.adm2-nav-home:focus-visible, .adm2-nav-cat:focus-visible {
  outline: none; box-shadow: var(--focus-ring, 0 0 0 2px #4E7C5B); z-index: 1;
}
.adm2-nav-ic {
  width: 30px; height: 30px; padding: 6px; flex: 0 0 auto; box-sizing: border-box;
  border-radius: var(--radius-md); background: var(--gray-100, #F3F0E9); color: var(--gray-600, #6B655B);
  opacity: 1; transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.adm2-nav-home:hover .adm2-nav-ic, .adm2-nav-cat:hover .adm2-nav-ic {
  background: var(--color-surface, #fff); color: var(--color-forest, #0F5C42);
}
.adm2-nav-home.is-active .adm2-nav-ic, .adm2-nav-cat.is-active .adm2-nav-ic {
  background: var(--color-surface, #fff); color: var(--color-forest, #0F5C42);
  box-shadow: 0 1px 3px rgba(26, 48, 37, .10);
}
.adm2-nav-sep { height: 1px; margin: 4px 8px; background: var(--gray-200, #E7E3DA); }

/* Breite Detailansicht: Navigation bleibt als Icon-Leiste vollständig erreichbar,
   der Inhalt gewinnt jedoch fast 190 px plus die bisherige Max-Width-Reserve. */
.adm2-body.is-nav-compact { grid-template-columns: 60px minmax(0, 1fr); gap: var(--space-4, 16px); }
.adm2-body.is-nav-compact .adm2-nav { padding: 6px; align-items: center; }
.adm2-body.is-nav-compact .adm2-nav-home,
.adm2-body.is-nav-compact .adm2-nav-cat {
  width: 46px; min-height: 46px; padding: 7px; gap: 0; justify-content: center;
}
.adm2-body.is-nav-compact .adm2-nav-text,
.adm2-body.is-nav-compact .adm2-wide-toggle-label {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.adm2-body.is-nav-compact .adm2-nav-ic { width: 30px; height: 30px; padding: 6px; }
.adm2-body.is-nav-compact .adm2-wide-toggle { width: 46px; min-height: 40px; padding: 8px; justify-content: center; }
.adm2-body.is-nav-compact .adm2-wide-toggle-ic { transform: rotate(180deg); }
.adm2-body.is-nav-compact .adm2-nav-sep { width: 32px; margin: 4px auto; }

/* Inhaltsbereich */
.adm2-content { min-width: 0; }

/* ── Ebene 1: Übersicht ────────────────────────────────────────────────────── */
.adm2-sec-h { font-size: var(--text-xs, 12px); font-weight: var(--fw-semibold, 600); text-transform: uppercase; letter-spacing: .04em; color: var(--gray-500, #5F6B66); margin: 0 0 10px; }
.adm2-recent { margin-bottom: var(--space-6, 24px); }
.adm2-recent-row { display: flex; flex-wrap: wrap; gap: 8px; }
.adm2-chip {
  display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 14px;
  border: 1px solid var(--gray-200, #E7E3DA); border-radius: var(--radius-pill); background: var(--color-surface, #fff);
  font-family: inherit; font-size: var(--text-sm, 13.5px); font-weight: var(--fw-medium, 500);
  color: var(--gray-800, #3B372F); cursor: pointer; white-space: nowrap; max-width: 100%;
  transition: border-color .14s ease, background .14s ease;
}
.adm2-chip:hover { border-color: var(--color-sage, #4E7C5B); background: var(--color-sage-soft, #EDF7F2); }
.adm2-chip:focus-visible { outline: none; box-shadow: var(--focus-ring, 0 0 0 2px #4E7C5B); }
.adm2-chip-ic { width: 16px; height: 16px; flex: 0 0 auto; color: var(--color-forest, #0F5C42); opacity: .85; }
.adm2-chip span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

.adm2-cat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(304px, 1fr)); gap: var(--space-4, 16px); }
.adm2-cat-card {
  display: flex; align-items: center; gap: 16px; min-width: 0; padding: 18px 16px 18px 18px; text-align: left;
  border: 1px solid var(--gray-200, #E7E3DA); border-radius: var(--radius-xl); background: var(--color-surface, #fff);
  cursor: pointer; font: inherit; color: inherit; white-space: normal; overflow: hidden;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.adm2-cat-card:hover { border-color: var(--color-sage, #4E7C5B); box-shadow: 0 8px 24px rgba(26, 48, 37, .10); transform: translateY(-2px); }
.adm2-cat-card:focus-visible { outline: none; box-shadow: var(--focus-ring, 0 0 0 2px #4E7C5B); }
.adm2-cat-ic {
  flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: var(--radius-lg);
  background: var(--color-sage-soft, #EDF7F2); color: var(--color-forest, #0F5C42);
}
.adm2-cat-ic svg { width: 24px; height: 24px; }
.adm2-cat-txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.adm2-cat-title { font-size: var(--text-base, 16px); font-weight: var(--fw-semibold, 600); color: var(--gray-900, #141A17); line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm2-cat-desc {
  font-size: var(--text-sm, 13px); color: var(--gray-600, #6B655B); line-height: 1.45; min-width: 0;
  overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.adm2-cat-meta { margin-top: 4px; font-size: var(--text-xs, 12px); color: var(--gray-500, #5F6B66); font-variant-numeric: tabular-nums; }
.adm2-cat-arr { flex: 0 0 auto; width: 20px; height: 20px; color: var(--gray-400, #B7B1A6); align-self: center; transition: transform .16s ease, color .16s ease; }
.adm2-cat-card:hover .adm2-cat-arr { color: var(--color-sage, #4E7C5B); transform: translateX(2px); }

/* ── Ebene 2: Kategorie — Karten je Unterseite ─────────────────────────────── */
.adm2-item-head { margin-bottom: var(--space-5, 20px); }
.adm2-item-title { margin: 0; font-size: var(--text-xl, 21px); font-weight: var(--fw-semibold, 600); color: var(--color-forest, #0F5C42); letter-spacing: -0.01em; }
.adm2-item-desc { margin: 5px 0 0; font-size: var(--text-sm, 14px); color: var(--gray-600, #6B655B); max-width: 720px; line-height: 1.5; }
.adm2-back {
  display: inline-flex; align-items: center; gap: 6px; margin: 0 0 12px; padding: 5px 12px 5px 8px;
  border: 1px solid var(--gray-200, #E7E3DA); border-radius: var(--radius-pill); background: var(--color-surface, #fff);
  font-family: inherit; font-size: var(--text-sm, 13px); font-weight: var(--fw-medium, 500);
  color: var(--gray-700, #3A4441); cursor: pointer; transition: border-color .14s ease, color .14s ease, background .14s ease;
}
.adm2-back:hover { border-color: var(--color-sage, #4E7C5B); color: var(--color-forest, #0F5C42); background: var(--color-sage-soft, #EDF7F2); }
.adm2-back:focus-visible { outline: none; box-shadow: var(--focus-ring, 0 0 0 2px #4E7C5B); }

.adm2-sub-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--space-3, 14px); }
.adm2-sub-card {
  display: flex; align-items: center; gap: 14px; min-width: 0; padding: 16px 16px; text-align: left;
  border: 1px solid var(--gray-200, #E7E3DA); border-radius: var(--radius-xl); background: var(--color-surface, #fff);
  cursor: pointer; font: inherit; color: inherit; white-space: normal; overflow: hidden;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.adm2-sub-card:hover { border-color: var(--color-sage, #4E7C5B); box-shadow: 0 6px 18px rgba(26, 48, 37, .09); transform: translateY(-1px); }
.adm2-sub-card:focus-visible { outline: none; box-shadow: var(--focus-ring, 0 0 0 2px #4E7C5B); }
.adm2-sub-card.is-planned { background: var(--gray-50, #FBF9F3); border-style: dashed; }
.adm2-sub-card.is-planned:hover { transform: none; box-shadow: none; border-color: var(--gray-300, #D8DFDC); }
.adm2-sub-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.adm2-sub-title { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: var(--text-base, 15px); font-weight: var(--fw-semibold, 600); color: var(--gray-900, #141A17); line-height: 1.3; }
.adm2-sub-desc { font-size: var(--text-sm, 13px); color: var(--gray-600, #6B655B); line-height: 1.45; min-width: 0; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.adm2-sub-arr { flex: 0 0 auto; width: 18px; height: 18px; color: var(--gray-400, #B7B1A6); align-self: center; transition: transform .16s ease, color .16s ease; }
.adm2-sub-card:hover .adm2-sub-arr { color: var(--color-sage, #4E7C5B); transform: translateX(2px); }

/* „geplant"-Pille */
.adm2-soon-badge {
  flex: 0 0 auto; font-size: var(--text-2xs, 10px); font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  padding: 2px 7px; border-radius: var(--radius-pill); background: var(--gray-200, #E5EAE8); color: var(--gray-600, #6B655B);
}

/* ── Ebene 3: Detail + „in Vorbereitung"-Platzhalter ───────────────────────── */
.adm2-item-body { min-width: 0; }
.adm2-soon {
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px;
  border: 1px dashed var(--gray-300, #D8D2C4); border-radius: var(--radius-lg, 14px);
  padding: 40px 24px; color: var(--gray-500, #5F6B66);
}
.adm2-soon-ic { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: var(--radius-xl); background: var(--gray-100, #F3F0E9); color: var(--gray-500, #5F6B66); margin-bottom: 4px; }
.adm2-soon-ic svg { width: 24px; height: 24px; }
.adm2-soon-t { font-size: var(--text-base, 15px); font-weight: var(--fw-semibold, 600); color: var(--gray-700, #3A4441); }
.adm2-soon-s { font-size: var(--text-sm, 13px); line-height: 1.5; max-width: 460px; }

.adm2-empty { padding: 40px 24px; text-align: center; color: var(--gray-500, #5F6B66); font-size: var(--text-sm, 14px); border: 1px dashed var(--gray-300, #D8D2C4); border-radius: var(--radius-lg, 14px); }
.adm2-empty-hint { margin-top: 8px; font-size: var(--text-xs, 12.5px); color: var(--gray-500, #9A9384); }

/* ── Suchergebnisse ────────────────────────────────────────────────────────── */
/* ── Suchergebnisse (Block 3, §11) ───────────────────────────────────────────
   EINE Fläche mit Zeilen statt einzeln schwebender Knöpfe. Je Treffer:
   Kategorie-Symbol · Titel · Pfad · kurze Beschreibung — in dieser Rangfolge,
   damit auf einen Blick klar ist, WAS gefunden wurde und WO es liegt. */
.adm2-sr-list {
  border: 1px solid var(--gray-300, #D8DFDC); border-radius: var(--radius-lg, 12px);
  background: var(--color-surface, #fff); overflow: hidden;
}
.adm2-sr-group + .adm2-sr-group { border-top: 1px solid var(--gray-300, #D8DFDC); }
.adm2-sr-cat {
  font-size: var(--text-xs, 12px); font-weight: var(--fw-semibold, 600);
  text-transform: none; letter-spacing: normal; color: var(--gray-500, #5F6B66);
  padding: var(--space-2, 8px) var(--space-4, 16px);
  background: var(--table-head-bg, var(--gray-50, #F6F9F8));
  border-bottom: 1px solid var(--gray-200, #E5EAE8);
}
.adm2-sr-hit {
  display: grid; grid-template-columns: 28px minmax(0, 1fr) 14px; align-items: start;
  gap: var(--space-3, 12px); width: 100%;
  padding: var(--space-3, 12px) var(--space-4, 16px);
  border: 0; border-bottom: 1px solid var(--gray-200, #E5EAE8);
  background: transparent; text-align: left; cursor: pointer;
  transition: background .13s ease;
}
.adm2-sr-group .adm2-sr-hit:last-child { border-bottom: 0; }
.adm2-sr-hit:hover { background: var(--table-row-hover, var(--gray-100, #EFF2F1)); }
.adm2-sr-hit:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--brand-primary, #147352); }
.adm2-sr-ic { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px;
  border-radius: var(--radius-sm, 6px); background: var(--gray-100, #EFF2F1); color: var(--gray-500, #5F6B66); }
.adm2-sr-ic svg { width: 16px; height: 16px; }
.adm2-sr-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.adm2-sr-title { font-size: var(--text-md, 14px); font-weight: var(--fw-semibold, 600); color: var(--gray-900, #141A17); }
.adm2-sr-path { font-size: var(--text-xs, 12px); color: var(--gray-500, #5F6B66); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm2-sr-sep { color: var(--gray-400, #B7B1A6); }
.adm2-sr-desc {
  font-size: var(--text-sm, 13px); color: var(--gray-700, #3A4441); line-height: var(--lh-snug, 1.35);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.adm2-sr-go { align-self: center; color: var(--gray-400, #B7B1A6); font-size: var(--text-lg, 17px); line-height: 1; }
.adm2-sr-hit:hover .adm2-sr-go { color: var(--gray-700, #3A4441); }
.adm2-sr-hit mark { background: var(--color-gold-soft, #F6E7C8); color: inherit; border-radius: 3px; padding: 0 2px; }

/* ── Mein Profil ───────────────────────────────────────────────────────────── */
.adm2-pf-row { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--gray-100, #F3F0E9); }
.adm2-pf-row:last-of-type { border-bottom: 0; }
.adm2-pf-l { flex: 0 0 140px; color: var(--gray-600, #6B655B); font-size: var(--text-sm, 14px); }
.adm2-pf-v { min-width: 0; overflow-wrap: anywhere; color: var(--gray-900, #141A17); font-size: var(--text-sm, 14px); font-weight: var(--fw-medium, 500); }
.adm2-pf-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: var(--space-4, 16px); }
.adm2-pf-actions--flush { margin-top: 0; }

/* Nur für Screenreader (aria-live-Status) */
.adm2-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Tastaturfokus im Windows-Kontrastmodus / forced-colors: box-shadow wird dort nicht
   gemalt → echten Outline-Fallback erzwingen, damit der Fokus sichtbar bleibt. */
@media (forced-colors: active) {
  .adm2-nav-home:focus-visible, .adm2-nav-cat:focus-visible, .adm2-chip:focus-visible,
  .adm2-cat-card:focus-visible, .adm2-sub-card:focus-visible, .adm2-back:focus-visible,
  .adm2-sr-hit:focus-visible, .adm2-search-input:focus, .adm2-item-title:focus-visible {
    outline: 2px solid CanvasText; outline-offset: 2px;
  }
}

/* Hilfe-Seite: Versionszeile */
.hilfe-ver { margin-top: var(--space-5, 20px); font-size: var(--text-xs, 12px); color: var(--gray-500, #5F6B66); }

/* ── Responsive: Nav über den Inhalt (Tablet/schmal) ───────────────────────── */
@media (max-width: 1023px) {
  .adm2-body { grid-template-columns: minmax(0, 1fr); }
  .adm2-body.is-nav-compact { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .adm2-nav {
    position: static; flex-direction: row; flex-wrap: wrap; gap: 6px;
    padding: 0 0 var(--space-3, 12px); margin-bottom: var(--space-4, 16px);
    border: 0; border-bottom: 1px solid var(--gray-200, #E7E3DA); border-radius: 0;
    background: transparent; box-shadow: none;
  }
  .adm2-nav-sep { display: none; }
  .adm2-nav-home, .adm2-nav-cat { width: auto; min-height: 38px; padding: 4px 12px 4px 6px; border: 1px solid var(--gray-200, #E7E3DA); border-radius: var(--radius-pill); }
  .adm2-nav-home.is-active::before, .adm2-nav-cat.is-active::before { display: none; }
  .adm2-nav-ic { width: 28px; height: 28px; padding: 5px; border-radius: 50%; }
  .adm2-wide-toggle { display: none; }
  .adm2-body.is-nav-compact .adm2-nav {
    position: static; flex-direction: row; flex-wrap: wrap; align-items: stretch; gap: 6px;
    padding: 0 0 var(--space-3, 12px); margin-bottom: var(--space-4, 16px);
    border: 0; border-bottom: 1px solid var(--gray-200, #E7E3DA); border-radius: 0;
    background: transparent; box-shadow: none;
  }
  .adm2-body.is-nav-compact .adm2-nav-home,
  .adm2-body.is-nav-compact .adm2-nav-cat {
    width: auto; min-height: 38px; padding: 4px 12px 4px 6px; gap: 10px;
    justify-content: flex-start; border: 1px solid var(--gray-200, #E7E3DA); border-radius: var(--radius-pill);
  }
  .adm2-body.is-nav-compact .adm2-nav-text {
    position: static; width: auto; height: auto; padding: initial; margin: 0;
    overflow: visible; clip: auto; white-space: normal;
  }
  .adm2-body.is-nav-compact .adm2-nav-ic { width: 28px; height: 28px; padding: 5px; }
  .adm2-body.is-nav-compact .adm2-nav-sep { display: none; }
}
@media (max-width: 620px) {
  .adm2-head { align-items: stretch; }
  .adm2-search { width: 100%; }
  .adm2-cat-grid, .adm2-sub-grid { grid-template-columns: 1fr; }
  .adm2-title { font-size: var(--text-xl, 22px); }
}

@media (prefers-reduced-motion: reduce) {
  .adm2-body, .adm2-nav-home, .adm2-nav-cat, .adm2-nav-ic, .adm2-wide-toggle, .adm2-wide-toggle-ic { transition: none; }
  .adm2-nav-home:hover, .adm2-nav-cat:hover { transform: none; }
}
