
:root{
    --rbt-red:#d4002a;
    --rbt-dark:#111;
    --rbt-bg:#f4f4f5;
    --rbt-card:#fff;
}
.rbt-app-shell{max-width:720px;margin:0 auto;background:var(--rbt-bg);min-height:100vh;padding-bottom:92px;font-family:Arial,sans-serif}
.rbt-app-header{background:linear-gradient(135deg,#e0002f,#b70022);color:#fff;padding:24px 18px;border-radius:0 0 28px 28px;box-shadow:0 8px 24px rgba(0,0,0,.13)}
.rbt-app-brand{display:flex;align-items:center;gap:14px}
.rbt-app-logo-placeholder,.rbt-app-login-logo{width:58px;height:58px;border-radius:50%;background:#fff;color:var(--rbt-red);display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.5px}
.rbt-app-title{font-size:20px;font-weight:800}.rbt-app-welcome{opacity:.9;margin-top:4px}
.rbt-app-content{padding:16px}
.rbt-card{background:var(--rbt-card);border-radius:20px;padding:18px;margin:0 0 14px;box-shadow:0 4px 18px rgba(0,0,0,.06)}
.rbt-next-game{background:linear-gradient(180deg,#fff,#f8f8f8)}
.rbt-section-kicker{font-size:12px;font-weight:800;color:var(--rbt-red);letter-spacing:.08em}
.rbt-card h2,.rbt-card h3{margin:7px 0 8px}.rbt-card p{margin:0 0 12px;line-height:1.45}
.rbt-app-btn{display:inline-block;background:var(--rbt-red);color:#fff!important;text-decoration:none;padding:11px 14px;border-radius:12px;font-weight:700}
.rbt-app-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.rbt-tile{background:#fff;color:#111!important;text-decoration:none;border-radius:18px;padding:20px 14px;min-height:90px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.05)}
.rbt-tile span{font-size:28px;margin-bottom:8px}
.rbt-app-bottomnav{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);width:min(calc(100% - 24px),696px);background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-radius:24px;display:grid;grid-template-columns:repeat(5,1fr);padding:9px 8px;box-shadow:0 8px 30px rgba(0,0,0,.18);z-index:999}
.rbt-app-bottomnav a{color:#111!important;text-decoration:none;text-align:center;font-size:20px;line-height:1}
.rbt-app-bottomnav small{display:block;font-size:10px;margin-top:5px}
.rbt-app-login-wrap{max-width:520px;margin:30px auto;padding:16px}
.rbt-app-login-card{background:#fff;border-radius:22px;padding:24px;box-shadow:0 10px 35px rgba(0,0,0,.12)}
.rbt-app-login-card .rbt-app-login-logo{background:var(--rbt-red);color:#fff;margin-bottom:14px}
.rbt-app-login-card label{display:block;font-weight:700;margin:14px 0 6px}
.rbt-app-login-card input{width:100%;box-sizing:border-box;padding:14px;border:1px solid #bbb;border-radius:12px;font-size:18px}
.rbt-app-login-card button{width:100%;margin-top:14px;padding:14px;border:0;border-radius:12px;background:var(--rbt-red);color:#fff;font-weight:800;font-size:16px}
.rbt-app-message{padding:12px;border-radius:12px;margin:12px 0}.rbt-app-message.is-info{background:#eef8ee}.rbt-app-message.is-error{background:#fff0f0}
.rbt-member-confirm{padding:10px 12px;border-radius:10px;background:#f4f4f5;margin:12px 0}
.rbt-login-back{display:block;text-align:center;margin-top:14px}
.rbt-news-list{display:grid;gap:10px}.rbt-news-item{padding:12px 0;border-top:1px solid #eee}.rbt-news-item:first-child{border-top:0}.rbt-news-item div{margin-top:5px;line-height:1.4}.rbt-news-empty{color:#666}
@media (max-width:420px){.rbt-app-grid{grid-template-columns:1fr 1fr}.rbt-app-title{font-size:18px}}


/* V0.2.0 – durchgängiger App-Modus */
.rbt-app-page{padding-bottom:94px!important}
.rbt-app-page footer,
.rbt-app-page #footer,
.rbt-app-page .site-footer,
.rbt-app-page footer.site-footer,
.rbt-app-page .elementor-location-footer{display:none!important}

/* Häufige Floating-Elemente im App-Bereich aus dem Weg nehmen.
   Weitere konkrete Selektoren können nach dem Test ergänzt werden. */
.rbt-app-page .xoo-wsc-basket,
.rbt-app-page .xoo-wsc-modal,
.rbt-app-page .woofc-count,
.rbt-app-page .floating-cart,
.rbt-app-page .joinchat,
.rbt-app-page .cky-btn-revisit-wrapper,
.rbt-app-page #cookie-law-info-again,
.rbt-app-page .cookie-notice-revisit{display:none!important}

.rbt-app-bottomnav svg{width:27px;height:27px;display:block;margin:0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rbt-app-bottomnav a{padding:4px 2px;color:#171717!important}
.rbt-app-bottomnav a.is-active{color:var(--rbt-red)!important;font-weight:800}
.rbt-app-bottomnav a.is-active small{font-weight:800}
.rbt-app-page .rbt-app-shell{padding-bottom:20px}


/* V0.3.0 – RBT Dashboard-Kacheln statt Icon-Kacheln */
.rbt-app-section{margin-top:18px}
.rbt-dashboard-tile{
    position:relative;
    background:#fff;
    color:#161616!important;
    text-decoration:none!important;
    border:1px solid #e3e3e3;
    border-radius:14px;
    min-height:92px;
    padding:16px 16px 14px 19px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    box-shadow:0 3px 12px rgba(0,0,0,.055);
    overflow:hidden;
}
.rbt-dashboard-tile:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:5px;
    background:var(--rbt-red);
}
.rbt-dashboard-tile strong{font-size:16px;line-height:1.2}
.rbt-dashboard-tile small{display:block;margin-top:7px;color:#666;line-height:1.3}
.rbt-dashboard-tile.is-future{opacity:.58;cursor:default}
.rbt-dashboard-tile.is-future:after{
    content:"Bald";
    position:absolute;
    right:10px;
    top:10px;
    background:#f1f1f1;
    color:#666;
    border-radius:999px;
    padding:3px 7px;
    font-size:10px;
    font-weight:700;
}
.rbt-app-bottomnav-text a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    font-size:12px!important;
    font-weight:700;
}
.rbt-app-bottomnav-text a span{white-space:nowrap}
.rbt-app-bottomnav-text a.is-active{
    background:#f7e9ec;
    border-radius:15px;
}
.rbt-app-bottomnav-text small,
.rbt-app-bottomnav-text svg{display:none!important}


/* V0.3.1 – SVG-Appnavigation wiederhergestellt */
.rbt-app-bottomnav-text a,
.rbt-app-bottomnav a{
    display:block;
    min-height:auto;
    padding:4px 2px;
    font-size:20px!important;
    font-weight:400;
    background:transparent;
}
.rbt-app-bottomnav-text a span{white-space:normal}
.rbt-app-bottomnav-text a.is-active,
.rbt-app-bottomnav a.is-active{
    background:transparent!important;
    border-radius:0!important;
    color:var(--rbt-red)!important;
    font-weight:800;
}
.rbt-app-bottomnav-text small,
.rbt-app-bottomnav small{
    display:block!important;
    font-size:10px!important;
    margin-top:5px;
}
.rbt-app-bottomnav-text svg,
.rbt-app-bottomnav svg{
    display:block!important;
    width:27px;
    height:27px;
    margin:0 auto;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* Cookie-/Consent-Floating-Buttons auf App-Seiten konsequent ausblenden */
.rbt-app-page .cky-btn-revisit-wrapper,
.rbt-app-page #cky-btn-revisit-wrapper,
.rbt-app-page .cky-revisit-bottom-left,
.rbt-app-page .cky-revisit-bottom-right,
.rbt-app-page #cookie-law-info-again,
.rbt-app-page .cli_settings_button,
.rbt-app-page .cookie-notice-revisit,
.rbt-app-page .cmplz-manage-consent,
.rbt-app-page #cmplz-manage-consent,
.rbt-app-page .cmplz-btn.cmplz-manage-consent,
.rbt-app-page [class*="cookie"][class*="revisit"],
.rbt-app-page [id*="cookie"][id*="revisit"],
.rbt-app-page [class*="consent"][class*="manage"],
.rbt-app-page [id*="consent"][id*="manage"]{
    display:none!important;
}


/* V0.3.2 – Navigation auf allen Seiten der installierten PWA */
.rbt-app-nav-global{
    display:none;
}
html.rbt-pwa-standalone .rbt-app-nav-global{
    display:grid;
}
html.rbt-pwa-standalone body{
    padding-bottom:94px!important;
}

/* Normalen Website-Footer und störende Floating-Elemente nur in der installierten App ausblenden */
html.rbt-pwa-standalone body footer,
html.rbt-pwa-standalone body #footer,
html.rbt-pwa-standalone body .site-footer,
html.rbt-pwa-standalone body footer.site-footer,
html.rbt-pwa-standalone body .elementor-location-footer{
    display:none!important;
}

html.rbt-pwa-standalone body .xoo-wsc-basket,
html.rbt-pwa-standalone body .woofc-count,
html.rbt-pwa-standalone body .floating-cart,
html.rbt-pwa-standalone body .joinchat,
html.rbt-pwa-standalone body .cky-btn-revisit-wrapper,
html.rbt-pwa-standalone body #cky-btn-revisit-wrapper,
html.rbt-pwa-standalone body .cky-revisit-bottom-left,
html.rbt-pwa-standalone body .cky-revisit-bottom-right,
html.rbt-pwa-standalone body #cookie-law-info-again,
html.rbt-pwa-standalone body .cookie-notice-revisit,
html.rbt-pwa-standalone body .cmplz-manage-consent,
html.rbt-pwa-standalone body #cmplz-manage-consent{
    display:none!important;
}

/* Alte app-page-Regeln dürfen die normale Browserdarstellung nicht mehr beeinflussen */
body.rbt-app-page:not(.rbt-pwa-active) footer,
body.rbt-app-page:not(.rbt-pwa-active) #footer,
body.rbt-app-page:not(.rbt-pwa-active) .site-footer,
body.rbt-app-page:not(.rbt-pwa-active) .elementor-location-footer{
    display:revert!important;
}


/* V0.4.0 – neue Home-Struktur */
.rbt-app-content{padding-top:16px}
.rbt-next-game-placeholder{margin-top:10px}
.rbt-next-game-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rbt-comp{font-size:12px;font-weight:800;letter-spacing:.08em;color:#657086}
.rbt-status-pill{background:#fff1cc;color:#8a5700;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800}
.rbt-next-game-teams{display:flex;align-items:center;justify-content:center;gap:18px;margin:22px 0}
.rbt-team-badge{width:74px;height:74px;border-radius:50%;border:2px solid #d8dde8;display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--rbt-red);background:#fff}
.rbt-team-badge.is-away{color:#667085}
.rbt-vs{font-size:28px;color:#8a94a6}
.rbt-game-meta{color:#667085}
.rbt-app-btn-full{display:block;text-align:center}
.rbt-event-list{margin:12px 0}
.rbt-event-row{padding:12px 0;border-top:1px solid #eee}
.rbt-event-row:first-child{border-top:0}
.rbt-event-row strong,.rbt-event-row span{display:block}
.rbt-event-row span{margin-top:5px;color:#666}
.rbt-app-link{display:inline-block;margin-top:4px;color:var(--rbt-red)!important;font-weight:800;text-decoration:none}
.rbt-fanclub-grid .rbt-dashboard-tile strong{font-size:15px}
.rbt-dashboard-tile strong{word-break:normal;overflow-wrap:break-word}
.rbt-dashboard-tile small{font-size:12px}

/* Mitgliedsausweis – schlanke App-Ansicht mit Zurück */
.rbt-app-subnav{
    display:none;
    position:fixed;
    top:env(safe-area-inset-top, 0px);
    left:50%;
    transform:translateX(-50%);
    width:min(100%,720px);
    box-sizing:border-box;
    padding:10px 14px;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(12px);
    z-index:998;
    border-bottom:1px solid #ececec;
    align-items:center;
    justify-content:center;
}
html.rbt-pwa-standalone .rbt-app-subnav{display:flex}
.rbt-app-subnav .rbt-app-back{
    position:absolute;
    left:14px;
    color:var(--rbt-red)!important;
    text-decoration:none;
    font-weight:800;
}
.rbt-app-subnav strong{font-size:15px}
html.rbt-pwa-standalone body.page-id-0{} /* safe placeholder */

/* Navigation labels compact halten */
.rbt-app-bottomnav small{font-size:9px!important}
.rbt-app-bottomnav a:nth-child(2) small{font-size:8.5px!important}

/* On member card page, make content slightly tighter in installed app */
html.rbt-pwa-standalone body.rbt-app-page .entry-content,
html.rbt-pwa-standalone body.rbt-app-page main{scroll-margin-top:52px}


/* V0.5.0 – Live-Events + kleine Dashboard-Icons */
.rbt-app-section-title{
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:12px;
}
.rbt-app-section-title h3{margin:3px 0 0}
.rbt-app-section-icon,
.rbt-dashboard-icon{
    flex:0 0 auto;
    width:32px;
    height:32px;
    border-radius:9px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f7e9ec;
    color:var(--rbt-red);
}
.rbt-app-section-icon svg,
.rbt-dashboard-icon svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.rbt-dashboard-icon{
    position:absolute;
    right:13px;
    bottom:13px;
    width:30px;
    height:30px;
}
.rbt-dashboard-tile{padding-right:54px}
.rbt-dashboard-tile.is-future:after{right:10px;top:10px}
.rbt-app-section-intro{color:#667085;margin-top:-2px!important}
.rbt-app-empty{
    padding:16px;
    border:1px dashed #d4d4d4;
    border-radius:14px;
    background:#fafafa;
}
.rbt-app-empty strong,.rbt-app-empty span{display:block}
.rbt-app-empty span{margin-top:5px;color:#666}

/* Vorhandene Ticketshop-Karten in der App kompakter darstellen */
.rbt-app-live-event .rbt-next-match-card,
.rbt-app-live-events .rbt-next-match-card{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box!important;
}
.rbt-app-live-events{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin:14px 0;
}
.rbt-app-live-event.is-next{margin-top:8px}
.rbt-app-live-event .rbt-next-match-card-link,
.rbt-app-live-events .rbt-next-match-card-link{text-decoration:none!important}

/* Das Widget bringt ggf. eigene Grid-Regeln mit – innerhalb der App bewusst auf eine Spalte zwingen. */
.rbt-app-shell .rbt-next-matches-grid,
.rbt-app-shell .rbt-app-live-events{
    grid-template-columns:1fr!important;
}

/* Cookie-Einstellungs/Revisit-Button in der installierten App ausblenden */
html.rbt-pwa-standalone .cky-btn-revisit-wrapper,
html.rbt-pwa-standalone #cky-btn-revisit-wrapper,
html.rbt-pwa-standalone .cky-revisit-bottom-left,
html.rbt-pwa-standalone .cky-revisit-bottom-right,
html.rbt-pwa-standalone #cookie-law-info-again,
html.rbt-pwa-standalone .cli_settings_button,
html.rbt-pwa-standalone .cookie-notice-revisit,
html.rbt-pwa-standalone .cmplz-manage-consent,
html.rbt-pwa-standalone #cmplz-manage-consent,
html.rbt-pwa-standalone [aria-label*="Cookie-Einstellungen"],
html.rbt-pwa-standalone [aria-label*="Cookie settings"],
html.rbt-pwa-standalone [title*="Cookie-Einstellungen"],
html.rbt-pwa-standalone [title*="Cookie settings"]{
    display:none!important;
}


/* V0.5.1 – App-eigene kompakte Eventkarten */
.rbt-app-live-event .rbt-app-event-card,
.rbt-app-live-events .rbt-app-event-card{
    width:100%;
    margin:0;
}
.rbt-app-event-card{
    background:#fff;
    border:1px solid #e4e6eb;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 3px 12px rgba(0,0,0,.05);
}
.rbt-app-event-card + .rbt-app-event-card{margin-top:12px}
.rbt-app-event-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:12px 14px 8px;
}
.rbt-app-event-competition{
    font-size:11px;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
    color:#667085;
}
.rbt-app-event-status{
    flex:0 0 auto;
    padding:6px 10px;
    border-radius:999px;
    background:#f2f4f7;
    color:#344054;
    font-size:11px;
    font-weight:800;
}
.rbt-app-event-card.status-bookable .rbt-app-event-status{
    background:#e9f8ef;
    color:#16723a;
}
.rbt-app-event-card.status-waiting .rbt-app-event-status{
    background:#fff0cf;
    color:#8a5700;
}
.rbt-app-event-card.status-sold-out .rbt-app-event-status,
.rbt-app-event-card.status-closed .rbt-app-event-status{
    background:#f3f4f6;
    color:#667085;
}
.rbt-app-event-teams{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    padding:8px 14px 14px;
}
.rbt-app-event-team{
    display:flex;
    align-items:center;
    justify-content:center;
}
.rbt-app-event-logo{
    width:76px;
    height:76px;
    border:1px solid #dfe3ea;
    background:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.rbt-app-event-logo img{
    width:62px!important;
    height:62px!important;
    max-width:62px!important;
    max-height:62px!important;
    object-fit:contain!important;
    display:block!important;
}
.rbt-app-event-logo span{
    font-size:16px;
    font-weight:900;
    color:#667085;
}
.rbt-app-event-dash{
    color:#98a2b3;
    font-size:24px;
    font-weight:700;
}
.rbt-app-event-club-image{
    width:100%;
    max-height:180px;
    background:#f7f7f8;
    overflow:hidden;
}
.rbt-app-event-club-image img{
    display:block!important;
    width:100%!important;
    height:180px!important;
    max-width:100%!important;
    object-fit:cover!important;
}
.rbt-app-event-placeholder{
    height:130px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--rbt-red);
    font-weight:900;
    font-size:26px;
}
.rbt-app-event-body{
    padding:2px 14px 12px;
}
.rbt-app-event-body h4{
    margin:0 0 9px;
    font-size:18px;
    line-height:1.25;
    color:#111827;
}
.rbt-app-event-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px 12px;
    color:#667085;
    font-size:13px;
}
.rbt-app-event-meta span{
    display:inline-flex;
    align-items:center;
    gap:5px;
}
.rbt-app-event-meta svg{
    width:15px;
    height:15px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}
.rbt-meta-bus{
    color:#8a5700!important;
    font-weight:700;
}
.rbt-meta-location:before{
    content:"•";
    margin-right:2px;
}
.rbt-app-event-subline{
    margin-top:10px;
    font-size:13px;
    font-weight:700;
    color:#8a5700;
}
.rbt-app-event-button{
    display:block;
    margin:0 14px 14px;
    padding:11px 14px;
    border-radius:12px;
    background:var(--rbt-red);
    color:#fff!important;
    text-align:center;
    font-weight:800;
    text-decoration:none!important;
}
.rbt-app-event-button.is-disabled{
    background:#eceff3;
    color:#7a8492!important;
}
.rbt-app-live-events{
    display:grid;
    grid-template-columns:1fr!important;
    gap:12px;
}
.rbt-app-live-events .rbt-app-event-card{
    margin:0!important;
}

/* Eventlisten kompakter als das prominente nächste Spiel */
.rbt-app-live-events .rbt-app-event-logo{
    width:58px;
    height:58px;
}
.rbt-app-live-events .rbt-app-event-logo img{
    width:48px!important;
    height:48px!important;
    max-width:48px!important;
    max-height:48px!important;
}
.rbt-app-live-events .rbt-app-event-teams{
    padding:4px 14px 9px;
}
.rbt-app-live-events .rbt-app-event-club-image,
.rbt-app-live-events .rbt-app-event-club-image img{
    height:125px!important;
}
.rbt-app-live-events .rbt-app-event-body h4{
    font-size:16px;
}

/* Alte Widget-Styles dürfen innerhalb der App keine Bilder aufblasen */
.rbt-app-shell .rbt-next-match-logo img,
.rbt-app-shell .rbt-next-event-image{
    max-width:100%!important;
    height:auto!important;
}


/* V0.5.2 – Logo-/Floating-Element-Korrekturen */
.rbt-app-event-logo{
    width:68px;
    height:68px;
}
.rbt-app-event-logo img{
    width:54px!important;
    height:54px!important;
    max-width:54px!important;
    max-height:54px!important;
}
.rbt-app-live-events .rbt-app-event-logo{
    width:52px;
    height:52px;
}
.rbt-app-live-events .rbt-app-event-logo img{
    width:42px!important;
    height:42px!important;
    max-width:42px!important;
    max-height:42px!important;
}
.rbt-app-event-club-image,
.rbt-app-event-club-image img{
    max-height:150px!important;
}
.rbt-app-live-events .rbt-app-event-club-image,
.rbt-app-live-events .rbt-app-event-club-image img{
    height:110px!important;
    max-height:110px!important;
}

/* KiJu-/zusätzliche Floating-Logos im installierten App-Modus ausblenden */
html.rbt-pwa-standalone .rbt-kiju-floating,
html.rbt-pwa-standalone #rbt-kiju-floating,
html.rbt-pwa-standalone .kiju-floating,
html.rbt-pwa-standalone #kiju-floating,
html.rbt-pwa-standalone .floating-kiju,
html.rbt-pwa-standalone [class*="kiju"][style*="fixed"],
html.rbt-pwa-standalone [id*="kiju"][style*="fixed"]{
    display:none!important;
}


/* V0.5.3 – kompaktere Eventkarten, weniger Klick-/Textballast */
.rbt-app-event-card{
    border-radius:14px;
}
.rbt-app-event-top{
    padding:10px 12px 7px;
}
.rbt-app-event-body{
    padding:0 12px 10px;
}
.rbt-app-event-body h4{
    font-size:17px;
    line-height:1.22;
    margin-bottom:7px;
}
.rbt-app-event-meta{
    font-size:12.5px;
    gap:5px 10px;
}
.rbt-app-event-button{
    margin:0 12px 12px;
    padding:10px 12px;
    border-radius:10px;
    font-size:15px;
}

/* RBT/KiJu-Veranstaltungsbild nicht mehr als großes Banner darstellen */
.rbt-app-event-card.is-club-event{
    display:grid;
    grid-template-columns:88px 1fr;
    grid-template-areas:
        "top top"
        "image body"
        "button button";
    align-items:center;
}
.rbt-app-event-card.is-club-event .rbt-app-event-top{
    grid-area:top;
}
.rbt-app-event-card.is-club-event .rbt-app-event-club-image{
    grid-area:image;
    width:72px!important;
    height:72px!important;
    max-height:72px!important;
    margin:4px 0 10px 12px;
    border-radius:12px;
    border:1px solid #e3e6eb;
    background:#fff;
}
.rbt-app-event-card.is-club-event .rbt-app-event-club-image img{
    width:72px!important;
    height:72px!important;
    max-width:72px!important;
    max-height:72px!important;
    object-fit:contain!important;
}
.rbt-app-event-card.is-club-event .rbt-app-event-body{
    grid-area:body;
    padding:2px 12px 10px 8px;
}
.rbt-app-event-card.is-club-event .rbt-app-event-button{
    grid-area:button;
}
.rbt-app-event-card.is-club-event .rbt-app-event-placeholder{
    width:72px;
    height:72px;
    min-height:72px;
    font-size:18px;
}

/* Weitere Events insgesamt kompakter */
.rbt-app-live-events{
    gap:10px;
}
.rbt-app-live-events .rbt-app-event-card:not(.is-club-event) .rbt-app-event-teams{
    padding:2px 12px 7px;
}
.rbt-app-live-events .rbt-app-event-card:not(.is-club-event) .rbt-app-event-logo{
    width:46px;
    height:46px;
}
.rbt-app-live-events .rbt-app-event-card:not(.is-club-event) .rbt-app-event-logo img{
    width:38px!important;
    height:38px!important;
    max-width:38px!important;
    max-height:38px!important;
}

/* Nur noch eine klare Statusaussage oben, keine zweite Statuszeile im Karteninhalt */
.rbt-app-event-subline{
    display:none!important;
}


/* V0.5.4 – kompakte Eventliste auf Home */
.rbt-app-compact-events{
    display:grid;
    gap:9px;
    margin:12px 0 14px;
}
.rbt-compact-event{
    display:grid;
    grid-template-columns:86px 1fr 28px;
    gap:10px;
    align-items:center;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:11px 10px 11px 12px;
    box-shadow:0 2px 8px rgba(0,0,0,.035);
}
.rbt-compact-event-date{
    font-size:12px;
    color:#667085;
    font-weight:700;
    line-height:1.25;
}
.rbt-compact-event-title{
    font-size:14px;
    font-weight:800;
    color:#111827;
    line-height:1.25;
}
.rbt-compact-event-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    align-items:center;
    margin-top:4px;
    font-size:11px;
    color:#667085;
}
.rbt-compact-event-status{
    padding:3px 7px;
    border-radius:999px;
    background:#f2f4f7;
    font-weight:800;
    color:#344054;
}
.rbt-compact-event.status-bookable .rbt-compact-event-status{
    background:#e9f8ef;
    color:#16723a;
}
.rbt-compact-event.status-waiting .rbt-compact-event-status{
    background:#fff0cf;
    color:#8a5700;
}
.rbt-compact-event-action{
    width:28px;
    height:28px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f7e9ec;
    color:var(--rbt-red)!important;
    text-decoration:none!important;
    font-size:22px;
    line-height:1;
    font-weight:800;
}
.rbt-fanclub-grid .rbt-dashboard-tile:not(.is-future){
    opacity:1;
}


/* V0.5.5 – kleine Team-/Eventlogos in "Nächste Events" */
.rbt-compact-event{
    grid-template-columns:58px 1fr 28px;
}
.rbt-compact-event-visual{
    width:50px;
    height:50px;
    border-radius:10px;
    border:1px solid #e5e7eb;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.rbt-compact-event-image{
    width:46px!important;
    height:46px!important;
    max-width:46px!important;
    max-height:46px!important;
    object-fit:contain!important;
    display:block!important;
}
.rbt-compact-team-pair{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    width:100%;
}
.rbt-compact-team-pair img{
    width:21px!important;
    height:21px!important;
    max-width:21px!important;
    max-height:21px!important;
    object-fit:contain!important;
    display:block!important;
}
.rbt-compact-team-pair span{
    font-size:8px;
    font-weight:800;
    color:#667085;
}
.rbt-compact-event-symbol{
    font-size:11px;
    font-weight:900;
    color:var(--rbt-red);
}
.rbt-compact-event-title{
    font-size:13.5px;
}
.rbt-compact-event-meta{
    margin-top:3px;
    font-size:10.5px;
}
.rbt-all-events-button{
    display:block;
    margin-top:12px;
    padding:11px 14px;
    border-radius:12px;
    background:#fff;
    border:1.5px solid var(--rbt-red);
    color:var(--rbt-red)!important;
    text-align:center;
    font-weight:800;
    text-decoration:none!important;
}
.rbt-all-events-button:active{
    transform:scale(.99);
}


/* V0.6.0 – strukturierte Spieltagsinfos */
.rbt-matchday-info{
    padding-bottom:10px;
}
.rbt-matchday-block{
    border-top:1px solid #eceff3;
    padding:14px 0;
}
.rbt-matchday-block:first-of-type{
    border-top:0;
    padding-top:4px;
}
.rbt-matchday-block-head{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:9px;
    color:#111827;
}
.rbt-matchday-miniicon{
    width:28px;
    height:28px;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f7e9ec;
    color:var(--rbt-red);
    flex:0 0 28px;
}
.rbt-matchday-miniicon svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.rbt-matchday-block p{
    font-size:13px;
    line-height:1.45;
    color:#4b5563;
    margin:0 0 8px;
}
.rbt-bus-times-wrap{
    overflow-x:auto;
}
.rbt-bus-times{
    width:100%;
    border-collapse:collapse;
    font-size:13px;
}
.rbt-bus-times th,
.rbt-bus-times td{
    text-align:left;
    padding:9px 8px;
    border-bottom:1px solid #eceff3;
}
.rbt-bus-times th{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#667085;
    background:#fafafa;
}
.rbt-bus-times td{
    color:#344054;
}
.rbt-matchday-link{
    display:inline-block;
    margin-top:4px;
    color:var(--rbt-red)!important;
    font-weight:800;
    font-size:13px;
    text-decoration:none!important;
}


/* V0.7.0 – App Splashscreen */
.rbt-app-splash{
    display:none;
    position:fixed;
    inset:0;
    z-index:999999;
    background:#f7f7f7;
    align-items:center;
    justify-content:center;
    padding:24px;
    box-sizing:border-box;
}
html.rbt-pwa-standalone .rbt-app-splash.is-visible{
    display:flex;
}
.rbt-app-splash-inner{
    width:min(82vw,360px);
    text-align:center;
}
.rbt-app-splash-logo{
    display:block;
    width:min(58vw,240px);
    max-height:220px;
    object-fit:contain;
    margin:0 auto 24px;
    filter:grayscale(1) saturate(0);
    opacity:.78;
    transform:scale(.96);
    transition:filter .65s ease,opacity .65s ease,transform .65s ease;
}
.rbt-app-splash.is-color .rbt-app-splash-logo{
    filter:grayscale(0) saturate(1);
    opacity:1;
    transform:scale(1);
}
.rbt-app-splash-fallback{
    width:150px;height:150px;border-radius:50%;
    margin:0 auto 24px;display:flex;align-items:center;justify-content:center;
    background:#222;color:#fff;font-weight:900;font-size:38px;
}
.rbt-app-splash.is-color .rbt-app-splash-fallback{background:var(--rbt-red)}
.rbt-app-splash-title{
    font-size:18px;
    line-height:1.45;
    color:#333;
}
.rbt-app-splash-title strong{color:#111;font-size:21px}
.rbt-app-splash-loader{
    width:120px;height:3px;border-radius:4px;background:#ddd;
    margin:24px auto 0;overflow:hidden;
}
.rbt-app-splash-loader span{
    display:block;width:45%;height:100%;background:var(--rbt-red);
    border-radius:4px;animation:rbtSplashLoad 1s ease-in-out infinite alternate;
}
@keyframes rbtSplashLoad{
    from{transform:translateX(-15%)}
    to{transform:translateX(140%)}
}
.rbt-app-splash.is-hiding{
    opacity:0;
    transition:opacity .28s ease;
    pointer-events:none;
}


/* V0.8.0 */
html.rbt-pwa-standalone.rbt-app-booting body{background:#f7f7f7!important}
html.rbt-pwa-standalone.rbt-app-booting body > *:not(#rbt-app-splash){visibility:hidden!important}
html.rbt-pwa-standalone.rbt-app-booting #rbt-app-splash{visibility:visible!important}

.rbt-matchday-accordion{border:0}
.rbt-matchday-accordion summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer}
.rbt-matchday-accordion summary::-webkit-details-marker{display:none}
.rbt-matchday-summary-icon{width:34px;height:34px;border-radius:10px;background:#f7e9ec;color:var(--rbt-red);display:flex;align-items:center;justify-content:center;flex:0 0 34px}
.rbt-matchday-summary-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.rbt-matchday-summary-text{display:flex;flex-direction:column;gap:2px;flex:1}
.rbt-matchday-summary-text strong{font-size:16px}.rbt-matchday-summary-text small{font-size:12px;color:#667085}
.rbt-matchday-chevron{font-size:22px;color:#667085;transition:transform .2s}.rbt-matchday-accordion[open] .rbt-matchday-chevron{transform:rotate(180deg)}
.rbt-matchday-accordion-content{padding-top:14px}
.rbt-matchday-event-name{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;background:#f7f8fa;border-radius:10px;margin-bottom:8px}
.rbt-matchday-event-name span{font-size:12px;color:#667085}
.rbt-my-stop{display:grid;grid-template-columns:1fr auto;gap:3px 10px;background:#fff5f6;border:1px solid #f3cbd2;border-radius:12px;padding:12px;margin-bottom:10px}
.rbt-my-stop span{grid-column:1/-1;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#8d1f32;font-weight:800}
.rbt-my-stop strong{font-size:15px}.rbt-my-stop em{font-style:normal;color:var(--rbt-red);font-weight:900}
.rbt-bus-times tr.is-own-stop td{background:#fff3f5;font-weight:800}
.rbt-ticket-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}
.rbt-ticket-facts span{background:#f7f8fa;border-radius:10px;padding:9px}.rbt-ticket-facts em{display:block;font-size:10px;color:#667085;font-style:normal;margin-bottom:3px}.rbt-ticket-facts strong{font-size:12px}

.rbt-ticket-inbox-list{display:grid;gap:8px}
.rbt-ticket-inbox-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e7e9ee;border-radius:11px;padding:10px 11px;background:#fff}
.rbt-ticket-inbox-item strong,.rbt-ticket-inbox-item small{display:block}.rbt-ticket-inbox-item small{margin-top:3px;color:#667085;font-size:11px}
.rbt-ticket-inbox-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}
.rbt-ticket-inbox-tags span{font-size:10px;font-weight:800;background:#f2f4f7;color:#344054;padding:4px 7px;border-radius:999px}
.rbt-ticket-inbox-empty{color:#667085;font-size:13px}

.rbt-app-card-overlay{position:fixed;inset:0;background:linear-gradient(180deg,#181818 0%,#080808 100%);z-index:1000000;display:none;align-items:center;justify-content:center;padding:10px;box-sizing:border-box}
.rbt-app-card-overlay.is-open{display:flex}
.rbt-app-card-overlay-close{position:fixed;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.55);color:#fff;font-size:30px;line-height:1;z-index:3}
.rbt-app-card-overlay-content{width:100%;max-width:620px;max-height:100%;overflow:auto}
.rbt-app-card-overlay-content .rbt-wallet-wrap{padding:4px!important;width:100%!important}
.rbt-app-card-overlay-content .rbt-wallet-card{width:100%!important;max-width:620px!important;margin:auto!important}

.rbt-matchday-product{display:flex;align-items:center;gap:13px;text-decoration:none!important;color:#111!important}
.rbt-matchday-product img{width:82px!important;height:82px!important;object-fit:cover!important;border-radius:12px}
.rbt-matchday-product span{display:flex;flex-direction:column;gap:4px}.rbt-matchday-product em{font-style:normal;color:var(--rbt-red);font-weight:900}.rbt-matchday-product small{color:#667085}
.rbt-matchday-product-fallback{display:block;padding:14px;border:1px solid #e5e7eb;border-radius:12px;text-decoration:none!important;color:var(--rbt-red)!important;font-weight:800;text-align:center}
.rbt-external-tile{border-style:dashed}.rbt-team-tile{border-color:#f1bac4}

@media(max-width:520px){.rbt-ticket-facts{grid-template-columns:1fr}.rbt-ticket-inbox-item{align-items:flex-start;flex-direction:column}.rbt-ticket-inbox-tags{justify-content:flex-start}}


/* V0.8.2 – Ticket-Status kompakt und farbig */
.rbt-ticket-info-card{padding:16px 18px}
.rbt-ticket-info-accordion{border:0}
.rbt-ticket-info-accordion summary{
    list-style:none;
    display:flex;
    align-items:center;
    gap:11px;
    cursor:pointer;
}
.rbt-ticket-info-accordion summary::-webkit-details-marker{display:none}
.rbt-ticket-summary-icon{
    width:34px;height:34px;border-radius:10px;background:#f7e9ec;color:var(--rbt-red);
    display:flex;align-items:center;justify-content:center;flex:0 0 34px;
}
.rbt-ticket-summary-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.rbt-ticket-summary-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.rbt-ticket-summary-text strong{font-size:16px;color:#111827}
.rbt-ticket-summary-text small{font-size:11px;color:#667085}
.rbt-ticket-summary-chevron{font-size:22px;color:#667085;transition:transform .2s}
.rbt-ticket-info-accordion[open] .rbt-ticket-summary-chevron{transform:rotate(180deg)}
.rbt-ticket-info-content{padding-top:14px}

.rbt-ticket-inbox-tags .rbt-status-chip{border:1px solid transparent}
.rbt-ticket-inbox-tags .status-angefragt{background:#fff4d6;color:#8a5a00;border-color:#f3d99a}
.rbt-ticket-inbox-tags .status-bestätigt,
.rbt-ticket-inbox-tags .status-bezahlt,
.rbt-ticket-inbox-tags .status-keine-zahlung-erforderlich{background:#e9f8ef;color:#166534;border-color:#bfe7cb}
.rbt-ticket-inbox-tags .status-zahlung-offen{background:#fff1e8;color:#9a3412;border-color:#f7c7a8}
.rbt-ticket-inbox-tags .status-warteliste{background:#fff0cf;color:#8a5700;border-color:#f0d59a}
.rbt-ticket-inbox-tags .status-abgelehnt,
.rbt-ticket-inbox-tags .status-storniert{background:#fdecec;color:#a11b1b;border-color:#f2bcbc}
.rbt-ticket-inbox-tags .status-keine-zahlung-angefordert{background:#f2f4f7;color:#475467;border-color:#d9dde5}


/* V0.8.3 – Ausweis schließen: nur dezentes X, kein roter Kasten */
.rbt-app-card-overlay-close{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    color:#ffffff!important;
    width:38px!important;
    height:38px!important;
    font-size:30px!important;
    font-weight:300!important;
    padding:0!important;
}
.rbt-app-card-overlay-close:focus,
.rbt-app-card-overlay-close:hover,
.rbt-app-card-overlay-close:active{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    color:#ffffff!important;
}


/* V0.8.4 – "Meine Spiele" aus dem Preload sofort öffnen */
.rbt-app-games-overlay{
    position:fixed;
    inset:0;
    z-index:999999;
    display:none;
    background:#f5f6f8;
    padding:max(18px,env(safe-area-inset-top)) 14px max(94px,env(safe-area-inset-bottom));
    box-sizing:border-box;
    overflow:auto;
}
.rbt-app-games-overlay.is-open{display:block}
.rbt-app-games-overlay-close{
    position:fixed;
    right:max(14px,env(safe-area-inset-right));
    top:max(14px,env(safe-area-inset-top));
    width:38px;
    height:38px;
    border:0;
    background:transparent;
    color:#111;
    font-size:30px;
    line-height:1;
    z-index:3;
}
.rbt-app-games-overlay-content{
    width:100%;
    max-width:720px;
    margin:44px auto 0;
}
.rbt-fast-games{
    background:#fff;
    border-radius:18px;
    padding:18px;
    box-shadow:0 4px 16px rgba(0,0,0,.05);
}
.rbt-fast-games-head h2{margin:4px 0 14px;font-size:24px}
.rbt-fast-games-list{display:grid;gap:10px}
.rbt-fast-game-card{
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:12px;
    background:#fff;
}
.rbt-fast-game-main strong,.rbt-fast-game-main small{display:block}
.rbt-fast-game-main small{margin-top:4px;color:#667085}
.rbt-fast-game-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.rbt-fast-game-tags span{
    font-size:11px;
    font-weight:800;
    padding:4px 8px;
    border-radius:999px;
    background:#f2f4f7;
    color:#344054;
}
.rbt-fast-games-full{
    display:block;
    margin-top:14px;
    padding:11px 14px;
    border-radius:12px;
    background:var(--rbt-red);
    color:#fff!important;
    text-decoration:none!important;
    text-align:center;
    font-weight:800;
}


/* V0.8.5 – vollständige bestehende Meine-Spiele-Ansicht vorgeladen */
.rbt-app-games-full-overlay{
    position:fixed;
    inset:0;
    z-index:1000000;
    display:none;
    background:#f5f6f8;
}
.rbt-app-games-full-overlay.is-open{display:block}
.rbt-app-games-full-close{
    position:fixed;
    right:max(12px,env(safe-area-inset-right));
    top:max(12px,env(safe-area-inset-top));
    width:40px;
    height:40px;
    border:0;
    padding:0;
    background:rgba(255,255,255,.94);
    border-radius:50%;
    color:#111;
    font-size:30px;
    line-height:1;
    z-index:1000002;
    box-shadow:0 2px 10px rgba(0,0,0,.10);
}
.rbt-app-games-full-frame{
    display:block;
    width:100%;
    height:100dvh;
    border:0;
    background:#f5f6f8;
}
body.rbt-app-embed{
    padding:0!important;
    margin:0!important;
    background:#f5f6f8!important;
}
body.rbt-app-embed header,
body.rbt-app-embed #header,
body.rbt-app-embed .site-header,
body.rbt-app-embed footer,
body.rbt-app-embed #footer,
body.rbt-app-embed .site-footer,
body.rbt-app-embed .elementor-location-header,
body.rbt-app-embed .elementor-location-footer,
body.rbt-app-embed .rbt-app-bottomnav,
body.rbt-app-embed .rbt-app-nav-global{
    display:none!important;
}
body.rbt-app-embed main,
body.rbt-app-embed .site-main,
body.rbt-app-embed .entry-content{
    margin-top:0!important;
}


/* V0.8.6 – Mitgliedsausweis: RBT-Rot vereinheitlichen */
.rbt-app-card-overlay-content .rbt-wallet-card{
    border-color:#e30613!important;
}
.rbt-app-card-overlay-content .rbt-top{
    background:#e30613!important;
    background-image:none!important;
}
.rbt-app-card-overlay-content .rbt-wallet-card [style*="background"]{
    --rbt-app-pass-red:#e30613;
}

/* V0.8.6 – Spieltags-Fanartikel ruhiger und hochwertiger */
.rbt-matchday-product{
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr);
    gap:16px!important;
    align-items:center!important;
    padding:12px!important;
    border:1px solid #e7e9ee;
    border-radius:14px;
    background:#fff;
}
.rbt-matchday-product img{
    width:112px!important;
    height:112px!important;
    min-width:112px!important;
    object-fit:cover!important;
    border-radius:12px!important;
    border:1px solid #eceef2;
}
.rbt-matchday-product span{
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    min-width:0;
}
.rbt-matchday-product strong{
    font-size:18px!important;
    line-height:1.25;
}
.rbt-matchday-product em{
    display:inline-flex!important;
    align-items:baseline!important;
    gap:4px!important;
    flex-wrap:wrap!important;
    font-size:20px!important;
    line-height:1.1!important;
    color:#e30613!important;
}
.rbt-matchday-product em .woocommerce-Price-amount,
.rbt-matchday-product em .woocommerce-Price-currencySymbol{
    display:inline!important;
}
.rbt-matchday-product small{
    display:inline-flex;
    align-items:center;
    gap:5px;
    font-size:13px!important;
    font-weight:700;
    color:#667085!important;
}

/* FC Bayern News über die volle Breite */
.rbt-info-grid{
    display:block!important;
}
.rbt-fcb-news-tile{
    width:100%!important;
    min-height:96px;
    box-sizing:border-box;
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr) 36px;
    align-items:center;
    gap:14px;
    padding:16px!important;
}
.rbt-fcb-news-logo{
    width:60px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#fff;
}
.rbt-fcb-news-logo img{
    width:56px!important;
    height:56px!important;
    object-fit:contain!important;
}
.rbt-fcb-news-copy{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}
.rbt-fcb-news-copy strong{
    font-size:18px!important;
}
.rbt-fcb-news-copy small{
    font-size:12px!important;
    color:#667085!important;
}

/* Meine Spiele: Bottom-Navigation bleibt im Overlay sichtbar.
   WICHTIG: Navigation ist ein 5-spaltiges Grid, kein Flex-Container. */
body.rbt-games-open .rbt-app-bottomnav,
body.rbt-games-open .rbt-app-nav-global{
    z-index:1000003!important;
    display:grid!important;
    grid-template-columns:repeat(5,1fr)!important;
}
body.rbt-games-open .rbt-app-games-full-overlay{
    bottom:86px;
}
body.rbt-games-open .rbt-app-games-full-frame{
    height:calc(100dvh - 86px)!important;
}
body.rbt-games-open .rbt-app-games-full-close{
    z-index:1000004!important;
}

/* App-eingebettete Meine-Spiele-Seite etwas sauberer an den Rand */
body.rbt-app-embed{
    padding-bottom:18px!important;
}

@media(max-width:520px){
    .rbt-matchday-product{
        grid-template-columns:92px minmax(0,1fr);
        gap:12px!important;
    }
    .rbt-matchday-product img{
        width:92px!important;
        height:92px!important;
        min-width:92px!important;
    }
}


/* V0.8.7 – App-News: nur letzte 4 Überschriften sichtbar, Inhalt bereits vorgeladen */
.rbt-news-accordion-list{
    display:grid;
    gap:8px;
}
.rbt-news-accordion{
    border:1px solid #e7e9ee;
    border-radius:11px;
    background:#fff;
    overflow:hidden;
}
.rbt-news-accordion summary{
    list-style:none;
    display:flex;
    align-items:center;
    gap:10px;
    min-height:46px;
    padding:10px 12px;
    cursor:pointer;
}
.rbt-news-accordion summary::-webkit-details-marker{
    display:none;
}
.rbt-news-accordion-title{
    flex:1;
    min-width:0;
    font-size:14px;
    line-height:1.3;
    font-weight:800;
    color:#111827;
}
.rbt-news-accordion-chevron{
    flex:0 0 auto;
    font-size:20px;
    line-height:1;
    color:#667085;
    transition:transform .2s ease;
}
.rbt-news-accordion[open] .rbt-news-accordion-chevron{
    transform:rotate(180deg);
}
.rbt-news-accordion-content{
    padding:0 12px 12px;
    border-top:1px solid #f0f1f3;
    color:#3f4754;
    font-size:14px;
    line-height:1.5;
}
.rbt-news-accordion-content > :first-child{
    margin-top:10px;
}
.rbt-news-accordion-content > :last-child{
    margin-bottom:0;
}


/* V0.9.5 – Mitgliedsausweis mit sichtbarer Hauptnavigation */
.rbt-app-card-overlay{
    bottom:96px!important;
    padding:10px 10px 6px!important;
    box-sizing:border-box!important;
    align-items:flex-start!important;
    overflow:auto!important;
}
.rbt-app-card-overlay-content{
    width:100%!important;
    max-width:620px!important;
    max-height:calc(100dvh - 112px)!important;
    overflow:auto!important;
    padding:0!important;
    margin:0 auto!important;
    box-sizing:border-box!important;
}
.rbt-app-card-overlay-content .rbt-wallet-wrap{
    padding:0!important;
    width:100%!important;
}
.rbt-app-card-overlay-content .rbt-wallet-card{
    width:100%!important;
    max-width:620px!important;
    margin:0 auto!important;
    min-height:0!important;
}

/* Wenn der Ausweis geöffnet ist, muss die vorhandene App-Navigation sichtbar bleiben */
body.rbt-card-open .rbt-app-bottomnav,
body.rbt-card-open .rbt-app-nav-global{
    display:grid!important;
    grid-template-columns:repeat(5,1fr)!important;
    z-index:1000003!important;
}

/* Der alte X-Button wird ab V0.9.5 nicht mehr verwendet */
.rbt-app-card-overlay-close{
    display:none!important;
}

@media(max-width:520px){
    .rbt-app-card-overlay{
        padding-left:8px!important;
        padding-right:8px!important;
    }
    .rbt-app-card-overlay-content .rbt-wallet-card{
        border-radius:22px!important;
    }
}


/* V0.9.6 – Profil wie "Meine Spiele" vorgeladen, Navigation bleibt unverändert */
.rbt-app-profile-full-overlay{
    position:fixed;
    inset:0 0 86px 0;
    z-index:1000000;
    display:none;
    background:#f5f6f8;
}
.rbt-app-profile-full-overlay.is-open{
    display:block;
}
.rbt-app-profile-full-frame{
    display:block;
    width:100%;
    height:calc(100dvh - 86px);
    border:0;
    background:#f5f6f8;
}

/* Bestehende, bereits funktionierende Bottom-Navigation bleibt sichtbar */
body.rbt-profile-open .rbt-app-bottomnav,
body.rbt-profile-open .rbt-app-nav-global{
    z-index:1000003!important;
    display:grid!important;
    grid-template-columns:repeat(5,1fr)!important;
}

/* Im eingebetteten Profil keine zweite Website-/App-Navigation */
body.rbt-app-embed header,
body.rbt-app-embed #header,
body.rbt-app-embed .site-header,
body.rbt-app-embed footer,
body.rbt-app-embed #footer,
body.rbt-app-embed .site-footer,
body.rbt-app-embed .elementor-location-header,
body.rbt-app-embed .elementor-location-footer,
body.rbt-app-embed .rbt-app-bottomnav,
body.rbt-app-embed .rbt-app-nav-global{
    display:none!important;
}


/* V0.10.0 – App-ready Spieltagsfunktionen */
.rbt-matchday-test-note{
    grid-column:1/-1;
    padding:9px 11px;
    border:1px solid #f3c36a;
    border-radius:10px;
    background:#fff8e7;
    color:#7a5200;
    font-size:11px;
}
.rbt-matchday-action{cursor:pointer}
.rbt-matchday-action:active{transform:scale(.985)}
.rbt-matchday-overlay{
    position:fixed;inset:0;z-index:1300000;
    display:none;align-items:flex-end;justify-content:center;
    background:rgba(0,0,0,.5);
}
.rbt-matchday-overlay.is-open{display:flex}
.rbt-matchday-sheet{
    position:relative;
    width:min(100%,680px);
    max-height:82dvh;
    overflow:auto;
    background:#fff;
    border-radius:22px 22px 0 0;
    padding:22px 18px calc(26px + env(safe-area-inset-bottom));
    box-sizing:border-box;
}
.rbt-matchday-close{
    position:absolute;right:14px;top:12px;
    width:38px;height:38px;border:0;background:#f2f4f7;border-radius:50%;
    font-size:26px;line-height:1;cursor:pointer;
}
.rbt-matchday-sheet h2{margin:0 44px 6px 0}
.rbt-matchday-sheet .rbt-md-sub{color:#667085;font-size:12px;margin-bottom:16px}
.rbt-md-score{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0}
.rbt-md-score input{width:74px;height:58px;text-align:center;font-size:28px;font-weight:900;border:1px solid #cfd5dd;border-radius:12px}
.rbt-md-score b{font-size:24px}
.rbt-md-button{
    width:100%;min-height:44px;border:0;border-radius:11px;
    background:#d4002a;color:#fff;font-weight:900;font-size:14px;cursor:pointer;
}
.rbt-md-button.secondary{background:#111827}
.rbt-md-field{margin:10px 0}
.rbt-md-field label{display:block;font-size:11px;font-weight:800;margin-bottom:4px}
.rbt-md-field input{width:100%;min-height:42px;padding:8px 10px;border:1px solid #cfd5dd;border-radius:10px;box-sizing:border-box}
.rbt-md-status{margin:12px 0;padding:10px 12px;border-radius:10px;background:#f4f6f8;font-size:12px}
.rbt-md-status.is-ok{background:#eaf8ef;color:#166534}
.rbt-md-list{display:grid;gap:8px;margin:12px 0}
.rbt-md-list-item{padding:10px 11px;border:1px solid #e5e7eb;border-radius:10px}
.rbt-md-admin{margin-top:18px;padding-top:14px;border-top:1px solid #e5e7eb}


/* V0.10.3 – Statussignale direkt auf den Spieltags-Kacheln */
.rbt-dashboard-tile{
    position:relative;
}
.rbt-matchday-winner-badge,
.rbt-matchday-stop-badge{
    position:absolute;
    top:8px;
    right:8px;
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:4px 7px;
    border-radius:999px;
    font-size:9px;
    line-height:1;
    font-weight:900;
    white-space:nowrap;
}
.rbt-matchday-winner-badge{
    background:#fff7d6;
    border:1px solid #e7c44c;
    color:#725600;
}
.rbt-matchday-stop-badge{
    background:#eef8ff;
    border:1px solid #83bde8;
    color:#15527d;
}


/* V0.10.4 – Popup-X exakt zentrieren */
.rbt-matchday-close{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    line-height:1!important;
    text-align:center!important;
    font-family:Arial,sans-serif!important;
    font-weight:700!important;
}

/* Mehrzeilige Statusinfos auf Kacheln sauber lesbar */
.rbt-dashboard-tile small{
    line-height:1.28;
}


/* V0.10.6 – Spielpaarung mit Logos im Tippspiel */
.rbt-md-matchup{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:14px;
    align-items:center;
    margin:8px 0 18px;
    padding:12px 10px;
    border:1px solid #e4e7ec;
    border-radius:14px;
    background:#fff;
}
.rbt-md-team{
    display:grid;
    justify-items:center;
    gap:7px;
    text-align:center;
    min-width:0;
}
.rbt-md-team strong{
    font-size:12px;
    line-height:1.2;
    max-width:120px;
}
.rbt-md-team-logo{
    width:68px;
    height:68px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f8fafc;
    border:1px solid #e4e7ec;
    overflow:hidden;
}
.rbt-md-team-logo img{
    width:78%;
    height:78%;
    object-fit:contain;
}
.rbt-md-logo-placeholder{
    font-size:30px;
    font-weight:900;
    color:#98a2b3;
}
.rbt-md-vs{
    font-size:13px;
    font-weight:900;
    color:#667085;
}


/* V0.11.0 – RBT-Musikqueue / DJ-Master */
.rbt-matchday-music-badge{
    position:absolute;
    top:8px;
    right:8px;
    display:inline-flex;
    align-items:center;
    padding:4px 7px;
    border-radius:999px;
    background:#f1edff;
    border:1px solid #b9a8ef;
    color:#4f378c;
    font-size:9px;
    line-height:1;
    font-weight:900;
    white-space:nowrap;
}
.rbt-md-now-playing{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin:10px 0 12px;
    padding:12px 14px;
    border-radius:12px;
    background:#111827;
    color:#fff;
}
.rbt-md-now-playing span{
    font-size:9px;
    letter-spacing:.08em;
    font-weight:900;
    opacity:.7;
}
.rbt-md-now-playing strong{font-size:15px}
.rbt-md-music-limit{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px 10px;
    margin:10px 0;
    padding:9px 11px;
    border:1px solid #e4e7ec;
    border-radius:10px;
    background:#fafafa;
}
.rbt-md-music-limit strong{font-size:12px}
.rbt-md-music-limit small{font-size:10px;color:#667085}
.rbt-md-queue-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:16px 0 7px;
}
.rbt-md-queue-head span{font-size:11px;color:#667085}
.rbt-md-music-queue{display:grid;gap:8px}
.rbt-md-music-item{
    display:grid;
    grid-template-columns:30px minmax(0,1fr) auto;
    gap:9px;
    align-items:center;
    padding:10px;
    border:1px solid #e4e7ec;
    border-radius:11px;
    background:#fff;
}
.rbt-md-music-item.is-playing{
    border-color:#8d78d6;
    background:#f7f5ff;
}
.rbt-md-music-position{
    width:28px;height:28px;
    display:flex;align-items:center;justify-content:center;
    border-radius:50%;
    background:#f2f4f7;
    font-size:11px;font-weight:900;
}
.rbt-md-music-info{min-width:0}
.rbt-md-music-info strong{
    display:block;
    font-size:12px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.rbt-md-music-info small{font-size:9px;color:#667085}
.rbt-md-dj-actions{
    display:flex;
    flex-wrap:wrap;
    gap:4px;
    justify-content:flex-end;
}
.rbt-md-dj-actions button{
    width:30px;height:30px;
    display:flex;align-items:center;justify-content:center;
    border:1px solid #d0d5dd;
    border-radius:8px;
    background:#fff;
    cursor:pointer;
    font-weight:900;
}
.rbt-md-music-history{margin-top:16px}
.rbt-md-music-history summary{cursor:pointer;font-size:11px;font-weight:800;color:#475467}
@media(max-width:520px){
    .rbt-md-music-item{
        grid-template-columns:28px minmax(0,1fr);
    }
    .rbt-md-dj-actions{
        grid-column:1/-1;
        justify-content:flex-start;
        padding-left:37px;
    }
}


/* V0.11.1 – Spotify-Suche */
.rbt-spotify-results{
    display:grid;
    gap:7px;
    margin:8px 0 16px;
}
.rbt-spotify-result{
    width:100%;
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:8px;
    border:1px solid #e4e7ec;
    border-radius:11px;
    background:#fff;
    text-align:left;
    cursor:pointer;
}
.rbt-spotify-result:active{transform:scale(.995)}
.rbt-spotify-result:disabled{opacity:.55}
.rbt-spotify-cover{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:7px;
    background:#f2f4f7;
    color:#667085;
    font-size:20px;
}
.rbt-spotify-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.rbt-spotify-info{
    min-width:0;
    display:grid;
    gap:3px;
}
.rbt-spotify-info strong{
    font-size:12px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.rbt-spotify-info small{
    font-size:9px;
    color:#667085;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.rbt-spotify-add{
    padding:6px 8px;
    border-radius:999px;
    background:#e9f7ee;
    color:#16733b;
    font-size:9px;
    font-weight:900;
}
.rbt-md-music-info{
    display:flex;
    align-items:center;
    gap:7px;
}
.rbt-md-music-info > span{
    min-width:0;
}
.rbt-md-queue-cover{
    width:34px;
    height:34px;
    flex:0 0 34px;
    object-fit:cover;
    border-radius:6px;
}


/* V0.11.2 – Spotify-Playlists im DJ-Master */
.rbt-spotify-playlists{margin-top:10px}
.rbt-spotify-playlist-grid{display:grid;gap:8px}
.rbt-spotify-playlist-card{
    width:100%;
    display:grid;
    grid-template-columns:54px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:8px;
    border:1px solid #e4e7ec;
    border-radius:11px;
    background:#fff;
    text-align:left;
    cursor:pointer;
}
.rbt-spotify-playlist-cover{
    width:54px;height:54px;
    display:flex;align-items:center;justify-content:center;
    overflow:hidden;border-radius:8px;background:#f2f4f7;
}
.rbt-spotify-playlist-cover img{width:100%;height:100%;object-fit:cover}
.rbt-spotify-playlist-copy{min-width:0;display:grid;gap:3px}
.rbt-spotify-playlist-copy strong{
    font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.rbt-spotify-playlist-copy small{font-size:9px;color:#667085}
.rbt-spotify-playlist-open{
    padding:6px 8px;border-radius:999px;background:#f1edff;color:#4f378c;
    font-size:9px;font-weight:900
}
.rbt-spotify-playlist-title{
    display:flex;align-items:center;justify-content:space-between;
    margin:14px 0 7px;padding-top:10px;border-top:1px solid #e4e7ec
}
.rbt-spotify-playlist-title strong{font-size:12px}
.rbt-spotify-playlist-title span{font-size:9px;color:#667085}
.rbt-spotify-playlist-tracks{display:grid;gap:6px}
.rbt-spotify-playlist-track{
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:8px;align-items:center;
    padding:7px;border:1px solid #eaecf0;border-radius:9px;background:#fff
}
.rbt-spotify-playlist-track .rbt-spotify-cover{width:42px;height:42px}
.rbt-spotify-playlist-track button{
    border:0;border-radius:999px;padding:7px 9px;
    background:#e30613;color:#fff;font-size:9px;font-weight:900;cursor:pointer
}
.rbt-spotify-playlist-track button:disabled{opacity:.5}


/* V0.11.3 – Spotify Player + Playlist Play */
.rbt-spotify-player{
    margin:10px 0 14px;
    padding:10px;
    border:1px solid #d7dce3;
    border-radius:12px;
    background:#fff;
}
.rbt-spotify-player-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:8px;
}
.rbt-spotify-player-head strong{font-size:13px}
.rbt-spotify-player-head button{
    width:32px;height:32px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;font-weight:900
}
.rbt-spotify-device-label{
    display:grid;
    gap:4px;
    margin:8px 0;
    font-size:10px;
    font-weight:800;
    color:#475467;
}
.rbt-spotify-device-label select{
    width:100%;
    min-height:40px;
    border:1px solid #d0d5dd;
    border-radius:9px;
    background:#fff;
    padding:7px 9px;
}
.rbt-spotify-now{
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    gap:9px;
    align-items:center;
    margin:9px 0;
    padding:8px;
    border-radius:10px;
    background:#111827;
    color:#fff;
}
.rbt-spotify-now img{width:54px;height:54px;object-fit:cover;border-radius:7px}
.rbt-spotify-now span{display:grid;gap:2px;min-width:0}
.rbt-spotify-now small{font-size:8px;letter-spacing:.07em;opacity:.7}
.rbt-spotify-now strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rbt-spotify-now em{font-size:9px;font-style:normal;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rbt-spotify-player-actions{
    display:flex;
    gap:7px;
    margin-top:8px;
}
.rbt-spotify-player-actions button{
    flex:1;
    min-height:42px;
    border:0;
    border-radius:10px;
    background:#111827;
    color:#fff;
    font-size:16px;
    font-weight:900;
}
.rbt-spotify-playlist-play{
    width:100%;
    margin:-3px 0 7px;
    min-height:36px;
    border:0;
    border-radius:9px;
    background:#111827;
    color:#fff;
    font-size:10px;
    font-weight:900;
}


/* V0.11.5 – Playlist-Overlay, Feedback und Played-History */
body.rbt-playlist-overlay-open{overflow:hidden}

.rbt-spotify-playlist-overlay{
    position:fixed;
    inset:0;
    z-index:1000000;
    display:none;
    align-items:flex-end;
    justify-content:center;
    background:rgba(10,15,25,.62);
    backdrop-filter:blur(2px);
}
.rbt-spotify-playlist-overlay.is-open{display:flex}

.rbt-spotify-playlist-sheet{
    width:min(760px,100%);
    max-height:88vh;
    display:flex;
    flex-direction:column;
    background:#fff;
    border-radius:24px 24px 0 0;
    box-shadow:0 -18px 50px rgba(0,0,0,.22);
    overflow:hidden;
}

.rbt-spotify-playlist-sheet-head{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 44px;
    gap:10px;
    align-items:center;
    padding:14px 16px;
    border-bottom:1px solid #e4e7ec;
    background:#fff;
}
.rbt-spotify-playlist-sheet-head > div{
    min-width:0;
    display:grid;
    gap:2px;
}
.rbt-spotify-playlist-sheet-head strong{
    font-size:18px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.rbt-spotify-playlist-sheet-head small{
    font-size:11px;
    color:#667085;
}
.rbt-spotify-playlist-back,
.rbt-spotify-playlist-close{
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:#f2f4f7;
    font-size:24px;
    font-weight:900;
    line-height:1;
}
.rbt-spotify-playlist-close{
    background:#e30613;
    color:#fff;
}

.rbt-spotify-playlist-sheet-body{
    overflow:auto;
    padding:12px 14px 24px;
    -webkit-overflow-scrolling:touch;
}

.rbt-spotify-overlay-track-list{display:grid;gap:8px}
.rbt-spotify-overlay-track{
    display:grid;
    grid-template-columns:50px minmax(0,1fr) auto;
    gap:9px;
    align-items:center;
    padding:8px;
    border:1px solid #e4e7ec;
    border-radius:11px;
    background:#fff;
}
.rbt-spotify-overlay-actions{
    display:flex;
    gap:6px;
    align-items:center;
}
.rbt-spotify-overlay-actions button{
    min-height:36px;
    border:0;
    border-radius:999px;
    padding:7px 10px;
    font-size:10px;
    font-weight:900;
    cursor:pointer;
}
.rbt-spotify-play-now{
    min-width:38px;
    background:#111827;
    color:#fff;
}
.rbt-spotify-add-queue,
.rbt-spotify-playlist-track .rbt-spotify-overlay-actions button:last-child{
    background:#e30613;
    color:#fff;
}

.rbt-music-toast{
    position:fixed;
    left:50%;
    bottom:110px;
    z-index:1000002;
    transform:translate(-50%,20px);
    max-width:calc(100vw - 34px);
    padding:11px 15px;
    border-radius:999px;
    background:#111827;
    color:#fff;
    font-size:12px;
    font-weight:800;
    opacity:0;
    transition:.2s ease;
    box-shadow:0 8px 24px rgba(0,0,0,.22);
    pointer-events:none;
}
.rbt-music-toast.is-visible{
    opacity:1;
    transform:translate(-50%,0);
}
.rbt-music-toast.success{background:#16733b}
.rbt-music-toast.error{background:#b42318}

.rbt-md-played-history{
    margin-top:18px;
    padding-top:4px;
}
.rbt-md-played-item{
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    gap:9px;
    align-items:center;
    padding:8px 0;
    border-bottom:1px solid #eaecf0;
}
.rbt-md-played-item img{
    width:40px;
    height:40px;
    border-radius:7px;
    object-fit:cover;
}
.rbt-md-played-item span{
    min-width:0;
    display:grid;
    gap:2px;
}
.rbt-md-played-item strong{
    font-size:11px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.rbt-md-played-item small{
    font-size:9px;
    color:#667085;
}

@media(max-width:520px){
    .rbt-spotify-playlist-sheet{max-height:91vh}
    .rbt-spotify-overlay-track{
        grid-template-columns:44px minmax(0,1fr);
    }
    .rbt-spotify-overlay-actions{
        grid-column:2;
        justify-content:flex-start;
    }
}


/* V0.11.6 – Playlist UI kompakter + Overlay sicher im Vordergrund */
.rbt-spotify-playlist-overlay{
    z-index:2147483000 !important;
}
.rbt-spotify-playlist-sheet{
    width:min(680px,100%);
    max-height:82vh;
    border-radius:20px 20px 0 0;
}
.rbt-spotify-playlist-sheet-head{
    grid-template-columns:38px minmax(0,1fr) 38px;
    gap:8px;
    padding:10px 12px;
}
.rbt-spotify-playlist-back,
.rbt-spotify-playlist-close{
    width:36px;
    height:36px;
    font-size:20px;
}
.rbt-spotify-playlist-sheet-head strong{font-size:16px}
.rbt-spotify-playlist-sheet-head small{font-size:10px}
.rbt-spotify-playlist-sheet-body{
    padding:8px 10px 16px;
}
.rbt-spotify-overlay-track-list{gap:5px}
.rbt-spotify-overlay-track{
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:7px;
    padding:6px;
    border-radius:9px;
}
.rbt-spotify-overlay-track .rbt-spotify-cover{
    width:38px;
    height:38px;
}
.rbt-spotify-overlay-track .rbt-spotify-info strong{font-size:11px}
.rbt-spotify-overlay-track .rbt-spotify-info small{font-size:8px}
.rbt-spotify-overlay-actions{gap:4px}
.rbt-spotify-overlay-actions button{
    min-height:30px;
    padding:5px 8px;
    font-size:9px;
}
.rbt-spotify-play-now{min-width:32px}

/* Playlist-Kacheln im DJ-Bereich jetzt eine kompakte Zeile */
.rbt-spotify-playlist-grid{gap:6px}
.rbt-spotify-playlist-card{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
    padding:7px 8px;
    border-radius:10px;
    background:#fff;
    border:1px solid #e4e7ec;
}
.rbt-spotify-playlist-cover{
    width:44px;
    height:44px;
}
.rbt-spotify-playlist-copy strong{font-size:11px}
.rbt-spotify-playlist-copy small{font-size:8px}
.rbt-spotify-playlist-card-actions{
    display:flex;
    gap:5px;
    align-items:center;
}
.rbt-spotify-playlist-card-actions button{
    border:0;
    border-radius:999px;
    min-height:32px;
    padding:6px 9px;
    font-size:9px;
    font-weight:900;
    cursor:pointer;
}
.rbt-spotify-playlist-card-actions .rbt-spotify-playlist-open{
    background:#f1edff;
    color:#4f378c;
}
.rbt-spotify-playlist-card-actions .rbt-spotify-playlist-play{
    width:34px;
    min-width:34px;
    padding:0;
    margin:0;
    background:#111827;
    color:#fff;
}

/* alte Fullwidth-Playlist-Button-Regel neutralisieren */
.rbt-spotify-playlist-play{
    width:auto;
    margin:0;
    min-height:32px;
}

@media(max-width:520px){
    .rbt-spotify-playlist-sheet{max-height:86vh}
    .rbt-spotify-overlay-track{
        grid-template-columns:38px minmax(0,1fr) auto;
    }
    .rbt-spotify-overlay-actions{
        grid-column:auto;
        justify-content:flex-end;
    }
}


/* V0.11.7 – Busmodus: große Touchflächen, klare 2-Zeilen-Beschriftung */
.rbt-spotify-playlist-grid{
    max-height:300px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding-right:3px;
    scroll-snap-type:y proximity;
}

.rbt-spotify-playlist-card{
    grid-template-columns:58px minmax(0,1fr) auto;
    gap:10px;
    min-height:84px;
    padding:10px 12px;
    scroll-snap-align:start;
}

.rbt-spotify-playlist-cover{
    width:58px;
    height:58px;
    border-radius:10px;
}

.rbt-spotify-playlist-copy{
    gap:4px;
}
.rbt-spotify-playlist-copy strong{
    font-size:16px;
    line-height:1.15;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
}
.rbt-spotify-playlist-copy small{
    font-size:12px;
    line-height:1.2;
}

.rbt-spotify-playlist-card-actions{
    display:grid;
    grid-template-columns:76px 76px;
    gap:8px;
}

.rbt-spotify-playlist-card-actions button{
    width:76px;
    min-width:76px;
    min-height:58px;
    padding:6px 8px;
    border-radius:14px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    line-height:1;
    touch-action:manipulation;
}
.rbt-spotify-playlist-card-actions button span{
    font-size:18px;
    font-weight:900;
}
.rbt-spotify-playlist-card-actions button small{
    font-size:10px;
    font-weight:800;
}
.rbt-spotify-playlist-card-actions .rbt-spotify-playlist-open{
    background:#f1edff;
    color:#4f378c;
}
.rbt-spotify-playlist-card-actions .rbt-spotify-playlist-play{
    width:76px;
    min-width:76px;
    min-height:58px;
    background:#111827;
    color:#fff;
}

/* Playlist-Inhalt: große Zeilen, große getrennte Buttons */
.rbt-spotify-playlist-sheet{
    max-height:88vh;
}
.rbt-spotify-playlist-sheet-body{
    padding:10px 12px 20px;
}
.rbt-spotify-overlay-track-list{
    gap:8px;
}
.rbt-spotify-overlay-track{
    grid-template-columns:54px minmax(0,1fr) auto;
    gap:10px;
    min-height:82px;
    padding:10px;
    border-radius:12px;
}
.rbt-spotify-overlay-track .rbt-spotify-cover{
    width:54px;
    height:54px;
    border-radius:9px;
}
.rbt-spotify-overlay-track .rbt-spotify-info{
    gap:4px;
}
.rbt-spotify-overlay-track .rbt-spotify-info strong{
    font-size:15px;
    line-height:1.18;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
}
.rbt-spotify-overlay-track .rbt-spotify-info small{
    font-size:11px;
    line-height:1.2;
    white-space:normal;
}

.rbt-spotify-overlay-actions{
    display:grid;
    grid-template-columns:64px 64px;
    gap:8px;
}
.rbt-spotify-overlay-actions button{
    width:64px;
    min-width:64px;
    min-height:58px;
    border-radius:14px;
    padding:6px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    touch-action:manipulation;
}
.rbt-spotify-overlay-actions button span{
    font-size:18px;
    font-weight:900;
    line-height:1;
}
.rbt-spotify-overlay-actions button small{
    font-size:10px;
    font-weight:800;
    line-height:1;
}

/* Player ebenfalls etwas größer für wackelige Fahrt */
.rbt-spotify-player-actions{
    gap:10px;
}
.rbt-spotify-player-actions button{
    min-height:58px;
    border-radius:14px;
    font-size:22px;
}
.rbt-spotify-player-head button{
    width:46px;
    height:46px;
    font-size:20px;
}
.rbt-spotify-device-label select{
    min-height:50px;
    font-size:16px;
}

/* Bereits gespielt besser lesbar */
.rbt-md-played-item{
    grid-template-columns:48px minmax(0,1fr);
    gap:10px;
    min-height:62px;
    padding:8px 0;
}
.rbt-md-played-item img{
    width:48px;
    height:48px;
}
.rbt-md-played-item strong{
    font-size:13px;
    line-height:1.2;
    white-space:normal;
}
.rbt-md-played-item small{
    font-size:10px;
}

@media(max-width:520px){
    .rbt-spotify-playlist-grid{max-height:270px}
    .rbt-spotify-playlist-card{
        grid-template-columns:52px minmax(0,1fr);
        min-height:112px;
    }
    .rbt-spotify-playlist-cover{
        width:52px;
        height:52px;
    }
    .rbt-spotify-playlist-card-actions{
        grid-column:1 / -1;
        grid-template-columns:1fr 1fr;
        width:100%;
    }
    .rbt-spotify-playlist-card-actions button,
    .rbt-spotify-playlist-card-actions .rbt-spotify-playlist-play{
        width:100%;
        min-width:0;
        min-height:56px;
    }

    .rbt-spotify-overlay-track{
        grid-template-columns:48px minmax(0,1fr);
        min-height:120px;
    }
    .rbt-spotify-overlay-track .rbt-spotify-cover{
        width:48px;
        height:48px;
    }
    .rbt-spotify-overlay-actions{
        grid-column:1 / -1;
        grid-template-columns:1fr 1fr;
        width:100%;
    }
    .rbt-spotify-overlay-actions button{
        width:100%;
        min-width:0;
        min-height:56px;
    }
}


/* V0.11.8 – großer DJ-Player mit eigener Kopfzeile */
.rbt-matchday-sheet{
    padding:0 !important;
    overflow:hidden !important;
    display:flex;
    flex-direction:column;
}

.rbt-matchday-topbar{
    position:sticky;
    top:0;
    z-index:20;
    flex:0 0 auto;
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:8px 12px 8px 18px;
    background:#111827;
    color:#fff;
    border-bottom:1px solid rgba(255,255,255,.08);
    box-sizing:border-box;
}

.rbt-matchday-topbar strong{
    font-size:18px;
    font-weight:900;
    line-height:1;
}

.rbt-matchday-topbar .rbt-matchday-close{
    position:static !important;
    flex:0 0 46px;
    width:46px !important;
    height:46px !important;
    background:#e30613 !important;
    color:#fff !important;
    border-radius:14px !important;
    font-size:28px !important;
}

.rbt-matchday-sheet-content{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:16px 16px calc(26px + env(safe-area-inset-bottom));
    box-sizing:border-box;
}

/* DJ-Player bekommt fast die gesamte Bildschirmhöhe */
.rbt-matchday-overlay.is-music .rbt-matchday-sheet{
    width:min(100%,760px);
    height:96dvh;
    max-height:96dvh;
    border-radius:20px 20px 0 0;
}

/* Im DJ-Modus keine doppelte Überschrift – oben reicht "DJ Player". */
.rbt-matchday-overlay.is-music .rbt-matchday-sheet-content > h2,
.rbt-matchday-overlay.is-music .rbt-matchday-sheet-content > .rbt-md-sub{
    display:none !important;
}

/* "DJ-Master" als Extra-Zeile sparen; die Rechte sind über den Player ersichtlich. */
.rbt-matchday-overlay.is-music .rbt-md-admin > strong:first-child{
    display:none;
}

/* etwas engerer Innenabstand zwischen den großen Bedienblöcken */
.rbt-matchday-overlay.is-music .rbt-md-admin{
    margin-top:10px;
    padding-top:10px;
}

.rbt-matchday-overlay.is-music .rbt-spotify-player{
    margin-top:0;
}

/* Spotify Playlists bleiben gut scrollbar, aber nutzen den größeren Playerraum besser */
.rbt-matchday-overlay.is-music .rbt-spotify-playlist-grid{
    max-height:38dvh;
}

/* Bereits gespielt ebenfalls scrollfreundlich und kompakt */
.rbt-matchday-overlay.is-music .rbt-md-played-history{
    margin-top:16px;
}

@media(max-width:520px){
    .rbt-matchday-overlay.is-music .rbt-matchday-sheet{
        height:97dvh;
        max-height:97dvh;
        width:100%;
        border-radius:18px 18px 0 0;
    }

    .rbt-matchday-topbar{
        min-height:56px;
        padding:6px 10px 6px 16px;
    }

    .rbt-matchday-topbar strong{
        font-size:17px;
    }

    .rbt-matchday-sheet-content{
        padding:12px 12px calc(22px + env(safe-area-inset-bottom));
    }

    .rbt-matchday-overlay.is-music .rbt-spotify-playlist-grid{
        max-height:40dvh;
    }
}


/* V0.11.9 – DJ Bedienreihenfolge + Apple-artige Spotify-Suche */

/* Im DJ-Player doppelte Titel aus dem Content entfernen; Topbar reicht. */
.rbt-matchday-overlay.is-music .rbt-matchday-sheet-content > h2,
.rbt-matchday-overlay.is-music .rbt-matchday-sheet-content > .rbt-md-sub{
    display:none !important;
}

/* Suche wie iOS Kontakte: eine kompakte Zeile, Treffer nur bei Bedarf */
.rbt-dj-search{
    position:sticky;
    top:0;
    z-index:15;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 38px;
    align-items:center;
    min-height:54px;
    margin:0 0 8px;
    padding:0 8px 0 10px;
    border-radius:18px;
    background:#f1f2f4;
    box-shadow:inset 0 0 0 1px rgba(17,24,39,.04);
}
.rbt-dj-search-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:25px;
    line-height:1;
    color:#111827;
    transform:rotate(-18deg);
}
.rbt-dj-search input{
    width:100%;
    min-width:0;
    height:50px;
    padding:0 6px;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    font-size:18px;
    font-weight:500;
    color:#111827;
}
.rbt-dj-search input::placeholder{
    color:#7b8494;
}
.rbt-dj-search-clear{
    width:30px;
    height:30px;
    border:0;
    border-radius:50%;
    display:none;
    align-items:center;
    justify-content:center;
    background:#cfd3da;
    color:#fff;
    font-size:20px;
    font-weight:900;
    line-height:1;
}
.rbt-dj-search-clear.is-visible{display:flex}

.rbt-dj-search-results{
    display:none;
    max-height:42dvh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    margin:-2px 0 10px;
    padding:4px;
    border:1px solid #e4e7ec;
    border-radius:16px;
    background:#fff;
    box-shadow:0 12px 30px rgba(17,24,39,.12);
}
.rbt-dj-search-results.is-open{display:grid;gap:5px}

.rbt-dj-search-loading,
.rbt-dj-search-empty{
    padding:14px 12px;
    font-size:13px;
    color:#667085;
}

.rbt-dj-search-results .rbt-spotify-result{
    display:grid;
    grid-template-columns:52px minmax(0,1fr) auto;
    align-items:center;
    gap:9px;
    min-height:72px;
    padding:7px;
    border:0;
    border-bottom:1px solid #eaecf0;
    border-radius:0;
    background:#fff;
}
.rbt-dj-search-results .rbt-spotify-result:last-child{
    border-bottom:0;
}
.rbt-dj-search-results .rbt-spotify-cover{
    width:52px;
    height:52px;
    border-radius:9px;
}
.rbt-dj-search-results .rbt-spotify-info strong{
    font-size:14px;
    line-height:1.18;
    white-space:normal;
}
.rbt-dj-search-results .rbt-spotify-info small{
    font-size:10px;
    line-height:1.2;
    white-space:normal;
}
.rbt-dj-search-actions{
    display:grid;
    grid-template-columns:62px 62px;
    gap:7px;
}
.rbt-dj-search-actions button{
    min-width:62px;
    min-height:54px;
    border:0;
    border-radius:14px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    padding:5px;
    font-weight:900;
}
.rbt-dj-search-actions button span{font-size:18px;line-height:1}
.rbt-dj-search-actions button small{font-size:9px;line-height:1}
.rbt-search-play{
    background:#111827;
    color:#fff;
}
.rbt-search-queue{
    background:#e30613;
    color:#fff;
}

/* Player direkt nach Suche */
.rbt-md-admin-player{
    margin:8px 0 14px !important;
    padding:0 !important;
}
.rbt-md-admin-player .rbt-spotify-player{
    margin:0;
}

/* Queue ist ein eigener scrollbarerer Arbeitsbereich */
.rbt-md-music-queue-scroll{
    max-height:44dvh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding-right:2px;
    margin-bottom:12px;
    scroll-snap-type:y proximity;
}
.rbt-md-music-queue-scroll .rbt-md-music-item{
    scroll-snap-align:start;
}

/* Playlist-Balken klar von Queue und Verlauf getrennt */
.rbt-dj-playlists-section{
    margin:14px 0 18px;
}
.rbt-dj-playlists-toggle{
    min-height:62px !important;
    width:100%;
    border-radius:16px !important;
    font-size:17px !important;
    font-weight:900 !important;
    background:#111827 !important;
    color:#fff !important;
}

/* geladene Playlist-Karten bleiben scrollbar */
.rbt-dj-playlists-section .rbt-spotify-playlists{
    margin-top:8px;
}
.rbt-dj-playlists-section .rbt-spotify-playlist-grid{
    max-height:34dvh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
}

/* Bereits gespielt klarer Abschluss */
.rbt-md-played-history{
    margin-top:18px;
    padding-top:8px;
    border-top:1px solid #e4e7ec;
}

/* normale Mitglieder behalten die normale Suchdarstellung */
.rbt-matchday-overlay.is-music:not(.rbt-dj-mode) .rbt-spotify-results{
    box-shadow:none;
}

@media(max-width:520px){
    .rbt-dj-search{
        grid-template-columns:30px minmax(0,1fr) 34px;
        min-height:52px;
        border-radius:17px;
    }
    .rbt-dj-search input{
        height:48px;
        font-size:17px;
    }

    .rbt-dj-search-results{
        max-height:46dvh;
    }
    .rbt-dj-search-results .rbt-spotify-result{
        grid-template-columns:48px minmax(0,1fr);
        min-height:116px;
    }
    .rbt-dj-search-results .rbt-spotify-cover{
        width:48px;
        height:48px;
    }
    .rbt-dj-search-actions{
        grid-column:1 / -1;
        grid-template-columns:1fr 1fr;
        width:100%;
    }
    .rbt-dj-search-actions button{
        width:100%;
        min-width:0;
        min-height:54px;
    }

    .rbt-md-music-queue-scroll{
        max-height:43dvh;
    }
    .rbt-dj-playlists-section .rbt-spotify-playlist-grid{
        max-height:32dvh;
    }
}

/* V0.12.0 – kompakter Player + große Queue-Steuerung */
.rbt-spotify-player{padding:9px!important}
.rbt-spotify-compact-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.rbt-spotify-device-chip{max-width:calc(100% - 46px);min-height:34px;padding:6px 10px;border:0;border-radius:999px;background:#f2f4f7;color:#344054;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rbt-spotify-mini-refresh{width:36px;height:36px;border:0;border-radius:11px;background:#e30613;color:#fff;font-size:18px;font-weight:900}
.rbt-spotify-device-panel{display:none;margin-bottom:7px}.rbt-spotify-device-panel.is-open{display:block}
.rbt-spotify-device-panel select{width:100%;min-height:44px;border:1px solid #d0d5dd;border-radius:10px;padding:7px 9px;background:#fff;font-size:14px}
.rbt-spotify-compact-now{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center;padding:8px;border-radius:12px;background:#111827;color:#fff}
.rbt-spotify-compact-now img{width:58px;height:58px;object-fit:cover;border-radius:8px}
.rbt-spotify-compact-copy{min-width:0;display:grid;gap:3px}
.rbt-spotify-compact-copy strong{font-size:14px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rbt-spotify-compact-copy small{font-size:10px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rbt-spotify-progress{height:5px;margin-top:3px;border-radius:999px;background:rgba(255,255,255,.22);overflow:hidden}
.rbt-spotify-progress span{display:block;width:0;height:100%;border-radius:999px;background:#fff;transition:width .3s linear}
.rbt-spotify-compact-copy em{font-size:9px;font-style:normal;opacity:.8}
.rbt-spotify-player-actions-compact{margin-top:7px;gap:7px}
.rbt-spotify-player-actions-compact button{min-height:48px!important;border-radius:12px!important;font-size:19px!important}

.rbt-md-dj-actions-v12{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:7px!important;width:100%;margin-top:8px}
.rbt-md-dj-actions-v12 button{width:100%!important;min-width:0!important;min-height:54px!important;border-radius:12px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;padding:5px!important}
.rbt-md-dj-actions-v12 button span{font-size:18px;font-weight:900;line-height:1}
.rbt-md-dj-actions-v12 button small{font-size:9px;font-weight:800;line-height:1.05}
.rbt-md-dj-actions-v12 button.is-primary{background:#111827!important;color:#fff!important}

@media(max-width:520px){
 .rbt-spotify-compact-now{grid-template-columns:52px minmax(0,1fr)}
 .rbt-spotify-compact-now img{width:52px;height:52px}
 .rbt-md-dj-actions-v12{grid-template-columns:repeat(3,1fr)!important}
}


/* V0.12.3 – mehr Platz + Playlists oben + halbtransparente Suche */
.rbt-matchday-topbar{
    gap:8px;
}
.rbt-matchday-topbar-actions{
    display:flex;
    align-items:center;
    gap:8px;
}
.rbt-topbar-playlists{
    display:none;
    min-height:42px;
    padding:8px 12px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:13px;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:12px;
    font-weight:900;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

/* Apple-artige Suche: klebt direkt oben und bleibt halbtransparent */
.rbt-dj-search{
    top:0 !important;
    min-height:48px !important;
    margin:0 0 7px !important;
    border-radius:15px !important;
    background:rgba(238,240,243,.78) !important;
    border:1px solid rgba(255,255,255,.58);
    backdrop-filter:blur(18px) saturate(140%);
    -webkit-backdrop-filter:blur(18px) saturate(140%);
    box-shadow:0 3px 14px rgba(17,24,39,.07) !important;
}
.rbt-dj-search input{
    height:46px !important;
    font-size:17px !important;
}
.rbt-dj-search-results{
    position:relative;
    z-index:18;
}

/* RBT-Queue kompakter, damit mehr Titel sichtbar sind und das Hauptfenster besser scrollt */
.rbt-md-music-queue-scroll{
    max-height:34dvh !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
}
.rbt-md-music-queue-scroll .rbt-md-music-item{
    padding:8px !important;
}
.rbt-md-music-queue-scroll .rbt-md-music-info strong{
    font-size:12px !important;
}
.rbt-md-music-queue-scroll .rbt-md-music-info small{
    font-size:9px !important;
}
.rbt-md-dj-actions-v12{
    gap:5px !important;
    margin-top:6px !important;
}
.rbt-md-dj-actions-v12 button{
    min-height:46px !important;
    border-radius:10px !important;
}
.rbt-md-dj-actions-v12 button span{
    font-size:16px !important;
}
.rbt-md-dj-actions-v12 button small{
    font-size:8px !important;
}

/* Spotify-Playlist-Auswahl als eigenes, schließbares Fenster */
body.rbt-playlists-drawer-open{
    overflow:hidden;
}
.rbt-spotify-playlists-drawer{
    position:fixed;
    inset:0;
    z-index:2147482500;
    display:none;
    align-items:flex-end;
    justify-content:center;
    background:rgba(10,15,25,.52);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}
.rbt-spotify-playlists-drawer.is-open{
    display:flex;
}
.rbt-spotify-playlists-sheet{
    width:min(720px,100%);
    max-height:82dvh;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:#fff;
    border-radius:22px 22px 0 0;
    box-shadow:0 -18px 50px rgba(0,0,0,.22);
}
.rbt-spotify-playlists-head{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:12px 14px;
    border-bottom:1px solid #e4e7ec;
}
.rbt-spotify-playlists-head > div{
    min-width:0;
    display:grid;
    gap:2px;
}
.rbt-spotify-playlists-head strong{
    font-size:17px;
}
.rbt-spotify-playlists-head small{
    font-size:10px;
    color:#667085;
}
#rbt-spotify-playlists-close{
    flex:0 0 44px;
    width:44px;
    height:44px;
    border:0;
    border-radius:14px;
    background:#e30613;
    color:#fff;
    font-size:25px;
    font-weight:900;
}
.rbt-spotify-playlists-body{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:10px 12px calc(18px + env(safe-area-inset-bottom));
}
.rbt-spotify-playlists-body .rbt-spotify-playlist-grid{
    max-height:none !important;
    overflow:visible !important;
}

/* alte große Playlist-Sektion im Hauptfenster deaktiviert */
.rbt-dj-playlists-section{
    display:none !important;
}

@media(max-width:520px){
    .rbt-matchday-topbar strong{
        font-size:16px !important;
    }
    .rbt-topbar-playlists{
        min-height:40px;
        padding:7px 9px;
        font-size:10px;
    }
    .rbt-matchday-topbar .rbt-matchday-close{
        flex-basis:44px !important;
        width:44px !important;
        height:44px !important;
    }
    .rbt-md-music-queue-scroll{
        max-height:31dvh !important;
    }
    .rbt-spotify-playlists-sheet{
        max-height:86dvh;
    }
}

/* V0.12.4 – RBT DJ Player Kopf */
.rbt-matchday-topbar-copy{min-width:0;display:grid;gap:4px}
.rbt-matchday-topbar-copy strong{font-size:18px;line-height:1}
.rbt-matchday-topbar-copy small{display:none;color:rgba(255,255,255,.72);font-size:10px;font-weight:700;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rbt-topbar-playlists{white-space:nowrap}
@media(max-width:520px){
 .rbt-matchday-topbar-copy strong{font-size:15px!important}
 .rbt-matchday-topbar-copy small{font-size:9px}
 .rbt-topbar-playlists{font-size:9px!important;padding:7px 8px!important}
}

.rbt-spieltag-app-admin{--red:#e30613;--ink:#151c2e;--muted:#68748a;--line:#dce2ea;max-width:1050px;margin:24px auto;color:var(--ink)}
.rbt-spieltag-app-admin *{box-sizing:border-box}.rbt-spieltag-app-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px}.rbt-spieltag-app-head>div>span{color:var(--red);font-size:11px;font-weight:900;letter-spacing:.15em}.rbt-spieltag-app-head h1{margin:5px 0;font-size:34px}.rbt-spieltag-app-head p{margin:0;color:var(--muted)}.rbt-spieltag-app-head>b{padding:8px 11px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:11px;height:max-content}.rbt-spieltag-app-head>b.is-active{background:#eaf8f0;color:#14804a}.rbt-spieltag-app-select,.rbt-spieltag-app-panel{margin-bottom:14px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:13px}.rbt-spieltag-app-select>div{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:8px}.rbt-spieltag-app-select select,.rbt-spieltag-app-select button,.rbt-spieltag-app-panel input[type=text],.rbt-spieltag-app-panel textarea,.rbt-spieltag-app-panel select{width:100%;min-height:46px;border:1px solid #cfd6df;border-radius:9px;background:#fff;padding:9px 11px}.rbt-spieltag-app-select button{width:auto;background:#151c2e;color:#fff;font-weight:900;border:0;padding:8px 20px}.rbt-spieltag-app-panel h2{margin:0 0 14px;font-size:19px}.rbt-spieltag-app-panel>label{display:grid;gap:6px;margin-bottom:12px}.rbt-spieltag-app-panel.is-status{display:flex;align-items:center;justify-content:space-between;gap:20px}.rbt-spieltag-app-panel.is-status>div{display:grid;gap:4px}.rbt-spieltag-switch input{display:none}.rbt-spieltag-switch span{position:relative;display:block;width:58px;height:32px;border-radius:999px;background:#c8ced7}.rbt-spieltag-switch span:after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;transition:.2s}.rbt-spieltag-switch input:checked+span{background:#18a565}.rbt-spieltag-switch input:checked+span:after{transform:translateX(26px)}.rbt-spieltag-app-features{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rbt-spieltag-app-features label{display:flex;gap:9px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.rbt-spieltag-app-features span{display:grid;gap:3px}.rbt-spieltag-app-features small{color:var(--muted)}.rbt-spieltag-app-save{width:100%;min-height:54px;border:0;border-radius:12px;background:var(--red);color:#fff;font-weight:900}.rbt-spieltag-app-message{margin-bottom:14px;padding:12px;border-radius:9px;background:#f2f4f7}.rbt-spieltag-app-message.is-ok{background:#eaf8f0;color:#14804a}.rbt-spieltag-app-message.is-error{background:#fff0f0;color:#a11923}.rbt-matchday-app-news-text{font-size:14px;line-height:1.55;color:#344054}@media(max-width:700px){.rbt-spieltag-app-admin{padding:0 12px}.rbt-spieltag-app-head{flex-direction:column}.rbt-spieltag-app-features{grid-template-columns:1fr}.rbt-spieltag-app-select>div{grid-template-columns:1fr}.rbt-spieltag-app-select button{width:100%}}

/* V0.12.6 – Zeitraum / Module / Mehrfach-News */
.rbt-spieltag-app-back{display:inline-flex;margin:0 0 16px;color:#151c2e;font-size:12px;font-weight:900;text-decoration:none}
.rbt-spieltag-app-hint{margin:-5px 0 13px;color:#68748a;font-size:12px}
.rbt-spieltag-app-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rbt-spieltag-app-dates label,.rbt-news-item>label{display:grid;gap:6px}
.rbt-spieltag-app-dates span,.rbt-news-item>label>span{font-size:11px;font-weight:800}
.rbt-spieltag-app-dates input,.rbt-news-item input[type=text],.rbt-news-item textarea{width:100%;border:1px solid #cfd6df;border-radius:8px;background:#fff;padding:9px 10px;font:inherit}
.rbt-spieltag-app-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.rbt-news-add{min-height:40px;padding:8px 12px;border:0;border-radius:9px;background:#151c2e;color:#fff;font-size:11px;font-weight:900}
.rbt-news-list{display:grid;gap:12px}
.rbt-news-item{padding:14px;border:1px solid #dce2ea;border-radius:11px;background:#fafbfc}
.rbt-news-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.rbt-news-remove{border:0;background:#fff0f0;color:#a11923;border-radius:8px;padding:6px 9px;font-size:10px;font-weight:900}
.rbt-news-options{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px}
.rbt-news-order{margin-left:auto;display:flex;gap:6px}
.rbt-news-order button{width:36px;height:34px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;font-weight:900}
.rbt-matchday-news-list{display:grid;gap:8px}
.rbt-matchday-news-item{border:1px solid #e4e7ec;border-radius:10px;background:#fff;overflow:hidden}
.rbt-matchday-news-item.is-important{border-color:#f3c16f;background:#fffaf0}
.rbt-matchday-news-item summary{padding:11px 12px;font-size:13px;font-weight:900}
.rbt-matchday-news-item>div{padding:0 12px 12px;font-size:13px;line-height:1.5;color:#475467}
@media(max-width:700px){.rbt-spieltag-app-dates{grid-template-columns:1fr}.rbt-spieltag-app-panel-head{flex-direction:column}.rbt-news-add{width:100%}}

/* V0.12.7 – bestehende Tippspiel/DJ-Konfiguration im Spieltag-App-Frontend */
.rbt-spieltag-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rbt-spieltag-config-grid>label{display:grid;gap:6px}
.rbt-spieltag-config-grid>label>span{font-size:12px;font-weight:900}
.rbt-spieltag-config-grid input{width:100%;min-height:46px;border:1px solid #cfd6df;border-radius:9px;background:#fff;padding:9px 11px;font:inherit}
.rbt-spieltag-config-grid small,.rbt-dj-admin-head small{color:#68748a;font-size:10px}
.rbt-dj-admin{margin-top:18px;padding-top:16px;border-top:1px solid #e4e7ec}
.rbt-dj-admin-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.rbt-dj-admin-head>div{display:grid;gap:3px}
.rbt-dj-admin-head>span{padding:5px 8px;border-radius:999px;background:#f2f4f7;font-size:10px;font-weight:900}
.rbt-dj-selected{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.rbt-dj-chip{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 11px;border:1px solid #dce2ea;border-radius:11px;background:#fff}
.rbt-dj-chip>span{display:grid;gap:1px}
.rbt-dj-chip strong{font-size:11px}.rbt-dj-chip small{font-size:9px;color:#68748a}
.rbt-dj-remove{width:30px;height:30px;border:0;border-radius:8px;background:#fff0f0;color:#b42318;font-size:18px;font-weight:900}
.rbt-dj-searchbox{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;min-height:48px;padding:0 10px;border:1px solid #cfd6df;border-radius:12px;background:#f7f8fa}
.rbt-dj-searchbox input{width:100%;height:44px;border:0!important;background:transparent!important;box-shadow:none!important;font:inherit}
.rbt-dj-searchbox button{width:30px;height:30px;border:0;background:transparent;font-size:18px}
.rbt-dj-search-results{display:grid;gap:5px;margin-top:7px}
.rbt-dj-result{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #e1e6ed;border-radius:9px;background:#fff;text-align:left}
.rbt-dj-result>span{display:grid;gap:2px}.rbt-dj-result strong{font-size:11px}.rbt-dj-result small{font-size:9px;color:#68748a}.rbt-dj-result>b{font-size:20px;color:#e30613}
.rbt-dj-result-empty{padding:10px;color:#68748a;font-size:10px}
@media(max-width:700px){.rbt-spieltag-config-grid{grid-template-columns:1fr}}


/* V0.12.8 – Spieltag-App Übersicht */
.rbt-spieltag-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rbt-spieltag-overview-card{position:relative;overflow:hidden;padding:18px;border:1px solid #d9e0e8;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(20,28,45,.05)}
.rbt-spieltag-overview-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#c7ced8}
.rbt-spieltag-overview-card.is-live:before{background:#159455}
.rbt-spieltag-overview-card.is-planned:before{background:#e30613}
.rbt-spieltag-overview-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.rbt-spieltag-overview-top>span{color:#68748a;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.rbt-spieltag-overview-top>b{padding:6px 8px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:9px}
.rbt-spieltag-overview-card.is-live .rbt-spieltag-overview-top>b{background:#e9f8ef;color:#087a43}
.rbt-spieltag-overview-card.is-planned .rbt-spieltag-overview-top>b{background:#fff0f1;color:#b4232d}
.rbt-spieltag-overview-card h2{margin:0 0 15px;font-size:20px;line-height:1.2;color:#151c2e}
.rbt-spieltag-overview-period{display:grid;gap:3px;padding:11px 12px;border-radius:10px;background:#f7f8fa;margin-bottom:14px}
.rbt-spieltag-overview-period small,.rbt-spieltag-overview-section>small,.rbt-spieltag-overview-info small,.rbt-spieltag-overview-tip small{color:#7a8598;font-size:8px;font-weight:900;letter-spacing:.12em}
.rbt-spieltag-overview-period strong{font-size:11px;color:#344054}
.rbt-spieltag-overview-section{margin-bottom:13px}
.rbt-spieltag-overview-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.rbt-spieltag-overview-chips span{padding:6px 8px;border-radius:999px;background:#fff0f1;color:#a91d28;font-size:9px;font-weight:900}
.rbt-spieltag-overview-section p{margin:5px 0 0;color:#7a8598;font-size:10px}
.rbt-spieltag-overview-info{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}
.rbt-spieltag-overview-info>div,.rbt-spieltag-overview-tip{padding:10px 11px;border:1px solid #e4e8ee;border-radius:10px}
.rbt-spieltag-overview-info strong,.rbt-spieltag-overview-tip strong{display:block;margin-top:3px;font-size:10px;color:#273044}
.rbt-spieltag-overview-info p{margin:3px 0 0;color:#7a8598;font-size:9px;line-height:1.35}
.rbt-spieltag-overview-tip{margin-bottom:12px}
.rbt-spieltag-overview-edit{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;background:#e30613;color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:900}
.rbt-spieltag-editor-nav{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}
.rbt-spieltag-editor-nav .rbt-spieltag-app-back{margin:0}
.rbt-spieltag-editor-nav .is-secondary{color:#68748a}
@media(max-width:760px){
 .rbt-spieltag-overview-grid{grid-template-columns:1fr}
 .rbt-spieltag-overview-info{grid-template-columns:1fr}
 .rbt-spieltag-editor-nav{align-items:flex-start;flex-direction:column}
}


/* V0.12.12 – Live Refresh */
.rbt-app-live-tools{display:flex;justify-content:flex-end;margin:-2px 0 8px}
.rbt-app-live-tools button{border:0;background:transparent;color:#7a8598;font-size:10px;font-weight:800;padding:5px 7px;border-radius:8px}
.rbt-app-live-tools button.is-loading{opacity:.45;pointer-events:none}
@media(max-width:520px){.rbt-app-live-tools{margin-bottom:5px}.rbt-app-live-tools button{font-size:9px}}

/* V0.13.0 – RBT Musikwunsch */
.rbt-music-readonly{margin:16px 0;padding:14px;border:1px solid #dfe4ec;border-radius:22px;background:#fff}
.rbt-music-readonly-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.rbt-spotify-readonly-label{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;opacity:.75;margin-bottom:4px}
.rbt-spotify-context-note{margin-top:8px;font-size:13px;color:#667085}
.rbt-md-dj-actions-v13{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.rbt-md-dj-actions-v13 button,.rbt-md-dj-actions-v13 .rbt-dj-spotify-open{min-height:64px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;font-weight:800}
.rbt-md-dj-actions-v13 .rbt-dj-spotify-open{background:#111827;color:#fff}
.rbt-md-dj-actions-v13 .is-done{background:#177245;color:#fff}
.rbt-md-dj-actions-v13 span{font-size:22px;line-height:1}
.rbt-md-dj-actions-v13 small{font-size:12px;line-height:1.1}
@media(min-width:720px){.rbt-md-dj-actions-v13{grid-template-columns:repeat(4,minmax(0,1fr))}}


/* V0.13.1 – mobile DJ Wunschliste */
.rbt-md-music-item{
    overflow:hidden;
}
.rbt-md-dj-actions-v13{
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    padding:0 !important;
}
.rbt-md-dj-actions-v13 button,
.rbt-md-dj-actions-v13 .rbt-dj-send-spotify{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:66px !important;
    padding:10px 8px !important;
    box-sizing:border-box !important;
    border-radius:16px !important;
    white-space:normal !important;
    line-height:1.05 !important;
}
.rbt-md-dj-actions-v13 .rbt-dj-send-spotify{
    grid-column:1 / -1;
    min-height:74px !important;
    background:#111827 !important;
    color:#fff !important;
    border:0 !important;
    font-size:16px !important;
}
.rbt-md-dj-actions-v13 .rbt-dj-send-spotify.is-sent{
    background:#177245 !important;
}
.rbt-md-dj-actions-v13 button span,
.rbt-md-dj-actions-v13 .rbt-dj-send-spotify span{
    font-size:24px !important;
}
.rbt-md-dj-actions-v13 button small,
.rbt-md-dj-actions-v13 .rbt-dj-send-spotify small{
    display:block;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1.15 !important;
}
.rbt-md-music-info{
    min-width:0;
}
.rbt-md-music-info span{
    min-width:0;
}
.rbt-md-music-info strong{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    line-height:1.2 !important;
}
@media(max-width:520px){
    .rbt-md-music-item{
        padding:14px !important;
    }
    .rbt-md-dj-actions-v13{
        margin-top:14px !important;
    }
}


/* ============================================================
   V0.13.2 – saubere mobile Wunschkarten, ohne Alt-CSS-Kollision
   ============================================================ */

/* Die gesamte Musik-Seite scrollt. Die Wunschliste selbst NICHT mehr separat. */
.rbt-matchday-overlay.is-music .rbt-md-music-queue-scroll{
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
    overscroll-behavior:auto !important;
    scroll-snap-type:none !important;
}

/* Jede Wunschkarte darf vollständig wachsen. Nichts abschneiden. */
.rbt-matchday-overlay.is-music .rbt-md-music-item{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    padding:14px !important;
    margin:0 0 14px !important;
    box-sizing:border-box !important;
    border-radius:18px !important;
}

/* Kopfbereich der Wunschkarte */
.rbt-matchday-overlay.is-music .rbt-md-music-position{
    float:left !important;
    margin:0 12px 8px 0 !important;
}
.rbt-matchday-overlay.is-music .rbt-md-music-info{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    min-width:0 !important;
    width:auto !important;
}
.rbt-matchday-overlay.is-music .rbt-md-music-info strong{
    font-size:16px !important;
    line-height:1.22 !important;
    white-space:normal !important;
}
.rbt-matchday-overlay.is-music .rbt-md-music-info small{
    font-size:12px !important;
    line-height:1.2 !important;
}

/* Neuer, eigener Aktionsbereich */
.rbt-v132-actions{
    clear:both !important;
    display:block !important;
    width:100% !important;
    margin-top:14px !important;
}

/* Wichtigster Button immer zuerst und voll sichtbar */
.rbt-v132-transfer{
    width:100% !important;
    min-height:72px !important;
    padding:10px 14px !important;
    border:0 !important;
    border-radius:16px !important;
    background:#111827 !important;
    color:#fff !important;
    display:grid !important;
    grid-template-columns:32px 1fr !important;
    grid-template-rows:auto auto !important;
    column-gap:10px !important;
    text-align:left !important;
    align-items:center !important;
    box-sizing:border-box !important;
}
.rbt-v132-transfer > span{
    grid-row:1 / 3 !important;
    font-size:26px !important;
    line-height:1 !important;
    text-align:center !important;
}
.rbt-v132-transfer > strong{
    font-size:16px !important;
    line-height:1.15 !important;
    color:#fff !important;
}
.rbt-v132-transfer > small{
    font-size:11px !important;
    line-height:1.15 !important;
    color:rgba(255,255,255,.75) !important;
}
.rbt-v132-transfer.is-sent{
    background:#177245 !important;
}

/* Sortieren: 2 x 2 große, gleich breite Tasten */
.rbt-v132-sort{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    width:100% !important;
    margin-top:10px !important;
}
.rbt-v132-sort button{
    width:100% !important;
    min-width:0 !important;
    min-height:58px !important;
    padding:8px 6px !important;
    border-radius:14px !important;
    box-sizing:border-box !important;
    white-space:normal !important;
}
.rbt-v132-sort button span{
    display:block !important;
    font-size:21px !important;
    line-height:1 !important;
}
.rbt-v132-sort button small{
    display:block !important;
    margin-top:4px !important;
    font-size:12px !important;
    font-weight:800 !important;
    line-height:1.1 !important;
}

/* Abschlussaktionen */
.rbt-v132-finish{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    width:100% !important;
    margin-top:10px !important;
}
.rbt-v132-finish button{
    width:100% !important;
    min-width:0 !important;
    min-height:58px !important;
    padding:8px 6px !important;
    border-radius:14px !important;
    box-sizing:border-box !important;
}
.rbt-v132-played{
    background:#177245 !important;
    color:#fff !important;
}
.rbt-v132-remove{
    background:#e30613 !important;
    color:#fff !important;
}
.rbt-v132-finish span{
    display:block !important;
    font-size:21px !important;
    line-height:1 !important;
}
.rbt-v132-finish small{
    display:block !important;
    margin-top:4px !important;
    font-size:12px !important;
    font-weight:800 !important;
}

/* DJ-Erklärung kompakter, damit Wünsche schneller sichtbar sind */
.rbt-dj-info{
    padding:11px 13px !important;
    margin:10px 0 14px !important;
    font-size:13px !important;
    line-height:1.35 !important;
}

/* V0.14.3 – zentrale News-v2 im Frontend + Bearbeiten/Löschen */
.rbt-news-v2-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 12px;color:#777;font-size:13px}
.rbt-news-v2-meta strong{color:#e30613;letter-spacing:.08em}
.rbt-news-v2-image{display:block;width:100%;max-height:360px;object-fit:cover;border-radius:16px;margin:0 0 14px}
.rbt-news-v2-message{font-size:16px;line-height:1.55}
.rbt-news-v2-actions{margin-top:18px;padding-top:14px;border-top:1px solid #eee}
.rbt-news-v2-edit-toggle,.rbt-news-v2-save{border:0;border-radius:12px;background:#e30613;color:#fff;padding:11px 16px;font-weight:800;cursor:pointer}
.rbt-news-v2-edit-form{margin-top:14px;padding:16px;border:1px solid #eee;border-radius:16px;background:#fff}
.rbt-news-v2-edit-form label{display:block;margin:0 0 12px;font-weight:700}
.rbt-news-v2-edit-form input[type=text],.rbt-news-v2-edit-form textarea,.rbt-news-v2-edit-form select{box-sizing:border-box;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #ccd1d8;border-radius:10px;background:#fff}
.rbt-news-v2-delete-form{display:inline-block;margin-left:10px}
.rbt-news-v2-delete{border:1px solid #e30613;border-radius:12px;background:#fff;color:#e30613;padding:10px 15px;font-weight:800;cursor:pointer}
