/* ============================================================================
   EventCore UI v5 — "Gold Glassmorphism" (dunkel-goldener Premium-Look)
   Fast-Schwarz mit gold-getönten Hairline-Borders, 16px-Karten, Outfit.
   User-Theme: Gold-Primary · Admin-Theme (body.admin-theme): Rot-Primary
   (inkl. rot-getönter Borders). Deckt das komplette Klassen-Inventar ab.
   ============================================================================ */

@font-face { font-family:"Outfit"; src:url("vendor/fonts/outfit-var.woff2") format("woff2"); font-weight:100 900; font-display:swap; }
@font-face { font-family:"Geist"; src:url("vendor/fonts/geist-400.woff2") format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"Geist"; src:url("vendor/fonts/geist-500.woff2") format("woff2"); font-weight:500; font-display:swap; }
@font-face { font-family:"Geist"; src:url("vendor/fonts/geist-600.woff2") format("woff2"); font-weight:600; font-display:swap; }
@font-face { font-family:"Geist"; src:url("vendor/fonts/geist-700.woff2") format("woff2"); font-weight:700; font-display:swap; }
@font-face { font-family:"Geist Mono"; src:url("vendor/fonts/geist-mono-400.woff2") format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"Geist Mono"; src:url("vendor/fonts/geist-mono-600.woff2") format("woff2"); font-weight:600; font-display:swap; }

/* ---- Tokens (Gold-Glassmorphism, EventCore-Akzente) ------------------------ */
:root {
  --background:#09090b; --card:#121214; --popover:#18181b;
  --secondary:#1c1c21; --secondary-2:#26262c;
  --foreground:#f4f4f5; --soft:#d4d4d8; --muted-fg:#a1a1aa; --faint:#71717a;
  --border:rgba(216,188,122,.15); --border-2:rgba(216,188,122,.30);
  --input:rgba(216,188,122,.20);
  --primary:#d4af37; --primary-fg:#171204; --primary-hover:#eac84f;
  --primary-rgb:212,175,55;
  --ring:rgba(212,175,55,.45);
  --ok:#22c55e; --warn:#fbbf24; --bad:#ef4444; --info:#38bdf8; --vio:#a855f7;
  --ok-soft:rgba(34,197,94,.12); --warn-soft:rgba(251,191,36,.12);
  --bad-soft:rgba(239,68,68,.12); --info-soft:rgba(56,189,248,.12);
  --primary-soft:rgba(var(--primary-rgb),.13);
  --radius:12px; --r-card:16px; --r-ctl:10px; --r-full:999px;
  --sans:"Outfit","Geist","Segoe UI",system-ui,sans-serif;
  --mono:"Geist Mono",ui-monospace,Consolas,monospace;
  --shadow-sm:0 1px 2px rgba(0,0,0,.5);
  --shadow:0 1px 2px rgba(0,0,0,.5), 0 8px 24px -12px rgba(0,0,0,.6);
  --shadow-lg:0 24px 48px -16px rgba(0,0,0,.75);
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px;
  --z-nav:100; --z-drawer:400; --z-modal:500; --z-toast:600;
  --eo:cubic-bezier(.16,1,.3,1);
  --fast:140ms; --med:240ms; --slow:380ms;
  --sidebar-w:264px; --content-w:1400px; --pad-x:clamp(16px,3vw,40px);
  /* Legacy-Aliase */
  --bg:var(--background); --accent:var(--primary); --accent-2:var(--primary-hover);
  --accent-rgb:var(--primary-rgb); --accent-soft:var(--primary-soft);
  --accent-grad:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);
  --text:var(--foreground); --text-soft:var(--soft); --muted:var(--muted-fg); --muted-2:var(--faint);
  --success:var(--ok); --warning:var(--warn); --danger:var(--bad);
  --border-strong:var(--border-2); --border-soft:var(--border);
  --bg-elev:var(--card); --bg-elev-2:var(--secondary); --bg-elev-3:var(--secondary-2);
  --font:var(--sans); --font-sans:var(--sans); --font-mono:var(--mono);
  --radius-xs:6px; --radius-sm:var(--r-ctl); --radius-md:var(--radius);
  --radius-lg:var(--r-card); --radius-xl:16px; --radius-full:var(--r-full);
  --shadow-md:var(--shadow); --shadow-glow:0 0 0 1px rgba(var(--primary-rgb),.4);
  --discord-blurple:#5865f2;
}
body.admin-theme {
  --primary:#ef4444; --primary-fg:#fff; --primary-hover:#f87171;
  --primary-rgb:239,68,68;
  --ring:rgba(239,68,68,.45);
  --border:rgba(239,68,68,.16); --border-2:rgba(239,68,68,.32);
  --input:rgba(239,68,68,.20);
}

