/*
 * Mandantenfähiges Stylesheet im Stil von wika Inside 2.0 (inxxoo-Designsprache): Navy-Seitenleiste, weiße Karten
 * ohne Rahmen, ruhiger Grund, Gold-Akzente, Apple-Systemschrift. Markenfarben kommen je Mandant über
 * --primary / --accent; alle anderen Töne werden daraus abgeleitet.
 */
:root {
  --primary: #0b2147; --primary-contrast: #ffffff; --accent: #b39d66; --accent-contrast: #13203a; --surface: #f1f3f7;
  --ground: var(--surface); --card: #ffffff; --ink: #141a26; --ink-2: #596276; --line: #e4e8ef; --search: #e6eaf1;
  --navy: var(--primary); --navy-2: color-mix(in srgb, var(--primary) 86%, white); --navy-3: color-mix(in srgb, var(--primary) 72%, white);
  --nav-ink: color-mix(in srgb, var(--primary-contrast) 68%, var(--primary)); --nav-line: color-mix(in srgb, var(--primary) 82%, white);
  --gold: var(--accent); --gold-hi: color-mix(in srgb, var(--accent) 30%, white); --gold-ink: color-mix(in srgb, var(--accent) 62%, black); --gold-tint: color-mix(in srgb, var(--accent) 18%, white);
  --tint: color-mix(in srgb, var(--primary) 9%, white); --c2: color-mix(in srgb, var(--primary) 32%, white);
  --good: #1d6b40; --good-tint: #e3f2e9; --warn: #855610; --warn-tint: #faefdc; --bad: #8f3526; --bad-tint: #f3e1dc;
  --shadow: 0 0 0 1px rgba(20,35,70,.05), 0 1px 2px rgba(20,35,70,.04), 0 14px 34px -22px rgba(20,35,70,.28);
  --shadow-lift: 0 0 0 1px rgba(20,35,70,.06), 0 2px 4px rgba(20,35,70,.05), 0 22px 44px -24px rgba(20,35,70,.38);
  --r-xl: 24px; --r-lg: 22px; --r-md: 20px; --r-sm: 12px; --r-xs: 9px;
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", system-ui, sans-serif;
  --display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", system-ui, sans-serif;
  font-family: var(--font); font-size: 14px; color: var(--ink); background: var(--ground);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ground: #0a0f19; --card: #141c2a; --ink: #e8ecf3; --ink-2: #9aa5ba; --line: #243047; --search: #1b2537;
    --navy: color-mix(in srgb, var(--primary) 70%, black); --navy-2: color-mix(in srgb, var(--primary) 85%, black); --nav-line: #1a2d52;
    --gold-ink: color-mix(in srgb, var(--accent) 80%, white); --gold-tint: color-mix(in srgb, var(--accent) 22%, #141c2a);
    --tint: #1d2a44; --c2: #34507f; --good: #5cc48a; --good-tint: #16301f; --warn: #e3a84a; --warn-tint: #33280f; --bad: #e07a66; --bad-tint: #3a1d17;
    --shadow: 0 0 0 1px rgba(255,255,255,.05), 0 14px 34px -22px rgba(0,0,0,.6); --shadow-lift: var(--shadow);
    color-scheme: dark;
  }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--ground); line-height: 1.45; }
a { color: var(--navy); text-underline-offset: 2px; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) a { color: var(--gold-ink); } }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; border-radius: 6px; }
.skip { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
a.skip:focus { left: 8px; top: 8px; width: auto; height: auto; margin: 0; clip: auto; overflow: visible; background: var(--card); color: var(--ink); padding: 8px 12px; border-radius: 10px; z-index: 50; }
h1, h2, h3 { font-family: var(--display); color: var(--ink); margin: 0; }
h1 { font-size: 34px; line-height: 1.08; font-weight: 700; letter-spacing: -.025em; text-wrap: balance; margin-bottom: 6px; }
h2 { font-size: 17px; font-weight: 650; letter-spacing: -.01em; margin-bottom: 14px; }
h3 { font-size: 15px; font-weight: 650; margin: 14px 0 8px; }
p { margin: 0 0 10px; }
p.lead { color: var(--ink-2); font-size: 15px; margin: 0 0 4px; max-width: 70ch; }
.muted { color: var(--ink-2); } .small { font-size: 12.5px; }
.eyebrow { font-size: 12px; color: var(--ink-2); margin-bottom: 6px; }
.label-caps { font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-2); font-weight: 600; }
.num { font-variant-numeric: tabular-nums; }
.demo-banner { background: var(--gold-tint); color: var(--gold-ink); text-align: center; font-size: 12px; font-weight: 600; padding: 5px 8px; letter-spacing: .01em; }
.ic { width: 18px; height: 18px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ic.lg { width: 22px; height: 22px; }

/* ---- Shell: kompakte Navy-Kopfzeile, Personenmenü, Tab-Leiste auf dem Handy ------------------------ */
.appbar { position: sticky; top: 0; z-index: 30; background: color-mix(in srgb, var(--navy) 94%, transparent); color: var(--primary-contrast);
  backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); box-shadow: 0 1px 0 rgba(0,0,0,.08), 0 10px 30px -24px rgba(11,33,71,.6); }
.appbar-in { max-width: 1280px; margin: 0 auto; height: 64px; padding: 0 28px; display: flex; align-items: center; gap: 28px; }
.appbar .brand { display: flex; align-items: center; gap: 12px; color: var(--primary-contrast); text-decoration: none; flex: none; }
.appbar .brand .wordmark { font-family: var(--display); font-weight: 800; font-size: 24px; letter-spacing: -.03em; line-height: 1; }
.appbar .brand img.logo { height: 30px; width: auto; max-width: 140px; }
.appbar .brand .product { color: var(--gold-hi); font-size: 10.5px; font-weight: 650; letter-spacing: .14em; text-transform: uppercase; padding-left: 12px; border-left: 1px solid var(--nav-line); line-height: 22px; }
.mainnav { display: flex; gap: 4px; }
.mainnav a.nav { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px; border-radius: 999px; color: color-mix(in srgb, var(--primary-contrast) 82%, transparent); text-decoration: none; font-weight: 600; font-size: 14px; white-space: nowrap; transition: background .15s ease, color .15s ease; }
.mainnav a.nav .ic { width: 17px; height: 17px; color: var(--gold-hi); }
.mainnav a.nav:hover { background: color-mix(in srgb, white 10%, transparent); color: var(--primary-contrast); }
.mainnav a.nav[aria-current="page"] { background: color-mix(in srgb, white 16%, transparent); color: var(--primary-contrast); box-shadow: inset 0 0 0 1px color-mix(in srgb, white 14%, transparent); }
.appbar .spacer { flex: 1; }

/* Personenmenü (details/summary, ohne JavaScript bedienbar) */
.menu { position: relative; }
.menu > summary { list-style: none; margin: 0; } .menu > summary::-webkit-details-marker { display: none; }
.me { display: flex; align-items: center; gap: 10px; padding: 4px 10px 4px 4px; border-radius: 999px; color: var(--primary-contrast); cursor: pointer; transition: background .15s ease; }
.me:hover, .menu[open] > .me, .me.active { background: color-mix(in srgb, white 12%, transparent); }
.me .av { width: 36px; height: 36px; background: var(--gold); color: var(--accent-contrast); font-size: 13px; }
.me .who { line-height: 1.2; } .me .who strong { display: block; font-size: 13.5px; color: var(--primary-contrast); } .me .who small { color: color-mix(in srgb, var(--primary-contrast) 88%, var(--navy)); font-size: 12px; }
.me .chev { width: 16px; height: 16px; color: color-mix(in srgb, var(--primary-contrast) 70%, transparent); transition: transform .2s ease; }
.menu[open] .chev { transform: rotate(180deg); }
.menu-panel { position: absolute; right: 0; top: calc(100% + 10px); width: 320px; max-height: calc(100vh - 90px); overflow-y: auto; background: var(--card); color: var(--ink); border-radius: 20px; padding: 8px;
  box-shadow: 0 0 0 1px rgba(20,35,70,.08), 0 24px 60px -20px rgba(11,33,71,.45); animation: pop .16s ease-out; transform-origin: top right; }
