@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--color-bg:#0d0f1a;--color-bg-secondary:#12152a;--color-surface:#181b2e;--color-surface-2:#1e2138;--color-card:#1a1d35;--color-border:#ffffff12;--color-border-focus:#6c63ff80;--color-primary:#6c63ff;--color-primary-light:#8b85ff;--color-primary-dark:#5048cc;--color-primary-glow:#6c63ff40;--color-accent:#00d4aa;--color-accent-light:#33ddb8;--color-accent-dark:#00a884;--color-accent-glow:#00d4aa33;--color-success:#10d48e;--color-success-bg:#10d48e1f;--color-warning:#ffb547;--color-warning-bg:#ffb5471f;--color-error:#ff5c7a;--color-error-bg:#ff5c7a1f;--color-info:#4da6ff;--color-info-bg:#4da6ff1f;--color-text-primary:#f0f2ff;--color-text-secondary:#8b90a7;--color-text-muted:#555b78;--color-text-inverse:#0d0f1a;--color-usd:#4ade80;--color-eur:#818cf8;--color-gbp:#f472b6;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 12px 40px #00000080;--shadow-xl:0 20px 60px #0009;--shadow-glow:0 0 30px var(--color-primary-glow);--shadow-glow-accent:0 0 30px var(--color-accent-glow);--color-white:#fff;--color-black:#000;--color-glass-bg:#ffffff08;--color-glass-border:#ffffff14;--color-error-border:#ff5c7a33;--color-overlay:#000000a6;--color-card-border-hover:#6c63ff26;--color-ghost-bg:#ffffff0f;--color-ghost-border:#ffffff1a;--color-row-divider:#ffffff0a;--color-subtle-bg:#ffffff0d;--color-spinner-track:#ffffff4d;--color-spinner-fill:#fff;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:11px;--font-size-sm:13px;--font-size-base:15px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:22px;--font-size-2xl:28px;--font-size-3xl:36px;--font-size-4xl:48px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--transition-bounce:.35s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width:280px;--sidebar-width-sm:240px;--content-max-w:1200px;--topbar-height:56px;--bottomnav-height:68px;--z-base:1;--z-card:10;--z-overlay:100;--z-modal:9990;--z-toast:9996;--z-top:9999}[data-theme=light]{--color-bg:#f5f7ff;--color-bg-secondary:#edf0ff;--color-surface:#fff;--color-surface-2:#f0f2ff;--color-card:#fff;--color-border:#00000014;--color-border-focus:#6c63ff66;--color-text-primary:#0d0f1a;--color-text-secondary:#4a5068;--color-text-muted:#9098b4;--color-text-inverse:#f0f2ff;--color-primary-glow:#6c63ff26;--color-accent-glow:#00d4aa1f;--color-glass-bg:#ffffffb3;--color-glass-border:#0000000f;--color-ghost-bg:#0000000a;--color-ghost-border:#00000014;--color-row-divider:#0000000f;--color-subtle-bg:#00000008;--color-spinner-track:#00000026;--color-spinner-fill:var(--color-primary);--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 12px 40px #0000001f;--shadow-xl:0 20px 60px #00000026;--shadow-glow:0 0 30px #6c63ff26}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;height:100dvh;font-size:16px;overflow:hidden}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none;transition:background-color var(--transition-base), color var(--transition-base);width:100%;height:100dvh;line-height:1.6;overflow:hidden}img,video,svg{max-width:100%;display:block}button,input,select,textarea{font-family:inherit;font-size:inherit}button,a{touch-action:manipulation}@media (width<=768px){input,select,textarea{font-size:16px!important}}input:-webkit-autofill{-webkit-box-shadow:0 0 0px 1000px var(--color-surface-2) inset;-webkit-text-fill-color:var(--color-text-primary);transition:background-color 5000s ease-in-out}input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0px 1000px var(--color-surface-2) inset;-webkit-text-fill-color:var(--color-text-primary);transition:background-color 5000s ease-in-out}input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0px 1000px var(--color-surface-2) inset;-webkit-text-fill-color:var(--color-text-primary);transition:background-color 5000s ease-in-out}a{color:var(--color-primary);transition:opacity var(--transition-fast);text-decoration:none}a:hover{opacity:.8}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-brand{color:var(--color-primary)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.w-full{width:100%}.h-full{height:100%}.flex-1{flex:1}.grid{display:grid}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-base), border-color var(--transition-base)}.card-glass{background:var(--color-glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-card-border-hover)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:10px var(--space-5);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:var(--font-size-sm);transition:all var(--transition-base);white-space:nowrap;letter-spacing:.01em;border:none;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:var(--color-white);box-shadow:0 4px 15px var(--color-primary-glow)}.btn-primary:hover{background:linear-gradient(135deg, var(--color-primary-light), var(--color-primary));box-shadow:0 6px 20px var(--color-primary-glow);transform:translateY(-1px)}.btn-accent{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-dark));color:var(--color-white);box-shadow:0 4px 15px var(--color-accent-glow)}.btn-accent:hover{box-shadow:0 6px 20px var(--color-accent-glow);transform:translateY(-1px)}.btn-secondary{background:var(--color-surface-2);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface);border-color:var(--color-primary);transform:translateY(-1px)}.btn-ghost{color:var(--color-text-secondary);border:1px solid var(--color-border);background:0 0}.btn-ghost:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.btn-danger{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}.btn-danger:hover{background:var(--color-error);color:var(--color-white)}.btn-sm{padding:7px var(--space-4);font-size:var(--font-size-xs);border-radius:var(--radius-xs)}.btn-lg{padding:14px var(--space-8);font-size:var(--font-size-md);border-radius:var(--radius-sm)}.btn-icon{border-radius:var(--radius-sm);width:40px;height:40px;padding:10px}.btn-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:15px;height:15px;animation:.65s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);letter-spacing:.01em;font-weight:600}.form-input{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px var(--space-4);color:var(--color-text-primary);font-size:var(--font-size-base);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;width:100%}.form-input::placeholder{color:var(--color-text-muted)}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.form-input.error{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-bg)}.form-error{font-size:var(--font-size-xs);color:var(--color-error);align-items:center;gap:4px;display:flex}.form-select{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px var(--space-4);color:var(--color-text-primary);font-size:var(--font-size-base);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238B90A7' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;outline:none;width:100%;padding-right:40px}.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);letter-spacing:.03em;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-error{background:var(--color-error-bg);color:var(--color-error)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.badge-primary{background:var(--color-primary-glow);color:var(--color-primary-light)}.divider{background:var(--color-border);height:1px;margin:var(--space-4) 0}.page-container{max-width:var(--content-max-w);padding:var(--space-6);margin:0 auto}.page-header{margin-bottom:var(--space-6)}.page-title{font-size:var(--font-size-xl);color:var(--color-text-primary);font-weight:700}.page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.section{margin-bottom:var(--space-8)}.section-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.section-title{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:700}.section-action{font-size:var(--font-size-sm);color:var(--color-primary);cursor:pointer;transition:opacity var(--transition-fast);font-weight:600}.section-action:hover{opacity:.7}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot-success{background:var(--color-success)}.status-dot-warning{background:var(--color-warning)}.status-dot-error{background:var(--color-error)}.toggle{cursor:pointer;width:48px;height:26px;position:relative}.toggle input{display:none}.toggle-slider{background:var(--color-surface-2);border-radius:var(--radius-full);border:1px solid var(--color-border);transition:all var(--transition-base);position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--color-text-muted);width:18px;height:18px;transition:all var(--transition-base);border-radius:50%;position:absolute;top:3px;left:3px}.toggle input:checked~.toggle-slider{background:var(--color-primary);border-color:var(--color-primary)}.toggle input:checked~.toggle-slider:before{background:var(--color-white);transform:translate(22px)}.skeleton{background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-surface-2) 50%, var(--color-surface) 75%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.5s infinite shimmer}body.modal-open{overflow:hidden!important}.overlay{z-index:9998;background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);position:fixed;inset:0}.modal{z-index:9999;padding:var(--space-4);pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0 var(--space-8) var(--space-8);width:500px;max-width:min(500px,100vw - 32px);box-shadow:var(--shadow-xl);pointer-events:auto;-webkit-overflow-scrolling:touch;max-height:90dvh;position:relative;overflow-y:auto}.modal-header{margin-bottom:var(--space-6);padding-top:var(--space-8);padding-bottom:var(--space-2);background:var(--color-surface);z-index:10;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.modal-title{font-size:var(--font-size-lg);font-weight:700}.modal-close{background:var(--color-surface-2);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;color:var(--color-text-secondary);transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--color-error-bg);color:var(--color-error)}.drawer{background:var(--color-surface);border-left:1px solid var(--color-border);z-index:9999;flex-direction:column;width:420px;max-width:100%;height:100%;display:flex;position:fixed;top:0;right:0;overflow:hidden}.progress-bar{background:var(--color-surface-2);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--color-primary), var(--color-accent));height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.step-indicator{align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);display:flex}.step-dot{background:var(--color-border);width:8px;height:8px;transition:all var(--transition-base);border-radius:50%}.step-dot.active{background:var(--color-primary);border-radius:var(--radius-full);width:20px}.step-dot.done{background:var(--color-success)}.quick-action{align-items:center;gap:var(--space-2);cursor:pointer;transition:all var(--transition-base);flex-direction:column;display:flex}.quick-action:hover .quick-action-icon{transform:translateY(-3px)}.quick-action-icon{border-radius:var(--radius-md);width:56px;height:56px;transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.quick-action-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center;font-weight:600}.tx-item{align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;display:flex}.tx-item:hover{background:var(--color-surface-2);border-color:var(--color-border)}.tx-item-grid{grid-template-columns:min-content 100px 1fr 100px 80px 90px;display:grid}.tx-col-date-mobile{display:none}@media (width<=786px){.tx-item-grid{grid-template-columns:min-content 1fr 90px}.tx-col-date-desktop,.tx-col-amount,.tx-col-type{display:none!important}.tx-col-date-mobile{display:block}}.tx-list-container{min-width:600px}@media (width<=786px){.tx-list-container{min-width:100%}}.tx-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.tx-info{flex:1;min-width:0}.tx-name{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tx-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.tx-amount{text-align:right;flex-shrink:0}.tx-amount-value{font-weight:700;font-size:var(--font-size-sm)}.tx-debit{color:var(--color-error)}.tx-credit{color:var(--color-success)}.balance-card{border-radius:var(--radius-lg);padding:var(--space-6);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.balance-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.currency-flag{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.chart-container{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6)}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.avatar-sm{width:32px;height:32px;font-size:13px}.avatar-md{width:40px;height:40px;font-size:16px}.avatar-lg{width:56px;height:56px;font-size:22px}.avatar-xl{width:80px;height:80px;font-size:32px}.notification-badge{background:var(--color-error);color:#fff;border:2px solid var(--color-bg);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cursor-pointer{cursor:pointer}.opacity-60{opacity:.6}.mt-auto{margin-top:auto}.relative{position:relative}.absolute{position:absolute}#root{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;flex-direction:column;height:100dvh;display:flex;overflow:hidden auto}.app-shell{flex:1 0;width:100%;height:100%;display:flex;overflow:hidden}.main-content{background:var(--color-bg);transition:background var(--transition-base);scroll-behavior:smooth;-webkit-overflow-scrolling:touch;flex:1;overflow:hidden auto}.dashboard-bottom-grid{grid-template-columns:1fr 300px;align-items:start;gap:20px;display:grid}.accounts-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.bills-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;display:grid}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.card-actions-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.global-topbar{height:74px;z-index:var(--z-card);background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.global-topbar-title{color:var(--color-text-primary);font-size:17px;font-weight:700}.global-topbar-left,.global-topbar-right{align-items:center;gap:12px;display:flex}@media (width<=1024px){:root{--sidebar-width:var(--sidebar-width-sm)}.dashboard-bottom-grid{grid-template-columns:1fr 260px}}@media (width<=768px){:root{--bottomnav-height:8px}.global-topbar{height:60px;padding:10px 16px}.page-container{padding:16px;padding-bottom:calc(var(--bottomnav-height) + 24px);padding-bottom:calc(var(--bottomnav-height) + 24px + env(safe-area-inset-bottom,0px))}.dashboard-bottom-grid{grid-template-columns:1fr}.dashboard-bottom-grid .chart-container{position:static}.accounts-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.bills-grid{grid-template-columns:repeat(4,1fr);gap:8px}.stats-grid{grid-template-columns:repeat(3,1fr)}.card-actions-grid{grid-template-columns:repeat(2,1fr)}.modal{justify-content:center;align-items:center;padding:16px}.modal-content{border-radius:var(--radius-xl);-webkit-overflow-scrolling:touch;width:calc(100% - 32px);max-width:420px;max-height:88dvh;padding:0 20px 24px;overflow-y:auto}.modal-header{background:var(--color-surface);padding-top:24px}}@media (width<=480px){.modal{align-items:flex-end;padding:0}.modal-content{border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-top:1px solid var(--color-border);width:100%;max-width:100%;padding:12px 16px calc(24px + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;border-bottom:none;border-left:none;border-right:none;max-height:92dvh;overflow-y:auto}.modal-content:before{content:"";background:var(--color-border);border-radius:2px;width:36px;height:4px;margin:0 auto 12px;display:block}.modal-header{background:var(--color-surface);padding-top:8px}}@media (width<=768px){.drawer{z-index:9999!important;width:100vw!important;max-width:420px!important;height:100dvh!important;max-height:none!important;box-shadow:none!important;border:none!important;border-radius:0!important;margin:0!important;inset:0 0 0 auto!important}.balance-card{padding:var(--space-5)}.page-title{font-size:var(--font-size-lg)}.an-input{font-size:30px!important;font-weight:700!important}.vw-currency-wrap{padding-right:0!important}.vw-amount-wrap{padding-left:0!important}.notif-dropdown{width:auto!important;left:16px!important;right:16px!important;top:calc(var(--topbar-height) + 8px)!important;position:fixed!important}}@media (width<=480px){.page-container{padding:12px;padding-bottom:calc(var(--bottomnav-height) + 20px + env(safe-area-inset-bottom,0px))}.accounts-grid{grid-template-columns:1fr}.bills-grid{grid-template-columns:repeat(3,1fr);gap:8px}.stats-grid,.card-actions-grid{grid-template-columns:repeat(2,1fr)}.tx-meta .badge{display:none}.tx-amount-value{font-size:13px}.quick-action-icon{width:48px;height:48px}}@media (width>=1440px){:root{--sidebar-width:300px}}.recharts-wrapper :focus,.recharts-wrapper :focus,.recharts-pie-sector:focus,.recharts-sector:focus,path.recharts-sector:focus{outline:none!important}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInBottom{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 10px var(--color-primary-glow)}50%{box-shadow:0 0 30px var(--color-primary-glow), 0 0 60px var(--color-primary-glow)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes logoPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes drawCheck{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes progressFill{0%{width:0%}}@keyframes confettiFall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(100px)rotate(720deg)}}@keyframes ringPulse{0%{opacity:.8;transform:scale(.95)}70%{opacity:0;transform:scale(1.1)}to{opacity:0;transform:scale(.95)}}@keyframes tick{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.animate-fadeIn{animation:.4s forwards fadeIn}.animate-fadeInUp{animation:.5s forwards fadeInUp}.animate-scaleIn{animation:.3s forwards scaleIn}.animate-slideRight{animation:.4s forwards slideInRight}.animate-slideBottom{animation:.4s forwards slideInBottom}.animate-float{animation:3s ease-in-out infinite float}.animate-spin{animation:1s linear infinite spin}.animate-pulse-glow{animation:2s ease-in-out infinite pulseGlow}.animate-bounceIn{animation:.6s cubic-bezier(.34,1.56,.64,1) forwards bounceIn}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.page-enter{animation:.4s forwards fadeInUp}.card-hover-lift{transition:transform var(--transition-base), box-shadow var(--transition-base)}.card-hover-lift:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}
