.rb-schedule-page {
        --rb-schedule-green: var(--rb-green, #60BF7D);
        --rb-schedule-dark: var(--rb-green-dark, #0b2f22);
        --rb-schedule-navbar: var(--rb-navbar-bg, #16332B);
        --rb-schedule-teal: var(--rb-teal, #4EC1BA);
        --rb-schedule-text: var(--rb-text, #222222);
        --rb-schedule-soft-text: var(--rb-text-soft, #5d6763);
        --rb-schedule-border: var(--rb-border, rgba(15,63,46,.10));
        --rb-schedule-shadow: var(--rb-shadow, 0 10px 30px rgba(0,0,0,.08));
        --rb-schedule-shadow-lg: var(--rb-shadow-lg, 0 18px 45px rgba(0,0,0,.12));

	padding: 1.5rem 0;
        background:
            linear-gradient(
                180deg,
                #ffffff 0%,
                #f8fbfa 58%,
                #ffffff 100%
            );
    }

    .rb-schedule-header {
        margin-bottom: 3rem;
    }

    .rb-schedule-page-badge {
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        padding: .4rem .8rem;
        margin-bottom: 1rem;
        background: rgba(96,191,125,.12);
        color: var(--rb-schedule-navbar);
        font-size: .82rem;
        font-weight: 800;
        letter-spacing: .03em;
        text-transform: uppercase;
    }

    .rb-schedule-page-title {
        margin: 0 0 .85rem;
        color: var(--rb-schedule-navbar);
        font-size: clamp(2rem, 4vw, 3.1rem);
        font-weight: 800;
        line-height: 1.08;
    }

    .rb-schedule-page-intro {
        max-width: 760px;
        margin: 0;
        color: var(--rb-schedule-soft-text);
        font-size: 1.06rem;
        line-height: 1.7;
    }

    .rb-schedule-header-card {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 1.3rem;
        border: 1px solid var(--rb-schedule-border);
        border-radius: 22px;
        background:
            linear-gradient(
                135deg,
                rgba(78,193,186,.10),
                rgba(96,191,125,.12)
            );
        box-shadow: var(--rb-schedule-shadow);
    }

    .rb-schedule-header-icon {
        display: flex;
        width: 58px;
        height: 58px;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        border-radius: 18px;
        background: #ffffff;
        color: var(--rb-schedule-navbar);
        box-shadow: 0 8px 20px rgba(0,0,0,.07);
        font-size: 1.3rem;
    }

    .rb-schedule-header-label {
        margin-bottom: .25rem;
        color: var(--rb-schedule-navbar);
        font-size: .92rem;
        font-weight: 800;
    }

    .rb-schedule-header-text {
        color: var(--rb-schedule-soft-text);
        font-size: .94rem;
        line-height: 1.5;
    }

    .rb-schedule-navigation {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: stretch;
        gap: .85rem;
        margin-bottom: 2.5rem;
        padding: .65rem;
        border: 1px solid var(--rb-schedule-border);
        border-radius: 22px;
        background: rgba(255,255,255,.92);
        box-shadow: var(--rb-schedule-shadow);
    }

    .rb-schedule-nav-button,
    .rb-schedule-today-button {
        min-height: 62px;
        border-radius: 16px;
        text-decoration: none;
        transition:
            background-color .16s ease,
            color .16s ease,
            transform .16s ease;
    }

    .rb-schedule-nav-button {
        display: flex;
        align-items: center;
        gap: .75rem;
        padding: .7rem 1rem;
        color: var(--rb-schedule-navbar);
    }

    .rb-schedule-nav-button:hover {
        color: var(--rb-schedule-dark);
        background: rgba(96,191,125,.09);
        transform: translateY(-1px);
    }

    .rb-schedule-nav-next {
        justify-content: flex-end;
        text-align: right;
    }

    .rb-schedule-nav-button small {
        display: block;
        margin-bottom: .08rem;
        color: var(--rb-schedule-soft-text);
        font-size: .72rem;
        font-weight: 600;
    }

    .rb-schedule-nav-button strong {
        display: block;
        font-size: .94rem;
        font-weight: 800;
    }

    .rb-schedule-nav-button > i {
        font-size: .75rem;
        opacity: .7;
    }

    .rb-schedule-today-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .5rem;
        min-width: 125px;
        padding: .7rem 1.15rem;
        background: var(--rb-schedule-navbar);
        color: #ffffff;
        font-size: .88rem;
        font-weight: 800;
    }

    .rb-schedule-today-button:hover {
        background: var(--rb-schedule-dark);
        color: #ffffff;
        transform: translateY(-1px);
    }

    .rb-schedule-today-button.is-current {
        background:
            linear-gradient(
                135deg,
                var(--rb-schedule-teal),
                var(--rb-schedule-green)
            );
    }

    .rb-schedule-day {
        margin-bottom: 3.5rem;
    }

    .rb-schedule-day:last-child {
        margin-bottom: 0;
    }

    .rb-schedule-day-header {
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 1.2rem;
        padding-bottom: .9rem;
        border-bottom: 1px solid rgba(15,63,46,.10);
    }

    .rb-schedule-day-kicker {
        margin-bottom: .2rem;
        color: var(--rb-schedule-soft-text);
        font-size: .76rem;
        font-weight: 800;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    .rb-schedule-day-title {
        margin: 0;
        color: var(--rb-schedule-navbar);
        font-size: clamp(1.4rem, 2.5vw, 1.9rem);
        font-weight: 800;
        line-height: 1.2;
    }

    .rb-schedule-today-pill {
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        padding: .42rem .8rem;
        background: var(--rb-schedule-navbar);
        color: #ffffff;
        font-size: .82rem;
        font-weight: 800;
    }

    .rb-schedule-list {
        display: grid;
        gap: 1rem;
    }

    .rb-schedule-card {
        display: grid;
        grid-template-columns: 220px minmax(0, 1fr);
        overflow: hidden;
        border: 1px solid var(--rb-schedule-border);
        border-radius: 24px;
        background: #ffffff;
        box-shadow: var(--rb-schedule-shadow);
        transition:
            transform .18s ease,
            box-shadow .18s ease,
            border-color .18s ease;
    }

    .rb-schedule-card:hover {
        transform: translateY(-2px);
        border-color: rgba(15,63,46,.16);
        box-shadow: 0 16px 42px rgba(0,0,0,.11);
    }

    .rb-schedule-card.is-live {
        border-color: rgba(96,191,125,.44);
        box-shadow:
            0 16px 42px rgba(0,0,0,.10),
            0 0 0 3px rgba(96,191,125,.08);
    }

    .rb-schedule-card.is-next {
        border-color: rgba(78,193,186,.34);
    }

    .rb-schedule-card-media {
        position: relative;
        min-height: 210px;
        overflow: hidden;
        background:
            linear-gradient(
                135deg,
                rgba(78,193,186,.20),
                rgba(96,191,125,.25)
            );
    }

    .rb-schedule-thumb {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 210px;
        object-fit: cover;
        object-position: center center;
        transition: transform .3s ease;
    }

    .rb-schedule-card:hover .rb-schedule-thumb {
        transform: scale(1.025);
    }

    .rb-schedule-placeholder {
        position: relative;
        display: flex;
        width: 100%;
        height: 100%;
        min-height: 210px;
        align-items: flex-end;
        overflow: hidden;
        padding: 1rem;
        background:
            radial-gradient(
                circle at 80% 12%,
                rgba(255,255,255,.32),
                transparent 34%
            ),
            linear-gradient(
                145deg,
                var(--rb-schedule-teal),
                var(--rb-schedule-green)
            );
    }

    .rb-schedule-placeholder::before {
        content: "";
        position: absolute;
        inset: 0;
        background:
            linear-gradient(
                180deg,
                rgba(11,47,34,.02),
                rgba(11,47,34,.38)
            );
    }

    .rb-schedule-placeholder::after {
        content: "";
        position: absolute;
        top: -45px;
        right: -45px;
        width: 130px;
        height: 130px;
        border: 22px solid rgba(255,255,255,.11);
        border-radius: 999px;
    }

    .rb-schedule-placeholder-label {
        position: absolute;
        top: .9rem;
        left: .9rem;
        z-index: 2;
        border-radius: 999px;
        padding: .32rem .62rem;
        background: rgba(255,255,255,.90);
        color: var(--rb-schedule-navbar);
        font-size: .7rem;
        font-weight: 800;
        letter-spacing: .04em;
        text-transform: uppercase;
    }

.rb-schedule-placeholder-wave {
    position: absolute;
    right: .85rem;
    bottom: 1rem;
    z-index: 2;
    display: block;
    width: 38px;
    height: 41px;
    opacity: .54;

    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjUxMCA0OTUgNDAwIDQzMCI+PHBhdGggZmlsbD0id2hpdGUiIGQ9Ik04NTIuOCw1ODMuNjVjMy4wNiwyLjUxLDUsNi4zMiw1LDEwLjU4LDAsNy41Ni02LjEzLDEzLjY5LTEzLjY5LDEzLjY5aC0xMjYuOTZjLTMuNzgsMC03LjItMS41My05LjY4LTQuMDEtMi40OC0yLjQ4LTQuMDEtNS45LTQuMDEtOS42NywwLTcuNTYsNi4xMi0xMy42OSwxMy42OC0xMy42OWgxMjYuOTdjMy4zLDAsNi4zMiwxLjE3LDguNjgsMy4xMVpNNjAzLjgsNTMwLjczYzEuMTktMi4zLDMuMDItNC4yMiw1LjI1LTUuNTMsMi4wMy0xLjE5LDQuMzgtMS44OCw2Ljg5LTEuODhoMTUyLjk0YzEuNDMsMCwyLjgxLjIyLDQuMS42Myw1LjU2LDEuNzQsOS41OSw2LjkzLDkuNTksMTMuMDYsMCw3LjU2LTYuMTMsMTMuNjktMTMuNjksMTMuNjloLTE1Mi45NGMtNC44NywwLTkuMTQtMi41NS0xMS41Ni02LjM5LTEuMzQtMi4xMS0yLjEyLTQuNjEtMi4xMi03LjMsMC0yLjI2LjU2LTQuNCwxLjUzLTYuMjhaTTYwMy4zMyw3MjIuMzVjLTYuMzcsMC0xMS43MS00LjM2LTEzLjIzLTEwLjI2LS4yOC0xLjEtLjQ1LTIuMjQtLjQ1LTMuNDIsMC0yLjQ2LjY2LTQuNzcsMS44LTYuNzcsMi4zNi00LjEzLDYuNzktNi45MiwxMS44OC02LjkyaDE2NS40NmM3LjU1LDAsMTMuNjgsNi4xMywxMy42OCwxMy42OXMtNi4xMywxMy42OS0xMy42OCwxMy42OWgtMTY1LjQ2Wk02NjQuODUsODEwLjA0YzUuNTYsMS43NCw5LjU5LDYuOTMsOS41OSwxMy4wNiwwLDcuNTYtNi4xMywxMy42OS0xMy42OSwxMy42OWgtMjEuN2MtNC44NywwLTkuMTQtMi41NS0xMS41Ni02LjM5LTEuMzQtMi4xMS0yLjEyLTQuNjEtMi4xMi03LjMsMC0yLjI3LjU2LTQuNCwxLjUzLTYuMjgsMS4xOS0yLjMsMy4wMi00LjIyLDUuMjUtNS41MywyLjAzLTEuMTksNC4zOC0xLjg4LDYuODktMS44OGgyMS42OWMxLjQzLDAsMi44MS4yMiw0LjEuNjNaTTY4Ny4wNiw1OTQuMjNjMCw3LjU2LTYuMTMsMTMuNjktMTMuNjksMTMuNjloLTM0LjMyYy00Ljg3LDAtOS4xNC0yLjU1LTExLjU2LTYuMzktMS4zNC0yLjExLTIuMTItNC42MS0yLjEyLTcuMywwLTIuMjYuNTYtNC40LDEuNTMtNi4yOCwxLjE5LTIuMywzLjAyLTQuMjIsNS4yNS01LjUzLDIuMDMtMS4xOSw0LjM4LTEuODgsNi44OS0xLjg4aDM0LjMxYzEuNDMsMCwyLjgxLjIyLDQuMS42Myw1LjU2LDEuNzQsOS41OSw2LjkzLDkuNTksMTMuMDZaTTU5MC43Myw2NDUuMTdjMS4xOS0yLjMsMy4wMi00LjIyLDUuMjUtNS41MywyLjAzLTEuMTksNC4zOC0xLjg4LDYuODktMS44OGgyMS42OWMxLjQzLDAsMi44MS4yMiw0LjEuNjMsNS41NiwxLjc0LDkuNTksNi45Myw5LjU5LDEzLjA2LDAsNy41Ni02LjEzLDEzLjY5LTEzLjY5LDEzLjY5aC0yMS43Yy00Ljg3LDAtOS4xNC0yLjU1LTExLjU2LTYuMzktMS4zNC0yLjExLTIuMTItNC42MS0yLjEyLTcuMywwLTIuMjYuNTYtNC40LDEuNTMtNi4yOFpNNTM4LjkyLDcxNS4wOWMtMS4zNC0yLjExLTIuMTItNC42MS0yLjEyLTcuMywwLTIuMjYuNTYtNC40LDEuNTMtNi4yOCwxLjE5LTIuMywzLjAyLTQuMjIsNS4yNS01LjUzLDIuMDMtMS4xOSw0LjM4LTEuODgsNi44OS0xLjg4aDkuMDdjMS40MywwLDIuODEuMjIsNC4xLjYzLDUuNTYsMS43NCw5LjU5LDYuOTMsOS41OSwxMy4wNiwwLDcuNTYtNi4xMywxMy42OS0xMy42OSwxMy42OWgtOS4wOGMtNC44NywwLTkuMTQtMi41NS0xMS41Ni02LjM5Wk01NzIuMTgsODk0aC05LjA4Yy00Ljg3LDAtOS4xNC0yLjU1LTExLjU2LTYuMzktMS4zNC0yLjExLTIuMTItNC42MS0yLjEyLTcuMywwLTIuMjYuNTYtNC40LDEuNTMtNi4yOCwxLjE5LTIuMywzLjAyLTQuMjIsNS4yNS01LjUzLDIuMDMtMS4xOSw0LjM4LTEuODgsNi44OS0xLjg4aDkuMDdjMS40MywwLDIuODEuMjIsNC4xLjYzLDUuNTYsMS43NCw5LjU5LDYuOTMsOS41OSwxMy4wNiwwLDcuNTYtNi4xMywxMy42OS0xMy42OSwxMy42OVpNNTcyLjE4LDU1MC43aC05LjA4Yy00Ljg3LDAtOS4xNC0yLjU1LTExLjU2LTYuMzktMS4zNC0yLjExLTIuMTItNC42MS0yLjEyLTcuMywwLTIuMjYuNTYtNC40LDEuNTMtNi4yOCwxLjE5LTIuMywzLjAyLTQuMjIsNS4yNS01LjUzLDIuMDMtMS4xOSw0LjM4LTEuODgsNi44OS0xLjg4aDkuMDdjMS40MywwLDIuODEuMjIsNC4xLjYzLDUuNTYsMS43NCw5LjU5LDYuOTMsOS41OSwxMy4wNiwwLDcuNTYtNi4xMywxMy42OS0xMy42OSwxMy42OVpNNTkxLjMyLDc3My4xOGMtMS4zNC0yLjExLTIuMTItNC42MS0yLjEyLTcuMywwLTIuMjcuNTYtNC40LDEuNTMtNi4yOCwxLjE5LTIuMywzLjAyLTQuMjIsNS4yNS01LjUzLDIuMDMtMS4xOSw0LjM4LTEuODgsNi44OS0xLjg4aDM0LjMxYzEuNDMsMCwyLjgxLjIyLDQuMS42Myw1LjU2LDEuNzQsOS41OSw2LjkzLDkuNTksMTMuMDYsMCw3LjU2LTYuMTMsMTMuNjktMTMuNjksMTMuNjloLTM0LjMyYy00Ljg3LDAtOS4xNC0yLjU1LTExLjU2LTYuMzlaTTc3OC4wMyw4ODkuOTljLTIuNDgsMi40OC01LjksNC4wMS05LjY4LDQuMDFoLTE1Mi40Yy02LjE0LDAtMTEuMzMtNC4wNC0xMy4wNi05LjYyLS40LTEuMjktLjYyLTIuNjUtLjYyLTQuMDcsMC0yLjMuNTctNC40NiwxLjU3LTYuMzYsMS4xLTIuMDksMi43Mi0zLjg2LDQuNy01LjEzLDIuMTQtMS4zOCw0LjY3LTIuMTksNy40MS0yLjE5aDE1Mi40MWM3LjU2LDAsMTMuNjksNi4xMywxMy42OSwxMy42OSwwLDMuNzgtMS41Myw3LjItNC4wMSw5LjY4Wk04NDQuMTEsODM2Ljc4aC0xMzkuNThjLTMuNzgsMC03LjItMS41My05LjY4LTQuMDEtMi40OC0yLjQ4LTQuMDEtNS45LTQuMDEtOS42NywwLTcuNTYsNi4xMi0xMy42OSwxMy42OC0xMy42OWgxMzkuNTljMy4zLDAsNi4zMiwxLjE3LDguNjgsMy4xMSwzLjA2LDIuNTEsNSw2LjMyLDUsMTAuNTgsMCw3LjU2LTYuMTMsMTMuNjktMTMuNjksMTMuNjlaTTg3OS45MSw3NjkuOTVjLTEuNzMsNS41Ny02LjkzLDkuNjItMTMuMDcsOS42MmgtMTg1Ljg3Yy03LjU2LDAtMTMuNjktNi4xMy0xMy42OS0xMy42OCwwLTUuMSwyLjc5LTkuNTMsNi45MS0xMS44OCwyLTEuMTQsNC4zMS0xLjgxLDYuNzgtMS44MWgxODUuODZjNy41NywwLDEzLjY5LDYuMTMsMTMuNjksMTMuNjksMCwxLjQyLS4yMiwyLjc4LS42Miw0LjA3Wk04NzkuOTEsNjU1LjUxYy0xLjczLDUuNTctNi45Myw5LjYyLTEzLjA3LDkuNjJoLTE5OC40OWMtNy41NiwwLTEzLjY5LTYuMTMtMTMuNjktMTMuNjgsMC01LjEsMi43OS05LjUzLDYuOTEtMTEuODgsMi0xLjE0LDQuMzEtMS44MSw2Ljc4LTEuODFoMTk4LjQ4YzcuNTcsMCwxMy42OSw2LjEzLDEzLjY5LDEzLjY5LDAsMS40Mi0uMjIsMi43OC0uNjIsNC4wN1oiLz48L3N2Zz4=");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.rb-schedule-placeholder-wave i {
    display: none;
}
    .rb-schedule-placeholder-initials {
        position: relative;
        z-index: 2;
        max-width: 110px;
        color: #ffffff;
        font-size: 2.45rem;
        font-weight: 800;
        letter-spacing: .025em;
        line-height: .95;
        text-shadow: 0 3px 16px rgba(0,0,0,.20);
    }

    .rb-schedule-card-content {
        display: flex;
        min-width: 0;
        flex-direction: column;
        justify-content: center;
        padding: 1.35rem 1.5rem;
    }

    .rb-schedule-card-topline {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .55rem;
        margin-bottom: .75rem;
    }


    .rb-schedule-card-actions {
        display: flex;
        align-items: center;
        gap: .5rem;
        margin-left: auto;
    }

    .rb-schedule-edit-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        width: 2rem;
        height: 2rem;
        padding: 0;
        border: 1px solid rgba(96,191,125,.45);
        border-radius: 50%;
        background: #ffffff;
        color: var(--rb-schedule-green);
        text-decoration: none;
        box-shadow: 0 3px 10px rgba(0,0,0,.06);
        transition:
            background-color .16s ease,
            border-color .16s ease,
            color .16s ease,
            transform .16s ease,
            box-shadow .16s ease;
    }

    .rb-schedule-edit-button:hover,
    .rb-schedule-edit-button:focus-visible {
        border-color: var(--rb-schedule-green);
        background: rgba(96,191,125,.12);
        color: var(--rb-schedule-dark);
        box-shadow: 0 5px 14px rgba(0,0,0,.09);
        transform: translateY(-1px);
    }

    .rb-schedule-edit-button:focus-visible {
        outline: 3px solid rgba(96,191,125,.24);
        outline-offset: 2px;
    }

    .rb-schedule-edit-button i {
        font-size: .8rem;
        line-height: 1;
    }

    .rb-schedule-time-pill {
        display: inline-flex;
        align-items: center;
        gap: .42rem;
        border-radius: 999px;
        padding: .4rem .72rem;
        background: rgba(96,191,125,.12);
        color: var(--rb-schedule-navbar);
        font-size: .84rem;
        font-weight: 800;
    }

    .rb-schedule-time-pill i {
        font-size: .78rem;
        opacity: .72;
    }

    .rb-schedule-live-pill {
        display: inline-flex;
        align-items: center;
        gap: .48rem;
        border-radius: 999px;
        padding: .4rem .72rem;
        background: rgba(220,53,69,.09);
        color: #b42318;
        font-size: .8rem;
        font-weight: 800;
    }

    .rb-schedule-live-dot {
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: #dc3545;
        box-shadow: 0 0 0 5px rgba(220,53,69,.11);
    }

    .rb-schedule-next-pill {
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        padding: .4rem .72rem;
        background: rgba(78,193,186,.12);
        color: var(--rb-schedule-navbar);
        font-size: .8rem;
        font-weight: 800;
    }

    .rb-schedule-show-title {
        margin: 0 0 .4rem;
        color: var(--rb-schedule-navbar);
        font-size: clamp(1.25rem, 2vw, 1.55rem);
        font-weight: 800;
        line-height: 1.2;
    }

    .rb-schedule-show-title a {
        color: inherit;
        text-decoration: none;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.18em;
    }

    .rb-schedule-show-title a:hover,
    .rb-schedule-show-title a:focus-visible {
        color: var(--rb-schedule-dark);
        text-decoration: underline;
    }

    .rb-schedule-presenter {
        display: flex;
        align-items: center;
        gap: .5rem;
        margin-bottom: .7rem;
        color: var(--rb-schedule-soft-text);
        font-size: .92rem;
    }

    .rb-schedule-presenter i {
        color: var(--rb-schedule-teal);
        font-size: .84rem;
    }

    .rb-schedule-summary {
        max-width: 72ch;
        margin: 0 0 .9rem;
        color: var(--rb-schedule-text);
        font-size: .95rem;
        line-height: 1.58;
    }

    .rb-schedule-card-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        min-height: 2rem;
        margin-top: .15rem;
    }

    .rb-schedule-card-footer-links {
        flex: 0 0 auto;
        margin-left: auto;
        padding-bottom: 0;
    }

    .rb-schedule-link {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
        color: var(--rb-schedule-navbar);
        font-size: .9rem;
        font-weight: 800;
        text-decoration: none;
    }

    .rb-schedule-link i {
        font-size: .66rem;
        transition: transform .16s ease;
    }

    .rb-schedule-link:hover {
        color: var(--rb-schedule-dark);
    }

    .rb-schedule-link:hover i {
        transform: translateX(3px);
    }

    .rb-schedule-empty {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 1.2rem 1.3rem;
        border: 1px dashed rgba(15,63,46,.19);
        border-radius: 22px;
        background: rgba(255,255,255,.82);
        box-shadow: 0 8px 24px rgba(0,0,0,.045);
    }

    .rb-schedule-empty-icon {
        display: flex;
        width: 54px;
        height: 54px;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        border-radius: 17px;
        background:
            linear-gradient(
                135deg,
                rgba(78,193,186,.14),
                rgba(96,191,125,.20)
            );
        color: var(--rb-schedule-navbar);
        font-size: 1.2rem;
    }

    .rb-schedule-empty-title {
        margin-bottom: .18rem;
        color: var(--rb-schedule-navbar);
        font-size: .96rem;
        font-weight: 800;
    }

    .rb-schedule-empty-text {
        color: var(--rb-schedule-soft-text);
        font-size: .9rem;
    }

    @media (max-width: 767.98px) {
        .rb-schedule-page {
            padding: 3.5rem 0;
        }

        .rb-schedule-header {
            margin-bottom: 2.4rem;
        }

        .rb-schedule-navigation {
            grid-template-columns: 1fr auto 1fr;
            gap: .4rem;
            padding: .45rem;
            margin-bottom: 2rem;
            border-radius: 18px;
        }

        .rb-schedule-nav-button,
        .rb-schedule-today-button {
            min-height: 54px;
        }

        .rb-schedule-nav-button {
            gap: .45rem;
            padding: .55rem .65rem;
        }

        .rb-schedule-nav-button small {
            display: none;
        }

        .rb-schedule-nav-button strong {
            font-size: .82rem;
        }

        .rb-schedule-today-button {
            min-width: auto;
            padding: .55rem .8rem;
            font-size: .8rem;
        }

        .rb-schedule-day {
            margin-bottom: 2.75rem;
        }

        .rb-schedule-day-header {
            align-items: flex-start;
        }

        .rb-schedule-card {
            grid-template-columns: 145px minmax(0, 1fr);
            border-radius: 20px;
        }

        .rb-schedule-card-media,
        .rb-schedule-thumb,
        .rb-schedule-placeholder {
            min-height: 160px;
        }

        .rb-schedule-placeholder {
            padding: .8rem;
        }

        .rb-schedule-placeholder-label {
            top: .7rem;
            left: .7rem;
            font-size: .62rem;
        }

        .rb-schedule-placeholder-initials {
            font-size: 1.85rem;
        }

        .rb-schedule-placeholder-wave {
            display: none;
        }

        .rb-schedule-card-content {
            padding: 1.05rem;
        }

        .rb-schedule-summary {
            display: block;
            max-width: none;
            margin: .15rem 0 .75rem;
            overflow: visible;
            color: var(--rb-schedule-text);
            font-size: .86rem;
            line-height: 1.45;
        }

        .rb-schedule-edit-button {
            width: 1.85rem;
            height: 1.85rem;
        }

        .rb-schedule-edit-button i {
            font-size: .74rem;
        }

        .rb-schedule-card-footer {
            flex-wrap: wrap;
            gap: .6rem;
        }

        .rb-schedule-card-footer-links {
            margin-left: 0;
        }
    }

    @media (max-width: 480px) {
        .rb-schedule-nav-button span {
            display: none;
        }

        .rb-schedule-nav-button {
            justify-content: center;
        }

        .rb-schedule-today-button i {
            display: none;
        }

        .rb-schedule-card {
            grid-template-columns: 120px minmax(0, 1fr);
        }

        .rb-schedule-card-media,
        .rb-schedule-thumb,
        .rb-schedule-placeholder {
            min-height: 150px;
        }

        .rb-schedule-placeholder-label {
            display: none;
        }

        .rb-schedule-card-topline {
            gap: .4rem;
        }

        .rb-schedule-card-actions {
            gap: .35rem;
        }

        .rb-schedule-summary {
            margin-bottom: .65rem;
            font-size: .82rem;
            line-height: 1.42;
        }

        .rb-schedule-time-pill,
        .rb-schedule-live-pill,
        .rb-schedule-next-pill {
            padding: .34rem .58rem;
            font-size: .74rem;
        }

        .rb-schedule-show-title {
            font-size: 1.08rem;
        }

        .rb-schedule-presenter {
            margin-bottom: .4rem;
            font-size: .82rem;
        }

        .rb-schedule-link {
            font-size: .82rem;
        }

    }


.rb-weekly-option-panel {
    padding: 1rem 1.1rem;
    border: 1px solid rgba(78,193,186,.22);
    border-radius: 16px;
    background:
        linear-gradient(
            135deg,
            rgba(78,193,186,.07),
            rgba(96,191,125,.08)
        );
}

.rb-weekly-option-panel .form-check-label {
    color: var(--rb-navbar-bg, #16332B);
    font-weight: 800;
}

.rb-weekly-option-help {
    margin-top: .45rem;
    padding-left: 2.5rem;
    color: var(--rb-text-soft, #5d6763);
    font-size: .84rem;
}

.rb-character-count {
    margin-top: .4rem;
    color: var(--rb-text-soft, #5d6763);
    font-size: .78rem;
    text-align: right;
}

.rb-weekly-short-description {
    max-width: 760px;
    margin-top: .65rem;
    padding: .7rem .8rem;
    border-left: 3px solid var(--rb-teal, #4EC1BA);
    border-radius: 0 10px 10px 0;
    background: rgba(78,193,186,.055);
    color: var(--rb-text-soft, #5d6763);
    font-size: .86rem;
    line-height: 1.5;
}

.rb-weekly-title-source {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .28rem .6rem;
    border-radius: 999px;
    background: rgba(78,193,186,.12);
    color: #17635e;
    font-size: .7rem;
    font-weight: 800;
}

@media (max-width: 575.98px) {
    .rb-weekly-option-help {
        padding-left: 0;
    }
}


.rb-schedule-dynamic {
    position: relative;
    min-height: 180px;
    transition: opacity .16s ease;
}

.rb-schedule-dynamic.is-loading {
    opacity: .48;
    pointer-events: none;
}

.rb-schedule-dynamic.is-loading::after {
    content: "";
    position: absolute;
    top: 92px;
    left: 50%;
    z-index: 20;
    width: 38px;
    height: 38px;
    margin-left: -19px;
    border: 4px solid rgba(22,51,43,.14);
    border-top-color: var(--rb-schedule-green);
    border-radius: 999px;
    animation: rb-schedule-spin .7s linear infinite;
}

@keyframes rb-schedule-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .rb-schedule-dynamic,
    .rb-schedule-card,
    .rb-schedule-nav-button,
    .rb-schedule-today-button {
        transition: none;
    }

    .rb-schedule-dynamic.is-loading::after {
        animation-duration: 1.4s;
    }
}

.rb-schedule-card {
    scroll-margin-top: 1.5rem;
}

.rb-schedule-card:target {
    border-color: rgba(96, 191, 125, 0.65);
    box-shadow:
        0 16px 42px rgba(0, 0, 0, 0.11),
        0 0 0 4px rgba(96, 191, 125, 0.14);
}
