/*==================================================
DASHBOARD
==================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:Arial, Helvetica, sans-serif;
    background:#eef6ff;
    color:#0b2c4d;

}

.container{

    width:92%;
    max-width:1400px;
    margin:auto;

}


/*==================================================
ENCABEZADO
==================================================*/

.dashboard-header{

    padding:35px 0;

}

.dashboard-back{

    display:inline-block;

    text-decoration:none;

    color:#0b4f8a;

    font-weight:600;

    margin-bottom:25px;

}

.dashboard-back:hover{

    color:#2fa866;

}

.section-label{

    color:#2fa866;
    text-transform:uppercase;
    font-size:15px;
    font-weight:700;
    letter-spacing:3px;
    margin-bottom:15px;

}

.dashboard-header h1{

    font-size:52px;
    color:#0b4f8a;
    margin-bottom:20px;

}

.dashboard-header p{

    max-width:900px;
    line-height:1.8;
    font-size:18px;
    color:#4e647c;

}



/*==================================================
FILTROS
==================================================*/

.dashboard-filters{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin:40px 0;

}

.dashboard-filters select{

    height:52px;

    border:1px solid #d9e4ee;

    border-radius:12px;

    padding:0 15px;

    background:#fff;

    font-size:15px;

}



/*==================================================
KPIs
==================================================*/

.dashboard-kpis{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

    margin-bottom:45px;

}

.kpi-card{

    background:#fff;

    border-radius:18px;

    padding:28px;

    text-align:center;

    box-shadow:0 8px 20px rgba(0,0,0,.05);

    border-top:4px solid #2fa866;

}

.kpi-numero{

    font-size:36px;

    font-weight:bold;

    color:#0b4f8a;

    margin-bottom:10px;

}

.kpi-texto{

    color:#5d6f82;

    font-size:15px;

}



/*==================================================
GRAFICAS
==================================================*/

.dashboard-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:24px;

}

.dashboard-card{

    background:#fff;

    border-radius:18px;

    padding:22px;

    box-shadow:0 8px 20px rgba(0,0,0,.05);

}

.dashboard-card h3{

    color:#0b4f8a;

    margin-bottom:20px;

    font-size:21px;

}

.dashboard-card canvas{

    width:100%!important;

    height:320px!important;

}



/*==================================================
TABLA
==================================================*/

.dashboard-table{

    margin-top:30px;

}

.table-responsive{

    overflow:auto;

}

table{

    width:100%;

    border-collapse:collapse;

}

thead{

    background:#0b4f8a;

    color:white;

}

th{

    padding:16px;

    text-align:left;

}

td{

    padding:15px;

    border-bottom:1px solid #ececec;

}

tbody tr:nth-child(even){

    background:#f8fbff;

}

tbody tr:hover{

    background:#eef7ff;

}



/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:1100px){

.dashboard-filters{

grid-template-columns:repeat(2,1fr);

}

.dashboard-kpis{

grid-template-columns:repeat(2,1fr);

}

.dashboard-grid{

grid-template-columns:1fr;

}

}

@media(max-width:700px){

.dashboard-filters{

grid-template-columns:1fr;

}

.dashboard-kpis{

grid-template-columns:1fr;

}

.dashboard-header h1{

font-size:38px;

}

}
/* ==========================
   MENÚ ACTIVO
========================== */

.menu a{
    position: relative;
    transition: .3s;
}

.menu a.active{

    color:#0b4f8a;

    padding:10px 18px;

    border-radius:30px;

    font-weight:700;

}

.menu a.active::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:100%;

    height:3px;

    background:#2fa866;

    border-radius:50px;

}
/*=====================================
BARRA SUPERIOR
=====================================*/

.dashboard-info{

    display:flex;

    justify-content:space-between;

    gap:20px;

    margin:30px 0;

}

.info-card{

    flex:1;

    background:#fff;

    border-radius:18px;

    padding:18px 24px;

    box-shadow:0 10px 25px rgba(16,42,67,.08);

    border:1px solid #e8eef5;

}

.info-card span{

    display:block;

    color:#637381;

    font-size:.9rem;

    margin-bottom:8px;

}

.info-card strong{

    font-size:1.35rem;

    color:#0b4f8a;

}

@media(max-width:768px){

.dashboard-info{

flex-direction:column;

}

}
/*=====================================
BUSCADOR
=====================================*/

.dashboard-tools{

display:flex;

gap:20px;

margin-bottom:35px;

}

#buscador{

flex:1;

height:52px;

padding:0 18px;

border-radius:14px;

border:1px solid #d8e4ef;

font-size:15px;

}

#buscador:focus{

outline:none;

border-color:#0b4f8a;

box-shadow:0 0 0 4px rgba(11,79,138,.12);

}

#btnLimpiar{

padding:0 24px;

border:none;

border-radius:14px;

background:#0b4f8a;

color:#fff;

cursor:pointer;

font-weight:600;

transition:.3s;

}

#btnLimpiar:hover{

background:#083963;

}

@media(max-width:768px){

.dashboard-tools{

flex-direction:column;

}

#btnLimpiar{

height:50px;

}

}
#google_translate_element{
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:9999;
    background:white;
    padding:10px;
    border-radius:12px;
    box-shadow:0 10px 25px rgba(0,0,0,.15);
}
.cookie-banner{
    position:fixed;
    left:20px;
    right:20px;
    bottom:20px;
    background:#fff;
    border:1px solid #d7e8f7;
    border-radius:20px;
    box-shadow:0 18px 45px rgba(16,42,67,.18);
    padding:18px;
    z-index:99999;
    display:none;
}

.cookie-banner.show{
    display:block;
}

.cookie-content{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    max-width:1100px;
    margin:auto;
}

.cookie-content p{
    margin:0;
    color:#405466;
    font-size:.95rem;
    line-height:1.6;
}

.cookie-actions{
    display:flex;
    gap:12px;
    flex-shrink:0;
}

.btn-cookie{
    border:none;
    border-radius:999px;
    padding:10px 20px;
    font-weight:800;
    cursor:pointer;
}

.btn-cookie.accept{
    background:#f28c28;
    color:#fff;
}

.btn-cookie.reject{
    background:#eef7ff;
    color:#0b4f8a;
}

@media(max-width:700px){
    .cookie-content{
        flex-direction:column;
        align-items:flex-start;
    }

    .cookie-actions{
        width:100%;
    }

    .btn-cookie{
        width:100%;
    }
}