/*
 * Sistema visual complementario de La Vereda TV.
 * La primera etapa aísla claramente la administración.
 */

.admin-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    min-height: 68px;
    border-bottom: 1px solid rgba(255, 255, 255, .09);
    background: rgba(7, 17, 31, .97);
    backdrop-filter: blur(18px);
    box-shadow: 0 10px 35px rgba(0, 0, 0, .18);
}

.admin-header-inner {
    display: flex;
    min-height: 68px;
    align-items: center;
    gap: 28px;
}

.admin-header-brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
    color: #fff;
    text-decoration: none;
}

.admin-header-brand img {
    display: block;
    width: 112px;
    height: auto;
}

.admin-header-brand span {
    padding-left: 12px;
    border-left: 1px solid rgba(255, 255, 255, .18);
    color: rgba(255, 255, 255, .72);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.admin-main-nav {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: flex-end;
    gap: 3px;
}

.admin-main-nav > a,
.admin-nav-more > summary {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: 0 12px;
    border-radius: 8px;
    color: rgba(255, 255, 255, .72);
    font-size: .82rem;
    font-weight: 650;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition:
        color .18s ease,
        background-color .18s ease;
}

.admin-main-nav > a:hover,
.admin-main-nav > a.is-active,
.admin-nav-more > summary:hover,
.admin-nav-more[open] > summary {
    color: #fff;
    background: rgba(255, 255, 255, .08);
}

.admin-nav-more {
    position: relative;
}

.admin-nav-more > summary {
    list-style: none;
}

.admin-nav-more > summary::-webkit-details-marker {
    display: none;
}

.admin-nav-more > summary::after {
    margin-left: 7px;
    content: "▾";
    font-size: .65rem;
}

.admin-nav-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    display: grid;
    min-width: 180px;
    padding: 7px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 11px;
    background: #101c2c;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .32);
}

.admin-nav-dropdown a {
    padding: 10px 12px;
    border-radius: 7px;
    color: rgba(255, 255, 255, .75);
    font-size: .82rem;
    font-weight: 600;
    text-decoration: none;
}

.admin-nav-dropdown a:hover {
    color: #fff;
    background: rgba(255, 255, 255, .07);
}

.admin-nav-separator {
    width: 1px;
    height: 25px;
    margin: 0 6px;
    background: rgba(255, 255, 255, .13);
}

.admin-main-nav .admin-nav-site {
    color: #fff;
    background: rgba(255, 255, 255, .08);
}

.admin-main-nav .admin-nav-logout {
    color: #ff9ca3;
}

.admin-menu-toggle {
    display: none;
    margin-left: auto;
}

body.admin-mode .site-flash-message {
    margin-top: 22px;
}

@media (max-width: 1120px) {
    .admin-menu-toggle {
        display: inline-flex;
    }

    .admin-main-nav {
        position: absolute;
        top: 68px;
        right: 18px;
        left: 18px;
        display: none;
        width: auto;
        max-height: calc(100vh - 88px);
        overflow-y: auto;
        align-items: stretch;
        padding: 10px;
        border: 1px solid rgba(255, 255, 255, .1);
        border-radius: 12px;
        background: #0d1928;
        box-shadow: 0 22px 60px rgba(0, 0, 0, .36);
    }

    .admin-main-nav.is-open {
        display: flex;
        flex-direction: column;
    }

    .admin-main-nav > a,
    .admin-nav-more > summary {
        min-height: 44px;
        justify-content: flex-start;
        padding: 0 14px;
    }

    .admin-nav-more {
        width: 100%;
    }

    .admin-nav-dropdown {
        position: static;
        margin: 2px 0 7px;
        border: 0;
        background: rgba(255, 255, 255, .035);
        box-shadow: none;
    }

    .admin-nav-separator {
        width: 100%;
        height: 1px;
        margin: 7px 0;
    }
}

@media (max-width: 560px) {
    .admin-header-inner {
        min-height: 62px;
    }

    .admin-site-header {
        min-height: 62px;
    }

    .admin-header-brand img {
        width: 96px;
    }

    .admin-header-brand span {
        font-size: .66rem;
    }

    .admin-main-nav {
        top: 62px;
    }
}

/* =========================================================
   PANEL ADMINISTRATIVO CENTRAL
   ========================================================= */

body.admin-mode {
    background: #f4f6f8;
    color: #172033;
}

.admin-dashboard {
    padding: 38px 0 72px;
}

.admin-dashboard-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 26px;
}

.admin-dashboard-intro {
    max-width: 680px;
}

.admin-dashboard-intro h1 {
    margin: 7px 0 7px;
    color: #111b2b;
    font-size: clamp(2rem, 4vw, 2.75rem);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.admin-dashboard-intro p {
    max-width: 620px;
    margin: 0;
    color: #657084;
    font-size: .98rem;
    line-height: 1.65;
}

.admin-dashboard-primary-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.admin-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}

.admin-metric-card {
    min-width: 0;
    padding: 20px 21px;
    border: 1px solid #e1e5eb;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(15, 31, 52, .045);
}

.admin-metric-card span {
    display: block;
    margin-bottom: 11px;
    color: #6c7688;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.admin-metric-card strong {
    display: block;
    color: #111b2b;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: -.04em;
}

.admin-metric-card small {
    display: block;
    margin-top: 9px;
    color: #818a99;
    font-size: .77rem;
    line-height: 1.4;
}

.admin-dashboard-section,
.admin-dashboard-card {
    border: 1px solid #e1e5eb;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(15, 31, 52, .045);
}

.admin-dashboard-section {
    padding: 23px;
    margin-bottom: 16px;
}

.admin-dashboard-section-heading,
.admin-dashboard-card-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.admin-dashboard-section-heading {
    margin-bottom: 18px;
}

.admin-dashboard-section-heading h2,
.admin-dashboard-card-heading h2 {
    margin: 4px 0 0;
    color: #172033;
    font-size: 1.12rem;
    line-height: 1.25;
    letter-spacing: -.02em;
}

.admin-priority-total {
    color: #7b8492;
    font-size: .78rem;
    font-weight: 650;
}

.admin-priority-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 11px;
}

.admin-priority-card {
    display: flex;
    min-height: 126px;
    flex-direction: column;
    padding: 16px;
    border: 1px solid #e2e6eb;
    border-radius: 11px;
    color: #172033;
    background: #fafbfc;
    text-decoration: none;
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.admin-priority-card:hover {
    transform: translateY(-2px);
    border-color: #bac4d0;
    box-shadow: 0 10px 24px rgba(15, 31, 52, .08);
}

.admin-priority-card > span {
    color: #566174;
    font-size: .77rem;
    font-weight: 700;
}

.admin-priority-card strong {
    margin: auto 0 7px;
    color: #b2212b;
    font-size: 1.65rem;
    line-height: 1;
}

.admin-priority-card small {
    color: #87909d;
    font-size: .72rem;
    line-height: 1.35;
}

.admin-priority-card.is-clear strong {
    color: #25805d;
}

.admin-shortcut-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-bottom: 16px;
}

.admin-shortcut-row a {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 0 12px;
    border: 1px solid #dde2e8;
    border-radius: 999px;
    color: #4d586b;
    background: #fff;
    font-size: .75rem;
    font-weight: 650;
    text-decoration: none;
}

.admin-shortcut-row a:hover {
    color: #172033;
    border-color: #bfc8d3;
}

.admin-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 16px;
}

.admin-dashboard-card {
    min-width: 0;
    padding: 22px;
    scroll-margin-top: 90px;
}

.admin-dashboard-card-heading {
    margin-bottom: 16px;
}

.admin-dashboard-card-heading > a {
    color: #57657a;
    font-size: .76rem;
    font-weight: 700;
    text-decoration: none;
}

.admin-dashboard-card-heading > a:hover {
    color: #142238;
}

.admin-dashboard-posts {
    margin-top: 0;
}

.admin-table-compact {
    margin: 0;
}