@keyframes pop { from { opacity: 0; transform: scale(.96) translateY(-4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .menu-panel { animation: none; } }
.menu-head { display: flex; gap: 12px; align-items: center; padding: 12px 12px 14px; }
.menu-head strong { display: block; font-size: 15px; } .menu-head small { display: block; color: var(--ink-2); font-size: 12.5px; margin-bottom: 6px; word-break: break-all; }
.menu-head .pill { height: auto; min-height: 22px; white-space: normal; padding: 2px 9px; font-size: 11.5px; }
.av.lg { width: 48px; height: 48px; font-size: 16px; background: var(--navy); color: var(--gold-tint); }
.menu-tenant { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 0 4px 6px; padding: 10px 12px; border-radius: 14px; background: var(--ground); }
.menu-tenant .ic { color: var(--gold-ink); } .menu-tenant small { display: block; font-size: 11px; color: var(--ink-2); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.menu-tenant strong { font-size: 13.5px; } .menu-tenant form { margin: 0; width: 100%; }
.menu-tenant select { min-height: 36px; height: 36px; padding: 0 10px; font-size: 13px; background: var(--card); }
.menu-sec { padding: 6px 0; border-top: 1px solid var(--line); } .menu-sec form { margin: 0; }
.menu-label { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); padding: 8px 12px 4px; }
.menu-item { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 40px; padding: 8px 12px; border-radius: 11px; border: 0; background: transparent; font: inherit; font-size: 14px; font-weight: 550; color: var(--ink); text-decoration: none; cursor: pointer; text-align: left; }
.menu-item .ic { color: var(--gold-ink); }
.menu-item:hover, .menu-item[aria-current="page"] { background: var(--tint); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .menu-item { color: var(--ink); } }

/* Betreiberkonsole: schlichte Kopfzeile */
.topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 14px; padding: 12px 28px; background: var(--navy); color: var(--primary-contrast); }
.topbar .brand { color: var(--primary-contrast); text-decoration: none; font-weight: 700; display: grid; } .topbar .brand small, .topbar .user small { color: var(--gold-hi); font-weight: 500; font-size: 12px; display: block; }
.topbar .spacer { flex: 1; } .topbar form { margin: 0; }
main.content { padding: 28px 28px 56px; width: 100%; max-width: 1280px; margin: 0 auto; }
main.content.wide { max-width: 1440px; }
.crumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 13px; color: var(--ink-2); margin-bottom: 14px; }
.crumbs a { color: var(--ink-2); text-decoration: none; font-weight: 500; } .crumbs a:hover { color: var(--ink); text-decoration: underline; }
.crumbs [aria-current] { color: var(--ink); font-weight: 600; }
@media (max-width: 1100px) { .appbar .brand .product { display: none; } .mainnav a.nav { padding: 0 11px; } }
@media (max-width: 900px) {
  /* backdrop-filter würde die fixierte Tab-Leiste an die Kopfzeile binden */
  .appbar { backdrop-filter: none; -webkit-backdrop-filter: none; background: var(--navy); }
  .appbar-in { padding: 0 16px; height: 58px; gap: 12px; }
  .me .who { display: none; } .me { padding: 3px; }
  /* Hauptnavigation als iOS-Tab-Leiste unten */
  .mainnav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; justify-content: space-around; gap: 0; padding: 6px 6px calc(6px + env(safe-area-inset-bottom));
    background: color-mix(in srgb, var(--card) 88%, transparent); backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); border-top: 1px solid var(--line); }
  .mainnav a.nav { flex: 1; flex-direction: column; gap: 3px; height: auto; padding: 6px 4px; border-radius: 12px; color: var(--ink-2); font-size: 10.5px; font-weight: 600; white-space: normal; text-align: center; line-height: 1.15; }
  .mainnav a.nav .ic { width: 22px; height: 22px; color: currentColor; }
  .mainnav a.nav[aria-current="page"] { background: transparent; box-shadow: none; color: var(--navy); }
  .mainnav a.nav:hover { background: transparent; color: var(--ink); }
  main.content { padding: 20px 16px 104px; }
  .menu-panel { position: fixed; left: 12px; right: 12px; top: 64px; width: auto; }
  h1 { font-size: 28px; }
}
@media (prefers-color-scheme: dark) and (max-width: 900px) { :root:not([data-theme="light"]) .mainnav a.nav[aria-current="page"] { color: var(--gold-ink); } }

/* ---- Verwaltung im Überblick ----------------------------------------------------------------------- */
.hub-group { margin-bottom: 28px; scroll-margin-top: 84px; }
.hub-head { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }
.hub-head h2 { margin: 0 0 2px; font-size: 19px; } .hub-head p { margin: 0; }
.hub-icon { width: 40px; height: 40px; border-radius: 12px; background: var(--navy); color: var(--gold-hi); display: grid; place-items: center; flex: none; }
.hub-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.tile { display: flex; align-items: center; gap: 14px; padding: 16px; background: var(--card); border-radius: 18px; box-shadow: var(--shadow); text-decoration: none; color: var(--ink); transition: box-shadow .15s ease, transform .15s ease; }
.tile:hover { box-shadow: var(--shadow-lift); transform: translateY(-1px); }
.tile-icon { width: 42px; height: 42px; border-radius: 13px; background: var(--gold-tint); color: var(--gold-ink); display: grid; place-items: center; flex: none; }
.tile-text { flex: 1; min-width: 0; } .tile-text strong { display: block; font-size: 15px; } .tile-text small { display: block; color: var(--ink-2); font-size: 12.5px; margin-top: 2px; }
.tile .go { color: var(--ink-2); width: 16px; height: 16px; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .tile { color: var(--ink); } }

/* ---- White-Label ---------------------------------------------------------------------------------- */
.tenant-card { display: flex; flex-wrap: wrap; gap: 20px 32px; align-items: center; justify-content: space-between; }
.tenant-id { display: flex; gap: 14px; align-items: center; } .tenant-id strong { display: block; font-size: 17px; } .tenant-id small { color: var(--ink-2); }
.logo-chip { height: 56px; min-width: 56px; padding: 0 14px; border-radius: 16px; background: var(--navy); display: grid; place-items: center; color: var(--primary-contrast); }
.logo-chip img { height: 26px; width: auto; max-width: 120px; display: block; }
.logo-chip.wm, .logo-stage .wm { font-family: var(--display); font-weight: 800; font-size: 20px; letter-spacing: -.02em; }
.facts { display: flex; flex-wrap: wrap; gap: 14px 28px; margin: 0; }
.facts dt { font-size: 11.5px; color: var(--ink-2); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; margin-bottom: 4px; } .facts dd { margin: 0; font-size: 13.5px; }
.seg.anchors { margin: 4px 0 16px; overflow-x: auto; max-width: 100%; }
.wl { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
.wl-main { display: grid; gap: 16px; min-width: 0; } .wl-main > form { display: grid; gap: 16px; }
.wl-main section { scroll-margin-top: 84px; }
.wl-preview { position: sticky; top: 84px; }
@media (max-width: 1000px) { .wl { grid-template-columns: 1fr; } .wl-preview { position: static; } }
.row2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } @media (max-width: 640px) { .row2 { grid-template-columns: 1fr; } }
.logo-stage { height: 120px; border-radius: 18px; background: radial-gradient(90% 120% at 100% 0%, color-mix(in srgb, var(--gold) 30%, transparent), transparent 60%), var(--navy); color: var(--primary-contrast); display: grid; place-items: center; margin-bottom: 12px; }
.logo-stage img { max-height: 54px; max-width: 70%; display: block; }
.color-row { display: flex; gap: 8px; align-items: center; }
.color-row input[type=color] { width: 48px; height: 44px; padding: 3px; border: 0; border-radius: 12px; background: var(--search); cursor: pointer; flex: none; }
.color-row input[type=color]::-webkit-color-swatch-wrapper { padding: 0; } .color-row input[type=color]::-webkit-color-swatch { border: 0; border-radius: 9px; }
input.mono { font-family: ui-monospace, "SF Mono", monospace; text-transform: uppercase; }
.savebar { position: sticky; bottom: 12px; z-index: 5; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px 10px 10px 18px; border-radius: 18px;
  background: color-mix(in srgb, var(--card) 86%, transparent); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: var(--shadow-lift); }
