/* =========================================================
   ASOCOLOPROCTO PORTAL
   LOGIN + PORTAL DE ASOCIADOS
   ========================================================= */


/* =========================================================
   VARIABLES
   ========================================================= */

:root {

    --apc-navy: #061c38;
    --apc-navy-2: #0a2d59;
    --apc-blue: #145aa6;
    --apc-blue-light: #2580d8;

    --apc-gold: #f2cf22;

    --apc-card: #f8f6ef;
    --apc-white: #ffffff;

    --apc-text: #173b68;
    --apc-muted: #718096;

    --apc-border: #d5dce5;

}


/* =========================================================
   LOGIN ASOCOLOPROCTO
   PANTALLA COMPLETA
   ========================================================= */

body.apc-login-screen {

    margin: 0 !important;
    padding: 0 !important;

    min-height: 100vh;

    background: #061c38 !important;

}


/* =========================================================
   OCULTAR ESTRUCTURA DEL TEMA
   SOLO EN LOGIN
   ========================================================= */

body.apc-login-screen .site-header,
body.apc-login-screen .main-navigation,
body.apc-login-screen header {

    display: none !important;

}


body.apc-login-screen .site-footer,
body.apc-login-screen footer {

    display: none !important;

}


body.apc-login-screen .page-header {

    display: none !important;

}


body.apc-login-screen .site-content,
body.apc-login-screen .content-area,
body.apc-login-screen .site-main,
body.apc-login-screen .inside-article,
body.apc-login-screen .entry-content {

    width: 100% !important;

    max-width: none !important;

    margin: 0 !important;

    padding: 0 !important;

}


/* =========================================================
   CONTENEDORES GENERALES
   ========================================================= */

body.apc-login-screen #page,
body.apc-login-screen #content,
body.apc-login-screen .site,
body.apc-login-screen .site-content,
body.apc-login-screen main {

    width: 100% !important;

    max-width: none !important;

    margin: 0 !important;

    padding: 0 !important;

}


/* =========================================================
   ÁREA LOGIN
   ========================================================= */

body.apc-login-screen .apc-login-page {

    position: relative;

    width: 100vw;

    min-height: 100vh;

    box-sizing: border-box;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 55px 25px;

    overflow: hidden;

    background:

        radial-gradient(
            circle at 50% 48%,
            rgba(35, 116, 195, .42) 0%,
            rgba(35, 116, 195, .18) 25%,
            transparent 58%
        ),

        linear-gradient(
            135deg,
            #04172e 0%,
            #082c58 43%,
            #0c4d91 72%,
            #051b36 100%
        );

}


/* =========================================================
   BOX SIZING
   ========================================================= */

body.apc-login-screen .apc-login-page,
body.apc-login-screen .apc-login-page * {

    box-sizing: border-box;

}


/* =========================================================
   BRILLO SUPERIOR IZQUIERDO
   ========================================================= */

body.apc-login-screen .apc-login-page::before {

    content: "";

    position: absolute;

    width: 650px;
    height: 650px;

    left: -350px;
    top: -300px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(42, 132, 226, .30) 0%,
            rgba(42, 132, 226, .08) 42%,
            transparent 70%
        );

    pointer-events: none;

}


/* =========================================================
   BRILLO INFERIOR DERECHO
   ========================================================= */

body.apc-login-screen .apc-login-page::after {

    content: "";

    position: absolute;

    width: 700px;
    height: 700px;

    right: -400px;
    bottom: -400px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(22, 105, 196, .34) 0%,
            rgba(22, 105, 196, .08) 45%,
            transparent 72%
        );

    pointer-events: none;

}


/* =========================================================
   DECORACIÓN DEL FONDO
   ========================================================= */

body.apc-login-screen .apc-login-page {

    background-image:

        radial-gradient(
            circle at 12% 20%,
            rgba(74, 157, 235, .55) 1px,
            transparent 2px
        ),

        radial-gradient(
            circle at 86% 78%,
            rgba(74, 157, 235, .45) 1px,
            transparent 2px
        ),

        radial-gradient(
            circle at 80% 25%,
            rgba(74, 157, 235, .28) 1px,
            transparent 2px
        ),

        linear-gradient(
            125deg,
            transparent 0%,
            transparent 32%,
            rgba(73, 156, 235, .08) 32.2%,
            transparent 32.4%
        ),

        linear-gradient(
            315deg,
            transparent 0%,
            transparent 66%,
            rgba(242, 207, 34, .08) 66.2%,
            transparent 66.4%
        ),

        radial-gradient(
            circle at 50% 48%,
            rgba(35, 116, 195, .42) 0%,
            rgba(35, 116, 195, .18) 25%,
            transparent 58%
        ),

        linear-gradient(
            135deg,
            #04172e 0%,
            #082c58 43%,
            #0c4d91 72%,
            #051b36 100%
        );

}


/* =========================================================
   ÓRBITAS DECORATIVAS
   ========================================================= */

body.apc-login-screen .apc-login-orbit {

    position: absolute;

    border:
        1px solid
        rgba(75, 159, 235, .18);

    border-radius: 50%;

    pointer-events: none;

}


body.apc-login-screen .apc-login-orbit-1 {

    width: 760px;
    height: 760px;

    left: -480px;
    top: -280px;

}


body.apc-login-screen .apc-login-orbit-2 {

    width: 900px;
    height: 900px;

    right: -560px;
    bottom: -480px;

    border-color:
        rgba(242, 207, 34, .14);

}


/* =========================================================
   PUNTOS DECORATIVOS
   ========================================================= */

body.apc-login-screen .apc-login-dots {

    position: absolute;

    width: 170px;
    height: 170px;

    opacity: .42;

    pointer-events: none;

    background-image:

        radial-gradient(
            circle,
            rgba(79, 165, 239, .75) 1.4px,
            transparent 1.6px
        );

    background-size: 22px 22px;

}


body.apc-login-screen .apc-login-dots-1 {

    left: 40px;
    top: 90px;

}


body.apc-login-screen .apc-login-dots-2 {

    right: 35px;
    bottom: 60px;

}


/* =========================================================
   COLON DECORATIVO
   ========================================================= */

body.apc-login-screen .apc-login-colon {

    position: absolute;

    z-index: 1;

    width: min(520px, 44vw);

    right: -90px;

    top: 50%;

    transform:
        translateY(-50%)
        rotate(4deg);

    pointer-events: none;

    opacity: .80;

    filter:
        drop-shadow(
            0 0 35px
            rgba(30, 126, 222, .22)
        );

}


body.apc-login-screen .apc-login-colon svg {

    display: block;

    width: 100%;
    height: auto;

}


/* =========================================================
   TARJETA LOGIN
   ========================================================= */

body.apc-login-screen .apc-login-card {

    position: relative;

    z-index: 10;

    width: 100%;

    max-width: 530px;

    margin: 0 auto;

    padding: 42px 48px 30px;

    background:
        linear-gradient(
            145deg,
            #fffdf8 0%,
            #f8f6ef 100%
        );

    border:
        1px solid
        rgba(255, 255, 255, .80);

    border-radius: 24px;

    box-shadow:

        0 35px 90px
        rgba(0, 0, 0, .32),

        0 12px 30px
        rgba(3, 27, 58, .25);

}


/* =========================================================
   MARCA / LOGO
   ========================================================= */

body.apc-login-screen .apc-login-brand {

    width: 100%;

    text-align: center;

    margin-bottom: 28px;

}


