:root {
    --bg-main: #080818;
    --primary: #6C63FF;
    --primary-hover: #7c75ff;
    --glass: rgba(255, 255, 255, 0.05);
    --glass-border: rgba(255, 255, 255, 0.1);
}

body { font-family: 'Inter', sans-serif; scroll-behavior: smooth; }

/* Evita que el contenido quede debajo del navbar al usar anclas */
.section-anchor {
    scroll-margin-top: 100px;
}

.nav-glass {
    background: rgba(8, 8, 24, 0.85);
    backdrop-filter: blur(15px);
    border-bottom: 1px solid var(--glass-border);
}

.violet-gradient { 
    background: linear-gradient(135deg, #6C63FF 0%, #4B45B2 100%); 
}

.glass { 
    background: var(--glass); 
    backdrop-filter: blur(10px); 
    border: 1px solid var(--glass-border); 
}

.icon {
    width: 24px; height: 24px;
    filter: brightness(0) invert(1);
}
.icon-small { width: 18px; height: 18px; }

.btn {
    padding: 12px 34px;
    border-radius: 50px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: 0.3s;
}
.btn-primary { background: var(--primary); color: white; }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(108, 99, 255, 0.3); }

.btn-outline { border: 1px solid var(--glass-border); color: white; }
.btn-outline:hover { background: var(--glass); border-color: var(--primary); }

@keyframes slow-zoom {
    from { transform: scale(1); }
    to { transform: scale(1.1); }
}
.animate-slow-zoom {
    animation: slow-zoom 20s infinite alternate linear;
}

/* Estilos específicos para inputs del login */
input::placeholder {
    color: rgba(255,255,255,0.2);
}

.login-container {
    background: radial-gradient(circle at top, rgba(108, 99, 255, 0.1) 0%, transparent 70%);
}
/* Ocultar elementos huérfanos de la sidebar */
.help-icon, .close-sidebar, .sidebar-footer button:contains('?') {
    display: none !important;
}

/* Ajuste para que el "Cargando..." no se quede infinito si no hay datos */
.loading-message {
    padding: 20px;
    color: #888;
    text-align: center;
}

/* ── Guard: pantalla de acceso restringido ─────────────────────────── */
.guard-unauthorized body {
    margin: 0;
    background: #080808;
    color: #F0F0F0;
    font-family: 'Inter', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    text-align: center;
}
.guard-box {
    background: #1a1a1a;
    border: 1px solid #2a2a2a;
    border-radius: 16px;
    padding: 48px 40px;
    max-width: 420px;
    width: 90%;
}
.guard-icon  { font-size: 3rem; margin-bottom: 16px; }
.guard-box h1 { font-size: 1.5rem; font-weight: 800; color: #FF6584; margin-bottom: 8px; }
.guard-box p  { color: #9E9E9E; font-size: 0.95rem; margin-bottom: 28px; }
.guard-box a  {
    display: inline-block;
    background: #6C63FF;
    color: #fff;
    text-decoration: none;
    padding: 12px 32px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.95rem;
    transition: background .2s;
}
.guard-box a:hover { background: #5a52e0; }

/* Landing page gradient — movido desde index.html */
.violet-gradient {
  background: linear-gradient(135deg, #8b5cf6 0%, #d946ef 100%);
}
