/* Componentes particulares de la consulta de Actas y Acuerdos del CLE. */

.ieen-agreements-page {
    padding: 0 20px 54px !important;
}

.ieen-agreements-shell {
    width: min(100%, 1180px);
    margin: 0 auto;
}

.ieen-agreements-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
}

.ieen-agreements-hero__content {
    max-width: 790px;
}

.ieen-agreements-year {
    position: relative;
    z-index: 2;
    width: 210px;
    min-width: 210px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: var(--site-radius-card);
    background: rgba(82, 82, 90, 0.24);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
    color: #fff;
    text-align: center;
    backdrop-filter: blur(8px);
}

.ieen-agreements-year .v-icon {
    display: block;
    margin: 0 auto 8px;
}

.ieen-agreements-year span,
.ieen-agreements-year small {
    display: block;
    color: rgba(255, 255, 255, 0.88);
    font-weight: 700;
}

.ieen-agreements-year strong {
    display: block;
    margin: 4px 0;
    font-size: 2.6rem;
    line-height: 1;
}

.ieen-agreements-metrics .site-metric-value {
    font-size: 1.08rem;
}

.ieen-agreements-metric-icon--latest {
    background: linear-gradient(135deg, var(--site-color-primary), var(--site-color-secondary));
}

.ieen-agreements-metric-date {
    font-size: .9rem !important;
    line-height: 1.25 !important;
    text-transform: lowercase;
}
.ieen-agreements-selector {
    margin: 28px 0 18px;
    min-height: 88px;
    padding: 16px 22px;
    display: grid;
    grid-template-columns: minmax(250px, 0.9fr) minmax(190px, 0.55fr) minmax(300px, 1.2fr);
    align-items: center;
    gap: 24px;
    border: 1px solid var(--site-color-border);
    border-top: 4px solid var(--site-color-secondary);
    border-radius: 16px;
    background: var(--site-color-surface);
    box-shadow: 0 12px 30px rgba(82, 82, 90, 0.09);
}

.ieen-year-selector__intro {
    display: flex;
    align-items: center;
    gap: 13px;
}

.ieen-year-selector__intro span,
.ieen-year-selector__intro small,
.ieen-year-selector__intro strong {
    display: block;
}

.ieen-year-selector__icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    display: grid !important;
    place-items: center;
    border-radius: 8px;
    background: var(--site-color-surface-soft);
}

.ieen-year-selector__icon .v-icon {
    color: var(--site-color-primary) !important;
}

.ieen-year-selector__intro small,
.ieen-year-selector__body > span {
    color: var(--site-color-muted);
    font-size: 0.7rem;
    font-weight: 700;
}

.ieen-year-selector__intro strong {
    margin-top: 3px;
    color: var(--site-color-primary);
    font-size: 1rem;
    font-weight: 900;
}

.ieen-year-selector__control {
    height: 56px;
    padding: 6px 12px;
    display: flex;
    align-items: center;
    gap: 11px;
    border: 1px solid var(--site-color-border);
    border-radius: 8px;
    background: #fff;
}

.ieen-year-selector__control > .v-icon {
    color: var(--site-color-secondary) !important;
}

.ieen-year-selector__body {
    min-width: 0;
    flex: 1;
}

.ieen-year-selector__control .v-input__slot {
    min-height: 28px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ieen-year-selector__control .v-input,
.ieen-year-selector__control .v-input__control {
    height: 28px !important;
    min-height: 28px !important;
}

.ieen-year-selector__control .v-select__selection {
    color: var(--site-color-primary) !important;
    font-size: 1rem;
    font-weight: 900;
}

.ieen-agreements-selector > p {
    margin: 0 !important;
    color: var(--site-color-muted);
    font-size: 0.82rem;
    line-height: 1.45;
}

.ieen-agreements-shell > .v-expansion-panels {
    margin: 16px 0 !important;
}

.ieen-agreements-shell > .v-expansion-panels .v-expansion-panel {
    border: 1px solid var(--site-color-border);
    border-radius: var(--site-radius-control) !important;
    box-shadow: var(--site-shadow-sm);
    overflow: hidden;
}

.ieen-agreements-shell > .v-expansion-panels .v-expansion-panel-header {
    min-height: 54px;
    color: var(--site-color-primary);
    background: var(--site-color-surface-soft);
}

.ieen-agreements-shell > .v-expansion-panels .v-expansion-panel-header .v-icon {
    color: var(--site-color-primary) !important;
}

.ieen-agreements-shell > .v-expansion-panels .v-list-item p {
    width: 100%;
    margin: 0;
    padding: 9px;
    border-bottom: 1px solid var(--site-color-border);
    font-weight: 700;
}

.ieen-agreements-tabs {
    margin-top: 18px;
    padding: 0 0 26px;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible;
}

.ieen-agreements-tabs > .v-tabs-bar {
    height: auto !important;
    min-height: 66px;
    border-bottom: 1px solid var(--site-color-border);
    background: transparent !important;
}

.ieen-agreements-tabs > .v-window,
.ieen-agreements-tabs > .v-window > .v-window__container {
    background: transparent !important;
}

.ieen-agreements-tabs .v-tabs-bar .row {
    width: 100%;
    margin: 0;
}

.ieen-agreements-tabs .v-tab {
    min-height: 48px;
    color: var(--site-color-neutral) !important;
    font-weight: 800;
    letter-spacing: 0 !important;
}

.ieen-agreements-tabs .v-tab--active {
    color: var(--site-color-primary) !important;
}

.ieen-agreements-tabs .v-tabs-slider {
    background: var(--site-color-secondary) !important;
}

.ieen-agreements-tabs .v-window-item > .container,
.ieen-agreements-tabs .v-window-item > .row {
    margin-top: 14px;
}

.ieen-category-card {
    position: relative;
    min-height: 112px;
    padding: 20px 22px 20px 26px;
    display: flex;
    align-items: center;
    gap: 18px;
    overflow: hidden;
    border: 1px solid var(--site-color-border) !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 28px rgba(82, 82, 90, 0.1) !important;
    background: #fff !important;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.ieen-category-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: var(--metric-color, var(--site-color-primary));
}

.ieen-category-card:hover {
    transform: translateY(-3px);
    border-color: var(--metric-color, var(--site-color-primary)) !important;
    box-shadow: 0 16px 34px rgba(82, 82, 90, 0.15) !important;
}

.ieen-category-card__icon {
    width: 54px;
    height: 54px;
    min-width: 54px;
    display: grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--metric-color) 26%, white);
    border-radius: 8px;
    background: color-mix(in srgb, var(--metric-color) 11%, white);
}

.ieen-agreements-page .ieen-category-card__icon .v-icon {
    color: var(--metric-color, var(--site-color-primary)) !important;
    font-size: 26px !important;
}

