@font-face { font-family: "DM Sans"; src: url("/static/fonts/dm-sans-latin.woff2") format("woff2"); font-weight: 100 1000; font-display: swap; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font-sans); font-size: 14px; line-height: 1.5; color: var(--color-text); background: var(--color-bg); -webkit-font-smoothing: antialiased; }
a { color: var(--color-primary); } a:hover { color: var(--color-accent); }
h1, h2, h3 { font-family: var(--font-heading); margin: 0; }
h1 { font-size: 24px; font-weight: 600; letter-spacing: -0.01em; }
h2 { font-size: 18px; font-weight: 600; }
h3 { font-size: 15px; font-weight: 600; }
input, button, select, textarea { font-family: inherit; }
input::placeholder, textarea::placeholder { color: var(--color-placeholder); }
code, .mono { font-family: var(--font-mono); font-size: 13px; }
.muted { color: var(--color-muted); } .small { font-size: 13px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
body.no-scroll { overflow: hidden; }

/* ---------- Grundlayout mit Menüleiste ---------- */
.app { display: flex; min-height: 100vh; }
.nav { width: var(--width-nav); flex-shrink: 0; background: var(--color-surface); border-right: 1px solid var(--color-border); display: flex; flex-direction: column; gap: 6px; padding: 20px 14px; position: sticky; top: 0; height: 100vh; }
.nav__brand { display: flex; align-items: center; gap: 10px; padding: 6px 8px 22px; min-height: 66px; text-decoration: none; }
.nav__logo { width: 34px; height: 36px; flex-shrink: 0; object-fit: contain; }
.nav__name { font-weight: 600; font-size: 15px; color: var(--color-primary); line-height: 1.2; }
.nav__item { display: flex; align-items: center; gap: 12px; height: 44px; padding: 0 12px; border-radius: var(--radius-md); color: var(--color-text); font-weight: 500; font-size: 15px; text-decoration: none; }
.nav__item:hover { background: var(--color-subtle); color: var(--color-text); }
.nav__item--active, .nav__item--active:hover { background: var(--color-care-bg); color: var(--color-primary); font-weight: 600; }
.nav__icon { width: 20px; height: 20px; flex-shrink: 0; }
.nav__count { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--color-primary); background: var(--color-care-bg); border-radius: var(--radius-pill); padding: 0 8px; line-height: 20px; }
.nav__item--active .nav__count { background: var(--color-surface); }
.nav__user { margin-top: auto; border-top: 1px solid var(--color-border); padding: 14px 0 0 4px; display: flex; align-items: center; gap: 10px; }
.nav__avatar { width: 32px; height: 32px; border-radius: var(--radius-pill); background: var(--color-accent-soft); color: var(--color-primary); font-weight: 600; font-size: 13px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.nav__username { font-size: 14px; font-weight: 500; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav__logout { border: 0; background: none; padding: 0; font-size: 12px; color: var(--color-muted); cursor: pointer; }
.nav__logout:hover { color: var(--color-accent); }
@media (max-width: 1180px) {
  .nav { width: var(--width-nav-compact); padding: 20px 10px; align-items: center; }
  .nav__name, .nav__label, .nav__who { display: none; }
  .nav__item { justify-content: center; padding: 0; width: 44px; position: relative; }
  .nav__count { position: absolute; top: 4px; right: -4px; margin: 0; padding: 0 6px; line-height: 16px; font-size: 11px; }
  .nav__brand { padding: 6px 0 22px; }
  .nav__user { padding-left: 0; justify-content: center; }
}
.main { flex: 1; min-width: 0; display: flex; flex-direction: column; padding: 22px 24px 0; }
.main--page { padding: 22px 28px 28px; gap: 18px; }
.main--board { height: 100vh; }

/* ---------- Kopfzeile, Filter, Suche ---------- */
.head { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding-bottom: 16px; }
.main--page .head { padding-bottom: 0; }
.head__title { display: flex; align-items: baseline; gap: 12px; }
.head__summary { font-size: 14px; color: var(--color-muted); }
.head__tools { margin-left: auto; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.head__label { font-size: 13px; color: var(--color-muted); }
.pill { font-size: 13px; font-weight: 500; padding: 7px 14px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-text); cursor: pointer; text-decoration: none; white-space: nowrap; line-height: 1.3; }
.pill:hover { border-color: var(--color-accent); color: var(--color-text); }
.pill--active, .pill--active:hover { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-contrast); }
.search { display: flex; align-items: center; gap: 8px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-pill); padding: 0 14px; height: 36px; width: 240px; box-shadow: var(--shadow-card); }
.search:focus-within { outline: 2px solid var(--color-accent); }
.search svg { width: 16px; height: 16px; flex-shrink: 0; color: var(--color-muted); }
.search input { border: 0; outline: 0; background: transparent; font-size: 14px; flex: 1; min-width: 0; color: var(--color-text); padding: 0; }

/* ---------- Board und Spalten ---------- */
.board { flex: 1; min-height: 0; display: flex; gap: 14px; overflow-x: auto; padding-bottom: 20px; }
.col { width: var(--width-col); flex-shrink: 0; display: flex; flex-direction: column; min-height: 0; background: var(--color-subtle); border: 1px solid transparent; border-radius: var(--radius-lg); outline: 2px solid transparent; outline-offset: -2px; transition: background .15s, outline-color .15s; }
.col--wide { width: var(--width-col-wide); background: var(--color-surface); border-color: var(--color-accent); box-shadow: var(--shadow-card); }
.col.is-over { background: var(--color-care-bg); outline-color: var(--color-accent); }
.col__head { display: flex; align-items: center; gap: 8px; padding: 12px 14px 8px; flex-wrap: wrap; }
.col__name { font-size: 15px; font-weight: 600; }
.col__count { font-size: 12px; font-weight: 600; color: var(--color-muted); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-pill); padding: 0 8px; line-height: 20px; }
.col__sub { width: 100%; font-size: 12px; color: var(--color-muted); margin-top: -2px; }
.col__body { flex: 1; min-height: 0; overflow-y: auto; padding: 2px 10px 10px; display: flex; flex-direction: column; gap: 14px; }
.col__empty { border: 1.5px dashed var(--color-border); border-radius: var(--radius-md); padding: 28px 16px; text-align: center; color: var(--color-muted); font-size: 13px; line-height: 1.5; }
.group { display: flex; flex-direction: column; gap: 8px; }
.group__title { display: flex; align-items: center; gap: 8px; padding: 6px 4px 0; font-size: 12px; font-weight: 600; color: var(--color-muted); }
.group__title--warn { color: var(--color-warn); }
.group__dot { width: 8px; height: 8px; border-radius: var(--radius-pill); background: var(--color-accent); }
.group__title--warn .group__dot { background: var(--color-warn-dot); }
.group__hint { font-weight: 500; color: var(--color-muted); }

/* ---------- Karte ---------- */
.rcard { position: relative; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 12px 12px 12px 14px; box-shadow: var(--shadow-card); cursor: grab; display: flex; flex-direction: column; gap: 8px; transition: box-shadow .15s, transform .15s; }
.rcard:hover { box-shadow: var(--shadow-float); transform: translateY(-1px); }
.rcard:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.rcard.is-dragging { opacity: .55; transform: rotate(2deg); }
/* Offenes Menü über den folgenden Karten bzw. Zeilen zeigen */
.rcard:has(.popover:not([hidden])) { z-index: 10; }
.wl-row:has(.popover:not([hidden])) { position: relative; z-index: 10; }
.rcard__top { display: flex; align-items: flex-start; gap: 6px; }
.rcard__who { min-width: 0; flex: 1; line-height: 1.3; }
.rcard__from { font-weight: 600; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rcard__date { font-size: 12px; color: var(--color-muted); margin-top: 2px; }
.rcard__preview { font-size: 13px; line-height: 1.45; max-height: 38px; overflow: hidden; overflow-wrap: anywhere; }
.rcard__preview--empty { color: var(--color-muted); }
.rcard__chips { display: flex; flex-wrap: wrap; gap: 4px; }
.icon-btn { width: 32px; height: 32px; border-radius: var(--radius-pill); border: 1px solid transparent; background: transparent; color: var(--color-muted); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; font-size: 18px; letter-spacing: 1px; line-height: 1; padding: 0 0 6px; }
.icon-btn:hover, .icon-btn[aria-expanded="true"] { background: var(--color-subtle); }
.icon-btn--bordered { width: 36px; height: 36px; border-color: var(--color-border); background: var(--color-surface); color: var(--color-text); padding: 0; }
.icon-btn--row { width: 34px; height: 34px; border-color: var(--color-border); background: var(--color-surface); }
.popover { position: absolute; top: 44px; right: 10px; z-index: 5; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-float); padding: 6px; min-width: 190px; display: flex; flex-direction: column; gap: 2px; cursor: default; }
.popover--row { top: 40px; right: 0; min-width: 240px; }
.popover__title { font-size: 11px; font-weight: 600; color: var(--color-muted); padding: 6px 10px 4px; letter-spacing: .04em; text-transform: uppercase; }
.popover__item { text-align: left; font-size: 14px; padding: 8px 10px; border: 0; background: transparent; border-radius: var(--radius-sm); cursor: pointer; color: var(--color-text); }
.popover__item:hover, .popover__item:focus-visible { background: var(--color-subtle); outline: 0; }
.popover__item--strong { font-weight: 600; color: var(--color-primary); }
.popover__item--danger { color: var(--color-alert); }
.popover__item--danger:hover, .popover__item--danger:focus-visible { background: var(--color-alert-bg); }
.popover__sep { height: 1px; background: var(--color-border); margin: 4px 6px; }

/* ---------- Chips ---------- */
.chip { display: inline-block; font-size: 12px; font-weight: 500; padding: 2px 10px; border-radius: var(--radius-pill); background: var(--color-chip-bg); color: var(--color-text); line-height: 1.5; }
.chip--type { font-weight: 600; background: var(--color-primary); color: var(--color-primary-contrast); }
.chip--alert { font-weight: 600; background: var(--color-alert-bg); color: var(--color-alert); }
.chip--care { font-weight: 600; background: var(--color-care-bg); color: var(--color-care); }
.chip--warn { background: var(--color-warn-bg); color: var(--color-warn); }
.chip--ok { font-weight: 600; background: var(--color-ok-bg); color: var(--color-ok); }
.chip--muted { color: var(--color-muted); }