.admin-table-compact th {
    padding: 10px 11px;
    color: #7b8493;
    font-size: .67rem;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.admin-table-compact td {
    padding: 12px 11px;
    color: #495468;
    font-size: .78rem;
    vertical-align: middle;
}

.admin-table-compact td strong {
    display: block;
    color: #1a2434;
    font-size: .79rem;
    font-weight: 680;
}

.admin-table-compact td small {
    display: block;
    max-width: 230px;
    margin-top: 3px;
    overflow: hidden;
    color: #8a93a1;
    font-size: .68rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-table-action {
    color: #31577f;
    font-size: .72rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.admin-table-action:hover {
    text-decoration: underline;
}

.admin-dashboard .status-pill {
    padding: 5px 8px;
    font-size: .64rem;
}

@media (max-width: 1120px) {
    .admin-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-priority-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .admin-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .admin-dashboard-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-dashboard-primary-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .admin-dashboard {
        padding-top: 26px;
    }

    .admin-metric-grid,
    .admin-priority-grid {
        grid-template-columns: 1fr;
    }

    .admin-metric-card {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: 4px 16px;
    }

    .admin-metric-card span {
        margin: 0;
    }

    .admin-metric-card strong {
        grid-row: span 2;
        font-size: 1.7rem;
    }

    .admin-metric-card small {
        margin: 0;
    }

    .admin-priority-card {
        min-height: 100px;
    }

    .admin-dashboard-section,
    .admin-dashboard-card {
        padding: 17px;
        border-radius: 12px;
    }

    .admin-dashboard-section-heading,
    .admin-dashboard-card-heading {
        align-items: flex-start;
    }
}

/* =========================================================
   ENLACES Y LISTADOS DE DETALLE
   ========================================================= */

.admin-heading-link {
    color: inherit;
    text-decoration: none;
    transition: color .18s ease;
}

.admin-heading-link::after {
    display: inline-block;
    margin-left: .42em;
    color: #8a94a3;
    content: "↗";
    font-size: .72em;
    font-weight: 700;
    transform: translateY(-.08em);
}

.admin-heading-link:hover {
    color: #31577f;
}

.admin-metric-card span .admin-heading-link {
    color: inherit;
}

.admin-metric-grid-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-metric-grid-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-list-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 8px;
}

.admin-list-toolbar h2 {
    margin: 4px 0 0;
    color: #172033;
    font-size: 1.12rem;
    letter-spacing: -.02em;
}

.admin-filter-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.admin-filter-form input,
.admin-filter-form select {
    min-height: 38px;
    margin: 0;
    padding: 0 11px;
    border: 1px solid #dce2e9;
    border-radius: 8px;
    color: #344055;
    background: #fff;
    font-size: .78rem;
}

.admin-filter-form input {
    width: min(270px, 100%);
}

.admin-list-count {
    margin: 0 0 13px;
    color: #8992a0;
    font-size: .72rem;
}

@media (max-width: 800px) {
    .admin-list-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-filter-form {
        width: 100%;
        justify-content: flex-start;
    }

    .admin-filter-form input {
        flex: 1 1 220px;
    }
}

@media (max-width: 680px) {
    .admin-metric-grid-two,
    .admin-metric-grid-three {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   PERFIL PERSONAL DEL MIEMBRO
   ========================================================= */

.member-profile-section {
    min-height: 620px;
}

.member-profile-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1.18fr)
        minmax(300px, .82fr);
    gap: 18px;
    align-items: start;
}

.member-profile-main,
.member-profile-sidebar {
    display: grid;
    gap: 18px;
}

.member-profile-card {
    padding: 23px;
    border: 1px solid #e0e5eb;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 27px rgba(18, 36, 59, .045);
}

.member-profile-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.member-profile-card-heading h2 {
    margin: 4px 0 0;
    color: #172033;
    font-size: 1.08rem;
    line-height: 1.25;
    letter-spacing: -.02em;
}

.member-profile-intro {
    margin: 0 0 17px;
    color: #737e8e;
    font-size: .8rem;
    line-height: 1.58;
}

.member-profile-form {
    display: grid;
    gap: 14px;
}

.member-profile-form label {
    color: #4f5b6d;
    font-size: .75rem;
    font-weight: 650;
}

.member-profile-form input {
    width: 100%;
    min-height: 42px;
    margin-top: 6px;
    padding: 9px 11px;
    border: 1px solid #d9e0e7;
    border-radius: 8px;
    color: #273348;
    background: #fff;
    font-family: inherit;
    font-size: .8rem;
}

.member-profile-form input:focus {
    border-color: #7f98b3;
    outline: 3px solid rgba(74, 111, 150, .11);
}

.member-profile-form .button {
    width: fit-content;
    margin-top: 2px;
}

.member-profile-details {
    display: grid;
    margin: 0;
}

.member-profile-details > div {
    display: grid;
    grid-template-columns: 125px 1fr;
    gap: 15px;
    padding: 11px 0;
    border-bottom: 1px solid #e8ebef;
}

.member-profile-details > div:last-child {
    border-bottom: 0;
}

.member-profile-details dt {
    color: #808a98;
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.member-profile-details dd {
    margin: 0;
    color: #344055;
    font-size: .79rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.member-profile-note {
    margin: 17px 0 0;
    padding: 13px 14px;
    border-radius: 9px;
    color: #647083;
    background: #f5f7f9;
    font-size: .72rem;
    line-height: 1.5;
}

.member-cancellation-card {
    scroll-margin-top: 92px;
}

.member-cancellation-card .button-danger {
    font-size: .74rem;
}

.member-profile-help {
    margin: 14px 0 0;
    color: #7a8493;
    font-size: .7rem;
    line-height: 1.5;
}

.member-profile-help a {
    color: #31577f;
    font-weight: 650;
}

@media (max-width: 900px) {
    .member-profile-layout {
        grid-template-columns: 1fr;
    }

    .member-profile-sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .member-profile-sidebar {
        grid-template-columns: 1fr;
    }

    .member-profile-card {
        padding: 18px;
    }

    .member-profile-form .button {
        width: 100%;
    }
}

@media (max-width: 460px) {
    .member-profile-details > div {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}

/* =========================================================
   PORTADA PÚBLICA ORIENTADA A LA DECISIÓN
   Instalación: agosto de 2026
   ========================================================= */

.main-nav a {
    position: relative;
}

.main-nav a.is-active:not(.button)::after {
    position: absolute;
    right: 0;
    bottom: -9px;
    left: 0;
    height: 2px;
    border-radius: 999px;
    background: #e23743;
    content: "";
}

.main-nav .nav-exit {
    color: rgba(255, 255, 255, .55);
}

.home-decision-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(
            135deg,
            #07111f 0%,
            #0a1728 54%,
            #101c2d 100%
        );
}

.home-decision-backdrop {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 14% 18%,
            rgba(210, 36, 48, .19),
            transparent 32%
        ),
        radial-gradient(
            circle at 90% 34%,
            rgba(58, 103, 151, .19),
            transparent 34%
        ),
        linear-gradient(
            115deg,
            transparent 0 72%,
            rgba(255, 255, 255, .025) 72%
        );
}

.home-decision-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(390px, .92fr);
    gap: clamp(38px, 6vw, 86px);
    align-items: center;
    min-height: 680px;
    padding-block: clamp(76px, 9vw, 126px);
}

.home-decision-copy h1 {
    max-width: 800px;
    margin: 18px 0 0;
    font-family: "Libre Franklin", sans-serif;
    font-size: clamp(2.85rem, 5.25vw, 5.35rem);
    line-height: .99;
    letter-spacing: -.055em;
}

.home-decision-copy > p {
    max-width: 690px;
    margin: 27px 0 0;
    color: rgba(255, 255, 255, .68);
    font-size: clamp(1rem, 1.45vw, 1.17rem);
    line-height: 1.7;
}

.home-primary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 31px;
}

.home-member-login {
    margin-top: 18px !important;
    font-size: .79rem !important;
}

.home-member-login a {
    color: #fff;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, .32);
    text-underline-offset: 4px;
}

.home-featured-program {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 18px;
    background: rgba(255, 255, 255, .055);
    box-shadow: 0 28px 75px rgba(0, 0, 0, .3);
    backdrop-filter: blur(12px);
}

.home-featured-image {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #02060b;
}

.home-featured-image::after {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            to top,
            rgba(3, 8, 15, .78),
            transparent 52%
        );
    content: "";
}

.home-featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.home-featured-program:hover img {
    transform: scale(1.025);
}

.home-featured-label {
    position: absolute;
    z-index: 2;
    bottom: 17px;
    left: 18px;
    padding: 7px 10px;
    border-radius: 999px;
    color: #fff;
    background: #d92331;
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.home-featured-play {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 10px 35px rgba(0, 0, 0, .28);
    transform: translate(-50%, -50%);
}

.home-featured-play::after {
    position: absolute;
    top: 50%;
    left: 53%;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 14px solid #c91f2d;
    content: "";
    transform: translate(-50%, -50%);
}

.home-featured-body {
    padding: 24px 26px 27px;
}

.home-featured-body time {
    color: #ff747e;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .11em;
}

.home-featured-body h2 {
    margin: 11px 0 16px;
    font-size: clamp(1.17rem, 1.7vw, 1.45rem);
    line-height: 1.28;
    letter-spacing: -.025em;
}

.home-featured-body h2 a:hover {
    text-decoration: underline;
    text-decoration-color: #d92331;
    text-underline-offset: 5px;
}

.home-featured-empty {
    padding: 40px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 18px;
    background: rgba(255, 255, 255, .055);
}

.home-featured-empty h2 {
    margin: 12px 0 25px;
    font-size: clamp(1.7rem, 3vw, 2.7rem);
}

.home-today-section {
    padding: 70px 0 78px;
    background: #f4f6f8;
}

.home-today-heading {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(320px, .65fr);
    gap: 45px;
    align-items: end;
    margin-bottom: 28px;
}

.home-today-heading h2 {
    margin: 7px 0 0;
    color: #172033;
    font-size: clamp(2rem, 3.7vw, 3.35rem);
    line-height: 1.04;
    letter-spacing: -.045em;
}

.home-today-heading > p {
    margin: 0;
    color: #687487;
    font-size: .91rem;
    line-height: 1.65;
}

.home-today-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.home-today-card {
    display: flex;
    flex-direction: column;
    min-height: 245px;
    padding: 24px;
    border: 1px solid #dfe4ea;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(24, 40, 61, .045);
}

.home-today-type {
    color: #ca2633;
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.home-today-card h3 {
    margin: 16px 0 9px;
    color: #1b2638;
    font-size: 1.07rem;
    line-height: 1.34;
    letter-spacing: -.02em;
}

.home-today-card p {
    margin: 0 0 20px;
    color: #727d8c;
    font-size: .77rem;
    line-height: 1.58;
}

.home-today-card > a {
    margin-top: auto;
    color: #274f79;
    font-size: .76rem;
    font-weight: 750;
}

.home-purpose-section {
    color: #fff;
    background: #0a1422;
}

.home-purpose-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr);
    gap: clamp(50px, 8vw, 105px);
    align-items: start;
}

.home-purpose-intro h2 {
    max-width: 710px;
    margin: 15px 0 22px;
    font-size: clamp(2.35rem, 4.25vw, 4.15rem);
    line-height: 1.03;
    letter-spacing: -.048em;
}

.home-purpose-intro p {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, .62);
    font-size: 1rem;
    line-height: 1.72;
}

.home-purpose-points {
    display: grid;
}

.home-purpose-points article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 18px;
    padding: 21px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.home-purpose-points article:first-child {
    padding-top: 0;
}

.home-purpose-points article > span {
    color: #ef5964;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.home-purpose-points h3 {
    margin: 0;
    font-size: 1.05rem;
}

.home-purpose-points p {
    margin: 7px 0 0;
    color: rgba(255, 255, 255, .55);
    font-size: .78rem;
    line-height: 1.55;
}

.home-support-section {
    color: #253146;
    background: #f3f5f7;
}

.home-support-heading {
    max-width: 850px;
    margin-bottom: 33px;
}

.home-support-heading h2 {
    margin: 9px 0 18px;
    font-size: clamp(2.1rem, 4vw, 3.75rem);
    line-height: 1.04;
    letter-spacing: -.046em;
}

.home-support-heading p {
    max-width: 720px;
    margin: 0;
    color: #697586;
    line-height: 1.7;
}

.home-support-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.home-support-card {
    padding: clamp(27px, 4vw, 43px);
    border: 1px solid #dce2e8;
    border-radius: 17px;
    background: #fff;
}

.home-support-card.is-primary {
    color: #fff;
    border-color: #172538;
    background:
        linear-gradient(
            145deg,
            #101d2e,
            #17293e
        );
}

.home-support-kicker {
    color: #c82835;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.home-support-card.is-primary .home-support-kicker {
    color: #ff6e78;
}

.home-support-card h3 {
    max-width: 520px;
    margin: 15px 0 15px;
    font-size: clamp(1.55rem, 2.7vw, 2.45rem);
    line-height: 1.09;
    letter-spacing: -.037em;
}

.home-support-card p {
    max-width: 600px;
    margin: 0 0 27px;
    color: #6e7989;
    line-height: 1.65;
}

.home-support-card.is-primary p {
    color: rgba(255, 255, 255, .65);
}

