:root{--member-green:#28c100;--member-green-dark:#236b16;--member-ink:#173014;--member-border:#dde8da;--member-muted:#617061;--member-shadow:0 12px 30px rgba(40,193,0,.16)}
html{min-height:100%}
body{min-height:100vh;background:radial-gradient(circle at top left,rgba(40,193,0,.20),transparent 32%),linear-gradient(135deg,#fff,#eff8ed);color:var(--member-ink)}
.member-header{width:100%;position:relative;z-index:20;background:transparent;border:0}
.member-header-inner{max-width:1180px;margin:0 auto 2px;padding:22px 22px 0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center}
.member-brand{display:flex;align-items:center;justify-content:center;text-decoration:none}
.member-logo{display:block;width:min(330px,70vw);height:auto;max-height:none;margin:0 auto;object-fit:contain}
.member-nav{
display:flex;
align-items:center;
justify-content:center;
gap:10px;
flex-wrap:wrap;
width:100%;
padding:14px 20px;
background:rgba(255,255,255,.96);
border:1px solid rgba(40,193,0,.11);
border-radius:28px;
box-shadow:0 12px 34px rgba(0,0,0,.045);
}
.member-pill{min-height:auto;padding:9px 13px;border:1px solid var(--member-border);border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:none;color:#111;font:inherit;font-size:14px;font-weight:850;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;white-space:nowrap;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}
.member-pill:hover{transform:translateY(-1px);border-color:#b8ddb0;box-shadow:0 8px 22px rgba(0,0,0,.06);background:#fff}
.member-pill svg{width:18px;height:18px;flex:0 0 auto}
.member-pill-primary,.member-pill.is-active{background:var(--member-green);border-color:var(--member-green);color:#fff;box-shadow:var(--member-shadow)}
.member-pill-primary:hover,.member-pill.is-active:hover{background:#23ad00;border-color:#23ad00}
.member-language{min-width:45px;font-weight:950;letter-spacing:.04em}
.member-logout-form{margin:0;display:inline-flex}
.member-logout-form button{appearance:none;-webkit-appearance:none}
@media(max-width:720px){
.member-header-inner{padding:14px 14px 0;margin-bottom:2px}
.member-logo{width:min(300px,88vw)}
.member-nav{gap:8px;width:100%;padding:11px 12px;border-radius:22px}
.member-pill{padding:8px 11px;font-size:.9rem}
}
@media(max-width:440px){.member-nav{width:100%}.member-pill{flex:0 1 auto}.member-logout-form{display:inline-flex}}

/* Einheitlicher Standardfooter – identisch mit manual.php / public-footer.php */
.public-shell-footer{
    max-width:1180px!important;
    margin:24px auto 0!important;
    padding:0 22px 28px!important;
    color:var(--member-muted,#5E6D5D)!important;
    font-size:13px!important;
    background:transparent!important;
    border:0!important;
    text-align:left!important;
}
.public-shell-footer .footer-card{
    background:rgba(255,255,255,.86)!important;
    border:1px solid var(--member-border,#DDE8DA)!important;
    border-radius:28px!important;
    padding:24px!important;
    box-shadow:0 14px 44px rgba(0,0,0,.04)!important;
    display:grid!important;
    grid-template-columns:1.35fr repeat(3,1fr)!important;
    gap:22px!important;
    align-items:start!important;
}
.public-shell-footer .footer-brand strong{
    display:block!important;
    color:#111!important;
    font-size:18px!important;
    letter-spacing:-.04em!important;
    margin-bottom:6px!important;
}
.public-shell-footer .footer-brand span{
    display:block!important;
    font-weight:850!important;
    color:#236B16!important;
    letter-spacing:.08em!important;
    font-size:12px!important;
    margin-bottom:10px!important;
}
.public-shell-footer .footer-brand p{
    margin:0!important;
    color:var(--member-muted,#5E6D5D)!important;
    line-height:1.5!important;
}
.public-shell-footer .footer-col strong{
    display:block!important;
    color:#111!important;
    font-size:14px!important;
    margin-bottom:10px!important;
    letter-spacing:-.03em!important;
}
.public-shell-footer .footer-links{
    display:grid!important;
    gap:7px!important;
}
.public-shell-footer .footer-links a{
    color:var(--member-muted,#5E6D5D)!important;
    text-decoration:none!important;
    font-weight:750!important;
}
.public-shell-footer .footer-links a:hover{
    color:#236B16!important;
    text-decoration:underline!important;
}
.public-shell-footer .footer-bottom{
    max-width:1180px!important;
    margin:12px auto 0!important;
    display:flex!important;
    justify-content:space-between!important;
    gap:12px!important;
    flex-wrap:wrap!important;
    color:rgba(94,109,93,.86)!important;
    font-size:12px!important;
}
.public-shell-footer .dev-status{opacity:.7!important}
@media(max-width:900px){
    .public-shell-footer .footer-card{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:620px){
    .public-shell-footer{padding:0 14px 22px!important}
    .public-shell-footer .footer-card{grid-template-columns:1fr!important}
    .public-shell-footer .footer-bottom{flex-direction:column!important}
}

/* =========================================================
   MEMBER-SHELL V2
   Isolierter Header- und Footerbereich für neue /me/-Seiten
   ========================================================= */

.member-v2-header{
    width:100%;
    position:relative;
    z-index:20;
    background:transparent;
    border:0;
}

.member-v2-header-inner{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:18px 18px 0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-align:center;
}

.member-v2-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}

.member-v2-logo{
    display:block;
    width:min(330px,70vw);
    height:auto;
    margin:0 auto;
    object-fit:contain;
}

.member-v2-nav{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    padding:0;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
}

.member-v2-pill{
    min-height:42px;
    padding:9px 13px;
    border:1px solid var(--member-border);
    border-radius:999px;
    background:rgba(255,255,255,.88);
    color:#111;
    font:inherit;
    font-size:14px;
    font-weight:850;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    cursor:pointer;
    white-space:nowrap;
    box-shadow:0 8px 22px rgba(0,0,0,.045);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease;
}

.member-v2-pill:hover{
    transform:translateY(-1px);
    border-color:#B8DDB0;
    box-shadow:0 10px 26px rgba(0,0,0,.065);
    background:#fff;
}

.member-v2-pill svg{
    width:18px;
    height:18px;
    flex:0 0 auto;
}

.member-v2-pill-primary,
.member-v2-pill.is-active{
    background:var(--member-green);
    border-color:var(--member-green);
    color:#fff;
    box-shadow:var(--member-shadow);
}

.member-v2-pill-primary:hover,
.member-v2-pill.is-active:hover{
    background:#23AD00;
    border-color:#23AD00;
}

.member-v2-language{
    min-width:45px;
    font-weight:950;
    letter-spacing:.04em;
}

.member-v2-logout-form{
    margin:0;
    display:inline-flex;
}

.member-v2-logout-form button{
    appearance:none;
    -webkit-appearance:none;
}

.member-v2-footer-wrap{
    width:100%;
    max-width:1180px;
    margin:16px auto 0;
    padding:0 18px 24px;
    box-sizing:border-box;
}

.member-v2-footer-wrap .public-shell-footer,
.member-v2-footer-wrap .app-footer{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}

.member-v2-footer-wrap .footer-card{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
}

/* Alte, mehrfach sichtbare Trennlinien innerhalb des Footers unterdrücken. */
.member-v2-footer-wrap .footer-section{
    border-bottom:0!important;
    padding-bottom:0!important;
}

.member-v2-footer-wrap .footer-meta{
    border-top:1px solid #DDE8DA!important;
    margin-top:16px!important;
    padding-top:16px!important;
}

.member-v2-footer-wrap .footer-bottom{
    border-top:0!important;
}

@media(max-width:720px){
    .member-v2-header-inner{
        padding:14px 12px 0;
        gap:9px;
    }

    .member-v2-logo{
        width:min(300px,88vw);
    }

    .member-v2-nav{
        gap:8px;
    }

    .member-v2-pill{
        padding:8px 11px;
        font-size:.9rem;
    }

    .member-v2-footer-wrap{
        margin-top:12px;
        padding:0 12px 20px;
    }
}

@media(max-width:440px){
    .member-v2-nav{
        width:100%;
    }

    .member-v2-pill{
        flex:0 1 auto;
    }
}
