/* Operator detail layouts, stacked on narrow screens. */
.lz-operations-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:24px;align-items:start}
.lz-operations-layout>*{min-width:0}
.lz-operations-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:16px}
.lz-operations-filters label,.lz-operations-layout form label{display:flex;flex-direction:column;gap:6px}
.lz-operations-layout input:not([type=checkbox]),.lz-operations-layout select,.lz-operations-layout textarea{width:100%;min-height:44px;box-sizing:border-box}
.lz-case-steps{display:flex;gap:4px;margin-bottom:8px}
.lz-case-steps span{border-top:4px solid var(--accent,#468778);padding:6px 4px;font-size:12px}
.lz-operations-layout ol{padding-left:22px}.lz-operations-layout li{margin:12px 0}
@media(max-width:1100px){.lz-operations-layout{grid-template-columns:1fr}}
/* lebenszeichen – UI-Bausteine (Redesign 2026-10)
   Benötigt tokens.css. Alle Klassen tragen das Präfix lz-, damit sie neben der alten styles.css
   leben können, bis jede Seite migriert ist. Farben NUR über Tokens – keine Hex-Werte hier ergänzen.
   Breakpoints: 960px (Seitenleiste wird Schublade), 720px (Tabellen werden Karten), 480px (kompakt). */

/* ---------- Basis ---------- */
:is(body.admin-ui, body.workspace-ui, body.public-ui) { margin: 0; background: var(--bg); color: var(--text); font: var(--fs-md)/1.55 var(--font); -webkit-font-smoothing: antialiased; }
body.admin-ui { font-size: var(--fs-base); line-height: 1.5; }
:is(body.admin-ui, body.workspace-ui, body.public-ui) :focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
:is(body.admin-ui, body.workspace-ui, body.public-ui) a { color: var(--link); text-underline-offset: 3px; }
:is(body.admin-ui, body.workspace-ui, body.public-ui) a:hover { color: var(--primary-text); }
.lz-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.lz-icon { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- Admin-Shell ---------- */
.lz-shell { display: grid; grid-template-columns: var(--sidebar-w) minmax(0, 1fr); min-height: 100vh; }
.lz-main-col { display: flex; flex-direction: column; min-width: 0; }
.lz-page { box-sizing: border-box; width: 100%; max-width: 1320px; padding: 28px 32px 48px; display: flex; flex-direction: column; gap: 24px; }

.lz-sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; box-sizing: border-box; padding: 20px 14px 18px; display: flex; flex-direction: column; gap: 22px; background: var(--nav-bg); color: #b7c0d6; }
.lz-sidebar__brand { display: flex; align-items: center; gap: 11px; padding: 4px 8px; text-decoration: none; }
.lz-sidebar__brand svg, .lz-sidebar__brand img { width: 38px; height: 38px; }
.lz-sidebar__name { color: #fff; font-size: 17px; font-weight: 750; letter-spacing: -.02em; line-height: 1.15; display: block; }
.lz-sidebar__area { color: var(--mint-logo); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; display: block; }
.lz-sidebar__group { display: flex; flex-direction: column; gap: 2px; }
.lz-sidebar__label { padding: 0 12px 6px; color: #8d98b4; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.lz-sidebar__footer { margin-top: auto; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.1); display: flex; flex-direction: column; gap: 2px; }
.lz-nav-item { display: flex; align-items: center; gap: 12px; min-height: 40px; padding: 0 12px; border-radius: var(--radius-sm); color: #b7c0d6 !important; text-decoration: none; font-weight: 500; }
.lz-nav-item:hover { background: rgba(255,255,255,.06); color: #fff !important; }
.lz-nav-item[aria-current="page"] { background: rgba(255,255,255,.1); color: #fff !important; font-weight: 600; }
.lz-nav-item > span:first-of-type { flex: 1 1 auto; }
.lz-count { min-width: 22px; height: 22px; padding: 0 7px; box-sizing: border-box; border-radius: 999px; background: var(--coral); color: #18233f; font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.lz-count--danger { background: #b42318; color: #fff; }
.lz-user-chip { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding: 10px; border-radius: var(--radius); background: rgba(255,255,255,.06); }
.lz-user-chip__avatar { width: 34px; height: 34px; border-radius: 10px; background: var(--primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; }
.lz-user-chip__name { color: #fff; font-weight: 600; display: block; }
.lz-user-chip__meta { color: #8d98b4; font-size: 12px; display: block; }
.lz-user-chip form { margin: 0 0 0 auto; }
.lz-user-chip button { width: var(--touch); height: var(--touch); border: 0; border-radius: var(--radius-sm); background: transparent; color: #b7c0d6; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }

.lz-topbar { position: sticky; top: 0; z-index: 20; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 14px 32px; background: var(--surface); border-bottom: 1px solid var(--line); }
.lz-topbar__spacer { flex: 1 1 0; }
.lz-breadcrumb { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: var(--fs-sm); }
.lz-breadcrumb a { color: var(--muted); text-decoration: none; }
.lz-breadcrumb [aria-current="page"] { color: var(--ink); font-weight: 600; }
.lz-search { flex: 1 1 280px; max-width: 520px; display: flex; align-items: center; gap: 10px; height: 42px; padding: 0 12px; box-sizing: border-box; border: 1px solid var(--line); border-radius: var(--radius); background: var(--bg); color: var(--muted); }
.lz-search input { flex: 1 1 auto; min-width: 0; border: 0; background: transparent; font: inherit; color: var(--ink); outline: none; }
.lz-search input::placeholder { color: var(--muted); opacity: 1; }
.lz-kbd { padding: 2px 7px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); font-size: 12px; font-weight: 600; }
.lz-menu-btn { display: none; }

/* ---------- Seitenkopf ---------- */
.lz-page-header { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.lz-page-header h1 { margin: 0 0 4px; color: var(--ink); font-size: var(--fs-xl); line-height: 1.2; font-weight: 750; letter-spacing: -.025em; }
.lz-page-header p { margin: 0; color: var(--muted); }
.lz-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

/* ---------- Buttons ---------- */
.lz-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: var(--touch); padding: 0 16px; border: 1px solid transparent; border-radius: var(--radius); font: inherit; font-weight: 600; text-decoration: none !important; cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.lz-btn--primary { background: var(--primary); color: #fff !important; box-shadow: var(--shadow-primary); }
.lz-btn--primary:hover { background: var(--primary-hover); }
.lz-btn--secondary { background: var(--surface); border-color: var(--line); color: var(--ink) !important; }
.lz-btn--secondary:hover { border-color: var(--primary); color: var(--primary-text) !important; }
.lz-btn--dark { background: var(--brand-bg); color: #fff !important; }
.lz-btn--danger { background: var(--surface); border-color: var(--danger-line); color: var(--danger-text) !important; font-weight: 700; }
.lz-btn--danger-solid { background: var(--danger-dot); color: #fff !important; }
.lz-btn--icon { width: var(--touch); padding: 0; background: var(--surface); border-color: var(--line); color: var(--ink) !important; }
.lz-btn--block { width: 100%; }
.lz-btn[disabled] { opacity: .5; cursor: not-allowed; }

.lz-segmented { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: var(--radius); background: var(--surface-2); }
.lz-segmented button { min-height: 36px; padding: 0 14px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font: inherit; font-size: var(--fs-sm); font-weight: 600; cursor: pointer; }
.lz-segmented button.is-active, .lz-segmented button[aria-pressed="true"], .lz-segmented button[aria-selected="true"] { background: var(--surface); color: var(--ink); box-shadow: var(--shadow-sm); }

.lz-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--text); font: inherit; font-size: var(--fs-sm); font-weight: 600; cursor: pointer; }
.lz-chip.is-active, .lz-chip[aria-pressed="true"] { background: var(--brand-bg); border-color: var(--brand-bg); color: #fff; }

/* ---------- Karten & Kennzahlen ---------- */
.lz-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); }
.lz-card--pad { padding: 18px 20px; }
.lz-card__header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.lz-card__title { margin: 0; color: var(--ink); font-size: var(--fs-lg); font-weight: 700; }
.lz-card__sub { margin: 2px 0 0; color: var(--muted); font-size: var(--fs-sm); }
.lz-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; border-top: 1px solid var(--line-soft); background: var(--surface-sunken); color: var(--muted); font-size: var(--fs-sm); border-radius: 0 0 var(--radius-lg) var(--radius-lg); }
.lz-split { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
.lz-split > :first-child { flex: 999 1 600px; min-width: 0; }
.lz-split > :last-child { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }

.lz-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.lz-kpi { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); text-align: left; font: inherit; color: inherit; text-decoration: none; }
button.lz-kpi { cursor: pointer; }
.lz-kpi[aria-pressed="true"], .lz-kpi.is-active { border: 2px solid var(--kpi-accent, var(--primary)); box-shadow: var(--shadow); }
.lz-kpi__top { display: flex; align-items: center; justify-content: space-between; width: 100%; color: var(--muted); font-size: var(--fs-sm); font-weight: 600; }
.lz-kpi__icon { width: 36px; height: 36px; border-radius: var(--radius-sm); display: inline-flex; align-items: center; justify-content: center; background: var(--kpi-soft, var(--surface-2)); color: var(--kpi-text, var(--text-2)); }
.lz-kpi__value { color: var(--ink); font-size: 34px; line-height: 1; font-weight: 750; letter-spacing: -.03em; }
.lz-kpi__hint { color: var(--muted); font-size: var(--fs-sm); }
.lz-kpi--critical { --kpi-accent: var(--danger-dot); --kpi-soft: var(--danger-soft); --kpi-text: var(--danger-text); }
.lz-kpi--warning { --kpi-accent: var(--warning-dot); --kpi-soft: var(--warning-soft); --kpi-text: var(--warning-text); }
.lz-kpi--ok { --kpi-accent: var(--ok-dot); --kpi-soft: var(--ok-soft); --kpi-text: var(--ok-text); }

/* ---------- Status ---------- */
.lz-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; background: var(--surface-2); color: var(--text-2); }
.lz-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--neutral-dot); }
.lz-pill--critical { background: var(--danger-soft); color: var(--danger-text); } .lz-pill--critical::before { background: var(--danger-dot); }
.lz-pill--warning { background: var(--warning-soft); color: var(--warning-text); } .lz-pill--warning::before { background: var(--warning-dot); }
.lz-pill--ok { background: var(--ok-soft); color: var(--ok-text); } .lz-pill--ok::before { background: var(--ok-dot); }
.lz-pill--plain::before { display: none; }
.lz-tag { padding: 1px 7px; border-radius: 6px; background: var(--surface-2); color: var(--text-2); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.lz-tag--admin { background: var(--brand-bg); color: #fff; }
.lz-dot { width: 10px; height: 10px; border-radius: 50%; flex: 0 0 auto; background: var(--neutral-dot); }
.lz-dot--ok { background: var(--ok-dot); } .lz-dot--warning { background: var(--warning-dot); } .lz-dot--critical { background: var(--danger-dot); } .lz-dot--info { background: var(--primary); }
.lz-live { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 12px; border-radius: 999px; background: var(--ok-soft); color: var(--ok-text) !important; font-size: var(--fs-sm); font-weight: 600; text-decoration: none; }
.lz-live::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ok-dot); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ok-dot) 20%, transparent); }
.lz-live--warning { background: var(--warning-soft); color: var(--warning-text) !important; } .lz-live--warning::before { background: var(--warning-dot); }
.lz-live--critical { background: var(--danger-soft); color: var(--danger-text) !important; } .lz-live--critical::before { background: var(--danger-dot); }

/* Ablauf: 4 Stufen – Zeichen, Erinnerung, Kontakt 1, Weitere. data-step="0..4", Status per Klasse */
.lz-progress { display: flex; gap: 4px; }
.lz-progress > span { flex: 1 1 0; height: 6px; border-radius: 999px; background: var(--track); }
.lz-progress > span.is-done { background: var(--progress-color, var(--primary)); }
.lz-progress--ok { --progress-color: var(--ok-dot); }
.lz-progress--warning { --progress-color: var(--warning-dot); }
.lz-progress--critical { --progress-color: var(--danger-dot); }

.lz-avatar { flex: 0 0 auto; width: 36px; height: 36px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; font-weight: 750; background: var(--primary-soft); color: var(--primary-text); }
.lz-avatar--lg { width: 64px; height: 64px; border-radius: 18px; font-size: 26px; font-weight: 800; }
.lz-avatar--critical { background: var(--danger-soft); color: var(--danger-text); }
.lz-avatar--warning { background: var(--warning-soft); color: var(--warning-text); }
.lz-avatar--ok { background: var(--ok-soft); color: var(--ok-text); }

/* ---------- Datenliste (Tabelle → Karten auf Mobil) ----------
   Markup: <div class="lz-table" role="table"> mit .lz-table__head / .lz-table__row (role="row")
   und Zellen mit data-label="Status" für die Mobil-Ansicht. Spalten über --cols am Container. */
.lz-table { --cols: minmax(220px, 2fr) 130px minmax(200px, 1.6fr) 130px 52px; }
.lz-table__head, .lz-table__row { display: grid; grid-template-columns: var(--cols); gap: 16px; align-items: center; padding: 12px 20px; }
.lz-table__head { padding-block: 10px; background: var(--surface-sunken); color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.lz-table__row { border-top: 1px solid var(--line-soft); color: inherit; text-decoration: none; }
a.lz-table__row:hover, .lz-table__row:hover { background: var(--surface-sunken); }
.lz-table__row[hidden] { display: none; }
.lz-cell-person { display: flex; align-items: center; gap: 12px; min-width: 0; }
.lz-cell-person strong { display: block; color: var(--ink); font-weight: 650; }
.lz-cell-person small { display: block; color: var(--muted); font-size: var(--fs-sm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lz-cell-stack { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.lz-cell-stack small { color: var(--muted); font-size: 12px; }
.lz-empty { padding: 48px 20px; text-align: center; color: var(--muted); }
.lz-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.lz-pagination__pages { display: flex; gap: 6px; }
.lz-pagination__pages a, .lz-pagination__pages span { min-width: 44px; height: 36px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); display: inline-flex; align-items: center; justify-content: center; text-decoration: none; font-weight: 600; }
.lz-pagination__pages [aria-current="page"] { background: var(--brand-bg); border-color: var(--brand-bg); color: #fff; }

/* ---------- Liste in Seitenkarten (Systemzustand, Ereignisse) ---------- */
.lz-list { margin: 0; padding: 0; list-style: none; }
.lz-list > li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line-soft); }
.lz-list strong { color: var(--ink); font-weight: 600; }
.lz-list small { color: var(--muted); }
.lz-feed > li { display: grid; grid-template-columns: 12px 1fr auto; align-items: start; }
.lz-feed .lz-dot { margin-top: 5px; }

/* ---------- Tabs (kompatibel mit data-tabs aus app.js) ---------- */
.lz-tabs { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 14px; background: var(--surface-2); }
.lz-tabs button, .lz-tabs a { flex: 1 1 auto; min-height: 40px; padding: 0 16px; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--text-2); font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.lz-tabs .is-active, .lz-tabs [aria-selected="true"], .lz-tabs [aria-current="page"] { background: var(--surface); color: var(--ink); box-shadow: var(--shadow-sm); }
/* Unterstrichene Variante für die Kunden-Navigation */
.lz-tabs--line { padding: 0; gap: 4px; background: none; border-radius: 0; overflow-x: auto; flex-wrap: nowrap; }
.lz-tabs--line a, .lz-tabs--line button { flex: 0 0 auto; min-height: 48px; border-radius: 0; color: var(--muted); white-space: nowrap; }
.lz-tabs--line [aria-current="page"], .lz-tabs--line .is-active { background: none; box-shadow: inset 0 -3px 0 var(--primary); color: var(--ink); }

/* ---------- Formulare ---------- */
.lz-field { display: flex; flex-direction: column; gap: 6px; color: var(--ink); font-weight: 600; }
.lz-input, .lz-field input:not([type="checkbox"]):not([type="radio"]), .lz-field select, .lz-field textarea { box-sizing: border-box; width: 100%; min-height: var(--touch); padding: 0 12px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); font: inherit; font-weight: 400; }
.lz-field textarea { padding: 10px 12px; min-height: 88px; resize: vertical; }
.lz-field input:focus, .lz-field select:focus, .lz-field textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }
.lz-help { color: var(--muted); font-size: 12px; font-weight: 400; }
.lz-field.is-invalid input, .lz-field.is-invalid select, .lz-field.is-invalid textarea, .lz-field [aria-invalid="true"] { border: 2px solid var(--danger-dot); }
.lz-error { color: var(--danger-text); font-size: 12px; font-weight: 600; }
.lz-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; color: var(--text); }
.lz-check input { width: 20px; height: 20px; margin-top: 1px; accent-color: var(--primary); }
.lz-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.lz-form-grid .lz-full { grid-column: 1 / -1; }

/* Definitionsliste (Profil-Felder lesend) */
.lz-dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 24px; margin: 0; }
.lz-dl > div { padding: 12px 0; border-top: 1px solid var(--line-soft); }
.lz-dl dt { color: var(--muted); font-size: 12px; }
.lz-dl dd { margin: 0; color: var(--ink); font-weight: 600; overflow-wrap: anywhere; }

/* ---------- Hinweise ---------- */
.lz-alert { display: flex; gap: 12px; padding: 12px 14px; border-radius: var(--radius); font-size: var(--fs-sm); background: var(--primary-soft); color: var(--text); }
.lz-alert strong { color: var(--ink); }
.lz-alert .lz-icon { margin-top: 1px; color: var(--primary-text); }
.lz-alert--warning { background: var(--warning-soft); color: var(--warning-text-strong); } .lz-alert--warning .lz-icon { color: var(--warning-text); }
.lz-alert--danger { background: var(--danger-soft); color: var(--danger-text-strong); } .lz-alert--danger .lz-icon { color: var(--danger-text); }
.lz-alert--success { background: var(--ok-soft); color: var(--ok-text-strong); } .lz-alert--success .lz-icon { color: var(--ok-text); }

/* ---------- Bestätigung mit Grund (Support-Aktionen) ---------- */
.lz-action-list { display: flex; flex-direction: column; }
.lz-action { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 56px; padding: 8px 10px; border: 0; border-radius: var(--radius); background: transparent; font: inherit; text-align: left; color: inherit; cursor: pointer; list-style: none; }
.lz-action::-webkit-details-marker { display: none; }
.lz-action:hover, details[open] > .lz-action { background: var(--primary-soft); }
.lz-action__icon { flex: 0 0 auto; width: 36px; height: 36px; border-radius: var(--radius-sm); background: var(--surface-2); color: var(--ink); display: inline-flex; align-items: center; justify-content: center; }
.lz-action strong { display: block; color: var(--ink); font-weight: 600; }
.lz-action small { display: block; color: var(--muted); font-size: 12px; }
.lz-confirm { margin: 8px 0 12px; padding: 14px; border-radius: 14px; border: 1px solid var(--primary-line); background: var(--primary-soft-2); display: flex; flex-direction: column; gap: 10px; }

.lz-danger-zone { border: 1px solid var(--danger-line); border-radius: var(--radius-lg); padding: 18px 20px; background: var(--surface); display: flex; flex-direction: column; gap: 10px; }
.lz-danger-zone h2 { margin: 0; color: var(--danger-text); font-size: var(--fs-lg); }

/* ---------- Schublade / Overlay ---------- */
.lz-drawer { position: fixed; inset: 0 0 0 auto; z-index: 60; width: min(420px, 100%); box-sizing: border-box; padding: 28px 24px; background: var(--surface); border-left: 1px solid var(--line); box-shadow: var(--shadow-lg); display: flex; flex-direction: column; gap: 18px; overflow-y: auto; }
.lz-drawer[hidden] { display: none; }
.lz-drawer#create-dummy:not(:target) { display: none; }
.lz-backdrop { position: fixed; inset: 0; z-index: 50; background: rgba(10, 15, 28, .55); }
.lz-backdrop[hidden] { display: none; }
dialog.lz-dialog { width: min(520px, calc(100% - 32px)); padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-xl); background: var(--surface); color: var(--text); box-shadow: var(--shadow-lg); }
dialog.lz-dialog::backdrop { background: rgba(10, 15, 28, .55); }

/* ---------- Kunden-Bereich ---------- */
.lz-site-header { background: var(--surface); border-bottom: 1px solid var(--line); }
.lz-site-header__inner, .lz-container { box-sizing: border-box; max-width: 1240px; margin: 0 auto; padding-inline: 32px; }
.lz-site-header__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding-block: 12px; }
.lz-logo { height: 40px; width: auto; display: block; }
.lz-logo--dark { display: none; }
:root[data-theme="dark"] .lz-logo--light { display: none; }
:root[data-theme="dark"] .lz-logo--dark { display: block; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .lz-logo--light { display: none; }
  :root:not([data-theme="light"]) .lz-logo--dark { display: block; }
}
.lz-status-hero { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; padding: 26px 28px; border-radius: var(--radius-xl); background: var(--brand-bg); color: #c9d1e4; }
.lz-status-hero__title { color: #fff; font-size: 24px; font-weight: 750; letter-spacing: -.02em; }
.lz-service-page { width: 100%; min-width: 0; max-width: 916px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.lz-service-page > *, .lz-service-page .lz-card__header > * { min-width: 0; }
.lz-service-page .lz-card__header { flex-wrap: wrap; }
.lz-service-legend { display: flex; flex-wrap: wrap; gap: 10px 18px; font-size: 13px; }
.lz-service-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.lz-service-page .lz-page-header { margin-bottom: 0; }
.lz-service-summary { flex: 1; min-width: 200px; }
.lz-service-summary p { margin: 6px 0 0; }
.lz-service-row { padding: 18px 22px; border-top: 1px solid var(--line-soft); }
.lz-service-heading { display: flex; align-items: center; gap: 12px; }
.lz-service-heading > div { flex: 1; min-width: 0; }
.lz-service-heading p { margin: 3px 0 0; font-size: 14px; }
.lz-service-bars { display: grid; grid-template-columns: repeat(72, minmax(0, 1fr)); gap: 2px; height: 26px; margin-top: 12px; }
.lz-service-bar { border-radius: 3px; background: var(--track, var(--line)); }
.lz-service-bar--green { background: var(--ok-dot); }
.lz-service-bar--yellow { background: var(--warning-dot); }
.lz-service-bar--red { background: var(--danger-dot); }
.lz-service-axis { display: flex; justify-content: space-between; gap: 8px; margin-top: 8px; font-size: 12px; color: var(--muted); }
.lz-service-axis > span:nth-child(2) { text-align: center; overflow-wrap: anywhere; }
.lz-service-incident { border-top: 1px solid var(--line); padding: 14px 0; }
.lz-service-incident small { display: block; }
.lz-status-hero--unknown .lz-status-mark { background: var(--muted); }
@media (max-width: 600px) { .lz-service-heading { flex-wrap: wrap; } .lz-service-heading .lz-pill { margin-left: 22px; } .lz-service-row { padding: 16px 12px; } .lz-service-bars { gap: 1px; } }
.lz-status-hero__eyebrow { color: var(--mint-logo); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lz-status-hero--warning .lz-status-hero__eyebrow { color: #f5c879; }
.lz-status-hero--critical .lz-status-hero__eyebrow { color: #ffb3bd; }
.lz-status-mark { flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%; background: var(--ok-dot); color: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 0 0 12px rgba(110,231,183,.14); }
.lz-status-hero--warning .lz-status-mark { background: var(--warning-dot); box-shadow: 0 0 0 12px rgba(217,146,34,.18); }
.lz-status-hero--critical .lz-status-mark { background: var(--danger-dot); box-shadow: 0 0 0 12px rgba(216,77,94,.2); }
.lz-timeline { margin: 0; padding: 0; list-style: none; }
.lz-timeline li { display: grid; grid-template-columns: 40px 1fr auto; gap: 14px; align-items: start; padding-bottom: 18px; }
.lz-timeline__mark { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; background: var(--surface-2); color: var(--muted); }
.lz-timeline li.is-done .lz-timeline__mark { background: var(--ok-dot); color: #fff; }
.lz-timeline li.is-current .lz-timeline__mark { background: var(--warning-dot); color: #fff; }
.lz-timeline li.is-alert .lz-timeline__mark { background: var(--danger-dot); color: #fff; }
.lz-link-list { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; }
.lz-link-list a { display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 0 16px; color: var(--ink); text-decoration: none; }
.lz-link-list a + a { border-top: 1px solid var(--line-soft); }

/* ---------- Mobile Admin-Leiste ---------- */
.lz-bottom-nav { display: none; }

/* ---------- Theme-Schalter ---------- */
.lz-theme-toggle .lz-icon--sun { display: none; }
:root[data-theme="dark"] .lz-theme-toggle .lz-icon--sun { display: block; }
:root[data-theme="dark"] .lz-theme-toggle .lz-icon--moon { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .lz-shell { grid-template-columns: minmax(0, 1fr); }
  .lz-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 70; width: min(300px, 85vw); height: 100%; transform: translateX(-100%); transition: transform .2s ease; box-shadow: var(--shadow-lg); }
  .lz-nav-open .lz-sidebar { transform: none; }
  .lz-menu-btn { display: inline-flex; }
  .lz-topbar { padding: 10px 12px; gap: 8px; }
  .lz-topbar .lz-search { order: 10; flex-basis: 100%; max-width: none; }
  .lz-page { padding: 16px 16px 96px; gap: 16px; }
  .lz-bottom-nav { position: fixed; inset: auto 0 0 0; z-index: 40; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 6px 8px calc(10px + env(safe-area-inset-bottom)); background: var(--surface); border-top: 1px solid var(--line); }
  .lz-bottom-nav a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 52px; border-radius: var(--radius); color: var(--muted); font-size: 11px; font-weight: 600; text-decoration: none; }
  .lz-bottom-nav a[aria-current="page"] { color: var(--link); background: var(--primary-soft); }
  .lz-drawer { width: 100%; border-left: 0; }
}
@media (min-width: 961px) { .lz-backdrop[data-nav-backdrop] { display: none; } }

@media (max-width: 720px) {
  .lz-table__head { display: none; }
  .lz-table__row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; margin: 10px 12px 0; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
  .lz-table__row > * { grid-column: 1 / -1; }
  .lz-table__row > .lz-cell-person { grid-column: 1; }
  .lz-table__row > [data-cell="status"] { grid-column: 2; grid-row: 1; justify-self: end; }
  .lz-table__row > [data-cell="action"] { display: none; }
  .lz-table__row > [data-label]::before { content: attr(data-label); display: block; color: var(--muted); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
  .lz-table__row > [data-cell="status"]::before { display: none; }
  .lz-card .lz-table { padding-bottom: 12px; }
  .lz-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .lz-kpi { padding: 12px 14px; gap: 4px; }
  .lz-kpi__value { font-size: 28px; }
  .lz-kpi__icon, .lz-kpi__hint { display: none; }
  .lz-page-header h1 { font-size: 22px; }
  .lz-page-header .lz-actions { width: 100%; }
  .lz-page-header .lz-actions .lz-btn { flex: 1 1 auto; }
  .lz-site-header__inner, .lz-container { padding-inline: 16px; }
  .lz-status-hero { padding: 22px 20px; gap: 14px; }
  .lz-status-hero__title { font-size: 19px; }
}

@media (prefers-reduced-motion: reduce) {
  .lz-sidebar, .lz-btn { transition: none; }
}

/* ---------- Kompatibilität: alte Klassen im neuen Look ----------
   Einige Tests prüfen exakte Strings wie class="button secondary" oder class="user-row".
   Diese Klassen bleiben im Markup stehen und bekommen hier das neue Aussehen.
   Wenn alle Seiten migriert sind, kann styles.css entfallen – dieser Block bleibt. */
:is(body.admin-ui, body.workspace-ui, body.public-ui) .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: var(--touch); padding: 0 16px; border: 1px solid transparent; border-radius: var(--radius); font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; transform: none; }
:is(body.admin-ui, body.workspace-ui, body.public-ui) .button.primary { background: var(--primary); color: #fff; box-shadow: var(--shadow-primary); }
:is(body.admin-ui, body.workspace-ui, body.public-ui) .button.primary:hover { background: var(--primary-hover); color: #fff; }
:is(body.admin-ui, body.workspace-ui, body.public-ui) .button.secondary, :is(body.admin-ui, body.workspace-ui, body.public-ui) .button.ghost, :is(body.admin-ui, body.workspace-ui, body.public-ui) .button:not(.primary) { background: var(--surface); border-color: var(--line); color: var(--ink); }
:is(body.admin-ui, body.workspace-ui, body.public-ui) .button.secondary:hover, :is(body.admin-ui, body.workspace-ui, body.public-ui) .button.ghost:hover { border-color: var(--primary); color: var(--primary-text); }
:is(body.admin-ui, body.workspace-ui, body.public-ui) .danger-button { border-color: var(--danger-line) !important; color: var(--danger-text) !important; }
:is(body.admin-ui, body.workspace-ui, body.public-ui) .notice { padding: 12px 14px; border-radius: var(--radius); background: var(--primary-soft); color: var(--text); }
:is(body.admin-ui, body.workspace-ui, body.public-ui) .notice.error { background: var(--danger-soft); color: var(--danger-text-strong); }
:is(body.admin-ui, body.workspace-ui, body.public-ui) .notice.success { background: var(--ok-soft); color: var(--ok-text-strong); }
body.admin-ui .user-row { background: var(--surface); border-color: var(--line); }
body.admin-ui details { background: var(--surface); border-color: var(--line); color: var(--text); }
body.admin-ui button:not([class]) { background: var(--brand-bg); border-color: transparent; color: #fff; min-height: var(--touch); }

/* Public and account pages share the token palette, including legacy forms. */
:is(.workspace-ui, .public-ui) :is(.profile-card, .auth-card, .product-preview, .preview-toolbar, .preview-message, .flow-card, .product-grid article, .price-card, .contact-card, .channel-member, .workspace-panel, .faq-item) { background: var(--surface); color: var(--text); border-color: var(--line); }
:is(.workspace-ui, .public-ui) :is(input, select, textarea) { background: var(--surface); color: var(--ink); border-color: var(--line-strong); min-height: var(--touch); }
:is(.workspace-ui, .public-ui) :is(.topbar, .site-footer) { background: var(--surface); color: var(--text); border-color: var(--line); }
:is(.workspace-ui, .public-ui) :is(.topbar a, .site-footer a, label, summary) { color: var(--ink); }
.public-ui :is(.boundary-banner, .limits-section, .flow-card.featured) { background: var(--brand-bg); color: #fff; border-color: var(--brand-bg); }
.public-ui :is(.boundary-banner, .limits-section, .flow-card.featured) :is(h2, h3, p, strong) { color: inherit; }
.public-ui .preview-message { border: 1px solid var(--line); }
.public-ui .preview-switcher { background: var(--surface-2); }
.public-ui .preview-switcher button { color: var(--text); min-height: var(--touch); }
.public-ui .preview-switcher button.is-active { background: var(--surface); color: var(--primary-text); }
.lz-preview-progress { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; padding: 0 24px 20px; }
.lz-preview-progress span { height: 5px; border-radius: var(--radius); background: var(--track); }
.lz-preview-progress span:first-child { background: var(--ok-dot); }
.product-preview[data-demo-state="wait"] .lz-preview-progress span:nth-child(-n+2) { background: var(--warning); }
.product-preview[data-demo-state="alert"] .lz-preview-progress span { background: var(--danger, #dc3545); }
@media (max-width: 720px) {
  :is(.workspace-ui, .public-ui) .container { min-width: 0; width: 100%; padding-inline: 16px; }
  :is(.workspace-ui, .public-ui) :is(.form-grid, .home-hero, .split-feature, .flow-grid, .product-grid) { grid-template-columns: minmax(0, 1fr); }
  :is(.workspace-ui, .public-ui) :is(.profile-card, .auth-card, .product-preview) { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  :is(.workspace-ui, .public-ui) :is(input, select, textarea) { max-width: 100%; min-width: 0; }
  .workspace-ui .lz-tabs { flex-wrap: wrap; }
}

/* =====================================================================
   Korrekturen & Erweiterungen 06.10.2026 (Feedback Christopher)
   ===================================================================== */

/* --- Admin: Handy-Menüknopf nur ≤ 960 px (vorher von .lz-btn überstimmt) --- */
.lz-btn.lz-menu-btn { display: none; }
@media (max-width: 960px) { .lz-btn.lz-menu-btn { display: inline-flex; } }
.lz-kbd { white-space: nowrap; }

/* admin.css färbt jeden <button> dunkel – für lz-Bausteine zurücksetzen */
body.admin-ui .lz-btn--icon, body.admin-ui .lz-btn--secondary { background: var(--surface); border-color: var(--line); color: var(--ink); padding: 0; }
body.admin-ui .lz-btn--secondary { padding: 0 16px; }
body.admin-ui .lz-btn--primary { background: var(--primary); border-color: transparent; color: #fff; padding: 0 16px; }
body.admin-ui .lz-btn--danger { background: var(--surface); border-color: var(--danger-line); color: var(--danger-text); padding: 0 16px; }
body.admin-ui .lz-btn--danger-solid { background: var(--danger-dot); border-color: transparent; color: #fff; padding: 0 16px; }
body.admin-ui .lz-btn--dark { background: var(--brand-bg); border-color: transparent; color: #fff; padding: 0 16px; }
body.admin-ui .lz-btn--primary:hover { background: var(--primary-hover); }
body.admin-ui :is(.lz-tabs, .lz-segmented) button { background: transparent; border: 0; color: var(--text-2); padding: 0 16px; }
body.admin-ui :is(.lz-tabs, .lz-segmented) button:is(.is-active, [aria-selected="true"], [aria-pressed="true"]) { background: var(--surface); color: var(--ink); }
body.admin-ui :is(.lz-card, .lz-danger-zone, .lz-confirm, .lz-usermenu, .lz-rowmenu, .lz-edit__body) form { margin: 0; }
.lz-btn--sm { min-height: 36px; padding: 0 12px; font-size: var(--fs-sm); border-radius: var(--radius-sm); }

/* --- Öffentliche Kopfzeile: volle Breite, Logo links --- */
.lz-site-header { position: sticky; top: 0; z-index: 30; background: color-mix(in srgb, var(--surface) 92%, transparent); backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); }
.lz-site-header__inner { box-sizing: border-box; max-width: 1500px; margin: 0 auto; padding: 12px clamp(16px, 5vw, 72px); display: flex; align-items: center; gap: 12px 28px; }
.workspace-ui .lz-site-header__inner { max-width: 1280px; }
.lz-site-header .brand-lockup { flex: 0 0 auto; display: inline-flex; margin-right: auto; }
.lz-site-header .brand-lockup img { height: 44px; width: auto; }
.lz-mainnav { display: flex; align-items: center; gap: 4px 22px; }
.lz-mainnav > a:not(.lz-btn) { padding: 10px 2px; color: var(--text) !important; font-size: .95rem; font-weight: 650; text-decoration: none; }
.lz-mainnav > a:not(.lz-btn):hover, .lz-mainnav > a[aria-current="page"] { color: var(--ink) !important; box-shadow: inset 0 -2px 0 var(--primary); }
.lz-mainnav > .lz-btn--primary, .lz-mainnav > .lz-btn--primary:hover { color: #fff !important; }
.lz-site-header .menu-toggle { display: none; }

/* --- Benutzermenü (enthält Hell/Dunkel) --- */
.lz-usermenu { position: relative; }
.lz-usermenu > summary { list-style: none; display: inline-flex; align-items: center; gap: 8px; min-height: var(--touch); padding: 0 10px 0 4px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--ink) !important; font-weight: 600; cursor: pointer; }
.lz-usermenu > summary::-webkit-details-marker { display: none; }
.lz-usermenu[open] > summary { border-color: var(--primary); }
.lz-usermenu__avatar { width: 34px; height: 34px; border-radius: 9px; background: var(--primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; }
.lz-usermenu__panel { position: absolute; right: 0; top: calc(100% + 8px); z-index: 60; width: 290px; box-sizing: border-box; padding: 8px; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow-lg); display: flex; flex-direction: column; gap: 2px; }
.lz-usermenu__head { padding: 10px 12px 12px; margin-bottom: 4px; border-bottom: 1px solid var(--line-soft); }
.lz-usermenu__head strong { display: block; color: var(--ink); }
.lz-usermenu__head small { display: block; color: var(--muted); font-size: var(--fs-sm); overflow-wrap: anywhere; }
.lz-usermenu__panel > a, .lz-usermenu__panel button { display: flex; align-items: center; gap: 12px; width: 100%; min-height: var(--touch); padding: 0 12px; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--ink) !important; font: inherit; font-weight: 500; text-decoration: none; text-align: left; cursor: pointer; }
.lz-usermenu__panel > a:hover, .lz-usermenu__panel button:hover { background: var(--surface-2); }
/* Keep menu actions readable despite the more specific legacy admin buttons. */
body.admin-ui .lz-usermenu__panel button { background: transparent; }
body.admin-ui .lz-usermenu__panel button:hover { background: var(--surface-2); }
.lz-usermenu__panel form { margin: 4px 0 0; border-top: 1px solid var(--line-soft); padding-top: 4px; }
.lz-usermenu__panel .lz-usermenu__theme { margin-top: 4px; border-top: 1px solid var(--line-soft); border-radius: 0; }

/* Theme-Icons: Mond im hellen, Sonne im dunklen Modus – auch bei Systemeinstellung */
[data-theme-toggle] .lz-icon--sun { display: none; }
:root[data-theme="dark"] [data-theme-toggle] .lz-icon--sun { display: block; }
:root[data-theme="dark"] [data-theme-toggle] .lz-icon--moon { display: none; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) [data-theme-toggle] .lz-icon--sun { display: block; }
  :root:not([data-theme]) [data-theme-toggle] .lz-icon--moon { display: none; }
}

/* --- Fußzeile: volle Breite --- */
.site-footer.lz-site-footer { display: block; max-width: none; margin: 0; padding: 0; background: var(--surface); border-top: 1px solid var(--line); }
.lz-site-footer__inner { box-sizing: border-box; max-width: 1500px; margin: 0 auto; padding: 42px clamp(16px, 5vw, 72px); display: grid; gap: 24px; grid-template-columns: minmax(200px, 240px) minmax(0, 1fr); align-items: start; }
.lz-site-footer .footer-brand { min-width: 0; }
.lz-site-footer .footer-brand img { max-width: 100%; }
.lz-site-footer .footer-links { min-width: 0; align-items: center; align-content: flex-start; }
.lz-site-footer .footer-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 24px; }
.lz-footer-group { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; gap: 4px; }
.lz-footer-group > strong { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; color: var(--ink); font-size: .85rem; }
.lz-footer-group > strong .lz-icon { flex-shrink: 0; color: var(--primary); }
.lz-footer-group > a, .lz-footer-group > button { min-height: 32px; display: inline-flex; align-items: center; padding-block: 4px; overflow-wrap: anywhere; }
.home-demo-caption { margin: -4px 24px 14px; color: var(--muted); font-size: .75rem; }
.home-contact-preview .sequence-person { grid-template-columns: 36px minmax(0, 1fr); box-shadow: none; }
.home-contact-preview .sequence-person > span { align-self: start; background: var(--primary-soft); color: var(--primary); }
.home-contact-preview .sequence-person strong { display: flex; align-items: center; gap: 9px; }
.home-contact-avatar { display: inline-flex; align-items: center; justify-content: center; background: var(--primary-soft); color: var(--primary); width: 32px; height: 32px; border-radius: 10px; font-size: .85rem; flex-shrink: 0; }
.home-contact-preview .sequence-person small { margin-top: 4px; }
.home-contact-preview .home-contact-channel { grid-column: 2; justify-self: start; padding: 4px 10px; border-radius: 8px; background: var(--ok-soft); color: var(--ok-text); font-style: normal; }
@media (max-width: 760px) { .lz-site-footer__inner { grid-template-columns: 1fr; } .lz-site-footer .footer-links { gap: 20px; } }
@media (max-width: 480px) { .lz-site-footer .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lz-site-footer .footer-links > .lz-btn { flex: 0 1 auto; min-height: 44px; height: auto; margin: 0; }
.lz-site-footer__inner > p { grid-column: 1 / -1; margin: 0; }
.workspace-ui .lz-site-footer__inner { max-width: 1280px; }
.lz-footer-theme { display: inline-flex; align-items: center; gap: 6px; padding: 0; border: 0; background: none; color: var(--text); font: inherit; font-size: .8rem; cursor: pointer; }

/* --- Bereichsnavigation im Kundenbereich (eine Leiste statt zwei) --- */
.lz-areanav { margin: 8px 0 24px; border-bottom: 1px solid var(--line); }

/* --- Startseite im Dunkelmodus: Kontaktkette & Preisband --- */
.contact-sequence { background: linear-gradient(145deg, var(--surface), var(--primary-soft-2)); border-color: var(--line); }
.sequence-head span, .sequence-person strong { color: var(--ink); }
.sequence-head b { background: var(--ok-soft); color: var(--ok-text); }
.sequence-person { background: var(--surface); border-color: var(--line); }
.sequence-person > span { background: var(--surface-2); color: var(--ink); font-weight: 700; }
.sequence-person.active { border-color: color-mix(in srgb, var(--ok-dot) 55%, transparent); }
.sequence-person.active > span { background: var(--ok-dot); color: #fff; }
.pricing-section { background: linear-gradient(135deg, var(--primary-soft), var(--ok-soft)); border-color: var(--line); }
.pricing-section h2, .pricing-section .price strong { color: var(--ink); }
.pricing-section p, .pricing-section ul { color: var(--text); }
.pricing-section .price span { color: var(--muted); }

/* --- Mobil: Kopfzeile mit aufklappbarem Menü --- */
@media (max-width: 960px) {
  .lz-site-header__inner { flex-wrap: wrap; }
  .lz-site-header .menu-toggle { display: inline-flex; }
  .js .lz-mainnav { display: none; }
  .lz-mainnav, .js .lz-mainnav.is-open { display: flex; flex: 1 0 100%; flex-direction: column; align-items: stretch; gap: 2px; padding: 8px 0 4px; }
  .lz-mainnav > a:not(.lz-btn) { padding: 12px 4px; box-shadow: none !important; }
  .lz-mainnav > .lz-btn { margin-top: 6px; }
  .lz-mainnav .lz-usermenu > summary { width: 100%; justify-content: flex-start; margin-top: 6px; }
  .lz-mainnav .lz-usermenu__panel { position: static; width: 100%; box-shadow: none; margin-top: 6px; }
  /* Admin-Kopfzeile kompakt: Menü · Bereich · Avatar, Suche darunter */
  .lz-topbar .lz-live, .lz-topbar .lz-usermenu__name, .lz-topbar .lz-usermenu > summary > svg { display: none; }
  .lz-topbar .lz-usermenu > summary { padding: 0 4px; }
  .lz-topbar .lz-usermenu__panel { width: min(290px, calc(100vw - 24px)); }
  .lz-site-footer__inner { grid-template-columns: 1fr; }
}

/* --- Admin: Benutzerliste --- */
.lz-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
body.admin-ui .lz-toolbar .user-search { flex: 1 1 320px; max-width: 560px; display: flex; align-items: center; gap: 8px; margin: 0; }
body.admin-ui .lz-toolbar .user-search .lz-search { flex: 1 1 auto; max-width: none; }
body.admin-ui .lz-toolbar .user-search input { min-height: 0; padding: 0; margin: 0; border: 0; }
.lz-toolbar__count { margin-left: auto; color: var(--muted); font-size: var(--fs-sm); }
.lz-userlist { --cols: minmax(240px, 2.2fr) 160px 90px 170px 150px 150px; }
.lz-userlist__head { display: grid; grid-template-columns: var(--cols); gap: 16px; padding: 10px 20px; background: var(--surface-sunken); color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
body.admin-ui .lz-userlist .user-row { display: grid; grid-template-columns: var(--cols); gap: 16px; align-items: center; margin: 0; padding: 12px 20px; border: 0; border-top: 1px solid var(--line-soft); border-radius: 0; background: var(--surface); box-shadow: none; }
body.admin-ui .lz-userlist .user-row:hover { background: var(--surface-sunken); }
.user-row__person { display: flex; align-items: center; gap: 12px; min-width: 0; text-decoration: none; }
.user-row__person > span:last-child { min-width: 0; }
.user-row__person strong { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--ink); font-weight: 650; }
.user-row__person small { display: block; color: var(--muted); font-size: var(--fs-sm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-row__meta { display: flex; flex-direction: column; min-width: 0; color: var(--ink); font-weight: 550; }
.user-row__meta small { color: var(--muted); font-size: 12px; font-weight: 400; }
.user-row__actions { display: flex; justify-content: flex-end; }

/* Dropdown „Bearbeiten ▾“ mit allen Möglichkeiten */
.lz-rowmenu { position: relative; }
body.admin-ui details.lz-rowmenu { border: 0; padding: 0; margin: 0; background: none; }
.lz-rowmenu > summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); font-size: var(--fs-sm); font-weight: 600; cursor: pointer; }
.lz-rowmenu > summary::-webkit-details-marker { display: none; }
.lz-rowmenu[open] > summary { border-color: var(--primary); color: var(--primary-text); }
.lz-rowmenu__panel { position: absolute; right: 0; top: calc(100% + 6px); z-index: 40; width: 270px; padding: 6px; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-lg); display: flex; flex-direction: column; }
.lz-rowmenu__panel a { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 10px; border-radius: var(--radius-sm); color: var(--ink) !important; text-decoration: none; font-size: var(--fs-sm); font-weight: 500; }
.lz-rowmenu__panel a:hover { background: var(--surface-2); }
.lz-rowmenu__panel hr { width: 100%; border: 0; border-top: 1px solid var(--line-soft); margin: 4px 0; }
.lz-rowmenu__panel a.is-danger { color: var(--danger-text) !important; }
.lz-rowmenu__panel a.is-danger:hover { background: var(--danger-soft); }

/* --- Admin: Profil --- */
.lz-backlink { display: inline-flex; align-items: center; gap: 6px; color: var(--muted) !important; font-size: var(--fs-sm); text-decoration: none; }
.lz-profile-head { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; padding: 22px 24px; }
.lz-profile-head__main { flex: 1 1 320px; min-width: 0; }
body.admin-ui .lz-profile-head h1 { margin: 0; color: var(--ink); font-size: 26px; line-height: 1.2; letter-spacing: -.025em; }
.lz-profile-head__pills { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; }
.lz-profile-head__meta { margin: 6px 0 0; color: var(--muted); overflow-wrap: anywhere; }
.lz-stats { flex: 1 1 460px; display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); margin: 0; border: 1px solid var(--line-soft); border-radius: 14px; overflow: hidden; }
.lz-stats > div { padding: 10px 14px; border-left: 1px solid var(--line-soft); }
.lz-stats > div:first-child { border-left: 0; }
.lz-stats dt { color: var(--muted); font-size: 12px; }
.lz-stats dd { margin: 0; color: var(--ink); font-weight: 650; }
.lz-stack { display: flex; flex-direction: column; gap: 16px; }
.lz-section-title { margin: 0 0 4px; color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.lz-person { overflow: hidden; }
.lz-person__head { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 18px 20px; border-bottom: 1px solid var(--line-soft); }
.lz-person__head > div { flex: 1 1 220px; min-width: 0; }
body.admin-ui .lz-person__head h3 { margin: 0; color: var(--ink); font-size: 17px; }
.lz-person__head p { margin: 0; color: var(--muted); font-size: var(--fs-sm); }
.lz-person__body { padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; }
.lz-stages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.lz-stages > div { padding: 10px 12px; border-radius: var(--radius); background: var(--surface-sunken); border: 1px solid var(--line-soft); }
.lz-stages small { display: block; color: var(--muted); font-size: 12px; font-weight: 600; }
.lz-stages strong { color: var(--ink); font-size: 18px; }
.lz-contact { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--line-soft); border-radius: var(--radius); }
.lz-contact__pos { width: 28px; height: 28px; border-radius: 50%; background: var(--brand-bg); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; }
.lz-contact__main { flex: 1 1 200px; min-width: 0; }
.lz-contact__main strong { display: block; color: var(--ink); }
.lz-contact__main small { color: var(--muted); }
/* aufklappbare Bearbeiten-Bereiche */
body.admin-ui details.lz-edit { border: 0; padding: 0; margin: 0; background: none; }
.lz-contact > details.lz-edit { flex: 1 0 100%; }
.lz-edit > summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); font-size: var(--fs-sm); font-weight: 600; cursor: pointer; }
.lz-edit > summary::-webkit-details-marker { display: none; }
.lz-edit[open] > summary { border-color: var(--primary); color: var(--primary-text); }
.lz-edit__body { margin-top: 12px; padding: 16px; border-radius: var(--radius); background: var(--surface-sunken); border: 1px solid var(--line-soft); display: flex; flex-direction: column; gap: 14px; }
/* Zugang unterstützen: Aktionen als aufklappbare Zeilen */
body.admin-ui details.lz-action-item { border: 0; padding: 0; margin: 0; background: none; }
.lz-action-item > summary.lz-action { list-style: none; }
.lz-action-item[open] > summary.lz-action { background: var(--primary-soft); }
.lz-action-item .lz-confirm { margin: 6px 0 10px; }
.lz-action__text { flex: 1 1 auto; }
body.admin-ui .lz-danger-zone details { border: 0; padding: 0; margin: 0; background: none; }
.lz-danger-zone summary { list-style: none; display: flex; align-items: center; justify-content: center; min-height: var(--touch); border: 1px solid var(--danger-line); border-radius: var(--radius); color: var(--danger-text); font-weight: 700; cursor: pointer; }
.lz-danger-zone summary::-webkit-details-marker { display: none; }
.lz-danger-zone details[open] summary { margin-bottom: 12px; }
.lz-danger-zone p { margin: 0; color: var(--text-2); font-size: var(--fs-sm); }
.lz-kv { margin: 0; padding: 0; list-style: none; }
.lz-kv > li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; padding: 10px 0; border-top: 1px solid var(--line-soft); }
.lz-kv > li:first-child { border-top: 0; }
.lz-kv strong { color: var(--ink); }
.lz-kv small { color: var(--muted); }
body.admin-ui details.lz-audit { border: 0; border-top: 1px solid var(--line-soft); border-radius: 0; padding: 10px 0; margin: 0; background: none; }
.lz-audit summary { font-weight: 600; color: var(--ink); }
.lz-audit pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; background: var(--surface-sunken); padding: 10px; border-radius: var(--radius-sm); }

@media (max-width: 960px) {
  .lz-userlist__head { display: none; }
  body.admin-ui .lz-userlist .user-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
  body.admin-ui .lz-userlist .user-row > .user-row__meta { display: none; }
  body.admin-ui .lz-userlist .user-row > [data-cell="status"] { grid-column: 1; grid-row: 2; }
  body.admin-ui .lz-userlist .user-row > .user-row__actions { grid-column: 2; grid-row: 1 / span 2; }
  .lz-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lz-stats > div { border-left: 0; border-top: 1px solid var(--line-soft); }
}

/* Operational overview and persistent connection badges. */
.lz-overview-secondary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.lz-card__header, .lz-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 20px; }
.lz-card__header h2 { margin: 0; font-size: 17px; }
.lz-card__header p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.lz-card__footer { border-top: 1px solid var(--line-soft); font-size: 13px; color: var(--muted); }
.lz-card--pad > .lz-card__header { padding: 0 0 16px; }
.lz-overview-secondary .lz-list li { flex-wrap: wrap; }
.admin-ui .lz-tabs[data-tabs="admin"] { margin: 20px 0; }
.admin-ui .lz-table__row { color: var(--text); }
.lz-feed > li:only-child:not(:has(.lz-dot)) { display: block; }
@media (min-width: 961px) { .admin-ui .lz-tabs[data-tabs="admin"] { display: none; } .admin-ui .lz-kpis { margin-bottom: 24px; } }
.lz-overview-secondary .lz-list small { margin-left: auto; text-align: right; }
.lz-overview-secondary .lz-feed small { margin-left: 0; text-align: left; }
.connected-services .lz-pill { padding: 9px 13px; font-size: 14px; white-space: normal; }
.lz-information-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; margin-block: 12px; background: var(--surface); }
.lz-information-card summary { cursor: pointer; font-weight: 650; color: var(--ink); }
.lz-information-card form { display: grid; gap: 16px; margin-top: 20px; }
.lz-information-card :is(input,select,textarea) { min-height: 46px; font-size: 16px; }
.lz-help-topics { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 16px; margin-block: 24px; }
.lz-dot { display: inline-block; }
.lz-dot--unknown { background: transparent; border: 2px solid var(--neutral-dot); }
.lz-table .lz-cell-person > div { min-width: 0; }
.lz-table .lz-progress { margin-bottom: 7px; }
@media (max-width: 1200px) { .lz-overview-secondary { grid-template-columns: minmax(0, 1fr); } }
/* Feinschliff nach Sichtprüfung */
body.admin-ui details.lz-usermenu { border: 0; padding: 0; margin: 0; background: none; border-radius: 0; }
body.admin-ui nav.lz-card__footer[aria-label="Ergebnisseiten"] { padding: 14px 20px; }
body.admin-ui [id] { scroll-margin-top: 96px; }
@media (max-width: 720px) { .workspace-ui .lz-areanav { flex-wrap: nowrap; overflow-x: auto; margin-top: 0; } .workspace-ui .lz-areanav a { padding: 0 12px; } }
/* Admin-Übersicht: Filter und KPI-Symbole im Dunkelmodus */
body.admin-ui .filter-buttons { background: var(--surface-2); border-color: var(--line); }
body.admin-ui .filter-buttons button { background: transparent; border: 0; color: var(--text-2); padding: 7px 12px; }
body.admin-ui .filter-buttons button.is-active { background: var(--surface); color: var(--ink); box-shadow: var(--shadow-sm); }
.kpi-card.critical > span { background: var(--danger-soft); color: var(--danger-text); }
.kpi-card.warning > span { background: var(--warning-soft); color: var(--warning-text); }
.kpi-card.ok > span { background: var(--ok-soft); color: var(--ok-text); }
/* Native tables used by the operator workflows, separate from grid tables. */
.lz-table-wrap { overflow-x: auto; }
table.lz-table { width: 100%; border-collapse: collapse; text-align: left; }
table.lz-table th { background: var(--surface-sunken); color: var(--muted); font-size: 12px; }
table.lz-table :is(th,td) { padding: 14px 16px; border-bottom: 1px solid var(--line-soft); vertical-align: top; }
table.lz-table tbody tr:hover { background: var(--surface-sunken); }
.lz-badge { display: inline-flex; padding: 4px 9px; border-radius: 999px; background: var(--surface-sunken); font-size: 12px; font-weight: 650; }
.lz-badge--ok { background: var(--ok-soft); color: var(--ok-text); }
.lz-badge--warning { background: var(--warning-soft); color: var(--warning-text); }
.lz-badge--critical { background: var(--danger-soft); color: var(--danger-text); }
body .lz-operations-layout input[type=checkbox] { width: 20px; height: 20px; min-height: 20px; margin: 0; }
.lz-operations-layout label:has(input[type=checkbox]) { flex-direction: row; align-items: center; }

/* =====================================================================
   Notfallangaben (emergency_information.html) – 07.10.2026
   ===================================================================== */
.lz-info-head { margin-top: 16px; }
.lz-info-privacy { margin: 4px 0 20px; }
.lz-info-layout { margin-top: 8px; }
.lz-tone--primary { background: var(--primary-soft); color: var(--primary-text); }
.lz-tone--ok { background: var(--ok-soft); color: var(--ok-text); }
.lz-tone--warning { background: var(--warning-soft); color: var(--warning-text); }
.lz-tone--coral { background: var(--coral-soft); color: var(--coral-text); }

.lz-info-counts { display: flex; flex-wrap: wrap; gap: 6px; }
.lz-info-count { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: var(--surface-2); color: var(--text-2); font-size: var(--fs-sm); font-weight: 600; }
.lz-info-count b { color: var(--ink); }
.lz-info-count.is-empty { opacity: .6; }
.lz-info-list { display: flex; flex-direction: column; gap: 12px; padding: 16px 20px 20px; }
.lz-info-empty { display: flex; flex-direction: column; align-items: center; gap: 6px; border: 1px dashed var(--line-strong); border-radius: 16px; }
.lz-info-empty strong { color: var(--ink); }

.lz-entry { border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.lz-entry__main { display: flex; flex-wrap: wrap; gap: 16px; padding: 16px; }
.lz-entry__icon { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; }
.lz-entry__body { flex: 1 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.lz-entry__title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.lz-entry__title h3 { margin: 0; color: var(--ink); font-size: 1.1rem; letter-spacing: -.01em; }
.lz-entry__facts { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px 18px; }
.lz-entry__facts dt { color: var(--muted); font-size: 12px; }
.lz-entry__facts dd { margin: 0; color: var(--ink); white-space: pre-wrap; overflow-wrap: anywhere; }
.lz-entry__wide { grid-column: 1 / -1; }
.lz-entry__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; padding-top: 4px; color: var(--muted); font-size: var(--fs-sm); }
.lz-entry__reviewed { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; }
.lz-entry__actions { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; }
.lz-entry__edit { border-top: 1px solid var(--line-soft); }
.lz-entry__edit > summary { list-style: none; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; color: var(--ink); font-weight: 600; cursor: pointer; }
.lz-entry__edit > summary::-webkit-details-marker { display: none; }
.lz-entry__edit[open] > summary { color: var(--primary-text); }
.lz-entry__editbody { padding: 4px 16px 18px; }

/* Formular */
.lz-infoform { display: flex; flex-direction: column; gap: 22px; margin-top: 16px; }
.lz-infoform fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.lz-infoform__step { display: flex; flex-direction: column; gap: 14px; }
.lz-infoform legend, .lz-infoform__legend { margin: 0 0 4px; padding: 0; color: var(--ink); font-weight: 700; }
.lz-infoform .lz-field textarea { min-height: 92px; }
.lz-infoform .lz-field input, .lz-infoform .lz-field select, .lz-infoform .lz-field textarea { font-size: 16px; }
.lz-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
.lz-choice { position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.lz-choice:hover { border-color: var(--primary-line); }
.lz-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lz-choice:has(input:checked) { border: 2px solid var(--primary); padding: 13px; box-shadow: 0 0 0 3px var(--primary-soft); }
.lz-choice:has(input:focus-visible) { outline: 3px solid var(--focus); outline-offset: 2px; }
.lz-choice__icon { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; }
.lz-choice__text { display: flex; flex-direction: column; gap: 2px; }
.lz-choice__text strong { color: var(--ink); }
.lz-choice__text small { color: var(--muted); font-size: 13px; line-height: 1.4; }

.lz-segment-field legend { margin-bottom: 8px; font-size: 14px; font-weight: 600; }
.lz-segmented--radio label { position: relative; display: inline-flex; cursor: pointer; }
.lz-segmented--radio input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lz-segmented--radio span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 9px; color: var(--muted); font-weight: 600; }
.lz-segmented--radio input:checked + span { background: var(--surface); color: var(--ink); box-shadow: var(--shadow-sm); }
.lz-segmented--radio input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 2px; }

.lz-upload { display: flex; flex-direction: column; gap: 8px; }
.lz-upload__drop { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 24px; border: 2px dashed var(--line-strong); border-radius: 16px; background: var(--surface-sunken); color: var(--muted); text-align: center; cursor: pointer; }
.lz-upload__drop:hover { border-color: var(--primary); }
.lz-upload__drop strong { color: var(--ink); }
.lz-upload__drop span { font-size: 13px; }
.lz-upload__drop input[type="file"] { max-width: 100%; margin-top: 6px; font-size: 13px; color: var(--text); }
.lz-upload__current { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }

.lz-check--box { padding: 14px; border-radius: var(--radius); background: var(--surface-sunken); border: 1px solid var(--line-soft); }
.lz-check--box strong { color: var(--ink); }
.lz-infoform__actions { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 16px; border-top: 1px solid var(--line-soft); }
.lz-infoform__actions .lz-btn--danger { margin-left: auto; }
.lz-infoform .lz-btn { min-height: 48px; padding: 0 22px; }

/* Nur passende Felder je Bereich zeigen (ohne :has-Unterstützung bleiben alle sichtbar) */
.lz-infoform:has(input[name="category"][value="document"]:checked) [data-for]:not([data-for~="document"]),
.lz-infoform:has(input[name="category"][value="contact"]:checked) [data-for]:not([data-for~="contact"]),
.lz-infoform:has(input[name="category"][value="key"]:checked) [data-for]:not([data-for~="key"]),
.lz-infoform:has(input[name="category"][value="animal"]:checked) [data-for]:not([data-for~="animal"]) { display: none; }

.lz-steps { margin: 8px 0 0; padding: 0; list-style: none; counter-reset: lzstep; display: flex; flex-direction: column; gap: 10px; }
.lz-steps li { counter-increment: lzstep; display: grid; grid-template-columns: 28px 1fr; gap: 10px; color: var(--text); font-size: var(--fs-sm); }
.lz-steps li::before { content: counter(lzstep); width: 28px; height: 28px; border-radius: 50%; background: var(--primary-soft); color: var(--primary-text); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; }
.lz-list .lz-avatar { width: 32px; height: 32px; border-radius: 10px; }

@media (max-width: 720px) {
  .lz-entry__actions { flex-direction: row; align-items: center; }
  .lz-entry__reviewed { margin-left: 0; }
  .lz-infoform__actions .lz-btn { flex: 1 1 auto; }
  .lz-infoform__actions .lz-btn--danger { margin-left: 0; }
}

/* Checkboxen und Radios nie auf Feldhöhe aufblasen */
:is(.workspace-ui, .public-ui, .admin-ui) input:is([type="checkbox"], [type="radio"]) { min-height: 0; width: 20px; height: 20px; padding: 0; accent-color: var(--primary); flex: 0 0 auto; }
.lz-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 560px) { .lz-choices { grid-template-columns: minmax(0, 1fr); } }
.lz-info-layout .lz-card__title, .lz-info-layout h2.lz-card__title { font-size: 1.125rem; line-height: 1.3; letter-spacing: -.01em; margin: 0; }
.lz-info-layout .lz-btn--block { justify-content: center; text-align: center; margin-top: 12px; }
.lz-info-layout aside .lz-card__sub { margin-bottom: 8px; }

/* =====================================================================
   Kanäle & Historie, Gutscheine (admin.html), Supportanfragen – 07.10.2026
   ===================================================================== */
.lz-muted { color: var(--muted); }
.lz-hint { color: var(--muted); font-size: 12px; font-weight: 400; }
.lz-field > span small { color: var(--muted); font-weight: 400; }
.lz-code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 15px; font-weight: 700; letter-spacing: .04em; padding: 4px 10px; border-radius: 8px; background: var(--surface-2); color: var(--ink); }
.lz-section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin: 28px 0 16px; }
.lz-section-head h2 { margin: 0 0 4px; color: var(--ink); font-size: 1.35rem; letter-spacing: -.02em; }
.lz-section-head p { margin: 0; max-width: 72ch; color: var(--muted); }
.lz-segmented button b { margin-left: 4px; color: var(--muted); font-weight: 700; }
.lz-disclosure { border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.lz-disclosure > summary { list-style: none; display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 12px; color: var(--ink); font-size: var(--fs-sm); font-weight: 600; cursor: pointer; }
.lz-disclosure > summary::-webkit-details-marker { display: none; }
.lz-disclosure > summary::after { content: ""; margin-left: auto; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); opacity: .5; }
.lz-disclosure[open] > summary::after { transform: rotate(-135deg); }
.lz-disclosure > form { padding: 0 12px 12px; }
.lz-disclosure--danger > summary { color: var(--danger-text); }
body.admin-ui details.lz-disclosure { padding: 0; margin: 0; border-radius: 12px; }

/* Kanäle */
.lz-ch-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.lz-ch-fact { display: flex; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); min-width: 0; }
.lz-ch-fact > div { min-width: 0; }
.lz-ch-fact small { color: var(--muted); font-size: 12px; font-weight: 600; }
.lz-ch-fact strong { display: block; margin: 2px 0 4px; color: var(--ink); font-size: 1.1rem; overflow-wrap: anywhere; }
.lz-ch-fact p { margin: 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.lz-ch-fact__icon, .lz-ch-provider__icon, .lz-tk-item__icon, .lz-vc-item__icon { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: var(--surface-2); color: var(--text-2); }
.lz-ch-subhead { margin: 28px 0 12px; color: var(--ink); font-size: 1rem; }
.lz-ch-providers { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
.lz-ch-provider { display: flex; flex-direction: column; gap: 8px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.lz-ch-provider.is-planned { background: var(--surface-sunken); border-style: dashed; }
.lz-ch-provider__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.lz-ch-provider h3 { margin: 0; color: var(--ink); font-size: 1.05rem; }
.lz-ch-provider p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.lz-ch-provider .lz-btn { align-self: flex-start; margin-top: auto; }
.lz-ch-users { margin-top: 28px; }
.lz-ch-sort { display: inline-flex; align-items: center; gap: 10px; margin-left: auto; color: var(--muted); font-size: var(--fs-sm); font-weight: 600; }
.lz-ch-sort select { min-height: 40px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); font: inherit; }
.lz-ch-row { display: grid; grid-template-columns: 36px minmax(220px, 2.2fr) minmax(150px, 1fr) 120px minmax(190px, 1.2fr); align-items: center; gap: 14px; padding: 14px 20px; border-top: 1px solid var(--line-soft); }
.lz-ch-row[hidden] { display: none; }
.lz-ch-row--head { padding-block: 10px; background: var(--surface-sunken); color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.lz-ch-row__who { display: flex; flex-direction: column; min-width: 0; }
.lz-ch-row__who a { color: var(--ink); text-decoration: none; }
.lz-ch-row__who a:hover strong { text-decoration: underline; }
.lz-ch-row__who > span { color: var(--text-2); font-size: var(--fs-sm); overflow-wrap: anywhere; }
.lz-ch-row__who small, .lz-ch-row__last small { color: var(--muted); font-size: 12px; }
.lz-ch-row__last { display: flex; flex-direction: column; font-size: var(--fs-sm); }
.lz-ch-row__last strong { color: var(--ink); }
.lz-ch-link { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; }
.lz-ch-link.is-ok { color: var(--ok-text); }
.lz-ch-link.is-missing { color: var(--warning-text); }

/* Gutscheine */
.lz-vc-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 18px; }
.lz-vc-stats > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); font-size: var(--fs-sm); }
.lz-vc-stats strong { color: var(--ink); font-size: 1.35rem; }
.lz-vc-layout { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.lz-vc-list { flex: 999 1 560px; min-width: 0; }
.lz-vc-create { flex: 1 1 340px; min-width: 0; position: sticky; top: 90px; }
.lz-vc-items { display: flex; flex-direction: column; }
.lz-vc-item { display: flex; flex-wrap: wrap; gap: 14px 20px; padding: 18px 20px; border-top: 1px solid var(--line-soft); }
.lz-vc-item[hidden] { display: none; }
.lz-vc-items .lz-vc-item:first-child { border-top: 0; }
.lz-vc-item:not(.is-active) { background: var(--surface-sunken); }
.lz-vc-items .lz-vc-item:last-child { border-radius: 0 0 var(--radius-lg) var(--radius-lg); }
.lz-vc-item__main { flex: 999 1 320px; display: flex; gap: 14px; min-width: 0; }
.lz-vc-item__icon { background: var(--primary-soft); color: var(--primary-text); }
.lz-vc-item:not(.is-active) .lz-vc-item__icon { background: var(--surface-2); color: var(--muted); }
.lz-vc-item__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.lz-vc-item__title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.lz-vc-item__desc { margin: 0; color: var(--text-2); font-size: var(--fs-sm); }
.lz-vc-item__desc strong { color: var(--ink); }
.lz-vc-item__facts { display: flex; flex-wrap: wrap; gap: 6px 28px; margin: 4px 0 0; }
.lz-vc-item__facts dt { color: var(--muted); font-size: 12px; }
.lz-vc-item__facts dd { margin: 0; display: flex; align-items: center; gap: 8px; color: var(--ink); font-size: var(--fs-sm); font-weight: 600; }
.lz-vc-meter { display: inline-block; width: 70px; height: 6px; border-radius: 999px; background: linear-gradient(var(--primary), var(--primary)) 0 0 / var(--p, 0%) 100% no-repeat, var(--track); }
.lz-vc-item__more { flex: 1 1 280px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.lz-vc-redemptions { margin: 0; padding: 0 12px 12px; list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.lz-vc-redemptions li { display: flex; flex-direction: column; }
.lz-vc-redemptions span { color: var(--muted); font-size: 12px; }
.lz-vc-block { display: flex; flex-direction: column; gap: 10px; }
.lz-vc-form { display: flex; flex-direction: column; gap: 18px; padding: 18px 20px 20px; }
.lz-vc-form fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.lz-vc-form legend { margin-bottom: 8px; padding: 0; color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.lz-vc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; align-items: start; }
.lz-vc-lifetime { align-self: end; min-height: var(--touch); align-items: center; padding-block: 8px; }
.lz-vc-lifetime span { display: flex; flex-direction: column; }
.lz-vc-lifetime small { color: var(--muted); font-size: 12px; }
.lz-vc-form:has([name="is_lifetime"]:checked) [name="duration_days"] { opacity: .45; }

/* Support */
.lz-tk { display: flex; flex-direction: column; gap: 20px; }
.lz-kpi__value--sm { font-size: 24px; }
.lz-tk-form { display: flex; flex-direction: column; gap: 14px; padding: 18px 20px 20px; }
.lz-tk-items { display: flex; flex-direction: column; }
.lz-tk-item { display: flex; flex-direction: column; gap: 12px; padding: 18px 20px; border-top: 1px solid var(--line-soft); }
.lz-tk-item[hidden] { display: none; }
.lz-tk-items .lz-tk-item:first-child { border-top: 0; }
.lz-tk-item.is-open { box-shadow: inset 3px 0 0 var(--warning-dot); }
body.admin-ui form:is(.lz-vc-form, .lz-vc-block, .lz-tk-form) { margin: 0; }
body.admin-ui .lz-tk form.lz-tk-close, .lz-tk form.lz-tk-close { margin: 0 0 0 52px; }
.lz-tk-item__head { display: flex; gap: 12px; align-items: flex-start; }
.lz-tk-item__title { min-width: 0; }
.lz-tk-item__title h3 { margin: 0 0 6px; color: var(--ink); font-size: 1.05rem; overflow-wrap: anywhere; }
.lz-tk-item__title p { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; color: var(--muted); font-size: 13px; }
.lz-tk-item__title a { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; }
.lz-tk-item__body { margin: 0 0 0 52px; padding: 12px 14px; border-radius: var(--radius); background: var(--surface-sunken); color: var(--text); white-space: pre-wrap; overflow-wrap: anywhere; }
.lz-tk .lz-tk-close { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.lz-tk-close .lz-field { flex: 1 1 260px; }
.lz-tk .lz-empty { display: flex; flex-direction: column; align-items: center; gap: 4px; }

@media (max-width: 900px) {
  .lz-ch-row--head { display: none; }
  .lz-ch-row { grid-template-columns: 36px 1fr; gap: 6px 12px; }
  .lz-ch-row > :nth-child(n+3) { grid-column: 2; }
  .lz-ch-sort { margin-left: 0; }
  .lz-vc-create { position: static; }
}
@media (max-width: 600px) {
  .lz-tk .lz-tk-item__body, body.admin-ui .lz-tk form.lz-tk-close, .lz-tk form.lz-tk-close { margin-left: 0; }
  .lz-tk-close .lz-btn { width: 100%; }
  .lz-toolbar .lz-segmented, .lz-card__header .lz-segmented { width: 100%; }
}

/* =====================================================================
   Portal-Startseite (portal.html, Panel „today“) und Registrierung – 08.10.2026
   ===================================================================== */
.lz-pill--primary { background: var(--primary-soft); color: var(--primary-text); }

/* Status-Karte */
.lz-home-status { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; margin: 20px 0 24px; padding: 22px 24px; border: 1px solid var(--line); border-left: 6px solid var(--home-accent, var(--line-strong)); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-sm); }
.lz-home-status--ok { --home-accent: var(--ok-dot); --home-soft: var(--ok-soft); --home-text: var(--ok-text); }
.lz-home-status--warning { --home-accent: var(--warning-dot); --home-soft: var(--warning-soft); --home-text: var(--warning-text); }
.lz-home-status--critical { --home-accent: var(--danger-dot); --home-soft: var(--danger-soft); --home-text: var(--danger-text); }
.lz-home-status__mark { flex: 0 0 auto; width: 60px; height: 60px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; background: var(--home-soft, var(--surface-2)); color: var(--home-text, var(--text-2)); }
.lz-home-status__copy { flex: 999 1 320px; min-width: 0; }
.lz-home-status__copy small { color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.lz-home-status__copy small b { color: var(--home-text, var(--text-2)); }
.lz-home-status__copy h2 { margin: 4px 0 4px; color: var(--ink); font-size: 1.6rem; letter-spacing: -.02em; line-height: 1.2; }
.lz-home-status__copy p { margin: 0; color: var(--text-2); }
.lz-home-status__facts { flex: 1 1 auto; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; justify-content: flex-end; }
.lz-home-status__facts div { padding: 8px 14px; border-radius: 12px; background: var(--surface-sunken); min-width: 96px; }
.lz-home-status__facts dt { color: var(--muted); font-size: 12px; }
.lz-home-status__facts dd { margin: 0; color: var(--ink); font-weight: 700; white-space: nowrap; }
.lz-home-tabs { margin-bottom: 20px; }

/* Tageskarte */
.lz-home-grid { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.lz-home-main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.lz-home-side { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.lz-day { border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); overflow: hidden; }
.lz-day__head { display: flex; align-items: center; gap: 14px; padding: 20px 22px 0; }
.lz-day__head .lz-avatar { width: 48px; height: 48px; border-radius: 14px; font-size: 20px; }
.lz-day__who { flex: 1 1 auto; min-width: 0; }
.lz-day__who small { color: var(--muted); font-size: 12px; }
.lz-day__who h2 { margin: 0; color: var(--ink); font-size: 1.35rem; letter-spacing: -.02em; }
.lz-day__summary { display: flex; align-items: flex-start; gap: 10px; margin: 16px 22px 0; padding: 12px 14px; border-radius: var(--radius); background: var(--surface-sunken); color: var(--text); }
.lz-day--ok .lz-day__summary { background: var(--ok-soft); color: var(--ok-text-strong, var(--ok-text)); }
.lz-day--warning .lz-day__summary { background: var(--warning-soft); color: var(--warning-text-strong, var(--warning-text)); }
.lz-day--critical .lz-day__summary { background: var(--danger-soft); color: var(--danger-text-strong, var(--danger-text)); }
.lz-day__summary p { margin: 0; }
.lz-day__summary .lz-icon, .lz-day__summary svg { flex: 0 0 auto; margin-top: 2px; }
.lz-day h3.lz-day__label { margin: 20px 22px 10px; color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

.lz-daytrack { list-style: none; margin: 0; padding: 0 22px 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.lz-daytrack__step { position: relative; display: flex; flex-direction: column; gap: 10px; padding-right: 12px; }
.lz-daytrack__step::before { content: ""; position: absolute; top: 15px; left: 32px; right: 0; height: 2px; background: var(--line); }
.lz-daytrack__step:last-child::before { display: none; }
.lz-daytrack__dot { position: relative; z-index: 1; width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 2px solid var(--line-strong); background: var(--surface); color: var(--text-2); font-size: 14px; font-weight: 800; }
.lz-daytrack__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lz-daytrack__text strong { color: var(--ink); font-size: 14px; line-height: 1.35; }
.lz-daytrack__text time { display: block; font-size: 1.15rem; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.lz-daytrack__text small { color: var(--muted); font-size: 12.5px; line-height: 1.4; }
.lz-daytrack__step.is-done .lz-daytrack__dot { border-color: var(--ok-dot); background: var(--ok-dot); color: #fff; }
.lz-daytrack__step.is-done::before { background: var(--ok-dot); opacity: .35; }
.lz-daytrack__step.is-done small { color: var(--ok-text); font-weight: 600; }
.lz-daytrack__step.is-skipped { opacity: .5; }
.lz-daytrack__step.is-skipped .lz-daytrack__text time { text-decoration: line-through; text-decoration-thickness: 1px; }
.lz-daytrack__step.is-next .lz-daytrack__dot { border-color: var(--primary); background: var(--primary-soft); color: var(--primary-text); box-shadow: 0 0 0 4px var(--primary-soft); }
.lz-daytrack__step.is-next small { color: var(--primary-text); font-weight: 600; }
.lz-daytrack__step.is-missed .lz-daytrack__dot, .lz-daytrack__step.is-passed .lz-daytrack__dot { border-color: var(--warning-dot); background: var(--warning-soft); color: var(--warning-text); }
.lz-daytrack__step.is-missed small, .lz-daytrack__step.is-passed small { color: var(--warning-text); font-weight: 600; }

.lz-day__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding: 14px 22px; border-top: 1px solid var(--line-soft); background: var(--surface-sunken); color: var(--text-2); font-size: 13px; }
.lz-day__foot > span:first-child { display: inline-flex; align-items: center; gap: 6px; }
.lz-day__foot b { color: var(--ink); }
.lz-day__links { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.lz-conn { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; border: 1px dashed var(--line-strong); color: var(--muted); font-size: 12px; font-weight: 600; }
.lz-conn::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--line-strong); }
.lz-conn.is-on { border: 1px solid transparent; background: var(--ok-soft); color: var(--ok-text); }
.lz-conn.is-on::before { background: var(--ok-dot); }
.lz-day__foot > a { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; font-weight: 600; }
.lz-home-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.lz-home-empty h2 { margin: 0; color: var(--ink); font-size: 1.2rem; }

/* Ereignisliste */
.lz-feed { list-style: none; margin: 0; padding: 8px 20px 16px; display: flex; flex-direction: column; }
.lz-feed__item { position: relative; display: flex; gap: 12px; padding: 10px 0; }
.lz-feed__item:not(:last-child)::after { content: ""; position: absolute; left: 4px; top: 26px; bottom: -6px; width: 2px; background: var(--line-soft); }
.lz-feed__dot { flex: 0 0 auto; width: 10px; height: 10px; margin-top: 6px; border-radius: 50%; background: var(--primary); }
.lz-feed__item--escalation .lz-feed__dot { background: var(--danger-dot); }
.lz-feed__item strong { display: block; color: var(--ink); font-size: 14px; }
.lz-feed__item p { margin: 2px 0; color: var(--text-2); font-size: 13px; overflow-wrap: anywhere; }
.lz-feed__item time { color: var(--muted); font-size: 12px; }
.lz-feed__empty { padding: 8px 0; }
.lz-home-hint strong { display: block; color: var(--ink); }
.lz-home-hint p { margin: 2px 0 0; }

@media (max-width: 760px) {
  .lz-home-status { padding: 18px; }
  .lz-home-status__facts { justify-content: flex-start; }
  .lz-home-status__mark { width: 44px; height: 44px; border-radius: 14px; align-self: flex-start; }
  .lz-home-status__copy { flex: 1 1 200px; }
  .lz-home-status__copy h2 { font-size: 1.3rem; }
  .lz-daytrack { grid-template-columns: 1fr; gap: 0; }
  .lz-daytrack__step { flex-direction: row; gap: 12px; padding: 0 0 16px; }
  .lz-daytrack__step::before { top: 32px; bottom: 0; left: 15px; right: auto; width: 2px; height: auto; }
  .lz-daytrack__text time { display: inline; font-size: inherit; margin-right: 4px; }
  .lz-day__foot > a { margin-left: 0; }
}

/* Registrierung */
.lz-signup { display: flex; flex-wrap: wrap; gap: 32px 48px; align-items: flex-start; max-width: 1180px; margin: 0 auto; padding: 40px 0 56px; }
.lz-signup__intro { flex: 1 1 340px; min-width: 0; position: sticky; top: 96px; }
.lz-signup__eyebrow { color: var(--primary-text); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.lz-signup__intro h1 { margin: 10px 0 10px; color: var(--ink); font-size: clamp(1.7rem, 2.6vw, 2.1rem); line-height: 1.15; letter-spacing: -.03em; }
.lz-signup__lead { margin: 0 0 24px; color: var(--text-2); font-size: 1.05rem; }
.lz-signup__steps { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.lz-signup__steps li { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 14px; color: var(--muted); }
.lz-signup__steps li strong { display: block; color: var(--text-2); }
.lz-signup__steps li small { font-size: 13px; }
.lz-signup__num { flex: 0 0 auto; width: 36px; height: 36px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; background: var(--surface-2); color: var(--muted); font-weight: 800; }
.lz-signup__steps li.is-active { background: var(--surface); box-shadow: var(--shadow-sm); border: 1px solid var(--line); }
.lz-signup__steps li.is-active strong { color: var(--ink); }
.lz-signup__steps li.is-active .lz-signup__num { background: var(--primary); color: #fff; }
.lz-signup__steps li.is-complete .lz-signup__num { background: var(--ok-soft); color: var(--ok-text); font-size: 0; }
.lz-signup__steps li.is-complete .lz-signup__num::after { content: "✓"; font-size: 16px; }
.lz-signup__notes { display: flex; flex-direction: column; gap: 10px; }
.lz-signup__notes p { display: flex; gap: 10px; margin: 0; padding: 12px 14px; border-radius: 14px; background: var(--surface-sunken); color: var(--text-2); font-size: 13px; line-height: 1.5; }
.lz-signup__notes svg { flex: 0 0 auto; margin-top: 1px; color: var(--primary-text); }
.lz-signup__notes strong { color: var(--ink); }

.lz-signup__card { flex: 999 1 560px; min-width: 0; padding: 32px; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); box-shadow: var(--shadow); }
.lz-signup__form fieldset { margin: 0; padding: 0; border: 0; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.lz-signup__form fieldset[hidden] { display: none; }
.lz-signup__legend { float: left; width: 100%; margin: 0; padding: 0; color: var(--ink); font-size: 1.75rem; font-weight: 800; letter-spacing: -.03em; line-height: 1.2; }
.lz-signup__legend span { display: block; margin-bottom: 6px; color: var(--primary-text); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.lz-signup__intro-text { margin: -10px 0 0; color: var(--muted); }
.lz-signup__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.lz-signup__full { grid-column: 1 / -1; }
.lz-signup__block { display: flex; flex-direction: column; gap: 12px; padding-top: 18px; border-top: 1px solid var(--line-soft); }
.lz-signup__block h3 { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--ink); font-size: 1.05rem; }
.lz-signup__block h3 span { width: 26px; height: 26px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: var(--primary-soft); color: var(--primary-text); font-size: 13px; font-weight: 800; }
.lz-signup__explain { display: flex; gap: 10px; padding: 12px 14px; border-radius: var(--radius); background: var(--primary-soft); color: var(--text); font-size: 14px; line-height: 1.5; }
.lz-signup__explain > svg { flex: 0 0 auto; margin-top: 2px; color: var(--primary-text); }
.lz-signup__explain > div { display: flex; flex-direction: column; gap: 8px; min-width: 0; flex: 1; }
.lz-signup__explain p { margin: 0; }
.lz-signup__explain [hidden] { display: none; }
.lz-signup__explain > div > div { display: flex; flex-direction: column; gap: 10px; }
.lz-signup__times { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lz-signup__times label { display: flex; align-items: center; gap: 14px; padding: 10px 12px 10px 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-sunken); cursor: pointer; }
.lz-signup__times label:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }
.lz-signup__tnum { flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--brand-bg, var(--ink)); color: #fff; font-size: 13px; font-weight: 800; }
.lz-signup__ttext { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.lz-signup__ttext strong { color: var(--ink); font-size: 15px; }
.lz-signup__ttext small { color: var(--muted); font-size: 13px; }
.lz-signup__times input { flex: 0 0 auto; width: 118px; min-height: 44px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); color: var(--ink); font: inherit; font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; }
.lz-signup__more { border: 1px solid var(--line); border-radius: 14px; }
.lz-signup__more > summary { list-style: none; display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 16px; color: var(--ink); font-weight: 600; cursor: pointer; }
.lz-signup__more > summary::-webkit-details-marker { display: none; }
.lz-signup__more > summary small { color: var(--muted); font-weight: 400; }
.lz-signup__more > summary::after { content: ""; margin-left: auto; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); opacity: .5; }
.lz-signup__more[open] > summary::after { transform: rotate(-135deg); }
.lz-signup__more > :not(summary) { margin: 0 16px 16px; }
.lz-signup__contact { border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.lz-signup__contact.is-required { border-color: var(--primary-line, var(--primary)); box-shadow: 0 0 0 3px var(--primary-soft); }
.lz-signup__contact-head { list-style: none; display: flex; align-items: center; gap: 12px; padding: 14px 16px; cursor: default; }
summary.lz-signup__contact-head { cursor: pointer; }
summary.lz-signup__contact-head::-webkit-details-marker { display: none; }
.lz-signup__contact-head > div { flex: 1 1 auto; min-width: 0; }
.lz-signup__contact-head strong { display: block; color: var(--ink); }
.lz-signup__contact-head small { color: var(--muted); font-size: 13px; }
.lz-signup__contact-head > svg { color: var(--primary-text); }
.lz-signup__contact[open] summary > svg { transform: rotate(45deg); }
.lz-signup__contact.is-required .lz-signup__num { background: var(--primary); color: #fff; }
.lz-signup__contact > .lz-signup__grid { padding: 0 16px 16px; }
.lz-signup__actions { display: flex; justify-content: space-between; gap: 12px; padding-top: 20px; border-top: 1px solid var(--line-soft); }
.lz-signup__actions .lz-btn { min-height: 48px; padding: 0 22px; }
.lz-signup__done { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.lz-signup__done-mark { width: 60px; height: 60px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; background: var(--ok-soft); color: var(--ok-text); }
.lz-signup__done h2 { margin: 0; color: var(--ink); font-size: 1.75rem; letter-spacing: -.02em; }
.lz-signup__done > p { margin: 0; color: var(--text-2); }
.lz-signup__next { list-style: none; counter-reset: lzn; margin: 8px 0; padding: 0; display: flex; flex-direction: column; gap: 10px; width: 100%; }
.lz-signup__next li { counter-increment: lzn; display: grid; grid-template-columns: 32px 1fr; gap: 2px 12px; padding: 12px 14px; border-radius: 14px; background: var(--surface-sunken); }
.lz-signup__next li::before { content: counter(lzn); grid-row: span 2; width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--primary-soft); color: var(--primary-text); font-weight: 800; }
.lz-signup__next strong { color: var(--ink); }
.lz-signup__next span { color: var(--text-2); font-size: 14px; }

@media (max-width: 860px) {
  .lz-signup { padding: 20px 0 40px; gap: 20px; }
  .lz-signup__intro { position: static; }
  .lz-signup__steps { flex-direction: row; gap: 6px; margin-bottom: 0; }
  .lz-signup__steps li { flex: 1 1 0; flex-direction: column; align-items: flex-start; gap: 6px; padding: 10px; }
  .lz-signup__steps li small { display: none; }
  .lz-signup__steps li strong { font-size: 13px; }
  .lz-signup__lead { margin-bottom: 14px; }
  .lz-signup__notes { order: 3; }
  .lz-signup__card { padding: 20px 16px; border-radius: 18px; }
  .lz-signup__grid { grid-template-columns: 1fr; }
  .lz-signup__times input { width: 104px; }
}

/* Reserve scrollbar space on every page so the shared header never shifts. */
html { overflow-y: scroll; }
@supports (scrollbar-gutter: stable) {
  html { overflow-y: auto; scrollbar-gutter: stable; }
}
.lz-sidebar__version { margin-top: auto; padding: 10px 12px; color: inherit !important; font-size: .8rem; text-decoration: none; }
.lz-sidebar__version:hover, .lz-sidebar__version:focus-visible { text-decoration: underline; }
.lz-sidebar__version + .lz-sidebar__footer { margin-top: 0; }
.lz-field-error { display: block; color: var(--danger-text, #b42318); font-size: .875rem; margin-top: 6px; }
.lz-signup [aria-invalid="true"] { border-color: var(--danger-text, #b42318); }

.lz-signup__times label { flex-wrap: wrap; }
.lz-signup__times .lz-field-error { flex-basis: 100%; margin-left: 42px; }

/* The admin rail belongs to the viewport, not the length of the page. */
.lz-sidebar { height: 100vh; height: 100dvh; overflow: hidden; }
.lz-sidebar__brand { flex: 0 0 auto; }
.lz-sidebar__menu { flex: 1 0 64px; min-height: 64px; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 22px; }
.lz-sidebar__menu > .lz-sidebar__group { flex: 0 0 auto; }
.lz-sidebar__bottom { flex: 0 1 auto; min-height: 0; overflow-y: auto; }
.lz-sidebar__bottom .lz-sidebar__version { display: block; margin: 0 0 12px; }
.lz-sidebar__bottom .lz-sidebar__footer { margin-top: 0; }
@media (min-width: 961px) {
  .lz-sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar-w); z-index: 40; }
  .lz-main-col { grid-column: 2; }
}
@media (max-height: 600px) {
  .lz-sidebar { gap: 12px; padding-block: 12px; }
  .lz-sidebar__menu { gap: 16px; }
}

/* Admin MFA: secrets stay within the authenticated, non-cached page. */
.lz-mfa-panel { max-width: 780px; padding: 24px; }
.lz-mfa-qr { display: block; width: min(100%, 280px); height: auto; margin: 20px auto; }
.lz-mfa-secret { display: block; overflow-wrap: anywhere; margin: 12px 0; }
.lz-mfa-codes { width: 100%; max-width: 100%; box-sizing: border-box; font-family: monospace; font-size: .85rem; }
.lz-mfa-browser { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 0; border-bottom: 1px solid var(--border); }
.lz-mfa-panel .lz-field { margin: 16px 0; }
.lz-mfa-disable { margin-top: 28px; border-top: 1px solid var(--border); padding-top: 20px; }
.lz-portrait { width: 36px; height: 36px; flex: 0 0 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 11px; overflow: hidden; background: var(--primary-soft); color: var(--primary-text); font-size: 18px; font-weight: 750; vertical-align: middle; }
.lz-portrait img { width: 100%; height: 100%; object-fit: cover; }
.lz-portrait--large { width: 72px; height: 72px; flex-basis: 72px; border-radius: 18px; font-size: 28px; }
.lz-portrait--menu { width: 34px; height: 34px; flex-basis: 34px; border-radius: 9px; }
.lz-portrait--open, body button.lz-portrait.lz-portrait--open { padding: 0; border: 0; min-height: 0; min-width: 0; background: transparent; box-shadow: none; cursor: zoom-in; }
body.admin-ui button.lz-portrait--large { border-radius: 18px; }
.lz-user-chip button.lz-portrait--menu { width: 34px; height: 34px; border-radius: 9px; }
.lz-portrait--open:hover, body button.lz-portrait.lz-portrait--open:hover { box-shadow: 0 0 0 2px var(--primary); }
.user-row__identity { text-decoration: none; }
.lz-portrait-dialog { box-sizing: border-box; width: min(560px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); color: var(--text); box-shadow: var(--shadow-lg); overflow: auto; }
.lz-portrait-dialog::backdrop { background: rgb(0 0 0 / 65%); }
.lz-portrait-dialog__head { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; margin-bottom: 16px; }
.lz-portrait-dialog__head h2 { margin: 0; font-size: 20px; line-height: 1.3; overflow-wrap: anywhere; }
.lz-portrait-dialog__head button { flex: 0 0 auto; min-height: 44px; }
.lz-portrait-dialog > img { display: block; width: 100%; height: auto; max-height: max(120px, calc(100dvh - 180px)); object-fit: contain; border-radius: 10px; }
.lz-portrait-dialog [hidden], .lz-portrait-dialog [role=status]:empty { display: none; }
html.lz-portrait-viewing { overflow: hidden; }
.lz-portrait-heading { display: flex; gap: 12px; align-items: center; min-width: 0; }
.lz-portrait-heading h2 { margin-top: 0; }
.lz-portrait-heading p { margin: 6px 0; }
.lz-portrait-editor { margin: 20px 0; }
.lz-portrait-editor h2 small { font-size: 14px; font-weight: 400; }
.lz-portrait-editor [hidden] { display: none !important; }
/* The browser file control is hidden; the visible choice survives releasing the original. */
.lz-photo-picker { display: flex; align-items: center; gap: 12px; width: 100%; box-sizing: border-box; min-height: 48px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding-left: 12px; background: var(--surface); }
.lz-photo-picker [data-photo-filename] { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.lz-photo-picker [data-photo-choose] { flex: 0 0 auto; margin: 0; align-self: stretch; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
@media (max-width: 420px) {
  .lz-photo-picker { flex-direction: column; align-items: stretch; gap: 0; padding-left: 0; }
  .lz-photo-picker [data-photo-filename] { padding: 10px 12px; }
  .lz-photo-picker [data-photo-choose] { width: 100%; min-height: 48px; padding-inline: 12px; border-radius: 0 0 var(--radius-sm) var(--radius-sm); }
}
.lz-portrait-editor input[type=range] { width: 100%; min-height: 44px; accent-color: var(--primary); }
.lz-portrait-editor details { margin-top: 20px; }
.lz-crop-stage { position: relative; width: fit-content; max-width: 100%; margin: 20px auto; overflow: hidden; border-radius: 8px; background: #18233e; }
.lz-crop-stage > img { display: block; max-width: 100%; max-height: 420px; width: auto; height: auto; }
.lz-crop-box { position: absolute; border: 3px solid #fff; outline: 2px solid #18233e; outline-offset: -5px; box-shadow: 0 0 0 1500px #0008; touch-action: none; cursor: move; box-sizing: border-box; }
.lz-crop-box:focus-visible { border-color: #6affe1; outline-color: #18233e; }
.lz-crop-handle { position: absolute; width: 32px; height: 32px; max-width: 45%; max-height: 45%; min-width: 0; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; touch-action: none; }
.lz-crop-handle::after { content: ''; position: absolute; width: 14px; height: 14px; max-width: 100%; max-height: 100%; box-sizing: border-box; background: #4651df; border: 2px solid #fff; border-radius: 3px; }
.lz-crop-handle[data-photo-resize="nw"], .lz-crop-handle[data-photo-resize="ne"] { top: 0; }
.lz-crop-handle[data-photo-resize="sw"], .lz-crop-handle[data-photo-resize="se"] { bottom: 0; }
.lz-crop-handle[data-photo-resize="nw"], .lz-crop-handle[data-photo-resize="sw"] { left: 0; }
.lz-crop-handle[data-photo-resize="ne"], .lz-crop-handle[data-photo-resize="se"] { right: 0; }
.lz-crop-handle[data-photo-resize="nw"], .lz-crop-handle[data-photo-resize="se"] { cursor: nwse-resize; }
.lz-crop-handle[data-photo-resize="ne"], .lz-crop-handle[data-photo-resize="sw"] { cursor: nesw-resize; }
.lz-crop-handle[data-photo-resize^="n"]::after { top: 0; }
.lz-crop-handle[data-photo-resize^="s"]::after { bottom: 0; }
.lz-crop-handle[data-photo-resize$="w"]::after { left: 0; }
.lz-crop-handle[data-photo-resize$="e"]::after { right: 0; }
.lz-crop-handle:focus-visible { outline: 2px solid #6affe1; outline-offset: -2px; }
.lz-crop-controls { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lz-crop-preview { display: flex; gap: 16px; align-items: center; margin: 18px 0; }
.lz-crop-preview canvas { width: 112px; height: 112px; border-radius: 14px; }
.lz-portrait-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.lz-photo-error { color: var(--danger-text, #a20c31); font-weight: 600; }
@media (max-width: 600px) { .lz-crop-controls { grid-template-columns: 1fr; } .lz-portrait-heading { flex-wrap: wrap; } .lz-crop-preview { flex-wrap: wrap; } }

/* Contact roles in the operational overview; status filters remain independent. */
.lz-overview-filters { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; max-width: 100%; }
body.admin-ui .lz-contact-filter { display: flex; flex-direction: row; align-items: center; gap: 10px; min-height: 44px; margin: 0; color: var(--text); cursor: pointer; }
.lz-account-roles { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
@media (max-width: 720px) {
  .lz-overview-filters { align-items: flex-start; }
  .lz-table__row > .lz-contact-empty-cell { display: none; }
}
/* ── Design 21.10.2026: Registrierung – Handynummer bei WhatsApp, Testabo-Ablauf ── */
.lz-signup__phone small{font-weight:600}
.lz-signup__phone .lz-signup__phone-req{display:none}
.lz-signup:has([data-registration-channel] option[value=whatsapp]:checked) .lz-signup__phone .lz-signup__phone-req{display:inline}
.lz-signup:has([data-registration-channel] option[value=whatsapp]:checked) .lz-signup__phone small.lz-hint.lz-signup__phone-req{display:block}
.lz-signup:has([data-registration-channel] option[value=whatsapp]:checked) .lz-signup__phone .lz-signup__phone-opt{display:none}
.lz-signup__phone-req:not(.lz-hint){color:var(--primary-text);background:var(--primary-soft);border-radius:999px;padding:1px 8px;margin-left:6px;font-size:.78rem}
.lz-signup__phone input[aria-invalid=true]{border-color:var(--danger-dot);box-shadow:0 0 0 3px var(--danger-soft)}
.lz-signup__pay{padding:22px;display:grid;gap:14px}
.lz-signup__pay h2{margin:0;font-size:1.2rem}
.lz-signup__paysteps{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:paystep}
.lz-signup__paysteps li{counter-increment:paystep;display:grid;grid-template-columns:28px 1fr;column-gap:12px;line-height:1.45}
.lz-signup__paysteps li::before{content:counter(paystep);grid-row:span 2;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--primary-soft);color:var(--primary-text);font-weight:750}
.lz-signup__paysteps strong{color:var(--ink)}.lz-signup__paysteps span{font-size:.9rem;color:var(--text-2)}
.lz-signup__sim{border:2px dashed var(--warning-dot);background:var(--warning-soft);color:var(--warning-text-strong);border-radius:12px;padding:10px 12px}

/* Registration: country selection stays usable at narrow mobile widths. */
.lz-signup__phone-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;align-items:start}
.lz-signup__phone-fields .lz-field{min-width:0}
.lz-signup__phone-fields select,.lz-signup__phone-fields input{width:100%;min-width:0;min-height:48px}
@media(max-width:480px){.lz-signup__phone-fields{grid-template-columns:1fr}}

/* Keep both registration phone hints on the same text rhythm. */
.lz-signup__phone > .lz-hint{font-weight:400;line-height:1.5;margin-top:6px}
.lz-signup__phone > .lz-hint:not(.lz-signup__phone-req){display:block;margin-top:8px}