@media (max-width: 1040px) {
    .home-decision-grid {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .home-featured-program {
        max-width: 780px;
    }

    .home-today-heading,
    .home-purpose-grid {
        grid-template-columns: 1fr;
    }

    .home-today-heading {
        gap: 17px;
    }
}

@media (max-width: 780px) {
    .home-today-grid,
    .home-support-grid {
        grid-template-columns: 1fr;
    }

    .home-today-card {
        min-height: 0;
    }
}

@media (max-width: 600px) {
    .home-decision-grid {
        padding-block: 66px;
    }

    .home-decision-copy h1 {
        font-size: clamp(2.45rem, 12vw, 3.45rem);
    }

    .home-primary-actions {
        display: grid;
    }

    .home-primary-actions .button {
        width: 100%;
    }

    .home-featured-body {
        padding: 20px;
    }

    .home-featured-play {
        width: 52px;
        height: 52px;
    }

    .home-today-section {
        padding: 55px 0;
    }

    .home-purpose-points article {
        grid-template-columns: 38px 1fr;
    }

    .home-support-card .button {
        width: 100%;
    }

    .main-nav a.is-active:not(.button)::after {
        display: none;
    }
}

/* =========================================================
   AJUSTE TIPOGRÁFICO DE PORTADA
   Agosto de 2026
   ========================================================= */

.home-decision-copy h1 {
    max-width: 720px;
    font-size: clamp(2.35rem, 4vw, 4.25rem);
    line-height: 1.035;
    letter-spacing: -.045em;
}

.home-purpose-intro h2 {
    max-width: 620px;
    font-size: clamp(2rem, 3.15vw, 3.2rem);
    line-height: 1.07;
    letter-spacing: -.04em;
}

.home-purpose-intro p {
    max-width: 610px;
}

@media (max-width: 600px) {
    .home-decision-copy h1 {
        font-size: clamp(2.15rem, 10vw, 3rem);
        line-height: 1.04;
    }

    .home-purpose-intro h2 {
        font-size: clamp(1.95rem, 8.5vw, 2.6rem);
        line-height: 1.08;
    }
}

/* =========================================================
   CENTRO PERSONAL DEL MIEMBRO
   Agosto de 2026
   ========================================================= */

.member-dashboard-hero {
    color: #fff;
    background:
        radial-gradient(
            circle at 12% 18%,
            rgba(212, 38, 51, .17),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #07111f,
            #102137
        );
}

.member-dashboard-hero-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(285px, .38fr);
    gap: 55px;
    align-items: end;
    padding-block: 76px;
}

.member-dashboard-hero h1 {
    margin: 12px 0 14px;
    font-size: clamp(2.45rem, 4.4vw, 4.45rem);
    line-height: 1.02;
    letter-spacing: -.05em;
}

.member-dashboard-hero p {
    max-width: 680px;
    margin: 0;
    color: rgba(255, 255, 255, .64);
    font-size: .98rem;
    line-height: 1.68;
}

.member-dashboard-access {
    display: grid;
    gap: 7px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 13px;
    background: rgba(255, 255, 255, .055);
}

.member-dashboard-access > span {
    color: #ff6e78;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.member-dashboard-access strong {
    font-size: 1.28rem;
}

.member-dashboard-access small {
    color: rgba(255, 255, 255, .58);
    font-size: .71rem;
}

.member-dashboard-access a {
    margin-top: 8px;
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
}

.member-dashboard-section,
.member-dashboard-feature-section,
.member-participation-section,
.member-recent-content-section {
    padding: 64px 0;
    background: #f4f6f8;
}

.member-dashboard-feature-section,
.member-recent-content-section {
    border-top: 1px solid #e1e5ea;
    background: #fff;
}

.member-participation-section {
    border-top: 1px solid #e1e5ea;
}

.member-dashboard-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 25px;
}

.member-dashboard-heading h2 {
    margin: 6px 0 0;
    color: #182337;
    font-size: clamp(1.8rem, 3vw, 2.75rem);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.member-dashboard-heading > p {
    max-width: 440px;
    margin: 0;
    color: #778291;
    font-size: .78rem;
    line-height: 1.6;
}

.member-dashboard-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.member-summary-card {
    display: flex;
    flex-direction: column;
    min-height: 245px;
    padding: 22px;
    border: 1px solid #dfe4ea;
    border-radius: 13px;
    color: #243149;
    background: #fff;
    box-shadow: 0 8px 25px rgba(27, 43, 64, .04);
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.member-summary-card:hover {
    border-color: #bbc6d2;
    box-shadow: 0 14px 35px rgba(27, 43, 64, .08);
    transform: translateY(-3px);
}

.member-summary-label {
    color: #c82b38;
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.member-summary-card > strong {
    margin-top: 18px;
    color: #172338;
    font-size: 2.65rem;
    line-height: 1;
    letter-spacing: -.05em;
}

.member-summary-card > strong.is-date {
    font-size: 2.2rem;
}

.member-summary-card > strong.is-plan {
    font-size: 1.32rem;
    line-height: 1.18;
}

.member-summary-card h3 {
    margin: 12px 0 7px;
    font-size: .94rem;
    line-height: 1.3;
}

.member-summary-card p {
    margin: 0 0 18px;
    color: #798493;
    font-size: .72rem;
    line-height: 1.5;
}

.member-summary-link {
    margin-top: auto;
    color: #31577d;
    font-size: .7rem;
    font-weight: 750;
}

.member-dashboard-feature {
    display: grid;
    grid-template-columns:
        minmax(0, 1.1fr)
        minmax(330px, .9fr);
    overflow: hidden;
    border: 1px solid #dce2e8;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(25, 41, 61, .07);
}

.member-dashboard-feature-media {
    position: relative;
    display: block;
    min-height: 390px;
    overflow: hidden;
    background: #091321;
}

.member-dashboard-feature-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.member-dashboard-feature:hover img {
    transform: scale(1.025);
}

.member-dashboard-feature-media
.editorial-placeholder {
    height: 100%;
    min-height: 390px;
}

.member-dashboard-feature-badge {
    position: absolute;
    right: 18px;
    bottom: 18px;
    padding: 7px 10px;
    border-radius: 999px;
    color: #fff;
    background: #cf2634;
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.member-dashboard-feature-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(30px, 5vw, 58px);
}

.member-dashboard-date {
    color: #cb2835;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.member-dashboard-feature-copy h3 {
    margin: 14px 0 17px;
    color: #172338;
    font-size: clamp(1.7rem, 3vw, 2.75rem);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.member-dashboard-feature-copy p {
    margin: 0 0 27px;
    color: #6f7b8b;
    font-size: .84rem;
    line-height: 1.68;
}

.member-dashboard-feature-copy .button {
    width: fit-content;
}

.member-participation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
}

.member-participation-card {
    display: flex;
    flex-direction: column;
    min-height: 245px;
    padding: 24px;
    border: 1px solid #dce2e8;
    border-radius: 13px;
    background: #fff;
}

.member-participation-card > span {
    color: #c82936;
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.member-participation-card h3 {
    margin: 16px 0 10px;
    color: #1c2940;
    font-size: 1.05rem;
    line-height: 1.34;
}

.member-participation-card p {
    margin: 0 0 20px;
    color: #778291;
    font-size: .75rem;
    line-height: 1.58;
}

.member-participation-card > a {
    margin-top: auto;
    color: #31577d;
    font-size: .72rem;
    font-weight: 750;
}

.member-dashboard-empty {
    padding: 30px;
    border: 1px solid #dde3e9;
    border-radius: 13px;
    background: #fff;
}

.member-dashboard-empty h3 {
    margin: 0;
    color: #253149;
}

.member-dashboard-empty p {
    margin: 8px 0 0;
    color: #778291;
}

.member-account-shortcuts {
    padding: 52px 0;
    color: #fff;
    background: #0a1422;
}

.member-account-shortcuts-grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
}

.member-account-shortcuts h2 {
    max-width: 660px;
    margin: 8px 0 0;
    font-size: clamp(1.75rem, 3vw, 2.75rem);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.member-account-shortcut-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.member-account-shortcut-links a {
    padding: 11px 15px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 8px;
    color: #fff;
    background: rgba(255, 255, 255, .045);
    font-size: .72rem;
    font-weight: 700;
}

.member-account-shortcut-links a:hover {
    border-color: rgba(255, 255, 255, .35);
    background: rgba(255, 255, 255, .08);
}

@media (max-width: 1050px) {
    .member-dashboard-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .member-dashboard-feature {
        grid-template-columns: 1fr;
    }

    .member-dashboard-feature-media {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }
}

@media (max-width: 850px) {
    .member-dashboard-hero-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .member-dashboard-access {
        max-width: 520px;
    }

    .member-participation-grid {
        grid-template-columns: 1fr;
    }

    .member-participation-card {
        min-height: 0;
    }

    .member-account-shortcuts-grid {
        align-items: flex-start;
        flex-direction: column;
    }

    .member-account-shortcut-links {
        justify-content: flex-start;
    }
}

@media (max-width: 650px) {
    .member-dashboard-hero-grid {
        padding-block: 58px;
    }

    .member-dashboard-hero h1 {
        font-size: clamp(2.1rem, 10vw, 3rem);
    }

    .member-dashboard-section,
    .member-dashboard-feature-section,
    .member-participation-section,
    .member-recent-content-section {
        padding: 50px 0;
    }

    .member-dashboard-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .member-dashboard-summary {
        grid-template-columns: 1fr;
    }

    .member-summary-card {
        min-height: 205px;
    }

    .member-dashboard-feature-copy {
        padding: 25px 21px;
    }

    .member-dashboard-feature-copy .button {
        width: 100%;
    }

    .member-account-shortcut-links {
        display: grid;
        width: 100%;
    }

    .member-account-shortcut-links a {
        text-align: center;
    }
}

/* =========================================================
   INDICADORES DE ACTIVIDAD EN NAVEGACIÓN PRIVADA
   Agosto de 2026
   ========================================================= */

.main-nav .nav-has-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.nav-notification-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border: 2px solid #0a1626;
    border-radius: 999px;
    color: #fff;
    background: #d92836;
    box-shadow: 0 3px 9px rgba(0, 0, 0, .24);
    font-size: .59rem;
    font-weight: 800;
    line-height: 1;
}

@media (max-width: 900px) {
    .main-nav .nav-has-badge {
        justify-content: space-between;
        width: 100%;
    }

    .nav-notification-badge {
        margin-left: auto;
    }
}

/* =========================================================
   CENTRO DE OPERACIONES ADMINISTRATIVO
   Agosto de 2026
   ========================================================= */

.admin-ops-shell {
    min-height: calc(100vh - 66px);
    padding: 46px 0 70px;
    color: #263247;
    background: #f3f5f7;
}

.admin-ops-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 25px;
}

.admin-ops-hero h1 {
    margin: 6px 0 9px;
    color: #172236;
    font-size: clamp(2rem, 3.4vw, 3.35rem);
    line-height: 1.04;
    letter-spacing: -.045em;
}

.admin-ops-hero p {
    max-width: 680px;
    margin: 0;
    color: #778291;
    font-size: .82rem;
    line-height: 1.6;
}

.admin-ops-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.admin-ops-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
    margin-bottom: 20px;
}

.admin-ops-metrics > a {
    display: grid;
    gap: 7px;
    padding: 20px;
    border: 1px solid #dde3e9;
    border-radius: 12px;
    color: #263247;
    background: #fff;
    box-shadow: 0 7px 22px rgba(24, 39, 59, .035);
}

.admin-ops-metrics span,
.admin-ops-attention-grid > a > span,
.admin-ops-secondary-grid > a > span {
    color: #718093;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.admin-ops-metrics strong {
    color: #172236;
    font-size: 2.25rem;
    line-height: 1;
    letter-spacing: -.045em;
}

.admin-ops-metrics small {
    color: #85909e;
    font-size: .68rem;
}

.admin-ops-attention,
.admin-ops-panel,
.admin-ops-secondary,
.admin-ops-quick-actions {
    border: 1px solid #dce2e8;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 9px 28px rgba(24, 39, 59, .04);
}

.admin-ops-attention {
    padding: 23px;
    margin-bottom: 20px;
}

.admin-ops-section-heading,
.admin-ops-panel-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 18px;
}

.admin-ops-section-heading h2,
.admin-ops-panel-heading h2,
.admin-ops-quick-actions h2 {
    margin: 5px 0 0;
    color: #172236;
    font-size: 1.25rem;
    line-height: 1.2;
    letter-spacing: -.025em;
}

