/* V27.7.10.5 - extracted verbatim from templates/modules/index_calendar.html; selector behavior intentionally unchanged. */
    /* Core calendar/month layout remains here; compact event cards are owned by static/css/event_cards.css. */
    .calendar-explore-header {
        width: 100%;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
        margin: 0 0 10px 0;
    }

    .calendar-title-line {
        min-width: 0;
        display: flex;
        align-items: baseline;
        gap: 7px;
        white-space: nowrap;
        overflow: hidden;
    }

    .calendar-page-title {
        flex: 0 0 auto;
        color: #ffffff;
        font-size: clamp(23px, 5.2vw, 31px);
        font-weight: 900;
        line-height: 1;
    }

    .calendar-view-toggle {
        flex: 0 0 auto;
        min-width: 74px;
        min-height: 32px;
        padding: 4px 10px;
        border: 2px solid #4ade80;
        border-radius: 8px;
        background: #15803d;
        color: #ffffff;
        font-size: 14px;
        font-weight: 900;
        line-height: 1;
        cursor: pointer;
    }

    .calendar-view-toggle:hover,
    .calendar-view-toggle:active {
        background: #16a34a;
        border-color: #86efac;
    }

    .calendar-stream-wrap {
        width: 100%;
        max-width: 980px;
        margin: 0 auto;
    }

    .calendar-scroll-box {
        width: 100%;
        height: calc(100dvh - 280px);
        min-height: 300px;
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
        /* RCM owns exact compensation when months are inserted/removed.
           Disable browser scroll anchoring so it cannot apply a second correction. */
        overflow-anchor: none;
        scrollbar-gutter: stable;
        border: 2px solid #263244;
        border-radius: 14px;
        background: #0b1220;
        /* V27.6.1: structural month-cache corrections must be instantaneous.
           Deliberate navigation uses scrollTo({behavior:"smooth"}) explicitly. */
        scroll-behavior: auto;
        -webkit-overflow-scrolling: touch;
    }

    .calendar-scroll-content {
        width: 100%;
        padding-bottom: var(--events-ad-clearance, 0px);
    }

    .calendar-status {
        padding: 28px 18px;
        color: #cbd5e1;
        font-size: clamp(26px, 6vw, 36px);
        text-align: center;
    }

    .calendar-day {
        margin: 0;
        border-left: 4px solid #334155;
        border-right: 4px solid #334155;
        border-bottom: 3px solid #334155;
        background: #0f172a;
    }

    .calendar-day:first-child {
        border-top: 3px solid #334155;
        border-radius: 14px 14px 0 0;
    }

    .calendar-day:last-child {
        border-radius: 0 0 14px 14px;
    }

    .calendar-day:nth-child(even) .calendar-day-header {
        background: #1e293b;
    }

    .calendar-day:nth-child(odd) .calendar-day-header {
        background: #172033;
    }

    .calendar-day.is-today .calendar-day-header {
        background: #164e63;
    }

    .calendar-day-header {
        width: 100%;
        margin: 0;
        border: 0;
        border-radius: 0;
        appearance: none;
        -webkit-appearance: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 10px 12px;
        color: inherit;
        font: inherit;
        text-align: left;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .calendar-day-header:hover {
        filter: brightness(1.08);
    }

    .calendar-day-header:focus-visible {
        outline: 3px solid #60a5fa;
        outline-offset: -3px;
    }

    .calendar-day-header-meta {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 8px;
    }

    .calendar-day-toggle-icon {
        width: 1em;
        color: #cbd5e1;
        font-size: clamp(18px, 3.5vw, 24px);
        font-weight: 900;
        line-height: 1;
        text-align: center;
    }

    .calendar-day-name {
        color: #ffffff;
        font-size: clamp(17px, 3.4vw, 23px);
        font-weight: 900;
        line-height: 1.05;
        text-transform: uppercase;
        letter-spacing: 0.025em;
    }

    .calendar-day-date {
        color: #cbd5e1;
        font-size: clamp(15px, 3.1vw, 21px);
        font-weight: 800;
        line-height: 1.05;
        white-space: nowrap;
    }

    .calendar-day-events {
        padding: 8px 14px 18px 14px;
    }

    .calendar-empty {
        padding: 24px 12px;
        color: #64748b;
        font-size: clamp(26px, 6vw, 36px);
        font-style: italic;
    }

    .calendar-empty.is-future-tba {
        color: #94a3b8;
        background: #111827;
        font-style: normal;
        font-weight: 800;
        text-align: center;
    }

    .calendar-day.is-future-tba {
        opacity: 0.72;
    }

    .calendar-event {
        display: block;
        margin: 12px 0;
        padding: 18px;
        border: 2px solid #334155;
        border-radius: 12px;
        background: #111827;
        text-decoration: none;
        color: inherit;
        cursor: pointer;
    }

    .calendar-event:active,
    .calendar-event:hover {
        background: #1e293b;
        border-color: #64748b;
    }

    .calendar-event-main {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .calendar-event-bottom {
        min-width: 0;
        display: grid;
        grid-template-columns: clamp(92px, 22vw, 126px) minmax(0, 1fr);
        gap: 14px;
        align-items: stretch;
    }

    .calendar-event-details {
        min-width: 0;
        display: flex;
        align-items: stretch;
    }

    .calendar-event-lower {
        width: 100%;
        min-width: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        align-items: center;
    }

    .calendar-event-title {
        display: -webkit-box;
        width: 100%;
        min-width: 0;
        color: #7ab8ff;
        font-size: clamp(18px, 4.2vw, 28px);
        font-weight: 800;
        line-height: 1.12;
        text-decoration: none;
        text-align: center;
        white-space: normal;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    .calendar-performer-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: auto;
        max-width: 100%;
        flex: 0 0 auto;
        white-space: nowrap;
        padding: 6px 10px;
        border: 1px solid #3b82f6;
        border-radius: 8px;
        background: #172554;
        color: #93c5fd;
        font-size: clamp(20px, 4.6vw, 30px);
        font-weight: 900;
        line-height: 1.08;
        cursor: pointer;
    }

    .calendar-performer-link:hover,
    .calendar-performer-link:active {
        background: #1e3a8a;
        border-color: #60a5fa;
        color: #dbeafe;
    }

    .calendar-event-fallback {
        color: #94a3b8;
        font-weight: 700;
    }

    .calendar-band-list {
        min-width: 0;
        width: 100%;
        max-height: none;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 6px;
        align-items: center;
        justify-content: flex-start;
        text-align: left;
        overflow-y: hidden;
        overflow-x: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .calendar-band-placeholder {
        min-height: 1px;
    }

    .calendar-event-links {
        width: 100%;
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    .calendar-event-link {
        width: 100%;
        aspect-ratio: 1 / 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 8px;
        border: 3px solid #4ade80;
        border-radius: 10px;
        background: #15803d;
        color: #ffffff;
        text-decoration: none;
        text-align: center;
        line-height: 0.92;
        box-sizing: border-box;
    }

    .calendar-event-link:hover,
    .calendar-event-link:active {
        background: #16a34a;
        border-color: #86efac;
        color: #ffffff;
    }

    .calendar-event-link-month {
        display: block;
        font-size: clamp(24px, 5.8vw, 34px);
        font-weight: 900;
        line-height: 0.95;
        text-transform: uppercase;
    }

    .calendar-event-link-day {
        display: block;
        margin-top: 5px;
        font-size: clamp(38px, 9vw, 58px);
        font-weight: 900;
        line-height: 0.9;
    }

    .calendar-event-link-placeholder {
        width: 100%;
        aspect-ratio: 1 / 1;
        min-height: 1px;
    }

    .calendar-event-side {
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .calendar-event-venue {
        display: block;
        width: 100%;
        min-width: 0;
        color: #f59e0b;
        font-size: clamp(18px, 4.1vw, 26px);
        font-weight: 900;
        line-height: 1.08;
        text-decoration: none;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .calendar-event-time {
        display: block;
        margin-top: 0;
        color: #94a3b8;
        font-size: clamp(18px, 4vw, 26px);
        font-weight: 700;
        line-height: 1.12;
        white-space: nowrap;
        text-align: right;
    }

    .calendar-event-type {
        display: inline-block;
        margin-top: 10px;
        padding: 6px 10px;
        border: 1px solid #475569;
        border-radius: 6px;
        color: #cbd5e1;
        font-size: clamp(20px, 4.5vw, 28px);
        font-weight: 700;
    }

    .calendar-month-view {
        display: none;
        width: 100%;
    }

    .calendar-month {
        margin: 0 0 28px 0;
        padding: 16px;
        border: 3px solid #334155;
        border-radius: 14px;
        background: #0f172a;
        scroll-margin-top: 8px;
    }

    .calendar-month-title {
        margin: 0 0 14px 0;
        color: #ffffff;
        font-size: clamp(34px, 8vw, 52px);
        font-weight: 900;
        line-height: 1.05;
        text-align: center;
    }


    .calendar-month.is-future-tba {
        border-color: #475569;
        background: #0b1220;
    }

    .calendar-month-tba {
        margin: -4px 0 14px 0;
        color: #94a3b8;
        font-size: clamp(18px, 4vw, 28px);
        font-weight: 800;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }

    .calendar-month-weekdays,
    .calendar-month-grid {
        display: grid;
        grid-template-columns: repeat(7, minmax(0, 1fr));
        gap: 6px;
    }

    .calendar-month-weekdays {
        margin-bottom: 6px;
    }

    .calendar-month-weekday {
        color: #94a3b8;
        font-size: clamp(14px, 3.2vw, 20px);
        font-weight: 800;
        text-align: center;
        text-transform: uppercase;
    }

    .calendar-month-blank {
        aspect-ratio: 1 / 1;
    }

    .calendar-month-day {
        aspect-ratio: 1 / 1;
        min-width: 0;
        padding: 0;
        border: 2px solid #334155;
        border-radius: 9px;
        background: #111827;
        color: #64748b;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: stretch;
        text-align: center;
        overflow: hidden;
    }

    button.calendar-month-day {
        font: inherit;
        cursor: pointer;
    }

    .calendar-month-day.has-events {
        border: 3px solid #4ade80;
        background: #166534;
        color: #ffffff;
    }

    .calendar-month-day.has-events:hover,
    .calendar-month-day.has-events:active {
        border-color: #86efac;
    }

    .calendar-month-day.is-today {
        border-color: #38bdf8;
        background: #0369a1;
        box-shadow: inset 0 0 0 3px #7dd3fc;
        color: #ffffff;
    }

    .calendar-month-day.is-today.has-events {
        border-color: #38bdf8;
        background: #0369a1;
        box-shadow: inset 0 0 0 3px #7dd3fc;
    }

    .calendar-month-day-number {
        flex: 1 1 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 2px;
        background: rgba(255, 255, 255, 0.06);
        font-size: clamp(24px, 6vw, 38px);
        font-weight: 900;
        line-height: 1;
    }

    .calendar-month-day.has-events .calendar-month-day-number {
        background: #15803d;
    }

    .calendar-month-day.is-today .calendar-month-day-number {
        background: #0284c7;
    }

    .calendar-month-day-count {
        flex: 1 1 50%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0;
        padding: 2px;
        background: #14532d;
        font-weight: 900;
        line-height: 1;
    }

    .calendar-month-event-number {
        display: block;
        font-size: clamp(16px, 3.8vw, 24px);
        line-height: .95;
    }

    .calendar-month-event-label {
        display: block;
        margin-top: 1px;
        font-size: clamp(8px, 1.9vw, 12px);
        font-weight: 800;
        line-height: .9;
        text-transform: lowercase;
    }

    .calendar-month-day.is-today .calendar-month-day-count {
        background: #075985;
    }


    .calendar-month-day.is-future-tba {
        border-color: #334155;
        background: #1e293b;
        color: #94a3b8;
    }

    .calendar-month-day.is-future-tba .calendar-month-day-number {
        background: #263244;
    }

    .calendar-month-day-tba {
        flex: 1 1 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 2px;
        background: #111827;
        color: #94a3b8;
        font-size: clamp(10px, 2.5vw, 16px);
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

    .calendar-event-type-left {
        min-width: 0;
        width: 100%;
        display: -webkit-box;
        color: #cbd5e1;
        font-size: clamp(22px, 5vw, 32px);
        font-weight: 900;
        line-height: 1.05;
        text-align: center;
        white-space: normal;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    .calendar-day {
        scroll-margin-top: 8px;
    }

    .calendar-day.is-empty .calendar-day-events {
        display: none;
    }


    /* V27.5.1: Events now uses the shared adaptive footer used by the entity lists. */

    @media (max-width: 420px) {
        .calendar-explore-header {
            gap: 10px;
        }

        .calendar-view-toggle {
            min-width: 70px;
            min-height: 34px;
            padding: 4px 8px;
            font-size: 13px;
            font-weight: 900;
            color: #ffffff;
        }

        .calendar-event-bottom {
            grid-template-columns: clamp(76px, 22vw, 96px) minmax(0, 1fr);
            gap: 9px;
        }

    }

    @media (min-width: 760px) {
        .calendar-day-header,
        .calendar-day-events {
            padding-left: 24px;
            padding-right: 24px;
        }

        .calendar-event {
            padding: 22px 22px 31px;
        }

        .calendar-event-bottom {
            grid-template-columns: 132px minmax(0, 1fr);
            gap: 22px;
        }
    }


    /* V27.1.1: compact phone typography after enabling the real PWA viewport. */
    @media (max-width: 600px) {
        .calendar-explore-header {
            gap: 10px;
            margin-bottom: 12px;
        }

        .calendar-page-title {
            font-size: 22px;
        }


        .calendar-view-toggle {
            min-width: 70px;
            min-height: 34px;
            padding: 4px 8px;
            border-width: 2px;
            font-size: 13px;
            font-weight: 900;
            color: #ffffff;
        }

        .calendar-day-header {
            gap: 8px;
            padding: 8px 10px;
        }

        .calendar-day-name {
            font-size: 15px;
        }

        .calendar-day-date {
            font-size: 14px;
        }

        .calendar-day-events {
            padding: 6px 10px 12px 10px;
        }

        .calendar-event {
            margin: 9px 0;
            padding: 12px;
            border-width: 2px;
            border-radius: 10px;
        }

        .calendar-event-main {
            gap: 7px;
        }

        .calendar-event-bottom {
            grid-template-columns: 62px minmax(0, 1fr);
            gap: 8px;
        }

        .calendar-event-lower {
            grid-template-columns: minmax(0, 1fr);
            grid-template-rows: minmax(0, 1fr) auto;
            gap: 4px;
            align-items: stretch;
        }

        .calendar-event-title {
            font-size: 13px;
            line-height: 1.04;
            text-align: left;
        }

        .calendar-performer-link {
            width: fit-content;
            padding: 4px 7px;
            border-radius: 7px;
            font-size: 15px;
            line-height: 1.05;
            text-align: left;
        }

        .calendar-event-fallback {
            padding: 0;
            border: 0;
            background: transparent;
            color: #94a3b8;
            font-size: 13px;
            font-weight: 700;
        }

        .calendar-event-venue {
            font-size: 17px;
            line-height: 1.06;
        }

        .calendar-event-time {
            align-self: end;
            margin-top: 0;
            font-size: 11px;
            line-height: 1.05;
            text-align: left;
        }

        .calendar-event-type,
        .calendar-event-type-left {
            font-size: 16px;
            line-height: 1.05;
        }

        .calendar-event-link {
            padding: 5px;
            border-width: 2px;
            border-radius: 9px;
        }

        .calendar-event-link-month {
            font-size: 14px;
        }

        .calendar-event-link-day {
            margin-top: 2px;
            font-size: 24px;
        }

        .calendar-month {
            padding: 8px;
            margin-bottom: 12px;
            border-width: 2px;
        }

        .calendar-month-title {
            margin-bottom: 6px;
            font-size: 21px;
        }

        .calendar-month-weekday {
            font-size: 8px;
        }

        .calendar-month-weekdays,
        .calendar-month-grid {
            gap: 3px;
        }

        .calendar-month-day {
            border-width: 1px;
            border-radius: 8px;
        }

        .calendar-month-day.has-events {
            border-width: 2px;
        }

        .calendar-month-day-number {
            font-size: 13px;
        }

        .calendar-month-event-number {
            font-size: 13px;
        }

        .calendar-month-event-label {
            font-size: 7px;
        }

        .calendar-month-day-tba {
            font-size: 9px;
        }

        .calendar-empty,
        .calendar-status {
            font-size: 18px;
        }

        .calendar-month-day {
            aspect-ratio: auto;
            min-height: 44px;
        }

        .calendar-month-day-number {
            flex: 0 0 19px;
            padding: 1px;
        }

        .calendar-month-day-count,
        .calendar-month-day-tba {
            flex: 1 1 auto;
            min-height: 16px;
            padding: 1px 0;
            white-space: nowrap;
        }
    }


    /* V27.5.46: event name leads, venue follows; both stay to one line. */
    .calendar-event-title-line {
        display:block;
        width:100%;
        max-width:100%;
        min-width:0;
        color:#f59e0b;
        font-size:clamp(20px,4.4vw,29px);
        font-weight:900;
        line-height:1.08;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .calendar-event-venue {
        margin-top:4px;
        color:#cbd5e1;
        font-size:clamp(15px,3.5vw,21px);
        font-weight:800;
    }
    .calendar-band-list::-webkit-scrollbar{height:5px}
    @media(max-width:600px){
        .calendar-event-title-line{font-size:18px}
        .calendar-event-venue{font-size:14px}
        .calendar-band-list{padding-bottom:2px}
        .calendar-performer-link{max-width:none}
    }




    /* V27.5.74.7: nested performer links must never trap vertical card scrolling. */
    .calendar-band-list {
        overscroll-behavior-x: contain;
        overscroll-behavior-y: auto;
        touch-action: pan-x pan-y;
    }
    .calendar-event-title-link,
    .calendar-venue-link,
    .calendar-performer-link,
    .calendar-event-link {
        -webkit-user-drag: none;
        user-select: none;
        -webkit-user-select: none;
    }

    /* V27.5.74.5: make venue and event-title navigation unmistakable. */
    .calendar-event-title-link {
        display: block;
        color: #f59e0b;
        text-decoration: none;
        cursor: pointer;
    }
    .calendar-event-title-link:hover,
    .calendar-event-title-link:active {
        color: #fbbf24;
        text-decoration: underline;
        text-underline-offset: 2px;
    }
    .calendar-venue-link {
        display: inline-flex;
        width: auto;
        max-width: 100%;
        align-items: center;
        justify-content: flex-start;
        margin-top: 5px;
        padding: 4px 8px;
        border: 1px solid #3b82f6;
        border-radius: 7px;
        background: #172554;
        color: #dbeafe;
        line-height: 1.05;
        text-decoration: none;
        cursor: pointer;
    }
    .calendar-venue-link:hover,
    .calendar-venue-link:active {
        background: #1e3a8a;
        border-color: #60a5fa;
        color: #ffffff;
    }
    @media(max-width:600px) {
        .calendar-venue-link {
            padding: 3px 7px;
            font-size: 14px;
        }
    }

    /* V27.6.1: historical dates stay visible but are deliberately muted. */
    .calendar-day.is-past { border-color:#3f4650; background:#171a1f; }
    .calendar-day.is-past .calendar-day-header { background:#30343a !important; }
    .calendar-day.is-past .calendar-day-name,
    .calendar-day.is-past .calendar-day-date { color:#9ca3af; }
    .calendar-day.is-past .calendar-event { background:#1d2025; border-color:#4b5563; filter:saturate(.48); opacity:.82; }
    .calendar-day.is-past .calendar-event:hover,
    .calendar-day.is-past .calendar-event:active { background:#252a31; border-color:#6b7280; opacity:.96; }
    .calendar-month-day.is-past { background:#25282d; border-color:#444a52; color:#9ca3af; opacity:.72; }
    .calendar-month-day.is-past.has-events { background:#30343a; border-color:#59616b; }
    .calendar-month-day.is-past .calendar-month-day-number,
    .calendar-month-day.is-past .calendar-month-day-count { color:#9ca3af; }


    @media (max-width: 600px) {
        .calendar-explore-header {
            gap: 8px;
            margin-bottom: 8px;
        }

        .calendar-view-toggle {
            min-width: 70px;
            min-height: 30px;
            padding: 3px 9px;
            font-size: 13px;
            border-radius: 8px;
        }
    }

/* V28.1.3.9: collapsed Week day availability cue.
   Days with Events use green header text; zero-Event days remain white. */
.calendar-day.is-collapsed:not(.is-empty) .calendar-day-name {
    color: #22c55e !important;
}
.calendar-day.is-collapsed.is-empty .calendar-day-name {
    color: #ffffff !important;
}

/* RCM_APP_28.1.3.30 — crisp centered viewer-local LED clock + Alerts action. */
.calendar-local-clock{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    justify-self:center;
    min-width:174px;
    min-height:42px;
    padding:4px 9px 3px;
    border:1px solid #7f1d1d;
    border-radius:6px;
    background:#070101;
    box-shadow:inset 0 0 7px rgba(255,0,0,.14),0 0 3px rgba(255,0,0,.15);
    color:#ff1616;
    font-family:"Lucida Console","Courier New",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:24px;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
    font-variant-numeric:tabular-nums lining-nums;
    text-rendering:geometricPrecision;
    -webkit-font-smoothing:antialiased;
}
.calendar-local-clock-digits{
    letter-spacing:.35px;
    text-shadow:0 0 1px #ff0000,0 0 3px rgba(255,0,0,.48);
}
.calendar-local-clock-meridiem{
    margin-left:2px;
    align-self:flex-end;
    padding-bottom:3px;
    color:#ff2a2a;
    font-size:.48em;
    font-weight:900;
    letter-spacing:0;
    text-shadow:0 0 1px rgba(255,0,0,.72);
}
.calendar-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.calendar-alerts-button{
    display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;padding:4px 9px;
    border:2px solid #60a5fa;border-radius:8px;background:#172554;color:#fff!important;
    font-size:13px;font-weight:900;line-height:1;text-decoration:none!important;white-space:nowrap;
}
.calendar-alerts-button:hover,.calendar-alerts-button:active{background:#1d4ed8;border-color:#93c5fd}
@media(max-width:600px){
    .calendar-explore-header{grid-template-columns:auto minmax(0,1fr) auto;gap:4px;margin-bottom:7px}
    .calendar-title-line{gap:0}
    .calendar-page-title{font-size:22px}
    .calendar-local-clock{min-width:132px;min-height:38px;padding:3px 5px;font-size:19px}
    .calendar-local-clock-meridiem{margin-left:1px;padding-bottom:2px;font-size:.46em}
    .calendar-header-actions{gap:3px}
    .calendar-alerts-button{min-height:30px;padding:3px 6px;font-size:10px}
    .calendar-view-toggle{min-width:58px;min-height:30px;padding:3px 6px;font-size:11px}
}
@media(max-width:390px){
    .calendar-local-clock{min-width:119px;font-size:17px}
    .calendar-alerts-button span:last-child{display:none}
    .calendar-alerts-button{min-width:34px;padding:3px 5px}
}
