* { -webkit-tap-highlight-color: transparent; }
body { margin: 0; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 8px; }
::-webkit-scrollbar-track { background: transparent; }

.gradient-brand { background: linear-gradient(135deg, #0d9488 0%, #0891b2 50%, #2563eb 100%); }
.gradient-soft { background: linear-gradient(135deg, #f0fdfa 0%, #ecfeff 100%); }

.card-hover { transition: all .25s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -12px rgba(13,148,136,.25); }

.fade-in { animation: fadeIn .4s ease; }
@keyframes fadeIn { from { opacity:0; transform: translateY(10px);} to { opacity:1; transform: translateY(0);} }

.slide-up { animation: slideUp .35s cubic-bezier(.16,1,.3,1); }
@keyframes slideUp { from { transform: translateY(100%);} to { transform: translateY(0);} }

.pulse-dot { animation: pulse 2s infinite; }
@keyframes pulse { 0%,100%{ opacity:1;} 50%{ opacity:.4;} }

.toast { animation: toastIn .3s ease; }
@keyframes toastIn { from { opacity:0; transform: translateY(-20px);} to { opacity:1; transform: translateY(0);} }

.nav-active { color: #0d9488 !important; }
.nav-active i { transform: scale(1.15); }

.chat-bubble-me { border-radius: 18px 18px 4px 18px; }
.chat-bubble-them { border-radius: 18px 18px 18px 4px; }

.spin { animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg);} }

input:focus, textarea:focus, select:focus { outline: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
