*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #1d4ed8;--primary-hover: #1e40af;--primary-light: #dbeafe;--primary-lighter: #eff6ff;--accent: #059669;--accent-hover: #047857;--accent-light: #d1fae5;--accent-lighter: #ecfdf5;--warning: #d97706;--warning-light: #fef3c7;--danger: #dc2626;--danger-light: #fee2e2;--bg: #f1f5f9;--surface: #ffffff;--surface2: #f8fafc;--text: #0f172a;--text-muted: #64748b;--text-light: #94a3b8;--border: #e2e8f0;--border-strong: #cbd5e1;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 30px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--font-display: "Outfit", sans-serif;--font-body: "Plus Jakarta Sans", sans-serif;--nav-height: 72px;--header-height: 64px}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font-family:var(--font-body);cursor:pointer;border:none;background:none}input,select,textarea{font-family:var(--font-body);font-size:15px}input:focus,select:focus,textarea:focus{outline:none}.scroll-area{overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.scroll-area::-webkit-scrollbar{display:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes progress{0%{width:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.animate-fade{animation:fadeIn .3s ease both}.animate-scale{animation:scaleIn .25s ease both}.animate-slide-up{animation:slideUp .35s cubic-bezier(.16,1,.3,1) both}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