.admin-ops-total {
    padding: 7px 11px;
    border-radius: 999px;
    color: #72541d;
    background: #fff5d9;
    font-size: .67rem;
    font-weight: 750;
}

.admin-ops-attention-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 11px;
}

.admin-ops-attention-grid > a {
    display: flex;
    flex-direction: column;
    min-height: 185px;
    padding: 17px;
    border: 1px solid #e0e5ea;
    border-radius: 11px;
    color: #263247;
    background: #fafbfc;
}

.admin-ops-attention-grid > a.has-pending {
    border-color: #efc2c6;
    background: #fff8f8;
}

.admin-ops-attention-grid > a.is-clear {
    background: #f9fbfa;
}

.admin-ops-attention-grid strong {
    margin-top: 16px;
    color: #c52a37;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: -.045em;
}

.admin-ops-attention-grid .is-clear strong {
    color: #39805b;
}

.admin-ops-attention-grid h3 {
    margin: 10px 0 6px;
    font-size: .82rem;
    line-height: 1.3;
}

.admin-ops-attention-grid p {
    margin: 0;
    color: #7d8897;
    font-size: .67rem;
    line-height: 1.45;
}

.admin-ops-main-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(310px, .65fr);
    gap: 20px;
    margin-bottom: 20px;
}

.admin-ops-panel {
    padding: 23px;
}

.admin-ops-timeline {
    display: grid;
}

.admin-ops-timeline > a {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    padding: 14px 0;
    border-bottom: 1px solid #e7ebef;
    color: #263247;
}

.admin-ops-timeline > a:last-child {
    border-bottom: 0;
}

.admin-ops-timeline-type {
    color: #c52b38;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.admin-ops-timeline h3 {
    margin: 0;
    color: #202c41;
    font-size: .82rem;
    line-height: 1.35;
}

.admin-ops-timeline p {
    margin: 4px 0;
    color: #758192;
    font-size: .69rem;
    line-height: 1.4;
}

.admin-ops-timeline time {
    color: #9aa3ae;
    font-size: .62rem;
}

.admin-ops-state {
    padding: 5px 8px;
    border-radius: 999px;
    color: #5e6978;
    background: #eef1f4;
    font-size: .59rem;
    font-weight: 700;
    white-space: nowrap;
}

.admin-ops-system-list {
    display: grid;
    margin: 0;
}

.admin-ops-system-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 11px 0;
    border-bottom: 1px solid #e7ebef;
}

.admin-ops-system-list > div:last-child {
    border-bottom: 0;
}

.admin-ops-system-list dt {
    color: #697688;
    font-size: .69rem;
}

.admin-ops-system-list dd {
    margin: 0;
    color: #303d52;
    font-size: .69rem;
    font-weight: 750;
    text-align: right;
}

.admin-ops-system-list dd.is-ok {
    color: #347956;
}

.admin-ops-system-list dd.is-warning {
    color: #bd313d;
}

.admin-ops-backup-name {
    margin: 17px 0 0;
    padding: 12px;
    border-radius: 8px;
    color: #748091;
    background: #f4f6f8;
    font-size: .64rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.admin-ops-secondary {
    padding: 23px;
    margin-bottom: 20px;
}

.admin-ops-secondary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.admin-ops-secondary-grid > a {
    padding: 17px;
    border: 1px solid #e1e6eb;
    border-radius: 10px;
    color: #263247;
    background: #fafbfc;
}

.admin-ops-secondary-grid strong {
    display: block;
    margin: 12px 0 7px;
    color: #172236;
    font-size: 1.8rem;
    line-height: 1;
}

.admin-ops-secondary-grid p {
    margin: 0;
    color: #7b8796;
    font-size: .67rem;
    line-height: 1.45;
}

.admin-ops-quick-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    padding: 23px;
}

.admin-ops-quick-actions nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.admin-ops-quick-actions nav a {
    padding: 9px 12px;
    border: 1px solid #d9e0e7;
    border-radius: 7px;
    color: #34445a;
    background: #f8fafb;
    font-size: .67rem;
    font-weight: 700;
}

.admin-ops-quick-actions nav a:hover {
    border-color: #aebac7;
    background: #fff;
}

.admin-ops-empty {
    padding: 24px;
    border-radius: 9px;
    color: #798493;
    background: #f5f7f9;
    font-size: .75rem;
}

@media (max-width: 1120px) {
    .admin-ops-attention-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-ops-metrics,
    .admin-ops-secondary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 850px) {
    .admin-ops-main-grid {
        grid-template-columns: 1fr;
    }

    .admin-ops-hero,
    .admin-ops-quick-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-ops-hero-actions,
    .admin-ops-quick-actions nav {
        justify-content: flex-start;
    }
}

@media (max-width: 620px) {
    .admin-ops-shell {
        padding-top: 32px;
    }

    .admin-ops-metrics,
    .admin-ops-attention-grid,
    .admin-ops-secondary-grid {
        grid-template-columns: 1fr;
    }

    .admin-ops-attention-grid > a {
        min-height: 150px;
    }

    .admin-ops-timeline > a {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .admin-ops-state {
        width: fit-content;
    }

    .admin-ops-hero-actions,
    .admin-ops-hero-actions .button,
    .admin-ops-quick-actions nav,
    .admin-ops-quick-actions nav a {
        width: 100%;
    }

    .admin-ops-quick-actions nav a {
        text-align: center;
    }
}

/* =========================================================
   ENCABEZADOS INTERIORES ADMINISTRATIVOS
   Agosto de 2026
   ========================================================= */

body.admin-mode main {
    min-height: calc(100vh - 64px);
    color: #263247;
    background: #f3f5f7;
}

body.admin-mode .admin-shell {
    min-height: calc(100vh - 64px);
    padding: 0 0 64px;
    color: #263247;
    background: #f3f5f7;
}

body.admin-mode .admin-shell.admin-dashboard {
    display: block;
}

body.admin-mode .admin-dashboard-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 35px;
    min-height: 0;
    padding-top: 40px;
    padding-bottom: 22px;
    color: #172236;
    background: transparent;
}

body.admin-mode .admin-dashboard-intro {
    width: auto;
    max-width: 760px;
}

body.admin-mode .admin-dashboard-intro .eyebrow,
body.admin-mode .admin-interior-hero .eyebrow {
    color: #c92936;
}

body.admin-mode .admin-dashboard-intro h1 {
    max-width: none;
    margin: 6px 0 9px;
    color: #172236;
    font-size: clamp(2rem, 3.15vw, 3.1rem);
    line-height: 1.04;
    letter-spacing: -.042em;
}

body.admin-mode .admin-dashboard-intro p {
    max-width: 720px;
    margin: 0;
    color: #6e7a8b;
    font-size: .82rem;
    line-height: 1.6;
}

body.admin-mode .admin-dashboard-primary-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
    margin: 0;
}

body.admin-mode
.admin-dashboard-primary-actions
.button-light {
    border: 1px solid #d6dde5;
    color: #29384d;
    background: #fff;
    box-shadow: 0 7px 20px rgba(23, 37, 56, .06);
}

body.admin-mode
.admin-dashboard-primary-actions
.button-ghost {
    border-color: #cfd7df;
    color: #34445a;
    background: transparent;
}

body.admin-mode .admin-metric-grid {
    position: static;
    display: grid;
    gap: 14px;
    width: auto;
    max-width: none;
    margin-top: 0;
    margin-bottom: 20px;
    transform: none;
}

body.admin-mode .admin-metric-grid-two {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}

body.admin-mode .admin-metric-grid-three {
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
}

body.admin-mode .admin-metric-card {
    min-height: 128px;
    padding: 20px;
    border: 1px solid #dce2e8;
    border-radius: 12px;
    color: #263247;
    background: #fff;
    box-shadow: 0 7px 22px rgba(24, 39, 59, .035);
}

body.admin-mode .admin-metric-card span {
    color: #748092;
}

body.admin-mode .admin-metric-card strong {
    color: #172236;
}

body.admin-mode .admin-metric-card small {
    color: #818c9b;
}

body.admin-mode .admin-dashboard-card {
    position: static;
    width: auto;
    max-width: none;
    margin-top: 0;
    padding: 23px;
    border: 1px solid #dce2e8;
    border-radius: 14px;
    color: #263247;
    background: #fff;
    box-shadow: 0 9px 28px rgba(24, 39, 59, .04);
    transform: none;
}

body.admin-mode .admin-list-toolbar {
    align-items: flex-end;
}

body.admin-mode .admin-list-toolbar h2 {
    color: #172236;
}

body.admin-mode .admin-list-count {
    color: #87919e;
}

body.admin-mode .admin-filter-form input,
body.admin-mode .admin-filter-form select {
    border-color: #d7dee6;
    color: #263247;
    background: #fff;
}

body.admin-mode .admin-table-wrap {
    width: 100%;
    overflow-x: auto;
}

body.admin-mode .admin-table {
    width: 100%;
    min-width: 850px;
}

body.admin-mode .admin-table th {
    color: #758193;
    border-bottom-color: #e0e5ea;
    background: #f8f9fb;
}

body.admin-mode .admin-table td {
    color: #39465a;
    border-bottom-color: #e7ebef;
}

body.admin-mode .admin-table td small {
    color: #8993a0;
}

body.admin-mode .admin-table a {
    color: #315a83;
}

/*
 * Páginas administrativas que todavía utilizan
 * los encabezados generales heredados.
 */

body.admin-mode .page-hero,
body.admin-mode .compact-page-hero,
body.admin-mode .support-page-hero {
    min-height: 0;
    padding: 40px 0 22px;
    color: #172236;
    background: #f3f5f7;
    text-align: left;
}

body.admin-mode .page-hero h1,
body.admin-mode .compact-page-hero h1,
body.admin-mode .support-page-hero h1 {
    max-width: 850px;
    margin: 6px 0 9px;
    color: #172236;
    font-size: clamp(2rem, 3.15vw, 3.1rem);
    line-height: 1.04;
    letter-spacing: -.042em;
}

body.admin-mode .page-hero p,
body.admin-mode .compact-page-hero p,
body.admin-mode .support-page-hero p {
    max-width: 760px;
    margin: 0;
    color: #6e7a8b;
    font-size: .82rem;
    line-height: 1.6;
}

body.admin-mode .page-hero .eyebrow,
body.admin-mode .compact-page-hero .eyebrow,
body.admin-mode .support-page-hero .eyebrow {
    color: #c92936;
}

body.admin-mode .page-hero .button-ghost,
body.admin-mode .compact-page-hero .button-ghost,
body.admin-mode .support-page-hero .button-ghost {
    border-color: #d4dce4;
    color: #2e3d52;
    background: #fff;
}