@media (max-width: 900px) { .savebar { bottom: 84px; } }
.phone .ph-top .ph-logo { height: 22px; width: auto; display: block; }
.swatches { display: flex; justify-content: center; gap: 10px; margin-top: 16px; }
.sw { width: 34px; height: 34px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.sw.primary { background: var(--primary); } .sw.accent { background: var(--accent); } .sw.surface { background: var(--surface); }

/* ---- Seitenkopf ------------------------------------------------------------------------------------ */
.headrow { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.headrow .actions { display: flex; gap: 10px; flex-wrap: wrap; }
.hero-panel { position: relative; overflow: hidden; border-radius: var(--r-xl); padding: 30px 32px; margin-bottom: 20px; color: var(--primary-contrast);
  background: radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--gold) 42%, transparent) 0%, transparent 46%),
              linear-gradient(135deg, var(--navy) 0%, color-mix(in srgb, var(--navy) 78%, #2b5aa8) 100%); box-shadow: var(--shadow); }
.hero-panel h1 { color: var(--primary-contrast); }
.hero-panel .lead { color: color-mix(in srgb, var(--primary-contrast) 78%, transparent); }
.hero-panel .eyebrow { color: color-mix(in srgb, var(--primary-contrast) 70%, transparent); }
.hero-panel .row { margin-top: 18px; }
.hero-panel .btn.secondary { background: color-mix(in srgb, white 14%, transparent); color: var(--primary-contrast); box-shadow: inset 0 0 0 1px color-mix(in srgb, white 28%, transparent); }
.hero-panel .deco { position: absolute; right: 40px; top: -90px; width: 240px; height: 240px; border-radius: 50%; border: 36px solid color-mix(in srgb, var(--gold) 30%, transparent); pointer-events: none; }

/* ---- Karten, Raster, KPI ----------------------------------------------------------------------------- */
.card { background: var(--card); border-radius: var(--r-lg); box-shadow: var(--shadow); padding: 20px; min-width: 0; }
.card.navy { background: var(--navy); color: var(--primary-contrast); } .card.navy h2, .card.navy h3 { color: var(--primary-contrast); }
.card.navy .muted { color: var(--nav-ink); }
.card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.card-head h2 { margin: 0; display: flex; align-items: center; gap: 8px; }
.card-head h2 .ic { color: var(--gold-ink); }
.card.navy .card-head h2 .ic { color: var(--gold); }
.grid { display: grid; gap: 16px; }
main.content > .card, main.content > .grid, main.content > form.grid, main.content > section { margin-bottom: 16px; }
.cols-2 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cols-even { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1100px) { .cols-2, .cols-3, .cols-even { grid-template-columns: 1fr; } }
.kpis { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); margin-bottom: 16px; }
.kpi { border-radius: var(--r-md); padding: 16px 18px; display: grid; gap: 4px; align-content: start; }
.kpi .top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.kpi .label { color: var(--ink-2); font-size: 12.5px; font-weight: 500; }
.kpi .top .ic { color: var(--gold-ink); }
.kpi .value { font-family: var(--display); font-size: 32px; font-weight: 700; letter-spacing: -.03em; color: var(--ink); font-variant-numeric: tabular-nums; line-height: 1.1; }
.kpi .sub { font-size: 12px; color: var(--ink-2); display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.delta { display: inline-flex; align-items: center; gap: 2px; font-weight: 650; font-size: 12px; font-variant-numeric: tabular-nums; }
.delta.up { color: var(--good); } .delta.down { color: var(--bad); } .delta.flat { color: var(--ink-2); }

/* ---- Tabellen als ruhige Zeilen ------------------------------------------------------------------- */
table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
th { text-align: left; color: var(--ink-2); font-weight: 500; font-size: 12px; padding: 0 10px 10px; white-space: nowrap; }
td { padding: 11px 10px; vertical-align: middle; box-shadow: inset 0 1px 0 var(--line); }
tbody tr:hover td { background: color-mix(in srgb, var(--ground) 70%, transparent); }
tbody tr:hover td:first-child { border-radius: 10px 0 0 10px; } tbody tr:hover td:last-child { border-radius: 0 10px 10px 0; }
td a { font-weight: 600; text-decoration: none; }
td a:hover { text-decoration: underline; }
.who2 { display: flex; align-items: center; gap: 10px; min-width: 0; }
.who2 .av { width: 34px; height: 34px; font-size: 12px; }
.who2 strong { display: block; font-weight: 600; } .who2 small { display: block; color: var(--ink-2); font-size: 12px; }
.av { border-radius: 50%; background: var(--tint); color: var(--navy); display: grid; place-items: center; font-weight: 700; flex: none; letter-spacing: .02em; }
.av.navy { background: var(--navy); color: var(--gold-tint); }
.table-scroll { overflow-x: auto; margin: 0 -10px; padding: 0 10px; }

/* ---- Pills, Badges, Buttons ----------------------------------------------------------------------- */
.badge, .pill { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--tint); color: var(--navy); white-space: nowrap; }
.badge::before, .pill.dot::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .85; }
.badge.ok { background: var(--good-tint); color: var(--good); }
.badge.warn { background: var(--warn-tint); color: var(--warn); }
.badge.bad { background: var(--bad-tint); color: var(--bad); }
.badge.gold, .pill.gold { background: var(--gold-tint); color: var(--gold-ink); }
.pill { font-weight: 600; } .pill:not(.dot)::before { display: none; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .badge, :root:not([data-theme="light"]) .pill { color: var(--ink); } }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border: 0; background: var(--navy); color: var(--primary-contrast);
  padding: 0 18px; border-radius: 12px; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; text-decoration: none; transition: transform .12s ease, box-shadow .12s ease, background .12s ease; }