.ieen-category-card__content {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ieen-category-card__label,
.ieen-category-card__value {
    display: block;
}

.ieen-category-card__value {
    order: 2;
    color: var(--metric-color, var(--site-color-primary));
    font-size: 2.15rem;
    font-weight: 900;
    line-height: 1;
}

.ieen-category-card__label {
    order: 1;
    margin-bottom: 9px;
    color: var(--site-color-neutral);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1.25;
    text-transform: uppercase;
}

.ieen-cle-filters {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(190px, 0.72fr) minmax(430px, 1.8fr) minmax(150px, 0.55fr);
    gap: 22px;
    align-items: center;
}

.ieen-table-card {
    border: 1px solid var(--site-color-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 12px 30px rgba(82, 82, 90, 0.09) !important;
    overflow: hidden;
}

.ieen-table-filterbar {
    display: block !important;
    padding: 18px 20px !important;
    border-top: 4px solid var(--site-color-secondary);
    border-bottom: 1px solid var(--site-color-border);
    background: #fff;
    white-space: normal;
}

.ieen-filter-year {
    min-height: 58px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid var(--site-color-border);
    border-radius: 8px;
    background: #fff;
}

.ieen-filter-year .v-icon {
    color: var(--site-color-secondary) !important;
}

.ieen-filter-year span,
.ieen-filter-year strong {
    display: block;
}

.ieen-filter-year span,
.ieen-filter-summary span {
    color: var(--site-color-muted);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.2;
}

.ieen-filter-year span {
    text-transform: uppercase;
}

.ieen-filter-year strong {
    margin-top: 2px;
    color: var(--site-color-primary);
    font-size: 1rem;
    font-weight: 900;
}

.ieen-filter-controls {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(190px, 0.78fr) minmax(240px, 1.5fr);
    gap: 12px;
    align-items: center;
}

.ieen-filter-controls--single {
    grid-template-columns: 1fr;
}

.ieen-filter-controls--search-action {
    grid-template-columns: minmax(240px, 1fr) 46px;
}

.ieen-filter-controls .v-input__slot {
    min-height: 56px !important;
    background: #fff !important;
}

.ieen-filter-field {
    height: 56px;
    padding: 5px 12px;
    display: flex;
    align-items: center;
    gap: 11px;
    border: 1px solid var(--site-color-border);
    border-radius: 8px;
    background: #fff;
}

.ieen-filter-field__icon {
    color: var(--site-color-secondary) !important;
}

.ieen-filter-field__body {
    min-width: 0;
    flex: 1;
}

.ieen-filter-field__label {
    display: block;
    color: var(--site-color-muted);
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.ieen-filter-select .v-input__slot {
    min-height: 34px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ieen-filter-select,
.ieen-filter-select .v-input__control {
    height: 34px !important;
    min-height: 34px !important;
}

.ieen-filter-select .v-select__selection {
    color: var(--site-color-primary) !important;
    font-size: 0.96rem;
    font-weight: 800;
}

.ieen-select-menu {
    border: 1px solid var(--site-color-border);
    border-radius: 8px !important;
    box-shadow: 0 12px 28px rgba(82, 82, 90, 0.18) !important;
    overflow: hidden;
}

.ieen-select-menu .v-list {
    padding: 4px !important;
}

.ieen-select-menu .v-list-item {
    min-height: 42px;
    border-radius: 6px;
}

.ieen-select-menu .v-list-item--active {
    color: #fff !important;
    background: var(--site-color-primary) !important;
}

.ieen-select-menu .v-list-item--active::before {
    opacity: 0 !important;
}

.ieen-select-menu .v-list-item--active .v-list-item__title,
.ieen-select-menu .v-list-item--active .primary--text {
    color: #fff !important;
}

.ieen-select-menu .v-list-item:not(.v-list-item--active):hover {
    background: var(--site-color-surface-soft) !important;
}

.ieen-filter-controls fieldset {
    border-color: var(--site-color-border) !important;
}

.ieen-filter-reset {
    width: 44px !important;
    height: 44px !important;
    border: 1px solid var(--site-color-border);
    border-radius: 8px !important;
    background: var(--site-color-surface-soft);
}

.ieen-filter-reset .v-icon {
    color: var(--site-color-primary) !important;
}

.ieen-filter-summary {
    min-width: 0;
    padding-right: 4px;
    text-align: right;
}

.ieen-filter-summary strong {
    display: block;
    margin-top: 3px;
    color: var(--site-color-primary);
    font-size: 1.3rem;
    font-weight: 900;
    line-height: 1;
}

.ieen-table-card > .v-data-table {
    border: 0;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.ieen-agreements-page .v-data-table {
    border: 1px solid var(--site-color-border);
    border-radius: 16px !important;
    box-shadow: var(--site-shadow-sm) !important;
    overflow: hidden;
}

.ieen-agreements-page .v-data-table table {
    min-width: 860px;
    border-collapse: collapse;
}

.ieen-agreements-page .v-data-table thead tr {
    background: linear-gradient(90deg, var(--site-color-primary) 0%, var(--site-color-secondary) 72%, var(--site-color-neutral-soft) 100%);
}

.ieen-agreements-page .v-data-table thead th {
    padding: 16px 18px !important;
    color: #fff !important;
    background: transparent !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em;
    text-align: left !important;
    text-transform: uppercase;
    white-space: nowrap;
}

.ieen-agreements-page .v-data-table thead th .v-data-table-header__icon {
    color: #fff !important;
    opacity: 0.78 !important;
}

.ieen-agreements-page .v-data-table tbody tr:hover {
    background: var(--site-color-surface-alt) !important;
}

.ieen-agreements-page .v-data-table td {
    min-height: 64px;
    padding: 16px 18px !important;
    border-top: 1px solid var(--site-color-border) !important;
    border-bottom: 0 !important;
    color: var(--site-color-neutral);
    font-weight: 700;
    line-height: 1.55;
    text-align: left !important;
    vertical-align: middle;
}

.ieen-agreements-page .v-data-table td p {
    margin: 0 !important;
    color: var(--site-color-neutral);
    font-weight: 500;
}

.ieen-agreements-page .v-data-footer {
    border-top: 1px solid var(--site-color-border);
    background: var(--site-color-surface-soft);
}

.ieen-agreements-page .v-data-table__wrapper { overflow-x: auto; }
.ieen-agreements-page .v-data-table .v-btn--icon .v-icon { color: inherit !important; opacity: 1 !important; }
.ieen-agreements-page .v-data-table .primary--text { color: var(--site-color-primary) !important; }

.ieen-annex-pill {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 3px 5px 3px 10px;
    border: 1px solid #eadbea;
    border-radius: 999px;
    background: var(--site-color-surface-soft);
    color: var(--site-color-primary);
    font-family: inherit;
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.ieen-annex-pill .v-icon {
    color: var(--site-color-primary) !important;
    font-size: 17px !important;
}

.ieen-annex-pill strong {
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--site-color-secondary);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 900;
}

.ieen-annex-pill:hover,
.ieen-annex-pill:focus-visible {
    border-color: var(--site-color-secondary);
    background: #fff;
    box-shadow: 0 6px 14px rgba(83, 38, 128, 0.12);
    outline: none;
}
.ieen-agreements-page .v-data-table .success--text { color: #2e7d32 !important; }
.ieen-agreements-page .v-data-table .error--text { color: #c62828 !important; }

.ieen-agreements-page .v-input--is-focused .v-input__slot,
.ieen-agreements-page .v-input--is-focused fieldset {
    border-color: var(--site-color-secondary) !important;
}

.ieen-agreements-page a {
    color: var(--site-color-primary) !important;
}

/* Contraste consistente para iconos Vuetify. */
.ieen-agreements-page .site-hero-badge .v-icon,
.ieen-agreements-page .site-metric-icon .v-icon,
.ieen-agreements-page .ieen-cle-stat__icon .v-icon,
.ieen-agreements-page .cle-calendar-action:not(.cle-calendar-action--secondary) .v-icon,
.ieen-agreements-page .cle-session-links a .v-icon {
    color: #fff !important;
    opacity: 1 !important;
}

.ieen-agreements-page .v-input__append-inner .v-icon,
.ieen-agreements-page .v-input__prepend-inner .v-icon {
    color: var(--site-color-primary) !important;
    opacity: 1 !important;
}

.ieen-category-card__icon .v-icon,
.ieen-cle-stat__icon .v-icon {
    font-size: 23px !important;
}

.ieen-year-loading {
    position: fixed;
    inset: 0;
    z-index: 50;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.76);
    backdrop-filter: blur(5px);
}

.ieen-year-loading__card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 24px;
    border: 1px solid var(--site-color-border);
    border-radius: var(--site-radius-control);
    background: #fff;
    box-shadow: var(--site-shadow-md);
    color: var(--site-color-primary);
    font-weight: 800;
}

/* Numeralia */
.ieen-numeralia { padding: 30px 20px 8px; }

.ieen-numeralia-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
    padding: 4px 8px 22px;
    border-bottom: 1px solid var(--site-color-border);
}

.ieen-numeralia-header .site-section-text { max-width: 720px; }

.ieen-numeralia-year {
    min-width: 148px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 1px 10px;
    padding: 13px 16px;
    border: 1px solid var(--site-color-border);
    border-radius: var(--site-radius-control);
    background: var(--site-color-surface-soft);
}

.ieen-numeralia-year .v-icon {
    grid-row: 1 / 3;
    color: var(--site-color-secondary) !important;
}

.ieen-numeralia-year span {
    color: var(--site-color-muted);
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.ieen-numeralia-year strong {
    color: var(--site-color-primary);
    font-size: 1.3rem;
    line-height: 1;
}

.ieen-numeralia > p {
    margin: 0 8px 14px !important;
    color: var(--site-color-muted);
    font-size: 0.76rem;
    font-weight: 800 !important;
    letter-spacing: 0.06em;
    text-align: left !important;
    text-transform: uppercase;
}

.ieen-cle-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 0 8px 28px;
}

.ieen-cle-stat {
    min-height: 112px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--site-color-border);
    border-radius: var(--site-radius-control);
    background: var(--site-color-surface);
    box-shadow: 0 8px 22px rgba(82, 82, 90, 0.06);
}

.ieen-cle-stat__icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: var(--stat-accent);
}

.ieen-cle-stat--primary { --stat-accent: var(--site-color-primary); }
.ieen-cle-stat--secondary { --stat-accent: var(--site-color-secondary); }
.ieen-cle-stat--soft { --stat-accent: #76519a; }
.ieen-cle-stat--neutral { --stat-accent: var(--site-color-neutral); }

.ieen-cle-stat__content strong,
.ieen-cle-stat__content span { display: block; }

.ieen-cle-stat__content strong {
    color: var(--site-color-primary);
    font-size: 1.75rem;
    line-height: 1;
}

.ieen-cle-stat__content span {
    margin-top: 6px;
    color: var(--site-color-muted);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.3;
}

.ieen-cle-chart-card {
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--site-color-border);
    border-radius: var(--site-radius-card);
    background: var(--site-color-surface);
    box-shadow: 0 10px 26px rgba(82, 82, 90, 0.07);
    overflow: hidden;
}

.ieen-cle-chart-card > h3,
.ieen-cle-chart-heading h3,
.ieen-numeralia-section-head h3 {
    margin: 0;
    color: var(--site-color-primary);
    font-size: 1.08rem;
    font-weight: 800;
    letter-spacing: 0;
}

.ieen-cle-chart-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 0 4px 12px;
    border-bottom: 1px solid var(--site-color-border);
}

.ieen-cle-chart-heading span,
.ieen-numeralia-section-head span {
    color: var(--site-color-secondary);
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.ieen-cle-chart-heading .v-icon { color: var(--site-color-secondary) !important; }
.ieen-cle-chart-card--featured { margin-bottom: 30px; }

.ieen-cle-chart-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}

.ieen-cle-chart-grid > .ieen-cle-chart-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.ieen-cle-chart-grid--wide { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 34px; }
.ieen-cle-chart { width: 100%; min-height: 320px; }
.ieen-cle-chart--featured { min-height: 380px; }
.ieen-numeralia-section-head { margin: 4px 0 16px; }

.ieen-quarter-card {
    --quarter-sessions: #532680;
    --quarter-agreements: #c45c91;
    --quarter-resolutions: #76519a;
    --quarter-reports: #52525a;
    height: 100%;
    padding: 4px 18px 18px;
    border: 1px solid var(--site-color-border) !important;
    border-top: 4px solid var(--site-color-secondary) !important;
    border-radius: var(--site-radius-control) !important;
    box-shadow: 0 8px 22px rgba(82, 82, 90, 0.07) !important;
}

.ieen-quarter-card .cardAyAT {
    margin: 0;
    color: var(--site-color-primary);
    font-size: 1.15rem;
    text-align: left;
}

.ieen-quarter-card .cardAyATFecha {
    margin: 6px 0 14px;
    color: var(--site-color-muted);
    font-size: 0.78rem;
    text-align: left;
}

.ieen-quarter-card .ListaTrimestre { margin: 0; padding: 0; list-style: none; }

.ieen-quarter-card .ListaTrimestre li {
    align-items: center;
    gap: 8px;
    color: var(--site-color-neutral);
    font-size: 0.78rem;
    line-height: 1.35;
}

.ieen-quarter-card .ListaTrimestre li span {
    margin-right: 4px;
    font-weight: 700;
    white-space: nowrap;
}

.ieen-quarter-card .ListaTrimestre [style*="display: flex"] {
    min-height: 28px;
    align-items: center;
    gap: 8px;
    color: var(--site-color-neutral);
    font-size: 0.78rem;
    line-height: 1.35;
}

.ieen-quarter-card .ListaTrimestre [style*="display: flex"] span {
    margin-right: 4px;
    font-weight: 700;
    white-space: nowrap;
}

.ieen-quarter-card .ListaTrimestre .icon {
    width: 10px;
    height: 10px;
    min-width: 10px;
    border-radius: 50%;
    background: var(--quarter-sessions) !important;
    box-shadow: 0 0 0 3px rgba(83, 38, 128, 0.1);
}

.ieen-quarter-card .ListaTrimestre > li:nth-of-type(2) > .icon {
    background: var(--quarter-agreements) !important;
    box-shadow: 0 0 0 3px rgba(196, 92, 145, 0.1);
}

.ieen-quarter-card .ListaTrimestre > li:nth-of-type(3) > .icon {
    background: var(--quarter-resolutions) !important;
    box-shadow: 0 0 0 3px rgba(118, 81, 154, 0.1);
}

.ieen-quarter-card .ListaTrimestre > li:nth-of-type(4) > .icon {
    background: var(--quarter-reports) !important;
    box-shadow: 0 0 0 3px rgba(82, 82, 90, 0.1);
}

.ieen-quarter-card .ListaTrimestre .v-btn .v-icon {
    color: var(--site-color-primary) !important;
}

.ieen-quarter-card .ListaTrimestre .v-btn {
    width: 30px;
    min-width: 30px !important;
    height: 30px;
    margin-left: auto;
    padding: 0 !important;
    border-radius: 50%;
    box-shadow: none;
}

/* Calendario de sesiones */
.cle-calendar-container { padding: 24px 10px 8px !important; }

.cle-calendar-shell {
    border: 1px solid var(--site-color-border);
    border-radius: var(--site-radius-card);
    background: var(--site-color-surface);
    overflow: hidden;
}

.cle-calendar-summary {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 24px;
    border-bottom: 1px solid var(--site-color-border);
    background: var(--site-color-surface-soft);
}

.cle-calendar-summary h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    color: var(--site-color-primary);
    font-size: 1.05rem;
}