body.apc-login-screen .apc-login-logo {

    display: block;

    width: 150px;

    max-width: 100%;

    height: auto;

    margin:
        0 auto 8px;

}


/* =========================================================
   TÍTULO
   ========================================================= */

body.apc-login-screen .apc-login-brand h1 {

    margin:
        8px 0 0;

    padding: 0;

    color:
        var(--apc-text);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 38px;

    line-height: 1.12;

    font-weight: 700;

    letter-spacing: -.7px;

}


body.apc-login-screen .apc-login-brand p {

    margin:
        12px 0 0;

    color:
        var(--apc-muted);

    font-size: 15px;

    line-height: 1.5;

    letter-spacing: .25px;

}


/* =========================================================
   ACENTO DORADO
   ========================================================= */

body.apc-login-screen .apc-login-accent {

    width: 62px;

    height: 4px;

    margin:
        15px auto 0;

    border-radius: 10px;

    background:
        var(--apc-gold);

}


/* =========================================================
   ERROR
   ========================================================= */

body.apc-login-screen .apc-login-error {

    margin:
        0 0 20px;

    padding:
        12px 14px;

    border:
        1px solid
        rgba(192, 57, 43, .15);

    border-left:
        4px solid
        #c0392b;

    border-radius: 8px;

    background:
        #fff3f1;

    color:
        #9f2e22;

    font-size: 13px;

    line-height: 1.5;

}


/* =========================================================
   FORMULARIO
   ========================================================= */

body.apc-login-screen #apc-loginform {

    width: 100%;

    margin: 0;

}


body.apc-login-screen #apc-loginform p {

    margin:
        0 0 17px;

}


body.apc-login-screen #apc-loginform label {

    display: block;

    margin:
        0 0 7px;

    color:
        #18345d;

    font-size: 14px;

    font-weight: 600;

    line-height: 1.4;

}


/* =========================================================
   CAMPOS
   ========================================================= */

body.apc-login-screen #apc-loginform input[type="text"],
body.apc-login-screen #apc-loginform input[type="password"] {

    display: block;

    width: 100%;

    height: 52px;

    padding:
        0 16px;

    border:
        1px solid
        #cbd3df;

    border-radius: 10px;

    background:
        #ffffff;

    color:
        #18345d;

    font-family: inherit;

    font-size: 15px;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;

}


body.apc-login-screen #apc-loginform input[type="text"]:focus,
body.apc-login-screen #apc-loginform input[type="password"]:focus {

    border-color:
        #2457a6;

    box-shadow:
        0 0 0 4px
        rgba(36, 87, 166, .10);

}


/* =========================================================
   RECORDARME
   ========================================================= */

body.apc-login-screen #apc-loginform .login-remember {

    margin:
        2px 0 22px;

}


body.apc-login-screen #apc-loginform .login-remember label {

    display: flex;

    align-items: center;

    gap: 8px;

    margin: 0;

    color:
        #5f6e83;

    font-size: 13px;

    font-weight: 400;

}


body.apc-login-screen #apc-loginform .login-remember input {

    width: 17px;
    height: 17px;

    margin: 0;

    accent-color:
        #2457a6;

}


/* =========================================================
   BOTÓN INGRESAR
   ========================================================= */

body.apc-login-screen #apc-loginform .button {

    display: block;

    width: 100%;

    height: 54px;

    margin: 0;

    padding:
        0 20px;

    border: 0;

    border-radius: 10px;

    background:
        linear-gradient(
            135deg,
            #2457a6 0%,
            #123f82 100%
        );

    color:
        #ffffff;

    font-family: inherit;

    font-size: 16px;

    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 8px 18px
        rgba(18, 63, 130, .24);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        filter .18s ease;

}


body.apc-login-screen #apc-loginform .button:hover {

    transform:
        translateY(-1px);

    filter:
        brightness(1.06);

    box-shadow:
        0 12px 24px
        rgba(18, 63, 130, .30);

}


body.apc-login-screen #apc-loginform .button:active {

    transform:
        translateY(0);

}


/* =========================================================
   OLVIDÉ CONTRASEÑA
   ========================================================= */

body.apc-login-screen .apc-forgot-password {

    display: block;

    margin:
        20px 0 0;

    color:
        #176bc4;

    text-align: center;

    font-size: 14px;

    font-weight: 600;

    text-decoration: none;

}


body.apc-login-screen .apc-forgot-password:hover {

    color:
        #123f82;

    text-decoration:
        underline;

}


/* =========================================================
   VOLVER AL SITIO
   ========================================================= */

body.apc-login-screen .apc-back-home {

    display: block;

    margin:
        12px 0 0;

    color:
        #758298;

    text-align: center;

    font-size: 13px;

    text-decoration: none;

}


body.apc-login-screen .apc-back-home:hover {

    color:
        #2457a6;

}


/* =========================================================
   PIE DE TARJETA
   ========================================================= */

body.apc-login-screen .apc-login-footer {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-top: 28px;

}


body.apc-login-screen .apc-login-footer span {

    flex: 1;

    height: 1px;

    background:
        #d8dce2;

}


body.apc-login-screen .apc-login-footer small {

    color:
        #8b95a5;

    font-size: 9px;

    letter-spacing: 2px;

    white-space: nowrap;

}


/* =========================================================
   RESPONSIVE TABLET
   ========================================================= */

@media (max-width: 900px) {

    body.apc-login-screen .apc-login-colon {

        width: 420px;

        right: -210px;

        opacity: .48;

    }

}


/* =========================================================
   RESPONSIVE MÓVIL
   ========================================================= */

@media (max-width: 650px) {

    body.apc-login-screen .apc-login-page {

        min-height: 100vh;

        padding:
            25px 15px;

    }


    body.apc-login-screen .apc-login-card {

        max-width: 100%;

        padding:
            32px 24px 25px;

        border-radius:
            20px;

    }


    body.apc-login-screen .apc-login-logo {

        width:
            125px;

    }


    body.apc-login-screen .apc-login-brand h1 {

        font-size:
            30px;

    }


    body.apc-login-screen .apc-login-brand p {

        font-size:
            14px;

    }


    body.apc-login-screen .apc-login-colon {

        width:
            360px;

        right:
            -230px;

        top:
            18%;

        opacity:
            .23;

    }


    body.apc-login-screen .apc-login-orbit-1 {

        width:
            500px;

        height:
            500px;

        left:
            -360px;

        top:
            -180px;

    }


    body.apc-login-screen .apc-login-footer small {

        font-size:
            8px;

        letter-spacing:
            1.3px;

    }

}