/* ---- Basis ------------------------------------------------------------------ */
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
html,body { margin:0; padding:0; max-width:100%; overflow-x:hidden; }
body {
  background:var(--background); color:var(--foreground);
  font-family:var(--sans); font-size:15px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
h1,h2,h3,h4 { margin:0; font-weight:600; letter-spacing:-.02em; line-height:1.25; }
h1 { font-size:1.5rem; } h2 { font-size:1.0625rem; } h3 { font-size:.9375rem; }
p { margin:0; }
::selection { background:rgba(var(--primary-rgb),.35); }
:focus-visible { outline:2px solid var(--primary); outline-offset:2px; border-radius:4px; }
::-webkit-scrollbar { width:10px; height:10px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:rgba(255,255,255,.12); border-radius:99px; border:3px solid var(--background); }
::-webkit-scrollbar-thumb:hover { background:rgba(255,255,255,.2); }
.hidden,[hidden],.is-hidden,.is-filter-hidden { display:none !important; }

/* ---- Typo-Bausteine ----------------------------------------------------------- */
.eyebrow {
  margin:0; display:inline-flex; align-items:center; gap:6px;
  color:var(--primary); font-size:.6875rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
}
.eyebrow i { font-size:.65rem; }
.page-subtitle { margin:4px 0 0; color:var(--muted-fg); font-size:.875rem; max-width:70ch; }
.page-subtitle--locked,.page-subtitle--notice { color:var(--warn); font-size:.8125rem; }
.meta-line { margin:0; color:var(--muted-fg); font-size:.8125rem; }
.section-heading { font-size:.9375rem; font-weight:600; margin:0 0 var(--s3); display:flex; align-items:center; gap:8px; letter-spacing:-.01em; }
.section-heading i { color:var(--primary); font-size:.8rem; }
.brand-gradient-text { color:var(--foreground); }
.coming-soon-text { color:var(--faint); font-size:.8125rem; font-style:italic; }
.mono { font-family:var(--mono); font-size:.92em; }

/* ============================================================================
   SHELL — Sidebar (mit Gruppen-Überschriften) + Topbar
   ============================================================================ */
.app-shell { position:relative; z-index:1; display:grid; grid-template-columns:var(--sidebar-w) minmax(0,1fr); min-height:100vh; }
.app-shell--bare { display:block; }

.sidebar {
  position:sticky; top:0; height:100vh; overflow-y:auto; overflow-x:hidden;
  display:flex; flex-direction:column;
  background:var(--background); border-right:1px solid var(--border);
}
.sidebar__head { display:flex; align-items:center; gap:10px; padding:18px 20px 14px; }
.brand-link,.brand-link--with-logo { display:flex; align-items:center; gap:10px; min-width:0; }
.brand-link__logo { width:30px; height:30px; object-fit:contain; border-radius:8px; }
.brand-link strong,.sidebar__brand-name { font-size:.9375rem; font-weight:600; letter-spacing:-.01em; white-space:nowrap; }
.sidebar__badge {
  margin-left:auto; font-size:.625rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  color:var(--primary); background:var(--primary-soft); border:1px solid rgba(var(--primary-rgb),.3);
  padding:2px 8px; border-radius:var(--r-full);
}
.sidebar-nav { display:flex; flex-direction:column; gap:2px; padding:8px 12px; }
.sidebar-group { display:flex; flex-direction:column; gap:2px; padding-top:14px; }
.sidebar-group:first-child { padding-top:4px; }
.sidebar-group__label {
  padding:0 12px 8px; color:var(--faint); font-size:.72rem; font-weight:600;
  letter-spacing:.09em; text-transform:uppercase;
}
.sidebar-link {
  position:relative; display:flex; align-items:center; gap:12px;
  height:40px; padding:0 12px; border-radius:var(--r-ctl);
  color:var(--muted-fg); font-size:.9rem; font-weight:500;
  transition:background var(--fast) var(--eo),color var(--fast) var(--eo);
}
.sidebar-link i { width:18px; text-align:center; font-size:.95rem; opacity:.85; }
.sidebar-link:hover { background:var(--secondary); color:var(--foreground); }
.sidebar-link.is-active { background:var(--secondary); color:var(--foreground); font-weight:600; }
.sidebar-link.is-active i { color:var(--primary); }
.sidebar__foot { margin-top:auto; padding:12px; border-top:1px solid var(--border); display:grid; gap:4px; }
.sidebar__foot .sidebar-link { height:34px; }

/* Topbar */
.topbar {
  position:sticky; top:0; z-index:var(--z-nav);
  display:flex; align-items:center; gap:10px;
  height:70px; padding:0 var(--pad-x);
  background:color-mix(in srgb,var(--background) 82%,transparent);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
.topbar-hamburger {
  display:none; width:36px; height:36px; flex:0 0 auto;
  align-items:center; justify-content:center; cursor:pointer;
  border:1px solid var(--border); border-radius:var(--r-ctl);
  background:transparent; color:var(--foreground); font-size:.95rem;
}
.topbar-hamburger:hover { background:var(--secondary); }
.sidebar-scrim {
  position:fixed; inset:0; z-index:calc(var(--z-drawer) - 1);
  background:rgba(0,0,0,.6); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
  opacity:0; visibility:hidden; transition:opacity var(--med) var(--eo),visibility var(--med);
}
body.sidebar-open .sidebar-scrim { opacity:1; visibility:visible; }
.topbar__lead { display:flex; align-items:center; gap:10px; min-width:0; flex:1 1 auto; }
.topbar-actions { display:flex; align-items:center; gap:8px; flex-wrap:nowrap; flex:0 0 auto; margin-left:auto; }

/* Guild-Switcher (Topbar, Breadcrumb-Stil) */
.guild-switcher { position:relative; min-width:0; }
.guild-chip {
  list-style:none; cursor:pointer; user-select:none;
  display:flex; align-items:center; gap:8px;
  height:36px; padding:0 10px; border-radius:var(--r-ctl);
  border:1px solid transparent;
  font-size:.84rem; font-weight:600; min-width:0;
  transition:background var(--fast) var(--eo),border-color var(--fast) var(--eo);
}
.guild-chip::-webkit-details-marker { display:none; }
.guild-chip:hover,.guild-switcher[open] .guild-chip { background:var(--secondary); border-color:var(--border); }
.guild-chip__current { display:flex; align-items:center; gap:8px; min-width:0; }
.guild-switcher__avatar { width:22px; height:22px; flex:0 0 auto; border-radius:6px; overflow:hidden; }
.guild-switcher__avatar--current { width:24px; height:24px; }
.guild-switcher__avatar img { width:100%; height:100%; object-fit:cover; }
.guild-chip__label { min-width:0; max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.guild-chip__chevron { color:var(--faint); font-size:.7rem; transition:transform var(--fast) var(--eo); }
.guild-switcher[open] .guild-chip__chevron { transform:rotate(180deg); }
.guild-switcher__menu {
  position:absolute; left:0; top:calc(100% + 6px); z-index:60; min-width:260px; max-width:88vw;
  display:grid; gap:2px; padding:5px;
  background:var(--popover); border:1px solid var(--border-2); border-radius:var(--radius);
  box-shadow:var(--shadow-lg); animation:menu-in var(--fast) var(--eo);
}
@keyframes menu-in { from { opacity:0; transform:translateY(-4px) scale(.99); } }
.guild-switcher__item { display:flex; align-items:center; border-radius:var(--r-ctl); padding:7px 8px; }
.guild-switcher__item:hover { background:var(--secondary); }
.guild-switcher__item-main { display:flex; align-items:center; gap:9px; min-width:0; }
.guild-switcher__name { font-size:.84rem; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.guild-switcher__empty { padding:10px; color:var(--faint); font-size:.8125rem; }

/* Topbar-Steuerungen */
.language-switcher { display:inline-flex; gap:2px; padding:3px; border:1px solid var(--border); border-radius:var(--r-ctl); background:transparent; }
.language-switcher__button {
  min-height:26px; min-width:36px; padding:0 8px; cursor:pointer;
  border:0; border-radius:6px; background:transparent;
  color:var(--faint); font-family:var(--sans); font-weight:600; font-size:.72rem;
  transition:background var(--fast) var(--eo),color var(--fast) var(--eo);
}
.language-switcher__button.is-active { background:var(--secondary-2); color:var(--foreground); }
.language-switcher__button:not(.is-active):hover { color:var(--soft); }
.admin-mode-form { display:inline-flex; }
.user-panel { display:flex; align-items:center; gap:4px; padding-left:8px; margin-left:4px; border-left:1px solid var(--border); }
.user-panel__identity { display:flex; align-items:center; gap:8px; min-width:0; }
.user-panel__meta strong { font-size:.8125rem; font-weight:600; max-width:130px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:block; }
.admin-user-name { color:var(--primary) !important; }
.user-panel__avatar { width:28px; height:28px; border-radius:var(--r-full); object-fit:cover; border:1px solid var(--border-2); flex:0 0 auto; }
.user-panel__avatar--fallback { display:grid; place-items:center; background:var(--primary); color:var(--primary-fg); font-weight:700; font-size:.78rem; }
.logout-button {
  display:inline-flex; align-items:center; height:32px; padding:0 10px; border-radius:var(--r-ctl);
  color:var(--muted-fg); font-size:.8125rem; font-weight:500; border:0; background:transparent; cursor:pointer;
}
.logout-button:hover { color:var(--bad); background:var(--bad-soft); }

/* Inhalt */
.content { min-width:0; display:flex; flex-direction:column; min-height:100vh; background:var(--background); }
.content > *:not(.topbar) {
  width:100%; max-width:var(--content-w);
  margin-left:auto; margin-right:auto;
  padding-left:var(--pad-x); padding-right:var(--pad-x);
}
.content > .page-header,.content > .ops-head { padding-top:var(--s6); }
.content > section,.content > article,.content > nav,.content > form,.content > div,.content > table { margin-top:var(--s5); }
.content > .toast-container { margin-top:0; }
.content > .site-footer { margin-top:auto; }

/* Page-Header */
.page-header,.admin-page-heading,.ops-head { display:grid; gap:4px; }
.page-header--inline,.ops-head { display:flex; align-items:flex-end; justify-content:space-between; gap:var(--s4); flex-wrap:wrap; }
.page-header__copy,.page-header__content,.page-header__titles,.ops-head__id { min-width:0; display:grid; gap:4px; }
.ops-head__id { display:flex; align-items:center; gap:var(--s4); }
.ops-head__id > div { display:grid; gap:4px; min-width:0; }
.ops-head__avatar { width:52px; height:52px; flex:0 0 auto; border-radius:12px; overflow:hidden; border:1px solid var(--border-2); }
.ops-head__avatar img { width:100%; height:100%; object-fit:cover; }
.ops-head__meta { display:grid; gap:2px; text-align:right; color:var(--faint); font-size:.75rem; }
.ops-head__meta b { color:var(--muted-fg); font-weight:500; }
.page-header__actions { display:flex; gap:var(--s2); flex-wrap:wrap; }
.page-header__brand { display:flex; align-items:center; gap:var(--s4); }
.page-header__logo { width:56px; height:56px; object-fit:contain; }

/* Footer */
.site-footer {
  display:flex; align-items:center; justify-content:space-between; gap:var(--s4); flex-wrap:wrap;
  border-top:1px solid var(--border); margin-top:var(--s8); padding-top:var(--s5); padding-bottom:var(--s5);
  color:var(--faint); font-size:.78rem;
}
.site-footer__brand { display:flex; align-items:center; gap:8px; font-weight:600; color:var(--muted-fg); }
.site-footer__logo { width:20px; height:20px; border-radius:5px; }
.site-footer__nav { display:flex; gap:var(--s4); flex-wrap:wrap; }
.site-footer__nav a { color:var(--faint); }
.site-footer__nav a:hover { color:var(--foreground); }

/* ============================================================================
   BUTTONS (shadcn)
   ============================================================================ */
.btn,.primary-button,.secondary-button,.ghost-button,.danger-button,
.market-mini-button,.payout-toolbar__button,.permission-action-button,
.permission-remove-button,.ekz-trigger-button,.admin-load-more,.payout-copy-button,
.ghost-link--button,.rail-btn {
  -webkit-appearance:none; appearance:none; cursor:pointer; user-select:none; white-space:nowrap;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:44px; padding:0 20px; border-radius:var(--r-ctl);
  border:1px solid transparent; background:transparent; color:var(--foreground);
  font-family:var(--sans); font-weight:500; font-size:.88rem; line-height:1;
  transition:background var(--fast) var(--eo),border-color var(--fast) var(--eo),color var(--fast) var(--eo),opacity var(--fast) var(--eo);
}
.btn:disabled,.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled,
.btn.is-disabled,.is-disabled { opacity:.45; pointer-events:none; }
.btn--primary,.primary-button,.ekz-trigger-button {
  background:var(--primary); color:var(--primary-fg); font-weight:600;
  box-shadow:var(--shadow-sm);
}
.btn--primary:hover,.primary-button:hover,.ekz-trigger-button:hover { background:var(--primary-hover); }
.btn--secondary,.secondary-button { background:var(--secondary); color:var(--foreground); }
.btn--secondary:hover,.secondary-button:hover { background:var(--secondary-2); }
.secondary-button.is-on { background:var(--primary-soft); color:var(--primary); border-color:rgba(var(--primary-rgb),.35); }
.btn--ghost,.ghost-button,.ghost-link--button,.rail-btn { border-color:var(--border-2); color:var(--soft); }
.btn--ghost:hover,.ghost-button:hover,.ghost-link--button:hover,.rail-btn:hover { background:var(--secondary); color:var(--foreground); }
.btn--danger,.danger-button { border-color:rgba(244,63,94,.35); color:#fb7185; }
.btn--danger:hover,.danger-button:hover { background:var(--bad-soft); }
.btn--sm { height:30px; padding:0 10px; font-size:.78rem; }
.btn--full { width:100%; }
.market-mini-button { height:28px; padding:0 10px; font-size:.75rem; border-color:var(--border-2); color:var(--soft); }
.market-mini-button:hover { background:var(--secondary); }
.market-mini-button--allow { color:var(--ok); border-color:rgba(74,222,128,.35); }
.market-mini-button--delete { color:#fb7185; border-color:rgba(244,63,94,.35); }
.market-mini-button--reopen { color:var(--info); border-color:rgba(56,189,248,.35); }
.admin-load-more { width:100%; border:1px dashed var(--border-2); color:var(--muted-fg); }
.admin-load-more:hover { background:var(--secondary); color:var(--foreground); }
.ekz-trigger-button[disabled] { background:var(--secondary); color:var(--faint); }
.ghost-link { color:var(--muted-fg); font-size:.84rem; } .ghost-link:hover { color:var(--foreground); }
.discord-badge { display:inline-flex; width:15px; height:15px; }
.discord-badge svg { width:100%; height:100%; }
.form-actions { display:flex; align-items:center; gap:var(--s2); flex-wrap:wrap; margin-top:var(--s4); }
.form-actions--end { justify-content:flex-end; }
.form-actions--center { justify-content:center; }
.form-actions--inline,.form-actions--compact { margin-top:var(--s2); }
.inline-form,.inline-form--actions { display:inline-flex; gap:var(--s2); align-items:center; }

/* ============================================================================
   KARTEN / PANELS
   ============================================================================ */
.panel,.card,.audit-panel,.chart-card,.admin-section-panel,.admin-filter-panel,
.kpi-card,.stat-card,.quick-nav-card,.event-meta-card,.mod-stat-card,
.payouts-panel,.payouts-stat-card,.player-detail-panel,.player-stat-card,
.permission-card,.permission-add-card,.permission-create-card,.permission-role-card,
.settings-status-card,.statistics-card,.statistics-summary-card,.pricing-card,
.premium-server-card,.admin-quick-card,.admin-rich-card,.admin-server-card,
.admin-command-card,.event-card,.welcome-preview-card,.legal-panel,.hero-card,
.permission-denied,.admin-confirm-panel,.event-status-card,.event-section,
.event-hero,.ops-strip,.login-card {
  position:relative; min-width:0;
  background:var(--card); border:1px solid var(--border); border-radius:var(--r-card);
  box-shadow:var(--shadow-sm);
}
.panel,.card,.audit-panel,.chart-card,.admin-section-panel,.admin-filter-panel,
.payouts-panel,.player-detail-panel,.legal-panel,.admin-confirm-panel,.ops-strip { padding:var(--s5); }
.panel-header,.card__head,.audit-panel__head,.chart-card__head,.statistics-card__head,
.pricing-card__head,.player-directory__header,.permission-hub__header,.permission-group__header,
.audit-results-head,.admin-command-card__header {
  display:flex; align-items:flex-start; justify-content:space-between; gap:var(--s4);
  margin-bottom:var(--s4); flex-wrap:wrap;
}
.panel-header > div,.card__head > div { display:grid; gap:3px; min-width:0; }
.panel-header h2,.card__head h2,.audit-panel__head h2,.chart-card__head h2 { font-size:1rem; }
.card__body { display:grid; gap:var(--s3); }
.card--hero { padding:var(--s5); }
.section-stack { display:grid; gap:var(--s5); }

/* KPI-Karten */
.kpi-grid,.stat-grid,.payouts-stat-grid,.player-stat-grid,.statistics-summary-grid,
.admin-quick-grid,.mod-stat-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,176px),1fr)); gap:var(--s4);
}
.kpi-card,.stat-card,.payouts-stat-card,.player-stat-card,.mod-stat-card,.admin-quick-card,.statistics-summary-card {
  display:flex; align-items:flex-start; gap:var(--s4); padding:var(--s5);
  transition:border-color var(--fast) var(--eo);
}
.kpi-card:hover,.stat-card:hover,.admin-quick-card:hover { border-color:var(--border-2); }
.kpi-card__icon,.modern-stat__icon {
  width:38px; height:38px; flex:0 0 auto; border-radius:var(--radius);
  display:grid; place-items:center; font-size:.9rem;
  color:var(--primary); background:var(--primary-soft);
}
.kpi-card--blue .kpi-card__icon { color:var(--info); background:var(--info-soft); }
.kpi-card--green .kpi-card__icon { color:var(--ok); background:var(--ok-soft); }
.kpi-card--gold .kpi-card__icon,.kpi-card--orange .kpi-card__icon { color:var(--warn); background:var(--warn-soft); }
.kpi-card--red .kpi-card__icon { color:var(--bad); background:var(--bad-soft); }
.kpi-card__body,.modern-stat__info,.stat-card > div { display:grid; gap:2px; min-width:0; }
.kpi-card__label,.kpi-card__body > span,.stat-card > div > span,.modern-stat__info > span:first-child {
  color:var(--muted-fg); font-size:.8125rem; font-weight:500;
}
.kpi-card__value,.kpi-card__body strong,.stat-card strong,.modern-stat__info strong {
  font-size:1.625rem; font-weight:700; letter-spacing:-.02em; line-height:1.15;
  color:var(--foreground); font-variant-numeric:tabular-nums;
}
.kpi-card__trend,.stat-card small { color:var(--faint); font-size:.75rem; }
.kpi-card__trend { color:var(--ok); }
.stat-card--compact { padding:var(--s4); }

/* Quick-Nav */
.quick-nav-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:var(--s4); }
.quick-nav-card {
  display:flex; align-items:center; gap:var(--s3); padding:var(--s4);
  transition:border-color var(--fast) var(--eo),background var(--fast) var(--eo);
}
.quick-nav-card:hover { border-color:var(--border-2); background:var(--popover); }
.quick-nav-card__icon {
  width:36px; height:36px; flex:0 0 auto; border-radius:var(--radius);
  display:grid; place-items:center; font-size:.85rem;
  color:var(--primary); background:var(--primary-soft);
}
.quick-nav-card__body { display:grid; gap:1px; min-width:0; }
.quick-nav-card__body strong { font-size:.875rem; font-weight:600; }
.quick-nav-card__body small { color:var(--muted-fg); font-size:.75rem; }
.quick-nav-card__arrow { margin-left:auto; color:var(--faint); font-size:.75rem; transition:transform var(--med) var(--eo),color var(--med) var(--eo); }
.quick-nav-card:hover .quick-nav-card__arrow { transform:translateX(3px); color:var(--primary); }

/* Grids */
.panel-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:var(--s4); align-items:start; }
.grid-2col { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:var(--s4); align-items:start; }
.grid-3col { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s4); }
.charts-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(420px,1fr)); gap:var(--s4); }
.admin-week-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr)); gap:var(--s4); }
.field-grid,.form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:var(--s4); }
.field-span-2 { grid-column:1 / -1; }
.filter-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:var(--s3); }

/* ============================================================================
   FORMULARE (shadcn)
   ============================================================================ */