/* ---------- Buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; font-weight: 600; padding: 10px 20px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-primary); text-decoration: none; cursor: pointer; line-height: 1.2; transition: background .15s, box-shadow .15s; }
.btn:hover { background: var(--color-subtle); color: var(--color-primary); }
.btn--primary { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-contrast); }
.btn--primary:hover { background: var(--color-primary); color: var(--color-primary-contrast); box-shadow: 0 4px 14px rgba(41, 48, 104, 0.25); }
.btn--small { font-size: 13px; padding: 7px 14px; }
.btn--block { width: 100%; }
.btn--link { border: 0; background: none; padding: 0; color: var(--color-primary); font-weight: 500; }
.btn svg { width: 16px; height: 16px; }
.btn--small svg { width: 14px; height: 14px; }

/* ---------- Detail-Overlay ---------- */
.scrim { position: fixed; inset: 0; background: var(--color-scrim); z-index: 20; }
.dialog { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(var(--width-dialog), calc(100vw - 24px)); max-height: min(820px, calc(100vh - 24px)); background: var(--color-surface); box-shadow: var(--shadow-dialog); border-radius: var(--radius-lg); display: flex; flex-direction: column; z-index: 21; overflow: hidden; }
.detail--page { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); max-width: var(--width-dialog); overflow: hidden; }
.detail__head { padding: 20px 24px 14px; border-bottom: 1px solid var(--color-border); display: flex; flex-direction: column; gap: 10px; }
.detail__top { display: flex; align-items: flex-start; gap: 12px; }
.detail__who { flex: 1; min-width: 0; }
.detail__from { font-size: 19px; font-weight: 600; line-height: 1.25; }
.detail__meta { font-size: 13px; color: var(--color-muted); margin-top: 3px; overflow-wrap: anywhere; }
.detail__chips { display: flex; flex-wrap: wrap; gap: 4px; }
.detail__body { flex: 1; min-height: 0; overflow-y: auto; padding: 20px 24px; display: flex; flex-direction: column; gap: 22px; }
.section-label { font-size: 12px; font-weight: 600; color: var(--color-muted); letter-spacing: .04em; text-transform: uppercase; margin-bottom: 8px; }
.original { font-size: 15px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.original--empty { color: var(--color-muted); }
.formmeta { margin-top: 10px; font-size: 13px; color: var(--color-muted); }
.assign { background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; }
.assign__head { display: flex; align-items: center; gap: 8px; }
.assign__head .section-label { margin: 0; }
.assign__conf { margin-left: auto; font-size: 12px; color: var(--color-muted); }
.assign__dl { margin: 0; display: grid; grid-template-columns: 120px 1fr; gap: 6px 12px; font-size: 14px; }
.assign__dl dt { color: var(--color-muted); }
.assign__dl dd { margin: 0; }
.assign__dl dd.strong { font-weight: 500; }
.assign__buttons { display: flex; gap: 8px; flex-wrap: wrap; }
.assign__correct { border-top: 1px solid var(--color-border); padding-top: 12px; display: flex; flex-direction: column; gap: 14px; }
.assign__correct fieldset { border: 0; padding: 0; margin: 0; }
.assign__correct legend { font-size: 13px; font-weight: 600; margin-bottom: 6px; padding: 0; }
.radio-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.radio-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; padding: 6px 12px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: var(--color-surface); cursor: pointer; }
.radio-pill:has(input:checked) { border-color: var(--color-primary); background: var(--color-care-bg); }
.radio-pill input, .check-row input { margin: 0; accent-color: var(--color-primary); }
.check-list { display: flex; flex-direction: column; gap: 6px; }
.check-row { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.check-row input { width: 16px; height: 16px; }
.ok-line { font-size: 13px; font-weight: 600; color: var(--color-ok); background: var(--color-ok-bg); border-radius: var(--radius-sm); padding: 8px 12px; }
.move-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.footnote { margin: 0; font-size: 12px; color: var(--color-muted); line-height: 1.5; }

/* ---------- Warteliste-Seite ---------- */
.table-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
.wl-grid { display: grid; grid-template-columns: 96px 1.3fr 1fr 1.3fr 1.4fr 1.4fr 200px; gap: 0 16px; align-items: center; }
.wl-head { padding: 10px 20px; font-size: 12px; font-weight: 600; color: var(--color-muted); letter-spacing: .04em; text-transform: uppercase; border-bottom: 1px solid var(--color-border); }
.wl-row { padding: 14px 20px; font-size: 14px; border-bottom: 1px solid var(--color-border); background: var(--color-surface); cursor: pointer; }
.wl-row:nth-child(odd of .wl-row) { background: var(--color-bg); }
.wl-row:hover { background: var(--color-care-bg); }
.wl-row:last-child { border-bottom: 0; }
.wl-row__pos { font-weight: 600; color: var(--color-primary); }
.wl-row__name { font-weight: 600; font-size: 15px; overflow: hidden; text-overflow: ellipsis; }
.wl-row__sub { font-size: 12px; color: var(--color-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wl-row__weeks { font-weight: 600; }
.wl-row__chips { display: flex; flex-wrap: wrap; gap: 4px; }
.wl-row__note { color: var(--color-muted); font-size: 13px; white-space: pre-line; }
.wl-row__actions { display: flex; gap: 6px; justify-content: flex-end; position: relative; }
.wl-note-form { grid-column: 2 / -1; display: flex; gap: 8px; margin-top: 10px; }
.wl-note-form textarea { flex: 1; min-height: 60px; }
.wl-empty { padding: 28px 20px; color: var(--color-muted); text-align: center; }

/* ---------- Formulare, Meldungen, einfache Seiten ---------- */
.field { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--color-muted); }
input, select, textarea { font-size: 14px; color: var(--color-text); padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
input[type=color] { padding: 2px; height: 40px; width: 64px; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--color-accent); outline-offset: 1px; }
.stack { display: flex; flex-direction: column; gap: 12px; }
.row { display: flex; gap: 8px; align-items: flex-end; } .row--wrap { flex-wrap: wrap; }
.grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; margin-top: 16px; }
.inline { display: inline; }
.card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 24px; box-shadow: var(--shadow-card); }
.card > h2 { margin-bottom: 12px; }
.flash { padding: 12px 16px; border-radius: var(--radius-md); margin: 0; font-size: 14px; }
.flash--ok { background: var(--color-ok-bg); color: var(--color-ok); }
.flash--err { background: var(--color-err-bg); color: var(--color-err); }
.flash--warn { background: var(--color-warn-bg); color: var(--color-warn); }
.toast-stack { position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 40; display: flex; flex-direction: column; align-items: center; gap: 8px; pointer-events: none; }
.toast { display: inline-flex; align-items: center; gap: 10px; background: var(--color-toast-bg); color: #fff; font-size: 14px; font-weight: 500; padding: 12px 18px; border-radius: var(--radius-pill); box-shadow: var(--shadow-float); }
.toast svg { width: 16px; height: 16px; flex-shrink: 0; }
.toast--err { background: var(--color-err); }
.table { width: 100%; border-collapse: collapse; background: var(--color-surface); font-size: 13px; }
.table th, .table td { text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--color-border); vertical-align: top; }
.kv { border-collapse: collapse; font-size: 13px; }
.kv th { text-align: left; color: var(--color-muted); font-weight: 500; padding: 4px 16px 4px 0; vertical-align: top; }
.prose { max-width: 720px; font-size: 15px; line-height: 1.6; }
.prose h2 { margin: 20px 0 6px; font-size: 16px; }
.logo-preview { width: 68px; height: 72px; object-fit: contain; border: 1px dashed var(--color-border); border-radius: var(--radius-md); padding: 6px; background: var(--color-surface); }
.swatches { display: flex; gap: 16px; flex-wrap: wrap; }

