:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", Menlo, Monaco, "Courier New", monospace;--ds-space-1:4px;--ds-space-2:8px;--ds-space-3:12px;--ds-space-4:16px;--ds-space-5:20px;--ds-space-6:24px;--ds-space-8:32px;--ds-space-10:40px;--ds-space-12:48px;--ds-radius-sm:6px;--ds-radius-md:10px;--ds-radius-lg:14px;--ds-radius-xl:20px;--ds-radius-2xl:24px;--ds-radius-card:20px;--ds-radius-panel:18px;--ds-radius-control:18px;--ds-radius-full:9999px;--ds-tracking-tight:-.03em;--ds-tracking-tighter:-.05em;--ds-ease:cubic-bezier(.16, 1, .3, 1);--ds-duration-fast:.12s;--ds-duration-normal:.2s;--ds-duration-switch:.32s}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-canvas:#151515;--bg-surface:#1c1c1c;--bg-muted:#262626;--bg-surface-hover:#242424;--bg-terminal:#111;--border-subtle:#262626;--border-card:#ffffff14;--text-foreground:#ededed;--text-body:#d0d6e0;--text-muted:#8e8e93;--text-timestamp:#62666d;--accent-action:#0084ff;--accent-action-hover:#1a90ff;--accent-action-contrast:#fff;--accent-brand:#d5ff66;--accent-brand-contrast:#151515;--tm-success:#27a644;--tm-edge:#38bdf8;--tm-dispatch:#0d9488;--tm-warning:#fbbf24;--tm-destructive:#ef4444;--chart-primary:#0084ff;--chart-fill-opacity:.25;--chart-grid:#ffffff14;--shadow-card:0 1px 2px #0006, 0 0 0 1px #ffffff0f;--ds-background-100:var(--bg-surface);--ds-background-200:var(--bg-canvas);--ds-background-surface:var(--bg-muted);--ds-background-card:var(--bg-surface);--ds-background-hover:var(--bg-surface-hover);--ds-gray-100:#1c1c1c;--ds-gray-200:#222;--ds-gray-300:#262626;--ds-gray-400:#2e2e2e;--ds-gray-500:#444;--ds-gray-600:#666;--ds-gray-700:#8e8e93;--ds-gray-800:#a1a1a6;--ds-gray-900:#d0d6e0;--ds-gray-1000:#ededed;--ds-gray-alpha-100:#ffffff0a;--ds-gray-alpha-200:#ffffff0f;--ds-gray-alpha-300:#ffffff14;--ds-gray-alpha-400:#ffffff1f;--ds-gray-alpha-500:#ffffff2e;--ds-gray-alpha-600:#ffffff61;--ds-gray-alpha-700:#ffffff8a;--ds-blue-600:#0074e0;--ds-blue-700:#0084ff;--ds-blue-800:#005fcc;--ds-blue-alpha-200:#0084ff26;--ds-red-600:#dc2626;--ds-red-700:#ef4444;--ds-red-alpha-200:#ef444426;--ds-amber-600:#d97706;--ds-amber-700:#fbbf24;--ds-amber-alpha-200:#fbbf2426;--ds-green-600:#1f8a38;--ds-green-700:#27a644;--ds-green-alpha-200:#27a64426;--ds-teal-600:#0d9488;--ds-teal-700:#14b8a6;--ds-teal-alpha-200:#0d948826;--ds-sky-700:#38bdf8;--ds-purple-600:#7928ca;--ds-purple-700:#8e4ec6;--ds-purple-alpha-200:#7928ca2e;--ds-pink-700:#e93d82;--ds-pink-alpha-200:#e93d8224;--ds-lime-700:#d5ff66;--ds-lime-alpha-200:#d5ff661f;--cat-alimentacao:var(--ds-red-700);--cat-moradia:var(--ds-amber-700);--cat-transporte:var(--ds-blue-700);--cat-lazer:var(--ds-green-700);--cat-saude:var(--ds-pink-700);--cat-educacao:var(--ds-purple-700);--cat-outros:var(--ds-gray-700);--ds-foreground:var(--text-foreground);--ds-foreground-body:var(--text-body);--ds-foreground-muted:var(--text-muted);--ds-foreground-faint:#86868b;--ds-link:#3d9eff;--ds-amber-text:#fbbf24;--ds-green-text:#3fbf5c;--ds-foreground-contrast:#151515;--ds-border:var(--border-card);--ds-border-strong:#ffffff29;--ds-border-subtle:var(--border-subtle);--ds-shadow-small:0 1px 2px #0006;--ds-shadow-medium:0 12px 32px #0000008c, 0 0 0 1px #ffffff0f;--ds-shadow-large:0 30px 60px #000000b3, 0 0 0 1px #ffffff0f;--ds-focus-ring:0 0 0 2px var(--ds-background-200), 0 0 0 4px var(--accent-action);--ds-grid-line:#ffffff09}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-canvas:#f5f5f5;--bg-surface:#fff;--bg-muted:#fafafa;--bg-surface-hover:#f0f0f0;--bg-terminal:#f9f9f9;--border-subtle:#e5e5e5;--border-card:#e5e5e5;--text-foreground:#0a0a0a;--text-body:#171717;--text-muted:#737373;--text-timestamp:#8a8a8a;--accent-action:#0a0a0a;--accent-action-hover:#262626;--accent-action-contrast:#fff;--accent-brand:#0a0a0a;--accent-brand-contrast:#fff;--tm-success:#16a34a;--tm-edge:#0284c7;--tm-dispatch:#0f766e;--tm-warning:#d97706;--tm-destructive:#e7000b;--chart-primary:#0a0a0a;--chart-fill-opacity:.12;--chart-grid:#e5e5e5;--shadow-card:0 0 0 1px #1717170d, 0 1px 3px #00000014;--ds-background-100:var(--bg-surface);--ds-background-200:var(--bg-canvas);--ds-background-surface:var(--bg-muted);--ds-background-card:var(--bg-surface);--ds-background-hover:var(--bg-surface-hover);--ds-gray-100:#fafafa;--ds-gray-200:#f0f0f0;--ds-gray-300:#e5e5e5;--ds-gray-400:#d4d4d4;--ds-gray-500:#a3a3a3;--ds-gray-600:#737373;--ds-gray-700:#525252;--ds-gray-800:#262626;--ds-gray-900:#171717;--ds-gray-1000:#0a0a0a;--ds-gray-alpha-100:#00000008;--ds-gray-alpha-200:#0000000d;--ds-gray-alpha-300:#00000017;--ds-gray-alpha-400:#00000021;--ds-gray-alpha-500:#00000038;--ds-gray-alpha-600:#0006;--ds-gray-alpha-700:#00000094;--ds-blue-600:#005fb8;--ds-blue-700:#006fd6;--ds-blue-800:#004f99;--ds-blue-alpha-200:#006fd61a;--ds-red-600:#e7000b;--ds-red-700:#c8000a;--ds-red-alpha-200:#e7000b14;--ds-amber-600:#d97706;--ds-amber-700:#b45309;--ds-amber-alpha-200:#d977061a;--ds-green-600:#16a34a;--ds-green-700:#15803d;--ds-green-alpha-200:#16a34a1a;--ds-teal-600:#0f766e;--ds-teal-700:#0f766e;--ds-teal-alpha-200:#0f766e1a;--ds-sky-700:#0284c7;--ds-purple-600:#7928ca;--ds-purple-700:#7928ca;--ds-purple-alpha-200:#7928ca1a;--ds-pink-700:#db2777;--ds-pink-alpha-200:#db27771a;--ds-lime-700:#0a0a0a;--ds-lime-alpha-200:#0000000f;--cat-alimentacao:var(--ds-red-700);--cat-moradia:var(--ds-amber-700);--cat-transporte:var(--ds-blue-700);--cat-lazer:var(--ds-green-700);--cat-saude:var(--ds-pink-700);--cat-educacao:var(--ds-purple-700);--cat-outros:var(--ds-gray-600);--ds-foreground:var(--text-foreground);--ds-foreground-body:var(--text-body);--ds-foreground-muted:var(--text-muted);--ds-foreground-faint:#6e6e6e;--ds-link:#005fb8;--ds-amber-text:#92400e;--ds-green-text:#15803d;--ds-foreground-contrast:#fff;--ds-border:var(--border-card);--ds-border-strong:#d4d4d4;--ds-border-subtle:var(--border-subtle);--ds-shadow-small:0 1px 2px #0000000d;--ds-shadow-medium:0 0 0 1px #1717170d, 0 8px 24px #00000014;--ds-shadow-large:0 0 0 1px #1717170d, 0 24px 48px #0000001f;--ds-focus-ring:0 0 0 2px var(--ds-background-200), 0 0 0 4px var(--accent-action);--ds-grid-line:#00000009}html,body,#root{height:100%;min-height:100%}body{font-family:var(--font-sans);background-color:var(--ds-background-200);color:var(--ds-foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;line-height:1.5;overflow-x:hidden}input,textarea,[contenteditable=true],.selectable{-webkit-user-select:text;user-select:text}button{font-family:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--ds-gray-300);border-radius:var(--ds-radius-full)}.font-mono,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.text-muted{color:var(--ds-foreground-muted)}.text-faint{color:var(--ds-foreground-faint)}.text-success{color:var(--ds-green-700)}.text-danger{color:var(--ds-red-700)}.text-primary{color:var(--ds-blue-700)}.text-warning{color:var(--ds-amber-700)}.ds-card{background:var(--ds-background-100);border:1px solid var(--ds-border);border-radius:var(--ds-radius-xl);transition:border-color var(--ds-duration-fast) var(--ds-ease);position:relative}.ds-card:hover{border-color:var(--ds-foreground-muted)}.ds-card-interactive:hover{box-shadow:var(--ds-shadow-medium);transform:translateY(-2px)}.ds-badge{border-radius:var(--ds-radius-full);letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;font-weight:500;line-height:1;display:inline-flex}.ds-badge-blue{background:var(--ds-blue-alpha-200);color:var(--ds-link)}.ds-badge-green,.ds-badge-ok{background:var(--ds-green-alpha-200);color:var(--ds-green-700)}.ds-badge-red,.ds-badge-bad{background:var(--ds-red-alpha-200);color:var(--ds-red-700)}.ds-badge-amber,.ds-badge-warn{background:var(--ds-amber-alpha-200);color:var(--ds-amber-700)}.ds-badge-gray{background:var(--ds-gray-alpha-200);color:var(--ds-gray-800);border-color:var(--ds-border)}.ds-btn{border-radius:var(--ds-radius-md);cursor:pointer;transition:all var(--ds-duration-fast) var(--ds-ease);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:8px 16px;font-size:13.5px;font-weight:500;text-decoration:none;display:inline-flex}.ds-btn:active{transform:scale(.98)}.ds-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.ds-btn-primary{background:var(--ds-foreground);color:var(--ds-foreground-contrast);border-color:var(--ds-foreground)}.ds-btn-blue{background:var(--ds-blue-700);color:#fff;border-color:var(--ds-blue-600)}.ds-btn-blue:hover:not(:disabled){background:var(--ds-blue-600)}.ds-btn-whatsapp{color:#fff;background:#128c7e;border-color:#0f6f64}.ds-btn-whatsapp:hover:not(:disabled){background:#0f6f64}.ds-btn-secondary{background:var(--ds-background-100);color:var(--ds-foreground);border:1px solid var(--ds-border)}.ds-btn-secondary:hover:not(:disabled){background:var(--ds-gray-alpha-200);border-color:var(--ds-foreground-muted)}.ds-btn-ghost{color:var(--ds-foreground-muted);background:0 0;border-color:#0000}.ds-btn-ghost:hover:not(:disabled){background:var(--ds-gray-alpha-100);color:var(--ds-foreground)}.ds-btn-danger{background:var(--ds-red-alpha-200);color:var(--ds-red-700);border-color:#e5484d59}.ds-btn-danger:hover:not(:disabled){background:var(--ds-red-700);color:#fff}.ds-btn-full{width:100%}.ds-input{width:100%;height:44px;font-family:var(--font-sans);background:var(--ds-background-100);color:var(--ds-foreground);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);transition:border-color var(--ds-duration-fast) var(--ds-ease), box-shadow var(--ds-duration-fast) var(--ds-ease);outline:none;padding:0 12px;font-size:14px}.ds-input-error{border-color:var(--ds-red-700)}.ds-form-group{flex-direction:column;gap:6px;display:flex}.ds-label{color:var(--ds-foreground-muted);font-size:12.5px;font-weight:500}.ds-hint{color:var(--ds-foreground-faint);font-size:11.5px}.ds-error{color:var(--ds-red-700);font-size:11.5px}table.ds-table{border-collapse:collapse;width:100%;font-size:13px}table.ds-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ds-foreground-muted);border-bottom:1px solid var(--ds-border);white-space:nowrap;padding:10px 12px;font-size:11px}table.ds-table td{border-bottom:1px solid var(--ds-border-subtle);vertical-align:middle;padding:12px}.table-wrap{overflow-x:auto}.table-wrap table.ds-table{min-width:520px}.auth-view{z-index:2000;background:var(--ds-background-100);padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));background-image:radial-gradient(60% 40% at 50% 0,#0084ff29 0%,#0000 70%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.auth-card{width:100%;max-width:420px;animation:pageFadeIn .16s var(--ds-ease);flex-direction:column;gap:18px;padding:28px 24px;display:flex}.auth-brand-mark{border-radius:var(--ds-radius-md);background:var(--ds-foreground);width:36px;height:36px;color:var(--ds-foreground-contrast);justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.auth-badge{color:var(--ds-foreground-faint);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.auth-title{letter-spacing:-.02em;font-size:22px;font-weight:700}.auth-sub{color:var(--ds-foreground-muted);margin-top:-10px;font-size:13px}.auth-tabs{background:var(--ds-background-200);border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);grid-template-columns:1fr 1fr;padding:4px;display:grid}.auth-tab{text-align:center;color:var(--ds-foreground-muted);border-radius:var(--ds-radius-md);cursor:pointer;transition:all var(--ds-duration-fast) var(--ds-ease);background:0 0;border:none;padding:9px 0;font-size:13px;font-weight:600}.auth-tab.active{background:var(--ds-background-100);color:var(--ds-foreground);box-shadow:var(--ds-shadow-small)}.auth-divider{color:var(--ds-foreground-faint);align-items:center;gap:12px;font-size:11.5px;display:flex}.auth-footer-note{text-align:center;color:var(--ds-foreground-faint);font-size:11.5px;line-height:1.7}.phone-country{color:var(--ds-foreground-muted);pointer-events:none;font-size:13px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.otp-boxes{justify-content:center;gap:8px;display:flex}.otp-box{text-align:center;width:44px;height:52px;font-family:var(--font-mono);background:var(--ds-background-100);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);color:var(--ds-foreground);transition:all var(--ds-duration-fast) var(--ds-ease);outline:none;font-size:20px;font-weight:600}.otp-box:focus{border-color:var(--ds-blue-700);box-shadow:0 0 0 3px var(--ds-blue-alpha-200)}.otp-sent-box{background:var(--ds-green-alpha-200);border-radius:var(--ds-radius-lg);border:1px solid #00e5994d;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;font-size:13px;display:flex}.otp-resend{color:var(--ds-blue-700);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600}.otp-resend:disabled{color:var(--ds-foreground-faint);cursor:default}.login-view{--login-surface:var(--ds-background-card);--login-border:var(--ds-gray-alpha-200);--login-field:var(--ds-background-200);--login-shadow:0 1px 2px #0006, 0 24px 64px -16px #0009;z-index:2000;padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));overscroll-behavior:contain;background:radial-gradient(56% 36% at 50% 0%, #0084ff1f 0%, transparent 72%), var(--ds-background-100);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}[data-theme=light] .login-view{--login-surface:#fff;--login-border:#00000012;--login-field:#fafafa;--login-shadow:0 1px 2px #1018280a, 0 24px 56px -20px #10182824;background:radial-gradient(56% 36% at 50% 0%, #0084ff14 0%, transparent 72%), var(--ds-background-surface)}.login-card{background:var(--login-surface);border:1px solid var(--login-border);width:100%;max-width:400px;box-shadow:var(--login-shadow);animation:loginIn .32s var(--ds-ease);border-radius:20px;flex-direction:column;gap:20px;margin:auto 0;padding:36px 32px 28px;display:flex}.login-head{flex-direction:column;gap:8px;display:flex}.login-brand{align-items:center;gap:10px;margin-bottom:18px;display:inline-flex}.login-brand-mark{color:#fff;background:linear-gradient(140deg, var(--ds-blue-700), var(--ds-blue-800));border-radius:9px;place-items:center;width:30px;height:30px;display:grid;box-shadow:0 4px 14px -4px #0084ff99}.login-brand-name{letter-spacing:-.01em;color:var(--ds-foreground);font-size:14px;font-weight:600}.login-title{letter-spacing:-.025em;color:var(--ds-foreground);font-size:24px;font-weight:650;line-height:1.2}.login-sub{color:var(--ds-foreground-muted);font-size:14px;line-height:1.55}.login-sub b{color:var(--ds-foreground);font-weight:600;font-family:var(--font-mono);white-space:nowrap;font-size:13px}.login-step{animation:loginStep .26s var(--ds-ease);flex-direction:column;gap:16px;display:flex}.login-field{flex-direction:column;gap:8px;display:flex}.login-label{color:var(--ds-foreground);font-size:13px;font-weight:500}.login-phone{background:var(--login-field);border:1px solid var(--ds-border);height:48px;transition:border-color var(--ds-duration-fast) var(--ds-ease), box-shadow var(--ds-duration-fast) var(--ds-ease);border-radius:12px;align-items:center;display:flex}.login-phone:hover{border-color:var(--ds-border-strong)}.login-phone:focus-within{border-color:var(--ds-blue-700);box-shadow:0 0 0 4px var(--ds-blue-alpha-200)}.login-phone.is-invalid{border-color:var(--ds-red-700)}.login-phone.is-invalid:focus-within{box-shadow:0 0 0 4px var(--ds-red-alpha-200)}.login-phone-prefix{border-right:1px solid var(--ds-border);height:24px;font-size:14px;font-family:var(--font-mono);color:var(--ds-foreground-muted);white-space:nowrap;align-items:center;padding:0 12px 0 14px;display:inline-flex}.login-phone input{min-width:0;height:100%;color:var(--ds-foreground);font-family:var(--font-mono);letter-spacing:.02em;background:0 0;border:none;outline:none;flex:1;padding:0 14px;font-size:16px}.login-phone input::placeholder{color:var(--ds-foreground-faint)}.login-hint,.login-error{font-size:12.5px;line-height:1.5}.login-hint{color:var(--ds-foreground-muted)}.login-error{color:var(--ds-red-700)}.login-remember{width:fit-content;min-height:44px;color:var(--ds-foreground-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:13.5px;display:inline-flex;position:relative}.login-remember input{opacity:0;cursor:pointer;width:18px;height:18px;margin:0;position:absolute}.login-check{border:1px solid var(--ds-border-strong);background:var(--login-field);color:#0000;width:18px;height:18px;transition:all var(--ds-duration-fast) var(--ds-ease);border-radius:6px;flex-shrink:0;place-items:center;display:grid}.login-remember input:checked+.login-check{background:var(--ds-blue-700);border-color:var(--ds-blue-700);color:#fff}.login-remember input:focus-visible+.login-check{box-shadow:var(--ds-focus-ring)}.login-remember:hover{color:var(--ds-foreground)}.login-card .login-primary{height:48px;transition:transform var(--ds-duration-fast) var(--ds-ease), opacity var(--ds-duration-fast) var(--ds-ease), box-shadow var(--ds-duration-normal) var(--ds-ease);border-radius:12px;font-size:14.5px;font-weight:600}.login-card .login-primary:hover:not(:disabled){box-shadow:0 8px 24px -10px #00000080}.login-card .login-primary:active:not(:disabled),.login-card .login-demo:active:not(:disabled){transform:scale(.985)}.login-otp{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.login-otp .otp-boxes{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;width:100%;display:grid}.login-otp .otp-box{background:var(--login-field);border:1px solid var(--ds-border);width:100%;height:56px;animation:loginOtpIn .32s var(--ds-ease) both;border-radius:12px;font-size:22px;font-weight:600}.login-otp .otp-box:nth-child(2){animation-delay:30ms}.login-otp .otp-box:nth-child(3){animation-delay:60ms}.login-otp .otp-box:nth-child(4){animation-delay:90ms}.login-otp .otp-box:nth-child(5){animation-delay:.12s}.login-otp .otp-box:nth-child(6){animation-delay:.15s}.login-otp .otp-box:focus{border-color:var(--ds-blue-700);background:var(--login-surface);box-shadow:0 0 0 4px var(--ds-blue-alpha-200)}.login-otp .otp-box:disabled{opacity:.6}.login-otp .otp-boxes.is-invalid{animation:loginShake .36s var(--ds-ease)}.login-otp .otp-boxes.is-invalid .otp-box{border-color:var(--ds-red-700)}.login-verifying{align-items:center;gap:8px;display:inline-flex}.login-otp-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.login-link{color:var(--ds-foreground-muted);cursor:pointer;transition:color var(--ds-duration-fast) var(--ds-ease);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 2px;font-size:13px;font-weight:500;display:inline-flex}.login-link:hover:not(:disabled){color:var(--ds-foreground)}.login-link:focus-visible{box-shadow:var(--ds-focus-ring);outline:none}.login-link:disabled{color:var(--ds-foreground-faint);cursor:default}.login-divider{color:var(--ds-foreground-faint);align-items:center;gap:12px;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--login-border);flex:1;height:1px}.login-card .login-demo{height:44px;color:var(--ds-foreground-muted);border-radius:12px;font-size:13.5px}.login-demo-arrow{transition:transform var(--ds-duration-normal) var(--ds-ease)}.login-demo:hover:not(:disabled) .login-demo-arrow{transform:translate(3px)}.login-legal{text-align:center;color:var(--ds-foreground-faint);font-size:11.5px;line-height:1.6}.ds-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.64s linear infinite dsSpin}@keyframes dsSpin{to{transform:rotate(360deg)}}@keyframes loginIn{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:none}}@keyframes loginStep{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}@keyframes loginOtpIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes loginShake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@media (width<=480px){.login-view{padding-top:max(32px, env(safe-area-inset-top));align-items:flex-start}.login-card{border-radius:18px;gap:18px;padding:28px 20px 22px}.login-title{font-size:22px}.login-otp .otp-boxes{gap:6px}.login-otp .otp-box{height:52px}}@media (prefers-reduced-motion:reduce){.login-card,.login-step,.login-otp .otp-box,.login-otp .otp-boxes.is-invalid{animation:none}}.onboarding-card{max-width:440px}.onboarding-progress{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;margin:0;padding:0;list-style:none;display:grid}.onboarding-progress li{color:var(--ds-foreground-faint);white-space:nowrap;flex-direction:column;gap:8px;font-size:11.5px;font-weight:500;display:flex}.onboarding-progress li span{text-overflow:ellipsis;overflow:hidden}@media (width<=400px){.onboarding-progress li{font-size:10.5px}}.onboarding-progress li:before{content:"";background:var(--ds-gray-alpha-300);height:3px;transition:background var(--ds-duration-normal) var(--ds-ease);border-radius:99px}.onboarding-progress li.current,.onboarding-progress li.done{color:var(--ds-foreground)}.onboarding-progress li.current:before,.onboarding-progress li.done:before{background:var(--ds-blue-700)}.onboarding-input{background:var(--login-field);border:1px solid var(--ds-border);width:100%;height:48px;color:var(--ds-foreground);transition:border-color var(--ds-duration-fast) var(--ds-ease), box-shadow var(--ds-duration-fast) var(--ds-ease);border-radius:12px;outline:none;padding:0 14px;font-size:16px}.onboarding-input:hover{border-color:var(--ds-border-strong)}.onboarding-input:focus{border-color:var(--ds-blue-700);box-shadow:0 0 0 4px var(--ds-blue-alpha-200)}.onboarding-input.is-invalid{border-color:var(--ds-red-700)}.onboarding-input::placeholder{color:var(--ds-foreground-faint)}.onboarding-optional{color:var(--ds-foreground-faint);font-weight:400}.onboarding-suggestions{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.onboarding-chip{border:1px solid var(--ds-border);background:var(--login-field);height:44px;color:var(--ds-foreground);font-size:14px;font-weight:600;font-family:var(--font-mono);cursor:pointer;transition:all var(--ds-duration-fast) var(--ds-ease);border-radius:12px}.onboarding-chip:last-child{font-family:inherit}.onboarding-chip:hover{border-color:var(--ds-border-strong)}.onboarding-chip:focus-visible{box-shadow:var(--ds-focus-ring);outline:none}.onboarding-chip.on{border-color:var(--ds-blue-700);background:var(--ds-blue-alpha-200);color:var(--ds-foreground)}.onboarding-actions{justify-content:space-between;gap:10px;display:flex}.onboarding-actions .login-primary{flex:1}.onboarding-check{background:var(--ds-green-alpha-200);width:36px;height:36px;color:var(--ds-green-700);border-radius:50%;place-items:center;margin-bottom:6px;display:grid}.onboarding-summary{border:1px solid var(--login-border);background:var(--login-border);border-radius:12px;grid-template-columns:1fr 1fr;gap:1px;margin:0;display:grid;overflow:hidden}.onboarding-summary div{background:var(--login-field);min-width:0;padding:12px 14px}.onboarding-summary div.is-wide{grid-column:1/-1}.onboarding-summary dt{color:var(--ds-foreground-muted);margin-bottom:4px;font-size:11.5px}.onboarding-summary dd{color:var(--ds-foreground);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:600;overflow:hidden}.onboarding-categories{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.onboarding-categories li{border:1px solid var(--ds-border);color:var(--ds-foreground);border-radius:99px;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;display:inline-flex}.onboarding-limits{flex-direction:column;gap:8px;max-height:300px;margin:0;padding:0 2px 0 0;list-style:none;display:flex;overflow-y:auto}.onboarding-limits li{justify-content:space-between;align-items:center;gap:12px;display:flex}.onboarding-limit-name{min-width:0;color:var(--ds-foreground);align-items:center;gap:10px;font-size:13.5px;font-weight:500;display:inline-flex}.onboarding-limit-icon{background:var(--ds-gray-alpha-100);border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.onboarding-limit-input{background:var(--login-field);border:1px solid var(--ds-border);width:132px;height:40px;transition:border-color var(--ds-duration-fast) var(--ds-ease), box-shadow var(--ds-duration-fast) var(--ds-ease);border-radius:10px;flex-shrink:0;align-items:center;padding:0 10px;display:flex}.onboarding-limit-input:focus-within{border-color:var(--ds-blue-700);box-shadow:0 0 0 3px var(--ds-blue-alpha-200)}.onboarding-limit-input span{font-family:var(--font-mono);color:var(--ds-foreground-faint);font-size:12px}.onboarding-limit-input input{min-width:0;color:var(--ds-foreground);font-family:var(--font-mono);text-align:right;background:0 0;border:none;outline:none;flex:1;padding-left:8px;font-size:16px}.onboarding-limit-input input::placeholder{color:var(--ds-foreground-faint)}.onboarding-distributed{background:var(--ds-gray-alpha-100);color:var(--ds-foreground-muted);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;font-size:12.5px;display:flex}.onboarding-distributed b{color:var(--ds-foreground)}.onboarding-distributed.is-over{background:var(--ds-amber-alpha-200)}.onboarding-distributed.is-over span:last-child{color:var(--ds-amber-700);font-weight:500}.onboarding-categories li b{color:var(--ds-foreground-muted);margin-left:2px;font-size:11.5px;font-weight:600}.ceiling-card{--ceiling-color:var(--ds-blue-700);--ceiling-soft:var(--ds-blue-alpha-200);flex-direction:column;gap:10px;padding:18px 20px;display:flex}.ceiling-card[data-tone=warn]{--ceiling-color:var(--ds-amber-700);--ceiling-soft:var(--ds-amber-alpha-200)}.ceiling-card[data-tone=over]{--ceiling-color:var(--ds-red-700);--ceiling-soft:var(--ds-red-alpha-200)}.ceiling-card[data-tone=none]{--ceiling-color:var(--ds-gray-600);--ceiling-soft:var(--ds-gray-alpha-200)}.ceiling-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ceiling-title{color:var(--ds-foreground);font-size:13.5px;font-weight:600}.ceiling-head-actions{align-items:center;gap:6px;display:inline-flex}.ceiling-badge{color:var(--ceiling-color);background:var(--ceiling-soft);transition:color var(--ds-duration-normal) var(--ds-ease), background var(--ds-duration-normal) var(--ds-ease);border-radius:9999px;padding:2px 8px;font-size:11px;font-weight:500}.ceiling-card[data-tone=none] .ceiling-badge{color:var(--ds-foreground-muted)}.ceiling-edit{border-radius:var(--ds-radius-md);width:26px;height:26px;color:var(--ds-foreground-muted);cursor:pointer;transition:all var(--ds-duration-fast) var(--ds-ease);background:0 0;border:1px solid #0000;place-items:center;display:grid}.ceiling-edit:hover{color:var(--ds-foreground);background:var(--ds-gray-alpha-100);border-color:var(--ds-border)}.ceiling-edit:focus-visible{box-shadow:var(--ds-focus-ring);outline:none}.ceiling-values{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ceiling-spent{letter-spacing:-.02em;color:var(--ds-foreground);font-size:22px;font-weight:700}.ceiling-meta{color:var(--ds-foreground-muted);font-size:12px}.ceiling-track{background:var(--ds-gray-alpha-200);border-radius:99px;height:8px;overflow:hidden}.ceiling-fill{background:var(--ceiling-color);height:100%;transition:width .5s var(--ds-ease), background-color var(--ds-duration-normal) var(--ds-ease);border-radius:99px}.ceiling-foot{color:var(--ds-foreground-muted);justify-content:space-between;gap:8px;font-size:11.5px;display:flex}.ceiling-exceeded{color:var(--ds-red-700);font-weight:600}.ceiling-define{color:var(--ds-blue-700);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.ceiling-caption{color:var(--ds-foreground-faint);font-size:11px}.gastos-ceiling-card{margin-bottom:16px}.io-chart{--io-in:var(--ds-green-700);--io-out:var(--ds-red-700);--io-axis-w:46px;--io-height:148px;flex-direction:column;gap:8px;display:flex}.io-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.io-legend{color:var(--ds-foreground);gap:14px;font-size:12px;font-weight:500;display:flex}.io-legend span,.io-tip-row span{align-items:center;gap:6px;display:inline-flex}.io-legend i,.io-tip-row i{border-radius:2px;width:8px;height:8px}.io-chart i.in{background:var(--io-in)}.io-chart i.out{background:var(--io-out)}.io-last{color:var(--ds-foreground-muted);font-size:11.5px}.io-net{font-family:var(--font-mono);white-space:nowrap;font-weight:600}.io-net.pos{color:var(--ds-green-700)}.io-net.neg{color:var(--ds-red-700)}.io-plot{height:var(--io-height);display:flex}.io-axis{width:var(--io-axis-w);font-family:var(--font-mono);color:var(--ds-foreground-faint);text-align:right;flex-direction:column;flex-shrink:0;justify-content:space-between;padding-right:6px;font-size:10px;display:flex}.io-axis span{line-height:1}.io-area{flex:1;min-width:0;position:relative}.io-grid{pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.io-grid i{background:var(--ds-gray-alpha-200);height:1px}.io-grid i:last-child{background:var(--ds-border)}.io-bars{gap:6px;height:100%;display:flex;position:relative}.io-pair{border-radius:var(--ds-radius-sm);cursor:pointer;min-width:0;height:100%;transition:background var(--ds-duration-fast) var(--ds-ease);background:0 0;border:none;flex:1;justify-content:center;align-items:flex-end;padding:0;display:flex;position:relative}.io-pair:hover,.io-pair.active{background:var(--ds-gray-alpha-100)}.io-pair:focus-visible{box-shadow:var(--ds-focus-ring);outline:none}.io-pair-bars{align-items:flex-end;gap:3px;width:100%;max-width:34px;height:100%;display:flex}.io-pair-bars span{min-height:2px;transition:height .4s var(--ds-ease), opacity var(--ds-duration-fast) var(--ds-ease);border-radius:3px 3px 0 0;flex:1}.io-pair-bars .in{background:var(--io-in)}.io-pair-bars .out{background:var(--io-out)}.io-bars:hover .io-pair:not(:hover):not(.active) .io-pair-bars span{opacity:.45}.io-tooltip{z-index:5;background:var(--ds-background-surface);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-lg);min-width:176px;box-shadow:var(--ds-shadow-medium);color:var(--ds-foreground);text-align:left;pointer-events:none;flex-direction:column;gap:6px;padding:10px 12px;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.io-tooltip.align-start{left:0;transform:none}.io-tooltip.align-end{left:auto;right:0;transform:none}.io-tooltip strong{text-transform:capitalize;font-size:12px;font-weight:600}.io-tooltip hr{border:none;border-top:1px solid var(--ds-border);margin:2px 0}.io-tip-row{color:var(--ds-foreground-muted);justify-content:space-between;gap:14px;font-size:11.5px;display:flex}.io-tip-row b{font-family:var(--font-mono);color:var(--ds-foreground);font-weight:600}.io-labels{margin-left:var(--io-axis-w);gap:6px;display:flex}.io-labels span{text-align:center;min-width:0;color:var(--ds-foreground-faint);text-transform:capitalize;flex:1;font-size:11px}.io-labels span.now{color:var(--ds-foreground);font-weight:600}.io-hint,.io-empty{color:var(--ds-foreground-faint);font-size:11.5px}.pwd-meter i{border-radius:var(--ds-radius-full);background:var(--ds-gray-alpha-300);height:4px;transition:background var(--ds-duration-normal) var(--ds-ease);flex:1}.pwd-meter.s1 i:first-child{background:var(--ds-red-700)}.pwd-meter.s2 i:nth-child(-n+2){background:var(--ds-amber-700)}.pwd-meter.s3 i:nth-child(-n+3){background:var(--ds-blue-700)}.pwd-meter.s4 i{background:var(--ds-green-700)}.app-shell{width:100%;min-height:100vh;display:flex;position:relative}.sidebar{background:var(--ds-background-100);border-right:1px solid var(--ds-border);z-index:50;width:250px;height:100vh;padding-top:max(20px, env(safe-area-inset-top));flex-direction:column;flex:none;display:flex;position:sticky;top:0}.brand-name{letter-spacing:-.02em;font-size:15px;font-weight:700}.side-nav{flex-direction:column;flex:1;gap:3px;padding:8px 12px;display:flex;overflow-y:auto}.side-cta{border-radius:var(--ds-radius-lg);background:var(--ds-foreground);color:var(--ds-foreground-contrast);cursor:pointer;width:100%;min-height:40px;transition:all var(--ds-duration-fast);border:none;justify-content:center;align-items:center;gap:8px;margin:16px 0 12px;padding:10px 14px;font-size:13px;font-weight:600;display:flex;box-shadow:0 1px 2px #0003}.side-cta:hover{opacity:.92;transform:translateY(-1px)}.sidebar-footer{border-top:1px solid var(--ds-border);flex-flow:row;justify-content:space-between;align-items:center;gap:6px;margin-top:auto;padding:14px 0 0;display:flex;position:relative}.user-trigger{border-radius:var(--ds-radius-md);text-align:left;cursor:pointer;width:100%;min-width:0;transition:all var(--ds-duration-fast);color:var(--ds-foreground);background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:4px;display:flex}.user-trigger .avatar,.avatar{background:var(--ds-gray-alpha-200);border:1px solid var(--ds-border);width:28px;height:28px;color:var(--ds-foreground-muted);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.user-info{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.user-name{color:var(--ds-foreground);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;font-weight:500;line-height:1.25;overflow:hidden}.user-role{color:var(--ds-foreground-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:10.5px;line-height:1.2;overflow:hidden}.user-chevron{color:var(--ds-foreground-muted);transition:transform var(--ds-duration-fast);flex:none;margin-left:auto}.theme-switch-pill{background:var(--ds-background-200);border:1px solid var(--ds-border);border-radius:var(--ds-radius-full);flex:none;align-items:center;gap:2px;margin-left:auto;padding:2px;display:flex}.theme-pill-btn{border-radius:var(--ds-radius-full);width:24px;height:24px;color:var(--ds-foreground-muted);cursor:pointer;transition:all var(--ds-duration-fast) var(--ds-ease);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.theme-pill{background:var(--ds-background-200);border:1px solid var(--ds-border);border-radius:var(--ds-radius-full);align-items:center;gap:2px;padding:3px;display:inline-flex}.theme-pill button{color:var(--ds-foreground-muted);border-radius:var(--ds-radius-full);cursor:pointer;white-space:nowrap;transition:all var(--ds-duration-fast) var(--ds-ease);background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:12.5px;font-weight:500;display:inline-flex}.theme-pill button.active{background:var(--ds-background-100);color:var(--ds-foreground);box-shadow:var(--ds-shadow-small)}.main-area{flex-direction:column;flex:1;min-width:0;min-height:100vh;margin-left:0;padding-bottom:40px;display:flex}.topbar{background:color-mix(in srgb, var(--ds-background-100) 85%, transparent);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--ds-border);z-index:40;justify-content:space-between;align-items:center;gap:12px;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.page-title{letter-spacing:-.01em;white-space:nowrap;margin:0;font-size:16px;font-weight:700}.page-sub{color:var(--ds-foreground-muted);white-space:nowrap;font-size:11.5px}.search-trigger{background:var(--ds-background-200);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);height:36px;color:var(--ds-foreground-muted);cursor:pointer;white-space:nowrap;box-sizing:border-box;min-width:220px;transition:border-color var(--ds-duration-fast) var(--ds-ease);align-items:center;gap:8px;padding:0 12px;font-size:13px;display:inline-flex!important}.search-trigger:hover{border-color:var(--ds-border-strong)}.search-trigger .kbd{font-family:var(--font-mono);background:var(--ds-gray-alpha-200);border:1px solid var(--ds-border);border-radius:4px;margin-left:auto;padding:1px 6px;font-size:11px}.icon-btn{border-radius:var(--ds-radius-md);width:44px;height:44px;color:var(--ds-foreground-muted);cursor:pointer;transition:all var(--ds-duration-fast) var(--ds-ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:hover{background:var(--ds-gray-alpha-100);color:var(--ds-foreground)}.notif-dot{background:var(--ds-red-700);border:2px solid var(--ds-background-100);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:7px}.view-container{width:100%;max-width:1280px;animation:pageFadeIn .16s var(--ds-ease);flex-direction:column;gap:20px;margin:0 auto;padding:24px;display:flex}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:900;animation:fadeIn var(--ds-duration-normal) var(--ds-ease);background:#0009;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;animation:fadeIn var(--ds-duration-normal) var(--ds-ease);background:#000000bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{background:var(--ds-background-100);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-2xl);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--ds-shadow-large);animation:sheetUp .28s var(--ds-ease);overflow-y:auto}@keyframes sheetUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.sheet{background:var(--ds-background-100);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-2xl);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--ds-shadow-large);animation:sheetUp .28s var(--ds-ease);overflow-y:auto}.sheet-header{background:var(--ds-background-100);z-index:1;justify-content:space-between;align-items:center;padding:18px 20px 0;display:flex;position:sticky;top:0}.sheet-title{font-size:15.5px;font-weight:700}.sheet-body{flex-direction:column;gap:14px;padding:16px 20px 24px;display:flex}.toast-container{z-index:3000;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--ds-background-100);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-medium);animation:toastIn .25s var(--ds-ease);align-items:center;gap:10px;max-width:340px;padding:12px 16px;font-size:13px;display:flex}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.skeleton{border-radius:var(--ds-radius-md);background:var(--ds-gray-alpha-200);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--ds-gray-alpha-300), transparent);animation:1.4s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.empty-state{text-align:center;color:var(--ds-foreground-muted);flex-direction:column;align-items:center;gap:10px;padding:40px 20px;display:flex}.empty-state h3,.error-state h3{color:var(--ds-foreground);font-size:14.5px}.empty-state p{max-width:320px;font-size:12.5px}.error-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;display:flex}.popover{z-index:950;background:var(--ds-background-100);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-xl);box-shadow:var(--ds-shadow-large);width:min(360px,100vw - 24px);max-height:70vh;animation:sheetUp .2s var(--ds-ease);position:fixed;overflow-y:auto}.popover-header{border-bottom:1px solid var(--ds-border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.popover-title{font-size:13.5px;font-weight:700}.cmdk-overlay{z-index:1200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn var(--ds-duration-normal) var(--ds-ease);background:#0009;justify-content:center;padding:12vh 16px 0;display:flex;position:fixed;inset:0}.cmdk-panel{background:var(--ds-background-100);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-xl);width:100%;max-width:520px;box-shadow:var(--ds-shadow-large);height:fit-content;animation:sheetUp .2s var(--ds-ease);overflow:hidden}.cmdk-input{width:100%;height:52px;color:var(--ds-foreground);border:none;border-bottom:1px solid var(--ds-border);background:0 0;outline:none;padding:0 18px;font-size:15px}.cmdk-list{max-height:320px;padding:6px;overflow-y:auto}.cmdk-item{width:100%;color:var(--ds-foreground);border-radius:var(--ds-radius-md);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:11px 12px;font-size:13.5px;display:flex}.cmdk-item:hover,.cmdk-item.hi{background:var(--ds-gray-alpha-100)}.cmdk-item .kbd{font-family:var(--font-mono);color:var(--ds-foreground-faint);margin-left:auto;font-size:10.5px}.cmdk-empty{text-align:center;color:var(--ds-foreground-muted);padding:24px;font-size:13px}.ai-fab-label{z-index:800;background:var(--ds-background-100);border:1px solid var(--ds-border-strong);color:var(--ds-foreground);border-radius:var(--ds-radius-full);white-space:nowrap;pointer-events:none;box-shadow:var(--ds-shadow-medium);padding:6px 10px;font-size:11.5px;font-weight:600;position:fixed}@keyframes aiFabWiggle{0%{transform:scale(1)translateY(0)}20%{transform:scale(1.1)translateY(-6px)}40%{transform:scale(1.05)translateY(0)rotate(-6deg)}60%{transform:scale(1.05)translateY(-3px)rotate(6deg)}80%{transform:scale(1.02)translateY(0)rotate(-2deg)}to{transform:scale(1)translateY(0)}}.ai-fab.wiggle{animation:aiFabWiggle .85s var(--ds-ease)}@media (width<=880px){.ai-backdrop{-webkit-backdrop-filter:blur(4px);background:#000000a6}}.ai-panel{z-index:1100;background:var(--ds-background-100);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-2xl);width:min(380px,100vw - 24px);max-height:min(560px,100vh - 40px);box-shadow:var(--ds-shadow-large);animation:sheetUp .28s var(--ds-ease);flex-direction:column;display:flex;position:fixed;bottom:20px;right:20px;overflow:hidden}.ai-panel-header{border-bottom:1px solid var(--ds-border);align-items:center;gap:10px;padding:14px 16px;display:flex}.ai-avatar{background:linear-gradient(135deg, var(--ds-blue-700), var(--ds-teal-700));color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.ai-messages{flex-direction:column;flex:1;gap:12px;min-height:220px;padding:16px;display:flex;overflow-y:auto}.ai-msg{border-radius:14px;max-width:85%;padding:10px 14px;font-size:13px;line-height:1.55}.ai-msg.user{background:var(--ds-blue-700);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.ai-msg.assistant{background:var(--ds-gray-alpha-200);border:1px solid var(--ds-border);border-bottom-left-radius:4px;align-self:flex-start}.ai-msg-actions{flex-direction:column;gap:6px;margin-top:8px;display:flex}.ai-msg p{white-space:pre-line;margin:0}.ai-msg p+p{margin-top:8px}.ai-msg ul,.ai-msg ol{flex-direction:column;gap:3px;margin:6px 0;padding-left:18px;display:flex}.ai-msg ul{list-style:outside}.ai-msg ol{list-style:decimal}.ai-msg li{margin:0}.ai-msg strong{font-weight:700}.ai-msg em{font-style:italic}.ai-msg code{font-family:var(--font-mono);background:var(--ds-gray-alpha-200);border:1px solid var(--ds-border-subtle);border-radius:4px;padding:0 4px;font-size:12px}.ai-msg blockquote{border-left:2px solid var(--ds-border-strong);color:var(--ds-foreground-muted);margin:6px 0;padding-left:10px}.ai-msg hr{border:none;border-top:1px solid var(--ds-border-subtle);margin:8px 0}.ai-msg-image{border:1px solid var(--ds-border);object-fit:cover;border-radius:10px;width:180px;max-width:100%;height:auto;margin-bottom:8px;display:block}.ai-draft-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.ai-confirm-btn{background:var(--ds-blue-700);color:#fff;border-color:#0000}.ai-confirm-btn:hover{filter:brightness(1.1)}.ai-draft-consumed{color:var(--ds-foreground-muted);align-items:center;gap:5px;margin-top:8px;font-size:12px;display:inline-flex}.ai-attach-btn{border-radius:var(--ds-radius-full);border:1px solid var(--ds-border);background:var(--ds-background-200);width:34px;height:34px;color:var(--ds-foreground-muted);cursor:pointer;transition:all var(--ds-duration-fast) var(--ds-ease);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ai-attach-btn:hover:not(:disabled){color:var(--ds-foreground);border-color:var(--ds-border-strong)}.ai-attach-btn:disabled{opacity:.5;cursor:not-allowed}.ai-pending-image{border:1px solid var(--ds-border-subtle);background:var(--ds-gray-alpha-200);border-radius:12px;align-items:center;gap:10px;margin:0 16px;padding:8px;display:flex}.ai-pending-image img{object-fit:cover;border:1px solid var(--ds-border);border-radius:8px;width:44px;height:44px}.ai-pending-info{color:var(--ds-foreground-muted);flex:1;justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.ai-suggest{border-top:1px solid var(--ds-border-subtle);flex-wrap:wrap;gap:8px;padding:10px 16px;display:flex}.ai-suggest-btn{background:var(--ds-background-200);border:1px solid var(--ds-border);color:var(--ds-foreground-muted);border-radius:var(--ds-radius-full);cursor:pointer;transition:all var(--ds-duration-fast) var(--ds-ease);padding:7px 12px;font-size:12px}.ai-suggest-btn:hover{color:var(--ds-foreground);border-color:var(--ds-border-strong)}.ai-composer{gap:8px;padding:12px 16px 16px;display:flex}.ai-composer input{flex:1}.typing-dots{align-items:center;gap:4px;padding:4px 0;display:inline-flex}.typing-dots i{background:var(--ds-foreground-muted);border-radius:50%;width:6px;height:6px;animation:1.2s infinite typingBounce}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.meter-track{border-radius:var(--ds-radius-full);background:var(--ds-gray-alpha-200);height:8px;overflow:hidden}.meter-fill{border-radius:var(--ds-radius-full);background:var(--ds-blue-700);height:100%;transition:width .3s var(--ds-ease)}.meter-fill.warn{background:var(--ds-amber-700)}.meter-fill.over{background:var(--ds-red-700)}.stat-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.stat-card{flex-direction:column;gap:8px;padding:20px;display:flex}.stat-label{color:var(--ds-foreground-muted);font-size:12px;font-weight:500}.stat-value{letter-spacing:-.02em;font-size:26px;font-weight:700}.card-head{justify-content:space-between;align-items:center;padding:16px 18px 0;display:flex}.card-title{font-size:14px;font-weight:700}.card-body{padding:14px 18px 18px}.week-bars{grid-template-columns:repeat(7,1fr);align-items:end;gap:10px;height:140px;padding-top:8px;display:grid}.week-bar-col{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.week-bar{border-radius:var(--ds-radius-sm) var(--ds-radius-sm) 2px 2px;background:linear-gradient(180deg, var(--ds-blue-700), #0084ff59);width:100%;max-width:26px;min-height:4px;transition:height .3s var(--ds-ease), filter var(--ds-duration-fast) var(--ds-ease)}.week-bar-col.now .week-bar{background:var(--ds-blue-600)}.week-bar-col:hover .week-bar{filter:brightness(1.2)}.chart-bar-tooltip-tag{background:var(--ds-blue-600);color:#fff;font-family:var(--font-sans,inherit);letter-spacing:.02em;border-radius:4px;margin-right:6px;padding:1px 5px;font-size:10px;font-weight:600;display:inline-block}.week-day-label{color:var(--ds-foreground-faint);font-size:10.5px;font-weight:500}.cat-meter-top{justify-content:space-between;font-size:12.5px;display:flex}.cat-meter-top b{font-weight:600}.cat-meter-top span{color:var(--ds-foreground-muted)}.tx-row{align-items:center;gap:12px;padding:11px 0;display:flex}.tx-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tx-row-title{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;overflow:hidden}.tx-row-sub{color:var(--ds-foreground-faint);font-size:11.5px}.tx-value{white-space:nowrap;font-size:13.5px;font-weight:600}.tx-value.expense{color:var(--ds-foreground)}.tx-value.income{color:var(--ds-green-700)}.cat-icon{border:1px solid #0000;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.gastos-layout{grid-template-columns:1fr 320px;align-items:start;gap:20px;display:grid}.chips{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border-radius:var(--ds-radius-full);border:1px solid var(--ds-border);background:var(--ds-background-100);color:var(--ds-foreground-muted);cursor:pointer;white-space:nowrap;transition:all var(--ds-duration-fast) var(--ds-ease);padding:7px 14px;font-size:12.5px;font-weight:500}.chip.active{background:var(--ds-foreground);color:var(--ds-foreground-contrast);border-color:var(--ds-foreground)}.gastos-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.month-nav{background:var(--ds-background-100);border:1px solid var(--ds-border);border-radius:var(--ds-radius-full);align-items:center;gap:4px;display:flex}.month-nav button{width:34px;height:34px;color:var(--ds-foreground-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.month-nav button:hover{background:var(--ds-gray-alpha-100);color:var(--ds-foreground)}.month-nav span{text-align:center;min-width:110px;padding:0 6px;font-size:13px;font-weight:600}.tx-group{margin-top:6px}.tx-group-head{color:var(--ds-foreground-faint);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;padding:12px 0 4px;font-size:11.5px;font-weight:600;display:flex}.tx-group-sum{font-family:var(--font-mono);font-size:11.5px}.summary-bar{border-radius:var(--ds-radius-lg);background:var(--ds-gray-alpha-100);border:1px solid var(--ds-border-subtle);align-items:center;gap:12px;padding:14px 16px;display:flex}.side-card{flex-direction:column;gap:12px;padding:18px;display:flex}.side-card-title{font-size:13px;font-weight:700}.quick-actions{flex-direction:column;gap:8px;display:flex}.quick-action{border-radius:var(--ds-radius-lg);border:1px solid var(--ds-border);background:var(--ds-background-100);color:var(--ds-foreground);cursor:pointer;text-align:left;transition:all var(--ds-duration-fast) var(--ds-ease);align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.quick-action:hover{border-color:var(--ds-border-strong)}.quick-action .qa-icon{background:var(--ds-gray-alpha-200);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.cat-card{flex-direction:column;gap:10px;padding:16px;display:flex}.cat-card-top{align-items:center;gap:10px;display:flex}.cat-card-name{font-size:13.5px;font-weight:700}.cat-card-desc{color:var(--ds-foreground-faint);margin-top:1px;font-size:11.5px}.cat-card-amounts{color:var(--ds-foreground-muted);font-size:12.5px}.cat-card-meta{justify-content:space-between;align-items:center;font-size:12px;display:flex}.cat-card-link{color:var(--ds-blue-700);cursor:pointer;text-align:right;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.overview-card{flex-direction:column;gap:14px;padding:20px;display:flex}.overview-top{justify-content:space-between;align-items:baseline;display:flex}.overview-big{letter-spacing:-.02em;font-size:24px;font-weight:700}.kpi-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.kpi-card{flex-direction:column;gap:6px;padding:18px;display:flex}.kpi-label{color:var(--ds-foreground-muted);font-size:11.5px;font-weight:500}.kpi-value{letter-spacing:-.02em;font-size:21px;font-weight:700}.kpi-foot{color:var(--ds-foreground-faint);font-size:11.5px}.trend-badge.up{background:var(--ds-red-alpha-200);color:var(--ds-red-700)}.trend-badge.down{background:var(--ds-green-alpha-200);color:var(--ds-green-700)}.donut-row{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.donut{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:140px;height:140px;display:flex;position:relative}.donut-center{background:var(--ds-background-card);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:82px;height:82px;display:flex}.donut-center b{font-size:14px}.donut-center span{color:var(--ds-foreground-muted);font-size:10.5px}.donut-legend{flex-direction:column;flex:1;gap:8px;min-width:150px;display:flex}.dl-item{align-items:center;gap:8px;font-size:12.5px;display:flex}.dl-item i{border-radius:3px;flex-shrink:0;width:10px;height:10px}.dl-item span{color:var(--ds-foreground-muted);flex:1}.pairs{grid-template-columns:repeat(6,1fr);align-items:end;gap:10px;height:130px;display:grid}.pair{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.pair-bars{justify-content:center;align-items:flex-end;gap:4px;width:100%;height:100%;display:flex}.pair-bars .in{background:var(--ds-green-700);border-radius:3px 3px 1px 1px;width:12px;min-height:3px}.pair-bars .out{background:var(--ds-red-700);border-radius:3px 3px 1px 1px;width:12px;min-height:3px}.pair-label{color:var(--ds-foreground-faint);font-size:10px}.cfg-layout{width:100%;max-width:760px;margin:0 auto}.cfg-nav{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.cfg-tab{border-radius:var(--ds-radius-full);border:1px solid var(--ds-border);background:var(--ds-background-100);color:var(--ds-foreground-muted);cursor:pointer;white-space:nowrap;transition:all var(--ds-duration-fast) var(--ds-ease);padding:9px 16px;font-size:13px;font-weight:600}.cfg-tab.active{background:var(--ds-foreground);color:var(--ds-foreground-contrast);border-color:var(--ds-foreground)}.cfg-pane{flex-direction:column;gap:16px;display:flex}.cfg-card{flex-direction:column;gap:14px;padding:20px;display:flex}.cfg-card-title{align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.cfg-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.avatar-lg{background:linear-gradient(135deg, var(--ds-blue-700), var(--ds-teal-700));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:22px;font-weight:700;display:flex;overflow:hidden}.avatar-lg img{object-fit:cover;width:100%;height:100%}.toggle-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.toggle-row b{font-size:13.5px}.toggle-row p{color:var(--ds-foreground-muted);margin-top:2px;font-size:11.5px}.switch{background:var(--ds-gray-alpha-400);border:1px solid var(--ds-border-strong);cursor:pointer;width:44px;height:24px;transition:background var(--ds-duration-fast) var(--ds-ease);border-radius:99px;flex-shrink:0;position:relative}.switch i{background:var(--ds-background-100);width:18px;height:18px;box-shadow:var(--ds-shadow-small);transition:transform var(--ds-duration-fast) var(--ds-ease);border-radius:50%;position:absolute;top:2px;left:2px}.switch.on i{transform:translate(20px)}.danger-card{flex-direction:column;gap:12px;padding:20px;display:flex;border:1px solid #e5484d59!important}.danger-card .cfg-card-title{color:var(--ds-red-700)}.dropzone{border:1.5px dashed var(--ds-border-strong);border-radius:var(--ds-radius-xl);text-align:center;color:var(--ds-foreground-muted);cursor:pointer;transition:all var(--ds-duration-fast) var(--ds-ease);flex-direction:column;align-items:center;gap:8px;padding:32px 20px;font-size:13px;display:flex}.dropzone b{color:var(--ds-foreground);font-size:13.5px}.import-items{border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);max-height:300px;overflow:hidden auto}.import-item{border-bottom:1px solid var(--ds-border-subtle);align-items:center;gap:12px;padding:10px 14px;font-size:12.5px;display:flex}.import-item:last-child{border-bottom:none}.import-item-main{flex:1;min-width:0}.import-item-desc{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.import-item-meta{color:var(--ds-foreground-faint);font-size:11px}.mobile-only{display:none}@media (width<=880px){.sidebar{display:none}.main-area{padding-bottom:calc(84px + env(safe-area-inset-bottom,16px));margin-left:0}.topbar{padding:10px max(16px, env(safe-area-inset-left,16px)) max(16px, env(safe-area-inset-right,16px));padding-top:max(14px, env(safe-area-inset-top,14px));align-items:flex-end;height:auto;min-height:64px}.view-container{gap:16px;padding:16px}.bottom-nav{height:calc(58px + max(16px, env(safe-area-inset-bottom,16px)));padding-bottom:max(14px, env(safe-area-inset-bottom,14px));background:color-mix(in srgb, var(--ds-background-100) 90%, transparent);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--ds-border);z-index:1000;grid-template-columns:1fr 1fr 64px 1fr 1fr;align-items:center;padding-top:6px;display:grid;position:fixed;bottom:0;left:0;right:0}.bnav-item{color:var(--ds-foreground-muted);cursor:pointer;height:100%;transition:color var(--ds-duration-fast) var(--ds-ease);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10.5px;font-weight:500;display:flex}.bnav-item.active{color:var(--ds-foreground);font-weight:600}.bnav-fab{background:linear-gradient(135deg, var(--ds-blue-700), var(--ds-teal-700));color:#fff;cursor:pointer;width:54px;height:54px;transition:transform var(--ds-duration-fast) var(--ds-ease);border:1px solid #ffffff24;border-radius:18px;justify-content:center;place-self:center;align-items:center;margin-top:-26px;display:flex;box-shadow:0 12px 28px #0084ff66}.bnav-fab:active{transform:scale(.94)}.desktop-only{display:none!important}.mobile-only{display:revert}.gastos-layout{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr;gap:12px}.grid-2,.kpi-grid,.cfg-row{grid-template-columns:1fr}.ai-panel{border-radius:var(--ds-radius-2xl) var(--ds-radius-2xl) 0 0;width:100%;max-width:none;height:78vh;max-height:none;animation:sheetMobileUp .28s var(--ds-ease);inset:auto 0 0}.ai-fab{bottom:calc(92px + env(safe-area-inset-bottom,0px))}.toast-container{right:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translate(50%)}.search-trigger{min-width:0}.search-trigger span{display:none}.modal-overlay{align-items:flex-end;padding:0}.modal-content,.sheet{max-width:100%;max-height:88vh;padding-bottom:max(16px, env(safe-area-inset-bottom,16px));border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}@keyframes sheetMobileUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}input,select,textarea{font-size:16px!important}}@media (width>=881px){.bottom-nav{display:none}}.admin-view{flex-direction:column;gap:18px;display:flex}.admin-section-title{margin:0 0 12px}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.admin-users{padding:18px}.admin-users-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.admin-users-head .card-title{margin:0}.admin-search{border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);min-width:0;max-width:360px;height:38px;color:var(--ds-foreground-muted);flex:260px;align-items:center;gap:8px;padding:0 12px;display:flex}.admin-search:focus-within{border-color:var(--ds-blue-700);box-shadow:0 0 0 3px var(--ds-blue-alpha-200)}.admin-search input{min-width:0;color:var(--ds-foreground);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.admin-user-list{margin:0;padding:0;list-style:none}.admin-user-row{border-top:1px solid var(--ds-border);grid-template-columns:minmax(0,1.4fr) minmax(0,1.6fr) 220px;align-items:center;gap:16px;padding:12px 0;display:grid}.admin-user-main{min-width:0}.admin-user-name{align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:flex}.admin-user-meta{color:var(--ds-foreground-muted);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:12.5px;overflow:hidden}.admin-user-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.admin-user-stats dt{color:var(--ds-foreground-muted);font-size:11px}.admin-user-stats dd{margin:2px 0 0;font-size:13px}.admin-user-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.admin-user-actions .ds-btn{min-height:44px}.admin-pagination{border-top:1px solid var(--ds-border);color:var(--ds-foreground-muted);justify-content:space-between;align-items:center;gap:8px;padding-top:12px;font-size:12.5px;display:flex}.admin-confirm-text{color:var(--ds-foreground-muted);margin:0 0 16px;font-size:14px;line-height:1.5}.admin-confirm-actions{justify-content:flex-end;gap:8px;display:flex}@media (width<=880px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-row{grid-template-columns:minmax(0,1fr);gap:10px}.admin-user-actions{justify-content:space-between}.admin-search{max-width:none}}.skip-link{z-index:1000;border-radius:var(--ds-radius-md);background:var(--ds-foreground);color:var(--ds-background-100);transition:transform var(--ds-duration-fast) var(--ds-ease);padding:10px 16px;font-weight:600;text-decoration:none;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.view-container:focus{outline:none}@media (width<=880px){:is(.btn-icon,.chip,.link,.btn,.ds-btn,.cfg-nav-item,.io-pair,.seg>button,.touch-target){position:relative}:is(.btn-icon,.chip,.link,.btn,.ds-btn,.cfg-nav-item,.io-pair,.seg>button,.touch-target):after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ds-input{min-height:44px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-overflow-scrolling:touch;touch-action:manipulation;min-height:100%}body{font-family:var(--font-sans);background-color:var(--ds-background-200);color:var(--ds-foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);line-height:1.5;overflow-x:hidden}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}button,input,select,textarea{color:inherit;font-family:inherit}button,a,.btn,.bnav-item,.bnav-fab,.pill{touch-action:manipulation}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}:focus-visible{box-shadow:var(--ds-focus-ring);border-radius:var(--ds-radius-sm);outline:none}.icon{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.app-glow{filter:blur(80px);pointer-events:none;z-index:0;background:radial-gradient(#0084ff12 0%,#0000 70%);width:900px;height:500px;position:fixed;top:-260px;left:50%;transform:translate(-50%)}.app{z-index:1;min-height:100vh;display:flex;position:relative}.sidebar{background:var(--ds-background-100);border-right:1px solid var(--ds-border);width:250px;height:100vh;padding:20px 16px;padding-top:max(20px, env(safe-area-inset-top,0px));flex-direction:column;flex:none;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:6px 10px 24px;display:flex}.brand-mark{border-radius:var(--ds-radius-md);background:var(--ds-foreground);width:28px;height:28px;color:var(--ds-foreground-contrast);flex:none;justify-content:center;align-items:center;display:flex;box-shadow:0 1px 3px #0003}.brand-mark .icon{width:15px;height:15px;stroke:var(--ds-foreground-contrast)}.brand-name{letter-spacing:-.02em;color:var(--ds-foreground);font-size:14.5px;font-weight:600}.side-nav{flex-direction:column;gap:3px;display:flex}.nav-item{border-radius:var(--ds-radius-md);color:var(--ds-foreground-muted);text-align:left;width:100%;transition:all var(--ds-duration-fast) var(--ds-ease);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:8px 12px;font-size:13.5px;font-weight:500;display:flex}.nav-item .icon{width:16px;height:16px;color:var(--ds-foreground-muted);transition:color var(--ds-duration-fast)}.nav-item:hover{color:var(--ds-foreground);background:var(--ds-gray-alpha-100)}.nav-item:hover .icon{color:var(--ds-foreground)}.nav-item.active{color:var(--ds-foreground);background:var(--ds-gray-alpha-200);border-color:var(--ds-border);font-weight:600}.nav-item.active .icon{color:var(--ds-foreground)}.side-cta{background:var(--ds-foreground);color:var(--ds-foreground-contrast);border:1px solid var(--ds-foreground);border-radius:var(--ds-radius-md);transition:opacity var(--ds-duration-fast) var(--ds-ease);justify-content:center;align-items:center;gap:8px;margin-top:20px;padding:9px 14px;font-size:13px;font-weight:500;display:flex}.side-cta:hover{opacity:.9}.side-cta .icon{width:14px;height:14px;stroke:var(--ds-foreground-contrast)}.sidebar-footer{border-top:1px solid var(--ds-border);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:14px;display:flex;position:relative}.user-menu-wrap{flex:1;min-width:0;position:relative}.user-trigger{border-radius:var(--ds-radius-md);text-align:left;cursor:pointer;width:100%;transition:all var(--ds-duration-fast);background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:5px 6px;display:flex}.user-trigger:hover,.user-trigger.active{background:var(--ds-gray-alpha-200);border-color:var(--ds-border)}.user-info{flex:1;min-width:0}.avatar{background:var(--ds-gray-alpha-200);border:1px solid var(--ds-border);width:28px;height:28px;color:var(--ds-foreground-muted);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.user-name{color:var(--ds-foreground);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.user-role{color:var(--ds-foreground-muted);font-size:11px}.user-chevron{color:var(--ds-foreground-muted);transition:transform var(--ds-duration-fast);flex:none}.user-trigger.active .user-chevron{transform:rotate(180deg)}.user-popover{background:var(--ds-background-100);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-xl);z-index:1050;width:218px;box-shadow:var(--ds-shadow-large);opacity:0;pointer-events:none;transition:opacity var(--ds-duration-fast), transform var(--ds-duration-fast) var(--ds-ease);padding:6px;position:fixed;bottom:68px;left:16px;transform:translateY(6px)}.user-popover.open{opacity:1;pointer-events:auto;transform:translateY(0)}.user-popover-header{padding:6px 8px}.user-popover-name{color:var(--ds-foreground);margin-bottom:1px;font-size:13px;font-weight:600}.user-popover-email{color:var(--ds-foreground-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.user-popover-divider{background:var(--ds-border);height:1px;margin:4px 0}.user-popover-item{border-radius:var(--ds-radius-md);width:100%;color:var(--ds-foreground);cursor:pointer;text-align:left;transition:background var(--ds-duration-fast);background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.user-popover-item .icon{width:15px;height:15px;color:var(--ds-foreground-muted)}.user-popover-item:hover{background:var(--ds-gray-alpha-200)}.user-popover-item:hover .icon{color:var(--ds-foreground)}.user-popover-item.danger,.user-popover-item.danger .icon{color:var(--ds-red-700)}.user-popover-item.danger:hover{background:var(--ds-red-alpha-200)}.theme-switch-pill{background:var(--ds-background-200);border:1px solid var(--ds-border);border-radius:var(--ds-radius-full);align-items:center;gap:2px;margin-left:auto;padding:2px;display:flex}.theme-pill-btn{border-radius:var(--ds-radius-full);width:26px;height:26px;color:var(--ds-foreground-muted);transition:all var(--ds-duration-fast) var(--ds-ease);justify-content:center;align-items:center;display:flex}.theme-pill-btn:hover{color:var(--ds-foreground)}.theme-pill-btn.active{background:var(--ds-background-100);color:var(--ds-foreground);box-shadow:0 1px 3px #00000026, 0 0 0 1px var(--ds-border)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--ds-border);background:color-mix(in srgb, var(--ds-background-100) 85%, transparent);-webkit-backdrop-filter:blur(12px);z-index:20;padding:16px 36px;padding-top:max(16px, env(safe-area-inset-top,0px));justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:10px;min-width:0;display:flex}.topbar-brand{flex:none;align-items:center;gap:8px;display:none}.page-title{letter-spacing:-.03em;color:var(--ds-foreground);margin-bottom:2px;font-size:18px;font-weight:600}.page-sub{color:var(--ds-foreground-muted);font-size:12.5px}.topbar-actions{flex:none;align-items:center;gap:8px;display:flex}.search-trigger{border:1px solid var(--ds-border);background:var(--ds-background-100);border-radius:var(--ds-radius-md);min-width:220px;height:36px;color:var(--ds-foreground-muted);white-space:nowrap;transition:all var(--ds-duration-fast);box-sizing:border-box;cursor:pointer;align-items:center;gap:10px;padding:0 12px;font-size:13px;display:inline-flex!important}.search-trigger span{white-space:nowrap;display:inline}.search-trigger:hover{border-color:var(--ds-foreground-muted);color:var(--ds-foreground)}.kbd{font-family:var(--font-mono);background:var(--ds-background-200);border:1px solid var(--ds-border);color:var(--ds-foreground-muted);border-radius:4px;padding:1px 6px;font-size:11px}.btn{font-family:var(--font-sans);border-radius:var(--ds-radius-md);border:1px solid var(--ds-border);background:var(--ds-background-100);height:34px;color:var(--ds-foreground);transition:all var(--ds-duration-fast) var(--ds-ease);white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.btn:hover{background:var(--ds-gray-alpha-200);border-color:var(--ds-foreground-muted)}.btn.primary{background:var(--ds-foreground);border-color:var(--ds-foreground);color:var(--ds-foreground-contrast)}.btn.primary:hover{opacity:.9}.btn-icon{border-radius:var(--ds-radius-md);border:1px solid var(--ds-border);background:var(--ds-background-100);width:34px;height:34px;color:var(--ds-foreground-muted);transition:all var(--ds-duration-fast);justify-content:center;align-items:center;display:flex;position:relative}.btn-icon:hover{color:var(--ds-foreground);border-color:var(--ds-foreground-muted);background:var(--ds-gray-alpha-200)}.btn-icon .notif-dot{background:var(--ds-blue-700);border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:7px}.btn.danger{color:var(--ds-red-700);background:var(--ds-red-alpha-200);border-color:#e5484d4d}.btn.danger:hover{background:var(--ds-red-700);color:#fff;border-color:var(--ds-red-700)}.cfg-nav{border-bottom:1px solid var(--ds-border);scrollbar-width:none;align-items:center;gap:6px;margin-bottom:24px;display:flex;overflow-x:auto}.cfg-nav::-webkit-scrollbar{display:none}.cfg-nav-item{color:var(--ds-foreground-muted);cursor:pointer;white-space:nowrap;transition:all var(--ds-duration-fast);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 14px;font-size:13.5px;font-weight:500;display:inline-flex}.cfg-nav-item .icon{width:14px;height:14px}.cfg-nav-item:hover{color:var(--ds-foreground)}.cfg-nav-item.active{color:var(--ds-foreground);border-bottom-color:var(--ds-foreground);font-weight:600}.cfg-pane{animation:pageFadeIn .14s var(--ds-ease);flex-direction:column;gap:16px;display:none}.cfg-pane.active{display:flex}.switch{flex:none;width:38px;height:22px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch-slider{cursor:pointer;background-color:var(--ds-gray-alpha-300);border-radius:var(--ds-radius-full);border:1px solid var(--ds-border);transition:all .18s;position:absolute;inset:0}.switch-slider:before{content:"";background-color:var(--ds-foreground);border-radius:50%;width:16px;height:16px;transition:all .18s;position:absolute;bottom:2px;left:2px}.switch input:checked+.switch-slider{background-color:var(--ds-foreground)}.switch input:checked+.switch-slider:before{background-color:var(--ds-foreground-contrast);transform:translate(16px)}.pwd-meter{gap:4px;margin-top:6px;display:flex}.pwd-meter-step{background:var(--ds-gray-alpha-300);border-radius:2px;flex:1;height:3px;transition:background .2s}.pwd-meter-step.filled{background:var(--ds-foreground)}.dropzone{border:1.5px dashed var(--ds-border-strong);border-radius:var(--ds-radius-xl);text-align:center;background:var(--ds-background-200);cursor:pointer;transition:all var(--ds-duration-fast);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px 20px;display:flex}.dropzone:hover,.dropzone.dragover{border-color:var(--ds-foreground);background:var(--ds-gray-alpha-200)}.dropzone-icon{background:var(--ds-background-100);border:1px solid var(--ds-border);width:40px;height:40px;color:var(--ds-foreground);border-radius:50%;justify-content:center;align-items:center;margin-bottom:2px;display:flex}.dropzone-icon .icon{width:18px;height:18px}.dropzone-title{color:var(--ds-foreground);margin:0;font-size:13.5px;font-weight:600}.dropzone-sub{color:var(--ds-foreground-muted);max-width:340px;margin:0;font-size:12px}.import-preview-box{background:var(--ds-background-200);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);margin-top:12px;padding:12px 14px;font-size:12.5px}.import-file-badge{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.view-container{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:32px 36px 80px}.page{animation:pageFadeIn .16s var(--ds-ease);display:none}.page.active{display:block}.stat-grid{grid-template-columns:1.35fr 1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.card{border:1px solid var(--ds-border);border-radius:var(--ds-radius-xl);background:var(--ds-background-100);transition:border-color var(--ds-duration-fast);padding:22px 24px;position:relative}.stat-label{color:var(--ds-foreground-muted);letter-spacing:-.01em;white-space:nowrap;font-size:12.5px;font-weight:500}.stat-head-left{align-items:center;gap:8px;display:flex}.stat-icon{border-radius:var(--ds-radius-md);flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-style:normal;display:inline-flex}.stat-icon.in{background:var(--ds-green-alpha-200);color:var(--ds-green-700)}.stat-icon.out{background:var(--ds-red-alpha-200);color:var(--ds-red-700)}.stat-icon.saldo{background:var(--ds-blue-alpha-200);color:var(--ds-blue-600)}.stat-value{letter-spacing:-.03em;color:var(--ds-foreground);align-items:baseline;gap:8px;margin-bottom:6px;font-size:27px;font-weight:700;display:flex}.stat-foot{color:var(--ds-foreground-muted);font-size:12px}.mini-bar{border-radius:var(--ds-radius-full);background:var(--ds-gray-alpha-300);height:4px;margin-top:14px;overflow:hidden}.mini-bar-fill{border-radius:var(--ds-radius-full);background:var(--ds-foreground);height:100%;transition:width .3s var(--ds-ease)}.spark{margin-top:10px}.spark svg{width:100%;height:32px;display:block}.grid-2{grid-template-columns:1.55fr 1fr;align-items:start;gap:16px;display:grid}.card-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card-title{letter-spacing:-.02em;color:var(--ds-foreground);font-size:14.5px;font-weight:600}.card-link{color:var(--ds-foreground-muted);cursor:pointer;transition:color var(--ds-duration-fast);font-size:12.5px}.card-link:hover{color:var(--ds-foreground)}.spend-chart-container{border-bottom:1px solid var(--ds-border);align-items:flex-end;gap:12px;height:180px;padding-top:10px;padding-bottom:8px;display:flex}.spend-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.spend-bar-track{background:var(--ds-gray-alpha-200);border-radius:var(--ds-radius-sm);align-items:flex-end;width:100%;max-width:36px;height:100%;display:flex;position:relative;overflow:hidden}.spend-bar-fill{border-radius:var(--ds-radius-sm);background:var(--ds-gray-500);width:100%;transition:height var(--ds-duration-normal) var(--ds-ease), background-color var(--ds-duration-normal) var(--ds-ease)}.spend-col.active .spend-bar-fill{background:var(--ds-blue-600)}.spend-col:hover .spend-bar-fill{background:var(--ds-gray-700)}.spend-col.active:hover .spend-bar-fill{background:var(--ds-blue-700)}.spend-day{color:var(--ds-foreground-faint);font-size:11px;font-weight:500}.spend-col.active .spend-day{color:var(--ds-blue-700);font-weight:600}.cat-meter-list{flex-direction:column;gap:12px;display:flex}.cat-meter-item{flex-direction:column;gap:6px;display:flex}.cat-meter-head{justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.cat-meter-label{color:var(--ds-foreground);align-items:center;gap:8px;font-weight:500;display:flex}.cat-meter-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.cat-meter-val{color:var(--ds-foreground);font-size:12px;font-weight:600}.cat-track{border-radius:var(--ds-radius-full);background:var(--ds-gray-alpha-200);width:100%;height:5px;overflow:hidden}.cat-fill{border-radius:var(--ds-radius-full);height:100%}.tx-feed-list{flex-direction:column;gap:8px;display:flex}.tx-feed-row{border-radius:var(--ds-radius-md);background:var(--ds-background-200);border:1px solid var(--ds-border);transition:background-color var(--ds-duration-fast);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.tx-feed-row:hover{background:var(--ds-gray-alpha-200)}.tx-feed-left{align-items:center;gap:12px;display:flex}.tx-feed-icon{border-radius:var(--ds-radius-md);border:1px solid var(--ds-border);background:var(--ds-background-100);width:32px;height:32px;color:var(--ds-foreground-muted);justify-content:center;align-items:center;display:flex}.tx-feed-title{color:var(--ds-foreground);margin-bottom:2px;font-size:13px;font-weight:500}.tx-feed-meta{color:var(--ds-foreground-faint);font-size:11px}.tx-feed-val{color:var(--ds-foreground);font-size:13px;font-weight:600;font-family:var(--font-mono)}.chart-wrap svg{width:100%;height:180px;display:block}.chart-grid line{stroke:var(--ds-border);stroke-width:1px}.donut-row{align-items:center;gap:28px;display:flex}.donut{background:conic-gradient(var(--cat-moradia) 0% 67%, var(--cat-alimentacao) 67% 87%, var(--cat-outros) 87% 100%);border-radius:50%;flex:none;justify-content:center;align-items:center;width:130px;height:130px;display:flex;box-shadow:0 4px 20px #0003}.donut-inner{background:var(--ds-background-100);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:66%;height:66%;display:flex}.donut-total{color:var(--ds-foreground);font-size:15px;font-weight:600}.donut-total-label{color:var(--ds-foreground-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.legend{flex-direction:column;flex:1;gap:12px;display:flex}.legend-row{align-items:center;gap:10px;font-size:12.5px;display:flex}.legend-dot{border-radius:50%;flex:none;width:7px;height:7px}.legend-name{color:var(--ds-foreground-muted);flex:1}.legend-val{color:var(--ds-foreground);font-weight:600}.report-grid-kpi{box-sizing:border-box;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;margin-bottom:20px;display:grid}.report-grid-kpi .card{min-width:0;padding:16px 18px;overflow:hidden}.report-grid-kpi .card-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.report-grid-kpi .stat-label{white-space:normal;flex:1;min-width:0;font-size:12px;line-height:1.25}.report-grid-kpi .badge{flex-shrink:0;padding:2px 7px;font-size:10.5px}.report-grid-kpi .stat-value{font-size:22px}@media (width<=1300px){.report-grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.report-grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.report-grid-kpi .card{padding:12px}.report-grid-kpi .stat-value{font-size:16px}}@media (width<=380px){.report-grid-kpi{grid-template-columns:1fr}}.chart-6m-legend{color:var(--ds-foreground-muted);align-items:center;gap:16px;font-size:12px;display:flex}.chart-6m-legend-item{align-items:center;gap:6px;display:flex}.chart-6m-line-wrap{padding:16px 0 0;position:relative}.chart-6m-svg{width:100%;height:380px;display:block;overflow:visible}.chart-6m-grid-line{stroke:var(--ds-border);stroke-width:1px;stroke-dasharray:4 4;opacity:.5}.chart-6m-axis-label{font-family:var(--font-sans);fill:var(--ds-foreground-faint);font-size:11px;font-weight:500}.chart-6m-axis-label.active-month{fill:var(--ds-foreground);font-weight:700}.chart-6m-val-label{font-family:var(--font-mono);fill:var(--ds-foreground-muted);font-size:10px}.chart-6m-path{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 3px #0003)}.chart-6m-path.receita{stroke:var(--ds-green-700)}.chart-6m-path.reserva{stroke:var(--ds-gray-500)}.chart-6m-area{opacity:.08}.chart-6m-area.receita{fill:var(--ds-green-700)}.chart-6m-area.despesa{fill:var(--ds-blue-600)}.chart-6m-area.reserva{fill:var(--ds-gray-500)}.chart-6m-dot{stroke-width:2.5px;transition:r .15s var(--ds-ease), stroke-width .15s;cursor:pointer}.chart-6m-dot.receita{fill:var(--ds-background-100);stroke:var(--ds-green-700)}.chart-6m-dot.despesa{fill:var(--ds-background-100);stroke:var(--ds-blue-600)}.chart-6m-dot.reserva{fill:var(--ds-background-100);stroke:var(--ds-gray-500)}.chart-6m-hover-zone{fill:#0000;cursor:pointer}.chart-6m-hover-line{stroke:var(--ds-foreground-faint);stroke-width:1px;stroke-dasharray:3 3;opacity:0;pointer-events:none;transition:opacity .15s}.chart-6m-tooltip-g{opacity:0;pointer-events:none;transition:opacity .15s}.chart-6m-tooltip-bg{fill:var(--ds-background-100);stroke:var(--ds-border-strong);stroke-width:1px;rx:8;filter:drop-shadow(0 4px 12px #0000004d)}.chart-6m-tooltip-text{font-family:var(--font-sans);fill:var(--ds-foreground);font-size:11px}.chart-6m-tooltip-text.muted{fill:var(--ds-foreground-muted)}.chart-6m-tooltip-text.bold{font-weight:600}.chart-6m-hover-zone:hover~.chart-6m-hover-line,.chart-6m-group-g:hover .chart-6m-hover-line,.chart-6m-group-g:hover .chart-6m-tooltip-g{opacity:1}.chart-6m-group-g:hover .chart-6m-dot{r:5.5;stroke-width:3px}.ai-insight-list{flex-direction:column;gap:10px;display:flex}.ai-insight-item{border-radius:var(--ds-radius-md);background:var(--ds-background-200);border:1px solid var(--ds-border);transition:border-color var(--ds-duration-fast);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.ai-insight-item:hover{border-color:var(--ds-foreground-muted)}.ai-insight-icon{border-radius:var(--ds-radius-md);border:1px solid var(--ds-border);background:var(--ds-background-100);flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.ai-insight-content{flex:1}.ai-insight-title{color:var(--ds-foreground);margin-bottom:2px;font-size:13px;font-weight:600}.ai-insight-desc{color:var(--ds-foreground-muted);margin:0;font-size:12px;line-height:1.45}.trend-badge{border-radius:var(--ds-radius-full);align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:500;display:inline-flex}.trend-badge.positive{background:var(--ds-green-alpha-200);color:var(--ds-green-700)}.trend-badge.negative{background:var(--ds-red-alpha-200);color:var(--ds-red-700)}.trend-badge.neutral{background:var(--ds-gray-alpha-200);color:var(--ds-foreground-muted)}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--ds-foreground-muted);border-bottom:1px solid var(--ds-border);text-transform:uppercase;letter-spacing:.06em;padding:0 12px 14px;font-size:11px;font-weight:600}th:first-child{padding-left:0}th:last-child{padding-right:0}td{border-bottom:1px solid var(--ds-border);color:var(--ds-foreground);padding:13px 12px;font-size:13px}td:first-child{padding-left:0}td:last-child{padding-right:0}tr:last-child td{border-bottom:none}tbody tr{transition:background var(--ds-duration-fast)}tbody tr:hover td{background:var(--ds-gray-alpha-100)}.tx-cell{align-items:center;gap:12px;display:flex}.tx-icon{border-radius:var(--ds-radius-md);border:1px solid var(--ds-border);background:var(--ds-background-200);flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.tx-icon .icon{width:14px;height:14px}.tx-icon-alimentacao{color:var(--ds-red-700)!important;background:#ef444424!important;border-color:#ef444447!important}.tx-icon-moradia{color:#f5a623!important;background:#f5a62324!important;border-color:#f5a62347!important}.tx-icon-outros{background:var(--ds-gray-alpha-200)!important;border-color:var(--ds-border)!important;color:var(--ds-foreground-muted)!important}.badge{border-radius:var(--ds-radius-full);border:1px solid var(--ds-border);background:var(--ds-background-200);color:var(--ds-foreground);white-space:nowrap;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;font-weight:500;line-height:1;display:inline-flex}.badge-dot{border-radius:50%;flex:none;width:6px;height:6px}.amount-cell{text-align:right;color:var(--ds-foreground);font-weight:600}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.select-pill{border:1px solid var(--ds-border);background:var(--ds-background-100);border-radius:var(--ds-radius-md);color:var(--ds-foreground-muted);cursor:pointer;transition:all var(--ds-duration-fast);align-items:center;gap:8px;padding:7px 12px;font-size:12.5px;display:flex}.select-pill:hover{border-color:var(--ds-foreground-muted);color:var(--ds-foreground)}.select-pill .icon{width:13px;height:13px}.cat-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.cat-card{border:1px solid var(--ds-border);border-radius:var(--ds-radius-xl);background:var(--ds-background-100);transition:border-color var(--ds-duration-fast);padding:20px;position:relative}.cat-card:hover{border-color:var(--ds-foreground-muted)}.cat-card-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.cat-icon-wrap{border-radius:var(--ds-radius-md);border:1px solid var(--ds-border);background:var(--ds-background-200);justify-content:center;align-items:center;width:36px;height:36px;display:flex}.cat-icon-wrap .icon{width:16px;height:16px}.cat-menu-btn{border-radius:var(--ds-radius-sm);width:26px;height:26px;color:var(--ds-foreground-muted);transition:all var(--ds-duration-fast);justify-content:center;align-items:center;display:flex}.cat-menu-btn:hover{background:var(--ds-gray-alpha-200);color:var(--ds-foreground)}.cat-card-name{letter-spacing:-.01em;color:var(--ds-foreground);margin-bottom:4px;font-size:14.5px;font-weight:600}.cat-card-desc{color:var(--ds-foreground-muted);margin-bottom:16px;font-size:12px}.cat-card-foot{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.cat-limit-val{color:var(--ds-foreground-muted);font-size:12px}.cat-pct-val{color:var(--ds-foreground);font-size:12px;font-weight:500}.alert-row{border-bottom:1px solid var(--ds-border);align-items:flex-start;gap:12px;padding:14px 0;display:flex}.alert-row:last-child{border-bottom:none}.alert-icon-box{border-radius:var(--ds-radius-md);border:1px solid var(--ds-border);flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.alert-icon-box .icon{width:14px;height:14px}.alert-content{flex:1;min-width:0}.alert-title{color:var(--ds-foreground);align-items:center;gap:8px;margin-bottom:2px;font-size:13px;font-weight:600;display:flex}.alert-desc{color:var(--ds-foreground-muted);font-size:12px}.alert-dismiss{border-radius:var(--ds-radius-sm);width:22px;height:22px;color:var(--ds-foreground-muted);transition:all var(--ds-duration-fast);flex:none;justify-content:center;align-items:center;margin-left:auto;display:flex}.alert-dismiss:hover{background:var(--ds-gray-alpha-200);color:var(--ds-foreground)}.backdrop{-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity var(--ds-duration-normal);z-index:1000;background:#000000a6;position:fixed;inset:0}.backdrop.open{opacity:1;pointer-events:auto}.sheet{background:var(--ds-background-100);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-2xl);z-index:1050;opacity:1;pointer-events:auto;width:480px;max-width:calc(100vw - 32px);max-height:calc(100vh - 40px);box-shadow:var(--ds-shadow-large);flex-direction:column;padding:20px 24px;display:flex;position:relative;overflow:hidden}.sheet.open{opacity:1;pointer-events:auto}.sheet-head{flex:none;justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.sheet .sheet-body{flex:1;padding:4px 0 8px;overflow-y:auto}.sheet-title{letter-spacing:-.02em;color:var(--ds-foreground);font-size:16px;font-weight:600}.sheet-close{border-radius:var(--ds-radius-md);border:1px solid var(--ds-border);background:var(--ds-background-200);width:28px;height:28px;color:var(--ds-foreground-muted);transition:all var(--ds-duration-fast);justify-content:center;align-items:center;display:flex}.sheet-close:hover{background:var(--ds-gray-alpha-200);color:var(--ds-foreground);border-color:var(--ds-foreground-muted)}.tx-type-tab.active{background:var(--ds-background-100);color:var(--ds-foreground);font-weight:600;box-shadow:0 1px 3px #0003}.tx-type-tab.active.expense{color:var(--ds-red-700)}.tx-type-tab.active.income{color:var(--ds-green-700)}.field{margin-bottom:16px}.field label{color:var(--ds-foreground-muted);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.field input,.field textarea{border:1px solid var(--ds-border);background:var(--ds-background-200);width:100%;color:var(--ds-foreground);border-radius:var(--ds-radius-md);transition:border-color var(--ds-duration-fast);outline:none;padding:9px 12px;font-size:13.5px}.field input:focus,.field textarea:focus{border-color:var(--ds-foreground-muted);box-shadow:0 0 0 1px var(--ds-foreground-muted)}.field-amount{position:relative}.field-amount span{color:var(--ds-foreground-muted);font-size:13px;font-family:var(--font-mono);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.field-amount input{font-family:var(--font-mono);padding-left:36px}.pill-group{flex-wrap:wrap;gap:8px;display:flex}.pill{border:1px solid var(--ds-border);border-radius:var(--ds-radius-full);color:var(--ds-foreground-muted);cursor:pointer;background:var(--ds-background-200);transition:all var(--ds-duration-fast);align-items:center;gap:6px;padding:5px 11px;font-size:12px;display:flex}.pill:hover{border-color:var(--ds-foreground-muted);color:var(--ds-foreground)}.pill .dot{border-radius:50%;width:6px;height:6px}.pill.selected{border-color:var(--ds-foreground);color:var(--ds-foreground);background:var(--ds-gray-alpha-200);font-weight:500}.sheet-submit{border-radius:var(--ds-radius-md);background:var(--ds-foreground);border:1px solid var(--ds-foreground);width:100%;color:var(--ds-foreground-contrast);transition:opacity var(--ds-duration-fast);margin-top:10px;padding:10px;font-size:13.5px;font-weight:600}.sheet-submit:hover{opacity:.9}.cmdk{background:var(--ds-background-100);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-xl);z-index:95;opacity:0;pointer-events:none;width:560px;max-width:92vw;max-height:64vh;transition:opacity var(--ds-duration-fast), transform var(--ds-duration-fast) var(--ds-ease);box-shadow:var(--ds-shadow-large);flex-direction:column;display:flex;position:fixed;top:15%;left:50%;overflow:hidden;transform:translate(-50%,-8px)}.cmdk.open{opacity:1;pointer-events:auto;transform:translate(-50%)}.cmdk-input-row{border-bottom:1px solid var(--ds-border);background:var(--ds-background-200);flex:none;align-items:center;gap:12px;padding:14px 18px;display:flex}.cmdk-input-row .icon{width:16px;height:16px;color:var(--ds-foreground-muted)}.cmdk-input-row input{color:var(--ds-foreground);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.cmdk-input-row input::placeholder{color:var(--ds-foreground-muted)}.cmdk-list{padding:6px;overflow-y:auto}.cmdk-item{border-radius:var(--ds-radius-md);color:var(--ds-foreground-muted);cursor:pointer;transition:all var(--ds-duration-fast);align-items:center;gap:12px;padding:9px 12px;font-size:13px;display:flex}.cmdk-item .icon{width:15px;height:15px}.cmdk-item:hover,.cmdk-item.hi{background:var(--ds-gray-alpha-200);color:var(--ds-foreground)}.cmdk-item-name{flex:1;font-weight:500}.cmdk-item-hint{color:var(--ds-foreground-muted);border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);padding:1px 6px;font-size:11px}.notif-pop{background:var(--ds-background-100);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-xl);z-index:85;opacity:0;pointer-events:none;width:360px;max-width:90vw;transition:all var(--ds-duration-fast);box-shadow:var(--ds-shadow-large);position:fixed;top:64px;right:28px;transform:translateY(-6px)}.notif-pop.open{opacity:1;pointer-events:auto;transform:translateY(0)}.notif-pop-head{border-bottom:1px solid var(--ds-border);color:var(--ds-foreground);justify-content:space-between;align-items:center;padding:14px 18px;font-size:13px;font-weight:600;display:flex}.notif-pop-list{max-height:340px;padding:6px 16px;overflow-y:auto}.ai-fab{border-radius:var(--ds-radius-full);background:var(--ds-foreground);height:44px;color:var(--ds-foreground-contrast);border:1px solid var(--ds-foreground);cursor:pointer;z-index:85;transition:transform var(--ds-duration-fast), opacity var(--ds-duration-fast), box-shadow var(--ds-duration-fast);-webkit-user-select:none;user-select:none;touch-action:manipulation;align-items:center;gap:8px;padding:0 16px 0 14px;font-size:13px;font-weight:600;display:flex;position:fixed;bottom:26px;right:28px;box-shadow:0 10px 30px #00000059,0 1px 3px #0003}.ai-fab:hover{transform:translateY(-2px);box-shadow:0 14px 38px #00000073}.ai-fab:active{transform:translateY(0)}.ai-fab.is-open{box-shadow:0 0 0 2px var(--ds-background-100), 0 0 0 4px var(--ds-blue-600)}.ai-fab .icon{width:16px;height:16px;stroke:var(--ds-foreground-contrast);flex-shrink:0}.ai-fab-dot{background:var(--ds-blue-600);border-radius:50%;flex-shrink:0;width:6px;height:6px}.ai-fab-text{white-space:nowrap;vertical-align:middle;display:inline-block;overflow:hidden}.ai-fab.has-movement{animation:.85s cubic-bezier(.2,.9,.3,1.2) aiFabWiggle}.ai-backdrop{z-index:1040;background:#00000040;position:fixed;inset:0;-webkit-backdrop-filter:none!important}@media (width<=880px){.ai-backdrop{-webkit-backdrop-filter:blur(4px);background:#000000a6}}.ai-panel{background:var(--ds-background-100);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-2xl);width:410px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 105px);box-shadow:var(--ds-shadow-large), 0 24px 60px #00000080;z-index:90;opacity:0;pointer-events:none;transform-origin:100% 100%;transition:opacity .22s var(--ds-ease), transform .22s var(--ds-ease);flex-direction:column;display:flex;position:fixed;top:auto;bottom:82px;right:28px;overflow:hidden;transform:translateY(24px)scale(.96)}.ai-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.ai-head{border-bottom:1px solid var(--ds-border);background:var(--ds-background-200);flex:none;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.ai-head-title{color:var(--ds-foreground);align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.ai-head-title .icon{width:15px;height:15px;color:var(--ds-foreground)}.ai-messages{flex-direction:column;flex:1;gap:12px;padding:16px 18px;display:flex;overflow-y:auto}.msg{border-radius:var(--ds-radius-xl);max-width:88%;padding:10px 14px;font-size:13px;line-height:1.55}.msg.bot{background:var(--ds-background-200);border:1px solid var(--ds-border);border-bottom-left-radius:var(--ds-radius-sm);color:var(--ds-foreground);align-self:flex-start}.msg.user{background:var(--ds-foreground);color:var(--ds-foreground-contrast);border-bottom-right-radius:var(--ds-radius-sm);align-self:flex-end;font-weight:500}.ai-suggest{flex-direction:column;gap:7px;margin-top:6px;display:flex}.ai-suggest-btn{text-align:left;border:1px solid var(--ds-border);background:var(--ds-background-200);color:var(--ds-foreground-muted);border-radius:var(--ds-radius-lg);transition:all var(--ds-duration-fast);cursor:pointer;justify-content:flex-start;align-items:center;width:100%;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.ai-suggest-btn:hover,.ai-suggest-btn:active{background:var(--ds-gray-alpha-200);color:var(--ds-foreground);border-color:var(--ds-border-strong)}.ai-input-row{border:1px solid var(--ds-border);border-radius:var(--ds-radius-full);background:var(--ds-background-200);transition:border-color var(--ds-duration-fast);flex:none;align-items:center;gap:8px;margin:12px 16px 14px;padding:6px 8px 6px 14px;display:flex;box-shadow:none!important;outline:none!important}.ai-input-row:focus-within{border-color:var(--ds-border-strong);box-shadow:none!important;outline:none!important}.ai-input-row input{color:var(--ds-foreground);-webkit-appearance:none;-webkit-tap-highlight-color:transparent;flex:1;font-size:14px;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important}.ai-input-row input:focus,.ai-input-row input:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}.ai-input-row input::placeholder{color:var(--ds-foreground-muted)}.ai-send{background:var(--ds-foreground);width:30px;height:30px;color:var(--ds-foreground-contrast);transition:opacity var(--ds-duration-fast);border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.ai-send:hover{opacity:.88}.ai-send .icon{width:13px;height:13px;stroke:var(--ds-foreground-contrast)}.tx-type-selector{background:var(--ds-background-200);border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);gap:4px;margin-bottom:18px;padding:3px;display:flex}.tx-type-tab{border-radius:var(--ds-radius-md);color:var(--ds-foreground-muted);cursor:pointer;transition:all var(--ds-duration-fast);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.tx-type-tab:hover{color:var(--ds-foreground)}.tx-type-tab.active.expense{background:var(--ds-background-surface);color:var(--ds-foreground);border:1px solid var(--ds-border-strong);font-weight:600;box-shadow:0 1px 3px #0000004d}.tx-type-tab.active.income{background:var(--ds-green-alpha-200);color:var(--ds-green-700);border:1px solid #0c86;font-weight:600}.field-amount.income{border-color:#00cc8873}.field-amount.income span{color:var(--ds-green-700)}.sheet-submit.income{background:var(--ds-green-600);color:#000;font-weight:600}.sheet-submit.income:hover{background:var(--ds-green-700)}.tx-icon-income{background:var(--ds-green-alpha-200)!important;color:var(--ds-green-700)!important;border:1px solid #00cc884d!important}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.table-wrap table{min-width:520px}.amount-cell{font-variant-numeric:tabular-nums;white-space:nowrap!important}.badge{white-space:nowrap!important}.toast-container{z-index:1200;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--ds-background-surface);color:var(--ds-foreground);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-lg);opacity:0;transition:all .25s var(--ds-ease);pointer-events:auto;align-items:center;gap:10px;padding:10px 16px;font-size:13px;display:flex;transform:translateY(14px);box-shadow:0 10px 32px #0000008c}.toast.show{opacity:1;transform:translateY(0)}.toast-icon{width:16px;height:16px;color:var(--ds-green-700);flex-shrink:0}.auth-view{z-index:2000;background:var(--ds-background-100);padding:24px 16px max(28px, env(safe-area-inset-bottom,24px));-webkit-overflow-scrolling:touch;transition:opacity .32s var(--ds-ease), transform .32s var(--ds-ease), visibility .32s;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.auth-view.hidden{opacity:0;pointer-events:none;visibility:hidden;transform:scale(.98)}.auth-card{background:var(--ds-background-surface);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-2xl);width:100%;max-width:420px;padding:32px 28px;position:relative;box-shadow:0 24px 60px #000000b3}@media (width<=480px){.auth-card{padding:24px 18px}}.auth-brand-head{text-align:center;flex-direction:column;align-items:center;margin-bottom:22px;display:flex}.auth-badge{color:var(--ds-foreground-muted);background:var(--ds-background-200);border:1px solid var(--ds-border);border-radius:var(--ds-radius-full);align-items:center;gap:6px;margin-bottom:12px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-flex}.auth-title{letter-spacing:-.03em;color:var(--ds-foreground);margin:0 0 6px;font-size:21px;font-weight:700}.auth-sub{color:var(--ds-foreground-muted);margin:0;font-size:12.5px;line-height:1.45}.auth-tabs{background:var(--ds-background-200);border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);gap:4px;margin-bottom:18px;padding:3px;display:flex}.auth-tab{border-radius:var(--ds-radius-md);color:var(--ds-foreground-muted);cursor:pointer;transition:all var(--ds-duration-fast);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:12.5px;font-weight:500;display:flex}.auth-tab:hover{color:var(--ds-foreground)}.auth-tab.active{background:var(--ds-background-surface);color:var(--ds-foreground);border:1px solid var(--ds-border-strong);font-weight:600;box-shadow:0 1px 3px #0000004d}.auth-tab.active.whatsapp{color:var(--ds-green-700)}.auth-pane{display:none}.auth-pane.active{display:block}.phone-input-wrap{border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-background-200);transition:border-color var(--ds-duration-fast);align-items:center;display:flex}.phone-input-wrap:focus-within{border-color:var(--ds-green-700);box-shadow:0 0 0 1px var(--ds-green-700)}.phone-country{color:var(--ds-foreground);font-size:13px;font-family:var(--font-mono);border-right:1px solid var(--ds-border);white-space:nowrap;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:flex}.phone-input-wrap input{font-size:14px;font-family:var(--font-mono);color:var(--ds-foreground);background:0 0;border:none;outline:none;width:100%;padding:10px 12px}.otp-grid{justify-content:space-between;gap:6px;margin:16px 0;display:flex}.otp-box{border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-md);background:var(--ds-background-200);width:44px;height:52px;color:var(--ds-foreground);font-family:var(--font-mono);text-align:center;transition:all var(--ds-duration-fast);outline:none;font-size:20px;font-weight:700}.otp-box:focus{border-color:var(--ds-green-700);background:var(--ds-background-surface);box-shadow:0 0 0 1px var(--ds-green-700)}.btn-whatsapp{background:var(--ds-green-600);color:#000;border-radius:var(--ds-radius-md);cursor:pointer;width:100%;height:42px;transition:background var(--ds-duration-fast);border:none;justify-content:center;align-items:center;gap:8px;margin-top:14px;font-size:13.5px;font-weight:600;display:flex}.btn-whatsapp:hover{background:var(--ds-green-700)}.auth-divider{color:var(--ds-foreground-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:12px;margin:18px 0 12px;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--ds-border);flex:1;height:1px}.btn-demo-quick{border:1px solid var(--ds-border);background:var(--ds-background-200);width:100%;height:38px;color:var(--ds-foreground);border-radius:var(--ds-radius-md);cursor:pointer;transition:all var(--ds-duration-fast);justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.btn-demo-quick:hover{border-color:var(--ds-foreground-muted);background:var(--ds-gray-alpha-200)}.auth-footer-note{color:var(--ds-foreground-muted);text-align:center;margin-top:16px;font-size:11px;line-height:1.4}.bottom-nav{display:none}@media (width<=880px){input,select,textarea{font-size:16px!important}.sidebar{display:none}.topbar-brand{align-items:center;display:flex}.topbar{padding-top:max(14px, env(safe-area-inset-top,14px));padding-left:max(16px, env(safe-area-inset-left,16px));padding-right:max(16px, env(safe-area-inset-right,16px));height:auto;min-height:calc(52px + max(14px, env(safe-area-inset-top,14px)));align-items:center;padding-bottom:10px}.topbar-left{align-items:center;gap:10px;min-width:0;display:flex}.page-title{margin-bottom:0;font-size:17px;line-height:1.2}.page-sub,.btn.desktop-only,.search-trigger .desktop-only{display:none}.view-container{padding:16px 14px calc(96px + env(safe-area-inset-bottom,16px))}.card{padding:18px 16px}.card-head{flex-wrap:wrap;gap:8px}.stat-grid{grid-template-columns:1fr;gap:12px}@media (width>=601px) and (width<=880px){.stat-grid{grid-template-columns:1fr 1fr}.stat-grid>.card:first-child{grid-column:1/-1}}.stat-value{font-size:24px}.grid-2,.cat-grid{grid-template-columns:1fr}.donut-row{flex-direction:column;align-items:flex-start}.spend-chart-container{gap:6px;height:160px}.spend-day{font-size:10px}.spend-bar-track{max-width:28px}.chart-6m-line-wrap{-webkit-overflow-scrolling:touch;width:100%;padding-bottom:8px;overflow-x:auto}.chart-6m-svg{min-width:580px;height:240px}.chart-6m-legend{flex-wrap:wrap;gap:8px 12px}.toolbar{flex-direction:column!important;align-items:stretch!important;gap:12px!important}.toolbar>div{justify-content:space-between;width:100%}.user-popover{top:calc(52px + max(14px, env(safe-area-inset-top,14px)));z-index:1070;width:230px;box-shadow:0 16px 48px #000c, 0 0 0 1px var(--ds-border-strong);position:fixed;bottom:auto;left:auto;right:16px}.bottom-nav{padding:8px 8px calc(env(safe-area-inset-bottom,0px) + 12px);background:color-mix(in srgb, var(--ds-background-100) 90%, transparent);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--ds-gray-alpha-300);z-index:900;grid-template-columns:1fr 1fr 64px 1fr 1fr;align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.bnav-item{color:var(--ds-foreground-muted);cursor:pointer;transition:color var(--ds-duration-fast) var(--ds-ease);background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font-size:11px;font-weight:500;display:flex}.bnav-item svg{width:20px;height:20px}.bnav-item.active{color:var(--ds-foreground);font-weight:600}.bnav-fab{border-radius:var(--ds-radius-xl);background:var(--ds-foreground);width:48px;height:48px;box-shadow:0 0 0 4px var(--ds-background-100), 0 8px 24px #00000073;color:var(--ds-foreground-contrast);cursor:pointer;transition:transform var(--ds-duration-fast) var(--ds-ease);border:none;justify-content:center;align-items:center;margin:-22px auto 0;display:flex}.bnav-fab:active{transform:scale(.95)}.bnav-fab svg{width:22px;height:22px;stroke:var(--ds-foreground-contrast)}.ai-fab{bottom:calc(66px + max(16px, env(safe-area-inset-bottom,16px)));z-index:920;width:44px;min-width:44px;height:44px;transition:width .35s cubic-bezier(.16, 1, .3, 1), padding .35s cubic-bezier(.16, 1, .3, 1), gap .35s ease, transform var(--ds-duration-fast), box-shadow var(--ds-duration-fast);justify-content:center;gap:0;padding:0;right:16px}.ai-fab .ai-fab-text{opacity:0;pointer-events:none;max-width:0;margin:0;transition:max-width .35s cubic-bezier(.16,1,.3,1),opacity .28s,margin .35s}.ai-fab .ai-fab-dot{display:none}.ai-fab.expanded{gap:8px;width:auto;padding:0 16px 0 14px;box-shadow:0 14px 34px #00000073}.ai-fab.expanded .ai-fab-text{opacity:1;max-width:140px;margin:0 2px}.ai-fab.expanded .ai-fab-dot{display:block}body.ai-sheet-open{overflow:hidden!important}.ai-panel{top:14vh;bottom:max(16px, env(safe-area-inset-bottom,16px));transform-origin:bottom;z-index:1060;width:auto;max-width:calc(100% - 28px);height:auto;max-height:none;box-shadow:0 16px 48px #000000bf, 0 0 0 1px var(--ds-border-strong);border:1px solid var(--ds-border-strong);border-radius:22px;margin:0 auto;transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .2s;left:14px;right:14px;transform:translateY(100%)}.ai-panel.open{transform:translateY(0)}.ai-head{border-bottom:1px solid var(--ds-border);background:0 0;justify-content:space-between;align-items:center;padding:14px 18px 12px;display:flex}.ai-head-title{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.ai-messages{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;gap:12px;padding:16px 16px 8px;overflow-y:auto}.ai-input-row{border-radius:var(--ds-radius-full);border:1px solid var(--ds-border);background:var(--ds-background-200);margin:8px 14px 14px;padding:5px 6px 5px 14px;box-shadow:none!important;outline:none!important}.ai-input-row:focus-within{border-color:var(--ds-border-strong);box-shadow:none!important;outline:none!important}.ai-input-row input{box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;font-size:16px!important}.ai-send{color:#000;cursor:pointer;background:#fff;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.ai-send .icon{stroke:#000;width:14px;height:14px}.sheet{z-index:1060;width:100%;max-width:100%;padding:16px 16px max(20px, env(safe-area-inset-bottom,20px));box-sizing:border-box;border-radius:20px 20px 0 0;margin:0;position:relative;overflow-y:auto}.sheet.open{opacity:1;pointer-events:auto}.sheet-head{border-bottom:1px solid var(--ds-border);margin-bottom:12px;padding-bottom:10px}.sheet .tx-type-selector{margin-bottom:12px}.sheet .field{margin-bottom:11px}.sheet .field label{margin-bottom:4px;font-size:11.5px}.sheet .field input,.sheet .field textarea{padding:8px 12px;box-shadow:none!important;outline:none!important;font-size:16px!important}.sheet .field input:focus,.sheet .field textarea:focus{border-color:var(--ds-border-strong);box-shadow:none!important;outline:none!important}.sheet .pill-group{gap:6px}.sheet .pill{padding:4px 9px;font-size:11.5px}.sheet-submit{border-radius:var(--ds-radius-md);margin-top:8px;padding:11px;font-size:13.5px}.toast-container{bottom:calc(76px + env(safe-area-inset-bottom,16px));align-items:center;left:16px;right:16px}}.mobile-dash-content{width:100%}.mobile-dash-content .hello{color:var(--ds-foreground-muted);padding:8px 0 4px;font-size:13.5px;font-weight:500}.mobile-dash-content .balance{padding:4px 0 0}.mobile-dash-content .balance .label{color:var(--ds-foreground-muted);align-items:center;gap:6px;font-size:13.5px;display:flex}.mobile-dash-content .balance .value{font-family:var(--font-mono);letter-spacing:-.04em;margin-top:2px;font-size:40px;font-weight:600;line-height:1.15}.mobile-dash-content .balance .value small{color:var(--ds-foreground-muted);letter-spacing:-.02em;margin-right:4px;font-size:20px}.mobile-dash-content .delta{color:var(--ds-foreground-muted);align-items:center;gap:8px;margin-top:10px;font-size:12.5px;display:flex}.mobile-dash-content .flow{grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;display:grid}.mobile-dash-content .flow .card{background:var(--ds-background-100);border:1px solid var(--ds-border);border-radius:var(--ds-radius-xl);padding:16px}.mobile-dash-content .flow .card .k{color:var(--ds-foreground-muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.mobile-dash-content .flow .card .k i{border-radius:var(--ds-radius-md);justify-content:center;align-items:center;width:22px;height:22px;display:flex}.mobile-dash-content .flow .in i{background:var(--ds-green-alpha-200);color:var(--ds-green-700)}.mobile-dash-content .flow .out i{background:var(--ds-red-alpha-200);color:var(--ds-red-700)}.mobile-dash-content .flow .v{font-family:var(--font-mono);letter-spacing:-.03em;margin-top:10px;font-size:18px;font-weight:600}.mobile-dash-content .sec{margin-top:28px}.mobile-dash-content .sec-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.mobile-dash-content .sec-head h2{letter-spacing:-.02em;font-size:15px;font-weight:600}.mobile-dash-content .link{color:var(--ds-foreground-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:2px;padding:6px 0;font-size:12.5px;text-decoration:none;display:inline-flex}.mobile-dash-content .link:hover{color:var(--ds-foreground)}.mobile-dash-content .seg{background:var(--ds-gray-alpha-200);border-radius:var(--ds-radius-lg);gap:2px;padding:3px;display:inline-flex}.mobile-dash-content .seg button{border-radius:var(--ds-radius-md);color:var(--ds-foreground-muted);cursor:pointer;transition:all var(--ds-duration-fast);background:0 0;border:none;padding:4px 10px;font-size:12px;font-weight:500}.mobile-dash-content .seg button.on{background:var(--ds-background-100);color:var(--ds-foreground);box-shadow:0 0 0 1px var(--ds-border)}.mobile-dash-content .chart-foot{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.mobile-dash-content .chart-foot .big{font-family:var(--font-mono);letter-spacing:-.03em;font-size:20px;font-weight:600}.mobile-dash-content .chart-foot .sub{color:var(--ds-foreground-muted);font-size:12.5px}.mobile-dash-content .chart{align-items:flex-end;gap:10px;height:104px;margin-top:6px;display:flex}.chart-bar-tooltip{background:var(--ds-background-surface,#18181b);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-md,6px);font-size:11px;font-weight:600;font-family:var(--font-mono,monospace);color:var(--ds-foreground);white-space:nowrap;pointer-events:none;z-index:30;animation:fadeIn .12s var(--ds-ease);padding:4px 8px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000073}.chart-bar-tooltip:after{content:"";border:4px solid #0000;border-top-color:var(--ds-border-strong);position:absolute;top:100%;left:50%;transform:translate(-50%)}.mobile-dash-content .bar{cursor:pointer;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex;position:relative}.mobile-dash-content .bar span{border-radius:var(--ds-radius-sm);background:var(--ds-gray-alpha-400);width:100%;transition:height .3s var(--ds-ease)}.mobile-dash-content .bar.now span{background:var(--ds-blue-600)}.mobile-dash-content .bar em{color:var(--ds-foreground-faint);font-size:11px;font-style:normal}.mobile-dash-content .bar.now em{color:var(--ds-blue-700);font-weight:600}.mobile-dash-content .cats{flex-direction:column;gap:14px;display:flex}.mobile-dash-content .cat-row{grid-template-columns:1fr auto;align-items:center;gap:6px 12px;display:grid}.mobile-dash-content .cat-name{align-items:center;gap:8px;font-size:13.5px;font-weight:500;display:flex}.mobile-dash-content .cat-name b{border-radius:50%;width:8px;height:8px}.mobile-dash-content .cat-val{font-family:var(--font-mono);font-size:13px;font-weight:500}.mobile-dash-content .track{border-radius:var(--ds-radius-full);background:var(--ds-gray-alpha-200);grid-column:1/-1;height:4px;overflow:hidden}.mobile-dash-content .track i{border-radius:inherit;height:100%;display:block}.mobile-dash-content .cat-meta{color:var(--ds-foreground-muted);grid-column:1/-1;justify-content:space-between;margin-top:-2px;font-size:11.5px;display:flex}.mobile-dash-content .ai{border-color:var(--ds-border);align-items:flex-start;gap:12px;display:flex}.mobile-dash-content .ai .ico{border-radius:var(--ds-radius-lg);background:var(--ds-blue-alpha-200);width:32px;height:32px;color:var(--ds-blue-700);flex-shrink:0;justify-content:center;align-items:center;display:flex}.mobile-dash-content .ai p{font-size:13.5px;line-height:1.5}.mobile-dash-content .ai p span{color:var(--ds-foreground-muted)}.mobile-dash-content .chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.mobile-dash-content .chip{border-radius:var(--ds-radius-full);border:1px solid var(--ds-border);color:inherit;cursor:pointer;transition:all var(--ds-duration-fast) var(--ds-ease);background:0 0;padding:6px 12px;font-size:12.5px;font-weight:500}.mobile-dash-content .chip:hover{background:var(--ds-gray-alpha-200)}.mobile-dash-content .txs{padding:4px 16px}.mobile-dash-content .tx{text-align:left;border-bottom:1px solid var(--ds-gray-alpha-200);border-radius:var(--ds-radius-md);cursor:pointer;width:100%;color:inherit;background:0 0;border-top:none;border-left:none;border-right:none;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.mobile-dash-content .tx:last-child{border-bottom:none}.mobile-dash-content .tx .ic{border-radius:var(--ds-radius-lg);border:1px solid var(--ds-border);background:var(--ds-background-surface);justify-content:center;align-items:center;width:36px;height:36px;display:flex}.mobile-dash-content .tx .t{font-size:13.5px;font-weight:500;line-height:1.3}.mobile-dash-content .tx .s{color:var(--ds-foreground-muted);font-size:12px}.mobile-dash-content .tx .a{font-family:var(--font-mono);text-align:right;font-size:13.5px;font-weight:500}.mobile-dash-content .tx .a.pos{color:var(--ds-green-700)}.mobile-dash-content .tx .d{color:var(--ds-foreground-faint);text-align:right;font-size:11.5px;font-family:var(--font-sans)}.mobile-rel-content{padding-bottom:24px}.mobile-rel-content .res{margin-top:18px}.mobile-rel-content .res .big{font-size:36px;font-family:var(--font-mono);letter-spacing:-.03em;color:var(--ds-foreground);margin-top:2px;font-weight:600}.mobile-rel-content .res .big small{color:var(--ds-foreground-muted);margin-right:4px;font-size:18px}.mobile-rel-content .sec{margin-top:24px}.mobile-rel-content .sec h2{letter-spacing:-.02em;color:var(--ds-foreground);margin-bottom:12px;font-size:15px;font-weight:600}.mobile-rel-content .leg{color:var(--ds-foreground-muted);gap:14px;margin-bottom:14px;font-size:12px;display:flex}.mobile-rel-content .leg i{border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.mobile-rel-content .pairs{align-items:flex-end;gap:8px;height:128px;display:flex}.mobile-rel-content .pair{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex}.mobile-rel-content .pair .bars{flex:1;align-items:flex-end;gap:3px;width:100%;display:flex}.mobile-rel-content .pair .bars span{border-radius:var(--ds-radius-sm) var(--ds-radius-sm) 0 0;flex:1}.mobile-rel-content .pair .in{background:var(--ds-green-500,#0c8)}.mobile-rel-content .pair .out{background:var(--ds-gray-alpha-400)}.mobile-rel-content .pair.now .out{background:var(--ds-foreground)}.mobile-rel-content .pair em{color:var(--ds-foreground-faint);font-size:11px;font-style:normal}.mobile-rel-content .pair.now em{color:var(--ds-foreground);font-weight:600}.mobile-rel-content .donut-row{align-items:center;gap:22px;padding:18px 16px;flex-direction:row!important;display:flex!important}.mobile-rel-content .donut{background:conic-gradient(var(--cat-moradia,#0084ff) 0% 41%, var(--cat-alimentacao,#f5a623) 41% 69%, var(--cat-transporte,#8e4ec6) 69% 81%, var(--cat-lazer,#e93d82) 81% 89%, var(--cat-outros,#888) 89% 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:124px;height:124px;display:flex;position:relative;box-shadow:0 4px 16px #00000059}.mobile-rel-content .donut div,.mobile-rel-content .donut .donut-center{background:var(--ds-background-100);width:86px;height:86px;box-shadow:0 0 0 1px var(--ds-border), 0 2px 8px #0000004d;box-sizing:border-box;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:4px;display:flex}.mobile-rel-content .donut .big{font-size:13.5px;font-family:var(--font-sans);color:var(--ds-foreground);white-space:nowrap;letter-spacing:-.02em;text-align:center;font-weight:700;line-height:1.15}.mobile-rel-content .donut span.sub,.mobile-rel-content .donut span:not(.big){color:var(--ds-foreground-muted);text-align:center;margin-top:2px;font-size:10.5px;line-height:1.2}.mobile-rel-content .dl{flex-direction:column;flex:1;gap:10px;display:flex}.mobile-rel-content .dl div{color:var(--ds-foreground);justify-content:space-between;align-items:center;font-size:13px;display:flex}.mobile-rel-content .dl span{align-items:center;gap:8px;display:inline-flex}.mobile-rel-content .dl i{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:block;box-shadow:0 0 0 1px #0003}.mobile-rel-content .dl b,.mobile-rel-content .dl .mono{font-family:var(--font-mono);color:var(--ds-foreground);letter-spacing:-.01em;font-size:13px;font-weight:600}.mobile-rel-content .cmp{padding:2px 16px}.mobile-rel-content .cmp-row{border-bottom:1px solid var(--ds-gray-alpha-200);color:var(--ds-foreground);justify-content:space-between;align-items:center;padding:12px 0;font-size:13.5px;display:flex}.mobile-rel-content .cmp-row:last-child{border-bottom:none}.mobile-rel-content .cmp-row .sub{color:var(--ds-foreground-muted);margin-top:2px;font-size:12px;display:block}.mobile-rel-content .cmp-row .r{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.mobile-rel-content .ai{color:var(--ds-foreground);align-items:flex-start;gap:12px;font-size:13.5px;line-height:1.5;display:flex}.mobile-rel-content .ai .ico{border-radius:var(--ds-radius-lg);background:var(--ds-blue-alpha-200);width:32px;height:32px;color:var(--ds-blue-600);flex-shrink:0;justify-content:center;align-items:center;display:flex}.mobile-rel-content .ai span{color:var(--ds-foreground-muted)}@media (width<=880px){.desktop-only{display:none!important}.mobile-only{display:block!important}}@media (width>=881px){.mobile-only{display:none!important}}.gastos-container{width:100%;max-width:100%;margin:0;padding-bottom:96px}.gastos-layout{width:100%;display:block}@media (width>=960px){.gastos-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}}.gastos-main-col{min-width:0}.gastos-side-col{position:sticky;top:88px}.gastos-top{border-bottom:1px solid var(--ds-gray-alpha-200);justify-content:space-between;align-items:center;padding:8px 0 14px;display:flex}.gastos-top h1,.gastos-top h2{letter-spacing:-.03em;color:var(--ds-foreground);margin:0;font-size:20px;font-weight:700}.gastos-desktop-heading{letter-spacing:-.02em;color:var(--ds-foreground);margin:0;font-size:17px;font-weight:600}.gastos-top .month{color:var(--ds-foreground);align-items:center;gap:4px;font-size:13.5px;font-weight:500;display:flex}@media (width<=880px){.gastos-top h1,.gastos-top h2{display:none}.gastos-top{border-bottom:none;justify-content:flex-end;padding:0 0 8px}}@media (width>=960px){.gastos-container .card.list{padding:6px 18px}.gastos-container .tx{grid-template-columns:40px 1fr auto;gap:16px;padding:13px 4px}.gastos-container .tx:hover{background:var(--ds-gray-alpha-100);border-radius:var(--ds-radius-md)}.gastos-container .tx .ic{width:40px;height:40px}.gastos-container .tx .t{font-size:14px}.gastos-container .tx .s{font-size:12.5px}.gastos-container .tx .a{font-size:14px}.gastos-container .chips{gap:10px;padding:14px 0 6px}.gastos-container .chip{padding:7px 14px;font-size:13px}}.btn-icon{border-radius:var(--ds-radius-md);width:36px;height:36px;color:var(--ds-foreground-muted);cursor:pointer;transition:all var(--ds-duration-fast) var(--ds-ease);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.btn-icon:hover{background:var(--ds-gray-alpha-200);color:var(--ds-foreground)}.seg{background:var(--ds-gray-alpha-200);border-radius:var(--ds-radius-lg);gap:2px;padding:3px;display:flex}.seg button{border-radius:var(--ds-radius-md);color:var(--ds-foreground-muted);cursor:pointer;transition:all var(--ds-duration-fast) var(--ds-ease);background:0 0;border:none;flex:1;padding:7px 10px;font-size:12.5px;font-weight:500}.seg button.on{background:var(--ds-background-100);color:var(--ds-foreground);box-shadow:0 0 0 1px var(--ds-gray-alpha-400)}.gastos-container .search{margin-top:16px;position:relative}.gastos-container .search svg{color:var(--ds-foreground-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.gastos-search .ds-input{padding:0 14px 0 36px}.ds-input{background:var(--ds-background-100);border:1px solid var(--ds-gray-alpha-400);border-radius:var(--ds-radius-md);width:100%;height:40px;color:var(--ds-foreground);transition:all var(--ds-duration-fast) var(--ds-ease);outline:none;padding:0 14px;font-size:14px}.ds-input:focus{border-color:var(--ds-blue-600);box-shadow:0 0 0 1px var(--ds-blue-600)}.ds-input::placeholder{color:var(--ds-foreground-faint)}.gastos-container .chips{scrollbar-width:none;gap:8px;padding:12px 0 4px;display:flex;overflow-x:auto}.gastos-container .chips::-webkit-scrollbar{display:none}.gastos-container .chip{border-radius:var(--ds-radius-full);border:1px solid var(--ds-gray-alpha-400);color:var(--ds-foreground-muted);cursor:pointer;transition:all var(--ds-duration-fast) var(--ds-ease);background:0 0;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.gastos-container .chip:hover{background:var(--ds-gray-alpha-200);color:var(--ds-foreground)}.gastos-container .chip.on{background:var(--ds-foreground);color:var(--ds-foreground-contrast);border-color:var(--ds-foreground)}.gastos-container .chip b{border-radius:50%;width:7px;height:7px;display:inline-block}.gastos-container .summary{justify-content:space-between;align-items:center;margin:16px 0 6px;display:flex}.gastos-container .summary .big{font-size:22px;font-family:var(--font-mono);letter-spacing:-.03em;color:var(--ds-foreground);font-weight:600}.gastos-container .summary .sub{color:var(--ds-foreground-muted);font-size:12.5px}.badge.b-warn{color:var(--ds-amber-text);border-radius:var(--ds-radius-full);background:#f5a62326;border:1px solid #f5a62340;padding:3px 9px;font-size:12px;font-weight:500}.badge.b-ok{color:var(--ds-green-text);border-radius:var(--ds-radius-full);background:#00cc8826;border:1px solid #00cc8840;padding:3px 9px;font-size:12px;font-weight:500}.badge.b-bad{color:#e5484d;border-radius:var(--ds-radius-full);background:#e5484d26;border:1px solid #e5484d40;padding:3px 9px;font-size:12px;font-weight:500}.gastos-container .group{margin-top:18px}.gastos-container .gh{color:var(--ds-foreground-muted);justify-content:space-between;padding-bottom:6px;font-size:12.5px;font-weight:500;display:flex}.gastos-container .gh .mono{font-size:12px;font-family:var(--font-mono)}.gastos-container .card.list{background:var(--ds-background-100);border:1px solid var(--ds-gray-alpha-300);border-radius:var(--ds-radius-xl);padding:2px 14px}.gastos-container .tx{text-align:left;border-bottom:1px solid var(--ds-gray-alpha-200);width:100%;color:inherit;cursor:pointer;transition:background var(--ds-duration-fast) var(--ds-ease);background:0 0;border-top:none;border-left:none;border-right:none;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.gastos-container .tx:last-child{border-bottom:none}.gastos-container .tx:hover{background:var(--ds-gray-alpha-100)}.gastos-container .tx .ic{border-radius:var(--ds-radius-lg);border:1px solid var(--ds-gray-alpha-400);background:var(--ds-background-200);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.gastos-container .tx .t{color:var(--ds-foreground);font-size:13.5px;font-weight:500;line-height:1.3}.gastos-container .tx .s{color:var(--ds-foreground-muted);font-size:12px}.gastos-container .tx .a{font-family:var(--font-mono);text-align:right;color:var(--ds-foreground);white-space:nowrap;font-size:13.5px;font-weight:500}.gastos-container .tx .a.pos{color:var(--ds-green-text)}.gastos-container .empty{text-align:center;color:var(--ds-foreground-muted);padding:48px 16px;font-size:13.5px;display:none}.gastos-container .empty strong{color:var(--ds-foreground);margin-bottom:4px;font-size:15px;display:block}.gastos-container .cat-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.page-title,.card-title,.sheet-title,.hello,.stat-value,.kpi-value,.big,h1,h2{letter-spacing:var(--ds-tracking-tight)}.stat-value,.kpi-value,.balance .num{letter-spacing:var(--ds-tracking-tighter)}.card{background:var(--bg-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-card);box-shadow:var(--shadow-card);transition:border-color var(--ds-duration-fast) var(--ds-ease), box-shadow var(--ds-duration-normal) var(--ds-ease)}.card:hover{border-color:var(--ds-border-strong)}.modal-content,.sheet,.popover,.user-popover,.notif-popover{border-radius:var(--ds-radius-card);border-color:var(--ds-border)}.table-wrap{border-radius:var(--ds-radius-panel)}.btn,.ds-btn,.btn-icon,.chip,.search-trigger,.sheet-submit,.cat-card-link,.seg,.seg button,.pill,.field input,.field select{border-radius:var(--ds-radius-full)}.field textarea{border-radius:var(--ds-radius-panel)}.nav-item{border-radius:var(--ds-radius-control)}.nav-item.active{background:var(--bg-surface-hover);border-color:var(--ds-border);box-shadow:var(--shadow-card)}.btn.primary,.ds-btn-primary,.sheet-submit{background:var(--accent-action);border-color:var(--accent-action);color:var(--accent-action-contrast)}.btn.primary:hover,.ds-btn-primary:hover:not(:disabled),.sheet-submit:hover{background:var(--accent-action-hover);border-color:var(--accent-action-hover);opacity:1}.btn.primary .icon,.ds-btn-primary .icon{stroke:var(--accent-action-contrast)}.chip.active,.seg button.on{box-shadow:var(--shadow-card)}.badge,.ds-badge{border-radius:var(--ds-radius-full)}.brand-mark,.avatar{background:var(--accent-brand);color:var(--accent-brand-contrast);border-color:#0000}.brand-mark .icon{stroke:var(--accent-brand-contrast)}.btn-icon .notif-dot{background:var(--accent-brand);box-shadow:0 0 0 2px var(--bg-surface)}.switch{background:var(--bg-muted);border:1px solid var(--ds-border-strong);width:44px;height:24px;transition:background var(--ds-duration-switch) var(--ds-ease), border-color var(--ds-duration-switch) var(--ds-ease)}.switch i{width:20px;height:20px;transition:transform var(--ds-duration-switch) var(--ds-ease);background:#fff;top:1px;left:1px;box-shadow:0 1px 2px #0000004d}.switch.on{background:var(--accent-action);border-color:var(--accent-action)}.switch-slider{background:var(--bg-muted);border-color:var(--ds-border-strong);transition:background var(--ds-duration-switch) var(--ds-ease)}.switch-slider:before{transition:transform var(--ds-duration-switch) var(--ds-ease);background:#fff}.switch input:checked+.switch-slider{background:var(--accent-action);border-color:var(--accent-action)}.switch input:checked+.switch-slider:before{background:#fff}.theme-toggle{border-radius:var(--ds-radius-full);border:1px solid var(--ds-border-strong);background:var(--bg-muted);cursor:pointer;width:44px;height:24px;transition:background var(--ds-duration-switch) var(--ds-ease), border-color var(--ds-duration-switch) var(--ds-ease);flex:none;margin-left:auto;padding:0;position:relative}.theme-toggle.on{background:var(--bg-muted);border-color:var(--ds-border-strong)}.theme-toggle-thumb{background:var(--bg-surface);width:20px;height:20px;color:var(--accent-action);box-shadow:0 1px 3px #00000040, 0 0 0 1px var(--ds-border);transition:transform var(--ds-duration-switch) var(--ds-ease), background var(--ds-duration-switch) var(--ds-ease);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:1px;left:1px}.theme-toggle.on .theme-toggle-thumb{background:var(--accent-brand);color:var(--accent-brand-contrast);transform:translate(20px);box-shadow:0 0 10px #d5ff6659}.theme-toggle-ico{color:var(--ds-foreground-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.theme-toggle-ico.sun{left:6px}.theme-toggle-ico.moon{right:6px}.chart-6m-path.despesa{stroke:var(--chart-primary)}[data-theme=dark] .chart-6m-path.despesa{filter:drop-shadow(0 0 6px #0084ff73)}.chart-6m-dot.receita,.chart-6m-dot.despesa,.chart-6m-dot.reserva{stroke:var(--bg-surface);stroke-width:2px}.chart-6m-dot.receita{fill:var(--ds-green-700)}.chart-6m-dot.despesa{fill:var(--chart-primary)}.chart-6m-dot.reserva{fill:var(--ds-gray-500)}.chart-6m-grid-line,.chart-grid line{stroke:var(--chart-grid);stroke-dasharray:2 4;opacity:1}.week-bar{background:linear-gradient(180deg, var(--chart-primary), color-mix(in srgb, var(--chart-primary) 25%, transparent));border-radius:6px 6px 3px 3px}.week-bar-col.now .week-bar,.mobile-dash-content .bar.now span{background:var(--chart-primary)}[data-theme=dark] .week-bar-col.now .week-bar,[data-theme=dark] .mobile-dash-content .bar.now span{box-shadow:0 0 12px #0084ff73}.runtime-log{background:var(--bg-terminal);border:1px solid var(--ds-border);border-radius:var(--ds-radius-panel);box-shadow:var(--shadow-card);font-family:var(--font-mono);color:var(--text-body);padding:14px 16px;font-size:12px;line-height:1.7}.runtime-log-head{border-bottom:1px solid var(--ds-border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:10px;display:flex}.runtime-log-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ds-foreground-muted);font-size:11px;font-weight:600}.runtime-log-live{color:var(--ds-foreground-muted);align-items:center;gap:6px;font-size:11px;display:inline-flex}.runtime-log-live i{background:var(--tm-success);width:6px;height:6px;box-shadow:0 0 0 0 var(--tm-success);animation:runtime-pulse 2s var(--ds-ease) infinite;border-radius:50%}.runtime-log-list{flex-direction:column;gap:2px;list-style:none;display:flex}.runtime-log-line{align-items:baseline;gap:10px;min-width:0;display:flex}.runtime-log-time{color:var(--text-timestamp);flex:none}.runtime-log-level{flex:none;min-width:64px;font-weight:600}.runtime-log-level.success{color:var(--tm-success)}.runtime-log-level.edge{color:var(--tm-edge)}.runtime-log-level.dispatch{color:var(--accent-action)}[data-theme=light] .runtime-log-level.dispatch{color:var(--tm-dispatch)}.runtime-log-level.warning{color:var(--tm-warning)}.runtime-log-level.destructive{color:var(--tm-destructive)}.runtime-log-msg{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.runtime-log-msg b{color:var(--text-foreground);font-weight:500}.runtime-log-empty{color:var(--ds-foreground-muted)}@keyframes runtime-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--tm-success) 60%, transparent)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.runtime-log-live i{animation:none}.switch,.switch i,.theme-toggle,.theme-toggle-thumb{transition:none}}@media (width<=640px){.runtime-log-line{flex-wrap:wrap;gap:2px 8px}.runtime-log-msg{white-space:normal;flex-basis:100%}}.modal-overlay{z-index:1050;-webkit-backdrop-filter:blur(8px);animation:fadeIn .2s var(--ds-ease);background:#000000b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-overlay .sheet{opacity:1;pointer-events:auto;width:100%;max-width:480px;max-height:calc(100vh - 48px);box-shadow:var(--shadow-modal,0 20px 50px #00000080);animation:sheetUp .22s var(--ds-ease);margin:auto;position:relative;inset:auto;transform:none}@media (width<=880px){.modal-overlay{justify-content:center;align-items:flex-end;padding:0}.modal-overlay .sheet{max-height:calc(100dvh - 64px);padding:20px 18px max(24px, env(safe-area-inset-bottom,24px));box-sizing:border-box;animation:.24s cubic-bezier(.16,1,.3,1) sheetMobileUp;overflow-x:hidden;border-bottom:none!important;border-bottom-right-radius:0!important;border-bottom-left-radius:0!important;width:100%!important;max-width:100%!important;margin:0!important;inset:auto 0 0!important;transform:none!important}@keyframes sheetMobileUp{0%{opacity:.8;transform:translateY(100%)!important}to{opacity:1;transform:translateY(0)!important}}}.tx-form-row{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;width:100%;display:grid}@media (width<=480px){.tx-form-row{grid-template-columns:1fr;gap:12px}}.ds-input[type=date],input[type=date],.ds-input-date{font-family:inherit;font-size:14px;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:0 10px!important}.ds-input-date::-webkit-calendar-picker-indicator{cursor:pointer;margin-right:0;padding:0}.modal-overlay .sheet form{box-sizing:border-box}.modal-overlay .sheet .auth-tabs,.auth-tabs{background:var(--ds-background-200);border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);box-sizing:border-box;grid-template-columns:1fr 1fr;margin-bottom:4px;padding:4px;display:grid}.modal-overlay .sheet .auth-tab,.auth-tab{border-radius:var(--ds-radius-md);color:var(--ds-foreground-muted);cursor:pointer;box-sizing:border-box;transition:background-color var(--ds-duration-fast) var(--ds-ease), color var(--ds-duration-fast) var(--ds-ease), border-color var(--ds-duration-fast) var(--ds-ease), box-shadow var(--ds-duration-fast) var(--ds-ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.modal-overlay .sheet .auth-tab:hover,.auth-tab:hover{color:var(--ds-foreground)}.modal-overlay .sheet .auth-tab.active,.auth-tab.active{background:var(--ds-background-100);color:var(--ds-foreground);border-color:var(--ds-border);box-shadow:var(--ds-shadow-small);font-weight:600}.modal-overlay .sheet .chips,.chips{scrollbar-width:none;align-items:center;gap:8px;min-height:38px;padding-bottom:4px;display:flex;overflow-x:auto}@keyframes aiFabIntro{0%{opacity:0;transform:scale(.6)translateY(24px)}35%{opacity:1;transform:scale(1.1)translateY(-6px);box-shadow:0 0 0 10px #0070f359,0 18px 45px #00000080}55%{transform:scale(.96)translateY(0);box-shadow:0 0 0 5px #0070f333,0 12px 30px #0006}75%{transform:scale(1.04)translateY(-3px);box-shadow:0 0 0 14px #0070f300,0 14px 35px #0006}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes aiSparklePulse{0%,to{filter:drop-shadow(0 0 2px #0070f366);transform:rotate(0)scale(1)}50%{filter:drop-shadow(0 0 8px #0084ffe6);transform:rotate(18deg)scale(1.25)}}.ai-fab.ai-fab-intro{animation:1.2s cubic-bezier(.16,1,.3,1) both aiFabIntro}.ai-fab.ai-fab-intro .ai-fab-sparkle{animation:1.2s ease-in-out infinite aiSparklePulse}.ai-fab-sparkle{transition:transform var(--ds-duration-normal) var(--ds-ease)}.ai-fab:hover .ai-fab-sparkle{transform:rotate(15deg)scale(1.18)}