/* Shared public form shell, visually aligned with the Portal login. */
.apc-form-page { position: relative; display: flex; justify-content: center; padding: 44px 18px; isolation: isolate; }
.apc-form-page:before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 15% 10%, rgba(47,117,189,.16), transparent 42%), radial-gradient(ellipse at 85% 85%, rgba(15,92,116,.12), transparent 42%), linear-gradient(145deg,#f4f8fc,#edf3f8); border-radius: 22px; }
.apc-form-card { width: min(680px,100%); padding: 36px 42px; border: 1px solid rgba(255,255,255,.8); border-radius: 22px; background: rgba(255,255,255,.94); box-shadow: 0 18px 55px rgba(24,54,83,.14); }
.apc-form-brand { margin: 0 0 26px; text-align: center; }
.apc-form-brand img { display: block; width: 74px; height: 74px; object-fit: contain; margin: 0 auto 12px; }
.apc-form-brand .apc-kicker { color: #245ca6; font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.apc-form-brand h1 { margin: 8px 0; color: #142e53; font-size: clamp(25px,4vw,34px); line-height: 1.2; }
.apc-form-brand p { margin: 0; color: #61728a; }
.apc-support-form { display: grid; gap: 15px; }
.apc-support-form label { display: grid; gap: 7px; color: #304761; font-size: 14px; font-weight: 650; }
.apc-support-form input[type="text"], .apc-support-form input[type="email"], .apc-support-form select, .apc-support-form textarea { box-sizing: border-box; width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid #d7e0ea; border-radius: 10px; background: #fbfdff; color: #20354d; font: inherit; font-weight: 400; }
.apc-support-form textarea { min-height: 120px; resize: vertical; }
.apc-support-form input:focus, .apc-support-form select:focus, .apc-support-form textarea:focus { outline: 3px solid rgba(42,104,177,.15); border-color: #3675bb; }
.apc-support-form .apc-support-consent { display: flex; align-items: flex-start; gap: 9px; font-weight: 450; line-height: 1.5; }
.apc-support-form .apc-support-consent input { margin-top: 4px; }
.apc-support-privacy { margin: 0; color: #66788d; font-size: 12px; line-height: 1.5; }
.apc-support-trap { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.apc-support-public-card .apc-button { justify-self: start; min-height: 46px; padding: 0 23px; border-radius: 10px; background: linear-gradient(110deg,#205da8,#16839b); box-shadow: 0 7px 16px rgba(32,93,168,.2); }
.apc-form-success { margin: 0 0 18px; padding: 13px 15px; border: 1px solid #b9e2cd; border-radius: 10px; background: #effaf4; color: #17663e; }
.apc-support-public .apc-login-error { margin: 0 0 18px; }
.apc-support-thread { display: grid; gap: 12px; margin: 22px 0; }
.apc-support-message { padding: 16px; border: 1px solid #e1e8f0; border-radius: 13px; background: #f8fafc; }
.apc-support-message.is-requester { background: #eff6ff; }
.apc-support-message header { display: flex; justify-content: space-between; gap: 12px; color: #314963; }
.apc-support-message time, .apc-support-ticket-list small { color: #718198; font-size: 12px; }
.apc-support-message p { margin: 10px 0 0; white-space: normal; line-height: 1.55; }
.apc-support-member-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px; margin-top: 18px; }
.apc-support-ticket-list { display: grid; }
.apc-support-ticket-list a { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 0; border-top: 1px solid #e7edf3; color: inherit; text-decoration: none; }
.apc-support-ticket-list a > span:first-child { display: grid; gap: 5px; }
.apc-status { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 999px; background: #edf2f7; color: #526477; font-size: 12px; white-space: nowrap; }
.apc-status.is-open { background: #fff4dc; color: #855d0b; }
.apc-status.is-in_progress { background: #eaf3ff; color: #215b99; }
.apc-status.is-closed { background: #e8f6ee; color: #277449; }
.apc-support-admin-actions { margin: 18px 0; }
.apc-support-admin-actions form { display: flex; flex-wrap: wrap; gap: 9px; }
@media (max-width: 700px) { .apc-form-page { padding: 22px 0; } .apc-form-card { padding: 26px 20px; border-radius: 16px; } .apc-support-member-grid { grid-template-columns: 1fr; } .apc-support-ticket-list a { align-items: flex-start; flex-direction: column; } .apc-support-admin-table { min-width: 700px; } }

/* Financial dashboard: Master portfolio and member account views. */
.apc-finance-page { display: grid; gap: 18px; }
.apc-finance-hero { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:28px 32px; border-radius:20px; color:#fff; background:linear-gradient(115deg,#102d52,#245f9e 65%,#16869a); box-shadow:0 14px 32px rgba(20,55,91,.18); }
.apc-finance-hero .apc-kicker { color:#bcd8f7; }
.apc-finance-hero h1 { margin:8px 0; color:#fff; font-size:clamp(26px,3vw,36px); }
.apc-finance-hero p { margin:0; color:#e2edf8; }
.apc-finance-hero-icon { display:grid; place-items:center; width:64px; height:64px; flex:0 0 64px; border-radius:18px; background:rgba(255,255,255,.14); color:#fff; font-size:32px; }
.apc-finance-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.apc-finance-kpi { display:grid; gap:7px; min-height:118px; padding:19px; border:1px solid #e4ebf2; border-radius:16px; background:#fff; box-shadow:0 5px 16px rgba(32,61,91,.05); }
.apc-finance-kpi > span { color:#64768b; font-size:13px; font-weight:650; }
.apc-finance-kpi strong { color:#1d3656; font-size:clamp(23px,2.3vw,32px); line-height:1.1; }
.apc-finance-kpi small { color:#8290a0; font-size:11px; }
.apc-finance-kpi.is-red strong { color:#bf4d4b; }
.apc-finance-kpi.is-green strong { color:#25875d; }
.apc-finance-kpi.is-total { background:linear-gradient(145deg,#f0f6ff,#fff); border-color:#d5e4f5; }
.apc-finance-insights { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.4fr); gap:16px; }
.apc-finance-chart-card { min-height:260px; }
.apc-finance-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.apc-finance-section-heading h2 { margin:4px 0 0; color:#203b5d; font-size:21px; }
.apc-finance-donut { position:relative; display:grid; place-items:center; width:144px; height:144px; margin:12px auto 16px; border-radius:50%; background:conic-gradient(#2f9a68 0 var(--paid),#d6645f var(--paid) 100%); }
.apc-finance-donut:before { content:""; position:absolute; width:104px; height:104px; border-radius:50%; background:#fff; }
.apc-finance-donut > div { z-index:1; display:grid; text-align:center; }
.apc-finance-donut strong { color:#203b5d; font-size:28px; line-height:1; }
.apc-finance-donut span { margin-top:5px; color:#78889b; font-size:12px; }
.apc-finance-legend { display:flex; justify-content:center; gap:20px; flex-wrap:wrap; color:#61738a; font-size:12px; }
.apc-finance-legend span { display:flex; align-items:center; gap:6px; }
.apc-finance-legend i { width:9px; height:9px; border-radius:50%; background:#2f9a68; }
.apc-finance-legend i.is-red { background:#d6645f; }
.apc-finance-city-bars { display:grid; gap:11px; }
.apc-finance-city-row > div { display:flex; justify-content:space-between; gap:10px; margin-bottom:5px; color:#526a84; font-size:12px; }
.apc-finance-city-row b { color:#294c73; }
.apc-finance-city-row > i { display:block; height:8px; overflow:hidden; border-radius:8px; background:#edf2f7; }
.apc-finance-city-row > i span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#3076bd,#32a5b1); }
.apc-finance-ledger { padding:24px; }
.apc-finance-result-count { padding:7px 11px; border-radius:999px; background:#eff4f9; color:#60758c; font-size:12px; white-space:nowrap; }
.apc-finance-filters { display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin-bottom:16px; padding:14px; border-radius:13px; background:#f6f8fb; }
.apc-finance-filters label { display:grid; gap:6px; color:#62768d; font-size:11px; font-weight:700; }
.apc-finance-filters label span { text-transform:uppercase; letter-spacing:.04em; }
.apc-finance-filters input,.apc-finance-filters select { min-height:40px; padding:8px 10px; border:1px solid #d9e2ec; border-radius:8px; background:#fff; color:#29415d; }
.apc-finance-search { flex:1 1 245px; }
.apc-finance-search input { width:100%; }
.apc-finance-clear { padding:10px 3px; color:#526d8a; font-size:13px; }
.apc-finance-table { min-width:830px; }
.apc-finance-table td small { display:block; margin-top:4px; color:#8090a1; }
.apc-finance-table td a { color:#2869a8; }
.apc-finance-pill { display:inline-flex; padding:5px 9px; border-radius:999px; background:#edf7f0; color:#28764a; font-size:11px; font-weight:700; white-space:nowrap; }
.apc-finance-pill.is-debt { background:#fff0ed; color:#b44940; }
.apc-finance-footnote { margin:15px 0 0; color:#78889b; font-size:11px; line-height:1.5; }
.apc-finance-no-results { padding:26px !important; color:#75869b; text-align:center; }
.apc-finance-member { display:grid; gap:18px; }
.apc-finance-member-hero { padding:5px 2px 1px; }
.apc-finance-member-hero h1 { margin:5px 0; color:#203b5d; font-size:29px; }
.apc-finance-member-hero p { margin:0; color:#718198; }
.apc-finance-member-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.apc-finance-member-card { display:grid; gap:9px; padding:22px; border:1px solid #e1e9f1; border-radius:16px; background:#fff; box-shadow:0 5px 16px rgba(32,61,91,.05); }
.apc-finance-member-card span { color:#65778c; font-size:13px; font-weight:650; }
.apc-finance-member-card strong { color:#25496e; font-size:28px; }
.apc-finance-member-card small { color:#8090a1; }
.apc-finance-member-card.is-total { border-color:#d0e3f5; background:linear-gradient(145deg,#eff6ff,#fff); }
.apc-finance-member-card.is-total strong { color:#1e64a5; }
.apc-finance-member-callout { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; border:1px solid #d6e8f0; border-radius:15px; background:linear-gradient(110deg,#f0f8fb,#fff); }
.apc-finance-member-callout strong { color:#234566; }
.apc-finance-member-callout p { margin:5px 0 0; color:#6c7f94; font-size:13px; }
.apc-finance-orders .apc-finance-section-heading a { color:#2c70af; font-size:13px; }
@media (max-width:1000px) { .apc-finance-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } .apc-finance-insights { grid-template-columns:1fr; } }
@media (max-width:650px) { .apc-finance-hero { padding:22px; border-radius:15px; } .apc-finance-hero-icon { width:48px; height:48px; flex-basis:48px; font-size:24px; } .apc-finance-kpis,.apc-finance-member-cards { grid-template-columns:1fr; } .apc-finance-ledger { padding:17px; } .apc-finance-member-callout { align-items:flex-start; flex-direction:column; } .apc-finance-filters { align-items:stretch; flex-direction:column; } .apc-finance-filters label,.apc-finance-filters .apc-button { width:100%; box-sizing:border-box; } }


/* =========================================================
   MÓVIL PEQUEÑO
   ========================================================= */

@media (max-width: 420px) {

    body.apc-login-screen .apc-login-card {

        padding:
            28px 19px 22px;

    }


    body.apc-login-screen .apc-login-logo {

        width:
            110px;

    }


    body.apc-login-screen .apc-login-brand h1 {

        font-size:
            27px;

    }


    body.apc-login-screen .apc-login-footer small {

        font-size:
            7px;

        letter-spacing:
            1px;

    }

}

/* =========================================================
   APC LOGIN — DISEÑO MEDICAL-TECH / NETWORK
   Override final
   ========================================================= */

body.apc-login-screen {
    background: #03152f !important;
    overflow-x: hidden !important;
}

body.apc-login-screen #page,
body.apc-login-screen #content,
body.apc-login-screen .site,
body.apc-login-screen .site-content,
body.apc-login-screen main,
body.apc-login-screen .content-area,
body.apc-login-screen .site-main,
body.apc-login-screen .inside-article,
body.apc-login-screen .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.apc-login-screen .site-header,
body.apc-login-screen .main-navigation,
body.apc-login-screen header,
body.apc-login-screen .site-footer,
body.apc-login-screen footer,
body.apc-login-screen .page-header {
    display: none !important;
}

body.apc-login-screen .apc-login-page {
    min-height: 100vh !important;
    width: 100vw !important;
    padding: 40px 30px !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background:
        radial-gradient(circle at 78% 45%, rgba(35,135,255,.20) 0%, rgba(35,135,255,.08) 22%, transparent 48%),
        radial-gradient(circle at 20% 20%, rgba(37,128,216,.18) 0%, transparent 32%),
        linear-gradient(135deg, #020f25 0%, #052b59 52%, #03152f 100%) !important;
}

/* Red tecnológica de fondo */
body.apc-login-screen .apc-login-page::before {
    content: "" !important;
    position: absolute !important;
    inset: -20% !important;
    z-index: -3 !important;
    opacity: .52 !important;
    background-image:
        linear-gradient(28deg, transparent 0%, transparent 48%, rgba(74,164,255,.12) 48.2%, transparent 48.45%),
        linear-gradient(148deg, transparent 0%, transparent 62%, rgba(74,164,255,.10) 62.2%, transparent 62.45%),
        radial-gradient(circle at 16% 32%, rgba(93,182,255,.75) 0 2px, transparent 3px),
        radial-gradient(circle at 31% 18%, rgba(93,182,255,.55) 0 2px, transparent 3px),
        radial-gradient(circle at 70% 17%, rgba(93,182,255,.55) 0 2px, transparent 3px),
        radial-gradient(circle at 88% 38%, rgba(93,182,255,.72) 0 2px, transparent 3px),
        radial-gradient(circle at 79% 78%, rgba(93,182,255,.55) 0 2px, transparent 3px),
        radial-gradient(circle at 22% 82%, rgba(93,182,255,.45) 0 2px, transparent 3px);
    background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%;
    pointer-events: none !important;
}

/* Halo */
body.apc-login-screen .apc-login-page::after {
    content: "" !important;
    position: absolute !important;
    width: 720px !important;
    height: 720px !important;
    right: -250px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    border-radius: 50% !important;
    z-index: -2 !important;
    background: radial-gradient(circle, rgba(34,137,255,.18) 0%, rgba(34,137,255,.06) 38%, transparent 70%) !important;
    pointer-events: none !important;
}

/* Card */
body.apc-login-screen .apc-login-card {
    width: min(560px, calc(100vw - 40px)) !important;
    max-width: 560px !important;
    padding: 46px 52px 34px !important;
    border-radius: 28px !important;
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(244,249,255,.95)) !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    box-shadow:
        0 40px 100px rgba(0,0,0,.38),
        0 0 55px rgba(45,145,255,.13) !important;
    backdrop-filter: blur(12px) !important;
}

/* Logo */
body.apc-login-screen .apc-login-logo {
    width: 150px !important;
    margin: 0 auto 12px !important;
}

/* Typography */
body.apc-login-screen .apc-login-brand h1 {
    font-family: "Segoe UI", Arial, sans-serif !important;
    font-size: 34px !important;
    font-weight: 700 !important;
    letter-spacing: -1px !important;
    color: #123f82 !important;
}

body.apc-login-screen .apc-login-brand p {
    color: #60738f !important;
    font-size: 16px !important;
}

body.apc-login-screen .apc-login-accent {
    width: 54px !important;
    height: 3px !important;
    background: linear-gradient(90deg, #f2cf22, #1763b7) !important;
}

/* Inputs */
body.apc-login-screen #apc-loginform input[type="text"],
body.apc-login-screen #apc-loginform input[type="password"] {
    height: 56px !important;
    border-radius: 12px !important;
    border: 1px solid #cddbeb !important;
    background: rgba(247,251,255,.92) !important;
    box-shadow: inset 0 1px 2px rgba(20,60,100,.04) !important;
}

body.apc-login-screen #apc-loginform input[type="text"]:focus,
body.apc-login-screen #apc-loginform input[type="password"]:focus {
    border-color: #2580d8 !important;
    box-shadow: 0 0 0 4px rgba(37,128,216,.11), 0 4px 18px rgba(37,128,216,.08) !important;
}

/* Button */
body.apc-login-screen #apc-loginform .button {
    height: 56px !important;
    border-radius: 13px !important;
    background: linear-gradient(135deg, #1763b7 0%, #0877df 100%) !important;
    box-shadow: 0 12px 28px rgba(23,99,183,.30) !important;
}

body.apc-login-screen #apc-loginform .button:hover {
    box-shadow: 0 16px 34px rgba(23,99,183,.38) !important;
}

/* Links */
body.apc-login-screen .apc-forgot-password {
    color: #176bc4 !important;
}

/* Colon: más grande y luminoso */
body.apc-login-screen .apc-login-colon {
    width: min(760px, 58vw) !important;
    right: -25px !important;
    opacity: .95 !important;
    filter:
        drop-shadow(0 0 18px rgba(62,164,255,.38))
        drop-shadow(0 0 55px rgba(22,105,196,.20)) !important;
    z-index: 1 !important;
}

body.apc-login-screen .apc-login-card {
    z-index: 20 !important;
}

/* Oculta los elementos decorativos antiguos para dejar una composición limpia */
body.apc-login-screen .apc-login-orbit,
body.apc-login-screen .apc-login-dots,
body.apc-login-screen .apc-login-bg-glow {
    opacity: .12 !important;
}

/* Responsive */
@media (max-width: 900px) {
    body.apc-login-screen .apc-login-card {
        max-width: 520px !important;
        padding: 40px 38px 30px !important;
    }

    body.apc-login-screen .apc-login-colon {
        width: 560px !important;
        right: -165px !important;
        opacity: .38 !important;
    }
}

@media (max-width: 650px) {
    body.apc-login-screen .apc-login-page {
        padding: 22px 14px !important;
    }

    body.apc-login-screen .apc-login-card {
        width: calc(100vw - 28px) !important;
        max-width: 100% !important;
        padding: 32px 24px 26px !important;
        border-radius: 22px !important;
    }

    body.apc-login-screen .apc-login-logo {
        width: 125px !important;
    }

    body.apc-login-screen .apc-login-brand h1 {
        font-size: 29px !important;
    }

    body.apc-login-screen .apc-login-colon {
        width: 430px !important;
        right: -205px !important;
        opacity: .20 !important;
    }
}
\n/* =========================================================\n   APC LOGIN — GEOMETRÍA CSS FINAL\n   ========================================================= */\n\nbody.apc-login-screen .apc-login-colon {\n    display: none !important;\n}\n\nbody.apc-login-screen .apc-login-geo {\n    position: absolute !important;\n    inset: 0 !important;\n    z-index: 0 !important;\n    overflow: hidden !important;\n    pointer-events: none !important;\n}\n\nbody.apc-login-screen .apc-login-geo span {\n    position: absolute !important;\n    display: block !important;\n}\n\n/* Grandes círculos/halos */\nbody.apc-login-screen .apc-geo-circle {\n    border: 1px solid rgba(61,166,255,.55) !important;\n    border-radius: 50% !important;\n    background: radial-gradient(circle, rgba(22,119,232,.16), rgba(22,119,232,.045) 55%, transparent 72%) !important;\n    box-shadow: 0 0 35px rgba(24,128,245,.10) !important;\n}\n\nbody.apc-login-screen .apc-geo-circle-1 {\n    width: 520px !important; height: 520px !important;\n    left: -250px !important; top: -175px !important;\n}\n\nbody.apc-login-screen .apc-geo-circle-2 {\n    width: 460px !important; height: 460px !important;\n    right: -210px !important; bottom: -190px !important;\n}\n\n/* Hexágonos luminosos */\nbody.apc-login-screen .apc-geo-hex {\n    width: 145px !important;\n    height: 126px !important;\n    background: rgba(28,133,244,.07) !important;\n    clip-path: polygon(25% 3%,75% 3%,98% 50%,75% 97%,25% 97%,2% 50%) !important;\n    filter: drop-shadow(0 0 9px rgba(34,145,255,.25)) !important;\n}\n\nbody.apc-login-screen .apc-geo-hex::after {\n    content: "" !important;\n    position: absolute !important;\n    inset: 2px !important;\n    background: #05295a !important;\n    opacity: .82 !important;\n    clip-path: polygon(25% 3%,75% 3%,98% 50%,75% 97%,25% 97%,2% 50%) !important;\n}\n\nbody.apc-login-screen .apc-geo-hex-1 {\n    right: 7% !important; top: 23% !important;\n}\n\nbody.apc-login-screen .apc-geo-hex-2 {\n    right: 15% !important; top: 39% !important;\n    transform: scale(.72) !important;\n    opacity: .72 !important;\n}\n\n/* Líneas diagonales */\nbody.apc-login-screen .apc-geo-line {\n    height: 1px !important;\n    transform-origin: left center !important;\n    background: linear-gradient(90deg, transparent, rgba(54,158,255,.7), transparent) !important;\n    box-shadow: 0 0 8px rgba(41,145,255,.35) !important;\n}\n\nbody.apc-login-screen .apc-geo-line-1 {\n    width: 390px !important; left: -35px !important; top: 63% !important; transform: rotate(-32deg) !important;\n}\n\nbody.apc-login-screen .apc-geo-line-2 {\n    width: 440px !important; right: -85px !important; top: 29% !important; transform: rotate(-37deg) !important;\n}\n\n/* Matrices de puntos */\nbody.apc-login-screen .apc-geo-dots {\n    width: 120px !important;\n    height: 120px !important;\n    opacity: .72 !important;\n    background-image: radial-gradient(circle, rgba(69,171,255,.9) 1.6px, transparent 2px) !important;\n    background-size: 24px 24px !important;\n}\n\nbody.apc-login-screen .apc-geo-dots-1 { left: 18px !important; top: 55px !important; }\nbody.apc-login-screen .apc-geo-dots-2 { right: 28px !important; bottom: 38px !important; }\n\n@media (max-width: 900px) {\n    body.apc-login-screen .apc-geo-hex-1 { right: -25px !important; top: 20% !important; }\n    body.apc-login-screen .apc-geo-hex-2 { right: 2% !important; top: 37% !important; }\n}\n\n@media (max-width: 650px) {\n    body.apc-login-screen .apc-geo-circle-1 { width: 300px !important; height: 300px !important; left: -165px !important; top: -80px !important; }\n    body.apc-login-screen .apc-geo-circle-2 { width: 280px !important; height: 280px !important; right: -150px !important; bottom: -130px !important; }\n    body.apc-login-screen .apc-geo-hex-1 { right: -55px !important; top: 18% !important; transform: scale(.72) !important; }\n    body.apc-login-screen .apc-geo-hex-2 { display: none !important; }\n    body.apc-login-screen .apc-geo-dots { transform: scale(.72) !important; }\n}\n
/* =========================================================
   APC PORTAL — PANEL INTERNO
   ========================================================= */
body:not(.apc-login-screen) .apc-app{
    min-height:100vh;
    width:100vw;
    margin-left:calc(50% - 50vw);
    display:flex;
    background:linear-gradient(135deg,#f4f8fd 0%,#eef4fb 100%);
    color:#173b68;
    font-family:"Segoe UI",Arial,sans-serif;
}
body:not(.apc-login-screen) .apc-app .apc-logo-mark{
    width:54px;
    height:54px;
    min-width:54px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 8px 24px rgba(0,0,0,.12);
    overflow:hidden;
}
body:not(.apc-login-screen) .apc-app .apc-logo-mark img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    padding:3px;
    box-sizing:border-box;
}
body:not(.apc-login-screen) .apc-app .apc-brand{padding:24px 20px 22px;}
body:not(.apc-login-screen) .apc-app .apc-brand strong{font-size:14px;}
body:not(.apc-login-screen) .apc-app .apc-brand span{font-size:11px;}
body:not(.apc-login-screen) .apc-app .apc-header{min-height:78px;}
body:not(.apc-login-screen) .apc-app .apc-content{width:100%;box-sizing:border-box;}
body:not(.apc-login-screen) .apc-sidebar{width:270px;flex:0 0 270px;min-height:100vh;background:linear-gradient(180deg,#05295a 0%,#071f43 100%);color:#fff;display:flex;flex-direction:column;box-shadow:8px 0 28px rgba(8,42,86,.12);position:sticky;top:0;height:100vh;z-index:50}
.apc-brand{display:flex;align-items:center;gap:12px;padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.10)}
.apc-logo-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#1684e8,#55b8ff);font-weight:800;font-size:20px;box-shadow:0 8px 22px rgba(31,139,235,.25)}
.apc-brand strong{display:block;font-size:14px;letter-spacing:.5px}.apc-brand span{display:block;font-size:12px;color:#9fc9f4;margin-top:2px}
.apc-nav{padding:16px 12px;overflow:auto;flex:1}.apc-nav-group{margin-bottom:5px}.apc-nav-link{display:flex;align-items:center;gap:12px;color:#dbeeff!important;text-decoration:none!important;padding:12px 13px;border-radius:12px;font-size:14px;font-weight:600;transition:.18s}.apc-nav-link:hover,.apc-nav-group.is-active>.apc-nav-link{background:rgba(66,161,247,.16);color:#fff!important}.apc-icon{width:24px;text-align:center;font-size:17px}.apc-submenu{margin:0 0 8px 38px;border-left:1px solid rgba(109,187,255,.25);padding-left:10px}.apc-submenu a{display:block;color:#9fc9f4!important;text-decoration:none!important;font-size:12.5px;padding:7px 8px;border-radius:7px}.apc-submenu a:hover{background:rgba(255,255,255,.07);color:#fff!important}.apc-sidebar-bottom{padding:15px 18px;border-top:1px solid rgba(255,255,255,.10)}.apc-logout{color:#b8d9f5!important;text-decoration:none!important;font-size:13px}.apc-logout:hover{color:#fff!important}
.apc-main{min-width:0;flex:1}.apc-header{height:78px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid #dce7f3;display:flex;align-items:center;padding:0 30px;gap:16px;position:sticky;top:0;z-index:40}.apc-menu-toggle{display:none;border:0;background:#edf5fd;color:#145aa6;border-radius:10px;padding:8px 11px;font-size:18px}.apc-header-title{font-size:20px;font-weight:750;color:#123f82}.apc-header-subtitle{font-size:12px;color:#7890aa;margin-top:3px}.apc-user{margin-left:auto;display:flex;align-items:center;gap:10px;color:#526a84;font-size:13px}.apc-avatar{border-radius:50%;border:2px solid #d9eafb!important}.apc-content{padding:30px;max-width:1400px;margin:0 auto}.apc-card{background:rgba(255,255,255,.94);border:1px solid #dce7f3;border-radius:20px;padding:26px;box-shadow:0 16px 45px rgba(18,63,130,.07);margin-bottom:20px}.apc-card h2{margin:0 0 8px;color:#123f82;font-size:24px}.apc-card p{color:#647c96;line-height:1.55}.apc-welcome{font-size:27px;font-weight:750;color:#123f82;margin-bottom:20px}.apc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.apc-stat{display:block;text-decoration:none!important;background:#fff;border:1px solid #dce7f3;border-radius:17px;padding:22px;box-shadow:0 10px 30px rgba(18,63,130,.05)}.apc-stat strong{display:block;color:#123f82;font-size:25px}.apc-stat span{display:block;color:#70859d;font-size:13px;margin-top:6px}.apc-stat-link:hover{border-color:#79b9ee;transform:translateY(-2px);transition:.18s}.apc-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:11px;background:linear-gradient(135deg,#1763b7,#0877df);color:#fff!important;text-decoration:none!important;padding:11px 16px;font-weight:700;box-shadow:0 9px 22px rgba(23,99,183,.20);cursor:pointer}.apc-button:hover{filter:brightness(1.05);color:#fff!important}.apc-button-secondary{background:#edf5fd;color:#145aa6!important;box-shadow:none}.apc-notice{padding:12px 14px;border-radius:10px;background:#edf8f1;color:#207345;border:1px solid #c9ead6;margin:16px 0}.apc-error{background:#fff4f4;color:#a83d3d;border-color:#f1cccc}.apc-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px;border-radius:22px;background:linear-gradient(135deg,#062a5b,#0b4b91);color:#fff;box-shadow:0 18px 45px rgba(8,50,100,.18);margin-bottom:20px;position:relative;overflow:hidden}.apc-admin-hero:after{content:"";position:absolute;width:300px;height:300px;right:-130px;top:-150px;border:1px solid rgba(107,191,255,.35);border-radius:50%;box-shadow:0 0 0 45px rgba(107,191,255,.04),0 0 0 90px rgba(107,191,255,.025)}.apc-admin-hero>*{position:relative;z-index:1}.apc-admin-hero h1{margin:6px 0 8px;font-size:30px}.apc-admin-hero p{margin:0;max-width:720px;color:#b9d8f4;line-height:1.55}.apc-kicker{font-size:11px;letter-spacing:1.8px;font-weight:800;color:#6fc3ff}.apc-admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.apc-admin-actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.apc-admin-action{background:#fff;border:1px solid #dce7f3;border-radius:17px;padding:20px;text-decoration:none!important;box-shadow:0 10px 28px rgba(18,63,130,.05);transition:.18s}.apc-admin-action:hover{transform:translateY(-2px);border-color:#83bff0}.apc-admin-action b{display:block;color:#123f82;font-size:16px;margin-bottom:8px}.apc-admin-action span{display:block;color:#72869c;font-size:13px;line-height:1.45}.apc-admin-title-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.apc-admin-title-row h2{margin:5px 0}.apc-admin-title-row p{margin:0}.apc-search-form{display:flex;gap:10px;margin-bottom:18px}.apc-search-form input,.apc-form-grid input,.apc-form-grid select,.apc-news-form input,.apc-news-form select,.apc-news-form textarea{width:100%;border:1px solid #cbdceb;border-radius:10px;background:#f8fbff;padding:11px 12px;color:#173b68;box-sizing:border-box}.apc-search-form input{flex:1}.apc-table-wrap{overflow:auto;border:1px solid #e0e9f2;border-radius:14px}.apc-table{width:100%;border-collapse:collapse;min-width:760px}.apc-table th,.apc-table td{padding:13px 14px;border-bottom:1px solid #e8eef5;text-align:left;font-size:13px}.apc-table th{background:#f4f8fc;color:#54708e;font-size:11px;text-transform:uppercase;letter-spacing:.6px}.apc-table td{color:#536d87}.apc-table tr:last-child td{border-bottom:0}.apc-status{display:inline-block;border-radius:20px;padding:4px 9px;font-size:11px;font-weight:700}.apc-status.is-active{background:#e7f7ee;color:#277b4a}.apc-status.is-inactive{background:#f5eeee;color:#9a5555}.apc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.apc-form-grid label{display:block;color:#46627e;font-size:13px;font-weight:700}.apc-form-grid input,.apc-form-grid select{display:block;margin-top:7px}.apc-form-grid>div{display:flex;align-items:end}.apc-admin-news-list,.apc-news-admin-list{display:grid;gap:10px}.apc-news-admin-row{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;border:1px solid #e1e9f2;border-radius:14px;padding:10px}.apc-news-admin-thumb{width:72px;height:55px;border-radius:8px;overflow:hidden;background:#edf3f9;display:grid;place-items:center;font-size:10px;color:#718096}.apc-news-admin-thumb img{width:100%;height:100%;object-fit:cover}.apc-news-admin-info strong{display:block;color:#234f82}.apc-news-admin-info small{color:#8496aa}.apc-news-admin-actions{display:flex;gap:10px;font-size:12px}.apc-news-admin-actions a{color:#176bc4!important}.apc-danger-link{color:#b34b4b!important}.apc-empty{padding:30px;text-align:center;color:#73869c}.apc-menu-toggle{cursor:pointer}
@media(max-width:1000px){.apc-sidebar{width:235px;flex-basis:235px}.apc-admin-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.apc-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body:not(.apc-login-screen) .apc-app{display:block}.apc-sidebar{position:fixed;left:-290px;top:0;transition:left .2s}.apc-sidebar.is-open{left:0}.apc-menu-toggle{display:block}.apc-header{padding:0 16px}.apc-content{padding:18px}.apc-grid,.apc-admin-actions-grid,.apc-form-grid{grid-template-columns:1fr}.apc-admin-hero,.apc-admin-title-row{align-items:flex-start;flex-direction:column}.apc-user span{display:none}}


/* =========================================================
   APC PORTAL — FULL BLEED / AISLAMIENTO DEL TEMA
   ========================================================= */
body.apc-portal-screen {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    background: #f4f8fd !important;
}

body.apc-portal-screen #wpadminbar {
    display: none !important;
}

body.apc-portal-screen #page,
body.apc-portal-screen #content,
body.apc-portal-screen .site,
body.apc-portal-screen .site-content,
body.apc-portal-screen main,
body.apc-portal-screen .content-area,
body.apc-portal-screen .site-main,
body.apc-portal-screen .inside-article,
body.apc-portal-screen .entry-content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body.apc-portal-screen .site-header,
body.apc-portal-screen .main-navigation,
body.apc-portal-screen .site-footer,
body.apc-portal-screen .page-header,
body.apc-portal-screen .entry-header,
body.apc-portal-screen .entry-meta,
body.apc-portal-screen .entry-title {
    display: none !important;
}

body.apc-portal-screen .apc-app {
    position: relative !important;
    display: flex !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: none !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    box-sizing: border-box !important;
}

body.apc-portal-screen .apc-sidebar {
    flex: 0 0 270px !important;
    width: 270px !important;
    min-width: 270px !important;
    min-height: 100vh !important;
    height: 100vh !important;
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

body.apc-portal-screen .apc-main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.apc-portal-screen .apc-header {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

body.apc-portal-screen .apc-content {
    width: 100% !important;
    max-width: 1400px !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
    padding: 30px !important;
}

body.apc-portal-screen .apc-brand {
    padding: 16px 20px 18px !important;
    gap: 12px !important;
    min-height: 92px !important;
    box-sizing: border-box !important;
}

body.apc-portal-screen .apc-logo-mark {
    width: 62px !important;
    height: 62px !important;
    min-width: 62px !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.apc-portal-screen .apc-logo-mark img {
    display: block !important;
    width: 62px !important;
    height: 62px !important;
    max-width: none !important;
    padding: 0 !important;
    object-fit: contain !important;
    border-radius: 0 !important;
}

body.apc-portal-screen .apc-brand strong {
    line-height: 1.15 !important;
}

body.apc-portal-screen .apc-brand span {
    margin-top: 3px !important;
}

@media (max-width: 760px) {
    body.apc-portal-screen .apc-app {
        display: block !important;
        width: 100vw !important;
        min-width: 100vw !important;
        left: 0 !important;
        transform: none !important;
    }
    body.apc-portal-screen .apc-sidebar {
        width: 270px !important;
        min-width: 270px !important;
        position: fixed !important;
        left: -290px !important;
        top: 0 !important;
    }
    body.apc-portal-screen .apc-sidebar.is-open {
        left: 0 !important;
    }
    body.apc-portal-screen .apc-content {
        padding: 18px !important;
    }
}

/* =========================================================
 * Junta Nacional de Decisiones
 * ========================================================= */
.apc-junta-page { display: grid; gap: 18px; }
.apc-junta-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 18px; align-items: start; }
.apc-junta-form, .apc-junta-response-form { display: grid; gap: 14px; }
.apc-junta-field { display: grid; gap: 6px; }
.apc-junta-field label { font-weight: 600; font-size: 14px; }
.apc-junta-field label span { color: #b42318; }
.apc-junta-field small { color: #667085; font-size: 12px; }
.apc-junta-field input[type="text"], .apc-junta-field input[type="search"], .apc-junta-field input[type="file"], .apc-junta-field select, .apc-junta-field textarea,
.apc-junta-filter input, .apc-junta-filter select { width: 100%; box-sizing: border-box; border: 1px solid #d0d5dd; border-radius: 8px; padding: 10px 12px; background: #fff; color: #101828; }
.apc-junta-field textarea { resize: vertical; min-height: 130px; }
.apc-junta-submit { display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 8px; padding: 11px 18px; background: #0b376f; color: #fff; font-weight: 600; cursor: pointer; text-decoration: none; }
.apc-junta-submit:hover { opacity: .92; }
.apc-user-profile{display:flex;flex-direction:column;align-items:center;gap:4px}.apc-user-profile .apc-logout{font-size:11px;white-space:nowrap;color:#526a84!important}.apc-user-profile .apc-logout:hover{color:#1763b7!important}
.apc-nav-group.has-children>.apc-submenu[hidden]{display:none}.apc-nav-group.is-expanded>.apc-submenu{display:block}
.apc-audit-page h3{margin:28px 0 12px;color:#123f82}.apc-audit-period{display:flex;align-items:center;gap:8px}.apc-audit-period label{font-size:13px;font-weight:700;color:#46627e}.apc-audit-period select{padding:9px 11px;border:1px solid #cbdceb;border-radius:9px;background:#f8fbff;color:#173b68}.apc-audit-top-modules{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.apc-audit-top-modules>div{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:14px;border:1px solid #dce7f3;border-radius:12px;background:#f8fbff;color:#46627e}.apc-audit-top-modules strong{color:#123f82}.apc-audit-table{min-width:680px}.apc-audit-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.apc-audit-period{width:100%;flex-wrap:wrap}.apc-audit-period select{flex:1}.apc-audit-top-modules{grid-template-columns:1fr 1fr}}
.apc-junta-filters { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; align-items: end; }
.apc-junta-filter { display: grid; gap: 5px; }
.apc-junta-filter label { font-size: 12px; font-weight: 600; color: #475467; }
.apc-junta-filter-search { grid-column: span 2; }
.apc-junta-filter-actions { display: flex; gap: 10px; align-items: center; }
.apc-junta-filter-actions a { font-size: 13px; color: #0b376f; text-decoration: none; }
.apc-junta-table-wrap { overflow-x: auto; }
.apc-junta-table { width: 100%; border-collapse: collapse; min-width: 620px; }
.apc-junta-table th, .apc-junta-table td { padding: 11px 10px; border-bottom: 1px solid #eaecf0; text-align: left; vertical-align: top; font-size: 13px; }
.apc-junta-table th { color: #475467; font-weight: 700; background: #f8fafc; }
.apc-junta-table tbody tr:hover { background: #f9fafb; }
.apc-junta-response-row td { background: #fcfcfd; color: #475467; }
.apc-junta-action, .apc-junta-back { color: #0b376f; font-weight: 600; text-decoration: none; }
.apc-junta-count { color: #667085; font-size: 13px; }
.apc-junta-table-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.apc-junta-table-head h3 { margin: 0; }
.apc-junta-empty { padding: 18px; border: 1px dashed #d0d5dd; border-radius: 8px; color: #667085; background: #fcfcfd; }
.apc-status { display: inline-flex; border-radius: 999px; padding: 4px 9px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.apc-status-pendiente { background: #fff4e5; color: #9a6700; }
.apc-status-en_revision { background: #eef4ff; color: #175cd3; }
.apc-status-respondido { background: #ecfdf3; color: #027a48; }
.apc-status-cerrado { background: #f2f4f7; color: #344054; }
.apc-junta-detail-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.apc-junta-detail-head h2 { margin: 0 0 8px; }
.apc-junta-detail-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 20px 0; }
.apc-junta-detail-grid div { padding: 12px; border-radius: 8px; background: #f8fafc; display: grid; gap: 5px; }
.apc-junta-detail-grid strong, .apc-junta-detail-block > strong { font-size: 12px; color: #667085; }
.apc-junta-detail-block { margin: 16px 0; }
.apc-junta-detail-block p { margin: 6px 0 0; line-height: 1.6; }
.apc-junta-meta { color: #667085; font-size: 12px; }
.apc-success { border-left: 4px solid #12b76a; }

@media (max-width: 900px) {
    .apc-junta-grid { grid-template-columns: 1fr; }
    .apc-junta-filters { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
    .apc-junta-filter-search { grid-column: span 2; }
    .apc-junta-detail-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .apc-junta-filters { grid-template-columns: 1fr; }
    .apc-junta-filter-search { grid-column: auto; }
    .apc-junta-filter-actions { grid-column: auto; }
    .apc-junta-detail-grid { grid-template-columns: 1fr; }
    .apc-junta-table { min-width: 720px; }
}

/* 0.3.14 - afiliacion y perfil profesional */
.apc-affiliate-cta{margin:22px 0;padding:18px;border:1px solid rgba(0,0,0,.08);border-radius:14px;text-align:center}.apc-affiliate-cta p{margin:6px 0 14px}.apc-affiliate-form-wrap{margin:18px 0;padding:20px;border:1px solid rgba(0,0,0,.08);border-radius:14px}.apc-affiliate-form-wrap h2{margin-top:0}.apc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.apc-form-grid label{display:flex;flex-direction:column;gap:7px;font-weight:600}.apc-form-grid input,.apc-form-grid textarea,.apc-form-grid select{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid rgba(0,0,0,.16);border-radius:10px;font:inherit;font-weight:400}.apc-field-full{grid-column:1/-1}.apc-profile-photo{width:110px;height:110px;object-fit:cover;border-radius:50%;display:block;margin-bottom:12px}.apc-profile-photo-field{display:flex;flex-direction:column;gap:8px}.apc-profile-editor .apc-profile-summary{margin-bottom:22px}.apc-status{display:inline-block;padding:4px 9px;border-radius:999px;background:rgba(0,0,0,.06);font-size:12px;font-weight:700}.apc-button-secondary{opacity:.85}@media(max-width:700px){.apc-form-grid{grid-template-columns:1fr}}
/* 0.3.15 - eventos y webinars */
.apc-event-wide{grid-column:1/-1}.apc-event-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #cbdceb;border-radius:10px;background:#f8fbff;padding:11px 12px;color:#173b68;box-sizing:border-box}.apc-event-image-preview{max-width:440px;aspect-ratio:16/9;background:#f2f6fb;border:1px dashed #b7cce1;border-radius:12px;margin:9px 0;display:grid;place-items:center;overflow:hidden;color:#7589a0}.apc-event-image-preview img{width:100%;height:100%;object-fit:cover}.apc-event-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0}.apc-event-bi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.apc-event-bi-grid section{border:1px solid #dce7f3;border-radius:16px;padding:20px;background:#fff}.apc-event-bi-grid h3{color:#123f82}.apc-event-rank{list-style:none;padding:0;margin:0}.apc-event-rank li{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 0;border-bottom:1px solid #e8eef5;color:#526b85}.apc-event-rank i{grid-column:1/-1;background:#edf3f8;height:6px;border-radius:10px;overflow:hidden}.apc-event-rank i b{display:block;height:100%;background:linear-gradient(90deg,#1763b7,#f2a522);border-radius:10px}.apc-events-intro{margin-bottom:16px}.apc-events-portal .asow{max-width:none}.apc-events-portal .asow-heading{display:none}@media(max-width:760px){.apc-event-kpis,.apc-event-bi-grid{grid-template-columns:1fr}}


/* Formulario público de afiliación: acompaña la tarjeta de acceso. */
body.apc-login-screen .apc-affiliation-card { max-width: 680px !important; }
body.apc-login-screen .apc-affiliation-card .apc-affiliate-form-wrap { margin: 18px 0; padding: 0; border: 0; }
body.apc-login-screen .apc-affiliation-card .apc-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
body.apc-login-screen .apc-affiliation-card .apc-form-grid label { display: flex; flex-direction: column; gap: 7px; color: #46627e; font-size: 13px; font-weight: 600; }
body.apc-login-screen .apc-affiliation-card .apc-form-grid input,
body.apc-login-screen .apc-affiliation-card .apc-form-grid textarea { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid #cbdceb; border-radius: 10px; background: rgba(247,251,255,.92); color: #173b68; font: inherit; font-weight: 400; }
body.apc-login-screen .apc-affiliation-card .apc-form-grid textarea { min-height: 100px; resize: vertical; }
body.apc-login-screen .apc-affiliation-card .apc-form-grid>div { display: flex; align-items: end; }
body.apc-login-screen .apc-affiliation-card .apc-field-full { grid-column: 1/-1; }
body.apc-login-screen .apc-rethus-reference { padding: 12px 14px; border-radius: 10px; background: rgba(237,245,253,.85); color: #46627e; font-size: 13px; }
body.apc-login-screen .apc-rethus-reference p { margin: 4px 0; }
body.apc-login-screen .apc-rethus-reference a,
body.apc-login-screen .apc-affiliation-login-link a { color: #176bc4 !important; }
body.apc-login-screen .apc-affiliation-login-link { margin: 16px 0; color: #60738f; text-align: center; font-size: 13px; }
@media (max-width: 650px) {
    body.apc-login-screen .apc-affiliation-card { width: min(680px, calc(100vw - 28px)) !important; padding: 28px 22px 24px !important; }
    body.apc-login-screen .apc-affiliation-card .apc-form-grid { grid-template-columns: 1fr; gap: 12px; }
}
