/* RCM_APP_28.8.3 (Luis) -- the Event list card, three rows. One rule per selector; the layered
   overrides from V27.5.74.41 through 28.8.0 were folded in here and removed.
     1. the title (bigger), VIP Edit / Delete, the date tile at the upper right -- the whole row opens the event
     2. the slider: the venue, then every performer, full names, slide sideways -- a name opens its
        venue / band, anywhere else on the row opens the event
     3. the time, the status (STARTS SOON / ONGOING / OVER) and the bell -- the row (not the bell) opens the event
   A title too long to fit slides (the shared marquee, card_marquee.css) while the event is live or
   still to come; an event that is over (greyed) shows "..." instead (.rcm-marquee-still). */
.calendar-event{
    position:relative!important;
    margin:4px 0!important;
    padding:5px 6px!important;
    border:2px solid #334155!important;
    border-radius:10px!important;
    background:#020305!important;
    color:inherit!important;
}
.calendar-event:hover,.calendar-event:active{background:#070b11!important;border-color:#64748b!important}
.calendar-event.has-reminder{outline:3px solid #f97316!important;outline-offset:1px!important}
.calendar-event-main{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;background:#020305!important}

/* Row 1 */
.rcm-ev-head{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important;cursor:pointer!important}
.rcm-ev-title{
    flex:1 1 auto!important;
    min-width:0!important;
    display:block!important;
    color:#f59e0b!important;
    font-size:21px!important;
    font-weight:900!important;
    line-height:1.12!important;
    text-decoration:none!important;
}
.rcm-ev-date{
    flex:0 0 auto!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    padding:2px!important;
    border-width:2px!important;
    border-radius:9px!important;
    aspect-ratio:auto!important;
}
.rcm-ev-date .calendar-event-link-month{font-size:9px!important;line-height:.95!important}
.rcm-ev-date .calendar-event-link-day{margin-top:1px!important;font-size:19px!important;line-height:.88!important}
.calendar-vip-card-tools{display:flex!important;align-items:center!important;gap:4px!important;flex:0 0 auto!important}
.calendar-vip-card-tools form{margin:0!important}
.calendar-vip-card-edit,.calendar-vip-card-delete{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:24px!important;padding:3px 6px!important;border:1px solid #475569!important;border-radius:6px!important;background:#172033!important;color:#93c5fd!important;font-size:9px!important;font-weight:900!important;line-height:1!important;text-decoration:none!important;cursor:pointer!important}
.calendar-vip-card-delete{color:#fca5a5!important;border-color:#7f1d1d!important;background:#2a1116!important}

/* Rows 2 and 3 share the textured lower face (textured_surfaces.css .calendar-event-bottom). */
.rcm-ev-body{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;padding:4px!important;border-radius:7px!important}

/* Row 2: the slider */
.rcm-ev-slider{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    align-items:stretch!important;
    gap:5px!important;
    padding:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x pan-y!important;
    cursor:pointer!important;
}
.rcm-ev-slider::-webkit-scrollbar{display:none!important}
.calendar-performer-link,.calendar-venue-link{
    flex:0 0 auto!important;
    width:auto!important;
    max-width:none!important;
    min-height:36px!important;
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:4px!important;
    margin:0!important;
    padding:3px 10px!important;
    border:2px solid #60a5fa!important;
    border-radius:8px!important;
    background:#17376a!important;
    color:#dbeafe!important;
    font-size:13px!important;
    font-weight:950!important;
    line-height:1.05!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    overflow:visible!important;
    cursor:pointer!important;
    touch-action:pan-x pan-y!important;
}
.calendar-performer-link:hover,.calendar-performer-link:active{background:#1d4ed8!important;border-color:#bfdbfe!important;color:#fff!important}
.calendar-venue-link{border-color:#2dd4bf!important;background:#0f3b3a!important;color:#ccfbf1!important}
.calendar-venue-link::before{content:"\1F4CD";flex:0 0 auto;font-size:11px}
.calendar-venue-link:hover,.calendar-venue-link:active{background:#115e59!important;border-color:#99f6e4!important;color:#fff!important}
.calendar-venue-link.is-static{cursor:inherit!important}

/* Row 3 */
.rcm-ev-meta{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:5px!important;min-width:0!important;cursor:pointer!important}
.calendar-event-alert-stack{
    flex:0 0 auto!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:3px!important;
}
.calendar-event-alert-stack .rcm-event-temporal-status{min-width:0!important;padding:2px 4px!important;font-size:8px!important}
.calendar-event-time{
    min-width:0!important;
    flex:1 1 auto!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1!important;
    text-align:left!important;
    color:#d8e1ee!important;
    font-weight:800!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.calendar-event-reminder{
    position:static!important;
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    min-width:30px!important;
    min-height:24px!important;
    padding:2px 5px!important;
    border:1px solid #64748b!important;
    border-radius:8px!important;
    background:#1e293b!important;
    color:#cbd5e1!important;
    font-size:10px!important;
    font-weight:900!important;
    line-height:1!important;
    cursor:pointer!important;
}
.calendar-event-reminder.is-active{border-color:#facc15!important;background:#713f12!important;color:#fde68a!important}
.calendar-event-reminder:disabled{opacity:.65!important;cursor:wait!important}

@media(max-width:420px){
    .calendar-event{margin:3px 0!important;padding:4px 5px!important}
    .rcm-ev-title{font-size:19px!important}
    .rcm-ev-date{width:40px!important;height:40px!important;min-width:40px!important}
    .rcm-ev-date .calendar-event-link-month{font-size:8px!important}
    .rcm-ev-date .calendar-event-link-day{font-size:18px!important}
    .calendar-vip-card-edit,.calendar-vip-card-delete{min-height:22px!important;padding:2px 5px!important;font-size:8px!important}
    .calendar-performer-link,.calendar-venue-link{min-height:34px!important;padding:2px 8px!important;font-size:12px!important}
    .calendar-event-time{font-size:11px!important}
    .calendar-event-reminder{min-width:27px!important;min-height:22px!important;padding:1px 4px!important;font-size:9px!important}
}

/* Compact-card temporal shell; shared badge animation lives in event_temporal.css. */
.calendar-event.is-event-starting-soon{
    border-color:#eab308!important;
    animation:rcm-event-card-soon .72s steps(2,end) infinite;
}
.calendar-event.is-event-ongoing{
    border-color:#22c55e!important;
    animation:rcm-event-card-live-blink 1s steps(2,end) infinite;
}
.calendar-event.is-event-over{
    border-color:#475569!important;
    background:#14171c!important;
    filter:saturate(.28)!important;
    opacity:.58!important;
}
.calendar-event.is-event-over .calendar-event-main{
    background:#14171c!important;
}
.calendar-event.is-event-over:hover,
.calendar-event.is-event-over:active{
    opacity:.74!important;
    background:#1a1d22!important;
}
@keyframes rcm-event-card-soon{
    0%,49%{box-shadow:0 0 0 1px rgba(250,204,21,.65)}
    50%,100%{box-shadow:0 0 12px 2px rgba(250,204,21,.22)}
}
@keyframes rcm-event-card-live-blink{
    0%,49%{box-shadow:0 0 13px 2px rgba(34,197,94,.38)}
    50%,100%{box-shadow:0 0 2px 1px rgba(34,197,94,.08)}
}

/* VIP-only synthetic temporal test Event. It never enters the database. */
.calendar-event.is-vip-temporal-test{
    outline:1px dashed #a855f7!important;
    outline-offset:-4px!important;
}
.calendar-vip-temporal-test-controls{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:4px!important;
    margin:2px 0 3px!important;
    padding:4px 5px!important;
    border:1px solid #6b21a8!important;
    border-radius:7px!important;
    background:#1c1027!important;
    font-size:9px!important;
    line-height:1!important;
}
.calendar-vip-test-label{
    padding:3px 5px!important;
    border-radius:5px!important;
    background:#6b21a8!important;
    color:#f3e8ff!important;
    font-weight:950!important;
    letter-spacing:.4px!important;
}
.calendar-vip-temporal-test-controls label{
    display:inline-flex!important;
    align-items:center!important;
    gap:3px!important;
    color:#e9d5ff!important;
    font-weight:850!important;
}
.calendar-vip-temporal-test-controls input[type="time"]{
    width:92px!important;
    min-width:92px!important;
    padding:2px 3px!important;
    border:1px solid #7e22ce!important;
    border-radius:5px!important;
    background:#09050d!important;
    color:#f5d0fe!important;
    font-size:9px!important;
    font-weight:800!important;
}
.calendar-vip-temporal-test-controls button{
    min-height:22px!important;
    padding:2px 6px!important;
    border:1px solid #7e22ce!important;
    border-radius:5px!important;
    background:#3b0764!important;
    color:#f3e8ff!important;
    font-size:8px!important;
    font-weight:900!important;
    cursor:pointer!important;
}
.calendar-vip-temporal-test-controls button:hover,
.calendar-vip-temporal-test-controls button:active{background:#581c87!important}

.calendar-vip-temporal-test-controls .calendar-vip-temporal-hold{
    min-width:70px!important;
    user-select:none!important;
    -webkit-user-select:none!important;
    touch-action:none!important;
    border-color:#c084fc!important;
    background:#581c87!important;
}
.calendar-vip-temporal-test-controls .calendar-vip-temporal-hold.is-held{
    border-color:#f0abfc!important;
    background:#86198f!important;
    color:#fff!important;
    box-shadow:0 0 10px rgba(217,70,239,.55)!important;
}

@media(max-width:420px){
    .calendar-vip-temporal-test-controls{gap:3px!important;padding:4px!important}
    .calendar-vip-temporal-test-controls input[type="time"]{width:84px!important;min-width:84px!important;font-size:8px!important}
}

@media(prefers-reduced-motion:reduce){
    .calendar-event.is-event-starting-soon,
    .calendar-event.is-event-ongoing{animation:none!important}
}

/* RCM_APP_28.1.3.32 — one-shot next-day reminder preview for VIP temporal testing. */
.calendar-vip-temporal-test-controls .calendar-vip-temporal-alert-test{
    border-color:#38bdf8!important;
    background:#0c4a6e!important;
    color:#e0f2fe!important;
    min-width:104px!important;
}
.calendar-vip-temporal-test-controls .calendar-vip-temporal-alert-test:hover,
.calendar-vip-temporal-test-controls .calendar-vip-temporal-alert-test:active{background:#075985!important}
