/* Tema Cyberpunk */
[data-theme="cyberpunk"] {
    --cyber-pink: #ff0080;
    --cyber-cyan: #00ffff;
    --cyber-yellow: #ffff00;
    --cyber-purple: #b300ff;
    --cyber-green: #00ff41;
    --cyber-red: #ff0040;
    --cyber-bg: #0d0208;
    --cyber-card: #1a0f1a;
    --cyber-text: #f72585;
    --cyber-text-light: #ffffff;
    --cyber-border: #ff0080;
    --cyber-shadow: 0 0 30px;
    --cyber-gradient: linear-gradient(45deg, var(--cyber-pink), var(--cyber-purple), var(--cyber-cyan));
    
    background: var(--cyber-bg);
    color: var(--cyber-text-light);
    background-image: 
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 2px,
            rgba(255, 0, 128, 0.03) 2px,
            rgba(255, 0, 128, 0.03) 4px
        ),
        radial-gradient(circle at 30% 70%, rgba(255, 0, 128, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 70% 30%, rgba(0, 255, 255, 0.1) 0%, transparent 50%);
}

[data-theme="cyberpunk"] .theme-card {
    background: var(--cyber-card);
    border: 2px solid var(--cyber-pink);
    border-radius: 0px;
    padding: var(--padding-card);
    margin: var(--margin-card) 0;
    box-shadow: var(--cyber-shadow) var(--cyber-pink);
    position: relative;
    clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 15px, 100% 100%, 15px 100%, 0 calc(100% - 15px));
}

[data-theme="cyberpunk"] .theme-card::before {
    content: '';
    position: absolute;
    top: -2px; left: -2px; right: -2px; bottom: -2px;
    background: var(--cyber-gradient);
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
    clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 15px, 100% 100%, 15px 100%, 0 calc(100% - 15px));
}

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

[data-theme="cyberpunk"] .theme-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 0 40px var(--cyber-pink), inset 0 0 20px rgba(255, 0, 128, 0.1);
}

[data-theme="cyberpunk"] .theme-btn {
    background: transparent;
    border: 2px solid var(--cyber-cyan);
    color: var(--cyber-cyan);
    padding: 12px 30px;
    border-radius: 0;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-family: 'Courier New', monospace;
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 100%, 10px 100%);
    position: relative;
}

[data-theme="cyberpunk"] .theme-btn::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: var(--cyber-cyan);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
}

[data-theme="cyberpunk"] .theme-btn:hover::before {
    opacity: 0.1;
}

[data-theme="cyberpunk"] .theme-btn:hover {
    color: var(--cyber-text-light);
    box-shadow: 0 0 20px var(--cyber-cyan);
    text-shadow: 0 0 10px var(--cyber-cyan);
}

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

[data-theme="cyberpunk"] .theme-btn.btn-pink::before {
    background: var(--cyber-pink);
}

[data-theme="cyberpunk"] .theme-btn.btn-pink:hover {
    box-shadow: 0 0 20px var(--cyber-pink);
    text-shadow: 0 0 10px var(--cyber-pink);
}

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

[data-theme="cyberpunk"] .theme-btn.btn-green::before {
    background: var(--cyber-green);
}

[data-theme="cyberpunk"] .theme-btn.btn-green:hover {
    box-shadow: 0 0 20px var(--cyber-green);
    text-shadow: 0 0 10px var(--cyber-green);
}

[data-theme="cyberpunk"] .form-control,
[data-theme="cyberpunk"] .form-select {
    background: rgba(26, 15, 26, 0.8);
    border: 2px solid var(--cyber-pink);
    color: var(--cyber-text-light);
    border-radius: 0;
    padding: 12px 15px;
    font-family: 'Courier New', monospace;
}

[data-theme="cyberpunk"] .form-control:focus,
[data-theme="cyberpunk"] .form-select:focus {
    background: rgba(26, 15, 26, 1);
    border-color: var(--cyber-cyan);
    color: var(--cyber-text-light);
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);
}