input[type=text],input[type=number],input[type=url],input[type=search],input[type=email],
input[type=password],input[type=date],input[type=time],select,textarea {
  width:100%; height:44px; padding:0 14px;
  background:transparent; color:var(--foreground);
  border:1px solid var(--input); border-radius:var(--r-ctl);
  font-family:var(--sans); font-size:.88rem;
  transition:border-color var(--fast) var(--eo),box-shadow var(--fast) var(--eo);
}
textarea { height:auto; min-height:90px; padding:10px 12px; resize:vertical; line-height:1.5; }
input:hover,select:hover,textarea:hover { border-color:var(--border-2); }
input:focus,select:focus,textarea:focus {
  outline:none; border-color:rgba(var(--primary-rgb),.6);
  box-shadow:0 0 0 3px rgba(var(--primary-rgb),.18);
}
select { cursor:pointer; appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2371717a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; padding-right:32px;
}
select option { background:var(--popover); color:var(--foreground); }
input[type=checkbox],input[type=radio] { accent-color:var(--primary); width:16px; height:16px; cursor:pointer; }
input[type=file] { color:var(--muted-fg); font-size:.8125rem; height:auto; padding:6px 0; border:0; }
input[type=file]::file-selector-button {
  margin-right:12px; height:32px; padding:0 12px; cursor:pointer;
  border:1px solid var(--border-2); border-radius:var(--r-ctl);
  background:var(--secondary); color:var(--foreground); font-family:var(--sans); font-weight:500; font-size:.78rem;
}
label { font-size:.8125rem; }
.setting-field,.payout-field,.weekday-field,.field { display:grid; gap:6px; min-width:0; align-content:start; }
.setting-field > label,.payout-field > label,.field > label,.setting-field > span:first-child {
  color:var(--foreground); font-size:.8125rem; font-weight:500;
}
.setting-field--wide,.setting-field--span,.payout-field--wide { grid-column:1 / -1; }
.setting-field--compact { gap:4px; }
.field-help { margin:0; color:var(--faint); font-size:.75rem; line-height:1.5; }
.field-error { margin:0; color:#fb7185; font-size:.75rem; font-weight:500; }
.field-error:empty { display:none; }
.field-error--standalone { padding:10px 14px; border:1px solid rgba(244,63,94,.3); border-radius:var(--r-ctl); background:var(--bad-soft); }
.field-error--standalone:empty { display:none; padding:0; border:0; }
.is-error input,.is-error select,.is-error textarea,input.is-error,select.is-error,textarea.is-error { border-color:rgba(244,63,94,.55); }
.form-section { display:grid; gap:var(--s4); }
.flash-success { animation:flash-ok 1.2s var(--eo); }
@keyframes flash-ok { 0% { box-shadow:0 0 0 3px rgba(74,222,128,.5); } 100% { box-shadow:0 0 0 3px transparent; } }

/* Switches */
.switch { position:relative; display:inline-flex; width:40px; height:22px; flex:0 0 auto; }
.switch input { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%; margin:0; }
.switch__slider {
  position:absolute; inset:0; border-radius:var(--r-full); pointer-events:none;
  background:var(--secondary-2); transition:background var(--med) var(--eo);
}
.switch__slider::before {
  content:""; position:absolute; left:3px; top:50%; transform:translateY(-50%);
  width:16px; height:16px; border-radius:50%; background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.4);
  transition:transform var(--med) var(--eo);
}
.switch input:checked + .switch__slider { background:var(--primary); }
.switch input:checked + .switch__slider::before { transform:translate(18px,-50%); }
.switch-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:var(--s3); }
.switch-card {
  display:flex; align-items:center; justify-content:space-between; gap:var(--s3);
  padding:var(--s4); border:1px solid var(--border); border-radius:var(--radius); background:var(--card);
}
.switch-card__copy { display:grid; gap:2px; min-width:0; }
.switch-card__copy strong { font-size:.84rem; font-weight:600; }

/* Chips */
.filter-chip,.admin-toggle-chip,.weekday-chip,.role-chip,.feature-pill,.audit-check {
  display:inline-flex; align-items:center; gap:7px; cursor:pointer; user-select:none;
  height:30px; padding:0 12px; border-radius:var(--r-full);
  border:1px solid var(--border-2); background:transparent;
  color:var(--muted-fg); font-size:.78rem; font-weight:500;
  transition:all var(--fast) var(--eo);
}
.filter-chip:hover,.admin-toggle-chip:hover,.weekday-chip:hover,.role-chip:hover { border-color:var(--border-2); background:var(--secondary); color:var(--foreground); }
.filter-chip input,.admin-toggle-chip input,.weekday-chip input,.audit-check input { width:13px; height:13px; }
.filter-chip:has(input:checked),.admin-toggle-chip:has(input:checked),.weekday-chip:has(input:checked),
.role-chip--selected,.audit-check:has(input:checked) {
  border-color:rgba(var(--primary-rgb),.45); background:var(--primary-soft); color:var(--primary);
}
.weekday-grid { display:flex; gap:var(--s2); flex-wrap:wrap; }
.filter-group { display:flex; align-items:center; gap:var(--s2); flex-wrap:wrap; }
.filter-group__label { color:var(--faint); font-size:.72rem; font-weight:500; margin-right:4px; }
.audit-filters,.filter-panel { display:grid; gap:var(--s3); margin-bottom:var(--s4); }
.role-picker { display:grid; gap:var(--s3); }
.role-picker__chips,.role-picker__list { display:flex; gap:var(--s2); flex-wrap:wrap; }
.role-option { display:flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid var(--border); border-radius:var(--r-ctl); cursor:pointer; }
.role-option:hover { background:var(--secondary); }

/* ============================================================================
   BADGES
   ============================================================================ */
.badge,.audit-badge,.player-badge,.pricing-badge,.admin-state-pill,.event-status-badge,.price-tag {
  display:inline-flex; align-items:center; gap:5px;
  height:22px; padding:0 10px; border-radius:var(--r-full);
  border:1px solid var(--border-2); background:transparent;
  color:var(--soft); font-size:.72rem; font-weight:600; white-space:nowrap;
}
.badge--count { color:var(--primary); border-color:rgba(var(--primary-rgb),.35); background:var(--primary-soft); }
.badge--muted { color:var(--faint); }
.badge--outline { background:transparent; }
.badge-group { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.player-badge--id { font-family:var(--mono); font-size:.7rem; }
.price-tag { color:var(--primary); border-color:rgba(var(--primary-rgb),.35); }
.audit-badge--user { color:var(--info); border-color:rgba(56,189,248,.35); background:var(--info-soft); }
.audit-badge--event { color:var(--warn); border-color:rgba(251,191,36,.35); background:var(--warn-soft); }
.audit-badge--payout { color:var(--ok); border-color:rgba(74,222,128,.35); background:var(--ok-soft); }
.audit-badge--marketplace { color:#fb923c; border-color:rgba(251,146,60,.35); background:rgba(251,146,60,.12); }
.audit-badge--blacklist { color:#fb7185; border-color:rgba(244,63,94,.35); background:var(--bad-soft); }
.audit-badge--permission { color:var(--vio); border-color:rgba(168,85,247,.35); background:rgba(168,85,247,.12); }
.audit-badge--config,.audit-badge--source { color:var(--muted-fg); }
.audit-badge--scoreboard { color:var(--info); border-color:rgba(56,189,248,.35); }
.is-ok { color:var(--ok); } .is-muted { color:var(--muted-fg); }
.save-indicator { display:inline-flex; align-items:center; gap:7px; color:var(--muted-fg); font-size:.78rem; }
.save-indicator__dot { width:8px; height:8px; border-radius:50%; background:var(--ok); }
.admin-state-pill--active { color:var(--ok); border-color:rgba(74,222,128,.35); background:var(--ok-soft); }
.admin-state-pill--inactive { color:var(--faint); }

/* ============================================================================
   LISTEN / TABELLEN / AUDIT
   ============================================================================ */
.list-block,.admin-mini-list,.admin-card-list,.admin-log-stack,.admin-server-list,
.audit-list,.payouts-list,.player-list,.event-card-list,.admin-timeline,.bounded-list,
.audit-filter-list,.settings-status-list,.permission-role-list { display:grid; gap:var(--s2); min-width:0; }
.admin-mini-list--bounded,.admin-card-list--bounded,.admin-log-stack--bounded,
.admin-server-list--bounded,.admin-timeline--bounded,.bounded-list { max-height:560px; overflow-y:auto; padding-right:4px; }
.admin-mini-list--five,.admin-card-list--five,.admin-log-stack--five,
.admin-server-list--five,.admin-timeline--five,.scroll-five { max-height:420px; overflow-y:auto; padding-right:4px; }

.audit-entry,.list-row,.blacklist-row,.payout-row,.settings-status-item,
.admin-row,.overview-activity-card,.admin-timeline__item {
  position:relative; min-width:0;
  padding:var(--s3) var(--s4); border:1px solid var(--border); border-radius:var(--radius);
  background:transparent;
  transition:background var(--fast) var(--eo),border-color var(--fast) var(--eo);
}
.audit-entry:hover,.list-row:hover,.payout-row:hover,.admin-row:hover,.player-card:hover { background:rgba(255,255,255,.025); border-color:var(--border-2); }
.audit-entry__head { display:flex; justify-content:space-between; gap:var(--s3); align-items:flex-start; }
.audit-entry__head > div { min-width:0; display:grid; gap:1px; }
.audit-entry__head strong { font-size:.84rem; font-weight:600; }
.audit-entry__head p { color:var(--muted-fg); font-size:.8125rem; overflow-wrap:anywhere; }
.audit-entry__head time { color:var(--faint); font-size:.72rem; white-space:nowrap; flex:0 0 auto; font-variant-numeric:tabular-nums; }
.audit-entry__meta { display:flex; align-items:center; gap:var(--s2); flex-wrap:wrap; margin-top:var(--s2); color:var(--muted-fg); font-size:.78rem; }
.audit-entry__summary { margin-top:var(--s2); color:var(--muted-fg); font-size:.8125rem; overflow-wrap:anywhere; }
.list-row { display:flex; justify-content:space-between; align-items:center; gap:var(--s3); }
.list-row > div { display:grid; gap:1px; min-width:0; }
.list-row > div strong { font-size:.84rem; }
.list-row > div span { color:var(--muted-fg); font-size:.78rem; }
.list-row time { color:var(--faint); font-size:.75rem; white-space:nowrap; font-variant-numeric:tabular-nums; }

.table-wrap,.premium-table-wrap { overflow-x:auto; border:1px solid var(--border); border-radius:var(--radius); }
table,.data-table,.premium-table,.table-like { width:100%; border-collapse:collapse; }
th { text-align:left; padding:10px 14px; color:var(--muted-fg); font-weight:500; font-size:.75rem; border-bottom:1px solid var(--border); }
td { padding:11px 14px; border-bottom:1px solid var(--border); font-size:.8125rem; }
tbody tr:hover { background:rgba(255,255,255,.025); }
tbody tr:last-child td { border-bottom:0; }
.premium-table__highlight { color:var(--primary); font-weight:600; }

.empty-state,.statistics-empty-state {
  display:grid; place-items:center; gap:var(--s2); text-align:center;
  padding:var(--s6) var(--s4); color:var(--muted-fg);
  border:1px dashed var(--border-2); border-radius:var(--radius);
  background:transparent; font-size:.8125rem;
}
.empty-state.compact,.empty-state--compact,.statistics-empty-state--inline { padding:var(--s4); }
.empty-state--success { border-color:rgba(74,222,128,.35); color:var(--ok); }
.empty-state--warning { border-color:rgba(251,191,36,.35); color:var(--warn); }

/* ============================================================================
   OPS-Strip (Event-Fokus auf der Übersicht) — Hero + kompakte Reihe
   ============================================================================ */
.ops-strip { display:grid; gap:var(--s4); }
.ops-strip__head { display:flex; align-items:center; justify-content:space-between; gap:var(--s3); }
.ops-strip__tag { color:var(--foreground); font-size:1rem; font-weight:600; letter-spacing:-.01em; display:flex; align-items:center; gap:8px; }
.ops-strip__tag::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--primary); }
.ops-strip__count { color:var(--faint); font-size:.75rem; font-variant-numeric:tabular-nums; }

.op-hero {
  position:relative; display:flex; gap:var(--s4); align-items:flex-start;
  background:var(--secondary); border:1px solid var(--border); border-radius:var(--r-card);
  padding:18px 20px; overflow:hidden; transition:border-color var(--fast) var(--eo);
}
.op-hero::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--faint); }
.op-hero--live { border-color:rgba(34,197,94,.28); }
.op-hero--live::before { background:var(--ok); }
.op-hero--next { border-color:rgba(var(--primary-rgb),.28); }
.op-hero--next::before { background:var(--primary); }
.op-hero__icon { flex:0 0 auto; width:46px; height:46px; border-radius:var(--radius); display:grid; place-items:center; font-size:1.1rem; }
.op-hero--live .op-hero__icon { background:var(--ok-soft); color:var(--ok); }
.op-hero--next .op-hero__icon { background:var(--primary-soft); color:var(--primary); }
.op-hero__body { flex:1; min-width:0; }
.op-hero__meta { display:flex; align-items:center; gap:8px; margin-bottom:4px; }
.op-status-pill { display:inline-flex; align-items:center; gap:5px; font-size:.66rem; font-weight:600; letter-spacing:.05em; padding:2px 8px; border-radius:var(--r-full); }
.op-hero--live .op-status-pill { color:var(--ok); background:var(--ok-soft); border:1px solid rgba(34,197,94,.35); }
.op-hero--next .op-status-pill { color:var(--primary); background:var(--primary-soft); border:1px solid rgba(var(--primary-rgb),.35); }
.op-status-pill__dot { width:6px; height:6px; border-radius:50%; background:currentColor; }
.op-hero--live .op-status-pill__dot { animation:op-pulse 1.6s var(--eo) infinite; }
.op-hero__type { font-size:.72rem; color:var(--faint); }
.op-hero__name { font-size:1.1rem; font-weight:600; letter-spacing:-.01em; color:var(--foreground); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.op-hero__time { font-size:.8rem; color:var(--muted-fg); margin-top:2px; font-variant-numeric:tabular-nums; }
.op-hero__time b { color:var(--foreground); font-weight:600; }
.op-hero__progress { height:4px; border-radius:var(--r-full); background:rgba(255,255,255,.06); margin-top:12px; overflow:hidden; }
.op-hero__progress > i { display:block; height:100%; background:var(--ok); border-radius:inherit; }

.ops-strip__sub { font-size:.7rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); margin:4px 0 0; }
.ops-strip__row { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:var(--s3); }
.op {
  position:relative; display:flex; align-items:center; gap:var(--s3);
  padding:14px 16px; background:var(--popover); border:1px solid var(--border); border-radius:var(--radius);
  overflow:hidden; transition:border-color var(--fast) var(--eo);
}
.op::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--primary); }
.op:hover { border-color:var(--border-2); }
.op__icon { flex:0 0 auto; width:38px; height:38px; border-radius:var(--r-ctl); display:grid; place-items:center; background:var(--primary-soft); color:var(--primary); font-size:.95rem; }
.op__body { min-width:0; flex:1; }
.op__name { font-size:.9rem; font-weight:600; color:var(--foreground); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.op__time { font-size:.78rem; color:var(--muted-fg); font-variant-numeric:tabular-nums; }
.op__eta { flex:0 0 auto; font-size:.72rem; font-weight:600; color:var(--primary); background:var(--primary-soft); padding:3px 9px; border-radius:var(--r-full); white-space:nowrap; }

@keyframes op-pulse { 0%,100% { opacity:1; } 50% { opacity:.3; } }
@media (prefers-reduced-motion:reduce) { .op-hero--live .op-status-pill__dot { animation:none; } }

/* ============================================================================
   EVENTS-Seite
   ============================================================================ */
.event-section { overflow:hidden; }
.event-section__toggle {
  width:100%; display:flex; align-items:center; gap:var(--s3); cursor:pointer;
  padding:var(--s4) var(--s5); border:0; background:transparent; color:var(--foreground); text-align:left;
  transition:background var(--fast) var(--eo);
}
.event-section__toggle:hover { background:rgba(255,255,255,.025); }
.event-section__toggle-copy { display:grid; gap:2px; min-width:0; flex:1; }
.event-section__toggle-copy strong { font-size:.9375rem; font-weight:600; }
.event-section__toggle-icon { margin-left:auto; color:var(--muted-fg); transition:transform var(--med) var(--eo); flex:0 0 auto; }
.event-section.is-open .event-section__toggle-icon,.event-section[open] .event-section__toggle-icon { transform:rotate(180deg); }
.event-section__body { padding:0 var(--s5) var(--s5); display:grid; gap:var(--s4); }
.event-settings-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:var(--s4); }
.event-meta-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:var(--s3); }
.event-meta-card { padding:var(--s4); display:grid; gap:2px; }
.event-meta-card strong { font-size:1.25rem; font-weight:700; letter-spacing:-.01em; }
.event-card { overflow:hidden; }
.event-card__summary { display:flex; align-items:center; gap:var(--s3); padding:var(--s4) var(--s5); flex-wrap:wrap; }
.event-card__summary-copy { display:grid; gap:2px; min-width:0; flex:1; }
.event-card__summary-actions { display:flex; gap:var(--s2); flex-wrap:wrap; }
.event-card__summary-note { flex-basis:100%; color:var(--muted-fg); font-size:.8125rem; }
.event-card__details { padding:var(--s4) var(--s5) var(--s5); border-top:1px solid var(--border); display:grid; gap:var(--s4); }
.event-card__details-head { display:flex; justify-content:space-between; gap:var(--s3); flex-wrap:wrap; }
.event-card__details-actions { display:flex; gap:var(--s2); flex-wrap:wrap; }
.event-hero { display:flex; align-items:center; justify-content:space-between; gap:var(--s4); flex-wrap:wrap; padding:var(--s5); }
.event-hero__main { display:grid; gap:4px; min-width:0; }
.event-hero__status { display:inline-flex; align-items:center; gap:7px; color:var(--ok); font-size:.78rem; font-weight:600; }
.event-hero__status-dot { width:8px; height:8px; border-radius:50%; background:var(--ok); animation:pulse 2s infinite; }
@keyframes pulse { 50% { opacity:.5; } }
.event-status-card { padding:var(--s4); display:grid; gap:3px; }
.event-status-card__label { color:var(--muted-fg); font-size:.78rem; font-weight:500; }
.ekz-trigger-form,.statecontrol-trigger-form { display:grid; gap:var(--s3); }
.ekz-trigger-button.is-armed { box-shadow:0 0 0 4px rgba(var(--primary-rgb),.18); }

