:root{--primary: #0f172a;--secondary: #64748b;--accent: #2563eb;--surface: #f8fafc;--border: #e2e8f0;--sidebar-w: 264px}body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.animate-fade-in{animation:fadeIn .3s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in-up{animation:fadeInUp .4s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.shadow-soft{box-shadow:0 10px 40px -10px #0056b31a}.shadow-glow{box-shadow:0 0 25px #007bff66}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;font-size:24px;line-height:1;display:inline-block;direction:ltr;white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-transform:none;letter-spacing:normal;word-wrap:normal;font-feature-settings:"liga"}.notranslate{-webkit-text-security:none;unicode-bidi:bidi-override}.card-saas{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;transition:all .2s ease-in-out}.card-saas:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.sidebar-item-active{background-color:#f1f5f9;color:var(--accent)}.sidebar-pill{height:40px;border-radius:8px;transition:all .2s}.p-8px{padding:8px}.p-12px{padding:12px}.p-16px{padding:16px}.p-24px{padding:24px}.p-32px{padding:32px}.m-8px{margin:8px}.m-12px{margin:12px}.m-16px{margin:16px}.m-24px{margin:24px}.m-32px{margin:32px}.gap-8px{gap:8px}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-24px{gap:24px}.gap-32px{gap:32px}@media(min-width:768px){::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.animate-bounce-subtle{animation:bounceSubtle 2s infinite}@keyframes bounceSubtle{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(max-width:767px){.mobile-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-safe-area{padding-bottom:env(safe-area-inset-bottom)}}