.cle-calendar-summary h3 .v-icon { color: var(--site-color-secondary) !important; }

.cle-upcoming-list { display: flex; flex-wrap: wrap; gap: 10px; }

.cle-upcoming-card {
    max-width: 310px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border: 1px solid var(--site-color-border);
    border-radius: 14px;
    background: #fff;
    color: var(--site-color-neutral);
    text-align: left;
}

.cle-upcoming-date {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: var(--site-color-primary);
    color: #fff;
    font-weight: 800;
}

.cle-upcoming-card strong,
.cle-upcoming-card small { display: block; line-height: 1.25; }
.cle-upcoming-card strong { color: var(--site-color-primary); font-size: 0.78rem; }
.cle-upcoming-card small { margin-top: 3px; color: var(--site-color-muted); font-size: 0.68rem; }

.cle-calendar-legend {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
    color: var(--site-color-muted);
    font-size: 0.75rem;
    font-weight: 700;
}

.cle-calendar-legend i,
.cle-calendar-dot {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--site-color-secondary);
}

.cle-calendar-toolbar {
    display: grid;
    grid-template-columns: 0.7fr 1fr 1.3fr auto auto;
    gap: 10px;
    align-items: stretch;
    padding: 18px 24px;
    border-bottom: 1px solid var(--site-color-border);
}