[data-theme="cyberpunk"] .form-control::placeholder {
    color: rgba(247, 37, 133, 0.7);
}

[data-theme="cyberpunk"] .form-label {
    color: var(--cyber-pink);
    font-weight: bold;
    margin-bottom: 8px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: 'Courier New', monospace;
}

[data-theme="cyberpunk"] .nav-link {
    color: var(--cyber-text-light) !important;
    border-left: 3px solid transparent;
    padding: 12px 20px !important;
    border-radius: 0;
    margin-bottom: 2px;
    font-family: 'Courier New', monospace;
    text-transform: uppercase;
    letter-spacing: 1px;
}

[data-theme="cyberpunk"] .nav-link:hover {
    color: var(--cyber-cyan) !important;
    background: rgba(0, 255, 255, 0.1);
    border-left-color: var(--cyber-cyan);
    text-shadow: 0 0 10px var(--cyber-cyan);
}

[data-theme="cyberpunk"] .nav-link.active {
    color: var(--cyber-pink) !important;
    background: rgba(255, 0, 128, 0.1);
    border-left-color: var(--cyber-pink);
    text-shadow: 0 0 15px var(--cyber-pink);
}

[data-theme="cyberpunk"] .table {
    background: var(--cyber-card);
    color: var(--cyber-text-light);
    border-radius: 0;
    font-family: 'Courier New', monospace;
    border: 2px solid var(--cyber-pink);
}

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

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

[data-theme="cyberpunk"] .table td {
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255, 0, 128, 0.3);
}

[data-theme="cyberpunk"] .table tbody tr:hover {
    background: rgba(255, 0, 128, 0.1);
    box-shadow: inset 0 0 20px rgba(255, 0, 128, 0.1);
}

[data-theme="cyberpunk"] .theme-title {
    color: var(--cyber-pink);
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-family: 'Courier New', monospace;
    text-shadow: 0 0 20px var(--cyber-pink);
    animation: cyber-glitch 3s infinite;
}

[data-theme="cyberpunk"] .theme-subtitle {
    color: var(--cyber-cyan);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-family: 'Courier New', monospace;
}

[data-theme="cyberpunk"] .alert {
    background: rgba(26, 15, 26, 0.8);
    border: 2px solid var(--cyber-pink);
    color: var(--cyber-text-light);
    border-radius: 0;
    padding: 16px;
    margin: 15px 0;
    font-family: 'Courier New', monospace;
}

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

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

[data-theme="cyberpunk"] .dashboard-card {
    background: var(--cyber-card);
    border: 2px solid var(--cyber-cyan);
    border-radius: 0;
    padding: 24px;
    text-align: center;
    box-shadow: var(--cyber-shadow) var(--cyber-cyan);
    clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

[data-theme="cyberpunk"] .dashboard-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 40px var(--cyber-cyan);
}

[data-theme="cyberpunk"] .dashboard-value {
    font-size: 2.5rem;
    font-weight: bold;
    color: var(--cyber-green);
    text-shadow: 0 0 20px var(--cyber-green);
    font-family: 'Courier New', monospace;
}

[data-theme="cyberpunk"] .sidebar {
    background: var(--cyber-card);
    border-right: 2px solid var(--cyber-pink);
    box-shadow: 4px 0 20px rgba(255, 0, 128, 0.3);
}

[data-theme="cyberpunk"] .top-row {
    background: var(--cyber-card);
    border-bottom: 2px solid var(--cyber-cyan);
    box-shadow: 0 2px 20px rgba(0, 255, 255, 0.3);
}

@keyframes cyber-glitch {
    0%, 90%, 100% { 
        text-shadow: 0 0 20px var(--cyber-pink);
    }
    5% { 
        text-shadow: 2px 0 0 var(--cyber-cyan), -2px 0 0 var(--cyber-pink);
    }
    10% { 
        text-shadow: -2px 0 0 var(--cyber-cyan), 2px 0 0 var(--cyber-pink);
    }
}