/* ---------- Anmeldung, Einladung, Zwei-Faktor (Runde 3) ---------- */
.auth { min-height: 100vh; display: flex; justify-content: center; padding: 11vh 24px 48px; background: var(--color-bg); font-size: 15px; }
.auth__box { width: 100%; max-width: var(--width-narrow); display: flex; flex-direction: column; gap: 18px; }
.auth__brand { display: flex; align-items: center; gap: 12px; }
.auth__brand img { width: 32px; height: 32px; object-fit: contain; }
.auth__brand--praxis img { width: 44px; height: 44px; }
.auth__brandtext { display: flex; flex-direction: column; line-height: 1.2; }
.auth__name { font-size: 17px; font-weight: 600; color: var(--color-primary); }
.auth__powered { font-size: 12px; color: var(--color-muted); }
.auth__steps { display: flex; flex-direction: column; gap: 8px; }
.auth__bar { display: flex; gap: 6px; }
.auth__bar span { flex: 1; height: 6px; border-radius: var(--radius-pill); background: var(--color-border); }
.auth__bar span.is-done { background: var(--color-primary); }
.auth__stepname { font-size: 13px; color: var(--color-muted); }
.auth__stepname b { color: var(--color-text); font-weight: 600; }
.auth__card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: 32px; display: flex; flex-direction: column; gap: 18px; }
.auth__title { font-size: 26px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.2; margin: 0; }
.auth__text { font-size: 15px; line-height: 1.6; margin: 0; }
.auth__alert { margin: 0; padding: 12px 16px; border-radius: var(--radius-md); background: var(--color-err-bg); color: var(--color-err); font-size: 14px; line-height: 1.5; }
.auth__alert--block { display: flex; flex-direction: column; gap: 4px; }
.auth__alert--block > b { font-size: 15px; }
.auth__form { display: flex; flex-direction: column; gap: 18px; }
.afield { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 500; color: var(--color-text); }
.afield input { height: 48px; padding: 0 14px; font-size: 16px; }
.afield input:disabled { background: var(--color-subtle); }
.afield__pw { display: flex; align-items: center; height: 48px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); padding: 0 4px 0 14px; }
.afield__pw:focus-within { outline: 2px solid var(--color-accent); outline-offset: 1px; }
.afield__pw input { flex: 1; min-width: 0; height: 100%; border: 0; padding: 0; background: transparent; }
.afield__pw input:focus { outline: none; }
.afield__toggle { height: 40px; padding: 0 12px; border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--color-primary); font-size: 14px; font-weight: 500; cursor: pointer; }
.afield__code { height: 60px !important; font-family: var(--font-mono); font-size: 28px !important; letter-spacing: .2em; text-align: center; }
.afield__code.is-error { border-color: var(--color-err); }
.btn--lg { height: 52px; font-size: 16px; padding: 0 24px; }
.auth__more summary { font-size: 14px; font-weight: 600; color: var(--color-primary); cursor: pointer; min-height: 40px; display: flex; align-items: center; }
.auth__more { border-top: 1px solid var(--color-border); padding-top: 14px; }
.auth__more p { margin: 6px 0 0; font-size: 14px; line-height: 1.6; color: var(--color-muted); }
.auth__foot { font-size: 14px; color: var(--color-muted); line-height: 1.55; padding: 0 4px; margin: 0; }
.auth__apps { display: flex; flex-direction: column; gap: 10px; }
.auth__apps .section-label { margin: 0; }
.auth__app { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.auth__app div { display: flex; flex-direction: column; }
.auth__app b { font-size: 15px; font-weight: 600; }
.auth__app span:not(.auth__appmark) { font-size: 13px; color: var(--color-muted); }
.auth__appmark { width: 40px; height: 40px; border-radius: 10px; background: var(--color-care-bg); color: var(--color-primary); font-size: 15px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.auth__scan { display: flex; gap: 20px; align-items: flex-start; flex-wrap: wrap; }
.auth__scan ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; font-size: 15px; line-height: 1.5; flex: 1; min-width: 140px; }
.auth__stack { display: flex; flex-direction: column; gap: 12px; }
.auth__key { display: flex; align-items: center; gap: 8px; padding: 10px 6px 10px 14px; border-radius: var(--radius-md); background: var(--color-bg); border: 1px solid var(--color-border); margin-top: 8px; }
.auth__key code { flex: 1; font-family: var(--font-mono); font-size: 14px; letter-spacing: .06em; word-break: break-all; }
.auth__account { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: var(--radius-md); background: var(--color-bg); border: 1px solid var(--color-border); }
.auth__account span { font-size: 12px; color: var(--color-muted); }
.auth__account b { font-size: 15px; font-weight: 500; }
.auth__rules { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.auth__rules li { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--color-muted); }
.auth__rulemark { width: 18px; height: 18px; border-radius: var(--radius-pill); background: var(--color-border); color: var(--color-primary-contrast); font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.auth__rules li.is-ok { color: var(--color-ok); }
.auth__rules li.is-ok .auth__rulemark { background: var(--color-ok); }
.auth__rules li.is-ok .auth__rulemark::after { content: "✓"; }
.auth__badge { width: 48px; height: 48px; border-radius: var(--radius-pill); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 20px; }
.auth__badge svg { width: 22px; height: 22px; }
.auth__badge--ok { background: var(--color-ok-bg); color: var(--color-ok); }
.auth__badge--warn { background: var(--color-warn-bg); color: var(--color-warn); }
.auth__note { padding: 14px 16px; border-radius: var(--radius-md); background: var(--color-care-bg); display: flex; flex-direction: column; gap: 4px; font-size: 14px; line-height: 1.55; }
.auth__note b { font-size: 15px; color: var(--color-primary); }
.only-mobile { display: none !important; }
@media (max-width: 640px) {
  .only-mobile { display: flex !important; }
  .only-desktop { display: none !important; }
  span.only-mobile { display: inline !important; }
  .auth { padding: 20px 16px 40px; }
  .auth__card { padding: 22px 20px; }
}
.qr svg { width: 200px; height: 200px; }
.secret { word-break: break-all; }

/* ================= Übergabe 26.09.2026: Mails, Warteliste, Aktivitäten ================= */
.btn__icon { width: 15px; height: 15px; flex-shrink: 0; }
.btn--small .btn__icon { width: 14px; height: 14px; }
.btn--quiet { font-weight: 500; color: var(--color-text); padding: 10px 18px; }
.btn--quiet:hover { color: var(--color-text); }
.btn:disabled, .btn[disabled] { opacity: .5; cursor: not-allowed; box-shadow: none; }
.pill--sm { padding: 6px 12px; }
.pill--xs { font-size: 12px; font-weight: 600; padding: 4px 10px; }
.pill--primary-text { color: var(--color-primary); }
.popover__item:disabled { opacity: .5; cursor: not-allowed; }
.chip--sent { display: inline-flex; align-items: center; gap: 4px; background: var(--color-subtle); color: var(--color-muted); }
.chip__icon { width: 11px; height: 11px; }
.chip--tiny { font-size: 11px; padding: 1px 8px; color: var(--color-muted); vertical-align: middle; }
.chip--kind { font-weight: 600; padding: 1px 8px; flex-shrink: 0; }

/* Absage-Spalte: Mail an alle */
.col__mail { margin-left: auto; display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; color: var(--color-primary); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-pill); padding: 4px 10px; cursor: pointer; }
.col__mail:hover { border-color: var(--color-accent); background: var(--color-care-bg); }
.col__mail-icon { width: 13px; height: 13px; }

/* Mail-Composer */
.scrim--top { z-index: 22; }
.composer { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(var(--width-composer), calc(100vw - 24px)); max-height: min(840px, calc(100vh - 24px)); background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-float); z-index: 23; display: flex; flex-direction: column; overflow: hidden; }
.composer__head { padding: 20px 24px 14px; border-bottom: 1px solid var(--color-border); display: flex; align-items: flex-start; gap: 12px; }
.composer__head h2 { font-size: 20px; font-weight: 600; }
.composer__head .icon-btn { margin-left: auto; }
.composer__sub { margin: 4px 0 0; font-size: 13px; color: var(--color-muted); }
.composer__test { margin: 8px 0 0; font-size: 13px; color: var(--color-warn); background: var(--color-warn-bg); border-radius: var(--radius-sm); padding: 6px 10px; }
.composer__body { padding: 18px 24px; display: flex; flex-direction: column; gap: 14px; overflow-y: auto; min-height: 0; }
.composer__grid { display: grid; grid-template-columns: 72px 1fr; gap: 10px 12px; align-items: start; font-size: 14px; }
.composer__label { font-size: 12px; font-weight: 600; color: var(--color-muted); text-transform: uppercase; letter-spacing: .04em; padding-top: 6px; }
.composer__label--field { padding-top: 10px; }
.composer__pills { display: flex; flex-wrap: wrap; gap: 6px; }
.composer__input { height: 40px; padding: 0 12px; font-size: 14px; }
.composer__textcol { display: flex; flex-direction: column; gap: 6px; }
.composer__textarea { padding: 12px 14px; font-size: 14px; line-height: 1.5; resize: vertical; width: 100%; }
.composer__input:focus, .composer__textarea:focus { outline: none; border-color: var(--color-accent); }
.composer__hint { font-size: 12px; color: var(--color-muted); }
.composer__hint code { font-family: inherit; background: var(--color-chip-bg); padding: 0 5px; border-radius: 4px; }
.composer__foot { padding: 14px 24px; border-top: 1px solid var(--color-border); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.composer__foothint { font-size: 13px; color: var(--color-muted); flex: 1; min-width: 200px; }
.composer__error { flex-basis: 100%; order: -1; }
.rcpt { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; padding: 5px 12px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: var(--color-surface); }
.rcpt:has(.rcpt__x) { padding-right: 6px; }
.rcpt__addr { color: var(--color-muted); font-size: 12px; }
.rcpt--missing { background: var(--color-warn-bg); border-color: transparent; }
.rcpt--missing .rcpt__addr { color: var(--color-warn); }
.rcpt__x { width: 18px; height: 18px; border-radius: var(--radius-pill); border: 0; background: transparent; color: var(--color-muted); font-size: 14px; line-height: 1; cursor: pointer; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.rcpt__x:hover { background: var(--color-subtle); color: var(--color-text); }
.previews { display: flex; flex-direction: column; gap: 10px; }
.previews + .section-label, [data-cmp-previews] > .section-label { margin-bottom: 10px; }
.preview { border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg); padding: 14px 18px; display: flex; flex-direction: column; gap: 8px; }
.preview .section-label { margin: 0; }
.preview__head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.preview__name { font-size: 14px; font-weight: 600; }
.preview__addr { font-size: 12px; color: var(--color-muted); }
.preview__tools { margin-left: auto; display: flex; gap: 6px; }
.preview__subject { font-size: 14px; font-weight: 600; }
.preview__body { font-size: 14px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.preview__edit { padding: 12px 14px; border: 1px solid var(--color-accent); border-radius: var(--radius-md); font-size: 14px; line-height: 1.5; resize: vertical; width: 100%; }
.preview__edit:focus { outline: none; }
.preview__sig { font-size: 13px; color: var(--color-muted); white-space: pre-wrap; border-top: 1px solid var(--color-border); padding-top: 8px; }
.chip--custom { font-size: 11px; font-weight: 600; padding: 1px 8px; background: var(--color-care-bg); color: var(--color-care); }

/* Warteliste: Umsortieren, Kopf, Dialog */
.head__tools--inline { margin: 0; gap: 8px; }
.head__sep { width: 1px; height: 24px; background: var(--color-border); margin: 0 6px; }
.wl-row__nr { display: flex; align-items: center; gap: 6px; }
.wl-grip { color: var(--color-muted); cursor: grab; font-size: 16px; line-height: 1; letter-spacing: -2px; user-select: none; }
.wl-row__pos { min-width: 16px; }
.wl-arrows { display: flex; flex-direction: column; gap: 2px; }
.wl-arrow { width: 22px; height: 16px; border: 1px solid var(--color-border); border-radius: 4px; background: var(--color-surface); color: var(--color-muted); cursor: pointer; padding: 0; display: flex; align-items: center; justify-content: center; }
.wl-arrow:hover:not(:disabled) { border-color: var(--color-accent); color: var(--color-primary); }
.wl-arrow:disabled { opacity: .35; cursor: default; }
.wl-arrow__icon { width: 10px; height: 10px; }
.wl-row { border-top: 2px solid transparent; }
.wl-row.is-row-dragging { opacity: .45; }
.wl-row.is-drop-before { border-top-color: var(--color-accent); }
.wl-row__who { min-width: 0; }
.wl-row__name { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.footnote--page { font-size: 13px; }
.scrim--strong { background: var(--color-scrim-strong); }
.form-dialog { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 21; width: min(var(--width-form-dialog), calc(100vw - 24px)); max-height: calc(100vh - 24px); overflow-y: auto; background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-float); padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.form-dialog__head { display: flex; align-items: flex-start; gap: 12px; }
.form-dialog__head h2 { font-size: 20px; font-weight: 600; }
.form-dialog__head .icon-btn { margin-left: auto; }
.form-dialog__sub { margin: 4px 0 0; font-size: 13px; color: var(--color-muted); }
.form-dialog__foot { display: flex; gap: 10px; justify-content: flex-end; margin-top: 4px; }
.icon-btn--sm { width: 32px; height: 32px; }
.dfield { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 500; color: var(--color-text); }
.dfield input { height: 40px; padding: 0 12px; }
.dfield textarea { padding: 10px 12px; resize: vertical; }
.dfield input:focus, .dfield textarea:focus { outline: none; border-color: var(--color-accent); }
.dfield-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dcheck { display: flex; align-items: center; gap: 10px; font-size: 14px; cursor: pointer; }
.dcheck input { width: 18px; height: 18px; margin: 0; accent-color: var(--color-primary); }

/* Aktivitäten */
.main--fill { height: 100vh; min-height: 0; }
.table-card--scroll { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.act-grid { display: grid; grid-template-columns: 170px 180px 1fr 220px; gap: 0 16px; align-items: center; }
.act-head { padding: 10px 20px; font-size: 12px; font-weight: 600; color: var(--color-muted); letter-spacing: .04em; text-transform: uppercase; border-bottom: 1px solid var(--color-border); }
.act-body { overflow-y: auto; min-height: 0; }
.act-row { padding: 13px 20px; font-size: 14px; border-bottom: 1px solid var(--color-border); }
.act-row:last-child { border-bottom: 0; }
.act-row__time { color: var(--color-muted); font-size: 13px; }
.act-row__who, .act-row__what { display: flex; align-items: center; min-width: 0; }
.act-row__who { gap: 8px; }
.act-row__what { gap: 10px; }
.act-avatar { width: 26px; height: 26px; border-radius: var(--radius-pill); background: var(--color-accent-soft); color: var(--color-primary); font-weight: 600; font-size: 11px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.act-row__name, .act-row__text, .act-row__ref { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.act-row__name { font-weight: 500; }
.act-row__ref, .act-row__ref a { font-weight: 600; color: var(--color-primary); text-decoration: none; }
.act-row__ref a:hover { color: var(--color-accent); }
.act-dot { width: 8px; height: 8px; border-radius: var(--radius-pill); flex-shrink: 0; background: var(--color-muted); }
.act-dot--move { background: var(--color-accent); } .act-dot--mail { background: var(--color-primary); }
.act-dot--wait { background: var(--color-care); } .act-dot--check { background: var(--color-warn-dot); }
.act-dot--note { background: var(--color-muted); } .act-dot--system { background: var(--color-border); }
.act-empty { padding: 40px; text-align: center; color: var(--color-muted); font-size: 14px; }

/* Einstellungen: Textbausteine */
.tpl-edit { border-top: 1px solid var(--color-border); padding-top: 16px; }
.tpl-edit h3 { display: flex; align-items: center; gap: 8px; }
details summary { cursor: pointer; font-weight: 500; }

/* ================= Suche und Hilfe: eine Leiste in der Mitte, Vorschläge beim Tippen ================= */
.finder { position: relative; width: min(var(--width-finder), 100%); margin: 22vh auto 0; display: flex; flex-direction: column; gap: 10px; }
.finder__bar { display: flex; align-items: center; gap: 12px; height: var(--height-finder); padding: 0 10px 0 22px; background: var(--color-surface); border: 1px solid var(--color-accent); border-radius: var(--radius-pill); box-shadow: var(--shadow-float); }
.finder__icon { width: 20px; height: 20px; color: var(--color-muted); flex-shrink: 0; }
.finder__input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; font-size: 17px; padding: 0; }
.finder__input:focus { outline: none; }
.finder__clear { width: 36px; height: 36px; flex-shrink: 0; border: 0; border-radius: var(--radius-pill); background: var(--color-subtle); color: var(--color-muted); font-size: 17px; cursor: pointer; }
.finder__clear:hover { color: var(--color-text); }
.finder__caption { margin: 0; padding: 2px 22px; font-size: 13px; color: var(--color-muted); }
.finder__warn { margin: 0 12px; padding: 10px 14px; border-radius: var(--radius-md); background: var(--color-warn-bg); color: var(--color-warn); font-size: 13px; line-height: 1.5; }
.form-dialog .finder__warn { margin: 0; }
.finder__pop { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-float); overflow: hidden; }
.finder__list { margin: 0; padding: 6px; list-style: none; max-height: 440px; overflow-y: auto; }
.finder__group { display: flex; align-items: baseline; gap: 6px; padding: 8px 12px 4px; font-size: 11px; font-weight: 600; color: var(--color-muted); letter-spacing: .04em; text-transform: uppercase; }
.finder__group span { font-weight: 500; letter-spacing: 0; text-transform: none; }
.finder__opt { display: flex; align-items: flex-start; gap: 12px; padding: 10px 12px; border-radius: var(--radius-md); cursor: pointer; }
.finder__opt[aria-selected="true"] { background: var(--color-care-bg); }
.finder__topic-icon { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; color: var(--color-muted); }
.finder__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.finder__title { font-size: 15px; font-weight: 600; color: var(--color-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.finder__meta { font-size: 12px; color: var(--color-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.finder__detail { font-size: 13px; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.finder__dlabel { color: var(--color-muted); }
.finder__col { flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; margin-top: 2px; padding: 2px 10px; border-radius: var(--radius-pill); background: var(--color-chip-bg); font-size: 12px; font-weight: 600; }
.finder__col::before { content: ""; width: 7px; height: 7px; border-radius: var(--radius-pill); background: var(--color-border); }
.finder__col[data-col="inbox"]::before { background: var(--color-accent); }
.finder__col[data-col="wait"]::before { background: var(--color-primary); }
.finder__col[data-col="first_session"]::before { background: var(--color-accent-soft); }
.finder__col[data-col="decline"]::before { background: var(--color-warn-dot); }
.finder__col[data-col="archive"]::before { background: var(--color-ok); }
.finder__enter { flex-shrink: 0; margin-top: 2px; font-size: 13px; color: var(--color-muted); visibility: hidden; }
.finder__opt[aria-selected="true"] .finder__enter { visibility: visible; }
.finder__more { padding: 8px 12px 4px; font-size: 12px; color: var(--color-muted); }
.finder__keys { display: flex; gap: 16px; padding: 8px 18px; border-top: 1px solid var(--color-border); background: var(--color-bg); font-size: 12px; color: var(--color-muted); }
.finder mark { background: var(--color-warn-bg); color: inherit; border-radius: 3px; padding: 0 1px; }
.finder__none { display: flex; flex-direction: column; gap: 6px; padding: 22px 24px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-float); }
.finder__none-title { font-size: 16px; font-weight: 600; }
.finder__none-text { font-size: 14px; color: var(--color-muted); }
.finder__topics { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.finder__topics:empty { display: none; }
.finder__answer { margin-top: 10px; padding: 22px 24px; display: flex; flex-direction: column; gap: 8px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
.finder__answer[hidden] { display: none; }
.finder__answer-label { font-size: 12px; font-weight: 600; color: var(--color-muted); letter-spacing: .04em; text-transform: uppercase; }
.finder__answer h2 { margin: 0; font-size: 18px; font-weight: 600; line-height: 1.3; }
.finder__answer p { margin: 0; font-size: 15px; line-height: 1.65; }
.finder__answer-foot { display: flex; align-items: center; gap: 16px; margin-top: 8px; }
.finder__jump { color: var(--color-primary); }
.finder__support { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 14px; font-size: 14px; color: var(--color-muted); }
.finder__support[hidden], .finder__none[hidden], .finder__pop[hidden], .finder__warn[hidden], .finder__caption[hidden] { display: none; }
.linkbtn { border: 0; background: none; padding: 6px 0; font: inherit; font-size: 14px; font-weight: 600; color: var(--color-primary); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.linkbtn:hover { color: var(--color-accent); }
.linkbtn__icon { width: 16px; height: 16px; }
/* Support schreiben */
.form-dialog--support { width: min(540px, calc(100vw - 24px)); }
.form-dialog--support > div { display: flex; flex-direction: column; gap: 16px; }
.form-dialog--support > div[hidden] { display: none; }
.dtopics { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.dtopics legend { padding: 0; margin-bottom: 8px; font-size: 13px; font-weight: 500; }
.dtopics__row { display: flex; flex-wrap: wrap; gap: 6px; }
.dtopic input { position: absolute; opacity: 0; pointer-events: none; }
.dtopic span { display: inline-block; font-size: 13px; font-weight: 500; padding: 7px 14px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: var(--color-surface); cursor: pointer; }
.dtopic input:checked + span { border-color: var(--color-primary); background: var(--color-care-bg); }
.dtopic input:focus-visible + span { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.form-dialog--support .dcheck { align-items: flex-start; font-size: 13px; }
.form-dialog--support .dcheck input { width: 16px; height: 16px; margin-top: 2px; }
.form-dialog__foot--support { align-items: center; }
.form-dialog__aside { flex: 1; font-size: 12px; color: var(--color-muted); }
.btn[disabled] { opacity: .5; cursor: default; }
.support-sent { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.support-sent h2 { margin: 0; font-size: 20px; }
.support-sent p { margin: 0; font-size: 15px; line-height: 1.6; }
.support-sent__icon { width: 48px; height: 48px; border-radius: var(--radius-pill); background: var(--color-ok-bg); color: var(--color-ok); display: flex; align-items: center; justify-content: center; }
.support-sent__svg { width: 24px; height: 24px; }

/* ================= Runde 3: Erstgespräch, Archiv, Aussortiert als Leiste ================= */
.board .col--wide { width: calc(var(--width-col-wide) - 20px); }
.col--rail:not(.is-expanded) { width: var(--width-rail); background: var(--color-subtle); border: 1px dashed var(--color-border); }
.col--rail:not(.is-expanded) > .col__head, .col--rail:not(.is-expanded) > .col__body { display: none; }
.col--rail.is-expanded > .rail { display: none; }
.col--rail.is-over { border-style: solid; }
.rail { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 14px 0; background: transparent; border: 0; cursor: pointer; color: var(--color-muted); border-radius: var(--radius-lg); }
.rail:hover { background: var(--color-care-bg); }
.rail__label { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 14px; font-weight: 600; color: var(--color-text); }
.col__collapse { margin-left: auto; width: 26px; height: 26px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-muted); cursor: pointer; line-height: 1; }
.popover--wide { min-width: 230px; }
.appt { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; border-radius: var(--radius-sm); background: var(--color-care-bg); color: var(--color-primary); }
.appt--past { background: var(--color-warn-bg); color: var(--color-warn); }
.appt__line { display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; }
.appt__icon { width: 14px; height: 14px; flex-shrink: 0; }
.appt__sub { font-size: 12px; padding-left: 21px; }
.rcard--past { border-color: var(--color-warn-dot); }
.rcard__result { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--color-border); padding-top: 10px; cursor: default; }
.rcard__result-title { font-size: 12px; font-weight: 600; color: var(--color-warn); }
.rcard__result .btn { height: 34px; padding: 0 8px; font-size: 13px; white-space: nowrap; }
.rcard__result .row { gap: 6px; }
.rcard__half { flex: 1; }
.appt-pretty { font-size: 13px; color: var(--color-muted); margin-top: -8px; min-height: 1em; }
.dseg { border: 0; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.dseg legend { font-size: 13px; font-weight: 500; padding: 0; margin-bottom: 8px; }
.dseg__row { display: flex; gap: 8px; }
.dseg__opt { flex: 1; position: relative; }
.dseg__opt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.dseg__opt span { display: flex; align-items: center; justify-content: center; height: 44px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: var(--color-surface); font-size: 14px; }
.dseg__opt input:checked + span { border-color: var(--color-primary); background: var(--color-care-bg); font-weight: 600; }
.dseg__opt input:focus-visible + span { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.dseg__hint { font-size: 12px; color: var(--color-muted); }
.dfield__opt { font-style: normal; font-weight: 400; color: var(--color-muted); }
.dcheck--box { align-items: flex-start; padding: 12px 14px; border-radius: var(--radius-md); background: var(--color-bg); border: 1px solid var(--color-border); }
.dcheck--box b { font-weight: 600; }
.arch-grid { display: grid; grid-template-columns: 1.5fr 1fr 1.3fr 1fr 1fr 150px; gap: 0 16px; align-items: center; }
.arch-row { padding: 14px 20px; font-size: 14px; border-bottom: 1px solid var(--color-border); cursor: pointer; position: relative; }
.arch-row:nth-child(odd of .arch-row) { background: var(--color-bg); }
.arch-row:hover { background: var(--color-care-bg); }
.arch-row:has(.popover:not([hidden])) { z-index: 10; }
.arch-row__since { font-weight: 600; }
.search--sm { width: 220px; }
.toast__action { height: 34px; padding: 0 12px; border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--color-accent-soft); font-size: 14px; font-weight: 600; cursor: pointer; pointer-events: auto; }
.toast__action:hover { background: rgba(255, 255, 255, .08); }
.toast--actions { padding: 6px 6px 6px 18px; gap: 6px; pointer-events: auto; }

/* ---------- Runde 3: Einstellungen ---------- */
.tag { display: inline-block; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: var(--radius-pill); background: var(--color-chip-bg); color: var(--color-text); white-space: nowrap; line-height: 1.5; }
.tag--care { background: var(--color-care-bg); color: var(--color-primary); }
.tag--ok { background: var(--color-ok-bg); color: var(--color-ok); }
.tag--warn { background: var(--color-warn-bg); color: var(--color-warn); }
.tag--err { background: var(--color-err-bg); color: var(--color-err); }
.note-bar { display: flex; align-items: center; gap: 10px; max-width: 1100px; margin-bottom: 18px; padding: 12px 16px; border-radius: var(--radius-md); background: var(--color-care-bg); color: var(--color-primary); font-size: 14px; }
.note-bar__icon { width: 18px; height: 18px; flex-shrink: 0; }
.set { display: flex; gap: 24px; align-items: flex-start; max-width: 1100px; }
.set__nav { width: 210px; flex-shrink: 0; display: flex; flex-direction: column; gap: 2px; position: sticky; top: 0; }
.set__tab { display: flex; flex-direction: column; gap: 1px; padding: 10px 14px; border-radius: var(--radius-md); color: var(--color-text); text-decoration: none; }
.set__tab:hover { background: var(--color-subtle); color: var(--color-text); }
.set__tab--on, .set__tab--on:hover { background: var(--color-care-bg); color: var(--color-primary); }
.set__label { font-size: 15px; font-weight: 500; }
.set__tab--on .set__label { font-weight: 600; }
.set__sub { font-size: 12px; color: var(--color-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.set__sub--warn { color: var(--color-warn); }
.set__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.set__card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.set__card[hidden] { display: none; }
.set__card h2 { margin: 0; font-size: 18px; font-weight: 600; }
.set__head { display: flex; align-items: center; gap: 10px; }
.set__head h2 { flex: 1; }
.set__lead { margin: 4px 0 0; font-size: 14px; color: var(--color-muted); }
.set__kv { display: grid; grid-template-columns: 160px 1fr; gap: 12px 16px; margin: 0; font-size: 15px; }
.set__kv dt { color: var(--color-muted); }
.set__kv dd { margin: 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; overflow-wrap: anywhere; }
.set__foot { margin: 0; border-top: 1px solid var(--color-border); padding-top: 16px; font-size: 14px; color: var(--color-muted); line-height: 1.55; }
.set__warn { padding: 14px 16px; border-radius: var(--radius-md); background: var(--color-warn-bg); color: var(--color-warn); font-size: 14px; line-height: 1.55; }
.set__group { display: flex; flex-direction: column; gap: 8px; }
.set__group p { margin: 0; }
.set__caps { font-size: 12px; font-weight: 600; color: var(--color-muted); letter-spacing: .04em; text-transform: uppercase; }
.set__log { border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; }
.set__logrow { display: grid; grid-template-columns: 130px 1fr 1.3fr 120px; gap: 12px; align-items: center; padding: 11px 16px; font-size: 14px; }
.set__logrow + .set__logrow { border-top: 1px solid var(--color-border); }
.set__logrow:nth-child(even) { background: var(--color-bg); }
.set__logrow .tag { justify-self: end; }
.set__logrow--empty { display: block; color: var(--color-muted); }
.set__logto { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.set__logsub { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.set__form { display: flex; flex-direction: column; gap: 16px; }
.set__form[hidden] { display: none; }
.set__split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.set__col { display: flex; flex-direction: column; gap: 12px; }
.set__card textarea, .set__card input:not([type]), .set__card input[type="text"] { width: 100%; box-sizing: border-box; font: inherit; font-weight: 400; font-size: 14px; line-height: 1.5; color: var(--color-text); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.set__card textarea { padding: 12px 14px; resize: vertical; }
.set__card input:not([type]), .set__card input[type="text"] { height: 40px; padding: 0 12px; }
.set__card textarea:focus, .set__card input:focus { outline: 2px solid var(--color-accent); outline-offset: -1px; }
.set__card [readonly] { background: var(--color-bg); }
.tokens { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 12px; color: var(--color-muted); }
.token { font: inherit; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-primary); cursor: pointer; }
.token:hover { border-color: var(--color-primary); }
.tpl__unknown { font-size: 13px; color: var(--color-err); background: var(--color-err-bg); border-radius: var(--radius-sm); padding: 8px 12px; }
.tpl__unknown[hidden] { display: none; }
.spv { border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg); padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; }
.spv--mail { border: 0; background: none; padding: 0; gap: 8px; position: sticky; top: 0; }
.spv__head { display: flex; align-items: center; gap: 8px; }
.spv__head .set__caps { flex: 1; }
.spv__box { border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg); padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
.spv__subject { font-size: 15px; font-weight: 600; }
.spv__body { font-size: 14px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.spv__sig { font-size: 14px; line-height: 1.55; white-space: pre-wrap; }
.spv__sig--muted { font-size: 13px; color: var(--color-muted); border-top: 1px solid var(--color-border); padding-top: 8px; }
.set__pills { display: flex; flex-wrap: wrap; gap: 6px; }
.set__pill { display: inline-flex; align-items: center; gap: 6px; }
.set__pill--on, .set__pill--on:hover { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-contrast); }
.set__dot { width: 7px; height: 7px; border-radius: var(--radius-pill); background: var(--color-warn-dot); }
.set__dot[hidden] { display: none; }
.set__custom { font-size: 11px; opacity: .8; }
.dirtybar { display: flex; align-items: center; gap: 10px; border-top: 1px solid var(--color-border); padding-top: 14px; }
.dirtybar[hidden] { display: none; }
.dirtybar__text { font-size: 13px; color: var(--color-warn); font-weight: 500; }
.dirtybar__text[hidden] { display: none; }
[data-dirtybar] .dirtybar__text, .dirtybar__spacer { flex: 1; }
.linkbtn--inline { padding: 0; font-size: inherit; font-weight: 600; display: inline; }
.linkbtn--small { font-size: 13px; font-weight: 500; padding: 0; }
.btn--primary-text { color: var(--color-primary); font-weight: 600; }
@media (max-width: 900px) {
  .set { flex-direction: column; }
  .set__nav { position: static; width: 100%; flex-direction: row; overflow-x: auto; }
  .set__split { grid-template-columns: 1fr; }
  .set__kv { grid-template-columns: 1fr; gap: 2px 0; }
  .set__kv dd { margin-bottom: 10px; }
  .set__logrow { grid-template-columns: 1fr auto; }
  .set__logrow .set__logsub { grid-column: 1 / -1; order: 3; }
}

/* ---------- Runde 3: Plattform-Admin (dichter, 13px) ---------- */
.adm { font-size: var(--font-size-dense); }
.adm-nav { width: 200px; flex-shrink: 0; background: var(--color-surface); border-right: 1px solid var(--color-border); display: flex; flex-direction: column; gap: 4px; padding: 18px 12px; position: sticky; top: 0; height: 100vh; box-sizing: border-box; }
.adm-nav__brand { display: flex; align-items: center; gap: 10px; padding: 4px 6px 18px; }
.adm-nav__logo { width: 26px; height: 28px; object-fit: contain; }
.adm-nav__name { font-weight: 600; font-size: 14px; color: var(--color-primary); line-height: 1.2; }
.adm-nav__sub { font-size: 11px; color: var(--color-muted); }
.adm-nav__item { display: flex; align-items: center; gap: 10px; height: 38px; padding: 0 10px; border-radius: var(--radius-sm); color: var(--color-text); font-size: 14px; font-weight: 500; text-decoration: none; }
.adm-nav__item:hover { background: var(--color-subtle); color: var(--color-text); }
.adm-nav__item--on, .adm-nav__item--on:hover { background: var(--color-care-bg); color: var(--color-primary); font-weight: 600; }
.adm-nav__icon { width: 18px; height: 18px; flex-shrink: 0; }
.adm-nav__count { margin-left: auto; font-size: 11px; font-weight: 600; color: var(--color-muted); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-pill); padding: 0 7px; line-height: 18px; }
.adm-nav__count--hot { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-contrast); }
.adm-nav__foot { margin-top: auto; border-top: 1px solid var(--color-border); padding: 12px 4px 0; font-size: 12px; color: var(--color-muted); line-height: 1.4; }
.adm-main { flex: 1; min-width: 0; padding: 18px 24px 40px; display: flex; flex-direction: column; gap: 14px; box-sizing: border-box; }
.adm-main .flash { font-size: 13px; padding: 10px 14px; }
.adm-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.adm-head h1 { margin: 0; font-size: 20px; font-weight: 600; }
.adm-head__logo { width: 28px; height: 30px; object-fit: contain; }
.adm-note { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--color-muted); padding: 4px 10px; border-radius: var(--radius-pill); background: var(--color-subtle); }
.adm-note__icon { width: 14px; height: 14px; }
.adm-head .abtn--primary, .adm-push { margin-left: auto; }
.adm-crumb { font-size: 12px; color: var(--color-muted); }
.adm-muted { color: var(--color-muted); }
.adm-light { font-weight: 400; font-size: 12px; }
.adm-small { font-size: 11px; }
.adm-b { font-weight: 600; }
.adm-mono { font-family: var(--font-mono); font-size: 12px; }
.adm-err { color: var(--color-err); }
.adm-warn { color: var(--color-warn); }
.adm-ok { color: var(--color-ok); }
.adm-grow, .adm-spacer { flex: 1; }
.adm-ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.adm-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.adm-row--top { align-items: flex-start; }
.adm-row--end { align-items: flex-end; }
.adm-row--tight { gap: 6px; flex-wrap: nowrap; min-width: 0; }
.adm-col { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.adm-col--tight { gap: 6px; }
.adm-caps { font-size: 11px; font-weight: 600; color: var(--color-muted); letter-spacing: .04em; text-transform: uppercase; }
.adm-hint { margin: 0; padding: 8px 12px; border-radius: var(--radius-sm); background: var(--color-subtle); font-size: 12px; }
.adm-hint[hidden] { display: none; }
.adm-hint--ok { background: var(--color-ok-bg); color: var(--color-ok); }
.adm-hint--err { background: var(--color-err-bg); color: var(--color-err); }
.adm-hint--warn { background: var(--color-warn-bg); color: var(--color-warn); }
.adm-check { display: flex; align-items: flex-start; gap: 8px; cursor: pointer; }
.adm-check input { margin: 2px 0 0; accent-color: var(--color-primary); }
.abtn { display: inline-flex; align-items: center; gap: 6px; font: inherit; font-size: 12px; font-weight: 600; padding: 7px 14px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-primary); cursor: pointer; text-decoration: none; white-space: nowrap; }
.abtn:hover { border-color: var(--color-primary); color: var(--color-primary); }
.abtn--primary { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-contrast); }
.abtn--primary:hover { color: var(--color-primary-contrast); filter: brightness(1.1); }
.abtn[disabled] { opacity: .5; cursor: default; filter: none; }
.abtn--sm { padding: 5px 12px; }
.abtn--icon { padding: 3px 10px; font-size: 14px; line-height: 1; color: var(--color-muted); }
.abtn--file { position: relative; align-self: flex-start; }
.abtn--file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.afld { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--color-muted); }
.afld--grow { flex: 1; min-width: 200px; }
.afld input, .ainput, .adm select { height: 32px; padding: 0 10px; font: inherit; font-size: 13px; color: var(--color-text); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); box-sizing: border-box; }
.afld input:focus, .ainput:focus, .adm textarea:focus { outline: 2px solid var(--color-accent); outline-offset: -1px; }
.ainput--err, .ainput--err:focus { border-color: var(--color-err); outline-color: var(--color-err); }
.adm-new { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; padding: 14px 16px; background: var(--color-surface); border: 1px solid var(--color-accent); border-radius: var(--radius-md); }
.adm-new[hidden] { display: none; }
.adm-new .adm-muted { padding-bottom: 8px; font-size: 12px; }
.atable { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; }
.atable--flat { border-radius: var(--radius-sm); overflow: visible; }
.atable__head { padding: 8px 16px; background: var(--color-bg); border-bottom: 1px solid var(--color-border); font-size: 11px; font-weight: 600; color: var(--color-muted); letter-spacing: .03em; text-transform: uppercase; }
.atable__row { padding: 10px 16px; border-bottom: 1px solid var(--color-border); color: var(--color-text); text-decoration: none; font-variant-numeric: tabular-nums; }
.atable__row:last-child { border-bottom: 0; }
a.atable__row:hover { background: var(--color-care-bg); color: var(--color-text); }
.atable__row--off { background: var(--color-bg); color: var(--color-muted); }
.atable__empty { padding: 16px; color: var(--color-muted); }
.adm-list-grid { display: grid; grid-template-columns: minmax(160px, 1.6fr) 120px 90px 130px 48px 48px 52px 60px 104px; gap: 0 12px; align-items: center; }
.adm-in-grid { display: grid; grid-template-columns: 110px minmax(0, 1.4fr) 50px 90px minmax(0, 1fr) auto; gap: 0 12px; align-items: center; }
.adm-acc-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 90px 80px 110px 40px; gap: 0 12px; align-items: center; }
.adm-inv-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) 90px minmax(0, 1fr) auto; gap: 0 12px; align-items: center; margin: 0; }
.adm-span5 { grid-column: span 5; }
.num { text-align: right; }
.adm-praxis { display: flex; align-items: center; gap: 8px; min-width: 0; }
.adm-praxis b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-praxis .adm-muted { font-family: var(--font-mono); font-size: 11px; }
.adm-dot { width: 10px; height: 10px; border-radius: var(--radius-pill); background: var(--color-primary); flex-shrink: 0; }
.adm-actions { display: flex; gap: 6px; justify-content: flex-end; }
.adm-actions form { margin: 0; }
.atag { display: inline-block; font-size: 11px; font-weight: 600; padding: 0 8px; line-height: 18px; border-radius: var(--radius-pill); background: var(--color-chip-bg); color: var(--color-text); white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
.atag--ok { background: var(--color-ok-bg); color: var(--color-ok); }
.atag--warn { background: var(--color-warn-bg); color: var(--color-warn); }
.atag--err { background: var(--color-err-bg); color: var(--color-err); }
.atag--care { background: var(--color-care-bg); color: var(--color-primary); }
.atag--muted { color: var(--color-muted); }
.adm-split { display: flex; gap: 20px; align-items: flex-start; }
.adm-subnav { width: 190px; flex-shrink: 0; display: flex; flex-direction: column; gap: 2px; position: sticky; top: 18px; }
.adm-subnav__item { display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 10px; border-radius: var(--radius-sm); color: var(--color-text); font-weight: 500; text-decoration: none; }
.adm-subnav__item:hover { background: var(--color-subtle); color: var(--color-text); }
.adm-subnav__item--on, .adm-subnav__item--on:hover { background: var(--color-care-bg); color: var(--color-primary); font-weight: 600; }
.adm-subnav__dot { width: 8px; height: 8px; border-radius: var(--radius-pill); flex-shrink: 0; }
.adm-subnav__dot--ok { background: var(--color-ok); }
.adm-subnav__dot--warn { background: var(--color-warn-dot); }
.adm-subnav__dot--err { background: var(--color-err); }
.adm-subnav__label { flex: 1; }
.adm-subnav__meta { font-size: 11px; color: var(--color-muted); font-weight: 500; }
.adm-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.adm-body > [data-panel] { display: flex; flex-direction: column; gap: 14px; }
.adm-body > [data-panel][hidden] { display: none; }
.acard { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; }
.acard[hidden] { display: none; }
.acard--accent { border-color: var(--color-accent); }
.acard h2 { margin: 0; font-size: 15px; font-weight: 600; }
.acard h3 { margin: 0; font-size: 14px; font-weight: 600; }
.acard p { margin: 0; }
.checklist__row { display: flex; align-items: center; gap: 12px; padding: 10px 0; }
.checklist__row + .checklist__row { border-top: 1px solid var(--color-border); }
.checklist__mark { width: 22px; height: 22px; border-radius: var(--radius-pill); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; flex-shrink: 0; background: var(--color-border); }
.checklist__mark--ok { background: var(--color-ok); color: var(--color-primary-contrast); }
.checklist__mark--warn { background: var(--color-warn-bg); color: var(--color-warn); }
.checklist__text { flex: 1; display: flex; flex-direction: column; }
.checklist__text b { font-size: 14px; }
.checklist__text .adm-muted { font-size: 12px; }
.stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; font-variant-numeric: tabular-nums; }
.stats__box { padding: 10px 12px; border-radius: var(--radius-sm); background: var(--color-bg); border: 1px solid var(--color-border); }
.stats__v { font-size: 20px; font-weight: 600; }
.adm-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.acard.adm-two { display: grid; }
.acard.adm-two[hidden] { display: none; }
.abox { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-bg); }
.agrid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
.secretbox { display: flex; flex-direction: column; gap: 6px; }
.secretbox[hidden] { display: none; }
.secretbox code, .adm-copyrow code { padding: 6px 8px; border-radius: var(--radius-sm); background: var(--color-surface); border: 1px solid var(--color-border); font-size: 12px; }
.adm-copyrow { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; }
.adm-copyrow code { flex: 1; }
.adm-kv { margin: 0; }
.adm-kv dt { font-size: 12px; color: var(--color-muted); margin-bottom: 4px; }
.adm-menu { position: relative; display: flex; justify-content: flex-end; }
.adm-menu .popover form { display: flex; flex-direction: column; gap: 2px; margin: 0; }
.adm-menu .popover { top: 30px; font-size: 13px; }
.aseg { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.aseg legend { padding: 0; font-size: 12px; color: var(--color-muted); margin-bottom: 4px; }
.aseg { flex-direction: row; }
.aseg label { position: relative; }
.aseg input { position: absolute; opacity: 0; pointer-events: none; }
.aseg span { display: inline-block; font-size: 12px; font-weight: 600; padding: 7px 12px; border: 1px solid var(--color-border); background: var(--color-surface); cursor: pointer; }
.aseg label:first-of-type span { border-radius: var(--radius-pill) 0 0 var(--radius-pill); }
.aseg label:last-of-type span { border-radius: 0 var(--radius-pill) var(--radius-pill) 0; border-left: 0; }
.aseg input:checked + span { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-contrast); }
.aseg input:focus-visible + span { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.apill { display: inline-flex; align-items: center; gap: 6px; font: inherit; font-size: 12px; font-weight: 500; padding: 5px 12px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-text); cursor: pointer; text-decoration: none; }
.apill:hover { border-color: var(--color-primary); color: var(--color-text); }
.apill--on, .apill--on:hover { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-contrast); }
.apill--strong { font-weight: 600; color: var(--color-primary); }
.apill__icon { width: 14px; height: 14px; }
.adm-filters { display: flex; gap: 6px; margin-left: 12px; }
/* Branding */
.brand-logo { width: 60px; height: 64px; object-fit: contain; border: 1px dashed var(--color-border); border-radius: var(--radius-sm); padding: 6px; background: var(--color-surface); }
.brand-color { display: flex; align-items: center; gap: 10px; }
.brand-color input[type="color"] { width: 44px; height: 34px; padding: 2px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); cursor: pointer; }
.brand-color .ainput { width: 90px; }
.contrast { display: flex; flex-direction: column; gap: 6px; }
.contrast__row { display: flex; align-items: center; gap: 8px; font-size: 12px; padding: 6px 10px; border-radius: var(--radius-sm); }
.contrast__row b:first-child { min-width: 56px; font-variant-numeric: tabular-nums; }
.contrast__row span { flex: 1; }
.contrast__row--ok { background: var(--color-ok-bg); color: var(--color-ok); }
.contrast__row--warn { background: var(--color-warn-bg); color: var(--color-warn); }
.contrast__row--err { background: var(--color-err-bg); color: var(--color-err); }
/* Live-Vorschau: feste Grundfarben, Markenfarben per JS (--bp, --ba, --bs, --bc) */
.bprev { --bp: #1e1331; --ba: #4f46e5; --bs: #a5a1f5; --bc: #edecfd; display: flex; border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; background: #f8fafb; font-size: 13px; color: #1a1d2e; }
.bprev__nav { width: 130px; background: #fff; border-right: 1px solid #e2e8ed; padding: 12px 8px; display: flex; flex-direction: column; gap: 4px; }
.bprev__brand { display: flex; align-items: center; gap: 6px; padding: 2px 4px 10px; font-size: 12px; font-weight: 600; color: var(--bp); }
.bprev__brand img { width: 18px; height: 20px; object-fit: contain; }
.bprev__item { height: 28px; border-radius: 8px; font-size: 12px; display: flex; align-items: center; padding: 0 8px; }
.bprev__item--on { background: var(--bc); color: var(--bp); font-weight: 600; }
.bprev__user { margin-top: auto; display: flex; align-items: center; gap: 6px; padding: 10px 4px 0; font-size: 11px; }
.bprev__avatar { width: 22px; height: 22px; border-radius: 999px; background: var(--bs); color: var(--bp); font-size: 10px; font-weight: 600; display: flex; align-items: center; justify-content: center; }
.bprev__main { flex: 1; padding: 14px; display: flex; flex-direction: column; gap: 12px; }
.bprev__card { background: #fff; border: 1px solid #e2e8ed; border-radius: 12px; padding: 10px 12px; display: flex; flex-direction: column; gap: 6px; font-size: 12px; box-shadow: 0 1px 2px rgba(41,48,104,.05), 0 6px 20px rgba(41,48,104,.06); }
.bprev__row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.bprev__dot { width: 7px; height: 7px; border-radius: 999px; background: var(--ba); }
.bprev__time { margin-left: auto; font-size: 11px; color: #5a6178; }
.bprev__chip { font-size: 11px; font-weight: 600; padding: 1px 8px; border-radius: 999px; background: var(--bp); color: #fff; }
.bprev__chip--soft { background: var(--bc); color: var(--bp); }
.bprev__btn { font-size: 12px; font-weight: 600; padding: 8px 16px; border-radius: 999px; background: var(--bp); color: #fff; }
.bprev__btn--ghost { background: #fff; border: 1px solid #e2e8ed; color: var(--bp); }
.bprev__focus { font-size: 12px; font-weight: 500; padding: 6px 12px; border-radius: 999px; background: #fff; border: 2px solid var(--ba); }
/* Anonymisierung */
.chiplist { display: flex; flex-direction: column; gap: 6px; }
.chiplist__label { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.chiplist__label .adm-muted { font-size: 12px; }
.chiplist__box { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 8px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); }
.chiplist__box:focus-within { border-color: var(--color-accent); }
.chip-x { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; padding: 2px 4px 2px 10px; border-radius: var(--radius-pill); background: var(--color-chip-bg); }
.chip-x button { border: 0; background: none; padding: 0 4px; font-size: 14px; line-height: 1; color: var(--color-muted); cursor: pointer; }
.chip-x button:hover { color: var(--color-err); }
.chiplist__input { flex: 1; min-width: 160px; border: 0; outline: 0; font: inherit; font-size: 13px; padding: 4px; background: transparent; }
.adm-json { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-bg); resize: vertical; }
.adm-json[hidden], form[hidden] { display: none; }
/* Support-Postfach */
.mailprev { border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-bg); padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; }
.mailprev__body { white-space: pre-wrap; line-height: 1.5; }
.mailprev__body[hidden] { display: none; }
.sup { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 14px; min-height: 520px; }
.sup__list { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow-y: auto; max-height: calc(100vh - 160px); }
.sup__item { display: flex; flex-direction: column; gap: 3px; padding: 11px 14px; border-bottom: 1px solid var(--color-border); color: var(--color-text); text-decoration: none; }
.sup__item:hover { background: var(--color-bg); color: var(--color-text); }
.sup__item--on, .sup__item--on:hover { background: var(--color-care-bg); box-shadow: inset 3px 0 0 var(--color-primary); }
.sup__unread { width: 7px; height: 7px; border-radius: var(--radius-pill); background: var(--color-accent); flex-shrink: 0; }
.sup__who { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sup__preview { font-size: 12px; color: var(--color-muted); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.sup__detail { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); display: flex; flex-direction: column; min-width: 0; }
.sup__head { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--color-border); }
.sup__head form { margin: 0; }
.sup__thread { flex: 1; padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; }
.sup__msg { display: flex; flex-direction: column; gap: 4px; max-width: 640px; }
.sup__msg--admin { align-self: flex-end; padding: 10px 12px; border-radius: var(--radius-md); background: var(--color-care-bg); }
.sup__text { font-size: 14px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.sup__tech { padding: 8px 10px; border-radius: var(--radius-sm); background: var(--color-bg); }
.sup__quick { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--radius-sm); background: var(--color-warn-bg); color: var(--color-warn); margin: 0; }
.sup__reply { border-top: 1px solid var(--color-border); padding: 14px 18px; display: flex; flex-direction: column; gap: 8px; margin: 0; }
.sup__reply textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; font: inherit; font-size: 13px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); resize: vertical; }

/* ---------- Runde 3: Zustände ---------- */
.welcome { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-card); padding: 18px 16px; display: flex; flex-direction: column; gap: 12px; }
.welcome__title { font-size: 17px; font-weight: 600; line-height: 1.3; }
.welcome p { margin: 0; font-size: 14px; line-height: 1.55; }
.welcome__setup { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.welcome__setup li { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; }
.welcome__setup li > span:last-child { display: flex; flex-direction: column; }
.welcome__setup b { font-weight: 600; }
.welcome__mark { width: 20px; height: 20px; border-radius: var(--radius-pill); font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.welcome__mark--ok { background: var(--color-ok); color: var(--color-primary-contrast); }
.welcome__mark--warn { background: var(--color-warn-bg); color: var(--color-warn); }
.welcome__tour { align-self: flex-start; }
.skel { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.skel__line { width: 95%; height: 9px; border-radius: var(--radius-pill); background: var(--color-subtle); }
.skel__line--title { width: 60%; height: 12px; }
.skel__line--short { width: 40%; }
.skel__chips { display: flex; gap: 6px; }
.skel__chips span { width: 64px; height: 16px; border-radius: var(--radius-pill); background: var(--color-subtle); }
.skel__chips span + span { width: 48px; }
.panel-skel { padding: 28px; display: flex; flex-direction: column; gap: 14px; }
[aria-busy="true"] .col__head .btn, [aria-busy="true"] .col__mail { opacity: .5; }
.rcard--failed { border-color: var(--color-err); box-shadow: 0 0 0 1px var(--color-err); }
.rcard__failed { font-size: 12px; font-weight: 600; color: var(--color-err); }
.offline-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px 14px; margin-bottom: 14px; border-radius: var(--radius-md); background: var(--color-warn-bg); color: var(--color-warn); font-size: 14px; }
.offline-bar[hidden] { display: none; }
.offline-bar__icon { width: 20px; height: 20px; flex-shrink: 0; }
.offline-bar__text { flex: 1; min-width: 180px; }
.offline-bar__retry { font-size: 13px; font-variant-numeric: tabular-nums; }
.offline-bar__btn { height: 34px; padding: 0 14px; border-radius: var(--radius-pill); border: 1px solid var(--color-warn); background: transparent; color: var(--color-warn); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.is-offline .rcard[draggable="true"] { cursor: default; }
.scrim--session { z-index: 60; background: var(--color-scrim-strong); }
.session-dlg { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 61; width: min(460px, calc(100vw - 24px)); max-height: calc(100vh - 24px); overflow-y: auto; box-sizing: border-box; background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-dialog); padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.session-dlg[hidden] { display: none; }
.session-dlg h2 { margin: 0; font-size: 22px; font-weight: 600; }
.session-dlg p { margin: 0; font-size: 15px; line-height: 1.6; }
.session-dlg form { display: flex; flex-direction: column; gap: 14px; }
.session-dlg form[hidden] { display: none; }
.session-dlg__icon { width: 44px; height: 44px; border-radius: var(--radius-pill); background: var(--color-care-bg); color: var(--color-primary); display: flex; align-items: center; justify-content: center; }
.session-dlg__svg { width: 22px; height: 22px; }
.session-dlg__who { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; border-radius: var(--radius-md); background: var(--color-bg); border: 1px solid var(--color-border); font-size: 15px; }
.session-dlg__who b { font-weight: 500; }
@media (max-width: 600px) {
  .session-dlg { top: auto; bottom: 0; left: 0; transform: none; width: 100%; border-radius: var(--radius-lg) var(--radius-lg) 0 0; padding: 24px 20px calc(24px + var(--pad-safe-bottom)); }
}

/* ---------- Runde 3: Handy (390 × 844) ---------- */
.tabbar, .mtabs, .crisis-bar, .group__more, .mback, .mactions, .mhint, .sheet__head, .arch-row__m { display: none; }
.more__title { margin: 0; }
@media (max-width: 640px) {
  body { -webkit-tap-highlight-color: transparent; }
  .app { display: block; }
  .nav { display: none; }
  .main, .main--page, .main--board { height: auto; min-height: 100vh; padding: 14px 16px calc(var(--height-tabbar) + var(--pad-safe-bottom) + 24px); gap: 14px; }
  /* Leiste unten */
  .tabbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 15; display: flex !important; background: var(--color-surface); border-top: 1px solid var(--color-border); padding: 6px 8px calc(var(--pad-safe-bottom) - 4px); }
  .tabbar__item { flex: 1; height: var(--height-tabbar); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: var(--color-muted); font-size: 12px; font-weight: 500; text-decoration: none; position: relative; }
  .tabbar__item:hover { color: var(--color-muted); }
  .tabbar__icon { width: 56px; height: 30px; border-radius: var(--radius-pill); display: flex; align-items: center; justify-content: center; }
  .tabbar__icon svg { width: 22px; height: 22px; }
  .tabbar__item--on, .tabbar__item--on:hover { color: var(--color-primary); font-weight: 600; }
  .tabbar__item--on .tabbar__icon { background: var(--color-care-bg); }
  .tabbar__count { position: absolute; top: 0; left: calc(50% + 8px); min-width: 20px; height: 20px; padding: 0 6px; box-sizing: border-box; border-radius: var(--radius-pill); background: var(--color-primary); color: var(--color-primary-contrast); font-size: 11px; font-weight: 600; display: flex; align-items: center; justify-content: center; border: 2px solid var(--color-surface); }
  /* Kopf */
  .head { padding-bottom: 0; gap: 10px; }
  .head__title h1 { font-size: 24px; }
  .head__title { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
  .main--board .head__tools { display: none; }
  /* Board: eine Spalte je Ansicht, Tabs oben */
  .mtabs { display: flex !important; gap: 6px; overflow-x: auto; margin: 0 -16px; padding: 4px 16px 10px; scrollbar-width: none; }
  .mtabs::-webkit-scrollbar { display: none; }
  .mtab { flex-shrink: 0; height: 40px; display: flex; align-items: center; gap: 7px; padding: 0 8px 0 14px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-text); font: inherit; font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; }
  .mtab:hover { color: var(--color-text); }
  .mtab__count { min-width: 24px; height: 24px; padding: 0 7px; box-sizing: border-box; border-radius: var(--radius-pill); background: var(--color-subtle); font-size: 12px; display: flex; align-items: center; justify-content: center; }
  .mtab--on, .mtab--on:hover { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-contrast); }
  .mtab--on .mtab__count { background: rgba(255, 255, 255, .18); }
  .board { display: block; overflow: visible; padding-bottom: 0; }
  .board .col { display: none; width: auto; background: none; border: 0; }
  .board .col.is-mtab { display: flex; }
  .board .col__head { display: none; }
  .board .col__body { overflow: visible; padding: 4px 0 0; gap: 18px; }
  .board .col--rail > .rail { display: none; }
  .board .col--rail > .col__body { display: flex; }
  .group { gap: 8px; }
  .crisis-bar { display: flex !important; align-items: center; gap: 10px; width: 100%; min-height: 52px; padding: 10px 14px; border-radius: var(--radius-md); border: 0; background: var(--color-alert-bg); color: var(--color-alert); font: inherit; font-size: 14px; font-weight: 600; text-align: left; cursor: pointer; }
  .crisis-bar__dot { width: 8px; height: 8px; border-radius: var(--radius-pill); background: var(--color-alert); flex-shrink: 0; }
  .crisis-bar__text { flex: 1; }
  .crisis-bar__open { font-weight: 500; }
  .group--warn:not(.is-all) .rcard[data-extra] { display: none; }
  .group__more:not([hidden]) { display: block !important; height: var(--size-tap-min); border-radius: var(--radius-pill); border: 1px dashed var(--color-border); background: transparent; color: var(--color-primary); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
  /* Karte schlanker */
  .rcard { cursor: pointer; padding: 12px 4px 12px 14px; gap: 8px; }
  .rcard:hover { transform: none; box-shadow: var(--shadow-card); }
  .rcard__from { font-size: 16px; }
  .rcard__date { font-size: 13px; }
  .rcard__preview { font-size: 14px; padding-right: 10px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .rcard__chips, .appt, .rcard__result { margin-right: 10px; }
  .rcard .chip--np { display: none; }
  .rcard .icon-btn[data-menu-toggle], .wl-row .icon-btn[data-menu-toggle], .arch-row .icon-btn[data-menu-toggle] { width: var(--size-tap-min); height: var(--size-tap-min); font-size: 20px; margin: -8px 0 -6px; }
  .rcard__result .btn { height: var(--size-tap-min); font-size: 15px; }
  /* „···“ als Blatt von unten */
  .rcard .popover, .wl-row .popover, .arch-row .popover { position: fixed; left: 0; right: 0; bottom: 0; top: auto; z-index: 40; min-width: 0; max-height: 80vh; overflow-y: auto; border: 0; border-radius: 24px 24px 0 0; padding: 8px 12px var(--pad-safe-bottom); box-shadow: 0 0 0 100vmax var(--color-scrim), var(--shadow-dialog); cursor: default; }
  body:has(.popover:not([hidden])) .tabbar, body.no-scroll .tabbar { visibility: hidden; }
  .sheet__head { display: flex !important; flex-direction: column; gap: 2px; padding: 4px 12px 12px; margin-bottom: 6px; border-bottom: 1px solid var(--color-border); }
  .sheet__head b { font-size: 17px; }
  .sheet__grip { width: 40px; height: 5px; border-radius: var(--radius-pill); background: var(--color-border); margin: 0 auto 10px; }
  .popover__item { min-height: var(--height-row-mobile); font-size: 16px; }
  .popover__title { padding: 10px 12px 4px; }
  /* Detail im Vollbild */
  .dialog, .composer { top: 0; left: 0; transform: none; width: 100%; height: 100%; max-height: none; border-radius: 0; }
  .mback { display: flex !important; align-items: center; height: 52px; padding: 0 8px; border-bottom: 1px solid var(--color-border); flex-shrink: 0; }
  .mback__btn { height: var(--size-tap-min); display: flex; align-items: center; gap: 2px; padding: 0 12px 0 6px; border: 0; background: transparent; color: var(--color-primary); font: inherit; font-size: 16px; font-weight: 500; cursor: pointer; }
  .mback__icon { width: 20px; height: 20px; }
  .detail__head { padding: 18px 20px 10px; border-bottom: 0; }
  .detail__top > .btn, .detail__top > .icon-btn { display: none; }
  .detail__from { font-size: 22px; }
  .detail__body { padding: 8px 20px 24px; }
  .original { font-size: 16px; }
  .assign { border-radius: var(--radius-lg); }
  .move-pills .pill { height: var(--size-tap-min); padding: 0 18px; font-size: 14px; }
  .dialog:has(.mactions [form]) .assign__buttons .btn--primary { display: none; }
  .mactions { display: flex !important; gap: 10px; flex-shrink: 0; padding: 12px 16px var(--pad-safe-bottom); background: var(--color-surface); border-top: 1px solid var(--color-border); }
  .mactions__btn { flex: 1; height: var(--height-action-mobile); justify-content: center; }
  /* Composer im Vollbild, Vorschauen untereinander */
  .composer__head { padding: 14px 16px; }
  .composer__body { padding: 14px 16px; }
  .composer__grid { grid-template-columns: 1fr; gap: 6px; }
  .composer__foot { padding: 12px 16px var(--pad-safe-bottom); }
  .composer__foot .btn--primary { flex: 1; height: var(--height-action-mobile); justify-content: center; }
  /* Dialoge (Termin, Person eintragen, Support) im Vollbild, Knöpfe unten */
  .form-dialog { top: 0; left: 0; transform: none; width: 100%; height: 100%; max-height: none; border-radius: 0; padding: 20px 16px 0; }
  .form-dialog__foot { position: sticky; bottom: 0; margin: auto -16px 0; padding: 12px 16px var(--pad-safe-bottom); background: var(--color-surface); border-top: 1px solid var(--color-border); }
  .form-dialog__foot .btn--primary { flex: 1; height: var(--height-action-mobile); justify-content: center; }
  .form-dialog__foot .btn--quiet { height: var(--height-action-mobile); }
  .form-dialog--support .form-dialog__aside { display: none; }
  .dfield-row { grid-template-columns: 1fr; }
  .dfield input, .dfield textarea { font-size: 16px; }
  .support-sent { padding-top: 24px; }
  /* Warteliste als Liste mit Pfeilen */
  .mhint { display: block !important; margin: 0; font-size: 13px; color: var(--color-muted); }
  .main--page:has(#waitlist) > .head { order: -1; flex-direction: row; align-items: flex-end; }
  .main--page:has(#waitlist) > .head .head__tools > :not([data-open-add]) { display: none; }
  .main--page:has(#waitlist) > .head .head__tools { margin-left: auto; }
  .main--page:has(#waitlist) > .flash { order: -2; }
  .footnote--page { display: none; }
  #waitlist .wl-head { display: none; }
  #waitlist .wl-row { display: grid; grid-template-columns: 30px minmax(0, 1fr) var(--size-tap-min); grid-template-areas: "pos who more" "pos weeks arrows" "pos chips arrows" "pos note arrows"; gap: 3px 12px; padding: 14px 10px 14px 14px; }
  #waitlist .wl-row__nr { display: contents; }
  #waitlist .wl-grip { display: none; }
  #waitlist .wl-row__pos { grid-area: pos; width: 30px; height: 30px; border-radius: var(--radius-pill); background: var(--color-care-bg); color: var(--color-primary); font-weight: 600; font-size: 14px; display: flex; align-items: center; justify-content: center; }
  #waitlist .wl-row__who { grid-area: who; min-width: 0; }
  #waitlist .wl-row__name { font-size: 16px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  #waitlist .wl-row__who .wl-row__sub { display: none; }
  #waitlist .wl-row > div:nth-child(3) { grid-area: weeks; display: flex; gap: 4px; font-size: 13px; color: var(--color-muted); flex-wrap: wrap; }
  #waitlist .wl-row > div:nth-child(3) .wl-row__weeks { font-weight: 600; color: var(--color-text); }
  #waitlist .wl-row > div:nth-child(3) .wl-row__weeks::after { content: " ·"; font-weight: 400; color: var(--color-muted); }
  #waitlist .wl-row > span:nth-child(4) { display: none; }
  #waitlist .wl-row__chips { grid-area: chips; }
  #waitlist .wl-row__note { grid-area: note; font-size: 13px; color: var(--color-muted); }
  #waitlist .wl-arrows { grid-area: arrows; gap: 4px; align-self: center; }
  #waitlist .wl-arrow { width: var(--size-tap-min); height: 40px; border-radius: var(--radius-sm); color: var(--color-primary); }
  #waitlist .wl-arrow__icon { width: 18px; height: 18px; }
  #waitlist .wl-row__actions { grid-area: more; justify-content: flex-end; }
  #waitlist .wl-row__actions [data-compose] { display: none; }
  #waitlist .wl-note-form { grid-column: 1 / -1; }
  /* Archiv als Liste */
  #archive .wl-head { display: none; }
  #archive .arch-row { display: grid; grid-template-columns: minmax(0, 1fr) var(--size-tap-min); gap: 3px 8px; padding: 14px 10px 14px 16px; }
  #archive .arch-row > * { grid-column: 1; }
  #archive .arch-row > .wl-row__actions { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
  #archive .arch-row .wl-row__sub { display: none; }
  #archive .arch-row > span { display: none; }
  #archive .arch-row .wl-row__name { font-size: 16px; font-weight: 600; }
  #archive .arch-row__m { display: flex !important; flex-direction: column; gap: 3px; font-size: 14px; }
  #archive .arch-row__m .muted { font-size: 13px; }
  .main--page:has(#archive) .head__tools { width: 100%; }
  /* Aktivitäten */
  .act-head { display: none; }
  .act-grid { grid-template-columns: 1fr; gap: 4px; }
  .act-row { padding: 12px 14px; }
  /* Suche und Hilfe: Leiste oben */
  .finder { margin-top: 4px; }
  .finder__keys, .finder__enter { display: none; }
  .finder__opt { padding: 12px; }
  /* Mehr */
  .more__title { font-size: 24px; font-weight: 600; letter-spacing: -0.01em; padding: 0 4px; }
  .more__who { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
  .more__logo { width: 34px; height: 36px; object-fit: contain; }
  .more__praxis { font-size: 16px; font-weight: 600; color: var(--color-primary); }
  .more__list { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; }
  .more__item { min-height: var(--height-row-mobile); display: flex; align-items: center; gap: 14px; padding: 0 16px; color: var(--color-text); font-size: 16px; font-weight: 500; text-decoration: none; }
  .more__item + .more__item { border-top: 1px solid var(--color-border); }
  .more__item:hover { color: var(--color-text); background: var(--color-bg); }
  .more__icon { width: 36px; height: 36px; border-radius: var(--radius-pill); background: var(--color-care-bg); color: var(--color-primary); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .more__icon svg { width: 18px; height: 18px; }
  .more__label { flex: 1; }
  .more__chev { color: var(--color-muted); font-size: 22px; }
  .more__logout { width: 100%; justify-content: center; }
  /* Einstellungen, Toasts, Offline */
  .toast-stack { bottom: calc(var(--height-tabbar) + var(--pad-safe-bottom) + 12px); left: 16px; right: 16px; transform: none; }
  .toast { white-space: normal; }
  .offline-bar { margin-bottom: 0; }
}
@media (min-width: 641px) { .more__title { font-size: 24px; } }

/* ---------- Hilfe als Dokumentation ---------- */
.finder--top { margin: 0; width: min(var(--width-finder), 100%); position: relative; z-index: 6; }
.finder--top .finder__pop, .finder--top .finder__none { position: absolute; top: calc(var(--height-finder) + 8px); left: 0; right: 0; z-index: 6; }
.finder--top .finder__caption { padding-top: 0; }
.finder--top .finder__support { display: none; }
.help-popular { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.help-popular__label { font-size: 13px; color: var(--color-muted); margin-right: 4px; }
.help-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.help-tile { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
.help-tile__head { display: flex; align-items: center; gap: 12px; color: var(--color-text); text-decoration: none; }
.help-tile__head:hover { color: var(--color-text); }
.help-tile__head:hover b { color: var(--color-accent); }
.help-tile__icon { width: 40px; height: 40px; border-radius: var(--radius-md); background: var(--color-care-bg); color: var(--color-accent); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.help-tile__icon--lg { width: 52px; height: 52px; }
.help-tile__icon--sm { width: 26px; height: 26px; border-radius: var(--radius-sm); }
.help-tile__svg { width: 22px; height: 22px; }
.help-tile__icon--sm .help-tile__svg { width: 15px; height: 15px; }
.help-tile__icon--lg .help-tile__svg { width: 26px; height: 26px; }
.help-tile__title { display: flex; flex-direction: column; line-height: 1.25; }
.help-tile__title b { font-size: 15px; }
.help-tile__title span { font-size: 12px; color: var(--color-muted); }
.help-tile__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--color-border); }
.help-tile__list li a { display: block; padding: 7px 0; font-size: 13.5px; color: var(--color-text); text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.help-tile__list li + li a { border-top: 1px solid var(--color-subtle); }
.help-tile__list li a:hover { color: var(--color-accent); }
.help-tile__more { font-size: 13px; font-weight: 600; text-decoration: none; margin-top: auto; }
.help-catpage { max-width: 760px; display: flex; flex-direction: column; gap: 16px; }
.help-catpage__head { display: flex; align-items: center; gap: 14px; }
.help-catpage__head h1 { margin: 0; font-size: 24px; }
.help-catpage__head p { margin: 2px 0 0; font-size: 14px; }
.help-catpage__list { list-style: none; margin: 0; padding: 0; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; }
.help-catpage__list li + li { border-top: 1px solid var(--color-border); }
.help-catpage__list a { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 14px 18px; color: var(--color-text); text-decoration: none; }
.help-catpage__list a:hover { background: var(--color-bg); color: var(--color-text); }
.help-catpage__list b { font-size: 15px; }
.help-catpage__list span:not(.help-catpage__chev) { grid-column: 1; font-size: 13px; color: var(--color-muted); line-height: 1.5; }
.help-catpage__chev { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: 22px; color: var(--color-muted); }
.help-doc { display: flex; gap: 28px; align-items: flex-start; max-width: 1060px; }
.help-toc { width: 230px; flex-shrink: 0; position: sticky; top: 16px; display: flex; flex-direction: column; gap: 8px; }
.help-toc__back { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 500; text-decoration: none; }
.help-toc__icon { width: 16px; height: 16px; }
.help-toc__cat { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--color-text); text-decoration: none; margin-top: 8px; }
.help-toc li a { display: block; padding: 6px 10px; border-radius: var(--radius-sm); font-size: 14px; color: var(--color-text); text-decoration: none; }
.help-toc li a:hover { background: var(--color-subtle); color: var(--color-text); }
.help-toc li a[aria-current="page"] { background: var(--color-care-bg); color: var(--color-primary); font-weight: 600; }
.help-article { flex: 1; min-width: 0; max-width: 720px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: 28px 32px; display: flex; flex-direction: column; gap: 14px; }
.help-article__crumb { font-size: 13px; color: var(--color-muted); }
.help-article__crumb a { color: var(--color-muted); }
.help-article h1 { margin: 0; font-size: 26px; line-height: 1.25; }
.help-article__lead { margin: 0; font-size: 17px; line-height: 1.6; color: var(--color-text); }
.help-article__body { font-size: 15px; line-height: 1.7; }
.help-article__body p { margin: 0 0 12px; }
.help-article__body ul, .help-article__body ol { margin: 0 0 12px; padding-left: 22px; }
.help-article__body li { margin-bottom: 6px; }
.help-article__body ol li::marker { font-weight: 600; color: var(--color-accent); }
.help-article__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.help-related { border-top: 1px solid var(--color-border); padding-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.help-related li a { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: var(--radius-md); color: var(--color-text); text-decoration: none; }
.help-related li a:hover { background: var(--color-bg); color: var(--color-text); }
.help-related li a span { font-size: 13px; color: var(--color-muted); }
.help-article__foot { font-size: 14px; color: var(--color-muted); border-top: 1px solid var(--color-border); padding-top: 14px; }
@media (max-width: 900px) {
  .help-doc { flex-direction: column; }
  .help-toc { position: static; width: 100%; }
  .help-toc ul, .help-toc__cat { display: none; }
  .help-article { padding: 20px; }
}

/* ---------- Board: Inbox als Hauptfläche, Rest als Leisten (Feedback 28.09.2026) ---------- */
.col--main { flex: 1 1 auto; width: auto; min-width: 440px; background: var(--color-surface); border-color: var(--color-border); box-shadow: var(--shadow-card); }
.col--main .col__head { padding: 14px 16px 10px; gap: 10px; }
.col--main .col__name { font-size: 17px; }
.col--main .col__body { padding: 4px 16px 16px; }
.col--main .group { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; align-items: start; }
.col--main .group__title, .col--main .group__more { grid-column: 1 / -1; }
.col--main .group[hidden] { display: none; }
.inbox-tools { width: 100%; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.search--inbox { flex: 1 1 220px; max-width: 340px; }
.inbox-tools__filters { display: flex; gap: 6px; flex-wrap: wrap; }
.inbox-tools__sort { margin-left: auto; display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--color-muted); }
.inbox-tools__sort select { height: 34px; padding: 0 30px 0 12px; font: inherit; font-size: 13px; color: var(--color-text); border: 1px solid var(--color-border); border-radius: var(--radius-pill); background: var(--color-surface); cursor: pointer; }
.col--rail:not(.is-expanded) { flex-shrink: 0; }
.col--rail.is-expanded { width: var(--width-col); }
.rail .col__count { background: var(--color-surface); }
.col--rail.is-over:not(.is-expanded) { background: var(--color-care-bg); border-color: var(--color-accent); }
@media (max-width: 640px) {
  .board .col--main { min-width: 0; background: none; border: 0; box-shadow: none; }
  .board .col--main .col__body { padding: 4px 0 0; }
  .board .col--main .group { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
  .board .col--rail { width: auto; }
}

/* ---------- Inbox als Zeilenliste (Desktop) ---------- */
.rrow-head, .rcard--row { display: grid; grid-template-columns: 5px minmax(120px, 1fr) minmax(150px, 2fr) minmax(120px, 1.4fr) 140px 92px 40px; gap: 0 14px; align-items: center; }
.rrow-head { padding: 0 8px 6px 12px; font-size: 11px; font-weight: 600; color: var(--color-muted); letter-spacing: .04em; text-transform: uppercase; }
.col--main .group { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
.col--main .group > .rcard--row + .rcard--row { border-top: 0; }
.rcard--row { min-height: 50px; padding: 6px 8px 6px 12px; border-radius: 0; box-shadow: none; border: 1px solid var(--color-border); background: var(--color-surface); gap: 0 14px; cursor: pointer; }
.group > .rcard--row:first-of-type { border-top-left-radius: var(--radius-md); border-top-right-radius: var(--radius-md); }
.group > .rcard--row:last-of-type { border-bottom-left-radius: var(--radius-md); border-bottom-right-radius: var(--radius-md); }
.rcard--row:hover { transform: none; box-shadow: none; background: var(--color-bg); }
.rcard--row.is-dragging { transform: none; }
.rcard--row:focus-visible { outline-offset: -2px; }
.rrow__mark { width: 5px; height: 26px; border-radius: var(--radius-pill); background: transparent; }
.rrow__mark--alert { background: var(--color-alert); }
.rrow__mark--care { background: var(--color-accent); }
.rrow__mark--warn { background: var(--color-warn-dot); }
.rcard--row .rrow__name { font-size: 15px; }
.rcard--row .rrow__subject { max-height: none; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rrow__chips { display: flex; gap: 4px; flex-wrap: nowrap; overflow: hidden; min-width: 0; }
.rrow__chips .chip { flex-shrink: 0; }
.rrow__unsure, .rrow__typechip { display: none; }
.chip--more { background: var(--color-subtle); color: var(--color-muted); }
.rrow__type { font-size: 13px; color: var(--color-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rrow__type--other { justify-self: start; max-width: 100%; font-size: 12px; font-weight: 600; color: var(--color-primary); background: var(--color-care-bg); border-radius: var(--radius-pill); padding: 2px 10px; }
.rcard--row .rrow__date { margin: 0; font-size: 13px; text-align: right; white-space: nowrap; }
.rrow__menu { position: static; display: flex; justify-content: flex-end; }
.rcard--row .popover { top: 44px; right: 8px; }
.rcard--row .rcard__failed { grid-column: 1 / -1; padding: 2px 0 4px 19px; }
.col--main .group__title { padding: 10px 4px 6px; }
.col--main { container-type: inline-size; container-name: inbox; flex: 1 1 0; min-width: 360px; }
@media (min-width: 641px) {
@container inbox (max-width: 760px) {
  .rrow-head, .rcard--row { grid-template-columns: 5px minmax(0, 1fr) minmax(0, 1.8fr) minmax(0, 1.3fr) 84px 40px; gap: 0 10px; }
  .rrow-head > :nth-child(5), .rrow__type { display: none; }
  .rrow__typechip { display: inline-flex; }
}
@container inbox (max-width: 560px) {
  .rrow-head, .rcard--row { grid-template-columns: 5px minmax(0, 1fr) minmax(0, 1.6fr) 76px 40px; }
  .rrow-head > :nth-child(4), .rrow__chips { display: none; }
}}

@media (max-width: 640px) {
  .rrow-head { display: none; }
  .rcard--row { grid-template-columns: minmax(0, 1fr) var(--size-tap-min); grid-template-areas: "name menu" "date menu" "subject subject" "chips chips"; gap: 6px 4px; padding: 12px 4px 12px 14px; border-radius: var(--radius-md) !important; border-top: 1px solid var(--color-border) !important; box-shadow: var(--shadow-card); }
  .col--main .group { gap: 8px; }
  .rrow__mark { display: none; }
  .rcard--row .rrow__name { grid-area: name; font-size: 16px; }
  .rcard--row .rrow__date { grid-area: date; text-align: left; margin-top: -4px; }
  .rcard--row .rrow__subject { grid-area: subject; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; padding-right: 10px; }
  .rrow__chips { grid-area: chips; flex-wrap: wrap; padding-right: 10px; }
  .rrow__unsure, .rrow__typechip { display: inline-flex; }
  .rrow__type { display: none; }
  .rrow__menu { grid-area: menu; align-self: start; }
}