.ieen-record-toolbar {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(150px, 0.72fr) minmax(190px, 1fr) minmax(210px, 1fr) minmax(260px, 1.35fr);
    gap: 10px;
    align-items: stretch;
    color: var(--site-color-neutral);
    font-family: inherit;
}

.ieen-record-toolbar--three {
    grid-template-columns: repeat(3, minmax(190px, 1fr));
}

.ieen-record-toolbar .cle-calendar-field {
    min-height: 54px;
}

.ieen-record-toolbar .cle-calendar-field--static strong {
    color: var(--site-color-primary);
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.2;
}
.cle-calendar-action {
    min-width: 0;
}

.cle-calendar-field {
    min-width: 0;
    min-height: 54px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0 8px;
    padding: 7px 12px;
    border: 1px solid var(--site-color-border);
    border-radius: 12px;
    background: var(--site-color-surface);
    color: var(--site-color-neutral);
    font-family: inherit;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.cle-calendar-field:focus-within {
    border-color: var(--site-color-secondary);
    box-shadow: 0 0 0 3px rgba(196, 92, 145, 0.12);
}

.cle-calendar-field .v-icon {
    grid-row: 1 / 3;
    color: var(--site-color-secondary) !important;
    font-size: 20px !important;
}

.cle-calendar-field span {
    color: var(--site-color-muted);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.15;
    text-transform: uppercase;
}

.cle-calendar-field select {
    width: 100%;
    height: 22px;
    min-width: 0;
    border: 0;
    background: transparent;
    color: var(--site-color-primary);
    font-family: inherit;
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.2;
    outline: none;
}

.cle-calendar-field select option {
    color: var(--site-color-primary);
    background: var(--site-color-surface);
    font-family: inherit;
    font-weight: 700;
}

.cle-calendar-field--static strong {
    color: var(--site-color-primary);
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.2;
}
.cle-calendar-action {
    min-height: 54px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 14px;
    border: 1px solid var(--site-color-primary);
    border-radius: 12px;
    background: var(--site-color-primary);
    color: #fff;
    font-family: inherit;
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
    transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.cle-calendar-action:hover,
.cle-calendar-action:focus-visible {
    border-color: var(--site-color-primary-dark);
    background: var(--site-color-primary-dark);
    box-shadow: 0 8px 18px rgba(83, 38, 128, 0.18);
}

.cle-calendar-action--secondary {
    border: 1px solid var(--site-color-border);
    background: var(--site-color-surface-soft);
    color: var(--site-color-primary);
}

.cle-calendar-action--secondary:hover,
.cle-calendar-action--secondary:focus-visible {
    border-color: var(--site-color-secondary);
    background: #f7e9f1;
    color: var(--site-color-primary);
}

.cle-calendar-action--secondary .v-icon { color: var(--site-color-primary) !important; }

.cle-calendar-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.75fr) minmax(280px, 0.75fr);
    gap: 22px;
    padding: 24px;
}

.cle-calendar-nav {
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    align-items: center;
    margin-bottom: 12px;
}

.cle-calendar-nav h3 {
    margin: 0;
    color: var(--site-color-primary);
    font-size: 1.15rem;
    text-align: center;
    text-transform: capitalize;
}

.cle-calendar-nav button {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid var(--site-color-border);
    border-radius: 11px;
    background: var(--site-color-surface-soft);
}

.cle-calendar-nav .v-icon { color: var(--site-color-primary) !important; }
.cle-calendar-weekdays, .cle-calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }

.cle-calendar-weekdays span {
    padding: 8px 2px;
    color: var(--site-color-muted);
    font-size: 0.68rem;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
}

.cle-calendar-day {
    position: relative;
    aspect-ratio: 1.35 / 1;
    min-height: 48px;
    border: 1px solid var(--site-color-border);
    background: #fff;
    color: var(--site-color-neutral);
    font-weight: 700;
}

