:root{

--bg:#0b1016;
--panel:#11161d;
--panel2:#181f28;
--red:#ff2020;
--red-hover:#d81919;
--text:#ffffff;
--text2:#b7bcc6;
--border:rgba(255,32,32,.15);

}

*{

margin:0;
padding:0;
box-sizing:border-box;

}

body{

font-family:Inter,Arial,sans-serif;
background:var(--bg);
color:var(--text);

}

a{

text-decoration:none;
color:inherit;

}

.admin-wrapper{

display:flex;
min-height:100vh;

}

/*=====================
SIDEBAR
=====================*/

.sidebar{

width:270px;

background:var(--panel);

border-right:1px solid var(--border);

position:fixed;

left:0;
top:0;

bottom:0;

display:flex;

flex-direction:column;

}

.sidebar-logo{

padding:35px;

text-align:center;

border-bottom:1px solid rgba(255,255,255,.05);

}

.sidebar-logo img{

width:90px;

margin-bottom:15px;

}

.sidebar-logo h2{

font-size:24px;

}

.sidebar ul{

list-style:none;

padding:25px 0;

}

.sidebar li{

margin:8px 15px;

}

.sidebar a{

display:flex;

align-items:center;

gap:15px;

padding:15px 18px;

border-radius:12px;

transition:.25s;

font-size:16px;

}

.sidebar a:hover{

background:rgba(255,32,32,.12);

color:var(--red);

}

.sidebar i{

width:22px;

text-align:center;

font-size:18px;

}

/*=====================
CONTENIDO
=====================*/

.content{

margin-left:270px;

padding:45px;

width:100%;

}

.content h1{

font-size:40px;

margin-bottom:10px;

}

.content p{

color:var(--text2);

margin-bottom:40px;

}

/*=====================
CARDS
=====================*/

.cards{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

margin-bottom:45px;

}

.card{

background:var(--panel);

border:1px solid var(--border);

border-radius:18px;

padding:30px;

transition:.25s;

}

.card:hover{

transform:translateY(-4px);

border-color:var(--red);

}

.card h3{

font-size:17px;

color:var(--text2);

margin-bottom:15px;

}

.card span{

font-size:34px;

font-weight:bold;

}

/*=====================
TABLA
=====================*/

.table-box{

background:var(--panel);

border:1px solid var(--border);

border-radius:18px;

padding:30px;

}

.table-box h2{

margin-bottom:25px;

font-size:28px;

}

.table-placeholder{

color:var(--text2);

line-height:1.8;

}

/*=====================
RESPONSIVE
=====================*/

@media(max-width:1200px){

.cards{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:900px){

.sidebar{

width:80px;

}

.sidebar-logo h2{

display:none;

}

.sidebar a{

justify-content:center;

}

.sidebar a span{

display:none;

}

.content{

margin-left:80px;

}

}

@media(max-width:700px){

.cards{

grid-template-columns:1fr;

}

.content{

padding:25px;

}

}
/*=====================
LOGIN
=====================*/

.login-container{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    background:var(--bg);

}

.login-box{

    width:420px;

    background:var(--panel);

    border:1px solid var(--border);

    border-radius:20px;

    padding:40px;

    text-align:center;

    box-shadow:0 0 40px rgba(0,0,0,.35);

}

.login-logo{

    width:90px;

    margin-bottom:20px;

}

.login-box h1{

    font-size:30px;

    margin-bottom:10px;

}

.login-box p{

    color:var(--text2);

    margin-bottom:30px;

}

.login-box input{

    width:100%;

    padding:14px;

    margin-bottom:18px;

    background:#0f141b;

    border:1px solid #2d333b;

    border-radius:10px;

    color:#fff;

    font-size:15px;

}

.login-box input:focus{

    outline:none;

    border-color:var(--red);

}

.login-box button{

    width:100%;

    padding:15px;

    background:var(--red);

    border:none;

    border-radius:10px;

    color:#fff;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.25s;

}

.login-box button:hover{

    background:var(--red-hover);

}

.login-error{

    margin-top:20px;

    color:#ff7070;

    font-size:14px;

}
/*==========================
TABLAS ADMIN
==========================*/

.btn-red{
    display:inline-block;
    background:var(--red);
    color:#fff;
    padding:14px 22px;
    border-radius:10px;
    margin-bottom:25px;
    font-weight:600;
    transition:.25s;
}

.btn-red:hover{
    background:var(--red-hover);
}

.admin-table{
    width:100%;
    border-collapse:collapse;
}

.admin-table th{
    text-align:left;
    padding:18px;
    border-bottom:1px solid rgba(255,255,255,.05);
    font-weight:600;
}

.admin-table td{
    padding:18px;
    border-bottom:1px solid rgba(255,255,255,.05);
    vertical-align:middle;
}

.admin-table tr:last-child td{
    border-bottom:none;
}

/* Columna Acciones */
.admin-table th:last-child,
.admin-table td:last-child{
    width:120px;
    text-align:center;
}

/*==========================
ACCIONES
==========================*/

.admin-table th:last-child,
.admin-table td:last-child{
    width:90px;
    text-align:center;
}

.acciones{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.btn-action{
    display:flex;
    justify-content:center;
    align-items:center;

    width:32px;
    height:32px;

    border-radius:6px;

    color:#fff;
    text-decoration:none;

    transition:.2s;
}

.btn-action i{
    font-size:13px;
}

.btn-edit{
    background:#ff9800;
}

.btn-edit:hover{
    background:#e68900;
}

.btn-delete{
    background:#e53935;
}

.btn-delete:hover{
    background:#c62828;
}