@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&family=Rajdhani:wght@500;700&display=swap');

:root {
    --fondo-oscuro: #050505;
    --panel-oscuro: #121212;
    --neon-cyan: #00f3ff;
    --neon-magenta: #ff00ff;
    --neon-verde: #39ff14;
    --neon-rojo: #ff003c;
    --texto-claro: #e0e0e0;
}

body { 
    font-family: 'Rajdhani', sans-serif; 
    background-color: var(--fondo-oscuro); 
    margin: 0; 
    padding: 0; 
    padding-bottom: 80px; 
    color: var(--texto-claro); 
}

/* Header Neón */
header { 
    background: var(--panel-oscuro); 
    padding: 1rem; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    position: sticky; 
    top: 0; 
    z-index: 100;
    border-bottom: 2px solid var(--neon-cyan);
    box-shadow: 0 0 15px rgba(0, 243, 255, 0.3);
}

header h1 { 
    margin: 0; 
    font-size: 1.5rem; 
    color: var(--neon-cyan); 
    font-family: 'Orbitron', sans-serif;
    text-shadow: 0 0 8px var(--neon-cyan);
}

.btn-salir { 
    color: var(--neon-rojo); 
    text-decoration: none; 
    font-weight: bold; 
    text-shadow: 0 0 8px var(--neon-rojo);
}

.contenedor { padding: 1rem; max-width: 800px; margin: 0 auto; }

/* Tarjetas (Cards) Neón */
.tarjeta { 
    background: var(--panel-oscuro); 
    padding: 1.5rem; 
    border-radius: 8px; 
    margin-bottom: 1.5rem; 
    border: 1px solid var(--neon-magenta);
    box-shadow: 0 0 10px rgba(255, 0, 255, 0.2);
}

.tarjeta h2 { 
    margin-top: 0; 
    font-size: 1.3rem; 
    color: var(--neon-magenta); 
    border-bottom: 1px solid rgba(255, 0, 255, 0.3); 
    padding-bottom: 0.5rem; 
    text-shadow: 0 0 5px var(--neon-magenta);
}

/* Tablas */
table { width: 100%; border-collapse: collapse; margin-top: 1rem; font-size: 1rem; }
th, td { padding: 0.75rem; text-align: left; border-bottom: 1px solid #333; }
th { color: var(--neon-cyan); font-weight: 700; }

/* Formularios Neón */
.grupo-form { margin-bottom: 1rem; }
.grupo-form label { display: block; margin-bottom: 0.3rem; color: var(--neon-cyan); }
.grupo-form input, .grupo-form textarea { 
    width: 100%; 
    padding: 0.75rem; 
    background: #000;
    color: var(--neon-cyan);
    border: 1px solid var(--neon-cyan); 
    border-radius: 4px; 
    box-sizing: border-box; 
    outline: none;
}
.grupo-form input:focus, .grupo-form textarea:focus {
    box-shadow: 0 0 8px var(--neon-cyan);
}

/* Botones Neón */
.btn { 
    display: inline-block; 
    background: transparent; 
    color: var(--neon-verde); 
    padding: 0.75rem 1rem; 
    border: 2px solid var(--neon-verde); 
    border-radius: 4px; 
    cursor: pointer; 
    font-weight: bold; 
    width: 100%; 
    text-align: center; 
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 0 10px rgba(57, 255, 20, 0.3);
    text-shadow: 0 0 5px var(--neon-verde);
    transition: 0.3s;
}
.btn:hover { background: var(--neon-verde); color: #000; box-shadow: 0 0 20px var(--neon-verde); }

.btn-pequeno { 
    padding: 0.4rem 0.6rem; 
    width: auto; 
    color: var(--neon-rojo);
    border: 1px solid var(--neon-rojo);
    box-shadow: 0 0 5px rgba(255, 0, 60, 0.3);
    text-shadow: 0 0 3px var(--neon-rojo);
}
.btn-pequeno:hover { background: var(--neon-rojo); color: #fff; box-shadow: 0 0 15px var(--neon-rojo); }

/* Alertas */
.alerta { padding: 1rem; border-radius: 4px; margin-bottom: 1rem; font-weight: bold; }
.exito { background: rgba(57, 255, 20, 0.1); border: 1px solid var(--neon-verde); color: var(--neon-verde); text-shadow: 0 0 5px var(--neon-verde); }

/* Menú Inferior Neón */
.menu-inferior {
    position: fixed;
    bottom: 0; left: 0; width: 100%;
    background: var(--panel-oscuro);
    border-top: 2px solid var(--neon-cyan);
    box-shadow: 0 -5px 15px rgba(0, 243, 255, 0.2);
    display: flex; justify-content: space-around; align-items: center;
    height: 70px; z-index: 1000;
}

.item-menu {
    display: flex; flex-direction: column; align-items: center;
    color: #555; text-decoration: none; font-size: 0.8rem;
    transition: 0.3s; width: 100%; padding: 0.5rem 0;
}
.item-menu i { font-size: 1.5rem; margin-bottom: 5px; }

.item-menu.activo { 
    color: var(--neon-cyan); 
    text-shadow: 0 0 10px var(--neon-cyan); 
}
.item-menu:hover:not(.activo) { color: #888; }