/* ============================================================================
   ADMIN-Familie
   ============================================================================ */
.admin-subtabs { display:inline-flex; gap:2px; flex-wrap:wrap; padding:3px; border:1px solid var(--border); border-radius:var(--radius); background:var(--card); max-width:100%; }
.admin-subtabs a { padding:6px 12px; border-radius:var(--r-ctl); color:var(--muted-fg); font-size:.8125rem; font-weight:500; }
.admin-subtabs a:hover { color:var(--foreground); }
.admin-subtabs a.is-active { background:var(--secondary-2); color:var(--foreground); font-weight:600; }
.admin-section-panel { display:grid; gap:var(--s4); }
.admin-filter-panel { display:grid; gap:var(--s3); }
.admin-filter-form,.admin-search-form,.admin-stacked-form,.admin-live-form {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:var(--s3); align-items:end;
}
.admin-stacked-form { grid-template-columns:1fr; }
.admin-rich-card,.admin-server-card { padding:var(--s4); display:grid; gap:var(--s3); }
.admin-rich-card__main { display:flex; gap:var(--s3); align-items:flex-start; }
.admin-rich-card__content { display:grid; gap:var(--s2); min-width:0; flex:1; }
.admin-rich-card__avatar {
  width:40px; height:40px; flex:0 0 auto; border-radius:var(--radius); overflow:hidden;
  display:grid; place-items:center; border:1px solid var(--border); color:var(--faint); background:var(--secondary);
}
.admin-rich-card__avatar img { width:100%; height:100%; object-fit:cover; }
.admin-rich-card__meta { display:flex; gap:var(--s3); flex-wrap:wrap; color:var(--muted-fg); font-size:.78rem; }
.admin-rich-card__actions { display:flex; gap:var(--s2); flex-wrap:wrap; }
.admin-server-card__identity { display:flex; align-items:center; gap:var(--s3); min-width:0; }
.admin-server-card__facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:var(--s3); }
.admin-server-card__actions,.admin-server-card__action-row { display:flex; gap:var(--s2); flex-wrap:wrap; }
.fact { display:grid; gap:1px; }
.fact span { color:var(--faint); font-size:.72rem; }
.fact strong { font-size:.9375rem; font-weight:600; font-variant-numeric:tabular-nums; }
.admin-row { display:grid; gap:var(--s3); }
.admin-row--split { display:flex; justify-content:space-between; gap:var(--s3); align-items:center; flex-wrap:wrap; }
.admin-command-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:var(--s4); }
.admin-command-card { padding:var(--s4); display:grid; gap:var(--s3); }
.admin-command-card__symbol { font-family:var(--mono); color:var(--primary); font-weight:600; font-size:.84rem; }
.admin-command-card__state { display:flex; align-items:center; gap:var(--s2); }
.admin-command-card__form { display:grid; gap:var(--s3); }
.admin-toggle-grid { display:flex; gap:var(--s2); flex-wrap:wrap; }
.admin-event-shell,.admin-event-editor { display:grid; gap:var(--s4); }
.admin-event-title-row { display:flex; justify-content:space-between; gap:var(--s3); align-items:center; flex-wrap:wrap; }
.admin-confirm-panel { display:grid; gap:var(--s3); border-color:rgba(244,63,94,.35); }
.admin-confirm-panel__actions { display:flex; gap:var(--s2); flex-wrap:wrap; }
.admin-create-summary,.admin-search-result-line { color:var(--muted-fg); font-size:.8125rem; }
.admin-timeline__item { display:grid; gap:var(--s2); }

/* ============================================================================
   CHARTS
   ============================================================================ */
.chart-card { padding:var(--s5); display:grid; gap:var(--s4); align-content:start; }
.chart-shell { display:grid; gap:6px; }
.line-chart,.bar-chart { width:100%; height:auto; color:var(--muted-fg); }
.chart-grid-line { stroke:rgba(255,255,255,.06); stroke-width:1; }
.chart-line { fill:none; stroke:var(--primary); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.chart-line--alt,.chart-line--leave { stroke:var(--bad); }
.chart-line--join { stroke:var(--ok); }
.chart-dot { fill:var(--card); stroke-width:2; }
.chart-dot--join { stroke:var(--ok); } .chart-dot--leave { stroke:var(--bad); }
.chart-bar { fill:var(--primary); rx:2; }
.chart-bar--created { fill:var(--info); } .chart-bar--reported { fill:var(--warn); }
.chart-bar--allowed { fill:var(--ok); } .chart-bar--deleted { fill:var(--bad); }
.chart-labels { display:flex; justify-content:space-between; color:var(--faint); font-size:.7rem; padding:0 6px; font-variant-numeric:tabular-nums; }
.chart-legend { display:flex; gap:var(--s4); flex-wrap:wrap; color:var(--muted-fg); font-size:.78rem; }
.chart-legend span { display:inline-flex; align-items:center; gap:6px; }
.legend-dot { width:8px; height:8px; border-radius:50%; background:var(--primary); display:inline-block; }
.legend-dot--join { background:var(--ok); } .legend-dot--leave { background:var(--bad); }
.legend-dot--created { background:var(--info); } .legend-dot--reported { background:var(--warn); }
.legend-dot--allowed { background:var(--ok); } .legend-dot--deleted { background:var(--bad); }
.chart-compare { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:var(--s2); }
.compare-pill { display:grid; gap:1px; padding:10px 12px; border:1px solid var(--border); border-radius:var(--radius); font-size:.75rem; color:var(--muted-fg); }
.compare-pill strong { font-size:1.125rem; font-weight:700; color:var(--foreground); font-variant-numeric:tabular-nums; }
.compare-pill--join strong { color:var(--ok); } .compare-pill--leave strong { color:var(--bad); }
.compare-pill--created strong { color:var(--info); } .compare-pill--reported strong { color:var(--warn); }
.compare-pill--allowed strong { color:var(--ok); } .compare-pill--deleted strong { color:var(--bad); }
.compare-pill--prev { opacity:.6; }

.statistics-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(380px,1fr)); gap:var(--s4); }
.statistics-section { display:grid; gap:var(--s4); }
.statistics-card { padding:var(--s5); display:grid; gap:var(--s4); }
.statistics-chart-area { width:100%; }
.statistics-chart-line,.statistics-chart-zigzag { stroke:var(--primary); fill:none; stroke-width:2; }
.statistics-chart-dot { fill:var(--primary); }
.statistics-bar-chart { display:flex; align-items:flex-end; gap:10px; min-height:160px; }
.statistics-bar-item { display:grid; gap:6px; justify-items:center; flex:1; }
.statistics-bar-pillar { width:100%; max-width:36px; border-radius:6px 6px 2px 2px; background:var(--primary); opacity:.9; }
.statistics-bar-label { color:var(--faint); font-size:.7rem; }
.statistics-bar-value { font-size:.78rem; font-weight:600; color:var(--soft); font-variant-numeric:tabular-nums; }

/* ============================================================================
   PAYOUTS / PLAYER / PERMISSIONS / SETTINGS / MARKETPLACE / SERVERS
   ============================================================================ */
.payouts-control-panel { display:grid; gap:var(--s4); }
.payout-search-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:var(--s3); align-items:end; }
.payout-search__field { display:grid; gap:6px; }
.payout-toolbar { display:flex; gap:var(--s2); flex-wrap:wrap; align-items:center; }
.payout-row { display:grid; gap:var(--s3); }
.payout-row__main { display:flex; justify-content:space-between; align-items:center; gap:var(--s3); flex-wrap:wrap; }
.payout-row__identity { display:grid; gap:1px; min-width:0; }
.payout-row__amount { font-size:1.125rem; font-weight:700; color:var(--foreground); font-variant-numeric:tabular-nums; }
.payout-row__meta { display:flex; gap:var(--s3); flex-wrap:wrap; color:var(--muted-fg); font-size:.78rem; }
.payout-row__actions { display:flex; gap:var(--s2); flex-wrap:wrap; }
.payout-row--zero { opacity:.55; }
.payout-action-form { display:grid; gap:var(--s3); }
.payouts-inline-form { display:flex; gap:var(--s2); flex-wrap:wrap; align-items:end; }
.payouts-panel__intro,.payouts-panel__hint { color:var(--muted-fg); font-size:.8125rem; }
.payout-collapse-toggle { display:inline-flex; align-items:center; gap:7px; cursor:pointer; background:none; border:0; color:var(--primary); font-weight:600; font-size:.8125rem; padding:0; }

