/* modern.css — Modernes Theme: ruhig, klar, scanbar. Standard-Look.
   Aktiv über body.theme-modern. Überschreibt gezielt die „Kanzlei"-Defaults. */

body.theme-modern {
  /* Kühles, ruhiges Weiß statt Cremepapier */
  --paper:   oklch(0.984 0.002 250);
  --paper-2: oklch(0.972 0.003 250);
  --surface: oklch(1 0 0);
  --surface-2: oklch(0.985 0.002 250);
  --inset:   oklch(0.966 0.003 250);

  --ink:   oklch(0.27 0.018 262);
  --ink-2: oklch(0.46 0.014 260);
  --ink-3: oklch(0.60 0.012 260);
  --ink-4: oklch(0.72 0.010 260);

  --line:   oklch(0.928 0.004 255);
  --line-2: oklch(0.886 0.005 255);
  --line-3: oklch(0.82 0.006 255);

  /* Grotesk statt Serife — der größte Hebel gegen „altmodisch" */
  --serif: "Hanken Grotesk", system-ui, sans-serif;
  --sans:  "Hanken Grotesk", system-ui, sans-serif;

  --r-sm: 6px; --r: 9px; --r-md: 12px; --r-lg: 16px;
  --shadow: 0 1px 2px oklch(0.5 0.02 260 / 0.04);
  --shadow-md: 0 1px 3px oklch(0.5 0.02 260 / 0.06), 0 6px 20px oklch(0.5 0.02 260 / 0.06);
  --shadow-lg: 0 12px 40px oklch(0.4 0.02 260 / 0.14);
}
body.theme-modern h1, body.theme-modern h2, body.theme-modern h3, body.theme-modern h4 {
  letter-spacing: -0.02em; font-weight: 650;
}

/* ---- Navigation: leichter, luftiger ---- */
body.theme-modern .nav { background: var(--surface-2); }
body.theme-modern .nav__mark { border-radius: 9px; font-family: var(--sans); font-weight: 700; }
body.theme-modern .nav__name { font-weight: 700; letter-spacing: -0.02em; }
body.theme-modern .navitem { border-radius: 8px; }
body.theme-modern .navitem.is-active { background: var(--wine-tint); }

/* ---- Topbar ---- */
body.theme-modern .topbar { background: oklch(0.984 0.002 250 / 0.82); }
body.theme-modern .searchbox { border-radius: 9px; }

/* ---- Cards: weiche Kanten, dezenter Schatten statt harter Rahmen ---- */
body.theme-modern .card { border-radius: 14px; box-shadow: var(--shadow); border-color: var(--line); }
body.theme-modern .card--pad { padding: 20px 22px; }

/* ---- Fall-Kopf ---- */
body.theme-modern .casehd__title { font-weight: 650; letter-spacing: -0.025em; }
body.theme-modern .tab.is-active { border-bottom-width: 2px; }

/* ================= Prüfpfad: entrümpelt — offene Knoten statt Kasten-im-Kasten = */
body.theme-modern .pp__bar { border-radius: 12px; box-shadow: var(--shadow); }
body.theme-modern .pp__modbadge { border-width: 1.5px; border-radius: 10px; font-family: var(--sans); }
body.theme-modern .pp__modtitle { font-weight: 650; letter-spacing: -0.015em; }
body.theme-modern .pp__modtitle small { font-family: var(--mono); }

