﻿:root {
    --bg: #0e0f13;
    --surface: #16171d;
    --border: #2a2b35;
    --verde_uno: #0f3c2e;
    --verde_dos: #002919;
    --accent: #ca8a04;
    --accent2: #b17903;
    --text: #e8e6e0;
    --muted: #7a7870;
    --overlay: rgba(0, 0, 0, 0.72);
    --radius: 16px;
    --shadow: 0 12px 40px rgba(0,0,0,0.6), 0 0 0 1px var(--border);
    --accent-color: #ca8a04; /*Color dorado*/
    --heading-color: #053f30; /*Color verde*/
    /****************************/
    --panel: #1e1e2a;
    --shadow: 0 12px 40px rgba(0,0,0,0.6);
    --panel-w: 380px;
    --transition: 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    --default-font: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

body {
    font-family: var(--default-font);
}

/* ══════════════════════════════
       OVERLAY
    ══════════════════════════════ */
.fondo_modal_iaga {
    position: fixed;
    inset: 0;
    background: var(--overlay);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    z-index: 1000 !important;
    /* Estado oculto */
    /*    opacity: 0;
    visibility: hidden;*/
    /*opacity: .4;*/
    visibility: visible;
    transition: opacity .3s ease, visibility .3s ease;
}

/*    .modal-overlay.active {
        opacity: 1;
        visibility: visible;
    }*/

/* ══════════════════════════════
       VENTANA EMERGENTE
    ══════════════════════════════ */
.modal_iaga {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    width: 100%;
    max-width: 480px;
    overflow: hidden;
    /* Animación de entrada */
    transform: translateY(28px) scale(.96);
    transition: transform .35s cubic-bezier(.34,1.56,.64,1), opacity .3s ease;
    /*opacity: 0;*/
    z-index:1100 !important;
}

.modal_iaga {
    transform: translateY(0) scale(1);
    opacity: 1;
}

/* Barra superior de color */
.modal-accent-bar {
    height: 4px;
    background: linear-gradient(90deg, var(--verde_uno), var(--verde_dos));
    background: var(--accent-color);
}

.modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 28px 28px 0;
    gap: 16px;
}

.modal-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(232,201,126,.15), rgba(196,122,90,.15));
    border: 1px solid rgba(232,201,126,.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.modal-title-group {
    flex: 1;
}

.modal-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--text);
    line-height: 1.2;
}

.modal-subtitle {
    font-size: .78rem;
    color: var(--muted);
    margin-top: 4px;
    letter-spacing: .3px;
}

.modal-close {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: transparent;
    color: var(--muted);
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s, color .15s;
    flex-shrink: 0;
    line-height: 1;
}

    .modal-close:hover {
        background: rgba(255,255,255,.06);
        color: var(--text);
    }

.modal-body {
    padding: 20px 28px 24px;
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.7;
}

    .modal-body p + p {
        margin-top: 10px;
    }

/* Separador decorativo */
.modal-divider {
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--border), transparent);
    margin: 0 28px;
}

.modal-footer {
    padding: 20px 28px 28px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

/* ══════════════════════════════
       VARIANTE: MODAL DE CONFIRMACIÓN (peligro)
    ══════════════════════════════ */
#modal-danger .modal-accent-bar {
    background: linear-gradient(90deg, #e85555, #c45a5a);
}

#modal-danger .modal-icon {
    background: rgba(220,60,60,.12);
    border-color: rgba(220,60,60,.25);
}

/* ══════════════════════════════
       ETIQUETA DE CÓDIGO
    ══════════════════════════════ */
.hint {
    font-size: .75rem;
    color: var(--muted);
    letter-spacing: .3px;
}

.btn {
    font-family: 'DM Sans', sans-serif;
    font-size: .85rem;
    font-weight: 500;
    letter-spacing: .5px;
    padding: 12px 28px;
    border-radius: 50px;
    cursor: pointer;
    border: none;
    transition: transform .15s, box-shadow .15s, opacity .15s;
}

    .btn:hover {
        transform: translateY(-2px);
        opacity: .92;
    }

    .btn:active {
        transform: translateY(0);
    }

.btn-primary {
    background: linear-gradient(135deg, var(--accent), var(--accent2));
    color: #1a1208;
    box-shadow: 0 8px 24px rgba(232,201,126,.3);
}

    .btn-primary:hover {
        color: var(--verde_dos);
    }

.btn-ghost {
    background: transparent;
    color: var(--text);
    border: 1px solid var(--border);
}

    .btn-ghost:hover {
        border-color: var(--accent);
        color: var(--accent);
    }

.btn-danger {
    background: rgba(220,60,60,.15);
    color: #f08080;
    border: 1px solid rgba(220,60,60,.3);
}

    .btn-danger:hover {
        background: rgba(220,60,60,.25);
        color: #f08080;
    }

.label_ {
    font-size: .78rem;
    color: var(--text);
    letter-spacing: .3px
}

.TextBox_ {
    background: rgba(255,255,255,.04);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 10px 14px;
    color: var(--text);
    font-family: 'DM Sans',sans-serif;
    font-size: .88rem;
    outline: none;
    transition: border-color .2s;
}

    .TextBox_:focus {
        border-color: var(--accent);
    }

