/* ======================================
RESET
====================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

/* ======================================
BODY
====================================== */

body{

font-family:Arial, Helvetica, sans-serif;
background:#020617;
color:#e5e7eb;
line-height:1.4;
min-height:100vh;
display:flex;
flex-direction:column;

}

/* ======================================
HEADER
====================================== */

.header{

background:#020617;
border-bottom:1px solid #1f2937;
padding:10px 20px;

}

.header-container{

display:flex;
align-items:center;
justify-content:space-between;

}

.logo-header{

height:60px;

}

.menu{

display:flex;
align-items:center;
gap:18px;

}

.menu a{

color:#e5e7eb;
text-decoration:none;
font-size:13px;

}

.menu a:hover{

color:#ffffff;

}

/* ======================================
CONTAINER
====================================== */

.container{

width:100%;
max-width:1500px;
margin:auto;
padding:25px;
flex:1;

}

/* ======================================
TITULOS
====================================== */

.dashboard-title{

font-size:22px;
margin-bottom:20px;
color:#ffffff;
text-align:center;

}

/* ======================================
ACCESOS RAPIDOS
====================================== */

.quick-actions{

display:flex;
justify-content:center;
align-items:center;
gap:12px;
flex-wrap:wrap;
margin-bottom:25px;

}

/* ======================================
TABLAS
====================================== */

table{

width:100%;
border-collapse:collapse;
margin-top:15px;
background:#111827;
border-radius:8px;
overflow:hidden;
font-size:13px;

}

table th{

background:#1f2937;
padding:8px;
text-align:left;
font-size:12px;
color:#cbd5f5;

}

table td{

padding:8px;
border-bottom:1px solid #1f2937;
font-size:12px;

}

table tr:hover{

background:#0f172a;

}

/* ======================================
BOTONES GENERALES
====================================== */

.action-btn{

background:#334155;
color:white;
padding:6px 10px;
border-radius:6px;
text-decoration:none;
font-size:12px;
margin-right:4px;
display:inline-block;

}

.action-btn:hover{

background:#1f2937;

}

/* ======================================
BOTONES ESPECIFICOS
====================================== */

.btn-edit{

background:#2563eb;
color:white;
padding:4px 8px;
border-radius:5px;
text-decoration:none;
font-size:11px;
margin-right:3px;

}

.btn-edit:hover{

background:#1d4ed8;

}

.btn-delete{

background:#dc2626;
color:white;
padding:4px 8px;
border-radius:5px;
text-decoration:none;
font-size:11px;
margin-right:3px;

}

.btn-delete:hover{

background:#b91c1c;

}

.btn-renovar{

background:#065f46;
color:white;
padding:4px 8px;
border-radius:5px;
text-decoration:none;
font-size:11px;
margin-right:3px;

}

.btn-renovar:hover{

background:#047857;

}

.btn-ticket{

background:#7c3aed;
color:white;
padding:4px 8px;
border-radius:5px;
text-decoration:none;
font-size:11px;

}

.btn-ticket:hover{

background:#6d28d9;

}

/* ======================================
FORMULARIOS
====================================== */

form{

max-width:380px;
margin-top:15px;

}

input,
select{

width:100%;
background:#111827;
border:1px solid #1f2937;
color:white;
padding:8px;
border-radius:6px;
margin-bottom:10px;
font-size:13px;

}

input::placeholder{

color:#94a3b8;
text-align:center;

}

input:focus,
select:focus{

outline:none;
border-color:#334155;

}

/* ======================================
FORMULARIO CENTRADO
====================================== */

.form-center{

display:flex;
justify-content:center;
align-items:center;
width:100%;

}

.form-center form{

width:100%;
max-width:400px;

}

.form-center input{

text-align:center;

}

/* ======================================
CODIGO CLIENTE
====================================== */

.codigo-cliente{

text-align:center;
margin-bottom:15px;
font-size:14px;
color:#94a3b8;

}

.codigo-cliente strong{

display:block;
font-size:20px;
margin-top:4px;
color:#e5e7eb;
letter-spacing:2px;

}

/* ======================================
BOTONES FORM
====================================== */