body.theme-modern .ppnode {
  border-radius: 12px; border-color: var(--line); box-shadow: none; background: var(--surface);
}
body.theme-modern .ppnode.is-result,
body.theme-modern .ppnode.is-info { box-shadow: none; }
/* Frage: keine schwere Kopfzeile, kein Trennstrich, kein getönter Balken */
body.theme-modern .ppnode__q {
  border-bottom: none; background: transparent !important; border-color: transparent !important;
  padding: 15px 18px 4px; align-items: center;
}
body.theme-modern .ppnode__qt { font-weight: 600; font-size: 14.5px; letter-spacing: -0.005em; }
body.theme-modern .ppnode__body { padding: 4px 18px 16px 18px; }
body.theme-modern .ppnode__ans { padding-left: 0; }
/* Typ-Label: dezent, klein, ohne Versalien & ohne Kasten */
body.theme-modern .knodetyp {
  text-transform: none; letter-spacing: 0; background: transparent; border: none;
  color: var(--ink-4); font-weight: 600; font-size: 11.5px; padding: 0; margin-top: 2px;
}
/* Quellen: feine durchgezogene Linie statt gestrichelt */
body.theme-modern .ppnode__sources { border-top: 1px solid var(--line); }
body.theme-modern .ppnode__srclabel { color: var(--ink-4); }
/* AI-Marker dezenter */
body.theme-modern .ppnode__ai { border-radius: 7px; }

/* Ergebnis-/Info-Knoten: nur zarte Tönung + farbiger linker Strich, kein Doppel-Rahmen */
body.theme-modern .ppnode.is-result { border-color: var(--bernstein-tint-2); box-shadow: inset 3px 0 0 var(--bernstein); }
body.theme-modern .ppnode.is-result.t-gruen { border-color: var(--gruen-tint-2); box-shadow: inset 3px 0 0 var(--gruen); }
body.theme-modern .ppnode.is-info { border-color: var(--blau-tint-2); box-shadow: inset 3px 0 0 var(--blau); }

body.theme-modern .pp__intro { border-radius: 14px; box-shadow: var(--shadow); }
body.theme-modern .forklane { border-radius: 11px; }
body.theme-modern .forkfazit { border-top-style: solid; }
body.theme-modern .forkhint { border-radius: 10px; }

/* ---- Übersicht / Gesamturteil ---- */
body.theme-modern .verdict { border-radius: 16px; }
body.theme-modern .verdict__quote { letter-spacing: -0.03em; }
body.theme-modern .empf { border-radius: 11px; }
body.theme-modern .sidecard__next { border-radius: 14px; }

/* Berechnung: keine gestrichelten Trennlinien */
body.theme-modern .calc__row { border-bottom: 1px solid var(--line); }
body.theme-modern .calc__row.is-total { border-top: 1.5px solid var(--line-2); }

/* ---- Korrespondenz: liniiertes „Papier" raus, klare Fläche ---- */
body.theme-modern .editor__doc { background: var(--surface) !important; line-height: 1.85; }
body.theme-modern .editorbox { border-radius: 14px; }
body.theme-modern .eskstep { border-radius: 0; }
body.theme-modern .eskstep:first-child { border-radius: 12px 0 0 12px; }
body.theme-modern .eskstep:last-child { border-radius: 0 12px 12px 0; }
body.theme-modern .tlcard { border-radius: 11px; }
body.theme-modern .bauz__item { border-radius: 10px; }
body.theme-modern .promptbox { border-radius: 10px; font-style: normal; }

/* ---- Tabellen: ruhiger ---- */
body.theme-modern .tablewrap { border-radius: 14px; box-shadow: var(--shadow); }
body.theme-modern .tbl thead th { background: var(--surface); letter-spacing: 0.02em; font-size: 11px; color: var(--ink-4); }
body.theme-modern .tbl tbody td { padding: 13px 16px; }

/* ---- Beilagen / Klienten / Admin: weiche Kanten ---- */
body.theme-modern .beilcard, body.theme-modern .polizze, body.theme-modern .vcard,
body.theme-modern .bnode, body.theme-modern .astat, body.theme-modern .extract__file { border-radius: 11px; }
body.theme-modern .chipfilter { border-radius: 9px; }
body.theme-modern .ovl__panel { border-radius: 16px; }
body.theme-modern .ovl__text { font-family: var(--sans); border-left-color: var(--wine-tint-2); }

/* Pills/Buttons: etwas weicher */
body.theme-modern .btn { border-radius: 9px; }
body.theme-modern .pill { font-weight: 600; }
