/* Executive calendar — shared event chrome (training course focus, all views). */

:root {
    --exec-cal-training-bg: linear-gradient(135deg, #15803d, #166534);
    --exec-cal-training-bg-solid: #166534;
    --exec-cal-training-glow: rgba(245, 158, 11, 0.55);
    --exec-cal-training-glow-strong: rgba(245, 158, 11, 0.75);
    --exec-cal-training-ribbon-bg: #bbf7d0;
    --exec-cal-training-ribbon-fg: #14532d;
}

/* Unified training surface: week/day blocks, month pills, span bars, agenda blocks. */
.exec-cal-event--training,
.scheduler-event.event-training,
.exec-month__pill--training,
.exec-month__span-bar--training,
.scheduler-span-bar.exec-cal-event--training {
    background: var(--exec-cal-training-bg) !important;
    color: #fff;
}

.exec-cal-event--training-active,
.scheduler-event.event-training.exec-cal-event--training-active,
.exec-month__pill--training.exec-cal-event--training-active,
.exec-month__span-bar--training.exec-cal-event--training-active,
.scheduler-span-bar.exec-cal-event--training.exec-cal-event--training-active {
    animation: exec-cal-training-glow 1.35s ease-in-out infinite;
}

@keyframes exec-cal-training-glow {
    0%, 100% {
        box-shadow: 0 0 12px var(--exec-cal-training-glow-strong);
    }
    50% {
        box-shadow: 0 0 3px var(--exec-cal-training-glow);
    }
}

.exec-cal-event-thumb {
    object-fit: cover;
    border-radius: 4px;
    flex-shrink: 0;
    border: 1px solid rgba(255, 255, 255, 0.35);
    vertical-align: middle;
}

.exec-cal-event-thumb--sm {
    width: 18px;
    height: 18px;
}

.exec-cal-event-thumb--md {
    width: 22px;
    height: 22px;
}

.exec-cal-event-thumb--bar {
    width: 16px;
    height: 16px;
    display: inline-block;
    margin-inline-end: 4px;
    vertical-align: middle;
}

.exec-cal-event-title-row {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.exec-cal-event-title-row > strong,
.exec-cal-event-title-row > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.exec-cal-event-block__ribbon,
.exec-event-block__ribbon,
.exec-month__pill-ribbon {
    display: inline-block;
    font-size: 0.62rem;
    font-weight: 800;
    background: var(--exec-cal-training-ribbon-bg);
    color: var(--exec-cal-training-ribbon-fg);
    border-radius: 999px;
    padding: 0 5px;
    margin-inline-start: 4px;
    vertical-align: middle;
    flex-shrink: 0;
}

.exec-event-block--training {
    border-color: #86efac;
    background: linear-gradient(90deg, #f0fdf4, #fff);
}

/* Week/day: keep timed training blocks inside day columns (RTL-safe). */
.scheduler-event-host {
    box-sizing: border-box;
    max-width: 100%;
    padding-inline: 3px;
}

.scheduler-event-host .scheduler-event,
.scheduler-event-host .scheduler-event-ctx,
.scheduler-event-host .mud-menu-activator {
    max-width: 100%;
    box-sizing: border-box;
    min-width: 0;
}

.scheduler-event.event-training {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12), 0 0 8px var(--exec-cal-training-glow);
}

.scheduler-span-bar.exec-cal-event--training {
    display: flex;
    align-items: center;
    gap: 4px;
}

.exec-month__span-bar--training,
.exec-month__pill--training {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12), 0 0 6px var(--exec-cal-training-glow);
}

/* Hide-holidays toolbar toggle */
.exec-cal-hide-holidays {
    border-radius: 999px !important;
    border-color: rgba(148, 163, 184, 0.45) !important;
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(4px);
}

.exec-cal-hide-holidays__toggle {
    min-height: 2rem;
}

.exec-cal-hide-holidays__toggle .mud-toggle-item {
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
    .exec-cal-event--training-active {
        animation: none;
    }
}