@media (max-width: 820px) {
    body.admin-mode .admin-dashboard-hero {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
        padding-top: 32px;
    }

    body.admin-mode .admin-dashboard-primary-actions {
        justify-content: flex-start;
        width: 100%;
    }

    body.admin-mode .admin-metric-grid-three {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    body.admin-mode .admin-metric-grid-two {
        grid-template-columns: 1fr;
    }

    body.admin-mode .admin-dashboard-primary-actions,
    body.admin-mode
    .admin-dashboard-primary-actions
    .button {
        width: 100%;
    }

    body.admin-mode .admin-dashboard-card {
        padding: 18px;
    }

    body.admin-mode .admin-filter-form,
    body.admin-mode .admin-filter-form input,
    body.admin-mode .admin-filter-form select,
    body.admin-mode .admin-filter-form .button {
        width: 100%;
    }
}

/* =========================================================
   ADMINISTRACIÓN CLARA DE ENCUESTAS, BUZÓN Y ENCUENTROS
   Agosto de 2026
   ========================================================= */

body.admin-mode .admin-community-admin-page {
    min-height: calc(100vh - 64px);
    padding: 0 0 64px;
    color: #263247;
    background: #f3f5f7;
}

/* Encabezado interior */

body.admin-mode
.admin-community-admin-page
.admin-topbar {
    position: static;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 35px;
    min-height: 0;
    margin: 0 auto;
    padding-top: 40px;
    padding-bottom: 22px;
    color: #172236;
    background: transparent;
    transform: none;
}

body.admin-mode
.admin-community-admin-page
.admin-topbar > div:first-child {
    max-width: 780px;
}

body.admin-mode
.admin-community-admin-page
.admin-topbar .eyebrow {
    color: #c92936;
}

body.admin-mode
.admin-community-admin-page
.admin-topbar h1 {
    max-width: 900px;
    margin: 6px 0 9px;
    color: #172236;
    font-size: clamp(2rem, 3.15vw, 3.1rem);
    line-height: 1.04;
    letter-spacing: -.042em;
}

body.admin-mode
.admin-community-admin-page
.admin-topbar p {
    max-width: 760px;
    margin: 0;
    color: #6e7a8b;
    font-size: .82rem;
    line-height: 1.6;
}

body.admin-mode
.admin-community-admin-page
.admin-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
    margin: 0;
}

body.admin-mode
.admin-community-admin-page
.admin-actions .button-light {
    border: 1px solid #d6dde5;
    color: #29384d;
    background: #fff;
    box-shadow: 0 7px 20px rgba(23, 37, 56, .07);
}

/* Métricas */

body.admin-mode
.admin-community-admin-page
.admin-stats {
    position: static;
    display: grid;
    gap: 14px;
    width: auto;
    max-width: none;
    margin-top: 0;
    margin-bottom: 20px;
    transform: none;
}

body.admin-mode
.admin-community-admin-page
.admin-stats-four {
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
}

body.admin-mode
.admin-community-admin-page
.admin-stats article {
    min-height: 124px;
    padding: 20px;
    border: 1px solid #dce2e8;
    border-radius: 12px;
    color: #263247;
    background: #fff;
    box-shadow: 0 7px 22px rgba(24, 39, 59, .035);
}

body.admin-mode
.admin-community-admin-page
.admin-stats span {
    display: block;
    color: #748092;
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .05em;
}

body.admin-mode
.admin-community-admin-page
.admin-stats strong {
    display: block;
    margin-top: 13px;
    color: #172236;
    font-size: 2.15rem;
    line-height: 1;
    letter-spacing: -.045em;
}

/* Tarjetas principales */

body.admin-mode
.admin-community-admin-page
.admin-section-card {
    position: static;
    width: auto;
    max-width: none;
    margin-top: 0;
    margin-bottom: 20px;
    padding: 23px;
    border: 1px solid #dce2e8;
    border-radius: 14px;
    color: #263247;
    background: #fff;
    box-shadow: 0 9px 28px rgba(24, 39, 59, .04);
    transform: none;
}

body.admin-mode
.admin-community-admin-page
.admin-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 18px;
}

body.admin-mode
.admin-community-admin-page
.admin-section-heading h2 {
    margin: 5px 0 0;
    color: #172236;
    font-size: 1.25rem;
    line-height: 1.22;
    letter-spacing: -.025em;
}

body.admin-mode
.admin-community-admin-page
.admin-section-heading p {
    margin: 7px 0 0;
    color: #778291;
    font-size: .74rem;
    line-height: 1.55;
}

/* Formularios de encuestas y encuentros */

body.admin-mode
.admin-community-admin-page
.community-admin-poll-form,
body.admin-mode
.admin-community-admin-page
.community-admin-event-form {
    color: #263247;
}

body.admin-mode
.admin-community-admin-page
.community-admin-poll-form label,
body.admin-mode
.admin-community-admin-page
.community-admin-event-form label,
body.admin-mode
.admin-community-admin-page
.community-admin-submission-note label {
    color: #4f5d70;
    font-size: .72rem;
    font-weight: 700;
}

body.admin-mode
.admin-community-admin-page
.community-admin-poll-form input,
body.admin-mode
.admin-community-admin-page
.community-admin-poll-form select,
body.admin-mode
.admin-community-admin-page
.community-admin-poll-form textarea,
body.admin-mode
.admin-community-admin-page
.community-admin-event-form input,
body.admin-mode
.admin-community-admin-page
.community-admin-event-form select,
body.admin-mode
.admin-community-admin-page
.community-admin-event-form textarea,
body.admin-mode
.admin-community-admin-page
.community-admin-submission-note textarea {
    border: 1px solid #d6dde5;
    color: #263247;
    background: #fff;
    box-shadow: none;
}

body.admin-mode
.admin-community-admin-page
.community-admin-poll-form input::placeholder,
body.admin-mode
.admin-community-admin-page
.community-admin-poll-form textarea::placeholder,
body.admin-mode
.admin-community-admin-page
.community-admin-event-form input::placeholder,
body.admin-mode
.admin-community-admin-page
.community-admin-event-form textarea::placeholder {
    color: #9aa3af;
}

body.admin-mode
.admin-community-admin-page
.community-admin-poll-form input:focus,
body.admin-mode
.admin-community-admin-page
.community-admin-poll-form select:focus,
body.admin-mode
.admin-community-admin-page
.community-admin-poll-form textarea:focus,
body.admin-mode
.admin-community-admin-page
.community-admin-event-form input:focus,
body.admin-mode
.admin-community-admin-page
.community-admin-event-form select:focus,
body.admin-mode
.admin-community-admin-page
.community-admin-event-form textarea:focus,
body.admin-mode
.admin-community-admin-page
.community-admin-submission-note textarea:focus {
    border-color: #7c96b2;
    outline: 3px solid rgba(71, 108, 148, .1);
}

body.admin-mode
.admin-community-admin-page
.community-admin-poll-form select option,
body.admin-mode
.admin-community-admin-page
.community-admin-event-form select option {
    color: #263247;
    background: #fff;
}

body.admin-mode
.admin-community-admin-page
.community-admin-poll-form small,
body.admin-mode
.admin-community-admin-page
.community-admin-event-form small {
    color: #84909f;
}

/* Acciones de creación */

body.admin-mode
.admin-community-admin-page
.community-admin-poll-create-actions,
body.admin-mode
.admin-community-admin-page
.community-admin-event-actions {
    border-top-color: #e3e7eb;
}

body.admin-mode
.admin-community-admin-page
.button-light {
    border-color: #d7dee5;
    color: #2d3c51;
    background: #fff;
}

body.admin-mode
.admin-community-admin-page
.button-dark {
    border-color: #172538;
    color: #fff;
    background: #172538;
}

body.admin-mode
.admin-community-admin-page
.button-primary {
    color: #fff;
}

/* Tarjetas de encuestas, encuentros y buzón */

body.admin-mode
.admin-community-admin-page
.community-admin-poll-card,
body.admin-mode
.admin-community-admin-page
.community-admin-event-card,
body.admin-mode
.admin-community-admin-page
.community-admin-submission-list > article {
    border: 1px solid #dfe4e9;
    color: #263247;
    background: #fafbfc;
    box-shadow: none;
}

body.admin-mode
.admin-community-admin-page
.community-admin-poll-card-header,
body.admin-mode
.admin-community-admin-page
.community-admin-event-header,
body.admin-mode
.admin-community-admin-page
.community-admin-submission-header {
    border-bottom-color: #e3e7eb;
}

body.admin-mode
.admin-community-admin-page
.community-admin-poll-card h3,
body.admin-mode
.admin-community-admin-page
.community-admin-event-card h3,
body.admin-mode
.admin-community-admin-page
.community-admin-submission-header h3 {
    color: #1d2a40;
}

body.admin-mode
.admin-community-admin-page
.community-admin-poll-card p,
body.admin-mode
.admin-community-admin-page
.community-admin-event-card p,
body.admin-mode
.admin-community-admin-page
.community-admin-submission-body,
body.admin-mode
.admin-community-admin-page
.community-admin-submission-meta {
    color: #707d8e;
}

body.admin-mode
.admin-community-admin-page
.community-admin-source-link,
body.admin-mode
.admin-community-admin-page
.community-admin-event-link {
    color: #315b84;
}

body.admin-mode
.admin-community-admin-page
.community-admin-actions {
    border-top-color: #e3e7eb;
}

/* Resultados de encuestas */

body.admin-mode
.admin-community-admin-page
.community-admin-poll-results {
    border-color: #dfe4e9;
    background: #fff;
}

body.admin-mode
.admin-community-admin-page
.community-admin-poll-results strong,
body.admin-mode
.admin-community-admin-page
.community-admin-poll-results span {
    color: #344258;
}

/* Estados vacíos */

body.admin-mode
.admin-community-admin-page
.empty-state {
    border: 1px solid #e0e5ea;
    color: #6f7b8b;
    background: #f7f9fa;
}

body.admin-mode
.admin-community-admin-page
.empty-state h3 {
    color: #253149;
}

body.admin-mode
.admin-community-admin-page
.empty-state p {
    color: #778291;
}

/* Adaptación */

@media (max-width: 980px) {
    body.admin-mode
    .admin-community-admin-page
    .admin-stats-four {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body.admin-mode
    .admin-community-admin-page
    .admin-topbar {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
        padding-top: 32px;
    }

    body.admin-mode
    .admin-community-admin-page
    .admin-actions {
        justify-content: flex-start;
        width: 100%;
    }

    body.admin-mode
    .admin-community-admin-page
    .admin-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 580px) {
    body.admin-mode
    .admin-community-admin-page
    .admin-stats-four {
        grid-template-columns: 1fr;
    }

    body.admin-mode
    .admin-community-admin-page
    .admin-actions,
    body.admin-mode
    .admin-community-admin-page
    .admin-actions .button,
    body.admin-mode
    .admin-community-admin-page
    .community-admin-poll-create-actions .button,
    body.admin-mode
    .admin-community-admin-page
    .community-admin-event-actions .button {
        width: 100%;
    }

    body.admin-mode
    .admin-community-admin-page
    .admin-section-card {
        padding: 18px;
    }
}

/* =========================================================
   NORMALIZACIÓN GLOBAL DE PÁGINAS ADMINISTRATIVAS
   Agosto de 2026
   ========================================================= */

body.admin-mode .admin-unified-interior-page {
    min-height: calc(100vh - 64px);
    padding: 0 0 64px;
    color: #263247;
    background: #f3f5f7;
}

/* Encabezado común */

body.admin-mode
.admin-unified-interior-page
.admin-topbar {
    position: static;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 36px;
    min-height: 0;
    margin: 0 auto;
    padding-top: 40px;
    padding-bottom: 22px;
    color: #172236;
    background: transparent;
    transform: none;
}

body.admin-mode
.admin-unified-interior-page
.admin-topbar > div:first-child {
    width: auto;
    max-width: 820px;
}

body.admin-mode
.admin-unified-interior-page
.admin-topbar .eyebrow {
    color: #c92936;
}

body.admin-mode
.admin-unified-interior-page
.admin-topbar h1 {
    max-width: 920px;
    margin: 6px 0 9px;
    color: #172236;
    font-size: clamp(2rem, 3.15vw, 3.1rem);
    line-height: 1.04;
    letter-spacing: -.042em;
}

body.admin-mode
.admin-unified-interior-page
.admin-topbar p {
    max-width: 760px;
    margin: 0;
    color: #6e7a8b;
    font-size: .82rem;
    line-height: 1.6;
}

body.admin-mode
.admin-unified-interior-page
.admin-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
    margin: 0;
}