.player-directory { display:grid; gap:var(--s4); }
.player-directory__search-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:var(--s3); align-items:end; }
.player-card {
  display:flex; justify-content:space-between; align-items:center; gap:var(--s3); flex-wrap:wrap;
  padding:var(--s3) var(--s4); border:1px solid var(--border); border-radius:var(--radius);
  transition:background var(--fast) var(--eo),border-color var(--fast) var(--eo);
}
.player-card__main,.player-card__identity { display:flex; align-items:center; gap:var(--s3); min-width:0; }
.player-card__badges { display:flex; gap:6px; flex-wrap:wrap; }
.player-card__side { display:flex; align-items:center; gap:var(--s3); flex-wrap:wrap; }
.player-profile-hero { display:flex; align-items:center; gap:var(--s4); flex-wrap:wrap; padding:var(--s5); border:1px solid var(--border); border-radius:var(--r-card); background:var(--card); }
.player-profile-hero__avatar { width:56px; height:56px; border-radius:14px; overflow:hidden; display:grid; place-items:center; font-size:1.3rem; font-weight:700; color:var(--primary); background:var(--secondary); border:1px solid var(--border-2); }
.player-profile-hero__avatar img { width:100%; height:100%; object-fit:cover; }
.player-profile-hero__identity { display:grid; gap:3px; min-width:0; }
.player-profile-hero__stats { display:flex; gap:var(--s4); flex-wrap:wrap; margin-left:auto; }
.player-detail-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:var(--s4); align-items:start; }
.player-detail-subpanel { display:grid; gap:var(--s3); padding:var(--s4); border:1px solid var(--border); border-radius:var(--radius); }
.player-info-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:var(--s3); }
.player-id-history { display:grid; gap:var(--s2); }
.player-tabs { display:flex; gap:4px; flex-wrap:wrap; }

.permission-hub,.permission-shell { display:grid; gap:var(--s4); }
.permission-hub__layout { display:grid; grid-template-columns:290px minmax(0,1fr); gap:var(--s4); align-items:start; }
.permission-role-sidebar { display:grid; gap:var(--s3); }
.permission-role-card { padding:var(--s4); display:grid; gap:var(--s2); cursor:pointer; transition:border-color var(--fast) var(--eo); }
.permission-role-card:hover { border-color:var(--border-2); }
.permission-selected-role { border-color:rgba(var(--primary-rgb),.45); }
.permission-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:var(--s3); }
.permission-card { padding:var(--s4); display:grid; gap:var(--s2); cursor:pointer; transition:border-color var(--fast) var(--eo),background var(--fast) var(--eo); }
.permission-card:hover { border-color:var(--border-2); }
.permission-card--checked { border-color:rgba(var(--primary-rgb),.5); background:linear-gradient(180deg,var(--primary-soft),transparent 80%),var(--card); }
.permission-card__category { color:var(--faint); font-size:.7rem; font-weight:500; text-transform:uppercase; letter-spacing:.05em; }
.permission-card__title { font-weight:600; font-size:.875rem; }
.permission-card__text { color:var(--muted-fg); font-size:.8125rem; }
.permission-stats { display:flex; gap:var(--s3); flex-wrap:wrap; }
.permission-add-card,.permission-create-card { padding:var(--s4); display:grid; gap:var(--s3); }
.permission-inline-form { display:grid; gap:var(--s3); }
.permission-content { display:grid; gap:var(--s4); }
.permission-denied { max-width:520px; margin:var(--s8) auto; padding:var(--s6); display:grid; gap:var(--s4); text-align:center; justify-items:center; }
.permission-denied__icon { width:56px; height:56px; border-radius:var(--r-full); display:grid; place-items:center; background:var(--bad-soft); color:var(--bad); font-size:1.2rem; }
.permission-denied__grid { display:grid; gap:var(--s2); }
.permission-denied__actions { display:flex; gap:var(--s3); flex-wrap:wrap; justify-content:center; }
.permission-denied__note { color:var(--muted-fg); font-size:.8125rem; }

.settings-channel-layout { display:grid; gap:var(--s4); }
.settings-channel-layout__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:var(--s4); }
.settings-check-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:var(--s3); }
.settings-status-card { padding:var(--s4); display:grid; gap:var(--s3); }
.settings-status-item { display:grid; gap:var(--s2); }
.settings-status-item__head { display:flex; align-items:center; gap:var(--s2); }
.settings-status-item__dot { width:8px; height:8px; border-radius:50%; background:var(--ok); flex:0 0 auto; }
.settings-status-item__meta { color:var(--muted-fg); font-size:.8125rem; }
.welcome-settings-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--s4); align-items:start; }
.welcome-settings-panel,.welcome-settings-form { display:grid; gap:var(--s4); }
.welcome-preview-card { overflow:hidden; }
.welcome-preview-card__media { position:relative; }
.welcome-preview-card__overlay { position:absolute; inset:0; display:grid; place-items:center; background:rgba(0,0,0,.5); }
.welcome-preview-card__body { padding:var(--s4); display:grid; gap:var(--s2); }
.welcome-preview-card__identity { display:flex; align-items:center; gap:var(--s3); }
.welcome-preview-card__avatar { width:40px; height:40px; border-radius:50%; }
.welcome-banner { width:100%; max-height:220px; object-fit:contain; }
.welcome-settings-actions { display:flex; gap:var(--s3); flex-wrap:wrap; }

.market-post-image,.market-log-thumb { border-radius:var(--r-ctl); border:1px solid var(--border); max-width:220px; }
.market-log-preview { display:flex; gap:var(--s3); align-items:flex-start; flex-wrap:wrap; }
.market-admin-actions { display:flex; gap:var(--s2); flex-wrap:wrap; }
.market-admin-actions__form { display:inline-flex; }
.blacklist-form,.blacklist-remove-form { display:grid; gap:var(--s3); }
.blacklist-row { display:grid; gap:var(--s2); }
.blacklist-row__title { font-weight:600; font-size:.875rem; }
.blacklist-row__meta { display:flex; gap:var(--s3); flex-wrap:wrap; color:var(--muted-fg); font-size:.78rem; }
.blacklist-row__reason { color:var(--muted-fg); font-size:.8125rem; }
.mod-week-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:var(--s2); }
.mod-week-day { display:grid; gap:3px; padding:var(--s3); border:1px solid var(--border); border-radius:var(--r-ctl); text-align:center; font-size:.75rem; color:var(--muted-fg); }