button{

background:#334155;
color:white;
padding:8px 14px;
border:none;
border-radius:6px;
cursor:pointer;
font-size:13px;
width:100%;

}

button:hover{

background:#1f2937;

}

/* ======================================
ALERTAS
====================================== */

.alert{

padding:10px;
border-radius:6px;
margin-bottom:12px;
font-size:13px;

}

.alert-success{
background:#065f46;
}

.alert-error{
background:#7f1d1d;
}

.alert-warning{
background:#92400e;
}

.alert-info{
background:#1e3a8a;
}

.alert-gray{
background:#374151;
}

/* ======================================
ESTADOS MEMBRESIA
====================================== */

.estado{

padding:4px 8px;
border-radius:5px;
font-size:11px;
font-weight:bold;
display:inline-block;

}

.estado.activa{

background:#065f46;
color:#d1fae5;

}

.estado.por-vencer{

background:#92400e;
color:#fde68a;

}

.estado.vencida{

background:#7f1d1d;
color:#fecaca;

}

.estado.inactivo{

background:#374151;
color:#d1d5db;

}

/* ======================================
DASHBOARD
====================================== */

.dashboard-container{

width:100%;
max-width:1400px;
margin:auto;
padding:20px;

}

.dashboard-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:15px;
margin-top:20px;

}

.card{

background:#111827;
padding:18px;
border-radius:8px;
text-align:center;

}

.card h3{

margin-bottom:6px;
font-size:14px;

}

.card p{

font-size:22px;

}

.dashboard-tables{

display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
margin-top:25px;

}

.table-box{

background:#111827;
padding:15px;
border-radius:8px;

}

.table-box h3{

margin-bottom:10px;
font-size:14px;

}

.whatsapp-btn{

background:#065f46;
color:white;
border:none;
padding:6px 10px;
border-radius:5px;
font-size:12px;
cursor:pointer;
margin-left:10px;

}

.whatsapp-btn:hover{

background:#047857;

}

/* ======================================
FOOTER
====================================== */

.footer{

width:100%;
margin-top:50px;
padding:35px 0;
text-align:center;
background:#020617;
color:#94a3b8;
font-size:13px;

}

.footer-container{

width:100%;
text-align:center;

}

.footer hr{

border:none;
border-top:1px solid #1f2937;
margin-bottom:18px;
width:60%;
margin-left:auto;
margin-right:auto;

}

.footer strong{

color:#e5e7eb;

}

.footer p{

margin-top:5px;

}

/* ======================================
RESPONSIVE
====================================== */

@media(max-width:768px){

.container{
padding:18px;
}

table{
font-size:12px;
}

.quick-actions{
gap:8px;
}

.form-center form{
max-width:100%;
}

.dashboard-tables{
grid-template-columns:1fr;
}

}

/* ======================================
CONFIGURACION SUBMENU
====================================== */

.config-menu{

position:relative;
display:inline-block;

}

.config-submenu{

display:none;
position:absolute;
background:#111827;
padding:10px;
border-radius:6px;
top:100%;
left:0;
min-width:160px;
z-index:1000;

/* animación suave */
opacity:0;
transform:translateY(6px);
transition:opacity .18s ease, transform .18s ease;

}

.config-menu:hover .config-submenu{

display:block;
opacity:1;
transform:translateY(0);

}

.config-submenu a{

display:block;
padding:6px 10px;
color:#e5e7eb;
text-decoration:none;
font-size:12px;

}

.config-submenu a:hover{

background:#1f2937;

}

/* ======================================
HEADER INDICATORS
====================================== */

.header-indicators{

display:flex;
gap:12px;
align-items:center;

}

.indicator{

background:#111827;
padding:6px 10px;
border-radius:6px;
font-size:12px;
display:flex;
flex-direction:column;
align-items:center;
min-width:70px;

}

.indicator span{

font-size:10px;
color:#94a3b8;

}

.indicator.alert{

background:#7f1d1d;

}

/* ======================================
USUARIO HEADER
====================================== */

.usuario-header{

color:#94a3b8;
font-size:12px;
margin-left:10px;
display:flex;
align-items:center;
gap:4px;

}