.btn:hover { background: var(--navy-2); } .btn:active { transform: scale(.98); }
.btn .ic { width: 17px; height: 17px; }
.btn.secondary { background: var(--card); color: var(--ink); box-shadow: inset 0 0 0 1px var(--line), 0 1px 2px rgba(20,35,70,.04); }
.btn.secondary:hover { background: var(--ground); }
.btn.accent { background: var(--gold); color: var(--accent-contrast); }
.btn.accent:hover { background: color-mix(in srgb, var(--gold) 88%, white); }
.btn.small { min-height: 34px; padding: 0 12px; font-size: 13px; border-radius: 10px; }
.btn.block { width: 100%; }
.btn.whatsapp { background: #0b6b2e; color: #fff; } .btn.whatsapp:hover { background: #095a26; }
.btn[disabled] { opacity: .5; cursor: not-allowed; }
.linkmore { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; text-decoration: none; font-size: 13.5px; margin-top: 12px; }

/* ---- Segment-Steuerung (iOS) ---------------------------------------------------------------------- */
.seg { display: inline-flex; background: var(--search); border-radius: 13px; padding: 3px; gap: 2px; }
.seg a, .seg button { border: 0; background: transparent; font: inherit; font-size: 13px; font-weight: 600; color: var(--ink-2); padding: 6px 14px; border-radius: 10px; text-decoration: none; cursor: pointer; }
.seg [aria-current="page"], .seg [aria-pressed="true"] { background: var(--card); color: var(--ink); box-shadow: 0 1px 3px rgba(20,35,70,.12); }

/* ---- Formulare ----------------------------------------------------------------------------------- */
form.stack { display: grid; gap: 14px; }
label { font-weight: 600; font-size: 13px; display: block; margin-bottom: 6px; }
input[type=text], input[type=email], input[type=tel], input[type=password], input[type=date], input[type=number], input[type=url], select, textarea {
  width: 100%; font: inherit; font-size: 14px; min-height: 44px; padding: 10px 12px; border: 0; border-radius: 12px; background: var(--search); color: var(--ink);
  box-shadow: inset 0 0 0 1px transparent; transition: box-shadow .12s ease, background .12s ease; }
input:focus, select:focus, textarea:focus { outline: none; background: var(--card); box-shadow: inset 0 0 0 2px var(--gold); }
textarea { min-height: 96px; resize: vertical; }
fieldset { border: 0; padding: 0; margin: 0; } legend { padding: 0; margin-bottom: 8px; }
fieldset.card { padding: 16px; background: var(--ground); box-shadow: none; }
.check { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 14px; }
.check input { margin-top: 2px; width: 18px; height: 18px; accent-color: var(--navy); flex: none; }
.choice { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; }
.choice label { margin: 0; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border-radius: 14px; background: var(--card); box-shadow: inset 0 0 0 1px var(--line); font-weight: 600; cursor: pointer; text-align: center; padding: 6px 10px; }
.choice input { margin: 0; width: 16px; height: 16px; accent-color: var(--navy); flex: none; }
.choice input:checked + span { color: var(--navy); }
.choice label:has(input:checked) { box-shadow: inset 0 0 0 2px var(--navy); background: var(--tint); }
.choice label:has(input:focus-visible) { outline: 3px solid var(--gold); outline-offset: 2px; }
.hint { font-size: 12.5px; color: var(--ink-2); font-weight: 400; }
.hint-box { display: flex; gap: 12px; align-items: flex-start; background: var(--ground); border-radius: 14px; padding: 12px 14px; font-size: 13px; color: var(--ink-2); }
.hint-box.gold { background: var(--gold-tint); color: var(--gold-ink); } .hint-box .ic { color: var(--gold-ink); margin-top: 1px; }
.error { color: var(--bad); font-size: 12.5px; margin-top: 4px; }
.alert { border-radius: 14px; padding: 12px 16px; margin-bottom: 16px; background: var(--card); box-shadow: var(--shadow); font-size: 13.5px; }
.alert.ok { background: var(--good-tint); color: var(--good); box-shadow: none; } .alert.bad { background: var(--bad-tint); color: var(--bad); box-shadow: none; }
.alert.warn { background: var(--warn-tint); color: var(--warn); box-shadow: none; }
.hp { position: absolute; left: -5000px; width: 1px; height: 1px; overflow: hidden; }
.copyrow { display: flex; gap: 8px; } .copyrow input { flex: 1; font-family: ui-monospace, "SF Mono", monospace; font-size: 12.5px; }
.inline { display: inline; } .row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.flag-off { color: var(--ink-2); }
details > summary { cursor: pointer; color: var(--navy); font-weight: 600; margin: 6px 0; }
details[open] > summary { margin-bottom: 10px; }
.pre { white-space: pre-wrap; }
code { font-family: ui-monospace, "SF Mono", monospace; font-size: 12.5px; background: var(--ground); padding: 1px 6px; border-radius: 6px; }
img.logo { max-height: 40px; max-width: 200px; display: block; }
img.logo-preview { max-height: 80px; max-width: 320px; background: var(--ground); padding: 8px; border-radius: 12px; }
.centered { margin: 0 auto; } .centered-text { text-align: center; margin: 10px 0; }
.banner-support { background: var(--bad); color: #fff; padding: 8px 16px; text-align: center; font-weight: 600; }
meter { width: 100%; height: 8px; }

/* ---- Schritte, Zeitachse ------------------------------------------------------------------------- */
.steps { counter-reset: s; list-style: none; padding: 0; margin: 0; display: grid; gap: 16px; }
.steps li { counter-increment: s; display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; }
.steps li::before { content: counter(s); background: var(--navy); color: var(--primary-contrast); border-radius: 50%; width: 34px; height: 34px; display: grid; place-items: center; font-weight: 700; font-size: 13px; }
.card.navy .steps li::before { background: var(--gold); color: var(--accent-contrast); }
.timeline { list-style: none; padding: 0; margin: 0; display: grid; }
.timeline li { position: relative; padding: 4px 0 14px 26px; font-size: 13.5px; }
.timeline li::before { content: ""; position: absolute; left: 4px; top: 8px; width: 10px; height: 10px; border-radius: 50%; background: var(--navy); }
.timeline li::after { content: ""; position: absolute; left: 8.5px; top: 20px; bottom: 0; width: 1.5px; background: var(--line); }
.timeline li:last-child::after { display: none; }

/* ---- Diagramme ----------------------------------------------------------------------------------- */
.chart { width: 100%; height: auto; display: block; overflow: visible; }
.chart text { font-family: var(--font); font-size: 11px; fill: var(--ink-2); }
.chart .grid-line { stroke: var(--line); stroke-width: 1; }
.chart .bar-a { fill: var(--navy); } .chart .bar-b { fill: var(--c2); } .chart .bar-c { fill: var(--gold); }
.chart .line { fill: none; stroke: var(--gold); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.chart .dot { fill: var(--card); stroke: var(--gold); stroke-width: 2; }
.chart .now { fill: var(--gold); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .chart .bar-a { fill: #8fb0e8; } }
.legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12px; color: var(--ink-2); margin-top: 10px; }
.legend span { display: inline-flex; align-items: center; gap: 6px; }
.legend i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.legend i.a { background: var(--navy); } .legend i.b { background: var(--c2); } .legend i.c { background: var(--gold); }
.donut-wrap { display: grid; grid-template-columns: 160px 1fr; gap: 18px; align-items: center; }
@media (max-width: 520px) { .donut-wrap { grid-template-columns: 1fr; justify-items: center; } }
.donut text.big { font-family: var(--display); font-size: 26px; font-weight: 700; fill: var(--ink); }
.donut text.cap { font-size: 10.5px; fill: var(--ink-2); }
.slices { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; width: 100%; }
.slices li { display: grid; grid-template-columns: 10px 1fr auto; gap: 10px; align-items: center; font-size: 13px; }
.dotmark { width: 10px; height: 10px; display: block; }
.s0 { fill: var(--navy); stroke: var(--navy); } .s1 { fill: var(--gold); stroke: var(--gold); } .s2 { fill: var(--c2); stroke: var(--c2); }
.s3 { fill: #2e8a57; stroke: #2e8a57; } .s4 { fill: #8a94a6; stroke: #8a94a6; } .s5 { fill: #b7791f; stroke: #b7791f; } .s6 { fill: #5a2d82; stroke: #5a2d82; }
.arc { fill: none; }
.donut .ring { fill: none; stroke: var(--tint); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .s0 { fill: #8fb0e8; stroke: #8fb0e8; } }
.slices li .v { color: var(--ink-2); font-variant-numeric: tabular-nums; font-size: 12.5px; white-space: nowrap; }
.slices li span { white-space: nowrap; }
.donut-wrap { grid-template-columns: 150px minmax(0, 1fr); }
.hbars { display: grid; gap: 12px; }
.hbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; font-size: 13px; }
.track { grid-column: 1 / -1; width: 100%; height: 6px; display: block; }
.track .bg { fill: var(--tint); } .track .fill { fill: var(--navy); } .track .fill.gold { fill: var(--gold); }
.hbar .v { color: var(--ink-2); font-variant-numeric: tabular-nums; font-size: 12.5px; }
.funnel { display: grid; gap: 8px; }
.funnel .stage { display: grid; grid-template-columns: 150px 1fr 60px; gap: 12px; align-items: center; font-size: 13px; }
.funnel .bar { height: 30px; border-radius: 9px; background: var(--navy); display: flex; align-items: center; padding: 0 10px; color: var(--primary-contrast); font-weight: 650; font-size: 12.5px; min-width: 34px; font-variant-numeric: tabular-nums; }
.funnel .stage:last-child .bar { background: var(--gold); color: var(--accent-contrast); }
.funnel .pct { color: var(--ink-2); text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) { .funnel .stage { grid-template-columns: 1fr 50px; } .funnel .stage .name { grid-column: 1 / -1; } }

/* ---- Persönliche Empfehlungsseite (Telefon-Vorschau) ------------------------------------------- */
.phone { width: 230px; margin: 4px auto 0; border-radius: 34px; padding: 10px; background: #0d1422; box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); }
.phone .screen { border-radius: 26px; overflow: hidden; background: var(--card); }
.phone .ph-top { background: var(--navy); color: var(--primary-contrast); padding: 18px 14px 16px; }
.phone .ph-top .wm { font-family: var(--display); font-weight: 800; font-size: 18px; letter-spacing: -.02em; }
.phone .ph-top p { font-size: 13px; font-weight: 650; margin: 10px 0 0; line-height: 1.25; }
.phone .ph-body { padding: 12px 14px 14px; color: var(--ink); display: grid; gap: 10px; }
.phone .ph-cta { background: var(--gold); color: var(--accent-contrast); border-radius: 10px; text-align: center; font-size: 12px; font-weight: 700; padding: 9px; }
.qr svg { width: 168px; height: 168px; display: block; margin: 8px auto; border-radius: 12px; background: #fff; padding: 8px; }
.qr-card .qr svg, .qr.small svg { width: 112px; height: 112px; margin: 0; padding: 6px; }

/* ---- Prämien-Katalog ----------------------------------------------------------------------------- */
.catalog { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.prize { border-radius: var(--r-md); overflow: hidden; background: var(--card); box-shadow: var(--shadow); display: flex; flex-direction: column; }
.prize .art { height: 112px; display: grid; place-items: center; color: #fff; position: relative; }
.prize .art .ic { width: 40px; height: 40px; stroke-width: 1.5; }
.prize .art .partner { position: absolute; left: 12px; bottom: 10px; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; opacity: .92; }
.prize .art .pill { position: absolute; right: 10px; top: 10px; background: rgba(255,255,255,.92); color: #13203a; }
.prize .body { padding: 14px 16px 16px; display: grid; gap: 6px; flex: 1; align-content: start; }
.prize .body strong { font-size: 14.5px; } .prize .pts { font-family: var(--display); font-weight: 700; font-size: 18px; color: var(--ink); }
.art-1 { background: linear-gradient(135deg, #0b2147, #2b5aa8); } .art-2 { background: linear-gradient(135deg, #7a6328, #d9c08a); }
.art-3 { background: linear-gradient(135deg, #1f6b47, #63b48a); } .art-4 { background: linear-gradient(135deg, #5a2d82, #a678d6); }
.art-5 { background: linear-gradient(135deg, #8a2f2f, #e28a6b); } .art-6 { background: linear-gradient(135deg, #20556b, #63a8c4); }
.tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; text-align: center; }
.tier { border-radius: 16px; padding: 12px 8px; background: var(--ground); }
.tier .medal { width: 38px; height: 38px; border-radius: 50%; margin: 0 auto 6px; display: grid; place-items: center; color: #fff; }
.tier.bronze .medal { background: linear-gradient(135deg, #8c5a2b, #c98f55); } .tier.silver .medal { background: linear-gradient(135deg, #8a94a6, #c9d1de); } .tier.gold .medal { background: linear-gradient(135deg, #a8873b, #e2c27a); }
.tier strong { display: block; font-size: 13px; } .tier small { color: var(--ink-2); font-size: 11.5px; }

/* ---- Öffentliche Seiten: Kundenseite, Landingpage, Danke-Seite --------------------------------------- */
.site { --serif: "New York", "Iowan Old Style", Georgia, "Times New Roman", serif; --cream: color-mix(in srgb, var(--accent) 7%, white); background: var(--card); min-height: 100vh; display: flex; flex-direction: column; }
.site main { flex: 1; }
.wrap { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.wrap.narrow { max-width: 760px; }
.site-head { background: var(--navy); color: var(--primary-contrast); position: sticky; top: 0; z-index: 20; }
.site-head .wrap { display: flex; align-items: center; gap: 14px; min-height: 68px; }
.site-head .brand { display: inline-flex; align-items: center; }
.site-head .logo, .site-foot .logo { height: 34px; width: auto; display: block; }
.site-head .wordmark, .site-foot .wordmark { font-family: var(--display); font-weight: 800; font-size: 24px; letter-spacing: -.02em; color: var(--primary-contrast); }
.site-head .tag { color: var(--gold-hi); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.site-head .spacer { flex: 1; }
@media (max-width: 560px) { .site-head .tag { display: none; } .site-head .logo { height: 28px; } }

.lp-hero { position: relative; overflow: hidden; color: var(--primary-contrast); padding: 56px 0 64px;
  background: radial-gradient(80% 90% at 100% 0%, color-mix(in srgb, var(--gold) 34%, transparent) 0%, transparent 55%), linear-gradient(155deg, var(--navy), color-mix(in srgb, var(--navy) 74%, #2b5aa8)); }
.lp-hero-img { position: absolute; inset: 0 0 0 auto; width: 62%; height: 100%; object-fit: cover; }
.lp-hero.with-img::before { content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, var(--navy) 0%, var(--navy) 38%, color-mix(in srgb, var(--navy) 55%, transparent) 62%, color-mix(in srgb, var(--navy) 10%, transparent) 100%); }
.lp-hero-grid { position: relative; z-index: 2; display: grid; gap: 32px; align-items: center; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .lp-hero-grid:has(.lp-hero-side) { grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); } .lp-hero-text { max-width: 560px; } }
.lp-hero h1 { font-family: var(--serif); font-weight: 600; color: var(--primary-contrast); font-size: clamp(34px, 5.4vw, 54px); line-height: 1.04; letter-spacing: -.015em; margin: 14px 0 16px; }
.lp-hero h1 .em { color: var(--gold-hi); }
.lp-hero .lead { color: color-mix(in srgb, var(--primary-contrast) 84%, transparent); font-size: 16.5px; line-height: 1.55; max-width: 48ch; margin-bottom: 22px; }
.lp-hero .row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.badge.glass { background: transparent; color: var(--gold-hi); padding: 0; height: auto; letter-spacing: .14em; text-transform: uppercase; font-size: 11.5px; }
.badge.glass::before { display: none; } .badge.glass .ic { width: 15px; height: 15px; }
.btn.glass { background: color-mix(in srgb, white 12%, transparent); color: var(--primary-contrast); box-shadow: inset 0 0 0 1px color-mix(in srgb, white 30%, transparent); }
.btn.glass:hover { background: color-mix(in srgb, white 20%, transparent); }
.advisor-chip { display: inline-flex; align-items: center; gap: 14px; background: var(--card); color: var(--ink); padding: 12px 20px 12px 12px; border-radius: 16px; box-shadow: var(--shadow-lift); max-width: 100%; }
.advisor-chip .av { width: 56px; height: 56px; border-radius: 50%; font-size: 18px; background: var(--navy); color: var(--gold-tint); display: grid; place-items: center; font-weight: 700; flex: none; }
.advisor-chip strong { display: block; font-size: 15px; } .advisor-chip small { display: block; color: var(--ink-2); font-size: 13px; }
.advisor-chip a { display: inline-flex; align-items: center; gap: 4px; margin-top: 2px; font-size: 13px; font-weight: 600; color: var(--gold-ink); text-decoration: none; }
.advisor-chip a .ic { width: 14px; height: 14px; }

.lp-sec { padding: 64px 0; }
.lp-sec.alt { background: var(--cream); }
.kicker { text-align: center; color: var(--gold-ink); font-size: 11.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 8px; }
.lp-h2 { text-align: center; font-size: clamp(22px, 3vw, 28px); font-weight: 700; letter-spacing: -.02em; margin-bottom: 28px; }
.lp-h2.left { text-align: left; margin-bottom: 12px; }
.lp-features { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.lp-feature { background: var(--cream); border-radius: 18px; padding: 24px 18px; text-align: center; display: grid; gap: 8px; justify-items: center; }
.lp-feature .ic { color: var(--gold-ink); width: 30px; height: 30px; stroke-width: 1.5; }
.lp-feature strong { font-size: 15px; } .lp-feature span { color: var(--ink-2); font-size: 13.5px; }
.lp-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.lp-steps li { position: relative; background: var(--card); border-radius: 18px; padding: 28px 20px 22px; text-align: center; display: grid; gap: 8px; justify-items: center; box-shadow: var(--shadow); }
.lp-steps .n { position: absolute; left: 16px; top: 16px; width: 28px; height: 28px; border-radius: 50%; background: var(--navy); color: var(--primary-contrast); display: grid; place-items: center; font-size: 13px; font-weight: 700; }
.lp-steps .ic { color: var(--gold-ink); width: 30px; height: 30px; stroke-width: 1.5; }
.lp-steps strong { font-size: 15.5px; } .lp-steps span { color: var(--ink-2); font-size: 13.5px; }
.lp-about { display: grid; gap: 28px; align-items: center; grid-template-columns: auto minmax(0, 1fr); }
.av.xl { width: 160px; height: 160px; border-radius: 50%; font-size: 46px; background: var(--navy); color: var(--gold-tint); display: grid; place-items: center; font-weight: 700; object-fit: cover; box-shadow: var(--shadow-lift); }
.lp-bio { font-size: 16px; line-height: 1.6; white-space: pre-line; max-width: 60ch; }
@media (max-width: 640px) { .lp-about { grid-template-columns: 1fr; justify-items: center; text-align: center; } .lp-about .lp-h2.left { text-align: center; } .av.xl { width: 120px; height: 120px; } }
.faq { display: grid; gap: 8px; }
.faq details { background: var(--card); border-radius: 14px; box-shadow: var(--shadow); }
.faq summary { list-style: none; cursor: pointer; padding: 16px 48px 16px 18px; font-weight: 600; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 20px; font-weight: 400; color: var(--gold-ink); }
.faq details[open] summary::after { content: "–"; }
.faq details p { padding: 0 18px 16px; margin: 0; color: var(--ink-2); line-height: 1.55; }
.form-card { background: var(--card); border-radius: var(--r-xl); padding: 28px; box-shadow: var(--shadow-lift); }
.lp-form { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .lp-form { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; } }

/* Teilen-Karte (Kundenseite) */
.share-card { color: var(--ink); padding: 22px; border-radius: var(--r-xl); box-shadow: var(--shadow-lift); }
.share-card h2 { font-size: 19px; margin-bottom: 4px; }
.share-card textarea { min-height: 120px; line-height: 1.5; margin-bottom: 12px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 12px; }
.chip { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px; border: 0; border-radius: 999px; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer;
  background: var(--card); color: var(--ink); box-shadow: inset 0 0 0 1px var(--line); }
.chip .ic { width: 15px; height: 15px; }
.chip:hover { background: var(--ground); }
.chip[aria-pressed="true"] { background: var(--navy); color: var(--primary-contrast); box-shadow: none; }
.share-card .btn.whatsapp { min-height: 52px; font-size: 15.5px; }
.share-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; }
.share-row .btn { padding: 0 10px; }
.lp-two { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 900px) { .lp-two { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.lp-two .qr-card { margin: 0; flex-wrap: wrap; }

/* Danke-Seite */
.thanks { text-align: center; }
.check-big { width: 76px; height: 76px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--gold); color: var(--accent-contrast); margin-bottom: 18px; }
.check-big .ic { width: 38px; height: 38px; stroke-width: 2.4; }
.thanks h1 { font-family: var(--serif); font-weight: 600; font-size: clamp(30px, 4vw, 42px); }
.thanks .lead { margin: 0 auto 24px; }
.thanks-card { display: inline-block; padding: 8px; margin-bottom: 20px; box-shadow: none; background: transparent; }

.site-foot { background: var(--navy); color: color-mix(in srgb, var(--primary-contrast) 80%, transparent); padding: 32px 0; font-size: 13px; }
.site-foot .wrap { display: flex; flex-wrap: wrap; gap: 20px 40px; align-items: center; justify-content: space-between; }
.foot-brand small { display: block; margin-top: 8px; font-size: 12px; }
.foot-contact strong { display: block; color: var(--primary-contrast); }
.foot-links { display: flex; gap: 18px; }
.site-foot a { color: var(--primary-contrast); }
@media (max-width: 640px) { .lp-sec { padding: 44px 0; } .lp-hero { padding: 36px 0 44px; } .lp-hero-img { width: 100%; opacity: .35; } .wrap { padding: 0 18px; } }

/* White-Label: Titelbild */
.hero-stage { aspect-ratio: 16 / 6; border-radius: 16px; overflow: hidden; display: grid; place-items: center; text-align: center; padding: 12px; color: var(--primary-contrast);
  background: linear-gradient(155deg, var(--navy), color-mix(in srgb, var(--navy) 74%, #2b5aa8)); margin-bottom: 12px; }
.hero-stage.has-img { padding: 0; } .hero-stage img { width: 100%; height: 100%; object-fit: cover; }

/* Vorschau-Center */
.preview-tools { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; margin: 4px 0 16px; }
.preview-tools .seg a { display: inline-flex; align-items: center; gap: 6px; } .preview-tools .seg .ic { width: 15px; height: 15px; }
.preview-stage { display: grid; place-items: center; padding: 24px 12px; border-radius: var(--r-xl); background: var(--search); margin-bottom: 12px; }
.device { background: #0d1422; box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); }
.device iframe { display: block; border: 0; width: 100%; height: 100%; background: #fff; }
.device.handy { width: 390px; max-width: 100%; height: 780px; border-radius: 46px; padding: 12px; }
.device.handy iframe { border-radius: 34px; }
.device.desktop { width: 100%; height: 760px; border-radius: 14px; padding: 28px 8px 8px; position: relative; }
.device.desktop::before { content: ""; position: absolute; left: 14px; top: 10px; width: 46px; height: 9px; border-radius: 5px;
  background: radial-gradient(circle at 4px 4.5px, #ff5f57 4px, transparent 4.5px), radial-gradient(circle at 21px 4.5px, #febc2e 4px, transparent 4.5px), radial-gradient(circle at 38px 4.5px, #28c840 4px, transparent 4.5px); }
.device.desktop iframe { border-radius: 6px; }
.share-grid { display: grid; gap: 10px; }
.legal pre { white-space: pre-wrap; font: inherit; font-size: 13.5px; line-height: 1.55; }
.trust { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; font-size: 12px; color: var(--ink-2); }
.trust span { display: inline-flex; gap: 6px; align-items: center; } .trust .ic { width: 15px; height: 15px; color: var(--good); }

/* ---- Login --------------------------------------------------------------------------------------- */
.login-screen { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, 1fr); }
.login-art { position: relative; overflow: hidden; color: var(--primary-contrast); padding: 48px; display: flex; flex-direction: column; justify-content: space-between;
  background: radial-gradient(90% 80% at 85% 10%, color-mix(in srgb, var(--gold) 45%, transparent) 0%, transparent 55%), linear-gradient(150deg, var(--navy), color-mix(in srgb, var(--navy) 70%, #2b5aa8)); }
.login-art .wordmark { font-family: var(--display); font-weight: 800; font-size: 32px; letter-spacing: -.03em; }
.login-art .wordmark small { display: block; color: var(--gold-hi); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; margin-top: 6px; }
.login-art h2 { color: var(--primary-contrast); font-size: 40px; line-height: 1.08; letter-spacing: -.03em; font-weight: 700; max-width: 14ch; }
.login-art p { color: color-mix(in srgb, var(--primary-contrast) 75%, transparent); max-width: 44ch; font-size: 15px; }
.login-art .ring { position: absolute; right: -120px; bottom: -120px; width: 420px; height: 420px; border-radius: 50%; border: 56px solid color-mix(in srgb, var(--gold) 26%, transparent); }
.login-pane { display: grid; place-items: center; padding: 32px 20px; }
.login-wrap { width: 100%; max-width: 400px; margin: 0 auto; }
.login-wrap.card { padding: 28px; }
.login-wrap h1 { font-size: 28px; }
@media (max-width: 900px) { .login-screen { grid-template-columns: 1fr; } .login-art { display: none; } }
body > main#main > .login-wrap { margin: 8vh auto; }

/* ---- Hilfsklassen für Listen-Kopf ---------------------------------------------------------------- */
.toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.empty { border: 1.5px dashed var(--line); border-radius: 16px; padding: 22px; text-align: center; color: var(--ink-2); }
.stat-inline { display: flex; gap: 22px; flex-wrap: wrap; }
.stat-inline div strong { display: block; font-family: var(--display); font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
.stat-inline div span { font-size: 12px; color: var(--ink-2); }

td.nowrap, .nowrap { white-space: nowrap; }
.chan { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; font-size: 12.5px; }
.bar-cell { width: 34%; } .bar-cell .track { height: 8px; }
.qr-card { display: flex; gap: 16px; align-items: center; margin-top: 14px; background: var(--ground); box-shadow: none; }

/* ---- Vertriebspartner-Ablauf ---------------------------------------------------------------------- */
.stack-16 { display: grid; gap: 16px; align-content: start; min-width: 0; } .stack-8 { display: grid; gap: 8px; }
.mt { margin-top: 16px; }
a.phone { display: block; text-decoration: none; transition: transform .2s ease; } a.phone:hover { transform: translateY(-2px); }
.phone .ph-body .av.photo, .av.photo { object-fit: cover; }
.who2 img.av { width: 34px; height: 34px; border-radius: 50%; }
.stepper { list-style: none; margin: 0 0 20px; padding: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.stepper li { display: flex; align-items: center; gap: 10px; padding: 8px 16px 8px 8px; border-radius: 999px; background: var(--card); box-shadow: var(--shadow); font-weight: 600; font-size: 13.5px; color: var(--ink-2); }
.stepper .dot { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--tint); color: var(--navy); font-size: 13px; }
.stepper .dot .ic { width: 15px; height: 15px; }
.stepper li.now { color: var(--ink); } .stepper li.now .dot { background: var(--navy); color: var(--primary-contrast); }
.stepper li.done .dot { background: var(--good-tint); color: var(--good); }
.pick { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.pick a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; text-decoration: none; color: var(--ink); }
.pick a:hover { background: var(--ground); }
.pick .av { width: 38px; height: 38px; font-size: 13px; } .pick .t { flex: 1; min-width: 0; } .pick .t strong { display: block; } .pick .t small { color: var(--ink-2); font-size: 12px; }
.pick .go { color: var(--ink-2); width: 16px; height: 16px; }
.msg-card .bubble { border-radius: 18px; padding: 4px; margin-bottom: 12px; background: var(--ground); }
.msg-card .bubble.whatsapp { background: #e7f6ea; }
.msg-card .bubble textarea { background: transparent; min-height: 140px; line-height: 1.5; }
.msg-card .bubble textarea:focus { background: var(--card); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .msg-card .bubble.whatsapp { background: #16301f; } }
.qr-big .qr svg { width: 220px; height: 220px; }
.next { display: inline-flex; align-items: center; height: 28px; padding: 0 10px; border-radius: 9px; font-size: 12.5px; font-weight: 600; background: var(--card); box-shadow: inset 0 0 0 1px var(--line); white-space: nowrap; }
.tpl-list { list-style: none; margin: 0 0 6px; padding: 0; display: grid; gap: 10px; }
.tpl-list li { display: flex; align-items: center; gap: 12px; } .tpl-list li > .ic { color: var(--gold-ink); }
.tpl-list li span:nth-child(2) { flex: 1; min-width: 0; } .tpl-list strong { display: block; font-size: 13.5px; } .tpl-list small { color: var(--ink-2); font-size: 12px; }
.profile-row { display: flex; gap: 18px; align-items: center; margin-bottom: 16px; flex-wrap: wrap; }
.avatar-xl { width: 96px; height: 96px; border-radius: 50%; background: var(--navy); color: var(--gold-tint); display: grid; place-items: center; font-size: 30px; font-weight: 700; overflow: hidden; flex: none; }
.avatar-xl img { width: 100%; height: 100%; object-fit: cover; }
.preview-bar { position: sticky; top: 0; z-index: 10; display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; justify-content: center; padding: 10px 16px; background: var(--gold-tint); color: var(--gold-ink); font-size: 13px; text-align: center; }
.preview-bar a { color: var(--gold-ink); font-weight: 600; }
.person-card { display: grid; gap: 12px; }
.person img.av.photo { width: 56px; height: 56px; border-radius: 50%; }
details.about > summary { font-size: 13.5px; } details.about p { font-size: 14px; color: var(--ink-2); margin: 0; }
.account { display: grid; gap: 16px; }
.acc-top { display: flex; align-items: center; gap: 14px; }
.acc-top .heart { width: 56px; height: 56px; border-radius: 50%; background: var(--gold-tint); color: var(--gold-ink); display: grid; place-items: center; }
.acc-top .heart .ic { width: 26px; height: 26px; }
.acc-top .big { font-family: var(--display); font-size: 36px; font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.acc-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.acc-steps div { background: var(--ground); border-radius: 14px; padding: 12px 14px; } .acc-steps strong { display: block; font-size: 22px; font-family: var(--display); } .acc-steps span { font-size: 12.5px; color: var(--ink-2); }

.lp-about .kicker { text-align: left; }
@media (max-width: 640px) { .lp-about .kicker { text-align: center; } }
.msg-card .row + .hint { margin-top: 10px; }

/* ---- Prämienwelt (Kundenportal) ------------------------------------------------------------------- */
.kicker.left { text-align: left; }
.ok-text { color: var(--good); font-weight: 600; }
.pw-back { padding-top: 18px; }
.pw-back a { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 13.5px; text-decoration: none; }
.pw-back .ic { transform: rotate(180deg); width: 16px; height: 16px; }
.pw-head { padding: 28px 0 20px; }
.pw-head-grid { display: grid; gap: 20px; align-items: center; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 760px) { .pw-head-grid { grid-template-columns: minmax(0, 1fr) 300px; } }
.pw-title { font-family: var(--serif); font-weight: 600; font-size: clamp(30px, 4.4vw, 44px); line-height: 1.08; color: var(--navy); margin: 4px 0 12px; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .pw-title { color: var(--ink); } }
.pw-points { display: flex; align-items: center; gap: 16px; padding: 20px 22px; }
.pw-trophy { width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; background: var(--gold-tint); color: var(--gold-ink); flex: none; }
.pw-trophy .ic { width: 28px; height: 28px; }
.pw-big { font-family: var(--display); font-size: 36px; font-weight: 700; line-height: 1; letter-spacing: -.02em; color: var(--ink); }
.pw-points a { display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; font-weight: 600; color: var(--gold-ink); text-decoration: none; }
.pw-points a .ic { width: 14px; height: 14px; }
.pw-demo { display: flex; gap: 8px; align-items: flex-start; background: var(--gold-tint); color: var(--gold-ink); border-radius: 12px; padding: 10px 14px; font-size: 13px; }
.pw-demo .ic { width: 16px; height: 16px; flex: none; margin-top: 1px; }
a.chip { text-decoration: none; }
.chip[aria-current="page"] { background: var(--navy); color: var(--primary-contrast); box-shadow: none; }
.chip .n { font-size: 11.5px; opacity: .7; font-weight: 600; }
.pw-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); margin-bottom: 24px; }
.pw-grid.three { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); margin: 0; }
.pw-card { display: flex; flex-direction: column; background: var(--card); border-radius: 18px; overflow: hidden; box-shadow: var(--shadow); text-decoration: none; color: var(--ink); transition: transform .15s ease, box-shadow .15s ease; }
.pw-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lift); }
.pw-art { position: relative; height: 140px; display: grid; place-items: center; color: #fff; }
.pw-art .ic { width: 52px; height: 52px; stroke-width: 1.4; }
.pw-art .pill { position: absolute; right: 10px; top: 10px; background: rgba(255,255,255,.92); color: #13203a; }
.pw-art.big { height: auto; aspect-ratio: 1 / 1; border-radius: var(--r-xl); }
.pw-art.big .ic { width: 120px; height: 120px; stroke-width: 1.1; }
.pw-body { padding: 14px 16px 16px; display: grid; gap: 4px; flex: 1; align-content: start; }
.pw-body strong { font-size: 15px; }
.pw-body .btn { margin-top: 8px; pointer-events: none; }
.pw-pts { font-family: var(--display); font-weight: 700; font-size: 17px; color: var(--gold-ink); }
.pw-teaser { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 900px) { .pw-teaser { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); } }
.pw-orders { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pw-orders li { background: var(--card); border-radius: 14px; padding: 12px 14px; box-shadow: var(--shadow); display: grid; gap: 2px; }
.pw-code { margin-top: 4px; font-size: .95rem; }
.pw-code code { font-size: 1rem; font-weight: 700; letter-spacing: .04em; user-select: all; }
.pw-detail { padding-top: 20px; }
.pw-detail-grid { display: grid; gap: 32px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 860px) { .pw-detail-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); } }
.pw-price { font-family: var(--display); font-weight: 700; font-size: 30px; color: var(--gold-ink); margin: 8px 0 16px; }
.pw-calc { display: grid; gap: 8px; padding: 16px 18px; margin-bottom: 16px; background: var(--ground); box-shadow: none; }
.pw-calc div { display: flex; justify-content: space-between; font-size: 14px; } .pw-calc .sum { border-top: 1px solid var(--line); padding-top: 8px; font-weight: 700; }
.pw-checks { list-style: none; margin: 18px 0; padding: 0; display: grid; gap: 8px; font-size: 14px; }
.pw-checks li { display: flex; gap: 8px; align-items: center; } .pw-checks .ic { color: var(--gold-ink); width: 18px; height: 18px; }

/* Bonusstufen & Empfehlen (ADR-023) */
.acc-steps.three { grid-template-columns: repeat(3, 1fr); }
.alert.welcome { margin: 18px 0 0; display: flex; gap: 8px; align-items: flex-start; } .alert.welcome .ic { flex: none; margin-top: 2px; }
.bonus-card { display: grid; gap: 18px; padding: 24px; max-width: 760px; margin: 0 auto; }
.bonus-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.bonus-head .big { font-family: var(--display); font-size: 40px; font-weight: 700; line-height: 1; }
.bonus-next strong { display: inline-flex; gap: 6px; align-items: center; color: var(--gold-ink); }
.bonus-bar { width: 100%; height: 12px; appearance: none; border: 0; border-radius: 99px; background: var(--ground); overflow: hidden; }
.bonus-bar::-webkit-progress-bar { background: var(--ground); border-radius: 99px; }
.bonus-bar::-webkit-progress-value { background: var(--accent); border-radius: 99px; }
.bonus-bar::-moz-progress-bar { background: var(--accent); border-radius: 99px; }
.bonus-tiers { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.bonus-tiers li { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; background: var(--ground); }
.bonus-tiers li .n { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; background: var(--card); color: var(--ink-2); }
.bonus-tiers li.done .n { background: var(--good); color: #fff; }
.bonus-tiers li strong { display: block; } .bonus-tiers li span:not(.n):not(.badge) { font-size: 13px; color: var(--ink-2); }
@media (max-width: 560px) { .acc-steps.three { grid-template-columns: 1fr 1fr; } .bonus-tiers li { grid-template-columns: 36px 1fr; } .bonus-tiers li .badge { grid-column: 2; justify-self: start; } }
.selfsignup-card { margin: 0 0 20px; display: grid; gap: 12px; }
.lp-hero-side .form-card { color: var(--ink); padding: 24px; border-radius: var(--r-xl); box-shadow: var(--shadow-lift); } .lp-hero-side .form-card h2 { font-size: 19px; }
/* Prämienbilder */
.pw-art.photo { background: var(--ground); overflow: hidden; }
.pw-art.photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pw-art.photo .pill { z-index: 1; }
.pw-fig { margin: 0; display: grid; gap: 6px; }
.prize .art.photo { position: relative; overflow: hidden; } .prize .art.photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.prize .art.photo .pill, .prize .art.photo .partner { z-index: 1; }
/* Beratervideo */
.lp-about.with-video { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.lp-video { margin: 0; display: grid; gap: 8px; }
.lp-video video { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--r-xl); background: #0b1630; box-shadow: var(--shadow-lift); }
@media (max-width: 760px) { .lp-about.with-video { grid-template-columns: 1fr; } }
.video-stage video { width: 100%; max-width: 420px; aspect-ratio: 16 / 9; border-radius: 14px; background: #0b1630; }
.video-row { display: grid; gap: 10px; margin: 18px 0; padding-top: 16px; border-top: 1px solid var(--line, #e5e7eb); } .video-row h3 { display: flex; gap: 6px; align-items: center; font-size: 15px; margin: 0; }
.topic-grid { display: grid; gap: 12px; } .topic-row { border: 1px solid var(--line, #e5e7eb); border-radius: 14px; padding: 12px 14px; display: grid; gap: 8px; } .topic-row legend { font-weight: 600; padding: 0 6px; }
.topic-share { margin-top: 12px; border-top: 1px solid var(--line, #e5e7eb); padding-top: 10px; }
.topic-share summary { cursor: pointer; font-weight: 600; display: flex; gap: 6px; align-items: center; }
.topic-share ul { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 8px; }
.topic-share li { display: flex; gap: 8px; align-items: center; } .topic-share li span { flex: 1; font-weight: 500; }
/* Bestenliste & Bonus-Kurzfassung */
.leader { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.leader li { display: grid; grid-template-columns: 30px 1fr auto; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 12px; background: var(--ground); }
.leader li.self { background: var(--gold-tint); }
.leader li.gap { background: none; padding: 0 10px; color: var(--ink-2); display: block; }
.leader .rank { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; background: var(--card); }
.leader li:first-child .rank { background: var(--accent); color: var(--accent-contrast, #111); }
.leader .num { font-variant-numeric: tabular-nums; font-size: 13px; } .leader small { color: var(--ink-2); }
.bonus-mini { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.bonus-mini li { display: flex; gap: 10px; align-items: center; } .bonus-mini .n { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--gold-tint); color: var(--gold-ink); font-weight: 700; }
@media (min-width: 900px) { .kpis:has(> :nth-child(7)) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* Video im Hero */
.hero-video { padding: 0; overflow: hidden; color: var(--ink); border-radius: var(--r-xl); box-shadow: var(--shadow-lift); }
.hero-video video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #0b1630; }
.hero-video-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 16px; font-size: 14px; }
.hero-video-foot span { display: inline-flex; gap: 6px; align-items: center; }

/* Akademie (ADR-025) */
.ac-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin-bottom: 20px; }
.ac-course { display: flex; flex-direction: column; gap: 8px; color: var(--ink); text-decoration: none; transition: box-shadow .15s; }
.ac-course:hover, .ac-course:focus-visible { box-shadow: var(--shadow-lift); }
.ac-course strong { font-size: 16px; }
.ac-top { display: flex; justify-content: space-between; align-items: center; }
.ac-ic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--gold-tint); color: var(--gold-ink); }
.ac-continue { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.ac-continue > div { flex: 1; display: grid; gap: 2px; } .ac-continue small { color: var(--ink-2); }
.ac-lessons { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 6px; }
.ac-lessons li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; background: var(--ground); }
.ac-lessons .n { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--tint); color: var(--navy); font-weight: 600; font-size: 13px; }
.ac-lessons .n .ic { width: 15px; height: 15px; }
.ac-lessons li.done .n { background: var(--good-tint); color: var(--good); }
.ac-lessons a { flex: 1; color: var(--ink); text-decoration: none; display: grid; gap: 2px; }
.ac-lessons a small { color: var(--ink-2); }
.ac-lessons a:hover strong, .ac-lessons a:hover { text-decoration: underline; }
.ac-lessons a[aria-current] { font-weight: 700; }
.ac-lessons.small li { padding: 8px 10px; font-size: 13px; }
.ac-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; align-items: start; margin-bottom: 20px; }
@media (max-width: 900px) { .ac-layout { grid-template-columns: 1fr; } }
.ac-lesson h1 { margin-bottom: 16px; }
.ac-video { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: var(--r-sm); background: #0b1630; margin-bottom: 18px; }
.ac-text { font-size: 15px; line-height: 1.65; max-width: 72ch; }
.ac-text h3 { font-size: 17px; margin: 22px 0 6px; }
.ac-text ul { padding-left: 20px; } .ac-text li { margin: 4px 0; }
.ac-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line); }
.ac-side h2 { font-size: 15px; }

/* Kundenumfrage (NPS, ADR-025) */
.nps-card { margin: 18px 0; scroll-margin-top: 90px; }
.nps-scale { border: 0; margin: 0; padding: 0; min-width: 0; }
.nps-scale legend { font-size: 15.5px; margin-bottom: 12px; padding: 0; }
.nps-buttons { display: grid; grid-template-columns: repeat(11, minmax(0, 1fr)); gap: 6px; }
.nps-b { min-height: 44px; border: 1.5px solid var(--line); border-radius: 10px; background: var(--card); color: var(--ink); font: inherit; font-weight: 700; font-size: 15px; cursor: pointer; }
.nps-b:hover, .nps-b:focus-visible { border-color: var(--navy); background: var(--tint); }
@media (max-width: 520px) { .nps-buttons { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.nps-ends { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--ink-2); margin-top: 6px; }
.nps-done { font-size: 15px; display: flex; gap: 8px; align-items: flex-start; flex-wrap: wrap; margin: 0 0 12px; }
.nps-top { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.nps-score { width: 96px; height: 96px; border-radius: 50%; display: grid; place-content: center; text-align: center; background: var(--tint); color: var(--navy); }
.nps-score strong { font-size: 28px; line-height: 1; } .nps-score small { font-size: 12px; color: var(--ink-2); }
.nps-score.good { background: var(--good-tint); color: var(--good); } .nps-score.bad { background: var(--bad-tint); color: var(--bad); }
.nps-split { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; flex: 1; min-width: 200px; }
.nps-split li { display: flex; align-items: center; gap: 8px; } .nps-split strong { margin-left: auto; }
.nps-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--ink-2); } .nps-dot.ok { background: var(--good); } .nps-dot.bad { background: var(--bad); }
.nps-comments { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 10px; }
.nps-comments li { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; background: var(--ground); }
.nps-comments p { margin: 2px 0; }

/* E-Mail-Versand (ADR-026) */
.mail-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.mail-list li { border-radius: 12px; background: var(--ground); padding: 10px 12px; }
.mail-list summary { display: flex; gap: 10px; align-items: center; cursor: pointer; }
.mail-sub { display: grid; gap: 2px; min-width: 0; } .mail-sub small { color: var(--ink-2); overflow-wrap: anywhere; }
.mail-body { white-space: pre-wrap; font: inherit; font-size: 13.5px; background: var(--card); border-radius: 10px; padding: 12px; margin: 10px 0 0; overflow-wrap: anywhere; }

/* Wegweiser auf der Kundenseite */
.wayfinder { margin: 18px 0; display: grid; gap: 10px; }
.wayfinder ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 720px) { .wayfinder ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.wayfinder li { display: flex; gap: 10px; align-items: flex-start; padding: 12px; border-radius: 14px; background: var(--card); box-shadow: var(--shadow); min-width: 0; }
.wayfinder li a, .wayfinder li > span:last-child { display: grid; gap: 2px; color: var(--ink); text-decoration: none; min-width: 0; }
.wayfinder li a:hover strong { text-decoration: underline; }
.wayfinder small { color: var(--ink-2); font-size: 12.5px; line-height: 1.35; }
.wayfinder .n { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--tint); color: var(--navy); font-weight: 700; font-size: 13px; }
.wayfinder .n .ic { width: 15px; height: 15px; }
.wayfinder li.done .n { background: var(--good-tint); color: var(--good); }
.wayfinder li.now { box-shadow: 0 0 0 2px var(--accent), var(--shadow); }
.wayfinder li.now .n { background: var(--accent); color: var(--accent-contrast); }
.wf-save { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: var(--ink-2); margin: 0; }
.wf-save .ic { flex: none; width: 16px; height: 16px; margin-top: 2px; }

/* So funktioniert's */
.how-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.how-links li { display: grid; gap: 2px; } .how-links span { color: var(--ink-2); font-size: 13.5px; }
.how-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; counter-reset: h; }
.how-steps li { counter-increment: h; display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 14px; padding: 14px; border-radius: 14px; background: var(--ground); align-items: start; }
.how-steps .who { justify-self: start; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 99px; background: var(--tint); color: var(--navy); }
.how-steps .who::before { content: counter(h) " · "; }
.how-steps li.kunde .who { background: var(--gold-tint); color: var(--gold-ink); }
.how-steps li.interessent .who { background: var(--good-tint); color: var(--good); }
.how-steps p { margin: 4px 0; color: var(--ink-2); } .how-steps small { font-size: 12.5px; color: var(--ink-2); }
@media (max-width: 640px) { .how-steps li { grid-template-columns: 1fr; gap: 6px; } }