.textarea_ {
    background: rgba(255,255,255,.04);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 10px 14px;
    color: var(--text);
    font-family: 'DM Sans',sans-serif;
    font-size: .88rem;
    outline: none;
    resize: vertical;
    transition: border-color .2s;
}

    .textarea_:focus {
        border-color: var(--accent);
    }

/* ══════════════════════════════
       MODAL LADO IZQUIERDO
    ══════════════════════════════ */


/**, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}*/

/*:root {
    --bg: #0f0f13;
    --surface: #17171f;
    --panel: #1e1e2a;
    --accent: #c8a96e;
    --accent2: #7c6fcd;
    --text: #e8e4dc;
    --muted: #7a7890;
    --border: rgba(200,169,110,0.15);
    --shadow: 0 24px 80px rgba(0,0,0,0.6);
    --panel-w: 340px;
    --radius: 16px;
    --transition: 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}*/

/*body {
    background: var(--bg);
    font-family: 'DM Sans', sans-serif;
    color: var(--text);
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow-x: hidden;
}*/

/* ── Fondo decorativo ── */
/*    body::before {
        content: '';
        position: fixed;
        inset: 0;
        background: radial-gradient(ellipse 60% 50% at 15% 50%, rgba(124,111,205,0.12) 0%, transparent 70%), radial-gradient(ellipse 40% 40% at 80% 20%, rgba(200,169,110,0.08) 0%, transparent 60%);
        pointer-events: none;
        z-index: 0;
    }*/

/* ── Página principal ── */
/*.page {
    position: relative;
    z-index: 1;
    text-align: center;
}*/

.page h1 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 5vw, 3.2rem);
    color: var(--accent);
    letter-spacing: -0.5px;
    margin-bottom: 12px;
}

.page p {
    color: var(--muted);
    font-size: 1.05rem;
    margin-bottom: 36px;
    line-height: 1.6;
}

── Botón disparador ──
.trigger-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background: transparent;
    border: 1.5px solid var(--accent);
    color: var(--accent);
    font-family: 'DM Sans', sans-serif;
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0.5px;
    border-radius: 50px;
    cursor: pointer;
    transition: background 0.25s, color 0.25s, box-shadow 0.25s;
}

.trigger-btn:hover {
    background: var(--accent);
    color: #0f0f13;
    box-shadow: 0 0 32px rgba(200,169,110,0.35);
}

.trigger-btn svg {
    width: 18px;
    height: 18px;
}

/* ── Overlay ── */
.overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition), visibility var(--transition);
    z-index: 998 !important;
}

    .overlay.active {
        opacity: 1 !important;
        visibility: visible !important;
    }

.overlay_active {
    opacity: 1 !important;
    visibility: visible !important;
}
/* ── Panel lateral ── */
.side-panel,
.side-panel_Tb,
.side-panel-Asociado {
    position: fixed;
    top: 0;
    /*left: 0;*/
    right: -860px;
    width: var(--panel-w);
    height: 100%;
    background: var(--panel);
    border-right: 1px solid var(--border);
    box-shadow: var(--shadow);
    transform: translateX(calc(-1 * var(--panel-w)));
    transition: transform var(--transition);
    z-index: 999 !important;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

    .side-panel.active {
        transform: translateX(0);
    }

.side-panel_active,
.side-panel_Tb_active,
.side-panel-Asociado_active {
    /*transform: translateX(0);*/
    transform: translateX(-860px);
}

/* Franja de acento superior */
.panel-accent-bar {
    height: 3px;
    background: linear-gradient(90deg, var(--accent2), var(--accent));
    flex-shrink: 0;
}

/* Cabecera */
.panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /*    padding: 24px 24px 20px;*/
    padding: 20px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.panel-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

    .panel-title .icon-wrap {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        background: rgba(200,169,110,0.12);
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .panel-title .icon-wrap svg {
            color: var(--accent);
            width: 18px;
            height: 18px;
        }

    .panel-title h2,
    .panel-title h2 span{
        /*font-family: 'Playfair Display', serif;*/
        font-size: 1rem;
        color: var(--text);
        text-transform: uppercase;
        font-weight: 600;
    }

.close-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,0.05);
    border: 1px solid var(--border);
    color: var(--muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, color 0.2s;
}

    .close-btn:hover {
        background: rgba(200,169,110,0.15);
        color: var(--accent);
    }

    .close-btn svg {
        width: 16px;
        height: 16px;
    }

/* Contenido del panel */
.panel-body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    scrollbar-width: thin;
    scrollbar-color: var(--border) transparent;
}

/* Tarjeta de perfil */
.profile-card {
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.avatar {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    /*background: linear-gradient(135deg, var(--accent2), var(--accent));*/
    background: linear-gradient(135deg, var(--verde_uno), var(--verde_dos));
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Playfair Display', serif;
    font-size: 1.3rem;
    color: #fff;
    flex-shrink: 0;
    object-fit: cover;
    background-image: url('../../../05-Imagenes/Clientes/img/UsuarioGF_B_5.svg');
    overflow:hidden;
}

.profile-info h3,
.profile-info h3 span{
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text);
}