/* Serverliste */
.premium-server-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:var(--s4); }
.premium-server-card {
  display:grid; gap:var(--s4); padding:var(--s5);
  transition:border-color var(--med) var(--eo),transform var(--med) var(--eo),box-shadow var(--med) var(--eo);
}
.premium-server-card:hover { border-color:var(--border-2); transform:translateY(-2px); box-shadow:var(--shadow); }
.premium-server-card__top { display:flex; gap:var(--s3); align-items:center; min-width:0; }
.premium-server-card__avatar { width:46px; height:46px; flex:0 0 auto; border-radius:12px; overflow:hidden; display:grid; place-items:center; background:var(--secondary); color:var(--faint); border:1px solid var(--border); }
.premium-server-card__avatar img { width:100%; height:100%; object-fit:cover; }
.premium-server-card__avatar--add { border-style:dashed; color:var(--primary); font-size:1.1rem; }
.premium-server-card__info { display:grid; gap:2px; min-width:0; }
.premium-server-card__info h3 { font-size:.9375rem; overflow-wrap:anywhere; }
.premium-server-card__info p { color:var(--muted-fg); font-size:.78rem; overflow-wrap:anywhere; }
.premium-server-card .btn,.premium-server-card .primary-button,.premium-server-card .secondary-button { width:100%; }
.premium-server-card--add { border-style:dashed; justify-items:center; text-align:center; align-content:center; min-height:180px; box-shadow:none; }
.premium-server-card--empty { opacity:.7; }
.servers-hero { display:grid; gap:var(--s2); }
.premium-note { display:flex; gap:var(--s3); align-items:flex-start; padding:var(--s4); border:1px solid rgba(var(--primary-rgb),.3); border-radius:var(--radius); background:var(--primary-soft); }
.premium-note__badge { flex:0 0 auto; }
.premium-note__content { display:grid; gap:3px; color:var(--muted-fg); font-size:.8125rem; }
.pricing-card { padding:var(--s5); display:grid; gap:var(--s4); }
.pricing-card--featured { border-color:rgba(var(--primary-rgb),.45); box-shadow:0 0 0 1px rgba(var(--primary-rgb),.25), var(--shadow); }
.pricing-badge--featured { background:var(--primary); color:var(--primary-fg); border:0; }
.premium-compare { display:grid; gap:var(--s4); }
.feature-list { display:grid; gap:var(--s2); margin:0; padding:0; list-style:none; }
.feature-list--columns { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.feature-pill--inline { height:26px; }

.guild-card-large { padding:var(--s5); }
.server-card__top { display:flex; align-items:center; gap:var(--s4); flex-wrap:wrap; }
.server-card__avatar,.discord-icon { width:52px; height:52px; border-radius:12px; overflow:hidden; border:1px solid var(--border); flex:0 0 auto; }
.server-card__avatar img,.discord-icon img { width:100%; height:100%; object-fit:cover; }
.discord-icon--lg { width:60px; height:60px; }
.server-summary__meta { display:grid; gap:3px; min-width:0; }
.server-summary__meta p { color:var(--muted-fg); font-size:.8125rem; display:flex; align-items:center; gap:7px; }
.server-summary__meta i { color:var(--primary); font-size:.75rem; }

/* ============================================================================
   OVERLAYS
   ============================================================================ */
.modal-overlay { position:fixed; inset:0; z-index:var(--z-modal); display:grid; place-items:center; padding:var(--s4); background:rgba(0,0,0,.7); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.modal-overlay[data-open="false"] { display:none; }
.modal-card {
  width:min(540px,100%); display:grid; gap:var(--s4); padding:var(--s5);
  background:var(--popover); border:1px solid var(--border-2); border-radius:var(--r-card);
  box-shadow:var(--shadow-lg); position:relative;
  animation:modal-in var(--med) var(--eo);
}
@keyframes modal-in { from { opacity:0; transform:translateY(10px) scale(.98); } }
.modal-card__close { position:absolute; top:12px; right:12px; width:30px; height:30px; border:0; border-radius:var(--r-ctl); background:transparent; color:var(--muted-fg); font-size:1rem; cursor:pointer; }
.modal-card__close:hover { background:var(--secondary); color:var(--foreground); }
.modal-card__header { display:flex; gap:var(--s3); align-items:flex-start; }
.modal-card__header h2 { font-size:1rem; }
.modal-card__icon { width:38px; height:38px; flex:0 0 auto; display:grid; place-items:center; border-radius:var(--radius); background:var(--warn-soft); color:var(--warn); font-weight:700; }
.modal-card__lead { font-size:.9rem; }
.modal-card__explain { padding:var(--s4); border:1px solid var(--border); border-radius:var(--radius); display:grid; gap:5px; color:var(--muted-fg); font-size:.8125rem; }
.modal-card__checkbox { display:flex; gap:9px; align-items:center; color:var(--muted-fg); cursor:pointer; font-size:.8125rem; }
.modal-card__actions { display:flex; gap:var(--s2); justify-content:flex-end; flex-wrap:wrap; }

.drawer {
  position:fixed; top:0; right:0; bottom:0; z-index:var(--z-modal);
  width:min(400px,92vw); padding:var(--s5); overflow-y:auto;
  background:var(--popover); border-left:1px solid var(--border-2); box-shadow:var(--shadow-lg);
  transform:translateX(100%); transition:transform var(--med) var(--eo);
}
.drawer[data-open="true"] { transform:translateX(0); }

.toast-container { display:grid; gap:var(--s2); }
.toast-stack { position:fixed; right:var(--s4); bottom:var(--s4); z-index:var(--z-toast); display:grid; gap:var(--s2); width:min(360px,calc(100vw - 32px)); }
.toast {
  display:flex; gap:var(--s3); align-items:flex-start; padding:var(--s3) var(--s4);
  border:1px solid var(--border-2); border-radius:var(--radius);
  background:var(--popover); box-shadow:var(--shadow); animation:toast-in var(--med) var(--eo);
}
@keyframes toast-in { from { opacity:0; transform:translateY(8px); } }
.toast-hiding { opacity:0; transform:translateY(4px); transition:all var(--med) var(--eo); }
.toast--success .toast-icon { color:var(--ok); }
.toast--error .toast-icon { color:var(--bad); }
.toast--info .toast-icon { color:var(--info); }
.toast-icon { font-weight:700; flex:0 0 auto; }
.toast-message { font-size:.8125rem; }

.bulk-bar {
  position:fixed; left:50%; bottom:var(--s4); transform:translate(-50%,calc(100% + 24px)); z-index:var(--z-toast);
  display:flex; align-items:center; gap:var(--s4); padding:var(--s3) var(--s4);
  background:var(--popover); border:1px solid var(--border-2); border-radius:var(--r-card); box-shadow:var(--shadow-lg);
  transition:transform var(--med) var(--eo);
}
.bulk-bar[data-visible="true"] { transform:translate(-50%,0); }
.bulk-bar strong { font-size:.84rem; }

.floating-save-toast {
  position:fixed; right:var(--s4); bottom:var(--s4); z-index:var(--z-toast);
  display:flex; align-items:center; gap:9px; padding:10px 16px;
  background:var(--popover); border:1px solid var(--border-2); border-radius:var(--r-full); box-shadow:var(--shadow-lg);
  opacity:0; transform:translateY(12px); pointer-events:none;
  transition:opacity var(--med) var(--eo),transform var(--med) var(--eo);
  font-size:.8125rem; font-weight:500;
}
.floating-save-toast.is-visible { opacity:1; transform:translateY(0); }
.floating-save-toast.is-shaking { animation:shake .45s var(--eo); }
@keyframes shake { 20%,60% { transform:translateX(-4px); } 40%,80% { transform:translateX(4px); } }
.floating-save-toast__icon { width:8px; height:8px; border-radius:50%; background:var(--primary); flex:0 0 auto; }
.floating-save-toast[data-state="saving"] .floating-save-toast__icon { animation:pulse 1s infinite; }
.floating-save-toast[data-state="success"] .floating-save-toast__icon { background:var(--ok); }
.floating-save-toast[data-state="error"] .floating-save-toast__icon { background:var(--bad); }

.skeleton-overlay { position:fixed; inset:0; z-index:var(--z-modal); display:none; place-items:center; background:rgba(0,0,0,.45); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); }
.skeleton-overlay.active { display:grid; }
.spinner { width:36px; height:36px; border-radius:50%; border:3px solid rgba(var(--primary-rgb),.2); border-top-color:var(--primary); animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }

.masked-panel { overflow:hidden; }
.masked-panel__body { filter:blur(7px); opacity:.4; pointer-events:none; user-select:none; }
.masked-panel__hint { display:grid; gap:var(--s2); justify-items:center; text-align:center; padding:var(--s4); }
.is-locked { filter:blur(6px); user-select:none; }

/* ============================================================================
   STANDALONE — Login / Legal
   ============================================================================ */
.login-stage { min-height:calc(100vh - 130px); display:grid; place-items:center; padding:var(--s5) 0; }
.login-card {
  width:min(420px,100%); display:grid; gap:var(--s5); padding:var(--s7) var(--s6);
  text-align:center; justify-items:center; box-shadow:var(--shadow);
}
.login-card h1 { font-size:1.25rem; }
.login-card__logo { width:64px; height:64px; object-fit:contain; border-radius:16px; }
.legal-panel { max-width:860px; margin:0 auto; display:grid; gap:var(--s4); }
.legal-header { display:grid; gap:var(--s2); }
.legal-copy { display:grid; gap:var(--s3); color:var(--soft); font-size:.875rem; }
.legal-copy h3 { margin-top:var(--s3); }
.hero,.hero-card { padding:var(--s6); display:grid; gap:var(--s3); }
.hero-text { color:var(--muted-fg); max-width:64ch; }

/* ============================================================================
   STRUKTUR-FIXES für flaches Admin-Markup (Marktplatz, Mod-Stats, Commands)
   ============================================================================ */
/* Flache Stat-Karten: <span>Label</span><strong>Wert</strong><small>Notiz</small> */
.stat-card,.mod-stat-card,.payouts-stat-card,.player-stat-card,.statistics-summary-card {
  display:grid; grid-auto-flow:row; align-content:start; gap:2px;
}
.stat-card > span,.mod-stat-card > span,.payouts-stat-card > span,
.player-stat-card > span,.statistics-summary-card > span { color:var(--muted-fg); font-size:.8125rem; font-weight:500; }
.stat-card > strong,.payouts-stat-card > strong,.player-stat-card > strong,
.statistics-summary-card > strong { font-size:1.625rem; font-weight:700; letter-spacing:-.02em; line-height:1.15; font-variant-numeric:tabular-nums; }
.stat-card > small,.payouts-stat-card > small,.player-stat-card > small { color:var(--faint); font-size:.75rem; }
.stat-card > div { display:grid; gap:2px; min-width:0; }
.stat-card { padding:18px 20px; }

/* Quick-Cards: <span>Kicker</span><strong>Titel</strong><p>Beschreibung</p> */
.admin-quick-card { display:grid; grid-auto-flow:row; align-content:start; gap:3px; padding:var(--s4) var(--s5); }
.admin-quick-card > span { color:var(--primary); font-size:.6875rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.admin-quick-card > strong { font-size:.9375rem; font-weight:600; letter-spacing:-.01em; }
.admin-quick-card > p,.admin-quick-card .meta-line { color:var(--muted-fg); font-size:.78rem; }
.admin-quick-card:hover { border-color:rgba(var(--primary-rgb),.35); }
.admin-quick-grid,.admin-quick-grid--compact { gap:var(--s3); }

/* Aufklappbare Panels in .panel: kein Doppel-Padding */
.panel.event-section,.event-section.admin-section-panel { padding:0; gap:0; }
.panel.event-section .event-section__toggle { padding:var(--s4) var(--s5); }
.panel.event-section .event-section__body { padding:0 var(--s5) var(--s5); }
.event-section__toggle-copy small { color:var(--faint); font-size:.75rem; font-weight:400; }
.event-section__toggle-copy .eyebrow { font-size:.625rem; }
.event-section__toggle-copy strong { display:flex; align-items:center; gap:8px; }

/* Marktplatz: Bilder als saubere Thumbnails */
.admin-rich-card .market-post-image {
  width:56px; height:56px; flex:0 0 auto; overflow:hidden;
  border-radius:var(--r-ctl); border:1px solid var(--border); display:block; max-width:none;
}
.admin-rich-card .market-post-image img { width:100%; height:100%; object-fit:cover; }
.market-post-image.is-broken { display:none; }
.market-log-preview { display:block; width:fit-content; margin-top:var(--s2); }
.market-log-preview img { max-height:110px; max-width:200px; border-radius:var(--r-ctl); border:1px solid var(--border); }
.market-admin-actions { margin-top:var(--s2); }
.market-mini-button { width:30px; padding:0; font-size:.85rem; }

/* Rich-Card-Innenstruktur */
.admin-rich-card__main > div { display:grid; gap:2px; min-width:0; flex:1; }
.admin-rich-card__main h3 { font-size:.875rem; font-weight:600; overflow-wrap:anywhere; }
.admin-rich-card__main p { color:var(--muted-fg); font-size:.78rem; }
.admin-rich-card__content > div:first-child { display:grid; gap:1px; }
.admin-rich-card__content > div:first-child p { color:var(--muted-fg); font-size:.78rem; }
.admin-rich-card__meta {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:var(--s2) var(--s4); padding-top:var(--s3); border-top:1px solid var(--border);
}
.admin-rich-card__meta span { display:grid; gap:1px; min-width:0; font-size:.8125rem; color:var(--soft); overflow-wrap:anywhere; }
.admin-rich-card__meta b { display:block; font-size:.68rem; font-weight:500; color:var(--faint); text-transform:uppercase; letter-spacing:.05em; }
.admin-rich-card__meta small { color:var(--faint); }

/* Mod-Statistik: kompakte Wertekacheln + Wochenraster */
.mod-stat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,104px),1fr)); gap:var(--s2); }
.mod-stat-card { padding:8px 10px; border:1px solid var(--border); border-radius:var(--r-ctl); box-shadow:none; gap:0; }
.mod-stat-card > span { font-size:.68rem; color:var(--faint); line-height:1.3; }
.mod-stat-card > strong { font-size:1.0625rem; font-weight:700; font-variant-numeric:tabular-nums; }
.mod-week-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:var(--s2); }
.mod-week-day { display:grid; gap:2px; padding:8px 6px; }
.mod-week-day strong { font-size:.72rem; font-weight:600; }
.mod-week-day span { font-size:.7rem; color:var(--muted-fg); font-variant-numeric:tabular-nums; }

/* Admin-Listenzeilen (Rollen/Mods): Text-Stack + Aktion rechts */
.admin-row > div { display:grid; gap:2px; min-width:0; }
.admin-row > div strong { font-size:.84rem; font-weight:600; }
.admin-row > div span { color:var(--muted-fg); font-size:.78rem; overflow-wrap:anywhere; }
.admin-row--split > .btn,.admin-row--split > button { flex:0 0 auto; }
.admin-stacked-form .primary-button,.admin-stacked-form .secondary-button { justify-self:start; }

/* Filter-Panel: Reset-Aktion bündig zur Feldzeile */
.admin-filter-form .form-actions { margin-top:0; align-self:end; }

/* ---- Sanfter Page-Load ---- */
@media (prefers-reduced-motion:no-preference) {
  .content > *:not(.topbar):not(.toast-container):not(.site-footer) {
    animation:rise var(--slow) var(--eo) both;
  }
  .content > *:nth-child(3) { animation-delay:.04s; }
  .content > *:nth-child(4) { animation-delay:.08s; }
  .content > *:nth-child(5) { animation-delay:.12s; }
  .content > *:nth-child(n+6) { animation-delay:.16s; }
}
@keyframes rise { from { opacity:0; transform:translateY(8px); } }

/* ============================================================================
   RESPONSIVE
   ============================================================================ */
@media (max-width:1180px) {
  .grid-2col,.player-detail-layout,.welcome-settings-layout,.permission-hub__layout { grid-template-columns:1fr; }
}
@media (max-width:920px) {
  .app-shell { grid-template-columns:1fr; }
  .sidebar {
    position:fixed; left:0; top:0; bottom:0; height:100dvh;
    width:min(82vw,290px); z-index:var(--z-drawer);
    transform:translateX(-100%); transition:transform var(--med) var(--eo);
    box-shadow:var(--shadow-lg); will-change:transform;
    border-right:1px solid var(--border-2);
    background:var(--background);
  }
  body.sidebar-open .sidebar { transform:translateX(0); }
  body.sidebar-open { overflow:hidden; }
  .topbar-hamburger { display:inline-flex; }
  .guild-chip__label { max-width:34vw; }
  .charts-grid { grid-template-columns:1fr; }
  .ops-head__meta { text-align:left; }
}
@media (max-width:640px) {
  :root { --pad-x:14px; }
  .kpi-grid,.stat-grid,.quick-nav-grid,.grid-3col,.admin-quick-grid,
  .payouts-stat-grid,.player-stat-grid,.statistics-summary-grid,.mod-stat-grid,
  .panel-grid,.admin-week-grid,.field-grid,.form-grid,.event-settings-grid,
  .settings-channel-layout__grid,.settings-check-grid,.statistics-grid,
  .premium-server-grid,.ops-strip__row { grid-template-columns:1fr; }
  h1 { font-size:1.25rem; }
  .panel,.card,.audit-panel,.chart-card,.admin-section-panel,.ops-strip { padding:var(--s4); }
  .form-actions .btn,.form-actions .primary-button,.form-actions .secondary-button,
  .form-actions .danger-button,.page-header__actions .btn { flex:1 1 auto; }
  .user-panel__meta { display:none; }
  .bulk-bar { width:calc(100vw - 16px); flex-wrap:wrap; border-radius:var(--radius); }
  .toast-stack { right:8px; bottom:8px; }
  .topbar { flex-wrap:wrap; height:auto; min-height:56px; padding-top:8px; padding-bottom:8px; row-gap:4px; }
  .topbar__lead { flex:1 1 0; }
  .topbar-actions { flex:1 1 100%; justify-content:flex-end; margin-left:0; }
  .topbar-actions .secondary-button,.topbar-actions .rail-btn { padding:0 10px; font-size:.75rem; }
  .guild-chip { padding:0 8px; }
  .guild-chip__label { max-width:48vw; }
  .ops-head__avatar { width:44px; height:44px; }
}
@media print {
  .sidebar,.topbar,.site-footer { display:none !important; }
  .app-shell { display:block; }
  * { box-shadow:none !important; }
}

/* ============================================================================
   PREMIUM POLISH LAYER — Materialität, Tiefe, Finish
   (überschreibt gezielt Basisregeln; Tokens bleiben die Quelle)
   ============================================================================ */

/* -- Atmosphäre: dezenter Akzent-Schein oben, Vignette unten -- */
body::before {
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(90% 40% at 50% -5%, rgba(var(--primary-rgb),.06), transparent 60%),
    radial-gradient(70% 35% at 100% 110%, rgba(var(--primary-rgb),.025), transparent 55%);
}
.app-shell,.content { position:relative; z-index:1; }

