:root{--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-secondary: #9333ea;--color-secondary-dark: #7e22ce;--gradient-primary: linear-gradient(135deg, #2563eb 0%, #9333ea 100%);--gradient-primary-hover: linear-gradient(135deg, #1d4ed8 0%, #7e22ce 100%);--gradient-bg: linear-gradient(135deg, #f8fafc 0%, #eff6ff 50%, #f3e8ff 100%);--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-slate-600: #475569;--color-slate-700: #334155;--color-slate-800: #1e293b;--color-slate-900: #0f172a;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--scrollbar-width: 6px;--scrollbar-track: var(--color-slate-100);--scrollbar-thumb: var(--color-slate-300);--scrollbar-thumb-hover: var(--color-slate-400)}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow:hidden;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--gradient-bg);color:var(--color-slate-900);overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;margin:0;padding:0;height:100vh;height:100dvh;overflow:hidden}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-gradient{background-size:200% 200%;animation:gradient-shift 8s ease infinite}.animate-float{animation:float 6s ease-in-out infinite}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-in{animation:slideIn .3s ease-out}.animate-scale-in{animation:scaleIn .3s ease-out}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}.bg-gradient-primary{background:var(--gradient-primary)}.bg-gradient-bg{background:var(--gradient-bg)}.glass{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.glass-dark{background:#0000001a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-weight:600;border-radius:var(--radius-xl);transition:all var(--transition-base);cursor:pointer;border:none;outline:none;text-decoration:none}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-lg)}.btn-primary:hover{background:var(--gradient-primary-hover);box-shadow:var(--shadow-xl);transform:translateY(-2px)}.btn-primary:active{transform:scale(.98)}.btn-secondary{background:#fff;color:var(--color-slate-900);border:2px solid var(--color-slate-200)}.btn-secondary:hover{background:var(--color-slate-50);border-color:var(--color-slate-300)}.btn-ghost{background:transparent;color:var(--color-slate-600)}.btn-ghost:hover{background:var(--color-slate-100);color:var(--color-slate-900)}.input{width:100%;padding:.875rem 1rem;border:2px solid var(--color-slate-200);border-radius:var(--radius-xl);font-size:1rem;transition:all var(--transition-base);background:#fff;color:var(--color-slate-900)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #2563eb1a}.input::placeholder{color:var(--color-slate-400)}.card{background:#fff;border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.card-flat{background:#fff;border:1px solid var(--color-slate-200);border-radius:var(--radius-xl);padding:var(--spacing-lg)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-primary{background:#2563eb1a;color:var(--color-primary)}.badge-success{background:#10b9811a;color:var(--color-success)}.badge-warning{background:#f59e0b1a;color:var(--color-warning)}.badge-error{background:#ef44441a;color:var(--color-error)}.custom-scrollbar::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}.custom-scrollbar::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.loading-spinner{width:40px;height:40px;border:4px solid var(--color-slate-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.skeleton{background:linear-gradient(90deg,var(--color-slate-200) 25%,var(--color-slate-100) 50%,var(--color-slate-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:.5rem .75rem;background:var(--color-slate-900);color:#fff;font-size:.75rem;border-radius:var(--radius-md);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.tooltip:hover:after{opacity:1}.divider{height:1px;background:var(--color-slate-200);margin:var(--spacing-lg) 0}@media(max-width:768px){:root{--spacing-xs: .375rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem}input[type=email],input[type=text],input[type=password],input[type=number],textarea{font-size:16px!important}*{touch-action:manipulation}.btn{padding:.875rem 1.25rem}}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}@media print{.no-print{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background:#2563eb33;color:var(--color-slate-900)}::-moz-selection{background:#2563eb33;color:var(--color-slate-900)}
