/*=========================================================
    AAA - Atención al Asociado
    Estilo Institucional
    Versión 4.0 Premium
==========================================================*/

/*=========================================================
    RESET
==========================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/*=========================================================
    VARIABLES
==========================================================*/

:root{

    --verde:#006B4F;
    --verde-oscuro:#004D39;
    --verde-claro:#0B8A63;

    --dorado:#C9A227;

    --gris:#6C757D;
    --gris-claro:#F4F7F8;

    --blanco:#FFFFFF;

    --texto:#253238;

    --sombra:0 15px 35px rgba(0,0,0,.18);

    --radio:18px;

    --transicion:.35s ease;

}

/*=========================================================
    BODY
==========================================================*/

body{

    margin:0;

    font-family:"Segoe UI",Tahoma,Arial,sans-serif;

    background:
        linear-gradient(
            rgba(0,0,0,.60),
            rgba(0,0,0,.60)
        ),
        url("../img/background.jpg") center center / cover no-repeat fixed;

    min-height:100vh;

 

}
/*=========================================================
    CONTENEDOR
==========================================================*/

.container{

    width:min(1400px,95%);

    margin:35px auto;

}
/*=========================================================
    HEADER
==========================================================*/

.header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:40px 50px;

    border-radius:25px;

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.98),
        rgba(245,249,247,.98)
    );

    border-top:6px solid var(--verde);

    border-bottom:4px solid var(--dorado);

    box-shadow:0 18px 40px rgba(0,0,0,.18);

}

/*=========================================================
    LOGO
==========================================================*/

.logo{

    width:165px;

    height:auto;

    filter:
        drop-shadow(0 10px 15px rgba(0,0,0,.35));

    transition:var(--transicion);

}

.logo:hover{

    transform:scale(1.04);

}

/*=========================================================
    TITULOS
==========================================================*/

.title{

    color:var(--verde);

}

.title h1{

    font-size:52px;

    font-weight:700;

    letter-spacing:1px;

}

.title h2{

    margin-top:6px;

    font-size:25px;

    font-weight:300;

}

.title p{

    margin-top:12px;

    color:#5F6B6A;

    font-size:16px;

    letter-spacing:.4px;

}


/*=========================================================
    TARJETAS PRINCIPALES
==========================================================*/

.card{

    background:rgba(255,255,255,.96);

    border-radius:var(--radio);

    padding:28px;

    margin-top:25px;

    box-shadow:var(--sombra);

    transition:var(--transicion);

    overflow:hidden;

    position:relative;

}

.card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:linear-gradient(
        90deg,
        var(--verde),
        var(--verde-claro),
        var(--dorado)
    );

}

.card:hover{

    transform:translateY(-6px);

    box-shadow:0 22px 40px rgba(0,0,0,.22);

}

/*=========================================================
    TITULOS DE SECCION
==========================================================*/

.section-title{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:20px;

    color:var(--verde);

    font-size:24px;

    font-weight:700;

    border-bottom:2px solid #ECECEC;

    padding-bottom:12px;

}

/*=========================================================
    GRID DE INFORMACIÓN
==========================================================*/

.info-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:18px;

}

.info-item{

    background:#FAFBFC;

    border-left:5px solid var(--verde);

    border-radius:12px;

    padding:18px;

    transition:var(--transicion);

}

.info-item:hover{

    background:white;

    transform:translateY(-3px);

}

.info-label{

    font-size:13px;

    color:var(--gris);

    text-transform:uppercase;

    letter-spacing:.8px;

    margin-bottom:6px;

}

.info-value{

    font-size:21px;

    font-weight:700;

    color:var(--texto);

}

/*=========================================================
    BADGES
==========================================================*/

.badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 18px;

    border-radius:40px;

    color:white;

    font-weight:700;

    font-size:14px;

    letter-spacing:.5px;

}

.badge-activo{

    background:#16A34A;

}

.badge-inactivo{

    background:#DC2626;

}

.badge-suspendido{

    background:#D97706;

}

