/* Vereinsweite Farbprofile. Alle Module verwenden dieselben semantischen Farben. */
html{--theme-primary:#2b6287;--theme-deep:#214f70;--theme-accent:#078995;--theme-soft:#e7eef3;--theme-soft-2:#f4f8fa;--theme-border:#b9c9d4;--theme-heading:#234e70;--theme-on-primary:#fff;--theme-decoration:'';--theme-decor-a:'';--theme-decor-b:'';--theme-decor-c:'';--theme-decor-d:''}
html[data-vgt-theme="fruehling"]{--theme-primary:#39755b;--theme-deep:#234e3d;--theme-accent:#2f7150;--theme-soft:#e2f1e5;--theme-soft-2:#f6fbf6;--theme-border:#a9cbb2;--theme-heading:#193e30;--theme-muted:#48685a;--theme-decoration:'🌷';--theme-decor-a:'🌷';--theme-decor-b:'🌼';--theme-decor-c:'🌱';--theme-decor-d:'🪻'}
html[data-vgt-theme="sommer"]{--theme-primary:#197999;--theme-deep:#10536e;--theme-accent:#087d89;--theme-soft:#dff2f6;--theme-soft-2:#f4fbfc;--theme-border:#a9d1dd;--theme-heading:#154f67;--theme-muted:#456c79;--theme-decoration:'🐚';--theme-decor-a:'☀️';--theme-decor-b:'🐚';--theme-decor-c:'⛱️';--theme-decor-d:'🌊'}
html[data-vgt-theme="herbst"]{--theme-primary:#986033;--theme-deep:#66391f;--theme-accent:#9a5528;--theme-soft:#f3e4d4;--theme-soft-2:#fdf9f3;--theme-border:#d8b795;--theme-heading:#5c351f;--theme-muted:#745b49;--theme-decoration:'🍂';--theme-decor-a:'🍂';--theme-decor-b:'🎃';--theme-decor-c:'🍁';--theme-decor-d:'🌰'}
html[data-vgt-theme="winter"]{--theme-primary:#47779b;--theme-deep:#284e6d;--theme-accent:#397697;--theme-soft:#e2eef7;--theme-soft-2:#f7fafc;--theme-border:#b3cbdd;--theme-heading:#244e69;--theme-muted:#506b7d;--theme-decoration:'❄️';--theme-decor-a:'❄️';--theme-decor-b:'☃️';--theme-decor-c:'🌲';--theme-decor-d:'✦'}

html:not([data-vgt-theme="standard"]) body{background:linear-gradient(180deg,var(--theme-soft-2),var(--bg) 330px)}
html:not([data-vgt-theme="standard"]) #nav{background:var(--theme-primary)}
html:not([data-vgt-theme="standard"]) #nav a{color:var(--theme-on-primary)}
html:not([data-vgt-theme="standard"]) #nav a:hover{background:color-mix(in srgb,var(--theme-deep) 48%,transparent)}
html:not([data-vgt-theme="standard"]) #nav a.active{background:var(--theme-deep);border-bottom-color:color-mix(in srgb,var(--theme-accent) 65%,white)}
html:not([data-vgt-theme="standard"]) button.primary,
html:not([data-vgt-theme="standard"]) .button-like.primary{background:var(--theme-primary);border-color:var(--theme-primary);color:var(--theme-on-primary)}
html:not([data-vgt-theme="standard"]) button:not(.primary):not(.danger):not(.chosen):not(.active):not(.selected):hover{border-color:var(--theme-primary);background:var(--theme-soft);color:var(--theme-deep)}
html:not([data-vgt-theme="standard"]) button:focus-visible,
html:not([data-vgt-theme="standard"]) a:focus-visible,
html:not([data-vgt-theme="standard"]) input:focus-visible,
html:not([data-vgt-theme="standard"]) select:focus-visible{outline-color:color-mix(in srgb,var(--theme-accent) 70%,white)}
html:not([data-vgt-theme="standard"]) :where(h1,h2,h3,.pagehead h1,.panel h2){color:var(--theme-heading)}
html:not([data-vgt-theme="standard"]) :where(.eyebrow,.finance-kicker,.team-kicker,.holiday-kicker){color:var(--theme-accent)}

/* Haupt- und Unterreiter in allen Programmteilen. */
html:not([data-vgt-theme="standard"]) :where(.admin-tabs,.team-tabs,.finance-tabs,.workspace-subtabs,.event-detail-tabs,.holiday-tabs,.calendar-plan-tabs){background:var(--theme-soft);border-color:var(--theme-border)}
html:not([data-vgt-theme="standard"]) :where(.admin-tabs,.team-tabs,.finance-tabs,.workspace-subtabs,.event-detail-tabs,.holiday-tabs,.calendar-plan-tabs) button{color:var(--theme-heading)}
html:not([data-vgt-theme="standard"]) :where(.admin-tabs button.active,.team-tabs button.chosen,.finance-tabs button.chosen,.workspace-subtabs button.chosen,.event-detail-tabs button.chosen,.holiday-tabs button.chosen,.calendar-plan-tabs button.selected){background:#fff;color:var(--theme-deep);border-bottom-color:var(--theme-accent);box-shadow:inset 0 -1px var(--theme-accent)}
html:not([data-vgt-theme="standard"]) :where(.team-shell,.finance-shell){border-color:var(--theme-border);border-top-color:var(--theme-primary)}
html:not([data-vgt-theme="standard"]) :where(.team-content,.finance-content){background:var(--theme-soft-2)}

/* Markante Flächen jeder Hauptfunktion greifen dieselbe Jahreszeitenpalette auf. */
html:not([data-vgt-theme="standard"]) :where(.home-welcome,.dash-welcome,.team-hero,.team-hero.vorturner,.group-hero,.event-hero,.gym-info,.integration-intro,.holiday-control,.cal-side-title,.holiday-week>header,.protocol-tools,.council-minute-workspace>header){background:linear-gradient(125deg,var(--theme-deep),var(--theme-primary));color:#fff}
html:not([data-vgt-theme="standard"]) :where(.calendar-topbar,.event-detail-tabs,.group-change-requirements,.journal-line,.event-member-picker){background:var(--theme-soft)}
html:not([data-vgt-theme="standard"]) :where(.cal-view-buttons .chosen,.workspace-calendar-tools button.chosen,.team-tabs .team-new,.workspace-request-count,.gym-section-head>b){background:var(--theme-primary);border-color:var(--theme-primary);color:#fff}
html:not([data-vgt-theme="standard"]) :where(.panel,.event-project-card,.workspace-day,.workspace-month-day,.finance-metric){border-color:var(--theme-border)}
html:not([data-vgt-theme="standard"]) :where(.team-stats article,.event-summary article,.workspace-request,.finance-metric){border-left-color:var(--theme-accent)}
html:not([data-vgt-theme="standard"]) :where(.finance-bar em,.calendar-mini-days span.today,.event-detail-tabs button.chosen span){background:var(--theme-accent)}

/* Lesbarkeit: Auf dunklen Saisonflächen bleibt sämtlicher Fließ- und Überschriftentext hell. */
html:not([data-vgt-theme="standard"]) :where(.home-welcome,.dash-welcome,.team-hero,.group-hero,.event-hero,.gym-info,.integration-intro,.holiday-control,.cal-side-title,.holiday-week>header,.protocol-tools,.council-minute-workspace>header) :where(h1,h2,h3,p,strong,.eyebrow,.home-kicker,.team-kicker,.finance-kicker,.holiday-kicker){color:#fff}
html:not([data-vgt-theme="standard"]) :where(.home-welcome,.dash-welcome,.team-hero,.group-hero,.event-hero,.gym-info,.integration-intro,.holiday-control,.cal-side-title,.holiday-week>header,.protocol-tools,.council-minute-workspace>header) :where(small,.muted){color:#eaf4f1}
html:not([data-vgt-theme="standard"]) .team-hero>div:nth-child(2)>span,
html:not([data-vgt-theme="standard"]) .home-welcome .home-kicker,
html:not([data-vgt-theme="standard"]) .dash-welcome .eyebrow{color:#d9fff2}

/* Verweise und Schnellzugriffe verwenden die jeweilige Saisonfarbe statt Rest-Blau. */
html:not([data-vgt-theme="standard"]) main a:not(.primary):not(.button-like){color:var(--theme-deep)}
html:not([data-vgt-theme="standard"]) :where(.home-shortcuts-list>button,.personal-link-open,.dash-quick button,.home-links>button){border-color:var(--theme-border);background:var(--theme-soft-2);color:var(--theme-heading)}
html:not([data-vgt-theme="standard"]) :where(.home-shortcuts-list>button,.personal-link-open,.dash-quick button,.home-links>button) :where(b,strong){color:var(--theme-deep)}
html:not([data-vgt-theme="standard"]) :where(.home-shortcuts-list>button,.personal-link-open,.dash-quick button,.home-links>button):hover{border-color:var(--theme-primary);background:var(--theme-soft);color:var(--theme-deep);box-shadow:0 4px 11px color-mix(in srgb,var(--theme-deep) 18%,transparent)}

/* Primäre, ausgewählte und gefährliche Knöpfe dürfen beim Hover nie verblassen. */
html:not([data-vgt-theme="standard"]) :where(button.primary,.button-like.primary):hover{background:var(--theme-deep);border-color:var(--theme-deep);color:#fff}
html:not([data-vgt-theme="standard"]) :where(button.chosen,button.active,button.selected):hover{background:#fff;border-color:var(--theme-primary);color:var(--theme-deep)}
html:not([data-vgt-theme="standard"]) button.danger:hover{background:#8d302b;border-color:#8d302b;color:#fff}
html:not([data-vgt-theme="standard"]) button:disabled:hover{opacity:.58;cursor:not-allowed}

/* Saisonfarben auch in häufig genutzten Arbeitsbereichen statt fest codiertem VGT-Blau. */
html:not([data-vgt-theme="standard"]) :where(.home-section-title h2,.home-next h2,.home-links h2,.home-shortcuts-head h2,.dash-section-title h2,.personal-link-head h2,.team-panel h2,.council-meeting-main h3){color:var(--theme-heading)}
html:not([data-vgt-theme="standard"]) :where(.home-section-title span,.dash-section-title span,.team-kicker,.home-kicker,.eyebrow){color:var(--theme-accent)}
html:not([data-vgt-theme="standard"]) :where(.home-announcement,.dash-primary,.dash-aside>section,.team-panel,.personal-link-panel){border-color:var(--theme-border)}
html:not([data-vgt-theme="standard"]) :where(.home-shortcuts-head p,.home-announcement footer small,.dash-task small,.dash-event small,.team-panel p,.team-panel small){color:var(--theme-muted)}
html:not([data-vgt-theme="standard"]) .personal-dashboard-area{background:var(--theme-soft);box-shadow:0 6px 20px color-mix(in srgb,var(--theme-deep) 14%,transparent)}
html:not([data-vgt-theme="standard"]) .personal-dashboard-area>header{background:linear-gradient(110deg,var(--theme-deep),var(--theme-primary));color:#fff}
html:not([data-vgt-theme="standard"]) .personal-dashboard-area>header :where(h2,.eyebrow){color:#fff}
html:not([data-vgt-theme="standard"]) .personal-dashboard-area-content{background:var(--theme-soft)}
html:not([data-vgt-theme="standard"]) .personal-dashboard-area-content :where(.panel,.trainer-request-panel,.turn-plan-panel){border-color:var(--theme-border)}
html:not([data-vgt-theme="standard"]) body[data-page='gruppen'] .real-group-switch{background:linear-gradient(125deg,var(--theme-deep),var(--theme-primary));box-shadow:0 7px 20px color-mix(in srgb,var(--theme-deep) 18%,transparent)}
html:not([data-vgt-theme="standard"]) body[data-page='gruppen'] .real-group-profile{border-color:var(--theme-border);background:var(--theme-soft)}
html:not([data-vgt-theme="standard"]) body[data-page='gruppen'] .real-group-switch :where(label,span){color:#fff}
html:not([data-vgt-theme="standard"]) :where(.home-section-title>b,.dash-section-title>b,.home-admin-note button,.home-shortcuts-empty button){background:var(--theme-primary);border-color:var(--theme-primary);color:#fff}

/* Saisonale Zierde wird bewusst einzeln gesetzt. Die Motive liegen versetzt an
   Kanten und freien Flächen, statt als technisch wirkende Symbolreihe aufzutreten. */
html:not([data-vgt-theme="standard"]) header .brand::after{content:var(--theme-decor-a);display:inline-block;margin-left:8px;font-size:17px;filter:saturate(.78);opacity:.72;transform:rotate(-14deg)}
html:not([data-vgt-theme="standard"]) main{position:relative;isolation:isolate}
html:not([data-vgt-theme="standard"]) main::before{content:var(--theme-decor-c);position:fixed;right:19px;top:146px;z-index:-1;font-size:42px;opacity:.19;transform:rotate(13deg);pointer-events:none}
html:not([data-vgt-theme="standard"]) main::after{content:var(--theme-decor-b);position:fixed;left:12px;bottom:10px;z-index:-1;font-size:55px;opacity:.2;transform:rotate(-18deg);pointer-events:none}
html:not([data-vgt-theme="standard"]) .pagehead{position:relative}
html:not([data-vgt-theme="standard"]) .pagehead::after{content:var(--theme-decor-d);display:block;margin:3px 15px 0 auto;font-size:22px;opacity:.46;transform:rotate(8deg)}
html:not([data-vgt-theme="standard"]) :where(.home-welcome,.home-shortcuts,.team-shell,.finance-shell,.admin-shell,.dashboard,.real-group-profile){position:relative}
html:not([data-vgt-theme="standard"]) :where(.home-welcome,.team-shell,.finance-shell,.admin-shell,.dashboard,.real-group-profile)>*{position:relative;z-index:1}

/* Startseite: Motive lehnen ungleichmäßig an verschiedenen Kartenecken. */
html:not([data-vgt-theme="standard"]) .home-welcome::before{content:var(--theme-decor-c);position:absolute;right:92px;top:9px;z-index:0;font-size:23px;opacity:.13;transform:rotate(-24deg);pointer-events:none}
html:not([data-vgt-theme="standard"]) .home-welcome::after{content:var(--theme-decor-b);position:absolute;right:31px;bottom:-13px;z-index:0;font-size:58px;opacity:.16;transform:rotate(12deg);pointer-events:none}
html:not([data-vgt-theme="standard"]) .home-shortcuts::after{content:var(--theme-decor-d);position:absolute;right:-7px;top:44%;font-size:25px;opacity:.23;transform:rotate(-19deg);pointer-events:none}

/* Arbeitsbereiche erhalten jeweils nur ein anderes, versetzt gesetztes Motiv. */
html:not([data-vgt-theme="standard"]) .team-shell::after{content:var(--theme-decor-a);position:absolute;right:37px;top:18px;z-index:0;font-size:29px;opacity:.2;transform:rotate(-17deg);pointer-events:none}
html:not([data-vgt-theme="standard"]) .admin-shell::after{content:var(--theme-decor-c);position:absolute;right:18px;top:74px;z-index:0;font-size:38px;opacity:.15;transform:rotate(21deg);pointer-events:none}
html:not([data-vgt-theme="standard"]) .finance-shell::after{content:var(--theme-decor-d);position:absolute;right:27px;top:12px;z-index:0;font-size:21px;opacity:.3;transform:rotate(16deg);pointer-events:none}
html:not([data-vgt-theme="standard"]) .dashboard::after{content:var(--theme-decor-a);position:absolute;right:4px;top:38%;z-index:0;font-size:34px;opacity:.14;transform:rotate(-10deg);pointer-events:none}
html:not([data-vgt-theme="standard"]) .real-group-profile::before{content:var(--theme-decor-c);position:absolute;left:-13px;top:34%;z-index:0;font-size:25px;opacity:.12;transform:rotate(-26deg);pointer-events:none}
html:not([data-vgt-theme="standard"]) .real-group-profile::after{content:var(--theme-decor-b);position:absolute;right:-10px;bottom:23%;z-index:0;font-size:47px;opacity:.13;transform:rotate(15deg);pointer-events:none}

/* Kleine Akzente erscheinen nur an ausgewählten, freien Stellen und nicht nach einem Raster. */
html:not([data-vgt-theme="standard"]) .home-announcements>.home-announcement:nth-child(3n+2){position:relative}
html:not([data-vgt-theme="standard"]) .home-announcements>.home-announcement:nth-child(3n+2)::after{content:var(--theme-decor-c);position:absolute;right:8px;bottom:7px;font-size:16px;opacity:.1;transform:rotate(-23deg);pointer-events:none}
html:not([data-vgt-theme="standard"]) :where(.home-announcement,.team-stats article,.dash-card,.event-project-card,.finance-metric){background-image:linear-gradient(135deg,transparent 82%,color-mix(in srgb,var(--theme-soft) 72%,transparent));}

/* Auch im Winter müssen Bezeichnung und Gruppenname auf der blauen Fläche klar lesbar sein. */
html:not([data-vgt-theme="standard"]) body[data-page='gruppen'] :where(.group-hero h2,.group-hero .eyebrow,.group-hero>div:first-child p,.group-hero .group-facts span,.group-hero .group-facts small,.real-group-switch label,.real-group-switch>span){color:#fff!important}

/* Die Wintermotive bilden kleine, unregelmäßige Szenen: kein Symbolraster. */
html[data-vgt-theme="winter"] .home-welcome::before{right:112px;top:14px;font-size:18px;transform:rotate(-31deg)}
html[data-vgt-theme="winter"] .home-welcome::after{right:24px;bottom:-17px;font-size:64px;transform:rotate(7deg)}
html[data-vgt-theme="winter"] .real-group-profile::before{left:-15px;top:29%;font-size:31px;transform:rotate(-11deg)}
html[data-vgt-theme="winter"] .real-group-profile::after{right:-8px;bottom:17%;font-size:57px;transform:rotate(9deg)}

/* Herbstlaub und Kürbis sitzen bewusst in unterschiedlichen Größen und Winkeln. */
html[data-vgt-theme="herbst"] .home-welcome::before{right:126px;top:7px;font-size:19px;transform:rotate(28deg)}
html[data-vgt-theme="herbst"] .home-welcome::after{right:22px;bottom:-18px;font-size:67px;transform:rotate(-8deg)}
html[data-vgt-theme="herbst"] .real-group-profile::before{left:-11px;top:38%;font-size:22px;transform:rotate(33deg)}
html[data-vgt-theme="herbst"] .real-group-profile::after{right:-13px;bottom:19%;font-size:54px;transform:rotate(-13deg)}

/* Frühling und Sommer verwenden dieselbe freie Anordnung, aber eigene Abstände. */
html[data-vgt-theme="fruehling"] .home-welcome::before{right:104px;top:11px;transform:rotate(-18deg)}
html[data-vgt-theme="fruehling"] .home-welcome::after{right:27px;bottom:-16px;font-size:61px;transform:rotate(11deg)}
html[data-vgt-theme="sommer"] .home-welcome::before{right:138px;top:8px;font-size:27px;transform:rotate(-9deg)}
html[data-vgt-theme="sommer"] .home-welcome::after{right:26px;bottom:-12px;font-size:55px;transform:rotate(18deg)}

/* Zeitlich begrenzte Varianten des gewählten Profils. */
html[data-vgt-seasonal-event="halloween"]{--theme-accent:#a95623;--theme-decoration:'🎃';--theme-decor-a:'🎃';--theme-decor-b:'🕸️';--theme-decor-c:'🕷️';--theme-decor-d:'💀'}
html[data-vgt-seasonal-event="halloween"] main::before{font-size:35px;opacity:.34;transform:rotate(19deg)}
html[data-vgt-seasonal-event="halloween"] main::after{font-size:52px;opacity:.29;transform:rotate(-8deg)}
html[data-vgt-seasonal-event="weihnachten"]{--theme-accent:#39745a;--theme-decoration:'🎄';--theme-decor-a:'🎄';--theme-decor-b:'🎁';--theme-decor-c:'🔔';--theme-decor-d:'✨'}
html[data-vgt-seasonal-event="weihnachten"] main::before{font-size:38px;opacity:.34;transform:rotate(13deg)}
html[data-vgt-seasonal-event="weihnachten"] main::after{font-size:49px;opacity:.3;transform:rotate(-11deg)}

@media(max-width:700px){html:not([data-vgt-theme="standard"]) header .brand::after{display:none}html:not([data-vgt-theme="standard"]) main::before{right:4px;top:119px;font-size:24px;opacity:.09}html:not([data-vgt-theme="standard"]) main::after{left:4px;bottom:6px;font-size:30px;opacity:.08}html:not([data-vgt-theme="standard"]) .home-welcome::after{right:10px;font-size:34px;opacity:.09}html:not([data-vgt-theme="standard"]) :where(.team-shell,.admin-shell,.finance-shell,.dashboard,.real-group-profile)::after{font-size:20px;opacity:.08}html:not([data-vgt-theme="standard"]) .home-shortcuts::after{display:none}}
@media(prefers-reduced-motion:reduce){html:not([data-vgt-theme="standard"]) *{scroll-behavior:auto!important}}
