/* Spieler-/Trainer-Profil — ruhiges Layout mit Reitern (templates/_person_form.html, static/js/person-ui.js).
   Alles unter .pv2 gekapselt; bestehende Klassen (hero-stat, metric, pps-*, posdd …) werden hier nur
   optisch angepasst, ihre JS-Anbindung bleibt unverändert. */

.pv2 { --pv-r: 18px; --pv-card: var(--c-white); max-width: none; padding: 4px 24px 64px; color: var(--c-black); }
:root[data-theme="dark"] .pv2 { --pv-card: #000; --c-line: #1C1C1C; --c-line-strong: #2E2E2E; --c-hover: #121212; --c-surface-2: #141414; }
.pv2 .pv-sp { flex: 1; }
.pv2 .pv-muted { color: var(--c-faint); font-size: 12.5px; margin: 4px 0 0; }
.pv2 h3 { font-size: 14px; font-weight: 600; margin: 0; letter-spacing: 0; text-transform: none; color: var(--c-black); }
.pv2 .pv-row { display: flex; align-items: center; gap: 8px; }
.pv-i { flex-shrink: 0; }

/* Knöpfe */
.pv2 .pv-btn { height: 36px; padding: 0 16px; border: 1px solid var(--c-line-strong); border-radius: 999px; background: var(--pv-card); color: var(--c-black);
  font: inherit; font-size: 13px; font-weight: 500; display: inline-flex; align-items: center; justify-content: center; gap: 6px; cursor: pointer; }
.pv2 .pv-btn:hover { background: var(--c-hover); }
.pv2 .pv-btn--pri { background: var(--c-fill); border-color: var(--c-fill); color: #fff; }
.pv2 .pv-btn--pri:hover { background: var(--color-primary-hover); filter: none; }
.pv2 .pv-btn--warn { background: var(--warning); border-color: var(--warning); color: #fff; }
.pv2 .pv-ibtn { width: 36px; height: 36px; border: 1px solid var(--c-line); border-radius: 50%; background: var(--pv-card); color: var(--c-black);
  display: inline-grid; place-items: center; cursor: pointer; list-style: none; text-decoration: none; }
.pv2 .pv-ibtn::-webkit-details-marker { display: none; }
.pv2 .pv-ibtn:hover { background: var(--c-hover); }
.pv2 .pv-ibtn.is-off { opacity: .35; pointer-events: none; }
.pv2 .pv-ibtn--sm { width: 32px; height: 32px; }
.pv2 .pv-link { background: none; border: 0; padding: 0; color: var(--color-primary-hover); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.pv2 .pv-link:hover { text-decoration: underline; }
.pv2 .pv-select { height: 36px; border: 1px solid var(--c-line); border-radius: 999px; background: var(--pv-card); color: var(--c-black); padding: 0 14px; font: inherit; font-size: 13px; }
.pv2 .pv-chipbtn { height: 30px; padding: 0 12px; border: 0; border-radius: 999px; background: var(--c-surface-2); color: var(--c-muted); font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.pv2 .pv-chipbtn.is-on { background: var(--c-fill-soft); color: var(--color-primary-hover); }
.pv2 .pv-chipbtn b { background: var(--c-fill); color: #fff; border-radius: 99px; padding: 0 6px; font-size: 11px; }
.pv2 .pv-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--c-fill); display: inline-block; vertical-align: middle; }
.pv2 .pv-dot--warn { background: var(--warning); }

/* Kopf */
.pv2 .pv-back { display: inline-flex; align-items: center; gap: 4px; color: var(--c-muted); font-size: 13px; font-weight: 500; text-decoration: none; margin: 6px 0 14px; }
.pv2 .pv-back:hover { color: var(--c-black); }
.pv2 .pv-hero { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.pv2 .pv-avatar { width: 72px; height: 72px; border-radius: 50%; border: 0; background: var(--c-surface-2); flex-shrink: 0; overflow: hidden; }
.pv2 .pv-avatar .player-avatar__ph { display: grid; place-items: center; width: 100%; height: 100%; font-size: 22px; font-weight: 700; color: var(--c-muted); }
.pv2 .pv-avatar__up { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(0,0,0,.45); color: #fff; opacity: 0; transition: opacity .15s; pointer-events: none; }
.pv2 .pv-avatar:hover .pv-avatar__up { opacity: 1; }
.pv2 .pv-avatar .player-avatar__up { display: none; }
.pv2 .pv-hero__id { min-width: 0; }
.pv2 .pv-hero__name { font-size: 28px; font-weight: 700; letter-spacing: -.02em; margin: 0; line-height: 1.15; }
.pv2 .pv-hero__sub { color: var(--c-muted); margin: 4px 0 0; font-size: 14px; }
.pv2 .pv-hero__acts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; min-width: 0; max-width: 100%; margin-left: auto; }
.pv2 .pv-hero__acts .pr-shortcut { margin: 0; max-width: 100%; flex-wrap: wrap; }
.pv2 .pv-tags { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
.pv2 .pv-tag { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--c-muted); border: 1px solid var(--c-line); border-radius: 999px; padding: 2px 10px 2px 4px; }
.pv2 .pv-tag .player-invitation-status { border: 0; background: none; padding: 2px; }

/* Menü */
.pv2 .pv-menu { position: relative; }
.pv2 .pv-menu[open] > summary { background: var(--c-hover); }
.pv2 .pv-menu__pop { position: absolute; right: 0; top: 44px; width: 260px; background: var(--pv-card); border: 1px solid var(--c-line-strong); border-radius: 16px;
  box-shadow: var(--shadow-modal, 0 24px 64px rgba(0,0,0,.22)); padding: 6px; z-index: 30; }
.pv2 .pv-menu__h { font-size: 11.5px; color: var(--c-faint); font-weight: 600; padding: 8px 12px 4px; }
.pv2 .pv-menu__it { display: flex; align-items: center; gap: 6px; width: 100%; text-align: left; padding: 9px 12px; border: 0; border-radius: 10px; background: none; color: var(--c-black); font: inherit; font-size: 13.5px; cursor: pointer; }
.pv2 .pv-menu__it:hover { background: var(--c-hover); }
.pv2 .pv-menu__it.is-on { font-weight: 600; cursor: default; }
.pv2 .pv-menu__it.is-on::after { content: "✓"; margin-left: auto; color: var(--c-fill); }
.pv2 .pv-menu__it small { color: var(--c-fill); font-weight: 600; }
.pv2 .pv-menu__it--danger { color: var(--danger); }
.pv2 .pv-menu hr { border: 0; border-top: 1px solid var(--c-line); margin: 6px 4px; }

/* Pausierung */
.pv2 .pv-pause { margin-top: 18px; border: 1px solid var(--c-line); border-radius: var(--pv-r); background: var(--pv-card); overflow: hidden; }
.pv2 .pv-pause__h { display: flex; align-items: center; gap: 12px; padding: 14px 18px; }
.pv2 .pv-pause__h b { display: block; font-weight: 600; }
.pv2 .pv-pause__h small { display: block; color: var(--c-faint); font-size: 12.5px; }
.pv2 .pv-pause__ic { width: 34px; height: 34px; border-radius: 50%; background: var(--c-surface-2); display: grid; place-items: center; color: var(--c-muted); flex-shrink: 0; }
.pv2 .pv-pause__c { border-top: 1px solid var(--c-line); padding: 12px 18px 14px; }
.pv2 .pv-pause__ct { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--warning); }
.pv2 .pv-pause__r { display: flex; align-items: center; gap: 12px; padding: 7px 0 0 23px; font-size: 13px; }
.pv2 .pv-pause__r a { color: var(--color-primary-hover); font-weight: 600; text-decoration: none; }
.pv2 .pv-pause__r em { font-style: normal; font-size: 12px; color: var(--danger); background: var(--danger-soft); border-radius: 999px; padding: 1px 9px; }
.pv2 .pv-pause__hint { display: flex; gap: 8px; align-items: center; margin: 12px 0 0 23px; color: var(--c-faint); font-size: 12.5px; }
.pv2 .pv-pause__ok { border-top: 1px solid var(--c-line); padding: 10px 18px; font-size: 13px; color: var(--success); }

/* Reiter */
.pv2 .pv-tabs, .pv2 .pv-subtabs, .pv2 .pv-pills, .pv2 .pv-seg { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid var(--c-line); border-radius: 999px; background: var(--pv-card); flex-wrap: wrap; }
.pv2 .pv-tabs { margin-top: 24px; }
.pv2 .pv-tab, .pv2 .pv-subtab, .pv2 .pv-pills > button, .pv2 .pv-seg > button { padding: 7px 16px; border: 0; border-radius: 999px; background: none; color: var(--c-muted);
  font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; min-height: 0; }
.pv2 .pv-subtab, .pv2 .pv-pills > button, .pv2 .pv-seg > button { padding: 5px 13px; font-size: 12.5px; }
.pv2 .pv-tab.is-on, .pv2 .pv-subtab.is-on, .pv2 .pv-pills > button.active, .pv2 .pv-seg > button.is-on { background: var(--c-black); color: var(--c-white); }
.pv2 .pv-seg > button.pps-modebtn--force.active { background: var(--c-fill); color: #fff; }
.pv2 .pv-seg > button.pps-modebtn--ban.active { background: var(--slate); color: #fff; }
.pv2 .pv-seg > button:disabled { opacity: .45; cursor: not-allowed; }
.pv2 .pv-pane { display: none; margin-top: 20px; }
.pv2 .pv-pane.is-on { display: block; }
.pv2 .pv-sub { display: none; }
.pv2 .pv-sub.is-on { display: block; }

/* Karten und Raster */
.pv2 .pv-card { background: var(--pv-card); border: 1px solid var(--c-line); border-radius: var(--pv-r); padding: 20px 22px; min-width: 0; box-shadow: none; }
.pv2 .pv-card--big { margin-top: 12px; min-height: 260px; padding: 24px 26px; }
.pv2 .pv-grid2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; margin-top: 12px; align-items: start; }
.pv2 .pv-grid2--eq { gap: 36px; margin-top: 0; }
.pv2 .pv-grid2--pos { grid-template-columns: minmax(280px, .75fr) minmax(0, 1.6fr); margin-top: 0; }
.pv2 .pv-kv { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 10px; padding: 9px 0; border-top: 1px solid var(--c-line); font-size: 13.5px; }
.pv2 .pv-row + .pv-kv { border-top: 0; margin-top: 8px; }
.pv2 .pv-kv > span { color: var(--c-faint); }
.pv2 .pv-kv > b { font-weight: 500; overflow-wrap: anywhere; }
.pv2 .pv-kv--miss > span { color: var(--warning); }
.pv2 .pv-kv--miss .pv-link { color: var(--warning); justify-self: start; }
.pv2 .pv-h3gap { margin-top: 24px; }
.pv2 .pv-note { margin-top: 12px; }

/* Übersicht */
.pv2 .pv-alerts { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.pv2 .pv-alert { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid var(--c-line); border-radius: 999px; background: var(--pv-card); font-size: 13px; color: var(--c-muted); }
.pv2 .pv-alert .pv-i { color: var(--warning); }
.pv2 .pv-alert b { color: var(--c-black); font-weight: 600; }
.pv2 .pv-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.pv2 .hero-stat.pv-kpi { min-height: 0; background: var(--pv-card); border: 1px solid var(--c-line); border-radius: var(--pv-r); padding: 18px 20px; }
.pv2 .hero-stat.pv-kpi b { display: block; font-size: 28px; font-weight: 600; letter-spacing: -.5px; font-variant-numeric: tabular-nums; }
.pv2 .hero-stat.pv-kpi span { display: block; font-size: 13px; color: var(--c-muted); margin-top: 2px; }
.pv2 .hero-stat.pv-kpi small { display: block; font-size: 12px; color: var(--c-faint); margin-top: 6px; }
.pv2 .hero-stat.pv-kpi.is-click:hover { border-color: var(--c-line-strong); background: var(--c-hover); box-shadow: none; }
.pv2 .pv-ct { display: flex; align-items: center; gap: 8px; padding: 10px 0; border-top: 1px solid var(--c-line); }
.pv2 .pv-row + .pv-ct { border-top: 0; margin-top: 6px; }
.pv2 .pv-ct > span { flex: 1; min-width: 0; }
.pv2 .pv-ct small { display: block; font-size: 11.5px; color: var(--c-faint); }
.pv2 .pv-ct b { font-weight: 600; font-size: 13.5px; }
.pv2 .pv-km { margin-bottom: 12px; }
.pv2 .pv-km .hero-km { all: unset; display: block; }
.pv2 .pv-km .hero-km__num { display: flex; align-items: baseline; gap: 6px; margin-top: 10px; border: 0; background: none; padding: 0; color: var(--c-black); cursor: pointer; }
.pv2 .pv-km .hero-km__num strong { font-size: 40px; font-weight: 600; letter-spacing: -1px; font-variant-numeric: tabular-nums; }
.pv2 .pv-km .hero-km__num small { font-size: 15px; color: var(--c-faint); }
.pv2 .pv-km .hero-km__num:hover strong { color: var(--color-primary-hover); }
.pv2 .pv-km .hero-km__filters { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 10px; font-size: 13px; }

/* Leistung */
.pv2 .pv-filters { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 14px; }
.pv2 .pv-filters .anrange { border: 1px solid var(--c-line); border-radius: 999px; padding: 3px 4px 3px 14px; background: var(--pv-card); display: inline-flex; align-items: center; gap: 6px; }
.pv2 .pv-filters .anrange__date { border: 0; background: transparent; color: var(--c-black); font: inherit; font-size: 13px; }
.pv2 .pv-filters .anrange__std { border-radius: 999px; }
.pv2 .pv-donut { margin-top: 14px; grid-template-columns: 150px minmax(0, 1fr); }
.pv2 .pv-donut .legend-row { padding: 8px 10px; margin: 0; border-radius: 10px; font-size: 13.5px; }
.pv2 .bar-chart { margin-top: 10px; display: grid; gap: 8px; }
.pv2 .bar-track { background: var(--c-line); height: 8px; }
.pv2 .bar-fill { background: var(--c-fill); }
.pv2 .pv-mrow.metric { display: grid; grid-template-columns: minmax(0, 1fr) 220px 70px 80px 70px; gap: 16px; align-items: center; min-height: 0; padding: 10px 8px;
  border: 0; border-top: 1px solid var(--c-line); border-radius: 0; background: none; font-size: 13.5px; cursor: pointer; }
.pv2 .pv-row + .pv-mrow { margin-top: 10px; }
.pv2 .pv-mrow.metric:hover { background: var(--c-hover); }
.pv2 .pv-mrow b { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.pv2 .pv-mrow .pv-mrow__avg { margin: 0; text-align: right; }
.pv2 .pv-mrow .delta { justify-self: end; }
.pv2 .pv-bullet { margin-top: 0; height: 6px; }
.pv2 .bullet .player { background: var(--c-fill); }
.pv2 .bullet .avg { background: var(--c-black); }
.pv2 .devx { margin-top: 12px; }
.pv2 .pheat .pheat__modes { display: inline-flex; gap: 4px; align-items: center; }
.pv2 .plptheat { margin-top: 14px; }

/* Einsatz & Positionen */
.pv2 .pv-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.pv2 .pv-chip { padding: 7px 14px; border: 1px solid var(--c-line-strong); border-radius: 999px; background: var(--pv-card); color: var(--c-muted); font: inherit; font-size: 13px; cursor: pointer; }
.pv2 .pv-chip:hover { border-color: var(--c-fill); }
.pv2 .pv-chip.is-on { background: var(--c-fill-soft); border-color: var(--c-fill); color: var(--color-primary-hover); }
.pv2 .pv-seg { margin-top: 12px; }
.pv2 #sec-regeln .system-tabs { margin-top: 14px; }
.pv2 .system-tab, .pv2 .pps-formbtn { min-height: 0; border: 0; }
.pv2 .system-tab:hover, .pv2 .pps-formbtn:hover { border: 0; }
.pv2 .pv-rules.rules-layout { display: block; margin-top: 14px; }
.pv2 .formation-card { background: none; border: 0; padding: 0; }
.pv2 .pps-headbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.pv2 .pps-modebar.pv-seg { margin-top: 0; }
.pv2 .pps-chart { width: 200px; }
.pv2 .pps-chart__cap { font-size: 12px; font-weight: 600; color: var(--c-muted); margin-bottom: 6px; }
.pv2 .pv-rulelists { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.pv2 .rule-box { border-radius: 14px; padding: 12px 14px; background: var(--pv-card); }
.pv2 .rule-box--force h4 { color: var(--color-primary-hover); }
.pv2 .rule-box--ban h4 { color: var(--slate); }
.pv2 .pv-warn { display: flex; gap: 8px; align-items: center; padding: 8px 12px; border-radius: 12px; background: var(--warning-soft); color: var(--warning); font-size: 12.5px; margin: 0 0 10px; }
.pv2 .pv-help { position: relative; }
.pv2 .pv-help > summary { list-style: none; border: 0; color: var(--c-faint); }
.pv2 .pv-help > summary::-webkit-details-marker { display: none; }
.pv2 .pv-help__body { position: absolute; right: 0; top: 38px; width: 360px; z-index: 20; padding: 14px 16px; border-radius: 14px; border: 1px solid var(--c-line-strong);
  background: var(--pv-card); box-shadow: var(--shadow-modal, 0 24px 64px rgba(0,0,0,.22)); font-size: 12.5px; color: var(--c-muted); }
.pv2 .pv-help__body p { margin: 0 0 6px; }
.pv2 .pv-help__body b { color: var(--c-black); }

/* Angaben */
.pv2 .pv-infobar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pv2 .pv-infobar .pv-muted { margin: 0; }
.pv2 .pv-req { color: var(--danger); font-style: normal; }
.pv2 .pv-cards { columns: 2 380px; column-gap: 12px; margin-top: 14px; }
.pv2 .pv-fcard { break-inside: avoid; margin-bottom: 12px; display: block; }
.pv2 .pv-fcard.is-hiddencard { display: none; }
.pv2 .pv-fcard .pv-row .pv-dot--warn { margin-left: 2px; }
.pv2 .pv-fcard__edit-body, .pv2 .pv-fcard__foot { display: none; }
.pv2 .pv-fcard.is-edit .pv-fcard__view { display: none; }
.pv2 .pv-fcard.is-edit .pv-fcard__edit-body { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; margin-top: 4px; }
.pv2 .pv-fcard.is-edit .pv-fcard__foot { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.pv2 .pv-fcard.is-edit .pv-fcard__edit { display: none; }
.pv2 .pv-fcard .field { margin-top: 12px; }
.pv2 .pv-fcard .field--full, .pv2 .pv-fcard .field:has(textarea) { grid-column: 1 / -1; }
.pv2 .pv-fcard .field label { display: block; font-size: 12px; color: var(--c-faint); margin-bottom: 5px; font-weight: 500; }
.pv2 .pv-fcard .field input, .pv2 .pv-fcard .field select, .pv2 .pv-fcard .field textarea {
  width: 100%; height: 40px; border: 1px solid var(--c-line-strong); border-radius: 12px; padding: 0 12px; background: var(--pv-card); color: var(--c-black); font: inherit; font-size: 13.5px; box-sizing: border-box; }
.pv2 .pv-fcard .field textarea { height: auto; padding: 10px 12px; }
.pv2 .pv-fcard .field input:focus, .pv2 .pv-fcard .field select:focus, .pv2 .pv-fcard .field textarea:focus { outline: 2px solid var(--c-fill); outline-offset: -1px; border-color: transparent; }
.pv2 .pv-fcard .field--error input, .pv2 .pv-fcard .field--error select { border-color: var(--danger); }
.pv2 .pv-fcard .field__error { display: block; color: var(--danger); font-size: 12px; margin-top: 4px; }
.pv2 .pv-add { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; border: 0; background: none; padding: 0; font: inherit; font-size: 12.5px; color: var(--c-muted); font-weight: 500; cursor: pointer; }
.pv2 .pv-add small { color: var(--c-faint); font-weight: 400; }
.pv2 .pv-add:hover { color: var(--c-black); }
.pv2 .pv-save .phicon-check, .pv2 .pv-save .phicon-spin { display: none; }
.pv2 .pform.htmx-request .pv-save .phicon-disk { display: none; }
.pv2 .pform.htmx-request .pv-save .phicon-spin { display: inline-block; border-color: #fff; border-top-color: transparent; }
.pv2 .pv-save.is-saved .phicon-disk { display: none; }
.pv2 .pv-save.is-saved .phicon-check { display: inline; color: #fff; }
.pv2 .pv-map { margin-top: 14px; }
.pv2 .pv-newcat { margin-bottom: 12px; }
.pv2 .pv-newcat .pv-select { margin-top: 10px; }
.pv2--new .pv-form { display: block; }

/* Dokumente */
.pv2 .pv-docs .person-documents { background: var(--pv-card); border: 1px solid var(--c-line); border-radius: var(--pv-r); padding: 20px 22px; box-shadow: none; margin: 0; }

/* Dialoge */
.pv-dlg { width: min(440px, calc(100vw - 32px)); border: 1px solid var(--c-line); border-radius: 20px; padding: 0; background: var(--c-white); color: var(--c-black); box-shadow: 0 24px 64px rgba(0,0,0,.28); }
.pv-dlg::backdrop { background: rgba(0,0,0,.4); }
.pv-dlg--share { width: min(560px, calc(100vw - 32px)); }
.pv-dlg__h { display: flex; align-items: center; gap: 10px; padding: 18px 22px 4px; }
.pv-dlg__h h2 { flex: 1; font-size: 18px; font-weight: 700; margin: 0; }
.pv-dlg__b { padding: 6px 22px 20px; display: block; }
.pv-dlg__f { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }
.pv-dlg .pv-field { display: block; margin-top: 10px; }
.pv-dlg .pv-field span { display: block; font-size: 12px; color: var(--c-faint); margin-bottom: 5px; }
.pv-dlg .pv-field input { width: 100%; height: 40px; border: 1px solid var(--c-line-strong); border-radius: 12px; padding: 0 12px; font: inherit; background: var(--c-white); color: var(--c-black); box-sizing: border-box; }
.pv-dlg .pv-muted { color: var(--c-faint); font-size: 12.5px; }
.pv-dlg .pv-warnbox { display: flex; gap: 10px; align-items: flex-start; margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: var(--warning-soft); color: var(--warning); font-size: 13px; }
.pv-dlg .pv-btn { height: 36px; padding: 0 16px; border: 1px solid var(--c-line-strong); border-radius: 999px; background: var(--c-white); color: var(--c-black); font: inherit; font-size: 13px; cursor: pointer; }
.pv-dlg .pv-btn--pri { background: var(--c-fill); border-color: var(--c-fill); color: #fff; }
.pv-dlg .pv-btn--warn { background: var(--warning); border-color: var(--warning); color: #fff; }
.pv-dlg .pv-ibtn { width: 32px; height: 32px; border: 0; border-radius: 50%; background: none; color: var(--c-faint); display: grid; place-items: center; cursor: pointer; }
.pv-dlg .pv-ibtn:hover { background: var(--c-hover); color: var(--c-black); }
.pv-dlg .set__bar { display: none; }
.pv-dlg .set { margin: 0; padding: 0; border: 0; box-shadow: none; background: none; }
.pv-dlg .set__form label { display: block; margin-top: 10px; }
.pv-dlg .set__form select { height: 38px; border-radius: 10px; border: 1px solid var(--c-line-strong); padding: 0 10px; margin-left: 6px; background: var(--c-white); color: var(--c-black); }
.pv-dlg .set__form fieldset { border: 1px solid var(--c-line); border-radius: 12px; margin-top: 12px; padding: 8px 14px; }

/* Schmal */
@media (max-width: 1100px) {
  .pv2 .pv-grid2, .pv2 .pv-grid2--pos, .pv2 .pv-rulelists { grid-template-columns: 1fr; }
  .pv2 .pv-mrow.metric { grid-template-columns: minmax(0, 1fr) 70px 70px; }
  .pv2 .pv-mrow .pv-bullet, .pv2 .pv-mrow .pv-mrow__avg { display: none; }
}
@media (max-width: 640px) {
  .pv2 .pv-hero { flex-wrap: wrap; }
  .pv2 .pv-hero__name { font-size: 22px; }
  .pv2 .pv-fcard.is-edit .pv-fcard__edit-body { grid-template-columns: 1fr; }
  .pv2 .pv-kv { grid-template-columns: 120px minmax(0, 1fr); }
  .pv2 .pv-tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; }
}

/* ── Kaderliste (templates/_list_panel.html, .lv--v2): ruhige Karten statt blauer Hover-Balken ── */
.lv--v2 { --lv2-card: var(--c-white); }
:root[data-theme="dark"] .lv--v2 { --lv2-card: #000; --c-line: #1C1C1C; --c-line-strong: #2E2E2E; --c-hover: #121212; }
.lv--v2 .lv2-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.lv--v2 .lv2-title { font-size: 28px; font-weight: 700; letter-spacing: -.02em; margin-right: 8px; }
.lv--v2 .lv2-sp { flex: 1; }
.lv--v2 .lv__tabs { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid var(--c-line); border-radius: 999px; background: var(--lv2-card); margin: 0; border-bottom: 1px solid var(--c-line); }
.lv--v2 .lv__tab { padding: 6px 16px; border-radius: 999px; font-size: 13.5px; font-weight: 600; color: var(--c-muted); border: 0; margin: 0; text-decoration: none; display: inline-flex; gap: 6px; align-items: center; }
.lv--v2 .lv__tab::after { display: none; }
.lv--v2 .lv__tab.is-active { background: var(--c-black); color: var(--c-white); }
.lv--v2 .lv__tabn { font-weight: 500; opacity: .7; background: none; padding: 0; color: inherit; }
.lv--v2 .lv2-btn, .lv--v2 .lv__kbar .btn { height: 36px; padding: 0 16px; border: 1px solid var(--c-line); border-radius: 999px; background: var(--lv2-card); color: var(--c-black);
  font-size: 13px; font-weight: 500; display: inline-flex; align-items: center; text-decoration: none; }
.lv--v2 .lv2-btn:hover, .lv--v2 .lv__kbar .btn:hover { background: var(--c-hover); }
.lv--v2 .lv__kbar { padding: 0; margin: 4px 0 6px; }
.lv--v2 .lv__selbar { border-radius: 999px; background: var(--c-fill-soft); padding: 6px 8px 6px 16px; }
.lv--v2 .lv__draghint { font-size: 12px; color: var(--c-faint); margin: 4px 0 10px; }
.lv--v2 .lv__hrow { border: 0; padding: 6px 18px; font-size: 12px; text-transform: none; letter-spacing: 0; color: var(--c-faint); font-weight: 500; }
.lv--v2 .lv__hrow .lv__c[data-si] { cursor: pointer; }
.lv--v2 .lv__group { margin-top: 18px; }
.lv--v2 .lv__cat { border: 0; background: none; padding: 0 4px 8px; font-size: 13px; font-weight: 600; color: var(--c-muted); text-transform: none; letter-spacing: 0; display: flex; align-items: center; gap: 6px; }
.lv--v2 .lv__count { background: none; color: var(--c-faint); font-weight: 500; padding: 0; }
.lv--v2 .lv__add { width: 24px; height: 24px; border-radius: 50%; border: 0; display: inline-grid; place-items: center; color: var(--c-faint); text-decoration: none; margin-left: 0; background: none; }
.lv--v2 .lv__add:hover { background: var(--c-hover); color: var(--c-black); }
.lv--v2 .lv__list { background: var(--lv2-card); border: 1px solid var(--c-line); border-radius: 18px; overflow: visible; }
.lv--v2 .lv__list > li { border-bottom: 1px solid var(--c-line); }
.lv--v2 .lv__list > li:last-child { border-bottom: 0; }
.lv--v2 .lv__list > li:first-child .lv__row { border-radius: 18px 18px 0 0; }
.lv--v2 .lv__list > li:last-child .lv__row { border-radius: 0 0 18px 18px; }
.lv--v2 .lv__row.lv__prow { padding: 10px 52px 10px 18px; border-radius: 0; align-items: center !important; }
.lv--v2 .lv__prow--kader:hover, .lv--v2 .lv__item:hover .lv__prow--kader, .lv--v2 .lv__item:hover .lv__row, .lv--v2 .lv__row:hover { background: var(--c-hover) !important; color: inherit; }
.lv--v2 .lv__prow--kader:hover .lv__namelink, .lv--v2 .lv__item:hover .lv__prow--kader .lv__namelink, .lv--v2 .lv__item:hover .lv__prow .lv__c { color: var(--c-black) !important; }
.lv--v2 .lv__item:hover .lv__prow .lv__c--vn, .lv--v2 .lv__item:hover .lv__prow .lv__c--vn .lv__namelink { color: var(--c-muted) !important; }
.lv--v2 .lv__prow--kader.lv-sel { background: var(--c-fill-soft) !important; }
.lv--v2 .lv__prow--kader.lv-sel .lv__namelink { color: var(--c-black) !important; }
.lv--v2 .lv__c--nn.lv__namelink { display: inline-flex; align-items: center; gap: 12px; font-weight: 600; font-size: 14.5px; color: var(--c-black); text-decoration: none; }
.lv--v2 .lv__c--nn.lv__namelink::before { content: attr(data-ini); width: 36px; height: 36px; border-radius: 50%; display: inline-grid; place-items: center; flex-shrink: 0;
  background: var(--c-surface-2); color: var(--c-muted); font-size: 12.5px; font-weight: 700; }
.lv--v2 .lv__c--vn .lv__namelink { color: var(--c-muted); text-decoration: none; font-size: 14px; }
.lv--v2 .lv__prow.is-paused .lv__c--nn::before { opacity: .5; }
.lv--v2 .lv__prow.is-paused .lv__c--nn::after { content: "pausiert"; font-size: 11px; font-weight: 600; color: var(--c-muted); background: var(--c-surface-2); border-radius: 999px; padding: 2px 8px; }
.lv--v2 .lv__stammtog { height: 26px; min-width: 52px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--c-line-strong); background: var(--lv2-card); color: var(--c-muted); font-size: 12px; font-weight: 600; }
.lv--v2 .lv__stammtog.is-on { background: var(--c-fill); border-color: var(--c-fill); color: #fff; }
.lv--v2 .lv__roleedit { height: 32px; border-radius: 999px; border: 1px solid var(--c-line); padding: 0 12px; font-size: 13px; background: var(--lv2-card); color: var(--c-black); }
.lv--v2 .lv__del { right: 14px; border-radius: 50%; width: 30px; height: 30px; display: grid; place-items: center; color: var(--c-disabled); background: none; border: 0; }
.lv--v2 .lv__del:hover { background: var(--danger-soft); color: var(--danger); }
.lv--v2 .lv__empty { padding: 14px 18px; color: var(--c-faint); }
.lv--v2 .lv__syssel { height: 30px; border-radius: 999px; border: 1px solid var(--c-line); padding: 0 10px; background: var(--lv2-card); color: var(--c-black); }
.lv--v2 .lv__tab .lv__tabn, .lv--v2 .lv__tab.is-active .lv__tabn { background: none !important; color: inherit !important; min-width: 0; padding: 0; }
.lv--v2 .lv__item > .lv__del { top: 50%; transform: translateY(-50%); }
.pv2 .pv-tab, .pv2 .pv-subtab { white-space: nowrap; }
@media (max-width: 640px) {
  .pv2 { padding: 4px 4px 48px; }
  .pv2 .pv-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pv2 .hero-stat.pv-kpi b { font-size: 22px; }
  .pv2 .pv-subtabs { display: flex; flex-wrap: nowrap; overflow-x: auto; }
}