/* Estadísticas */

body.admin-mode
.admin-unified-interior-page
.admin-stats {
    position: static;
    display: grid;
    gap: 14px;
    width: auto;
    max-width: none;
    margin-top: 0;
    margin-bottom: 20px;
    transform: none;
}

body.admin-mode
.admin-unified-interior-page
.admin-stats-four {
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
}

body.admin-mode
.admin-unified-interior-page
.admin-stats article {
    min-height: 124px;
    padding: 20px;
    border: 1px solid #dce2e8;
    border-radius: 12px;
    color: #263247;
    background: #fff;
    box-shadow: 0 7px 22px rgba(24, 39, 59, .035);
}

body.admin-mode
.admin-unified-interior-page
.admin-stats span {
    display: block;
    color: #748092;
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .05em;
}

body.admin-mode
.admin-unified-interior-page
.admin-stats strong {
    display: block;
    margin-top: 13px;
    color: #172236;
    font-size: 2.15rem;
    line-height: 1;
    letter-spacing: -.045em;
}

/* Tarjetas y secciones */

body.admin-mode
.admin-unified-interior-page
.admin-section-card,
body.admin-mode
.admin-unified-interior-page
.admin-detail-card,
body.admin-mode
.admin-unified-interior-page
.admin-editor-card {
    position: static;
    width: auto;
    max-width: none;
    margin-top: 0;
    margin-bottom: 20px;
    padding: 23px;
    border: 1px solid #dce2e8;
    border-radius: 14px;
    color: #263247;
    background: #fff;
    box-shadow: 0 9px 28px rgba(24, 39, 59, .04);
    transform: none;
}

body.admin-mode
.admin-unified-interior-page
.admin-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 18px;
}

body.admin-mode
.admin-unified-interior-page
.admin-section-heading h2,
body.admin-mode
.admin-unified-interior-page
.admin-section-card h2 {
    color: #172236;
}

body.admin-mode
.admin-unified-interior-page
.admin-section-heading p,
body.admin-mode
.admin-unified-interior-page
.admin-section-card > p {
    color: #778291;
}

/* Formularios */

body.admin-mode
.admin-unified-interior-page
form label,
body.admin-mode
.admin-unified-interior-page
fieldset label {
    color: #4e5c70;
    font-size: .72rem;
    font-weight: 700;
}

body.admin-mode
.admin-unified-interior-page
fieldset {
    border-color: #dce2e8;
}

body.admin-mode
.admin-unified-interior-page
legend {
    color: #2b394f;
    font-weight: 750;
}

body.admin-mode
.admin-unified-interior-page
form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.admin-mode
.admin-unified-interior-page
form select,
body.admin-mode
.admin-unified-interior-page
form textarea {
    border: 1px solid #d6dde5;
    color: #263247;
    background: #fff;
    box-shadow: none;
}

body.admin-mode
.admin-unified-interior-page
form input::placeholder,
body.admin-mode
.admin-unified-interior-page
form textarea::placeholder {
    color: #9aa3af;
}

body.admin-mode
.admin-unified-interior-page
form input:not([type="checkbox"]):not([type="radio"]):focus,
body.admin-mode
.admin-unified-interior-page
form select:focus,
body.admin-mode
.admin-unified-interior-page
form textarea:focus {
    border-color: #7892af;
    outline: 3px solid rgba(70, 108, 149, .1);
}

body.admin-mode
.admin-unified-interior-page
form select option {
    color: #263247;
    background: #fff;
}

body.admin-mode
.admin-unified-interior-page
form small,
body.admin-mode
.admin-unified-interior-page
.form-help,
body.admin-mode
.admin-unified-interior-page
.dialog-help {
    color: #818d9d;
}

/* Botones interiores */

body.admin-mode
.admin-unified-interior-page
.button-light {
    border-color: #d6dde5;
    color: #2d3c51;
    background: #fff;
    box-shadow: 0 7px 20px rgba(23, 37, 56, .06);
}

body.admin-mode
.admin-unified-interior-page
.button-ghost {
    border-color: #cfd7df;
    color: #34445a;
    background: transparent;
}

body.admin-mode
.admin-unified-interior-page
.button-dark {
    border-color: #172538;
    color: #fff;
    background: #172538;
}

body.admin-mode
.admin-unified-interior-page
.button-primary {
    color: #fff;
}

/* Filtros */

body.admin-mode
.admin-unified-interior-page
.admin-filter-row {
    color: #4f5c6f;
}

body.admin-mode
.admin-unified-interior-page
.admin-filter-row a {
    border-color: #d4dce4;
    color: #586679;
    background: #fff;
}

body.admin-mode
.admin-unified-interior-page
.admin-filter-row a.is-active {
    border-color: #ce3541;
    color: #b92734;
    background: #fff1f2;
}

/* Tablas */

body.admin-mode
.admin-unified-interior-page
.admin-table-wrap {
    width: 100%;
    overflow-x: auto;
}

body.admin-mode
.admin-unified-interior-page
.admin-table,
body.admin-mode
.admin-unified-interior-page
.community-admin-table,
body.admin-mode
.admin-unified-interior-page
.community-question-admin-table,
body.admin-mode
.admin-unified-interior-page
.support-admin-table {
    width: 100%;
    color: #39465a;
    background: #fff;
}

body.admin-mode
.admin-unified-interior-page
.admin-table th,
body.admin-mode
.admin-unified-interior-page
.community-admin-table th,
body.admin-mode
.admin-unified-interior-page
.community-question-admin-table th,
body.admin-mode
.admin-unified-interior-page
.support-admin-table th {
    color: #758193;
    border-bottom-color: #dfe4e9;
    background: #f7f9fa;
}

body.admin-mode
.admin-unified-interior-page
.admin-table td,
body.admin-mode
.admin-unified-interior-page
.community-admin-table td,
body.admin-mode
.admin-unified-interior-page
.community-question-admin-table td,
body.admin-mode
.admin-unified-interior-page
.support-admin-table td {
    color: #39465a;
    border-bottom-color: #e5e9ed;
}

body.admin-mode
.admin-unified-interior-page
.admin-table td small,
body.admin-mode
.admin-unified-interior-page
.community-admin-table small,
body.admin-mode
.admin-unified-interior-page
.community-question-admin-table small,
body.admin-mode
.admin-unified-interior-page
.support-admin-table small {
    color: #8792a0;
}

body.admin-mode
.admin-unified-interior-page
.admin-table a,
body.admin-mode
.admin-unified-interior-page
.community-admin-table a,
body.admin-mode
.admin-unified-interior-page
.community-question-admin-table a,
body.admin-mode
.admin-unified-interior-page
.support-admin-table a {
    color: #315b84;
}

/* Tarjetas de comunidad */

body.admin-mode
.admin-unified-interior-page
.community-admin-poll-card,
body.admin-mode
.admin-unified-interior-page
.community-admin-event-card,
body.admin-mode
.admin-unified-interior-page
.community-admin-submission-list > article,
body.admin-mode
.admin-unified-interior-page
.community-question-admin-card,
body.admin-mode
.admin-unified-interior-page
.community-admin-reported-row {
    border-color: #dfe4e9;
    color: #263247;
    background: #fafbfc;
}

body.admin-mode
.admin-unified-interior-page
.community-admin-poll-card h3,
body.admin-mode
.admin-unified-interior-page
.community-admin-event-card h3,
body.admin-mode
.admin-unified-interior-page
.community-admin-submission-list h3,
body.admin-mode
.admin-unified-interior-page
.community-question-admin-card h3 {
    color: #1d2a40;
}

body.admin-mode
.admin-unified-interior-page
.community-admin-actions {
    border-top-color: #e1e6eb;
}

/* Editor de publicaciones */

body.admin-mode
.admin-unified-interior-page
.admin-form-grid,
body.admin-mode
.admin-unified-interior-page
.admin-editor-grid {
    color: #263247;
}

body.admin-mode
.admin-unified-interior-page
.admin-editor,
body.admin-mode
.admin-unified-interior-page
.editor-panel,
body.admin-mode
.admin-unified-interior-page
.editor-sidebar {
    border-color: #dce2e8;
    color: #263247;
    background: #fff;
}

body.admin-mode
.admin-unified-interior-page
.editor-toolbar {
    border-color: #dce2e8;
    background: #f6f8fa;
}

body.admin-mode
.admin-unified-interior-page
.editor-toolbar button {
    border-color: #d3dbe3;
    color: #34445a;
    background: #fff;
}

/* Estados vacíos */

body.admin-mode
.admin-unified-interior-page
.empty-state {
    border: 1px solid #dfe4e9;
    color: #6f7b8b;
    background: #f7f9fa;
}

body.admin-mode
.admin-unified-interior-page
.empty-state h3 {
    color: #253149;
}

body.admin-mode
.admin-unified-interior-page
.empty-state p {
    color: #778291;
}

/* Diseño adaptable */

