/* Tema Neon - Original mejorado */
[data-theme="neon"] {
    --neon-blue: #00ffff;
    --neon-pink: #ff00ff;
    --neon-green: #00ff00;
    --neon-yellow: #ffff00;
    --neon-purple: #8000ff;
    --neon-orange: #ff6600;
    --dark-bg: #0a0a0a;
    --card-bg: #1a1a1a;
    --text-light: #e0e0e0;
    --text-dark: #333;
    --border-neon: #00ffff;
    --shadow-neon: 0 0 20px var(--neon-blue);
    --gradient-neon: linear-gradient(45deg, var(--neon-blue), var(--neon-pink));
    
    background: var(--dark-bg);
    color: var(--text-light);
    background-image: 
        radial-gradient(circle at 20% 80%, rgba(0, 255, 255, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(255, 0, 255, 0.1) 0%, transparent 50%);
}

[data-theme="neon"] .theme-card {
    background: var(--card-bg);
    border: 2px solid var(--border-neon);
    border-radius: 15px;
    padding: var(--padding-card);
    margin: var(--margin-card) 0;
    box-shadow: var(--shadow-neon);
    position: relative;
    overflow: hidden;
}

[data-theme="neon"] .theme-card::before {
    content: '';
    position: absolute;
    top: -2px; left: -2px; right: -2px; bottom: -2px;
    background: var(--gradient-neon);
    border-radius: 15px;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

[data-theme="neon"] .theme-card:hover::before {
    opacity: 0.3;
}

[data-theme="neon"] .theme-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0 30px var(--neon-blue);
}

[data-theme="neon"] .theme-btn {
    background: transparent;
    border: 2px solid var(--neon-blue);
    color: var(--neon-blue);
    padding: 10px 25px;
    border-radius: 25px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
}

[data-theme="neon"] .theme-btn:hover {
    background: var(--neon-blue);
    color: var(--dark-bg);
    box-shadow: 0 0 20px var(--neon-blue);
}

[data-theme="neon"] .theme-btn.btn-pink {
    border-color: var(--neon-pink);
    color: var(--neon-pink);
}

[data-theme="neon"] .theme-btn.btn-pink:hover {
    background: var(--neon-pink);
    color: var(--dark-bg);
    box-shadow: 0 0 20px var(--neon-pink);
}

[data-theme="neon"] .theme-btn.btn-green {
    border-color: var(--neon-green);
    color: var(--neon-green);
}

[data-theme="neon"] .theme-btn.btn-green:hover {
    background: var(--neon-green);
    color: var(--dark-bg);
    box-shadow: 0 0 20px var(--neon-green);
}

[data-theme="neon"] .form-control,
[data-theme="neon"] .form-select {
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid rgba(0, 255, 255, 0.3);
    color: var(--text-light);
    border-radius: var(--border-radius);
    padding: 12px 15px;
}

[data-theme="neon"] .form-control:focus,
[data-theme="neon"] .form-select:focus {
    background: rgba(255, 255, 255, 0.15);
    border-color: var(--neon-blue);
    color: var(--text-light);
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
}

[data-theme="neon"] .form-control::placeholder {
    color: rgba(224, 224, 224, 0.6);
}

[data-theme="neon"] .form-label {
    color: var(--neon-blue);
    font-weight: bold;
    margin-bottom: 8px;
    display: block;
}

[data-theme="neon"] .nav-link {
    color: var(--text-light) !important;
    border-bottom: 2px solid transparent;
    padding: 10px 20px !important;
}

[data-theme="neon"] .nav-link:hover {
    color: var(--neon-blue) !important;
    border-bottom-color: var(--neon-blue);
    text-shadow: 0 0 10px var(--neon-blue);
}

[data-theme="neon"] .nav-link.active {
    color: var(--neon-pink) !important;
    border-bottom-color: var(--neon-pink);
    text-shadow: 0 0 15px var(--neon-pink);
}

[data-theme="neon"] .table {
    background: transparent;
    color: var(--text-light);
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 15px;
    overflow: hidden;
}

[data-theme="neon"] .table thead {
    background: var(--gradient-neon);
    color: var(--dark-bg);
}

[data-theme="neon"] .table th {
    padding: 15px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
}

[data-theme="neon"] .table td {
    padding: 12px 15px;
    border-bottom: 1px solid rgba(0, 255, 255, 0.2);
}

[data-theme="neon"] .table tbody tr:hover {
    background: rgba(0, 255, 255, 0.1);
    transform: scale(1.02);
}

[data-theme="neon"] .theme-title {
    color: var(--neon-blue);
    text-shadow: 0 0 20px var(--neon-blue);
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    animation: neon-pulse 2s infinite;
}

[data-theme="neon"] .theme-subtitle {
    color: var(--neon-pink);
    text-shadow: 0 0 15px var(--neon-pink);
    font-weight: 600;
}

[data-theme="neon"] .alert {
    background: rgba(0, 255, 255, 0.1);
    border: 2px solid var(--neon-blue);
    color: var(--text-light);
    border-radius: var(--border-radius);
    padding: 15px;
    margin: 15px 0;
}

[data-theme="neon"] .alert.alert-success {
    background: rgba(0, 255, 0, 0.1);
    border-color: var(--neon-green);
}

[data-theme="neon"] .alert.alert-danger {
    background: rgba(255, 0, 255, 0.1);
    border-color: var(--neon-pink);
}

[data-theme="neon"] .dashboard-card {
    background: var(--card-bg);
    border: 2px solid var(--neon-blue);
    border-radius: 15px;
    padding: 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

[data-theme="neon"] .dashboard-card::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(0, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

[data-theme="neon"] .dashboard-card:hover::before {
    left: 100%;
}

[data-theme="neon"] .dashboard-value {
    font-size: 2.5rem;
    font-weight: bold;
    color: var(--neon-green);
    text-shadow: 0 0 20px var(--neon-green);
}

[data-theme="neon"] .sidebar {
    background-image: linear-gradient(180deg, var(--card-bg) 0%, rgba(26, 26, 26, 0.8) 70%);
    border-right: 2px solid var(--neon-blue);
    box-shadow: 2px 0 20px rgba(0, 255, 255, 0.3);
}

[data-theme="neon"] .top-row {
    background: var(--dark-bg);
    border-bottom: 2px solid var(--neon-pink);
    box-shadow: 0 2px 20px rgba(255, 0, 255, 0.3);
}

@keyframes neon-pulse {
    0%, 100% { text-shadow: 0 0 5px currentColor; }
    50% { text-shadow: 0 0 20px currentColor, 0 0 30px currentColor; }
}