.badge-moroso{

    background:#B91C1C;

}

.badge-preventivo{

    background:#CA8A04;

}

/*=========================================================
    TARJETAS DE RESUMEN
==========================================================*/

.summary-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));

    gap:20px;

    margin-top:20px;

}

.summary-card{

    background:linear-gradient(
        135deg,
        white,
        #F5F9F7
    );

    border-radius:18px;

    padding:28px;

    text-align:center;

    border:1px solid rgba(0,107,79,.08);

    transition:var(--transicion);

}

.summary-card:hover{

    transform:translateY(-6px);

}

.summary-title{

    color:var(--gris);

    font-size:15px;

}

.summary-value{

    margin-top:12px;

    color:var(--verde);

    font-size:38px;

    font-weight:800;

}

.summary-money{

    color:var(--dorado);

}

/*=========================================================
    TABLAS
==========================================================*/

.table-responsive{

    overflow-x:auto;

    margin-top:20px;

}

table{

    width:100%;

    border-collapse:collapse;

    background:white;

    border-radius:15px;

    overflow:hidden;

}

thead{

    background:linear-gradient(
        90deg,
        var(--verde),
        var(--verde-claro)
    );

}

thead th{

    color:white;

    padding:16px;

    text-align:left;

    font-size:14px;

    letter-spacing:.5px;

}

tbody td{

    padding:15px;

    border-bottom:1px solid #ECECEC;

    transition:var(--transicion);

}

tbody tr:nth-child(even){

    background:#FAFBFC;

}

tbody tr:hover{

    background:#EAF7F2;

}

/*=========================================================
    VALORES MONETARIOS
==========================================================*/

.money{

    font-weight:700;

    color:#0B8A63;

}

.money-danger{

    color:#C62828;

    font-weight:700;

}

/*=========================================================
    MENSAJES
==========================================================*/

.alert{

    padding:18px 22px;

    border-radius:15px;

    margin-top:20px;

    font-weight:600;

}

.alert-success{

    background:#E8F8EF;

    color:#166534;

    border-left:5px solid #22C55E;

}

.alert-warning{

    background:#FFF8E6;

    color:#92400E;

    border-left:5px solid #F59E0B;

}

.alert-danger{

    background:#FDECEC;

    color:#991B1B;

    border-left:5px solid #DC2626;

}

/*=========================================================
    BOTONES
==========================================================*/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:14px 28px;

    border:none;

    border-radius:12px;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    text-decoration:none;

    transition:var(--transicion);

}

.btn-primary{

    background:linear-gradient(
        135deg,
        var(--verde),
        var(--verde-claro)
    );

    color:white;

}

.btn-primary:hover{

    transform:translateY(-3px);

    box-shadow:0 12px 28px rgba(0,107,79,.30);

}

.btn-secondary{

    background:white;

    color:var(--verde);

    border:2px solid var(--verde);

}

.btn-secondary:hover{

    background:var(--verde);

    color:white;

}

.btn-gold{

    background:linear-gradient(
        135deg,
        #D4AF37,
        #C9A227
    );

    color:white;

}

.btn-gold:hover{

    transform:translateY(-3px);

    box-shadow:0 10px 24px rgba(201,162,39,.35);

}

/*=========================================================
    FOOTER
==========================================================*/

.footer{

    margin-top:40px;

    background:rgba(0,77,57,.95);

    color:white;

    border-radius:20px;

    padding:22px;

    text-align:center;

    box-shadow:var(--sombra);

}

.footer strong{

    color:var(--dorado);

}

.footer small{

    display:block;

    margin-top:8px;

    opacity:.85;

}

/*=========================================================
    ANIMACIONES
==========================================================*/