@media (max-width: 980px) {
    body.admin-mode
    .admin-unified-interior-page
    .admin-stats-four {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body.admin-mode
    .admin-unified-interior-page
    .admin-topbar {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
        padding-top: 32px;
    }

    body.admin-mode
    .admin-unified-interior-page
    .admin-actions {
        justify-content: flex-start;
        width: 100%;
    }

    body.admin-mode
    .admin-unified-interior-page
    .admin-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 580px) {
    body.admin-mode
    .admin-unified-interior-page
    .admin-stats-four {
        grid-template-columns: 1fr;
    }

    body.admin-mode
    .admin-unified-interior-page
    .admin-actions,
    body.admin-mode
    .admin-unified-interior-page
    .admin-actions .button,
    body.admin-mode
    .admin-unified-interior-page
    form .button {
        width: 100%;
    }

    body.admin-mode
    .admin-unified-interior-page
    .admin-section-card {
        padding: 18px;
    }
}

/* =========================================================
   DETALLE COMPLETO DE PREGUNTAS COMUNITARIAS
   Agosto de 2026
   ========================================================= */

body.admin-mode
.community-question-admin-table
th:nth-child(1) {
    width: 34%;
}

body.admin-mode
.community-question-admin-table
th:nth-child(2) {
    width: 14%;
}

body.admin-mode
.community-question-admin-table
th:nth-child(3) {
    width: 10%;
}

body.admin-mode
.community-question-admin-table
th:nth-child(4) {
    width: 8%;
}

body.admin-mode
.community-question-admin-table
th:nth-child(5) {
    width: 34%;
}

body.admin-mode
.community-admin-question-cell {
    min-width: 340px;
    vertical-align: top;
}

body.admin-mode
.community-admin-question-title {
    display: block;
    margin-bottom: 14px;
    color: #172236;
    font-size: .9rem;
    line-height: 1.4;
}

body.admin-mode
.community-admin-question-detail {
    margin-bottom: 13px;
    padding: 14px 15px;
    border: 1px solid #dce3e9;
    border-left: 3px solid #c92936;
    border-radius: 8px;
    color: #37455a;
    background: #f8fafb;
}

body.admin-mode
.community-admin-question-detail > span {
    display: block;
    margin-bottom: 8px;
    color: #bd2936;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .1em;
}

body.admin-mode
.community-admin-question-body {
    color: #435166;
    font-size: .76rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
    white-space: normal;
}

body.admin-mode
.community-admin-question-body em {
    color: #84909f;
}

body.admin-mode
.community-admin-question-date {
    display: block;
    color: #8994a2;
    font-size: .63rem;
}

body.admin-mode
.community-admin-answer-form textarea {
    min-height: 145px;
}

@media (max-width: 900px) {
    body.admin-mode
    .community-question-admin-table {
        min-width: 1050px;
    }
}

/* =========================================================
   BIBLIOTECA PRIVADA DE MIEMBROS
   Agosto de 2026
   ========================================================= */

.member-library-hero {
    color: #fff;
    background:
        radial-gradient(
            circle at 12% 20%,
            rgba(210, 38, 51, .17),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #07111f,
            #102137
        );
}

.member-library-hero-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(300px, .42fr);
    gap: 55px;
    align-items: end;
    padding-block: 72px;
}

.member-library-hero h1 {
    margin: 10px 0 14px;
    font-size: clamp(2.4rem, 4.4vw, 4.4rem);
    line-height: 1.02;
    letter-spacing: -.05em;
}

.member-library-hero p {
    max-width: 680px;
    margin: 0;
    color: rgba(255, 255, 255, .64);
    line-height: 1.68;
}

.member-library-summary {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.member-library-summary > div {
    padding: 19px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 11px;
    background: rgba(255, 255, 255, .055);
}

.member-library-summary span {
    display: block;
    color: rgba(255, 255, 255, .57);
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.member-library-summary strong {
    display: block;
    margin-top: 9px;
    font-size: 2rem;
    line-height: 1;
}

.member-library-section {
    min-height: 600px;
    padding: 56px 0 70px;
    background: #f3f5f7;
}

.member-library-filters {
    display: grid;
    grid-template-columns:
        minmax(240px, 1.5fr)
        repeat(4, minmax(140px, .7fr))
        auto;
    gap: 12px;
    align-items: end;
    padding: 20px;
    border: 1px solid #dce2e8;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 8px 25px rgba(25, 41, 61, .04);
}

.member-library-filters label {
    color: #526074;
    font-size: .67rem;
    font-weight: 700;
}

.member-library-filters input,
.member-library-filters select {
    width: 100%;
    min-height: 40px;
    margin-top: 6px;
    padding: 8px 10px;
    border: 1px solid #d6dde5;
    border-radius: 7px;
    color: #29364b;
    background: #fff;
    font: inherit;
    font-size: .74rem;
}

.member-library-filters input:focus,
.member-library-filters select:focus {
    border-color: #7892af;
    outline: 3px solid rgba(70, 108, 149, .1);
}

.member-library-filter-actions {
    display: flex;
    gap: 8px;
}

.member-library-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 25px;
    margin: 34px 0 22px;
}

.member-library-heading h2 {
    margin: 5px 0 0;
    color: #172236;
    font-size: clamp(1.65rem, 2.7vw, 2.45rem);
    line-height: 1.1;
    letter-spacing: -.035em;
}

.member-library-heading > span {
    color: #7d8897;
    font-size: .7rem;
}

.member-library-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.member-library-card {
    overflow: hidden;
    border: 1px solid #dce2e8;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 27px rgba(25, 41, 61, .045);
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.member-library-card:hover {
    box-shadow: 0 15px 38px rgba(25, 41, 61, .09);
    transform: translateY(-3px);
}

.member-library-card.is-locked {
    opacity: .82;
}

.member-library-media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #091321;
}

.member-library-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.member-library-card:hover
.member-library-media img {
    transform: scale(1.025);
}

.member-library-media
.editorial-placeholder {
    height: 100%;
}

.member-library-type {
    position: absolute;
    top: 13px;
    left: 13px;
    padding: 6px 8px;
    border-radius: 999px;
    color: #fff;
    background: rgba(7, 17, 31, .86);
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.member-library-lock {
    position: absolute;
    right: 13px;
    bottom: 13px;
    left: 13px;
    padding: 8px 10px;
    border-radius: 7px;
    color: #fff;
    background: rgba(7, 17, 31, .9);
    font-size: .63rem;
    font-weight: 750;
    text-align: center;
}

.member-library-card-body {
    display: flex;
    flex-direction: column;
    min-height: 235px;
    padding: 21px;
}

.member-library-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 13px;
    color: #87919e;
    font-size: .61rem;
}

.member-library-card-meta time {
    color: #c72a37;
    font-weight: 800;
    letter-spacing: .08em;
}

.member-library-card-meta span {
    padding: 4px 7px;
    border-radius: 999px;
    color: #566477;
    background: #f0f3f5;
    font-weight: 700;
}

.member-library-card h3 {
    margin: 13px 0 9px;
    color: #1c2940;
    font-size: 1.04rem;
    line-height: 1.35;
    letter-spacing: -.02em;
}

.member-library-card p {
    margin: 0 0 18px;
    color: #748091;
    font-size: .74rem;
    line-height: 1.58;
}

.member-library-card
.text-link {
    margin-top: auto;
}

.member-library-empty {
    padding: 40px;
    border: 1px solid #dce2e8;
    border-radius: 13px;
    color: #6f7b8b;
    background: #fff;
    text-align: center;
}

.member-library-empty h3 {
    margin: 0;
    color: #253149;
}

.member-library-empty p {
    margin: 9px 0 22px;
}

.member-library-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 31px;
}

.member-library-pagination > a,
.member-library-pagination div a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border: 1px solid #d5dde5;
    border-radius: 7px;
    color: #34445a;
    background: #fff;
    font-size: .69rem;
    font-weight: 700;
}

.member-library-pagination div {
    display: flex;
    gap: 6px;
}

.member-library-pagination
a.is-current {
    border-color: #c92936;
    color: #fff;
    background: #c92936;
}

@media (max-width: 1120px) {
    .member-library-filters {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .member-library-search {
        grid-column: 1 / -1;
    }

    .member-library-filter-actions {
        align-self: end;
    }
}

@media (max-width: 900px) {
    .member-library-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .member-library-hero-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .member-library-summary {
        max-width: 520px;
    }
}

@media (max-width: 620px) {
    .member-library-hero-grid {
        padding-block: 56px;
    }

    .member-library-hero h1 {
        font-size: clamp(2.15rem, 10vw, 3rem);
    }

    .member-library-filters,
    .member-library-grid {
        grid-template-columns: 1fr;
    }

    .member-library-filter-actions,
    .member-library-filter-actions .button {
        width: 100%;
    }

    .member-library-filter-actions {
        display: grid;
    }

    .member-library-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .member-library-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .member-library-pagination > a {
        width: 100%;
    }

    .member-library-pagination div {
        justify-content: center;
        flex-wrap: wrap;
    }
}

/* =========================================================
   BÚSQUEDA GLOBAL ADMINISTRATIVA
   Agosto de 2026
   ========================================================= */

/* Buscador compacto del encabezado */

.admin-nav-search {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: 3px;
}

.admin-nav-search input {
    width: 136px;
    height: 33px;
    padding: 6px 9px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 6px;
    color: #fff;
    background: rgba(255, 255, 255, .055);
    font: inherit;
    font-size: .67rem;
    transition:
        width .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.admin-nav-search input::placeholder {
    color: rgba(255, 255, 255, .48);
}

.admin-nav-search input:focus {
    width: 172px;
    border-color: rgba(255, 255, 255, .34);
    outline: none;
    background: rgba(255, 255, 255, .09);
}

.admin-nav-search button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 33px;
    height: 33px;
    padding: 0 8px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 6px;
    color: rgba(255, 255, 255, .78);
    background: transparent;
    font: inherit;
    font-size: .62rem;
    font-weight: 750;
    cursor: pointer;
}

.admin-nav-search button:hover,
.admin-nav-search.is-active button {
    border-color: rgba(255, 255, 255, .32);
    color: #fff;
    background: rgba(255, 255, 255, .08);
}

/* Formulario principal */

.admin-search-form-card {
    margin-bottom: 26px;
}

.admin-global-search-form {
    display: grid;
    grid-template-columns:
        minmax(280px, 1fr)
        minmax(170px, .28fr)
        auto;
    gap: 12px;
    align-items: end;
}

.admin-global-search-form label {
    color: #4f5d70;
    font-size: .7rem;
    font-weight: 700;
}

.admin-global-search-form input,
.admin-global-search-form select {
    width: 100%;
    min-height: 44px;
    margin-top: 7px;
    padding: 9px 11px;
    border: 1px solid #d5dde5;
    border-radius: 7px;
    color: #263247;
    background: #fff;
    font: inherit;
    font-size: .77rem;
}

.admin-global-search-form input:focus,
.admin-global-search-form select:focus {
    border-color: #7892af;
    outline: 3px solid rgba(70, 108, 149, .1);
}

.admin-search-help {
    margin: 12px 0 0;
    color: #87919e;
    font-size: .65rem;
}

/* Presentación inicial y resumen */

.admin-search-start {
    max-width: 720px;
    padding: 18px 0;
}

.admin-search-start > span {
    color: #c92936;
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .11em;
}

.admin-search-start h2,
.admin-search-summary h2 {
    margin: 7px 0 10px;
    color: #172236;
    font-size: clamp(1.65rem, 2.7vw, 2.45rem);
    line-height: 1.1;
    letter-spacing: -.035em;
}

.admin-search-start p {
    margin: 0;
    color: #748092;
    font-size: .8rem;
    line-height: 1.65;
}

.admin-search-summary {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
}

.admin-search-summary p {
    margin: 0 0 4px;
    color: #7a8594;
    font-size: .72rem;
}

/* Grupos y resultados */

.admin-search-results {
    display: grid;
    gap: 20px;
}

.admin-search-group {
    overflow: hidden;
    border: 1px solid #dce2e8;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 9px 28px rgba(24, 39, 59, .04);
}

.admin-search-group-header {
    padding: 14px 18px;
    border-bottom: 1px solid #e1e6eb;
    background: #f7f9fa;
}

.admin-search-group-header > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.admin-search-group-header span {
    color: #28364b;
    font-size: .71rem;
    font-weight: 800;
    letter-spacing: .03em;
}

.admin-search-group-header strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 27px;
    height: 27px;
    padding: 0 8px;
    border-radius: 999px;
    color: #fff;
    background: #263850;
    font-size: .65rem;
}

.admin-search-result-list {
    display: grid;
}

