/* Agenda calendar polish. Scoped to the module so the global panel remains untouched. */
@media (min-width: 901px) {
    .agenda-page.agenda-main-view {
        background: #f8fafc;
    }

    .agenda-page .agenda-calendar-shell {
        border-color: #d4deeb;
        background: #fff;
        box-shadow: 0 10px 30px rgba(9, 38, 83, .06);
    }

    .agenda-page .agenda-calendar-toolbar,
    .agenda-page .agenda-filter-row,
    .agenda-page [data-agenda-view-host],
    .agenda-page .agenda-week-scroll,
    .agenda-page .agenda-month-layout,
    .agenda-page .agenda-day-grid {
        background: #fff;
    }

    .agenda-page .agenda-calendar-toolbar {
        min-height: 60px;
        padding: 11px 14px;
        border-bottom: 1px solid #e1e8f1;
    }

    .agenda-page .agenda-filter-row {
        min-height: 58px;
        padding: 10px 14px;
        border-top: 0;
        border-bottom-color: #e1e8f1;
    }

    .agenda-page .agenda-filter-row label {
        height: 40px;
        min-height: 40px;
        border-color: #d5e0ed;
        background: #fff;
    }

    .agenda-page .agenda-date-nav strong { font-size: 15px; }
    .agenda-page .agenda-mode a { min-width: 76px; font-size: 13px; }

    .agenda-page .agenda-month-layout {
        grid-template-columns: minmax(0, 78fr) minmax(300px, 22fr);
        gap: 14px;
        padding: 14px;
    }

    .agenda-page .agenda-month-head b {
        padding: 9px 7px;
        color: #60748f;
        font-size: 11px;
    }

    .agenda-page .agenda-month-grid { border-color: #dbe4ef; }

    .agenda-page .agenda-month-grid > a {
        min-height: 76px;
        padding: 8px;
        border-color: #e1e8f1;
        color: #12345f;
        font-size: 12px;
    }

    .agenda-page .agenda-month-grid > a > b {
        width: 26px;
        height: 26px;
        font-size: 12px;
    }

    .agenda-page .agenda-month-grid > a > div { margin-top: 7px; }
    .agenda-page .agenda-month-grid i { width: 6px; height: 6px; }

    .agenda-page .agenda-month-details {
        padding: 14px;
        border: 1px solid #dbe4ef;
        background: #fbfcfe;
    }

    .agenda-page .agenda-month-details h3 { font-size: 13px; }
    .agenda-page .agenda-month-event { padding: 11px 11px 11px 13px; font-size: 12px; }
    .agenda-page .agenda-month-event > strong { font-size: 13px; }

    .agenda-page .agenda-week-table {
        min-width: 920px;
        grid-template-columns: 64px repeat(7, minmax(110px, 1fr));
    }

    .agenda-page .agenda-week-corner,
    .agenda-page .agenda-week-day {
        min-height: 60px;
        color: #173967;
        font-size: 12px;
    }

    .agenda-page .agenda-week-day span { font-size: 14px; }
    .agenda-page .agenda-week-hour,
    .agenda-page .agenda-week-cell { min-height: 66px; }
    .agenda-page .agenda-week-hour { color: #536d8d; font-size: 11px; }
    .agenda-page .agenda-week-event { padding: 6px 7px; font-size: 11px; }
    .agenda-page .agenda-week-event small { font-size: 9px; }

    .agenda-page .agenda-day-grid { min-height: 620px; padding: 8px 14px 16px; }
    .agenda-page .agenda-hour-row { min-height: 66px; grid-template-columns: 68px minmax(0, 1fr); }
    .agenda-page .agenda-hour-row > time { font-size: 12px; }
    .agenda-page .agenda-hour-row > div { min-height: 66px; }
    .agenda-page .agenda-slot { min-height: 56px; font-size: 13px; }
    .agenda-page .agenda-slot > strong { font-size: 14px; }
}

/* La programación se dimensiona dentro del panel; el drawer no participa del flujo. */
@media (max-width: 1024px) {
    .agenda-page:has([data-agenda-editor]) {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-inline: 0;
        box-sizing: border-box;
    }

    .agenda-page:has([data-agenda-editor]) > [data-agenda-section-content],
    .agenda-page:has([data-agenda-editor]) [data-agenda-editor] {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .agenda-page:has([data-agenda-editor]) [data-agenda-program-form],
    .agenda-page:has([data-agenda-editor]) [data-agenda-program-form] > section,
    .agenda-page:has([data-agenda-editor]) [data-agenda-program-form] > aside,
    .agenda-page:has([data-agenda-editor]) [data-agenda-program-form] fieldset,
    .agenda-page:has([data-agenda-editor]) [data-agenda-program-form] label {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

}

/* Próximas e Historial: el fondo acompaña, los estados conservan el protagonismo. */
@media (min-width: 901px) {
    .agenda-page.agenda-upcoming-view,
    .agenda-page.agenda-history-view {
        background: #fff;
    }

    .agenda-page.agenda-upcoming-view .agenda-upcoming-content,
    .agenda-page.agenda-history-view .agenda-upcoming-content {
        padding: 0 0 28px;
        background: #fff;
    }

    .agenda-page.agenda-upcoming-view .agenda-upcoming-filters,
    .agenda-page.agenda-history-view .agenda-upcoming-filters {
        border-color: #d9e3ef;
        background: #fff;
        box-shadow: 0 6px 20px rgba(9, 38, 83, .04);
    }

    .agenda-page .agenda-upcoming-group > h2 {
        color: #092653;
    }

    .agenda-page .agenda-upcoming-item {
        border-top-color: #d7e2ee;
        border-right-color: #d7e2ee;
        border-bottom-color: #d7e2ee;
    }

    .agenda-page .agenda-history-table {
        border-color: #d7e2ee;
        box-shadow: 0 8px 24px rgba(9, 38, 83, .04);
    }

    .agenda-page .agenda-upcoming-groups {
        gap: 24px;
    }

    .agenda-page .agenda-upcoming-group {
        gap: 9px;
    }

    .agenda-page .agenda-upcoming-item {
        box-shadow: 0 3px 10px rgba(9, 38, 83, .045);
    }

        .agenda-page .agenda-upcoming-item.status-line-1 {
            background: #e7f2ff !important;
            border-color: #1474e5 !important;
            border-left-color: #1474e5 !important;
        }

    .agenda-page .agenda-upcoming-item.status-line-2 {
        background: #e2f7ed !important;
        border-color: #c5ead8 !important;
        border-left-color: #10b981 !important;
    }

        .agenda-page .agenda-upcoming-item.status-line-3 {
            background: #e6f5ee !important;
            border-color: #22936d !important;
            border-left-color: #22936d !important;
        }

        .agenda-page .agenda-upcoming-item.status-line-4 {
            background: #ffeded !important;
            border-color: #ef6565 !important;
            border-left-color: #ef6565 !important;
        }

        .agenda-page .agenda-upcoming-item.status-line-5 {
            background: #eef1f5 !important;
            border-color: #929cad !important;
            border-left-color: #929cad !important;
        }

    .agenda-page .agenda-upcoming-item:hover {
        box-shadow: 0 8px 18px rgba(9, 38, 83, .09);
    }
}

