/* شارینو - استایل سفارشی */

/* Reset */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Vazirmatn', Tahoma, Arial, sans-serif; line-height: 1.7; }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #94a3b8; border-radius: 4px; }
.dark ::-webkit-scrollbar-thumb { background: #475569; }

/* Animations */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes slideInRight { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: translateX(0); } }
@keyframes scaleIn { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } }
@keyframes bounceIn { 0% { opacity: 0; transform: scale(0.3); } 50% { transform: scale(1.05); } 100% { opacity: 1; transform: scale(1); } }
@keyframes pulse-glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4); } 50% { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); } }
@keyframes shimmer { 0% { background-position: -200% center; } 100% { background-position: 200% center; } }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes spin-slow { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes toast-in { from { opacity: 0; transform: translateY(20px) scale(0.95); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes toast-out { from { opacity: 1; } to { opacity: 0; transform: translateY(-10px) scale(0.95); } }
@keyframes check-draw { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }

.animate-fade-in { animation: fadeIn 0.4s ease-out; }
.animate-slide-up { animation: slideUp 0.5s ease-out; }
.animate-slide-right { animation: slideInRight 0.4s ease-out; }
.animate-scale-in { animation: scaleIn 0.3s ease-out; }
.animate-bounce-in { animation: bounceIn 0.6s ease-out; }
.animate-pulse-glow { animation: pulse-glow 2s infinite; }
.animate-shimmer { background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent); background-size: 200% 100%; animation: shimmer 2s infinite; }
.animate-float { animation: float 3s ease-in-out infinite; }

/* Toast */
.toast-enter { animation: toast-in 0.3s ease-out forwards; }
.toast-exit { animation: toast-out 0.3s ease-in forwards; }

/* Glass Card */
.glass-card { background: rgba(255,255,255,0.8); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,0.2); }
.dark .glass-card { background: rgba(30,41,59,0.8); border: 1px solid rgba(255,255,255,0.05); }

/* Product Card */
.product-card { transition: all 0.3s cubic-bezier(0.4,0,0.2,1); }
.product-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -12px rgba(0,0,0,0.15); }
.dark .product-card:hover { box-shadow: 0 20px 40px -12px rgba(0,0,0,0.4); }

/* Operator Card */
.operator-card { transition: all 0.2s ease; cursor: pointer; }
.operator-card:hover { transform: scale(1.02); }
.operator-card.active { border-width: 2px; }

/* Modal */
.modal-overlay { animation: fadeIn 0.2s ease-out; }
.modal-content { animation: scaleIn 0.3s ease-out; }

/* Buttons */
.btn-primary { transition: all 0.2s ease; }
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(16,185,129,0.4); }
.btn-primary:active { transform: translateY(0); }

/* Table */
.table-row-hover:hover { background-color: rgba(16,185,129,0.05); }
.dark .table-row-hover:hover { background-color: rgba(16,185,129,0.1); }

/* Toggle Switch */
.toggle-switch { position: relative; width: 44px; height: 24px; background: #cbd5e1; border-radius: 12px; cursor: pointer; transition: background 0.3s; }
.toggle-switch.active { background: #10b981; }
.toggle-switch::after { content: ''; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; background: white; border-radius: 50%; transition: transform 0.3s; box-shadow: 0 2px 4px rgba(0,0,0,0.2); }
.toggle-switch.active::after { transform: translateX(20px); }

/* Badge */
.badge { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 9999px; font-size: 11px; font-weight: 700; line-height: 1.4; }

/* Spinner */
.spinner { width: 24px; height: 24px; border: 3px solid #e2e8f0; border-top-color: #10b981; border-radius: 50%; animation: spin-slow 0.8s linear infinite; }
.dark .spinner { border-color: #475569; border-top-color: #10b981; }

/* Hero */
.hero-gradient { background: linear-gradient(135deg, #059669 0%, #0d9488 30%, #0891b2 60%, #6366f1 100%); }
.dark .hero-gradient { background: linear-gradient(135deg, #064e3b 0%, #0f172a 40%, #1e1b4b 100%); }
.hero-circle { position: absolute; border-radius: 50%; filter: blur(60px); opacity: 0.3; }

/* Pin Code */
.pin-code-box { font-family: 'Courier New', monospace; letter-spacing: 1px; user-select: all; }

/* Chat Bubble */
.chat-bubble { max-width: 80%; animation: slideUp 0.3s ease-out; }

/* Admin Sidebar */
.admin-sidebar { scrollbar-width: thin; }
.admin-sidebar::-webkit-scrollbar { width: 4px; }

/* Responsive */
@media (max-width: 768px) { .hero-gradient { padding: 2rem 1rem; } }

/* Print */
@media print {
    .no-print { display: none !important; }
    body { background: white !important; color: black !important; }
}