:root{
    --white:#FFFFFF;
    --black:#000000;
    --azulapac:#9f3c11;
    --very-ligth-pink:#C7C7C7;
    --text-input-field:#F7F7F7;
    --hospital-green:#ACD9B2;
    --sm:14px;
    --md:16px;
    --lg:20px;
}

*{

    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Inter',Arial,sans-serif;
}
body{
    background:#f1f5f9;
}

/* Layout */

.layout{
    display:flex;
    height:100vh;
}

/* SIDEBAR */
.sidebar .logo{
    width:100%;
    padding:10px 10px 15px 10px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-bottom:1px solid rgba(255,255,255,0.15);
}

.sidebar .header-left{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    margin:0;
    padding:0;
}

.sidebar .header-logo{
    width:100%;
    max-width:250px;
    height:auto;
    max-height:none;
    object-fit:contain;
    padding:0;
    display:block;
}
.sidebar{ /*  COLORES DEL MENU PRINCIPAL */
    position:fixed;
    left:0;
    top:0;
    width:270px;
    height:100vh;
    background:#358ecd;
    color:white;
    transition:.3s;
    z-index:1000;
    overflow-y:auto;
}

.sidebar ul{
    margin:0;
    padding:0;
    list-style:none;
}

.sidebar li{
    height:45px;
    display:flex;
    align-items:center;
    gap:15px;
    padding:0 20px;
    cursor:pointer;
    box-sizing:border-box;
}
.sidebar li i{
    width:25px;
    text-align:center;}
.badge-construccion{
    margin-left:auto;
    font-size: 7px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.5px;
    color:#ffd700;
    background:rgba(255,215,0,.15);
    border:1px solid rgba(255,215,0,.5);
    border-radius:20px;
    padding:3px 8px;
    white-space:nowrap;
    animation:pulsoConstruccion 1.6s ease-in-out infinite;
}
@keyframes pulsoConstruccion{
    0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(255,215,0,.35);}
    50%{opacity:.55;transform:scale(.95);box-shadow:0 0 12px 2px rgba(255,215,0,.45);}
}
.sidebar.collapsed{
    width:70px;
}
.sidebar.collapsed .logo span,
.sidebar.collapsed .menu span{
    display:none;
}
.sidebar.collapsed .menu li{
    justify-content:center;
}
.sidebar.collapsed ~ .main{
    margin-left:70px;
    width:calc(100% - 70px);
}
.sidebar.collapsed ~ .main .header{
    left:70px;
}

.logo{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
    padding:15px 0;
    border-bottom:1px solid rgba(255,255,255,0.15);
    width: 100%;
    box-sizing: border-box;
}
  .controls {
    width: 80%;
    background: #eff0f4;
    padding: 10px;
    border-radius: 4px;
    margin-bottom: 16px;
    border: 1px solid #e2e3e6;
    font-family: 'calibri';
    font-size: 16px;
    color: rgb(0, 0, 9); 
    align-self: center;
 }
.logoindex{
	margin-top: 10px;
	margin-left: 20px;
	margin-right: 20px;
	margin-bottom: 10px; 
	border-radius: 20px;
	align-self: center;
	width: 80%;
	height: 60%; 	
}

.logo i{
    font-size:28px;
    color:#60a5fa;
}

.menu{
    list-style:none;
    padding:20px;
    margin-top:20px;

}

 .menu li{    /*titulos en el menu principal */
    display:flex;
    align-items:center;
    gap:15px;
    padding:14px 18px;
    margin-bottom:10px;
    border-radius:10px;
    color:#fcfdff;
}
.menu li:hover,
.menu .active{
    background:#2563eb;
}
.menu i{
    font-size:20px;
}

/* MAIN */

.main{
    margin-left:270px;
    width:calc(100% - 270px);
    min-height:100vh;
    transition:.3s;
}    

.mainindex{
    padding: 0px;
}    

/* HEADER */

/* .header{
    position:fixed;
    top:0;
    left:270px;
    right:0;
    height:70px;
    background:white;
    display:flex;
    align-items:center;
    padding:0 30px;
    z-index:900;
    transition:.3s;
} */
.header{
    position:fixed;
    top:0;
    left:270px;
    right:0;
    height:70px;
    background:#fff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 30px;
    z-index:900;
    transition:.3s;
}
.header-left{
    width: 100%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-left:0;
    padding-left:0;    
}
.header-right{
    display:flex;
    align-items:center;
}
.header-logo{
    width: 100%;
    max-width: 100%;
    max-height: 140px;
    object-fit: contain;
    padding: 12px;
    box-sizing: border-box;
    transition: transform 0.3s ease;
}