/* -- Karten: Glas-Schicht + Top-Highlight + weiche Tiefe -- */
.panel,.card,.audit-panel,.chart-card,.admin-section-panel,.admin-filter-panel,
.kpi-card,.stat-card,.quick-nav-card,.event-meta-card,
.payouts-panel,.payouts-stat-card,.player-detail-panel,.player-stat-card,
.permission-card,.permission-add-card,.permission-create-card,.permission-role-card,
.settings-status-card,.statistics-card,.statistics-summary-card,.pricing-card,
.premium-server-card,.admin-quick-card,.admin-rich-card,.admin-server-card,
.admin-command-card,.event-card,.welcome-preview-card,.legal-panel,.hero-card,
.permission-denied,.admin-confirm-panel,.event-status-card,.event-section,
.event-hero,.ops-strip,.login-card,.mod-stat-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.008) 38%, transparent 70%),
    var(--card);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 1px 2px rgba(0,0,0,.55),
    0 12px 32px -16px rgba(0,0,0,.55);
}
.kpi-card,.stat-card,.quick-nav-card,.admin-quick-card,.payouts-stat-card,
.premium-server-card,.statistics-summary-card,.player-stat-card {
  transition:transform var(--med) var(--eo), border-color var(--med) var(--eo), box-shadow var(--med) var(--eo);
}
.kpi-card:hover,.stat-card:hover,.quick-nav-card:hover,.admin-quick-card:hover,
.payouts-stat-card:hover,.premium-server-card:hover {
  transform:translateY(-2px); border-color:var(--border-2);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 2px 4px rgba(0,0,0,.5),
    0 20px 44px -18px rgba(0,0,0,.7);
}
.mod-stat-card { box-shadow:inset 0 1px 0 rgba(255,255,255,.035); }

/* -- Panel-Header als echte Card-Header (Hairline-Trennung) -- */
.panel-header,.card__head,.audit-panel__head,.chart-card__head,.statistics-card__head {
  padding-bottom:var(--s4); border-bottom:1px solid var(--border); margin-bottom:var(--s4);
}
.panel-header h2,.card__head h2,.audit-panel__head h2,.chart-card__head h2 { font-size:1.18rem; letter-spacing:-.015em; }

/* -- Seitentitel: mehr Präsenz, engerer Rhythmus -- */
.page-header h1,.ops-head h1,.admin-page-heading h1 { font-size:2.25rem; font-weight:700; letter-spacing:-.03em; }
.eyebrow { font-size:.75rem; letter-spacing:.13em; opacity:.95; }
.page-subtitle { margin-top:6px; font-size:.95rem; }
.content > .page-header,.content > .ops-head { padding-top:var(--s6); padding-bottom:var(--s2); }

/* -- Buttons: Finish mit Verlauf, Innenlicht, Press-State -- */
.btn--primary,.primary-button,.ekz-trigger-button {
  background:linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.35),
    0 1px 2px rgba(0,0,0,.5),
    0 8px 20px -8px rgba(var(--primary-rgb),.55);
  transition:transform var(--fast) var(--eo), box-shadow var(--fast) var(--eo), filter var(--fast) var(--eo);
}
.btn--primary:hover,.primary-button:hover,.ekz-trigger-button:hover {
  filter:brightness(1.06); transform:translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.35),
    0 2px 4px rgba(0,0,0,.5),
    0 12px 26px -8px rgba(var(--primary-rgb),.65);
}
.btn--primary:active,.primary-button:active { transform:translateY(0) scale(.985); filter:brightness(.97); }
.btn--secondary,.secondary-button {
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)), var(--secondary);
  border-color:var(--border); box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 1px 2px rgba(0,0,0,.4);
}
.btn--secondary:hover,.secondary-button:hover { border-color:var(--border-2); transform:translateY(-1px); }
.btn--ghost:hover,.ghost-button:hover,.ghost-link--button:hover,.rail-btn:hover { transform:translateY(-1px); }
.btn,.primary-button,.secondary-button,.ghost-button,.danger-button { transition:all var(--fast) var(--eo); }

/* -- KPI: größere Ziffern, Icon-Chips mit Ring + Glow, Trend als Pill -- */
.kpi-card__value,.kpi-card__body strong,.stat-card > strong,.modern-stat__info strong { font-size:2.1rem; }
.kpi-card__label,.kpi-card__body > span,.stat-card > div > span,
.stat-card > span,.payouts-stat-card > span,.player-stat-card > span,.statistics-summary-card > span {
  text-transform:uppercase; letter-spacing:.05em; font-size:.76rem; font-weight:600;
}
.kpi-card__icon,.modern-stat__icon {
  width:44px; height:44px; border-radius:12px; font-size:1.05rem;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 60%),
    var(--primary-soft);
  box-shadow:inset 0 0 0 1px rgba(var(--primary-rgb),.28), 0 4px 14px -6px rgba(var(--primary-rgb),.4);
}
.kpi-card--blue .kpi-card__icon { box-shadow:inset 0 0 0 1px rgba(56,189,248,.3), 0 4px 14px -6px rgba(56,189,248,.4); }
.kpi-card--green .kpi-card__icon { box-shadow:inset 0 0 0 1px rgba(74,222,128,.3), 0 4px 14px -6px rgba(74,222,128,.4); }
.kpi-card--gold .kpi-card__icon,.kpi-card--orange .kpi-card__icon { box-shadow:inset 0 0 0 1px rgba(251,191,36,.3), 0 4px 14px -6px rgba(251,191,36,.4); }
.kpi-card--red .kpi-card__icon { box-shadow:inset 0 0 0 1px rgba(244,63,94,.3), 0 4px 14px -6px rgba(244,63,94,.4); }
.kpi-card__trend {
  display:inline-flex; align-items:center; gap:5px; width:fit-content;
  margin-top:4px; padding:1px 8px; border-radius:var(--r-full);
  background:var(--ok-soft); color:var(--ok); font-size:.7rem; font-weight:600;
}

/* -- Sidebar: aktiver Punkt mit Indikator + Akzent, Marke als Tile -- */
.sidebar { background:var(--card); }
.sidebar__head { padding:16px 16px 12px; border-bottom:1px solid var(--border); margin-bottom:4px; }
.brand-link__logo { border-radius:9px; box-shadow:0 2px 8px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.06); }
.sidebar__brand-name {
  background:linear-gradient(120deg,#fff,var(--soft));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.sidebar-group__label { font-size:.66rem; font-weight:600; letter-spacing:.07em; text-transform:uppercase; color:var(--faint); }
.sidebar-link { height:35px; }
.sidebar-link.is-active {
  background:linear-gradient(90deg, rgba(var(--primary-rgb),.14), rgba(var(--primary-rgb),.04) 70%);
  box-shadow:inset 0 0 0 1px rgba(var(--primary-rgb),.16);
  color:var(--primary);
}
.sidebar-link.is-active::before {
  content:""; position:absolute; left:-12px; top:7px; bottom:7px; width:3px;
  border-radius:0 3px 3px 0; background:var(--primary);
  box-shadow:0 0 10px rgba(var(--primary-rgb),.6);
}
.sidebar__badge { box-shadow:0 0 14px -4px rgba(var(--primary-rgb),.5); }

/* -- Topbar: leichte Erhebung -- */
.topbar { box-shadow:0 1px 0 var(--border), 0 8px 24px -20px rgba(0,0,0,.8); }
.user-panel__avatar { box-shadow:0 0 0 2px var(--background), 0 0 0 3px var(--border-2); }

/* -- Formulare: eingelassene Felder -- */
input[type=text],input[type=number],input[type=url],input[type=search],input[type=email],
input[type=password],input[type=date],input[type=time],select,textarea {
  background:rgba(0,0,0,.28); box-shadow:inset 0 1px 2px rgba(0,0,0,.35);
}
input:focus,select:focus,textarea:focus {
  background:rgba(0,0,0,.2);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.3), 0 0 0 3px rgba(var(--primary-rgb),.16);
}

/* -- Badges: feiner -- */
.badge,.audit-badge,.player-badge,.pricing-badge,.admin-state-pill,.event-status-badge,.price-tag {
  height:21px; font-size:.7rem; letter-spacing:.01em; backdrop-filter:none;
}

/* -- Listen: ruhige Hover-Akzentkante -- */
.audit-entry,.list-row,.payout-row,.player-card,.admin-row,.blacklist-row {
  background:linear-gradient(180deg, rgba(255,255,255,.012), transparent);
}
.audit-entry:hover,.list-row:hover,.payout-row:hover,.player-card:hover,.admin-row:hover {
  box-shadow:inset 2px 0 0 var(--primary);
}

/* -- Tabellen: Kopf abgesetzt -- */
th { background:rgba(255,255,255,.025); font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; }

/* -- Empty-States: weicher -- */
.empty-state,.statistics-empty-state {
  border-color:var(--border); background:rgba(255,255,255,.012); border-radius:var(--r-card);
  color:var(--faint);
}

/* -- Login: Bühne -- */
.login-card { box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 30px 80px -30px rgba(0,0,0,.9), 0 0 60px -30px rgba(var(--primary-rgb),.35); }
.login-card::after {
  content:""; position:absolute; top:-40px; left:50%; transform:translateX(-50%);
  width:220px; height:120px; border-radius:50%;
  background:radial-gradient(closest-side, rgba(var(--primary-rgb),.22), transparent);
  pointer-events:none;
}
.login-card::before { content:""; position:absolute; inset:0 0 auto; height:2px; background:linear-gradient(90deg, transparent, var(--primary), transparent); }
.login-card__logo { filter:drop-shadow(0 10px 24px rgba(0,0,0,.6)); }

/* -- Charts: präsenter -- */
.chart-line { stroke-width:2.4; }
.chart-grid-line { stroke-dasharray:3 5; }

/* -- Modals/Toasts: Material angleichen -- */
.modal-card,.toast,.floating-save-toast,.bulk-bar,.drawer {
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 55%),
    var(--popover);
}

/* -- Scrollbar feiner -- */
::-webkit-scrollbar { width:8px; height:8px; }
::-webkit-scrollbar-thumb { border-width:2px; }

/* Trend-Pills: neutral als Default (gruen waere semantisch falsch bei reinen Infos) */
.kpi-card__trend { background:rgba(255,255,255,.05); color:var(--muted-fg); }
.kpi-card__trend i { color:var(--ok); }

/* -- Benachrichtigungs-Glocke -- */
.notify-menu { display:inline-flex; }
.notify-btn { position:relative; height:32px; padding:0 11px; list-style:none; cursor:pointer; display:inline-flex; align-items:center; border:1px solid var(--border-2); border-radius:var(--r-ctl); color:var(--soft); }
.notify-btn::-webkit-details-marker { display:none; }
.notify-btn:hover { background:var(--secondary); color:var(--foreground); }
.notify-badge {
  position:absolute; top:-6px; right:-6px; min-width:17px; height:17px; padding:0 4px;
  display:grid; place-items:center; border-radius:var(--r-full);
  background:var(--primary); color:var(--primary-fg);
  font-size:.62rem; font-weight:700; line-height:1;
  box-shadow:0 0 0 2px var(--background);
}
.notify-panel { left:auto; right:0; min-width:300px; }
.notify-item { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.notify-item__label { font-size:.84rem; }

/* -- Onboarding-Checkliste -- */
.setup-panel { border-color:rgba(var(--primary-rgb),.3); }
.setup-progress { height:6px; border-radius:var(--r-full); background:var(--secondary); overflow:hidden; margin-bottom:var(--s4); }
.setup-progress i { display:block; height:100%; background:var(--primary); border-radius:var(--r-full); transition:width .4s var(--eo); }
.setup-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:var(--s2); }
.setup-item {
  display:flex; align-items:center; gap:10px; padding:9px 12px;
  border:1px solid var(--border); border-radius:var(--r-ctl);
  color:var(--foreground); font-size:.84rem; font-weight:500;
  transition:border-color var(--fast) var(--eo), background var(--fast) var(--eo);
}
.setup-item:hover { border-color:var(--border-2); background:var(--secondary); }
.setup-item--done { color:var(--faint); pointer-events:none; }
.setup-item--done span { text-decoration:line-through; text-decoration-color:rgba(255,255,255,.25); }
.setup-item__mark { width:20px; height:20px; flex:0 0 auto; display:grid; place-items:center; border-radius:var(--r-full); font-size:.62rem; background:var(--secondary); color:var(--muted-fg); }
.setup-item--done .setup-item__mark { background:var(--ok-soft); color:var(--ok); }
.setup-item__go { margin-left:auto; color:var(--faint); font-size:.65rem; }

/* -- Overview: Server-Header als Karte (Prototyp ops-head-flex) -- */
.content > .ops-head.ops-head--card {
  margin-top:var(--s5); padding:var(--s5) var(--pad-x);
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.008) 38%, transparent 70%),
    var(--card);
  border:1px solid var(--border); border-radius:var(--r-card);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045), 0 1px 2px rgba(0,0,0,.55), 0 12px 32px -16px rgba(0,0,0,.55);
}
.ops-head--card .ops-head__avatar { width:64px; height:64px; border-radius:12px; }

