/* =====================================================
   PANEL ADMINISTRADOR
   RESCATANDO SONRISAS
=====================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{

    --azul:#0442BF;
    --azul2:#021F59;
    --celeste:#227CB0;
    --naranja:#E26535;
    --amarillo:#EEBB22;

    --gris:#F4F6F9;

    --texto:#333;

}

body{

    font-family:'Poppins',sans-serif;
    background:var(--gris);
    color:var(--texto);

}

/******************************
LOGIN
******************************/

.login-page{

    width:100%;
    height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    background:linear-gradient(135deg,#021F59,#0442BF);

}

.login-container{

    width:950px;

    min-height:520px;

    background:white;

    border-radius:18px;

    overflow:hidden;

    display:flex;

    box-shadow:0 15px 40px rgba(0,0,0,.25);

}

.login-left{

    width:45%;

    background:#021F59;

    color:white;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    padding:40px;

}

.logo{

    width:160px;

    margin-bottom:20px;

}

.login-left h1{

    font-size:30px;

    margin-bottom:15px;

}

.login-left p{

    text-align:center;

    line-height:28px;

}

.login-right{

    width:55%;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:40px;

}

.login-right form{

    width:100%;

}

.login-right h2{

    color:#021F59;

    margin-bottom:25px;

}

.login-right label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

}

.login-right input{

    width:100%;

    padding:14px;

    border-radius:8px;

    border:1px solid #d8d8d8;

    margin-bottom:20px;

    font-size:15px;

}

.login-right input:focus{

    outline:none;

    border:1px solid var(--azul);

}

.login-right button{

    width:100%;

    padding:14px;

    border:none;

    border-radius:8px;

    background:var(--azul);

    color:white;

    cursor:pointer;

    font-size:16px;

    transition:.3s;

}

.login-right button:hover{

    background:var(--naranja);

}

.alert-error{

    background:#ffe0e0;

    color:#d40000;

    padding:12px;

    border-radius:6px;

    margin-bottom:20px;

}

/**********************************
DASHBOARD
**********************************/

.wrapper{

    display:flex;

    min-height:100vh;

}

/******** Sidebar ********/

.sidebar{

    width:260px;

    background:#021F59;

    color:white;

    position:fixed;

    left:0;

    top:0;

    bottom:0;

    overflow:auto;

}

.sidebar .brand{

    padding:25px;

    background:#0442BF;

    text-align:center;

}

.sidebar .brand h2{

    font-size:24px;

}

.sidebar ul{

    list-style:none;

    padding:20px 0;

}

.sidebar li{

    width:100%;

}

.sidebar a{

    display:block;

    color:white;

    text-decoration:none;

    padding:16px 25px;

    transition:.3s;

}

.sidebar a:hover{

    background:#E26535;

}

.sidebar i{

    width:28px;

}

/******** Contenido ********/

.main{

    margin-left:260px;

    flex:1;

    padding:35px;

}

.topbar{

    background:white;

    padding:20px;

    border-radius:12px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:30px;

    box-shadow:0 5px 15px rgba(0,0,0,.08);

}

.cards{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:25px;

}

.card{

    background:white;

    border-radius:15px;

    padding:30px;

    text-align:center;

    box-shadow:0 8px 18px rgba(0,0,0,.08);

}

.card i{

    font-size:40px;

    color:#0442BF;

    margin-bottom:15px;

}

.card h3{

    color:#021F59;

    margin-bottom:10px;

}

.card span{

    font-size:38px;

    font-weight:bold;

    color:#E26535;

}

.panel{

    margin-top:35px;

    background:white;

    border-radius:15px;

    padding:35px;

    box-shadow:0 8px 18px rgba(0,0,0,.08);

}

/**********************************
BOTONES
**********************************/

.btn{

    display:inline-block;

    padding:12px 25px;

    border-radius:8px;

    background:#0442BF;

    color:white;

    text-decoration:none;

    cursor:pointer;

    transition:.3s;

}

.btn:hover{

    background:#E26535;

}

/**********************************
TABLAS
**********************************/

table{

    width:100%;

    border-collapse:collapse;

    margin-top:20px;

}

table th{

    background:#0442BF;

    color:white;

    padding:14px;

}

table td{

    padding:14px;

    border-bottom:1px solid #eee;

}

/**********************************
FORMULARIOS
**********************************/

input[type=text],
input[type=file],
input[type=password],
textarea,
select{

    width:100%;

    padding:14px;

    border:1px solid #ddd;

    border-radius:8px;

    margin-bottom:20px;

}

textarea{

    resize:vertical;

    min-height:160px;

}

button{

    border:none;

}

/**********************************
RESPONSIVE
**********************************/

@media(max-width:900px){

.sidebar{

    width:100%;

    position:relative;

    height:auto;

}

.main{

    margin-left:0;

}

.login-container{

    width:95%;

    flex-direction:column;

}

.login-left{

    width:100%;

}

.login-right{

    width:100%;

}

}