/* ==========================================================================
   VereinsFair One · Signature-Design „Varevor Glass“
   Hell, freundlich, hochwertig: mattiertes Glas über weichen Farbflächen,
   Varevor-Blau und Silber als Markenfarben.
   Wird als letztes Stylesheet geladen (nach refinement.css).
   ========================================================================== */

:root {
  /* Marke Varevor */
  --vf-blue: #1a7cff;
  --vf-blue-deep: #0b5be0;
  --vf-blue-ink: #0a4bc2;
  --vf-sky: #5cb4ff;
  --vf-ice: #d9ecff;
  --vf-violet: #7b6cff;
  --vf-peach: #ffb48c;
  --vf-silver: #c7d0dc;
  --vf-ink: #0f1b2d;
  --vf-ink-2: #34445a;
  --vf-muted: #66768c;

  /* Glas */
  --vf-glass: rgba(255, 255, 255, .62);
  --vf-glass-strong: rgba(255, 255, 255, .8);
  --vf-glass-line: rgba(255, 255, 255, .78);
  --vf-glass-edge: rgba(15, 27, 45, .07);
  --vf-glass-blur: blur(26px) saturate(185%);
  --vf-glass-shadow: 0 1px 1px rgba(15, 27, 45, .03), 0 14px 34px -14px rgba(28, 64, 120, .22);
  --vf-glass-shadow-hover: 0 1px 2px rgba(15, 27, 45, .04), 0 22px 46px -18px rgba(26, 92, 200, .32);
  --vf-highlight: inset 0 1px 0 rgba(255, 255, 255, .95);

  --vf-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");

  /* Bestehende Variablen auf die Marke umstellen */
  --vf-noise-soft: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --brand: #1a6fe8;
  --brand-dark: #0b4fc0;
  --brand-soft: #eaf3ff;
  --ink: #0f1b2d;
  --muted: #5f6f86;
  --line: #dfe6f0;
  --canvas: #f3f6fb;
}
html[data-theme="dark"] {
  --vf-glass: rgba(20, 30, 50, .55);
  --vf-glass-strong: rgba(22, 32, 54, .72);
  --vf-glass-line: rgba(255, 255, 255, .09);
  --vf-glass-edge: rgba(0, 0, 0, .3);
  --vf-glass-shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 18px 40px -18px rgba(0, 0, 0, .7);
  --vf-glass-shadow-hover: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 24px 50px -18px rgba(0, 40, 120, .6);
  --vf-highlight: inset 0 1px 0 rgba(255, 255, 255, .06);
  --vf-ink: #eaf1fb;
  --vf-ink-2: #c3cfdf;
  --vf-muted: #93a3ba;
  --brand: #5cb4ff;
  --brand-dark: #a9d4ff;
  --brand-soft: #142640;
  --ink: #eaf1fb;
  --muted: #93a3ba;
  --line: #24324a;
}

/* --------------------------------------------------------------------------
   1 · Bühne des ganzen Programms: weiche Farbflächen hinter dem Glas
   -------------------------------------------------------------------------- */
html[data-theme] body.dashboard-page {
  color: var(--vf-ink);
  background:
    radial-gradient(46rem 34rem at 88% -8%, rgba(92, 180, 255, .42), transparent 62%),
    radial-gradient(40rem 32rem at -8% 28%, rgba(123, 108, 255, .2), transparent 62%),
    radial-gradient(44rem 30rem at 64% 112%, rgba(255, 180, 140, .24), transparent 62%),
    radial-gradient(30rem 24rem at 30% 70%, rgba(92, 220, 230, .14), transparent 62%),
    linear-gradient(180deg, #f6f9fe 0%, #eef3fa 100%);
  background-attachment: fixed;
}
html[data-theme] body.dashboard-page .dashboard-workspace::before,
html[data-theme] body.dashboard-page .dashboard-workspace::after { opacity: .55; filter: blur(30px); }
html[data-theme] body.dashboard-page .dashboard-workspace::before { background: radial-gradient(circle at 40% 40%, rgba(92, 180, 255, .55), rgba(123, 108, 255, .2) 45%, transparent 72%); }
html[data-theme] body.dashboard-page .dashboard-workspace::after { background: radial-gradient(circle at 50% 50%, rgba(255, 180, 140, .45), rgba(255, 140, 190, .14) 45%, transparent 72%); }
html[data-theme="dark"] body.dashboard-page {
  background:
    radial-gradient(46rem 34rem at 88% -8%, rgba(26, 124, 255, .34), transparent 62%),
    radial-gradient(40rem 32rem at -8% 28%, rgba(123, 108, 255, .2), transparent 62%),
    radial-gradient(44rem 30rem at 64% 112%, rgba(40, 200, 220, .12), transparent 62%),
    linear-gradient(180deg, #070b14 0%, #050810 100%);
  background-attachment: fixed;
}
html[data-theme="dark"] body.dashboard-page .dashboard-workspace::before,
html[data-theme="dark"] body.dashboard-page .dashboard-workspace::after { opacity: .32; }

/* Grundflächen der älteren Schichten durchsichtig machen, damit das Glas wirkt */
html[data-theme] body.dashboard-page .dashboard-workspace,
html[data-theme] body.dashboard-page .dashboard-shell { background: transparent; }

/* --------------------------------------------------------------------------
   2 · Seitenleiste aus mattiertem Glas
   -------------------------------------------------------------------------- */
html[data-theme] body.dashboard-page .dashboard-sidebar {
  border-right: 1px solid var(--vf-glass-line);
  color: var(--vf-ink);
  background: linear-gradient(180deg, rgba(255, 255, 255, .66), rgba(255, 255, 255, .48));
  -webkit-backdrop-filter: var(--vf-glass-blur);
  backdrop-filter: var(--vf-glass-blur);
  box-shadow: 1px 0 0 var(--vf-glass-edge), 18px 0 50px -30px rgba(28, 64, 120, .25), inset -1px 0 0 rgba(255, 255, 255, .6);
}
html[data-theme] body.dashboard-page .dashboard-sidebar::before,
html[data-theme] body.dashboard-page .dashboard-sidebar::after { display: none; }
html[data-theme] body.dashboard-page .dashboard-sidebar > * { position: relative; }

html[data-theme] body.dashboard-page .dashboard-brand { gap: 12px; color: var(--vf-ink); }
html[data-theme] body.dashboard-page .dashboard-brand strong { color: var(--vf-ink); font-weight: 740; letter-spacing: -.03em; }
html[data-theme] body.dashboard-page .dashboard-brand em {
  background: linear-gradient(90deg, var(--vf-blue), var(--vf-sky));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-style: normal;
}
html[data-theme] body.dashboard-page .dashboard-brandmark.vf-brandmark {
  width: 42px;
  height: 42px;
  padding: 0;
  display: block;
  border-radius: 12px;
  background: none;
  box-shadow: 0 10px 22px -8px rgba(11, 91, 224, .55), 0 2px 4px rgba(15, 27, 45, .15);
  animation: none;
}
html[data-theme] body.dashboard-page .dashboard-brandmark.vf-brandmark::after { display: none; }
.vf-brandmark img, .vf-mark-img { display: block; width: 100%; height: 100%; border-radius: inherit; }

/* „by VAREVOR“ – das O blau wie im Firmenlogo */
.vf-by { color: var(--vf-muted); font-size: .64rem; font-weight: 600; letter-spacing: .04em; }
.vf-by b { margin-left: 2px; color: var(--vf-ink-2); font-weight: 800; letter-spacing: .22em; }
.vf-by i { color: var(--vf-blue); font-style: normal; text-shadow: 0 0 10px rgba(26, 124, 255, .45); }

html[data-theme] body.dashboard-page .dashboard-club-card {
  border: 1px solid var(--vf-glass-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, .55);
  box-shadow: var(--vf-highlight), 0 1px 2px rgba(15, 27, 45, .04);
}
html[data-theme] body.dashboard-page .dashboard-club-card > span {
  color: #fff;
  background: linear-gradient(145deg, var(--vf-sky), var(--vf-blue-deep));
  box-shadow: 0 6px 14px -6px rgba(11, 91, 224, .6);
  font-weight: 800;
}
html[data-theme] body.dashboard-page .dashboard-club-card strong { color: var(--vf-ink); }
html[data-theme] body.dashboard-page .dashboard-club-card small { color: var(--vf-muted); }

html[data-theme] body.dashboard-page .dashboard-nav { scrollbar-color: rgba(15, 27, 45, .14) transparent; }
html[data-theme] body.dashboard-page .dashboard-nav-overline { display: none; }
html[data-theme] body.dashboard-page .dashboard-nav section { border-color: rgba(15, 27, 45, .06); }
html[data-theme] body.dashboard-page .dashboard-nav section > strong { color: #8593a8; font-size: .66rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
html[data-theme] body.dashboard-page .dashboard-nav a {
  color: var(--vf-ink-2);
  font-weight: 540;
  background: transparent;
  transition: color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
html[data-theme] body.dashboard-page .dashboard-nav a > span { color: #7b8ba3; }
html[data-theme] body.dashboard-page .dashboard-nav a:hover { color: var(--vf-ink); background: rgba(255, 255, 255, .6); transform: none; }
html[data-theme] body.dashboard-page .dashboard-nav a:hover > span { color: var(--vf-blue); transform: none; }
html[data-theme] body.dashboard-page .dashboard-nav a.is-active {
  color: var(--vf-blue-ink);
  font-weight: 660;
  background: rgba(255, 255, 255, .92);
  box-shadow: var(--vf-highlight), 0 0 0 1px rgba(26, 124, 255, .1), 0 6px 16px -8px rgba(26, 124, 255, .4);
}
html[data-theme] body.dashboard-page .dashboard-nav a.is-active > span { color: var(--vf-blue); }
html[data-theme] body.dashboard-page .dashboard-nav a::after { background: linear-gradient(180deg, var(--vf-sky), var(--vf-blue)); box-shadow: 0 0 10px rgba(26, 124, 255, .5); }
html[data-theme] body.dashboard-page .dashboard-nav a.is-active::after { height: 20px; }
html[data-theme] body.dashboard-page .dashboard-nav a::before { display: none; }
html[data-theme] body.dashboard-page .dashboard-nav-badge { color: #fff; background: linear-gradient(145deg, #ff9f6b, #ff6b6b); box-shadow: 0 4px 10px -3px rgba(255, 107, 107, .6); }

html[data-theme] body.dashboard-page .dashboard-user { border-color: rgba(15, 27, 45, .07); }
html[data-theme] body.dashboard-page .dashboard-user > span { color: #fff; background: linear-gradient(145deg, var(--vf-sky), var(--vf-blue-deep)); font-weight: 800; }
html[data-theme] body.dashboard-page .dashboard-user strong { color: var(--vf-ink); }
html[data-theme] body.dashboard-page .dashboard-user small { color: var(--vf-muted); }
html[data-theme] body.dashboard-page .dashboard-user button,
html[data-theme] body.dashboard-page .dashboard-user > a { color: var(--vf-muted); background: transparent; }
html[data-theme] body.dashboard-page .dashboard-user button:hover,
html[data-theme] body.dashboard-page .dashboard-user > a:hover { color: var(--vf-blue); background: rgba(255, 255, 255, .7); }

/* Dunkel */
html[data-theme="dark"] body.dashboard-page .dashboard-sidebar { background: linear-gradient(180deg, rgba(16, 24, 40, .7), rgba(10, 16, 28, .6)); box-shadow: 1px 0 0 rgba(255, 255, 255, .05), 18px 0 50px -30px rgba(0, 0, 0, .8); }
html[data-theme="dark"] body.dashboard-page .dashboard-club-card { background: rgba(255, 255, 255, .05); }
html[data-theme="dark"] body.dashboard-page .dashboard-nav section { border-color: rgba(255, 255, 255, .05); }
html[data-theme="dark"] body.dashboard-page .dashboard-nav section > strong { color: #6f7f97; }
html[data-theme="dark"] body.dashboard-page .dashboard-nav a > span { color: #7f90aa; }
html[data-theme="dark"] body.dashboard-page .dashboard-nav a:hover { color: #fff; background: rgba(255, 255, 255, .05); }
html[data-theme="dark"] body.dashboard-page .dashboard-nav a.is-active { color: #fff; background: linear-gradient(90deg, rgba(26, 124, 255, .28), rgba(26, 124, 255, .08)); box-shadow: inset 0 0 0 1px rgba(92, 180, 255, .2); }
html[data-theme="dark"] body.dashboard-page .dashboard-nav a.is-active > span { color: var(--vf-sky); }
html[data-theme="dark"] body.dashboard-page .dashboard-user button:hover,
html[data-theme="dark"] body.dashboard-page .dashboard-user > a:hover { background: rgba(255, 255, 255, .06); }

/* --------------------------------------------------------------------------
   3 · Kopfleiste aus Glas
   -------------------------------------------------------------------------- */
html[data-theme] body.dashboard-page .dashboard-topbar {
  border-bottom: 1px solid var(--vf-glass-line);
  background: rgba(255, 255, 255, .5);
  -webkit-backdrop-filter: var(--vf-glass-blur);
  backdrop-filter: var(--vf-glass-blur);
  box-shadow: 0 1px 0 var(--vf-glass-edge);
}
html[data-theme="dark"] body.dashboard-page .dashboard-topbar { background: rgba(8, 13, 24, .55); }
html[data-theme] body.dashboard-page .dashboard-search,
html[data-theme] body.dashboard-page :is(.dashboard-theme-toggle, .dashboard-notification) {
  border: 1px solid var(--vf-glass-line);
  background: rgba(255, 255, 255, .7);
  box-shadow: var(--vf-highlight), 0 1px 2px rgba(15, 27, 45, .05);
}
html[data-theme="dark"] body.dashboard-page .dashboard-search,
html[data-theme="dark"] body.dashboard-page :is(.dashboard-theme-toggle, .dashboard-notification) { background: rgba(255, 255, 255, .05); }
html[data-theme] body.dashboard-page .dashboard-search input { color: var(--vf-ink); }
html[data-theme] body.dashboard-page .dashboard-context small { color: var(--vf-muted); }
html[data-theme] body.dashboard-page .dashboard-context strong { color: var(--vf-ink); }
html[data-theme] body.dashboard-page :is(.dashboard-cora-trigger, .dashboard-cora summary) {
  border: 1px solid rgba(26, 124, 255, .18);
  color: var(--vf-blue-ink);
  background: linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(234, 243, 255, .9));
  box-shadow: var(--vf-highlight), 0 4px 12px -6px rgba(26, 124, 255, .4);
}
html[data-theme="dark"] body.dashboard-page :is(.dashboard-cora-trigger, .dashboard-cora summary) { border-color: rgba(92, 180, 255, .25); color: #cfe6ff; background: rgba(26, 124, 255, .16); }
.vf-kbd-hint {
  margin-left: auto;
  padding: 2px 7px;
  border: 1px solid rgba(15, 27, 45, .1);
  border-radius: 6px;
  color: var(--vf-muted);
  background: rgba(255, 255, 255, .85);
  font: 600 .68rem/1.4 var(--vf-font);
  white-space: nowrap;
  cursor: pointer;
}
html[data-theme="dark"] .vf-kbd-hint { border-color: rgba(255, 255, 255, .12); color: #a8b7cc; background: rgba(255, 255, 255, .05); }

/* --------------------------------------------------------------------------
   4 · Bühne: farbiger Glas-Kopfbereich jeder Seite
   -------------------------------------------------------------------------- */
html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) {
  position: relative;
  isolation: isolate;
  z-index: 30;
  margin-bottom: 24px;
  padding: clamp(26px, 3.2vw, 42px) clamp(24px, 3.2vw, 44px);
  overflow: visible;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 28px;
  color: #fff;
  background:
    radial-gradient(60% 130% at 100% 0%, rgba(120, 200, 255, .9), transparent 55%),
    radial-gradient(55% 120% at 0% 100%, rgba(110, 90, 255, .7), transparent 60%),
    radial-gradient(30% 60% at 64% 125%, rgba(255, 170, 130, .45), transparent 70%),
    linear-gradient(135deg, #1f84ff 0%, #0f5fe6 48%, #0a45bd 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .45),
    inset 0 -1px 0 rgba(0, 20, 80, .15),
    0 30px 60px -32px rgba(11, 79, 200, .65),
    0 12px 24px -16px rgba(11, 60, 160, .4);
}
/* Glasglanz oben + feine Körnung */
html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading)::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  width: auto;
  height: auto;
  border: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .2) 0%, rgba(255, 255, 255, .04) 40%, transparent 58%),
    var(--vf-noise-soft);
  background-size: auto, 160px 160px;
  opacity: 1;
  mix-blend-mode: normal;
  -webkit-mask-image: none;
  mask-image: none;
  animation: none;
}
/* Schwebende Glaskugeln */
html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading)::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  width: auto;
  height: auto;
  border: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(circle at var(--vf-orb-x, 82%) 30%, rgba(255, 255, 255, .5) 0, rgba(255, 255, 255, .14) 6%, transparent 13%),
    radial-gradient(circle at 92% 88%, rgba(255, 255, 255, .28) 0, rgba(255, 255, 255, .06) 9%, transparent 17%),
    radial-gradient(circle at 58% -10%, rgba(255, 255, 255, .22) 0, transparent 22%);
  animation: vf-stage-orbs 16s ease-in-out infinite alternate;
  transform: none;
  font-size: 0;
}
@property --vf-orb-x { syntax: "<percentage>"; inherits: false; initial-value: 82%; }
@keyframes vf-stage-orbs { from { --vf-orb-x: 84%; } to { --vf-orb-x: 66%; } }

html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) h1 {
  padding-bottom: .1em;
  margin-bottom: -.1em;
  color: #fff;
  background: none;
  -webkit-text-fill-color: #fff;
  text-shadow: 0 1px 1px rgba(0, 30, 100, .15), 0 10px 30px rgba(0, 30, 100, .2);
  font-size: clamp(2rem, 2.8vw, 2.9rem);
  font-weight: 750;
  letter-spacing: -.035em;
  line-height: 1.06;
}
html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) :is(p, small, .muted, dd, dt) { color: rgba(255, 255, 255, .86); }
html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) :is(strong, b) { color: #fff; }
html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) :is(.eyebrow, .dashboard-eyebrow) {
  width: fit-content;
  padding: 5px 11px 5px 9px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .1em;
}
html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .bank-heading, .facility-form-intro) .eyebrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .25), 0 0 10px rgba(255, 255, 255, .9);
}
html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .cora-center-hero, .cora-rules-hero) .dashboard-eyebrow i { background: #fff; box-shadow: 0 0 10px rgba(255, 255, 255, .9); }
html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .bank-heading) a:not(.primary-link):not(.secondary-link):not(.action-menu-list a) { color: #fff; }
html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .bank-heading) .status-pill { border: 1px solid rgba(255, 255, 255, .35); color: #fff; background: rgba(255, 255, 255, .18); }
html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .bank-heading) .status-pill > span { background: #fff; }
html[data-theme] .dashboard-main :is(.page-heading, .member-hero) .record-avatar {
  border: 1px solid rgba(255, 255, 255, .6);
  color: var(--vf-blue-ink);
  background: linear-gradient(160deg, rgba(255, 255, 255, .96), rgba(225, 238, 255, .88));
  box-shadow: inset 0 1px 0 #fff, 0 16px 30px -12px rgba(0, 30, 110, .45);
}
html[data-theme] .dashboard-main :is(.page-heading, .member-hero) .record-avatar * { color: inherit; }
.dashboard-main .cora-rules-hero > span {
  border: 1px solid rgba(255, 255, 255, .4);
  color: #fff;
  background: rgba(255, 255, 255, .18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 12px 30px -10px rgba(0, 30, 110, .4);
}

/* Schaltflächen auf der Bühne: weißes Glas + Weiß als Hauptaktion */
html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) :is(.secondary-link, .secondary-button, .quiet-button, .action-menu > summary) {
  border: 1px solid rgba(255, 255, 255, .38);
  color: #fff;
  background: rgba(255, 255, 255, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 6px 16px -10px rgba(0, 30, 110, .5);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  backdrop-filter: blur(14px) saturate(160%);
}
html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) :is(.secondary-link, .secondary-button, .quiet-button, .action-menu > summary):hover {
  border-color: rgba(255, 255, 255, .6);
  color: #fff;
  background: rgba(255, 255, 255, .26);
}
html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) :is(.primary-link, .primary-button) {
  border: 0;
  color: var(--vf-blue-ink);
  background: linear-gradient(180deg, #ffffff 0%, #eef5ff 100%);
  box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(255, 255, 255, .6), 0 12px 28px -10px rgba(0, 30, 110, .55);
  font-weight: 700;
}
html[data-theme] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) :is(.primary-link, .primary-button):hover {
  color: var(--vf-blue-deep);
  background: #fff;
  box-shadow: inset 0 1px 0 #fff, 0 0 0 1px #fff, 0 18px 36px -12px rgba(0, 30, 110, .6);
}