@keyframes fadeIn{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes zoomIn{

    from{

        opacity:0;

        transform:scale(.95);

    }

    to{

        opacity:1;

        transform:scale(1);

    }

}

.card{

    animation:fadeIn .5s ease;

}

.summary-card{

    animation:zoomIn .5s ease;

}

/*=========================================================
    SCROLL PERSONALIZADO
==========================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#EAEAEA;

}

::-webkit-scrollbar-thumb{

    background:var(--verde);

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--verde-oscuro);

}

/*=========================================================
    UTILIDADES
==========================================================*/

.text-center{

    text-align:center;

}

.text-right{

    text-align:right;

}

.mt-10{

    margin-top:10px;

}

.mt-20{

    margin-top:20px;

}

.mt-30{

    margin-top:30px;

}

.mb-20{

    margin-bottom:20px;

}

.w-100{

    width:100%;

}

/*=========================================================
    RESPONSIVE
==========================================================*/

@media(max-width:992px){

    .header{

        flex-direction:column;

        text-align:center;

        gap:25px;

        padding:30px;

    }

   .logo{

    width:175px;

    height:auto;

    padding:12px;

    background:white;

    border-radius:18px;

    box-shadow:0 12px 28px rgba(0,0,0,.15);

    transition:var(--transicion);

}

    .title h1{

        font-size:38px;

    }

    .title h2{

        font-size:22px;

    }

}

@media(max-width:768px){

    .container{

        width:96%;

        margin:20px auto;

    }

    .card{

        padding:20px;

    }

    .summary-grid{

        grid-template-columns:1fr;

    }

    .info-grid{

        grid-template-columns:1fr;

    }

    thead th{

        font-size:13px;

    }

    tbody td{

        font-size:13px;

    }

    .btn{

        width:100%;

    }

}

@media(max-width:480px){

    .logo{

        width:110px;

    }

    .title h1{

        font-size:30px;

    }

    .title h2{

        font-size:18px;

    }

    .title p{

        font-size:14px;

    }

    .summary-value{

        font-size:30px;

    }

}
/*=========================================================
    INDEX.PHP - BUSCADOR PREMIUM
==========================================================*/

#frmBuscar{

    max-width:760px;

    margin:0 auto;

}

#txtBuscar{

    width:100%;

    height:68px;

    padding:0 25px;

    border:2px solid #D9E3E0;

    border-radius:14px;

    font-size:22px;

    text-align:center;

    background:#FFFFFF;

    transition:.30s;

}

#txtBuscar:focus{

    outline:none;

    border-color:var(--verde);

    box-shadow:0 0 0 5px rgba(0,107,79,.12);

}

#btnBuscar{

    margin-top:22px;

    height:62px;

    font-size:21px;

    font-weight:700;

    border-radius:14px;

}

/*=========================================================
    FIN DEL ARCHIVO
==========================================================*/

/*=========================================================
  LANDING PAGE V2
=========================================================*/

.landing{

    position:relative;

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    overflow:hidden;

}


/*=========================================================
  CAPA OSCURA
=========================================================*/

.landing-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.45);

    backdrop-filter:blur(2px);

}


/*=========================================================
  CONTENIDO
=========================================================*/

.landing-content{

    position:relative;

    z-index:10;

    width:min(92%,720px);

    text-align:center;

    color:#fff;

}


/*=========================================================
  LOGO
=========================================================*/

.landing-logo{

    width:250px;

    margin-bottom:45px;

    filter:

        drop-shadow(0 15px 30px rgba(0,0,0,.40));

}
/*=========================================================
  TITULO
=========================================================*/

.landing-title{

    font-size:68px;

    font-weight:800;

    letter-spacing:-1px;

    color:#fff;

    margin-bottom:18px;

    text-shadow:

        0 6px 20px rgba(0,0,0,.45);

}

/*=========================================================
  CLUB
=========================================================*/

.landing-club{

    font-size:24px;

    opacity:.95;

    margin-bottom:12px;

}


/*=========================================================
  DESCRIPCION
=========================================================*/

.landing-description{

    font-size:18px;

    opacity:.85;

    margin-bottom:55px;

}

/*=========================================================
  FORMULARIO
=========================================================*/