.cle-calendar-day.is-muted { color: var(--site-color-neutral-soft); background: var(--site-color-surface-soft); }
.cle-calendar-day.is-today { box-shadow: inset 0 0 0 2px var(--site-color-secondary); }
.cle-calendar-day.is-selected { background: var(--site-color-primary); color: #fff; }
.cle-calendar-day .cle-calendar-dot { position: absolute; left: 50%; bottom: 7px; transform: translateX(-50%); }
.cle-calendar-day.is-selected .cle-calendar-dot { background: #fff; }

.cle-day-panel {
    min-width: 0;
    padding: 20px;
    border-radius: var(--site-radius-control);
    background: var(--site-color-surface-soft);
}

.cle-day-panel h3 { margin: 0; color: var(--site-color-primary); font-size: 1.05rem; }
.cle-day-date { margin: 5px 0 16px; color: var(--site-color-muted); font-size: 0.78rem; }
.cle-day-scroll { max-height: 460px; overflow-y: auto; }

.cle-day-session {
    padding: 14px;
    border: 1px solid var(--site-color-border);
    border-radius: 14px;
    background: #fff;
}

.cle-day-session + .cle-day-session { margin-top: 10px; }
.cle-session-badges { display: flex; flex-wrap: wrap; gap: 5px; }
.cle-session-badges span { padding: 4px 7px; border-radius: 999px; font-size: 0.62rem; font-weight: 800; }
.cle-session-source { background: var(--site-color-primary); color: #fff; }
.cle-session-kind { background: #f7e9f1; color: var(--site-color-secondary); }
.cle-day-session h4 { margin: 10px 0; color: var(--site-color-neutral); font-size: 0.85rem; line-height: 1.4; }
.cle-session-links { display: flex; flex-wrap: wrap; gap: 7px; }

.ieen-agreements-page .cle-session-links a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 9px;
    border-radius: 9px;
    background: var(--site-color-primary);
    color: #fff !important;
    font-size: 0.68rem;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 960px) {
    .ieen-agreements-hero {
        align-items: flex-start;
    }

    .ieen-agreements-year {
        width: 170px;
        min-width: 170px;
    }

    .ieen-agreements-selector {
        grid-template-columns: 1fr minmax(190px, 0.7fr);
    }

    .ieen-agreements-selector > p {
        grid-column: 1 / -1;
    }

    .ieen-cle-filters,
    .ieen-cle-filters--compact {
        grid-template-columns: minmax(170px, 0.7fr) minmax(360px, 1.5fr);
    }

    .ieen-filter-summary {
        grid-column: 1 / -1;
        display: flex;
        justify-content: flex-end;
        align-items: baseline;
        gap: 8px;
    }

    .ieen-cle-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ieen-cle-chart-grid, .ieen-cle-chart-grid--wide { grid-template-columns: 1fr; }
    .ieen-cle-chart-grid > .ieen-cle-chart-card:last-child:nth-child(odd) { grid-column: auto; }

    .cle-calendar-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cle-calendar-field:last-of-type { grid-column: 1 / -1; }
    .ieen-record-toolbar,
    .ieen-record-toolbar--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cle-calendar-layout { grid-template-columns: 1fr; }
    .cle-day-scroll { max-height: none; }
}

@media (max-width: 700px) {
    .ieen-agreements-page {
        padding: 0 12px 36px !important;
    }

    .ieen-agreements-selector {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .ieen-agreements-selector > p {
        grid-column: auto;
    }

    .ieen-agreements-hero {
        display: block;
        padding-bottom: 90px;
    }

    .ieen-agreements-year {
        width: 100%;
        min-width: 0;
        margin-top: 24px;
        padding: 14px 18px;
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        gap: 8px;
        text-align: left;
    }

    .ieen-agreements-year .v-icon,
    .ieen-agreements-year strong {
        margin: 0;
    }

    .ieen-agreements-year strong {
        font-size: 1.75rem;
    }

    .ieen-agreements-year small {
        display: none;
    }

    .ieen-agreements-metrics {
        margin-left: 8px;
        margin-right: 8px;
    }

    .ieen-agreements-tabs {
        padding: 0 0 18px;
        border-radius: 0 !important;
    }

    .ieen-agreements-tabs .v-card__title {
        padding: 12px;
    }

    .ieen-agreements-tabs .container,
    .ieen-agreements-tabs .container--fluid { padding-left: 6px; padding-right: 6px; }

    .ieen-agreements-tabs .v-window-item > .row > .col-10 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .ieen-agreements-page .v-data-table table { min-width: 760px; }
    .ieen-agreements-page .v-data-table > .v-data-table__wrapper > table > thead {
        display: table-header-group !important;
    }
    .ieen-agreements-page .v-data-table > .v-data-table__wrapper > table > tbody > tr {
        display: table-row !important;
    }
    .ieen-agreements-page .v-data-table > .v-data-table__wrapper > table > tbody > tr > td {
        width: auto !important;
        display: table-cell !important;
    }
    .ieen-agreements-page .v-data-table > .v-data-table__wrapper > table > tbody > tr > td::before {
        display: none !important;
    }
    .ieen-category-card { width: 100%; }

    .ieen-cle-filters,
    .ieen-cle-filters--compact,
    .ieen-cle-filters--sessions { grid-template-columns: 1fr; }

    .ieen-table-filterbar { padding: 20px 14px 16px !important; }
    .ieen-filter-controls,
    .ieen-filter-controls--search-action { grid-template-columns: 1fr; }
    .ieen-filter-reset { justify-self: end; }
    .ieen-filter-summary {
        grid-column: auto;
        justify-content: flex-start;
        text-align: left;
    }

    .ieen-numeralia { padding: 22px 6px 4px; }
    .ieen-numeralia-header { display: block; }
    .ieen-numeralia-year { width: fit-content; margin-top: 18px; }
    .ieen-cle-summary { grid-template-columns: 1fr; margin-left: 0; margin-right: 0; }
    .ieen-cle-stat { min-height: 88px; }
    .ieen-cle-chart-card { padding: 14px 8px; border-radius: var(--site-radius-control); }

    .cle-calendar-container { padding: 16px 0 4px !important; }
    .cle-calendar-summary { display: block; padding: 18px; }
    .cle-calendar-legend { margin-top: 14px; }
    .cle-upcoming-list { display: grid; grid-template-columns: 1fr; }
    .cle-upcoming-card { width: 100%; max-width: none; }
    .cle-calendar-toolbar { grid-template-columns: 1fr; padding: 14px; }
    .cle-calendar-field:last-of-type { grid-column: auto; }
    .ieen-record-toolbar { grid-template-columns: 1fr; }
    .ieen-record-toolbar--three { grid-template-columns: 1fr; }
    .ieen-record-toolbar .cle-calendar-field--static strong {
    color: var(--site-color-primary);
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.2;
}
.cle-calendar-action { width: 100%; }
    .cle-calendar-layout { gap: 16px; padding: 14px; }
    .cle-calendar-day { min-height: 42px; aspect-ratio: 1 / 1; font-size: 0.76rem; }
    .cle-calendar-weekdays span { font-size: 0.58rem; }
    .cle-day-panel { padding: 16px; }
}

@media (max-width: 440px) {
    .ieen-agreements-page { padding-left: 8px !important; padding-right: 8px !important; }
    .ieen-agreements-tabs { border-radius: 0 !important; }
    .ieen-agreements-year { grid-template-columns: auto 1fr; }
    .ieen-agreements-year strong { grid-column: 2; }
    .site-metric-icon { width: 44px; height: 44px; min-width: 44px; }
    .cle-calendar-day { min-height: 36px; }
    .cle-calendar-day .cle-calendar-dot { bottom: 4px; width: 6px; height: 6px; }

    .ieen-agreements-shell > .v-expansion-panels .v-expansion-panel-content__wrap {
        padding: 0 10px 12px;
    }
}

/* Preserve the desktop table model when Vuetify switches to its mobile card layout. */
.v-application .ieen-agreements-page .v-data-table > .v-data-table__wrapper > table > thead {
    display: table-header-group !important;
}

.v-application .ieen-agreements-page .v-data-table > .v-data-table__wrapper > table > tbody > tr {
    display: table-row !important;
}

.v-application .ieen-agreements-page .v-data-table > .v-data-table__wrapper > table > tbody > tr > td {
    width: auto !important;
    display: table-cell !important;
}

.v-application .ieen-agreements-page .v-data-table > .v-data-table__wrapper > table > tbody > tr > td::before {
    display: none !important;
}
/* Tarjetas móviles homologadas con Normatividad IEEN */
.ieen-mobile-card-table {
    display: none;
}

@media (max-width: 700px) {
    .ieen-desktop-records {
        display: none !important;
    }

    .ieen-mobile-card-table {
        display: block;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .v-application .ieen-agreements-page .ieen-mobile-card-table .v-data-table__wrapper {
        overflow: visible !important;
        background: transparent;
    }

    .v-application .ieen-agreements-page .ieen-mobile-card-table table {
        width: 100% !important;
        min-width: 0 !important;
        display: table !important;
    }

    .v-application .ieen-agreements-page .ieen-mobile-card-table table > thead {
        display: none !important;
    }

    .v-application .ieen-agreements-page .ieen-mobile-card-table table > tbody {
        display: table-row-group !important;
    }

    .v-application .ieen-agreements-page .ieen-mobile-card-table table > tbody > tr.ieen-mobile-card-row {
        display: table-row !important;
        background: transparent !important;
    }

    .v-application .ieen-agreements-page .ieen-mobile-card-table table > tbody > tr.ieen-mobile-card-row:hover {
        background: transparent !important;
    }

    .v-application .ieen-agreements-page .ieen-mobile-card-table table > tbody > tr.ieen-mobile-card-row > td {
        width: 100% !important;
        display: table-cell !important;
        padding: 0 0 14px !important;
        border: 0 !important;
        background: transparent !important;
    }

    .ieen-mobile-record-card {
        padding: 16px;
        border: 1px solid var(--site-color-border);
        border-left: 4px solid var(--site-color-primary);
        border-radius: var(--site-radius-card);
        background: var(--site-color-surface);
        box-shadow: var(--site-shadow-sm);
    }

    .ieen-mobile-card-row:nth-child(3n + 2) .ieen-mobile-record-card {
        border-left-color: var(--site-color-secondary);
    }

    .ieen-mobile-card-row:nth-child(3n + 3) .ieen-mobile-record-card {
        border-left-color: var(--site-color-neutral);
    }

    .ieen-mobile-record-head,
    .ieen-mobile-record-actions,
    .ieen-mobile-record-details summary,
    .ieen-mobile-record-files a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

    .ieen-mobile-record-head {
        align-items: flex-start;
    }

    .ieen-mobile-record-number,
    .ieen-mobile-record-type {
        font-size: .72rem;
        font-weight: 900;
        line-height: 1.3;
    }

    .ieen-mobile-record-number {
        color: var(--site-color-secondary);
    }

    .ieen-mobile-record-type {
        max-width: 62%;
        padding: 5px 8px;
        border-radius: 999px;
        color: var(--site-color-primary);
        background: var(--site-color-surface-soft);
        text-align: right;
        overflow-wrap: anywhere;
    }

    .ieen-mobile-record-card h3 {
        margin: 13px 0;
        color: var(--site-color-neutral);
        font-size: .95rem;
        font-weight: 800;
        line-height: 1.55;
        text-align: justify;
        overflow-wrap: anywhere;
    }

    .ieen-mobile-record-meta {
        display: grid;
        gap: 10px;
        margin: 0;
        padding: 12px 0;
        border-top: 1px solid var(--site-color-border);
        border-bottom: 1px solid var(--site-color-border);
    }

    .ieen-mobile-record-meta div {
        display: grid;
        grid-template-columns: minmax(105px, .8fr) minmax(0, 1.2fr);
        gap: 10px;
    }

    .ieen-mobile-record-meta dt,
    .ieen-mobile-record-meta dd {
        margin: 0;
        font-size: .78rem;
        line-height: 1.45;
    }

    .ieen-mobile-record-meta dt {
        color: var(--site-color-muted);
        font-weight: 700;
    }

    .ieen-mobile-record-meta dd {
        color: var(--site-color-neutral);
        font-weight: 800;
        text-align: right;
        overflow-wrap: anywhere;
    }

    .ieen-mobile-record-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
        margin-top: 13px;
    }

    .ieen-mobile-record-pdf,
    .ieen-mobile-record-link {
        min-height: 38px;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 8px 12px;
        border-radius: var(--site-radius-control);
        font-size: .78rem;
        font-weight: 850;
        text-decoration: none;
    }

    .ieen-mobile-record-pdf {
        border: 1px solid rgba(180, 35, 24, .16);
        color: #b42318 !important;
        background: #fff5f5;
    }

    .ieen-mobile-record-link {
        border: 1px solid var(--site-color-border);
        color: var(--site-color-primary) !important;
        background: var(--site-color-surface-soft);
    }

    .ieen-mobile-record-link .ieen-mobile-file-icon--order {
        color: #2e7d32 !important;
    }

    .ieen-mobile-record-pdf--institutional {
        border-color: var(--site-color-border);
        color: var(--site-color-primary) !important;
        background: var(--site-color-surface-soft);
    }

    .ieen-mobile-record-details--institutional .v-icon,
    .ieen-mobile-record-details--institutional .ieen-mobile-record-files a .v-icon {
        color: var(--site-color-primary) !important;
    }
    .ieen-mobile-record-link .ieen-mobile-file-icon--youtube,
    .ieen-mobile-record-details .ieen-mobile-file-icon--youtube {
        color: #c62828 !important;
    }
    .ieen-mobile-record-pdf .v-icon,
    .ieen-mobile-record-link .v-icon {
        color: currentColor !important;
    }

    .ieen-mobile-no-file {
        color: var(--site-color-muted);
        font-size: .76rem;
        font-weight: 700;
    }

    .ieen-mobile-record-details {
        margin-top: 13px;
        border: 1px solid var(--site-color-border);
        border-radius: var(--site-radius-control);
        background: var(--site-color-surface-soft);
    }

    .ieen-mobile-record-details summary {
        min-height: 44px;
        padding: 9px 11px;
        color: var(--site-color-primary);
        font-size: .78rem;
        font-weight: 850;
        cursor: pointer;
        list-style: none;
    }

    .ieen-mobile-record-details summary::-webkit-details-marker {
        display: none;
    }

    .ieen-mobile-record-details summary > span,
    .ieen-mobile-details-end {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

    .ieen-mobile-record-details summary .v-icon {
        color: currentColor !important;
    }

    .ieen-mobile-details-end strong {
        min-width: 24px;
        height: 24px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        color: #fff;
        background: var(--site-color-secondary);
        font-size: .7rem;
    }

    .ieen-mobile-details-chevron {
        transition: transform var(--site-transition);
    }

    .ieen-mobile-record-details[open] .ieen-mobile-details-chevron {
        transform: rotate(180deg);
    }

    .ieen-mobile-record-files {
        display: grid;
        gap: 8px;
        padding: 0 10px 10px;
    }

    .ieen-mobile-record-files a {
        min-width: 0;
        padding: 10px;
        border: 1px solid var(--site-color-border);
        border-radius: var(--site-radius-control);
        color: var(--site-color-neutral) !important;
        background: var(--site-color-surface);
        font-size: .76rem;
        font-weight: 750;
        line-height: 1.4;
        text-decoration: none;
    }

    .ieen-mobile-record-files a span {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .ieen-mobile-record-files a .v-icon {
        color: #b42318 !important;
    }

    .ieen-mobile-card-table .v-data-footer {
        margin-top: 2px;
        padding: 8px 4px;
        border: 1px solid var(--site-color-border);
        border-radius: var(--site-radius-control);
        background: var(--site-color-surface);
    }

    .ieen-mobile-card-table .v-data-footer__select {
        display: none;
    }
}
/* Prioridad cromática para iconos de archivo en móvil */
@media (max-width: 700px) {
    .ieen-agreements-page .ieen-mobile-record-pdf {
        color: #b42318 !important;
    }

    .ieen-agreements-page .ieen-mobile-record-pdf--institutional {
        color: var(--site-color-primary) !important;
    }

    .ieen-agreements-page .ieen-mobile-record-link .v-icon.ieen-mobile-file-icon--order {
        color: #2e7d32 !important;
    }

    .ieen-agreements-page .ieen-mobile-record-link .v-icon.ieen-mobile-file-icon--youtube,
    .ieen-agreements-page .ieen-mobile-record-details .v-icon.ieen-mobile-file-icon--youtube {
        color: #c62828 !important;
    }
}
@media (max-width: 700px) {
    .v-application .ieen-agreements-page a.ieen-mobile-record-pdf .v-icon.ieen-mobile-file-icon--pdf {
        color: #b42318 !important;
    }

    .v-application .ieen-agreements-page a.ieen-mobile-record-pdf--institutional .v-icon.ieen-mobile-file-icon--pdf {
        color: var(--site-color-primary) !important;
    }
}
/* Consultar acta conserva el color institucional */
@media (max-width: 700px) {
    .v-application .ieen-agreements-page a.ieen-mobile-record-pdf--acta,
    .v-application .ieen-agreements-page a.ieen-mobile-record-pdf--acta .v-icon.ieen-mobile-file-icon--pdf {
        color: var(--site-color-primary) !important;
    }
}
/* Búsqueda textual sobre las columnas de cada tabla */
.ieen-record-toolbar .cle-calendar-field--search {
    grid-column: 1 / -1;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.cle-calendar-field--search > span {
    grid-column: 2;
    grid-row: 1;
}
.cle-calendar-field--search input {
    width: 100%;
    height: 22px;
    min-width: 0;
    border: 0;
    background: transparent;
    color: var(--site-color-primary);
    font-family: inherit;
    font-size: .84rem;
    font-weight: 750;
    line-height: 1.2;
    outline: none;
}

.cle-calendar-field--search input::placeholder {
    color: var(--site-color-muted);
    font-weight: 600;
    opacity: .9;
}

.cle-calendar-field--search input::-webkit-search-cancel-button {
    display: none;
}

.cle-calendar-field--search button {
    grid-column: 3;
    grid-row: 1 / 3;
    align-self: center;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: var(--site-radius-icon);
    color: var(--site-color-muted);
    background: transparent;
    cursor: pointer;
}

.cle-calendar-field--search button:hover,
.cle-calendar-field--search button:focus-visible {
    color: var(--site-color-primary);
    background: var(--site-color-surface-soft);
    outline: none;
}

.cle-calendar-field--search button .v-icon {
    position: static;
    color: currentColor !important;
}
/* Posición legible del texto de ayuda del buscador */
.cle-calendar-field--search > input {
    grid-column: 2;
    grid-row: 2;
    text-align: left !important;
}
/* Margen horizontal uniforme para toda la vista móvil */
@media (max-width: 700px) {
    .v-application .ieen-agreements-page {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }
}
/* Filtros y resultados como bloques independientes */
.ieen-agreements-page .ieen-table-card {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible;
}

.ieen-agreements-page .ieen-table-filterbar {
    margin-bottom: 18px;
    border: 1px solid var(--site-color-border);
    border-top: 4px solid var(--site-color-secondary);
    border-radius: var(--site-radius-card) !important;
    background: var(--site-color-surface);
    box-shadow: var(--site-shadow-sm);
}

.ieen-agreements-page .ieen-table-card > .v-data-table.ieen-desktop-records {
    border: 1px solid var(--site-color-border);
    border-radius: var(--site-radius-card) !important;
    box-shadow: var(--site-shadow-sm) !important;
    overflow: hidden;
}

@media (max-width: 700px) {
    .ieen-agreements-page .ieen-table-filterbar {
        margin-bottom: 16px;
        padding: 16px !important;
    }
}
/* Cierre compacto de la vista antes del pie institucional */
.v-application .ieen-agreements-page {
    padding-bottom: 20px !important;
}

.v-application .ieen-agreements-page .ieen-agreements-tabs {
    padding-bottom: 0;
}

.v-application .ieen-agreements-page + .ieen-site-footer.v-footer {
    margin-top: 24px;
}

/* Homologacion de Junta Estatal Ejecutiva dentro del componente documental */
.jee-doc-page .ieen-category-card__content strong,
.jee-doc-page .ieen-category-card__content span {
    display: block;
}

.jee-doc-page .ieen-category-card__content strong {
    order: 2;
    color: var(--metric-color, var(--site-color-primary));
    font-size: 1.95rem;
    font-weight: 900;
    line-height: 1;
}

.jee-doc-page .ieen-category-card__content span {
    order: 1;
    margin-bottom: 9px;
    color: var(--site-color-muted);
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.25;
}

.jee-doc-page .ieen-category-card {
    width: 100%;
}

.jee-doc-page .v-window-item > .container {
    padding-top: 18px !important;
}

.jee-doc-page .v-window-item > .container > .row > .col > .v-card:not(.ieen-category-card) {
    border: 1px solid var(--site-color-border) !important;
    border-radius: var(--site-radius-card) !important;
    box-shadow: var(--site-shadow-sm) !important;
    overflow: hidden;
}

.jee-doc-page .v-window-item > .container > .row > .col > .v-card:not(.ieen-category-card) .v-card__title {
    border-bottom: 1px solid var(--site-color-border);
    background: var(--site-color-surface);
}

.jee-calendar-shell {
    border: 1px solid var(--site-color-border);
    border-radius: var(--site-radius-card);
    background: var(--site-color-surface);
    box-shadow: var(--site-shadow-sm);
    overflow: hidden;
}

.jee-upcoming-section {
    padding: 24px;
    border-bottom: 1px solid var(--site-color-border);
    background:
        radial-gradient(circle at 92% 0%, rgba(196, 92, 145, 0.14), transparent 34%),
        var(--site-color-surface);
}

.jee-upcoming-section h2 {
    margin: 0 0 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--site-color-primary);
    font-size: 1.16rem;
    font-weight: 900;
}

.jee-upcoming-section h2 .v-icon {
    color: var(--site-color-secondary) !important;
}

.jee-upcoming-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.jee-upcoming-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--site-color-border);
    border-radius: var(--site-radius-control);
    background: #fff;
}

.jee-upcoming-card > strong {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: var(--site-color-primary);
    color: #fff;
    font-size: 1.25rem;
    line-height: 1;
}

.jee-upcoming-card h3 {
    margin: 0 0 4px;
    color: var(--site-color-primary);
    font-size: 0.95rem;
    font-weight: 900;
    line-height: 1.25;
}

.jee-upcoming-card p {
    margin: 0 0 10px;
    color: var(--site-color-muted);
    font-size: 0.8rem;
}

.jee-upcoming-card a,
.jee-calendar-links a {
    display: inline-flex;
    margin: 4px 8px 0 0;
    color: var(--site-color-primary) !important;
    font-size: 0.78rem;
    font-weight: 900;
    text-decoration: none;
}

.jee-upcoming-empty {
    margin: 0;
    color: var(--site-color-muted);
    font-weight: 700;
}

.jee-calendar-toolbar {
    display: grid;
    grid-template-columns: minmax(160px, 0.8fr) minmax(160px, 0.8fr) minmax(220px, 1fr) auto;
    gap: 12px;
    padding: 18px;
    border-bottom: 1px solid var(--site-color-border);
    background: #fff;
}

.jee-calendar-field {
    min-height: 54px;
    padding: 8px 12px;
    display: grid;
    align-content: center;
    gap: 2px;
    border: 1px solid var(--site-color-border);
    border-radius: var(--site-radius-control);
    background: #fff;
}

.jee-calendar-field span {
    color: var(--site-color-muted);
    font-size: 0.66rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

.jee-calendar-field select {
    width: 100%;
    height: 24px;
    border: 0;
    color: var(--site-color-primary);
    background: transparent;
    font-weight: 900;
    outline: none;
}

.jee-calendar-button {
    min-height: 54px;
    padding: 0 20px;
    border: 1px solid var(--site-color-primary);
    border-radius: var(--site-radius-control);
    background: var(--site-color-primary);
    color: #fff;
    font-weight: 900;
}

.jee-calendar-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.8fr);
    gap: 20px;
    padding: 20px;
}

.jee-calendar-nav {
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.jee-calendar-nav h3 {
    margin: 0;
    color: var(--site-color-primary);
    font-size: 1.15rem;
    font-weight: 900;
    text-align: center;
    text-transform: capitalize;
}

.jee-calendar-nav button {
    width: 38px;
    height: 38px;
    border: 1px solid var(--site-color-border);
    border-radius: 8px;
    background: #fff;
}

.jee-calendar-nav .v-icon {
    color: var(--site-color-primary) !important;
}

.jee-calendar-week,
.jee-calendar-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.jee-calendar-week span {
    padding: 8px 2px;
    color: var(--site-color-muted);
    font-size: 0.68rem;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
}

.jee-calendar-day {
    position: relative;
    min-height: 56px;
    border: 1px solid var(--site-color-border);
    background: #fff;
    color: var(--site-color-neutral);
    font-weight: 900;
}

.jee-calendar-day.is-muted {
    color: var(--site-color-neutral-soft);
    background: var(--site-color-surface-soft);
}

.jee-calendar-day.is-today {
    box-shadow: inset 0 0 0 2px var(--site-color-secondary);
}

.jee-calendar-day.is-selected {
    background: var(--site-color-primary);
    color: #fff;
}

.jee-calendar-dot {
    position: absolute;
    left: 50%;
    bottom: 7px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--site-color-secondary);
    transform: translateX(-50%);
}

.jee-calendar-day.is-selected .jee-calendar-dot {
    background: #fff;
}

.jee-calendar-panel {
    padding: 20px;
    border: 1px solid var(--site-color-border);
    border-radius: var(--site-radius-control);
    background: var(--site-color-surface-soft);
}

.jee-calendar-panel h3 {
    margin: 0;
    color: var(--site-color-primary);
    font-size: 1rem;
    font-weight: 900;
}

.jee-calendar-date {
    margin: 4px 0 16px;
    color: var(--site-color-muted);
    font-size: 0.82rem;
    text-transform: capitalize;
}

.jee-calendar-scroll {
    display: grid;
    gap: 10px;
    max-height: 420px;
    overflow: auto;
}

.jee-calendar-session {
    padding: 14px;
    border: 1px solid var(--site-color-border);
    border-radius: 8px;
    background: #fff;
}

.jee-calendar-session span {
    color: var(--site-color-secondary);
    font-size: 0.7rem;
    font-weight: 900;
    text-transform: uppercase;
}

.jee-calendar-session h4 {
    margin: 5px 0 8px;
    color: var(--site-color-neutral);
    font-size: 0.92rem;
    line-height: 1.35;
}

@media (max-width: 960px) {
    .jee-upcoming-grid,
    .jee-calendar-layout {
        grid-template-columns: 1fr;
    }

    .jee-calendar-toolbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .jee-calendar-toolbar {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    .jee-upcoming-section,
    .jee-calendar-layout {
        padding: 16px;
    }

    .jee-upcoming-grid {
        grid-template-columns: 1fr;
    }

    .jee-calendar-day {
        min-height: 42px;
        font-size: 0.76rem;
    }
}

@media (max-width: 700px) {
    .v-application .ieen-agreements-page {
        padding-bottom: 16px !important;
    }

    .v-application .ieen-agreements-page + .ieen-site-footer.v-footer {
        margin-top: 20px;
    }
}