/* Zurück-Link über der Bühne */
.dashboard-main > .back-link {
  justify-self: start;
  width: fit-content;
  margin-bottom: 14px;
  padding: 6px 13px 6px 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--vf-glass-line);
  border-radius: 999px;
  color: var(--vf-ink-2);
  background: var(--vf-glass);
  box-shadow: var(--vf-highlight), 0 1px 2px rgba(15, 27, 45, .05);
  -webkit-backdrop-filter: var(--vf-glass-blur);
  backdrop-filter: var(--vf-glass-blur);
  font-size: .8rem;
  font-weight: 600;
  text-decoration: none;
  transition: background-color .18s ease, color .18s ease;
}
.dashboard-main > .back-link:hover { color: var(--vf-blue); background: rgba(255, 255, 255, .9); }

/* Dunkelmodus: Bühne tiefer, gleiche Leuchtkraft */
html[data-theme="dark"] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) {
  border-color: rgba(140, 200, 255, .2);
  background:
    radial-gradient(70% 140% at 100% 0%, rgba(92, 180, 255, .7), transparent 55%),
    radial-gradient(60% 130% at 0% 100%, rgba(123, 108, 255, .6), transparent 60%),
    linear-gradient(135deg, #1a6fe8 0%, #0d4fc4 50%, #0a3592 100%);
}

/* --------------------------------------------------------------------------
   5 · Inhaltsflächen aus Glas
   -------------------------------------------------------------------------- */
html[data-theme] .dashboard-main :is(.data-panel, .finance-metrics article, .metric-card, .dashboard-access, .dashboard-alerts, .dashboard-kpi, .dashboard-metric, .work-side > *, .detail-stack > *) {
  border: 1px solid var(--vf-glass-line);
  border-radius: 22px;
  background: var(--vf-glass-strong);
  -webkit-backdrop-filter: var(--vf-glass-blur);
  backdrop-filter: var(--vf-glass-blur);
  box-shadow: var(--vf-highlight), 0 0 0 1px var(--vf-glass-edge), var(--vf-glass-shadow);
}
html[data-theme] .dashboard-main .data-panel .data-panel { box-shadow: var(--vf-highlight), 0 0 0 1px var(--vf-glass-edge); }
html[data-theme] .dashboard-main :is(.data-panel, .section-heading, .detail-stack) h2 { color: var(--vf-ink); }
html[data-theme] .dashboard-main .eyebrow { color: var(--vf-blue-ink); }
html[data-theme="dark"] .dashboard-main .eyebrow { color: var(--vf-sky); }

/* Licht folgt der Maus */
.vf-spot { position: relative; isolation: isolate; }
.vf-spot::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(440px circle at var(--mx, 50%) var(--my, 0%), rgba(92, 180, 255, .16), transparent 45%);
  transition: opacity .35s ease;
}
.vf-spot:hover::before { opacity: 1; }
.dashboard-main .vf-spot { transition: box-shadow .3s ease, transform .3s cubic-bezier(.2, .7, .2, 1); }
html[data-theme] .dashboard-main .data-panel.vf-spot:hover { box-shadow: var(--vf-highlight), 0 0 0 1px rgba(26, 124, 255, .14), var(--vf-glass-shadow-hover); }
html[data-theme] .dashboard-main .finance-metrics article.vf-spot:hover { transform: translateY(-3px); box-shadow: var(--vf-highlight), 0 0 0 1px rgba(26, 124, 255, .14), var(--vf-glass-shadow-hover); }

