/* GameVault Admin - Common Styles */

/* Base Font Styles */
body { font-family: 'Inter', sans-serif; }

.font-gaming { font-family: 'Orbitron', sans-serif; }

/* Glow Effects */
.glow-purple { box-shadow: 0 0 20px rgba(124, 58, 237, 0.5); }

.glow-cyan { box-shadow: 0 0 20px rgba(6, 182, 212, 0.5); }

.glow-pink { box-shadow: 0 0 20px rgba(236, 72, 153, 0.5); }

/* Gradient Border Effect */
.gradient-border { border: 2px solid transparent; background: linear-gradient(#1a1a2e, #1a1a2e) padding-box, linear-gradient(135deg, #7c3aed, #ec4899, #06b6d4) border-box; }

/* Neon Text Effect */
.neon-text { text-shadow: 0 0 10px currentColor, 0 0 20px currentColor, 0 0 30px currentColor; }

/* Custom Scrollbar */
.scrollbar-gaming::-webkit-scrollbar { width: 8px; }

.scrollbar-gaming::-webkit-scrollbar-track { background: #0f0f1a; }

.scrollbar-gaming::-webkit-scrollbar-thumb { background: #7c3aed; border-radius: 4px; }

/* Animations */
.animate-pulse-slow { animation: pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite; }

@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
}

.animate-float { animation: float 3s ease-in-out infinite; }

/* Mobile Menu Styles */
.sidebar-overlay { opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }

    .sidebar-overlay.active { opacity: 1; visibility: visible; }

.mobile-sidebar { transform: translateX(-100%); transition: transform 0.3s ease; }

    .mobile-sidebar.active { transform: translateX(0); }

/* Responsive adjustments */
@media (min-width: 1024px) {
    .mobile-sidebar { transform: translateX(0); }
}

/* Modal Styles */
.modal-overlay { opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }

    .modal-overlay.active { opacity: 1; visibility: visible; }

.modal-content { transform: scale(0.9) translateY(-20px); opacity: 0; transition: transform 0.3s ease, opacity 0.3s ease; }

.modal-overlay.active .modal-content { transform: scale(1) translateY(0); opacity: 1; }

/* Toast Notifications */
.toast-container { position: fixed; top: 20px; right: 20px; z-index: 9999; display: flex; flex-direction: column; gap: 10px; }

.toast { padding: 16px 20px; border-radius: 8px; color: white; font-size: 14px; display: flex; align-items: center; gap: 12px; animation: slideIn 0.3s ease, fadeOut 0.3s ease 2.7s forwards; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3); }

.toast-success { background: linear-gradient(135deg, #10b981, #059669); }

.toast-error { background: linear-gradient(135deg, #ef4444, #dc2626); }

.toast-info { background: linear-gradient(135deg, #7c3aed, #6d28d9); }

.toast-warning { background: linear-gradient(135deg, #f97316, #ea580c); }


@keyframes slideIn {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

@keyframes fadeOut {
    to { opacity: 0; transform: translateX(100%); }
}

/* ===== ALERT BASE ===== */
.alert { padding: 14px 16px; margin-bottom: 16px; border-radius: 10px; font-size: 14px; font-weight: 500; display: block; animation: fadeIn 0.25s ease-in-out; border: 1px solid transparent; }

/* ===== SUCCESS ===== */
.alert-success { background: rgba(34,197,94,0.12); border-color: rgba(34,197,94,0.35); color: #22c55e; }

/* ===== ERROR ===== */
.alert-danger { background: rgba(239,68,68,0.12); border-color: rgba(239,68,68,0.35); color: #ef4444; }

/* ===== INFO ===== */
.alert-info { background: rgba(59,130,246,0.12); border-color: rgba(59,130,246,0.35); color: #3b82f6; }

/* ===== WARNING ===== */
.alert-warning { background: rgba(245,158,11,0.12); border-color: rgba(245,158,11,0.35); color: #f59e0b; }

/* ===== Animation ===== */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}


/* Form Input Styles */
.form-input { width: 100%; background: #0f0f1a; border: 1px solid #2d2d44; border-radius: 8px; padding: 10px 14px; color: #f3f4f6; font-size: 14px; transition: border-color 0.2s ease, box-shadow 0.2s ease; }

    .form-input:focus { outline: none; border-color: #7c3aed; box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.1); }

    .form-input::placeholder { color: #6b7280; }

.form-label { display: block; font-size: 14px; font-weight: 500; color: #d1d5db; margin-bottom: 6px; }

.form-select { width: 100%; background: #0f0f1a; border: 1px solid #2d2d44; border-radius: 8px; padding: 10px 14px; color: #f3f4f6; font-size: 14px; cursor: pointer; transition: border-color 0.2s ease; }

    .form-select:focus { outline: none; border-color: #7c3aed; }

/* Button Active States */
.btn-filter.active { background: #7c3aed !important; border-color: #7c3aed !important; }

/* Table Row Hover */
.table-row-hover:hover { background: rgba(124, 58, 237, 0.1); }

/* Checkbox Custom */
.custom-checkbox { appearance: none; width: 18px; height: 18px; border: 2px solid #2d2d44; border-radius: 4px; background: #0f0f1a; cursor: pointer; transition: all 0.2s ease; }

    .custom-checkbox:checked { background: #7c3aed; border-color: #7c3aed; background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e"); }