.header-logo:hover {
    transform: scale(1.03);
}
.header-Barner{
    max-height:60x;
    max-width:550px;
    object-fit:contain;
}
.user{
    display:flex;
    align-items:center;
    gap:12px;
}

.user img{
    border-radius:50%;
}

/* CONTENT */
main{
    padding:0;
}
#content{
    padding:0;
    margin:0;
}

/* CARDS */

.cards{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-top:30px;
}
.card{
    background:white;
    padding:25px;
    border-radius:18px;
    box-shadow:0 10px 25px #00000010;
    transition:.3s;
}
.card:hover{
    transform:translateY(-5px);
}
.card i{
    font-size: 28px;
    color:#2563eb;
}
.card strong{
    font-size: 30px;
    display:block;
    margin-top:15px;
}
.box{
    background:white;
    padding:30px;
    border-radius:15px;
}

/* CONTENEDOR GENERAL DEL MODULO */

 .module-container{
    padding:20px;
}

/* BARRA SUPERIOR */
.module-topbar{
    background:#111827;
    height:70px;
    border-radius:15px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 25px;
    color:white;
    margin-bottom:20px;
}

.module-title{
    font-size: 20px;
    font-weight:bold;
    display:flex;
    align-items:center;
    gap:10px
}
/* BOTONES */
.module-btn{
    border:0;
    padding:10px 15px;
    border-radius:10px;
    background:#2563eb;
    color:white;
    text-decoration:none;
    cursor:pointer;
}
.module-btn:hover{
    background:#1d4ed8;
    color:white;
}
/* TARJETA */
.module-card{
    background:white;
    border-radius:15px;
    box-shadow:0 10px 25px rgba(0,0,0,.15);
    overflow:hidden;
}
.module-card-header{
    background:#1e293b;
    color:white;
    padding:18px;
    font-size: 16px;
    font-weight:bold;
}


/* TABLAS */
.module-table-container{
    padding:20px;
    overflow-x:auto;
}

.module-table{
    width:100%;
    border-collapse:collapse;
}
.module-table th{
    background:#2563eb;
    color:white;
    padding:12px;
}
.module-table td{
    padding:12px;
    border-bottom:1px solid #ddd;
    text-align:center;
}

.module-table tr:hover{
    background:#f1f5f9;
}
/* BOTONES DE ACCION */
.action-btn{
    width:35px;
    height:35px;
    border:0;
    border-radius:50%;
    color:white;
    cursor:pointer;
}

.action-copy{
    background:#0891b2;
}
.action-edit{
    background:#16a34a;
}
.action-delete{
    background:#dc2626;
}
.action-view{
    background:#e5e7eb;
    color:#374151;
}

.action-view:hover{
    background:#d1d5db;
    color:#111827;
}

/* CONTENEDOR GENERAL DEL FORMULARIO */
.login{
	width: 100%;
	height: 100vh; 
	display: grid;
	place-items: center;        /* centro todo */
}
.form{
    display:flex;
    flex-direction:column;
    width:100%;
    max-width:400px;
    padding:25px;
    background:var(--azulapac);
	box-shadow: 7px 13px 37px #000;
    border-radius:10px;
    align-items:stretch;

}
.login-button{
	color: var(--azulapac) !important;
	margin-top: 14px;
	margin-bottom: 30px; 
}
.primary-button{
	background-color: #3f94c2;
	border-radius: 8px;
	border: none;
	color: var(--white);
	width:100%;
	max-width:200px;
	cursor: pointer;
	font-size: var(--md);
	font-weight: bold;
	height: 50px;
	align-self: center;

}
.form-container{
    max-width: 900px;
    margin: 30px auto;
    background: #ffffff;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0,0,0,.15);
}

/* TITULO */

.form-title{
    text-align:center;
    font-size: 22px;
    font-weight:bold;
    color:#333;
    margin-bottom:25px;
}

/* GRUPOS */

.form-group{
    margin-bottom:18px;
}

/* LABEL */

.form-group label{
    display:block;
    font-weight:600;
    color:#444;
    margin-bottom:6px;
}


/* INPUTS */
.form-control-custom{
    width:100%;
    padding:12px;
    border-radius:8px;
    border:1px solid #ccc;
    font-size: 13px;
    transition:.3s;
}
.form-control-custom:focus{
    border-color:#0d6efd;
    box-shadow:0 0 5px rgba(13,110,253,.3);
    outline:none;
}


/* SELECT */

.form-select-custom{
    width:100%;
    padding:12px;
    border-radius:8px;
    border:1px solid #ccc;
}
/* SECCIONES */
.form-section{
    background:#f8f9fa;
    padding:15px;
    border-radius:10px;
    margin:20px 0;
}
.form-section-title{
    font-weight:bold;
    color:#0d6efd;
    margin-bottom:15px;
}