.profile-info span,
.profile-info span span{
    font-size: 0.8rem;
    color: var(--muted);
}

/* Menú de navegación */
.nav-menu {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid transparent;
    cursor: pointer;
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 500;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    text-decoration: none;
}

    .nav-item svg {
        width: 18px;
        height: 18px;
        flex-shrink: 0;
    }

    .nav-item:hover, .nav-item.active {
        background: rgba(200,169,110,0.08);
        color: var(--accent);
        border-color: var(--border);
    }

    .nav-item .badge {
        margin-left: auto;
        background: var(--accent2);
        color: #fff;
        font-size: 0.7rem;
        padding: 2px 7px;
        border-radius: 50px;
    }

/* Sección de etiqueta */
.section-label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--muted);
    padding: 0 4px;
}

/* Tarjeta de progreso */
.progress-card {
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 18px;
}

    .progress-card h4 {
        font-size: 0.85rem;
        font-weight: 500;
        color: var(--text);
        margin-bottom: 4px;
    }

    .progress-card p {
        font-size: 0.78rem;
        color: var(--muted);
        margin-bottom: 12px;
    }

.progress-bar {
    height: 6px;
    background: rgba(255,255,255,0.07);
    border-radius: 999px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--accent2), var(--accent));
    width: 0%;
    transition: width 1s ease 0.5s;
}

.side-panel.active .progress-fill {
    width: 72%;
}

.progress-meta {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    font-size: 0.75rem;
    color: var(--muted);
}

/* Pie del panel */
.panel-footer {
    padding: 18px 24px;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
}

.logout-btn {
    width: 100%;
    padding: 11px;
    background: transparent;
    border: 1px solid rgba(255,80,80,0.25);
    color: rgba(255,100,100,0.7);
    border-radius: 10px;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.88rem;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

    .logout-btn svg {
        width: 16px;
        height: 16px;
    }

    .logout-btn:hover {
        background: rgba(255,80,80,0.1);
        color: #ff6464;
        border-color: rgba(255,80,80,0.5);
    }




/*********************************************************************/




/******************************* Tabla Oscuro ***********************************************/



.profile-card_table_N {
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--border);
    /*border-radius: var(--radius);*/
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    overflow-x: auto;
    overflow-y: auto;
}

/* ══════════════════════════════
       TABLA LADO IZQUIERDO
    ══════════════════════════════ */
.table_N {
    width: 100% !important;
    background: #1e1e2a;
    margin-bottom: 1em;
    border: solid 1px rgba(255,255,255,0.2);
    border-collapse: collapse;
    border-spacing: 0;
    /*table-layout: fixed !important;*/
    color: rgba(255,255,255,0.8);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 1.2px;
    /*margin-top:1rem !important;*/
    /*    padding: 1em;*/
}

    .table_N tbody tr th {
        position: sticky;
        top: -1px !important;
        height: 50px !important;
        cursor: default;
        background-color: #ba8000;
        border-bottom: 1px solid rgba(202,138,4,.2);
        box-shadow: inset 0 -1px 0 rgba(221,221,221,0.1);
        cursor: default;
        color: rgba(255,255,255,0.8);
    }

    .table_N tr th {
        padding: 0.8em 0.6em;
        font-size: 0.72rem;
        font-weight: 600;
        letter-spacing: 1.2px;
        color: rgba(221,221,221,0.1);
        border: 1px solid #ba8000;
        cursor: pointer;
        text-transform: uppercase;
    }

    .table_N tr td {
        /*margin-top:50px;*/
        padding: 0.8em 0.6em;
        color: rgba(255,255,255,0.6);
        border: 1px solid rgba(186,128,0,.1);
    }


    .table_N tbody tr:hover {
        background-color: rgba(15,60,46,0.4);
    }

    .table_N tr.even,
    .table_N tr.alt,
    .table_N tr:nth-of-type(even) {
        background: #252532;
    }

/* ══════════════════════════════
            USUARIO IAGA
    ══════════════════════════════ */

.profile-details {
    display: flex;
    align-items: center;
    background: var(--verde_uno);
    border: 2px solid var(--accent-color);
    border-radius: 6px;
    height: 40px;
    min-width: 100px;
    max-width: 140px;
    padding: 0 2px 0px 4px;
    margin-left: 30px;
    cursor: pointer;
}

    .profile-details:hover {
        background: var(--verde_dos);
    }

    .profile-details img {
        height: 22px;
        width: 22px;
        border-radius: 6px;
        object-fit: cover;
        background-image: url('../../../05-Imagenes/Clientes/img/UsuarioGF_B_5.svg');
    }

    .profile-details .admin_name {
        font-size: 0.8rem;
        font-weight: 400;
        color: rgba(255,255,255,.8);
        margin: 0 10px;
        white-space: nowrap;
        width: 100%;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }

    .profile-details i {
        font-size: 25px;
        color: rgba(255,255,255,.8);
    }


@media (max-width: 1200px) {

    .header .profile-details {
        order: 2;
        margin: 0 15px 0 0;
        padding: 6px 15px;
    }
}