.search-form{

    margin-top:20px;

    background:rgba(255,255,255,.10);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.18);

    border-radius:26px;

    padding:35px;

    display:flex;

    flex-direction:column;

    gap:24px;

    box-shadow:0 30px 60px rgba(0,0,0,.35);

}


/*=========================================================
  INPUT
=========================================================*/

.search-form input{

    height:72px;

    border:none;

    border-radius:16px;

    background:#ffffff;

    padding:0 28px;

    font-size:23px;

    text-align:center;

    outline:none;

    transition:.30s;

}

.search-form input:focus{

    transform:scale(1.02);

    box-shadow:

        0 0 0 5px rgba(0,136,90,.18),

        0 20px 45px rgba(0,0,0,.25);

}
/*=========================================================
  BOTON
=========================================================*/

.search-form button{

    height:64px;

    border:none;

    border-radius:16px;

    background:linear-gradient(

        135deg,

        #009966,

        #006B4F

    );

    color:white;

    font-size:21px;

    font-weight:700;

    letter-spacing:.8px;

    cursor:pointer;

    transition:.25s;

}
.search-form button:hover{

    transform:translateY(-3px);

    box-shadow:0 18px 40px rgba(0,107,79,.40);

}

/*=========================================================
  AYUDA
=========================================================*/

.search-help{

    margin-top:30px;

    color:rgba(255,255,255,.90);

    font-size:16px;

    letter-spacing:.3px;

}
/*=========================================================
    RESUMEN EJECUTIVO
=========================================================*/

.resumen-deuda{
    margin:20px 0 25px;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 4px 12px rgba(0,0,0,.12);
    border:1px solid #e5e5e5;
}

.resumen-header{
    padding:18px 25px;
}

.resumen-header h3{
    margin:0;
    font-size:22px;
    font-weight:700;
}

.resumen-header p{
    margin:8px 0 0;
    font-size:14px;
    opacity:.90;
}

.resumen-deuda-vencida .resumen-header{
    background:#d32f2f;
    color:#fff;
}

.resumen-al-dia .resumen-header{
    background:#198754;
    color:#fff;
}

.resumen-kpis{

    display:flex;
    gap:25px;

    padding:25px;

    background:#f8f9fa;

    flex-wrap:wrap;

}

.kpi-card{

    flex:1;

    min-width:250px;

    background:#fff;

    border-radius:10px;

    border:1px solid #e6e6e6;

    padding:25px;

    text-align:center;

    transition:.25s;

}

.kpi-card:hover{

    transform:translateY(-3px);

    box-shadow:0 8px 18px rgba(0,0,0,.10);

}

.kpi-icono{

    font-size:34px;

    margin-bottom:12px;

}

.kpi-valor{

    font-size:34px;

    font-weight:bold;

    color:#0b6b4b;

    margin-bottom:10px;

}

.kpi-titulo{

    font-size:15px;

    color:#666;

    font-weight:600;

}

@media(max-width:768px){

    .resumen-kpis{

        flex-direction:column;

    }

    .kpi-card{

        min-width:100%;

    }

}
/*=========================================================
    BOTONES DE ACCIÓN
=========================================================*/

.acciones-finales{

    display:flex;

    justify-content:center;

    gap:20px;

    margin:35px 0 10px;

    flex-wrap:wrap;

}

.acciones-finales a{

    min-width:260px;

    text-align:center;

    text-decoration:none;

    color:#fff;

    font-size:16px;

    font-weight:700;

    padding:16px 24px;

    border-radius:10px;

    transition:.25s;

    box-shadow:0 4px 12px rgba(0,0,0,.15);

}

.btn-historial{

    background:#198754;

}

.btn-historial:hover{

    background:#157347;

    transform:translateY(-3px);

}

.btn-estado{

    background:#0d6efd;

}

.btn-estado:hover{

    background:#0b5ed7;

    transform:translateY(-3px);

}

@media(max-width:768px){

    .acciones-finales{

        flex-direction:column;

        align-items:center;

    }

    .acciones-finales a{

        width:100%;

        max-width:380px;

    }

}