/* BOTON */
.btn-save{
    width:100%;
    padding:12px;
    border-radius:8px;
    font-size: 14px;
    font-weight:bold;
}
/* ===========================
   MÃ“VIL
=========================== */
@media (max-width:768px){
    .sidebar{
        width:60px;}
    .sidebar .logo span,
    .sidebar .menu span{
        display:none;}
    .sidebar .menu li{
        justify-content:center;
        padding:14px 0;}
    .sidebar .logo{
        padding:10px 5px;
    }

    .sidebar .header-logo{
        width:50px;
        max-width:50px;
        max-height:none;
    }
    .main{
        margin-left:60px;
        width:calc(100% - 60px); }
    .header{
        left:60px;
        width:calc(100% - 60px);}
    .cards{
        grid-template-columns:1fr;}
    main{
        padding:0 15px 15px;}
}

.sidebar.collapsed .header-logo{
    width:45px;
    max-width:45px;
    height:auto;
}
.sidebar.collapsed .logo{
    padding:15px 5px;
}
.sidebar.collapsed .header-left{
    width:100%;
}
/* =====================================================
   TARJETAS RESPONSIVE GENERICAS
===================================================== */

.mobile-list{
    display:none;
}
.mobile-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:15px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
    padding:18px;
    margin-bottom:18px;
    transition:.25s;
}
.mobile-card:hover{
    box-shadow:0 10px 25px rgba(0,0,0,.12);
}
.mobile-card-title{
    font-size: 18px;
    font-weight:bold;
    color:#2563eb;
    margin-bottom:15px;
    padding-bottom:10px;
    border-bottom:1px solid #e5e7eb;
}
.mobile-card-item{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:15px;
    padding:8px 0;
}
.mobile-card-label{
    font-weight:600;
    color:#374151;
}
.mobile-card-value{
    text-align:right;
    color:#111827;
    word-break:break-word;
}
.mobile-card-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:18px;
    padding-top:15px;
    border-top:1px solid #e5e7eb;
}
@media(max-width:768px){

    .module-table{
        display:none;
    }
    .mobile-list{
        display:block;
    }
    /* CSS DEL BOTON DE AGREGAR*/
    .module-topbar{
        flex-direction:column;
        align-items:stretch;
        gap:15px;
        height:auto;
        padding:18px;
    }
    .module-title{
        justify-content:center;
        text-align:center;
        width:100%;
    }
    .module-btn{
        width:100%;
        display:flex;
        justify-content:center;
        align-items:center;
        gap:8px;
    }
    .header{
        padding:0 15px;
    }
    .header-logo{
        max-height:55px;
        max-width:180px;
    }    
}

/*=========================================
=            TARJETA VENTA TOTAL          =
=========================================*/
.report-total{
    display:flex;
    align-items:center;
    gap:20px;
    background:#fff;
    border-radius:15px;
    padding:20px 25px;
    margin:25px 0;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
    border-left:6px solid #2563eb;
}

.report-total-icon{
    width:65px;
    height:65px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:50%;
    background:#2563eb;
    color:#fff;
    font-size: 28px;
}
.report-total-info{

    display:flex;
    flex-direction:column;
}
.report-total-title{
    font-size: 13px;
    color:#6b7280;
}

.report-total-value{
    font-size: 34px;
    font-weight:700;
    color:#111827;
    line-height:1.2;

}

/* VENTAS POR DIA */

.form-grid{
    display:flex;
    gap:20px;
    align-items:flex-end;
    flex-wrap:wrap;
}
.form-group{
    display:flex;
    flex-direction:column;
}

p{
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 9px;
	color:#ffffff;
}

/* // modulo de noticias */

.icon-selector{

display:flex;

flex-wrap:wrap;

gap:12px;

margin-top:10px;

margin-bottom:20px;

}

.icon-item{

width:55px;

height:55px;

display:flex;

justify-content:center;

align-items:center;

border:2px solid #DDD;

border-radius:8px;

cursor:pointer;

font-size: 22px;

transition:.25s;

background:white;

}

.icon-item:hover{

transform:scale(1.08);

}

.icon-item.active{

border:2px solid #0d6efd;

background:#eef5ff;

}

.color-selector{

display:flex;

gap:15px;

margin-top:10px;

margin-bottom:20px;

}

.color-item{

width:38px;

height:38px;

border-radius:50%;

cursor:pointer;

border:3px solid white;

box-shadow:0 0 4px rgba(0,0,0,.25);

transition:.2s;

}

.color-item.active{

transform:scale(1.20);

border:3px solid black;

}

.dashboard-grid{

display:grid;

grid-template-columns:3fr 1fr;

gap:25px;

}

.dashboard-title{

font-size: 20px;

font-weight:bold;

margin-bottom:15px;

}