/* -- Overview: Aktivitäten-Tabelle (Prototyp "Letzte Aktivitäten") -- */
.audit-action { font-weight:600; white-space:nowrap; }
.audit-action--user { color:var(--info); }
.audit-action--event { color:var(--primary); }
.audit-action--payout { color:var(--ok); }
.audit-action--blacklist { color:#fb7185; }
.audit-action--permission { color:var(--vio); }
.audit-action--config { color:#f472b6; }
.audit-action--marketplace { color:#fb923c; }
.audit-action--scoreboard { color:var(--info); }
.audit-cell-time { color:var(--faint); font-size:.78rem; white-space:nowrap; font-variant-numeric:tabular-nums; }
.audit-cell-detail { color:var(--muted-fg); overflow-wrap:anywhere; }
.audit-panel .table-wrap { background:rgba(0,0,0,.18); }

/* -- Action-Card Icon-Header (Mockup card-icon-wrapper) -- */
.card-header-group { display:flex; align-items:flex-start; gap:16px; }
.card-header-group .section-heading { margin:0; display:block; }
.card-icon-wrapper {
  width:44px; height:44px; flex:0 0 auto; border-radius:11px;
  display:grid; place-items:center; font-size:1.15rem;
  background:rgba(255,255,255,.03); border:1px solid var(--border); color:var(--soft);
}
.card-icon-wrapper--gold { color:var(--primary); background:var(--primary-soft); border-color:rgba(var(--primary-rgb),.3); }

/* -- Info-Hinweis-Box (Mockup info-alert) -- */
.info-alert {
  width:100%; margin-top:4px; padding:12px 16px; border-radius:var(--r-ctl);
  background:rgba(56,189,248,.06); border:1px solid rgba(56,189,248,.18);
  color:#93c5fd; font-size:.84rem; line-height:1.45;
}
.info-alert i { margin-right:6px; }
.info-alert strong { color:#bfdbfe; }

/* -- Berechtigungen: Toggle-Zeilen (Mockup perm-item) -- */
.permission-grid { grid-template-columns:1fr; }
.permission-card {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  cursor:pointer; padding:16px 18px;
}
.permission-card__info { display:grid; gap:4px; min-width:0; }
.permission-card__title { font-weight:600; font-size:.95rem; }
.permission-card__text { color:var(--muted-fg); font-size:.82rem; }
.permission-switch { flex:0 0 auto; }
.permission-card--checked { border-color:rgba(var(--primary-rgb),.45); background:linear-gradient(180deg,var(--primary-soft),transparent 80%),var(--card); }

/* -- "Dein Konto"-Karte (Mockup Bild 1) -- */
.account-card { display:flex; align-items:center; justify-content:space-between; gap:var(--s4); flex-wrap:wrap; }
.account-card__info { display:grid; gap:4px; min-width:0; }
.account-card__info h2 { font-size:1.35rem; letter-spacing:-.02em; }
.account-card__side { display:flex; align-items:center; gap:var(--s5); flex-wrap:wrap; }
.account-card__balance { display:grid; gap:2px; text-align:right; }
.account-card__balance span { color:var(--muted-fg); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; font-weight:600; }
.account-card__balance strong {
  color:var(--primary); font-size:1.75rem; font-weight:700; line-height:1.1;
  font-variant-numeric:tabular-nums; text-shadow:0 0 18px rgba(var(--primary-rgb),.3);
}

/* -- KPI-Karten vertikal: Icon oben, Label, Wert (Mockup Bild 1) -- */
.kpi-card { flex-direction:column; align-items:flex-start; gap:10px; padding:24px; }
.kpi-card__label,.kpi-card__body > span {
  text-transform:none; letter-spacing:0; font-size:.86rem; font-weight:500; color:var(--muted-fg);
}
.kpi-card__value,.kpi-card__body strong { font-size:2.1rem; font-weight:700; }
/* Icons nackt/schwebend wie Mockup — kein farbiger Kasten */
.kpi-card__icon {
  width:auto !important; height:auto !important; padding:0 !important;
  border-radius:0 !important; align-self:flex-start !important;
  background:transparent !important; border:none !important; box-shadow:none !important;
  font-size:1.5rem !important;
}
.kpi-card__body { gap:4px !important; }

/* -- Brand: goldenes "E"-Tile + Gradient-Wortmarke (Mockup) -- */
.brand-tile {
  width:32px; height:32px; flex:0 0 auto; border-radius:8px;
  display:grid; place-items:center;
  background:var(--accent-grad); color:var(--primary-fg);
  font-weight:800; font-size:1.05rem; letter-spacing:0;
  box-shadow:0 2px 10px rgba(var(--primary-rgb),.35), inset 0 1px 0 rgba(255,255,255,.25);
}

/* -- User-Panel: Name oben, Abmelden klein darunter (Mockup) -- */
.user-panel__meta { display:grid; gap:1px; min-width:0; }
.user-panel__meta .logout-button {
  height:auto; padding:0; justify-content:flex-start;
  font-size:.7rem; color:var(--faint); border-radius:0;
}
.user-panel__meta .logout-button:hover { color:var(--bad); background:transparent; }

/* -- Spieler-Detail: zentrierte Hero-Karte + Gold-Avatar (Mockup) -- */
.player-detail-layout { grid-template-columns:320px minmax(0,1fr); }
.player-profile-hero { flex-direction:column; align-items:center; text-align:center; align-content:start; }
.player-profile-hero__identity { display:grid; justify-items:center; gap:12px; }
.player-profile-hero__avatar {
  width:96px; height:96px; border-radius:50%; font-size:2rem;
  border:3px solid var(--primary);
  box-shadow:0 0 24px rgba(var(--primary-rgb),.35);
}
.player-profile-hero .badge-group { justify-content:center; }
.player-profile-hero__stats { margin-left:0; width:100%; display:grid; gap:10px; border-top:1px solid var(--border); padding-top:var(--s4); }
.player-profile-hero__stats .overview-activity-card { display:flex; justify-content:space-between; align-items:center; gap:var(--s3); text-align:left; }
.player-profile-hero__stats .overview-activity-card strong { font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted-fg); }
.player-profile-hero__stats .overview-activity-card p { color:var(--primary); font-weight:700; font-size:.95rem; }

/* -- Spieler-Tabs als Gold-Pills (Mockup) -- */
.player-tabs .role-chip.is-active {
  border-color:rgba(var(--primary-rgb),.45); background:var(--primary-soft); color:var(--primary); font-weight:600;
}

/* -- Prototyp-Tabellen (Users / Payouts / Blacklist) -- */
tr.player-card,tr.payout-row,tr.blacklist-row {
  padding:0; border:0; border-radius:0; background:transparent; box-shadow:none;
}
tr.player-card:hover,tr.payout-row:hover,tr.blacklist-row:hover { box-shadow:inset 2px 0 0 var(--primary); }
.t-right { text-align:right; }
th.t-right { text-align:right; }
.row-actions { display:inline-flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; align-items:center; }
.row-actions form { display:inline-flex; margin:0; }
.player-row-link { font-weight:600; transition:color var(--fast) var(--eo); }
.player-row-link:hover { color:var(--primary); }
.payout-cell-identity { display:grid; gap:4px; justify-items:start; }
.payout-amount-cell { color:var(--primary); font-weight:700; font-size:.95rem; font-variant-numeric:tabular-nums; text-shadow:0 0 14px rgba(var(--primary-rgb),.25); }
.payout-zero-note { display:block; color:var(--faint); font-size:.72rem; }
.blacklist-name { color:#fb7185; }
.payout-copy-button { height:24px; padding:0 7px; font-size:.72rem; vertical-align:middle; }
.player-list.table-wrap { max-height:580px; overflow-y:auto; }
.panel .table-wrap { background:rgba(0,0,0,.18); }

/* -- Statistik: Auszahlungsverteilung (Gold-Balken, Mockup) -- */
.dist-list { display:grid; gap:var(--s3); }
.dist-row { display:grid; gap:6px; }
.dist-row__info { display:flex; justify-content:space-between; gap:var(--s3); font-size:.85rem; color:var(--muted-fg); }
.dist-row__info strong { color:var(--foreground); font-variant-numeric:tabular-nums; white-space:nowrap; }
.dist-row__bar {
  height:10px; border-radius:var(--r-full); overflow:hidden;
  background:rgba(255,255,255,.04); border:1px solid var(--border);
}
.dist-row__bar i {
  display:block; height:100%; border-radius:var(--r-full);
  background:var(--accent-grad);
  box-shadow:0 0 12px rgba(var(--primary-rgb),.35);
  transition:width var(--slow) var(--eo);
}

/* -- Statistik: Wochentags-Balken (Mockup "Event-Aktivität nach Wochentag") -- */
.activity-grid {
  display:flex; justify-content:space-between; align-items:flex-end; gap:8px;
  height:200px; padding-top:26px; border-bottom:1px solid var(--border);
}
.activity-col {
  flex:1 1 0; min-width:0; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:8px;
}
.activity-bar {
  width:min(32px,72%); min-height:4px; position:relative;
  background:rgba(var(--primary-rgb),.2);
  border:1px solid rgba(var(--primary-rgb),.4);
  border-radius:6px 6px 0 0;
  transition:background var(--med) var(--eo), box-shadow var(--med) var(--eo), transform var(--med) var(--eo);
}
.activity-bar:hover {
  background:var(--accent-grad);
  border-color:var(--primary);
  box-shadow:0 0 15px rgba(var(--primary-rgb),.35);
  transform:translateY(-2px);
}
.activity-bar::after {
  content:attr(data-val);
  position:absolute; top:-24px; left:50%; transform:translateX(-50%);
  font-size:.72rem; font-weight:600; color:var(--primary); white-space:nowrap;
  opacity:0; transition:opacity var(--fast) var(--eo); pointer-events:none;
}
.activity-bar:hover::after { opacity:1; }
.activity-label { font-size:.74rem; color:var(--faint); }

/* Statistik-Kartenkopf wie Mockup-Chart-Header */
.statistics-card__head {
  display:grid; grid-template-columns:1fr auto; align-items:end; gap:2px 12px;
  border-bottom:0; padding-bottom:0; margin-bottom:0;
}
.statistics-card__head .eyebrow { grid-column:1 / -1; }
.statistics-card__head h3 { font-size:1.05rem; }
.statistics-card__head strong {
  font-size:1.6rem; font-weight:700; color:var(--primary);
  font-variant-numeric:tabular-nums; text-shadow:0 0 14px rgba(var(--primary-rgb),.25);
}

/* -- Statistik: Top-Spieler-Rangliste (Mockup) -- */
.t-center { text-align:center; }
th.t-center { text-align:center; }
.rank-cell { font-size:1.15rem; }
.top-wins { color:var(--primary); font-weight:700; font-variant-numeric:tabular-nums; }

/* -- Audit-Log: farbige Kategorie-Kanten (Prototyp) -- */
.audit-entry[data-category] { border-left:3px solid var(--border-2); }
.audit-entry[data-category="user"] { border-left-color:var(--info); }
.audit-entry[data-category="event"] { border-left-color:var(--primary); }
.audit-entry[data-category="payout"] { border-left-color:var(--ok); }
.audit-entry[data-category="blacklist"] { border-left-color:#fb7185; }
.audit-entry[data-category="permission"] { border-left-color:var(--vio); }
.audit-entry[data-category="config"] { border-left-color:#f472b6; }
.audit-entry[data-category="marketplace"] { border-left-color:#fb923c; }
.audit-entry[data-category="scoreboard"] { border-left-color:var(--info); }

/* -- OCR-Review -- */
.ocr-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:var(--s3); }
.ocr-card { border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; display:grid; }
.ocr-card__media { display:block; aspect-ratio:16/9; background:var(--secondary); overflow:hidden; }
.ocr-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .25s var(--eo); }
.ocr-card__media:hover img { transform:scale(1.03); }
.ocr-card__media--missing { display:grid; place-items:center; color:var(--faint); font-size:1.4rem; }
.ocr-card__body { padding:var(--s3) var(--s4) var(--s4); display:grid; gap:6px; }
.ocr-card__head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.ocr-card__head strong { font-size:.875rem; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ocr-status--pending { color:var(--warn); border-color:rgba(251,191,36,.35); background:var(--warn-soft); }
.ocr-status--processed { color:var(--ok); border-color:rgba(74,222,128,.35); background:var(--ok-soft); }
.ocr-status--ignored { color:var(--faint); }
.ocr-status--duplicate { color:var(--info); border-color:rgba(56,189,248,.35); background:var(--info-soft); }
.ocr-status--failed { color:#fb7185; border-color:rgba(244,63,94,.35); background:var(--bad-soft); }
.ocr-card__text summary { cursor:pointer; color:var(--primary); font-size:.78rem; font-weight:500; }
.ocr-card__text pre { margin:8px 0 0; padding:10px; background:rgba(0,0,0,.3); border:1px solid var(--border); border-radius:var(--r-ctl); font-family:var(--mono); font-size:.7rem; white-space:pre-wrap; max-height:180px; overflow:auto; color:var(--soft); }

@keyframes ecPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(34,197,94,.5);}50%{opacity:.5;box-shadow:0 0 0 5px rgba(34,197,94,0);}}
