/* Published WordPress tokens are the sole JFV presentation source. */
body:has([data-vereinapp-shell]){
  font-family:var(--platform-font)!important;font-size:var(--platform-font-size)!important;
  color:var(--platform-text)!important;background:var(--platform-background)!important;
}
.vereinapp-platform-header,.vereinapp-platform-footer{
  box-sizing:border-box;max-width:var(--platform-width);width:100%;margin:0 auto;
  font-family:var(--platform-font);font-size:var(--platform-font-size);line-height:1.5;
}
.vereinapp-platform-header *,.vereinapp-platform-footer *{box-sizing:border-box}
.vereinapp-home{display:block;background:#fff;--platform-header-height:var(--platform-header-max-desktop,160px)}
.vereinapp-banner{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:var(--platform-header-height)!important;margin:0 auto!important;object-fit:contain}
@media(max-width:1023px){.vereinapp-home{--platform-header-height:var(--platform-header-max-tablet,120px)}}
@media(max-width:600px){.vereinapp-home{--platform-header-height:var(--platform-header-max-mobile,88px)}}
.vereinapp-site-title{display:block;font-size:1.5em;padding:var(--platform-spacing)}
.vereinapp-platform-nav{
  display:flex;align-items:flex-start;justify-content:space-between;gap:8px;
  background:var(--platform-nav-background);color:var(--platform-nav-text);padding:4px 8px;
}
.vereinapp-platform-nav a,.vereinapp-platform-nav button,.vereinapp-platform-nav summary{
  font:inherit!important;font-weight:600!important;color:var(--platform-nav-text)!important;
  background:transparent!important;display:inline-flex;align-items:center;
  min-height:44px;min-width:44px;padding:10px 12px!important;border:0;border-radius:4px;text-decoration:none;cursor:pointer;
}
.vereinapp-platform-nav a:hover,.vereinapp-platform-nav button:hover,.vereinapp-platform-nav summary:hover{background:#ffffff1f!important}
.vereinapp-platform-nav :focus-visible,.vereinapp-platform-footer :focus-visible{
  outline:3px solid currentColor!important;outline-offset:3px!important;
}
.vereinapp-site-menu>summary{display:none}
.vereinapp-site-menu{flex:1;min-width:0}
.vereinapp-site-menu:not([open])>ul{display:flex!important}
.vereinapp-site-menu ul{list-style:none;margin:0!important;padding:0!important;display:flex;flex-wrap:wrap;align-items:center;gap:0}
.vereinapp-site-menu li{position:relative;margin:0;padding:0}
.vereinapp-site-menu li details>ul{position:absolute;top:100%;left:0;z-index:1000;min-width:220px;background:var(--platform-nav-background);display:block;box-shadow:0 4px 12px #0004}
.vereinapp-session-menu{flex:none;display:flex;align-items:center}
.vereinapp-session-menu details{position:relative}
.vereinapp-session-menu details>div{position:absolute;right:0;top:100%;min-width:220px;z-index:1001;padding:8px;background:var(--platform-nav-background);box-shadow:0 4px 12px #0004}
.vereinapp-session-menu details a,.vereinapp-session-menu details button{display:flex;width:100%}
.vereinapp-session-menu form{margin:0}
.vereinapp-app-navigation{padding:var(--platform-spacing);background:var(--platform-background);color:var(--platform-text)}
.vereinapp-platform-footer{margin-top:32px;padding:24px var(--platform-spacing);background:var(--platform-footer-background);color:var(--platform-footer-text)}
.vereinapp-platform-footer a{color:inherit!important;text-decoration:underline;text-underline-offset:3px}
.vereinapp-platform-footer p:last-child{margin-bottom:0}
body:has([data-vereinapp-shell]) h1,body:has([data-vereinapp-shell]) h2,body:has([data-vereinapp-shell]) h3,
body:has([data-vereinapp-shell]) input,body:has([data-vereinapp-shell]) select,
body:has([data-vereinapp-shell]) textarea,body:has([data-vereinapp-shell]) button{font-family:var(--platform-font)!important}
body:has([data-vereinapp-shell]) .page{max-width:var(--platform-width);padding-inline:var(--platform-spacing)}
body:has([data-vereinapp-shell]) .app-design-art{display:none}
body:has([data-vereinapp-shell]) .app-design-header{background:none!important}
body:has([data-vereinapp-shell]) .app-shell{max-width:var(--platform-width)}
body:has([data-vereinapp-shell]) .app-shell-top{display:none!important}
body:has([data-vereinapp-shell]) .app-primary-nav{background:var(--platform-background)!important}
body:has([data-vereinapp-shell]) .app-primary-nav>a,body:has([data-vereinapp-shell]) .app-primary-nav>button{color:var(--platform-text)!important;min-height:44px}
body:has([data-vereinapp-shell]) .app-context-row{margin-block:8px}
.vereinapp-session-warning{border:2px solid var(--platform-primary,#bc1420);border-radius:12px;max-width:min(480px,calc(100vw - 32px));padding:24px;font:inherit}
.vereinapp-session-warning::backdrop{background:#0008}
.vereinapp-session-warning button{min-height:44px;padding:10px 16px;margin:8px 8px 0 0}
.vereinapp-session-warning p{margin-block:12px}
@media(max-width:1023px){
 .vereinapp-site-menu>summary{display:inline-flex}
 .vereinapp-site-menu:not([open])>ul{display:none!important}
 .vereinapp-site-menu[open]>ul{display:block}
 .vereinapp-site-menu li details>ul{position:static;box-shadow:none;padding-left:12px!important}
 .vereinapp-platform-nav{align-items:flex-start}
 .vereinapp-platform-nav a,.vereinapp-platform-nav summary{font-size:1rem!important}
 .vereinapp-session-menu summary{max-width:210px;overflow-wrap:anywhere}
 .vereinapp-platform-footer{padding:20px 16px}
}
@media(prefers-reduced-motion:reduce){[data-vereinapp-shell] *{scroll-behavior:auto!important;transition:none!important}}


/* Shared presentation overrides are scoped to the published WordPress shell. */
html:has([data-vereinapp-shell]){font-size:var(--platform-font-size)!important}
body:has([data-vereinapp-shell]){margin:0!important;padding-top:0!important;padding-inline:0!important}
body:has([data-vereinapp-shell]) .v462-login-page{padding-top:24px!important;padding-bottom:24px}
body:has([data-vereinapp-shell]) .v462-login-page .card{margin-top:0}
body:has([data-vereinapp-shell]) .app-design-footer{background:var(--platform-background)!important}
body:has([data-vereinapp-shell]) .app-design-footer .app-version{display:none!important}
body:has([data-vereinapp-shell]) .app-shell{padding:0 var(--platform-spacing);margin-inline:auto}
body:has([data-vereinapp-shell]) .app-primary-nav{margin-bottom:0}
.vereinapp-app-navigation[hidden]{display:none!important}
.vereinapp-app-navigation{padding:12px var(--platform-spacing);border-bottom:1px solid #d8dce3}
.vereinapp-app-navigation .app-context-row{margin:0 0 8px}
.vereinapp-app-navigation .app-context-switcher{display:block;border:1px solid #d8dce3;border-radius:10px;background:var(--platform-background);padding:10px;position:relative}
.vereinapp-app-navigation .app-context-switcher summary{cursor:pointer}
.vereinapp-app-navigation .app-context-main,.vereinapp-app-navigation .app-context-sub{display:block}
.vereinapp-app-navigation .app-context-sub{font-size:.875rem}
.vereinapp-app-navigation .app-context-menu{padding:12px}
.vereinapp-app-navigation .app-context-menu form{margin:4px 0}
.vereinapp-app-navigation .app-context-menu button{display:block;width:100%;text-align:left}
.vereinapp-app-navigation .app-context-menu button strong,.vereinapp-app-navigation .app-context-menu button small{display:block}
.vereinapp-app-navigation .app-primary-nav{display:flex;gap:4px;flex-wrap:wrap}
.vereinapp-app-navigation a,.vereinapp-app-navigation button{font:inherit;min-height:44px;padding:10px 12px;color:var(--platform-text)!important;text-decoration:none;border-radius:6px}
.vereinapp-app-navigation button{border:1px solid #d8dce3;background:var(--platform-background)}
.vereinapp-app-navigation .app-more-panel[hidden]{display:none!important}
.vereinapp-app-navigation .app-more-panel{padding:16px 0}
.vereinapp-app-navigation .app-more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.vereinapp-app-navigation .app-more-grid a{display:block}
.vereinapp-app-navigation input{width:100%;min-height:44px;font:inherit}
@media(min-width:761px){body:has([data-vereinapp-shell]) .app-design-footer{display:none!important}}

/* Gutenberg columns must shrink around long links and labels on small screens. */
body:has([data-vereinapp-shell]) .mg-card-box .wp-block-column{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
body:has([data-vereinapp-shell]) .mg-card-box .wp-block-columns{max-width:100%;box-sizing:border-box}


/* Imported hero content keeps its image and editor content, with mobile spacing. */
@media(max-width:1023px){
 body:has([data-vereinapp-shell]) .mg-card-box .wp-block-cover.hero{
  padding-block:clamp(48px,12vw,120px)!important;
  padding-inline:clamp(16px,4vw,40px)!important;
  min-height:0;
 }
 body:has([data-vereinapp-shell]) .mg-card-box .wp-block-cover.hero p{
  overflow-wrap:anywhere;
 }
}
@media(max-width:600px){
 body:has([data-vereinapp-shell]) .mg-card-box .wp-block-cover.hero p[style*="font-size:50px"]{
  font-size:clamp(1.5rem,6vw,2rem)!important;
 }
}

/* Newsup's generic image rule must not collapse a Gutenberg cover background. */
body:has([data-vereinapp-shell]) .mg-card-box .wp-block-cover>img.wp-block-cover__image-background{height:100%!important;width:100%!important;object-fit:cover}


/* Imported oversized paragraphs need relative leading instead of the theme 30px. */
body:has([data-vereinapp-shell]) .mg-card-box .wp-block-cover.hero p[style*="font-size:50px"]{line-height:1.2}

/* Responsive original banner; shared by website and authenticated application. */
.vereinapp-banner-frame{position:relative;background:#101317;overflow:hidden}
.vereinapp-banner-responsive .vereinapp-home{background:#101317}
.vereinapp-banner-responsive .vereinapp-banner{width:100%!important;max-height:none!important;max-width:100%!important;margin:0!important}
.vereinapp-banner-responsive .vereinapp-banner-tablet,.vereinapp-banner-responsive .vereinapp-banner-mobile{display:none!important}
.vereinapp-banner-links{position:absolute;inset:82.5% 0 0;display:grid;grid-template-columns:14.5% 15.5% 13.5% 17% 15.5% 24%;z-index:2}
.vereinapp-banner-link{min-height:44px;display:block}.vereinapp-banner-link:hover{box-shadow:inset 0 0 0 2px #c51628;background:#fff1}.vereinapp-banner-link:focus-visible{outline:3px solid #ffd179;outline-offset:-4px}
.vereinapp-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.vereinapp-platform-footer>div{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px}.vereinapp-platform-footer p{font-size:.85rem}.vereinapp-platform-footer a{display:inline-flex;min-height:32px;align-items:center}.vereinapp-platform-footer ul{list-style:none;padding:0;margin:0}.vereinapp-platform-footer li{margin:0}
@media(max-width:1023px){.vereinapp-banner-responsive .vereinapp-banner-desktop{display:none!important}.vereinapp-banner-responsive .vereinapp-banner-tablet{display:block!important}.vereinapp-banner-links{inset:74.2% 0 0;grid-template-columns:16.5% 18.5% 19% 17% 29%}.vereinapp-banner-link-future{display:none}.vereinapp-platform-footer>div{gap:20px}}
@media(max-width:600px){.vereinapp-banner-responsive .vereinapp-banner-tablet{display:none!important}.vereinapp-banner-responsive .vereinapp-banner-mobile{display:block!important}.vereinapp-banner-links{inset:78.5% 0 0;grid-template-columns:37% 28% 35%;transform:translateY(-9px)}.vereinapp-banner-link-community,.vereinapp-banner-link-people{display:none}.vereinapp-platform-footer>div{grid-template-columns:1fr}.vereinapp-platform-footer a{min-height:40px}}

.vereinapp-platform-header{position:relative}.vereinapp-banner-links{inset:auto 0 0;height:max(44px,17.5%)}
@media(max-width:1023px){.vereinapp-banner-links{height:max(44px,25.8%)}}
@media(max-width:600px){
 .vereinapp-banner-links{height:44px;transform:none}
 .vereinapp-banner-responsive+.vereinapp-platform-nav{position:static}
 .vereinapp-banner-responsive+.vereinapp-platform-nav .vereinapp-site-menu{position:static}
 .vereinapp-banner-responsive+.vereinapp-platform-nav .vereinapp-site-menu>summary{position:absolute;top:2px;right:4px;width:44px;height:44px;display:grid;place-items:center;font-size:0!important;line-height:1;list-style:none;color:#fff!important;background:#101317;border-radius:4px;z-index:3;padding:0!important}
 .vereinapp-banner-responsive+.vereinapp-platform-nav .vereinapp-site-menu>summary::after{content:'☰';font-size:28px}
}

/* Website, login and authenticated routes share the same complete banner. */
.vereinapp-app-surface .vereinapp-banner-frame{width:100%;max-width:none;margin-inline:0}
.vereinapp-platform-footer a[href="https://team4b.de/"]{vertical-align:middle}
.vereinapp-platform-footer a[href="https://team4b.de/"] img{display:block;width:120px!important;height:auto!important;max-width:100%;aspect-ratio:2/1;object-fit:contain}
@media(max-width:600px){.vereinapp-app-surface .vereinapp-banner-responsive+.vereinapp-platform-nav .vereinapp-site-menu>summary{right:4px}}

/* The published WordPress height controls apply equally to website and app.
   The complete selected artwork stays proportional and keeps its own link frame. */
.vereinapp-platform-header{background:var(--platform-nav-background)}
.vereinapp-banner-frame,.vereinapp-app-surface .vereinapp-banner-frame{width:max-content;max-width:100%;margin-inline:auto}
.vereinapp-banner-responsive .vereinapp-banner{width:auto!important;max-height:var(--platform-header-height)!important;max-width:100%!important;margin-inline:auto!important}
.vereinapp-platform-nav{padding:6px 12px}
.vereinapp-site-menu li details>ul{border-radius:0 0 10px 10px;padding:8px!important;max-width:min(360px,calc(100vw - 32px))}
.vereinapp-site-menu li details>ul a{width:100%}
.vereinapp-platform-nav summary{list-style:none;gap:8px}
.vereinapp-platform-nav summary::-webkit-details-marker{display:none}
.vereinapp-site-menu li details>summary::after{content:'⌄'}
.vereinapp-site-menu li details[open]>summary::after{content:'⌃'}
.vereinapp-platform-nav a[aria-current=page]{box-shadow:inset 0 -3px var(--platform-primary)}
.vereinapp-app-navigation .app-mobile-nav{display:none}
.vereinapp-app-navigation svg{width:20px;height:20px;flex-shrink:0}
.vereinapp-app-navigation .app-context-switcher{padding:0}
.vereinapp-app-navigation .app-context-switcher>summary{padding:12px 14px;min-height:48px}
.vereinapp-app-navigation .app-context-menu{position:absolute;left:0;right:0;z-index:60;background:var(--platform-background);border:1px solid #d8dce3;border-radius:12px;box-shadow:0 12px 32px #0002;max-height:min(60dvh,560px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.vereinapp-app-navigation .app-context-close{position:sticky;top:0;z-index:1;text-align:right!important;background:var(--platform-background)}
.vereinapp-app-navigation .app-context-group-title{font-weight:750;padding:14px 6px 6px}
.vereinapp-app-navigation .app-primary-nav a,.vereinapp-app-navigation .app-primary-nav button{display:inline-flex;align-items:center;gap:8px}
.vereinapp-app-navigation .app-more-panel{max-height:65dvh;overflow:auto;overscroll-behavior:contain}
.vereinapp-app-navigation .app-more-panel h3{font-size:1rem;letter-spacing:0}
.vereinapp-app-navigation a:focus-visible,.vereinapp-app-navigation button:focus-visible,.vereinapp-app-navigation summary:focus-visible{outline:3px solid var(--platform-primary);outline-offset:2px}
@media(max-width:1023px){
 .vereinapp-platform-nav{padding:8px 12px}
 .vereinapp-site-menu li details>ul{max-width:none;border-radius:0;box-shadow:none}
 .vereinapp-site-menu[open]>ul{padding-top:8px!important}
 .vereinapp-platform-nav a,.vereinapp-platform-nav summary{min-height:48px}
}
@media(max-width:767px){
 body:has(.vereinapp-app-navigation:not([hidden]) .app-mobile-nav){padding-bottom:calc(90px + env(safe-area-inset-bottom))!important}
 .vereinapp-app-navigation .app-primary-nav{display:none!important}
 .vereinapp-app-navigation .app-mobile-nav{position:fixed;inset:auto 8px max(6px,env(safe-area-inset-bottom));z-index:70;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:2px;min-height:64px;padding:4px;background:var(--platform-background);border:1px solid #d8dce3;border-radius:16px;box-shadow:0 4px 22px #0002}
 .vereinapp-app-navigation .app-mobile-nav a,.vereinapp-app-navigation .app-mobile-nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:56px;padding:5px 2px;border:0;line-height:1.2;overflow-wrap:anywhere}
 .vereinapp-app-navigation .app-mobile-nav small{font-size:.75rem;margin-top:4px}
 .vereinapp-app-navigation .app-mobile-nav button[aria-expanded=true]{background:color-mix(in srgb,var(--platform-primary) 12%,var(--platform-background))}
 .vereinapp-app-navigation .app-more-panel{position:fixed;left:12px;right:12px;bottom:calc(88px + env(safe-area-inset-bottom));z-index:65;max-height:calc(100dvh - 112px - env(safe-area-inset-bottom));padding:18px;border:1px solid #d8dce3;border-radius:16px;background:var(--platform-background);box-shadow:0 8px 30px #0003}
 .vereinapp-app-navigation .app-more-grid{grid-template-columns:minmax(0,1fr)}
 .vereinapp-app-navigation .app-context-switcher[open] .app-context-menu{position:fixed;left:12px;right:12px;top:12px;bottom:calc(88px + env(safe-area-inset-bottom));width:auto;max-height:none;z-index:80}
}
@media(prefers-reduced-motion:reduce){.vereinapp-app-navigation *{scroll-behavior:auto!important}}

/* Full artwork above a separate navigation row, on every screen size. */
.vereinapp-platform-header{display:block}
.vereinapp-banner-frame,.vereinapp-app-surface .vereinapp-banner-frame{margin-inline:auto}
@media(max-width:600px){
 .vereinapp-banner-responsive+.vereinapp-platform-nav .vereinapp-site-menu>summary{position:static;width:auto;height:auto;font-size:1rem!important;display:inline-flex;gap:8px;padding:8px 12px!important}
 .vereinapp-banner-responsive+.vereinapp-platform-nav .vereinapp-site-menu>summary::after{font-size:20px}
}

/* Capability flag: the app exposes the mobile bar only with its WordPress layout. */
[data-vereinapp-app-navigation]{--jfv-mobile-navigation-ready:1}

/* V484: edge-to-edge artwork with a distinct, integrated control bar. */
.vereinapp-platform-header.vereinapp-header-wide{width:100%;max-width:none}
.vereinapp-header-wide .vereinapp-banner-frame,.vereinapp-app-surface .vereinapp-header-wide .vereinapp-banner-frame{width:100%;max-width:none;margin:0}
.vereinapp-header-wide .vereinapp-home{width:100%}
.vereinapp-header-wide .vereinapp-banner,.vereinapp-header-wide .vereinapp-banner-responsive .vereinapp-banner{width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;margin:0!important}
.vereinapp-platform-header .vereinapp-platform-nav{position:relative;max-width:var(--platform-width);margin-inline:auto;align-items:center;min-height:64px;gap:16px;padding:8px 20px}
.vereinapp-platform-header .vereinapp-session-menu>a,.vereinapp-platform-header .vereinapp-session-menu>details>summary{border:1px solid #ffffff40!important;border-radius:9px;white-space:nowrap;background:#ffffff0d!important;gap:8px}
.vereinapp-platform-header .vereinapp-session-menu>a::before,.vereinapp-platform-header .vereinapp-session-menu>details>summary::before{content:'';display:block;width:18px;height:18px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a4 4 0 1 0 0 8 4 4 0 0 0 0-8ZM4 21v-2a8 8 0 0 1 16 0v2H4Z'/%3E%3C/svg%3E") center/contain no-repeat}
.vereinapp-header-wide .vereinapp-app-navigation{max-width:var(--platform-width);margin-inline:auto}
@media(max-width:1023px){
 .vereinapp-platform-header .vereinapp-platform-nav{padding:8px 16px;min-height:60px;align-items:center}
 .vereinapp-platform-header .vereinapp-site-menu{position:static}
 .vereinapp-platform-header .vereinapp-site-menu>summary{position:static!important;width:auto!important;height:auto!important;display:inline-flex!important;min-height:44px;font-size:1rem!important;border:1px solid #ffffff40;border-radius:9px;gap:9px;padding:8px 12px!important}
 .vereinapp-platform-header .vereinapp-site-menu>summary::before{content:'☰';font-size:20px;line-height:1}
 .vereinapp-platform-header .vereinapp-site-menu>summary::after{content:none!important}
 .vereinapp-platform-header .vereinapp-site-menu[open]>ul{position:absolute;top:100%;left:8px;right:8px;z-index:1000;background:var(--platform-nav-background);border:1px solid #ffffff30;border-radius:0 0 14px 14px;padding:12px!important;max-height:70dvh;overflow:auto;box-shadow:0 12px 30px #0003}
 .vereinapp-platform-header .vereinapp-site-menu>ul>li>a,.vereinapp-platform-header .vereinapp-site-menu>ul>li>details>summary{width:100%}
 .vereinapp-platform-header .vereinapp-session-menu summary{max-width:210px}
}

/* Account status and name stay readable beside the menu, including long names. */
.vereinapp-platform-header .vereinapp-session-menu{min-width:0;max-width:100%}
.vereinapp-platform-header .vereinapp-session-menu>details{min-width:0;max-width:100%}
.vereinapp-platform-header .vereinapp-session-menu>details>summary{white-space:normal;max-width:20rem;min-width:0}
.vereinapp-platform-header .vereinapp-session-menu>details>summary::before{flex-shrink:0}
.vereinapp-account-label{display:flex;flex-direction:column;min-width:0;text-align:left;line-height:1.25}
.vereinapp-account-status{font-size:.75em;font-weight:400}
.vereinapp-account-name{overflow-wrap:anywhere}
.vereinapp-platform-header .vereinapp-session-menu details>div{max-width:calc(100vw - 32px)}
@media(max-width:1023px){
 .vereinapp-platform-header .vereinapp-site-menu{flex:0 0 auto}
 .vereinapp-platform-header .vereinapp-session-menu{flex:0 1 auto;max-width:calc(100% - 7rem);margin-left:auto}
 .vereinapp-platform-header .vereinapp-session-menu>details>summary{max-width:100%}
}

/* V486: authenticated profile switcher in the shared header. */
.vereinapp-platform-nav.has-profile-switcher{gap:16px}
.vereinapp-platform-nav.has-profile-switcher .vereinapp-site-menu{flex:0 0 auto}
.vereinapp-profile-slot{position:relative;flex:1 1 340px;min-width:0;max-width:440px;margin-inline:auto}
.vereinapp-profile-slot .app-context-switcher{position:relative!important;overflow:visible!important;margin:0!important;padding:0!important;width:100%!important;border:0!important;background:transparent!important}
.vereinapp-platform-nav .vereinapp-profile-slot summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px!important;min-height:58px;padding:9px 16px!important;background:#fff!important;color:#172033!important;border:1px solid #d7dce5!important;border-radius:10px;box-shadow:0 2px 5px #0002;cursor:pointer;list-style:none}
.vereinapp-platform-nav .vereinapp-profile-slot summary:hover{background:#f4f7fb!important;border-color:#a5b2c6!important}
.vereinapp-profile-slot summary::-webkit-details-marker{display:none}
.vereinapp-profile-slot summary::after{content:'⌄';grid-column:2;grid-row:1 / 3;font-size:24px;line-height:1;align-self:center;color:#31466b}
.vereinapp-profile-slot details[open]>summary::after{content:'⌃'}
.vereinapp-profile-slot .app-context-main{display:block;grid-column:1;grid-row:2;font-size:15px!important;font-weight:750!important;color:#172033!important;line-height:1.25}
.vereinapp-profile-slot .app-context-sub{display:none}
.vereinapp-profile-label{grid-column:1;grid-row:1;font-size:11px;font-weight:600;letter-spacing:.03em;color:#58677d;line-height:1.3}
.vereinapp-profile-slot .app-context-menu{position:absolute!important;inset:calc(100% + 8px) 0 auto!important;width:100%!important;max-height:min(65dvh,480px)!important;overflow:auto;background:#fff!important;color:#172033!important;border:1px solid #d7dce5!important;border-radius:12px!important;box-shadow:0 14px 36px #0003!important;z-index:1050;padding:8px;box-sizing:border-box}
.vereinapp-platform-nav .vereinapp-profile-slot .app-context-menu button{display:block;width:100%;min-height:48px;background:#fff!important;color:#172033!important;border-radius:8px;text-align:left;white-space:normal}
.vereinapp-platform-nav .vereinapp-profile-slot .app-context-menu button:hover{background:#edf2f8!important}
.vereinapp-platform-nav .vereinapp-profile-slot .app-context-menu button.is-active{background:#edf4ef!important;box-shadow:inset 3px 0 #2d7050}
.vereinapp-profile-slot .app-context-menu strong,.vereinapp-profile-slot .app-context-menu small{display:block}
.vereinapp-profile-slot .app-context-menu small{font-size:12px;color:#59677a;font-weight:400;margin-top:3px}
.vereinapp-profile-slot .app-context-group-title{font-size:12px;line-height:1.4;padding:12px 10px 4px;text-transform:none;color:#59677a;letter-spacing:0}
.vereinapp-platform-nav .vereinapp-profile-slot .app-context-close{text-align:right;font-size:12px!important;min-height:36px}
.vereinapp-profile-slot :focus-visible{outline:3px solid #e1ae32!important;outline-offset:3px!important}
.vereinapp-platform-nav.has-profile-switcher>.vereinapp-session-menu{flex:0 1 auto;margin-left:0}
.vereinapp-platform-nav.has-profile-switcher>.vereinapp-site-menu>summary{display:inline-flex!important;border:1px solid #ffffff40!important;border-radius:9px;gap:8px}
.vereinapp-platform-nav.has-profile-switcher>.vereinapp-site-menu:not([open])>ul{display:none!important}
.vereinapp-platform-nav.has-profile-switcher>.vereinapp-site-menu[open]>ul{display:block!important;position:absolute;left:8px;right:8px;top:100%;z-index:1000;background:var(--platform-nav-background);border:1px solid #ffffff30;border-radius:0 0 12px 12px;padding:12px!important}
@media(min-width:1024px){.vereinapp-platform-nav.has-profile-switcher>.vereinapp-site-menu>summary::before{content:'☰';font-size:20px}}
@media(max-width:620px){
 .vereinapp-platform-nav.has-profile-switcher{flex-wrap:wrap;gap:10px 12px}
 .vereinapp-profile-slot{order:3;flex:1 1 100%;max-width:none;margin:0}
 .vereinapp-platform-nav.has-profile-switcher>.vereinapp-session-menu{margin-left:auto}
 .vereinapp-profile-slot .app-context-menu{max-height:calc(100dvh - 300px)!important}
}

.vereinapp-profile-slot[hidden]{display:none!important}

/* V487: compact mobile controls; desktop rules unchanged. */
.vereinapp-mobile-account-name,.vereinapp-profile-backdrop{display:none}
@media (max-width:620px) {
  .vereinapp-platform-header .vereinapp-platform-nav.has-profile-switcher {
    display:grid; grid-template-columns:44px minmax(0,1fr) 44px;
    align-items:center; gap:8px; min-height:64px; padding:8px 12px;
  }
  .vereinapp-platform-nav.has-profile-switcher>.vereinapp-site-menu { min-width:0; }
  .vereinapp-platform-nav.has-profile-switcher>.vereinapp-site-menu>summary {
    width:44px!important; height:48px!important; min-width:44px;
    padding:0!important; justify-content:center; gap:0; font-size:0!important;
  }
  .vereinapp-platform-nav.has-profile-switcher>.vereinapp-site-menu>summary::before {
    content:'☰'; font-size:22px; line-height:1;
  }
  .vereinapp-platform-nav.has-profile-switcher>.vereinapp-profile-slot {
    order:0; min-width:0; width:100%; max-width:none; margin:0;
  }
  .vereinapp-platform-nav .vereinapp-profile-slot summary {
    min-height:48px; padding:6px 10px!important; gap:1px 6px!important;
    border-radius:9px;
  }
  .vereinapp-profile-slot .vereinapp-profile-label { font-size:10px; letter-spacing:0; }
  .vereinapp-profile-slot .app-context-main {
    font-size:13px!important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
  .vereinapp-profile-slot summary::after { font-size:20px; }
  .vereinapp-platform-nav.has-profile-switcher>.vereinapp-session-menu {
    width:44px; max-width:44px; margin:0;
  }
  .vereinapp-platform-nav.has-profile-switcher>.vereinapp-session-menu>details>summary {
    width:44px; min-width:44px; height:48px; padding:0!important; justify-content:center;
  }
  .has-profile-switcher .vereinapp-account-label {
    position:absolute; width:1px; height:1px; overflow:hidden;
    clip-path:inset(50%); white-space:nowrap;
  }
  .tenant-app:has(.vereinapp-profile-slot:not([hidden]))>.app-design-header {
    min-height:0!important; height:auto!important; padding:0!important; margin:0!important;
  }
  .vereinapp-profile-slot .app-context-menu {
    position:fixed!important; inset:auto 10px calc(88px + env(safe-area-inset-bottom))!important;
    width:auto!important; max-height:calc(100dvh - 120px - env(safe-area-inset-bottom))!important; padding:10px!important;
    border-radius:18px!important; box-shadow:0 14px 40px #0004!important;
  }
  .vereinapp-profile-slot details[open]>summary { outline:2px solid #e1ae32; }
  .vereinapp-profile-slot .app-context-menu::before {
    content:'Profil wechseln'; display:block; padding:6px 10px 10px;
    color:#172033; font-size:17px; font-weight:750;
  }
  .vereinapp-profile-slot .app-context-menu button { min-height:52px!important; }
  :is(.tenant-app,.vereinapp-app-surface) .app-mobile-nav small {
    font-size:12px!important; white-space:nowrap!important;
    word-break:normal!important; overflow-wrap:normal!important; hyphens:none!important;
  }
}

@media(max-width:620px){
 body.vereinapp-mobile-profile-open{overflow:hidden}
 .vereinapp-profile-slot details[open]>.vereinapp-profile-backdrop{display:block;position:fixed;inset:0;z-index:1040;margin:0;padding:0;border:0;border-radius:0;background:#10182766!important;width:100%;height:100%;cursor:default}
 .vereinapp-profile-slot .app-context-close{position:sticky;top:0;z-index:1;min-height:44px!important;background:#fff!important}
 .vereinapp-profile-slot .app-context-menu{overscroll-behavior:contain;overflow-wrap:anywhere}
 .vereinapp-profile-slot .app-context-menu strong,.vereinapp-profile-slot .app-context-menu small{white-space:normal;overflow-wrap:anywhere}
 .has-profile-switcher .vereinapp-mobile-account-name{display:block;color:var(--platform-nav-text);padding:12px;overflow-wrap:anywhere;border-bottom:1px solid #d7dce5;line-height:1.4}
 .has-profile-switcher .vereinapp-mobile-account-name small,.has-profile-switcher .vereinapp-mobile-account-name strong{display:block;color:var(--platform-nav-text)!important;font-size:14px!important}
}
/* Desktop width and artwork height are independent; complete original artwork. */
@media(min-width:1024px){
 .vereinapp-header-wide .vereinapp-home{
   --platform-header-height:var(--platform-header-wide-max-desktop,320px);
   background:var(--platform-nav-background);
 }
 .vereinapp-header-wide .vereinapp-banner,
 .vereinapp-header-wide .vereinapp-banner-responsive .vereinapp-banner{
   width:auto!important;height:auto!important;
   max-width:100%!important;max-height:var(--platform-header-height)!important;
   margin:0 auto!important;object-fit:contain;
 }
}

/* MEMOGLU presentation override; business data and controls stay native. */
.vereinapp-platform-header{margin-top:16px;border-radius:8px;overflow:visible;border:1px solid #deddd9;background:#fff}.vereinapp-home{padding:14px;background:#fff}.vereinapp-platform-nav{border-top:2px solid var(--platform-primary);border-radius:0 0 8px 8px}.vereinapp-platform-footer{margin-top:32px;border-radius:8px;padding:20px;background:var(--platform-footer-background);color:var(--platform-footer-text)}.vereinapp-platform-footer a{color:inherit}.vereinapp-platform-footer p{margin:6px 0}@media(max-width:600px){.vereinapp-platform-header{margin-top:0;border-radius:0}.vereinapp-home{padding:8px}.vereinapp-platform-footer{margin-bottom:84px;border-radius:0}}