.news-card{

background:#fff;

border-radius:12px;

padding:18px;

margin-bottom:20px;

box-shadow:0 3px 12px rgba(0,0,0,.08);

}

.news-image{

width:100%;

border-radius:8px;

margin-bottom:15px;

}

.news-header{

display:flex;

align-items:center;

gap:15px;

font-size: 26px;

margin-bottom:12px;

}

.news-title{

font-size: 20px;

font-weight:bold;

}

.news-version{

font-size: 11px;

color:#777;

}

.news-content{

line-height:1.7;

margin-top:10px;

}

.news-footer{

margin-top:15px;

font-size: 10px;

color:#999;

}

.news-empty{

padding:50px;

text-align:center;

background:#fafafa;

border-radius:10px;

}

.stat-card{

display:flex;

align-items:center;

gap:15px;

padding:18px;

margin-bottom:15px;

border-radius:12px;

background:white;

box-shadow:0 3px 12px rgba(0,0,0,.08);

}

.stat-card i{

font-size: 38px;

color:#0d6efd;

}

.stat-number{

font-size: 26px;

font-weight:bold;

}

.stat-text{

font-size: 12px;

color:#777;

}

@media(max-width:900px){

.dashboard-grid{

grid-template-columns:1fr;

}

}
.modal-content{
    border:0;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 18px 45px rgba(0,0,0,.25);
}
.modal-header{
    background:linear-gradient(90deg,#ff8c00,#ff6b00);
    color:#fff;
    border-bottom:none;
}

.modal-header .modal-title{
    font-weight:600;
    font-size:1.25rem;
}

.modal-header .btn-close{
    filter:invert(1);
}
.modal-body strong{
    display:block;
    color:#ff7a00;
    font-size:.82rem;
    text-transform:uppercase;
    letter-spacing:.5px;
    margin-bottom:3px;
}
.modal-body{
    font-size:.97rem;
}
.modal-footer .btn-secondary{
    background:#1f2937;
    border:0;
    border-radius:8px;
    padding:8px 22px;
}
.modal-footer .btn-secondary:hover{
    background:#111827;
}
.user{
    display:flex;
    align-items:center;
    gap:12px;
}
.user-info{
    display:flex;
    flex-direction:column;
}
.user-name{
    font-weight:600;
    font-size: 16px;
}
.user-level{
    color:#6b7280;
    font-size: 10px;
}

/*==========================
 FLOATING MENU
==========================*/

.floating-menu{
    position:fixed;
    display:none;
    min-width:260px;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 10px 25px rgba(0,0,0,.18);
    border:1px solid #ddd;
    z-index:99999;
}
.fm-header{
    background:#0d6efd;
    color:white;
    padding:15px;
    font-weight:bold;
}
.fm-item{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 18px;
    cursor:pointer;
    transition:.25s;
}
.fm-item:hover{
    background:#eef5ff;
}
.fm-item i{
    font-size: 16px;
    color:#0d6efd;
}
/*==========================================================
=            DASHBOARD ESTADISTICAS CURSOS
==========================================================*/

.dashboard-estadisticas{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:20px;
    margin:25px 0 35px 0;

}

.dashboard-card{

    background:#ffffff;
    border-radius:14px;
    padding:22px;
    box-shadow:0 3px 10px rgba(0,0,0,.08);
    cursor:pointer;
    transition:.30s;
    text-align:center;
    border-top:5px solid #0d6efd;

}

.dashboard-card:hover{

    transform:translateY(-6px);

    box-shadow:0 10px 25px rgba(0,0,0,.15);

}

.dashboard-icon{

    font-size: 32px;
    margin-bottom:12px;

}

.dashboard-titulo{

    font-size: 12px;
    font-weight:600;
    text-transform:uppercase;
    color:#666;

}

.dashboard-numero{

    font-size: 36px;
    font-weight:bold;
    margin:10px 0;

}

.dashboard-link{

    margin-top:10px;
    font-size: 11px;
    color:#888;

}

.dashboard-card:hover .dashboard-link{

    color:#0d6efd;
    font-weight:600;

}
/*==========================================================
=            COLORES TARJETAS
==========================================================*/

.card-total{

    border-top-color:#0d6efd;

}

.card-pna{

    border-top-color:#198754;

}

.card-taller{

    border-top-color:#20c997;

}

.card-curso{

    border-top-color:#fd7e14;

}

.card-diplomado{

    border-top-color:#6f42c1;

}

.card-activo{

    border-top-color:#198754;

}

.card-inactivo{

    border-top-color:#dc3545;

}
@media(max-width:768px){

.dashboard-estadisticas{
    grid-template-columns:repeat(2,1fr);
}

.dashboard-card{
    padding:18px;
}

.dashboard-numero{
    font-size: 28px;
}
}