/* Kennzahlen */
.dashboard-main .finance-metrics article { overflow: hidden; }
html[data-theme] .dashboard-main .finance-metrics strong { color: var(--vf-ink); }
html[data-theme] .dashboard-main .finance-metrics span { color: var(--vf-muted); }
html[data-theme] .dashboard-main .finance-metrics .balance-metric { background: linear-gradient(150deg, rgba(234, 243, 255, .95), rgba(255, 255, 255, .8)) !important; }
html[data-theme] .dashboard-main .finance-metrics .balance-metric strong {
  background: linear-gradient(90deg, var(--vf-blue-deep), var(--vf-blue));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
html[data-theme] .dashboard-main .finance-metrics .balance-metric::after { background: radial-gradient(circle, rgba(92, 180, 255, .35), transparent 68%); }
html[data-theme] .dashboard-main .finance-metrics .metric-warning { background: linear-gradient(150deg, rgba(255, 244, 230, .95), rgba(255, 255, 255, .8)) !important; }
html[data-theme] .dashboard-main .finance-metrics .metric-warning strong { color: #c56a12; }
html[data-theme="dark"] .dashboard-main .finance-metrics .balance-metric { background: linear-gradient(150deg, rgba(26, 124, 255, .2), rgba(22, 32, 54, .7)) !important; }
html[data-theme="dark"] .dashboard-main .finance-metrics .balance-metric strong { background: linear-gradient(90deg, #a9d4ff, #5cb4ff); -webkit-background-clip: text; background-clip: text; }
html[data-theme="dark"] .dashboard-main .finance-metrics .metric-warning { background: linear-gradient(150deg, rgba(255, 160, 60, .14), rgba(22, 32, 54, .7)) !important; border-color: rgba(255, 180, 100, .25); }
html[data-theme="dark"] .dashboard-main .finance-metrics .metric-warning strong { color: #ffc27a; background: transparent; }

/* Tabellen */
html[data-theme] .dashboard-main .member-table thead th { color: #7a8aa1; border-color: rgba(15, 27, 45, .07); }
html[data-theme] .dashboard-main .member-table td { border-color: rgba(15, 27, 45, .06); }
html[data-theme] .dashboard-main .member-table tbody tr:hover { background: rgba(26, 124, 255, .045); }
html[data-theme] .dashboard-main .member-table tbody tr:hover td:first-child { box-shadow: inset 3px 0 0 var(--vf-blue); }
html[data-theme] .dashboard-main .member-table td:is([data-label="Mitgliedsnummer"], [data-label="Rechnung"]),
html[data-theme] .dashboard-main .member-table td:is([data-label="Mitgliedsnummer"], [data-label="Rechnung"]) a { color: var(--vf-ink-2); }
html[data-theme] .dashboard-main .member-table .record-avatar,
html[data-theme] .dashboard-main .member-table td > span[aria-hidden="true"]:first-child {
  color: var(--vf-blue-ink);
  background: linear-gradient(160deg, #eef5ff, #dbeaff);
}
html[data-theme="dark"] .dashboard-main .member-table thead th { color: #8091a9; border-color: rgba(255, 255, 255, .07); }
html[data-theme="dark"] .dashboard-main .member-table td { border-color: rgba(255, 255, 255, .05); }
html[data-theme="dark"] .dashboard-main .member-table tbody tr:hover { background: rgba(92, 180, 255, .06); }
html[data-theme="dark"] .dashboard-main .member-table td:is([data-label="Mitgliedsnummer"], [data-label="Rechnung"]),
html[data-theme="dark"] .dashboard-main .member-table td:is([data-label="Mitgliedsnummer"], [data-label="Rechnung"]) a { color: #cfdcee; }

/* Formulare und Filter */
html[data-theme] .dashboard-main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea) {
  border: 1px solid rgba(15, 27, 45, .1);
  border-radius: 11px;
  color: var(--vf-ink);
  background: rgba(255, 255, 255, .8);
  box-shadow: inset 0 1px 2px rgba(15, 27, 45, .04);
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
html[data-theme] .dashboard-main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea):focus {
  border-color: rgba(26, 124, 255, .55);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(26, 124, 255, .14);
  outline: 0;
}
html[data-theme="dark"] .dashboard-main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea) {
  color-scheme: dark;
  border-color: rgba(255, 255, 255, .1);
  color: #eaf1fb;
  background: rgba(255, 255, 255, .05);
}
html[data-theme="dark"] .dashboard-main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea):focus { border-color: rgba(92, 180, 255, .6); background: rgba(255, 255, 255, .08); box-shadow: 0 0 0 4px rgba(92, 180, 255, .16); }
html[data-theme] .dashboard-main :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--vf-blue); }

/* Schaltflächen im Inhalt */
html[data-theme] .dashboard-main :is(.primary-link, .primary-button) {
  border: 0;
  color: #fff;
  background: linear-gradient(180deg, #3b95ff 0%, #1a6fe8 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 1px 2px rgba(11, 60, 160, .3), 0 8px 20px -8px rgba(26, 110, 240, .6);
}
html[data-theme] .dashboard-main :is(.primary-link, .primary-button):hover { color: #fff; background: linear-gradient(180deg, #4aa0ff 0%, #1466ec 100%); transform: translateY(-1px); }
html[data-theme] .dashboard-main :is(.secondary-link, .secondary-button) {
  border: 1px solid rgba(15, 27, 45, .1);
  color: var(--vf-ink);
  background: rgba(255, 255, 255, .78);
  box-shadow: var(--vf-highlight), 0 1px 2px rgba(15, 27, 45, .05);
}
html[data-theme] .dashboard-main :is(.secondary-link, .secondary-button):hover { border-color: rgba(26, 124, 255, .35); color: var(--vf-blue-ink); background: #fff; }
html[data-theme="dark"] .dashboard-main :is(.secondary-link, .secondary-button) { border-color: rgba(255, 255, 255, .1); color: #e2ebf7; background: rgba(255, 255, 255, .06); }
html[data-theme="dark"] .dashboard-main :is(.secondary-link, .secondary-button):hover { border-color: rgba(92, 180, 255, .4); color: #fff; background: rgba(255, 255, 255, .1); }
/* Glanzstreifen über Hauptaktionen */
.dashboard-main :is(.primary-link, .primary-button) { position: relative; overflow: hidden; }
.dashboard-main :is(.primary-link, .primary-button)::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .5) 50%, transparent 65%);
  transform: translateX(-120%);
  transition: transform .7s cubic-bezier(.2, .7, .2, 1);
}
.dashboard-main :is(.primary-link, .primary-button):hover::after { transform: translateX(120%); }

/* Aufklappmenüs aus Glas */
html[data-theme] .action-menu-list {
  border: 1px solid var(--vf-glass-line);
  background: rgba(255, 255, 255, .82);
  -webkit-backdrop-filter: var(--vf-glass-blur);
  backdrop-filter: var(--vf-glass-blur);
  box-shadow: var(--vf-highlight), 0 0 0 1px var(--vf-glass-edge), 0 24px 50px -16px rgba(28, 64, 120, .35);
}
html[data-theme] .action-menu-list a { color: var(--vf-ink); }
html[data-theme] .action-menu-list a:hover { color: #fff; background: var(--vf-blue); }
html[data-theme="dark"] .action-menu-list { background: rgba(20, 30, 50, .85); }

/* Statusmarken: freundlicher, leicht glasig */
html[data-theme] .dashboard-main .status-pill { box-shadow: inset 0 0 0 1px rgba(15, 27, 45, .05); }

/* --------------------------------------------------------------------------
   6 · Dashboard: Begrüßung auf der Bühne
   -------------------------------------------------------------------------- */
html[data-theme] body.dashboard-page .dashboard-main .dashboard-hero.dashboard-hero--command,
html[data-theme] .dashboard-main .dashboard-hero {
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 30px;
  color: #fff;
  background:
    radial-gradient(55% 110% at 92% 0%, rgba(120, 200, 255, .9), transparent 58%),
    radial-gradient(50% 100% at 0% 100%, rgba(110, 90, 255, .72), transparent 60%),
    radial-gradient(30% 55% at 60% 122%, rgba(255, 170, 130, .5), transparent 70%),
    linear-gradient(135deg, #1f84ff 0%, #0f5fe6 48%, #0a45bd 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 40px 80px -40px rgba(11, 79, 200, .7), 0 14px 28px -18px rgba(11, 60, 160, .45);
}
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-hero.dashboard-hero--command {
  border-color: rgba(140, 200, 255, .22);
  background:
    radial-gradient(60% 110% at 92% 0%, rgba(92, 180, 255, .75), transparent 58%),
    radial-gradient(55% 100% at 0% 100%, rgba(123, 108, 255, .65), transparent 60%),
    linear-gradient(135deg, #1a6fe8 0%, #0d4fc4 50%, #0a3592 100%);
}
html[data-theme] body.dashboard-page .dashboard-main .dashboard-hero::before {
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255, 255, 255, .2) 0%, rgba(255, 255, 255, .04) 40%, transparent 58%), var(--vf-noise-soft);
  background-size: auto, 160px 160px;
  -webkit-mask-image: none;
  mask-image: none;
  animation: none;
  opacity: 1;
}
html[data-theme] body.dashboard-page .dashboard-main .dashboard-hero::after {
  z-index: -1;
  inset: 0;
  right: 0;
  bottom: 0;
  width: auto;
  height: auto;
  border: 0;
  border-radius: inherit;
  opacity: 1;
  background:
    radial-gradient(circle at var(--vf-orb-x, 82%) 26%, rgba(255, 255, 255, .45) 0, rgba(255, 255, 255, .12) 5%, transparent 11%),
    radial-gradient(circle at 46% 108%, rgba(255, 255, 255, .25) 0, transparent 16%);
  animation: vf-stage-orbs 16s ease-in-out infinite alternate;
  transform: none;
}
html[data-theme] body.dashboard-page .dashboard-main .dashboard-hero .dashboard-ambient { opacity: .25; }
html[data-theme] body.dashboard-page .dashboard-main .dashboard-hero h1 {
  color: #fff;
  background: none;
  -webkit-text-fill-color: #fff;
  text-shadow: 0 2px 2px rgba(0, 30, 100, .12), 0 16px 40px rgba(0, 30, 100, .25);
  font-size: clamp(2.5rem, 4vw, 3.8rem);
  font-weight: 760;
  padding-bottom: .1em;
  margin-bottom: -.1em;
}
html[data-theme] body.dashboard-page .dashboard-main .dashboard-hero .dashboard-eyebrow {
  width: fit-content;
  padding: 5px 12px 5px 10px;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
html[data-theme] body.dashboard-page .dashboard-main .dashboard-hero .dashboard-eyebrow i { background: #fff; box-shadow: 0 0 0 3px rgba(255, 255, 255, .25), 0 0 10px #fff; }
html[data-theme] body.dashboard-page .dashboard-main .dashboard-hero-copy > p { color: rgba(255, 255, 255, .88); }
html[data-theme] body.dashboard-page .dashboard-main .dashboard-live-grid {
  border: 1px solid rgba(255, 255, 255, .34);
  background: rgba(255, 255, 255, .14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 16px 34px -18px rgba(0, 30, 110, .55);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  backdrop-filter: blur(18px) saturate(160%);
}
html[data-theme] body.dashboard-page .dashboard-main .dashboard-live-grid > span { border-color: rgba(255, 255, 255, .2); background: transparent; }
html[data-theme] body.dashboard-page .dashboard-main .dashboard-live-grid small { color: rgba(255, 255, 255, .75); }
html[data-theme] body.dashboard-page .dashboard-main .dashboard-live-grid strong { color: #fff; font-size: 1.05rem; }
html[data-theme] body.dashboard-page .dashboard-main .dashboard-live-grid .is-live i { background: #7dffc4; box-shadow: 0 0 0 4px rgba(125, 255, 196, .25), 0 0 12px #7dffc4; }
html[data-theme] body.dashboard-page .dashboard-main .dashboard-hero-cora {
  border: 1px solid rgba(255, 255, 255, .4);
  background: linear-gradient(160deg, rgba(255, 255, 255, .3), rgba(255, 255, 255, .1));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 24px 50px -24px rgba(0, 30, 110, .6);
  -webkit-backdrop-filter: blur(20px) saturate(170%);
  backdrop-filter: blur(20px) saturate(170%);
}
html[data-theme] body.dashboard-page .dashboard-main .dashboard-hero-cora small,
html[data-theme] body.dashboard-page .dashboard-main .dashboard-hero-cora > div > .dashboard-cora-signal { color: #fff; }
html[data-theme] body.dashboard-page .dashboard-main .dashboard-hero-cora strong { color: #fff; }
html[data-theme] body.dashboard-page .dashboard-main .dashboard-hero-cora > div > span { color: rgba(255, 255, 255, .85); }
html[data-theme] body.dashboard-page .dashboard-main .dashboard-cora-orbit { border-color: rgba(255, 255, 255, .35); }
html[data-theme] body.dashboard-page .dashboard-main .dashboard-hero .primary-link {
  color: var(--vf-blue-ink);
  background: linear-gradient(180deg, #fff, #eef5ff);
  box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(255, 255, 255, .6), 0 14px 32px -10px rgba(0, 30, 110, .6);
  font-weight: 700;
}
html[data-theme] body.dashboard-page .dashboard-main .dashboard-hero .primary-link:hover { color: var(--vf-blue-deep); background: #fff; }

/* Cora-Kugel in Markenfarben */
html[data-theme] .cora-orb { --orb-a: #8fd3ff; --orb-b: #3d8bff; --orb-c: #7b6cff; --orb-core: #f2f8ff; }

/* --------------------------------------------------------------------------
   7 · Auftritt, Ladebalken
   -------------------------------------------------------------------------- */
.vf-rise { animation: vf-rise .6s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--i, 0) * 55ms); }
@keyframes vf-rise { from { opacity: 0; transform: translateY(12px) scale(.995); } to { opacity: 1; transform: none; } }
.vf-progress {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  height: 3px;
  width: 0;
  pointer-events: none;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(90deg, var(--vf-violet), var(--vf-blue), var(--vf-sky));
  box-shadow: 0 0 12px rgba(26, 124, 255, .7);
  opacity: 0;
}
html.vf-navigating .vf-progress { opacity: 1; animation: vf-progress 6s cubic-bezier(.1, .7, .2, 1) forwards; }
@keyframes vf-progress { 0% { width: 0; } 20% { width: 45%; } 100% { width: 92%; } }

/* --------------------------------------------------------------------------
   8 · Schnellzugriff (⌘K / Strg+K) – wie Spotlight
   -------------------------------------------------------------------------- */
.vf-palette[hidden] { display: none; }
.vf-palette {
  position: fixed;
  z-index: 10000;
  inset: 0;
  padding: min(14vh, 120px) 16px 16px;
  display: grid;
  justify-items: center;
  align-items: start;
  background: rgba(15, 27, 45, .18);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  animation: vf-fade .16s ease;
}
.vf-palette-box {
  width: min(640px, 100%);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 20px;
  color: var(--vf-ink);
  background: rgba(255, 255, 255, .78);
  -webkit-backdrop-filter: blur(40px) saturate(190%);
  backdrop-filter: blur(40px) saturate(190%);
  box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(15, 27, 45, .08), 0 40px 100px -20px rgba(15, 40, 90, .45);
  animation: vf-pop .2s cubic-bezier(.2, .7, .2, 1);
}
.vf-palette-input { padding: 16px 18px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid rgba(15, 27, 45, .07); }
.vf-palette-input .vf-icon { width: 20px; height: 20px; color: var(--vf-blue); }
html[data-theme] body .vf-palette .vf-palette-input input {
  flex: 1;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  outline: 0;
  color: var(--vf-ink) !important;
  background: transparent !important;
  box-shadow: none !important;
  font: 500 1.08rem/1.4 var(--vf-font);
}
.vf-palette-input input::placeholder { color: #93a1b5; }
.vf-palette-input kbd, .vf-palette-foot kbd {
  padding: 2px 6px;
  border: 1px solid rgba(15, 27, 45, .12);
  border-radius: 6px;
  color: var(--vf-muted);
  background: rgba(255, 255, 255, .8);
  font: 600 .68rem/1.4 var(--vf-font);
}
.vf-palette-list { max-height: min(56vh, 460px); margin: 0; padding: 8px; overflow-y: auto; list-style: none; }
.vf-palette-group { padding: 10px 10px 4px; color: #8593a8; font-size: .66rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.vf-palette-item { padding: 10px; display: flex; align-items: center; gap: 12px; border-radius: 11px; color: var(--vf-ink-2); font-size: .92rem; cursor: pointer; }
.vf-palette-item .vf-icon { width: 18px; height: 18px; color: #7b8ba3; }
.vf-palette-item small { margin-left: auto; color: #8593a8; font-size: .72rem; }
.vf-palette-item[aria-selected="true"] { color: #fff; background: linear-gradient(180deg, #3b95ff, #1a6fe8); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 6px 16px -8px rgba(26, 110, 240, .7); }
.vf-palette-item[aria-selected="true"] :is(.vf-icon, small, mark) { color: #fff; }
.vf-palette-item mark { color: var(--vf-blue); background: none; font-weight: 700; }
.vf-palette-empty { padding: 26px; color: var(--vf-muted); text-align: center; font-size: .9rem; }
.vf-palette-foot { padding: 10px 16px; display: flex; gap: 16px; border-top: 1px solid rgba(15, 27, 45, .07); color: #8593a8; font-size: .72rem; }
.vf-palette-foot span { display: inline-flex; align-items: center; gap: 6px; }
html[data-theme="dark"] .vf-palette { background: rgba(0, 0, 0, .35); }
html[data-theme="dark"] .vf-palette-box { border-color: rgba(255, 255, 255, .1); color: #eaf1fb; background: rgba(22, 32, 54, .78); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 40px 100px -20px rgba(0, 0, 0, .7); }
html[data-theme="dark"] .vf-palette-input { border-color: rgba(255, 255, 255, .07); }
html[data-theme="dark"] body .vf-palette .vf-palette-input input { color: #fff !important; color-scheme: dark; }
html[data-theme="dark"] .vf-palette-item { color: #c3cfdf; }
html[data-theme="dark"] :is(.vf-palette-input kbd, .vf-palette-foot kbd) { border-color: rgba(255, 255, 255, .14); color: #a8b7cc; background: rgba(255, 255, 255, .05); }
html[data-theme="dark"] .vf-palette-foot { border-color: rgba(255, 255, 255, .07); }
@keyframes vf-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes vf-pop { from { opacity: 0; transform: translateY(-8px) scale(.98); } to { opacity: 1; transform: none; } }

/* --------------------------------------------------------------------------
   9 · Anmeldung: hell, freundlich, Glas
   -------------------------------------------------------------------------- */
html[data-theme] body.auth-page {
  color: var(--vf-ink);
  background:
    radial-gradient(50rem 38rem at 12% 10%, rgba(92, 180, 255, .55), transparent 62%),
    radial-gradient(44rem 34rem at 92% 22%, rgba(123, 108, 255, .32), transparent 62%),
    radial-gradient(46rem 32rem at 60% 110%, rgba(255, 180, 140, .4), transparent 62%),
    linear-gradient(180deg, #f6f9fe, #edf2fa);
  background-attachment: fixed;
}
html[data-theme] body.auth-page .auth-shell,
html[data-theme] body.auth-page .auth-shell--glass { background: transparent; }
html[data-theme] body.auth-page .auth-shell--glass::before { display: none; }
html[data-theme] body.auth-page .login-glow-one { background: radial-gradient(circle, rgba(26, 124, 255, .45), transparent 65%); }
html[data-theme] body.auth-page .login-glow-two { background: radial-gradient(circle, rgba(123, 108, 255, .35), transparent 65%); }
html[data-theme] body.auth-page .login-glow-three { background: radial-gradient(circle, rgba(255, 170, 130, .4), transparent 65%); }
html[data-theme] body.auth-page .login-orbit { border-color: rgba(26, 124, 255, .14); }
html[data-theme] body.auth-page .auth-shell--glass .auth-brand { color: var(--vf-ink); background: transparent; box-shadow: none; border: 0; }
html[data-theme] body.auth-page .auth-shell--glass .auth-brand::before,
html[data-theme] body.auth-page .auth-shell--glass .auth-brand::after { display: none; }
html[data-theme] body.auth-page .login-brand-mark { width: 60px; height: 60px; padding: 0; border-radius: 16px; background: none; box-shadow: 0 16px 30px -10px rgba(11, 91, 224, .55), 0 2px 6px rgba(15, 27, 45, .15); }
html[data-theme] body.auth-page .login-brand-mark::before,
html[data-theme] body.auth-page .login-brand-mark::after { border-color: rgba(26, 124, 255, .22); border-radius: 22px; }
html[data-theme] body.auth-page .login-brand-identity > div:last-child { display: grid; gap: 3px; }
html[data-theme] body.auth-page .login-brand-identity strong { color: var(--vf-ink); font-size: 1.18rem; font-weight: 760; }
html[data-theme] body.auth-page .login-brand-identity strong em { background: linear-gradient(90deg, var(--vf-blue), var(--vf-sky)); -webkit-background-clip: text; background-clip: text; color: transparent; font-style: normal; }
html[data-theme] body.auth-page .login-brand-identity .vf-by { text-transform: none; }
html[data-theme] body.auth-page .login-live-status {
  border: 1px solid var(--vf-glass-line);
  color: var(--vf-ink-2);
  background: var(--vf-glass);
  box-shadow: var(--vf-highlight), 0 4px 12px -6px rgba(28, 64, 120, .25);
  -webkit-backdrop-filter: var(--vf-glass-blur);
  backdrop-filter: var(--vf-glass-blur);
}
html[data-theme] body.auth-page .login-live-status i { background: #22c38e; box-shadow: 0 0 0 4px rgba(34, 195, 142, .18); }
html[data-theme] body.auth-page .auth-shell--glass .login-brand-copy .eyebrow { color: var(--vf-blue-ink); }
html[data-theme] body.auth-page .auth-shell--glass .login-brand-copy h1 { color: var(--vf-ink); text-shadow: none; font-weight: 780; }
html[data-theme] body.auth-page .login-brand-copy h1 em {
  background: linear-gradient(90deg, #1a6fe8 0%, #5cb4ff 50%, #7b6cff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  padding-bottom: .1em;
}
html[data-theme] body.auth-page .auth-shell--glass .login-brand-copy p { color: var(--vf-ink-2); }
html[data-theme] body.auth-page .login-highlights span,
html[data-theme] body.auth-page .auth-shell--glass .login-trust-note {
  border: 1px solid var(--vf-glass-line);
  color: var(--vf-ink-2);
  background: var(--vf-glass);
  box-shadow: var(--vf-highlight), 0 8px 20px -12px rgba(28, 64, 120, .3);
  -webkit-backdrop-filter: var(--vf-glass-blur);
  backdrop-filter: var(--vf-glass-blur);
}
html[data-theme] body.auth-page .login-highlights .vf-icon { color: var(--vf-blue); }
html[data-theme] body.auth-page .auth-shell--glass .login-trust-note > span { color: #fff; background: linear-gradient(145deg, var(--vf-sky), var(--vf-blue-deep)); }
html[data-theme] body.auth-page .login-trust-note strong { color: var(--vf-ink); }
html[data-theme] body.auth-page .login-trust-note small { color: var(--vf-muted); }
html[data-theme] body.auth-page .login-panel { background: transparent; border: 0; box-shadow: none; }
html[data-theme] body.auth-page .auth-card,
html[data-theme] body.auth-page .auth-shell--glass .login-glass-card {
  border: 1px solid rgba(255, 255, 255, .85);
  border-radius: 30px;
  color: var(--vf-ink);
  background: linear-gradient(160deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .55));
  -webkit-backdrop-filter: blur(40px) saturate(190%);
  backdrop-filter: blur(40px) saturate(190%);
  box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(15, 27, 45, .05), 0 40px 90px -30px rgba(28, 64, 140, .45);
}
html[data-theme] body.auth-page .auth-shell--glass .login-glass-card::before,
html[data-theme] body.auth-page .auth-shell--glass .login-glass-card::after { display: none; }
html[data-theme] body.auth-page .auth-card :is(h1, h2) { color: var(--vf-ink); }
html[data-theme] body.auth-page .auth-card :is(.intro, p) { color: var(--vf-ink-2); }
html[data-theme] body.auth-page .auth-card :is(label, form p) { color: var(--vf-ink-2); font-weight: 650; }
html[data-theme] body.auth-page .login-card-kicker > span { color: #fff; background: linear-gradient(145deg, var(--vf-sky), var(--vf-blue-deep)); border: 0; box-shadow: 0 8px 18px -8px rgba(11, 91, 224, .6); }
html[data-theme] body.auth-page .login-card-kicker small { color: var(--vf-blue-ink); }
html[data-theme] body.auth-page .login-card-kicker strong { color: var(--vf-ink); }
html[data-theme] body.auth-page .auth-card input {
  color-scheme: light;
  border: 1px solid rgba(15, 27, 45, .1);
  color: var(--vf-ink);
  background: rgba(255, 255, 255, .85);
  box-shadow: inset 0 1px 2px rgba(15, 27, 45, .04);
}
html[data-theme] body.auth-page .auth-card input:focus { border-color: rgba(26, 124, 255, .6); background: #fff; box-shadow: 0 0 0 4px rgba(26, 124, 255, .15); }
html[data-theme] body.auth-page .login-field > span { color: #7b8ba3; }
html[data-theme] body.auth-page .auth-card button[type="submit"],
html[data-theme] body.auth-page .auth-card .primary-button {
  border: 0;
  color: #fff;
  background: linear-gradient(180deg, #3b95ff 0%, #1a6fe8 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 14px 30px -12px rgba(26, 110, 240, .75);
}
html[data-theme] body.auth-page .auth-card button[type="submit"]:hover { background: linear-gradient(180deg, #4aa0ff 0%, #1466ec 100%); }
html[data-theme] body.auth-page .auth-card button[type="submit"] i { color: var(--vf-blue-deep); background: #fff; }
html[data-theme] body.auth-page .login-help { border-color: rgba(15, 27, 45, .07); }
html[data-theme] body.auth-page .login-help > span { color: var(--vf-blue-ink); background: var(--vf-ice); border: 0; }
html[data-theme] body.auth-page .login-help p { color: var(--vf-muted); }
html[data-theme] body.auth-page .login-help strong { color: var(--vf-ink-2); }
html[data-theme] body.auth-page .login-panel-note { color: var(--vf-muted); }
html[data-theme] body.auth-page .login-panel-note > span:first-child { background: #22c38e; }
html[data-theme] body.auth-page .mobile-brand strong { color: var(--vf-ink); }
html[data-theme] body.auth-page .form-alert { border-color: rgba(220, 70, 70, .25); color: #a12c2c; background: rgba(255, 235, 235, .8); }
html[data-theme] body.auth-page .global-theme-toggle { border: 1px solid var(--vf-glass-line); color: var(--vf-ink); background: var(--vf-glass); -webkit-backdrop-filter: var(--vf-glass-blur); backdrop-filter: var(--vf-glass-blur); }
html[data-theme] body.auth-page .brand-mark:has(> .vf-mark-img) { padding: 0; background: none; box-shadow: 0 10px 22px -8px rgba(11, 91, 224, .55); }

/* Anmeldung dunkel */
html[data-theme="dark"] body.auth-page {
  background:
    radial-gradient(50rem 38rem at 12% 10%, rgba(26, 124, 255, .4), transparent 62%),
    radial-gradient(44rem 34rem at 92% 22%, rgba(123, 108, 255, .28), transparent 62%),
    linear-gradient(180deg, #070b14, #050810);
}
html[data-theme="dark"] body.auth-page .auth-card,
html[data-theme="dark"] body.auth-page .auth-shell--glass .login-glass-card { border-color: rgba(255, 255, 255, .1); background: linear-gradient(160deg, rgba(30, 42, 68, .7), rgba(16, 24, 40, .6)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 40px 90px -30px rgba(0, 0, 0, .8); }
html[data-theme="dark"] body.auth-page .auth-card input { color-scheme: dark; border-color: rgba(255, 255, 255, .12); color: #fff; background: rgba(255, 255, 255, .06); }
html[data-theme="dark"] body.auth-page .auth-card input:focus { background: rgba(255, 255, 255, .09); }
html[data-theme="dark"] body.auth-page :is(.login-highlights span, .login-trust-note, .login-live-status) { border-color: rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .05); }

/* Altes VF-Kästchen: neues Zeichen ohne Hintergrund */
.brand-mark:has(> .vf-mark-img) { padding: 0; overflow: hidden; background: none !important; color: transparent; }
.brand-mark:has(> .vf-mark-img) > .vf-mark-img { width: 100%; height: 100%; }

/* --------------------------------------------------------------------------
   10 · Smartphone
   -------------------------------------------------------------------------- */
@media (max-width: 800px) {
  html[data-theme] body.dashboard-page .dashboard-sidebar { background: rgba(255, 255, 255, .72); }
  html[data-theme="dark"] body.dashboard-page .dashboard-sidebar { background: rgba(12, 18, 32, .82); }
  html[data-theme] body.dashboard-page .dashboard-nav a { border: 1px solid var(--vf-glass-line); background: rgba(255, 255, 255, .6); }
  html[data-theme] body.dashboard-page .dashboard-nav a.is-active { color: #fff; background: linear-gradient(180deg, #3b95ff, #1a6fe8); box-shadow: 0 6px 16px -6px rgba(26, 110, 240, .7); }
  html[data-theme="dark"] body.dashboard-page .dashboard-nav a { background: rgba(255, 255, 255, .05); }
  html[data-theme] body.dashboard-page .dashboard-nav a::after { display: none; }
  .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .bank-heading) { border-radius: 22px; }
  .vf-kbd-hint { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .vf-rise, .vf-palette, .vf-palette-box { animation: none !important; }
  .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .bank-heading, .dashboard-hero)::after { animation: none !important; }
  html.vf-navigating .vf-progress { animation: none; width: 60%; }
  .dashboard-main :is(.primary-link, .primary-button)::after { display: none; }
}
@media print {
  .dashboard-sidebar, .dashboard-topbar, .vf-palette, .vf-progress { display: none !important; }
  .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .bank-heading) { color: #000; background: none; box-shadow: none; border: 1px solid #ccc; }
  .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .bank-heading) :is(h1, p, small) { color: #000 !important; -webkit-text-fill-color: #000; text-shadow: none; }
}

/* --------------------------------------------------------------------------
   11 · Dashboard-Bausteine in Markenfarben und Glas
   -------------------------------------------------------------------------- */
html[data-theme] body.dashboard-page .dashboard-main :is(.dashboard-panel, .dashboard-rolebar, .cora-alert-strip, .dashboard-metrics > *) {
  border: 1px solid var(--vf-glass-line);
  border-radius: 22px;
  background: var(--vf-glass-strong);
  -webkit-backdrop-filter: var(--vf-glass-blur);
  backdrop-filter: var(--vf-glass-blur);
  box-shadow: var(--vf-highlight), 0 0 0 1px var(--vf-glass-edge), var(--vf-glass-shadow);
}
html[data-theme] body.dashboard-page .dashboard-main .cora-alert-card { border: 1px solid var(--vf-glass-line); background: rgba(255, 255, 255, .85); box-shadow: var(--vf-highlight), 0 1px 2px rgba(15, 27, 45, .05); }
html[data-theme] body.dashboard-page .dashboard-main :is(.cora-alert-mark, .dashboard-role-symbol) {
  color: #fff;
  background: linear-gradient(145deg, var(--vf-sky), var(--vf-blue-deep));
  border-color: transparent;
  box-shadow: 0 8px 18px -8px rgba(11, 91, 224, .6);
}
html[data-theme] body.dashboard-page .dashboard-main .dashboard-role-pill { border-color: rgba(26, 124, 255, .2); color: var(--vf-blue-ink); background: rgba(234, 243, 255, .9); }
html[data-theme] body.dashboard-page .dashboard-main :is(.dashboard-panel-heading a, .cora-alert-strip a) { color: var(--vf-blue-ink); }
html[data-theme] body.dashboard-page .dashboard-main .metric-icon { color: var(--vf-blue); background: linear-gradient(160deg, #eef5ff, #dbeaff); border-color: rgba(26, 124, 255, .15); }
html[data-theme] body.dashboard-page .dashboard-main .metric-icon.is-green { color: #0f9f74; background: linear-gradient(160deg, #eafbf4, #d3f5e7); }
html[data-theme] body.dashboard-page .dashboard-main .metric-icon.is-warn { color: #c56a12; background: linear-gradient(160deg, #fff6ea, #ffe8cc); }
html[data-theme] body.dashboard-page .dashboard-main .dashboard-metrics strong { color: var(--vf-ink); }
html[data-theme="dark"] body.dashboard-page .dashboard-main .cora-alert-card { border-color: rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .04); }
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-role-pill { color: #cfe6ff; background: rgba(26, 124, 255, .15); }
html[data-theme="dark"] body.dashboard-page .dashboard-main .metric-icon { color: var(--vf-sky); background: rgba(92, 180, 255, .12); }

/* Cora-Kugel in Markenfarben, auch in aktiven Zuständen */
html[data-theme] .cora-orb,
html[data-theme] .cora-orb:is(.is-active, .is-thinking) { --orb-a: #9ad8ff; --orb-b: #3d8bff; --orb-c: #8a7bff; --orb-core: #f3f9ff; }

/* Anmeldung: Hinweis „Ein Produkt von Varevor“ */
html[data-theme] body.auth-page .login-panel-note { flex-wrap: wrap; row-gap: 4px; color: var(--vf-muted); }
html[data-theme] body.auth-page .login-panel-note .vf-by { width: auto; height: auto; border-radius: 0; background: none; box-shadow: none; white-space: nowrap; font-size: inherit; }
html[data-theme] body.auth-page .login-brand-identity .vf-by { color: var(--vf-muted); font-size: .7rem; }
html[data-theme] .cora-orb {
  border-color: rgba(220, 238, 255, .8);
  background:
    radial-gradient(circle at 35% 27%, rgba(255, 255, 255, .96) 0 4%, transparent 18%),
    radial-gradient(circle at 50% 55%, color-mix(in srgb, var(--orb-a) 72%, transparent), transparent 63%),
    #0f2a5c;
}
html[data-theme] .cora-orb.is-warning { --orb-a: #ffd56a; --orb-b: #ffa94d; --orb-c: #7b9bff; }
html[data-theme] .cora-orb.is-urgent { --orb-a: #ff9e62; --orb-b: #ff596f; --orb-c: #9b6cff; }

/* --------------------------------------------------------------------------
   12 · Letzte grüne Reste auf Markenfarben
   -------------------------------------------------------------------------- */
/* Hauptaktionen auf Anmelde- und Sicherheitsseiten */
html[data-theme] body.auth-page .auth-card :is(.primary-link, .primary-button) {
  border: 0;
  color: #fff;
  background: linear-gradient(180deg, #3b95ff 0%, #1a6fe8 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 12px 26px -12px rgba(26, 110, 240, .7);
}
html[data-theme] body.auth-page .auth-card :is(.primary-link, .primary-button):hover { color: #fff; background: linear-gradient(180deg, #4aa0ff 0%, #1466ec 100%); }
html[data-theme] body.auth-page .auth-card :is(.eyebrow, .mfa-kicker) { color: var(--vf-blue-ink); }
html[data-theme] body.auth-page .auth-card a:not(.primary-link):not(.secondary-link) { color: var(--vf-blue-ink); }

/* Schaltfläche „Cora fragen“ in eigenen Kopfleisten */
html[data-theme] body.dashboard-page .dashboard-topbar :is(.primary-button, .primary-link) {
  border: 1px solid rgba(26, 124, 255, .18);
  color: var(--vf-blue-ink);
  background: linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(234, 243, 255, .9));
  box-shadow: var(--vf-highlight), 0 4px 12px -6px rgba(26, 124, 255, .4);
}
html[data-theme="dark"] body.dashboard-page .dashboard-topbar :is(.primary-button, .primary-link) { border-color: rgba(92, 180, 255, .25); color: #cfe6ff; background: rgba(26, 124, 255, .16); }

/* Bankabgleich */
html[data-theme] body.dashboard-page .bank-primary { color: var(--vf-blue-ink); background: linear-gradient(180deg, #fff, #eef5ff); box-shadow: inset 0 1px 0 #fff, 0 10px 24px -10px rgba(0, 30, 110, .5); }
html[data-theme] body.dashboard-page .dashboard-main :not(.bank-heading) > .bank-primary { color: #fff; background: linear-gradient(180deg, #3b95ff, #1a6fe8); }

/* Datenraster auf Detailseiten: Glas statt Grünstich */
html[data-theme] body.dashboard-page .info-grid { border-color: rgba(15, 27, 45, .07); background: rgba(15, 27, 45, .06); box-shadow: var(--vf-highlight); }
html[data-theme] body.dashboard-page .info-grid div { background: rgba(255, 255, 255, .72); }
html[data-theme] body.dashboard-page .info-grid a { color: var(--vf-blue-ink); }
html[data-theme="dark"] body.dashboard-page .info-grid { border-color: rgba(255, 255, 255, .07); background: rgba(255, 255, 255, .07); }
html[data-theme="dark"] body.dashboard-page .info-grid div { background: rgba(16, 24, 40, .7); }

/* Allgemeine Links im Inhalt in Markenblau */
html[data-theme] body.dashboard-page .dashboard-main a:not([class]):not(.action-menu-list a) { color: var(--vf-blue-ink); }
html[data-theme="dark"] body.dashboard-page .dashboard-main a:not([class]) { color: var(--vf-sky); }

/* Bankabgleich-Kopf: Kennung und Aktion lesbar */
html[data-theme] body.dashboard-page .dashboard-main .bank-heading .bank-primary { color: var(--vf-blue-ink) !important; }
html[data-theme] body.dashboard-page .dashboard-main .bank-heading .bank-eyebrow {
  width: fit-content;
  padding: 5px 11px;
  display: inline-flex;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, .16);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Schwebende Cora-Schaltfläche in Markenblau */
html[data-theme] .cora-launcher {
  border: 1px solid rgba(255, 255, 255, .4);
  color: #fff;
  background: linear-gradient(160deg, #3b95ff 0%, #1a6fe8 60%, #0b4fc8 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 16px 34px -12px rgba(26, 110, 240, .7);
}
html[data-theme] .cora-launcher small { color: rgba(255, 255, 255, .8); }
html[data-theme] .cora-launcher:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 22px 44px -12px rgba(26, 110, 240, .8); }

/* --------------------------------------------------------------------------
   13 · Hinweis „Update gestartet“ im Programm
   -------------------------------------------------------------------------- */
html[data-theme] .maintenance-guard {
  background: rgba(15, 27, 45, .22);
  -webkit-backdrop-filter: blur(10px) saturate(160%);
  backdrop-filter: blur(10px) saturate(160%);
}
html[data-theme] .maintenance-guard-card {
  border: 1px solid rgba(255, 255, 255, .85);
  border-radius: 24px;
  color: var(--vf-ink);
  background: linear-gradient(160deg, rgba(255, 255, 255, .86), rgba(255, 255, 255, .62));
  -webkit-backdrop-filter: blur(36px) saturate(190%);
  backdrop-filter: blur(36px) saturate(190%);
  box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(15, 27, 45, .05), 0 40px 90px -30px rgba(28, 64, 140, .5);
}
html[data-theme] .maintenance-guard-card > .vf-guard-mark {
  position: relative;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 0;
  border-radius: 15px;
  background: none;
  box-shadow: 0 12px 26px -10px rgba(11, 91, 224, .65);
}
.vf-guard-mark img { display: block; width: 100%; height: 100%; border-radius: inherit; }
.vf-guard-mark::after {
  content: "";
  position: absolute;
  inset: -6px;
  border: 2px solid rgba(26, 124, 255, .45);
  border-radius: 20px;
  animation: vf-guard-ping 1.8s cubic-bezier(.2, .7, .2, 1) infinite;
}
@keyframes vf-guard-ping { from { opacity: .9; transform: scale(.92); } to { opacity: 0; transform: scale(1.25); } }
html[data-theme] .maintenance-guard-card strong { color: var(--vf-ink); }
html[data-theme] .maintenance-guard-card small { color: var(--vf-ink-2); }
html[data-theme="dark"] .maintenance-guard { background: rgba(0, 0, 0, .4); }
html[data-theme="dark"] .maintenance-guard-card { border-color: rgba(255, 255, 255, .1); background: linear-gradient(160deg, rgba(30, 42, 68, .82), rgba(16, 24, 40, .72)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 40px 90px -30px rgba(0, 0, 0, .8); }
@media (prefers-reduced-motion: reduce) { .vf-guard-mark::after { animation: none; opacity: .5; } }

/* --------------------------------------------------------------------------
   14 · Dunkelmodus: Bühne als dunkles, von innen leuchtendes Glas
   (statt hellem Blauverlauf – fügt sich in Seitenleiste und Karten ein)
   -------------------------------------------------------------------------- */
html[data-theme="dark"] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading),
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-hero.dashboard-hero--command {
  border: 1px solid rgba(140, 190, 255, .16);
  background:
    radial-gradient(60% 120% at 100% 0%, rgba(26, 124, 255, .34), transparent 60%),
    radial-gradient(50% 110% at 0% 100%, rgba(123, 108, 255, .24), transparent 62%),
    radial-gradient(30% 60% at 62% 120%, rgba(92, 180, 255, .12), transparent 70%),
    linear-gradient(160deg, rgba(28, 42, 72, .82) 0%, rgba(14, 22, 40, .78) 55%, rgba(9, 14, 28, .82) 100%);
  -webkit-backdrop-filter: blur(28px) saturate(170%);
  backdrop-filter: blur(28px) saturate(170%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .08),
    inset 0 0 0 1px rgba(255, 255, 255, .02),
    0 30px 70px -36px rgba(0, 0, 0, .85),
    0 0 80px -40px rgba(26, 124, 255, .5);
}
/* Glanzkante dezenter */
html[data-theme="dark"] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading)::before,
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-hero::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, .06) 0%, transparent 40%), var(--vf-noise-soft);
  background-size: auto, 160px 160px;
}
html[data-theme="dark"] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading)::after,
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-hero::after {
  background:
    radial-gradient(circle at var(--vf-orb-x, 82%) 26%, rgba(120, 190, 255, .22) 0, rgba(120, 190, 255, .05) 6%, transparent 13%),
    radial-gradient(circle at 46% 110%, rgba(123, 108, 255, .14) 0, transparent 18%);
}
/* Überschrift: weiß, zweite Ebene in Markenverlauf */
html[data-theme="dark"] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) h1,
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-hero h1 { text-shadow: 0 10px 40px rgba(26, 124, 255, .25); }
html[data-theme="dark"] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) :is(p, small, .muted, dd, dt),
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-hero-copy > p { color: #a9b8cd; }
/* Kennung als Glas-Pille in Blau */
html[data-theme="dark"] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) :is(.eyebrow, .dashboard-eyebrow, .bank-eyebrow),
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-hero .dashboard-eyebrow {
  border-color: rgba(92, 180, 255, .28);
  color: #bfe0ff;
  background: rgba(26, 124, 255, .14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}
html[data-theme="dark"] .dashboard-main :is(.page-heading, .member-hero, .bank-heading, .facility-form-intro) .eyebrow::before,
html[data-theme="dark"] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .cora-center-hero, .cora-rules-hero) .dashboard-eyebrow i,
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-hero .dashboard-eyebrow i { background: var(--vf-sky); box-shadow: 0 0 0 3px rgba(92, 180, 255, .2), 0 0 10px rgba(92, 180, 255, .9); }
/* Schaltflächen: Glas + blaue Hauptaktion wie im übrigen Programm */
html[data-theme="dark"] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) :is(.secondary-link, .secondary-button, .quiet-button, .action-menu > summary) {
  border-color: rgba(255, 255, 255, .12);
  color: #e2ebf7;
  background: rgba(255, 255, 255, .06);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}
html[data-theme="dark"] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) :is(.secondary-link, .secondary-button, .quiet-button, .action-menu > summary):hover { border-color: rgba(92, 180, 255, .4); color: #fff; background: rgba(255, 255, 255, .1); }
html[data-theme="dark"] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) :is(.primary-link, .primary-button),
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-hero .primary-link,
html[data-theme="dark"] body.dashboard-page .dashboard-main .bank-heading .bank-primary {
  color: #fff !important;
  background: linear-gradient(180deg, #3b95ff 0%, #1a6fe8 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 0 0 1px rgba(92, 180, 255, .35), 0 14px 32px -12px rgba(26, 124, 255, .75);
}
html[data-theme="dark"] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .facility-form-intro, .cora-center-hero, .cora-rules-hero, .template-library-hero, .serial-letter-hero, .transfer-hero, .bank-heading) :is(.primary-link, .primary-button):hover,
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-hero .primary-link:hover { color: #fff; background: linear-gradient(180deg, #4aa0ff 0%, #1466ec 100%); }
html[data-theme="dark"] .dashboard-main :is(.page-heading, .member-hero, .facility-page-hero, .bank-heading) .status-pill { border-color: rgba(92, 180, 255, .25); background: rgba(26, 124, 255, .12); }
html[data-theme="dark"] .dashboard-main :is(.page-heading, .member-hero) .record-avatar { border-color: rgba(140, 190, 255, .25); color: #fff; background: linear-gradient(145deg, #3b95ff, #0b4fc8); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 16px 30px -12px rgba(26, 124, 255, .6); }
html[data-theme="dark"] .dashboard-main .cora-rules-hero > span { border-color: rgba(92, 180, 255, .25); color: var(--vf-sky); background: rgba(26, 124, 255, .12); }
/* Dashboard: Live-Leiste und Cora-Karte als dunkles Glas */
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-live-grid { border-color: rgba(255, 255, 255, .09); background: rgba(255, 255, 255, .04); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05); }
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-live-grid > span { border-color: rgba(255, 255, 255, .07); }
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-live-grid small { color: #8ea2bd; }
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-hero-cora { border-color: rgba(140, 190, 255, .16); background: linear-gradient(160deg, rgba(26, 124, 255, .16), rgba(255, 255, 255, .03)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 24px 50px -24px rgba(0, 0, 0, .7); }
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-hero-cora small,
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-hero-cora > div > .dashboard-cora-signal { color: var(--vf-sky); }
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-hero-cora > div > span { color: #a9b8cd; }
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-cora-orbit { border-color: rgba(92, 180, 255, .22); }

/* Dunkelmodus: blaue Links und Titel heller, damit sie lesbar bleiben */
html[data-theme="dark"] body.dashboard-page .dashboard-main :is(.cora-alert-card strong, .cora-alert-card a, .dashboard-panel-heading a, .cora-alert-strip a, .dashboard-task-list a) { color: #8cc8ff; }
html[data-theme="dark"] body.dashboard-page .dashboard-main .eyebrow { color: #8cc8ff; }

/* Dunkelmodus: „Markenblau“ als Textfarbe wird hell, damit es auf dunklem Glas lesbar bleibt */
html[data-theme="dark"] { --vf-blue-ink: #8cc8ff; }
html[data-theme="dark"] body.dashboard-page .dashboard-main a:not([class]):not(.action-menu-list a) { color: #8cc8ff; }
html[data-theme="dark"] body.dashboard-page .info-grid a { color: #8cc8ff; }
html[data-theme="dark"] body.dashboard-page .dashboard-main .member-table td:is([data-label="Rechnung"]) a { color: #dbe7f6; }

/* Reiter in der Mitgliederakte als Glas-Pillen */
html[data-theme] body.dashboard-page .dashboard-main .dossier-tabs a {
  border: 1px solid var(--vf-glass-line);
  border-radius: 999px;
  color: var(--vf-ink-2);
  background: var(--vf-glass-strong);
  box-shadow: var(--vf-highlight), 0 1px 2px rgba(15, 27, 45, .05);
  font-weight: 600;
}
html[data-theme] body.dashboard-page .dashboard-main .dossier-tabs a:hover { border-color: rgba(26, 124, 255, .35); color: var(--vf-blue-ink); }
html[data-theme="dark"] body.dashboard-page .dashboard-main .dossier-tabs a { color: #c3cfdf; background: rgba(255, 255, 255, .05); }

/* Porträt-Kachel in der Mitgliederakte */
html[data-theme] .dashboard-main .member-hero .dossier-portrait {
  border: 1px solid rgba(255, 255, 255, .6);
  color: var(--vf-blue-deep);
  background: linear-gradient(160deg, rgba(255, 255, 255, .96), rgba(225, 238, 255, .88));
  box-shadow: inset 0 1px 0 #fff, 0 16px 30px -12px rgba(0, 30, 110, .45);
}
html[data-theme] .dashboard-main .member-hero .dossier-portrait :is(span, small) { color: inherit; }
html[data-theme] .dashboard-main .member-hero .dossier-portrait small { opacity: .6; }
html[data-theme="dark"] .dashboard-main .member-hero .dossier-portrait {
  border-color: rgba(140, 190, 255, .25);
  color: #fff;
  background: linear-gradient(145deg, #3b95ff, #0b4fc8);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 16px 30px -12px rgba(26, 124, 255, .6);
}

/* Hilfetexte unter Formularfeldern */
.form-field .field-help { display: block; margin-top: 6px; color: var(--vf-muted); font-size: .76rem; line-height: 1.45; }

/* Mitglieder-Import: Datei und Kolonie nebeneinander, Schaltfläche darunter */
.dashboard-main .import-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 18px 22px;
}
.dashboard-main .import-form > :is(.form-alert, input[type="hidden"]) { grid-column: 1 / -1; }
.dashboard-main .import-form > button { grid-column: 1 / -1; justify-self: start; width: auto; }
.dashboard-main .import-form .form-field { min-width: 0; }
.dashboard-main .import-form .form-field label { white-space: nowrap; }
.dashboard-main .import-form input[type="file"] {
  width: 100%;
  min-height: 46px;
  padding: 9px 10px;
  border: 1.5px dashed rgba(26, 124, 255, .35);
  border-radius: 12px;
  color: var(--vf-ink-2);
  background: rgba(234, 243, 255, .55);
  font: inherit;
  font-size: .86rem;
  cursor: pointer;
}
.dashboard-main .import-form input[type="file"]::file-selector-button {
  margin-right: 12px;
  padding: 7px 14px;
  border: 0;
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(180deg, #3b95ff, #1a6fe8);
  font: inherit;
  font-weight: 650;
  cursor: pointer;
}
.dashboard-main .import-form select { width: 100%; min-height: 46px; }
html[data-theme="dark"] .dashboard-main .import-form input[type="file"] { border-color: rgba(92, 180, 255, .35); background: rgba(26, 124, 255, .08); }
@media (max-width: 760px) { .dashboard-main .import-form { grid-template-columns: 1fr; } }

/* Mitglieder-Import: Zusammenfassung und Änderungen */
.import-summary { margin: 4px 0 16px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.import-summary > div { padding: 14px 16px; border: 1px solid var(--vf-glass-line); border-radius: 16px; background: var(--vf-glass-strong); box-shadow: var(--vf-highlight); }
.import-summary strong { display: block; color: var(--vf-ink); font-size: 1.6rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.import-summary span { color: var(--vf-muted); font-size: .8rem; }
.import-columns { margin: 0 0 16px; padding: 12px 14px; border-radius: 14px; background: rgba(26, 124, 255, .06); font-size: .84rem; line-height: 1.5; }
.import-columns p { margin: 2px 0; color: var(--vf-ink-2); }
.import-columns-ignored { color: #8a5200 !important; }
.import-columns-ignored span { color: var(--vf-muted); }
html[data-theme="dark"] .import-columns { background: rgba(92, 180, 255, .08); }
html[data-theme="dark"] .import-columns-ignored { color: #ffd59a !important; }
.import-changes { margin: 0; padding: 0; list-style: none; display: grid; gap: 3px; font-size: .82rem; }
.import-changes b { color: var(--vf-ink); font-weight: 650; }
.import-changes .old { color: var(--vf-muted); text-decoration: line-through; }
.import-changes .new { color: #0f8a63; font-weight: 600; }
html[data-theme="dark"] .import-changes .new { color: #6fe3b4; }
.import-pill-update { color: #0a4bc2; background: #e6f0ff; }
.import-pill-update > span { background: #1a7cff; }
html[data-theme="dark"] .import-pill-update { color: #cfe6ff; background: rgba(26, 124, 255, .18); }
@media (max-width: 640px) { .import-summary { grid-template-columns: 1fr; } }

/* --------------------------------------------------------------------------
   15 · Aufklappbare Navigation
   -------------------------------------------------------------------------- */
html[data-theme] body.dashboard-page .dashboard-nav .nav-group { display: block; padding: 4px 0; border-top: 0; }
html[data-theme] body.dashboard-page .dashboard-nav .nav-group + .nav-group { margin-top: 2px; }
html[data-theme] body.dashboard-page .dashboard-nav .nav-group-title { display: block; padding: 4px 10px 6px; }
.dashboard-nav .nav-group-items { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .32s cubic-bezier(.2, .7, .2, 1); }
.dashboard-nav .nav-group-items > div { min-height: 0; overflow: hidden; display: grid; gap: 2px; }
.dashboard-nav.is-collapsible .nav-group:not(.is-pinned):not(.is-open) .nav-group-items { grid-template-rows: 0fr; }
.dashboard-nav.is-collapsible .nav-group:not(.is-pinned) .nav-group-items > div { padding-left: 10px; margin-left: 20px; border-left: 1px solid rgba(15, 27, 45, .08); }
html[data-theme="dark"] .dashboard-nav.is-collapsible .nav-group:not(.is-pinned) .nav-group-items > div { border-color: rgba(255, 255, 255, .07); }
.dashboard-nav.is-collapsible .nav-group.is-open .nav-group-items > div { padding-top: 2px; padding-bottom: 6px; }

.nav-group-toggle {
  width: 100%;
  min-height: 40px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 11px;
  color: var(--vf-ink);
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease;
}
.nav-group-toggle:hover { background: rgba(255, 255, 255, .6); }
.nav-group-toggle:focus-visible { outline: 2px solid var(--vf-blue); outline-offset: 1px; }
.nav-group-toggle strong { flex: 1; min-width: 0; font-size: .82rem; font-weight: 650; letter-spacing: -.005em; }
.nav-group-icon { width: 22px; display: grid; place-items: center; color: #7b8ba3; }
.nav-group-icon .vf-icon { width: 18px; height: 18px; }
.nav-group-hint {
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: var(--vf-muted);
  background: rgba(15, 27, 45, .05);
  font-size: .66rem;
  font-weight: 700;
  opacity: 1;
  transition: opacity .2s ease;
}
.nav-group.is-open .nav-group-hint { opacity: 0; }
.nav-group-chevron { width: 15px; height: 15px; fill: none; stroke: #8593a8; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .28s cubic-bezier(.2, .7, .2, 1); }
.nav-group.is-open .nav-group-chevron { transform: rotate(90deg); }
/* Gruppe mit aktiver Seite: Kopf leicht hervorheben */
.nav-group.has-active > .nav-group-toggle strong { color: var(--vf-blue-ink); }
.nav-group.has-active > .nav-group-toggle .nav-group-icon { color: var(--vf-blue); }
html[data-theme="dark"] .nav-group-toggle { color: #e2ebf7; }
html[data-theme="dark"] .nav-group-toggle:hover { background: rgba(255, 255, 255, .05); }
html[data-theme="dark"] .nav-group-hint { background: rgba(255, 255, 255, .07); color: #93a3ba; }
html[data-theme="dark"] .nav-group.has-active > .nav-group-toggle strong { color: #cfe6ff; }
html[data-theme="dark"] .nav-group.has-active > .nav-group-toggle .nav-group-icon { color: var(--vf-sky); }
/* Links in Gruppen etwas kompakter */
html[data-theme] body.dashboard-page .dashboard-nav .nav-group:not(.is-pinned) .nav-group-items a { min-height: 36px; font-size: .79rem; }

@media (max-width: 800px) {
  /* Smartphone: waagrechte Leiste wie bisher, ohne Klappgruppen */
  .dashboard-nav .nav-group, .dashboard-nav .nav-group-items, .dashboard-nav .nav-group-items > div { display: contents !important; }
  .nav-group-toggle, .dashboard-nav .nav-group-title { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .dashboard-nav .nav-group-items, .nav-group-chevron { transition: none; }
}
/* Unterpunkte kompakter einrücken, damit Bezeichnungen einzeilig bleiben */
.dashboard-nav.is-collapsible .nav-group:not(.is-pinned) .nav-group-items > div { margin-left: 20px; padding-left: 4px; }
html[data-theme] body.dashboard-page .dashboard-nav .nav-group:not(.is-pinned) .nav-group-items a { gap: 8px; padding: 0 8px; }
html[data-theme] body.dashboard-page .dashboard-nav .nav-group:not(.is-pinned) .nav-group-items a > span { width: 18px; }
html[data-theme] body.dashboard-page .dashboard-nav .nav-group:not(.is-pinned) .nav-group-items a > span .vf-icon { width: 16px; height: 16px; }
.nav-group-toggle strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Ruhiger: keine Zähler, keine Icon-Kachel im aktiven Unterpunkt */
.nav-group-hint { display: none; }
html[data-theme] body.dashboard-page .dashboard-nav .nav-group:not(.is-pinned) .nav-group-items a > span { height: auto; padding: 0; border: 0; border-radius: 0; background: none !important; box-shadow: none !important; }
.dashboard-nav.is-collapsible .nav-group:not(.is-pinned) .nav-group-items > div { margin-left: 16px; padding-left: 2px; }
html[data-theme] body.dashboard-page .dashboard-nav .nav-group:not(.is-pinned) .nav-group-items a { padding: 0 6px 0 8px; letter-spacing: -.01em; white-space: nowrap; }
html[data-theme] body.dashboard-page .dashboard-nav .nav-group:not(.is-pinned) .nav-group-items a { overflow: hidden; text-overflow: ellipsis; }
@media (min-width: 1041px) { .dashboard-shell { grid-template-columns: 280px minmax(0, 1fr); } }

/* --------------------------------------------------------------------------
   16 · Dashboard (neu)
   -------------------------------------------------------------------------- */
.dashboard-v2 { display: grid; gap: 20px; }
.dashboard-v2 > * { margin: 0 !important; }

/* Begrüßung */
.dash-hero { min-height: 0 !important; }
.dash-hero .dashboard-hero-copy > p strong { color: #fff; }
.dash-quick { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 8px; }
.dash-quick a {
  min-height: 40px;
  padding: 0 14px 0 8px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, .14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  backdrop-filter: blur(14px) saturate(160%);
  font-size: .82rem;
  font-weight: 650;
  text-decoration: none;
  transition: background-color .2s ease, transform .2s cubic-bezier(.2, .7, .2, 1), border-color .2s ease;
}
.dash-quick a > span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: var(--vf-blue-deep); background: #fff; }
.dash-quick a .vf-icon { width: 14px; height: 14px; }
.dash-quick a:hover { border-color: rgba(255, 255, 255, .6); background: rgba(255, 255, 255, .24); transform: translateY(-2px); }
html[data-theme="dark"] .dash-quick a { border-color: rgba(140, 190, 255, .2); background: rgba(255, 255, 255, .05); }
html[data-theme="dark"] .dash-quick a > span { color: #fff; background: linear-gradient(145deg, #3b95ff, #1a6fe8); }
html[data-theme="dark"] .dash-quick a:hover { border-color: rgba(140, 190, 255, .45); background: rgba(255, 255, 255, .09); }
.dash-hero .dashboard-hero-side { display: grid; gap: 12px; align-content: center; }
.dash-hero .dashboard-hero-cora { cursor: pointer; transition: transform .25s cubic-bezier(.2, .7, .2, 1); }
.dash-hero .dashboard-hero-cora:hover { transform: translateY(-3px); }
.dash-hero .dashboard-hero-cora:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.dash-clock { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 0 6px; color: rgba(255, 255, 255, .85); }
.dash-clock strong { color: #fff; font-size: 1.5rem; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.dash-clock small { font-size: .78rem; opacity: .8; }
html[data-theme="dark"] .dash-clock { color: #a9b8cd; }

/* Kennzahlen */
.dash-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.dash-kpi {
  position: relative;
  min-height: 112px;
  padding: 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  overflow: hidden;
  border: 1px solid var(--vf-glass-line);
  border-radius: 22px;
  color: var(--vf-ink);
  background: var(--vf-glass-strong);
  -webkit-backdrop-filter: var(--vf-glass-blur);
  backdrop-filter: var(--vf-glass-blur);
  box-shadow: var(--vf-highlight), 0 0 0 1px var(--vf-glass-edge), var(--vf-glass-shadow);
  text-decoration: none;
  transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s ease;
}
.dash-kpi:hover { transform: translateY(-3px); box-shadow: var(--vf-highlight), 0 0 0 1px rgba(26, 124, 255, .14), var(--vf-glass-shadow-hover); }
.dash-kpi > div { min-width: 0; }
.dash-kpi small { display: block; color: var(--vf-muted); font-size: .7rem; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; }
.dash-kpi strong { display: block; margin-top: 4px; color: var(--vf-ink); font-size: 1.6rem; font-weight: 750; letter-spacing: -.03em; line-height: 1.1; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dash-kpi strong em { color: var(--vf-muted); font-size: 1rem; font-style: normal; font-weight: 600; }
.dash-kpi p { margin: 5px 0 0; color: var(--vf-muted); font-size: .78rem; }
.dash-kpi-icon { flex: 0 0 auto; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; color: var(--vf-blue); background: linear-gradient(160deg, #eef5ff, #dbeaff); }
.dash-kpi-icon .vf-icon { width: 24px; height: 24px; }
.dash-kpi-icon.is-warm { color: #c56a12; background: linear-gradient(160deg, #fff6ea, #ffe6c7); }
.dash-kpi-icon.is-blue { color: #fff; background: linear-gradient(145deg, #5cb4ff, #1a6fe8); box-shadow: 0 10px 22px -10px rgba(26, 110, 240, .7); }
html[data-theme="dark"] .dash-kpi-icon { color: var(--vf-sky); background: rgba(92, 180, 255, .12); }
html[data-theme="dark"] .dash-kpi-icon.is-warm { color: #ffc27a; background: rgba(255, 170, 80, .12); }
html[data-theme="dark"] .dash-kpi-icon.is-blue { color: #fff; background: linear-gradient(145deg, #3b95ff, #0b4fc8); }
.dash-flag { display: inline-block; padding: 2px 8px; border-radius: 999px; color: #0a4bc2; background: #e6f0ff; font-weight: 650; }
.dash-flag.is-warn { color: #a5530a; background: #fff1de; }
html[data-theme="dark"] .dash-flag { color: #cfe6ff; background: rgba(26, 124, 255, .18); }
html[data-theme="dark"] .dash-flag.is-warn { color: #ffd59a; background: rgba(255, 170, 80, .16); }

/* Ring */
.dash-ring { position: relative; flex: 0 0 auto; width: 64px; height: 64px; }
.dash-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.dash-ring circle { fill: none; stroke-width: 7; }
.dash-ring .track { stroke: rgba(26, 124, 255, .12); }
.dash-ring .value { stroke: url(#none); stroke: var(--vf-blue); stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--p, 0)); animation: dash-ring-in 1.2s cubic-bezier(.2, .7, .2, 1) .2s both; filter: drop-shadow(0 0 4px rgba(26, 124, 255, .45)); }
@keyframes dash-ring-in { from { stroke-dashoffset: 100; } }
.dash-ring b { position: absolute; inset: 0; display: grid; place-items: center; color: var(--vf-ink); font-size: .9rem; font-weight: 750; }
.dash-ring b i { font-size: .62rem; font-style: normal; opacity: .7; }
html[data-theme="dark"] .dash-ring .track { stroke: rgba(255, 255, 255, .08); }
html[data-theme="dark"] .dash-ring .value { stroke: var(--vf-sky); }

/* Raster: Vorgänge links, Cora + Termine rechts */
.dash-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.dash-side { display: grid; gap: 20px; }
html[data-theme] body.dashboard-page .dashboard-v2 .dashboard-panel { padding: 22px; }
.dash-today .dashboard-task-list { max-height: 520px; overflow-y: auto; scrollbar-width: thin; }
html[data-theme] body.dashboard-page .dashboard-v2 .cora-alert-strip .cora-alert-grid { grid-template-columns: 1fr; }

/* Termine */
.dash-event-list { margin: 6px 0 0; padding: 0; display: grid; gap: 4px; list-style: none; }
.dash-event-list a { padding: 8px; display: flex; align-items: center; gap: 14px; border-radius: 14px; color: var(--vf-ink); text-decoration: none; transition: background-color .18s ease; }
.dash-event-list a:hover { background: rgba(26, 124, 255, .06); }
.dash-date { flex: 0 0 auto; width: 46px; height: 50px; display: grid; place-items: center; align-content: center; border-radius: 13px; color: #fff; background: linear-gradient(160deg, #5cb4ff, #1a6fe8); box-shadow: 0 8px 18px -10px rgba(26, 110, 240, .8); line-height: 1; }
.dash-date b { font-size: 1.15rem; font-weight: 750; }
.dash-date small { margin-top: 3px; font-size: .62rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .9; }
.dash-event-text { min-width: 0; display: grid; gap: 2px; }
.dash-event-text strong { overflow: hidden; font-size: .9rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.dash-event-text small { overflow: hidden; color: var(--vf-muted); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
html[data-theme="dark"] .dash-event-list a:hover { background: rgba(255, 255, 255, .04); }
.dash-empty-small { padding: 12px 4px 2px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.dash-empty-small p { margin: 0; color: var(--vf-muted); font-size: .86rem; }

/* Kolonien */
.dash-colony-grid { margin-top: 8px; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.dash-colony {
  position: relative;
  padding: 16px 18px;
  display: grid;
  gap: 8px;
  border: 1px solid var(--vf-glass-line);
  border-radius: 18px;
  color: var(--vf-ink);
  background: rgba(255, 255, 255, .6);
  box-shadow: var(--vf-highlight);
  text-decoration: none;
  transition: transform .25s cubic-bezier(.2, .7, .2, 1), box-shadow .25s ease, border-color .25s ease;
}
.dash-colony:hover { transform: translateY(-2px); border-color: rgba(26, 124, 255, .3); box-shadow: var(--vf-highlight), 0 14px 30px -18px rgba(26, 92, 200, .5); }
.dash-colony-code { width: fit-content; padding: 3px 9px; border-radius: 999px; color: #fff; background: linear-gradient(145deg, #5cb4ff, #1a6fe8); font-size: .64rem; font-weight: 800; letter-spacing: .08em; }
.dash-colony strong { font-size: 1rem; font-weight: 700; letter-spacing: -.01em; }
.dash-colony small { color: var(--vf-muted); font-size: .78rem; }
.dash-colony small b { color: var(--vf-ink); }
.dash-colony small em { color: #0f8a63; font-style: normal; font-weight: 650; }
.dash-bar { height: 8px; overflow: hidden; border-radius: 999px; background: rgba(26, 124, 255, .1); }
.dash-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #7b6cff, #1a7cff, #5cb4ff); box-shadow: 0 0 10px rgba(26, 124, 255, .5); animation: dash-bar-in 1.1s cubic-bezier(.2, .7, .2, 1) .3s both; transform-origin: left; }
@keyframes dash-bar-in { from { transform: scaleX(0); } }
html[data-theme="dark"] .dash-colony { border-color: rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .03); }
html[data-theme="dark"] .dash-colony small em { color: #6fe3b4; }
html[data-theme="dark"] .dash-bar { background: rgba(255, 255, 255, .07); }

@media (max-width: 1240px) { .dash-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1040px) { .dash-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .dash-kpis { grid-template-columns: 1fr; }
  .dash-clock { display: none; }
  .dash-quick a { flex: 1 1 calc(50% - 8px); }
}
@media (prefers-reduced-motion: reduce) { .dash-ring .value, .dash-bar span { animation: none; } }
/* Korrekturen Dashboard */
html[data-theme] body.dashboard-page .dashboard-main .dash-quick a { color: #fff; }
.dash-ring b { display: flex; align-items: baseline; justify-content: center; gap: 1px; }
.dash-ring b { align-items: center; }
html[data-theme] body.dashboard-page .dashboard-main .dash-event-list a,
html[data-theme] body.dashboard-page .dashboard-main .dash-event-text strong { color: var(--vf-ink); }
html[data-theme] body.dashboard-page .dashboard-main .dashboard-task-list a strong { color: var(--vf-ink); }
html[data-theme] body.dashboard-page .dashboard-main .dashboard-task-list a:hover strong,
html[data-theme] body.dashboard-page .dashboard-main .dash-event-list a:hover strong { color: var(--vf-blue-ink); }
html[data-theme] body.dashboard-page .dashboard-main .dashboard-task-list a > span { color: var(--vf-blue); background: linear-gradient(160deg, #eef5ff, #dbeaff); }
html[data-theme="dark"] body.dashboard-page .dashboard-main .dashboard-task-list a > span { color: var(--vf-sky); background: rgba(92, 180, 255, .12); }

/* --------------------------------------------------------------------------
   17 · Kolonielogo / Kürzel-Kachel
   -------------------------------------------------------------------------- */
.colony-mark {
  --size: 56px;
  flex: 0 0 auto;
  width: var(--size);
  height: var(--size);
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: calc(var(--size) * .28);
  color: #fff;
  background: linear-gradient(145deg, #5cb4ff 0%, #1a6fe8 60%, #0b4fc8 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 10px 22px -10px rgba(26, 110, 240, .7);
}
.colony-mark--sm { --size: 38px; }
.colony-mark--lg { --size: 84px; }
.colony-mark b { font-size: calc(var(--size) * .36); font-weight: 800; letter-spacing: -.02em; line-height: 1; }
.colony-mark b[data-len="4"] { font-size: calc(var(--size) * .27); letter-spacing: -.03em; }
.colony-mark b[data-len="3"] { font-size: calc(var(--size) * .31); }
/* Logo: weiße Glaskachel, Logo vollständig sichtbar */
.colony-mark.has-logo {
  padding: calc(var(--size) * .1);
  border: 1px solid rgba(15, 27, 45, .08);
  background: linear-gradient(160deg, #ffffff, #f1f6fd);
  box-shadow: inset 0 1px 0 #fff, 0 10px 24px -12px rgba(28, 64, 120, .45);
}
.colony-mark.has-logo img { width: 100%; height: 100%; object-fit: contain; }
html[data-theme="dark"] .colony-mark.has-logo { border-color: rgba(255, 255, 255, .12); background: linear-gradient(160deg, #ffffff, #e8eef7); }

/* Kolonie-Karten in der Übersicht: kein Überlaufen mehr */
html[data-theme] .dashboard-main .colony-card { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
html[data-theme] .dashboard-main .colony-card > div { min-width: 0; }
html[data-theme] .dashboard-main .colony-card h2 { overflow-wrap: anywhere; }
/* Kolonie-Akte: Kachel auf der Bühne */
.dashboard-main .member-hero .colony-mark--lg { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 16px 34px -12px rgba(0, 30, 110, .5); }
.dashboard-main .member-hero .colony-mark:not(.has-logo) { border: 1px solid rgba(255, 255, 255, .4); background: rgba(255, 255, 255, .18); }
/* Dashboard-Karten */
.dash-colony-head { display: flex; align-items: center; gap: 12px; min-width: 0; }
.dash-colony-head strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Formular: aktuelles Logo */
.colony-logo-current { margin-bottom: 10px; display: flex; align-items: center; gap: 14px; }
.colony-logo-current small { color: var(--vf-muted); font-size: .8rem; }
.colony-mark b[data-len="5"] { font-size: calc(var(--size) * .22); letter-spacing: -.02em; }
.dashboard-main .facility-form input[type="file"] {
  width: 100%; min-height: 46px; padding: 9px 10px;
  border: 1.5px dashed rgba(26, 124, 255, .35); border-radius: 12px;
  color: var(--vf-ink-2); background: rgba(234, 243, 255, .55); font: inherit; font-size: .86rem; cursor: pointer;
}
.dashboard-main .facility-form input[type="file"]::file-selector-button {
  margin-right: 12px; padding: 7px 14px; border: 0; border-radius: 9px;
  color: #fff; background: linear-gradient(180deg, #3b95ff, #1a6fe8); font: inherit; font-weight: 650; cursor: pointer;
}
html[data-theme="dark"] .dashboard-main .facility-form input[type="file"] { border-color: rgba(92, 180, 255, .35); background: rgba(26, 124, 255, .08); }

/* --------------------------------------------------------------------------
   18 · Begrüßung nach dem Login
   -------------------------------------------------------------------------- */
.vf-welcome {
  position: fixed;
  z-index: 20000;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--vf-ink);
  background:
    radial-gradient(50rem 38rem at 15% 10%, rgba(92, 180, 255, .55), transparent 62%),
    radial-gradient(44rem 34rem at 92% 22%, rgba(123, 108, 255, .34), transparent 62%),
    radial-gradient(46rem 32rem at 60% 110%, rgba(255, 180, 140, .42), transparent 62%),
    linear-gradient(180deg, #f6f9fe, #edf2fa);
  cursor: pointer;
  transition: opacity .9s cubic-bezier(.4, 0, .2, 1), transform .9s cubic-bezier(.4, 0, .2, 1), filter .9s cubic-bezier(.4, 0, .2, 1);
}
html[data-theme="dark"] .vf-welcome {
  color: #eef3fb;
  background:
    radial-gradient(50rem 38rem at 15% 10%, rgba(26, 124, 255, .42), transparent 62%),
    radial-gradient(44rem 34rem at 92% 22%, rgba(123, 108, 255, .3), transparent 62%),
    linear-gradient(180deg, #070b14, #050810);
}
.vf-welcome.is-leaving { opacity: 0; transform: scale(1.06); filter: blur(14px); pointer-events: none; }
.vf-welcome-sky span { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .7; }
.vf-welcome-sky span:nth-child(1) { width: 40vmax; height: 40vmax; left: -10vmax; top: -12vmax; background: rgba(92, 180, 255, .55); animation: vfw-drift 9s ease-in-out infinite alternate; }
.vf-welcome-sky span:nth-child(2) { width: 34vmax; height: 34vmax; right: -8vmax; top: 10vmax; background: rgba(123, 108, 255, .45); animation: vfw-drift 11s ease-in-out infinite alternate-reverse; }
.vf-welcome-sky span:nth-child(3) { width: 30vmax; height: 30vmax; left: 30vmax; bottom: -16vmax; background: rgba(255, 170, 130, .4); animation: vfw-drift 13s ease-in-out infinite alternate; }
html[data-theme="dark"] .vf-welcome-sky span { opacity: .45; }
@keyframes vfw-drift { to { transform: translate(6vmax, 5vmax) scale(1.1); } }

.vf-welcome-center { position: relative; z-index: 1; padding: 24px; display: grid; justify-items: center; text-align: center; }
.vf-welcome-stage { position: relative; width: 168px; height: 168px; margin-bottom: 26px; display: grid; place-items: center; }
.vf-welcome-halo { position: absolute; inset: 14px; border-radius: 50%; background: radial-gradient(circle, rgba(26, 124, 255, .6), rgba(123, 108, 255, .25) 45%, transparent 70%); filter: blur(18px); animation: vfw-halo 2.6s ease-in-out .6s both; }
@keyframes vfw-halo { 0% { opacity: 0; transform: scale(.6); } 50% { opacity: 1; transform: scale(1.15); } 100% { opacity: .8; transform: scale(1); } }
.vf-welcome-ring { position: absolute; inset: 0; border-radius: 50%; border: 2px solid transparent; border-top-color: #5cb4ff; border-right-color: rgba(92, 180, 255, .4); animation: vfw-spin 1.6s linear infinite, vfw-fade-in .6s ease .2s both; filter: drop-shadow(0 0 8px rgba(92, 180, 255, .8)); }
@keyframes vfw-spin { to { transform: rotate(360deg); } }
.vf-welcome-mark { position: relative; width: 112px; height: 112px; overflow: visible; filter: drop-shadow(0 24px 34px rgba(11, 70, 190, .45)); }
.vf-welcome-mark .w-tile { transform-box: fill-box; transform-origin: center; animation: vfw-tile .8s cubic-bezier(.34, 1.56, .64, 1) .1s both; }
.vf-welcome-mark .w-arm-l { transform-box: fill-box; transform-origin: 50% 100%; animation: vfw-arm-l .7s cubic-bezier(.2, .75, .2, 1) .5s both; }
.vf-welcome-mark .w-arm-r { transform-box: fill-box; transform-origin: 50% 100%; animation: vfw-arm-r .7s cubic-bezier(.2, .75, .2, 1) .68s both; }
.vf-welcome-mark .w-dot { transform-box: fill-box; transform-origin: center; animation: vfw-dot .8s cubic-bezier(.34, 1.56, .64, 1) 1s both; }
.vf-welcome-mark .w-shine { animation: vfw-shine 1.2s ease-in-out 1.5s both; }
@keyframes vfw-tile { from { opacity: 0; transform: scale(.5) rotate(-10deg); } to { opacity: 1; transform: none; } }
@keyframes vfw-arm-l { from { opacity: 0; transform: translate(-14px, -18px); } to { opacity: 1; transform: none; } }
@keyframes vfw-arm-r { from { opacity: 0; transform: translate(14px, -18px); } to { opacity: 1; transform: none; } }
@keyframes vfw-dot { 0% { opacity: 0; transform: translateY(-24px) scale(.4); } 65% { opacity: 1; transform: translateY(2px) scale(1.1); } 100% { opacity: 1; transform: none; } }
@keyframes vfw-shine { from { transform: translateX(-80px); } to { transform: translateX(90px); } }
@keyframes vfw-fade-in { from { opacity: 0; } to { opacity: 1; } }

.vf-welcome-hello { margin: 0; color: var(--vf-ink-2); font-size: clamp(1.1rem, 2.2vw, 1.5rem); font-weight: 560; animation: vfw-rise .7s cubic-bezier(.2, .75, .2, 1) 1.15s both; }
html[data-theme="dark"] .vf-welcome-hello { color: #c3cfdf; }
.vf-welcome-name {
  margin: 4px 0 0;
  padding-bottom: .08em;
  font-size: clamp(3rem, 8vw, 5.6rem);
  font-weight: 800;
  letter-spacing: -.05em;
  line-height: 1;
  background: linear-gradient(90deg, #1a6fe8 0%, #5cb4ff 45%, #7b6cff 90%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: vfw-name 1s cubic-bezier(.2, .75, .2, 1) 1.3s both, vfw-gradient 3s ease-in-out 1.3s both;
}
@keyframes vfw-name { from { opacity: 0; transform: translateY(18px) scale(.96); filter: blur(10px); letter-spacing: .02em; } to { opacity: 1; transform: none; filter: none; } }
@keyframes vfw-gradient { from { background-position: 100% 0; } to { background-position: 0 0; } }
.vf-welcome-sub { margin: 14px 0 0; color: var(--vf-muted); font-size: 1rem; animation: vfw-rise .7s cubic-bezier(.2, .75, .2, 1) 1.65s both; }
.vf-welcome-sub em { color: var(--vf-blue); font-style: normal; font-weight: 650; }
html[data-theme="dark"] .vf-welcome-sub { color: #93a3ba; }
html[data-theme="dark"] .vf-welcome-sub em { color: var(--vf-sky); }
.vf-welcome-facts { margin: 24px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; list-style: none; }
.vf-welcome-facts li {
  padding: 8px 14px 8px 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--vf-glass-line);
  border-radius: 999px;
  color: var(--vf-ink-2);
  background: var(--vf-glass);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
  box-shadow: var(--vf-highlight), 0 8px 20px -12px rgba(28, 64, 120, .35);
  font-size: .86rem;
  font-weight: 620;
  animation: vfw-pop .6s cubic-bezier(.34, 1.56, .64, 1) both;
}
.vf-welcome-facts li:nth-child(1) { animation-delay: 1.9s; }
.vf-welcome-facts li:nth-child(2) { animation-delay: 2.02s; }
.vf-welcome-facts li:nth-child(3) { animation-delay: 2.14s; }
.vf-welcome-facts .vf-icon { width: 16px; height: 16px; color: var(--vf-blue); }
html[data-theme="dark"] .vf-welcome-facts li { color: #dbe6f5; }
html[data-theme="dark"] .vf-welcome-facts .vf-icon { color: var(--vf-sky); }
@keyframes vfw-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes vfw-pop { from { opacity: 0; transform: translateY(10px) scale(.9); } to { opacity: 1; transform: none; } }

.vf-welcome-progress { position: absolute; left: 50%; bottom: 64px; width: 160px; height: 3px; margin-left: -80px; overflow: hidden; border-radius: 999px; background: rgba(26, 124, 255, .14); }
.vf-welcome-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #7b6cff, #1a7cff, #5cb4ff); transform-origin: left; animation: vfw-progress 3.3s linear both; }
@keyframes vfw-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.vf-welcome-skip { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); padding: 6px 12px; border: 0; border-radius: 999px; color: var(--vf-muted); background: transparent; font: inherit; font-size: .8rem; font-weight: 600; cursor: pointer; animation: vfw-fade-in .6s ease 1.8s both; }
.vf-welcome-skip:hover, .vf-welcome-skip:focus-visible { color: var(--vf-blue-ink); background: rgba(255, 255, 255, .6); outline: 0; }

/* Dashboard wartet hinter der Begrüßung und gleitet dann herein */
html.vf-welcome-active body.dashboard-page .dashboard-shell { opacity: 0; transform: scale(.97) translateY(14px); filter: blur(6px); }
html.vf-welcome-active body.dashboard-page :is(.dash-ring .value, .dash-bar span, .vf-rise) { animation-play-state: paused; }
html.vf-welcome-reveal body.dashboard-page .dashboard-shell { transition: opacity .9s cubic-bezier(.2, .75, .2, 1) .15s, transform 1s cubic-bezier(.2, .75, .2, 1) .15s, filter .9s ease .15s; }

@media (prefers-reduced-motion: reduce) {
  .vf-welcome, .vf-welcome * { animation-duration: .01ms !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; }
  .vf-welcome { transition: opacity .3s ease; }
  .vf-welcome.is-leaving { transform: none; filter: none; }
  html.vf-welcome-active body.dashboard-page .dashboard-shell { transform: none; filter: none; }
  html.vf-welcome-reveal body.dashboard-page .dashboard-shell { transition: opacity .3s ease; }
}

/* Anmeldung: Absenden und Übergang */
html[data-theme] body.auth-page .login-glass-card { transition: transform .5s cubic-bezier(.2, .75, .2, 1), box-shadow .5s ease, opacity .5s ease, filter .5s ease; }
html[data-theme] body.auth-page .login-glass-card.is-submitting {
  transform: scale(.985);
  box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(26, 124, 255, .25), 0 0 0 8px rgba(26, 124, 255, .08), 0 40px 90px -30px rgba(26, 92, 200, .6);
}
html[data-theme] body.auth-page .login-glass-card.is-submitting button[type="submit"] i {
  width: 22px; height: 22px; border-radius: 50%; color: transparent;
  border: 2.5px solid rgba(255, 255, 255, .45); border-top-color: #fff; background: transparent;
  animation: vf-login-spin .75s linear infinite;
}
@keyframes vf-login-spin { to { transform: rotate(360deg); } }
.vf-login-veil {
  position: fixed; z-index: 20000; inset: 0; display: grid; place-items: center;
  opacity: 0; pointer-events: none;
  background:
    radial-gradient(50rem 38rem at 15% 10%, rgba(92, 180, 255, .55), transparent 62%),
    radial-gradient(44rem 34rem at 92% 22%, rgba(123, 108, 255, .34), transparent 62%),
    radial-gradient(46rem 32rem at 60% 110%, rgba(255, 180, 140, .42), transparent 62%),
    linear-gradient(180deg, #f6f9fe, #edf2fa);
  transition: opacity .45s ease .12s;
}
html[data-theme="dark"] .vf-login-veil {
  background:
    radial-gradient(50rem 38rem at 15% 10%, rgba(26, 124, 255, .42), transparent 62%),
    radial-gradient(44rem 34rem at 92% 22%, rgba(123, 108, 255, .3), transparent 62%),
    linear-gradient(180deg, #070b14, #050810);
}
.vf-login-veil-ring { width: 168px; height: 168px; border-radius: 50%; border: 2px solid transparent; border-top-color: #5cb4ff; border-right-color: rgba(92, 180, 255, .4); filter: drop-shadow(0 0 8px rgba(92, 180, 255, .8)); animation: vf-login-spin 1.6s linear infinite; }
body.vf-login-leaving .vf-login-veil { opacity: 1; pointer-events: auto; }
body.vf-login-leaving .auth-shell { filter: blur(6px); transform: scale(.985); transition: filter .5s ease, transform .5s ease; }
@media (prefers-reduced-motion: reduce) { .vf-login-veil { transition: none; } body.vf-login-leaving .auth-shell { filter: none; transform: none; } }
html[data-theme="dark"] .vf-welcome-skip:hover, html[data-theme="dark"] .vf-welcome-skip:focus-visible { color: #cfe6ff; background: rgba(255, 255, 255, .08); }

/* ==========================================================================
   Mitgliederbereich (Pächterinnen und Pächter) – Varevor Glas
   ========================================================================== */
body.mp-page { color: var(--vf-ink); }
.mp-shell { min-height: 100vh; }
.mp-top {
  position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 22px;
  padding: 12px clamp(16px, 4vw, 40px);
  background: var(--vf-glass-strong); border-bottom: 1px solid var(--vf-glass-line);
  -webkit-backdrop-filter: blur(22px) saturate(170%); backdrop-filter: blur(22px) saturate(170%);
}
.mp-brand { display: flex; align-items: center; gap: 12px; color: var(--vf-ink); text-decoration: none; flex: 0 0 auto; }
.mp-brand img { border-radius: 11px; box-shadow: 0 8px 18px -8px rgba(11, 91, 224, .6); }
.mp-brand strong { display: block; font-size: 1.02rem; letter-spacing: -.02em; }
.mp-brand em { color: var(--vf-blue); font-style: normal; }
.mp-brand small { display: block; color: var(--vf-muted); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.mp-nav { display: flex; gap: 4px; flex: 1 1 auto; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.mp-nav::-webkit-scrollbar { display: none; }
.mp-nav a { padding: 9px 14px; border-radius: 999px; color: var(--vf-ink-2); font-size: .9rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background .2s, color .2s; }
.mp-nav a:hover { color: var(--vf-blue-ink); background: rgba(26, 124, 255, .1); }
.mp-user { display: flex; align-items: center; gap: 14px; flex: 0 0 auto; }
.mp-user > span { text-align: right; line-height: 1.25; }
.mp-user strong { display: block; font-size: .9rem; }
.mp-user small { color: var(--vf-muted); font-size: .74rem; }
.mp-logout { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--vf-glass-line); border-radius: 999px; color: var(--vf-ink-2); background: var(--vf-glass); font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer; }
.mp-logout:hover { color: var(--vf-blue-ink); border-color: rgba(26, 124, 255, .4); }
.mp-logout .vf-icon { width: 17px; height: 17px; }

.mp-main { width: min(1280px, calc(100% - 32px)); margin: 0 auto; padding: 26px 0 70px; display: grid; gap: 18px; }
.mp-main.is-narrow { width: min(820px, calc(100% - 32px)); }
.mp-banner { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border: 1px solid rgba(26, 124, 255, .3); border-radius: 16px; color: var(--vf-blue-ink); background: rgba(26, 124, 255, .09); font-weight: 600; }
.mp-banner .vf-icon { width: 20px; height: 20px; flex: 0 0 auto; }
.mp-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--vf-blue-ink); font-size: .7rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.mp-eyebrow i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(255, 255, 255, .22); }

.mp-hero {
  position: relative; overflow: hidden; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px;
  padding: clamp(26px, 4.5vw, 48px); border-radius: 30px; color: #fff;
  background: radial-gradient(90% 120% at 100% 0%, rgba(255, 255, 255, .28), transparent 55%), radial-gradient(70% 90% at 0% 100%, rgba(123, 108, 255, .65), transparent 60%), linear-gradient(135deg, #3d97ff 0%, #1a6dff 55%, #2b5be8 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 30px 60px -28px rgba(11, 91, 224, .7);
}
.mp-hero::after { content: ""; position: absolute; right: -80px; top: -120px; width: 380px; height: 380px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .3), transparent 65%); pointer-events: none; }
.mp-hero .mp-eyebrow { color: rgba(255, 255, 255, .9); }
.mp-hero h1 { margin: 12px 0 0; color: #fff; font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 800; letter-spacing: -.045em; line-height: 1.04; }
.mp-hero p { max-width: 620px; margin: 12px 0 0; color: rgba(255, 255, 255, .88); line-height: 1.55; }
.mp-hero-copy { position: relative; z-index: 1; min-width: 0; }
.mp-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.mp-actions a { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 0 18px; border: 1px solid rgba(255, 255, 255, .38); border-radius: 999px; color: #fff; background: rgba(255, 255, 255, .16); font-weight: 650; font-size: .92rem; text-decoration: none; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: transform .2s, background .2s; }
.mp-actions a:hover { transform: translateY(-2px); background: rgba(255, 255, 255, .28); }
.mp-actions .vf-icon { width: 18px; height: 18px; }
.mp-hero-badge { position: relative; z-index: 1; flex: 0 0 auto; display: inline-flex; align-items: center; gap: 9px; padding: 9px 15px; border-radius: 999px; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .3); font-size: .82rem; font-weight: 650; }
.mp-hero-badge span { width: 8px; height: 8px; border-radius: 50%; background: #9fe0ff; box-shadow: 0 0 0 4px rgba(159, 224, 255, .3); }

.mp-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.mp-kpi, .mp-card {
  border: 1px solid var(--vf-glass-line); background: var(--vf-glass-strong);
  box-shadow: var(--vf-highlight), var(--vf-glass-shadow);
  -webkit-backdrop-filter: blur(20px) saturate(160%); backdrop-filter: blur(20px) saturate(160%);
}
.mp-kpi { display: flex; align-items: center; gap: 14px; padding: 18px; border-radius: 22px; color: inherit; text-decoration: none; transition: transform .25s cubic-bezier(.2, .7, .2, 1), box-shadow .25s; }
.mp-kpi:hover { transform: translateY(-3px); box-shadow: var(--vf-highlight), 0 0 0 1px rgba(26, 124, 255, .14), var(--vf-glass-shadow-hover); }
.mp-kpi-icon { flex: 0 0 auto; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(135deg, var(--vf-sky), var(--vf-blue)); box-shadow: 0 10px 20px -10px rgba(26, 124, 255, .8); }
.mp-kpi-icon .vf-icon { width: 22px; height: 22px; }
.mp-kpi > div { min-width: 0; }
.mp-kpi small { display: block; color: var(--vf-muted); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.mp-kpi strong { display: block; margin-top: 3px; font-size: 1.5rem; font-weight: 750; letter-spacing: -.03em; line-height: 1.1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-kpi em { display: block; margin-top: 2px; color: var(--vf-muted); font-size: .8rem; font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-kpi.is-warn .mp-kpi-icon { background: linear-gradient(135deg, #ffc9a8, #ff9466); box-shadow: 0 10px 20px -10px rgba(255, 148, 102, .9); }

.mp-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .95fr); gap: 18px; align-items: start; }
.mp-col { display: grid; gap: 18px; min-width: 0; }
.mp-card { padding: 24px; border-radius: 24px; scroll-margin-top: 90px; }
.mp-card > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.mp-card > header h2, .mp-cora-head h2 { margin: 4px 0 0; font-size: 1.22rem; letter-spacing: -.02em; }
.mp-card > header p { margin: 0; color: var(--vf-muted); font-size: .84rem; text-align: right; }
.mp-note { margin: 12px 0 0; color: var(--vf-muted); font-size: .82rem; line-height: 1.5; }

.mp-parcel + .mp-parcel { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--vf-glass-line); }
.mp-parcel-head { display: flex; align-items: center; gap: 14px; }
.mp-parcel-head > div { flex: 1 1 auto; min-width: 0; }
.mp-parcel-head strong { display: block; font-size: 1.3rem; letter-spacing: -.02em; }
.mp-parcel-head small { color: var(--vf-muted); }
.mp-parcel-mark, .mp-parcel-photo { flex: 0 0 auto; width: 62px; height: 62px; border-radius: 18px; }
.mp-parcel-mark { display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--vf-sky), var(--vf-blue) 60%, var(--vf-violet)); box-shadow: 0 14px 26px -14px rgba(26, 124, 255, .9); }
.mp-parcel-mark .vf-icon { width: 30px; height: 30px; }
.mp-parcel-photo { object-fit: cover; }
.mp-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 16px 0 0; }
.mp-facts > div { padding: 12px 14px; border: 1px solid var(--vf-glass-line); border-radius: 15px; background: var(--vf-glass); }
.mp-facts dt { color: var(--vf-muted); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.mp-facts dd { margin: 4px 0 0; font-weight: 650; }
.mp-facts dd.is-yes::before { content: "✓ "; color: var(--vf-blue); }
.mp-facts dd.is-no { color: var(--vf-muted); font-weight: 500; }

.mp-meters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.mp-meter { position: relative; overflow: hidden; display: grid; gap: 10px; padding: 18px; border: 1px solid var(--vf-glass-line); border-radius: 20px; background: var(--vf-glass); }
.mp-meter::before { content: ""; position: absolute; right: -50px; top: -50px; width: 150px; height: 150px; border-radius: 50%; background: radial-gradient(circle, rgba(92, 180, 255, .3), transparent 70%); pointer-events: none; }
.mp-meter-electricity::before { background: radial-gradient(circle, rgba(255, 180, 140, .38), transparent 70%); }
.mp-meter-head { display: flex; align-items: center; gap: 12px; }
.mp-meter-head strong { display: block; }
.mp-meter-head small { color: var(--vf-muted); font-size: .8rem; }
.mp-meter-icon { flex: 0 0 auto; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--vf-sky), var(--vf-blue)); }
.mp-meter-electricity .mp-meter-icon { background: linear-gradient(135deg, #ffc9a8, #ff9466); }
.mp-meter-icon svg { width: 22px; height: 22px; }
.mp-meter-value { display: flex; align-items: baseline; gap: 8px; }
.mp-meter-value strong { font-size: 2.1rem; font-weight: 780; letter-spacing: -.04em; font-variant-numeric: tabular-nums; line-height: 1; }
.mp-meter-value span { color: var(--vf-muted); font-weight: 650; }
.mp-meter-meta { margin: 0; color: var(--vf-muted); font-size: .84rem; line-height: 1.5; }
.mp-meter-meta b { color: var(--vf-ink); }
.mp-meter-pending { display: flex; gap: 9px; padding: 10px 12px; border-radius: 13px; color: var(--vf-blue-ink); background: rgba(26, 124, 255, .1); font-size: .82rem; line-height: 1.4; }
.mp-meter-pending .vf-icon { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 1px; }
.mp-meter-ref { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }
.mp-meter-ref > div { padding: 12px 14px; border: 1px solid var(--vf-glass-line); border-radius: 15px; background: var(--vf-glass); }
.mp-meter-ref small { display: block; color: var(--vf-muted); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.mp-meter-ref strong { display: block; margin-top: 4px; }

.mp-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 1px solid rgba(26, 124, 255, .32); border-radius: 14px; color: var(--vf-blue-ink); background: rgba(26, 124, 255, .08); font: inherit; font-size: .92rem; font-weight: 650; text-decoration: none; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; }
.mp-button:hover { transform: translateY(-1px); background: rgba(26, 124, 255, .14); }
.mp-button.is-primary { border-color: transparent; color: #fff; background: linear-gradient(135deg, #3d97ff, #1a6dff 60%, #5a63f5); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 14px 26px -14px rgba(26, 124, 255, .9); }
.mp-button.is-primary:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 18px 30px -14px rgba(26, 124, 255, 1); }
.mp-button.is-quiet { border-color: var(--vf-glass-line); color: var(--vf-ink-2); background: var(--vf-glass); }
.mp-button.is-wide { width: 100%; margin-top: 14px; }

.mp-list { display: grid; }
.mp-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 14px; padding: 14px 0; border-top: 1px solid var(--vf-glass-line); }
.mp-row:first-child { border-top: 0; padding-top: 4px; }
.mp-row > div { min-width: 0; display: grid; gap: 3px; }
.mp-row small, .mp-ticket small, .mp-venues small { color: var(--vf-muted); line-height: 1.4; }
.mp-row-doc { grid-template-columns: 46px minmax(0, 1fr) auto; }
.mp-row-two { grid-template-columns: minmax(0, 1fr) auto; }
.mp-row-actions { display: flex; gap: 8px; }
.mp-amount { font-variant-numeric: tabular-nums; white-space: nowrap; }
.mp-doc-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; color: var(--vf-blue-ink); background: rgba(26, 124, 255, .1); font-size: .68rem; font-weight: 800; }
.mp-ticket { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 13px 0; border-top: 1px solid var(--vf-glass-line); color: inherit; text-decoration: none; }
.mp-ticket:first-child { border-top: 0; padding-top: 4px; }
.mp-ticket > div { min-width: 0; display: grid; gap: 3px; }
.mp-ticket strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-ticket:hover strong { color: var(--vf-blue-ink); }
.mp-venues { display: grid; gap: 10px; }
.mp-venues > div { display: grid; gap: 2px; padding: 12px 14px; border: 1px solid var(--vf-glass-line); border-radius: 15px; background: var(--vf-glass); }
.mp-empty { display: grid; justify-items: center; gap: 6px; padding: 26px 16px; text-align: center; grid-column: 1 / -1; }
.mp-empty.is-small { padding: 12px 8px; justify-items: start; text-align: left; }
.mp-empty .vf-icon { width: 30px; height: 30px; color: var(--vf-blue); opacity: .8; }
.mp-empty p { margin: 0; max-width: 420px; color: var(--vf-muted); font-size: .88rem; line-height: 1.5; }
.mp-contact { display: grid; margin: 0; }
.mp-contact > div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-top: 1px solid var(--vf-glass-line); }
.mp-contact > div:first-child { border-top: 0; padding-top: 0; }
.mp-contact dt { color: var(--vf-muted); }
.mp-contact dd { margin: 0; max-width: 62%; font-weight: 650; text-align: right; overflow-wrap: anywhere; }

.mp-cora { position: relative; overflow: hidden; }
.mp-cora::after { content: ""; position: absolute; right: -60px; bottom: -90px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(123, 108, 255, .25), transparent 70%); pointer-events: none; }
.mp-cora-head { display: flex; align-items: center; gap: 14px; }
.mp-cora > p { margin: 12px 0 0; color: var(--vf-muted); line-height: 1.5; font-size: .9rem; }
.mp-cora-orb { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #f0f8ff 0%, #7cc6ff 28%, #1a6dff 62%, #6a5cff 100%); box-shadow: 0 0 26px rgba(92, 180, 255, .8), inset 0 -6px 12px rgba(10, 30, 90, .45); animation: mp-orb 4s ease-in-out infinite; }
@keyframes mp-orb { 50% { transform: scale(1.07); box-shadow: 0 0 36px rgba(123, 108, 255, .85), inset 0 -6px 12px rgba(10, 30, 90, .45); } }
.mp-cora-form { position: relative; z-index: 1; display: grid; gap: 10px; margin-top: 14px; }
.mp-cora-form input, .mp-form input:not([type=radio]):not([type=checkbox]), .mp-form select, .mp-form textarea { width: 100%; min-height: 46px; padding: 11px 14px; border: 1px solid var(--vf-glass-line); border-radius: 14px; color: var(--vf-ink); background: var(--vf-glass); font: inherit; }
.mp-cora-form input:focus, .mp-form input:focus, .mp-form select:focus, .mp-form textarea:focus { outline: 2px solid rgba(26, 124, 255, .55); outline-offset: 1px; border-color: transparent; }
.mp-cora .cora-answer { position: relative; z-index: 1; margin-top: 14px; }

.mp-pagehead { padding: 8px 4px 0; }
.mp-pagehead h1 { margin: 10px 0 0; font-size: clamp(1.8rem, 4.5vw, 2.6rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.08; }
.mp-pagehead p { max-width: 640px; margin: 12px 0 0; color: var(--vf-muted); line-height: 1.55; }
.mp-form .field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.mp-form .field-wide { grid-column: 1 / -1; }
.mp-form .form-field { display: grid; gap: 6px; }
.mp-form .form-field label, .mp-choice legend { font-size: .86rem; font-weight: 650; }
.mp-form-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.mp-choice { margin: 0 0 18px; padding: 0; border: 0; display: grid; gap: 10px; }
.mp-choice legend { margin-bottom: 8px; padding: 0; }
.mp-choice-item { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border: 1px solid var(--vf-glass-line); border-radius: 16px; background: var(--vf-glass); cursor: pointer; transition: border-color .2s, background .2s; }
.mp-choice-item:has(input:checked) { border-color: rgba(26, 124, 255, .6); background: rgba(26, 124, 255, .09); box-shadow: 0 0 0 3px rgba(26, 124, 255, .1); }
.mp-choice-item input { width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--vf-blue); }
.mp-choice-item strong { display: block; }
.mp-choice-item small { display: block; margin-top: 2px; color: var(--vf-muted); line-height: 1.4; }
.mp-venue-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.mp-venue-cards .mp-card { display: grid; gap: 4px; }
.mp-venue-cards small, .mp-venue-cards p { color: var(--vf-muted); }
.mp-venue-cards p { margin: 10px 0 0; font-size: .88rem; line-height: 1.5; }

.mp-thread { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.mp-msg { max-width: 86%; display: grid; gap: 6px; justify-self: start; }
.mp-msg.is-own { justify-self: end; }
.mp-msg-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; padding: 0 6px; }
.mp-msg.is-own .mp-msg-meta { justify-content: flex-end; }
.mp-msg-meta strong { font-size: .86rem; }
.mp-msg-meta small { color: var(--vf-muted); font-size: .76rem; }
.mp-msg-body { padding: 14px 17px; border: 1px solid var(--vf-glass-line); border-radius: 6px 20px 20px 20px; background: var(--vf-glass); line-height: 1.55; overflow-wrap: anywhere; }
.mp-msg.is-own .mp-msg-body { border-color: transparent; border-radius: 20px 6px 20px 20px; color: #fff; background: linear-gradient(135deg, #3d97ff, #1a6dff 60%, #5a63f5); box-shadow: 0 14px 26px -16px rgba(26, 124, 255, .9); }
.mp-reply { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--vf-glass-line); }
.mp-reply textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--vf-glass-line); border-radius: 14px; color: var(--vf-ink); background: var(--vf-glass); font: inherit; }

.status-pill.request-status-open, .status-pill.rental-status-request, .status-pill.rental-status-review { color: #8a5200; background: #fff1dc; }
.status-pill.request-status-open > span, .status-pill.rental-status-request > span, .status-pill.rental-status-review > span { background: #f39a2b; }
.status-pill.request-status-answered, .status-pill.rental-status-confirmed { color: var(--vf-blue-ink); background: rgba(26, 124, 255, .12); }
.status-pill.request-status-answered > span, .status-pill.rental-status-confirmed > span { background: var(--vf-blue); }
.status-pill.request-status-closed, .status-pill.rental-status-completed, .status-pill.rental-status-cancelled { color: var(--vf-muted); background: rgba(102, 118, 140, .14); }
.status-pill.request-status-closed > span, .status-pill.rental-status-completed > span, .status-pill.rental-status-cancelled > span { background: var(--vf-muted); }
html[data-theme="dark"] .status-pill.request-status-open, html[data-theme="dark"] .status-pill.rental-status-request, html[data-theme="dark"] .status-pill.rental-status-review { color: #ffcf8f; background: rgba(243, 154, 43, .16); }
.mp-page .status-pill.lease-status-active, .mp-page .status-pill.invoice-status-open { color: var(--vf-blue-ink); background: rgba(26, 124, 255, .12); }
.mp-page .status-pill.lease-status-active > span, .mp-page .status-pill.invoice-status-open > span { background: var(--vf-blue); }

/* Verwaltung: Liste der Mitgliederanfragen */
.req-metrics { grid-template-columns: repeat(3, 1fr) !important; }
.req-list { display: grid; }
.req-row { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) auto auto; align-items: center; gap: 18px; padding: 15px 4px; border-top: 1px solid var(--vf-glass-line); color: inherit; text-decoration: none; }
.req-row:first-child { border-top: 0; }
.req-row > div { min-width: 0; display: grid; gap: 3px; }
.req-row small { display: block; color: var(--vf-muted); font-weight: 400; }
.req-row.is-open strong::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: #f39a2b; vertical-align: middle; }
.req-row:hover strong { color: var(--vf-blue-ink); }
.req-meta { font-size: .88rem; }
.mp-staff-thread .mp-thread { margin-top: 6px; }

html[data-theme="dark"] .mp-hero { background: radial-gradient(80% 120% at 100% 0%, rgba(43, 140, 255, .32), transparent 55%), radial-gradient(70% 90% at 0% 100%, rgba(123, 108, 255, .3), transparent 60%), rgba(18, 28, 48, .72); border: 1px solid rgba(255, 255, 255, .09); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 30px 60px -30px rgba(0, 0, 0, .8); }
html[data-theme="dark"] .mp-banner { color: #a9d4ff; }

@media (max-width: 980px) {
  .mp-grid { grid-template-columns: 1fr; }
  .mp-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .req-row { grid-template-columns: minmax(0, 1fr) auto; }
  .req-row .req-meta { display: none; }
}
@media (max-width: 680px) {
  .mp-top { flex-wrap: wrap; gap: 10px 14px; padding: 10px 14px; }
  .mp-nav { order: 3; flex-basis: 100%; margin: 0 -6px; }
  .mp-user { margin-left: auto; }
  .mp-user > span, .mp-logout span { display: none; }
  .mp-logout { width: 40px; padding: 0; justify-content: center; }
  .mp-main { padding-top: 16px; gap: 14px; }
  .mp-hero { flex-direction: column; align-items: flex-start; border-radius: 24px; }
  .mp-actions a { flex: 1 1 100%; justify-content: center; }
  .mp-card { padding: 18px; border-radius: 20px; }
  .mp-card > header { flex-direction: column; align-items: flex-start; gap: 4px; }
  .mp-card > header p { text-align: left; }
  .mp-meters, .mp-form .field-grid, .mp-meter-ref { grid-template-columns: 1fr; }
  .mp-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mp-row { grid-template-columns: minmax(0, 1fr) auto; }
  .mp-row-doc { grid-template-columns: 46px minmax(0, 1fr); }
  .mp-row-actions, .mp-row-doc .mp-button { grid-column: 1 / -1; }
  .mp-row-actions .mp-button, .mp-row-doc .mp-button { flex: 1; }
  .mp-msg { max-width: 96%; }
  .mp-form-actions .mp-button { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) { .mp-cora-orb { animation: none; } }

/* Mitgliederbereich: gut sichtbare Eingabefelder und Feinschliff */
body.mp-page, .mp-staff-thread { --mp-line: rgba(15, 27, 45, .17); }
html[data-theme="dark"] body.mp-page, html[data-theme="dark"] .mp-staff-thread { --mp-line: rgba(255, 255, 255, .2); }
.mp-cora-form input, .mp-form input:not([type=radio]):not([type=checkbox]), .mp-form select, .mp-form textarea, .mp-reply textarea { border-color: var(--mp-line); background: rgba(255, 255, 255, .72); }
html[data-theme="dark"] .mp-cora-form input, html[data-theme="dark"] .mp-form input:not([type=radio]):not([type=checkbox]), html[data-theme="dark"] .mp-form select, html[data-theme="dark"] .mp-form textarea, html[data-theme="dark"] .mp-reply textarea { background: rgba(8, 14, 28, .5); }
.mp-form .field-help { color: var(--vf-muted); font-size: .8rem; line-height: 1.4; }
.mp-form .field-error, .mp-choice .field-error { color: #c0392b; font-size: .82rem; font-weight: 600; }
.mp-form .has-error input, .mp-form .has-error select, .mp-form .has-error textarea { border-color: #e0685c; }
.dashboard-hero.req-hero { align-items: flex-end; }
.dashboard-hero.req-hero .status-pill { flex: 0 0 auto; color: #fff; background: rgba(255, 255, 255, .2); border: 1px solid rgba(255, 255, 255, .35); }
.dashboard-hero.req-hero .status-pill > span { background: #fff; }
@media (max-width: 680px) {
  .mp-kpis { gap: 10px; }
  .mp-kpi { align-items: flex-start; gap: 10px; padding: 14px 12px; border-radius: 18px; }
  .mp-kpi-icon { width: 36px; height: 36px; border-radius: 12px; }
  .mp-kpi-icon .vf-icon { width: 18px; height: 18px; }
  .mp-kpi small { font-size: .6rem; letter-spacing: .05em; }
  .mp-kpi strong { font-size: 1.25rem; }
  .mp-kpi em, .mp-kpi strong { white-space: normal; overflow: visible; }
}
.mp-form input:not([type=radio]):not([type=checkbox]), .mp-form select, .mp-form textarea, .mp-reply textarea, .mp-cora-form input { border: 1px solid var(--mp-line) !important; }
.dashboard-hero.req-hero h1 { font-size: clamp(1.6rem, 3vw, 2.3rem); }
.dashboard-hero.req-hero > div > p { position: static; margin: 12px 0 0; color: rgba(255, 255, 255, .9) !important; opacity: 1; }

/* Parzellenfotos (rc67) */
.parcel-thumb-cell { width: 64px; }
.parcel-thumb { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; object-fit: cover; border: 1px solid var(--vf-line, rgba(127,140,170,.25)); }
.parcel-thumb-empty { color: var(--vf-muted); background: rgba(92,180,255,.08); border-style: dashed; font-weight: 700; transition: background .2s, color .2s; }
.parcel-thumb-cell a:hover .parcel-thumb-empty, .parcel-thumb-cell a:focus-visible .parcel-thumb-empty { color: #1a7cff; background: rgba(26,124,255,.14); }
.parcel-photo-current { margin-bottom: 10px; display: flex; align-items: center; gap: 14px; }
.parcel-photo-current img { width: 160px; height: 110px; object-fit: cover; border-radius: 14px; border: 1px solid var(--vf-line, rgba(127,140,170,.25)); }
.parcel-photo-current small { color: var(--vf-muted); font-size: .8rem; }
@media (max-width: 760px) { .parcel-thumb-cell { width: auto; } .parcel-thumb-cell::before { content: none !important; } }

/* Sperrliste und Ausweisdokumente (rc68) */
.blocklist-badge { display: inline-block; margin-left: 8px; padding: 2px 9px; border-radius: 999px; font-size: .72rem; font-weight: 700; letter-spacing: .02em; color: #b4232f; background: rgba(229, 72, 77, .12); border: 1px solid rgba(229, 72, 77, .28); vertical-align: middle; }
.blocklist-pill { color: #b4232f; background: rgba(229, 72, 77, .12); }
.blocklist-pill > span { background: #e5484d; }
.blocklist-hit { display: flex; gap: 18px; align-items: flex-start; margin: 0 0 22px; padding: 22px 24px; border-radius: 22px; background: linear-gradient(135deg, rgba(229, 72, 77, .12), rgba(255, 180, 140, .14)); border: 1px solid rgba(229, 72, 77, .32); box-shadow: var(--vf-glass-shadow); }
.blocklist-hit h2 { margin: 2px 0 8px; font-size: 1.2rem; color: #9b1c27; }
.blocklist-hit p { margin: 4px 0; }
.blocklist-hit-icon { font-size: 1.7rem; line-height: 1; }
.blocklist-reason { padding: 10px 14px; border-left: 3px solid rgba(229, 72, 77, .55); background: rgba(255, 255, 255, .45); border-radius: 0 12px 12px 0; white-space: pre-line; }
.blocklist-release { border: 1px solid rgba(229, 72, 77, .32); }
.blocklist-alert { border-color: rgba(229, 72, 77, .4); }
.blocklist-actions { display: grid; gap: 18px; margin-top: 22px; }
.blocklist-link { color: #b4232f !important; border-color: rgba(229, 72, 77, .35) !important; }
.dossier-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: flex-end; }
.dossier-actions .vf-icon { width: 18px; height: 18px; vertical-align: -4px; }
.id-doc { margin-bottom: 18px; }
.id-doc .section-heading { align-items: flex-start; }
.id-doc-facts { margin: 4px 0 18px; }
.id-doc-images { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.id-doc-image { margin: 0; display: grid; gap: 8px; }
.id-doc-image figcaption { font-size: .8rem; color: var(--vf-muted); }
.id-doc-image img { display: block; width: 100%; border-radius: 14px; border: 1px solid var(--vf-glass-edge); box-shadow: var(--vf-glass-shadow); }
.id-doc-reveal { display: grid; place-items: center; gap: 6px; aspect-ratio: 85.6 / 54; width: 100%; border-radius: 14px; border: 1.5px dashed rgba(26, 124, 255, .35); background: repeating-linear-gradient(135deg, rgba(26, 124, 255, .05) 0 12px, rgba(26, 124, 255, .09) 12px 24px); color: var(--vf-blue-ink); font: inherit; font-weight: 650; cursor: pointer; transition: background .2s, border-color .2s; }
.id-doc-reveal:hover, .id-doc-reveal:focus-visible { border-color: var(--vf-blue); background: rgba(26, 124, 255, .12); }
.id-doc-reveal span { font-size: 1.4rem; }
.id-doc-hint { margin: 6px 0 16px; padding: 12px 16px; border-radius: 14px; background: rgba(92, 180, 255, .1); font-size: .9rem; }
.consent-box { margin: 0 0 16px; padding: 14px 16px; border-radius: 14px; border: 1px solid rgba(26, 124, 255, .25); background: rgba(26, 124, 255, .05); }
.consent-box.has-error { border-color: rgba(229, 72, 77, .5); background: rgba(229, 72, 77, .06); }
.consent-box small { display: block; color: var(--vf-muted); font-weight: 400; }
html[data-theme="dark"] .blocklist-hit h2, html[data-theme="dark"] .blocklist-badge, html[data-theme="dark"] .blocklist-pill, html[data-theme="dark"] .blocklist-link { color: #ff8a8f !important; }
html[data-theme="dark"] .blocklist-reason { background: rgba(0, 0, 0, .2); }
html[data-theme="dark"] .id-doc-reveal { color: var(--vf-sky); }

/* Jährliche Pacht an der Parzelle (rc69) */
.rent-suggest { margin-top: 8px; padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(26, 124, 255, .3); background: rgba(26, 124, 255, .07); color: var(--vf-blue-ink); font: inherit; font-size: .82rem; font-weight: 650; cursor: pointer; justify-self: start; transition: background .2s, border-color .2s; }
.rent-suggest:hover, .rent-suggest:focus-visible { background: rgba(26, 124, 255, .14); border-color: var(--vf-blue); }
.rent-suggest.is-done::before { content: "✓ "; }
.rent-hint { display: block; margin-top: 6px; font-size: .8rem; color: var(--vf-muted); }
.rent-hint.is-auto { color: #16825d; font-weight: 600; }
.rent-hint.is-diff { color: #b26a00; font-weight: 600; }
.parcel-rent { display: block; margin-top: 2px; font-size: .78rem; color: var(--vf-muted); white-space: nowrap; }
.parcel-rent.is-missing { color: #b26a00; }
.rent-fill { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px; padding: 12px 16px; border-radius: 16px; background: rgba(255, 180, 140, .14); border: 1px solid rgba(255, 160, 100, .3); font-size: .9rem; }
.rent-fill span { flex: 1 1 320px; }
html[data-theme="dark"] .rent-suggest { color: var(--vf-sky); }
html[data-theme="dark"] .rent-hint.is-auto { color: #5fd3a3; }
html[data-theme="dark"] .rent-hint.is-diff, html[data-theme="dark"] .parcel-rent.is-missing { color: #ffc27a; }
.facility-form .form-field { align-content: start; }

/* ==========================================================================
   Cora als ruhig atmende Kugel (rc70)
   Farbe = höchste offene Dringlichkeit: blau (ruhig) · bernstein (prüfen) · rot (dringend)
   ========================================================================== */
html[data-theme] .cora-orb {
  --cs-hi: #f2f9ff; --cs-1: #8fd0ff; --cs-2: #1a7cff; --cs-3: #6a5cff; --cs-glow: rgba(80, 170, 255, .7);
  --cs-speed: 5.6s;
  --orb-a: color-mix(in srgb, var(--cs-1) 70%, white); --orb-b: var(--cs-1); --orb-c: var(--cs-3);
  position: relative; display: inline-block; flex: 0 0 var(--orb-size); width: var(--orb-size); height: var(--orb-size);
  overflow: visible; isolation: isolate; border: 0; border-radius: 50%; background: none; box-shadow: none;
  animation: none; filter: none; transform: none; vertical-align: middle;
}
html[data-theme] .cora-orb.is-warning {
  --cs-hi: #fff8e6; --cs-1: #ffd77a; --cs-2: #ff9f2e; --cs-3: #e8602b; --cs-glow: rgba(255, 168, 60, .68); --cs-speed: 4.4s;
}
html[data-theme] .cora-orb.is-urgent {
  --cs-hi: #fff1f1; --cs-1: #ff9ba1; --cs-2: #ec3b50; --cs-3: #a8174f; --cs-glow: rgba(255, 72, 92, .66); --cs-speed: 3.2s;
}
html[data-theme] .cora-orb:is(.is-thinking, .is-active):not(.is-warning):not(.is-urgent) { --cs-1: #a9e0ff; --cs-2: #2f8cff; --cs-3: #7f6cff; }
html[data-theme] .cora-orb:is(.is-thinking, .is-active) { --cs-speed: 2.2s; }
html[data-theme] .cora-orb.is-sounding { --cs-speed: 1.1s; }
html[data-theme] .cora-orb > .cora-orb-core { display: none; }
html[data-theme] .cora-orb-sphere {
  position: absolute; inset: 0; z-index: 2; display: block; overflow: hidden; border-radius: 50%;
  background: radial-gradient(circle at 34% 28%, var(--cs-hi) 0%, var(--cs-1) 24%, var(--cs-2) 60%, var(--cs-3) 100%);
  box-shadow:
    0 0 calc(var(--orb-size) * .3) var(--cs-glow),
    0 0 calc(var(--orb-size) * .7) color-mix(in srgb, var(--cs-3) 38%, transparent),
    inset 0 calc(var(--orb-size) * -.09) calc(var(--orb-size) * .2) rgba(8, 20, 60, .4),
    inset 0 calc(var(--orb-size) * .04) calc(var(--orb-size) * .1) rgba(255, 255, 255, .35);
  animation: cora-sphere-breathe var(--cs-speed) ease-in-out infinite;
}
html[data-theme] .cora-orb-sphere > .cora-orb-cloud { opacity: .5; mix-blend-mode: screen; animation-duration: calc(var(--cs-speed) * 2.4); }
html[data-theme] .cora-orb-shine {
  position: absolute; left: 17%; top: 11%; width: 40%; height: 28%; border-radius: 50%;
  background: radial-gradient(ellipse at 50% 50%, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0) 70%);
  transform: rotate(-24deg); filter: blur(.5px); opacity: .85;
}
html[data-theme] .cora-orb-halo {
  position: absolute; inset: 0; z-index: 1; border-radius: 50%; pointer-events: none; opacity: 0;
  border: max(1px, calc(var(--orb-size) * .022)) solid color-mix(in srgb, var(--cs-1) 85%, white);
  box-shadow: 0 0 calc(var(--orb-size) * .16) var(--cs-glow);
  animation: cora-orb-halo var(--cs-speed) ease-out infinite;
}
html[data-theme] .cora-orb-halo-late { animation-delay: calc(var(--cs-speed) / -2); }
html[data-theme] .cora-message-mark .cora-orb-halo, html[data-theme] .cora-orb--xs .cora-orb-halo-late { display: none; }
@keyframes cora-sphere-breathe {
  0%, 100% { transform: scale(.965); filter: brightness(.98) saturate(.96); }
  50% { transform: scale(1.03); filter: brightness(1.07) saturate(1.08); }
}
@keyframes cora-orb-halo {
  0% { transform: scale(.94); opacity: .55; }
  70% { opacity: 0; }
  100% { transform: scale(1.7); opacity: 0; }
}
html[data-theme] .dashboard-hero-cora .dashboard-hero-orb { filter: none; }
html[data-theme] .dashboard-hero-cora .dashboard-cora-orbit { border-color: rgba(255, 255, 255, .22); }
html[data-theme] .dashboard-hero-cora .dashboard-cora-orbit::after { background: #8fd0ff; box-shadow: 0 0 12px rgba(143, 208, 255, .8); }
html[data-theme] .dashboard-hero-cora.is-warning .dashboard-cora-orbit::after { background: #ffc24d; box-shadow: 0 0 12px rgba(255, 180, 60, .8); }
html[data-theme] .dashboard-hero-cora.is-urgent .dashboard-cora-orbit::after { background: #ff6b7a; box-shadow: 0 0 12px rgba(255, 80, 100, .8); }

/* Das „C“ in den Cora-Hinweiskarten wird zur kleinen, ruhigen Kugel. */
html[data-theme] .cora-card > .cora-mark, html[data-theme] .portal-cora-card .cora-mark {
  color: transparent; font-size: 0; overflow: hidden; border: 0; border-radius: 50%;
  background: radial-gradient(circle at 34% 28%, #f2f9ff 0%, #8fd0ff 24%, #1a7cff 60%, #6a5cff 100%);
  box-shadow: 0 0 14px rgba(80, 170, 255, .55), inset 0 -4px 9px rgba(8, 20, 60, .35);
  animation: cora-sphere-breathe 5.6s ease-in-out infinite;
}
html[data-theme] .cora-card > .cora-mark > *, html[data-theme] .portal-cora-card .cora-mark > * { display: none; }

@media (prefers-reduced-motion: reduce) {
  html[data-theme] .cora-orb-sphere, html[data-theme] .cora-orb-halo, html[data-theme] .cora-orb-sphere > .cora-orb-cloud,
  html[data-theme] .cora-card > .cora-mark, html[data-theme] .portal-cora-card .cora-mark { animation: none !important; }
}
html[data-theme] .dashboard-cora-trigger .cora-trigger-orb { --orb-size: 20px; margin-right: 2px; }
html[data-theme] .dashboard-cora-trigger .cora-trigger-orb .cora-orb-halo-late { display: none; }

/* Cora-Assistent: letzte grüne Reste auf Markenfarben */
html[data-theme] .cora-assistant-head { background: linear-gradient(140deg, #3d9bff 0%, #1a6dff 48%, #5b4fe0 100%); }
html[data-theme] .cora-assistant-head small { color: rgba(225, 238, 255, .85); }
html[data-theme] .cora-assistant-context { background: color-mix(in srgb, var(--vf-ice) 55%, white); }
html[data-theme] .cora-assistant-context > span { color: var(--vf-blue); }
html[data-theme="dark"] .cora-assistant-head { background: linear-gradient(140deg, #1d4fa8 0%, #143a85 55%, #2d2a7a 100%); }
html[data-theme="dark"] .cora-assistant-context { border-color: rgba(255, 255, 255, .08); background: rgba(92, 180, 255, .07); }
html[data-theme="dark"] .cora-assistant-context > span { color: var(--vf-sky); }
html[data-theme] .cora-assistant { border-color: rgba(26, 124, 255, .18); }
html[data-theme="dark"] .cora-assistant { border-color: rgba(92, 180, 255, .18); color: var(--vf-ink); background: rgba(12, 20, 38, .98); }
html[data-theme="dark"] .cora-assistant-context strong { color: var(--vf-sky); }
html[data-theme] .dashboard-cora > summary .cora-trigger-orb { --orb-size: 20px; margin-right: 6px; }
html[data-theme] .dashboard-cora > summary .cora-trigger-orb .cora-orb-halo-late { display: none; }
html[data-theme] .cora-alert-orb { --orb-size: 38px; margin-right: 4px; }
html[data-theme] .cora-composer textarea:focus-visible { outline: 0 !important; }
html[data-theme="dark"] .cora-composer:focus-within { border-color: var(--vf-sky); box-shadow: 0 0 0 3px rgba(92, 180, 255, .2); }
html[data-theme] .cora-composer:focus-within { border-color: var(--vf-blue); box-shadow: 0 0 0 3px rgba(26, 124, 255, .14); }
html[data-theme] .cora-center-ask .cora-trigger-orb { --orb-size: 22px; margin-right: 4px; }

/* Dashboard: Cora-Kugel dezenter (rc71) */
html[data-theme] body.dashboard-page .dashboard-hero-cora { min-height: 150px; grid-template-columns: 84px minmax(0, 1fr); gap: 18px; padding: 22px 22px; }
html[data-theme] body.dashboard-page .dashboard-hero-cora .dashboard-hero-orb { --orb-size: 68px; justify-self: center; }
html[data-theme] body.dashboard-page .dashboard-hero-cora .dashboard-cora-orbit { left: 10px; top: 50%; width: 108px; height: 108px; margin-top: -54px; }
html[data-theme] body.dashboard-page .dashboard-hero-cora .dashboard-cora-orbit::before { inset: 10px; }
@media (max-width: 760px) {
  html[data-theme] body.dashboard-page .dashboard-hero-cora { min-height: 124px; grid-template-columns: 70px minmax(0, 1fr); gap: 14px; padding: 16px; }
  html[data-theme] body.dashboard-page .dashboard-hero-cora .dashboard-hero-orb { --orb-size: 56px; }
  html[data-theme] body.dashboard-page .dashboard-hero-cora .dashboard-cora-orbit { left: 4px; width: 90px; height: 90px; margin-top: -45px; }
}

/* Sprachauswahl Login und Mitgliederbereich (rc71) */
.vf-lang { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 22px; }
.vf-lang-label { display: inline-flex; align-items: center; gap: 6px; margin-right: 4px; color: var(--vf-muted, #5b6b82); font-size: .78rem; font-weight: 600; letter-spacing: .02em; }
.vf-lang-label .vf-icon { width: 15px; height: 15px; }
.vf-lang button { width: auto; min-height: 0; margin: 0; padding: 6px 11px; border: 1px solid rgba(26, 124, 255, .16); border-radius: 999px; color: var(--vf-ink, #10203a); background: rgba(255, 255, 255, .62); box-shadow: none; font: inherit; font-size: .8rem; font-weight: 600; line-height: 1.2; cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
.vf-lang button:hover { border-color: rgba(26, 124, 255, .4); background: rgba(232, 242, 255, .9); transform: none; }
.vf-lang button.is-active { border-color: transparent; color: #fff; background: linear-gradient(135deg, #1a7cff, #0b5be0); }
.vf-lang button:focus-visible { outline: 2px solid #5cb4ff; outline-offset: 2px; }
.vf-lang.is-compact { margin: 0; gap: 3px; padding: 3px; border: 1px solid rgba(26, 124, 255, .14); border-radius: 999px; background: rgba(255, 255, 255, .5); }
.vf-lang.is-compact button { padding: 4px 8px; border: 0; background: transparent; font-size: .7rem; letter-spacing: .04em; }
.vf-lang.is-compact button.is-active { background: linear-gradient(135deg, #1a7cff, #0b5be0); }
html[data-theme="dark"] .vf-lang-label { color: rgba(214, 228, 250, .7); }
html[data-theme="dark"] .vf-lang button { border-color: rgba(92, 180, 255, .2); color: #dce8fb; background: rgba(255, 255, 255, .05); }
html[data-theme="dark"] .vf-lang button:hover { background: rgba(92, 180, 255, .14); }
html[data-theme="dark"] .vf-lang button.is-active { color: #fff; background: linear-gradient(135deg, #2f8cff, #1a5fe0); }
html[data-theme="dark"] .vf-lang.is-compact { border-color: rgba(92, 180, 255, .18); background: rgba(255, 255, 255, .04); }
html[data-theme="dark"] .vf-lang.is-compact button { background: transparent; }
html[data-theme="dark"] .vf-lang.is-compact button.is-active { background: linear-gradient(135deg, #2f8cff, #1a5fe0); }
@media (max-width: 760px) { .vf-lang.is-compact button { padding: 4px 6px; } }
/* Sprachauswahl in der Anmeldekarte: nicht wie der Anmelde-Button darstellen */
html[data-theme] body.auth-page .auth-card form.vf-lang { display: flex; gap: 6px; margin: -6px 0 22px; }
html[data-theme] body.auth-page .auth-card .vf-lang button[type="submit"] { min-height: 0; margin: 0; padding: 6px 12px; display: inline-flex; justify-content: center; border: 1px solid rgba(26, 124, 255, .18); border-radius: 999px; color: var(--vf-ink, #10203a); background: rgba(255, 255, 255, .7); box-shadow: none; font-size: .8rem; font-weight: 600; }
html[data-theme] body.auth-page .auth-card .vf-lang button[type="submit"]:hover { border-color: rgba(26, 124, 255, .42); background: rgba(232, 242, 255, .95); transform: none; }
html[data-theme] body.auth-page .auth-card .vf-lang button[type="submit"].is-active { border-color: transparent; color: #fff; background: linear-gradient(135deg, #1a7cff, #0b5be0); box-shadow: 0 6px 14px -8px rgba(26, 110, 240, .8); }
html[data-theme="dark"] body.auth-page .auth-card .vf-lang button[type="submit"] { border-color: rgba(92, 180, 255, .22); color: #dce8fb; background: rgba(255, 255, 255, .05); }
html[data-theme="dark"] body.auth-page .auth-card .vf-lang button[type="submit"]:hover { background: rgba(92, 180, 255, .14); }
html[data-theme="dark"] body.auth-page .auth-card .vf-lang button[type="submit"].is-active { color: #fff; background: linear-gradient(135deg, #2f8cff, #1a5fe0); }
html[data-theme] body.auth-page .auth-shell--glass .login-glass-card h2:lang(ru),
html[data-theme] body.auth-page .auth-shell--glass .login-glass-card h2:lang(uk) { font-size: clamp(2rem, 3vw, 2.7rem); }
