/* ==========================================
   PANEL ADMINISTRADOR
   Lunática Shop
========================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body.pagina-admin{

    font-family:'Poppins',sans-serif;

    background:linear-gradient(
        180deg,
        #0f1238 0%,
        #1b1464 35%,
        #09142b 70%,
        #000000 100%
    );

    background-attachment:fixed;

    color:#fff;

}

/*==========================================
HEADER
==========================================*/

header{

    width:100%;

    padding:18px 35px;

    background:#1c144b;

    border-bottom:1px solid rgba(255,255,255,.08);

    position:sticky;

    top:0;

    z-index:999;

}

.logo-container{

    display:flex;

    align-items:center;

    gap:20px;

}

.logo-container img{

    width:70px;

}

.logo-container h1{

    font-size:30px;

    font-weight:700;

}

/*==========================================
LAYOUT
==========================================*/

.admin-layout{

    display:flex;

    min-height:calc(100vh - 100px);

}

/*==========================================
SIDEBAR
==========================================*/

.sidebar{

    width:270px;

    background:rgba(0,0,0,.28);

    backdrop-filter:blur(12px);

    padding:30px 20px;

    border-right:1px solid rgba(255,255,255,.08);

}

.sidebar h2{

    font-size:22px;

    margin-bottom:35px;

    color:#FFD34D;

}

.sidebar a{

    display:flex;

    align-items:center;

    gap:12px;

    color:#fff;

    text-decoration:none;

    padding:14px 18px;

    border-radius:12px;

    margin-bottom:12px;

    transition:.3s;

}

.sidebar a:hover{

    background:#4b36d1;

    transform:translateX(6px);

}

.sidebar a.activo{

    background:#5b43ff;

}

/*==========================================
CONTENIDO
==========================================*/

.contenido-admin{

    flex:1;

    padding:40px;

}

.contenido-admin h2{

    font-size:38px;

    margin-bottom:10px;

}

.contenido-admin p{

    color:#d7d7d7;

    margin-bottom:35px;

}

/*==========================================
CARDS
==========================================*/

.cards-dashboard{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:25px;

    margin-bottom:40px;

}

.card-admin{

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.08);

    border-radius:22px;

    backdrop-filter:blur(10px);

    padding:30px;

    text-align:center;

    transition:.35s;

    box-shadow:0 10px 25px rgba(0,0,0,.30);

}

.card-admin:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 35px rgba(0,0,0,.45);

}

.card-admin i{

    font-size:45px;

    color:#FFD34D;

    margin-bottom:15px;

}

.card-admin h3{

    font-size:42px;

    color:#ffffff;

    margin-bottom:8px;

}

.card-admin p{

    color:#cccccc;

    margin:0;

}

/*==========================================
TABLA
==========================================*/

.tabla-admin{

    background:rgba(255,255,255,.08);

    border-radius:20px;

    padding:25px;

    backdrop-filter:blur(12px);

    box-shadow:0 10px 25px rgba(0,0,0,.30);

}

.tabla-admin h2{

    font-size:28px;

    margin-bottom:20px;

}

table{

    width:100%;

    border-collapse:collapse;

}

thead{

    background:#4b36d1;

}

thead th{

    padding:16px;

    text-align:left;

    color:#fff;

}

tbody td{

    padding:15px;

    border-bottom:1px solid rgba(255,255,255,.08);

}

tbody tr{

    transition:.25s;

}

tbody tr:hover{

    background:rgba(255,255,255,.06);

}

/*==========================================
BOTONES
==========================================*/

.btn-admin{

    background:#FFD34D;

    color:#111;

    border:none;

    padding:10px 18px;

    border-radius:10px;

    cursor:pointer;

    font-weight:bold;

    transition:.3s;

}

.btn-admin:hover{

    background:#ffe27d;

    transform:scale(1.05);

}

.btn-danger{

    background:#e53935;

    color:white;

}

.btn-danger:hover{

    background:#ff4d4d;

}

/*==========================================
BADGES
==========================================*/

.badge{

    display:inline-block;

    padding:6px 12px;

    border-radius:30px;

    font-size:13px;

    font-weight:bold;

}

.badge-activo{

    background:#28a745;

}

.badge-inactivo{

    background:#dc3545;

}

.badge-premium{

    background:#FFD34D;

    color:#111;

}

.badge-basico{

    background:#3498db;

}

.badge-gratis{

    background:#6c757d;

}

/*==========================================
RESPONSIVE
==========================================*/

@media(max-width:900px){

.admin-layout{

    flex-direction:column;

}

.sidebar{

    width:100%;

    display:flex;

    overflow:auto;

    gap:12px;

}

.sidebar h2{

    display:none;

}

.sidebar a{

    white-space:nowrap;

    margin:0;

}

.contenido-admin{

    padding:20px;

}

}

@media(max-width:600px){

.logo-container{

    flex-direction:column;

    text-align:center;

}

.logo-container h1{

    font-size:24px;

}

.cards-dashboard{

    grid-template-columns:1fr;

}

table{

    font-size:13px;

}

thead{

    display:none;

}

tbody tr{

    display:block;

    margin-bottom:20px;

    background:rgba(255,255,255,.05);

    border-radius:15px;

}

tbody td{

    display:flex;

    justify-content:space-between;

    padding:12px;

}

}

/*======================================
MODAL
======================================*/

.modal{

    display:none;

    position:fixed;

    left:0;
    top:0;

    width:100%;
    height:100%;

    z-index:9999;

    background:rgba(0,0,0,.75);

    backdrop-filter:blur(6px);

    justify-content:center;

    align-items:center;

    padding:25px;

    box-sizing:border-box;

}

.modal-contenido{

    width:95%;
    max-width:650px;

    background:#1f2435;

    border-radius:20px;

    padding:30px;

    box-shadow:0 0 30px rgba(0,0,0,.45);

    animation:aparecer .25s ease;

    max-height:90vh;

    overflow-y:auto;

}

@keyframes aparecer{

    from{

        transform:scale(.9);
        opacity:0;

    }

    to{

        transform:scale(1);
        opacity:1;

    }

}

.modal-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:25px;

}

.modal-header h2{

    color:#fff;

    font-size:30px;

}

#cerrar-modal{

    color:#fff;

    font-size:32px;

    cursor:pointer;

    transition:.25s;

}

#cerrar-modal:hover{

    color:#ffd43b;

    transform:rotate(90deg);

}

.grupo{

    margin-bottom:18px;

}

.grupo label{

    display:block;

    color:#ddd;

    margin-bottom:8px;

    font-weight:600;

}

.grupo input,
.grupo select{

    width:100%;

    padding:12px 15px;

    border:none;

    border-radius:10px;

    background:#2c3249;

    color:white;

    font-size:15px;

}

.grupo input:focus,
.grupo select:focus{

    outline:none;

    box-shadow:0 0 0 3px #6d4aff;

}

.botones-modal{

    display:flex;

    justify-content:flex-end;

    gap:15px;

    margin-top:30px;

}

.btn-cancelar{

    background:#6c757d;

    color:white;

    border:none;

    padding:12px 25px;

    border-radius:10px;

    cursor:pointer;

    font-weight:bold;

}

.btn-cancelar:hover{

    background:#545b62;

}

.btn-guardar{

    background:#28a745;

    color:white;

    border:none;

    padding:12px 25px;

    border-radius:10px;

    cursor:pointer;

    font-weight:bold;

}

.btn-guardar:hover{

    background:#1f8b39;

}

@media(max-width:700px){

.modal-contenido{

    width:95%;
    padding:20px;

}

.modal-header h2{

    font-size:22px;

}

}