:root {
  color-scheme: light;
  --brand: #176b45;
  --brand-dark: #0e4b31;
  --brand-soft: #eaf6ee;
  --ink: #183128;
  --muted: #61756c;
  --line: #dbe6df;
  --paper: #ffffff;
  --canvas: #f4f7f4;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Cora Orb: eigenständige, zustandsabhängige Energie-Wolke */
.cora-orb {
  --orb-size: 46px;
  --orb-glow: 15px;
  --orb-inset: 12px;
  --orb-blur: 3px;
  --orb-font: 10px;
  --orb-a: #53e59a;
  --orb-b: #2bc9d6;
  --orb-c: #2f78df;
  --orb-core: #edfff5;
  --orb-speed: 9s;
  width: var(--orb-size);
  height: var(--orb-size);
  flex: 0 0 var(--orb-size);
  display: inline-grid;
  place-items: center;
  overflow: hidden;
  position: relative;
  isolation: isolate;
  border: 1px solid rgba(213,255,235,.72);
  border-radius: 50%;
  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%),
    #123c34;
  box-shadow: 0 0 var(--orb-glow) color-mix(in srgb, var(--orb-a) 42%, transparent), inset 0 0 var(--orb-inset) rgba(255,255,255,.2);
  animation: cora-orb-breathe 4.8s ease-in-out infinite;
  transform: translateZ(0);
}
.cora-orb--xs { --orb-size: 31px; --orb-glow: 10px; --orb-inset: 8px; --orb-blur: 2px; --orb-font: 7px; }
.cora-orb--sm { --orb-size: 38px; --orb-glow: 12px; --orb-inset: 10px; --orb-blur: 2px; --orb-font: 8px; }
.cora-orb--md { --orb-size: 46px; }
.cora-orb--lg { --orb-size: 62px; --orb-glow: 20px; --orb-inset: 15px; --orb-blur: 4px; --orb-font: 13px; }
.cora-orb--xl { --orb-size: 104px; --orb-glow: 34px; --orb-inset: 26px; --orb-blur: 6px; --orb-font: 21px; }
.cora-orb-cloud { position: absolute; display: block; border-radius: 44% 56% 61% 39% / 48% 38% 62% 52%; filter: blur(var(--orb-blur)); opacity: .78; mix-blend-mode: screen; }
.cora-orb-cloud-a { width: 82%; height: 65%; left: -9%; top: 12%; background: radial-gradient(circle at 60% 45%, var(--orb-a), transparent 68%); animation: cora-cloud-a var(--orb-speed) ease-in-out infinite; }
.cora-orb-cloud-b { width: 74%; height: 79%; right: -8%; top: -7%; background: radial-gradient(circle at 35% 62%, var(--orb-b), transparent 70%); animation: cora-cloud-b 7s ease-in-out infinite reverse; }
.cora-orb-cloud-c { width: 88%; height: 56%; left: 15%; bottom: -12%; background: radial-gradient(circle at 45% 25%, var(--orb-c), transparent 69%); animation: cora-cloud-c 5.6s ease-in-out infinite; }
.cora-orb-core { z-index: 2; width: 42%; height: 42%; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: #0a6047; background: color-mix(in srgb, var(--orb-core) 82%, transparent); box-shadow: 0 0 8px rgba(255,255,255,.58), inset 0 0 8px rgba(61,220,164,.13); line-height: 1; backdrop-filter: blur(2px); }
.cora-orb-ai { width: 76%; height: 76%; overflow: visible; filter: drop-shadow(0 0 2px rgba(18,139,103,.28)); }
.cora-orb-ai-links { fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; opacity: .78; }
.cora-orb-ai-node { fill: var(--orb-core); stroke: currentColor; stroke-width: 1.35; transform-box: fill-box; transform-origin: center; animation: cora-ai-node-pulse 2.7s ease-in-out infinite; }
.cora-orb-ai-node:nth-of-type(2), .cora-orb-ai-node:nth-of-type(5) { animation-delay: -.9s; }
.cora-orb-ai-node:nth-of-type(3), .cora-orb-ai-node:nth-of-type(6) { animation-delay: -1.8s; }
.cora-orb-ai-node.node-core { fill: color-mix(in srgb, var(--orb-a) 34%, white); stroke-width: 1.6; }
.cora-orb-ai-spark { fill: #fff; filter: drop-shadow(0 0 2px white); animation: cora-ai-spark 1.9s ease-in-out infinite; }
.cora-orb.is-active, .cora-orb.is-thinking { --orb-speed: 2.8s; --orb-a: #63f4bf; --orb-b: #37dce9; --orb-c: #7a73ff; animation-duration: 1.55s; }
.cora-orb.is-active .cora-orb-cloud-b, .cora-orb.is-thinking .cora-orb-cloud-b { animation-duration: 2.2s; }
.cora-orb.is-active .cora-orb-cloud-c, .cora-orb.is-thinking .cora-orb-cloud-c { animation-duration: 1.75s; }
.cora-orb.is-warning { --orb-speed: 5s; --orb-a: #ffd56a; --orb-b: #f2a63e; --orb-c: #47d8b0; }
.cora-orb.is-urgent { --orb-speed: 2.7s; --orb-a: #ff9e62; --orb-b: #ff596f; --orb-c: #9b6cff; animation: cora-orb-urgent 1.65s ease-in-out infinite; }
.cora-orb.is-sounding { --orb-speed: 1.8s; animation: cora-orb-sound .64s ease-out infinite; }
.cora-orb.is-sounding .cora-orb-cloud-b { animation-duration: 1.4s; }
.cora-orb.is-sounding .cora-orb-cloud-c { animation-duration: 1.1s; }
@keyframes cora-cloud-a { 0%,100% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(155deg) scale(1.18) translate(7%,3%); } }
@keyframes cora-cloud-b { 0%,100% { transform: rotate(18deg) scale(1.08); } 50% { transform: rotate(-135deg) scale(.9) translate(-5%,8%); } }
@keyframes cora-cloud-c { 0%,100% { transform: rotate(-20deg) scale(.92); } 50% { transform: rotate(190deg) scale(1.2) translate(3%,-7%); } }
@keyframes cora-orb-breathe { 0%,100% { transform: scale(.97); filter: saturate(.94); } 50% { transform: scale(1.035); filter: saturate(1.13); } }
@keyframes cora-orb-urgent { 0%,100% { transform: scale(.96); box-shadow: 0 0 14px color-mix(in srgb, var(--orb-b) 38%, transparent); } 50% { transform: scale(1.055); box-shadow: 0 0 30px color-mix(in srgb, var(--orb-b) 62%, transparent); } }
@keyframes cora-orb-sound { 0% { transform: scale(.92); } 70% { transform: scale(1.08); box-shadow: 0 0 34px color-mix(in srgb, var(--orb-a) 70%, transparent); } 100% { transform: scale(.98); } }
@keyframes cora-ai-node-pulse { 0%,100% { opacity: .62; transform: scale(.82); } 50% { opacity: 1; transform: scale(1.15); } }
@keyframes cora-ai-spark { 0%,100% { opacity: .65; transform: scale(.72); } 50% { opacity: 1; transform: scale(1.35); } }
html[data-theme="dark"] .cora-orb { border-color: rgba(138,250,194,.42); background: radial-gradient(circle at 35% 27%, rgba(255,255,255,.9) 0 3%, transparent 16%), radial-gradient(circle at 50% 55%, color-mix(in srgb, var(--orb-a) 66%, transparent), transparent 64%), #071d1a; box-shadow: 0 0 var(--orb-glow) color-mix(in srgb, var(--orb-a) 46%, transparent), inset 0 0 var(--orb-inset) rgba(255,255,255,.13); }

/* Bestehende Cora-Karten erhalten dieselbe runde Formsprache. */
.cora-card > .cora-mark, .portal-cora-card .cora-mark {
  border-radius: 50%;
  background: radial-gradient(circle at 33% 28%, #eafff3 0 6%, transparent 18%), conic-gradient(from 30deg, #2bc9d6, #3b7de5, #55dc93, #2bc9d6);
  box-shadow: 0 0 18px rgba(45,199,153,.3);
  animation: cora-orb-breathe 4.8s ease-in-out infinite;
}

/* Cora V1: kontextbezogener, rein lesender Vereinsassistent */
.cora-launcher {
  position: fixed;
  z-index: 92;
  right: 82px;
  bottom: 22px;
  min-height: 48px;
  padding: 6px 15px 6px 7px;
  display: grid;
  grid-template-columns: 38px auto;
  grid-template-rows: auto auto;
  column-gap: 9px;
  align-items: center;
  border: 1px solid #b8d9c5;
  border-radius: 17px;
  color: #fff;
  background: linear-gradient(145deg, #24955d, var(--brand-dark));
  box-shadow: 0 16px 38px rgba(16,70,43,.25);
  cursor: pointer;
  transition: transform .22s var(--motion-ease, ease), box-shadow .22s ease;
}
.cora-launcher:hover { transform: translateY(-3px); box-shadow: 0 20px 44px rgba(16,70,43,.32); }
.cora-launcher > span { grid-row: 1 / 3; }
.cora-launcher .vf-icon { width: 19px; height: 19px; }
.cora-launcher strong { align-self: end; font-size: .82rem; line-height: 1.1; text-align: left; }
.cora-launcher small { align-self: start; color: #ccebd7; font-size: .62rem; line-height: 1.1; text-align: left; }
.cora-backdrop { position: fixed; z-index: 109; inset: 0; opacity: 0; background: rgba(8,25,16,.28); backdrop-filter: blur(2px); transition: opacity .22s ease; }
.cora-backdrop.is-open { opacity: 1; }
.cora-backdrop[hidden], .cora-assistant[hidden] { display: none; }
.cora-assistant {
  position: fixed;
  z-index: 110;
  top: 14px;
  right: 14px;
  bottom: 14px;
  width: min(430px, calc(100vw - 28px));
  display: grid;
  grid-template-rows: auto auto minmax(140px, 1fr) auto auto auto;
  overflow: hidden;
  border: 1px solid #bdd8c7;
  border-radius: 24px;
  color: var(--ink);
  background: rgba(250,253,251,.98);
  box-shadow: 0 28px 80px rgba(11,48,29,.28);
  transform: translateX(calc(100% + 32px));
  opacity: 0;
  transition: transform .28s var(--motion-spring, ease), opacity .2s ease;
  backdrop-filter: blur(20px);
}
.cora-assistant.is-open { transform: translateX(0); opacity: 1; }
.cora-assistant-head { min-height: 76px; padding: 14px 16px; display: grid; grid-template-columns: 46px minmax(0,1fr) 38px; align-items: center; gap: 11px; color: #fff; background: linear-gradient(145deg, #207d50, #0f5133); }
.cora-assistant-avatar { width: 46px; height: 46px; display: grid; place-items: center; }
.cora-assistant-avatar .vf-icon { width: 22px; height: 22px; }
.cora-assistant-head > div { display: grid; gap: 2px; }
.cora-assistant-head small { color: #bfe8cf; font-size: .65rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.cora-assistant-head strong { font-size: 1.12rem; }
.cora-assistant-head > button { width: 38px; height: 38px; border: 0; border-radius: 12px; color: #fff; background: rgba(255,255,255,.12); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.cora-assistant-context { min-height: 47px; padding: 9px 17px; display: grid; grid-template-columns: 8px auto minmax(0,1fr); align-items: center; gap: 8px; border-bottom: 1px solid var(--line); background: #f1f8f4; }
.cora-assistant-context > span { color: #3cc178; font-size: .58rem; }
.cora-assistant-context small { color: var(--muted); font-size: .68rem; }
.cora-assistant-context strong { overflow: hidden; color: var(--brand-dark); font-size: .72rem; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.cora-conversation { padding: 18px 16px; display: flex; flex-direction: column; gap: 15px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #aac7b5 transparent; }
.cora-message { display: grid; grid-template-columns: 31px minmax(0,1fr); align-items: start; gap: 9px; animation: vf-soft-in .25s ease both; }
.cora-message.is-user { display: flex; justify-content: flex-end; }
.cora-message.is-user > div { max-width: 84%; padding: 11px 13px; border-radius: 16px 16px 4px 16px; color: #fff; background: var(--brand); box-shadow: 0 8px 20px rgba(23,107,69,.13); }
.cora-message-mark { width: 31px; height: 31px; display: grid; place-items: center; }
.cora-message > div { min-width: 0; }
.cora-message strong { display: block; margin: 1px 0 5px; font-size: .86rem; }
.cora-message p { margin: 0; color: var(--ink); font-size: .8rem; line-height: 1.55; overflow-wrap: anywhere; }
.cora-message.is-user p { color: inherit; }
.cora-message small { display: block; margin-top: 7px; color: var(--muted); font-size: .66rem; line-height: 1.45; }
.cora-facts { margin-top: 11px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.cora-facts > span { min-height: 62px; padding: 9px 10px; display: flex; flex-direction: column; justify-content: center; gap: 3px; border: 1px solid #d8e5dc; border-radius: 12px; background: #fff; }
.cora-facts b { color: var(--brand-dark); font-size: 1.02rem; font-variant-numeric: tabular-nums; }
.cora-facts small { margin: 0; }
.cora-facts .is-warning { border-color: #ead9a8; background: #fffaf0; }
.cora-facts .is-danger { border-color: #ebc2bd; background: #fff4f2; }
.cora-facts .is-danger b { color: #a34037; }
.cora-results { margin-top: 10px; display: grid; gap: 6px; }
.cora-results > a { min-height: 54px; padding: 9px 10px 9px 12px; display: grid; grid-template-columns: minmax(0,1fr) 24px; align-items: center; gap: 8px; border: 1px solid #d2e2d8; border-radius: 12px; color: var(--ink); background: rgba(255,255,255,.84); text-decoration: none; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.cora-results > a:hover { transform: translateY(-1px); border-color: #9fc7ae; box-shadow: 0 8px 18px rgba(23,75,47,.08); }
.cora-results > a.is-warning { border-left: 3px solid #d49a31; }
.cora-results > a.is-danger { border-left: 3px solid #c45a4e; }
.cora-results > a > span:first-child { min-width: 0; display: grid; gap: 3px; }
.cora-results b { overflow: hidden; font-size: .72rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.cora-results small { margin: 0; overflow: hidden; font-size: .63rem; text-overflow: ellipsis; white-space: nowrap; }
.cora-result-arrow { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 8px; color: var(--brand); background: var(--brand-soft); font-size: .85rem; font-weight: 900; }
.cora-quick-actions { margin-top: 11px; padding: 10px; display: grid; grid-template-columns: 1fr; gap: 7px; border: 1px solid #cce0d3; border-radius: 13px; background: linear-gradient(145deg,rgba(242,250,245,.96),rgba(250,253,251,.9)); }
.cora-quick-actions > small { margin: 0 0 1px; color: var(--muted); font-size: .61rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.cora-quick-actions > button { min-height: 36px; padding: 7px 10px; border: 1px solid #bcd6c6; border-radius: 10px; color: var(--brand-dark); background: #fff; font: inherit; font-size: .68rem; font-weight: 820; text-align: left; cursor: pointer; }
.cora-quick-actions > button::after { content: "Vorschau →"; float: right; margin-left: 8px; color: var(--muted); font-size: .58rem; font-weight: 750; }
.cora-quick-actions > button:hover { border-color: var(--brand); background: #f7fcf9; }
.cora-quick-actions > button.is-primary { border-color: #76bb91; color: #fff; background: linear-gradient(145deg,#248a59,#176b45); }
.cora-quick-actions > button.is-primary::after { color: #d5f2df; }
.cora-actions { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 7px; }
.cora-actions a { min-height: 36px; padding: 0 11px; display: inline-flex; align-items: center; border: 1px solid #bcd6c6; border-radius: 10px; color: var(--brand-dark); background: #fff; font-size: .7rem; font-weight: 800; text-decoration: none; }
.cora-proposal { margin-top: 12px; padding: 12px; border: 1px solid #afd5bd; border-radius: 14px; background: linear-gradient(145deg,#f7fcf8,#edf8f1); box-shadow: 0 8px 22px rgba(23,107,69,.07); }
.cora-proposal > strong { margin: 0 0 9px; color: var(--brand-dark); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
.cora-proposal dl { margin: 0; display: grid; grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr); gap: 6px 10px; }
.cora-proposal dt { color: var(--muted); font-size: .67rem; font-weight: 750; }
.cora-proposal dd { margin: 0; color: var(--ink); font-size: .7rem; font-weight: 700; overflow-wrap: anywhere; white-space: pre-line; }
.cora-confirm { width: 100%; min-height: 40px; margin-top: 11px; border: 0; border-radius: 11px; color: #fff; background: var(--brand); font: inherit; font-size: .72rem; font-weight: 850; cursor: pointer; }
.cora-confirm:hover { background: var(--brand-dark); }
.cora-confirm:disabled { cursor: default; opacity: .7; }
.cora-proposal.is-completed { border-color: #9bd0ae; opacity: .76; }
.cora-proposal.is-completed .cora-confirm { background: #397a55; }
.cora-notice { padding-top: 8px; border-top: 1px solid var(--line); }
.cora-suggestions { padding: 3px 16px 12px; display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; }
.cora-suggestions::-webkit-scrollbar { display: none; }
.cora-suggestions button { flex: 0 0 auto; min-height: 34px; padding: 0 11px; border: 1px solid #c7ddd0; border-radius: 999px; color: var(--brand-dark); background: #f2faf5; font: inherit; font-size: .68rem; font-weight: 750; cursor: pointer; }
.cora-composer { margin: 0 14px 10px; padding: 5px 5px 5px 12px; display: grid; grid-template-columns: minmax(0,1fr) 42px; align-items: end; gap: 6px; border: 1px solid #b9d3c3; border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(23,75,47,.07); }
.cora-composer:focus-within { border-color: var(--brand); box-shadow: 0 0 0 4px rgba(23,107,69,.1); }
.cora-composer textarea { width: 100%; min-height: 38px; max-height: 120px; padding: 9px 0 7px; resize: none; border: 0; outline: 0; color: var(--ink); background: transparent; font: inherit; font-size: .78rem; line-height: 1.45; }
.cora-composer > button { width: 42px; height: 42px; display: grid; place-items: center; border: 0; border-radius: 12px; color: #fff; background: var(--brand); cursor: pointer; }
.cora-composer > button:disabled { cursor: wait; opacity: .58; }
.cora-composer .vf-icon { width: 18px; height: 18px; }
.cora-assistant > footer { min-height: 34px; padding: 7px 15px 10px; display: flex; align-items: center; justify-content: center; gap: 6px; color: var(--muted); font-size: .61rem; text-align: center; }
.cora-assistant > footer .vf-icon { width: 13px; height: 13px; color: var(--brand); }
.cora-sound-settings { margin: 0 14px 9px; border: 1px solid #d1e0d7; border-radius: 13px; background: #f7faf8; }
.cora-sound-settings > summary { min-height: 38px; padding: 8px 11px; display: flex; align-items: center; gap: 7px; cursor: pointer; color: var(--muted); font-size: .68rem; font-weight: 800; list-style: none; }
.cora-sound-settings > summary::-webkit-details-marker { display: none; }
.cora-sound-settings > summary > span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 7px; color: var(--brand); background: var(--brand-soft); transform: rotate(-18deg); }
.cora-sound-settings > summary > strong { margin-left: auto; padding: 3px 7px; border-radius: 999px; color: var(--brand-dark); background: #e2f4e8; font-size: .6rem; }
.cora-sound-settings[open] > summary { border-bottom: 1px solid #dbe7df; }
.cora-sound-settings form { padding: 11px; display: grid; gap: 9px; }
.cora-sound-settings form > label:not(.cora-sound-switch) { display: grid; grid-template-columns: 1fr 120px; align-items: center; gap: 10px; color: var(--ink); font-size: .7rem; font-weight: 750; }
.cora-sound-settings select { min-height: 34px; padding: 0 9px; border: 1px solid #c6d8cd; border-radius: 9px; color: var(--ink); background: #fff; font: inherit; font-size: .7rem; }
.cora-sound-switch { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cora-sound-switch > span { display: grid; gap: 2px; }
.cora-sound-switch strong { font-size: .7rem; }
.cora-sound-switch small { color: var(--muted); font-size: .61rem; }
.cora-sound-switch input { width: 34px; height: 19px; accent-color: var(--brand); }
.cora-sound-settings form > div { display: flex; justify-content: flex-end; gap: 7px; }
.cora-sound-settings form button { min-height: 32px; padding: 0 10px; font-size: .66rem; }
.cora-sound-result { min-height: 14px; color: var(--brand); font-size: .61rem; text-align: right; }
.cora-notification-settings { margin-top: 0; }
.cora-notification-settings form > small:not(.cora-sound-result) { color: var(--muted); font-size: .61rem; overflow-wrap: anywhere; }
.cora-thinking { height: 24px; display: flex; align-items: center; gap: 4px; }
.cora-thinking i { width: 6px; height: 6px; border-radius: 50%; background: #4cb77b; animation: cora-thinking 1s ease-in-out infinite; }
.cora-thinking i:nth-child(2) { animation-delay: .14s; }
.cora-thinking i:nth-child(3) { animation-delay: .28s; }
@keyframes cora-thinking { 0%,60%,100% { transform: translateY(0); opacity: .45; } 30% { transform: translateY(-4px); opacity: 1; } }

html[data-theme="dark"] .cora-assistant { border-color: #315241; color: #e6f1ea; background: rgba(17,29,22,.98); box-shadow: 0 28px 85px rgba(0,0,0,.5); }
html[data-theme="dark"] .cora-assistant-context { border-color: #2b4536; background: #14271d; }
html[data-theme="dark"] .cora-assistant-context strong { color: #b8efca; }
html[data-theme="dark"] .cora-message p { color: #dceae1; }
html[data-theme="dark"] .cora-message.is-user > div { background: #207d50; }
html[data-theme="dark"] .cora-facts > span { border-color: #304c3c; background: #17271e; }
html[data-theme="dark"] .cora-facts b { color: #b8efca; }
html[data-theme="dark"] .cora-facts .is-warning { border-color: #65532f; background: #2d2819; }
html[data-theme="dark"] .cora-facts .is-danger { border-color: #69413d; background: #2d1f1d; }
html[data-theme="dark"] .cora-facts .is-danger b { color: #ffaaa1; }
html[data-theme="dark"] .cora-results > a { border-color: #304c3c; color: #e4efe8; background: #17271e; }
html[data-theme="dark"] .cora-results > a:hover { border-color: #4f765f; box-shadow: 0 8px 18px rgba(0,0,0,.2); }
html[data-theme="dark"] .cora-result-arrow { color: #b8efca; background: #224532; }
html[data-theme="dark"] .cora-quick-actions { border-color: #315040; background: linear-gradient(145deg,#182a20,#14231a); }
html[data-theme="dark"] .cora-quick-actions > button { border-color: #365844; color: #c6efd4; background: #17271e; }
html[data-theme="dark"] .cora-quick-actions > button:hover { border-color: #64a87e; background: #1b3024; }
html[data-theme="dark"] .cora-quick-actions > button.is-primary { border-color: #4ba873; color: #fff; background: linear-gradient(145deg,#237e52,#155d3c); }
html[data-theme="dark"] .cora-actions a { border-color: #365844; color: #b8efca; background: #17271e; }
html[data-theme="dark"] .cora-proposal { border-color: #3b644b; background: linear-gradient(145deg,#182a20,#14231a); box-shadow: none; }
html[data-theme="dark"] .cora-proposal > strong { color: #b8efca; }
html[data-theme="dark"] .cora-proposal dd { color: #e1eee6; }
html[data-theme="dark"] .cora-suggestions button { border-color: #315441; color: #c6efd4; background: #17291f; }
html[data-theme="dark"] .cora-composer { border-color: #365744; background: #15241b; box-shadow: none; }
html[data-theme="dark"] .cora-composer textarea { color: #edf5f0; }
html[data-theme="dark"] .cora-sound-settings { border-color: #315040; background: #142219; }
html[data-theme="dark"] .cora-sound-settings[open] > summary { border-color: #2c4437; }
html[data-theme="dark"] .cora-sound-settings > summary > strong { color: #b8efca; background: #193728; }
html[data-theme="dark"] .cora-sound-settings select { border-color: #466454; color: #e7f1eb; background: #16261c; }

@media (max-width: 600px) {
  body.cora-is-open { overflow: hidden; }
  .cora-launcher { right: 66px; bottom: max(14px, env(safe-area-inset-bottom)); min-width: 48px; width: 48px; padding: 5px; grid-template-columns: 1fr; grid-template-rows: 1fr; border-radius: 15px; }
  .cora-launcher > span { grid-row: auto; width: 36px; height: 36px; }
  .cora-launcher > .cora-orb { --orb-size: 36px; }
  .cora-launcher > strong, .cora-launcher > small { display: none; }
  .cora-assistant { inset: 0; width: 100%; height: 100dvh; border: 0; border-radius: 0; }
  .cora-assistant-head { padding-top: max(14px, env(safe-area-inset-top)); }
  .cora-assistant > footer { padding-bottom: max(10px, env(safe-area-inset-bottom)); }
  .cora-message.is-user > div { max-width: 90%; }
}

@media (prefers-reduced-motion: reduce) {
  .cora-assistant, .cora-backdrop, .cora-launcher { transition: none; }
  .cora-thinking i { animation: none; }
  .cora-orb, .cora-orb-cloud, .cora-card > .cora-mark, .portal-cora-card .cora-mark { animation: none !important; }
  .cora-orb-ai-node, .cora-orb-ai-spark { animation: none !important; }
}

html { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }

* { box-sizing: border-box; }
.vf-icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.vf-icon { width: 1.15em; height: 1.15em; display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-size: 16px; }
button, input { font: inherit; }
select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.auth-page { min-height: 100vh; background: #eef4ef; }
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(320px, 1.08fr) minmax(390px, .92fr); }
.auth-brand { position: relative; overflow: hidden; min-height: 100vh; padding: clamp(42px, 7vw, 92px); display: flex; flex-direction: column; justify-content: space-between; color: white; background: radial-gradient(circle at 80% 15%, rgba(119, 205, 153, .28), transparent 30%), linear-gradient(145deg, #0f5135 0%, #123f2e 54%, #0b2d22 100%); }
.auth-brand::after { content: ""; position: absolute; right: -130px; bottom: -180px; width: 500px; height: 500px; border: 1px solid rgba(255,255,255,.12); border-radius: 45% 55% 62% 38%; transform: rotate(18deg); }
.brand-mark { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; color: var(--brand-dark); background: #d7f2df; font-size: 1.4rem; font-weight: 800; letter-spacing: -.06em; box-shadow: inset 0 0 0 1px rgba(255,255,255,.45); }
.brand-mark.small { width: 40px; height: 40px; border-radius: 13px; font-size: 1rem; }
.eyebrow { display: block; margin-bottom: 12px; color: #4d7865; font-size: .78rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.auth-brand .eyebrow { color: #a9d8ba; }
.auth-brand h1 { max-width: 650px; margin: 0; font-size: clamp(2.6rem, 5vw, 5.2rem); line-height: .98; letter-spacing: -.06em; }
.auth-brand p { max-width: 580px; margin: 24px 0 0; color: #cde2d5; font-size: clamp(1rem, 1.5vw, 1.22rem); line-height: 1.7; }
.trust-note { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; color: #cde2d5; font-size: .92rem; }
.trust-note span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: #0e4b31; background: #a8dfba; font-weight: 900; }
.auth-card { align-self: center; width: min(440px, calc(100% - 48px)); margin: 48px auto; padding: clamp(30px, 5vw, 52px); border: 1px solid var(--line); border-radius: 26px; background: var(--paper); box-shadow: 0 24px 70px rgba(30, 65, 49, .10); }
.auth-card h1, .auth-card h2 { margin: 0; font-size: clamp(2rem, 4vw, 2.8rem); letter-spacing: -.045em; }
.intro { margin: 10px 0 30px; color: var(--muted); line-height: 1.6; }
.auth-card form { display: grid; gap: 10px; }
.auth-card label, .auth-card form p { margin: 8px 0 0; color: #334b40; font-size: .9rem; font-weight: 750; }
.auth-card input { width: 100%; min-height: 50px; padding: 0 15px; border: 1px solid #cbd9d0; border-radius: 12px; color: var(--ink); background: white; outline: none; transition: border-color .18s, box-shadow .18s; }
.auth-card input:focus { border-color: var(--brand); box-shadow: 0 0 0 4px rgba(23,107,69,.12); }
.auth-card button { min-height: 52px; margin-top: 14px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; border: 0; border-radius: 13px; color: white; background: var(--brand); font-weight: 800; cursor: pointer; transition: background .18s, transform .18s; }
.auth-card button:hover { background: var(--brand-dark); transform: translateY(-1px); }
.form-alert { margin: 0 0 20px; padding: 13px 14px; border: 1px solid #efc7c1; border-radius: 12px; color: #812e24; background: #fff3f1; line-height: 1.45; }
.help-text { margin: 24px 0 0; color: var(--muted); font-size: .84rem; line-height: 1.55; }
.mobile-brand { display: none; align-items: center; gap: 12px; margin-bottom: 34px; }
.mobile-brand.always { display: flex; }
.single-card-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }

/* Zwei-Faktor-Anmeldung */
.mfa-setup-shell { padding-block: 42px; }
.auth-card.mfa-card-wide { width: min(760px, calc(100% - 32px)); }
.mfa-setup-grid { margin: 4px 0 24px; display: grid; grid-template-columns: minmax(190px, 240px) minmax(0, 1fr); gap: 24px; align-items: center; }
.mfa-qr-panel { padding: 14px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 18px; background: white; }
.mfa-qr { display: block; width: 100%; height: auto; image-rendering: pixelated; }
.mfa-manual-panel { min-width: 0; display: grid; gap: 10px; }
.mfa-manual-panel > p, .mfa-manual-panel > small { margin: 0; color: var(--muted); line-height: 1.5; }
.mfa-manual-panel > code { padding: 12px; overflow-wrap: anywhere; border: 1px solid #cfe0d5; border-radius: 10px; color: var(--brand-dark); background: #f2f8f4; font-size: .88rem; line-height: 1.6; }
.mfa-secondary-form { margin-top: 8px; }
.auth-card .mfa-text-button { min-height: 38px; margin: 0; justify-content: center; color: var(--muted); background: transparent; font-size: .82rem; }
.auth-card .mfa-text-button:hover { color: var(--brand-dark); background: var(--brand-soft); transform: none; }
.mfa-success { margin: 22px 0; padding: 16px; display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 13px; align-items: center; border: 1px solid #b9dfc7; border-radius: 14px; color: #155f3e; background: #edf9f1; }
.mfa-success > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: white; background: #23935b; font-weight: 900; }
.mfa-success p { margin: 3px 0 0; color: #46705b; font-size: .84rem; font-weight: 500; }
.mfa-recovery-grid { margin: 20px 0 26px; padding: 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; border: 1px dashed #9fc7ad; border-radius: 14px; background: #f5faf7; }
.mfa-recovery-grid code { padding: 6px; color: #153f2d; font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-align: center; }
.mfa-full-action { width: 100%; }
.mfa-required-note { margin: -8px 0 22px; }
.mfa-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.mfa-action-grid form { padding: 18px; align-content: start; border: 1px solid var(--line); border-radius: 15px; background: #f8fbf9; }
.mfa-action-grid h2 { margin: 0; font-size: 1.05rem; }
.mfa-action-grid p { min-height: 44px; margin: 6px 0 10px !important; color: var(--muted) !important; font-size: .8rem !important; font-weight: 500 !important; line-height: 1.4; }
.mfa-back-link { display: inline-block; margin-top: 24px; }

@media (max-width: 660px) {
  .mfa-setup-grid, .mfa-action-grid { grid-template-columns: 1fr; }
  .mfa-qr-panel { width: min(260px, 100%); margin: auto; }
  .mfa-recovery-grid { grid-template-columns: 1fr; }
}

/* Einladung und erste Passwortvergabe */
.invitation-brand { background: radial-gradient(circle at 82% 13%, rgba(141,225,173,.25), transparent 27%), radial-gradient(circle at 12% 88%, rgba(71,158,112,.18), transparent 30%), linear-gradient(145deg, #105638 0%, #123f2e 56%, #09291f 100%); }
.invitation-brand::before { content: ""; position: absolute; right: clamp(35px, 8vw, 120px); top: 17%; width: 112px; height: 112px; border: 1px dashed rgba(210,244,222,.2); border-radius: 50%; animation: dashboard-orbit 18s linear infinite; }
.invitation-brand > * { position: relative; z-index: 1; }
.invitation-card { position: relative; overflow: hidden; width: min(510px, calc(100% - 48px)); animation: vf-reveal-up .58s var(--motion-ease, ease) both; }
.invitation-card::after { content: ""; position: absolute; z-index: 0; right: -92px; top: -98px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(43,170,105,.13), rgba(43,170,105,0) 68%); pointer-events: none; }
.invitation-card > * { position: relative; z-index: 1; }
.invitation-symbol { width: 52px; height: 52px; margin-bottom: 20px; display: grid; place-items: center; border-radius: 16px; color: white; background: linear-gradient(145deg, #2baa69, var(--brand)); box-shadow: 0 12px 26px rgba(23,107,69,.2); animation: vf-cora-breathe 4s ease-in-out infinite; }
.invitation-symbol .vf-icon { width: 25px; height: 25px; }
.invitation-symbol.is-expired { color: #8a5b00; background: #fff0bd; box-shadow: none; font-size: 1.35rem; font-weight: 900; animation: none; }
.invitation-form { gap: 16px !important; }
.password-control { display: grid; gap: 7px; }
.password-control label { margin: 0 !important; }
.password-input-wrap { position: relative; }
.password-input-wrap input { padding-right: 92px; }
.password-toggle { position: absolute; right: 7px; top: 50%; width: auto; min-height: 36px !important; margin: 0 !important; padding: 0 10px !important; border: 0 !important; border-radius: 9px !important; color: var(--brand-dark) !important; background: #eef7f1 !important; box-shadow: none !important; font-size: .72rem; font-weight: 800; transform: translateY(-50%) !important; }
.password-toggle:hover { color: white !important; background: var(--brand) !important; }
.password-toggle .hide-label { display: none; }
.password-toggle[aria-pressed="true"] .show-label { display: none; }
.password-toggle[aria-pressed="true"] .hide-label { display: inline; }
.password-control.has-error input { border-color: #c65a4d; background: #fffafa; }
.field-error { display: block; color: #9b4034; font-size: .75rem; font-weight: 700; line-height: 1.4; }
.password-guidance { padding: 13px 14px; display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 10px; align-items: start; border: 1px solid #d7e8dd; border-radius: 12px; color: var(--brand-dark); background: #f4faf6; }
.password-guidance .vf-icon { width: 21px; height: 21px; margin-top: 2px; }
.password-guidance p { margin: 0 !important; display: grid; gap: 2px; }
.password-guidance strong { font-size: .78rem; }
.password-guidance span { color: var(--muted); font-size: .73rem; font-weight: 500; line-height: 1.45; }
.invitation-submit { width: 100%; margin-top: 2px !important; }
.invitation-submit .vf-icon, .invitation-login-link .vf-icon { width: 19px; height: 19px; transition: transform .22s ease; }
.invitation-submit:hover .vf-icon, .invitation-login-link:hover .vf-icon { transform: translateX(3px); }
.invitation-privacy { margin: 18px 0 0; display: flex; justify-content: center; gap: 7px; color: var(--muted); font-size: .72rem; line-height: 1.45; text-align: center; }
.invitation-privacy span { color: #2baa69; font-size: .55rem; }
.invitation-login-link { width: 100%; }

.app-shell { min-height: 100vh; }
.topbar { min-height: 76px; padding: 0 clamp(20px, 5vw, 64px); display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.92); }
.wordmark { display: flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; }
.user-area { display: flex; align-items: center; gap: 18px; text-align: right; }
.user-area span { display: grid; gap: 3px; }
.user-area small { color: var(--muted); }
.quiet-button { padding: 9px 13px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: white; cursor: pointer; }
.workspace { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: clamp(36px, 6vw, 72px) 0; }
.welcome-card { padding: clamp(30px, 6vw, 64px); border: 1px solid #cadecf; border-radius: 28px; background: radial-gradient(circle at 90% 0, rgba(53,153,99,.14), transparent 38%), white; }
.welcome-card h1 { margin: 0; font-size: clamp(2.3rem, 5vw, 4.5rem); letter-spacing: -.06em; }
.welcome-card p { max-width: 730px; margin: 18px 0 0; color: var(--muted); font-size: 1.06rem; line-height: 1.7; }
.session-status { display: inline-flex; align-items: center; gap: 9px; margin-top: 26px; color: var(--brand); font-weight: 800; }
.session-status span { width: 9px; height: 9px; border-radius: 50%; background: #2baa69; box-shadow: 0 0 0 5px rgba(43,170,105,.13); }
.foundation-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 16px; }
.foundation-grid article { padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: white; }
.card-icon { color: var(--brand); font-size: .76rem; font-weight: 850; letter-spacing: .1em; }
.foundation-grid h2 { margin: 22px 0 8px; font-size: 1.15rem; }
.foundation-grid p { min-height: 72px; margin: 0 0 18px; color: var(--muted); line-height: 1.55; }
.foundation-grid strong { color: var(--brand); font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; }

.feature-entry { margin-top: 16px; padding: 28px 30px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border: 1px solid #cadecf; border-radius: 20px; background: white; }
.feature-entry h2, .feature-entry p { margin: 0; }
.feature-entry p { margin-top: 7px; color: var(--muted); line-height: 1.55; }
.primary-link, .primary-button { min-height: 46px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; border: 0; border-radius: 12px; color: white; background: var(--brand); font-weight: 800; text-decoration: none; cursor: pointer; transition: background .18s, transform .18s; }
.primary-link:hover, .primary-button:hover { color: white; background: var(--brand-dark); transform: translateY(-1px); }
.secondary-link { min-height: 46px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #bfd2c6; border-radius: 12px; color: var(--brand-dark); background: white; font-weight: 800; text-decoration: none; }
.secondary-link:hover { border-color: var(--brand); background: var(--brand-soft); }
.heading-actions { display: flex; align-items: center; gap: 9px; }
.app-nav { display: flex; align-items: center; gap: 6px; margin-right: auto; }
.app-nav a { padding: 9px 12px; border-radius: 9px; color: var(--muted); font-size: .9rem; font-weight: 750; text-decoration: none; }
.app-nav a:hover, .app-nav a[aria-current="page"] { color: var(--brand-dark); background: var(--brand-soft); }
.member-workspace { width: min(1280px, calc(100% - 40px)); }
.heading-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.success-banner { margin: -4px 0 20px; padding: 13px 16px; display: flex; align-items: center; gap: 10px; border: 1px solid #b9dcc7; border-radius: 13px; color: #145f3a; background: #effaf3; font-weight: 750; }
.success-banner span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--brand); }
.success-banner.is-error { border-color: #efc7c1; color: #812e24; background: #fff3f1; }
.success-banner.is-error span { background: #a94135; }
.import-workspace { display: grid; gap: 20px; }
.import-workspace .page-heading { margin-bottom: 0; }
.import-guide > div:first-child { display: flex; align-items: center; gap: 12px; }
.import-guide h2, .import-guide p { margin: 0; }
.import-guide > p { margin: 12px 0 22px; color: var(--muted); line-height: 1.55; }
.import-form { max-width: 760px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 14px; }
.facility-import-form { max-width: none; grid-template-columns: minmax(180px, .55fr) minmax(280px, 1fr) auto; }
.import-form .form-alert { grid-column: 1 / -1; }
.import-preview { display: grid; gap: 20px; }
.import-ready, .import-blocked { padding: 16px; display: flex; align-items: center; gap: 13px; border-radius: 14px; }
.import-ready { border: 1px solid #b9dcc7; background: #effaf3; }
.import-ready > span { width: 34px; height: 34px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; color: white; background: var(--brand); font-weight: 900; }
.import-ready strong, .import-ready p, .import-blocked strong, .import-blocked p { margin: 0; }
.import-ready p, .import-blocked p { margin-top: 3px; color: var(--muted); }
.import-blocked { display: block; border: 1px solid #efc7c1; color: #812e24; background: #fff3f1; }
.import-error-list { display: grid; gap: 9px; }
.import-error-list article { padding: 13px 15px; display: grid; grid-template-columns: 85px 1fr; gap: 12px; border: 1px solid #ead6d2; border-radius: 12px; background: #fffafa; }
.import-error-list article > span { color: #9b4034; font-size: .78rem; font-weight: 850; }
.import-error-list p { margin: 4px 0 0; color: var(--muted); }
.import-confirm { padding-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); }
.import-confirm strong, .import-confirm p { margin: 0; }
.import-confirm p { margin-top: 4px; color: var(--muted); }
.transfer-center { display: grid; gap: 20px; }
.transfer-hero { background: radial-gradient(circle at 88% 18%, rgba(42, 139, 88, .2), transparent 30%), linear-gradient(135deg, #fff 0%, #eef8f2 100%); }
.transfer-progress-card { min-width: 190px; padding: 20px; display: grid; gap: 6px; border: 1px solid rgba(26, 114, 70, .2); border-radius: 18px; background: rgba(255,255,255,.78); box-shadow: 0 16px 34px rgba(24, 78, 51, .08); backdrop-filter: blur(8px); }
.transfer-progress-card > span { color: var(--brand); font-size: 1.7rem; font-weight: 900; letter-spacing: -.04em; }
.transfer-progress-card > strong { font-size: .82rem; }
.transfer-progress-card > div { height: 7px; margin-top: 7px; overflow: hidden; border-radius: 99px; background: #dcebe2; }
.transfer-progress-card i { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--brand), #4bd184); transition: width .45s ease; }
.transfer-summary { display: grid; gap: 18px; }
.transfer-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.transfer-facts article { min-height: 92px; padding: 18px 20px; display: grid; align-content: center; gap: 3px; border-right: 1px solid var(--line); }
.transfer-facts article:last-child { border-right: 0; }
.transfer-facts strong { color: var(--heading); font-size: 1.65rem; }
.transfer-facts span { color: var(--muted); font-size: .82rem; font-weight: 750; }
.transfer-steps { display: grid; gap: 14px; }
.transfer-step { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; align-items: center; gap: 22px; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.transfer-step:hover { transform: translateY(-2px); border-color: #b7d7c3; box-shadow: 0 18px 42px rgba(27, 76, 50, .08); }
.transfer-step-number { width: 64px; height: 64px; position: relative; display: grid; place-items: center; border-radius: 18px; color: var(--brand); background: var(--brand-soft); font-size: 1.05rem; font-weight: 900; }
.transfer-step-number b { width: 23px; height: 23px; position: absolute; right: -6px; bottom: -5px; display: grid; place-items: center; border: 3px solid var(--surface); border-radius: 50%; color: #fff; background: var(--brand); font-size: .68rem; }
.transfer-step-body h2, .transfer-step-body p { margin: 0; }
.transfer-step-body h2 { margin-top: 5px; color: var(--heading); }
.transfer-step-body p { max-width: 760px; margin-top: 7px; color: var(--muted); line-height: 1.5; }
.transfer-step-body small { display: block; margin-top: 9px; color: var(--brand); font-weight: 750; }
.transfer-step-actions { min-width: 188px; display: grid; justify-items: stretch; gap: 9px; text-align: center; }
.transfer-step-actions > a:not(.primary-link) { color: var(--muted); font-size: .79rem; font-weight: 750; text-decoration: none; }
.transfer-step-actions > a:not(.primary-link):hover { color: var(--brand); }
.transfer-step.is-complete { border-color: #b9d9c5; }
.transfer-step.is-waiting { opacity: .76; }
.transfer-disabled { padding: 13px 16px; border-radius: 12px; color: var(--muted); background: var(--surface-soft); font-size: .84rem; font-weight: 800; }
.transfer-waiting-note { color: #9a641d !important; }
.transfer-safety { display: flex; align-items: center; gap: 15px; }
.transfer-safety > span { width: 44px; height: 44px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 14px; color: var(--brand); background: var(--brand-soft); }
.transfer-safety .vf-icon { width: 22px; height: 22px; }
.transfer-safety strong, .transfer-safety p { margin: 0; }
.transfer-safety p { margin-top: 3px; color: var(--muted); }
.setup-workspace { display: grid; gap: 20px; }
.setup-workspace .page-heading { margin-bottom: 0; }
.setup-club-select label { display: grid; gap: 6px; color: var(--muted); font-size: .75rem; font-weight: 750; }
.setup-club-select select { min-width: 230px; min-height: 44px; padding: 0 12px; border: 1px solid #cbd9d0; border-radius: 11px; color: var(--ink); background: white; }
.setup-hero { padding: 24px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 22px; border: 1px solid #ead6b3; border-radius: 20px; background: linear-gradient(135deg, #fffaf0, #fff); }
.setup-hero.is-ready { border-color: #b9dcc7; background: linear-gradient(135deg, #effaf3, #fff); }
.setup-hero h2, .setup-hero p { margin: 0; }
.setup-hero h2 { margin-top: 5px; font-size: 1.55rem; }
.setup-hero p { max-width: 720px; margin-top: 7px; color: var(--muted); line-height: 1.5; }
.setup-progress { width: 82px; height: 82px; display: grid; align-content: center; place-items: center; border-radius: 50%; background: radial-gradient(closest-side, white 76%, transparent 77% 99%), conic-gradient(var(--brand) var(--progress), #dfe9e3 0); }
.setup-progress strong { font-size: 1.18rem; }
.setup-progress span { color: var(--muted); font-size: .68rem; }
.setup-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 20px; align-items: start; }
.setup-check-list { display: grid; gap: 9px; }
.setup-check-list article { padding: 14px; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 13px; }
.setup-check-list article > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; font-weight: 900; }
.setup-check-list .is-complete > span { color: white; background: var(--brand); }
.setup-check-list .is-open { border-color: #ead6b3; background: #fffdf8; }
.setup-check-list .is-open > span { color: #8b5b0b; background: #fff0ce; }
.setup-check-list strong, .setup-check-list p { margin: 0; }
.setup-check-list p { margin-top: 3px; color: var(--muted); font-size: .86rem; }
.setup-check-list a, .setup-row-action a { color: var(--brand); font-size: .8rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.setup-row-action { display: grid; justify-items: end; gap: 4px; }
.form-workspace { width: min(940px, calc(100% - 40px)); }
.page-heading { margin-bottom: 22px; display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.page-heading h1 { margin: 0; font-size: clamp(2.3rem, 5vw, 4.25rem); letter-spacing: -.055em; }
.page-heading p { max-width: 720px; margin: 10px 0 0; color: var(--muted); line-height: 1.55; }
.data-panel { padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: 0 12px 36px rgba(30,65,49,.045); }
.filter-bar { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(150px, 210px) auto auto; gap: 10px; margin-bottom: 22px; }
.filter-bar input, .filter-bar select, .member-form input, .member-form select { width: 100%; min-height: 46px; padding: 0 14px; border: 1px solid #cbd9d0; border-radius: 11px; color: var(--ink); background: white; outline: none; transition: border-color .18s, box-shadow .18s; }
.filter-bar input:focus, .filter-bar select:focus, .member-form input:focus, .member-form select:focus { border-color: var(--brand); box-shadow: 0 0 0 4px rgba(23,107,69,.11); }
.secondary-button { min-height: 46px; padding: 0 18px; border: 1px solid var(--brand); border-radius: 11px; color: var(--brand); background: white; font-weight: 800; cursor: pointer; }
.quiet-link { align-self: center; padding: 10px 4px; color: var(--muted); font-weight: 750; text-decoration: none; }
.quiet-link:hover, .back-link:hover { color: var(--brand); }
.member-table-wrap { overflow-x: auto; }
.member-table { width: 100%; border-collapse: collapse; }
.member-table th { padding: 12px 14px; color: var(--muted); font-size: .76rem; letter-spacing: .06em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.member-table td { padding: 15px 14px; border-top: 1px solid #e7eee9; vertical-align: middle; }
.member-table td a { color: var(--ink); }
.member-identity { display: flex; align-items: center; gap: 12px; text-decoration: none; white-space: nowrap; }
.member-identity > span:last-child { display: grid; gap: 3px; }
.member-identity small, .activity-row small { color: var(--muted); }
.member-avatar, .record-avatar { display: grid; flex: 0 0 auto; place-items: center; color: var(--brand-dark); background: var(--brand-soft); font-weight: 850; }
.member-avatar { width: 38px; height: 38px; border-radius: 12px; font-size: .82rem; }
.record-avatar { width: 74px; height: 74px; border-radius: 23px; font-size: 1.35rem; }
.status-pill { width: fit-content; display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; color: var(--brand-dark); background: var(--brand-soft); font-size: .78rem; font-weight: 800; white-space: nowrap; }
.status-pill > span { width: 7px; height: 7px; border-radius: 50%; background: #27a260; }
.status-paused { color: #795500; background: #fff5d8; }
.status-paused > span { background: #d99900; }
.status-ended { color: #5f6b66; background: #edf1ef; }
.status-ended > span { background: #829089; }
.row-action { width: 44px; text-align: right; }
.row-action a { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; text-decoration: none; }
.row-action a:hover { background: var(--brand-soft); }
.muted { color: var(--muted); }
.empty-state { padding: 56px 20px; text-align: center; }
.empty-state > span { width: 48px; height: 48px; margin: 0 auto 18px; display: grid; place-items: center; border-radius: 15px; color: var(--brand); background: var(--brand-soft); font-weight: 850; }
.empty-state h2, .empty-state p { margin: 0; }
.empty-state p { margin-top: 8px; color: var(--muted); }
.back-link { display: inline-flex; margin-bottom: 22px; color: var(--muted); font-weight: 750; text-decoration: none; }
.member-hero { padding: 28px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; border: 1px solid #cadecf; border-radius: 22px; background: radial-gradient(circle at 90% 0, rgba(53,153,99,.11), transparent 45%), white; }
.member-hero h1 { margin: 8px 0 2px; font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.05em; }
.member-hero p { margin: 0; color: var(--muted); }
.record-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.record-actions .vf-icon { width: 17px; height: 17px; }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .75fr); gap: 16px; margin-top: 16px; align-items: start; }
.detail-stack { display: grid; gap: 16px; }
.section-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.section-heading h2, .activity-panel h2 { margin: 0; font-size: 1.18rem; }
.section-heading p { margin: 0; color: var(--muted); font-size: .9rem; }
.info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--line); }
.info-grid div { min-height: 94px; padding: 18px; background: #fbfdfb; }
.info-grid div:last-child:nth-child(odd) { grid-column: 1 / -1; }
.info-grid dt { margin-bottom: 7px; color: var(--muted); font-size: .78rem; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.info-grid dd { margin: 0; font-weight: 750; line-height: 1.45; }
.info-grid a { color: var(--brand); }
.cora-card { padding: 22px; display: flex; gap: 15px; border: 1px solid #bad8c6; border-radius: 20px; background: linear-gradient(145deg, #f1faf4, #e9f6ed); }
.cora-mark { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 14px; color: white; background: var(--brand); font-weight: 900; }
.cora-card h2, .cora-card p { margin: 0; }
.cora-card p, .cora-card ul { margin-top: 7px; color: var(--muted); font-size: .9rem; line-height: 1.5; }
.cora-card ul { padding-left: 18px; }
.activity-panel { padding-bottom: 12px; }
.activity-row { display: grid; grid-template-columns: 10px 1fr; gap: 10px; padding: 15px 0; border-top: 1px solid var(--line); }
.activity-row:first-of-type { margin-top: 12px; }
.activity-row > span { width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: #43aa70; box-shadow: 0 0 0 4px var(--brand-soft); }
.activity-row > div { display: grid; gap: 3px; }
.form-section + .form-section { margin-top: 16px; }
.section-number { display: inline-block; margin-bottom: 8px; color: var(--brand); font-size: .76rem; font-weight: 850; letter-spacing: .1em; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field-wide { grid-column: 1 / -1; }
.form-field { display: grid; gap: 7px; }
.form-field label { color: #334b40; font-size: .87rem; font-weight: 780; }
.form-field.has-error input, .form-field.has-error select { border-color: #b54a3d; }
.field-error { color: #9a3429; line-height: 1.4; }
.form-actions { padding: 22px 2px 0; display: flex; align-items: center; justify-content: flex-end; gap: 20px; }

/* Interne Benutzer- und Rollenverwaltung */
.account-workspace { display: grid; gap: 18px; }
.account-workspace .page-heading { margin-bottom: 4px; }
.account-filter { grid-template-columns: minmax(230px, 1fr) minmax(155px, 210px) minmax(140px, 180px) auto auto; }
.account-table td { vertical-align: middle; }
.account-table .member-identity small { white-space: normal; }
.account-table .secondary-link.compact { min-height: 38px; padding: 0 12px; font-size: .78rem; }
.account-password-state { display: block; margin-top: 5px; color: #8a5b00; font-size: .7rem; font-weight: 750; }
.account-actions { display: flex; align-items: center; gap: 7px; }
.account-actions form { margin: 0; }
.account-actions .quiet-button { min-height: 38px; font-size: .78rem; }
.account-activity-panel { margin-top: 0; }
.account-activity-panel .section-heading { margin-bottom: 8px; }
.account-form select[multiple] { min-height: 138px; padding: 8px; }
.account-form select[multiple] option { padding: 7px 8px; border-radius: 7px; }
.account-checkbox { padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: #fbfdfb; }
.account-checkbox > label { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; }
.account-checkbox input { width: 20px; min-height: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--brand); }
.account-checkbox label > span { display: grid; gap: 4px; }
.account-checkbox small { color: var(--muted); font-weight: 500; line-height: 1.45; }
.account-security-panel { margin-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.account-security-panel h2, .account-security-panel p { margin: 0; }
.account-security-panel h2 { font-size: 1.18rem; }
.account-security-panel p { max-width: 610px; margin-top: 6px; color: var(--muted); line-height: 1.5; }
.account-password-shell { background: radial-gradient(circle at 50% 0, rgba(43,170,105,.12), transparent 38%), var(--canvas); }
.account-password-card { width: min(680px, calc(100% - 32px)); padding: clamp(28px, 5vw, 50px); text-align: center; }
.account-result-icon { width: 58px; height: 58px; margin: 0 auto 20px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--brand); font-size: 1.5rem; font-weight: 900; box-shadow: 0 0 0 9px var(--brand-soft); }
.account-password-card h1 { margin: 0; font-size: clamp(2rem, 5vw, 3.3rem); letter-spacing: -.05em; }
.account-password-card > p { margin: 15px auto 0; color: var(--muted); line-height: 1.6; }
.temporary-password { margin: 26px 0 18px; padding: 12px; display: flex; align-items: center; gap: 12px; border: 1px solid #b9d5c3; border-radius: 15px; background: #f6fbf7; }
.temporary-password code { min-width: 0; flex: 1; overflow-wrap: anywhere; color: var(--brand-dark); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: clamp(1rem, 3vw, 1.35rem); font-weight: 850; letter-spacing: .05em; }
.account-security-note { margin-bottom: 24px; padding: 15px; display: grid; gap: 4px; border-radius: 13px; color: #795500; background: #fff7df; font-size: .84rem; line-height: 1.5; text-align: left; }

/* FairControl – interne produktübergreifende Kundenverwaltung */
.control-page { --brand: #2757a5; --brand-dark: #173d7d; --brand-soft: #eaf1ff; --canvas: #f5f7fb; --line: #dce3ef; }
.control-page .app-shell { min-height: 100vh; background: radial-gradient(circle at 86% 4%, rgba(81,126,206,.12), transparent 28%), var(--canvas); }
.control-topbar { border-bottom-color: #dce3ef; box-shadow: 0 12px 35px rgba(30,55,95,.06); }
.control-brand { color: white; background: linear-gradient(145deg, #356dca, #173d7d); box-shadow: 0 9px 22px rgba(39,87,165,.2); }
.control-topbar .wordmark small { color: var(--muted); font-size: .72rem; font-weight: 650; }
.control-workspace { padding-top: 38px; }
.control-metrics { margin-bottom: 18px; }
.dashboard-metrics.control-metrics article { min-height: 150px; display: flex; flex-direction: column; align-items: flex-start; }
.dashboard-metrics.control-metrics article > strong { align-self: flex-start; margin-top: 14px; font-size: 2rem; line-height: 1; }
.dashboard-metrics.control-metrics article > p { align-self: flex-start; margin-top: auto; }
.control-email-state { margin: 14px 0 24px; padding: 12px 15px; display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; border-radius: 12px; color: #234b83; background: #edf3ff; }
.control-email-state small { width: 100%; color: #a33d32; }
.control-token-panel { display: grid; gap: 18px; }
.control-token-panel > div:not(.form-alert) { display: grid; gap: 7px; }
.control-token-panel small { color: var(--muted); font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.control-token-panel code { padding: 14px; overflow-wrap: anywhere; border: 1px solid #d8e2f2; border-radius: 12px; color: #234b83; background: #f3f7ff; user-select: all; }
.control-avatar { color: #173d7d; background: #eaf1ff; }
.control-table small { font-size: .78rem; }
.control-customer-hero { border-color: #cad8ee; background: radial-gradient(circle at 88% 0, rgba(70,119,202,.15), transparent 45%), white; }
.control-detail-layout { grid-template-columns: minmax(0, 1.5fr) minmax(300px, .7fr); }
.control-subscription { padding: 19px 0; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 16px; border-top: 1px solid var(--line); }
.control-subscription:first-of-type { border-top: 0; padding-top: 0; }
.control-subscription h3 { margin: 9px 0 4px; font-size: 1.22rem; }
.control-subscription p { margin: 0; color: var(--muted); font-size: .85rem; }
.control-price { display: grid; justify-items: end; white-space: nowrap; }
.control-price strong { color: var(--brand-dark); font-size: 1.25rem; }
.control-price small { color: var(--muted); }
.control-module-list { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 7px; }
.control-module-list span { padding: 7px 10px; border-radius: 999px; color: var(--brand-dark); background: var(--brand-soft); font-size: .74rem; font-weight: 750; }
.control-module-list span.is-disabled { color: #69736f; background: #edf0ee; text-decoration: line-through; }
.control-connection-guide { grid-column: 1 / -1; padding: 14px 16px; display: grid; gap: 6px; border: 1px solid #cad8ee; border-radius: 13px; color: #234b83; background: #f3f7ff; }
.control-connection-guide span, .control-connection-guide small { color: #62738b; font-size: .78rem; line-height: 1.45; }
.control-connection-guide code { width: fit-content; max-width: 100%; padding: 7px 9px; overflow-wrap: anywhere; border-radius: 8px; color: #173d7d; background: white; font-size: .76rem; user-select: all; }
.control-info-grid { grid-template-columns: 1fr; }
.status-draft { color: #795500; background: #fff5d8; }
.status-draft > span { background: #d99900; }
.status-final { color: #176b45; background: #e8f6ed; }
.status-final > span { background: #2baa69; }
.contract-price-summary { margin: 4px 0 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.contract-price-summary > div { padding: 17px; display: grid; gap: 6px; border: 1px solid #dce3ef; border-radius: 14px; background: linear-gradient(145deg, #fff, #f6f9ff); }
.contract-price-summary small, .contract-special small { color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.contract-price-summary strong { color: var(--brand-dark); font-size: 1.45rem; }
.contract-modules { margin-top: 4px; }
.contract-special { margin-top: 18px; padding: 16px; border-left: 3px solid var(--brand); border-radius: 0 12px 12px 0; background: #f5f8ff; }
.contract-special p { margin: 7px 0 0; line-height: 1.55; }
.contract-integrity { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 13px; align-items: center; }
.contract-integrity > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: #176b45; background: #e8f6ed; font-weight: 900; }
.contract-integrity > div { display: grid; gap: 5px; }
.contract-integrity small { color: var(--muted); font-size: .7rem; line-height: 1.5; overflow-wrap: anywhere; }
.dunning-overdue { margin-left: 7px; color: #8b3028; background: #fff0ed; }
.dunning-overdue > span { background: #bc5144; }
.dunning-avatar { color: #8b3028; background: #fff0ed; }
.dunning-history { margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--line); }
.dunning-row { padding: 13px 4px; display: grid; grid-template-columns: 46px minmax(0, 1fr) auto 20px; align-items: center; gap: 13px; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; transition: background .2s ease, transform .2s ease; }
.dunning-row:first-of-type { border-top: 0; }
.dunning-row:hover { background: #f8faff; transform: translateX(3px); }
.dunning-row > span:first-child { width: 44px; height: 44px; display: grid; place-items: center; align-content: center; border-radius: 12px; color: #8b3028; background: #fff0ed; font-size: .78rem; font-weight: 900; }
.dunning-row > span:first-child small { margin-top: 1px; font-size: .55rem; text-transform: uppercase; }
.dunning-row > div { display: grid; gap: 3px; }
.dunning-row > div small { color: var(--muted); font-size: .72rem; }
.dunning-row > b { font-size: .78rem; white-space: nowrap; }
.dunning-row > i { color: var(--brand); font-style: normal; }
.dunning-status-draft { color: #795500; background: #fff5d8; }
.dunning-status-draft > span { background: #d99900; }
.dunning-status-sent { color: #285775; background: #eaf3f8; }
.dunning-status-sent > span { background: #3f83a8; }
.dunning-status-settled { color: #176b45; background: #e8f6ed; }
.dunning-status-settled > span { background: #2baa69; }
.dunning-status-cancelled { color: #5f6b66; background: #edf1ef; }
.dunning-status-cancelled > span { background: #829089; }
.control-overdue-panel { margin-bottom: 18px; border-color: #efd7d1; box-shadow: 0 16px 38px rgba(139,48,40,.055); }
.provisioning-status-not_started, .provisioning-status-ready, .provisioning-status-installing { color: #795500; background: #fff5d8; }
.provisioning-status-not_started > span, .provisioning-status-ready > span, .provisioning-status-installing > span { background: #d99900; }
.provisioning-status-connected { color: #176b45; background: #e8f6ed; }
.provisioning-status-connected > span { background: #2baa69; }
.provisioning-status-error, .provisioning-status-blocked { color: #8b3028; background: #fff0ed; }
.provisioning-status-error > span, .provisioning-status-blocked > span { background: #bc5144; }
.activation-status-panel { overflow: hidden; }
.activation-steps { margin: 6px 0 20px; display: grid; gap: 0; }
.activation-steps article { position: relative; padding: 13px 0 13px 58px; min-height: 58px; display: grid; align-content: center; }
.activation-steps article:not(:last-child)::after { content: ""; position: absolute; left: 21px; top: 46px; bottom: -12px; width: 2px; background: #dce3ef; }
.activation-steps article > span { position: absolute; left: 0; top: 9px; width: 44px; height: 44px; display: grid; place-items: center; border: 2px solid #dce3ef; border-radius: 50%; color: var(--muted); background: white; font-weight: 900; }
.activation-steps article.is-done > span { border-color: #afd8bf; color: #176b45; background: #e8f6ed; }
.activation-steps article.is-done:not(:last-child)::after { background: #afd8bf; }
.activation-steps article > div { display: grid; gap: 4px; }
.activation-steps small { color: var(--muted); font-size: .73rem; }
.activation-actions { padding: 16px; display: flex; align-items: center; gap: 16px; border: 1px solid #cad8ee; border-radius: 14px; background: #f3f7ff; }
.activation-actions p { margin: 0; color: #62738b; font-size: .75rem; line-height: 1.45; }
.technical-value { overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .72rem; }
.onboarding-workspace { width: min(1040px, calc(100% - 40px)); }
.onboarding-heading { margin-bottom: 26px; display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.onboarding-heading h1 { margin: 0; font-size: clamp(2.3rem, 5vw, 4.1rem); letter-spacing: -.055em; }
.onboarding-heading p { max-width: 740px; margin: 10px 0 0; color: var(--muted); line-height: 1.55; }
.onboarding-progress { margin: 0 0 18px; padding: 16px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.78); list-style: none; }
.onboarding-progress li { min-width: 0; padding: 10px; display: flex; align-items: center; gap: 10px; border-radius: 12px; color: #8190a7; }
.onboarding-progress li > span { width: 34px; height: 34px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 11px; color: #6d7c93; background: #edf1f7; font-size: .8rem; font-weight: 900; }
.onboarding-progress li div { min-width: 0; display: grid; gap: 2px; }
.onboarding-progress li strong { font-size: .8rem; }
.onboarding-progress li small { overflow: hidden; font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
.onboarding-progress li.is-active { color: var(--brand-dark); background: var(--brand-soft); }
.onboarding-progress li.is-active > span { color: white; background: linear-gradient(145deg, #356dca, #173d7d); box-shadow: 0 7px 16px rgba(39,87,165,.18); }
.onboarding-progress li.is-complete > span { background: #23835b; }
.onboarding-form .data-panel, .onboarding-review, .onboarding-complete { animation: vf-reveal-up .48s var(--motion-ease, ease) both; }
.onboarding-launch-grid { grid-template-columns: 1fr 1fr; }
.onboarding-launch-grid #id_enabled_modules { margin: 0; padding: 8px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; border: 1px solid var(--line); border-radius: 14px; background: #fbfcff; list-style: none; }
.onboarding-launch-grid #id_enabled_modules > div label { min-height: 52px; padding: 11px 13px; display: flex; align-items: center; gap: 10px; border: 1px solid #dce3ef; border-radius: 11px; background: white; cursor: pointer; }
.onboarding-launch-grid #id_enabled_modules input { width: 19px; min-height: 19px; height: 19px; accent-color: var(--brand); }
.onboarding-check { padding: 17px; align-content: start; grid-template-columns: auto 1fr; border: 1px solid #dce3ef; border-radius: 14px; background: #fbfcff; }
.onboarding-check label { grid-column: 2; grid-row: 1; cursor: pointer; }
.onboarding-check input { grid-column: 1; grid-row: 1; margin: 0; }
.onboarding-check small { grid-column: 2; line-height: 1.45; }
.onboarding-note { margin-top: 18px; padding: 14px 16px; display: grid; gap: 3px; border: 1px solid #ead9aa; border-radius: 12px; color: #74570e; background: #fff9e9; }
.onboarding-note span { font-size: .82rem; }
.onboarding-review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.onboarding-review-grid article { min-height: 190px; padding: 20px; display: flex; flex-direction: column; align-items: flex-start; border: 1px solid #dce3ef; border-radius: 15px; background: linear-gradient(145deg, #fff, #f8faff); }
.onboarding-review-grid article > span { color: #59708f; font-size: .7rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.onboarding-review-grid h3 { margin: 12px 0 7px; font-size: 1.16rem; }
.onboarding-review-grid p { margin: 0; color: var(--muted); font-size: .85rem; line-height: 1.6; }
.onboarding-review-grid article > a { margin-top: auto; padding-top: 14px; color: var(--brand); font-size: .78rem; font-weight: 850; text-decoration: none; }
.onboarding-finish { margin-top: 4px; }
.onboarding-complete { padding: clamp(28px, 5vw, 54px); text-align: center; }
.onboarding-success { width: 72px; height: 72px; margin: 0 auto 20px; display: grid; place-items: center; border-radius: 24px; color: white; background: linear-gradient(145deg, #35a878, #176b45); font-size: 2rem; font-weight: 900; box-shadow: 0 16px 32px rgba(23,107,69,.2); animation: vf-check-pop .55s var(--motion-spring, ease) both; }
.onboarding-complete h1 { margin: 0; font-size: clamp(2.2rem, 5vw, 3.8rem); letter-spacing: -.05em; }
.onboarding-complete > p { max-width: 680px; margin: 12px auto 26px; color: var(--muted); line-height: 1.6; }
.onboarding-result-grid { margin: 0 0 22px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; text-align: left; }
.onboarding-result-grid article { padding: 15px; display: grid; gap: 6px; border: 1px solid #dce3ef; border-radius: 13px; background: #fbfcff; }
.onboarding-result-grid small { color: var(--muted); font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.onboarding-result-grid strong { overflow-wrap: anywhere; }
.onboarding-token { margin: 24px 0; text-align: left; }
.empty-state.compact { padding: 28px 12px; }
.control-subscription-form #id_enabled_modules { margin: 0; padding: 8px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; list-style: none; border: 1px solid var(--line); border-radius: 14px; background: #fbfcff; }
.control-subscription-form #id_enabled_modules > div label { min-height: 52px; padding: 11px 13px; display: flex; align-items: center; gap: 10px; border: 1px solid #dce3ef; border-radius: 11px; background: white; cursor: pointer; }
.control-subscription-form #id_enabled_modules input { width: 19px; min-height: 19px; height: 19px; accent-color: var(--brand); }
.control-invoice-sheet { padding: clamp(28px, 5vw, 58px); }
.control-invoice-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.control-invoice-heading h1 { margin: 7px 0 12px; font-size: clamp(2rem, 5vw, 3.5rem); letter-spacing: -.05em; }
.control-invoice-heading form { margin: 0; }
.control-invoice-address { margin: 52px 0 34px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.control-invoice-sender { margin-top: 42px; padding-bottom: 5px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .68rem; }
.control-invoice-address > div { display: grid; gap: 5px; line-height: 1.55; }
.control-invoice-address small, .control-invoice-address dt { color: var(--muted); font-size: .72rem; font-weight: 750; text-transform: uppercase; }
.control-invoice-address dl { margin: 0; display: grid; gap: 9px; }
.control-invoice-address dl div { display: flex; justify-content: space-between; gap: 20px; }
.control-invoice-address dd { margin: 0; font-weight: 750; }
.control-invoice-table { width: 100%; border-collapse: collapse; }
.control-invoice-table th, .control-invoice-table td { padding: 13px 10px; border-bottom: 1px solid var(--line); text-align: right; }
.control-invoice-table th:first-child, .control-invoice-table td:first-child { text-align: left; }
.control-invoice-table th { color: var(--muted); font-size: .72rem; text-transform: uppercase; }
.control-invoice-totals { width: min(380px, 100%); margin: 28px 0 0 auto; display: grid; gap: 10px; }
.control-invoice-totals div { display: flex; justify-content: space-between; gap: 20px; }
.control-invoice-totals .is-total { padding-top: 13px; border-top: 2px solid var(--ink); font-size: 1.2rem; }
.control-invoice-footer { margin-top: 58px; padding-top: 17px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .68rem; line-height: 1.5; }
@media (max-width: 850px) {
  .control-detail-layout, .control-invoice-address { grid-template-columns: 1fr; }
  .control-invoice-footer { grid-template-columns: 1fr; }
  .control-subscription { grid-template-columns: 1fr auto; }
  .control-subscription > .secondary-link { grid-column: 1 / -1; }
  .control-subscription-form #id_enabled_modules { grid-template-columns: 1fr; }
  .onboarding-heading { align-items: stretch; flex-direction: column; }
  .onboarding-progress { grid-template-columns: 1fr 1fr; }
  .onboarding-launch-grid, .onboarding-review-grid { grid-template-columns: 1fr; }
  .onboarding-launch-grid #id_enabled_modules { grid-template-columns: 1fr; }
  .onboarding-result-grid { grid-template-columns: 1fr 1fr; }
}
@media print {
  .control-page { background: white; }
  .control-page .topbar, .control-page .print-hidden, .control-page .maintenance-guard { display: none !important; }
  .control-workspace { width: 100%; padding: 0; }
  .control-invoice-sheet { border: 0; box-shadow: none; }
}

/* Begehungen, Feststellungen und Nachkontrollen */
.inspection-workspace, .inspection-detail-workspace { width: min(1280px, calc(100% - 40px)); }
.inspection-metrics article.has-warning { border-color: #ead3a5; background: #fffaf0; }
.inspection-metrics article.has-warning strong { color: #9a6200; }
.inspection-cora { margin: 16px 0; }
.inspection-filter { grid-template-columns: minmax(240px, 1fr) minmax(160px, 220px) minmax(150px, 200px) auto auto; }
.inspection-list { display: grid; }
.inspection-row { padding: 16px 8px; display: grid; grid-template-columns: 58px minmax(0, 1fr) auto 28px; align-items: center; gap: 15px; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.inspection-row:first-child { border-top: 0; }
.inspection-row:hover { background: #f8fbf9; }
.inspection-date { width: 54px; height: 58px; display: grid; place-items: center; align-content: center; border-radius: 14px; color: var(--brand-dark); background: var(--brand-soft); }
.inspection-date strong { font-size: 1.25rem; line-height: 1; }
.inspection-date small { margin-top: 4px; font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.inspection-row > div:nth-child(2) { display: grid; gap: 4px; }
.inspection-row .eyebrow { margin: 0; font-size: .62rem; }
.inspection-row > div:nth-child(2) > small, .inspection-row-status small { color: var(--muted); font-size: .75rem; }
.inspection-row-status { display: grid; justify-items: end; gap: 6px; }
.inspection-row > i { color: var(--brand); font-style: normal; font-size: 1.1rem; }
.inspection-status-completed, .finding-status-verified { color: #356052; background: #e9f1ed; }
.inspection-status-completed > span, .finding-status-verified > span { background: #58806f; }
.inspection-status-cancelled { color: #6a6f6c; background: #edf0ee; }
.inspection-status-cancelled > span { background: #8b918e; }
.finding-status-resolved { color: #285775; background: #eaf3f8; }
.finding-status-resolved > span { background: #3f83a8; }
.finding-status-in_progress { color: #795500; background: #fff5d8; }
.finding-status-in_progress > span { background: #d99900; }
.inspection-hero .record-avatar { width: 82px; font-size: 1rem; }
.inspection-hero .heading-actions form { margin: 0; }
.inspection-source-note { padding: 14px 17px; display: flex; align-items: center; gap: 12px; border: 1px solid #bad8c6; border-radius: 14px; background: var(--brand-soft); }
.inspection-source-note > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: white; background: var(--brand); font-weight: 900; }
.inspection-source-note > div { display: grid; gap: 3px; }
.inspection-source-note small { color: var(--muted); }
.inspection-detail-layout { grid-template-columns: minmax(0, 1.45fr) minmax(320px, .7fr); }
.primary-link.compact, .primary-button.compact, .secondary-link.compact { min-height: 38px; padding: 0 12px; font-size: .76rem; }
.finding-list { display: grid; gap: 12px; }
.finding-card { padding: 20px; border: 1px solid var(--line); border-left: 4px solid #5b9c77; border-radius: 15px; background: #fcfefc; }
.finding-card.priority-urgent { border-left-color: #c46e32; background: #fffdf9; }
.finding-card.priority-note { border-left-color: #7f9aad; }
.finding-card header { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.finding-priority { color: var(--muted); font-size: .7rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.finding-card h3 { margin: 14px 0 6px; font-size: 1.08rem; }
.finding-card > p { margin: 0; color: var(--muted); line-height: 1.55; }
.finding-card dl { margin: 16px 0 0; display: flex; gap: 30px; }
.finding-card dl div { display: grid; gap: 4px; }
.finding-card dt { color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.finding-card dd { margin: 0; font-size: .82rem; font-weight: 800; }
.finding-card dd.is-overdue { color: #a34134; }
.finding-resolution { margin-top: 15px; padding: 13px 14px; border-radius: 11px; background: #eef6f1; }
.finding-resolution p { margin: 5px 0; color: var(--muted); line-height: 1.5; }
.finding-resolution small { color: #5f746a; }
.finding-documents { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 7px; }
.finding-documents a { padding: 7px 9px; border: 1px solid var(--line); border-radius: 9px; color: var(--brand-dark); background: white; font-size: .75rem; font-weight: 750; text-decoration: none; }
.finding-card footer { margin-top: 16px; padding-top: 14px; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; border-top: 1px solid var(--line); }
.finding-card footer form { margin: 0; }
.inspection-facts { margin: 0; display: grid; }
.inspection-facts div { padding: 12px 0; display: flex; justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); }
.inspection-facts div:first-child { border-top: 0; }
.inspection-facts dt { color: var(--muted); font-size: .76rem; }
.inspection-facts dd { margin: 0; font-size: .8rem; font-weight: 800; text-align: right; }
.inspection-notes { margin-top: 15px; padding: 14px; border-radius: 12px; background: #f5f8f6; }
.inspection-notes p { margin: 6px 0 0; color: var(--muted); line-height: 1.5; }
.member-form select[multiple] { min-height: 138px; padding: 8px; }
.member-form select[multiple] option { padding: 7px 8px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.colony-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.colony-card { position: relative; padding: 24px; display: grid; grid-template-columns: auto 1fr; gap: 16px; border: 1px solid var(--line); border-radius: 20px; color: var(--ink); background: white; text-decoration: none; transition: border-color .18s, box-shadow .18s, transform .18s; }
.colony-card:hover { border-color: #b6d1c0; box-shadow: 0 16px 38px rgba(30,65,49,.08); transform: translateY(-2px); }
.colony-code { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; color: var(--brand-dark); background: var(--brand-soft); font-size: .83rem; font-weight: 900; }
.colony-card h2, .colony-card p { margin: 0; }
.colony-card p { margin-top: 5px; color: var(--muted); font-size: .88rem; line-height: 1.45; }
.colony-card dl { grid-column: 1 / -1; display: flex; gap: 34px; margin: 5px 0 0; }
.colony-card dl div { display: grid; gap: 3px; }
.colony-card dt { color: var(--muted); font-size: .72rem; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.colony-card dd { margin: 0; font-size: 1.35rem; font-weight: 850; }
.card-arrow { position: absolute; right: 22px; bottom: 22px; color: var(--brand); font-size: 1.3rem; }
.parcel-panel { margin-top: 16px; }
.empty-state.compact { padding: 28px 10px; }
.parcel-status-vacant { color: var(--brand-dark); background: var(--brand-soft); }
.parcel-status-occupied { color: #285775; background: #eaf3f8; }
.parcel-status-occupied > span { background: #3f83a8; }
.parcel-status-reserved { color: #795500; background: #fff5d8; }
.parcel-status-reserved > span { background: #d99900; }
.parcel-status-unavailable { color: #5f6b66; background: #edf1ef; }
.parcel-status-unavailable > span { background: #829089; }
.colony-hero .record-avatar { font-size: .88rem; }
.facility-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 16px; }
.facility-metrics article { padding: 19px 22px; display: flex; align-items: baseline; justify-content: space-between; gap: 15px; border: 1px solid var(--line); border-radius: 16px; background: white; }
.facility-metrics span { color: var(--muted); font-size: .82rem; font-weight: 750; }
.facility-metrics strong { color: var(--brand); font-size: 1.6rem; }
.area-row { padding: 13px 0; display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 10px; border-top: 1px solid var(--line); }
.area-row:first-of-type { margin-top: 12px; }
.area-row > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: var(--brand); background: var(--brand-soft); font-size: .7rem; font-weight: 850; }
.area-row small { color: var(--muted); }
.member-form textarea { width: 100%; padding: 13px 14px; border: 1px solid #cbd9d0; border-radius: 11px; color: var(--ink); background: white; resize: vertical; outline: none; }
.member-form textarea:focus { border-color: var(--brand); box-shadow: 0 0 0 4px rgba(23,107,69,.11); }
.member-form input[type="checkbox"] { width: 20px; min-height: 20px; accent-color: var(--brand); }
.member-form ul { margin: 0; padding: 12px 14px; display: grid; gap: 9px; border: 1px solid var(--line); border-radius: 11px; list-style: none; }
.member-form ul label { display: flex; align-items: center; gap: 9px; }
.lease-filter { grid-template-columns: minmax(220px, 1fr) minmax(150px, 190px) minmax(160px, 210px) auto auto; }
.lease-status-draft { color: #5f6b66; background: #edf1ef; }
.lease-status-draft > span { background: #829089; }
.lease-status-active { color: var(--brand-dark); background: var(--brand-soft); }
.lease-status-notice { color: #795500; background: #fff5d8; }
.lease-status-notice > span { background: #d99900; }
.lease-status-ended, .lease-status-cancelled { color: #5f6b66; background: #edf1ef; }
.lease-status-ended > span, .lease-status-cancelled > span { background: #829089; }
.lease-hero .record-avatar { font-size: .95rem; }
.finance-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: 12px; margin: 16px 0; }
.finance-metrics article { min-height: 98px; padding: 20px 23px; display: grid; gap: 8px; border: 1px solid var(--line); border-radius: 17px; background: white; }
.finance-metrics span { color: var(--muted); font-size: .8rem; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.finance-metrics strong { color: var(--brand-dark); font-size: 1.55rem; }
.finance-metrics .metric-warning { border-color: #eddba8; background: #fffaf0; }
.finance-metrics .metric-warning strong { color: #9a6900; }
.finance-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .7fr); gap: 16px; align-items: start; }
.finance-row { min-height: 64px; padding: 13px 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-top: 1px solid var(--line); }
.finance-row:first-of-type { margin-top: 12px; }
.finance-row > div { display: grid; gap: 4px; }
.finance-row small { color: var(--muted); }
.invoice-status-draft, .invoice-status-cancelled, .invoice-status-credited, .period-status-draft { color: #5f6b66; background: #edf1ef; }
.invoice-status-draft > span, .invoice-status-cancelled > span, .invoice-status-credited > span, .period-status-draft > span { background: #829089; }
.invoice-status-partial, .period-status-review { color: #795500; background: #fff5d8; }
.invoice-status-partial > span, .period-status-review > span { background: #d99900; }
.invoice-status-paid, .period-status-released, .period-status-completed { color: var(--brand-dark); background: var(--brand-soft); }
.invoice-status-open { color: #285775; background: #eaf3f8; }
.invoice-status-open > span { background: #3f83a8; }
.invoice-hero .record-avatar { font-size: .9rem; }
.invoice-hero form { margin: 0; }
.compact-details { margin: 12px 0 0; }
.compact-details div { padding: 12px 0; display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line); }
.compact-details dt { color: var(--muted); }
.compact-details dd { margin: 0; font-weight: 750; text-align: right; }
.payment-heading { margin-top: 34px; }
.finance-row-link { color: var(--ink); text-decoration: none; }
.finance-row-link:hover strong:first-child { color: var(--brand); }
.finance-metric-link { color: inherit; text-decoration: none; }
.finance-metric-link article { height: 100%; }
.balance-metric { position: relative; overflow: hidden; background: linear-gradient(135deg, #f0f8f3, #fff) !important; }
.balance-metric::after { content: ""; position: absolute; width: 105px; height: 105px; right: -42px; top: -52px; border-radius: 50%; background: radial-gradient(circle, rgba(54,133,91,.2), transparent 68%); animation: bookkeeping-pulse 4s ease-in-out infinite; }
.bookkeeping-account-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(225px, 1fr)); gap: 12px; margin: 4px 0 18px; }
.account-card { position: relative; display: flex; align-items: center; gap: 14px; padding: 18px; color: var(--ink); text-decoration: none; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 8px 25px rgba(30,65,49,.04); transition: transform .28s var(--motion-ease), border-color .25s ease, box-shadow .28s ease; }
.account-card:hover, .account-card.active { transform: translateY(-3px); border-color: #93bea3; box-shadow: 0 16px 35px rgba(30,65,49,.1); }
.account-card.active::after { content: ""; position: absolute; left: 18px; right: 18px; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0; background: var(--brand); animation: account-line-in .45s var(--motion-ease) both; }
.account-card-icon { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; color: var(--brand-dark); background: #edf7f0; font-size: 1.25rem; }
.account-card > span:nth-child(2) { display: grid; gap: 3px; }
.account-card small { color: var(--muted); }
.account-card strong { font-size: 1rem; }
.account-card em { color: var(--brand-dark); font-size: 1.25rem; font-style: normal; font-weight: 800; }
.bookkeeping-table td:nth-last-child(1), .bookkeeping-table th:nth-last-child(1) { text-align: right; }
.bookkeeping-table td:nth-child(2) small { display: block; margin-top: 3px; color: var(--muted); }
.bookkeeping-amount { white-space: nowrap; font-weight: 850; }
.amount-positive { color: #247a4a !important; }
.amount-negative { color: #aa4a3a !important; }
.bookkeeping-status-draft span { background: #d49b27; }
.bookkeeping-status-booked span { background: #2e8a55; }
.bookkeeping-start { margin-top: 20px; }
.bookkeeping-entry-hero .record-avatar { background: linear-gradient(145deg, #dff1e5, #b9ddc6); color: var(--brand-dark); }
.receipt-download-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; color: var(--ink); text-decoration: none; transition: transform .28s var(--motion-ease), box-shadow .28s ease; }
.receipt-download-card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(30,65,49,.1); }
.receipt-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: #edf7f0; color: var(--brand-dark); font-size: 1.35rem; }
.receipt-download-card h2 { margin: 4px 0; font-size: 1rem; overflow-wrap: anywhere; }
@keyframes bookkeeping-pulse { 0%,100% { transform: scale(.86); opacity: .65; } 50% { transform: scale(1.15); opacity: 1; } }
@keyframes account-line-in { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.finance-report-filter { margin-bottom: 18px; align-items: end; }
.finance-report-filter label { display: grid; gap: 6px; }
.finance-report-filter label > span { color: var(--muted); font-size: .7rem; font-weight: 750; }
.finance-report-filter input { min-height: 40px; padding: 0 11px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.report-metrics { grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); }
.finance-report-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .7fr); gap: 16px; margin-bottom: 16px; align-items: start; }
.report-legend { display: flex; gap: 12px; color: var(--muted); font-size: .68rem; }
.report-legend span { display: flex; align-items: center; gap: 5px; }
.report-legend i { width: 9px; height: 9px; border-radius: 3px; }
.report-legend i.income { background: #3a9a62; }
.report-legend i.expense { background: #d87862; }
.monthly-chart { margin-top: 18px; display: grid; gap: 11px; }
.month-chart-row { display: grid; grid-template-columns: 30px minmax(90px, 1fr) 84px; align-items: center; gap: 10px; }
.month-chart-row > strong { color: var(--muted); font-size: .68rem; text-transform: uppercase; }
.month-bars { display: grid; gap: 3px; }
.month-bars > span { height: 6px; overflow: hidden; border-radius: 6px; background: #eff3f0; }
.month-bars > span i { width: var(--bar-width); height: 100%; display: block; border-radius: inherit; transform-origin: left; animation: report-bar-in .65s var(--motion-ease) both; }
.month-bars > span.income i { background: linear-gradient(90deg, #277a4b, #58b57d); }
.month-bars > span.expense i { background: linear-gradient(90deg, #bd5945, #e79883); animation-delay: .08s; }
.month-chart-row > div:last-child { display: grid; gap: 2px; text-align: right; }
.month-chart-row small { color: var(--muted); font-size: .62rem; font-variant-numeric: tabular-nums; }
.category-report { display: grid; gap: 14px; }
.category-report-row { display: grid; gap: 7px; }
.category-report-row > div { display: flex; justify-content: space-between; gap: 10px; font-size: .72rem; }
.category-report-row > div span { color: var(--muted); white-space: nowrap; }
.category-report-row > i { height: 7px; overflow: hidden; border-radius: 7px; background: #f1f3f1; }
.category-report-row > i span { width: var(--category-width); height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, #bb604b, #e59b86); animation: report-bar-in .65s var(--motion-ease) both; }
.report-ledger { animation: vf-reveal-up .55s .18s var(--motion-ease) both; }
@keyframes report-bar-in { from { transform: scaleX(0); opacity: .45; } to { transform: scaleX(1); opacity: 1; } }
@media (max-width: 900px) { .finance-report-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .month-chart-row { grid-template-columns: 28px minmax(60px, 1fr) 72px; gap: 7px; } .report-legend { display: none; } }
.bank-transaction-list { margin-top: 12px; display: grid; }
.bank-transaction { position: relative; padding: 16px 0; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 12px; border-top: 1px solid var(--line); transition: background .22s ease, transform .25s var(--motion-ease); }
.bank-transaction:hover { background: #f8fbf9; transform: translateX(3px); }
.bank-transaction-sign { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; font-size: 1.1rem; font-weight: 900; }
.bank-transaction-sign.income { color: #247a4a; background: #e9f7ee; }
.bank-transaction-sign.expense { color: #aa4a3a; background: #fff0ed; }
.bank-transaction-main { min-width: 0; display: grid; gap: 4px; }
.bank-transaction-main > div { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bank-transaction-main p { margin: 0; overflow: hidden; color: var(--ink); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.bank-transaction-main small, .bank-transaction-main em { color: var(--muted); font-size: .67rem; font-style: normal; }
.bank-transaction-main em { color: var(--brand); }
.bank-transaction-amount { font-size: .85rem; white-space: nowrap; }
.bank-transaction-actions { grid-column: 2 / -1; display: flex; align-items: center; gap: 9px; }
.bank-transaction-actions form { margin: 0; }
.bank-transaction-actions details { position: relative; }
.bank-transaction-actions summary { color: var(--muted); font-size: .7rem; cursor: pointer; }
.bank-transaction-actions details form { position: absolute; z-index: 3; top: calc(100% + 7px); left: 0; width: 260px; padding: 10px; display: flex; gap: 6px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 14px 32px rgba(30,65,49,.14); }
.bank-transaction-actions input { min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 8px; }
.bank-status-pending span { background: #d49b27; }
.bank-status-matched span { background: #2e8a55; }
.bank-status-ignored span { background: #829087; }
@media (max-width: 640px) { .bank-transaction { grid-template-columns: 34px minmax(0, 1fr); } .bank-transaction-amount { grid-column: 2; } .bank-transaction-actions { grid-column: 1 / -1; } }
.run-status-preview { color: #285775; background: #eaf3f8; }
.run-status-preview > span { background: #3f83a8; }
.run-status-released { color: var(--brand-dark); background: var(--brand-soft); }
.billing-cora { margin-top: 16px; }
.billing-run-hero form { margin: 0; }
.billing-alert { margin: 16px 0 0; }
.billing-run-metrics .metric-error { border-color: #efc7c1; background: #fff3f1; }
.billing-run-metrics .metric-error strong { color: #9a3429; }
.billing-run-metrics article small { color: var(--muted); font-size: .72rem; }
.billing-preview-list { display: grid; gap: 12px; }
.billing-preview-card { padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: #fbfdfb; }
.billing-preview-heading { display: flex; justify-content: space-between; gap: 18px; }
.billing-preview-heading > div { display: grid; gap: 4px; }
.billing-preview-heading small { color: var(--muted); }
.billing-preview-heading > strong { color: var(--brand-dark); white-space: nowrap; }
.billing-preview-items { margin-top: 13px; padding-top: 11px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 7px 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: .84rem; }
.billing-preview-items strong { color: var(--ink); text-align: right; }
.check-row { padding: 14px 0; display: grid; grid-template-columns: 30px 1fr; gap: 11px; border-top: 1px solid var(--line); }
.check-row:first-of-type { margin-top: 10px; }
.check-row > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; font-weight: 900; }
.check-row p { margin: 3px 0 0; color: var(--muted); font-size: .84rem; line-height: 1.45; }
.check-row p small { display: block; margin-top: 3px; font-weight: 750; }
.check-error > span { color: #9a3429; background: #fff0ee; }
.check-warning > span { color: #906200; background: #fff5d8; }
.check-ok > span { color: var(--brand-dark); background: var(--brand-soft); }
.utility-entry { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--ink); text-decoration: none; transition: border-color .18s, transform .18s; }
.utility-entry:hover { border-color: #b6d1c0; transform: translateY(-1px); }
.utility-entry h2, .utility-entry p { margin: 0; }
.utility-entry p { margin-top: 6px; color: var(--muted); font-size: .86rem; }
.utility-entry > span { color: var(--brand); font-size: 1.4rem; }
.meter-filter { grid-template-columns: minmax(220px, 1fr) minmax(150px, 190px) minmax(150px, 190px) auto auto; }
.meter-icon { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 12px; font-size: .78rem; font-weight: 900; }
.meter-water { color: #20688c; background: #e8f5fb; }
.meter-electricity { color: #8a6400; background: #fff5d8; }
.meter-status-active, .reading-status-confirmed { color: var(--brand-dark); background: var(--brand-soft); }
.meter-status-replaced, .meter-status-out_of_service, .reading-status-draft { color: #5f6b66; background: #edf1ef; }
.meter-status-replaced > span, .meter-status-out_of_service > span, .reading-status-draft > span { background: #829089; }
.meter-hero .record-avatar { font-size: 1rem; }
.meter-reading-list { display: grid; }
.reading-row { min-height: 88px; padding: 15px 0; display: grid; grid-template-columns: 118px minmax(0, 1fr) auto; align-items: center; gap: 18px; border-top: 1px solid var(--line); }
.reading-row:first-child { border-top: 0; }
.reading-value { display: flex; align-items: baseline; gap: 5px; color: var(--brand-dark); }
.reading-value strong { font-size: 1.35rem; }
.reading-value span { color: var(--muted); font-size: .8rem; }
.reading-row > div:nth-child(2) { display: grid; gap: 4px; }
.reading-row small { color: var(--muted); }
.reading-action { display: flex; align-items: center; gap: 9px; }
.reading-action form { margin: 0; }
.reading-action .secondary-button { min-height: 38px; padding-inline: 12px; }
.dunning-list { display: grid; }
.dunning-row { min-height: 94px; padding: 16px 0; display: grid; grid-template-columns: minmax(170px, 1fr) 110px minmax(190px, 1fr) auto; align-items: center; gap: 16px; border-top: 1px solid var(--line); }
.dunning-row:first-child { border-top: 0; }
.dunning-row > div { display: grid; gap: 4px; }
.dunning-row a { color: var(--ink); text-decoration: none; }
.dunning-row a:hover { color: var(--brand); }
.dunning-row small { color: var(--muted); line-height: 1.4; }
.dunning-amount strong { color: var(--brand-dark); font-size: 1.05rem; }
.dunning-next .ready-text { color: #906200; font-weight: 750; }
.dunning-status-issued { color: #795500; background: #fff5d8; }
.dunning-status-issued > span { background: #d99900; }
.dunning-status-cancelled { color: #5f6b66; background: #edf1ef; }
.dunning-status-cancelled > span { background: #829089; }
.dunning-hero .record-avatar { font-size: .95rem; }
.cancel-form { margin-top: 16px; display: grid; gap: 12px; }
.cancel-form label { display: grid; gap: 7px; color: var(--muted); font-size: .82rem; font-weight: 750; }
.cancel-form input { width: 100%; min-height: 46px; padding: 0 14px; border: 1px solid #cbd9d0; border-radius: 11px; color: var(--ink); background: white; outline: none; }
.cancel-form input:focus { border-color: var(--brand); box-shadow: 0 0 0 4px rgba(23,107,69,.11); }
.danger-button { color: #91372e; border-color: #d8a69f; }
.error-banner { padding: 14px; border: 1px solid #efc7c1; border-radius: 12px; background: #fff3f1; }
.error-banner p { margin: 5px 0; }
.error-banner small { color: var(--muted); }
.document-metrics .metric-word { font-size: 1.12rem; }
.document-filter { grid-template-columns: minmax(220px, 1fr) minmax(170px, 220px) minmax(140px, 180px) auto auto; }
.document-list { display: grid; }
.document-row { position: relative; min-height: 104px; padding: 17px 42px 17px 0; display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 16px; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.document-row:first-child { border-top: 0; }
.document-row:hover > div > strong { color: var(--brand); }
.document-icon { width: 46px; height: 52px; display: grid; place-items: center; border: 1px solid #c9ded1; border-radius: 10px 10px 14px 10px; color: var(--brand-dark); background: var(--brand-soft); font-size: .63rem; font-weight: 900; }
.document-row > div { display: grid; gap: 4px; }
.document-row small { color: var(--muted); line-height: 1.4; }
.document-meta { justify-items: end; text-align: right; }
.document-status-active { color: var(--brand-dark); background: var(--brand-soft); }
.document-status-archived { color: #5f6b66; background: #edf1ef; }
.document-status-archived > span { background: #829089; }
.document-description { margin-top: 20px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fbfdfb; }
.document-description p { margin: 8px 0 0; line-height: 1.65; }
.archive-help { margin: 10px 0 0; font-size: .82rem; line-height: 1.45; }
.form-intro { margin: 0 0 18px; color: var(--muted); }
.member-form input[type="file"] { width: 100%; min-height: 50px; padding: 11px; border: 1px dashed #a9c6b4; border-radius: 11px; background: #f8fcf9; }

.portal-page { scroll-behavior: smooth; }
.portal-topbar { position: sticky; top: 0; z-index: 10; backdrop-filter: blur(14px); }
.portal-workspace { width: min(1280px, calc(100% - 40px)); }
.portal-welcome { padding: clamp(28px, 5vw, 54px); display: flex; align-items: end; justify-content: space-between; gap: 32px; border: 1px solid #cadecf; border-radius: 26px; background: radial-gradient(circle at 92% 5%, rgba(53,153,99,.15), transparent 38%), white; }
.portal-welcome h1 { margin: 0; font-size: clamp(2.3rem, 5vw, 4.4rem); letter-spacing: -.06em; }
.portal-welcome p { max-width: 710px; margin: 15px 0 0; color: var(--muted); line-height: 1.65; }
.portal-welcome .session-status { flex: 0 0 auto; margin: 0 0 7px; }
.portal-empty-access { max-width: 820px; margin: 8vh auto 0; align-items: flex-start; justify-content: flex-start; }
.portal-empty-access .cora-mark { margin-top: 2px; }
.portal-metrics { margin: 16px 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.portal-metrics article { min-height: 120px; padding: 20px 22px; display: grid; align-content: center; gap: 6px; border: 1px solid var(--line); border-radius: 18px; background: white; }
.portal-metrics article > span { color: var(--muted); font-size: .76rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.portal-metrics strong { color: var(--brand-dark); font-size: 1.5rem; }
.portal-metrics small { color: var(--muted); }
.portal-metrics .metric-warning { border-color: #eddba8; background: #fffaf0; }
.portal-metrics .metric-warning strong { color: #906200; }
.portal-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, .7fr); gap: 16px; align-items: start; }
.portal-list { display: grid; }
.portal-row { min-height: 82px; padding: 14px 0; display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 14px; border-top: 1px solid var(--line); }
.portal-row:first-child { border-top: 0; }
.portal-row > div { min-width: 0; display: grid; gap: 4px; }
.portal-row small { color: var(--muted); line-height: 1.4; }
.portal-amount { color: var(--brand-dark); white-space: nowrap; }
.portal-row .secondary-link { min-height: 40px; padding-inline: 13px; }
.portal-document-row { grid-template-columns: 46px minmax(0, 1fr) auto; }
.portal-lease-row { grid-template-columns: minmax(0, 1fr) auto; }
.portal-contact dd { max-width: 190px; overflow-wrap: anywhere; }
.portal-note { margin: 18px 0 0; color: var(--muted); font-size: .83rem; line-height: 1.5; }
.portal-cora { position: relative; overflow: hidden; }
.portal-cora::after { content: ""; position: absolute; right: -50px; bottom: -80px; width: 170px; height: 170px; border: 1px solid rgba(23,107,69,.12); border-radius: 45% 55% 62% 38%; transform: rotate(18deg); }
.portal-change-link { width: 100%; margin-top: 18px; }
.change-history { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.change-history > div { padding: 7px 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.change-history small { color: var(--muted); }
.change-status-pending { color: #795500; background: #fff5d8; }
.change-status-pending > span { background: #d99900; }
.change-status-approved { color: var(--brand-dark); background: var(--brand-soft); }
.change-status-rejected { color: #5f6b66; background: #edf1ef; }
.change-status-rejected > span { background: #829089; }
.change-safety-note { margin-top: 16px; }
.review-form { margin-top: 16px; }
.change-comparison { display: grid; gap: 12px; }
.change-comparison article { padding: 17px; display: grid; grid-template-columns: minmax(140px, .7fr) 1fr 1fr; gap: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fbfdfb; }
.change-comparison article > strong { align-self: center; }
.change-comparison article div { min-width: 0; }
.change-comparison article span { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.change-comparison article p { margin: 5px 0 0; overflow-wrap: anywhere; }
.change-request-link { padding: 13px 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.change-request-link > div { display: grid; gap: 4px; }
.change-request-link small { color: var(--muted); }
.change-request-link:hover strong { color: var(--brand); }
.portal-admin-button { width: 100%; margin: 14px 0 4px; }
.invitation-history { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.invitation-history > div { padding: 9px 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.invitation-history > div > span { min-width: 0; display: grid; gap: 3px; }
.invitation-history small { color: var(--muted); overflow-wrap: anywhere; }
.invitation-history form { margin: 0; }
.invitation-result { display: grid; gap: 18px; }
.invitation-result > label { color: #334b40; font-size: .87rem; font-weight: 780; }
.invitation-link { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.invitation-link input { min-width: 0; min-height: 46px; padding: 0 14px; border: 1px solid #cbd9d0; border-radius: 11px; color: var(--ink); background: #f8fbf9; }
.activation-card { width: min(520px, calc(100% - 32px)); }
.activation-card .form-field { text-align: left; }
.activation-card .form-field input { margin-top: 7px; }
.activation-card .helptext { display: block; margin-top: 7px; color: var(--muted); font-size: .76rem; font-weight: 500; line-height: 1.4; }
.activation-card .helptext ul { margin: 7px 0 0; padding-left: 18px; }
.activation-check { width: 48px; height: 48px; margin-bottom: 18px; display: grid; place-items: center; border-radius: 15px; color: white; background: var(--brand); font-size: 1.3rem; font-weight: 900; }
.activation-login { width: 100%; }
.announcement-list { display: grid; gap: 12px; }
.announcement-preview { padding: 20px; display: block; border: 1px solid var(--line); border-radius: 15px; color: var(--ink); background: #fbfdfb; text-decoration: none; transition: border-color .18s, box-shadow .18s, transform .18s; }
.announcement-preview:hover { border-color: #b6d1c0; box-shadow: 0 12px 28px rgba(30,65,49,.07); transform: translateY(-1px); }
.announcement-preview.is-unread { border-left: 4px solid var(--brand); background: #f8fcf9; }
.announcement-preview > div { display: flex; align-items: center; gap: 10px; }
.announcement-list h3 { margin: 14px 0 7px; font-size: 1.08rem; }
.announcement-list p { margin: 0; color: var(--muted); line-height: 1.6; }
.announcement-list small { color: var(--muted); font-weight: 750; }
.announcement-preview > strong { margin-top: 13px; display: inline-block; color: var(--brand); font-size: .78rem; }
.announcement-new { margin-left: auto; padding: 4px 8px; border-radius: 999px; color: var(--brand-dark); background: var(--brand-soft); font-size: .68rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.announcement-mark { width: 28px; height: 28px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 9px; color: var(--brand-dark); background: var(--brand-soft); font-size: .75rem; font-weight: 900; }
.announcement-admin-list { display: grid; }
.announcement-admin-row { min-height: 82px; padding: 14px 0; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto 24px; align-items: center; gap: 14px; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.announcement-admin-row:first-child { border-top: 0; }
.announcement-admin-row > div { min-width: 0; display: grid; gap: 4px; }
.announcement-admin-row small { color: var(--muted); line-height: 1.4; }
.announcement-admin-row:hover > div strong { color: var(--brand); }
.communication-main { width: min(1280px, 100%); }
.communication-metrics { margin: 16px 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.communication-metrics article { min-height: 108px; padding: 20px 22px; display: grid; align-content: center; gap: 6px; border: 1px solid var(--line); border-radius: 17px; background: white; }
.communication-metrics article > span { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.communication-metrics strong { color: var(--brand-dark); font-size: 1.65rem; }
.communication-metrics small { color: var(--muted); }
.communication-metrics .metric-warning { border-color: #eddba8; background: #fffaf0; }
.communication-metrics .metric-error { border-color: #efc5bf; background: #fff7f5; }
.communication-filter { margin-bottom: 16px; padding: 13px; display: grid; grid-template-columns: minmax(220px, 1fr) 210px auto auto; gap: 9px; border: 1px solid var(--line); border-radius: 15px; background: white; }
.communication-filter input, .communication-filter select { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid #cbd9d0; border-radius: 10px; color: var(--ink); background: white; }
.communication-filter .quiet-link { align-self: center; padding: 0 7px; }
.communication-list-panel { padding-top: 22px; }
.communication-list { display: grid; }
.communication-row { min-height: 82px; padding: 14px 0; display: grid; grid-template-columns: 40px minmax(0, 1fr) 86px auto 20px; align-items: center; gap: 14px; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.communication-row:first-child { border-top: 0; }
.communication-row > div { min-width: 0; display: grid; gap: 4px; }
.communication-row small { color: var(--muted); line-height: 1.4; }
.communication-row:hover > div:first-of-type strong { color: var(--brand); }
.communication-row > i { color: var(--brand); font-style: normal; }
.communication-category { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #285775; background: #eaf3f8; font-size: .78rem; font-weight: 900; }
.communication-category.category-event { color: var(--brand-dark); background: var(--brand-soft); }
.communication-category.category-deadline { color: #795500; background: #fff5d8; }
.communication-category.category-urgent { color: #9a3429; background: #fff0ee; }
.communication-delivery { justify-items: end; text-align: right; }
.communication-delivery strong { color: var(--brand-dark); }
.communication-status-entwurf, .communication-status-zurückgenommen, .communication-status-abgelaufen { color: #5f6b66; background: #edf1ef; }
.communication-status-entwurf > span, .communication-status-zurückgenommen > span, .communication-status-abgelaufen > span { background: #829089; }
.communication-status-geplant { color: #795500; background: #fff5d8; }
.communication-status-geplant > span { background: #d99900; }
.communication-status-veröffentlicht { color: var(--brand-dark); background: var(--brand-soft); }
.communication-status-draft { color: #5f6b66; background: #edf1ef; }
.communication-status-draft > span { background: #829089; }
.communication-status-released { color: var(--brand-dark); background: var(--brand-soft); }
.communication-status-released > span { background: #2baa69; }
.serial-letter-row { grid-template-columns: 40px minmax(0, 1fr) 86px auto; }
.communication-category-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #285775; background: #eaf3f8; font-size: .86rem; font-weight: 900; }
.serial-letter-progress { justify-items: end; text-align: right; }
.serial-letter-progress strong { color: var(--brand-dark); }
.communication-form-workspace { width: min(1320px, calc(100% - 40px)); }
.communication-form-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(310px, .65fr); gap: 16px; align-items: start; }
.communication-release-stack { position: sticky; top: 92px; }
.communication-release-card form { margin-top: 16px; }
.communication-facts { margin: 0; display: grid; }
.communication-facts div { padding: 12px 0; display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line); }
.communication-facts div:first-child { border-top: 0; }
.communication-facts dt { color: var(--muted); font-size: .77rem; }
.communication-facts dd { margin: 0; display: grid; gap: 3px; font-weight: 800; text-align: right; }
.communication-facts dd small { color: var(--muted); font-size: .7rem; font-weight: 600; }
.release-confirmation { color: var(--muted); font-size: .8rem; line-height: 1.5; }
.communication-action { width: 100%; }
.communication-history { display: grid; }
.communication-history > div { padding: 11px 0; display: grid; grid-template-columns: 27px minmax(0, 1fr); gap: 9px; border-top: 1px solid var(--line); }
.communication-history > div:first-child { border-top: 0; }
.communication-history > div > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; color: var(--brand-dark); background: var(--brand-soft); font-size: .7rem; font-weight: 900; }
.communication-history p { margin: 0; display: grid; gap: 3px; }
.communication-history small { color: var(--muted); }
.letter-body-field textarea { min-height: 310px; font-family: inherit; line-height: 1.65; }
.placeholder-guide { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 7px; }
.placeholder-guide span { padding: 6px 9px; border: 1px solid #cfe0d5; border-radius: 8px; color: var(--brand-dark); background: #f4f9f6; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .7rem; }
.serial-letter-main { width: min(1320px, calc(100% - clamp(32px, 6vw, 80px))); }
.serial-letter-hero { background: radial-gradient(circle at 86% 10%, rgba(74,137,170,.13), transparent 30%), white; }
.serial-letter-metrics { margin-top: 14px; }
.letter-preview-list { display: grid; gap: 11px; }
.letter-preview-card { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fbfdfb; }
.letter-preview-card summary { padding: 14px; display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 11px; cursor: pointer; list-style: none; }
.letter-preview-card summary::-webkit-details-marker { display: none; }
.letter-preview-card summary > span, .delivery-log article > span:first-child { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: var(--brand-dark); background: var(--brand-soft); font-size: .68rem; font-weight: 900; }
.letter-preview-card summary > div { min-width: 0; display: grid; gap: 3px; }
.letter-preview-card summary small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.letter-preview-card summary > i { color: var(--brand); font-size: .7rem; font-style: normal; font-weight: 800; }
.letter-preview-card[open] summary { border-bottom: 1px solid var(--line); background: white; }
.letter-paper { margin: 18px; padding: clamp(22px, 4vw, 38px); display: grid; border: 1px solid #e3e7e4; border-radius: 3px; background: white; box-shadow: 0 12px 28px rgba(30,65,49,.07); }
.letter-paper > small { justify-self: end; color: var(--muted); }
.letter-paper > strong { margin: 32px 0 18px; font-size: 1.02rem; }
.letter-paper p { margin: 0; color: #263b32; line-height: 1.75; }
.delivery-log { display: grid; }
.delivery-log article { min-height: 78px; padding: 12px 0; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto auto auto; align-items: center; gap: 10px; border-top: 1px solid var(--line); }
.delivery-log article:first-child { border-top: 0; }
.delivery-log article > div { min-width: 0; display: grid; gap: 4px; }
.delivery-log article small { color: var(--muted); line-height: 1.45; }
.delivery-status-prepared { color: #795500; background: #fff5d8; }
.delivery-status-prepared > span { background: #d99900; }
.delivery-status-sent { color: var(--brand-dark); background: var(--brand-soft); }
.delivery-status-sent > span { background: #2baa69; }
.template-library-hero { background: radial-gradient(circle at 85% 8%, rgba(75,122,164,.14), transparent 32%), linear-gradient(140deg, #fff, #f6faf8); }
.template-library-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.template-card { position: relative; overflow: hidden; display: grid; align-content: start; }
.template-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #4c83a3, #2baa69); opacity: .7; transform-origin: left; transition: transform .35s var(--motion-ease); }
.template-card:hover::before { transform: scaleX(.55); }
.template-card.is-system::after { content: ""; position: absolute; right: -36px; top: -42px; width: 110px; height: 110px; border: 1px solid rgba(23,107,69,.1); border-radius: 44% 56% 62% 38%; animation: vf-organic-drift 12s ease-in-out infinite alternate; }
.template-card header { position: relative; z-index: 1; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 12px; }
.template-card header > div { min-width: 0; display: grid; gap: 3px; }
.template-card header small { color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.template-card h2 { margin: 0; font-size: 1rem; }
.template-category-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #285775; background: #eaf3f8; font-weight: 900; transition: color .25s ease, background .25s ease, transform .3s var(--motion-spring); }
.template-card:hover .template-category-icon { color: white; background: var(--brand); transform: rotate(-5deg) scale(1.05); }
.template-origin { padding: 6px 8px; border-radius: 8px; color: var(--brand-dark); background: var(--brand-soft); font-size: .64rem; font-weight: 850; }
.template-subject { margin: 20px 0 9px; font-weight: 850; }
.template-excerpt { min-height: 72px; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.template-card footer { margin-top: 20px; padding-top: 15px; display: flex; flex-wrap: wrap; align-items: center; gap: 9px; border-top: 1px solid var(--line); }
.template-card footer form { margin: 0 0 0 auto; }
.template-card footer .primary-link { min-height: 39px; padding: 0 13px; font-size: .72rem; }
.template-source-note { margin-bottom: 14px; padding: 13px 15px; display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 11px; border: 1px solid #c8ded0; border-radius: 14px; background: #f3faf6; }
.template-source-note > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: var(--brand-dark); background: white; box-shadow: 0 6px 15px rgba(23,107,69,.08); }
.template-source-note > div { display: grid; gap: 3px; }
.template-source-note small { color: var(--muted); }
.template-steps { margin: 14px 0 0; padding: 0; display: grid; gap: 10px; counter-reset: template-step; list-style: none; }
.template-steps li { display: grid; grid-template-columns: 26px 1fr; align-items: center; gap: 9px; color: var(--muted); font-size: .78rem; counter-increment: template-step; }
.template-steps li::before { content: counter(template-step); width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; color: var(--brand-dark); background: var(--brand-soft); font-size: .68rem; font-weight: 900; }
.template-empty { grid-column: 1 / -1; }
.announcement-reader { width: min(860px, calc(100% - 40px)); padding-top: 42px; }
.announcement-reader-card { margin-top: 18px; padding: clamp(24px, 5vw, 48px); border-top: 5px solid #3f83a8; }
.announcement-reader-card.category-event { border-top-color: var(--brand); }
.announcement-reader-card.category-deadline { border-top-color: #d99900; }
.announcement-reader-card.category-urgent { border-top-color: #b5483b; }
.announcement-reader-card header { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 15px; }
.announcement-reader-card h1 { margin: 7px 0 8px; font-size: clamp(1.8rem, 5vw, 3rem); letter-spacing: -.04em; }
.announcement-reader-card header small { color: var(--muted); }
.announcement-reader-body { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 1.02rem; line-height: 1.75; }
.announcement-reader-body p { margin: 0 0 1em; }
.portal-cora-content { min-width: 0; width: 100%; position: relative; z-index: 1; }
.cora-form { margin-top: 15px; display: grid; gap: 9px; }
.cora-form input { width: 100%; min-width: 0; min-height: 46px; padding: 0 13px; border: 1px solid #afd0bd; border-radius: 11px; color: var(--ink); background: white; outline: none; }
.cora-form input:focus { border-color: var(--brand); box-shadow: 0 0 0 4px rgba(23,107,69,.11); }
.cora-answer { margin-top: 15px; padding: 14px; display: grid; gap: 6px; border: 1px solid rgba(23,107,69,.16); border-radius: 13px; background: rgba(255,255,255,.7); }
.cora-answer small, .cora-answer span { color: var(--muted); font-size: .72rem; }
.cora-answer strong { overflow-wrap: anywhere; }
.cora-answer p { margin: 4px 0; color: var(--ink); }

/* Dashboard shell — follows the approved VereinsFair One prototype. */
.dashboard-page { background: #f3f6f4; }
.dashboard-shell { min-height: 100vh; display: grid; grid-template-columns: 264px minmax(0, 1fr); }
.dashboard-sidebar { position: sticky; top: 0; height: 100vh; padding: 24px 18px 18px; display: flex; flex-direction: column; border-right: 1px solid var(--line); background: #fff; }
.dashboard-brand { padding: 2px 8px 22px; display: flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; }
.dashboard-brand > span:last-child { display: grid; gap: 3px; }
.dashboard-brand strong { font-size: 1.04rem; letter-spacing: -.035em; }
.dashboard-brand em { color: var(--brand); font-style: normal; }
.dashboard-brand small { color: var(--muted); font-size: .7rem; }
.dashboard-brandmark { width: 39px; height: 39px; padding: 9px; display: flex; align-items: end; gap: 3px; border-radius: 13px; background: linear-gradient(145deg, var(--brand), var(--brand-dark)); box-shadow: 0 8px 20px rgba(23,107,69,.2); }
.dashboard-brandmark i { width: 5px; border-radius: 5px 5px 2px 2px; background: white; transform: rotate(22deg); }
.dashboard-brandmark i:nth-child(1) { height: 10px; opacity: .65; }
.dashboard-brandmark i:nth-child(2) { height: 17px; }
.dashboard-brandmark i:nth-child(3) { height: 13px; opacity: .82; }
.dashboard-club-card { padding: 12px; display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 14px; background: #f8faf8; }
.dashboard-club-card > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: var(--brand-dark); background: var(--brand-soft); font-size: .72rem; font-weight: 900; }
.dashboard-club-card div { min-width: 0; display: grid; gap: 3px; }
.dashboard-club-card strong { overflow: hidden; font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-club-card small { color: var(--muted); font-size: .69rem; }
.dashboard-nav { flex: 1; padding: 21px 3px; overflow-y: auto; }
.dashboard-nav-overline { padding: 0 9px 9px; display: block; color: #8a9992; font-size: .66rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dashboard-nav section { display: grid; gap: 3px; padding: 10px 0; border-top: 1px solid #edf1ee; }
.dashboard-nav section:first-of-type { border-top: 0; }
.dashboard-nav section > strong { padding: 3px 9px 5px; color: #41564d; font-size: .72rem; }
.dashboard-nav a { min-height: 39px; padding: 0 10px; display: flex; align-items: center; gap: 10px; border-radius: 10px; color: var(--muted); font-size: .79rem; font-weight: 680; text-decoration: none; transition: color .18s, background .18s, transform .18s; }
.dashboard-nav a > span { width: 22px; display: grid; place-items: center; color: #739083; font-size: .9rem; text-align: center; }
.dashboard-nav a:hover { color: var(--brand-dark); background: #f3f8f5; transform: translateX(2px); }
.dashboard-nav a.is-active { color: var(--brand-dark); background: var(--brand-soft); font-weight: 820; }
.dashboard-user { padding: 12px 7px 2px; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto auto; align-items: center; gap: 6px; border-top: 1px solid var(--line); }
.dashboard-user > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--brand); font-size: .7rem; font-weight: 850; }
.dashboard-user > div { min-width: 0; display: grid; gap: 2px; }
.dashboard-user strong, .dashboard-user small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-user strong { font-size: .76rem; }
.dashboard-user small { color: var(--muted); font-size: .65rem; }
.dashboard-user form { margin: 0; }
.dashboard-user button, .dashboard-user > a { width: 30px; height: 30px; display: grid; place-items: center; border: 0; border-radius: 9px; color: var(--muted); background: transparent; cursor: pointer; }
.dashboard-user button .vf-icon, .dashboard-user > a .vf-icon { width: 16px; height: 16px; }
.dashboard-user button:hover, .dashboard-user > a:hover { color: var(--brand-dark); background: var(--brand-soft); }
.dashboard-workspace { min-width: 0; }
.dashboard-topbar { position: relative; min-height: 70px; padding: 11px clamp(20px, 3.2vw, 44px); display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.93); backdrop-filter: blur(12px); }
.dashboard-search { width: min(420px, 42vw); min-height: 44px; padding: 0 13px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); background: #f7f9f7; }
.dashboard-search input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: .84rem; }
.dashboard-search > span:first-child { display: grid; place-items: center; }
.dashboard-search:focus-within { border-color: #a8cbb6; box-shadow: 0 0 0 4px rgba(23,107,69,.08); }
.dashboard-search.is-static span:last-child { font-size: .82rem; }
.dashboard-context { min-width: 170px; margin-left: auto; display: grid; gap: 2px; }
.dashboard-context small { color: var(--muted); font-size: .65rem; }
.dashboard-context strong { max-width: 220px; overflow: hidden; font-size: .77rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-notification { position: relative; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: white; text-decoration: none; }
.dashboard-theme-toggle { position: relative; width: 42px; height: 42px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: white; cursor: pointer; }
.dashboard-theme-toggle .vf-icon { position: absolute; width: 19px; height: 19px; transition: opacity .28s ease, transform .42s var(--motion-spring, ease); }
.dashboard-theme-toggle .theme-sun { opacity: 0; transform: translateY(18px) rotate(-90deg) scale(.65); }
.dashboard-theme-toggle:hover { color: var(--brand-dark); border-color: #b8d6c4; background: var(--brand-soft); }
html[data-theme="dark"] .dashboard-theme-toggle .theme-moon { opacity: 0; transform: translateY(-18px) rotate(90deg) scale(.65); }
html[data-theme="dark"] .dashboard-theme-toggle .theme-sun { opacity: 1; transform: translateY(0) rotate(0) scale(1); }
.dashboard-notification > .vf-icon { width: 19px; height: 19px; }
.dashboard-notification span { position: absolute; top: -5px; right: -5px; min-width: 19px; height: 19px; padding: 0 5px; display: grid; place-items: center; border: 2px solid white; border-radius: 10px; color: white; background: #c57927; font-size: .61rem; font-weight: 900; }
.dashboard-cora { position: relative; }
.dashboard-cora summary { min-height: 42px; padding: 0 14px; display: flex; align-items: center; gap: 8px; border: 1px solid #b8d6c4; border-radius: 12px; color: var(--brand-dark); background: var(--brand-soft); font-size: .78rem; font-weight: 850; cursor: pointer; list-style: none; }
.dashboard-cora summary::-webkit-details-marker { display: none; }
.dashboard-cora summary .vf-icon { width: 16px; height: 16px; }
.dashboard-cora[open] summary { background: #dff1e5; }
.dashboard-cora > div { position: absolute; z-index: 10; top: calc(100% + 10px); right: 0; width: min(340px, calc(100vw - 32px)); padding: 18px; border: 1px solid #bad8c6; border-radius: 15px; background: white; box-shadow: 0 20px 45px rgba(20,55,38,.16); }
.dashboard-cora p { margin: 7px 0 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.dashboard-main { width: min(1320px, calc(100% - clamp(32px, 6vw, 80px))); margin: 0 auto; padding: clamp(28px, 4vw, 48px) 0 56px; }
.dashboard-hero { position: relative; overflow: hidden; min-height: 190px; padding: clamp(28px, 4vw, 46px); display: flex; align-items: center; justify-content: space-between; gap: 28px; border: 1px solid #cadfd1; border-radius: 24px; background: radial-gradient(circle at 88% 12%, rgba(48,158,97,.18), transparent 32%), linear-gradient(140deg, #fff, #f4faf6); box-shadow: 0 18px 45px rgba(25,70,48,.055); }
.dashboard-hero::after { content: ""; position: absolute; right: -85px; bottom: -120px; width: 280px; height: 280px; border: 1px solid rgba(23,107,69,.1); border-radius: 44% 56% 58% 42%; transform: rotate(22deg); }
.dashboard-hero > * { position: relative; z-index: 1; }
.dashboard-eyebrow { display: flex; align-items: center; gap: 9px; color: #547469; font-size: .72rem; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }
.dashboard-eyebrow i { width: 8px; height: 8px; border-radius: 50%; background: #2baa69; box-shadow: 0 0 0 5px rgba(43,170,105,.13); }
.dashboard-hero h1 { margin: 14px 0 7px; font-size: clamp(2.25rem, 4.2vw, 4rem); letter-spacing: -.058em; line-height: 1; }
.dashboard-hero p { margin: 0; color: var(--muted); font-size: .98rem; }
.dashboard-rolebar { margin-top: 14px; padding: 10px 12px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 11px; border: 1px solid var(--line); border-radius: 15px; background: white; }
.dashboard-cora-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: var(--brand-dark); background: var(--brand-soft); }
.dashboard-cora-mark .vf-icon { width: 18px; height: 18px; }
.dashboard-rolebar > div { min-width: 0; display: grid; gap: 3px; }
.dashboard-rolebar strong { font-size: .78rem; }
.dashboard-rolebar small { color: var(--muted); font-size: .7rem; }
.dashboard-role-pill { padding: 8px 11px; border-radius: 9px; color: var(--brand-dark); background: #f1f6f3; font-size: .68rem; font-weight: 800; }
.dashboard-metrics { margin-top: 14px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.dashboard-metrics article { min-height: 144px; padding: 18px; display: grid; grid-template-columns: 42px 1fr; grid-template-rows: auto auto 1fr; column-gap: 12px; border: 1px solid var(--line); border-radius: 17px; background: white; }
.dashboard-metrics .metric-icon { grid-row: 1 / span 2; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #5a6382; background: #eef0f8; font-weight: 900; }
.dashboard-metrics .metric-icon .vf-icon { width: 20px; height: 20px; }
.dashboard-metrics .metric-icon.is-green { color: var(--brand-dark); background: var(--brand-soft); }
.dashboard-metrics .metric-icon.is-blue { color: #285775; background: #eaf3f8; }
.dashboard-metrics .metric-icon.is-warn { color: #8a5b00; background: #fff3d3; }
.dashboard-metrics article > small { align-self: center; color: var(--muted); font-size: .7rem; font-weight: 780; text-transform: uppercase; letter-spacing: .04em; }
.dashboard-metrics article > strong { align-self: end; font-size: 2rem; letter-spacing: -.04em; }
.dashboard-metrics article > p { grid-column: 1 / -1; align-self: end; margin: 12px 0 0; color: var(--muted); font-size: .72rem; }
.dashboard-metrics article.has-warning { border-color: #ead9a8; background: #fffcf5; }
.dashboard-content-grid { margin-top: 14px; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(290px, .75fr); gap: 14px; align-items: start; }
.dashboard-panel { padding: 23px; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 10px 32px rgba(25,70,48,.035); }
.dashboard-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 17px; }
.dashboard-panel-heading .eyebrow { margin-bottom: 5px; font-size: .65rem; }
.dashboard-panel-heading h2 { margin: 0; font-size: 1rem; }
.dashboard-panel-heading > a { color: var(--brand); font-size: .74rem; font-weight: 800; text-decoration: none; }
.dashboard-count { min-width: 28px; height: 28px; padding: 0 8px; display: grid; place-items: center; border-radius: 14px; color: #8a5b00; background: #fff3d3; font-size: .7rem; font-weight: 900; }
.dashboard-table-wrap { overflow-x: auto; }
.dashboard-table { width: 100%; border-collapse: collapse; }
.dashboard-table th { padding: 10px 12px; color: var(--muted); font-size: .65rem; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
.dashboard-table td { padding: 13px 12px; border-top: 1px solid #e8eeea; font-size: .78rem; }
.dashboard-table td:first-child a { display: flex; align-items: center; gap: 9px; color: var(--ink); text-decoration: none; }
.dashboard-table td:first-child a > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; color: var(--brand-dark); background: var(--brand-soft); font-size: .62rem; font-weight: 900; }
.dashboard-status { display: inline-flex; align-items: center; gap: 7px; color: var(--brand-dark); font-size: .7rem; font-weight: 800; }
.dashboard-status i { width: 7px; height: 7px; border-radius: 50%; background: #2baa69; }
.dashboard-empty { min-height: 190px; display: grid; grid-template-columns: 48px minmax(0, 1fr); align-content: center; gap: 14px; }
.dashboard-empty > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: var(--brand); background: var(--brand-soft); font-size: 1.2rem; }
.dashboard-empty p { max-width: 520px; margin: 6px 0 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.dashboard-empty .secondary-link { grid-column: 2; width: fit-content; min-height: 40px; margin-top: 3px; font-size: .76rem; }
.dashboard-task-list { display: grid; }
.dashboard-task-list > a { padding: 14px 0; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 11px; border-top: 1px solid #e8eeea; color: var(--ink); text-decoration: none; }
.dashboard-task-list > a:first-child { border-top: 0; }
.dashboard-task-list > a > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: var(--brand-dark); background: var(--brand-soft); font-weight: 850; }
.dashboard-task-list > a > span .vf-icon { width: 18px; height: 18px; }
.dashboard-task-list > a > div { min-width: 0; display: grid; gap: 4px; }
.dashboard-task-list strong { font-size: .78rem; }
.dashboard-task-list small { color: var(--muted); font-size: .68rem; }
.dashboard-task-list > a > i { color: var(--brand); font-style: normal; }
.dashboard-all-clear { min-height: 190px; display: grid; place-items: center; align-content: center; text-align: center; }
.dashboard-all-clear > span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; color: var(--brand-dark); background: var(--brand-soft); font-weight: 900; }
.dashboard-all-clear > span .vf-icon { width: 21px; height: 21px; }
.dashboard-all-clear strong { margin-top: 12px; }
.dashboard-all-clear p { max-width: 280px; margin: 6px 0 0; color: var(--muted); font-size: .75rem; line-height: 1.5; }

/* Tagesstimmung, zusätzliche Tiefe und Darkmode */
.dashboard-workspace { position: relative; isolation: isolate; }
.dashboard-workspace::before { content: ""; position: fixed; z-index: -1; inset: 70px 0 0 264px; pointer-events: none; background: radial-gradient(circle at 78% 12%, rgba(43,170,105,.07), transparent 27rem), radial-gradient(circle at 34% 74%, rgba(76,132,166,.045), transparent 25rem); }
.dashboard-sidebar::after { content: ""; position: absolute; top: 0; right: -1px; width: 1px; height: 18%; pointer-events: none; background: linear-gradient(transparent, rgba(43,170,105,.72), transparent); animation: dashboard-sidebar-glow 7s ease-in-out infinite; }
.dashboard-page[data-dayphase="morning"] .dashboard-hero { background: radial-gradient(circle at 88% 12%, rgba(255,190,92,.2), transparent 32%), radial-gradient(circle at 65% 110%, rgba(43,170,105,.1), transparent 40%), linear-gradient(140deg, #fff, #f6fbf4); }
.dashboard-page[data-dayphase="evening"] .dashboard-hero { background: radial-gradient(circle at 88% 12%, rgba(224,137,84,.19), transparent 32%), radial-gradient(circle at 64% 115%, rgba(100,94,170,.1), transparent 42%), linear-gradient(140deg, #fff, #f8f5f3); }
.dashboard-page[data-dayphase="night"] .dashboard-hero { background: radial-gradient(circle at 88% 12%, rgba(72,110,170,.2), transparent 32%), radial-gradient(circle at 63% 112%, rgba(43,170,105,.09), transparent 42%), linear-gradient(140deg, #fff, #f4f7f8); }
.dashboard-nav section { animation: dashboard-nav-arrive .5s var(--motion-ease, ease) both; }
.dashboard-nav section:nth-of-type(2) { animation-delay: .05s; }
.dashboard-nav section:nth-of-type(3) { animation-delay: .1s; }
.dashboard-nav section:nth-of-type(4) { animation-delay: .15s; }
.dashboard-nav section:nth-of-type(5) { animation-delay: .2s; }

html[data-theme="dark"] {
  --brand: #51cf88;
  --brand-dark: #9be7b8;
  --brand-soft: #183727;
  --ink: #e7f1eb;
  --muted: #91a79b;
  --line: #293d33;
  --paper: #121e17;
  --canvas: #0a120e;
}
html[data-theme="dark"] body { color: var(--ink); background-color: var(--canvas); background-image: radial-gradient(circle at 8% 0, rgba(60,185,113,.075), transparent 29rem); }
html[data-theme="dark"] .dashboard-page { background: #0a120e; }
html[data-theme="dark"] .dashboard-workspace::before { background: radial-gradient(circle at 78% 10%, rgba(51,193,112,.095), transparent 29rem), radial-gradient(circle at 28% 78%, rgba(71,116,167,.07), transparent 27rem); }
html[data-theme="dark"] .dashboard-sidebar { border-color: var(--line); background: #0f1913; box-shadow: 16px 0 42px rgba(0,0,0,.16); }
html[data-theme="dark"] .dashboard-brandmark { background: linear-gradient(145deg, #36b874, #176b45); box-shadow: 0 10px 25px rgba(15,110,64,.3); }
html[data-theme="dark"] .dashboard-club-card,
html[data-theme="dark"] .dashboard-search { border-color: var(--line); background: #142219; }
html[data-theme="dark"] .dashboard-nav section { border-color: #203128; }
html[data-theme="dark"] .dashboard-nav section > strong { color: #b2c6bb; }
html[data-theme="dark"] .dashboard-nav-overline { color: #70877b; }
html[data-theme="dark"] .dashboard-nav a:hover { color: #c3f2d4; background: #172b20; }
html[data-theme="dark"] .dashboard-nav a.is-active { color: #c9f5d9; background: linear-gradient(90deg, #1a3c2a, #172a20); }
html[data-theme="dark"] .dashboard-nav a > span { color: #79a58d; }
html[data-theme="dark"] .dashboard-user button:hover { color: #c9f5d9; background: #183727; }
html[data-theme="dark"] .dashboard-topbar { border-color: rgba(45,65,55,.92); background: rgba(12,21,16,.86); box-shadow: 0 10px 32px rgba(0,0,0,.13); }
html[data-theme="dark"] .dashboard-theme-toggle,
html[data-theme="dark"] .dashboard-notification { border-color: var(--line); color: var(--ink); background: #142219; }
html[data-theme="dark"] .dashboard-theme-toggle:hover,
html[data-theme="dark"] .dashboard-notification:hover { border-color: #37634b; background: #183727; }
html[data-theme="dark"] .dashboard-notification span { border-color: #0f1913; }
html[data-theme="dark"] .dashboard-cora summary { border-color: #315941; color: #b8efcb; background: #173522; }
html[data-theme="dark"] .dashboard-cora[open] summary { background: #1d432c; }
html[data-theme="dark"] .dashboard-cora > div { border-color: #315941; background: #142219; box-shadow: 0 22px 50px rgba(0,0,0,.42); }
html[data-theme="dark"] .dashboard-hero,
html[data-theme="dark"] .dashboard-page[data-dayphase="morning"] .dashboard-hero,
html[data-theme="dark"] .dashboard-page[data-dayphase="evening"] .dashboard-hero,
html[data-theme="dark"] .dashboard-page[data-dayphase="night"] .dashboard-hero { border-color: #315442; background: radial-gradient(circle at 88% 12%, rgba(66,202,126,.18), transparent 31%), radial-gradient(circle at 60% 120%, rgba(72,107,160,.11), transparent 42%), linear-gradient(140deg, #132219, #0f1914); box-shadow: 0 24px 58px rgba(0,0,0,.2); }
html[data-theme="dark"] .dashboard-page[data-dayphase="evening"] .dashboard-hero { background: radial-gradient(circle at 88% 12%, rgba(221,134,80,.17), transparent 31%), radial-gradient(circle at 61% 118%, rgba(105,92,180,.13), transparent 43%), linear-gradient(140deg, #172019, #111718); }
html[data-theme="dark"] .dashboard-page[data-dayphase="night"] .dashboard-hero { background: radial-gradient(circle at 88% 12%, rgba(70,111,180,.2), transparent 31%), radial-gradient(circle at 61% 118%, rgba(56,174,108,.11), transparent 43%), linear-gradient(140deg, #111d1b, #0c1415); }
html[data-theme="dark"] .dashboard-hero::before { background: conic-gradient(from 120deg at 72% 42%, transparent 0 58%, rgba(133,226,170,.08) 64%, transparent 70% 100%); }
html[data-theme="dark"] .dashboard-hero::after { border-color: rgba(119,214,157,.13); }
html[data-theme="dark"] .dashboard-eyebrow { color: #8db6a1; }
html[data-theme="dark"] .dashboard-ambient span { border-color: rgba(118,220,161,.2); }
html[data-theme="dark"] .dashboard-rolebar,
html[data-theme="dark"] .dashboard-metrics article,
html[data-theme="dark"] .dashboard-panel { border-color: var(--line); background: #121e17; box-shadow: 0 13px 36px rgba(0,0,0,.13); }
html[data-theme="dark"] .dashboard-role-pill { color: #b4ecc8; background: #193425; }
html[data-theme="dark"] .dashboard-metrics article:hover,
html[data-theme="dark"] .dashboard-panel:hover { border-color: #37604a; box-shadow: 0 18px 45px rgba(0,0,0,.22); }
html[data-theme="dark"] .dashboard-metrics article.has-warning { border-color: #604b2b; background: #211c12; }
html[data-theme="dark"] .dashboard-metrics .metric-icon { color: #b3b8db; background: #24283b; }
html[data-theme="dark"] .dashboard-metrics .metric-icon.is-green { color: #a9eec2; background: #183727; }
html[data-theme="dark"] .dashboard-metrics .metric-icon.is-blue { color: #a5d3ed; background: #172d39; }
html[data-theme="dark"] .dashboard-metrics .metric-icon.is-warn { color: #f0c982; background: #3a2d18; }
html[data-theme="dark"] .dashboard-table td,
html[data-theme="dark"] .dashboard-task-list > a { border-color: #26382f; }
html[data-theme="dark"] .dashboard-table tbody tr:hover,
html[data-theme="dark"] .dashboard-task-list > a:hover { color: #c3f2d4; background: #16271d; }
html[data-theme="dark"] .dashboard-count { color: #f1c77d; background: #382b17; }
html[data-theme="dark"] .secondary-link { border-color: #355541; color: #b8efcb; background: #142219; }
html[data-theme="dark"] .secondary-link:hover { border-color: #4d8c68; background: #193728; }
html[data-theme="dark"] .primary-link,
html[data-theme="dark"] .primary-button { color: white; background: linear-gradient(135deg, #23895a, #176b45); box-shadow: 0 10px 25px rgba(0,0,0,.23); }
html[data-theme="dark"] .topbar { border-color: var(--line); background: rgba(15,25,19,.94); box-shadow: 0 10px 32px rgba(0,0,0,.14); }
html[data-theme="dark"] .app-nav a:hover,
html[data-theme="dark"] .app-nav a[aria-current="page"] { color: #c9f5d9; background: #183727; }
html[data-theme="dark"] .quiet-button { border-color: #355144; color: #d9e8df; background: #142219; }
html[data-theme="dark"] .quiet-button:hover { border-color: #4d8c68; background: #193728; }
html[data-theme="dark"] .member-hero { border-color: #315442; background: radial-gradient(circle at 90% 0, rgba(66,202,126,.14), transparent 44%), #121e17; box-shadow: 0 18px 44px rgba(0,0,0,.15); }
html[data-theme="dark"] .record-avatar { color: #c9f5d9; background: #193d2a; }
html[data-theme="dark"] .data-panel { border-color: var(--line); background: #121e17; box-shadow: 0 13px 36px rgba(0,0,0,.14); }
html[data-theme="dark"] .data-panel .eyebrow,
html[data-theme="dark"] .cora-card .eyebrow { color: #8db6a1; }
html[data-theme="dark"] .info-grid { border-color: #365044; background: #365044; }
html[data-theme="dark"] .info-grid div { background: #16251c; }
html[data-theme="dark"] .info-grid dt { color: #9bb2a6; }
html[data-theme="dark"] .info-grid dd { color: #e7f1eb; }
html[data-theme="dark"] .info-grid a { color: #6ed99b; }
html[data-theme="dark"] .secondary-button { border-color: #4d8c68; color: #b8efcb; background: #142219; }
html[data-theme="dark"] .secondary-button:hover { background: #193728; }
html[data-theme="dark"] .cora-card { border-color: #315941; background: radial-gradient(circle at 12% 18%, rgba(73,207,135,.13), transparent 36%), linear-gradient(145deg, #172b20, #132219); box-shadow: 0 13px 34px rgba(0,0,0,.13); }
html[data-theme="dark"] .cora-card .cora-mark { color: #0f271a; background: #64d897; box-shadow: 0 10px 25px rgba(54,184,116,.18); }
html[data-theme="dark"] .activity-row,
html[data-theme="dark"] .compact-details div,
html[data-theme="dark"] .change-request-link,
html[data-theme="dark"] .invitation-history { border-color: #2d4337; }
html[data-theme="dark"] .form-field label { color: #d9e8df; }
html[data-theme="dark"] .form-field label > span { color: #8fd2a8; }
html[data-theme="dark"] .member-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
html[data-theme="dark"] .member-form select,
html[data-theme="dark"] .member-form textarea,
html[data-theme="dark"] .filter-bar input,
html[data-theme="dark"] .filter-bar select {
  color-scheme: light;
  border-color: #789084;
  color: #17372a;
  background: #f8fbf9;
  box-shadow: inset 0 1px 2px rgba(17,49,34,.06);
}
html[data-theme="dark"] .member-form input::placeholder,
html[data-theme="dark"] .member-form textarea::placeholder,
html[data-theme="dark"] .filter-bar input::placeholder { color: #607268; opacity: 1; }
html[data-theme="dark"] .member-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
html[data-theme="dark"] .member-form select:focus,
html[data-theme="dark"] .member-form textarea:focus,
html[data-theme="dark"] .filter-bar input:focus,
html[data-theme="dark"] .filter-bar select:focus {
  border-color: #2a9d66;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(51,193,112,.24), inset 0 1px 2px rgba(17,49,34,.04);
}
html[data-theme="dark"] .member-form input:disabled,
html[data-theme="dark"] .member-form select:disabled,
html[data-theme="dark"] .member-form textarea:disabled,
html[data-theme="dark"] .member-form input[readonly] { color: #53685c; background: #dfe8e3; }
html[data-theme="dark"] .member-form input[type="file"] { border-color: #466454; color: #d9e8df; background: #16261c; }
html[data-theme="dark"] .member-form ul { border-color: #355144; background: #142219; }

/* Cora-Aktionszentrum */
.dashboard-nav-badge { margin-left: auto; min-width: 20px; height: 20px; padding: 0 6px; display: inline-grid; place-items: center; border-radius: 999px; color: #fff; background: #c47b16; font-size: .65rem; }
.cora-center-main { display: grid; gap: 14px; }
.cora-center-hero { min-height: 190px; padding: clamp(28px, 4vw, 46px); display: flex; align-items: center; justify-content: space-between; gap: 28px; overflow: hidden; position: relative; border: 1px solid #c7decf; border-radius: 25px; background: radial-gradient(circle at 86% 15%, rgba(61,193,119,.2), transparent 30%), linear-gradient(140deg, #fff, #eef8f2); box-shadow: 0 20px 48px rgba(24,76,50,.07); }
.cora-center-hero::after { content: ""; position: absolute; width: 230px; height: 230px; right: -70px; bottom: -145px; border: 1px solid rgba(35,137,87,.17); border-radius: 50%; }
.cora-center-hero h1 { margin: 12px 0 8px; font-size: clamp(2.25rem, 4.6vw, 4.1rem); letter-spacing: -.06em; line-height: 1; }
.cora-center-hero p { max-width: 760px; margin: 0; color: var(--muted); line-height: 1.62; }
.cora-center-shield { flex: 0 0 auto; width: 82px; height: 82px; display: grid; place-items: center; border: 1px solid rgba(23,107,69,.16); border-radius: 25px; color: var(--brand); background: rgba(255,255,255,.72); box-shadow: 0 18px 35px rgba(23,107,69,.1); }
.cora-center-shield .vf-icon { width: 38px; height: 38px; }
.cora-center-ask .vf-icon { width: 18px; height: 18px; }
.cora-center-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.cora-center-metrics a { min-height: 125px; padding: 18px; display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto auto 1fr; gap: 0 12px; border: 1px solid var(--line); border-radius: 17px; color: var(--ink); background: white; text-decoration: none; transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease; }
.cora-center-metrics a:hover { border-color: #b9d6c4; box-shadow: 0 14px 32px rgba(24,76,50,.08); transform: translateY(-2px); }
.cora-center-metrics a > span { grid-row: 1 / span 2; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: var(--brand-dark); background: var(--brand-soft); }
.cora-center-metrics a > span.is-done { color: #287047; background: #e5f6eb; }
.cora-center-metrics a > span.is-draft { color: #285e7a; background: #e8f2f8; }
.cora-center-metrics a > span.is-expired { color: #7a6850; background: #f1ede6; }
.cora-center-metrics .vf-icon { width: 19px; height: 19px; }
.cora-center-metrics small { align-self: center; color: var(--muted); font-size: .68rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.cora-center-metrics strong { font-size: 1.9rem; line-height: 1; }
.cora-center-metrics p { grid-column: 1 / -1; align-self: end; margin: 11px 0 0; color: var(--muted); font-size: .72rem; }
.cora-center-panel { padding: 0; overflow: hidden; }
.cora-center-filters { padding: 20px 22px; display: flex; flex-wrap: wrap; align-items: end; gap: 11px; border-bottom: 1px solid var(--line); background: #fbfcfb; }
.cora-center-filters label { min-width: 155px; display: grid; gap: 6px; color: var(--muted); font-size: .68rem; font-weight: 800; }
.cora-center-filters select { min-height: 42px; padding: 0 34px 0 11px; border: 1px solid #c9d8cf; border-radius: 10px; color: var(--ink); background: white; font: inherit; font-size: .78rem; }
.cora-center-filters .secondary-button { min-height: 42px; }
.cora-center-filters .quiet-link { min-height: 42px; display: inline-flex; align-items: center; }
.cora-action-list { display: grid; }
.cora-action-row { padding: 22px; display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 16px; border-bottom: 1px solid var(--line); }
.cora-action-row:last-child { border-bottom: 0; }
.cora-action-row.status-proposed { background: linear-gradient(90deg, rgba(255,247,228,.75), transparent 42%); }
.cora-action-row.status-executed { background: linear-gradient(90deg, rgba(233,248,239,.6), transparent 42%); }
.cora-action-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; color: var(--brand-dark); background: var(--brand-soft); }
.cora-action-icon .vf-icon { width: 21px; height: 21px; }
.cora-action-main { min-width: 0; }
.cora-action-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.cora-action-heading small { color: var(--muted); font-size: .69rem; font-weight: 750; }
.cora-action-heading h2 { margin: 5px 0 0; font-size: 1rem; }
.cora-action-status { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; color: #8a5b00; background: #fff2cf; font-size: .65rem; font-weight: 850; }
.status-executed .cora-action-status { color: #176b45; background: #e4f5ea; }
.status-rejected .cora-action-status, .status-expired .cora-action-status { color: #6c6256; background: #efebe5; }
.status-failed .cora-action-status { color: #94382e; background: #fde8e5; }
.cora-action-preview { margin: 14px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cora-action-preview div { min-width: 0; padding: 10px 12px; border-radius: 10px; background: rgba(244,248,245,.9); }
.cora-action-preview dt { color: var(--muted); font-size: .62rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.cora-action-preview dd { margin: 4px 0 0; overflow-wrap: anywhere; font-size: .78rem; font-weight: 700; }
.cora-action-main footer { margin-top: 12px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; color: var(--muted); font-size: .68rem; }
.cora-action-controls { min-width: 150px; display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 8px; }
.cora-action-controls form, .cora-action-controls button, .cora-action-controls .secondary-link { width: 100%; }
.cora-action-controls .quiet-link { padding: 7px; text-align: center; font-size: .7rem; }
.cora-center-empty { padding: 58px 24px; display: grid; justify-items: center; text-align: center; }
.cora-center-empty > span { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; color: var(--brand); background: var(--brand-soft); }
.cora-center-empty > span .vf-icon { width: 26px; height: 26px; }
.cora-center-empty h2 { margin: 16px 0 7px; }
.cora-center-empty p { max-width: 560px; margin: 0 0 18px; color: var(--muted); }
.cora-pagination { padding: 16px 22px; display: flex; align-items: center; justify-content: center; gap: 22px; border-top: 1px solid var(--line); color: var(--muted); font-size: .75rem; }
.cora-pagination a { color: var(--brand); font-weight: 800; text-decoration: none; }

/* Cora-Frühwarnsystem */
.cora-alert-strip { padding: 18px; overflow: hidden; border: 1px solid #c7decf; border-radius: 20px; background: linear-gradient(135deg, #f7fcf9, #eef8f2); box-shadow: 0 13px 32px rgba(24,76,50,.055); }
.cora-alert-strip.has-urgent { border-color: #ebc9bd; background: linear-gradient(135deg, #fffaf8, #fff2ed); }
.cora-alert-strip > header, .cora-alert-center > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.cora-alert-strip > header > div { display: flex; align-items: center; gap: 12px; }
.cora-alert-strip > header small, .cora-alert-center > header .eyebrow { display: block; color: var(--muted); font-size: .65rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.cora-alert-strip > header strong { display: block; margin-top: 2px; font-size: .93rem; }
.cora-alert-strip > header a { color: var(--brand); font-size: .72rem; font-weight: 850; text-decoration: none; }
.cora-alert-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(145deg, #2ba76c, #176b45); box-shadow: 0 8px 19px rgba(23,107,69,.2); }
.cora-alert-mark .vf-icon { width: 18px; height: 18px; }
.cora-alert-grid { margin-top: 15px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.cora-alert-card { min-width: 0; padding: 12px; display: grid; grid-template-columns: 38px minmax(0,1fr) 16px; align-items: center; gap: 10px; border: 1px solid #d7e5dc; border-radius: 14px; color: var(--ink); background: rgba(255,255,255,.88); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.cora-alert-card:hover { transform: translateY(-2px); box-shadow: 0 11px 25px rgba(24,76,50,.08); }
.cora-alert-card > span, .cora-alert-center-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: #87620b; background: #fff3d2; }
.cora-alert-card.severity-urgent > span, .severity-urgent .cora-alert-center-icon { color: #9b3d31; background: #fde8e4; }
.cora-alert-card .vf-icon, .cora-alert-center-icon .vf-icon { width: 18px; height: 18px; }
.cora-alert-card div { min-width: 0; }
.cora-alert-card small { color: var(--muted); font-size: .6rem; font-weight: 850; text-transform: uppercase; }
.cora-alert-card strong { display: block; margin-top: 2px; font-size: .8rem; }
.cora-alert-card p { margin: 3px 0 0; overflow: hidden; color: var(--muted); font-size: .68rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.cora-alert-card > i { color: var(--brand); font-style: normal; }
.cora-alert-clear { margin-top: 14px; display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: .75rem; }
.cora-alert-clear > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #176b45; background: #ddf4e6; font-weight: 900; }
.cora-alert-clear p { margin: 0; }
.cora-alert-center { padding: 0; overflow: visible; }
.cora-alert-center > header { padding: 22px; border-bottom: 1px solid var(--line); }
.cora-alert-center > header h2 { margin: 5px 0 3px; }
.cora-alert-center > header p { margin: 0; color: var(--muted); font-size: .76rem; }
.cora-alert-total { min-width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: #795500; background: #fff3d2; font-size: 1.1rem; font-weight: 900; }
.cora-alert-total.has-urgent { color: #94382e; background: #fde8e5; }
.cora-alert-filters { padding: 12px 22px; display: flex; align-items: end; flex-wrap: wrap; gap: 9px; border-bottom: 1px solid var(--line); background: #f8faf8; }
.cora-alert-filters label { min-width: 150px; display: grid; gap: 4px; }
.cora-alert-filters label span { color: var(--muted); font-size: .61rem; font-weight: 850; text-transform: uppercase; }
.cora-alert-filters select { min-height: 38px; padding: 0 10px; border: 1px solid #ccd9d1; border-radius: 10px; color: var(--ink); background: #fff; font: inherit; font-size: .7rem; }
.cora-alert-filters .quiet-link { padding: 10px 6px; }
.cora-alert-center-list { display: grid; }
.cora-alert-workflow { border-bottom: 1px solid var(--line); }
.cora-alert-workflow:last-child { border-bottom: 0; }
.cora-alert-summary { padding: 15px 22px; display: grid; grid-template-columns: 40px minmax(0,1fr) auto 16px; align-items: center; gap: 13px; color: var(--ink); text-decoration: none; transition: background .2s ease; }
.cora-alert-summary:hover { background: #f7faf8; }
.cora-alert-center-list div { min-width: 0; }
.cora-alert-center-list small { color: var(--muted); font-size: .63rem; font-weight: 850; text-transform: uppercase; }
.cora-alert-center-list strong { display: block; margin-top: 2px; font-size: .85rem; }
.cora-alert-center-list p { margin: 3px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.4; }
.cora-alert-summary em { display: block; margin-top: 5px; color: var(--brand); font-size: .66rem; font-style: normal; font-weight: 750; }
.cora-alert-level { padding: 5px 8px; border-radius: 999px; color: #795500; background: #fff3d2; font-size: .62rem; font-weight: 850; }
.severity-urgent .cora-alert-level { color: #94382e; background: #fde8e5; }
.state-completed .cora-alert-level { color: #176b45; background: #e4f5ea; }
.state-snoozed .cora-alert-level { color: #47657c; background: #e7f1f7; }
.cora-alert-summary > i { color: var(--brand); font-style: normal; }
.cora-alert-controls { padding: 0 22px 14px 75px; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.cora-alert-controls > form { margin: 0; }
.cora-alert-controls button, .cora-alert-controls > .secondary-link { min-height: 34px; padding: 0 11px; font-size: .66rem; }
.cora-alert-controls details { position: relative; }
.cora-alert-controls details > summary { min-height: 34px; padding: 8px 11px; border: 1px solid #cad9d0; border-radius: 9px; color: var(--brand-dark); background: #fff; cursor: pointer; font-size: .66rem; font-weight: 800; list-style: none; }
.cora-alert-controls details > summary::-webkit-details-marker { display: none; }
.cora-alert-controls details[open] > summary { border-color: var(--brand); }
.cora-alert-controls details > form, .cora-alert-history > ol { position: absolute; z-index: 20; top: calc(100% + 6px); left: 0; width: min(340px, 78vw); padding: 13px; display: grid; gap: 9px; border: 1px solid #cad9d0; border-radius: 12px; background: #fff; box-shadow: 0 18px 45px rgba(20,55,37,.16); }
.cora-alert-controls details > form label { display: grid; gap: 4px; color: var(--muted); font-size: .63rem; font-weight: 800; }
.cora-alert-controls details select, .cora-alert-controls details input { width: 100%; min-height: 38px; padding: 0 9px; border: 1px solid #ccd9d1; border-radius: 9px; color: var(--ink); background: #fff; font: inherit; font-size: .7rem; }
.cora-alert-controls details form small { font-size: .58rem; font-weight: 600; text-transform: none; }
.cora-alert-history { margin-left: auto; }
.cora-alert-history > ol { right: 0; left: auto; margin: 0; list-style: none; }
.cora-alert-history li { padding: 7px 0; display: grid; gap: 2px; border-bottom: 1px solid #e4ece7; }
.cora-alert-history li:last-child { border-bottom: 0; }
.cora-alert-history li strong { font-size: .68rem; }
.cora-alert-history li span, .cora-alert-history li small { color: var(--muted); font-size: .61rem; font-weight: 600; text-transform: none; }
.cora-alert-center-clear { padding: 28px 22px; display: flex; align-items: center; gap: 13px; }
.cora-alert-center-clear > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: #176b45; background: #e4f5ea; }
.cora-alert-center-clear .vf-icon { width: 20px; height: 20px; }
.cora-alert-center-clear p { margin: 4px 0 0; color: var(--muted); font-size: .75rem; }
.cora-operation-warning { padding: 14px 17px; display: grid; grid-template-columns: 34px minmax(0,1fr) 20px; align-items: center; gap: 12px; border: 1px solid #ebc4bb; border-radius: 16px; color: #74332b; background: #fff4f1; text-decoration: none; }
.cora-operation-warning > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: #fff; background: #b84d3e; font-weight: 900; }
.cora-operation-warning strong { font-size: .79rem; }
.cora-operation-warning p { margin: 3px 0 0; font-size: .69rem; }
.cora-operation-warning i { font-style: normal; font-weight: 900; }
.cora-operations { padding: 0; overflow: hidden; }
.cora-operations > header, .cora-delivery-panel > header { padding: 21px 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); }
.cora-operations > header h2, .cora-delivery-panel > header h2 { margin: 4px 0 3px; }
.cora-operations > header p, .cora-delivery-panel > header p { margin: 0; color: var(--muted); font-size: .73rem; }
.cora-operations .eyebrow, .cora-delivery-panel .eyebrow { color: var(--muted); font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.cora-operation-state { padding: 6px 10px; border-radius: 999px; color: #795500; background: #fff1cc; font-size: .63rem; font-weight: 900; }
.cora-operation-state.is-ready { color: #176b45; background: #e1f4e8; }
.cora-operation-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.cora-operation-grid > article { min-width: 0; padding: 19px 22px; display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 12px; }
.cora-operation-grid > article + article { border-left: 1px solid var(--line); }
.cora-operation-grid article > form { grid-column: 2; }
.cora-operation-grid button { min-height: 38px; }
.cora-operation-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: #176b45; background: #e1f4e8; }
.cora-operation-icon.is-mail { color: #42647d; background: #e6f1f8; }
.cora-operation-icon .vf-icon { width: 19px; height: 19px; }
.cora-operation-grid small { color: var(--muted); font-size: .61rem; font-weight: 850; text-transform: uppercase; }
.cora-operation-grid strong { display: block; margin-top: 3px; font-size: .82rem; }
.cora-operation-grid p { margin: 3px 0 0; color: var(--muted); font-size: .67rem; overflow-wrap: anywhere; }
.cora-operation-grid button:disabled { cursor: not-allowed; opacity: .48; }
.cora-delivery-panel { padding: 0; overflow: hidden; }
.cora-delivery-panel > header > span { min-width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: var(--brand-dark); background: var(--brand-soft); font-size: .78rem; font-weight: 900; }
.cora-delivery-list { display: grid; }
.cora-delivery-list > article { padding: 15px 22px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); }
.cora-delivery-list > article:last-child { border-bottom: 0; }
.cora-delivery-list > article.status-failed { background: linear-gradient(90deg,rgba(255,235,230,.75),transparent 50%); }
.cora-delivery-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #176b45; background: #e3f4e9; }
.status-failed .cora-delivery-icon { color: #9b3d31; background: #fde8e4; }
.cora-delivery-icon .vf-icon { width: 17px; height: 17px; }
.cora-delivery-list small { color: var(--muted); font-size: .6rem; font-weight: 850; text-transform: uppercase; }
.cora-delivery-list strong { display: block; margin-top: 2px; font-size: .79rem; }
.cora-delivery-list p { margin: 3px 0 0; color: var(--muted); font-size: .67rem; }
.cora-delivery-list em { display: block; margin-top: 5px; color: #9b3d31; font-size: .64rem; font-style: normal; overflow-wrap: anywhere; }
.cora-delivery-status { padding: 5px 8px; border-radius: 999px; color: #176b45; background: #e4f5ea; font-size: .61rem; font-weight: 850; }
.status-failed .cora-delivery-status { color: #94382e; background: #fde8e5; }
.cora-delivery-empty { padding: 27px 22px; display: flex; align-items: center; gap: 12px; }
.cora-delivery-empty > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--brand); background: var(--brand-soft); }
.cora-delivery-empty .vf-icon { width: 19px; height: 19px; }
.cora-delivery-empty p { margin: 3px 0 0; color: var(--muted); font-size: .72rem; }
.cora-operation-head-actions { display: flex; align-items: center; gap: 9px; }
.cora-operation-head-actions .secondary-link { min-height: 36px; gap: 6px; font-size: .67rem; }
.cora-operation-head-actions .vf-icon { width: 15px; height: 15px; }
.cora-rules-main { display: grid; gap: 14px; }
.cora-rules-hero { min-height: 190px; padding: clamp(25px,4vw,42px); display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid #c8dfd0; border-radius: 25px; background: radial-gradient(circle at 88% 25%,rgba(91,200,137,.19),transparent 28%),linear-gradient(135deg,#fff,#f1f9f4); overflow: hidden; }
.cora-rules-hero h1 { margin: 12px 0 7px; font-size: clamp(2.25rem,4.5vw,4.2rem); letter-spacing: -.06em; line-height: .98; }
.cora-rules-hero p { max-width: 760px; margin: 0; color: var(--muted); line-height: 1.55; }
.cora-rules-hero > span { width: 74px; height: 74px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #b9d9c5; border-radius: 24px; color: var(--brand); background: rgba(255,255,255,.72); box-shadow: 0 15px 35px rgba(23,107,69,.1); }
.cora-rules-hero > span .vf-icon { width: 31px; height: 31px; }
.cora-rules-form { display: grid; gap: 14px; }
.cora-rule-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.cora-rule-grid > article { min-width: 0; padding: 21px; display: grid; align-content: start; gap: 17px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); box-shadow: 0 10px 27px rgba(24,76,50,.045); transition: border-color .2s ease,transform .2s ease,opacity .2s ease; }
.cora-rule-grid > article:hover { border-color: #b7d2c1; transform: translateY(-2px); }
.cora-rule-grid > article:has(.cora-rule-switch input:not(:checked)) { opacity: .62; background: #f7f9f7; }
.cora-rule-grid article > header { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 12px; }
.cora-rule-grid article > header > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--brand-dark); background: var(--brand-soft); }
.cora-rule-grid article > header > span .vf-icon { width: 19px; height: 19px; }
.cora-rule-grid article > header strong { display: block; font-size: .88rem; }
.cora-rule-grid article > header small { display: block; margin-top: 3px; color: var(--muted); font-size: .65rem; line-height: 1.35; }
.cora-rule-grid article > p { margin: 0 0 0 54px; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.cora-rule-grid > article.is-simple { align-content: center; min-height: 105px; }
.cora-rule-switch { position: relative; width: 42px; height: 24px; cursor: pointer; }
.cora-rule-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.cora-rule-switch i { position: absolute; inset: 0; border-radius: 999px; background: #cbd7d0; transition: background .2s ease; }
.cora-rule-switch i::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: white; box-shadow: 0 2px 5px rgba(0,0,0,.16); transition: transform .2s ease; }
.cora-rule-switch input:checked + i { background: var(--brand); }
.cora-rule-switch input:checked + i::after { transform: translateX(18px); }
.cora-rule-switch input:focus-visible + i { outline: 3px solid rgba(43,167,108,.24); outline-offset: 2px; }
.cora-rule-number { margin-left: 54px; display: grid; gap: 6px; }
.cora-rule-number > span { color: var(--muted); font-size: .64rem; font-weight: 800; }
.cora-rule-number > div { position: relative; }
.cora-rule-number input { width: 100%; min-height: 43px; padding: 0 65px 0 12px; border: 1px solid #cad9d0; border-radius: 11px; color: var(--ink); background: #fff; font: inherit; font-size: .78rem; font-weight: 800; }
.cora-rule-number em { position: absolute; top: 50%; right: 12px; color: var(--muted); font-size: .65rem; font-style: normal; transform: translateY(-50%); }
.cora-rule-double { margin-left: 54px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cora-rule-double .cora-rule-number { margin-left: 0; }
.cora-rules-actions { padding: 5px 2px; display: flex; align-items: center; justify-content: flex-end; gap: 11px; }
.cora-rules-history { padding: 22px; }
.cora-rules-history > header { padding-bottom: 11px; }
.cora-rules-history h2 { margin: 4px 0 0; }
.cora-rules-history .eyebrow { color: var(--muted); font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.cora-rules-empty { padding: 18px 0 5px; border-top: 1px solid var(--line); color: var(--muted); font-size: .74rem; }

html[data-theme="dark"] .cora-center-hero { border-color: #315442; background: radial-gradient(circle at 86% 15%, rgba(66,202,126,.17), transparent 30%), linear-gradient(140deg, #132219, #0f1914); box-shadow: 0 22px 52px rgba(0,0,0,.2); }
html[data-theme="dark"] .cora-center-shield { border-color: #365d47; color: #9be7b8; background: #172a20; }
html[data-theme="dark"] .cora-center-metrics a { border-color: var(--line); background: #121e17; }
html[data-theme="dark"] .cora-center-metrics a:hover { border-color: #37604a; box-shadow: 0 18px 40px rgba(0,0,0,.2); }
html[data-theme="dark"] .cora-center-metrics a > span.is-done { color: #9be7b8; background: #183727; }
html[data-theme="dark"] .cora-center-metrics a > span.is-draft { color: #a5d3ed; background: #172d39; }
html[data-theme="dark"] .cora-center-metrics a > span.is-expired { color: #cabba6; background: #302a22; }
html[data-theme="dark"] .cora-center-filters { border-color: var(--line); background: #0f1913; }
html[data-theme="dark"] .cora-center-filters select { border-color: #466454; color: #e7f1eb; background: #16261c; }
html[data-theme="dark"] .cora-action-row { border-color: #293d33; }
html[data-theme="dark"] .cora-operation-warning { border-color: #67443c; color: #ffc2b8; background: #2d1e1b; }
html[data-theme="dark"] .cora-operations,
html[data-theme="dark"] .cora-delivery-panel { border-color: #30463a; background: #111e16; }
html[data-theme="dark"] .cora-operations > header,
html[data-theme="dark"] .cora-delivery-panel > header,
html[data-theme="dark"] .cora-operation-grid > article + article,
html[data-theme="dark"] .cora-delivery-list > article { border-color: #2b4035; }
html[data-theme="dark"] .cora-operation-state.is-ready,
html[data-theme="dark"] .cora-delivery-status { color: #b8efca; background: #193728; }
html[data-theme="dark"] .cora-operation-state { color: #f0cf8b; background: #3a2d18; }
html[data-theme="dark"] .cora-operation-icon,
html[data-theme="dark"] .cora-delivery-icon { color: #b8efca; background: #193728; }
html[data-theme="dark"] .cora-operation-icon.is-mail { color: #bddbed; background: #1c3040; }
html[data-theme="dark"] .cora-delivery-list > article.status-failed { background: linear-gradient(90deg,rgba(100,49,40,.28),transparent 52%); }
html[data-theme="dark"] .status-failed .cora-delivery-icon,
html[data-theme="dark"] .status-failed .cora-delivery-status { color: #ffb3a9; background: #40251f; }
html[data-theme="dark"] .cora-rules-hero { border-color: #315241; background: radial-gradient(circle at 88% 25%,rgba(57,151,96,.16),transparent 30%),linear-gradient(135deg,#14231a,#101b15); }
html[data-theme="dark"] .cora-rules-hero > span { border-color: #365a46; color: #b8efca; background: rgba(25,55,40,.7); }
html[data-theme="dark"] .cora-rule-grid > article { border-color: #30463a; background: #111e16; box-shadow: none; }
html[data-theme="dark"] .cora-rule-grid > article:has(.cora-rule-switch input:not(:checked)) { background: #101912; }
html[data-theme="dark"] .cora-rule-grid article > header > span { color: #b8efca; background: #193728; }
html[data-theme="dark"] .cora-rule-number input { border-color: #496557; color: #e7f1eb; background: #17271e; }
html[data-theme="dark"] .cora-action-row.status-proposed { background: linear-gradient(90deg, rgba(90,64,21,.22), transparent 43%); }
html[data-theme="dark"] .cora-action-row.status-executed { background: linear-gradient(90deg, rgba(23,107,69,.13), transparent 43%); }
html[data-theme="dark"] .cora-action-preview div { background: #16251c; }
html[data-theme="dark"] .cora-action-status { color: #f0c982; background: #3a2d18; }
html[data-theme="dark"] .status-executed .cora-action-status { color: #a9eec2; background: #183727; }
html[data-theme="dark"] .status-rejected .cora-action-status, html[data-theme="dark"] .status-expired .cora-action-status { color: #c7baaa; background: #302a22; }
html[data-theme="dark"] .cora-alert-strip { border-color: #315442; background: linear-gradient(135deg, #142219, #101b15); }
html[data-theme="dark"] .cora-alert-strip.has-urgent { border-color: #69483f; background: linear-gradient(135deg, #251916, #1b1513); }
html[data-theme="dark"] .cora-alert-card { border-color: #30483a; background: #16251c; }
html[data-theme="dark"] .cora-alert-card:hover, html[data-theme="dark"] .cora-alert-summary:hover { background: #193027; }
html[data-theme="dark"] .cora-alert-center > header, html[data-theme="dark"] .cora-alert-workflow, html[data-theme="dark"] .cora-alert-filters { border-color: #293d33; }
html[data-theme="dark"] .cora-alert-filters { background: #101a14; }
html[data-theme="dark"] .cora-alert-filters select, html[data-theme="dark"] .cora-alert-controls details > summary, html[data-theme="dark"] .cora-alert-controls details > form, html[data-theme="dark"] .cora-alert-history > ol, html[data-theme="dark"] .cora-alert-controls details select, html[data-theme="dark"] .cora-alert-controls details input { border-color: #3a5747; color: #e5f0e9; background: #16251c; }
html[data-theme="dark"] .cora-alert-history li { border-color: #2d4437; }

@media (max-width: 1040px) {
  .cora-center-metrics { grid-template-columns: 1fr 1fr; }
  .cora-action-row { grid-template-columns: 44px minmax(0, 1fr); }
  .cora-action-controls { grid-column: 2; min-width: 0; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; }
  .cora-action-controls form, .cora-action-controls button, .cora-action-controls .secondary-link { width: auto; }
}
@media (max-width: 700px) {
  .cora-center-ask { min-width: 46px; padding: 0 12px; font-size: 0; }
  .cora-center-hero { min-height: 230px; align-items: flex-start; }
  .cora-center-shield { width: 58px; height: 58px; border-radius: 18px; }
  .cora-center-shield .vf-icon { width: 27px; height: 27px; }
  .cora-center-metrics { grid-template-columns: 1fr 1fr; gap: 9px; }
  .cora-center-metrics a { min-height: 116px; padding: 14px; grid-template-columns: 34px 1fr; gap: 0 9px; }
  .cora-center-metrics a > span { width: 34px; height: 34px; }
  .cora-center-filters label { flex: 1 1 145px; }
  .cora-action-row { padding: 18px; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; }
  .cora-action-icon { width: 38px; height: 38px; }
  .cora-action-heading { display: grid; }
  .cora-action-status { justify-self: start; }
  .cora-action-preview { grid-template-columns: 1fr; }
  .cora-action-controls { grid-column: 1 / -1; }
  .cora-alert-grid { grid-template-columns: 1fr; }
  .cora-alert-strip > header, .cora-alert-center > header { align-items: flex-start; }
  .cora-alert-summary { padding: 14px 16px; grid-template-columns: 38px minmax(0,1fr) 15px; }
  .cora-alert-level { grid-column: 2; justify-self: start; }
  .cora-alert-controls { padding: 0 16px 14px; }
  .cora-alert-history { margin-left: 0; }
}

@keyframes dashboard-sidebar-glow { 0%, 100% { top: -18%; opacity: 0; } 20% { opacity: .7; } 70% { opacity: .35; } 100% { top: 100%; opacity: 0; } }
@keyframes dashboard-nav-arrive { from { opacity: 0; transform: translateX(-9px); } to { opacity: 1; transform: translateX(0); } }

/* Kolonieverwaltung im gemeinsamen VereinsFair-Arbeitsbereich */
.facility-dashboard-main { display: grid; gap: 14px; }
.facility-page-hero { min-height: 178px; padding: clamp(26px, 3.5vw, 42px); display: flex; align-items: center; justify-content: space-between; gap: 28px; overflow: hidden; border: 1px solid #cadfd1; border-radius: 24px; background: radial-gradient(circle at 92% 0, rgba(48,158,97,.16), transparent 34%), linear-gradient(140deg, #fff, #f4faf6); box-shadow: 0 18px 45px rgba(25,70,48,.055); }
.facility-page-hero h1, .facility-form-intro h1 { margin: 13px 0 7px; font-size: clamp(2.15rem, 4vw, 3.6rem); letter-spacing: -.055em; line-height: 1; }
.facility-page-hero p, .facility-form-intro p { max-width: 710px; margin: 0; color: var(--muted); line-height: 1.55; }
.facility-summary { margin-top: 0; }
.facility-summary article > strong { font-size: 1.8rem; }
.facility-summary article:last-child > strong { font-size: 1.25rem; }
.facility-colony-panel .colony-grid { margin: 0; }
.facility-result-count { padding: 7px 10px; border-radius: 9px; color: var(--muted); background: #f2f6f3; font-size: .7rem; font-weight: 800; }
.facility-empty { min-height: 230px; }
.facility-detail-hero { box-shadow: 0 18px 45px rgba(25,70,48,.05); }
.facility-form-main { width: min(940px, calc(100% - clamp(32px, 6vw, 80px))); }
.facility-form-intro { padding: 6px 2px 14px; }
.facility-form .dashboard-panel { padding: clamp(22px, 3vw, 32px); }
.facility-form .form-actions { padding-top: 8px; }
.colony-card .status-pill { margin-bottom: 8px; padding: 5px 8px; font-size: .66rem; }
.colony-card .status-pill > span { width: 6px; height: 6px; }

/* Zentrale Vereinseinstellungen */
.settings-main { display: grid; gap: 14px; }
.settings-hero { min-height: 168px; }
.settings-hero h1 { margin: 13px 0 7px; font-size: clamp(2.15rem, 4vw, 3.6rem); letter-spacing: -.055em; line-height: 1; }
.settings-hero p { max-width: 760px; margin: 0; color: var(--muted); line-height: 1.55; }
.settings-cora-note { margin-top: 0; }
.settings-form { display: grid; gap: 14px; }
.settings-form .form-section + .form-section { margin-top: 0; }
.settings-form .dashboard-panel { padding: clamp(22px, 3vw, 32px); }
.settings-fee-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.settings-fee-field { padding: 17px; grid-template-columns: 38px minmax(0, 1fr); align-items: center; border: 1px solid var(--line); border-radius: 15px; background: #fbfdfb; }
.settings-fee-field > label, .settings-fee-field > .settings-money-input, .settings-fee-field > small { grid-column: 2; }
.settings-fee-icon { grid-row: 1 / span 3; align-self: start; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: var(--brand-dark); background: var(--brand-soft); font-weight: 900; }
.settings-money-input { position: relative; }
.settings-money-input input { padding-right: 38px; }
.settings-money-input > span { position: absolute; top: 50%; right: 14px; color: var(--muted); font-weight: 800; transform: translateY(-50%); }
.settings-existing { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.settings-existing > strong { display: block; margin-bottom: 10px; font-size: .82rem; }
.settings-existing > div { display: flex; flex-wrap: wrap; gap: 8px; }
.settings-existing a { padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: white; font-size: .74rem; font-weight: 750; text-decoration: none; }
.settings-existing a:hover { border-color: #b6d1c0; background: var(--brand-soft); }
.settings-existing a span { margin-right: 6px; color: var(--brand); }
.settings-actions { padding-top: 6px; }
.settings-history { margin-top: 0; }

@media (max-width: 1040px) {
  .dashboard-shell { grid-template-columns: 220px minmax(0, 1fr); }
  .dashboard-metrics { grid-template-columns: 1fr 1fr; }
  .dashboard-content-grid { grid-template-columns: 1fr; }
  .dashboard-context { display: none; }
  .settings-fee-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .dashboard-shell { display: block; }
  .dashboard-sidebar { position: static; width: 100%; height: auto; padding: 15px 14px 10px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; border-right: 0; border-bottom: 1px solid var(--line); }
  .dashboard-brand { padding: 0; }
  .dashboard-club-card, .dashboard-user { display: none; }
  .dashboard-nav { grid-column: 1 / -1; padding: 8px 0 0; display: flex; gap: 7px; overflow-x: auto; }
  .dashboard-nav-overline, .dashboard-nav section > strong { display: none; }
  .dashboard-nav section { padding: 0; display: contents; border: 0; }
  .dashboard-nav a { flex: 0 0 auto; min-height: 36px; padding: 0 11px; border: 1px solid var(--line); background: white; }
  .dashboard-nav a > span { display: none; }
  .dashboard-topbar { min-height: 62px; padding: 9px 14px; }
  .dashboard-search { width: auto; flex: 1; }
  .dashboard-cora summary { padding: 0 11px; font-size: 0; }
  .dashboard-cora summary span { font-size: 1rem; }
  .dashboard-main { width: min(100% - 24px, 680px); padding-top: 22px; }
  .dashboard-hero { min-height: 210px; padding: 25px 22px; align-items: flex-start; flex-direction: column; }
  .dashboard-hero .primary-link { width: 100%; }
  .dashboard-role-pill { display: none; }
  .dashboard-rolebar { grid-template-columns: 38px minmax(0, 1fr); }
  .facility-page-hero { min-height: 220px; padding: 25px 22px; align-items: stretch; flex-direction: column; }
  .facility-page-hero .heading-actions { width: 100%; }
  .facility-page-hero .heading-actions a { flex: 1; }
  .facility-form-main { width: min(100% - 24px, 680px); }
}

@media (max-width: 520px) {
  .dashboard-brand small { display: none; }
  .dashboard-brandmark { width: 36px; height: 36px; }
  .dashboard-search input { font-size: .75rem; }
  .dashboard-notification { display: none; }
  .dashboard-cora > div { position: fixed; top: 74px; right: 12px; }
  .dashboard-hero h1 { font-size: 2.35rem; }
  .dashboard-metrics { grid-template-columns: 1fr 1fr; gap: 9px; }
  .dashboard-metrics article { min-height: 132px; padding: 14px; grid-template-columns: 36px 1fr; }
  .dashboard-metrics .metric-icon { width: 36px; height: 36px; }
  .dashboard-panel { padding: 18px; }
  .dashboard-table thead { display: none; }
  .dashboard-table, .dashboard-table tbody, .dashboard-table tr, .dashboard-table td { display: block; }
  .dashboard-table tr { padding: 10px 0; border-top: 1px solid #e8eeea; }
  .dashboard-table td { padding: 5px 2px; display: flex; justify-content: space-between; border: 0; text-align: right; }
  .dashboard-table td::before { content: attr(data-label); color: var(--muted); font-size: .68rem; }
  .dashboard-table td:first-child { justify-content: flex-start; margin-bottom: 5px; }
  .dashboard-table td:first-child::before { display: none; }
  .dashboard-empty { grid-template-columns: 1fr; text-align: center; }
  .dashboard-empty > span { margin: 0 auto; }
  .dashboard-empty .secondary-link { grid-column: 1; width: 100%; }
  .facility-page-hero h1, .facility-form-intro h1 { font-size: 2.25rem; }
  .facility-page-hero .heading-actions { flex-direction: column; }
  .facility-summary article:last-child > strong { font-size: 1.05rem; }
  .settings-fee-grid { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
  .auth-shell { display: block; padding: 24px 0; }
  .auth-brand { display: none; }
  .auth-card { width: min(500px, calc(100% - 32px)); }
  .mobile-brand { display: flex; }
  .topbar { align-items: flex-start; padding-block: 16px; }
  .user-area span { display: none; }
  .foundation-grid { grid-template-columns: 1fr; }
  .foundation-grid p { min-height: auto; }
  .app-nav { order: 3; width: 100%; }
  .topbar { flex-wrap: wrap; }
  .feature-entry, .page-heading { align-items: stretch; flex-direction: column; }
  .page-heading .primary-link, .feature-entry .primary-link { width: 100%; }
  .filter-bar { grid-template-columns: 1fr 1fr; }
  .lease-filter { grid-template-columns: 1fr 1fr; }
  .meter-filter { grid-template-columns: 1fr 1fr; }
  .document-filter { grid-template-columns: 1fr 1fr; }
  .inspection-filter { grid-template-columns: 1fr 1fr; }
  .inspection-filter label:first-child { grid-column: 1 / -1; }
  .account-filter { grid-template-columns: 1fr 1fr; }
  .account-filter label:first-child { grid-column: 1 / -1; }
  .portal-nav { order: 3; width: 100%; overflow-x: auto; }
  .portal-welcome { align-items: flex-start; flex-direction: column; }
  .portal-welcome .session-status { margin: 0; }
  .portal-metrics { grid-template-columns: 1fr 1fr; }
  .portal-layout { grid-template-columns: 1fr; }
  .portal-row { grid-template-columns: minmax(0, 1fr) auto; }
  .portal-row .status-pill { grid-column: 1; }
  .portal-row .secondary-link { grid-column: 2; grid-row: 1 / span 2; }
  .portal-document-row { grid-template-columns: 46px minmax(0, 1fr) auto; }
  .portal-document-row .secondary-link { grid-column: 3; grid-row: 1; }
  .portal-lease-row { grid-template-columns: minmax(0, 1fr) auto; }
  .portal-lease-row .status-pill { grid-column: 2; }
  .announcement-admin-row { grid-template-columns: 34px minmax(0, 1fr) auto; }
  .announcement-admin-row > span:last-child { display: none; }
  .communication-metrics { grid-template-columns: 1fr 1fr; }
  .communication-form-layout { grid-template-columns: 1fr; }
  .communication-release-stack { position: static; }
  .communication-row { grid-template-columns: 40px minmax(0, 1fr) auto; }
  .communication-delivery { grid-column: 2; justify-items: start; text-align: left; }
  .communication-row > i { display: none; }
  .change-comparison article { grid-template-columns: 1fr 1fr; }
  .change-comparison article > strong { grid-column: 1 / -1; }
  .document-row { grid-template-columns: 48px minmax(0, 1fr); }
  .document-meta { grid-column: 2; justify-items: start; text-align: left; }
  .filter-bar label:first-child { grid-column: 1 / -1; }
  .member-table thead { display: none; }
  .member-table, .member-table tbody, .member-table tr, .member-table td { display: block; }
  .member-table tr { padding: 12px 0; border-top: 1px solid var(--line); }
  .member-table tr:first-child { border-top: 0; }
  .member-table td { padding: 6px 4px; display: flex; justify-content: space-between; gap: 15px; border: 0; text-align: right; }
  .member-table td::before { content: attr(data-label); color: var(--muted); font-size: .78rem; font-weight: 750; text-transform: uppercase; }
  .member-table td:first-child::before, .member-table .row-action { display: none; }
  .member-table td:first-child { justify-content: flex-start; margin-bottom: 7px; text-align: left; }
  .member-hero { grid-template-columns: auto 1fr; }
  .member-hero .primary-link { grid-column: 1 / -1; width: 100%; }
  .member-hero .record-actions { grid-column: 1 / -1; width: 100%; }
  .member-hero .record-actions > a { width: 100%; }
  .colony-hero .heading-actions { grid-column: 1 / -1; width: 100%; }
  .colony-hero .heading-actions a { flex: 1; }
  .detail-layout { grid-template-columns: 1fr; }
  .finance-layout { grid-template-columns: 1fr; }
  .billing-run-hero .heading-actions { grid-column: 1 / -1; width: 100%; }
  .billing-run-hero .heading-actions form, .billing-run-hero .heading-actions button { flex: 1; width: 100%; }
  .reading-row { grid-template-columns: 105px minmax(0, 1fr); }
  .reading-action { grid-column: 1 / -1; justify-content: flex-end; }
  .dunning-row { grid-template-columns: minmax(0, 1fr) 110px; }
  .dunning-next { grid-column: 1 / -1; }
  .dunning-row form { grid-column: 1 / -1; }
  .dunning-row form button { width: 100%; }
  .colony-grid { grid-template-columns: 1fr; }
  .setup-hero { grid-template-columns: auto minmax(0, 1fr); }
  .setup-hero .primary-link { grid-column: 1 / -1; width: 100%; }
  .setup-layout { grid-template-columns: 1fr; }
}

.cora-scan-workspace { padding-bottom: 72px; }
.scan-intro-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .8fr); gap: 24px; align-items: start; }
.scan-upload-card { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 20px; padding: 32px; }
.scan-upload-card form { grid-column: 1 / -1; display: grid; gap: 18px; }
.scan-file-field { display: grid; gap: 9px; font-weight: 800; }
.scan-file-field input { padding: 16px; border: 1px dashed var(--brand); border-radius: 14px; background: var(--surface-soft); }
.scan-safety-card { padding: 32px; }
.scan-safety-card ol { margin: 22px 0; padding-left: 24px; display: grid; gap: 12px; }
.scan-warning { padding: 18px 22px; margin-bottom: 20px; border: 1px solid #d8a32a; border-radius: 18px; background: color-mix(in srgb, #f4bd3d 14%, var(--surface)); }
.scan-warning ul { margin: 8px 0 0; padding-left: 22px; }
.scan-review-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 24px; align-items: start; }
.scan-groups { display: grid; gap: 20px; }
.scan-group-card { padding: 25px; }
.scan-group-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.scan-group-card > header h2 { margin: 5px 0 0; }
.scan-range { display: flex; align-items: end; gap: 12px; padding: 15px; margin-bottom: 20px; border-radius: 14px; background: var(--surface-soft); }
.scan-range label { display: grid; gap: 6px; font-weight: 750; }
.scan-range input { width: 105px; }
.scan-preview-link { margin-left: auto; align-self: center; font-weight: 750; }
.scan-group-card details { margin-top: 18px; color: var(--muted); }
.scan-group-card details summary { cursor: pointer; font-weight: 800; color: var(--text); }
.scan-review-aside { display: grid; gap: 20px; position: sticky; top: 20px; }
.scan-review-aside .data-panel { padding: 24px; }
.scan-review-aside .secondary-button { width: 100%; margin-top: 10px; }
.scan-confirm-actions { margin-top: 26px; }

@media (max-width: 980px) {
  .scan-intro-grid, .scan-review-layout { grid-template-columns: 1fr; }
  .scan-review-aside { position: static; }
}

@media (max-width: 560px) {
  .scan-upload-card { grid-template-columns: 1fr; padding: 21px; }
  .scan-upload-card form { grid-column: 1; }
  .scan-range { align-items: stretch; flex-wrap: wrap; }
  .scan-range label { flex: 1; }
  .scan-range input { width: 100%; }
  .scan-preview-link { width: 100%; margin: 5px 0 0; }
  .member-workspace, .form-workspace { width: min(100% - 24px, 1280px); padding-top: 28px; }
  .data-panel { padding: 18px; border-radius: 17px; }
  .contract-price-summary { grid-template-columns: 1fr; }
  .dunning-row { grid-template-columns: 44px minmax(0, 1fr) 18px; }
  .dunning-row > .status-pill, .dunning-row > b { grid-column: 2; justify-self: start; }
  .dunning-row > i { grid-column: 3; grid-row: 1; }
  .filter-bar, .field-grid, .info-grid { grid-template-columns: 1fr; }
  .lease-filter { grid-template-columns: 1fr; }
  .meter-filter { grid-template-columns: 1fr; }
  .document-filter { grid-template-columns: 1fr; }
  .inspection-filter { grid-template-columns: 1fr; }
  .inspection-filter label:first-child { grid-column: auto; }
  .account-filter { grid-template-columns: 1fr; }
  .account-filter label:first-child { grid-column: auto; }
  .portal-workspace { width: min(100% - 24px, 1280px); padding-top: 24px; }
  .portal-welcome { padding: 24px 20px; border-radius: 20px; }
  .portal-metrics { grid-template-columns: 1fr; }
  .portal-row, .portal-document-row, .portal-lease-row { grid-template-columns: 1fr; align-items: start; }
  .portal-row .status-pill, .portal-row .secondary-link, .portal-document-row .secondary-link, .portal-lease-row .status-pill { grid-column: 1; grid-row: auto; }
  .portal-document-row .document-icon { display: none; }
  .portal-row .secondary-link { width: 100%; }
  .portal-contact dd { max-width: 60%; }
  .invitation-link { grid-template-columns: 1fr; }
  .invitation-link button { width: 100%; }
  .change-comparison article { grid-template-columns: 1fr; }
  .change-comparison article > strong { grid-column: auto; }
  .announcement-admin-row { grid-template-columns: 30px minmax(0, 1fr); }
  .announcement-admin-row .status-pill { grid-column: 2; }
  .communication-metrics { grid-template-columns: 1fr; }
  .communication-filter { grid-template-columns: 1fr; }
  .communication-filter .secondary-button { width: 100%; }
  .communication-row { grid-template-columns: 36px minmax(0, 1fr); }
  .communication-row .status-pill { grid-column: 2; justify-self: start; }
  .communication-form-workspace, .announcement-reader { width: min(100% - 24px, 860px); }
  .document-row { padding-right: 30px; }
  .dunning-row { grid-template-columns: 1fr; }
  .dunning-next, .dunning-row form { grid-column: auto; }
  .filter-bar label:first-child, .field-wide { grid-column: auto; }
  .filter-bar .secondary-button { width: 100%; }
  .billing-preview-heading { display: grid; }
  .billing-preview-items { grid-template-columns: 1fr auto; }
  .billing-preview-items span:nth-child(3n + 2) { display: none; }
  .member-hero { padding: 20px; }
  .record-avatar { width: 58px; height: 58px; border-radius: 18px; }
  .section-heading { display: block; }
  .section-heading p { margin-top: 7px; }
  .heading-actions { align-items: stretch; flex-direction: column; }
  .setup-club-select select { width: 100%; min-width: 0; }
  .setup-hero { grid-template-columns: 1fr; text-align: center; }
  .setup-progress { margin: 0 auto; }
  .setup-check-list article { grid-template-columns: 32px minmax(0, 1fr); }
  .setup-check-list article > a { grid-column: 2; }
  .heading-actions > *, .import-confirm .primary-button { width: 100%; }
  .import-form { grid-template-columns: 1fr; }
  .import-form .primary-button { width: 100%; }
  .import-confirm { align-items: stretch; flex-direction: column; }
  .import-error-list article { grid-template-columns: 1fr; gap: 4px; }
  .facility-metrics { grid-template-columns: 1fr; }
  .finance-metrics { grid-template-columns: 1fr; }
  .area-row { grid-template-columns: 32px 1fr; }
  .area-row small { grid-column: 2; }
  .form-actions { align-items: stretch; flex-direction: column-reverse; gap: 8px; }
  .form-actions .quiet-link { text-align: center; }
  .inspection-workspace, .inspection-detail-workspace { width: min(100% - 24px, 1280px); }
  .inspection-row { grid-template-columns: 50px minmax(0, 1fr) 20px; gap: 10px; }
  .inspection-row-status { grid-column: 2; justify-items: start; }
  .inspection-row > i { grid-column: 3; grid-row: 1 / span 2; }
  .finding-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .finding-card footer { align-items: stretch; flex-direction: column; }
  .finding-card footer > *, .finding-card footer button { width: 100%; }
  .account-security-panel, .temporary-password { align-items: stretch; flex-direction: column; }
  .account-security-panel .secondary-button, .temporary-password .secondary-button { width: 100%; }
}

@media (max-width: 900px) {
  .template-library-grid { grid-template-columns: 1fr; }
  .delivery-log article { grid-template-columns: 38px minmax(0, 1fr) auto; }
  .delivery-log article .status-pill, .delivery-log article form { grid-column: 2 / -1; justify-self: start; }
  .serial-letter-progress { display: none !important; }
  .serial-letter-row { grid-template-columns: 40px minmax(0, 1fr) auto; }
}

@media (max-width: 600px) {
  .template-card header { grid-template-columns: 42px minmax(0, 1fr); }
  .template-origin { grid-column: 2; justify-self: start; }
  .template-source-note { grid-template-columns: 36px minmax(0, 1fr); }
  .template-source-note > a { grid-column: 2; justify-self: start; }
  .letter-preview-card summary { grid-template-columns: 36px minmax(0, 1fr); }
  .letter-preview-card summary > i { grid-column: 2; }
  .letter-paper { margin: 10px; padding: 20px 16px; }
  .delivery-log article { grid-template-columns: 36px minmax(0, 1fr); }
  .delivery-log article > a, .delivery-log article .status-pill, .delivery-log article form { grid-column: 2; }
}

/* Ruhige Bewegungs- und Interaktionsebene */
:root {
  --motion-ease: cubic-bezier(.22, .8, .24, 1);
  --motion-spring: cubic-bezier(.2, .9, .25, 1.18);
}

body { background-image: radial-gradient(circle at 8% 0, rgba(43,170,105,.045), transparent 27rem); background-attachment: fixed; }
.topbar { position: sticky; top: 0; z-index: 40; border-bottom-color: rgba(219,230,223,.86); background: rgba(255,255,255,.88); box-shadow: 0 8px 30px rgba(30,65,49,.035); backdrop-filter: blur(18px) saturate(1.15); }
.wordmark .brand-mark, .dashboard-brandmark { transition: transform .35s var(--motion-spring), box-shadow .35s ease; }
.wordmark:hover .brand-mark, .dashboard-brand:hover .dashboard-brandmark { transform: translateY(-2px) rotate(-3deg); box-shadow: 0 12px 26px rgba(23,107,69,.16); }
.app-nav a { position: relative; transition: color .2s ease, background .2s ease, transform .2s var(--motion-ease); }
.app-nav a:hover { transform: translateY(-1px); }

.primary-link, .primary-button { background: linear-gradient(135deg, #19764c, #115a3a); box-shadow: 0 9px 22px rgba(23,107,69,.17); transition: background .2s ease, box-shadow .25s ease, transform .25s var(--motion-spring); }
.primary-link:hover, .primary-button:hover { box-shadow: 0 13px 28px rgba(23,107,69,.23); transform: translateY(-2px); }
.primary-link:active, .primary-button:active, .secondary-button:active, .quiet-button:active { transform: translateY(0) scale(.98); }
.secondary-link, .secondary-button, .quiet-button { transition: color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s var(--motion-ease); }
.secondary-link:hover, .secondary-button:hover, .quiet-button:hover { box-shadow: 0 8px 20px rgba(30,65,49,.08); transform: translateY(-1px); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid rgba(43,170,105,.28); outline-offset: 3px; }

.dashboard-hero, .page-heading, .member-hero, .portal-welcome, .facility-page-hero, .facility-form-intro { animation: vf-reveal-up .56s var(--motion-ease) both; }
.dashboard-rolebar, .success-banner, .message-banner { animation: vf-reveal-up .48s .08s var(--motion-ease) both; }
.dashboard-metrics, .communication-metrics, .facility-summary, .finance-metrics, .portal-metrics, .inspection-metrics { animation: vf-reveal-up .52s .13s var(--motion-ease) both; }
.dashboard-content-grid, .detail-layout, .communication-form-layout, .portal-layout, .finance-layout, .setup-layout { animation: vf-reveal-up .58s .2s var(--motion-ease) both; }
.filter-bar, .communication-filter { animation: vf-reveal-up .48s .14s var(--motion-ease) both; }
.data-panel, .cora-card, .form-section { animation: vf-soft-in .5s .12s var(--motion-ease) both; }

.dashboard-metrics article, .communication-metrics article, .portal-metrics article, .finance-metrics article, .facility-summary article { transition: border-color .24s ease, box-shadow .3s ease, transform .3s var(--motion-ease); }
.dashboard-metrics article:hover, .communication-metrics article:hover, .portal-metrics article:hover, .finance-metrics article:hover, .facility-summary article:hover { border-color: #bdd5c6; box-shadow: 0 16px 34px rgba(30,65,49,.08); transform: translateY(-3px); }
.dashboard-metrics article:nth-child(2), .communication-metrics article:nth-child(2), .portal-metrics article:nth-child(2) { animation-delay: .07s; }
.dashboard-metrics article:nth-child(3), .communication-metrics article:nth-child(3), .portal-metrics article:nth-child(3) { animation-delay: .12s; }
.dashboard-metrics article:nth-child(4), .communication-metrics article:nth-child(4), .portal-metrics article:nth-child(4) { animation-delay: .17s; }

.member-table tbody tr, .dashboard-table tbody tr, .communication-row, .inspection-row, .finance-row, .portal-row, .document-row, .reading-row, .dunning-row { transition: background .2s ease, transform .24s var(--motion-ease), box-shadow .24s ease; }
.member-table tbody tr:hover, .dashboard-table tbody tr:hover { background: #f7fbf8; }
.communication-row:hover, .inspection-row:hover, .finance-row:hover, .portal-row:hover, .document-row:hover, .reading-row:hover, .dunning-row:hover { background: #f7fbf8; transform: translateX(3px); }
.communication-row:nth-child(1), .inspection-row:nth-child(1), .announcement-preview:nth-child(1) { animation: vf-row-in .42s .08s var(--motion-ease) both; }
.communication-row:nth-child(2), .inspection-row:nth-child(2), .announcement-preview:nth-child(2) { animation: vf-row-in .42s .12s var(--motion-ease) both; }
.communication-row:nth-child(3), .inspection-row:nth-child(3), .announcement-preview:nth-child(3) { animation: vf-row-in .42s .16s var(--motion-ease) both; }
.communication-row:nth-child(4), .inspection-row:nth-child(4), .announcement-preview:nth-child(4) { animation: vf-row-in .42s .2s var(--motion-ease) both; }
.communication-row:nth-child(5), .inspection-row:nth-child(5), .announcement-preview:nth-child(5) { animation: vf-row-in .42s .24s var(--motion-ease) both; }

.cora-card { position: relative; overflow: hidden; box-shadow: 0 14px 34px rgba(23,107,69,.07); }
.cora-card::after { content: ""; position: absolute; inset: -80% auto -80% -45%; width: 32%; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(255,255,255,.58), transparent); transform: rotate(16deg); animation: vf-cora-glow 8s 1.2s ease-in-out infinite; }
.cora-mark { position: relative; z-index: 1; box-shadow: 0 8px 18px rgba(23,107,69,.22); animation: vf-cora-breathe 4s ease-in-out infinite; }
.session-status span, .dashboard-status i, .communication-status-veröffentlicht > span { animation: vf-status-pulse 3.2s ease-in-out infinite; }
.dashboard-hero::after, .portal-cora::after { animation: vf-organic-drift 12s ease-in-out infinite alternate; }
.success-banner span, .import-ready > span, .account-result-icon { animation: vf-check-pop .5s var(--motion-spring) both; }
.empty-state > span { transition: transform .3s var(--motion-spring), box-shadow .3s ease; }
.empty-state:hover > span { transform: translateY(-2px) rotate(-4deg); box-shadow: 0 10px 24px rgba(23,107,69,.12); }

/* Lebendiges Dashboard — sanfte Tiefe statt ablenkender Effekte. */
.dashboard-hero { --pointer-x: 0px; --pointer-y: 0px; isolation: isolate; }
.dashboard-hero::before { content: ""; position: absolute; z-index: 0; inset: -70% -20%; pointer-events: none; background: conic-gradient(from 120deg at 72% 42%, transparent 0 58%, rgba(255,255,255,.72) 64%, transparent 70% 100%); animation: dashboard-hero-sheen 11s ease-in-out infinite; }
.dashboard-ambient { position: absolute; z-index: 0; top: 50%; right: clamp(145px, 20vw, 270px); width: 124px; height: 124px; pointer-events: none; opacity: .72; transform: translate(var(--pointer-x), calc(-50% + var(--pointer-y))); transition: transform .38s var(--motion-ease); }
.dashboard-ambient span { position: absolute; border: 1px solid rgba(23,107,69,.16); border-radius: 46% 54% 56% 44%; animation: dashboard-orbit 12s linear infinite; }
.dashboard-ambient span:nth-child(1) { inset: 4px; }
.dashboard-ambient span:nth-child(2) { inset: 21px; border-style: dashed; animation-duration: 9s; animation-direction: reverse; }
.dashboard-ambient span:nth-child(3) { inset: 39px; border-color: rgba(43,170,105,.24); animation-duration: 7s; }
.dashboard-ambient i { position: absolute; inset: 0; display: grid; place-items: center; color: var(--brand); font-size: 1.15rem; font-style: normal; filter: drop-shadow(0 5px 10px rgba(23,107,69,.2)); animation: dashboard-spark 3.6s ease-in-out infinite; }
.dashboard-hero .primary-link span { display: inline-block; transition: transform .25s var(--motion-spring); }
.dashboard-hero .primary-link:hover span { transform: translateX(4px); }

.dashboard-rolebar { position: relative; overflow: hidden; box-shadow: 0 9px 26px rgba(25,70,48,.035); }
.dashboard-rolebar::after { content: ""; position: absolute; inset: 0 auto 0 -30%; width: 20%; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(43,170,105,.08), transparent); transform: skewX(-18deg); animation: dashboard-role-shimmer 8s 1.4s ease-in-out infinite; }
.dashboard-cora-mark { position: relative; z-index: 1; box-shadow: 0 7px 18px rgba(23,107,69,.12); animation: dashboard-cora-float 4.2s ease-in-out infinite; }
.dashboard-role-pill { transition: color .22s ease, background .22s ease, transform .25s var(--motion-spring); }
.dashboard-rolebar:hover .dashboard-role-pill { color: white; background: var(--brand); transform: translateX(-2px); }

.dashboard-metrics article { position: relative; overflow: hidden; animation: vf-soft-in .45s var(--motion-ease) both; }
.dashboard-metrics article::before { content: ""; position: absolute; top: 0; left: 18px; right: 18px; height: 3px; border-radius: 0 0 4px 4px; background: linear-gradient(90deg, transparent, #2baa69, transparent); opacity: 0; transform: scaleX(.3); transition: opacity .25s ease, transform .35s var(--motion-ease); }
.dashboard-metrics article:hover::before { opacity: .75; transform: scaleX(1); }
.dashboard-metrics .metric-icon { transition: color .25s ease, background .25s ease, box-shadow .28s ease, transform .3s var(--motion-spring); }
.dashboard-metrics article:hover .metric-icon { box-shadow: 0 9px 20px rgba(23,107,69,.12); transform: translateY(-2px) rotate(-4deg) scale(1.04); }
.dashboard-metrics article > strong { font-variant-numeric: tabular-nums; animation: dashboard-number-arrive .5s .2s var(--motion-spring) both; }

.dashboard-nav a { position: relative; overflow: hidden; }
.dashboard-nav a::after { content: ""; position: absolute; left: 0; top: 50%; width: 3px; height: 0; border-radius: 0 3px 3px 0; background: var(--brand); transform: translateY(-50%); transition: height .25s var(--motion-ease); }
.dashboard-nav a.is-active::after, .dashboard-nav a:hover::after { height: 20px; }
.dashboard-nav a > span { transition: color .22s ease, transform .28s var(--motion-spring); }
.dashboard-nav a:hover > span { color: var(--brand); transform: rotate(-7deg) scale(1.1); }

.dashboard-notification { transition: color .22s ease, border-color .22s ease, background .22s ease, box-shadow .25s ease, transform .25s var(--motion-spring); }
.dashboard-notification:hover { color: var(--brand-dark); border-color: #b8d6c4; background: var(--brand-soft); box-shadow: 0 9px 20px rgba(23,107,69,.1); transform: translateY(-2px) rotate(-3deg); }
.dashboard-notification.has-tasks { animation: dashboard-bell-breathe 3.8s ease-in-out infinite; }
.dashboard-notification.has-tasks:hover { animation: dashboard-bell-ring .55s ease-in-out; }
.dashboard-notification span, .dashboard-count { font-variant-numeric: tabular-nums; animation: vf-check-pop .45s .55s var(--motion-spring) both; }
.dashboard-cora summary span { display: inline-block; animation: dashboard-spark 3.6s ease-in-out infinite; }
.dashboard-cora > div { transform-origin: top right; animation: dashboard-popover-in .24s var(--motion-spring) both; }

.dashboard-panel { transition: border-color .25s ease, box-shadow .3s ease, transform .3s var(--motion-ease); }
.dashboard-panel:hover { border-color: #cadfd1; box-shadow: 0 16px 40px rgba(25,70,48,.065); }
.dashboard-panel-heading > a { transition: color .2s ease, transform .22s var(--motion-ease); }
.dashboard-panel-heading > a:hover { color: var(--brand-dark); transform: translateX(3px); }
.dashboard-table tbody tr { animation: dashboard-table-row .42s var(--motion-ease) both; }
.dashboard-table tbody tr:nth-child(2) { animation-delay: .06s; }
.dashboard-table tbody tr:nth-child(3) { animation-delay: .1s; }
.dashboard-table tbody tr:nth-child(4) { animation-delay: .14s; }
.dashboard-table tbody tr:nth-child(5) { animation-delay: .18s; }
.dashboard-table td:first-child a > span { transition: color .22s ease, background .22s ease, transform .28s var(--motion-spring); }
.dashboard-table tbody tr:hover td:first-child a > span { color: white; background: var(--brand); transform: rotate(-4deg) scale(1.05); }

.dashboard-task-list > a { border-radius: 12px; transition: color .2s ease, background .22s ease, box-shadow .25s ease, transform .25s var(--motion-ease); animation: vf-row-in .42s var(--motion-ease) both; }
.dashboard-task-list > a:nth-child(2) { animation-delay: .06s; }
.dashboard-task-list > a:nth-child(3) { animation-delay: .1s; }
.dashboard-task-list > a:nth-child(4) { animation-delay: .14s; }
.dashboard-task-list > a:nth-child(5) { animation-delay: .18s; }
.dashboard-task-list > a:nth-child(6) { animation-delay: .22s; }
.dashboard-task-list > a:hover { color: var(--brand-dark); background: #f4f9f6; box-shadow: inset 3px 0 0 var(--brand); transform: translateX(4px); }
.dashboard-task-list > a > span, .dashboard-task-list > a > i { transition: color .22s ease, background .22s ease, transform .28s var(--motion-spring); }
.dashboard-task-list > a:hover > span { color: white; background: var(--brand); transform: rotate(-5deg) scale(1.05); }
.dashboard-task-list > a:hover > i { transform: translateX(4px); }
.dashboard-all-clear > span { box-shadow: 0 8px 20px rgba(23,107,69,.1); animation: dashboard-all-clear 4s ease-in-out infinite; }

@keyframes dashboard-hero-sheen { 0%, 62% { transform: translateX(-14%) rotate(-3deg); opacity: 0; } 74% { opacity: .78; } 92%, 100% { transform: translateX(14%) rotate(3deg); opacity: 0; } }
@keyframes dashboard-orbit { to { transform: rotate(360deg); } }
@keyframes dashboard-spark { 0%, 100% { opacity: .72; transform: translateY(0) rotate(0) scale(.94); } 50% { opacity: 1; transform: translateY(-2px) rotate(12deg) scale(1.08); } }
@keyframes dashboard-role-shimmer { 0%, 70% { left: -30%; opacity: 0; } 78% { opacity: 1; } 94%, 100% { left: 120%; opacity: 0; } }
@keyframes dashboard-cora-float { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(5deg); } }
@keyframes dashboard-number-arrive { from { opacity: 0; transform: translateY(7px) scale(.92); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes dashboard-bell-breathe { 0%, 100% { box-shadow: 0 0 0 0 rgba(197,121,39,0); } 50% { box-shadow: 0 0 0 5px rgba(197,121,39,.08); } }
@keyframes dashboard-bell-ring { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(-7deg); } 55% { transform: rotate(6deg); } 78% { transform: rotate(-3deg); } }
@keyframes dashboard-popover-in { from { opacity: 0; transform: translateY(-7px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes dashboard-table-row { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@keyframes dashboard-all-clear { 0%, 100% { transform: translateY(0); box-shadow: 0 8px 20px rgba(23,107,69,.1); } 50% { transform: translateY(-3px); box-shadow: 0 13px 26px rgba(23,107,69,.17); } }

@media (max-width: 760px) {
  .dashboard-ambient { right: 18px; width: 90px; height: 90px; opacity: .38; }
  .dashboard-hero::before { inset: -50%; }
}

@keyframes vf-reveal-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes vf-soft-in { from { opacity: 0; transform: scale(.992); } to { opacity: 1; transform: scale(1); } }
@keyframes vf-row-in { from { opacity: 0; transform: translateX(-9px); } to { opacity: 1; transform: translateX(0); } }
@keyframes vf-check-pop { 0% { opacity: 0; transform: scale(.6); } 70% { transform: scale(1.08); } 100% { opacity: 1; transform: scale(1); } }
@keyframes vf-cora-breathe { 0%, 100% { transform: translateY(0); box-shadow: 0 8px 18px rgba(23,107,69,.2); } 50% { transform: translateY(-2px); box-shadow: 0 12px 25px rgba(23,107,69,.3); } }
@keyframes vf-cora-glow { 0%, 74% { left: -45%; opacity: 0; } 82% { opacity: .9; } 94%, 100% { left: 125%; opacity: 0; } }
@keyframes vf-status-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(43,170,105,0); } 50% { box-shadow: 0 0 0 4px rgba(43,170,105,.11); } }
@keyframes vf-organic-drift { from { translate: 0 0; rotate: 0deg; } to { translate: -10px -6px; rotate: 5deg; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

.maintenance-guard { position: fixed; z-index: 9999; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(239,246,241,.78); backdrop-filter: blur(12px) saturate(.8); animation: maintenance-guard-in .18s ease both; }
.maintenance-guard[hidden] { display: none; }
.maintenance-guard-card { width: min(520px, 100%); padding: 20px; display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 14px; border: 1px solid #c6dccc; border-radius: 18px; background: white; box-shadow: 0 24px 65px rgba(23,70,47,.18); }
.maintenance-guard-card > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: white; background: linear-gradient(145deg, var(--brand), var(--brand-dark)); font-size: 1.15rem; animation: dashboard-spark 1.2s ease-in-out infinite; }
.maintenance-guard-card > div { display: grid; gap: 5px; }
.maintenance-guard-card small { color: var(--muted); line-height: 1.4; }
.maintenance-guard-card > button { white-space: nowrap; }
@media (max-width: 600px) { .maintenance-guard-card { grid-template-columns: 48px minmax(0, 1fr); } .maintenance-guard-card > button { grid-column: 2; justify-self: start; } }
@keyframes maintenance-guard-in { from { opacity: 0; } to { opacity: 1; } }

/* Interessenten, Warteliste und Parzellenvergabe */
.prospect-heading { position: relative; }
.prospect-flow { margin: 0 0 18px; padding: 18px 22px; display: grid; grid-template-columns: repeat(7, auto); align-items: center; justify-content: space-between; gap: 12px; overflow: hidden; border: 1px solid #cfe0d5; border-radius: 20px; background: linear-gradient(115deg, #fff, #f2f9f4); }
.prospect-flow article { min-width: 140px; display: flex; align-items: center; gap: 12px; animation: prospect-step-in .45s var(--motion-ease, ease) both; }
.prospect-flow article:nth-of-type(2) { animation-delay: .08s; }.prospect-flow article:nth-of-type(3) { animation-delay: .16s; }.prospect-flow article:nth-of-type(4) { animation-delay: .24s; }
.prospect-flow article > span { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 13px; color: var(--brand); background: var(--brand-soft); font-size: .72rem; font-weight: 900; transition: transform .25s ease, color .25s ease, background .25s ease; }
.prospect-flow article:hover > span, .prospect-flow .is-ready > span { color: white; background: var(--brand); transform: translateY(-2px) rotate(-4deg); }
.prospect-flow article > div { display: grid; gap: 2px; }.prospect-flow small { color: var(--muted); font-weight: 750; }.prospect-flow strong { font-size: 1.35rem; }.prospect-flow > i { color: #93ad9e; font-style: normal; animation: prospect-arrow 2.4s ease-in-out infinite; }
.member-table td > small { display: block; margin-top: 4px; color: var(--muted); }
.prospect-status-new, .prospect-status-review { color: #285775; background: #eaf3f8; }.prospect-status-new > span, .prospect-status-review > span { background: #3f83a8; }
.prospect-status-waiting, .prospect-status-offer { color: #795500; background: #fff5d8; }.prospect-status-waiting > span, .prospect-status-offer > span { background: #d99900; }
.prospect-status-rejected, .prospect-status-withdrawn { color: #6a6f6c; background: #edf0ee; }.prospect-status-rejected > span, .prospect-status-withdrawn > span { background: #8b918e; }
.prospect-hero { position: relative; overflow: hidden; }.prospect-hero::after { content: ""; position: absolute; right: -80px; top: -100px; width: 240px; height: 240px; border: 1px solid rgba(23,107,69,.13); border-radius: 44% 56% 65% 35%; animation: dashboard-orbit 22s linear infinite; pointer-events: none; }
.prospect-checkbox-list ul { margin: 0; padding: 14px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; list-style: none; border: 1px solid #cbd9d0; border-radius: 12px; }
.prospect-checkbox-list li label, .prospect-check { display: flex; align-items: center; gap: 9px; color: #334b40; font-size: .9rem; font-weight: 700; }.prospect-checkbox-list input, .prospect-check input { width: 19px !important; min-height: 19px !important; accent-color: var(--brand); }
.prospect-check { min-height: 46px; padding: 0 14px; border: 1px solid #d7e2db; border-radius: 11px; background: #fbfdfb; }
.prospect-match { padding: 12px 0; display: grid; grid-template-columns: 40px 1fr; gap: 11px; border-top: 1px solid var(--line); }.prospect-match:first-of-type { border-top: 0; }.prospect-match > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: var(--brand); background: var(--brand-soft); font-size: .72rem; font-weight: 900; }.prospect-match > div { display: grid; gap: 3px; }.prospect-match small { color: var(--muted); }
.prospect-converted { margin-top: 18px; padding: 16px; display: flex; gap: 13px; border: 1px solid #b9dcc7; border-radius: 14px; background: #effaf3; }.prospect-converted > span { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--brand); }.prospect-converted p { margin: 4px 0 0; color: var(--muted); }.prospect-converted a { color: var(--brand); font-weight: 800; }
.primary-button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
@keyframes prospect-step-in { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: translateX(0); } }
@keyframes prospect-arrow { 0%,100% { opacity: .45; transform: translateX(0); } 50% { opacity: 1; transform: translateX(4px); } }
@media (max-width: 900px) { .prospect-flow { grid-template-columns: 1fr 1fr; }.prospect-flow > i { display: none; }.prospect-flow article { min-width: 0; }.prospect-checkbox-list ul { grid-template-columns: 1fr; } }

/* Aufgaben, Termine und zentrale Fristen */
.work-workspace { width: min(1380px, calc(100% - 40px)); }
.work-heading { position: relative; }
.work-metrics article { animation: work-rise .45s var(--motion-ease, ease) both; }.work-metrics article:nth-child(2) { animation-delay: .06s; }.work-metrics article:nth-child(3) { animation-delay: .12s; }.work-metrics article:nth-child(4) { animation-delay: .18s; }
.work-cora { margin: 16px 0; overflow: hidden; position: relative; }.work-cora::after { content: ""; position: absolute; width: 130px; height: 130px; right: -65px; top: -70px; border: 1px dashed rgba(23,107,69,.19); border-radius: 50%; animation: dashboard-orbit 14s linear infinite; }
.work-layout { margin: 16px 0; display: grid; grid-template-columns: minmax(0,1.5fr) minmax(300px,.5fr); gap: 16px; align-items: start; }
.work-filter { grid-template-columns: minmax(160px,220px) minmax(160px,220px) auto; justify-content: start; }
.work-task-list { display: grid; }.work-task-row { padding: 15px 8px; display: grid; grid-template-columns: 8px minmax(0,1fr) auto 24px; align-items: center; gap: 14px; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; animation: vf-row-in .38s var(--motion-ease, ease) both; transition: background .2s ease, transform .22s ease; }.work-task-row:first-child { border-top: 0; }.work-task-row:hover { background: #f7faf8; transform: translateX(3px); }.work-task-row > div:nth-child(2) { display: grid; gap: 3px; }.work-task-row > div:nth-child(2) small, .work-task-row > div:nth-child(2) span, .work-task-row > div:nth-child(3) > small { color: var(--muted); font-size: .76rem; }.work-task-row > div:nth-child(3) { display: grid; justify-items: end; gap: 6px; }.work-task-row > i { color: var(--brand); font-style: normal; }
.work-priority { width: 7px; height: 38px; border-radius: 9px; background: #aebbb4; }.priority-normal { background: #5b9b78; }.priority-high { background: #d49a29; }.priority-urgent { background: #bc5144; box-shadow: 0 0 0 4px rgba(188,81,68,.09); animation: vf-status-pulse 2s ease-in-out infinite; }
.work-task-row.is-overdue { background: #fffaf8; }.work-task-row.is-overdue strong, .work-overdue-label { color: #a23d32; }
.task-status-in_progress, .task-status-waiting { color: #795500; background: #fff5d8; }.task-status-in_progress > span, .task-status-waiting > span { background: #d99900; }.task-status-completed, .event-status-completed { color: #356052; background: #e9f1ed; }.task-status-completed > span, .event-status-completed > span { background: #58806f; }.task-status-cancelled, .event-status-cancelled { color: #6a6f6c; background: #edf0ee; }.task-status-cancelled > span, .event-status-cancelled > span { background: #8b918e; }
.work-side { display: grid; gap: 16px; }.work-reminder { padding: 12px 0; display: grid; grid-template-columns: 44px minmax(0,1fr) 18px; align-items: center; gap: 11px; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; }.work-reminder:first-of-type { border-top: 0; }.work-reminder > span { width: 42px; height: 46px; display: grid; align-content: center; place-items: center; border-radius: 11px; color: var(--brand-dark); background: var(--brand-soft); font-weight: 850; line-height: 1; }.work-reminder > span small { margin-top: 3px; font-size: .58rem; text-transform: uppercase; }.work-reminder > div { display: grid; gap: 3px; }.work-reminder > div small { color: var(--muted); font-size: .7rem; }.work-reminder > i { color: var(--brand); font-style: normal; }.work-reminder.is-overdue > span { color: #8b3028; background: #fff0ed; }
.work-calendar { margin-top: 16px; overflow: hidden; }.work-calendar-heading { margin-bottom: 18px; display: grid; grid-template-columns: 42px 1fr 42px; align-items: center; text-align: center; }.work-calendar-heading h2, .work-calendar-heading .eyebrow { margin: 0; }.work-calendar-heading .eyebrow { margin-bottom: 5px; }.work-calendar-heading > a { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 12px; color: var(--brand); text-decoration: none; transition: transform .2s ease, background .2s ease; }.work-calendar-heading > a:hover { background: var(--brand-soft); transform: scale(1.05); }
.calendar-weekdays, .calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }.calendar-weekdays span { padding: 9px; color: var(--muted); font-size: .72rem; font-weight: 850; text-align: center; text-transform: uppercase; }.calendar-grid { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--line); gap: 1px; }.calendar-day { min-height: 125px; padding: 9px; overflow: hidden; background: white; transition: background .2s ease; }.calendar-day:hover { background: #f8fbf9; }.calendar-day.is-outside { opacity: .45; }.calendar-day.is-today { background: #f1f9f3; box-shadow: inset 0 3px 0 var(--brand); }.calendar-day > header { display: flex; align-items: center; justify-content: space-between; }.calendar-day > header > span { font-size: .8rem; font-weight: 850; }.calendar-day > header > a { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 7px; color: var(--brand); text-decoration: none; opacity: 0; transition: opacity .2s, background .2s; }.calendar-day:hover > header > a { opacity: 1; }.calendar-day > header > a:hover { background: var(--brand-soft); }.calendar-event { margin-top: 6px; padding: 6px 7px; display: grid; gap: 2px; overflow: hidden; border-left: 3px solid #3c9565; border-radius: 7px; color: var(--ink); background: #edf7f0; text-decoration: none; animation: work-event-in .3s var(--motion-spring, ease) both; }.calendar-event small { color: #47705c; font-size: .61rem; }.calendar-event strong { overflow: hidden; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }.event-kind-deadline { border-color: #c47b2d; background: #fff5e7; }.event-kind-meeting, .event-kind-assembly { border-color: #4a7fa0; background: #edf5f9; }
.work-detail-hero .record-avatar { color: white; background: linear-gradient(145deg,var(--brand),var(--brand-dark)); }.work-detail-hero .heading-actions form { margin: 0; }
@keyframes work-rise { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } } @keyframes work-event-in { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: scale(1); } }
@media (max-width: 950px) { .work-layout { grid-template-columns: 1fr; }.calendar-day { min-height: 100px; }.calendar-event strong { font-size: .64rem; } }
@media (max-width: 700px) { .work-calendar { overflow-x: auto; }.calendar-weekdays, .calendar-grid { min-width: 760px; }.work-task-row { grid-template-columns: 7px minmax(0,1fr) 22px; }.work-task-row > div:nth-child(3) { grid-column: 2; justify-items: start; }.calendar-day > header > a { opacity: 1; } }

/* Gemeinschaftsarbeit und persönliche Stundenkonten */
.community-heading { position: relative; overflow: hidden; }.community-heading::after { content:""; position:absolute; right:5%; top:-70px; width:180px; height:180px; border:1px dashed rgba(23,107,69,.16); border-radius:44% 56% 48% 52%; animation:dashboard-orbit 20s linear infinite; pointer-events:none; }
.community-program-filter { margin: 0 0 16px; justify-content: flex-start; }.community-program-filter label { width:min(470px,100%); display:grid; gap:6px; }.community-program-filter label span { color:var(--muted); font-size:.72rem; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.community-metrics article small { color:var(--muted); }.community-layout { margin:16px 0; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr); gap:16px; align-items:start; }
.community-close-panel { margin:16px 0; padding:17px 19px; display:flex; align-items:center; justify-content:space-between; gap:18px; overflow:hidden; border:1px solid #c9dfd1; border-radius:17px; background:linear-gradient(110deg,#fff,#eff8f2); box-shadow:0 10px 28px rgba(23,107,69,.05); animation:work-rise .45s var(--motion-ease,ease) both; }.community-close-panel > div { display:grid; gap:5px; }.community-close-panel strong { font-size:1rem; }.community-close-panel p { margin:0; color:var(--muted); font-size:.84rem; line-height:1.45; }.community-close-panel form { margin:0; flex:0 0 auto; }.community-close-panel.is-closed { border-color:#b7d9c4; background:linear-gradient(110deg,#f7fcf8,#e7f6ec); }
.community-age-rule { position:relative; overflow:hidden; }.community-rule-note { margin-bottom:18px; padding:14px; display:grid; grid-template-columns:40px 1fr; align-items:center; gap:12px; border:1px solid #d5e6da; border-radius:14px; background:#f4faf6; }.community-rule-note > span { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; color:var(--brand); background:white; box-shadow:0 6px 16px rgba(23,107,69,.08); }.community-rule-note svg { width:20px; height:20px; }.community-rule-note p { margin:0; color:var(--muted); font-size:.84rem; line-height:1.5; }.community-row-exempt { background:#f5fbf7; }.community-row-warning { background:#fffaf0; }.community-status-exempt { color:#176b45; background:#e6f5eb; }.community-status-exempt > span { background:#2baa69; }.community-status-missing { color:#795500; background:#fff1cc; }.community-status-missing > span { background:#d99900; }
.community-event-list { display:grid; }.community-event { padding:14px 5px; display:grid; grid-template-columns:58px minmax(0,1fr) auto 22px; align-items:center; gap:14px; border-top:1px solid var(--line); color:var(--ink); text-decoration:none; animation:vf-row-in .42s var(--motion-ease,ease) both; transition:background .2s ease,transform .24s ease; }.community-event:first-child { border-top:0; }.community-event:hover { background:#f7fbf8; transform:translateX(3px); }.community-date { width:54px; height:58px; display:grid; place-content:center; text-align:center; border-radius:15px; color:var(--brand-dark); background:var(--brand-soft); box-shadow:0 7px 18px rgba(23,107,69,.08); }.community-date strong { font-size:1.2rem; line-height:1; }.community-date small { margin-top:4px; font-size:.64rem; font-weight:850; text-transform:uppercase; }.community-event > div:nth-child(2),.community-event > div:nth-child(3) { display:grid; gap:4px; }.community-event > div:nth-child(2) small,.community-event > div:nth-child(2) span,.community-event > div:nth-child(3) small { color:var(--muted); font-size:.75rem; }.community-event > div:nth-child(3) { justify-items:end; }.community-event > i { color:var(--brand); font-style:normal; transition:transform .2s ease; }.community-event:hover > i { transform:translateX(3px); }
.community-cora { position:relative; overflow:hidden; display:grid; grid-template-columns:44px 1fr; gap:13px; }.community-cora::after { content:""; position:absolute; right:-48px; bottom:-65px; width:140px; height:140px; border:1px solid rgba(23,107,69,.12); border-radius:50%; animation:dashboard-orbit 17s linear infinite; }.community-cora h2 { margin:5px 0 8px; }.community-cora p,.community-event-note p { margin:0; color:var(--muted); line-height:1.55; }
.community-balances { margin-bottom:28px; }.community-progress { width:130px; height:8px; overflow:hidden; border-radius:99px; background:#e5eee8; }.community-progress span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#2baa69,var(--brand)); transform-origin:left; animation:community-progress-in .7s .18s var(--motion-ease,ease) both; }.community-empty { min-height:360px; }.community-empty > span svg { width:26px; height:26px; }
.community-event-hero .record-avatar { color:white; background:linear-gradient(145deg,var(--brand),var(--brand-dark)); }.community-event-hero .record-avatar svg { width:28px; height:28px; }.community-event-hero form { margin:0; }.community-event-note { align-self:start; }.community-event-note .cora-mark { margin-bottom:12px; }.community-participants { margin:16px 0 28px; }.participation-status-attended { color:#176b45; background:#e8f6ed; }.participation-status-attended > span { background:#2baa69; }.participation-status-registered { color:#285775; background:#eaf3f8; }.participation-status-registered > span { background:#3f83a8; }.participation-status-excused,.participation-status-no_show { color:#795500; background:#fff5d8; }.participation-status-excused > span,.participation-status-no_show > span { background:#d99900; }
@keyframes community-progress-in { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media (max-width:900px) { .community-layout { grid-template-columns:1fr; }.community-cora { grid-template-columns:44px 1fr; }.community-event { grid-template-columns:52px minmax(0,1fr) 20px; }.community-event > div:nth-child(3) { grid-column:2; justify-items:start; }.community-close-panel { align-items:flex-start; flex-direction:column; } }

/* Sitzungen, Protokolle und Beschlussbuch */
.meetings-workspace { width:min(1380px,calc(100% - 40px)); }.meetings-heading { position:relative; overflow:hidden; }.meetings-heading::before,.meetings-heading::after { content:""; position:absolute; right:7%; border:1px solid rgba(23,107,69,.13); border-radius:50%; pointer-events:none; }.meetings-heading::before { top:-75px; width:190px; height:190px; animation:dashboard-orbit 18s linear infinite; }.meetings-heading::after { top:-43px; right:9.4%; width:124px; height:124px; border-style:dashed; animation:dashboard-orbit 13s linear infinite reverse; }
.meetings-metrics article { animation:meeting-rise .48s var(--motion-ease,ease) both; }.meetings-metrics article:nth-child(2) { animation-delay:.06s; }.meetings-metrics article:nth-child(3) { animation-delay:.12s; }.meetings-metrics article:nth-child(4) { animation-delay:.18s; }
.meetings-overview-grid { margin:16px 0; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr); gap:16px; align-items:start; }.meeting-list { display:grid; }.meeting-row { padding:14px 5px; display:grid; grid-template-columns:58px minmax(0,1fr) auto 22px; align-items:center; gap:14px; border-top:1px solid var(--line); color:var(--ink); text-decoration:none; animation:vf-row-in .42s var(--motion-ease,ease) both; transition:background .2s ease,transform .24s ease; }.meeting-row:first-child { border-top:0; }.meeting-row:hover { background:#f7fbf8; transform:translateX(3px); }.meeting-row time { width:54px; height:58px; display:grid; place-content:center; text-align:center; border-radius:15px; color:#285775; background:#edf5f9; box-shadow:0 7px 18px rgba(40,87,117,.08); }.meeting-row time strong { font-size:1.2rem; line-height:1; }.meeting-row time small { margin-top:4px; font-size:.64rem; font-weight:850; text-transform:uppercase; }.meeting-row > div { display:grid; gap:4px; }.meeting-row > div small,.meeting-row > div span { color:var(--muted); font-size:.75rem; }.meeting-row > i { color:var(--brand); font-style:normal; }.meetings-cora { position:relative; overflow:hidden; }.meetings-cora::after { content:""; position:absolute; right:-48px; bottom:-55px; width:130px; height:130px; border:1px dashed rgba(23,107,69,.16); border-radius:44% 56% 48% 52%; animation:dashboard-orbit 15s linear infinite; }.meetings-cora h2 { margin:12px 0 8px; }.meetings-cora p { margin:0; color:var(--muted); line-height:1.55; }.resolution-book { margin-bottom:28px; }.resolution-book td:first-child a { display:grid; gap:3px; color:var(--ink); text-decoration:none; }.resolution-book td small { display:block; margin-top:3px; color:var(--muted); }
.meeting-status-planned,.event-status-planned { color:#285775; background:#eaf3f8; }.meeting-status-planned > span,.event-status-planned > span { background:#3f83a8; }.meeting-status-minutes_draft { color:#795500; background:#fff5d8; }.meeting-status-minutes_draft > span { background:#d99900; }.meeting-status-released,.resolution-status-accepted { color:#176b45; background:#e8f6ed; }.meeting-status-released > span,.resolution-status-accepted > span { background:#2baa69; }.meeting-status-cancelled,.resolution-status-rejected { color:#7b3b35; background:#fff0ed; }.meeting-status-cancelled > span,.resolution-status-rejected > span { background:#bc5144; }
.meeting-hero .record-avatar { color:white; background:linear-gradient(145deg,#3d7e70,var(--brand-dark)); }.meeting-hero .record-avatar svg { width:29px; height:29px; }.meeting-release-card { align-self:start; position:relative; overflow:hidden; }.meeting-release-card h2 { margin:10px 0 8px; }.meeting-release-card p { margin:0; color:var(--muted); line-height:1.55; }.release-checks { margin:13px 0 17px; padding:0; display:grid; gap:8px; list-style:none; }.release-checks li { display:flex; gap:8px; color:#8a5d1e; font-size:.82rem; }.release-checks li::before { content:"○"; font-weight:900; }.release-checks li.is-done { color:var(--brand); }.release-checks li.is-done::before { content:"✓"; }.meeting-agenda,.meeting-minutes,.meeting-resolutions { margin-top:16px; }.agenda-list { margin:0; padding:0; list-style:none; }.agenda-list > li { padding:15px 4px; display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:14px; align-items:start; border-top:1px solid var(--line); animation:vf-row-in .4s var(--motion-ease,ease) both; }.agenda-list > li:first-child { border-top:0; }.agenda-list > li > span { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:var(--brand); background:var(--brand-soft); font-size:.76rem; font-weight:900; }.agenda-list > li > div { display:grid; gap:4px; }.agenda-list small { color:var(--muted); font-size:.68rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.agenda-list p { margin:3px 0 0; color:var(--muted); font-size:.82rem; }.agenda-list em { padding:5px 8px; border-radius:9px; color:#285775; background:#edf5f9; font-size:.68rem; font-style:normal; }.agenda-list .agenda-empty { grid-template-columns:1fr; }.minutes-paper { padding:24px; border:1px solid #e3ebe6; border-radius:14px; background:linear-gradient(135deg,#fff,#fbfdfb); line-height:1.7; box-shadow:inset 4px 0 0 var(--brand-soft); }.minutes-paper p:first-child { margin-top:0; }.minutes-paper p:last-child { margin-bottom:0; }
.resolution-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.resolution-card { padding:19px; position:relative; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:linear-gradient(145deg,#fff,#f9fcfa); animation:meeting-rise .45s var(--motion-ease,ease) both; transition:transform .22s ease,box-shadow .22s ease; }.resolution-card:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(24,66,45,.08); }.resolution-card::after { content:""; position:absolute; right:-25px; top:-25px; width:70px; height:70px; border:1px solid rgba(23,107,69,.1); border-radius:50%; }.resolution-card header { display:flex; align-items:center; justify-content:space-between; gap:10px; }.resolution-card header > span:first-child { color:var(--brand); font-size:.72rem; font-weight:900; letter-spacing:.06em; }.resolution-card h3 { margin:14px 0 8px; }.resolution-card > p { min-height:44px; color:var(--muted); font-size:.85rem; line-height:1.55; }.resolution-card dl { margin:15px 0; padding-top:12px; display:grid; gap:8px; border-top:1px solid var(--line); }.resolution-card dl div { display:grid; grid-template-columns:95px 1fr; gap:10px; font-size:.76rem; }.resolution-card dt { color:var(--muted); }.resolution-card dd { margin:0; font-weight:750; }.resolution-task-link { color:var(--brand); font-size:.8rem; font-weight:850; text-decoration:none; }
@keyframes meeting-rise { from { opacity:0; transform:translateY(10px) scale(.985); } to { opacity:1; transform:none; } }
@media (max-width:950px) { .meetings-overview-grid,.meeting-detail-layout { grid-template-columns:1fr; }.resolution-grid { grid-template-columns:1fr; } }
@media (max-width:700px) { .meeting-row { grid-template-columns:52px minmax(0,1fr) 20px; }.meeting-row > .status-pill { grid-column:2; width:max-content; }.agenda-list > li { grid-template-columns:40px minmax(0,1fr); }.agenda-list em { grid-column:2; width:max-content; } }

/* Inventar, Ausgaben und Wartungsplanung */
.assets-workspace { width:min(1380px,calc(100% - 40px)); }.assets-heading { position:relative; overflow:hidden; }.assets-heading::after { content:""; position:absolute; right:7%; top:-90px; width:210px; height:210px; border:1px dashed rgba(23,107,69,.15); border-radius:44% 56% 52% 48%; animation:dashboard-orbit 19s linear infinite; }.assets-metrics article { animation:meeting-rise .45s var(--motion-ease,ease) both; }.assets-metrics article:nth-child(2){animation-delay:.05s}.assets-metrics article:nth-child(3){animation-delay:.1s}.assets-metrics article:nth-child(4){animation-delay:.15s}.assets-filter { margin:0 0 16px; grid-template-columns:minmax(240px,1.4fr) minmax(150px,.5fr) minmax(150px,.5fr) auto; }.assets-filter label { display:grid; gap:5px; }.assets-filter label span { color:var(--muted); font-size:.7rem; font-weight:850; text-transform:uppercase; }.asset-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }.asset-card { padding:15px; display:grid; grid-template-columns:48px minmax(0,1fr) auto 18px; align-items:center; gap:12px; border:1px solid var(--line); border-radius:15px; color:var(--ink); background:linear-gradient(145deg,#fff,#f9fcfa); text-decoration:none; animation:vf-row-in .4s var(--motion-ease,ease) both; transition:transform .22s ease,box-shadow .22s ease; }.asset-card:hover { transform:translateY(-2px); box-shadow:0 13px 28px rgba(24,66,45,.08); }.asset-icon { width:46px;height:46px;display:grid;place-items:center;border-radius:13px;color:var(--brand);background:var(--brand-soft)}.asset-icon svg{width:23px;height:23px}.asset-card>div{display:grid;gap:3px}.asset-card small,.asset-card div span{color:var(--muted);font-size:.72rem}.asset-card i{color:var(--brand);font-style:normal}.asset-status-available{color:#176b45;background:#e8f6ed}.asset-status-available>span{background:#2baa69}.asset-status-issued{color:#285775;background:#eaf3f8}.asset-status-issued>span{background:#3f83a8}.asset-status-maintenance{color:#795500;background:#fff5d8}.asset-status-maintenance>span{background:#d99900}.asset-status-retired{color:#6a6f6c;background:#edf0ee}.asset-status-retired>span{background:#8b918e}.asset-hero .record-avatar{color:white;background:linear-gradient(145deg,#397967,var(--brand-dark))}.asset-hero .record-avatar svg{width:28px;height:28px}.asset-hero form{margin:0}.assets-cora{align-self:start;position:relative;overflow:hidden}.assets-cora::after{content:"";position:absolute;right:-45px;bottom:-55px;width:125px;height:125px;border:1px dashed rgba(23,107,69,.15);border-radius:50%;animation:dashboard-orbit 15s linear infinite}.assets-cora h2{margin:12px 0 8px}.assets-cora p{margin:0;color:var(--muted);line-height:1.55}.asset-history{margin-top:16px}.history-row{padding:13px 3px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;border-top:1px solid var(--line)}.history-row:first-of-type{border-top:0}.history-row>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:var(--brand);background:var(--brand-soft)}.history-row svg{width:19px;height:19px}.history-row>div{display:grid;gap:3px}.history-row small{color:var(--muted);font-size:.74rem}.history-row b,.history-row a{color:var(--brand);font-size:.76rem;text-decoration:none}
@media(max-width:900px){.asset-grid{grid-template-columns:1fr}.assets-filter{grid-template-columns:1fr 1fr}.assets-filter label:first-child{grid-column:1/-1}}@media(max-width:650px){.assets-filter{grid-template-columns:1fr}.assets-filter label:first-child{grid-column:auto}.asset-card{grid-template-columns:44px minmax(0,1fr) 18px}.asset-card>.status-pill{grid-column:2;width:max-content}}

/* Versicherungen und Schadensfälle */
.insurance-heading{position:relative;overflow:hidden}.insurance-heading::after{content:"";position:absolute;right:8%;top:-75px;width:185px;height:185px;border:1px solid rgba(23,107,69,.14);border-radius:45% 55% 48% 52%;animation:dashboard-orbit 17s linear infinite}.insurance-layout{margin:16px 0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);gap:16px;align-items:start}.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.policy-card{padding:17px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#fff,#f9fcfa);animation:meeting-rise .45s var(--motion-ease,ease) both}.policy-card header{display:flex;justify-content:space-between;gap:10px;align-items:start}.policy-card header small{color:var(--brand);font-weight:900;letter-spacing:.04em}.policy-card h3{margin:4px 0 0;font-size:1rem}.policy-card dl{margin:15px 0 10px;display:grid;gap:6px}.policy-card dl div{display:grid;grid-template-columns:100px 1fr;gap:9px;font-size:.75rem}.policy-card dt{color:var(--muted)}.policy-card dd{margin:0;font-weight:750}.policy-card p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.5}.policy-status-active,.claim-status-approved,.claim-status-closed{color:#176b45;background:#e8f6ed}.policy-status-active>span,.claim-status-approved>span,.claim-status-closed>span{background:#2baa69}.policy-status-review,.claim-status-reported,.claim-status-review{color:#795500;background:#fff5d8}.policy-status-review>span,.claim-status-reported>span,.claim-status-review>span{background:#d99900}.policy-status-expired,.claim-status-rejected{color:#7b3b35;background:#fff0ed}.policy-status-expired>span,.claim-status-rejected>span{background:#bc5144}.claim-status-draft{color:#59645f;background:#edf0ee}.claim-status-draft>span{background:#8b918e}.claim-list{margin-bottom:28px}.claim-row{padding:14px 4px;display:grid;grid-template-columns:44px minmax(0,1fr) auto auto 20px;align-items:center;gap:13px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background .2s ease,transform .22s ease;animation:vf-row-in .4s var(--motion-ease,ease) both}.claim-row:first-of-type{border-top:0}.claim-row:hover{background:#f7fbf8;transform:translateX(3px)}.claim-row>span:first-child{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--brand);background:var(--brand-soft)}.claim-row svg{width:21px;height:21px}.claim-row>div{display:grid;gap:3px}.claim-row small,.claim-row em{color:var(--muted);font-size:.72rem;font-style:normal}.claim-row b{color:var(--muted);font-size:.72rem}.claim-row i{color:var(--brand);font-style:normal}.claim-hero .record-avatar{color:white;background:linear-gradient(145deg,#3d7e70,var(--brand-dark))}.claim-hero svg{width:28px;height:28px}.claim-documents{margin-top:16px}.claim-documents .document-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:950px){.insurance-layout{grid-template-columns:1fr}.policy-grid{grid-template-columns:1fr}.claim-row{grid-template-columns:42px minmax(0,1fr) 20px}.claim-row>.status-pill,.claim-row>b{grid-column:2;width:max-content}.claim-documents .document-card-grid{grid-template-columns:1fr}}

/* Vereinshausvermietung */
.rental-workspace{width:min(1380px,calc(100% - 40px))}.rental-heading{position:relative;overflow:hidden}.rental-heading::after{content:"";position:absolute;right:7%;top:-85px;width:205px;height:205px;border:1px dashed rgba(23,107,69,.15);border-radius:50%;animation:dashboard-orbit 18s linear infinite}.rental-metrics article{animation:meeting-rise .45s var(--motion-ease,ease) both}.rental-metrics article:nth-child(2){animation-delay:.05s}.rental-metrics article:nth-child(3){animation-delay:.1s}.rental-metrics article:nth-child(4){animation-delay:.15s}.rental-layout{margin:16px 0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);gap:16px;align-items:start}.venue-grid{display:grid;gap:10px}.venue-grid article{padding:14px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,#f9fcfa)}.venue-grid article>span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:var(--brand);background:var(--brand-soft)}.venue-grid svg{width:22px;height:22px}.venue-grid article>div{display:grid;gap:3px}.venue-grid small,.venue-grid p{margin:0;color:var(--muted);font-size:.73rem}.venue-grid b{color:var(--brand)}.rental-list{margin-bottom:28px}.rental-row{padding:14px 4px;display:grid;grid-template-columns:56px minmax(0,1fr) auto auto 18px;gap:13px;align-items:center;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background .2s ease,transform .22s ease;animation:vf-row-in .4s var(--motion-ease,ease) both}.rental-row:first-of-type{border-top:0}.rental-row:hover{background:#f7fbf8;transform:translateX(3px)}.rental-row time{width:52px;height:56px;display:grid;place-content:center;text-align:center;border-radius:14px;color:var(--brand);background:var(--brand-soft)}.rental-row time strong{font-size:1.15rem;line-height:1}.rental-row time small{text-transform:uppercase;font-size:.62rem;font-weight:850}.rental-row>div{display:grid;gap:3px}.rental-row div small,.rental-row div span{color:var(--muted);font-size:.72rem}.rental-row>b{color:var(--ink);font-size:.78rem}.rental-row>i{color:var(--brand);font-style:normal}.rental-status-request,.rental-status-review{color:#795500;background:#fff5d8}.rental-status-request>span,.rental-status-review>span{background:#d99900}.rental-status-confirmed{color:#285775;background:#eaf3f8}.rental-status-confirmed>span{background:#3f83a8}.rental-status-completed{color:#176b45;background:#e8f6ed}.rental-status-completed>span{background:#2baa69}.rental-status-cancelled{color:#6a6f6c;background:#edf0ee}.rental-status-cancelled>span{background:#8b918e}.rental-hero .record-avatar{color:white;background:linear-gradient(145deg,#397967,var(--brand-dark))}.rental-hero svg{width:29px;height:29px}
.handover-workspace .form-section{position:relative;overflow:hidden}.handover-workspace .form-section::after{content:"";position:absolute;right:-38px;top:-38px;width:100px;height:100px;border:1px dashed rgba(23,107,69,.11);border-radius:50%;pointer-events:none}.handover-heading{align-items:center}.form-guidance{margin:16px 0 0;padding:12px 14px;border-radius:12px;color:var(--brand-dark);background:var(--brand-soft);font-size:.79rem;line-height:1.5}.handover-status-draft{color:#795500;background:#fff5d8}.handover-status-draft>span{background:#d99900}.handover-status-handed_over{color:#285775;background:#eaf3f8}.handover-status-handed_over>span{background:#3f83a8}.handover-status-completed{color:#176b45;background:#e8f6ed}.handover-status-completed>span{background:#2baa69}
@media(max-width:950px){.rental-layout{grid-template-columns:1fr}}@media(max-width:720px){.rental-row{grid-template-columns:52px minmax(0,1fr) 18px}.rental-row>.status-pill,.rental-row>b{grid-column:2;width:max-content}.venue-grid article{grid-template-columns:44px minmax(0,1fr)}.venue-grid article>b{grid-column:2}}

/* Sichere WordPress-Anbindung für Vereinshausanfragen */
.integration-heading{position:relative;overflow:hidden}.integration-heading::after{content:"";position:absolute;right:8%;top:-78px;width:190px;height:190px;border:1px dashed rgba(23,107,69,.16);border-radius:45% 55% 48% 52%;animation:dashboard-orbit 17s linear infinite}.integration-secret{margin:0 0 16px;padding:20px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:15px;border:1px solid #9cccad;border-radius:18px;background:linear-gradient(135deg,#effaf3,#fff);box-shadow:0 12px 30px rgba(23,107,69,.09);animation:vf-soft-in .45s var(--motion-ease,ease) both}.integration-secret h2{margin:3px 0 5px}.integration-secret p{margin:0 0 12px;color:var(--muted);line-height:1.5}.integration-secret code,.integration-endpoints code{padding:10px 12px;display:block;overflow-wrap:anywhere;border:1px solid #c8ddd0;border-radius:10px;color:var(--brand-dark);background:white;font-size:.76rem;user-select:all}.integration-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);gap:16px;align-items:start}.integration-info{position:relative;overflow:hidden}.integration-info h2{margin:12px 0}.integration-info ul{margin:0;padding:0;display:grid;gap:9px;list-style:none}.integration-info li{display:flex;gap:8px;color:var(--muted);font-size:.79rem;line-height:1.4}.integration-info li::before{content:"✓";color:var(--brand);font-weight:900}.integration-info p{margin:16px 0 0;padding-top:13px;display:grid;gap:4px;border-top:1px solid var(--line)}.integration-info small{color:var(--muted)}.integration-info strong{color:var(--brand-dark);font-size:.8rem}.integration-endpoints{margin:16px 0 28px}.integration-endpoints article{padding:14px 3px;display:grid;grid-template-columns:minmax(190px,.45fr) minmax(0,1fr);gap:16px;align-items:center;border-top:1px solid var(--line)}.integration-endpoints article>div{display:grid;gap:3px}.integration-endpoints article small{color:var(--muted);font-size:.72rem}.integration-inquiry-url{margin-top:12px;padding:14px;border-radius:13px;background:var(--brand-soft)}.integration-inquiry-url span{margin-bottom:7px;display:block;color:var(--brand-dark);font-size:.72rem;font-weight:850}.integration-inquiry-url code{background:rgba(255,255,255,.82)}
@media(max-width:900px){.integration-layout{grid-template-columns:1fr}.integration-endpoints article{grid-template-columns:1fr}}
.integration-download{margin:16px 0 8px;justify-content:center}.rental-settlement{margin:16px 0}.rental-balance-grid{margin-bottom:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rental-balance-grid article{padding:15px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,#f5faf7);display:grid;gap:5px}.rental-balance-grid span{color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase}.rental-balance-grid strong{font-size:1.2rem;color:var(--brand-dark)}.rental-payment-list>div:not(.empty-state){padding:12px 3px;display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:12px;border-top:1px solid var(--line);align-items:center}.rental-payment-list time,.rental-payment-list small{color:var(--muted);font-size:.72rem}.rental-payment-list span{display:grid;gap:2px;font-size:.8rem}.rental-payment-list strong{font-size:.82rem;color:var(--brand-dark)}
@media(max-width:650px){.rental-balance-grid{grid-template-columns:1fr}.rental-payment-list>div:not(.empty-state){grid-template-columns:1fr;gap:4px}}

/* Kontrollierter E-Mail-Postausgang */
.communication-workspace{width:min(1380px,calc(100% - 40px))}.communication-heading{position:relative;overflow:hidden}.communication-heading::after{content:"";position:absolute;right:7%;top:-92px;width:215px;height:215px;border:1px dashed rgba(23,107,69,.15);border-radius:46% 54% 49% 51%;animation:dashboard-orbit 18s linear infinite;pointer-events:none}.communication-metrics article{animation:meeting-rise .45s var(--motion-ease,ease) both}.communication-metrics article:nth-child(2){animation-delay:.05s}.communication-metrics article:nth-child(3){animation-delay:.1s}.communication-metrics article:nth-child(4){animation-delay:.15s}.communication-filter{margin:0 0 16px;grid-template-columns:minmax(260px,1fr) minmax(180px,.35fr) auto}.communication-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);gap:16px;align-items:start}.communication-row{padding:14px 5px;display:grid;grid-template-columns:46px minmax(0,1fr) auto 20px;align-items:center;gap:13px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;animation:vf-row-in .4s var(--motion-ease,ease) both;transition:background .2s ease,transform .22s ease}.communication-row:first-of-type{border-top:0}.communication-row:hover{background:#f7fbf8;transform:translateX(3px)}.communication-row>div{display:grid;gap:3px}.communication-row small,.communication-row div span{color:var(--muted);font-size:.72rem}.communication-row i{color:var(--brand);font-style:normal;transition:transform .2s ease}.communication-row:hover i{transform:translateX(3px)}.mail-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;color:var(--brand);background:var(--brand-soft);box-shadow:0 7px 18px rgba(23,107,69,.08)}.mail-icon svg{width:22px;height:22px}.template-preview{position:relative;overflow:hidden}.template-preview::after{content:"";position:absolute;right:-55px;bottom:-62px;width:140px;height:140px;border:1px dashed rgba(23,107,69,.14);border-radius:50%;animation:dashboard-orbit 16s linear infinite}.template-preview h2{margin:12px 0 8px}.template-preview>p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.55}.template-preview ul{margin:17px 0 0;padding:0;display:grid;list-style:none}.template-preview li{padding:11px 2px;display:grid;gap:3px;border-top:1px solid var(--line)}.template-preview li span{color:var(--muted);font-size:.65rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.template-preview li strong{font-size:.82rem}.email-status-draft{color:#795500;background:#fff5d8}.email-status-draft>span{background:#d99900}.email-status-ready{color:#285775;background:#eaf3f8}.email-status-ready>span{background:#3f83a8}.email-status-sent{color:#176b45;background:#e8f6ed}.email-status-sent>span{background:#2baa69}.email-status-failed{color:#7b3b35;background:#fff0ed}.email-status-failed>span{background:#bc5144}.email-status-cancelled{color:#6a6f6c;background:#edf0ee}.email-status-cancelled>span{background:#8b918e}
.email-hero .record-avatar{color:white;background:linear-gradient(145deg,#397967,var(--brand-dark))}.email-hero .record-avatar svg{width:29px;height:29px}.email-detail-layout{margin:16px 0;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.5fr);gap:16px;align-items:start}.email-paper{padding:0;overflow:hidden}.email-paper>header{padding:20px 24px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px 14px;border-bottom:1px solid var(--line);background:#f7faf8}.email-paper>header span{color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase}.email-paper>header strong{overflow-wrap:anywhere;font-size:.82rem}.email-paper>div{min-height:260px;padding:26px 28px;color:#31483d;font-size:.9rem;line-height:1.75;background:linear-gradient(145deg,#fff,#fbfdfb)}.email-paper>footer{padding:17px 24px;display:flex;align-items:center;flex-wrap:wrap;gap:9px;border-top:1px solid var(--line)}.email-paper>footer>span{margin-right:5px;color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase}.email-paper>footer a{padding:8px 10px;display:inline-flex;align-items:center;gap:7px;border:1px solid #d5e3da;border-radius:10px;color:var(--brand-dark);background:#f6faf7;font-size:.72rem;font-weight:800;text-decoration:none}.email-paper>footer svg{width:16px;height:16px}.email-actions{position:sticky;top:88px;overflow:hidden}.email-actions::after{content:"";position:absolute;right:-50px;top:-55px;width:125px;height:125px;border:1px dashed rgba(23,107,69,.13);border-radius:50%;animation:dashboard-orbit 15s linear infinite}.email-actions h2{margin:12px 0 8px}.email-actions p{margin:0 0 17px;color:var(--muted);font-size:.8rem;line-height:1.55}.email-actions form{margin:0}.email-actions .primary-button,.email-actions .secondary-button{width:100%}.email-actions>small{display:block;padding:12px;border-radius:10px;color:var(--muted);background:#f3f7f4;line-height:1.5}.email-actions details{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.email-actions summary{cursor:pointer;color:var(--muted);font-size:.75rem;font-weight:800}.email-actions details form{margin-top:11px;display:grid;gap:9px}.email-actions textarea{width:100%;padding:10px;border:1px solid #cbd9d0;border-radius:10px;resize:vertical}.email-actions .cancel-email{margin-top:17px;padding-top:13px;border-top:1px solid var(--line)}.email-history{margin-bottom:28px}.rental-email-panel{position:relative;overflow:hidden}.rental-email-panel>p{margin:0 0 15px;color:var(--muted);line-height:1.55}.rental-email-actions{display:flex;flex-wrap:wrap;gap:9px}.rental-email-actions form{margin:0}.rental-email-actions button{height:100%}
@media(max-width:950px){.communication-layout,.email-detail-layout{grid-template-columns:1fr}.email-actions{position:static}}@media(max-width:700px){.communication-filter{grid-template-columns:1fr}.communication-row{grid-template-columns:42px minmax(0,1fr) 18px}.communication-row>.status-pill{grid-column:2;width:max-content}.email-paper>header{grid-template-columns:1fr;gap:4px}.email-paper>header strong{margin-bottom:8px}.email-paper>div{padding:21px}.rental-email-actions{display:grid}.rental-email-actions form,.rental-email-actions button{width:100%}}

/* SEPA-Zahlungsverkehr */
.sepa-workspace{width:min(1380px,calc(100% - 40px))}.sepa-workspace .page-heading{position:relative;overflow:hidden}.sepa-workspace .page-heading::after{content:"€";position:absolute;right:8%;top:12%;color:rgba(23,107,69,.07);font-size:8rem;font-weight:900;line-height:1;transform:rotate(-8deg);pointer-events:none}.sepa-layout{margin:16px 0 28px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:16px;align-items:start}.sepa-run{padding:15px 4px;display:grid;grid-template-columns:minmax(0,1fr) auto auto 20px;align-items:center;gap:14px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;animation:vf-row-in .4s var(--motion-ease,ease) both;transition:background .2s ease,transform .22s ease}.sepa-run:first-of-type{border-top:0}.sepa-run:hover{background:#f7fbf8;transform:translateX(3px)}.sepa-run>div{display:grid;gap:3px}.sepa-run small,.sepa-mandate small{color:var(--muted);font-size:.72rem}.sepa-run>b{color:var(--brand-dark);font-variant-numeric:tabular-nums}.sepa-run>i{color:var(--brand);font-style:normal}.sepa-mandate{padding:14px 3px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;border-top:1px solid var(--line)}.sepa-mandate:first-of-type{border-top:0}.sepa-mandate>div{display:grid;gap:3px}.sepa-mandate>form{grid-column:1/-1;margin:0}.sepa-return{margin-top:7px;display:flex;align-items:center;gap:7px}.sepa-return input{min-width:190px;padding:8px 10px;border:1px solid #d3dfd7;border-radius:9px;font:inherit;font-size:.72rem}.sepa-status-draft,.sepa-item-pending{color:#795500;background:#fff5d8}.sepa-status-draft>span,.sepa-item-pending>span{background:#d99900}.sepa-status-exported,.sepa-status-submitted{color:#285775;background:#eaf3f8}.sepa-status-exported>span,.sepa-status-submitted>span{background:#3f83a8}.sepa-status-completed,.sepa-item-collected,.sepa-mandate-active{color:#176b45;background:#e8f6ed}.sepa-status-completed>span,.sepa-item-collected>span,.sepa-mandate-active>span{background:#2baa69}.sepa-status-cancelled,.sepa-item-returned,.sepa-mandate-revoked{color:#7b3b35;background:#fff0ed}.sepa-status-cancelled>span,.sepa-item-returned>span,.sepa-mandate-revoked>span{background:#bc5144}
@media(max-width:900px){.sepa-layout{grid-template-columns:1fr}.sepa-run{grid-template-columns:minmax(0,1fr) auto 18px}.sepa-run>.status-pill{grid-column:1/3;width:max-content}.sepa-return{align-items:stretch;flex-direction:column}.sepa-return input{min-width:0}}

/* E-Mail-Verbindung und echter Versand */
.communication-side{display:grid;gap:16px}.delivery-panel{display:grid;grid-template-columns:46px minmax(0,1fr);gap:5px 13px;align-items:center;position:relative;overflow:hidden}.delivery-panel::after{content:"";position:absolute;right:-35px;bottom:-42px;width:105px;height:105px;border:1px dashed currentColor;border-radius:50%;opacity:.1;animation:dashboard-orbit 15s linear infinite}.delivery-indicator{grid-row:1;width:44px;height:44px;display:grid;place-items:center;border-radius:13px}.delivery-indicator svg{width:21px;height:21px}.delivery-panel>div{display:grid;gap:2px}.delivery-panel h2{margin:0;font-size:1rem}.delivery-panel small{color:var(--muted);font-size:.65rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.delivery-panel>p,.delivery-panel>form{grid-column:1/-1}.delivery-panel>p{margin:11px 0 4px;color:var(--muted);font-size:.78rem;line-height:1.55}.delivery-panel>form{margin:8px 0 0}.delivery-panel>form button{width:100%}.delivery-panel.is-ready{border-color:#b9ddc6;background:linear-gradient(145deg,#fff,#effaf3)}.delivery-panel.is-ready .delivery-indicator{color:white;background:linear-gradient(145deg,#2baa69,var(--brand-dark));box-shadow:0 8px 20px rgba(23,107,69,.18)}.delivery-panel.is-locked{border-color:#ead9aa;background:linear-gradient(145deg,#fff,#fffaf0)}.delivery-panel.is-locked .delivery-indicator{color:#8a6818;background:#fff0bd}.send-confirmation{margin:0 0 13px;padding:11px 12px;display:grid;gap:3px;border:1px solid #cde1d4;border-radius:11px;background:#f2f9f4}.send-confirmation small{padding:0;background:none}.send-confirmation strong{font-size:.76rem;overflow-wrap:anywhere}.delivery-warning{margin:0 0 10px;padding:12px;display:grid;gap:4px;border:1px solid #ead9aa;border-radius:11px;color:#74570e;background:#fff9e9}.delivery-warning strong{font-size:.8rem}.delivery-warning span{font-size:.74rem;line-height:1.45}.email-actions>.primary-button+small,.email-actions form+small{margin-top:10px}

/* Durchgängige Darstellung und abschließende Dunkelmodus-Schicht */
.global-theme-toggle {
  position: fixed;
  z-index: 90;
  right: 22px;
  bottom: 22px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #c8dbcf;
  border-radius: 16px;
  color: var(--brand-dark);
  background: rgba(255,255,255,.94);
  box-shadow: 0 14px 36px rgba(24,49,40,.16);
  cursor: pointer;
  backdrop-filter: blur(14px);
  transition: transform .22s var(--motion-ease, ease), border-color .2s, background .2s, box-shadow .2s;
}
.global-theme-toggle:hover { transform: translateY(-2px) rotate(-4deg); border-color: var(--brand); box-shadow: 0 17px 38px rgba(24,49,40,.22); }
.global-theme-toggle .vf-icon { position: absolute; width: 21px; height: 21px; transition: opacity .25s ease, transform .35s var(--motion-spring, ease); }
.global-theme-toggle .theme-sun { opacity: 0; transform: translateY(17px) rotate(-90deg) scale(.65); }
.global-theme-toggle[hidden] { display: none; }
html[data-theme="dark"] .global-theme-toggle { border-color: #355144; color: #c9f5d9; background: rgba(20,34,25,.94); box-shadow: 0 16px 38px rgba(0,0,0,.34); }
html[data-theme="dark"] .global-theme-toggle .theme-moon { opacity: 0; transform: translateY(-17px) rotate(90deg) scale(.65); }
html[data-theme="dark"] .global-theme-toggle .theme-sun { opacity: 1; transform: none; }

html[data-theme="dark"] .auth-page { background: #0a120e; }
html[data-theme="dark"] .auth-card { border-color: #2d4337; background: #121e17; box-shadow: 0 26px 72px rgba(0,0,0,.38); }
html[data-theme="dark"] .auth-card label,
html[data-theme="dark"] .auth-card form p { color: #d9e8df; }
html[data-theme="dark"] .auth-card input { color-scheme: light; border-color: #789084; color: #17372a; background: #f8fbf9; }
html[data-theme="dark"] .auth-card input:focus { border-color: #2a9d66; background: white; box-shadow: 0 0 0 4px rgba(51,193,112,.24); }
html[data-theme="dark"] .password-guidance { border-color: #315941; color: #c9f5d9; background: #16271d; }

html[data-theme="dark"] :where(
  .welcome-card,
  .foundation-grid article,
  .feature-entry,
  .data-panel,
  .member-hero,
  .colony-card,
  .facility-metrics article,
  .finance-metrics article,
  .account-card,
  .finding-card,
  .billing-preview-card,
  .document-description,
  .announcement-preview,
  .policy-card,
  .resolution-card,
  .venue-grid article,
  .rental-balance-grid article,
  .community-close-panel,
  .minutes-paper,
  .integration-secret,
  .prospect-step,
  .prospect-converted,
  .platform-status-card,
  .operation-metric,
  .operation-row,
  .tenant-row,
  .portal-metrics article,
  .communication-metrics article,
  .inspection-metrics article,
  .assets-metrics article,
  .rental-metrics article,
  .asset-card,
  .template-card,
  .settings-fee-field,
  .contract-price-summary > div,
  .onboarding-review-grid article,
  .onboarding-result-grid article
) {
  border-color: #2d4337;
  color: var(--ink);
  background: linear-gradient(145deg, #142219, #111d16);
  box-shadow: 0 13px 36px rgba(0,0,0,.14);
}
html[data-theme="dark"] :where(.data-panel, .member-hero, .colony-card, .account-card, .policy-card, .resolution-card, .venue-grid article):hover { border-color: #3b604c; }
html[data-theme="dark"] :where(.portal-welcome, .facility-page-hero, .template-library-hero, .serial-letter-hero, .control-customer-hero, .prospect-flow) {
  border-color: #315442;
  color: var(--ink);
  background: radial-gradient(circle at 90% 5%, rgba(66,202,126,.13), transparent 36%), linear-gradient(140deg, #142219, #0f1914);
  box-shadow: 0 18px 45px rgba(0,0,0,.16);
}
html[data-theme="dark"] .transfer-progress-card { border-color: #365846; color: var(--ink); background: rgba(17, 31, 23, .86); box-shadow: 0 16px 34px rgba(0,0,0,.2); }
html[data-theme="dark"] .transfer-progress-card > div { background: #2c4437; }
html[data-theme="dark"] .transfer-step.is-complete { border-color: #3b604c; }
html[data-theme="dark"] .transfer-step-number { color: #b8efcb; background: #193425; }
html[data-theme="dark"] .transfer-disabled { color: #9bb2a6; background: #18271e; }
html[data-theme="dark"] :where(.portal-metrics article, .communication-metrics article, .inspection-metrics article, .assets-metrics article, .rental-metrics article):hover {
  border-color: #3b604c;
  box-shadow: 0 17px 38px rgba(0,0,0,.2);
}
html[data-theme="dark"] .portal-metrics .metric-warning,
html[data-theme="dark"] .communication-metrics .metric-warning,
html[data-theme="dark"] .inspection-metrics article.has-warning {
  border-color: #604b2b;
  background: #211c12;
}
html[data-theme="dark"] .communication-metrics .metric-error { border-color: #693b35; background: #281714; }
html[data-theme="dark"] :where(.eyebrow, .section-number) { color: #8db6a1; }
html[data-theme="dark"] :where(.member-table td, .finance-row, .document-row, .communication-row, .claim-row, .rental-row, .sepa-run, .work-task-row, .community-event, .meeting-row, .history-row, .agenda-list > li) { border-color: #2d4337; }
html[data-theme="dark"] :where(.member-table tr, .finance-row, .document-row, .communication-row, .claim-row, .rental-row, .sepa-run, .work-task-row, .community-event, .meeting-row):hover { color: #c9f5d9; background: #172a20; }
html[data-theme="dark"] .member-table td a { color: #dce9e1; }
html[data-theme="dark"] .member-table th { color: #9bb2a6; }
html[data-theme="dark"] :where(.info-grid, .calendar-grid) { border-color: #365044; background: #365044; }
html[data-theme="dark"] .calendar-day { color: #dce9e1; background: #142219; }
html[data-theme="dark"] .calendar-day:hover { background: #192b21; }
html[data-theme="dark"] .calendar-day.is-today { background: #193425; }
html[data-theme="dark"] .calendar-event { color: #dce9e1; background: #193425; }
html[data-theme="dark"] .calendar-event small { color: #9ec3ac; }
html[data-theme="dark"] .event-kind-deadline { background: #332718; }
html[data-theme="dark"] .event-kind-meeting,
html[data-theme="dark"] .event-kind-assembly { background: #192c37; }
html[data-theme="dark"] :where(.account-checkbox, .onboarding-launch-grid #id_enabled_modules, .onboarding-check, .onboarding-result-grid article, .control-subscription-form #id_enabled_modules, .community-rule-note, .send-confirmation, .email-actions > small) { border-color: #2d4337; color: var(--ink); background: #16251c; }
html[data-theme="dark"] :where(.onboarding-launch-grid #id_enabled_modules > div label, .control-subscription-form #id_enabled_modules > div label) { border-color: #365044; color: #dce9e1; background: #142219; }
html[data-theme="dark"] :where(.setup-hero, .setup-hero.is-ready, .setup-check-list .is-open, .community-close-panel.is-closed, .delivery-panel.is-ready, .delivery-panel.is-locked) { border-color: #405541; color: var(--ink); background: linear-gradient(145deg, #1d2619, #171f17); }
html[data-theme="dark"] .setup-progress { background: radial-gradient(closest-side, #121e17 76%, transparent 77% 99%), conic-gradient(var(--brand) var(--progress), #304038 0); }
html[data-theme="dark"] :where(.integration-secret code, .integration-endpoints code, .control-connection-guide code, .control-token-panel code) { border-color: #456454; color: #c9f5d9; background: #0e1a13; }
html[data-theme="dark"] :where(.integration-inquiry-url, .form-guidance) { color: #b8efcb; background: #193425; }
html[data-theme="dark"] :where(.document-icon, .mail-icon, .asset-icon, .history-row > span, .agenda-list > li > span, .community-date, .rental-row time, .work-reminder > span) { color: #b8efcb; background: #193425; }
html[data-theme="dark"] :where(.policy-card, .resolution-card, .venue-grid article, .rental-balance-grid article) { background: linear-gradient(145deg, #15231a, #111c15); }
html[data-theme="dark"] :where(.claim-row:hover, .rental-row:hover, .communication-row:hover, .sepa-run:hover, .work-task-row:hover, .community-event:hover, .meeting-row:hover) { background: #172a20; }
html[data-theme="dark"] :where(.community-row-exempt, .community-row-warning, .work-task-row.is-overdue) { background: #211d15; }
html[data-theme="dark"] .community-progress { background: #2b3e34; }
html[data-theme="dark"] .email-paper { border-color: #476055; color: #183128; background: white; }
html[data-theme="dark"] .email-paper > header { border-color: #dbe6df; color: #183128; background: #f3f7f4; }
html[data-theme="dark"] .email-paper > header span { color: #61756c; }
html[data-theme="dark"] .email-paper > footer { border-color: #dbe6df; color: #183128; background: #f8fbf9; }
html[data-theme="dark"] .email-paper > footer > span { color: #61756c; }
html[data-theme="dark"] .email-paper > footer a { border-color: #c8dbcf; color: #0e4b31; background: #f2f8f4; }
html[data-theme="dark"] :where(.app-page, .control-page, .portal-page, .dashboard-page) input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
html[data-theme="dark"] :where(.app-page, .control-page, .portal-page, .dashboard-page) select,
html[data-theme="dark"] :where(.app-page, .control-page, .portal-page, .dashboard-page) textarea { color-scheme: light; border-color: #789084; color: #17372a; background: #f8fbf9; }
html[data-theme="dark"] :where(.app-page, .control-page, .portal-page, .dashboard-page) input::placeholder,
html[data-theme="dark"] :where(.app-page, .control-page, .portal-page, .dashboard-page) textarea::placeholder { color: #607268; opacity: 1; }
html[data-theme="dark"] :where(.app-page, .control-page, .portal-page, .dashboard-page) input:focus,
html[data-theme="dark"] :where(.app-page, .control-page, .portal-page, .dashboard-page) select:focus,
html[data-theme="dark"] :where(.app-page, .control-page, .portal-page, .dashboard-page) textarea:focus { border-color: #2a9d66; background: white; box-shadow: 0 0 0 4px rgba(51,193,112,.24); outline: none; }

@media print {
  html[data-theme="dark"] body,
  html[data-theme="dark"] .control-page { color: #183128; background: white; background-image: none; }
  html[data-theme="dark"] :where(.control-invoice-sheet, .letter-paper, .email-paper, .minutes-paper) {
    border-color: #dbe6df;
    color: #183128;
    background: white;
    box-shadow: none;
  }
}

@media (max-width: 700px) {
  .global-theme-toggle { right: 14px; bottom: 14px; width: 44px; height: 44px; border-radius: 14px; }
}

/* Vollständige Smartphone- und Tablet-Optimierung */
@media (max-width: 800px) {
  .topbar {
    gap: 12px 16px;
    padding: 13px 16px 10px;
  }
  .topbar .wordmark { min-width: 0; }
  .topbar .wordmark > span:last-child { white-space: nowrap; }
  .topbar .user-area { margin-left: auto; }
  .app-nav,
  .portal-nav {
    max-width: 100%;
    padding: 2px 0 4px;
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }
  .app-nav::-webkit-scrollbar,
  .portal-nav::-webkit-scrollbar { display: none; }
  .app-nav a,
  .portal-nav a {
    min-height: 44px;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    scroll-snap-align: start;
  }
  .member-table-wrap { overflow: visible; }
  .member-table tbody { display: grid; gap: 11px; }
  .member-table tr {
    margin: 0;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--paper);
  }
  .member-table td {
    min-width: 0;
    align-items: flex-start;
    overflow-wrap: anywhere;
  }
  .member-table td > :where(a, strong, span) { min-width: 0; }
  .member-table td form { max-width: 100%; }
  .member-table td button { min-height: 44px; }
  .cora-operation-grid { grid-template-columns: 1fr; }
  .cora-operation-grid > article + article { border-top: 1px solid var(--line); border-left: 0; }
  .cora-delivery-list > article { grid-template-columns: 38px minmax(0,1fr); }
  .cora-delivery-status { grid-column: 2; justify-self: start; }
  .cora-rule-grid { grid-template-columns: 1fr; }
  .member-hero > div,
  .page-heading > div { min-width: 0; }
  .member-hero h1,
  .page-heading h1 { overflow-wrap: anywhere; }
  .transfer-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .transfer-facts article:nth-child(2) { border-right: 0; }
  .transfer-facts article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .transfer-step { grid-template-columns: 58px minmax(0, 1fr); align-items: start; gap: 16px; }
  .transfer-step-number { width: 54px; height: 54px; }
  .transfer-step-actions { min-width: 0; grid-column: 2; justify-items: stretch; }
  .transfer-step-actions .primary-link { justify-content: center; }
}

@media (max-width: 560px) {
  .topbar .wordmark { gap: 9px; font-size: .9rem; }
  .topbar .brand-mark.small { width: 38px; height: 38px; }
  .topbar .user-area { gap: 8px; }
  .topbar .quiet-button { min-height: 42px; padding-inline: 12px; }
  .page-heading h1 { font-size: clamp(2.05rem, 10vw, 2.7rem); line-height: 1.02; }
  :where(.work-workspace, .meetings-workspace, .assets-workspace, .rental-workspace, .communication-workspace, .sepa-workspace, .operations-workspace) {
    width: min(100% - 24px, 1380px);
    padding-top: 28px;
  }
  .primary-link,
  .primary-button,
  .secondary-link,
  .secondary-button { min-height: 48px; }
  .heading-actions form,
  .heading-actions form > button { width: 100%; }
  .member-table td { gap: 12px; }
  .member-table td::before { flex: 0 0 min(42%, 138px); text-align: left; }
  .member-table td:first-child { display: block; }
  .member-table td:first-child > :where(a, strong) { width: 100%; }
  .cora-operations > header, .cora-delivery-panel > header { align-items: flex-start; }
  .cora-operation-grid > article { padding: 16px; }
  .cora-delivery-list > article { padding: 14px 16px; }
  .cora-rules-hero { min-height: 0; padding: 25px 20px; }
  .cora-rules-hero > span { display: none; }
  .cora-rule-grid > article { padding: 17px; }
  .cora-rule-grid article > header { grid-template-columns: 38px minmax(0,1fr) auto; }
  .cora-rule-grid article > header > span { width: 38px; height: 38px; }
  .cora-rule-number, .cora-rule-double { margin-left: 50px; }
  .cora-rule-double { grid-template-columns: 1fr; }
  .cora-rules-actions { align-items: stretch; flex-direction: column-reverse; }
  .cora-rules-actions .primary-button, .cora-rules-actions .quiet-link { width: 100%; text-align: center; }
  .work-calendar {
    position: relative;
    padding-bottom: 16px;
    scrollbar-width: thin;
    scrollbar-color: var(--brand) var(--line);
  }
  .calendar-weekdays,
  .calendar-grid { min-width: 680px; }
  .calendar-day { min-height: 94px; }
  .calendar-day > header > a { min-width: 30px; min-height: 30px; }
  .global-theme-toggle {
    right: max(14px, env(safe-area-inset-right));
    bottom: max(14px, env(safe-area-inset-bottom));
  }
  .transfer-progress-card { width: 100%; min-width: 0; }
  .transfer-step { padding: 18px; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; }
  .transfer-step-number { width: 42px; height: 42px; border-radius: 13px; font-size: .85rem; }
  .transfer-step-body h2 { font-size: 1.2rem; }
  .transfer-step-actions { grid-column: 1 / -1; }
  .transfer-safety { align-items: flex-start; }
}

/* Liquid Glass 2026 -------------------------------------------------------
   Eine gemeinsame, kontraststarke Glasschicht fuer Dashboard und Module.
   Eingabefelder bleiben bewusst nahezu opak, damit Inhalte lesbar bleiben. */
:root {
  --glass-surface: rgba(255, 255, 255, .68);
  --glass-surface-strong: rgba(255, 255, 255, .84);
  --glass-surface-soft: rgba(245, 252, 248, .58);
  --glass-line: rgba(255, 255, 255, .82);
  --glass-line-edge: rgba(137, 180, 155, .42);
  --glass-shadow: 0 18px 48px rgba(31, 75, 52, .10), 0 2px 8px rgba(31, 75, 52, .045);
  --glass-shadow-hover: 0 25px 62px rgba(24, 72, 47, .15), 0 4px 12px rgba(31, 75, 52, .06);
  --glass-blur: blur(24px) saturate(150%);
}

.dashboard-page {
  background:
    radial-gradient(circle at 78% 3%, rgba(91, 220, 161, .18), transparent 31rem),
    radial-gradient(circle at 8% 54%, rgba(83, 170, 211, .12), transparent 34rem),
    radial-gradient(circle at 91% 88%, rgba(246, 201, 109, .12), transparent 30rem),
    linear-gradient(145deg, #edf5f0 0%, #f6f8f6 46%, #ecf4f0 100%);
  background-attachment: fixed;
}

.dashboard-workspace {
  min-height: 100vh;
  background:
    radial-gradient(circle at 92% 18%, rgba(255,255,255,.7), transparent 24rem),
    linear-gradient(115deg, rgba(255,255,255,.08), transparent 42%);
}

.dashboard-sidebar,
.dashboard-topbar,
.topbar,
.portal-topbar {
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
}

.dashboard-sidebar {
  z-index: 22;
  border-right-color: rgba(137, 180, 155, .34);
  background: linear-gradient(165deg, rgba(255,255,255,.84), rgba(246,251,248,.66));
  box-shadow: 16px 0 46px rgba(27, 69, 46, .055), inset -1px 0 rgba(255,255,255,.72);
}

.dashboard-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom-color: rgba(137, 180, 155, .3);
  background: linear-gradient(110deg, rgba(255,255,255,.83), rgba(248,253,250,.66));
  box-shadow: 0 12px 35px rgba(27, 69, 46, .055), inset 0 1px rgba(255,255,255,.8);
}

.dashboard-club-card,
.dashboard-search,
.dashboard-notification,
.dashboard-theme-toggle,
.dashboard-cora summary,
.dashboard-rolebar,
.dashboard-metrics article,
.dashboard-panel,
.data-panel,
.member-hero,
.colony-card,
.facility-metrics article,
.finance-metrics article,
.account-card,
.portal-metrics article,
.communication-metrics article,
.inspection-metrics article,
.assets-metrics article,
.rental-metrics article,
.asset-card,
.template-card,
.finding-card,
.billing-preview-card,
.cora-card {
  border-color: var(--glass-line-edge);
  background-color: var(--glass-surface);
  background-image: linear-gradient(145deg, rgba(255,255,255,.67), rgba(255,255,255,.24));
  box-shadow: var(--glass-shadow), inset 0 1px 0 var(--glass-line);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
}

.dashboard-club-card,
.dashboard-search,
.dashboard-notification,
.dashboard-theme-toggle,
.dashboard-cora summary {
  background: linear-gradient(145deg, rgba(255,255,255,.8), rgba(245,252,248,.52));
  box-shadow: 0 10px 28px rgba(31,75,52,.07), inset 0 1px 0 rgba(255,255,255,.9);
}

.dashboard-hero,
.welcome-card,
.portal-welcome,
.facility-page-hero,
.template-library-hero,
.serial-letter-hero,
.control-customer-hero {
  border-color: rgba(141, 190, 160, .48);
  background:
    radial-gradient(circle at 84% 17%, rgba(69, 210, 144, .22), transparent 30%),
    radial-gradient(circle at 69% 108%, rgba(94, 179, 222, .16), transparent 38%),
    linear-gradient(135deg, rgba(255,255,255,.86), rgba(248,253,250,.55));
  box-shadow: 0 28px 70px rgba(25,70,48,.13), inset 0 1px 0 rgba(255,255,255,.96);
  -webkit-backdrop-filter: blur(30px) saturate(155%);
  backdrop-filter: blur(30px) saturate(155%);
}

.dashboard-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: linear-gradient(115deg, rgba(255,255,255,.64), transparent 24%, transparent 72%, rgba(255,255,255,.22));
  pointer-events: none;
}

.dashboard-nav a {
  border: 1px solid transparent;
}
.dashboard-nav a:hover {
  border-color: rgba(255,255,255,.72);
  background: rgba(255,255,255,.54);
  box-shadow: 0 8px 22px rgba(28,72,48,.07), inset 0 1px rgba(255,255,255,.8);
}
.dashboard-nav a.is-active {
  border-color: rgba(129, 185, 151, .42);
  background: linear-gradient(120deg, rgba(223,244,232,.84), rgba(255,255,255,.5));
  box-shadow: 0 9px 24px rgba(23,107,69,.1), inset 0 1px rgba(255,255,255,.9);
}

.dashboard-metrics article,
.dashboard-panel,
.colony-card,
.account-card,
.template-card {
  transition: transform .32s var(--motion-ease, ease), box-shadow .32s ease, border-color .25s ease;
}
.dashboard-metrics article:hover,
.dashboard-panel:hover,
.colony-card:hover,
.account-card:hover,
.template-card:hover {
  border-color: rgba(93, 159, 120, .54);
  box-shadow: var(--glass-shadow-hover), inset 0 1px 0 rgba(255,255,255,.92);
  transform: translateY(-3px);
}

.dashboard-metrics .metric-icon,
.dashboard-cora-mark,
.dashboard-empty > span,
.dashboard-all-clear > span {
  border: 1px solid rgba(255,255,255,.7);
  box-shadow: 0 10px 24px rgba(28,84,53,.09), inset 0 1px rgba(255,255,255,.74);
}

.primary-link,
.primary-button {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.24);
  background: linear-gradient(145deg, #238457, #0f603d);
  box-shadow: 0 12px 28px rgba(20,91,57,.22), inset 0 1px rgba(255,255,255,.22);
}
.primary-link::after,
.primary-button::after {
  content: "";
  position: absolute;
  top: -80%;
  left: -42%;
  width: 28%;
  height: 260%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  transform: rotate(18deg);
  transition: left .65s var(--motion-ease, ease);
  pointer-events: none;
}
.primary-link:hover::after,
.primary-button:hover::after { left: 118%; }

.secondary-link,
.secondary-button,
.quiet-button {
  border-color: rgba(130, 175, 149, .45);
  background: rgba(255,255,255,.64);
  box-shadow: 0 10px 26px rgba(31,75,52,.065), inset 0 1px rgba(255,255,255,.88);
  -webkit-backdrop-filter: blur(16px) saturate(145%);
  backdrop-filter: blur(16px) saturate(145%);
}

.dashboard-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.dashboard-page select,
.dashboard-page textarea {
  background: rgba(255,255,255,.92);
  box-shadow: inset 0 1px 2px rgba(28,62,45,.045), 0 1px rgba(255,255,255,.8);
}

.dashboard-cora > div,
.modal-card,
.dialog-card {
  border-color: rgba(144, 191, 163, .48);
  background: rgba(255,255,255,.88);
  box-shadow: 0 28px 75px rgba(19,59,39,.22), inset 0 1px rgba(255,255,255,.94);
  -webkit-backdrop-filter: blur(32px) saturate(155%);
  backdrop-filter: blur(32px) saturate(155%);
}

html[data-theme="dark"] {
  --glass-surface: rgba(17, 35, 26, .7);
  --glass-surface-strong: rgba(18, 36, 27, .86);
  --glass-surface-soft: rgba(20, 42, 30, .58);
  --glass-line: rgba(170, 239, 198, .11);
  --glass-line-edge: rgba(105, 170, 131, .3);
  --glass-shadow: 0 20px 52px rgba(0,0,0,.25), inset 0 1px rgba(203,255,222,.08);
  --glass-shadow-hover: 0 27px 68px rgba(0,0,0,.34), 0 0 28px rgba(36,152,91,.06), inset 0 1px rgba(203,255,222,.12);
}
html[data-theme="dark"] .dashboard-page {
  background:
    radial-gradient(circle at 80% 2%, rgba(39, 145, 89, .2), transparent 34rem),
    radial-gradient(circle at 8% 58%, rgba(37, 111, 142, .15), transparent 35rem),
    linear-gradient(145deg, #08130e, #0d1812 52%, #09150f);
}
html[data-theme="dark"] .dashboard-workspace {
  background: radial-gradient(circle at 92% 18%, rgba(74,178,119,.08), transparent 26rem);
}
html[data-theme="dark"] .dashboard-sidebar {
  border-right-color: rgba(104,167,129,.22);
  background: linear-gradient(165deg, rgba(14,29,21,.89), rgba(12,24,18,.68));
  box-shadow: 18px 0 50px rgba(0,0,0,.18), inset -1px 0 rgba(170,239,198,.07);
}
html[data-theme="dark"] .dashboard-topbar {
  border-bottom-color: rgba(104,167,129,.22);
  background: linear-gradient(110deg, rgba(14,29,21,.86), rgba(15,31,22,.67));
  box-shadow: 0 14px 38px rgba(0,0,0,.18), inset 0 1px rgba(200,255,221,.07);
}
html[data-theme="dark"] :where(
  .dashboard-club-card,
  .dashboard-search,
  .dashboard-notification,
  .dashboard-theme-toggle,
  .dashboard-cora summary,
  .dashboard-rolebar,
  .dashboard-metrics article,
  .dashboard-panel,
  .data-panel,
  .member-hero,
  .colony-card,
  .facility-metrics article,
  .finance-metrics article,
  .account-card,
  .portal-metrics article,
  .communication-metrics article,
  .inspection-metrics article,
  .assets-metrics article,
  .rental-metrics article,
  .asset-card,
  .template-card,
  .finding-card,
  .billing-preview-card,
  .cora-card
) {
  border-color: var(--glass-line-edge);
  color: var(--ink);
  background-color: var(--glass-surface);
  background-image: linear-gradient(145deg, rgba(31,58,42,.66), rgba(11,25,17,.38));
  box-shadow: var(--glass-shadow);
}
html[data-theme="dark"] :where(
  .dashboard-hero,
  .welcome-card,
  .portal-welcome,
  .facility-page-hero,
  .template-library-hero,
  .serial-letter-hero,
  .control-customer-hero
) {
  border-color: rgba(99,170,127,.34);
  color: var(--ink);
  background:
    radial-gradient(circle at 84% 17%, rgba(53,190,114,.16), transparent 31%),
    radial-gradient(circle at 69% 108%, rgba(59,130,170,.12), transparent 38%),
    linear-gradient(135deg, rgba(24,46,33,.85), rgba(10,23,16,.58));
  box-shadow: 0 30px 74px rgba(0,0,0,.3), inset 0 1px rgba(203,255,222,.09);
}
html[data-theme="dark"] .dashboard-nav a:hover {
  border-color: rgba(143,211,169,.13);
  background: rgba(44,79,58,.38);
}
html[data-theme="dark"] .dashboard-nav a.is-active {
  border-color: rgba(96,180,128,.28);
  background: linear-gradient(120deg, rgba(36,91,58,.62), rgba(30,57,42,.32));
  box-shadow: 0 10px 26px rgba(0,0,0,.18), inset 0 1px rgba(201,255,221,.08);
}
html[data-theme="dark"] :where(.secondary-link, .secondary-button, .quiet-button) {
  border-color: rgba(106,169,131,.3);
  color: #c9f5d9;
  background: rgba(19,39,28,.7);
  box-shadow: 0 11px 28px rgba(0,0,0,.2), inset 0 1px rgba(203,255,222,.08);
}
html[data-theme="dark"] .dashboard-cora > div,
html[data-theme="dark"] .modal-card,
html[data-theme="dark"] .dialog-card {
  border-color: rgba(101,174,130,.34);
  color: var(--ink);
  background: rgba(15,33,23,.91);
  box-shadow: 0 30px 80px rgba(0,0,0,.46), inset 0 1px rgba(203,255,222,.09);
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-metrics article,
  .dashboard-panel,
  .colony-card,
  .account-card,
  .template-card,
  .primary-link::after,
  .primary-button::after { transition: none !important; }
  .dashboard-metrics article:hover,
  .dashboard-panel:hover,
  .colony-card:hover,
  .account-card:hover,
  .template-card:hover { transform: none; }
}

@media (max-width: 800px) {
  .dashboard-sidebar { background: rgba(255,255,255,.9); }
  html[data-theme="dark"] .dashboard-sidebar { background: rgba(12,26,18,.92); }
  .dashboard-topbar { -webkit-backdrop-filter: blur(20px) saturate(145%); backdrop-filter: blur(20px) saturate(145%); }
}

/* Liquid Glass – sichtbare Tiefenstufe ----------------------------------- */
.dashboard-workspace {
  position: relative;
  isolation: isolate;
}
.dashboard-workspace::before,
.dashboard-workspace::after {
  content: "";
  position: fixed;
  z-index: 0;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(8px);
  opacity: .78;
  will-change: transform;
}
.dashboard-workspace::before {
  width: min(42vw, 660px);
  height: min(42vw, 660px);
  right: -7vw;
  top: 8vh;
  background: radial-gradient(circle at 36% 35%, rgba(74,224,157,.42), rgba(62,181,211,.2) 44%, transparent 72%);
  animation: liquid-glow-drift-a 18s ease-in-out infinite alternate;
}
.dashboard-workspace::after {
  width: min(38vw, 590px);
  height: min(38vw, 590px);
  left: 18vw;
  bottom: -15vh;
  background: radial-gradient(circle at 55% 42%, rgba(254,201,105,.24), rgba(91,181,222,.18) 43%, transparent 72%);
  animation: liquid-glow-drift-b 22s ease-in-out infinite alternate;
}
.dashboard-main { position: relative; z-index: 1; }
.dashboard-topbar { z-index: 20; }

@keyframes liquid-glow-drift-a {
  from { transform: translate3d(0, -2%, 0) scale(.96); }
  to { transform: translate3d(-12%, 10%, 0) scale(1.1); }
}
@keyframes liquid-glow-drift-b {
  from { transform: translate3d(-4%, 4%, 0) scale(1); }
  to { transform: translate3d(14%, -10%, 0) scale(1.12); }
}

.dashboard-sidebar {
  background:
    linear-gradient(165deg, rgba(255,255,255,.78), rgba(235,248,241,.48)),
    radial-gradient(circle at 0 0, rgba(76,213,146,.16), transparent 38%);
  -webkit-backdrop-filter: blur(34px) saturate(175%);
  backdrop-filter: blur(34px) saturate(175%);
}
.dashboard-topbar {
  background: linear-gradient(105deg, rgba(255,255,255,.72), rgba(235,250,242,.48));
  -webkit-backdrop-filter: blur(32px) saturate(180%);
  backdrop-filter: blur(32px) saturate(180%);
}

.dashboard-club-card,
.dashboard-search,
.dashboard-notification,
.dashboard-theme-toggle,
.dashboard-cora summary {
  border-color: rgba(255,255,255,.86);
  background:
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.28)),
    rgba(236,249,242,.34);
  box-shadow:
    0 14px 34px rgba(29,83,52,.10),
    inset 0 1px 0 rgba(255,255,255,1),
    inset 1px 0 0 rgba(255,255,255,.62),
    0 0 0 1px rgba(112,171,137,.2);
}

.dashboard-rolebar,
.dashboard-metrics article,
.dashboard-panel {
  border-color: rgba(255,255,255,.88);
  background:
    linear-gradient(138deg, rgba(255,255,255,.67) 0%, rgba(255,255,255,.38) 46%, rgba(236,250,243,.28) 100%);
  box-shadow:
    0 22px 55px rgba(24,76,47,.13),
    inset 0 1px 0 rgba(255,255,255,1),
    inset 1px 0 0 rgba(255,255,255,.7),
    0 0 0 1px rgba(112,171,137,.2);
  -webkit-backdrop-filter: blur(30px) saturate(175%);
  backdrop-filter: blur(30px) saturate(175%);
}
.dashboard-rolebar { border-radius: 20px; }
.dashboard-metrics article { border-radius: 23px; }
.dashboard-panel { border-radius: 25px; }

.dashboard-hero {
  border-color: rgba(255,255,255,.92);
  border-radius: 30px;
  background:
    linear-gradient(118deg, rgba(255,255,255,.78) 0 26%, rgba(255,255,255,.34) 55%, rgba(255,248,218,.38) 100%),
    radial-gradient(circle at 82% 34%, rgba(53,209,139,.3), transparent 34%);
  box-shadow:
    0 32px 80px rgba(22,76,47,.18),
    inset 0 1px 0 rgba(255,255,255,1),
    inset 1px 0 0 rgba(255,255,255,.72),
    0 0 0 1px rgba(105,168,131,.22);
  -webkit-backdrop-filter: blur(38px) saturate(185%);
  backdrop-filter: blur(38px) saturate(185%);
}
.dashboard-hero::before {
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(122deg, rgba(255,255,255,.72) 0%, transparent 18% 72%, rgba(255,255,255,.3) 100%);
  animation: liquid-hero-shimmer 8s ease-in-out infinite;
}
@keyframes liquid-hero-shimmer {
  0%, 100% { opacity: .62; transform: translateX(-2%); }
  50% { opacity: 1; transform: translateX(3%); }
}

.dashboard-metrics article::after,
.dashboard-panel::after {
  content: "";
  position: absolute;
  top: 1px;
  left: 12%;
  width: 48%;
  height: 1px;
  border-radius: 50%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.95), transparent);
  pointer-events: none;
}
.dashboard-metrics article,
.dashboard-panel { position: relative; overflow: hidden; }

.dashboard-metrics .metric-icon,
.dashboard-cora-mark,
.dashboard-role-pill {
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(255,255,255,.72), rgba(219,244,230,.54));
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.primary-link,
.primary-button {
  border-radius: 16px;
  background:
    linear-gradient(145deg, rgba(46,154,100,.98), rgba(10,91,55,.98));
  box-shadow:
    0 16px 34px rgba(13,100,59,.3),
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -1px 0 rgba(0,45,24,.22);
}
.secondary-link,
.secondary-button,
.quiet-button { border-radius: 15px; }

html[data-theme="dark"] .dashboard-workspace::before {
  opacity: .58;
  background: radial-gradient(circle at 36% 35%, rgba(28,186,105,.34), rgba(35,127,159,.17) 45%, transparent 72%);
}
html[data-theme="dark"] .dashboard-workspace::after {
  opacity: .5;
  background: radial-gradient(circle at 55% 42%, rgba(194,139,57,.18), rgba(41,114,148,.16) 44%, transparent 72%);
}
html[data-theme="dark"] .dashboard-sidebar {
  background: linear-gradient(165deg, rgba(15,31,22,.78), rgba(8,21,14,.52));
}
html[data-theme="dark"] .dashboard-topbar {
  background: linear-gradient(105deg, rgba(16,34,24,.76), rgba(11,27,18,.52));
}
html[data-theme="dark"] :where(
  .dashboard-club-card,
  .dashboard-search,
  .dashboard-notification,
  .dashboard-theme-toggle,
  .dashboard-cora summary
) {
  border-color: rgba(172,236,198,.14);
  background: linear-gradient(135deg, rgba(37,68,49,.62), rgba(11,28,18,.34));
  box-shadow: 0 15px 38px rgba(0,0,0,.26), inset 0 1px rgba(205,255,223,.12), 0 0 0 1px rgba(90,160,117,.18);
}
html[data-theme="dark"] :where(.dashboard-rolebar, .dashboard-metrics article, .dashboard-panel) {
  border-color: rgba(172,236,198,.14);
  background: linear-gradient(138deg, rgba(32,61,43,.67), rgba(10,27,17,.43));
  box-shadow: 0 24px 60px rgba(0,0,0,.31), inset 0 1px rgba(205,255,223,.12), 0 0 0 1px rgba(86,154,113,.18);
}
html[data-theme="dark"] .dashboard-hero {
  border-color: rgba(178,239,201,.16);
  background:
    linear-gradient(118deg, rgba(35,67,47,.76), rgba(12,31,20,.4) 58%, rgba(52,48,27,.4)),
    radial-gradient(circle at 82% 34%, rgba(35,174,96,.18), transparent 36%);
  box-shadow: 0 34px 84px rgba(0,0,0,.4), inset 0 1px rgba(211,255,227,.13), 0 0 0 1px rgba(85,153,111,.18);
}
html[data-theme="dark"] .dashboard-hero::before {
  background: linear-gradient(122deg, rgba(202,255,221,.09), transparent 20% 72%, rgba(185,239,205,.05));
}
html[data-theme="dark"] .dashboard-metrics article::after,
html[data-theme="dark"] .dashboard-panel::after {
  background: linear-gradient(90deg, transparent, rgba(205,255,223,.2), transparent);
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-workspace::before,
  .dashboard-workspace::after,
  .dashboard-hero::before { animation: none !important; }
}

@media (max-width: 800px) {
  .dashboard-workspace::before { width: 90vw; height: 90vw; right: -42vw; }
  .dashboard-workspace::after { width: 82vw; height: 82vw; left: -35vw; }
}

/* Liquid Glass – gemeinsame Moduloberflaechen ---------------------------- */
:where(.app-page, .portal-page, .control-page) {
  min-height: 100vh;
  background:
    radial-gradient(circle at 88% 6%, rgba(66,218,150,.17), transparent 32rem),
    radial-gradient(circle at 5% 58%, rgba(76,161,205,.12), transparent 35rem),
    radial-gradient(circle at 85% 92%, rgba(246,199,104,.1), transparent 29rem),
    linear-gradient(145deg, #edf5f0, #f6f8f6 48%, #ebf3ef);
  background-attachment: fixed;
}
.control-page {
  background:
    radial-gradient(circle at 88% 5%, rgba(79,129,218,.18), transparent 32rem),
    radial-gradient(circle at 7% 64%, rgba(52,199,153,.12), transparent 35rem),
    linear-gradient(145deg, #eef3f9, #f7f9fb 48%, #edf3f4);
}
:where(.app-page, .portal-page, .control-page) .app-shell {
  position: relative;
  isolation: isolate;
  overflow: clip;
}
:where(.app-page, .portal-page, .control-page) .app-shell::before,
:where(.app-page, .portal-page, .control-page) .app-shell::after {
  content: "";
  position: fixed;
  z-index: 0;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(10px);
  opacity: .68;
}
:where(.app-page, .portal-page, .control-page) .app-shell::before {
  width: min(46vw, 680px);
  height: min(46vw, 680px);
  right: -11vw;
  top: 10vh;
  background: radial-gradient(circle at 35% 37%, rgba(68,221,150,.32), rgba(69,163,205,.17) 47%, transparent 72%);
  animation: liquid-glow-drift-a 20s ease-in-out infinite alternate;
}
:where(.app-page, .portal-page, .control-page) .app-shell::after {
  width: min(38vw, 560px);
  height: min(38vw, 560px);
  left: -8vw;
  bottom: -12vh;
  background: radial-gradient(circle at 52% 45%, rgba(251,198,91,.18), rgba(68,156,201,.14) 45%, transparent 72%);
  animation: liquid-glow-drift-b 24s ease-in-out infinite alternate;
}
:where(.app-page, .portal-page, .control-page) :where(.topbar, .workspace) {
  position: relative;
  z-index: 1;
}

:where(.app-page, .portal-page, .control-page) .topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom-color: rgba(126,177,147,.3);
  background: linear-gradient(108deg, rgba(255,255,255,.78), rgba(239,250,244,.52));
  box-shadow: 0 13px 40px rgba(25,73,47,.075), inset 0 1px rgba(255,255,255,.9);
  -webkit-backdrop-filter: blur(32px) saturate(180%);
  backdrop-filter: blur(32px) saturate(180%);
}
.control-page .topbar {
  border-bottom-color: rgba(118,145,194,.3);
  background: linear-gradient(108deg, rgba(255,255,255,.8), rgba(239,245,253,.54));
}
.app-nav a,
.portal-nav a {
  border: 1px solid transparent;
  transition: color .2s, background .2s, border-color .2s, box-shadow .25s, transform .25s var(--motion-ease, ease);
}
.app-nav a:hover,
.portal-nav a:hover {
  border-color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.5);
  box-shadow: 0 9px 23px rgba(26,73,48,.07), inset 0 1px rgba(255,255,255,.86);
  transform: translateY(-1px);
}
.app-nav a[aria-current="page"],
.portal-nav a[aria-current="page"] {
  border-color: rgba(115,174,140,.32);
  background: linear-gradient(125deg, rgba(222,244,231,.8), rgba(255,255,255,.43));
  box-shadow: 0 10px 25px rgba(24,103,63,.09), inset 0 1px rgba(255,255,255,.9);
}

:where(.app-page, .portal-page, .control-page) :where(
  .data-panel,
  .member-hero,
  .cora-card,
  .foundation-grid article,
  .feature-entry,
  .colony-card,
  .facility-metrics article,
  .finance-metrics article,
  .account-card,
  .finding-card,
  .billing-preview-card,
  .portal-metrics article,
  .communication-metrics article,
  .inspection-metrics article,
  .assets-metrics article,
  .rental-metrics article,
  .asset-card,
  .template-card,
  .policy-card,
  .resolution-card,
  .venue-grid article,
  .rental-balance-grid article,
  .platform-status-card,
  .operation-metric,
  .operation-row,
  .tenant-row,
  .transfer-step,
  .scan-group-card,
  .scan-upload-card,
  .scan-safety-card,
  .cora-center-metrics a,
  .cora-rule-grid article,
  .receipt-download-card
) {
  border-color: rgba(255,255,255,.86);
  background:
    linear-gradient(138deg, rgba(255,255,255,.68), rgba(255,255,255,.36) 52%, rgba(235,249,242,.25));
  box-shadow:
    0 22px 56px rgba(24,75,47,.12),
    inset 0 1px rgba(255,255,255,.98),
    inset 1px 0 rgba(255,255,255,.62),
    0 0 0 1px rgba(110,168,135,.18);
  -webkit-backdrop-filter: blur(30px) saturate(175%);
  backdrop-filter: blur(30px) saturate(175%);
}

:where(.app-page, .portal-page, .control-page) :where(.data-panel, .member-hero, .cora-card) {
  border-radius: 25px;
}
:where(.app-page, .portal-page, .control-page) .member-hero {
  overflow: hidden;
  background:
    linear-gradient(118deg, rgba(255,255,255,.78), rgba(255,255,255,.34) 58%, rgba(232,248,240,.32)),
    radial-gradient(circle at 88% 15%, rgba(56,205,133,.24), transparent 38%);
  box-shadow: 0 30px 76px rgba(23,73,46,.16), inset 0 1px rgba(255,255,255,1), 0 0 0 1px rgba(104,166,129,.2);
}
:where(.app-page, .portal-page, .control-page) .record-avatar {
  border: 1px solid rgba(255,255,255,.84);
  background: linear-gradient(145deg, rgba(255,255,255,.74), rgba(210,241,224,.58));
  box-shadow: 0 15px 34px rgba(22,92,55,.13), inset 0 1px rgba(255,255,255,.9);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
}

:where(.app-page, .portal-page, .control-page) .data-panel {
  transition: border-color .26s ease, box-shadow .32s ease, transform .32s var(--motion-ease, ease);
}
:where(.app-page, .portal-page, .control-page) .data-panel:hover {
  border-color: rgba(104,166,129,.42);
  box-shadow: 0 27px 68px rgba(22,72,45,.15), inset 0 1px rgba(255,255,255,.98), 0 0 0 1px rgba(103,165,128,.18);
}

:where(.app-page, .portal-page, .control-page) .filter-bar {
  padding: 12px;
  border: 1px solid rgba(255,255,255,.76);
  border-radius: 18px;
  background: rgba(255,255,255,.34);
  box-shadow: inset 0 1px rgba(255,255,255,.82), 0 12px 30px rgba(28,76,49,.06);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  backdrop-filter: blur(20px) saturate(160%);
}
:where(.app-page, .portal-page, .control-page) :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  select,
  textarea
) {
  border-color: rgba(132,173,151,.55);
  color: var(--ink);
  background: rgba(255,255,255,.9);
  box-shadow: inset 0 1px 3px rgba(31,72,50,.05), 0 1px rgba(255,255,255,.88);
}
:where(.app-page, .portal-page, .control-page) :where(input, select, textarea):focus {
  border-color: #4ba777;
  background: rgba(255,255,255,.98);
  box-shadow: 0 0 0 4px rgba(35,139,83,.13), 0 10px 28px rgba(26,86,51,.08);
}

:where(.app-page, .portal-page, .control-page) .member-table {
  border-collapse: separate;
  border-spacing: 0;
}
:where(.app-page, .portal-page, .control-page) .member-table thead th {
  border-top: 1px solid rgba(255,255,255,.72);
  border-bottom: 1px solid rgba(116,165,137,.25);
  background: rgba(239,249,243,.44);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
:where(.app-page, .portal-page, .control-page) .member-table thead th:first-child { border-radius: 13px 0 0 13px; }
:where(.app-page, .portal-page, .control-page) .member-table thead th:last-child { border-radius: 0 13px 13px 0; }
:where(.app-page, .portal-page, .control-page) .member-table td { border-color: rgba(116,165,137,.2); }
:where(.app-page, .portal-page, .control-page) .member-table tbody tr:hover {
  background: rgba(255,255,255,.38);
  box-shadow: inset 3px 0 var(--brand);
}

:where(.app-page, .portal-page, .control-page) .info-grid {
  gap: 1px;
  border-color: rgba(113,164,135,.3);
  border-radius: 18px;
  background: rgba(113,164,135,.26);
  box-shadow: inset 0 1px rgba(255,255,255,.78);
}
:where(.app-page, .portal-page, .control-page) .info-grid div {
  background: rgba(255,255,255,.57);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

:where(.app-page, .portal-page, .control-page) :where(
  .communication-row,
  .finance-row,
  .document-row,
  .claim-row,
  .rental-row,
  .inspection-row,
  .reading-row,
  .work-task-row,
  .community-event,
  .meeting-row,
  .history-row,
  .dunning-row,
  .portal-row
) {
  border-color: rgba(113,164,135,.23);
}
:where(.app-page, .portal-page, .control-page) :where(
  .communication-row,
  .finance-row,
  .document-row,
  .claim-row,
  .rental-row,
  .inspection-row,
  .reading-row,
  .work-task-row,
  .community-event,
  .meeting-row,
  .history-row,
  .dunning-row,
  .portal-row
):hover {
  border-radius: 14px;
  background: rgba(255,255,255,.4);
  box-shadow: inset 3px 0 var(--brand), 0 10px 26px rgba(27,78,49,.07);
}

.cora-center-hero,
.cora-rules-hero,
.facility-page-hero,
.template-library-hero,
.serial-letter-hero,
.control-customer-hero,
.transfer-hero {
  border-color: rgba(255,255,255,.9);
  background:
    linear-gradient(120deg, rgba(255,255,255,.78), rgba(255,255,255,.3) 58%, rgba(224,247,235,.33)),
    radial-gradient(circle at 86% 16%, rgba(58,210,137,.25), transparent 36%);
  box-shadow: 0 30px 76px rgba(23,73,46,.16), inset 0 1px rgba(255,255,255,1), 0 0 0 1px rgba(104,166,129,.19);
  -webkit-backdrop-filter: blur(34px) saturate(180%);
  backdrop-filter: blur(34px) saturate(180%);
}
.cora-center-metrics a,
.cora-rule-grid article { border-radius: 22px; }
.cora-action-preview div,
.cora-center-filters,
.cora-alert-filters {
  background: rgba(255,255,255,.38);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

/* Papier bleibt Papier: Vorschau und Ausdruck erhalten einen festen Grund. */
:where(.email-paper, .control-invoice-sheet, .minutes-paper, .letter-paper) {
  color: #183128;
  background: #fff;
  box-shadow: 0 20px 55px rgba(27,60,43,.12);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

html[data-theme="dark"] :where(.app-page, .portal-page, .control-page) {
  background:
    radial-gradient(circle at 87% 5%, rgba(36,165,94,.2), transparent 33rem),
    radial-gradient(circle at 5% 60%, rgba(39,113,151,.15), transparent 36rem),
    linear-gradient(145deg, #07120d, #0d1812 50%, #08140e);
}
html[data-theme="dark"] .control-page {
  background:
    radial-gradient(circle at 88% 5%, rgba(54,94,170,.22), transparent 33rem),
    radial-gradient(circle at 6% 62%, rgba(31,139,101,.13), transparent 36rem),
    linear-gradient(145deg, #090f18, #0f1820 50%, #091411);
}
html[data-theme="dark"] :where(.app-page, .portal-page, .control-page) .app-shell::before { opacity: .5; }
html[data-theme="dark"] :where(.app-page, .portal-page, .control-page) .app-shell::after { opacity: .42; }
html[data-theme="dark"] :where(.app-page, .portal-page, .control-page) .topbar {
  border-bottom-color: rgba(102,168,128,.22);
  background: linear-gradient(108deg, rgba(15,32,22,.8), rgba(9,25,16,.56));
  box-shadow: 0 15px 44px rgba(0,0,0,.24), inset 0 1px rgba(201,255,220,.07);
}
html[data-theme="dark"] .control-page .topbar {
  border-bottom-color: rgba(93,126,182,.24);
  background: linear-gradient(108deg, rgba(15,24,39,.82), rgba(10,26,23,.56));
}
html[data-theme="dark"] :where(.app-page, .portal-page, .control-page) :where(
  .data-panel,
  .member-hero,
  .cora-card,
  .foundation-grid article,
  .feature-entry,
  .colony-card,
  .facility-metrics article,
  .finance-metrics article,
  .account-card,
  .finding-card,
  .billing-preview-card,
  .portal-metrics article,
  .communication-metrics article,
  .inspection-metrics article,
  .assets-metrics article,
  .rental-metrics article,
  .asset-card,
  .template-card,
  .policy-card,
  .resolution-card,
  .venue-grid article,
  .rental-balance-grid article,
  .platform-status-card,
  .operation-metric,
  .operation-row,
  .tenant-row,
  .transfer-step,
  .scan-group-card,
  .scan-upload-card,
  .scan-safety-card,
  .cora-center-metrics a,
  .cora-rule-grid article,
  .receipt-download-card
) {
  border-color: rgba(171,235,197,.14);
  color: var(--ink);
  background: linear-gradient(138deg, rgba(34,64,45,.68), rgba(8,24,15,.42));
  box-shadow: 0 24px 62px rgba(0,0,0,.31), inset 0 1px rgba(203,255,222,.11), 0 0 0 1px rgba(83,151,109,.16);
}
html[data-theme="dark"] :where(.app-page, .portal-page, .control-page) .member-hero,
html[data-theme="dark"] :where(.cora-center-hero, .cora-rules-hero, .facility-page-hero, .template-library-hero, .serial-letter-hero, .control-customer-hero, .transfer-hero) {
  border-color: rgba(174,236,198,.16);
  color: var(--ink);
  background:
    linear-gradient(120deg, rgba(36,68,48,.76), rgba(9,28,17,.4) 60%, rgba(32,48,31,.4)),
    radial-gradient(circle at 86% 16%, rgba(38,178,99,.17), transparent 37%);
  box-shadow: 0 32px 80px rgba(0,0,0,.4), inset 0 1px rgba(205,255,223,.12), 0 0 0 1px rgba(84,151,109,.17);
}
html[data-theme="dark"] :where(.app-page, .portal-page, .control-page) .filter-bar,
html[data-theme="dark"] :where(.cora-action-preview div, .cora-center-filters, .cora-alert-filters) {
  border-color: rgba(171,235,197,.11);
  background: rgba(20,44,30,.38);
  box-shadow: inset 0 1px rgba(203,255,222,.07), 0 13px 32px rgba(0,0,0,.16);
}
html[data-theme="dark"] :where(.app-page, .portal-page, .control-page) .member-table thead th {
  border-color: rgba(114,178,139,.2);
  background: rgba(30,59,41,.46);
}
html[data-theme="dark"] :where(.app-page, .portal-page, .control-page) .member-table tbody tr:hover,
html[data-theme="dark"] :where(.app-page, .portal-page, .control-page) :where(.communication-row, .finance-row, .document-row, .claim-row, .rental-row, .inspection-row, .reading-row, .work-task-row, .community-event, .meeting-row, .history-row, .dunning-row, .portal-row):hover {
  color: var(--ink);
  background: rgba(44,83,59,.35);
}
html[data-theme="dark"] :where(.app-page, .portal-page, .control-page) .info-grid {
  border-color: rgba(112,173,136,.24);
  background: rgba(84,145,108,.2);
}
html[data-theme="dark"] :where(.app-page, .portal-page, .control-page) .info-grid div {
  color: var(--ink);
  background: rgba(20,43,29,.58);
}
html[data-theme="dark"] :where(.email-paper, .control-invoice-sheet, .minutes-paper, .letter-paper) {
  color: #183128;
  background: #fff;
  box-shadow: 0 24px 65px rgba(0,0,0,.35);
}

/* FairControl Go-live- und Abnahmezentrum */
.acceptance-workspace { max-width: 1500px; }
.acceptance-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.acceptance-list { margin-top: 18px; display: grid; gap: 12px; }
.acceptance-row {
  padding: 18px 20px; display: grid; grid-template-columns: 22px minmax(210px, 1.2fr) minmax(190px, .9fr) 74px 120px 22px;
  gap: 18px; align-items: center; border: 1px solid rgba(255,255,255,.86); border-radius: 20px; color: var(--ink);
  background: linear-gradient(138deg, rgba(255,255,255,.72), rgba(255,255,255,.4));
  box-shadow: 0 18px 44px rgba(31,67,101,.1), inset 0 1px white; text-decoration: none;
  -webkit-backdrop-filter: blur(26px) saturate(165%); backdrop-filter: blur(26px) saturate(165%);
  transition: transform .22s ease, box-shadow .22s ease;
}
.acceptance-row:hover { transform: translateY(-2px); box-shadow: 0 24px 56px rgba(31,67,101,.15), inset 0 1px white; }
.acceptance-light { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; background: #eef1f4; }
.acceptance-light i { width: 9px; height: 9px; border-radius: inherit; background: #d4a72c; box-shadow: 0 0 0 5px rgba(212,167,44,.12); }
.acceptance-ready .acceptance-light i { background: #28a768; box-shadow: 0 0 0 5px rgba(40,167,104,.13), 0 0 18px rgba(40,167,104,.35); }
.acceptance-blocked .acceptance-light i { background: #c6534a; box-shadow: 0 0 0 5px rgba(198,83,74,.12); }
.acceptance-customer { min-width: 0; display: grid; gap: 4px; }
.acceptance-customer strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1rem; }
.acceptance-customer small, .acceptance-progress small { color: var(--muted); }
.acceptance-progress { display: grid; gap: 7px; }
.acceptance-progress > span { height: 7px; overflow: hidden; border-radius: 999px; background: rgba(61,87,111,.11); }
.acceptance-progress > span i { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, #326bc8, #32af7a); }
.acceptance-score { font-size: 1.15rem; text-align: right; }
.acceptance-state { color: var(--muted); font-size: .78rem; font-weight: 800; text-align: right; }
.acceptance-ready .acceptance-state { color: #18734a; }
.acceptance-detail-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, .65fr); gap: 22px; align-items: start; }
.acceptance-hero { margin-bottom: 22px; }
.acceptance-gauge { min-width: 145px; display: grid; justify-items: end; gap: 5px; }
.acceptance-gauge strong { font-size: 2.2rem; line-height: 1; }
.acceptance-gauge span { color: var(--muted); font-size: .78rem; font-weight: 800; }
.acceptance-ready strong { color: #18734a; }
.acceptance-checks { display: grid; gap: 9px; }
.acceptance-check { padding: 14px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 12px; align-items: center; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.42); }
.check-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: white; background: #bd4c43; font-weight: 900; }
.check-pass .check-icon { background: #259c63; }
.check-warning .check-icon { color: #6f5000; background: #ffe4a0; }
.check-pending .check-icon { color: #36516d; background: #dce7f2; }
.acceptance-check > div { display: grid; gap: 3px; }
.acceptance-check > div small { color: var(--muted); font-size: .63rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.acceptance-check > div strong { font-size: .9rem; }
.acceptance-check p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.acceptance-check > a { color: var(--brand); font-size: .74rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
.acceptance-form { display: grid; gap: 12px; }
.acceptance-form > p { margin: -2px 0 6px; line-height: 1.5; }
.acceptance-toggle { padding: 12px; display: flex; gap: 11px; align-items: flex-start; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.4); cursor: pointer; }
.acceptance-toggle input { width: 20px; height: 20px; margin-top: 1px; accent-color: var(--brand); }
.acceptance-toggle span { display: grid; gap: 3px; }
.acceptance-toggle strong { font-size: .82rem; line-height: 1.35; }
.acceptance-toggle small, .acceptance-updated { color: var(--muted); font-size: .68rem; }
.acceptance-form textarea { min-height: 92px; }
.acceptance-meaning p { color: var(--muted); line-height: 1.55; }
.acceptance-release-card { padding: 20px; display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 14px; align-items: start; border-color: rgba(192,146,39,.28); background: linear-gradient(140deg, rgba(255,250,232,.88), rgba(255,255,255,.58)); }
.acceptance-release-card > div { display: grid; gap: 5px; }
.acceptance-release-card h2, .acceptance-release-card p { margin: 0; }
.acceptance-release-card p { color: var(--muted); font-size: .78rem; line-height: 1.5; }
.acceptance-release-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 15px; color: #7a5708; background: #ffe8a9; box-shadow: inset 0 0 0 1px rgba(193,142,20,.15); font-size: 1rem; font-weight: 900; }
.acceptance-release-card > form, .acceptance-release-card > a, .acceptance-release-card > small { grid-column: 1 / -1; }
.acceptance-release-card > form { margin-top: 4px; }
.acceptance-release-card > form button { width: 100%; }
.acceptance-release-card > small { color: var(--muted); font-size: .65rem; overflow-wrap: anywhere; }
.acceptance-release-card.is-ready, .acceptance-release-card.is-released { border-color: rgba(43,158,100,.32); background: linear-gradient(140deg, rgba(234,249,240,.9), rgba(255,255,255,.58)); }
.acceptance-release-card.is-ready .acceptance-release-icon, .acceptance-release-card.is-released .acceptance-release-icon { color: #fff; background: #249c62; box-shadow: 0 0 0 7px rgba(36,156,98,.09), 0 10px 24px rgba(36,156,98,.18); }
.acceptance-release-card .primary-link { justify-content: center; text-align: center; }
.acceptance-form :disabled { cursor: not-allowed; opacity: .72; }
.acceptance-release-card button:disabled { cursor: not-allowed; filter: grayscale(.45); opacity: .48; }

/* Eigenständige Kundenkarte: keine Überschneidung mit allgemeinen Zeilen- und Statusstilen. */
.go-live-card {
  min-height: 116px; padding: 20px 22px; display: grid;
  grid-template-columns: 48px minmax(260px, 1.2fr) minmax(250px, .9fr) 130px 36px;
  gap: 20px; align-items: center; border: 1px solid rgba(255,255,255,.9); border-radius: 22px;
  color: var(--ink); background: linear-gradient(132deg, rgba(255,255,255,.8), rgba(255,255,255,.43));
  box-shadow: 0 20px 48px rgba(31,67,101,.11), inset 0 1px white; text-decoration: none;
  -webkit-backdrop-filter: blur(28px) saturate(170%); backdrop-filter: blur(28px) saturate(170%);
  transition: transform .24s var(--motion-ease, ease), box-shadow .24s ease, border-color .24s ease;
}
.go-live-card:hover { border-color: rgba(62,119,191,.32); box-shadow: 0 28px 64px rgba(31,67,101,.16), inset 0 1px white; transform: translateY(-3px); }
.go-live-signal { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 15px; background: #fff7de; box-shadow: inset 0 0 0 1px rgba(201,151,31,.14); }
.go-live-signal i { width: 13px; height: 13px; border-radius: 50%; background: #d3a22d; box-shadow: 0 0 0 7px rgba(211,162,45,.13), 0 0 22px rgba(211,162,45,.28); }
.go-live-card--ready .go-live-signal { background: #eaf8f0; }
.go-live-card--ready .go-live-signal i { background: #24a566; box-shadow: 0 0 0 7px rgba(36,165,102,.13), 0 0 22px rgba(36,165,102,.32); }
.go-live-card--blocked .go-live-signal { background: #fff0ed; }
.go-live-card--blocked .go-live-signal i { background: #c6534a; box-shadow: 0 0 0 7px rgba(198,83,74,.12); }
.go-live-identity { min-width: 0; display: grid; gap: 4px; }
.go-live-identity > span { color: #59708f; font-size: .65rem; font-weight: 850; letter-spacing: .075em; text-transform: uppercase; }
.go-live-identity > strong { overflow: hidden; color: var(--ink); font-size: 1.05rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.go-live-identity > small { overflow: hidden; color: var(--muted); font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
.go-live-meter { display: grid; gap: 9px; }
.go-live-meter > div { height: 9px; overflow: hidden; border-radius: 999px; background: rgba(72,102,128,.13); box-shadow: inset 0 1px 2px rgba(28,55,78,.08); }
.go-live-meter > div i { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, #326dcb, #31ad79); box-shadow: 0 0 15px rgba(49,140,163,.2); }
.go-live-meter > span { color: var(--muted); font-size: .7rem; font-weight: 700; }
.go-live-result { display: grid; justify-items: end; gap: 5px; text-align: right; }
.go-live-result > strong { color: var(--ink); font-size: 1.35rem; line-height: 1; }
.go-live-result > span { color: #8a681a; font-size: .72rem; font-weight: 850; }
.go-live-card--ready .go-live-result > span { color: #18734a; }
.go-live-card--blocked .go-live-result > span { color: #a44037; }
.go-live-arrow { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: #285ca9; background: rgba(229,238,252,.75); font-size: 1.1rem; font-weight: 900; transition: transform .24s ease, background .24s ease; }
.go-live-card:hover .go-live-arrow { background: #e4efff; transform: translateX(3px); }

html[data-theme="dark"] .acceptance-row,
html[data-theme="dark"] .acceptance-check,
html[data-theme="dark"] .acceptance-toggle { border-color: rgba(163,202,181,.15); background: rgba(21,44,32,.48); }
html[data-theme="dark"] .acceptance-release-card { border-color: rgba(213,177,86,.2); background: linear-gradient(140deg, rgba(66,55,25,.62), rgba(16,34,27,.5)); }
html[data-theme="dark"] .acceptance-release-card.is-ready,
html[data-theme="dark"] .acceptance-release-card.is-released { border-color: rgba(74,190,127,.24); background: linear-gradient(140deg, rgba(24,67,44,.68), rgba(14,34,27,.5)); }
html[data-theme="dark"] .acceptance-row { box-shadow: 0 20px 48px rgba(0,0,0,.24), inset 0 1px rgba(215,255,229,.07); }
html[data-theme="dark"] .go-live-card { border-color: rgba(151,186,209,.16); background: linear-gradient(132deg, rgba(29,48,65,.74), rgba(13,29,31,.5)); box-shadow: 0 22px 52px rgba(0,0,0,.3), inset 0 1px rgba(221,244,255,.08); }
html[data-theme="dark"] .go-live-identity > span { color: #91acd0; }
html[data-theme="dark"] .go-live-arrow { color: #abc9f5; background: rgba(48,76,113,.58); }

@media (max-width: 1050px) {
  .acceptance-row { grid-template-columns: 20px minmax(0,1fr) 70px 22px; }
  .acceptance-progress, .acceptance-state { grid-column: 2 / 4; text-align: left; }
  .acceptance-detail-layout { grid-template-columns: 1fr; }
  .go-live-card { grid-template-columns: 46px minmax(0,1fr) 110px 34px; }
  .go-live-meter { grid-column: 2 / 4; }
}
@media (max-width: 700px) {
  .acceptance-metrics { grid-template-columns: 1fr; }
  .acceptance-row { padding: 15px; gap: 11px; }
  .acceptance-check { grid-template-columns: 34px minmax(0,1fr); }
  .acceptance-check > a { grid-column: 2; }
  .acceptance-gauge { width: 100%; justify-items: start; }
  .go-live-card { padding: 16px; grid-template-columns: 42px minmax(0,1fr) 32px; gap: 13px; }
  .go-live-result { grid-column: 2; justify-items: start; text-align: left; }
  .go-live-meter { grid-column: 2 / 4; }
  .go-live-arrow { grid-column: 3; grid-row: 1; }
}

@media (prefers-reduced-motion: reduce) {
  :where(.app-page, .portal-page, .control-page) .app-shell::before,
  :where(.app-page, .portal-page, .control-page) .app-shell::after { animation: none !important; }
}

@media (max-width: 800px) {
  :where(.app-page, .portal-page, .control-page) .app-shell::before { width: 96vw; height: 96vw; right: -52vw; }
  :where(.app-page, .portal-page, .control-page) .app-shell::after { width: 88vw; height: 88vw; left: -48vw; }
  :where(.app-page, .portal-page, .control-page) .topbar { -webkit-backdrop-filter: blur(24px) saturate(165%); backdrop-filter: blur(24px) saturate(165%); }
  :where(.app-page, .portal-page, .control-page) .member-table tr {
    border-color: rgba(255,255,255,.72);
    background: rgba(255,255,255,.48);
    box-shadow: 0 14px 34px rgba(24,75,47,.09), inset 0 1px rgba(255,255,255,.84), 0 0 0 1px rgba(109,166,133,.17);
    -webkit-backdrop-filter: blur(22px) saturate(160%);
    backdrop-filter: blur(22px) saturate(160%);
  }
  html[data-theme="dark"] :where(.app-page, .portal-page, .control-page) .member-table tr {
    border-color: rgba(170,234,196,.12);
    background: rgba(22,47,32,.56);
    box-shadow: 0 15px 38px rgba(0,0,0,.28), inset 0 1px rgba(203,255,222,.09);
  }
}

@media print {
  :where(.app-page, .portal-page, .control-page),
  :where(.app-page, .portal-page, .control-page) .app-shell { background: #fff !important; }
  :where(.app-page, .portal-page, .control-page) .app-shell::before,
  :where(.app-page, .portal-page, .control-page) .app-shell::after { display: none !important; }
  :where(.email-paper, .control-invoice-sheet, .minutes-paper, .letter-paper) { border-color: #dbe6df; box-shadow: none; }
}

/* Login 2026: ruhige Liquid-Glass-Bühne mit zugänglicher Bewegung */
.auth-shell--glass {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  grid-template-columns: minmax(480px, 1.08fr) minmax(480px, .92fr);
  color: #173128;
  background:
    radial-gradient(circle at 77% 18%, rgba(130,222,175,.22), transparent 25%),
    radial-gradient(circle at 92% 82%, rgba(84,156,214,.14), transparent 28%),
    linear-gradient(135deg, #dcebe2 0%, #eff6f1 48%, #e5f0ec 100%);
}
.auth-shell--glass::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  opacity: .48;
  background-image:
    linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px);
  background-size: 72px 72px;
  -webkit-mask-image: linear-gradient(90deg, transparent 32%, #000 73%, transparent);
  mask-image: linear-gradient(90deg, transparent 32%, #000 73%, transparent);
}
.login-atmosphere { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.login-glow { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .72; will-change: transform; }
.login-glow-one {
  width: min(42vw, 680px); height: min(42vw, 680px); left: -17vw; top: -23vw;
  background: radial-gradient(circle at 55% 55%, rgba(104,222,158,.3), rgba(27,119,78,.08) 54%, transparent 71%);
  animation: login-drift-one 18s ease-in-out infinite alternate;
}
.login-glow-two {
  width: min(34vw, 540px); height: min(34vw, 540px); right: -9vw; top: 3vh;
  background: radial-gradient(circle, rgba(255,255,255,.88), rgba(133,213,179,.23) 42%, transparent 70%);
  animation: login-drift-two 15s ease-in-out infinite alternate;
}
.login-glow-three {
  width: min(32vw, 510px); height: min(32vw, 510px); right: 17vw; bottom: -23vw;
  background: radial-gradient(circle, rgba(90,176,220,.18), rgba(72,190,141,.13) 44%, transparent 70%);
  animation: login-drift-three 20s ease-in-out infinite alternate;
}
.login-orbit {
  position: absolute; width: 580px; height: 580px; left: 31%; bottom: -390px;
  border: 1px solid rgba(204,249,221,.16); border-radius: 42% 58% 63% 37% / 51% 39% 61% 49%;
  box-shadow: 0 0 0 80px rgba(218,255,232,.018), 0 0 0 160px rgba(218,255,232,.012);
  animation: login-orbit 28s linear infinite;
}
.auth-shell--glass .auth-brand {
  z-index: 1;
  min-height: 100svh;
  padding: clamp(38px, 5.3vw, 82px) clamp(42px, 6vw, 100px);
  border-right: 1px solid rgba(218,255,232,.15);
  color: #fff;
  background:
    linear-gradient(145deg, rgba(10,76,49,.97), rgba(7,49,37,.98) 58%, rgba(7,39,31,.98));
  box-shadow: 28px 0 80px rgba(7,46,33,.13);
}
.auth-shell--glass .auth-brand::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 75% 17%, rgba(116,235,168,.2), transparent 28%),
    radial-gradient(circle at 13% 83%, rgba(74,163,201,.11), transparent 30%);
  pointer-events: none;
}
.auth-shell--glass .auth-brand::after {
  right: -220px; bottom: -355px; width: 720px; height: 720px;
  border-color: rgba(205,255,224,.13);
  border-radius: 42% 58% 63% 37% / 51% 39% 61% 49%;
  animation: login-orbit 24s linear infinite reverse;
}
.login-brand-head, .login-brand-copy, .login-trust-note { position: relative; z-index: 2; }
.login-brand-head { display: flex; align-items: center; justify-content: space-between; gap: 22px; animation: login-reveal .75s .05s both; }
.login-brand-identity { display: flex; align-items: center; gap: 14px; }
.login-brand-identity > div:last-child { display: flex; align-items: baseline; gap: 5px; }
.login-brand-identity strong { font-size: 1.03rem; letter-spacing: -.025em; }
.login-brand-identity small { color: #a9d9bd; font-size: .7rem; font-weight: 850; text-transform: uppercase; letter-spacing: .12em; }
.login-brand-mark {
  position: relative; isolation: isolate; overflow: visible;
  color: #0b4c31;
  background: linear-gradient(145deg, rgba(242,255,247,.96), rgba(172,231,195,.88));
  box-shadow: inset 0 1px rgba(255,255,255,.85), 0 16px 42px rgba(1,27,18,.28), 0 0 0 1px rgba(255,255,255,.15);
}
.login-brand-mark::before, .login-brand-mark::after {
  content: ""; position: absolute; z-index: -1; inset: -9px;
  border: 1px solid rgba(196,250,216,.24); border-radius: 23px;
  animation: login-logo-ring 4.6s ease-in-out infinite;
}
.login-brand-mark::after { inset: -17px; border-radius: 28px; opacity: .42; animation-delay: -2.3s; }
.login-brand-mark span { animation: login-logo-letter 5s ease-in-out infinite; }
.login-live-status {
  min-height: 34px; padding: 0 13px; display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid rgba(203,248,220,.17); border-radius: 999px; color: #cdebd8;
  background: rgba(225,255,237,.075); box-shadow: inset 0 1px rgba(255,255,255,.07);
  font-size: .69rem; font-weight: 760; backdrop-filter: blur(12px);
}
.login-live-status i { width: 7px; height: 7px; border-radius: 50%; background: #70e59e; box-shadow: 0 0 0 5px rgba(112,229,158,.1), 0 0 16px rgba(112,229,158,.7); animation: login-status-pulse 2.8s ease-in-out infinite; }
.login-brand-copy { max-width: 720px; padding: 7vh 0 5vh; animation: login-reveal .85s .15s both; }
.auth-shell--glass .login-brand-copy .eyebrow { display: inline-flex; align-items: center; gap: 8px; color: #9fd9b5; }
.login-brand-copy .eyebrow i { width: 18px; height: 1px; background: currentColor; }
.auth-shell--glass .login-brand-copy h1 { max-width: 720px; font-size: clamp(3.15rem, 5.45vw, 6.6rem); line-height: .91; letter-spacing: -.072em; }
.login-brand-copy h1 em {
  color: #a8e4be; font-style: normal;
  background: linear-gradient(95deg, #f2fff7 0%, #8ee0ad 48%, #bcefd0 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.auth-shell--glass .login-brand-copy p { max-width: 600px; margin-top: 28px; color: #c5dfcf; font-size: clamp(1rem, 1.25vw, 1.22rem); line-height: 1.65; }
.login-highlights { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 9px; }
.login-highlights span {
  min-height: 38px; padding: 0 13px; display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid rgba(207,251,224,.13); border-radius: 12px; color: #c9e7d4;
  background: rgba(235,255,242,.055); font-size: .69rem; font-weight: 760; backdrop-filter: blur(10px);
  transition: transform .25s ease, background .25s ease, border-color .25s ease;
}
.login-highlights span:hover { transform: translateY(-2px); border-color: rgba(207,251,224,.27); background: rgba(235,255,242,.1); }
.login-highlights .vf-icon { width: 16px; height: 16px; color: #86dca7; }
.auth-shell--glass .login-trust-note {
  width: fit-content; max-width: 100%; padding: 12px 15px 12px 11px;
  border: 1px solid rgba(208,249,223,.14); border-radius: 17px;
  color: #d3e9db; background: rgba(229,255,238,.06);
  box-shadow: inset 0 1px rgba(255,255,255,.055); backdrop-filter: blur(14px);
  animation: login-reveal .75s .3s both;
}
.auth-shell--glass .login-trust-note > span { width: 36px; height: 36px; color: #b9edcc; background: rgba(121,222,160,.13); }
.login-trust-note .vf-icon { width: 18px; height: 18px; }
.login-trust-note > div { display: grid; gap: 2px; }
.login-trust-note strong { color: #effbf3; font-size: .72rem; }
.login-trust-note small { color: #9fc7af; font-size: .63rem; }
.login-panel {
  position: relative; z-index: 2; min-height: 100svh; padding: clamp(32px, 5vw, 78px);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.auth-shell--glass .login-glass-card {
  position: relative; overflow: hidden;
  width: min(500px, 100%); margin: 0; padding: clamp(32px, 4vw, 50px);
  border: 1px solid rgba(255,255,255,.72); border-radius: 32px;
  background: linear-gradient(145deg, rgba(255,255,255,.78), rgba(250,255,252,.56));
  box-shadow: 0 35px 90px rgba(29,69,52,.17), inset 0 1px rgba(255,255,255,.95), 0 0 0 1px rgba(111,164,133,.08);
  -webkit-backdrop-filter: blur(34px) saturate(155%); backdrop-filter: blur(34px) saturate(155%);
  animation: login-card-in .85s .08s cubic-bezier(.2,.8,.2,1) both;
}
.auth-shell--glass .login-glass-card::before {
  content: ""; position: absolute; left: -35%; top: -80px; width: 78%; height: 180px;
  border-radius: 50%; background: radial-gradient(ellipse, rgba(255,255,255,.85), transparent 68%);
  transform: rotate(-14deg); pointer-events: none;
}
.auth-shell--glass .login-glass-card::after {
  content: ""; position: absolute; right: -56px; top: -58px; width: 150px; height: 150px;
  border: 1px solid rgba(55,139,94,.11); border-radius: 44% 56% 56% 44%;
  animation: login-orbit 17s linear infinite; pointer-events: none;
}
.login-card-kicker { position: relative; z-index: 1; margin-bottom: 28px; display: flex; align-items: center; gap: 11px; }
.login-card-kicker > span { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid rgba(65,144,101,.15); border-radius: 13px; color: var(--brand); background: rgba(232,248,238,.76); box-shadow: inset 0 1px rgba(255,255,255,.9); }
.login-card-kicker .vf-icon { width: 19px; height: 19px; }
.login-card-kicker > div { display: grid; gap: 2px; }
.login-card-kicker small { color: var(--brand); font-size: .61rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.login-card-kicker strong { color: #466056; font-size: .7rem; }
.auth-shell--glass .login-glass-card h2 { position: relative; z-index: 1; font-size: clamp(2.25rem, 3.5vw, 3.2rem); line-height: .98; }
.auth-shell--glass .login-glass-card .intro { position: relative; z-index: 1; margin: 14px 0 25px; line-height: 1.6; }
.login-glass-card form { position: relative; z-index: 1; gap: 14px; }
.login-field { position: relative; display: grid; gap: 7px; }
.auth-card .login-field label { margin: 0; color: #2c493d; font-size: .76rem; }
.login-field > span { position: absolute; z-index: 2; left: 15px; bottom: 16px; width: 19px; height: 19px; color: #71877c; pointer-events: none; transition: color .2s ease, transform .2s ease; }
.login-field .vf-icon { width: 18px; height: 18px; }
.auth-shell--glass .login-field input {
  min-height: 55px; padding: 0 16px 0 47px;
  border-color: rgba(117,151,132,.35); border-radius: 15px;
  color: #183128; background: rgba(255,255,255,.62);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.8), 0 8px 22px rgba(43,83,63,.035);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  transition: border-color .2s ease, box-shadow .25s ease, background .2s ease, transform .2s ease;
}
.auth-shell--glass .login-field input::placeholder { color: #8a9b92; opacity: 1; }
.auth-shell--glass .login-field:focus-within > span { color: var(--brand); transform: scale(1.08); }
.auth-shell--glass .login-field input:focus {
  border-color: rgba(31,130,79,.68); background: rgba(255,255,255,.86);
  box-shadow: 0 0 0 5px rgba(32,139,84,.1), 0 14px 30px rgba(34,91,61,.08);
  transform: translateY(-1px);
}
.auth-shell--glass .login-glass-card form > button {
  min-height: 56px; margin-top: 5px; padding: 0 10px 0 19px; border-radius: 16px;
  background: linear-gradient(135deg, #1b7e50, #0f5b3b);
  box-shadow: 0 14px 30px rgba(17,93,58,.22), inset 0 1px rgba(255,255,255,.2);
  transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, filter .2s ease;
}
.auth-shell--glass .login-glass-card form > button i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: rgba(255,255,255,.13); font-size: 1.1rem; font-style: normal; transition: transform .25s ease, background .25s ease; }
.auth-shell--glass .login-glass-card form > button:hover { transform: translateY(-2px); filter: brightness(1.04); box-shadow: 0 19px 38px rgba(17,93,58,.28), inset 0 1px rgba(255,255,255,.22); }
.auth-shell--glass .login-glass-card form > button:hover i { transform: translateX(3px); background: rgba(255,255,255,.19); }
.login-help { position: relative; z-index: 1; margin-top: 25px; padding-top: 20px; display: flex; align-items: center; gap: 11px; border-top: 1px solid rgba(89,127,106,.15); }
.login-help > span { width: 31px; height: 31px; flex: 0 0 31px; display: grid; place-items: center; border: 1px solid rgba(75,131,101,.16); border-radius: 10px; color: #60786c; background: rgba(255,255,255,.42); font-size: .72rem; font-weight: 900; }
.login-help p { margin: 0; color: #74877e; font-size: .68rem; line-height: 1.5; }
.login-help strong { color: #526a5f; }
.login-panel-note { margin: 18px 0 0; display: flex; align-items: center; justify-content: center; gap: 8px; color: #60786d; font-size: .64rem; font-weight: 760; letter-spacing: .03em; animation: login-reveal .65s .45s both; }
.login-panel-note span { width: 5px; height: 5px; border-radius: 50%; background: #36ad70; box-shadow: 0 0 0 4px rgba(54,173,112,.11); }

html[data-theme="dark"] .auth-shell--glass {
  background:
    radial-gradient(circle at 76% 17%, rgba(44,157,96,.14), transparent 27%),
    radial-gradient(circle at 93% 85%, rgba(48,113,154,.13), transparent 30%),
    linear-gradient(140deg, #081a13, #0d1c16 48%, #101c18);
}
html[data-theme="dark"] .auth-shell--glass .login-glass-card {
  border-color: rgba(170,221,191,.15);
  color: #edf8f1;
  background: linear-gradient(145deg, rgba(25,45,35,.8), rgba(15,31,23,.64));
  box-shadow: 0 36px 95px rgba(0,0,0,.43), inset 0 1px rgba(218,255,231,.08), 0 0 0 1px rgba(69,139,96,.06);
}
html[data-theme="dark"] .login-card-kicker > span { border-color: rgba(113,196,144,.17); color: #97e2b3; background: rgba(50,112,74,.22); }
html[data-theme="dark"] .login-card-kicker small { color: #8dd7a8; }
html[data-theme="dark"] .login-card-kicker strong { color: #a8beb0; }
html[data-theme="dark"] .auth-shell--glass .login-glass-card h2,
html[data-theme="dark"] .auth-shell--glass .mobile-brand strong { color: #f1fbf5; }
html[data-theme="dark"] .auth-shell--glass .login-glass-card .intro { color: #afc4b7; }
html[data-theme="dark"] .auth-card .login-field label { color: #d8e8de; }
html[data-theme="dark"] .auth-shell--glass .login-field input {
  color-scheme: dark; border-color: rgba(142,184,159,.25); color: #edf8f1; background: rgba(224,249,233,.07);
  box-shadow: inset 0 1px rgba(255,255,255,.045), 0 9px 24px rgba(0,0,0,.08);
}
html[data-theme="dark"] .auth-shell--glass .login-field input::placeholder { color: #769083; }
html[data-theme="dark"] .auth-shell--glass .login-field input:focus { border-color: rgba(85,205,131,.54); color: #f4fff8; background: rgba(218,255,231,.11); box-shadow: 0 0 0 5px rgba(56,181,106,.11), 0 14px 30px rgba(0,0,0,.17); }
html[data-theme="dark"] .login-help { border-color: rgba(168,216,187,.12); }
html[data-theme="dark"] .login-help > span { border-color: rgba(159,208,178,.13); color: #a9c5b5; background: rgba(222,255,234,.055); }
html[data-theme="dark"] .login-help p { color: #90a99b; }
html[data-theme="dark"] .login-help strong { color: #bed4c7; }
html[data-theme="dark"] .login-panel-note { color: #718b7c; }

@keyframes login-drift-one { to { transform: translate(8vw, 10vh) scale(1.12); } }
@keyframes login-drift-two { to { transform: translate(-8vw, 9vh) scale(.88); } }
@keyframes login-drift-three { to { transform: translate(5vw, -8vh) scale(1.13); } }
@keyframes login-orbit { to { transform: rotate(360deg); } }
@keyframes login-logo-ring { 0%,100% { transform: scale(.94); opacity: .22; } 50% { transform: scale(1.05); opacity: .68; } }
@keyframes login-logo-letter { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes login-status-pulse { 0%,100% { opacity: .62; transform: scale(.88); } 50% { opacity: 1; transform: scale(1.08); } }
@keyframes login-reveal { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes login-card-in { from { opacity: 0; transform: translateY(28px) scale(.97); } to { opacity: 1; transform: none; } }

@media (max-width: 1080px) {
  .auth-shell--glass { grid-template-columns: minmax(390px, .9fr) minmax(430px, 1.1fr); }
  .auth-shell--glass .auth-brand { padding-inline: clamp(38px, 5vw, 68px); }
  .auth-shell--glass .login-brand-copy h1 { font-size: clamp(3rem, 5.9vw, 4.9rem); }
  .login-live-status { display: none; }
}
@media (max-height: 820px) and (min-width: 801px) {
  .auth-shell--glass { height: 100svh; min-height: 0; overflow: hidden; }
  .auth-shell--glass .auth-brand, .auth-shell--glass .login-panel { height: 100%; min-height: 0; }
  .auth-shell--glass .auth-brand { padding-block: 30px; }
  .login-brand-copy { padding-block: 3vh; }
  .auth-shell--glass .login-brand-copy h1 { font-size: clamp(3rem, 5vw, 4.65rem); }
  .auth-shell--glass .login-brand-copy p { margin-top: 20px; }
  .login-highlights { margin-top: 20px; }
  .auth-shell--glass .login-trust-note { padding-block: 9px; }
  .auth-shell--glass .login-glass-card { padding-block: 25px; }
  .login-card-kicker { margin-bottom: 14px; }
  .auth-shell--glass .login-glass-card .intro { margin: 10px 0 14px; }
  .login-glass-card form { gap: 9px; }
  .auth-shell--glass .login-field input { min-height: 49px; }
  .login-field > span { bottom: 13px; }
  .auth-shell--glass .login-glass-card form > button { min-height: 50px; }
  .login-help { margin-top: 15px; padding-top: 14px; }
  .login-panel-note { margin-top: 10px; }
}
@media (max-width: 800px) {
  .auth-shell--glass { min-height: 100svh; display: grid; place-items: center; padding: 26px 0 74px; }
  .auth-shell--glass .auth-brand { display: none; }
  .login-panel { width: 100%; min-height: auto; padding: 20px 16px; }
  .auth-shell--glass .login-glass-card { width: min(520px, 100%); padding: 28px 24px; border-radius: 27px; }
  .auth-shell--glass .mobile-brand { position: relative; z-index: 1; display: flex; margin-bottom: 28px; }
  .auth-shell--glass .mobile-brand .brand-mark { box-shadow: 0 10px 24px rgba(22,85,54,.14); }
  .login-card-kicker { margin-bottom: 24px; }
  .login-highlights { display: none; }
  .login-panel-note { margin-top: 13px; }
}
@media (max-width: 430px) {
  .auth-shell--glass .login-glass-card { padding: 24px 19px; border-radius: 24px; }
  .auth-shell--glass .login-glass-card h2 { font-size: 2.15rem; }
  .auth-shell--glass .login-glass-card .intro { font-size: .86rem; }
  .login-card-kicker strong { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .auth-shell--glass *, .auth-shell--glass *::before, .auth-shell--glass *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important;
  }
  .auth-shell--glass .login-highlights span:hover,
  .auth-shell--glass .login-glass-card form > button:hover,
  .auth-shell--glass .login-field input:focus { transform: none; }
}

/* Dashboard – hochwertige Kommandozentrale ----------------------------- */
.dashboard-page .dashboard-topbar {
  position: sticky;
  top: 0;
  border-bottom-color: rgba(124, 173, 144, .28);
}
.dashboard-page .dashboard-sidebar {
  border-right-color: rgba(121, 174, 142, .28);
  box-shadow: 18px 0 55px rgba(27, 70, 47, .075), inset -1px 0 rgba(255,255,255,.72);
}
.dashboard-page .dashboard-brandmark {
  position: relative;
  overflow: visible;
  box-shadow: 0 12px 29px rgba(16, 102, 61, .24), inset 0 1px rgba(255,255,255,.27);
  animation: dashboard-mark-breathe 5.2s ease-in-out infinite;
}
.dashboard-page .dashboard-brandmark::after {
  content: "";
  position: absolute;
  inset: -6px;
  border: 1px solid rgba(66, 176, 111, .18);
  border-radius: 17px;
  animation: dashboard-mark-ring 4.8s ease-in-out infinite;
}
.dashboard-page .dashboard-club-card { border-radius: 18px; }
.dashboard-page .dashboard-nav { scrollbar-width: thin; scrollbar-color: rgba(78,140,103,.24) transparent; }
.dashboard-page .dashboard-nav section { border-color: rgba(117, 160, 134, .13); }
.dashboard-page .dashboard-nav a { min-height: 41px; border-radius: 12px; }
.dashboard-page .dashboard-nav a.is-active { position: relative; overflow: hidden; }
.dashboard-page .dashboard-nav a.is-active::after {
  content: "";
  position: absolute;
  right: 9px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #34b873;
  box-shadow: 0 0 0 4px rgba(52,184,115,.1), 0 0 12px rgba(52,184,115,.48);
}
.dashboard-hero--command {
  min-height: 305px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .62fr);
  align-items: center;
  gap: clamp(28px, 4vw, 62px);
  padding: clamp(34px, 4.6vw, 62px);
  border-radius: 34px;
  background:
    radial-gradient(circle at 83% 31%, rgba(62, 213, 139, .24), transparent 25%),
    radial-gradient(circle at 70% 115%, rgba(74, 163, 212, .14), transparent 39%),
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(245,253,248,.49));
}
.dashboard-hero--command::after {
  right: 16%;
  bottom: -210px;
  width: 410px;
  height: 410px;
  border-color: rgba(55, 160, 99, .12);
  box-shadow: 0 0 0 70px rgba(85, 190, 128, .018), 0 0 0 140px rgba(85, 190, 128, .012);
  animation: dashboard-command-orbit 28s linear infinite;
}
.dashboard-hero-copy { min-width: 0; }
.dashboard-hero--command h1 { max-width: 720px; margin-top: 17px; font-size: clamp(2.75rem, 4.7vw, 5rem); line-height: .92; }
.dashboard-hero--command p { margin-top: 12px; font-size: .93rem; }
.dashboard-hero-side { position: relative; z-index: 2; display: grid; justify-items: end; gap: 18px; }
.dashboard-hero-cora {
  position: relative;
  width: min(330px, 100%);
  min-height: 152px;
  padding: 22px 20px;
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.76);
  border-radius: 25px;
  color: #163b2a;
  background: linear-gradient(145deg, rgba(255,255,255,.61), rgba(224,249,234,.3));
  box-shadow: 0 24px 55px rgba(25, 91, 57, .13), inset 0 1px rgba(255,255,255,.95), 0 0 0 1px rgba(67,143,98,.09);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  backdrop-filter: blur(24px) saturate(160%);
  animation: dashboard-cora-card-in .75s .18s cubic-bezier(.2,.8,.2,1) both;
}
.dashboard-hero-cora::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 110px;
  right: -60px;
  top: -74px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255,255,255,.83), transparent 70%);
  transform: rotate(-15deg);
}
.dashboard-hero-cora .dashboard-hero-orb { --orb-size: 92px; --orb-glow: 27px; --orb-inset: 23px; --orb-blur: 5px; --orb-font: 18px; z-index: 2; }
.dashboard-cora-orbit {
  position: absolute;
  left: 8px;
  width: 132px;
  height: 132px;
  border: 1px dashed rgba(35, 151, 83, .18);
  border-radius: 50%;
  animation: dashboard-command-orbit 17s linear infinite;
}
.dashboard-cora-orbit::after { content: ""; position: absolute; right: 8px; top: 22px; width: 6px; height: 6px; border-radius: 50%; background: #40c982; box-shadow: 0 0 12px rgba(64,201,130,.65); }
.dashboard-hero-cora > div { position: relative; z-index: 2; min-width: 0; display: grid; gap: 5px; }
.dashboard-hero-cora small { color: #478064; font-size: .59rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.dashboard-hero-cora strong { font-size: .88rem; letter-spacing: -.02em; }
.dashboard-hero-cora > div > span { color: #668073; font-size: .66rem; line-height: 1.45; }
.dashboard-hero-action { min-width: 220px; justify-content: space-between; }
.dashboard-rolebar--premium {
  min-height: 64px;
  padding: 11px 14px;
  border-radius: 20px;
  background: linear-gradient(125deg, rgba(255,255,255,.69), rgba(237,251,243,.35));
}
.dashboard-rolebar--premium .dashboard-role-orb { margin: 0; }
.dashboard-rolebar--premium .dashboard-role-pill { border: 1px solid rgba(111, 166, 133, .18); }
.dashboard-page .dashboard-metrics { gap: 14px; }
.dashboard-page .dashboard-metrics article {
  min-height: 158px;
  padding: 20px;
  border-radius: 24px;
  animation: dashboard-metric-rise .58s cubic-bezier(.2,.8,.2,1) both;
}
.dashboard-page .dashboard-metrics article:nth-child(2) { animation-delay: .06s; }
.dashboard-page .dashboard-metrics article:nth-child(3) { animation-delay: .12s; }
.dashboard-page .dashboard-metrics article:nth-child(4) { animation-delay: .18s; }
.dashboard-page .dashboard-metrics article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  opacity: .72;
  background: linear-gradient(90deg, #787fba, transparent 72%);
}
.dashboard-page .dashboard-metrics .metric-parcels::before { background: linear-gradient(90deg, #2db170, transparent 72%); }
.dashboard-page .dashboard-metrics .metric-members::before { background: linear-gradient(90deg, #4a8db5, transparent 72%); }
.dashboard-page .dashboard-metrics .metric-invoices::before { background: linear-gradient(90deg, #d59b2d, transparent 72%); }
.dashboard-page .dashboard-metrics article > strong { font-size: 2.25rem; }
.dashboard-page .dashboard-metrics .metric-icon { border-radius: 15px; transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.dashboard-page .dashboard-metrics article:hover .metric-icon { transform: translateY(-2px) rotate(-4deg) scale(1.05); }
.dashboard-page .dashboard-content-grid { gap: 16px; }
.dashboard-page .dashboard-panel { border-radius: 26px; }
.dashboard-page .dashboard-panel-heading { margin-bottom: 20px; }
.dashboard-page .dashboard-table tbody tr { transition: background .2s ease, transform .2s ease; }
.dashboard-page .dashboard-table tbody tr:hover { background: rgba(230, 247, 236, .5); }
.dashboard-page .dashboard-task-list > a { margin-inline: -8px; padding-inline: 8px; border-radius: 13px; transition: background .2s ease, transform .2s ease; }
.dashboard-page .dashboard-task-list > a:hover { background: rgba(230, 247, 236, .55); transform: translateX(3px); }

html[data-theme="dark"] .dashboard-hero--command {
  background:
    radial-gradient(circle at 83% 31%, rgba(46, 190, 109, .2), transparent 26%),
    radial-gradient(circle at 70% 115%, rgba(49, 118, 158, .13), transparent 39%),
    linear-gradient(135deg, rgba(24,48,34,.87), rgba(8,22,15,.62));
}
html[data-theme="dark"] .dashboard-hero-cora {
  border-color: rgba(138, 207, 165, .18);
  color: #e7f8ed;
  background: linear-gradient(145deg, rgba(44,82,58,.5), rgba(15,36,24,.3));
  box-shadow: 0 27px 62px rgba(0,0,0,.27), inset 0 1px rgba(218,255,232,.08), 0 0 0 1px rgba(70,144,99,.06);
}
html[data-theme="dark"] .dashboard-hero-cora small { color: #84c39d; }
html[data-theme="dark"] .dashboard-hero-cora > div > span { color: #92aa9c; }
html[data-theme="dark"] .dashboard-rolebar--premium { background: linear-gradient(125deg, rgba(31,61,43,.61), rgba(13,31,20,.38)); }
html[data-theme="dark"] .dashboard-page .dashboard-table tbody tr:hover,
html[data-theme="dark"] .dashboard-page .dashboard-task-list > a:hover { background: rgba(45, 88, 61, .28); }

@keyframes dashboard-command-orbit { to { transform: rotate(360deg); } }
@keyframes dashboard-cora-card-in { from { opacity: 0; transform: translateY(17px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes dashboard-metric-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes dashboard-mark-breathe { 50% { transform: translateY(-1px); box-shadow: 0 16px 34px rgba(16,102,61,.29), inset 0 1px rgba(255,255,255,.3); } }
@keyframes dashboard-mark-ring { 0%,100% { opacity: .2; transform: scale(.94); } 50% { opacity: .72; transform: scale(1.05); } }

@media (max-width: 1180px) and (min-width: 761px) {
  .dashboard-hero--command { grid-template-columns: minmax(0, 1fr) 250px; }
  .dashboard-hero-cora { min-height: 132px; padding: 17px; grid-template-columns: 76px minmax(0, 1fr); gap: 13px; }
  .dashboard-hero-cora .dashboard-hero-orb { --orb-size: 70px; --orb-font: 13px; }
  .dashboard-cora-orbit { left: 2px; width: 104px; height: 104px; }
}
@media (max-width: 760px) {
  .dashboard-hero--command { min-height: auto; display: grid; grid-template-columns: 1fr; gap: 26px; padding: 27px 22px; }
  .dashboard-hero-side { width: 100%; justify-items: stretch; }
  .dashboard-hero-cora { width: 100%; }
  .dashboard-hero-action { width: 100%; }
  .dashboard-rolebar--premium { grid-template-columns: 38px minmax(0, 1fr); }
}
@media (max-width: 520px) {
  .dashboard-hero--command h1 { font-size: 2.55rem; }
  .dashboard-hero-cora { min-height: 126px; padding: 16px; grid-template-columns: 78px minmax(0, 1fr); }
  .dashboard-hero-cora .dashboard-hero-orb { --orb-size: 72px; --orb-font: 13px; }
  .dashboard-cora-orbit { left: 3px; width: 104px; height: 104px; }
  .dashboard-page .dashboard-metrics article { min-height: 142px; padding: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .dashboard-page .dashboard-brandmark,
  .dashboard-page .dashboard-brandmark::after,
  .dashboard-hero--command::after,
  .dashboard-cora-orbit,
  .dashboard-hero-cora,
  .dashboard-page .dashboard-metrics article { animation: none !important; }
  .dashboard-page .dashboard-metrics article:hover .metric-icon,
  .dashboard-page .dashboard-task-list > a:hover { transform: none; }
}

/* Dashboard Atmosphere – lebendige, hochwertige Vereinszentrale -------- */
.dashboard-page {
  --dash-emerald: #39d98a;
  --dash-cyan: #53c8e8;
  --dash-violet: #8b7cf6;
  --dash-gold: #e8bd67;
}
.dashboard-page .dashboard-main {
  width: min(1420px, calc(100% - clamp(32px, 5.4vw, 78px)));
}
.dashboard-hero--command {
  min-height: 360px;
  grid-template-columns: minmax(0, 1.15fr) minmax(350px, .68fr);
  gap: clamp(34px, 5vw, 78px);
  padding: clamp(38px, 4.8vw, 68px);
  border-radius: 38px;
  border-color: rgba(255,255,255,.9);
  background:
    radial-gradient(circle at 88% 13%, rgba(83,200,232,.24), transparent 25%),
    radial-gradient(circle at 70% 113%, rgba(139,124,246,.16), transparent 37%),
    radial-gradient(circle at 12% -16%, rgba(57,217,138,.18), transparent 37%),
    linear-gradient(128deg, rgba(255,255,255,.86), rgba(241,253,247,.54));
  box-shadow:
    0 38px 90px rgba(20,72,46,.17),
    0 8px 25px rgba(44,109,73,.08),
    inset 0 1px rgba(255,255,255,1),
    0 0 0 1px rgba(84,161,116,.13);
}
.dashboard-hero--command::before {
  inset: -45% -12%;
  background:
    radial-gradient(ellipse at 74% 50%, rgba(86,222,159,.27), transparent 24%),
    radial-gradient(ellipse at 86% 42%, rgba(90,173,238,.21), transparent 21%),
    conic-gradient(from 175deg at 72% 48%, transparent 0 36%, rgba(255,255,255,.55) 43%, transparent 50% 100%);
  animation: dashboard-premium-aurora 13s ease-in-out infinite alternate;
}
.dashboard-hero--command::after {
  right: 8%;
  bottom: -235px;
  width: 500px;
  height: 500px;
  border-color: rgba(76,193,133,.14);
  border-radius: 50%;
  box-shadow:
    0 0 0 78px rgba(83,200,232,.025),
    0 0 0 156px rgba(139,124,246,.018);
  animation: dashboard-command-orbit 34s linear infinite;
}
.dashboard-hero-copy { z-index: 3; }
.dashboard-hero--command h1 {
  max-width: 760px;
  margin-top: 20px;
  font-size: clamp(3rem, 5vw, 5.7rem);
  line-height: .89;
  letter-spacing: -.072em;
  text-wrap: balance;
}
.dashboard-hero--command p { margin-top: 17px; font-size: .98rem; }
.dashboard-eyebrow i { animation: dashboard-live-beacon 2.2s ease-out infinite; }
.dashboard-live-grid {
  width: min(700px, 100%);
  margin-top: 32px;
  display: grid;
  grid-template-columns: 1.25fr repeat(3, 1fr);
  overflow: hidden;
  border: 1px solid rgba(121,173,144,.24);
  border-radius: 18px;
  background: rgba(255,255,255,.34);
  box-shadow: inset 0 1px rgba(255,255,255,.72), 0 14px 35px rgba(35,91,59,.065);
  -webkit-backdrop-filter: blur(18px) saturate(155%);
  backdrop-filter: blur(18px) saturate(155%);
}
.dashboard-live-grid > span {
  position: relative;
  min-width: 0;
  min-height: 66px;
  padding: 13px 16px;
  display: grid;
  align-content: center;
  gap: 4px;
  border-left: 1px solid rgba(121,173,144,.18);
}
.dashboard-live-grid > span:first-child { border-left: 0; padding-left: 38px; }
.dashboard-live-grid small { color: #6a8276; font-size: .58rem; font-weight: 850; letter-spacing: .075em; text-transform: uppercase; }
.dashboard-live-grid strong { overflow: hidden; font-size: .78rem; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-live-grid .is-live > i {
  position: absolute;
  left: 16px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--dash-emerald);
  box-shadow: 0 0 0 5px rgba(57,217,138,.12), 0 0 18px rgba(57,217,138,.65);
  transform: translateY(-50%);
  animation: dashboard-live-beacon 2.2s ease-out infinite;
}
.dashboard-hero-side { gap: 20px; perspective: 900px; }
.dashboard-hero-cora {
  width: min(380px, 100%);
  min-height: 185px;
  grid-template-columns: 126px minmax(0, 1fr);
  padding: 25px 23px;
  gap: 21px;
  border-color: rgba(255,255,255,.7);
  border-radius: 30px;
  background:
    radial-gradient(circle at 24% 45%, rgba(78,226,164,.19), transparent 33%),
    radial-gradient(circle at 97% 0, rgba(98,166,240,.24), transparent 35%),
    linear-gradient(145deg, rgba(255,255,255,.62), rgba(226,247,238,.24));
  box-shadow:
    0 30px 70px rgba(24,85,53,.18),
    inset 0 1px rgba(255,255,255,.94),
    0 0 0 1px rgba(76,153,108,.08);
  transform: rotateY(-2deg) rotateX(1deg);
  animation: dashboard-premium-cora-float 6.5s ease-in-out infinite;
}
.dashboard-hero-cora::before {
  width: 230px;
  height: 150px;
  right: -68px;
  top: -94px;
  background: radial-gradient(ellipse, rgba(255,255,255,.88), transparent 68%);
}
.dashboard-hero-cora::after {
  content: "";
  position: absolute;
  left: -35%;
  top: -85%;
  width: 30%;
  height: 270%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
  transform: rotate(18deg);
  animation: dashboard-card-scan 8s 1s ease-in-out infinite;
}
.dashboard-hero-cora .dashboard-hero-orb {
  --orb-size: 112px;
  --orb-glow: 38px;
  --orb-inset: 28px;
  --orb-blur: 6px;
  filter: drop-shadow(0 17px 24px rgba(25,104,72,.24));
}
.dashboard-cora-orbit {
  left: 5px;
  width: 158px;
  height: 158px;
  border-color: rgba(64,190,128,.22);
  box-shadow: inset 0 0 30px rgba(83,200,232,.055);
}
.dashboard-cora-orbit::before {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px dotted rgba(139,124,246,.22);
  border-radius: 50%;
}
.dashboard-hero-cora small { color: #347b5b; }
.dashboard-hero-cora strong { font-size: 1rem; }
.dashboard-hero-cora > div > span { font-size: .7rem; }
.dashboard-hero-cora > div > .dashboard-cora-signal {
  margin-top: 7px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #2d7656;
  font-size: .59rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.dashboard-cora-signal i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--dash-emerald);
  box-shadow: 0 0 10px rgba(57,217,138,.75);
  animation: dashboard-signal-flicker 2.4s ease-in-out infinite;
}
.dashboard-hero-action {
  min-width: 250px;
  min-height: 53px;
  border-radius: 18px;
  background: linear-gradient(135deg, #269968, #146f4a 55%, #175f47);
  box-shadow: 0 17px 34px rgba(14,104,64,.28), inset 0 1px rgba(255,255,255,.28);
}
.dashboard-rolebar--premium {
  min-height: 70px;
  padding: 12px 16px;
  border-radius: 22px;
  background:
    linear-gradient(110deg, rgba(255,255,255,.7), rgba(239,250,244,.34)),
    radial-gradient(circle at 12% 40%, rgba(83,200,232,.13), transparent 16%);
}
.dashboard-role-symbol {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(74,150,107,.2);
  border-radius: 14px;
  color: #237851;
  background: linear-gradient(145deg, rgba(235,251,242,.92), rgba(216,243,229,.66));
  box-shadow: inset 0 1px rgba(255,255,255,.9), 0 9px 22px rgba(34,101,67,.1);
}
.dashboard-role-symbol .vf-icon { width: 19px; height: 19px; }
.dashboard-page > .cora-launcher { display: none; }
.cora-alert-strip {
  position: relative;
  margin-top: 14px;
  border-color: rgba(255,255,255,.84);
  border-radius: 25px;
  background:
    radial-gradient(circle at 4% 5%, rgba(57,217,138,.12), transparent 25%),
    linear-gradient(135deg, rgba(255,255,255,.71), rgba(239,249,244,.39));
  box-shadow: 0 24px 58px rgba(24,76,47,.12), inset 0 1px rgba(255,255,255,.94);
  -webkit-backdrop-filter: blur(26px) saturate(160%);
  backdrop-filter: blur(26px) saturate(160%);
}
.cora-alert-strip::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(105deg, transparent 0 72%, rgba(83,200,232,.07));
}
.dashboard-page .dashboard-metrics { gap: 16px; }
.dashboard-page .dashboard-metrics article {
  min-height: 174px;
  border-radius: 27px;
  box-shadow: 0 25px 58px rgba(26,77,49,.115), inset 0 1px rgba(255,255,255,.95);
}
.dashboard-page .dashboard-metrics article::before { height: 4px; opacity: .9; }
.dashboard-page .dashboard-metrics article::after {
  top: auto;
  left: auto;
  right: -45px;
  bottom: -64px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139,124,246,.12), transparent 68%);
  opacity: .72;
  transition: transform .5s ease, opacity .4s ease;
}
.dashboard-page .dashboard-metrics .metric-parcels::after { background: radial-gradient(circle, rgba(57,217,138,.15), transparent 68%); }
.dashboard-page .dashboard-metrics .metric-members::after { background: radial-gradient(circle, rgba(83,200,232,.16), transparent 68%); }
.dashboard-page .dashboard-metrics .metric-invoices::after { background: radial-gradient(circle, rgba(232,189,103,.17), transparent 68%); }
.dashboard-page .dashboard-metrics article:hover::after { opacity: 1; transform: scale(1.25); }
.dashboard-page .dashboard-metrics article > strong { font-size: 2.55rem; }
.dashboard-page .dashboard-metrics .metric-icon { width: 46px; height: 46px; border-radius: 16px; }

html[data-theme="dark"] .dashboard-page {
  background:
    radial-gradient(circle at 84% -5%, rgba(48,178,110,.2), transparent 34rem),
    radial-gradient(circle at 48% 42%, rgba(52,100,169,.1), transparent 39rem),
    radial-gradient(circle at 8% 72%, rgba(116,82,180,.08), transparent 32rem),
    linear-gradient(145deg, #050d09, #09140e 48%, #07100d);
}
html[data-theme="dark"] .dashboard-hero--command,
html[data-theme="dark"] .dashboard-page[data-dayphase="morning"] .dashboard-hero--command,
html[data-theme="dark"] .dashboard-page[data-dayphase="evening"] .dashboard-hero--command,
html[data-theme="dark"] .dashboard-page[data-dayphase="night"] .dashboard-hero--command {
  border-color: rgba(132,211,164,.24);
  background:
    radial-gradient(circle at 86% 20%, rgba(42,195,117,.19), transparent 28%),
    radial-gradient(circle at 72% 112%, rgba(76,119,211,.15), transparent 40%),
    radial-gradient(circle at 8% -10%, rgba(139,124,246,.08), transparent 36%),
    linear-gradient(128deg, rgba(18,41,28,.94), rgba(7,20,13,.78));
  box-shadow: 0 42px 100px rgba(0,0,0,.37), 0 0 45px rgba(48,175,104,.055), inset 0 1px rgba(205,255,224,.1);
}
html[data-theme="dark"] .dashboard-hero--command::before {
  background:
    radial-gradient(ellipse at 74% 50%, rgba(44,196,116,.18), transparent 24%),
    radial-gradient(ellipse at 86% 42%, rgba(64,119,210,.18), transparent 22%),
    conic-gradient(from 175deg at 72% 48%, transparent 0 36%, rgba(141,116,235,.08) 43%, transparent 50% 100%);
}
html[data-theme="dark"] .dashboard-live-grid {
  border-color: rgba(125,198,154,.16);
  background: linear-gradient(120deg, rgba(27,56,39,.44), rgba(10,26,17,.3));
  box-shadow: inset 0 1px rgba(200,255,222,.06), 0 16px 42px rgba(0,0,0,.16);
}
html[data-theme="dark"] .dashboard-live-grid > span { border-color: rgba(129,199,157,.12); }
html[data-theme="dark"] .dashboard-live-grid small { color: #729283; }
html[data-theme="dark"] .dashboard-hero-cora {
  border-color: rgba(139,213,168,.23);
  background:
    radial-gradient(circle at 24% 45%, rgba(44,204,125,.16), transparent 34%),
    radial-gradient(circle at 98% 0, rgba(77,116,213,.2), transparent 36%),
    linear-gradient(145deg, rgba(34,71,49,.59), rgba(8,25,16,.42));
  box-shadow: 0 34px 82px rgba(0,0,0,.35), inset 0 1px rgba(207,255,225,.1), 0 0 38px rgba(87,99,225,.05);
}
html[data-theme="dark"] .dashboard-hero-cora small { color: #79c799; }
html[data-theme="dark"] .dashboard-hero-cora > div > .dashboard-cora-signal { color: #72ba90; }
html[data-theme="dark"] .dashboard-rolebar--premium {
  background:
    linear-gradient(110deg, rgba(27,57,40,.58), rgba(8,25,16,.37)),
    radial-gradient(circle at 12% 40%, rgba(83,200,232,.1), transparent 16%);
}
html[data-theme="dark"] .dashboard-role-symbol {
  border-color: rgba(126,201,156,.18);
  color: #8ad5a8;
  background: linear-gradient(145deg, rgba(35,76,51,.86), rgba(17,47,30,.62));
  box-shadow: inset 0 1px rgba(214,255,229,.08), 0 10px 24px rgba(0,0,0,.16);
}
html[data-theme="dark"] .cora-alert-strip {
  border-color: rgba(123,195,151,.2);
  background:
    radial-gradient(circle at 4% 5%, rgba(53,190,114,.11), transparent 26%),
    linear-gradient(135deg, rgba(22,47,32,.76), rgba(8,24,15,.61));
  box-shadow: 0 27px 68px rgba(0,0,0,.28), inset 0 1px rgba(201,255,221,.07);
}
html[data-theme="dark"] .dashboard-page .dashboard-metrics article {
  background-image:
    radial-gradient(circle at 110% 110%, rgba(139,124,246,.12), transparent 50%),
    linear-gradient(145deg, rgba(27,55,39,.74), rgba(8,24,15,.5));
}
html[data-theme="dark"] .dashboard-page .dashboard-metrics .metric-parcels { background-image: radial-gradient(circle at 110% 110%, rgba(57,217,138,.13), transparent 50%), linear-gradient(145deg, rgba(27,55,39,.74), rgba(8,24,15,.5)); }
html[data-theme="dark"] .dashboard-page .dashboard-metrics .metric-members { background-image: radial-gradient(circle at 110% 110%, rgba(83,200,232,.14), transparent 50%), linear-gradient(145deg, rgba(27,55,39,.74), rgba(8,24,15,.5)); }
html[data-theme="dark"] .dashboard-page .dashboard-metrics .metric-invoices { background-image: radial-gradient(circle at 110% 110%, rgba(232,189,103,.14), transparent 50%), linear-gradient(145deg, rgba(27,55,39,.74), rgba(8,24,15,.5)); }

@keyframes dashboard-premium-aurora {
  0% { opacity: .65; transform: translate3d(-2%, -2%, 0) rotate(-1deg) scale(.98); }
  55% { opacity: 1; transform: translate3d(3%, 1%, 0) rotate(1deg) scale(1.04); }
  100% { opacity: .78; transform: translate3d(-1%, 3%, 0) rotate(0) scale(1.01); }
}
@keyframes dashboard-premium-cora-float {
  0%,100% { transform: translate3d(0,0,0) rotateY(-2deg) rotateX(1deg); }
  50% { transform: translate3d(0,-7px,0) rotateY(1deg) rotateX(-1deg); }
}
@keyframes dashboard-card-scan {
  0%, 16% { left: -38%; opacity: 0; }
  28% { opacity: .75; }
  48%,100% { left: 128%; opacity: 0; }
}
@keyframes dashboard-live-beacon {
  0% { box-shadow: 0 0 0 0 rgba(57,217,138,.38), 0 0 12px rgba(57,217,138,.52); }
  70% { box-shadow: 0 0 0 8px rgba(57,217,138,0), 0 0 20px rgba(57,217,138,.66); }
  100% { box-shadow: 0 0 0 0 rgba(57,217,138,0), 0 0 12px rgba(57,217,138,.42); }
}
@keyframes dashboard-signal-flicker { 0%,100% { opacity: .65; } 45% { opacity: 1; } 52% { opacity: .7; } 62% { opacity: 1; } }

@media (max-width: 1180px) and (min-width: 761px) {
  .dashboard-hero--command { grid-template-columns: minmax(0, 1fr) 300px; min-height: 340px; padding: 38px; }
  .dashboard-live-grid { grid-template-columns: repeat(2, 1fr); max-width: 470px; }
  .dashboard-live-grid > span:nth-child(3) { border-left: 0; border-top: 1px solid rgba(121,173,144,.18); }
  .dashboard-live-grid > span:nth-child(4) { border-top: 1px solid rgba(121,173,144,.18); }
  .dashboard-hero-cora { min-height: 160px; grid-template-columns: 92px minmax(0,1fr); padding: 19px; }
  .dashboard-hero-cora .dashboard-hero-orb { --orb-size: 84px; }
  .dashboard-cora-orbit { width: 120px; height: 120px; }
}
@media (max-width: 1020px) and (min-width: 761px) {
  .dashboard-hero--command {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }
  .dashboard-hero--command h1 { max-width: 680px; }
  .dashboard-live-grid { width: 100%; max-width: none; }
  .dashboard-hero-side {
    width: 100%;
    grid-template-columns: minmax(280px, 1fr) minmax(220px, .72fr);
    align-items: end;
    justify-items: stretch;
  }
  .dashboard-hero-cora { width: 100%; }
  .dashboard-hero-action { width: 100%; }
}
@media (max-width: 880px) and (min-width: 761px) {
  .dashboard-hero-side { grid-template-columns: minmax(0, 1fr); }
  .dashboard-hero-cora { max-width: none; }
}
@media (max-width: 760px) {
  .dashboard-hero--command {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
    padding: 30px 22px;
  }
  .dashboard-hero-copy { width: 100%; }
  .dashboard-live-grid { margin-top: 25px; grid-template-columns: repeat(2, 1fr); }
  .dashboard-live-grid > span:nth-child(3) { border-left: 0; border-top: 1px solid rgba(121,173,144,.18); }
  .dashboard-live-grid > span:nth-child(4) { border-top: 1px solid rgba(121,173,144,.18); }
  .dashboard-hero-side { width: 100%; justify-items: stretch; }
  .dashboard-hero-cora { width: 100%; transform: none; animation-name: dashboard-cora-mobile-float; }
  .dashboard-hero-action { width: 100%; }
  .dashboard-page > .cora-launcher { display: grid; }
}
@media (max-width: 520px) {
  .dashboard-hero--command h1 { font-size: 2.7rem; }
  .dashboard-live-grid > span { min-height: 59px; padding: 11px 12px; }
  .dashboard-live-grid > span:first-child { padding-left: 34px; }
  .dashboard-live-grid .is-live > i { left: 13px; }
  .dashboard-hero-cora { grid-template-columns: 85px minmax(0,1fr); min-height: 140px; padding: 17px; }
  .dashboard-hero-cora .dashboard-hero-orb { --orb-size: 78px; }
  .dashboard-cora-orbit { width: 110px; height: 110px; }
}
@keyframes dashboard-cora-mobile-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@media (prefers-reduced-motion: reduce) {
  .dashboard-hero--command::before,
  .dashboard-hero-cora,
  .dashboard-hero-cora::after,
  .dashboard-live-grid .is-live > i,
  .dashboard-cora-signal i { animation: none !important; }
}

/* Intelligente Belegerfassung ----------------------------------------- */
.receipt-capture-workspace,
.receipt-detail-workspace { width: min(1480px, calc(100% - clamp(32px, 6vw, 88px))); }
.receipt-capture-heading { align-items: end; }
.receipt-capture-heading h1 { font-size: clamp(2.5rem, 5vw, 4.9rem); }
.receipt-local-badge {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #bcdcc9;
  border-radius: 999px;
  color: #246c4b;
  background: rgba(238,250,243,.78);
  font-size: .7rem;
  font-weight: 820;
}
.receipt-local-badge .vf-icon { width: 16px; height: 16px; }
.receipt-capture-layout,
.receipt-review-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
  gap: 18px;
  align-items: start;
}
.receipt-entry-panel,
.receipt-preview-panel,
.receipt-booking-data,
.receipt-original-panel {
  border-radius: 27px;
  box-shadow: 0 24px 65px rgba(23,76,48,.09), inset 0 1px rgba(255,255,255,.94);
}
.receipt-entry-panel { padding: clamp(24px, 3vw, 36px); }
.receipt-preview-panel,
.receipt-original-panel {
  position: sticky;
  top: 88px;
  padding: 22px;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 2%, rgba(73,204,137,.13), transparent 28%),
    linear-gradient(145deg, #fff, #f6fbf8);
}
.receipt-step {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #2eaa70, #176b49);
  box-shadow: 0 8px 20px rgba(25,116,73,.2);
  font-size: .72rem;
  font-weight: 900;
}
.receipt-upload-field { margin-bottom: 14px; }
.receipt-upload-field input[type="file"] {
  min-height: 52px;
  padding: 7px;
  border: 1px dashed #93c3a8;
  border-radius: 14px;
  background: rgba(238,249,243,.78);
}
.receipt-upload-field input[type="file"]::file-selector-button {
  min-height: 36px;
  margin-right: 10px;
  padding: 0 13px;
  border: 0;
  border-radius: 10px;
  color: white;
  background: #19724b;
  font: inherit;
  font-size: .72rem;
  font-weight: 800;
  cursor: pointer;
}
.receipt-preview-stage,
.receipt-original-viewer {
  position: relative;
  min-height: 510px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #ccded3;
  border-radius: 19px;
  background:
    linear-gradient(45deg, rgba(37,105,68,.026) 25%, transparent 25% 75%, rgba(37,105,68,.026) 75%),
    linear-gradient(45deg, rgba(37,105,68,.026) 25%, transparent 25% 75%, rgba(37,105,68,.026) 75%),
    #edf3ef;
  background-position: 0 0, 12px 12px;
  background-size: 24px 24px;
  box-shadow: inset 0 1px 6px rgba(20,61,40,.055);
}
.receipt-preview-stage img,
.receipt-preview-stage iframe,
.receipt-original-viewer img {
  width: 100%;
  height: 100%;
  min-height: 510px;
  border: 0;
  object-fit: contain;
  background: #e7ece9;
}
.receipt-preview-empty {
  max-width: 250px;
  padding: 30px 20px;
  display: grid;
  justify-items: center;
  gap: 8px;
  color: #678075;
  text-align: center;
}
.receipt-preview-empty > span {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border: 1px solid #c4dfcf;
  border-radius: 19px;
  color: #23764f;
  background: rgba(255,255,255,.78);
  box-shadow: 0 15px 30px rgba(26,87,54,.1);
}
.receipt-preview-empty .vf-icon { width: 28px; height: 28px; }
.receipt-preview-empty strong { color: #345346; font-size: .86rem; }
.receipt-preview-empty p { margin: 0; font-size: .72rem; }
.receipt-analysis-state {
  min-height: 45px;
  margin-top: 13px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #d7e5dc;
  border-radius: 13px;
  color: #667c71;
  background: rgba(255,255,255,.64);
  font-size: .7rem;
  line-height: 1.45;
}
.receipt-analysis-state i {
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #9aac9f;
}
.receipt-analysis-state.is-working i { background: #38c981; box-shadow: 0 0 0 5px rgba(56,201,129,.12); animation: receipt-analysis-pulse 1.25s ease-in-out infinite; }
.receipt-analysis-state.is-ready { color: #246f4c; border-color: #b9dfc8; background: #edf9f1; }
.receipt-analysis-state.is-ready i { background: #2dbb72; }
.receipt-analysis-state.is-warning { color: #7a5b25; border-color: #e6d4aa; background: #fff9ea; }
.receipt-analysis-state.is-warning i { background: #d69a33; }
.receipt-recognized { margin-top: 13px; display: grid; gap: 8px; }
.receipt-recognized > small { color: var(--muted); font-size: .61rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.receipt-recognized > div { display: flex; flex-wrap: wrap; gap: 6px; }
.receipt-recognized span { padding: 6px 9px; border-radius: 999px; color: #286f4e; background: #e8f7ee; font-size: .64rem; font-weight: 800; }
.receipt-suggestion-summary,
.receipt-verification-card {
  margin-top: 22px;
  padding: 16px;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  gap: 13px;
  border: 1px solid #bfe1cc;
  border-radius: 17px;
  background: linear-gradient(135deg, #f0faf4, #f8fbf9);
}
.receipt-ai-mark,
.receipt-verification-card > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: white;
  background: linear-gradient(145deg, #39b878, #217452);
  box-shadow: 0 10px 24px rgba(30,119,75,.18);
}
.receipt-ai-mark .vf-icon,
.receipt-verification-card .vf-icon { width: 19px; height: 19px; }
.receipt-suggestion-summary > div,
.receipt-verification-card > div { display: grid; gap: 4px; }
.receipt-suggestion-summary small,
.receipt-verification-card small { color: #56806b; font-size: .61rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.receipt-suggestion-summary strong,
.receipt-verification-card strong { font-size: .81rem; }
.receipt-suggestion-summary p,
.receipt-verification-card p { margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.receipt-entry-panel .form-field.is-cora-filled input,
.receipt-entry-panel .form-field.is-cora-filled select,
.receipt-entry-panel .form-field.is-cora-filled textarea {
  border-color: #65bd8c;
  box-shadow: 0 0 0 3px rgba(64,186,119,.1);
  animation: receipt-field-recognized .65s ease-out;
}
.receipt-capture-actions { align-items: center; }
.receipt-capture-actions > span { margin-right: auto; color: var(--muted); font-size: .68rem; }
.receipt-review-layout { margin-top: 15px; }
.receipt-booking-data { padding: clamp(24px, 3vw, 35px); }
.receipt-original-panel .section-heading h2 { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.receipt-original-panel .secondary-link { flex: 0 0 auto; }
.receipt-original-meta { margin: 12px 0 0; display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: .67rem; }
.receipt-original-meta .vf-icon { width: 15px; height: 15px; color: #2d8058; }
.receipt-ocr-details { margin-top: 12px; border: 1px solid rgba(72,139,98,.34); border-radius: 14px; background: rgba(11,45,27,.28); }
.receipt-ocr-details summary { padding: 11px 13px; color: #9dc6ad; font-size: .68rem; font-weight: 800; cursor: pointer; }
.receipt-ocr-details pre { max-height: 220px; margin: 0; padding: 0 13px 13px; overflow: auto; color: #bad0c2; font: .66rem/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre-wrap; }
.receipt-analysis-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  padding: 24px;
  display: grid;
  place-items: center;
  opacity: 0;
  background: rgba(3,18,11,.68);
  backdrop-filter: blur(14px) saturate(125%);
  transition: opacity .18s ease;
}
.receipt-analysis-overlay[hidden] { display: none; }
.receipt-analysis-overlay.is-visible { opacity: 1; }
.receipt-analysis-dialog {
  width: min(430px, 100%);
  padding: 34px 30px 29px;
  display: grid;
  justify-items: center;
  gap: 10px;
  border: 1px solid rgba(143,226,178,.36);
  border-radius: 28px;
  color: #eaf8ef;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0, rgba(63,210,131,.2), transparent 40%),
    linear-gradient(145deg, rgba(18,52,34,.96), rgba(7,28,17,.97));
  box-shadow: 0 34px 100px rgba(0,0,0,.46), inset 0 1px rgba(255,255,255,.1);
  transform: translateY(10px) scale(.98);
  transition: transform .22s ease;
}
.receipt-analysis-overlay.is-visible .receipt-analysis-dialog { transform: translateY(0) scale(1); }
.receipt-analysis-dialog h2 { margin: 2px 0 0; color: #fff; font-size: clamp(1.35rem, 3vw, 1.8rem); }
.receipt-analysis-dialog p { max-width: 350px; margin: 0; color: #bad0c2; font-size: .78rem; line-height: 1.55; }
.receipt-analysis-dialog small { margin-top: 3px; color: #8eaa99; font-size: .65rem; line-height: 1.5; }
.receipt-analysis-orb {
  position: relative;
  width: 92px;
  height: 92px;
  margin-bottom: 5px;
  display: grid;
  place-items: center;
}
.receipt-analysis-orb > span {
  position: relative;
  z-index: 2;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #eafff1;
  background: radial-gradient(circle at 35% 28%, #a8f2c5, #2caa6a 45%, #0b4c31 76%);
  box-shadow: 0 0 28px rgba(62,224,137,.42), inset 0 1px 8px rgba(255,255,255,.7);
  animation: receipt-orb-breathe 1.45s ease-in-out infinite;
}
.receipt-analysis-orb .vf-icon { width: 24px; height: 24px; }
.receipt-analysis-orb i {
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(120,237,171,.38);
  border-radius: 50%;
  animation: receipt-orbit 2.4s linear infinite;
}
.receipt-analysis-orb i:last-child { inset: 0; border-style: dashed; animation-direction: reverse; animation-duration: 3.4s; }
.receipt-analysis-progress { width: 190px; height: 5px; margin-top: 8px; display: flex; gap: 5px; }
.receipt-analysis-progress span { flex: 1; border-radius: 999px; background: rgba(132,190,155,.2); animation: receipt-progress 1.2s ease-in-out infinite; }
.receipt-analysis-progress span:nth-child(2) { animation-delay: .16s; }
.receipt-analysis-progress span:nth-child(3) { animation-delay: .32s; }
.receipt-analysis-overlay.is-complete .receipt-analysis-orb > span { background: linear-gradient(145deg, #62dd99, #188252); animation: none; }
.receipt-analysis-overlay.is-complete .receipt-analysis-progress span { background: #5bd991; animation: none; }
.receipt-analysis-overlay.is-warning .receipt-analysis-orb > span { background: linear-gradient(145deg, #e4b85a, #90641d); animation: none; }
@keyframes receipt-orb-breathe { 50% { transform: scale(1.08); box-shadow: 0 0 42px rgba(62,224,137,.6), inset 0 1px 8px rgba(255,255,255,.75); } }
@keyframes receipt-orbit { to { transform: rotate(360deg); } }
@keyframes receipt-progress { 0%,100% { background: rgba(132,190,155,.2); transform: scaleX(.72); } 50% { background: #58d990; transform: scaleX(1); } }

html[data-theme="dark"] .receipt-local-badge { border-color: #315a44; color: #9bdbb3; background: rgba(21,50,33,.72); }
html[data-theme="dark"] .receipt-preview-panel,
html[data-theme="dark"] .receipt-original-panel {
  background: radial-gradient(circle at 92% 2%, rgba(58,190,116,.11), transparent 29%), linear-gradient(145deg, #13231a, #0e1a13);
}
html[data-theme="dark"] .receipt-upload-field input[type="file"] { border-color: #416950; color: #c9ddd0; background: rgba(19,43,29,.82); }
html[data-theme="dark"] .receipt-preview-stage,
html[data-theme="dark"] .receipt-original-viewer { border-color: #315040; background-color: #09120d; }
html[data-theme="dark"] .receipt-preview-stage img,
html[data-theme="dark"] .receipt-preview-stage iframe,
html[data-theme="dark"] .receipt-original-viewer img { background: #09120d; }
html[data-theme="dark"] .receipt-analysis-state { border-color: #304a3a; color: #94a99c; background: rgba(15,33,22,.72); }
html[data-theme="dark"] .receipt-analysis-state.is-ready { color: #9cdbb3; border-color: #356c4c; background: #132b1e; }
html[data-theme="dark"] .receipt-analysis-state.is-warning { color: #e1c481; border-color: #594926; background: #241e12; }
html[data-theme="dark"] .receipt-recognized span { color: #a6e0bb; background: #173523; }
html[data-theme="dark"] .receipt-suggestion-summary,
html[data-theme="dark"] .receipt-verification-card { border-color: #346348; background: linear-gradient(135deg, #172c20, #122219); }
html[data-theme="dark"] .receipt-preview-empty > span { border-color: #355d46; color: #8bd5a8; background: rgba(24,51,35,.8); }
html[data-theme="dark"] .receipt-preview-empty strong { color: #d7e8dd; }

@keyframes receipt-analysis-pulse { 50% { transform: scale(1.25); box-shadow: 0 0 0 8px rgba(56,201,129,0); } }
@keyframes receipt-field-recognized { from { background: rgba(88,220,147,.2); } }

@media (max-width: 980px) {
  .receipt-capture-layout,
  .receipt-review-layout { grid-template-columns: minmax(0,1fr); }
  .receipt-preview-panel,
  .receipt-original-panel { position: static; grid-row: 1; }
  .receipt-preview-stage,
  .receipt-original-viewer,
  .receipt-preview-stage img,
  .receipt-preview-stage iframe,
  .receipt-original-viewer img { min-height: 440px; max-height: 680px; }
}
@media (max-width: 620px) {
  .receipt-capture-workspace,
  .receipt-detail-workspace { width: min(100% - 24px, 1480px); }
  .receipt-capture-heading { align-items: flex-start; }
  .receipt-local-badge { margin-top: 12px; }
  .receipt-entry-panel,
  .receipt-preview-panel,
  .receipt-booking-data,
  .receipt-original-panel { padding: 18px; border-radius: 21px; }
  .receipt-preview-stage,
  .receipt-original-viewer,
  .receipt-preview-stage img,
  .receipt-preview-stage iframe,
  .receipt-original-viewer img { min-height: 390px; }
  .receipt-capture-actions { align-items: stretch; }
  .receipt-capture-actions > span { order: -1; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .receipt-analysis-state.is-working i,
  .receipt-entry-panel .form-field.is-cora-filled input,
  .receipt-entry-panel .form-field.is-cora-filled select,
  .receipt-entry-panel .form-field.is-cora-filled textarea,
  .receipt-analysis-orb > span,
  .receipt-analysis-orb i,
  .receipt-analysis-progress span { animation: none !important; }
}