.admin-search-result {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;
    gap: 24px;
    align-items: center;
    padding: 18px;
    border-bottom: 1px solid #e7ebef;
}

.admin-search-result:last-child {
    border-bottom: 0;
}

.admin-search-result:hover {
    background: #fbfcfd;
}

.admin-search-result-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}

.admin-search-result h3 {
    margin: 0;
    color: #1d2a40;
    font-size: .91rem;
    line-height: 1.35;
    letter-spacing: -.015em;
}

.admin-search-result-subtitle {
    margin: 5px 0 0;
    color: #5e6b7e;
    font-size: .68rem;
    font-weight: 650;
}

.admin-search-result-description {
    max-width: 850px;
    margin: 8px 0 0;
    color: #778291;
    font-size: .71rem;
    line-height: 1.55;
}

.admin-search-result small {
    display: block;
    margin-top: 9px;
    color: #919aa6;
    font-size: .6rem;
}

.admin-search-result-action {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
    color: #315b84;
    font-size: .69rem;
    font-weight: 750;
}

.admin-search-result-action:hover {
    color: #c52c38;
}

.admin-search-result-action span {
    transition: transform .18s ease;
}

.admin-search-result-action:hover span {
    transform: translateX(3px);
}

/* Estados adicionales */

.admin-search-page .status-draft,
.admin-search-page .status-neutral {
    color: #5d6876;
    background: #edf0f3;
}

.admin-search-page .status-answered,
.admin-search-page .status-approved,
.admin-search-page .status-paid,
.admin-search-page .status-sent {
    color: #216547;
    background: #e5f5ec;
}

.admin-search-page .status-pending,
.admin-search-page .status-reported,
.admin-search-page .status-reviewing,
.admin-search-page .status-scheduled {
    color: #825c18;
    background: #fff2d5;
}

.admin-search-page .status-error,
.admin-search-page .status-failed,
.admin-search-page .status-rejected {
    color: #9c2833;
    background: #fde8ea;
}

/* Adaptación */

@media (max-width: 1180px) {
    .admin-nav-search input {
        width: 110px;
    }

    .admin-nav-search input:focus {
        width: 140px;
    }
}

@media (max-width: 960px) {
    .admin-global-search-form {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(170px, .35fr);
    }

    .admin-global-search-form
    .button {
        grid-column: 1 / -1;
        width: max-content;
    }
}

@media (max-width: 820px) {
    .admin-nav-search {
        width: 100%;
        margin: 8px 0 4px;
    }

    .admin-nav-search input,
    .admin-nav-search input:focus {
        flex: 1;
        width: auto;
    }

    .admin-search-summary {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 620px) {
    .admin-global-search-form {
        grid-template-columns: 1fr;
    }

    .admin-global-search-form
    .button {
        grid-column: auto;
        width: 100%;
    }

    .admin-search-result {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .admin-search-result-action {
        justify-content: flex-start;
    }
}

/* =========================================================
   SISTEMA Y AUDITORÍA ADMINISTRATIVA
   Agosto de 2026
   ========================================================= */

.admin-nav-dropdown a.is-active {
    color: #fff;
    background: rgba(255, 255, 255, .09);
}

.admin-system-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.admin-system-definition-list {
    display: grid;
    gap: 0;
    margin: 0;
}

.admin-system-definition-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 13px 0;
    border-bottom: 1px solid #e5e9ed;
}

.admin-system-definition-list > div:last-child {
    border-bottom: 0;
}

.admin-system-definition-list dt {
    color: #6d798a;
    font-size: .72rem;
}

.admin-system-definition-list dd {
    margin: 0;
    color: #26364c;
    font-size: .75rem;
    font-weight: 800;
}

.system-value-ok {
    color: #267253 !important;
}

.system-value-warning {
    color: #a36a0f !important;
}

.system-value-critical {
    color: #b92634 !important;
}

.admin-system-email-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.admin-system-email-grid article {
    padding: 15px;
    border: 1px solid #e0e5ea;
    border-radius: 9px;
    background: #f8fafb;
}

.admin-system-email-grid span {
    display: block;
    color: #758193;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .09em;
}

.admin-system-email-grid strong {
    display: block;
    margin-top: 8px;
    color: #1e2b40;
    font-size: 1.55rem;
}

.admin-system-log-list,
.admin-system-backup-list {
    display: grid;
    gap: 0;
}

.admin-system-log-list article,
.admin-system-backup-list article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 13px 0;
    border-bottom: 1px solid #e5e9ed;
}

.admin-system-log-list article:last-child,
.admin-system-backup-list article:last-child {
    border-bottom: 0;
}

.admin-system-log-list strong,
.admin-system-backup-list strong {
    display: block;
    color: #29374c;
    font-size: .72rem;
    overflow-wrap: anywhere;
}

.admin-system-log-list small,
.admin-system-backup-list small {
    display: block;
    margin-top: 4px;
    color: #8a94a1;
    font-size: .61rem;
}

.admin-system-log-list article > span,
.admin-system-backup-list article > span {
    flex: 0 0 auto;
    color: #59677a;
    font-size: .68rem;
    font-weight: 750;
}

.admin-system-errors {
    margin-top: 20px;
    border: 1px solid #efd0d3;
    border-radius: 9px;
    background: #fff7f8;
}

.admin-system-errors > summary {
    padding: 14px 16px;
    color: #a52b36;
    font-size: .7rem;
    font-weight: 800;
    cursor: pointer;
}

.admin-system-errors > div {
    display: grid;
    gap: 10px;
    padding: 0 14px 14px;
}

.admin-system-errors article {
    padding: 12px;
    border: 1px solid #eedbdd;
    border-radius: 7px;
    background: #fff;
}

.admin-system-errors strong {
    display: block;
    margin-bottom: 7px;
    color: #9c2d37;
    font-size: .62rem;
}

.admin-system-errors code,
.admin-audit-details code {
    display: block;
    color: #4c5869;
    font-family: Consolas, Monaco, monospace;
    font-size: .63rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.admin-system-success-note {
    margin: 18px 0 0;
    padding: 13px 15px;
    border: 1px solid #cce5d8;
    border-radius: 8px;
    color: #28694f;
    background: #f0faf5;
    font-size: .7rem;
}

.admin-system-muted {
    color: #7d8896;
    font-size: .72rem;
}

.admin-audit-heading {
    align-items: flex-end;
}

.admin-audit-filter {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.admin-audit-filter input,
.admin-audit-filter select {
    min-height: 36px;
    padding: 7px 9px;
    border: 1px solid #d5dde5;
    border-radius: 7px;
    color: #263247;
    background: #fff;
    font: inherit;
    font-size: .68rem;
}

.admin-audit-table {
    min-width: 1050px;
}

.admin-audit-table th:nth-child(1) {
    width: 125px;
}

.admin-audit-table th:nth-child(2) {
    width: 95px;
}

.admin-audit-table th:nth-child(3) {
    width: 170px;
}

.admin-audit-table th:nth-child(4) {
    width: 125px;
}

.admin-audit-table th:nth-child(6) {
    width: 140px;
}

.audit-severity {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: .58rem;
    font-weight: 800;
}

.audit-severity-info {
    color: #315d85;
    background: #e9f2fa;
}

.audit-severity-success {
    color: #246748;
    background: #e5f5ec;
}

.audit-severity-warning {
    color: #825c18;
    background: #fff2d5;
}

.audit-severity-critical {
    color: #9c2833;
    background: #fde8ea;
}

.admin-audit-details {
    margin-top: 7px;
}

.admin-audit-details summary {
    color: #617087;
    font-size: .62rem;
    font-weight: 700;
    cursor: pointer;
}

.admin-audit-details code {
    margin-top: 6px;
    padding: 8px;
    border-radius: 6px;
    background: #f2f5f7;
}

@media (max-width: 880px) {
    .admin-system-grid {
        grid-template-columns: 1fr;
    }

    .admin-audit-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-audit-filter {
        justify-content: flex-start;
        width: 100%;
    }
}

@media (max-width: 580px) {
    .admin-system-email-grid {
        grid-template-columns: 1fr;
    }

    .admin-system-log-list article,
    .admin-system-backup-list article {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .admin-audit-filter,
    .admin-audit-filter input,
    .admin-audit-filter select,
    .admin-audit-filter .button {
        width: 100%;
    }
}

/* =========================================================
   INCORPORACIÓN INICIAL DE MIEMBROS
   ========================================================= */

.member-onboarding-section {
    padding: 34px 0 10px;
    background: #f3f5f7;
}

.member-onboarding-panel {
    overflow: hidden;
    border: 1px solid #dce2e8;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(28, 41, 57, .08);
}

.member-onboarding-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 32px;
    padding: 32px 34px 28px;
    border-bottom: 1px solid #e3e7eb;
}

.member-onboarding-eyebrow {
    display: block;
    margin-bottom: 10px;
    color: #8c2831;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.member-onboarding-header h2 {
    max-width: 700px;
    margin: 0;
    color: #19263a;
    font-size: clamp(1.65rem, 2.7vw, 2.45rem);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.member-onboarding-header p {
    max-width: 720px;
    margin: 14px 0 0;
    color: #667386;
    font-size: .92rem;
    line-height: 1.65;
}

.member-onboarding-plan {
    flex: 0 0 auto;
    padding: 9px 13px;
    border: 1px solid #d5dde5;
    border-radius: 999px;
    color: #40516a;
    background: #f7f9fa;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .09em;
}

.member-onboarding-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.member-onboarding-step {
    display: flex;
    gap: 16px;
    min-width: 0;
    padding: 28px;
    color: inherit;
    text-decoration: none;
    border-right: 1px solid #e5e9ed;
    transition:
        background .18s ease,
        transform .18s ease;
}

.member-onboarding-step:last-child {
    border-right: 0;
}

.member-onboarding-step:hover {
    background: #f7f9fb;
}

.member-onboarding-number {
    flex: 0 0 auto;
    color: #a6afba;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.member-onboarding-step h3 {
    margin: 0;
    color: #223149;
    font-size: 1rem;
    line-height: 1.3;
}

.member-onboarding-step p {
    margin: 9px 0 15px;
    color: #707d8f;
    font-size: .78rem;
    line-height: 1.6;
}

.member-onboarding-step strong {
    color: #315c87;
    font-size: .73rem;
}

.member-onboarding-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 20px 34px;
    border-top: 1px solid #e3e7eb;
    background: #fafbfc;
}

.member-onboarding-footer p {
    margin: 0;
    color: #7a8696;
    font-size: .72rem;
    line-height: 1.5;
}

.member-onboarding-footer form {
    flex: 0 0 auto;
    margin: 0;
}

@media (max-width: 900px) {
    .member-onboarding-header {
        flex-direction: column;
    }

    .member-onboarding-steps {
        grid-template-columns: 1fr;
    }

    .member-onboarding-step {
        border-right: 0;
        border-bottom: 1px solid #e5e9ed;
    }

    .member-onboarding-step:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 620px) {
    .member-onboarding-section {
        padding-top: 22px;
    }

    .member-onboarding-header,
    .member-onboarding-step,
    .member-onboarding-footer {
        padding: 21px;
    }

    .member-onboarding-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .member-onboarding-footer form,
    .member-onboarding-footer .button {
        width: 100%;
    }
}
