:root,[data-theme=light]{--bg:#f4f6f5;--surface:#fff;--surface-light:#e4ebe7;--primary:#1b4332;--accent:#2d6a4f;--on-primary:#fff;--text:#0f1a15;--muted:#6b7280;--success:#2d6a4f;--error:#e11d48;--warning:#d97706;--bottom-nav:#fff;--expense:#0f1a15;--shadow:0 6px 18px #0f1a151a;--radius:20px;--safe-bottom:env(safe-area-inset-bottom,0px)}[data-theme=dark]{--bg:#0b1210;--surface:#15201c;--surface-light:#1e2c26;--primary:#2d6a4f;--accent:#52b788;--on-primary:#fff;--text:#f3f6f4;--muted:#9ca3af;--success:#52b788;--error:#fb7185;--warning:#fbbf24;--bottom-nav:#0b1210;--expense:#f3f6f4;--shadow:0 6px 18px #00000059}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--primary) 55%, var(--surface-light)) var(--bg);margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif;line-height:1.45}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--primary) 55%, var(--surface-light)) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--primary) 45%, var(--surface-light));background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--primary) 70%, var(--surface-light));background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-corner{background:0 0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}.app-shell{background:var(--bg);flex-direction:column;width:100%;max-width:none;min-height:100dvh;margin:0;display:flex;position:relative}.shell-body{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.shell-content{padding-bottom:calc(88px + var(--safe-bottom));flex:1;min-width:0;min-height:0;overflow:auto}.bottom-nav{background:var(--bottom-nav);border-top:1px solid var(--surface-light);width:100%;padding:.45rem .35rem calc(.45rem + var(--safe-bottom));z-index:30;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a,.bottom-nav button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:.2rem;padding:.35rem .25rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.bottom-nav a:hover,.bottom-nav button:hover{background:color-mix(in srgb, var(--surface-light) 70%, transparent);color:var(--text)}.bottom-nav a.active,.bottom-nav button.active{color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent)}.bottom-nav a span,.bottom-nav button span{font-size:.72rem;font-weight:500}.bottom-nav .nav-desktop-only,.bottom-nav .nav-desktop-sep{display:none!important}@media (width<=899px){.app-shell.with-nav:has(.assistant-page){height:100dvh;overflow:hidden}.bottom-nav{padding:.35rem .5rem calc(.35rem + var(--safe-bottom));justify-content:space-between;gap:.15rem}.bottom-nav .nav-item{flex:1 1 0;min-width:0;max-width:none;padding:.4rem .15rem}.bottom-nav .nav-item span{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.68rem;line-height:1.15;overflow:hidden}.bottom-nav .nav-item.active{background:color-mix(in srgb, var(--primary) 14%, transparent)}}.nav-brand{display:none}.page{padding:0 0 1.5rem}.page-pad{padding:0 1.25rem}.dash-page{padding-bottom:1.5rem}.dash-body{display:block}.dash-main{box-sizing:border-box;flex-direction:column;gap:.85rem;width:100%;min-width:0;padding:0 1rem;display:flex}.dash-greeting{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.dash-greeting strong{font-size:1.05rem}.dash-greeting p{color:var(--muted);margin:4px 0 0;font-size:.8rem}.dash-month{color:var(--muted);white-space:nowrap;font-size:.85rem}.dash-budget{margin:0}.dash-budget-btn{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;border:none;transition:transform .15s,box-shadow .15s,background .15s;display:block}.dash-budget-btn:hover{background:color-mix(in srgb, var(--surface) 88%, var(--surface-light));transform:translateY(-1px)}.dash-budget-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.dash-budget-head strong{flex:1}.dash-budget-pct{border-radius:8px;padding:.15rem .5rem;font-size:.75rem;font-weight:800}.dash-budget-meta{color:var(--muted);margin:.55rem 0 0;font-size:.82rem}.dash-budget-row{color:var(--muted);justify-content:space-between;align-items:baseline;gap:.75rem;margin-top:.55rem;font-size:.82rem;display:flex}.dash-budget-row strong{color:var(--text);flex-shrink:0;font-size:.82rem}.dash-budget-hint{color:var(--muted);margin:.5rem 0 0;font-size:.75rem;font-style:italic;line-height:1.35}.dash-actions{background:var(--surface);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:.55rem;padding:1rem;display:none;position:sticky;top:4.5rem}.dash-actions h3{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem;font-size:.78rem;font-weight:700}.dash-side-lede{color:var(--muted);margin:0 0 .5rem;font-size:.78rem;line-height:1.35}.dash-action-btn{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:14px;align-items:center;gap:.75rem;padding:.55rem .45rem;font-size:.92rem;font-weight:600;transition:background .15s,transform .15s;display:flex}.dash-action-btn:hover{background:color-mix(in srgb, var(--surface-light) 80%, transparent);transform:translate(2px)}.dash-action-icon{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .15s;display:inline-flex}.dash-action-btn:hover .dash-action-icon{transform:scale(1.06)}@media (width>=900px){body{background:var(--bg)}.app-shell.with-nav{width:100%;max-width:none;height:100dvh;min-height:100dvh;margin:0;overflow:hidden}.app-shell.with-nav .shell-body{grid-template-columns:248px minmax(0,1fr);align-items:stretch;height:100dvh;min-height:0;display:grid;overflow:hidden}.app-shell.with-nav .bottom-nav{top:0;border-top:none;border-right:1px solid var(--surface-light);width:auto;height:100dvh;max-height:100dvh;box-shadow:none;z-index:5;flex-direction:column;justify-content:flex-start;align-self:start;align-items:stretch;gap:.35rem;padding:1.5rem .9rem;position:sticky;inset:auto;overflow-y:auto;transform:none}.app-shell.with-nav .bottom-nav a,.app-shell.with-nav .bottom-nav button{border-radius:14px;flex-direction:row;flex:none;justify-content:flex-start;gap:.75rem;padding:.85rem 1rem}.app-shell.with-nav .bottom-nav a span,.app-shell.with-nav .bottom-nav button span{font-size:.95rem}.nav-brand{color:var(--text);align-items:center;gap:.65rem;padding:.35rem .85rem 1.25rem;font-size:1.05rem;font-weight:800;display:flex}.nav-brand img{border-radius:8px}.app-shell.with-nav .shell-content{width:100%;max-width:none;height:100dvh;margin:0;padding:.75rem 2rem 1.25rem;overflow:auto}.app-shell.with-nav .shell-content:has(>.assistant-page){padding:0;overflow:hidden}.assistant-composer{padding-bottom:calc(.75rem + var(--safe-bottom,0px))}.page-pad{padding-left:0;padding-right:0}.hero-balance{margin-left:0;margin-right:0}.hero-balance .amount{font-size:2.55rem}.stat-row{gap:1rem;padding-left:0;padding-right:0}.stat-card .value{font-size:1.25rem}.feature-grid{grid-template-columns:1fr 1fr;gap:.85rem;padding:0;display:grid}.feature-grid .feature-link{width:100%;margin:0}.feature-link{margin-left:0;margin-right:0}.chart-card{max-width:none}.sheet{border-radius:24px;width:min(520px,100%);margin-bottom:1.5rem}.sheet-backdrop{align-items:center}.mobile-only,.nav-mobile-only{display:none!important}.app-shell.with-nav .bottom-nav .nav-desktop-only{display:flex!important}.app-shell.with-nav .bottom-nav .nav-desktop-sep{background:var(--surface-light);height:1px;margin:.65rem .75rem;display:block!important}.dash-page .topbar .brand-row{display:none}.dash-page .topbar{padding-left:0;padding-right:0}.dash-body{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:1.75rem;display:grid}.dash-actions{display:flex}.dash-main{padding:0}.page-narrow{max-width:640px}.fab-stack{right:max(calc(4rem + 1cm), env(safe-area-inset-right,0px));bottom:max(3.25rem, env(safe-area-inset-bottom,0px))}}@media (width>=1200px){.app-shell.with-nav .shell-body{grid-template-columns:268px minmax(0,1fr)}.app-shell.with-nav .shell-content{padding-left:2.5rem;padding-right:2.5rem}.feature-grid{grid-template-columns:1fr 1fr 1fr}.dash-body{grid-template-columns:minmax(0,1fr) 240px;gap:2rem}}.topbar{background:var(--bg);z-index:10;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.topbar h1{flex:1;margin:0;font-size:1.25rem;font-weight:700}.icon-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;transition:background .15s,color .15s,transform .15s;display:inline-flex}.icon-btn:hover{background:var(--surface-light);color:var(--primary)}.icon-btn:active{transform:scale(.96)}.topbar-actions{gap:4px;display:flex}.notif-dot{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.brand-row{align-items:center;gap:.65rem;font-size:1.2rem;font-weight:700;display:inline-flex}.brand-row img{border-radius:8px;width:28px;height:28px}.btn{cursor:pointer;border:none;border-radius:28px;justify-content:center;align-items:center;gap:.5rem;min-height:52px;padding:0 1.25rem;font-weight:700;text-decoration:none;transition:background .15s,color .15s,border-color .15s,box-shadow .15s,transform .15s,filter .15s;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.btn:active:not(:disabled){filter:brightness(.97);transform:translateY(0)}.btn-primary{background:var(--primary);color:var(--on-primary);width:100%}.btn-primary:hover:not(:disabled){box-shadow:0 8px 20px color-mix(in srgb, var(--primary) 28%, transparent)}.btn-primary:disabled{background:var(--surface-light);color:var(--muted);cursor:not-allowed;filter:none;transform:none}.btn-ghost{color:var(--accent);background:0 0}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, transparent)}.btn-outline{color:var(--primary);border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);background:0 0;border-radius:28px;width:100%}.btn-outline:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 8%, transparent);border-color:color-mix(in srgb, var(--primary) 55%, transparent)}.btn-outline.danger-archive-btn,.danger-archive-btn{color:var(--primary);justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.btn-outline-danger{color:var(--error);border:1px solid color-mix(in srgb, var(--error) 45%, transparent);background:0 0;border-radius:28px;justify-content:center;align-items:center;gap:.5rem;width:100%;display:inline-flex}.btn-outline-danger:hover:not(:disabled){background:color-mix(in srgb, var(--error) 10%, transparent);border-color:var(--error)}.btn-danger{background:var(--error);color:#fff;width:100%}.btn-danger:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 8px 20px color-mix(in srgb, var(--error) 28%, transparent)}.btn-sm{border-radius:14px;min-height:40px;padding:0 .9rem;font-size:.9rem}.field{flex-direction:column;gap:.4rem;margin-bottom:.9rem;display:flex}.field label{color:var(--muted);font-size:.85rem;font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--surface-light);background:var(--surface);border-radius:var(--radius);outline:none;width:100%;padding:1rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent)}.field .error{color:var(--error);font-size:.8rem}.charge-day-picker{background:var(--surface);border:1px solid var(--surface-light);border-radius:16px;padding:.75rem 1rem}.charge-day-picker-head{color:var(--muted);align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.charge-day-picker-text{color:var(--text);flex:1;margin:0;font-size:.9rem;font-weight:600;line-height:1.35}.charge-day-picker-badge{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);border-radius:10px;flex-shrink:0;padding:.2rem .65rem;font-size:.75rem;font-weight:700}.charge-day-slider-wrap{--thumb-size:18px;--rail-height:6px;height:var(--thumb-size);padding:0 calc(var(--thumb-size) / 2);margin-top:.35rem;position:relative}.charge-day-slider-rail{width:100%;height:100%;position:relative}.charge-day-slider-track,.charge-day-slider-fill,.charge-day-slider-dots{height:var(--rail-height);pointer-events:none;border-radius:999px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.charge-day-slider-track{background:var(--surface-light);z-index:0}.charge-day-slider-fill{width:var(--charge-fill,0%);background:var(--accent);z-index:1;right:auto}.charge-day-slider-dots{z-index:2}.charge-day-slider-dot{background:color-mix(in srgb, var(--muted) 70%, var(--surface-light));border-radius:50%;width:3px;height:3px;position:absolute;top:50%;transform:translate(-50%,-50%)}.charge-day-slider-dot.passed{background:color-mix(in srgb, var(--surface) 55%, var(--accent))}.charge-day-slider-thumb{top:50%;left:var(--charge-fill,0%);width:var(--thumb-size);height:var(--thumb-size);border:2px solid var(--surface);background:var(--accent);pointer-events:none;z-index:3;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0f1a1538}.charge-day-slider-input{opacity:0;cursor:pointer;z-index:4;appearance:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.charge-day-slider-input:focus{outline:none}.card{background:var(--surface);box-shadow:var(--shadow);border-radius:16px}.card-pad{padding:1rem 1.1rem}.hero-balance{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow);box-sizing:border-box;border-radius:24px;width:100%;margin:0;padding:1.35rem 1.4rem}.hero-balance .label{opacity:.75;font-size:.82rem;font-weight:500}.hero-balance .amount{letter-spacing:-.04em;margin-top:.3rem;font-size:2.1rem;font-weight:700}.hero-balance .warn{color:#ffb4a9;margin-top:.35rem;font-size:.8rem}.stat-row{grid-template-columns:1fr 1fr;gap:.75rem;width:100%;padding:0;display:grid}.stat-card{background:var(--surface);box-shadow:var(--shadow);text-align:left;width:100%;color:inherit;cursor:default;border:none;border-radius:16px;padding:.85rem .9rem;transition:transform .15s,box-shadow .15s,background .15s}button.stat-card{cursor:pointer}button.stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0f1a151f}.stat-card .label{color:var(--muted);align-items:center;gap:.45rem;font-size:.75rem;display:flex}.stat-card .value{letter-spacing:-.02em;margin-top:.45rem;font-size:1.05rem;font-weight:700}.stat-sub{color:var(--muted);margin-top:.25rem;font-size:.7rem;line-height:1.3}.badge-icon{border-radius:10px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.settings-group{background:var(--surface);border:1px solid color-mix(in srgb, var(--surface-light) 80%, transparent);border-radius:16px;overflow:hidden}.settings-tile{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:.85rem;padding:.95rem 1rem;transition:background .15s;display:flex}.settings-tile:hover{background:color-mix(in srgb, var(--surface-light) 55%, transparent)}.settings-tile+.settings-tile{border-top:1px solid color-mix(in srgb, var(--surface-light) 70%, transparent)}.settings-tile .icon-wrap,.settings-switch-tile-main .icon-wrap{background:color-mix(in srgb, var(--primary) 12%, transparent);width:40px;height:40px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.settings-tile .meta,.settings-switch-tile-main .meta{flex:1;min-width:0}.settings-tile .meta strong,.settings-switch-tile-main .meta strong{font-size:.95rem;font-weight:600;display:block}.settings-switch-tile{align-items:center;gap:0;width:100%;display:flex}.settings-switch-tile+.settings-switch-tile{border-top:1px solid color-mix(in srgb, var(--surface-light) 70%, transparent)}.settings-switch-tile-main{text-align:left;cursor:pointer;min-width:0;color:var(--text);background:0 0;border:none;flex:1;align-items:center;gap:.85rem;padding:.95rem .5rem .95rem 1rem;transition:background .15s;display:flex}.settings-switch-tile-main:hover{background:color-mix(in srgb, var(--surface-light) 55%, transparent)}.settings-switch-tile-sep{background:color-mix(in srgb, var(--surface-light) 70%, transparent);align-self:stretch;width:1px;margin:.65rem 0}.settings-switch{cursor:pointer;flex-shrink:0;align-items:center;padding:.95rem 1rem;display:inline-flex;position:relative}.settings-switch input{opacity:0;width:0;height:0;position:absolute}.settings-switch-track{background:color-mix(in srgb, var(--muted) 35%, transparent);border-radius:999px;width:44px;height:26px;transition:background .18s;position:relative}.settings-switch-track:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.settings-switch input:checked+.settings-switch-track{background:var(--primary)}.settings-switch input:checked+.settings-switch-track:after{transform:translate(18px)}.settings-switch input:focus-visible+.settings-switch-track{outline:2px solid var(--primary);outline-offset:2px}.settings-profile-avatar{background:color-mix(in srgb, var(--primary) 18%, transparent);width:88px;height:88px;color:var(--primary);letter-spacing:.02em;border:2px solid color-mix(in srgb, var(--primary) 35%, transparent);-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;margin:8px auto 20px;font-size:1.75rem;font-weight:700;display:flex}.settings-logout-btn{border:1px solid color-mix(in srgb, var(--accent) 50%, transparent);width:100%;color:var(--accent);cursor:pointer;background:0 0;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.9rem 1rem;font-weight:600;transition:background .15s;display:inline-flex}.settings-logout-btn:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.settings-danger-zone{margin-top:1.5rem}.settings-danger-zone-label{color:var(--muted);margin:0 0 .5rem .25rem;font-size:.8rem;font-weight:700}.settings-danger-btn{color:#b42318;cursor:pointer;background:0 0;border:1px solid #b42318;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.9rem 1rem;font-weight:600;display:inline-flex}.settings-danger-btn:hover:not(:disabled){background:#b423181a}.settings-danger-btn:disabled{opacity:.55;cursor:not-allowed}.settings-danger-hint{text-align:center;color:var(--muted);margin:.5rem 0 0;font-size:.78rem;line-height:1.4}.settings-tile .meta span,.settings-switch-tile-main .meta span{color:var(--muted);margin-top:.15rem;font-size:.78rem;display:block}@media (width<=899px){.feature-grid{flex-direction:column;display:flex}}.feature-link{background:var(--surface);box-shadow:var(--shadow);text-align:left;cursor:pointer;width:100%;color:var(--text);border:none;border-radius:16px;align-items:center;gap:.85rem;margin:0;padding:1rem 1.05rem;transition:transform .15s,box-shadow .15s,background .15s;display:flex}.feature-link.pending-confirm-link{border:1px solid color-mix(in srgb, var(--warning) 45%, transparent);box-shadow:none}.feature-link.pending-confirm-link:hover{border-color:color-mix(in srgb, var(--warning) 70%, transparent);background:color-mix(in srgb, var(--warning) 6%, var(--surface))}.feature-link:hover{background:color-mix(in srgb, var(--surface) 88%, var(--surface-light));transform:translateY(-2px);box-shadow:0 10px 24px #0f1a151f}.feature-link .meta{flex:1}.feature-link strong{font-size:.95rem;display:block}.feature-link span{color:var(--muted);font-size:.8rem}.pro-badge{background:color-mix(in srgb, var(--warning) 18%, transparent);color:var(--warning);border-radius:999px;padding:.2rem .45rem;font-size:.65rem;font-weight:700}.list-tile{background:var(--surface);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:.85rem;margin-bottom:.55rem;padding:.85rem 1rem;display:flex}.list-tile .avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.list-tile .meta{flex:1;min-width:0}.list-tile .meta strong{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;display:block;overflow:hidden}.list-tile .meta span{color:var(--muted);font-size:.78rem}.list-tile .amount{white-space:nowrap;font-weight:700}.list-tile .amount.income{color:var(--success)}.list-tile.archived .meta strong,.list-tile.archived .amount{color:var(--muted);text-decoration:line-through}.list-tile .tile-actions{flex-shrink:0;gap:0;display:inline-flex}.list-tile .tile-actions .icon-btn{width:36px;height:36px}button.list-tile{text-align:left;width:100%;color:inherit;cursor:pointer;font:inherit;border:none}button.list-tile:hover{background:color-mix(in srgb, var(--surface-light) 55%, var(--surface))}.sub-tile .amount{flex-shrink:0;margin-left:.5rem}.sub-total-card{background:linear-gradient(145deg, color-mix(in srgb, var(--primary) 88%, #000), color-mix(in srgb, var(--accent) 55%, var(--primary)));color:var(--on-primary,#fff);border-radius:16px;margin-bottom:1.1rem;padding:1.1rem 1.15rem}.sub-total-card .label{opacity:.85;margin-bottom:.2rem;font-size:.8rem;display:block}.sub-total-card strong{letter-spacing:-.03em;font-size:1.75rem;font-weight:700;line-height:1.15;display:block}.sub-total-card .hint{opacity:.8;margin-top:.35rem;font-size:.78rem;display:block}.sub-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .55rem .15rem;font-size:.72rem;font-weight:700}.tx-action-menu{flex-direction:column;gap:.65rem;display:flex}.tx-action-menu .btn{justify-content:center;align-items:center;gap:.55rem;width:100%;min-height:48px;display:inline-flex}.tx-page{height:calc(100dvh - 72px - var(--safe-bottom));max-height:calc(100dvh - 72px - var(--safe-bottom));flex-direction:column;min-height:0;padding-bottom:0;display:flex;overflow:hidden}@media (width>=900px){.tx-page{height:calc(100dvh - 1.5rem);max-height:calc(100dvh - 1.5rem)}}.tx-topbar-actions{justify-content:flex-end;align-items:center;gap:.35rem;width:100%;display:flex}.tx-topbar-actions .month-nav{margin-right:auto}.tx-topbar-actions .icon-btn.has-badge{position:relative}.tx-topbar-actions .icon-btn.has-badge:after{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:8px}.tx-toolbar{flex-direction:column;flex-shrink:0;gap:.75rem;padding-top:.25rem;padding-bottom:.5rem;display:flex}.tx-categories-panel{flex-direction:column;gap:.45rem;display:flex}.tx-categories-toggle{border:1px solid var(--surface-light);background:var(--surface);width:100%;color:var(--text);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:.5rem;padding:.62rem .75rem;display:none}.tx-categories-toggle-label{color:var(--muted);flex-shrink:0;font-size:.78rem;font-weight:700}.tx-categories-toggle-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--chip-color,var(--text));flex:1;align-items:center;gap:.35rem;font-size:.86rem;font-weight:600;display:inline-flex;overflow:hidden}.tx-categories-chevron{color:var(--muted);flex-shrink:0;transition:transform .2s}.tx-categories-chevron.open{transform:rotate(180deg)}@media (width<=899px){.tx-categories-toggle.mobile-only{display:flex}.tx-cat-chips.is-collapsed{display:none}.tx-cat-chips.is-open{flex-wrap:wrap;max-height:min(42vh,320px);padding-right:2px;display:flex;overflow:visible auto}}@media (width>=900px){.tx-cat-chips.is-collapsed,.tx-cat-chips.is-open{display:flex}}.tx-cat-chips{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.tx-cat-chips .chip{flex:none;align-items:center;gap:.35rem;display:inline-flex}.tx-total-card{background:var(--surface);border:1px solid var(--surface-light);border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.85rem .9rem;display:grid}.tx-total-card span{color:var(--muted);margin-bottom:.2rem;font-size:.72rem;display:block}.tx-total-card strong{font-size:.92rem}.tx-total-card strong.income{color:var(--success)}.tx-total-card strong.expense{color:var(--error)}.tx-total-hint{color:var(--muted);margin:.45rem 0 0;font-size:.72rem;line-height:1.35}.tx-filter-dates{grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:.75rem;display:grid}.tx-filter-date-btn{border:1.5px solid var(--surface-light);background:var(--surface);width:100%;min-height:44px;color:var(--text);cursor:pointer;border-radius:14px;font-size:.9rem;font-weight:600}.tx-filter-date-btn.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface));color:var(--accent)}.tx-filter-cal-wrap{background:var(--surface);border:1px solid var(--surface-light);border-radius:16px;margin-bottom:1rem;padding:.75rem}.tx-filter-cal-hint{color:var(--muted);margin:0 0 .55rem;font-size:.75rem}.tx-filter-kinds{flex-direction:column;gap:.55rem;margin:.25rem 0 1rem;display:flex}.tx-filter-check{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.65rem;font-size:.95rem;font-weight:600;display:flex}.tx-filter-check input{width:1.15rem;height:1.15rem;accent-color:var(--accent);cursor:pointer}.mini-cal-weekdays,.mini-cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mini-cal-weekdays span{text-align:center;color:var(--muted);padding:.2rem 0 .45rem;font-size:.68rem;font-weight:700}.mini-cal-empty{aspect-ratio:1}.mini-cal-day{aspect-ratio:1;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:0;font-size:.82rem;font-weight:600}.mini-cal-day:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.mini-cal-day.in-range{background:color-mix(in srgb, var(--accent) 16%, transparent)}.mini-cal-day.selected{background:var(--accent);color:var(--on-primary,#fff)}.tx-list{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding-bottom:.75rem;overflow-y:auto}.sheet-backdrop{z-index:40;background:#0f1a1573;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border-radius:24px 24px 0 0;width:min(480px,100%);max-height:92dvh;padding:.75rem 1.25rem 1.5rem;overflow:auto}.sheet-handle{background:var(--surface-light);border-radius:2px;width:40px;height:4px;margin:.35rem auto 1rem}.business-sheet{flex-direction:column;gap:0;display:flex}.business-sheet .business-field{flex-direction:column;gap:.45rem;margin-bottom:1rem;display:flex}.business-sheet .business-field label{color:var(--muted);font-size:.85rem;font-weight:500}.business-input-wrap{border-radius:var(--radius);border:1px solid var(--surface-light);background:var(--surface);align-items:flex-start;gap:.65rem;padding:.95rem 1rem;transition:border-color .15s,box-shadow .15s;display:flex}.business-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 1.5px color-mix(in srgb, var(--accent) 35%, transparent)}.business-input-icon{color:var(--accent);flex-shrink:0;margin-top:.1rem}.business-input-wrap input,.business-input-wrap textarea{width:100%;min-width:0;font:inherit;color:var(--text);resize:vertical;background:0 0;border:none;outline:none;flex:1;min-height:1.4rem;margin:0;padding:0;font-size:.95rem}.business-input-wrap input::placeholder,.business-input-wrap textarea::placeholder{color:var(--muted)}.business-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:.25rem 0 .55rem;font-size:.68rem;font-weight:700}.business-emoji-grid,.business-icon-grid{flex-wrap:wrap;gap:.5rem;margin-bottom:1.15rem;display:flex}.business-emoji-btn,.business-icon-btn{border:1px solid var(--surface-light);background:var(--surface);cursor:pointer;border-radius:12px;place-items:center;width:44px;height:44px;padding:0;transition:border-color .15s,background .15s,transform .1s;display:grid}.business-emoji-btn.selected,.business-icon-btn.selected{border-width:2px}.business-emoji-btn:active,.business-icon-btn:active{transform:scale(.96)}.business-icon-btn-none{opacity:.9}.business-icon-btn-none:not(.selected){border-style:dashed}.dash-biz-title{align-items:center;gap:.45rem;display:inline-flex}.assistant-chip,.context-chips .chip{align-items:center;gap:.35rem;display:inline-flex}.assistant-chip-icon,.context-chip-icon{flex-shrink:0}.business-avatar{flex-shrink:0;place-items:center;line-height:0;display:inline-grid}.business-color-grid{flex-wrap:wrap;gap:.6rem;margin-bottom:1.15rem;display:flex}.business-color-btn{cursor:pointer;width:36px;height:36px;color:var(--text);border:2.5px solid #0000;border-radius:50%;place-items:center;padding:0;transition:transform .1s;display:grid}.business-color-btn.selected{border-color:var(--text)}.business-color-btn:active{transform:scale(.94)}.business-create-btn{width:100%;min-height:52px;color:var(--text);cursor:pointer;border:none;border-radius:999px;margin-top:.35rem;font-size:1rem;font-weight:700;transition:opacity .15s,transform .1s}.business-create-btn:hover:not(:disabled){opacity:.92}.business-create-btn:active:not(:disabled){transform:scale(.99)}.business-create-btn:disabled{opacity:.45;cursor:not-allowed}.cat-context-badge{background:var(--surface);border:1px solid var(--surface-light);color:var(--text);border-radius:999px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.35rem .75rem;font-size:.85rem;font-weight:600;display:inline-flex}.cat-section{margin-bottom:1.75rem}.cat-section-title{margin:0 0 .25rem;font-size:.95rem;font-weight:700}.cat-section-hint{color:var(--muted);margin:0 0 .75rem;font-size:.82rem;line-height:1.4}.cat-grid{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.cat-tile{border:1.5px solid var(--surface-light);border-radius:12px;min-height:52px;position:relative;overflow:visible}.cat-tile.selected{border-width:2px}.cat-tile-main{width:100%;min-height:52px;color:var(--text);cursor:pointer;text-align:center;background:0 0;border:none;justify-content:center;align-items:center;gap:.35rem;padding:.45rem 1.75rem .45rem .55rem;font-size:.82rem;font-weight:600;display:flex}.cat-tile-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cat-tile-menu-wrap{position:absolute;top:2px;right:2px}.cat-tile-menu{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;display:grid}.cat-menu-pop{z-index:20;background:var(--surface);border:1px solid var(--surface-light);min-width:140px;box-shadow:var(--shadow);border-radius:12px;position:absolute;top:100%;right:0;overflow:hidden}.cat-menu-pop button{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;padding:.65rem .85rem;font-size:.88rem;display:block}.cat-menu-pop button.danger{color:var(--error)}.cat-menu-pop button:hover{background:color-mix(in srgb, var(--surface-light) 70%, transparent)}.cat-tile-new{border:1.5px dashed var(--surface-light);min-height:52px;color:var(--muted);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;font-size:.78rem;font-weight:600;display:flex}.category-edit-sheet{flex-direction:column;display:flex}.cat-icon-picker{grid-template-columns:repeat(8,1fr);gap:.35rem;max-height:168px;margin-bottom:1rem;padding-right:.15rem;display:grid;overflow:auto}.cat-icon-btn{aspect-ratio:1;border:1px solid var(--surface-light);background:var(--surface);cursor:pointer;border-radius:10px;place-items:center;padding:0;display:grid}.cat-icon-btn.selected{border-width:2px}.amount-input{text-align:center;letter-spacing:-.04em;width:100%;color:var(--text);background:0 0;border:none;outline:none;font-size:3rem;font-weight:700}.amount-input::placeholder{color:var(--surface-light);font-weight:300}.chip-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.context-chips{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;margin-bottom:.25rem;padding:4px 0 6px;overflow:auto visible}.context-chips::-webkit-scrollbar{display:none}.context-chips .chip{flex-shrink:0}.context-chips .chip:hover,.context-chips .chip:focus-visible{box-shadow:0 2px 10px color-mix(in srgb, var(--primary) 10%, transparent);transform:none}.context-chips .chip.active:hover,.context-chips .chip.active:focus-visible{box-shadow:0 2px 10px color-mix(in srgb, var(--primary) 16%, transparent)}.context-chips .context-chip-locked{opacity:.72}.context-chips .context-chip .pro-badge{vertical-align:middle;margin-left:6px}.context-chip-menu-backdrop{z-index:40;background:color-mix(in srgb, var(--bg) 45%, transparent);cursor:default;border:none;margin:0;padding:0;position:fixed;inset:0}.context-chip-menu{z-index:41;pointer-events:auto;gap:10px;display:flex;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.context-chip-menu-btn{cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow);border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s;display:inline-flex}.context-chip-menu-btn:hover{transform:scale(1.06)}.context-chip-menu-btn.settings{background:var(--primary);color:var(--on-primary)}.context-chip-menu-btn.delete{background:var(--error);color:#fff}.chip{border:1px solid var(--surface-light);background:var(--surface);cursor:pointer;min-height:36px;color:var(--text);border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .9rem;font-size:.85rem;line-height:1;transition:background .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s;display:inline-flex}.chip svg{flex-shrink:0;display:block}.chip:hover{border-color:color-mix(in srgb, var(--primary) 28%, var(--surface-light));background:color-mix(in srgb, var(--primary) 6%, var(--surface));transform:translateY(-1px)}.chip.active{background:color-mix(in srgb, var(--primary) 14%, transparent);border-color:color-mix(in srgb, var(--primary) 35%, transparent);color:var(--primary);font-weight:600}.chip.active:hover{background:color-mix(in srgb, var(--primary) 18%, transparent)}.money-source-title{font-weight:700}.money-source-lead{color:var(--muted);margin:.25rem 0 .65rem;font-size:.8rem;line-height:1.35}.money-source-chips{margin-top:.35rem}.money-source-chip{background:var(--surface-light);color:var(--text);border:none;font-weight:600}.money-source-chip:hover{background:color-mix(in srgb, var(--primary) 14%, var(--surface-light));border:none;transform:none}.money-source-chip.active{background:color-mix(in srgb, var(--primary) 28%, var(--surface));color:var(--primary);box-shadow:none;border:none}.money-source-chip.active:hover{background:color-mix(in srgb, var(--primary) 34%, var(--surface));color:var(--primary)}.money-source-options{flex-direction:column;gap:.5rem;margin-top:.35rem;display:flex}.money-source-option{text-align:left;border:1px solid var(--surface-light);background:var(--surface);width:100%;color:var(--text);cursor:pointer;border-radius:14px;align-items:flex-start;gap:.65rem;padding:.85rem .9rem;transition:border-color .15s,background .15s;display:flex}.money-source-option:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--surface-light))}.money-source-option.selected{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface));border-width:1.5px}.money-source-radio{border:2px solid var(--muted);box-sizing:border-box;border-radius:999px;flex-shrink:0;width:1.15rem;height:1.15rem;margin-top:.1rem}.money-source-option.selected .money-source-radio{border-color:var(--primary);background:radial-gradient(circle, var(--primary) 45%, transparent 48%)}.money-source-copy{flex-direction:column;gap:.15rem;min-width:0;display:flex}.money-source-copy strong{font-size:.95rem;font-weight:700}.money-source-copy span{color:var(--muted);font-size:.8rem;line-height:1.35}.invite-friend-row{margin-top:.15rem}.invite-friend-chip.active{background:var(--accent);border-color:var(--accent);color:var(--on-primary);box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 35%, transparent);font-weight:700}.invite-friend-chip.active:hover{background:color-mix(in srgb, var(--accent) 92%, var(--text));border-color:color-mix(in srgb, var(--accent) 92%, var(--text));color:var(--on-primary);transform:none}.invite-friend-selected{color:var(--accent);margin:.55rem 0 0;font-size:.82rem;font-weight:600}.chip-category{--chip-color:var(--primary);background:color-mix(in srgb, var(--chip-color) 16%, transparent);border-color:color-mix(in srgb, var(--chip-color) 75%, transparent);color:var(--text);font-weight:600}.chip-category:hover{background:color-mix(in srgb, var(--chip-color) 24%, transparent);border-color:var(--chip-color);transform:translateY(-1px)}.chip-category.selected{background:color-mix(in srgb, var(--chip-color) 32%, transparent);border-color:var(--chip-color);color:var(--text);border-width:2px;font-weight:700}.chip-category.selected:hover{background:color-mix(in srgb, var(--chip-color) 36%, transparent)}.chip-category svg{color:var(--chip-color)}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:transform .15s,border-color .15s;display:inline-flex;box-shadow:inset 0 0 0 1px #0000001f}.color-swatch:hover{transform:scale(1.08)}.color-swatch.selected{border-color:var(--text)}.chip-new span{line-height:1}.fab-stack{right:max(calc(2.85rem + 1cm), env(safe-area-inset-right,0px));bottom:calc(108px + var(--safe-bottom));z-index:26;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.75rem;margin:-10px 0;padding:10px 0;display:flex;position:fixed;overflow:visible}.fab-stack>*{pointer-events:auto}.fab{background:var(--primary);width:56px;height:56px;color:var(--on-primary);box-shadow:var(--shadow);cursor:pointer;z-index:25;border:none;border-radius:18px;justify-content:center;align-items:center;transition:transform .28s cubic-bezier(.34,1.4,.64,1),box-shadow .15s,filter .15s,background .15s;display:inline-flex;position:relative;bottom:auto;right:auto}.fab:hover{filter:brightness(1.08);box-shadow:0 10px 24px color-mix(in srgb, var(--primary) 35%, transparent)}.fab.open{background:var(--accent);transform:rotate(45deg)}.speed-dial{z-index:26;opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.55rem;max-height:0;transition:max-height .35s,opacity .25s,visibility .25s,transform .35s cubic-bezier(.34,1.2,.64,1);display:flex;position:relative;bottom:auto;right:auto;overflow:visible;transform:translateY(12px)}.fab-stack.open .speed-dial{opacity:1;visibility:visible;pointer-events:auto;max-height:420px;transform:translateY(0)}.speed-item{opacity:0;align-items:center;gap:.6rem;transition:opacity .22s,transform .28s cubic-bezier(.34,1.4,.64,1);display:flex;transform:translateY(10px)scale(.85)}.fab-stack.open .speed-item{opacity:1;transition-delay:calc(var(--i,0) * 45ms);transform:translateY(0)scale(1)}.speed-item span{background:var(--surface);box-shadow:var(--shadow);color:var(--text);border-radius:16px;padding:.35rem .75rem;font-size:.82rem;font-weight:600}.speed-item button{color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .15s,filter .15s;display:inline-flex}.speed-item button:hover{filter:brightness(1.08);transform:scale(1.08)}.overlay-scrim{background:color-mix(in srgb, var(--bg) 55%, transparent);z-index:24;animation:.2s fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.flyout-root{z-index:50;justify-content:flex-end;display:flex;position:fixed;inset:0}.flyout-scrim{cursor:pointer;background:#0f1a1559;border:none;animation:.2s fadeIn;position:absolute;inset:0}.flyout-panel{background:var(--bg);flex-direction:column;width:min(420px,100%);height:100%;animation:.32s cubic-bezier(.22,1,.36,1) flyoutIn;display:flex;position:relative;box-shadow:-12px 0 40px #0f1a1526}@keyframes flyoutIn{0%{transform:translate(100%)}to{transform:translate(0)}}.flyout-header{border-bottom:1px solid var(--surface-light);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1rem .75rem;display:flex}.flyout-header h2{margin:0;font-size:1.15rem;font-weight:700}.flyout-body{flex:1;padding:1rem 1.15rem 1.5rem;overflow:auto}.flyout-footer{padding:.85rem 1.15rem calc(.85rem + var(--safe-bottom));border-top:1px solid var(--surface-light);background:var(--surface)}.flyout-section-title{margin:.5rem 0 .75rem;font-size:.95rem}.flyout-empty{color:var(--muted);margin:.5rem 0}.flyout-tile{flex-wrap:wrap;gap:.65rem}.flyout-tile-actions{justify-content:flex-end;gap:.45rem;width:100%;display:flex}@media (width>=900px){.flyout-panel{border-radius:20px;height:calc(100% - 2rem);margin:1rem;overflow:hidden}}.dialog-root{z-index:60;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.dialog-scrim{cursor:pointer;background:#0f1a1573;border:none;animation:.18s fadeIn;position:absolute;inset:0}.dialog-card{background:var(--surface);border:1px solid color-mix(in srgb, var(--surface-light) 80%, transparent);border-radius:22px;width:min(400px,100%);padding:1.5rem 1.4rem 1.25rem;animation:.28s cubic-bezier(.22,1,.36,1) dialogIn;position:relative;box-shadow:0 24px 60px #0f1a153d}@keyframes dialogIn{0%{opacity:0;transform:translateY(12px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.dialog-card h2{letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.2rem;font-weight:750}.dialog-card p{color:var(--muted);margin:0 0 1.35rem;font-size:.95rem;line-height:1.45}.dialog-actions{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.dialog-actions .btn{border-radius:14px;width:100%;min-height:46px;font-size:.95rem}.dialog-actions:has(>.btn:only-child){grid-template-columns:1fr}.toast-stack{left:50%;bottom:max(1.25rem, env(safe-area-inset-bottom));z-index:70;pointer-events:none;flex-direction:column;gap:.5rem;width:min(420px,100% - 1.5rem);display:flex;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;border:1px solid #0000;border-radius:14px;padding:.85rem 1rem;font-size:.92rem;font-weight:600;line-height:1.35;animation:.28s cubic-bezier(.22,1,.36,1) toastIn;box-shadow:0 12px 32px #0f1a1538}.toast-info{background:var(--surface);color:var(--text);border-color:color-mix(in srgb, var(--primary) 22%, transparent)}.toast-success{background:color-mix(in srgb, var(--success) 16%, var(--surface));color:var(--text);border-color:color-mix(in srgb, var(--success) 35%, transparent)}.toast-error{background:color-mix(in srgb, var(--danger,#c0392b) 14%, var(--surface));color:var(--text);border-color:color-mix(in srgb, var(--danger,#c0392b) 35%, transparent)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.empty{text-align:center;color:var(--muted);padding:3rem 2rem}.empty h3{color:var(--text);margin:.75rem 0 .35rem}.progress-bar{background:var(--surface-light);border-radius:999px;height:8px;overflow:hidden}.progress-bar>i{border-radius:inherit;height:100%;display:block}.section-title{letter-spacing:.04em;color:var(--muted);margin:1rem 1rem .5rem;font-size:.75rem;font-weight:700}.auth-screen{background:var(--bg);flex-direction:column;justify-content:center;align-items:stretch;width:100%;min-height:100dvh;padding:0;display:flex;position:relative}.auth-lang-wrap{z-index:2;position:absolute;top:1rem;right:1rem}.auth-lang{background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--surface-light);box-shadow:var(--shadow);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.auth-lang button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.38rem .62rem;font-size:.78rem;font-weight:700;line-height:1}.auth-lang button.active{background:var(--primary);color:#fff}.auth-lang button:not(.active):hover{color:var(--primary)}.auth-wrap,.welcome-wrap{flex-direction:column;justify-content:center;width:100%;max-width:440px;min-height:100dvh;margin:0 auto;padding:1.5rem 1.75rem 2rem;display:flex}@media (width>=900px){body:has(.auth-screen){background:radial-gradient(ellipse 80% 60% at 10% 0%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 55%), radial-gradient(ellipse 70% 50% at 90% 100%, color-mix(in srgb, var(--primary) 10%, transparent), transparent 50%), var(--bg)}.auth-screen{width:calc(100% - 3rem);max-width:1100px;min-height:calc(100dvh - 6rem);box-shadow:var(--shadow);background:var(--surface);border-radius:28px;grid-template-columns:minmax(280px,1fr) minmax(420px,640px);align-items:stretch;margin:3rem auto;padding:0;display:grid;overflow:hidden}.auth-screen:before{content:"";background:linear-gradient(160deg, var(--primary), color-mix(in srgb, var(--accent) 70%, var(--primary))), url(/logo.png);background-position:50%,50%;background-repeat:no-repeat;background-size:cover,120px;min-height:100%;display:block}.auth-wrap,.welcome-wrap{background:var(--surface);max-width:none;min-height:100%;box-shadow:none;border-radius:0;justify-content:center;margin:0;padding:2.75rem 2.75rem 3rem}.auth-wrap h1,.welcome-wrap h1{font-size:1.9rem}.auth-wrap .field input,.auth-wrap .field select,.welcome-wrap .field input,.welcome-wrap .field select{min-height:52px;font-size:1.05rem}}.auth-logo{border-radius:20px;width:96px;height:96px;margin:0 auto 1.1rem;display:block}.auth-wrap h1,.welcome-wrap h1{text-align:center;margin:0;font-size:1.75rem;font-weight:800}.auth-wrap .lede,.welcome-wrap .lede{text-align:center;color:var(--muted);margin:.4rem 0 1.75rem}.auth-host-hint{border:1px solid color-mix(in srgb, var(--warning) 45%, transparent);background:color-mix(in srgb, var(--warning) 10%, var(--surface));color:var(--text);border-radius:14px;margin:0 0 1.1rem;padding:.85rem 1rem;font-size:.88rem;line-height:1.45}.auth-host-hint p{margin:0}.auth-host-origin{word-break:break-all;color:var(--muted)!important;margin-top:.45rem!important;font-size:.8rem!important}.auth-divider{color:var(--muted);align-items:center;gap:.75rem;margin:1rem 0;font-size:.82rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--surface-light);flex:1;height:1px}.btn-google{background:var(--surface);width:100%;color:var(--text);border:1px solid color-mix(in srgb, var(--surface-light) 85%, transparent);box-shadow:0 1px 0 color-mix(in srgb, var(--surface-light) 70%, transparent);justify-content:center;align-items:center;gap:.55rem;display:inline-flex}.btn-google:hover:not(:disabled){background:color-mix(in srgb, var(--surface-light) 35%, var(--surface));box-shadow:var(--shadow)}.check-row{color:var(--muted);align-items:flex-start;gap:.5rem;margin:.5rem 0 1rem;font-size:.85rem;display:flex}.check-row a{color:var(--primary)}.welcome-slide{text-align:center;padding:1rem 0 2rem}.welcome-icon{background:var(--surface-light);border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;margin-bottom:2rem;display:inline-flex}.welcome-slide h2{white-space:pre-line;margin:0 0 .85rem;font-size:1.55rem;line-height:1.25}.dots{justify-content:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.dots i{background:var(--surface-light);border-radius:5px;width:10px;height:10px;transition:width .25s;display:block}.dots i.active{background:var(--primary);width:28px}.pro-welcome-screen{background:var(--bg);flex-direction:column;width:100%;min-height:100dvh;display:flex;position:relative;overflow:hidden}.pro-welcome-confetti{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.pro-welcome-confetti span{--hue:calc(var(--i) * 37deg);background:hsl(var(--hue) 85% 55%);opacity:0;width:8px;height:8px;top:-12px;left:calc((var(--i) * 5.5%) + 2%);animation:pro-confetti-fall 3.2s ease-out calc(var(--i) * 80ms) forwards;border-radius:2px;position:absolute}.pro-welcome-confetti span:nth-child(3n){border-radius:999px;width:6px;height:10px}.pro-welcome-confetti span:nth-child(5n){background:var(--warning)}@keyframes pro-confetti-fall{0%{opacity:0;transform:translateY(0)rotate(0)}8%{opacity:1}to{opacity:0;transform:translateY(110vh) rotate(calc(var(--i) * 45deg))}}.pro-welcome-hero{text-align:center;color:#fff;background:radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--warning) 35%, transparent), transparent 45%), linear-gradient(155deg, var(--primary), color-mix(in srgb, var(--accent) 75%, var(--primary)));flex-direction:column;justify-content:center;align-items:center;padding:2.5rem 1.75rem;display:flex;position:relative;overflow:hidden}.pro-welcome-hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 80% 90%,#ffffff14,#0000 40%),radial-gradient(circle at 10% 80%,#ffffff0f,#0000 35%);position:absolute;inset:0}.pro-welcome-badge{z-index:1;color:#1a1200;background:linear-gradient(145deg, #fde68a, var(--warning) 45%, #f59e0b 100%);width:112px;height:112px;box-shadow:0 0 0 6px color-mix(in srgb, var(--warning) 22%, transparent), 0 18px 40px color-mix(in srgb, var(--warning) 45%, transparent);border-radius:50%;justify-content:center;align-items:center;animation:.65s cubic-bezier(.34,1.56,.64,1) both pro-badge-pop;display:flex;position:relative}@keyframes pro-badge-pop{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}.pro-welcome-hero-tag{z-index:1;color:#ffffffeb;max-width:260px;margin:1.35rem 0 .85rem;font-size:1.05rem;font-weight:600;line-height:1.4;position:relative}.pro-welcome-plan-pill{z-index:1;letter-spacing:.04em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff24;border:1px solid #ffffff38;border-radius:999px;padding:.35rem .85rem;font-size:.78rem;font-weight:800;display:inline-flex;position:relative}.pro-welcome-panel{flex-direction:column;flex:1;width:100%;max-width:480px;margin:0 auto;padding:1.75rem 1.25rem 2rem;display:flex}.pro-welcome-head h1{text-align:center;margin:0;font-size:1.65rem;font-weight:800;line-height:1.25}.pro-welcome-head .lede{text-align:center;color:var(--muted);margin:.55rem 0 0;font-size:.95rem;line-height:1.45}.pro-welcome-features{flex:1;min-height:0;margin-top:1.35rem;overflow:auto}.pro-welcome-features-title{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin:0 0 .75rem;font-size:.82rem;font-weight:700}.pro-welcome-features ul{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.pro-welcome-feature{border:1px solid color-mix(in srgb, var(--surface-light) 85%, transparent);background:var(--surface);box-shadow:0 1px 0 color-mix(in srgb, var(--surface-light) 60%, transparent);border-radius:16px;align-items:flex-start;gap:.85rem;padding:.85rem .95rem;display:flex}.pro-welcome-feature strong{font-size:.92rem;font-weight:700;line-height:1.3;display:block}.pro-welcome-feature small{color:var(--muted);margin-top:.15rem;font-size:.82rem;line-height:1.35;display:block}.pro-welcome-feature-icon{width:40px;height:40px;color:var(--warning);background:color-mix(in srgb, var(--warning) 14%, transparent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pro-welcome-actions{flex-direction:column;gap:.35rem;margin-top:1.25rem;display:flex}.btn-pro-trial{background:linear-gradient(135deg, #fde68a, var(--warning) 50%, #f59e0b);color:#1a1200;width:100%;box-shadow:0 10px 24px color-mix(in srgb, var(--warning) 35%, transparent);border:none;justify-content:center;align-items:center;gap:.5rem;font-weight:800;display:inline-flex}.btn-pro-trial:hover:not(:disabled){box-shadow:0 14px 28px color-mix(in srgb, var(--warning) 45%, transparent)}.btn-pro-trial:disabled{opacity:.72;cursor:not-allowed;filter:none;transform:none}.pro-welcome-skip{width:100%;color:var(--muted);font-weight:600}@media (width>=900px){body:has(.pro-welcome-screen){background:radial-gradient(ellipse 80% 60% at 10% 0%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 55%), radial-gradient(ellipse 70% 50% at 90% 100%, color-mix(in srgb, var(--primary) 10%, transparent), transparent 50%), var(--bg)}.pro-welcome-screen{width:calc(100% - 3rem);max-width:1080px;min-height:calc(100dvh - 5rem);box-shadow:var(--shadow);background:var(--surface);border-radius:28px;grid-template-columns:minmax(300px,1fr) minmax(420px,580px);margin:2.5rem auto;display:grid;overflow:hidden}.pro-welcome-hero{min-height:100%;padding:3rem 2rem}.pro-welcome-badge{width:128px;height:128px}.pro-welcome-hero-tag{max-width:280px;font-size:1.15rem}.pro-welcome-panel{justify-content:center;max-width:none;margin:0;padding:2.5rem 2.25rem 2.25rem}.pro-welcome-head h1{font-size:1.85rem}}.tabs{border-bottom:1px solid var(--surface-light);gap:.25rem;padding:0 .75rem .5rem;display:flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2.5px solid #0000;padding:.65rem .85rem;font-weight:500}.tabs button.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}.month-nav{align-items:center;gap:.25rem;font-weight:700;display:inline-flex}.export-months-hint{color:var(--muted);margin:.15rem 0 .65rem;font-size:.85rem;line-height:1.4}.export-months-actions{flex-wrap:wrap;gap:.45rem;margin-bottom:.65rem;display:flex}.export-months-list{border:1px solid var(--surface-light);background:var(--bg,transparent);border-radius:12px;grid-template-columns:1fr 1fr;gap:.15rem .5rem;max-height:220px;padding:.35rem .15rem;display:grid;overflow-y:auto}.export-month-check{margin:0;padding:.4rem .35rem;font-size:.88rem}.export-months-summary{color:var(--primary,#1b4332);margin:.55rem 0 0;font-size:.85rem;font-weight:600}.tx-actions{background:var(--surface);border-top:1px solid var(--surface-light);z-index:5;flex-shrink:0;gap:.65rem;padding:.65rem 1rem;display:flex;position:relative}@media (width>=900px){.tx-actions{bottom:auto}}.tx-actions .btn-expense{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:14px;flex:1;min-height:48px;font-weight:700}.tx-actions .btn-income{background:var(--success);color:#fff;cursor:pointer;border:none;border-radius:14px;flex:1;min-height:48px;font-weight:700}.tx-actions .btn-debt{background:color-mix(in srgb, var(--primary) 12%, transparent);width:48px;height:48px;color:var(--primary);cursor:pointer;border:none;border-radius:14px}.spinner{border:3px solid var(--surface-light);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center{justify-content:center;align-items:center;min-height:40vh;display:flex}.landing-link{text-align:center;margin-top:1rem;font-size:.85rem}.paywall{padding:1.5rem 1.25rem 2rem}.paywall .tier{border:1px solid var(--surface-light);cursor:pointer;background:var(--surface);border-radius:16px;margin-bottom:.75rem;padding:1rem}.paywall .tier.selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 20%, transparent)}.paywall ul{color:var(--muted);margin:.5rem 0 0;padding-left:1.1rem;font-size:.9rem}.store-callout{border:1px solid color-mix(in srgb, var(--warning) 40%, transparent);background:color-mix(in srgb, var(--warning) 8%, var(--surface));color:var(--text);border-radius:16px;align-items:flex-start;gap:.85rem;margin-bottom:1rem;padding:1rem 1.05rem;display:flex}.store-callout svg{color:var(--warning);flex-shrink:0;margin-top:.1rem}.store-callout strong{margin-bottom:.25rem;font-size:.95rem;font-weight:800;line-height:1.35;display:block}.store-callout p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.45}.store-callout--page{margin-bottom:1.25rem}.mobile-store-links{flex-direction:column;gap:.55rem;display:flex}.mobile-store-links--row{flex-flow:wrap}.mobile-store-links--row .mobile-store-btn{flex:160px}.mobile-store-btn{justify-content:center;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.mobile-store-note{text-align:center;color:var(--muted);margin:.15rem 0 0;font-size:.78rem}.paywall-store-links{margin:.5rem 0 1rem}.pro-welcome-actions .mobile-store-links{margin-bottom:.15rem}.plan-pricing-block{border-top:1px solid var(--surface-light);margin-top:.85rem;padding-top:.85rem}.plan-pricing-monthly{color:var(--muted);margin:0 0 .55rem;font-size:.82rem}.plan-pricing-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.plan-pricing-item{background:color-mix(in srgb, var(--bg) 65%, var(--surface));border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .65rem;display:flex}.plan-pricing-item-main{flex-direction:column;gap:.2rem;min-width:0;display:flex}.plan-pricing-period{color:var(--text);font-size:.88rem;font-weight:600}.plan-pricing-discount{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:999px;align-self:flex-start;padding:.12rem .45rem;font-size:.72rem;font-weight:700}.plan-pricing-item-prices{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.1rem;display:flex}.plan-pricing-full{color:var(--muted);font-size:.78rem;text-decoration:line-through}.plan-pricing-current{color:var(--text);font-size:.95rem;font-weight:700}.about-pricing-section{margin-bottom:1rem}.about-pricing-lede{color:var(--muted);margin:0 0 .85rem .15rem;font-size:.82rem;line-height:1.45}.about-pricing-grid{gap:.75rem;display:grid}.about-pricing-card{background:var(--surface);border:1px solid var(--surface-light);box-shadow:var(--shadow);border-radius:16px;padding:.95rem 1rem 1rem}.about-pricing-card h3{margin:0 0 .15rem;font-size:1rem}.about-pricing-card .plan-pricing-block{border-top:none;margin-top:.35rem;padding-top:0}.plan-pricing-block--light .plan-pricing-item{background:color-mix(in srgb, var(--bg) 65%, var(--surface))}.plan-pricing-block--light .plan-pricing-monthly,.plan-pricing-block--light .plan-pricing-period,.plan-pricing-block--light .plan-pricing-current{color:#0f1a15}.plan-pricing-block--light .plan-pricing-full{color:#6b7280}.plan-pricing-block--light .plan-pricing-discount{color:#1b4332;background:#2d6a4f1f}.plan-pricing-block--dark .plan-pricing-monthly,.plan-pricing-block--dark .plan-pricing-period,.plan-pricing-block--dark .plan-pricing-current{color:#fff}.plan-pricing-block--dark .plan-pricing-full{color:#ffffff9e}.plan-pricing-block--dark .plan-pricing-item{background:#ffffff14}.plan-pricing-block--dark .plan-pricing-discount{color:#d8f3dc;background:#ffffff24}.chart-card{background:var(--surface);box-shadow:var(--shadow);border-radius:16px;margin:0 1rem 1rem;padding:1rem}.chart-card h3{margin:0 0 .75rem;font-size:.95rem}.chart-mode-tabs{background:var(--bg);border-radius:10px;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:.85rem;padding:3px;display:grid}.chart-mode-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.5rem .75rem;font-size:.82rem;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.chart-mode-tabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:700}.chart-card .recharts-wrapper,.chart-card .recharts-surface,.chart-card .recharts-sector,.chart-card .recharts-pie-sector,.chart-card .recharts-layer{outline:none!important}.chart-pie-interactive{touch-action:manipulation}.chart-donut{position:relative}.chart-donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chart-donut-center span{letter-spacing:.04em;color:var(--muted);font-size:.72rem;font-weight:600}.chart-donut-center strong{letter-spacing:-.03em;font-size:1.05rem}.chart-hint{color:var(--muted);text-align:center;width:100%;margin:0;font-size:.8rem}.chart-cat-banner{background:color-mix(in srgb, var(--cat-color) 12%, var(--surface));min-height:48px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--cat-color) 42%, transparent);border-radius:12px;align-items:center;gap:.65rem;margin-bottom:.85rem;padding:.7rem .85rem;display:flex}.chart-cat-banner.empty{background:color-mix(in srgb, var(--muted) 6%, var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 14%, transparent)}.chart-cat-banner strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.88rem;overflow:hidden}.chart-cat-banner .amount{font-size:.88rem;font-weight:700}.chart-pct-pill{background:var(--cat-color);color:#fff;border-radius:8px;padding:.2rem .5rem;font-size:.72rem;font-weight:700}.chart-legend{flex-direction:column;gap:.35rem;display:flex}.chart-legend-row{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:.7rem;padding:.65rem .75rem;transition:background .18s,box-shadow .18s;display:flex;box-shadow:inset 0 0 0 1.5px #0000}.chart-legend-row:hover,.chart-legend-row.active{background:color-mix(in srgb, var(--cat-color) 14%, var(--surface));box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--cat-color) 48%, transparent)}.chart-legend-row .meta{flex:1;min-width:0}.chart-legend-row .meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;display:block;overflow:hidden}.chart-legend-row .amount{white-space:nowrap;font-size:.88rem;font-weight:700}.chart-legend-pct{text-align:right;width:3.1rem;color:var(--muted);font-size:.78rem;font-weight:600}.chart-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.chart-tooltip{background:var(--surface);box-shadow:var(--shadow);border:1px solid color-mix(in srgb, var(--muted) 16%, transparent);border-radius:12px;min-width:140px;padding:.55rem .75rem}.chart-tooltip-label{color:var(--muted);margin-bottom:.35rem;font-size:.75rem;font-weight:700}.chart-tooltip-row{align-items:center;gap:.45rem;font-size:.82rem;display:flex}.chart-tooltip-row strong{margin-left:auto;padding-left:.75rem}.goal-sheet .goal-action-header{align-items:center;gap:12px;margin-bottom:1rem;display:flex}.goal-sheet .goal-action-icon{background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:1.75rem;display:grid}.goal-sheet .goal-action-kicker{color:var(--muted);font-size:.75rem}.goal-sheet .field-label{letter-spacing:.06em;color:var(--muted);margin:0 0 8px;font-size:.72rem;font-weight:700;display:block}.goal-sheet .origen-card{appearance:none;text-align:left;border:1px solid var(--surface-light);background:var(--surface-light);cursor:pointer;width:100%;color:var(--text);font:inherit;box-shadow:none;border-radius:16px;flex-direction:column;align-items:flex-start;gap:4px;margin:0 0 8px;padding:12px 14px;line-height:1.35;display:flex}.goal-sheet .origen-card.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface-light));border-width:2px;padding:11px 13px}.goal-sheet .origen-card-title{color:var(--text);font-size:.95rem;font-weight:600;display:block}.goal-sheet .origen-card-sub{color:var(--muted);font-size:.8rem;font-weight:400;display:block}.goal-sheet .goal-amount-display{justify-content:center;align-items:baseline;gap:8px;margin:1rem 0 .5rem;display:flex}.goal-sheet .goal-amount-sign{color:var(--accent);font-size:2rem;font-weight:300;line-height:1}.goal-sheet .goal-amount-input{appearance:none;box-shadow:none;text-align:center;letter-spacing:-.03em;color:var(--accent);background:0 0;border:none;outline:none;width:min(52vw,200px);min-height:0;margin:0;padding:0;font-size:2.4rem;font-weight:700;line-height:1.1}.goal-sheet .goal-amount-input::placeholder{color:color-mix(in srgb, var(--accent) 45%, transparent)}.goal-sheet .goal-amount-ccy{color:var(--muted);align-self:flex-end;padding-bottom:.35rem;font-size:.9rem;font-weight:600}.goal-sheet .goal-preview{background:var(--surface-light);border:1px solid color-mix(in srgb, var(--surface-light) 80%, var(--muted));border-radius:14px;margin:.75rem 0 1rem;padding:12px 14px}.goal-sheet .goal-preview-cols{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.goal-sheet .goal-preview-cols>div{flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex}.goal-sheet .goal-preview-label{color:var(--muted);font-size:.7rem;font-weight:500;line-height:1.2;display:block}.goal-sheet .goal-preview-cols strong{color:var(--text);word-break:break-word;font-size:.88rem;font-weight:700;line-height:1.25;display:block}.goal-sheet .goal-preview-new{color:var(--accent)!important}.goal-sheet .hint-text{color:var(--muted);margin:.4rem 0 0;font-size:.85rem;display:block}.goal-sheet .warn-text{color:var(--warning);margin:.4rem 0;font-size:.85rem;display:block}.goal-sheet .chip.chip-accent{border-color:color-mix(in srgb, var(--accent) 55%, transparent);color:var(--accent)}.goal-sheet .field.date-field .hint-text{margin-top:.35rem}.shell-content:has(>.assistant-page){flex-direction:column;padding-bottom:0;display:flex;overflow:hidden}.assistant-page{background:var(--bg);flex-direction:column;flex:1;height:100%;min-height:0;padding-bottom:0;display:flex}.assistant-locked{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:2rem 1.75rem;display:flex}.assistant-locked-icon{background:color-mix(in srgb, var(--primary) 12%, transparent);width:88px;height:88px;color:var(--primary);border-radius:50%;place-items:center;margin-bottom:1rem;display:grid}.assistant-locked h3{color:var(--text);margin:0;font-size:1.05rem;font-weight:600}.assistant-locked p{max-width:28rem;color:var(--muted);margin:0 0 1.25rem;font-size:.88rem;line-height:1.45}.assistant-locked .btn{width:auto;min-width:160px}.assistant-title-badge{width:36px;height:36px;color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.assistant-context{scrollbar-width:none;flex-shrink:0;gap:.5rem;padding:.35rem 1rem .65rem;display:flex;overflow-x:auto}.assistant-context::-webkit-scrollbar{display:none}.assistant-chip{border:1px solid color-mix(in srgb, var(--surface-light) 90%, var(--muted));color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;padding:.4rem .9rem;font-size:.82rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.assistant-chip.selected{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 16%, transparent);color:var(--primary);font-weight:700}.assistant-chip:disabled{opacity:.55;cursor:not-allowed}.assistant-messages{flex-direction:column;flex:1;gap:.55rem;min-height:0;padding:.5rem 1rem 1rem;display:flex;overflow:auto}.assistant-bubble{white-space:pre-wrap;word-break:break-word;border:1px solid #0000;border-radius:16px;max-width:min(82%,420px);padding:.7rem .95rem;font-size:.92rem;line-height:1.4}.assistant-bubble.bot{background:var(--surface);color:var(--text);border-color:color-mix(in srgb, var(--surface-light) 85%, var(--muted));align-self:flex-start}.assistant-bubble.user{background:color-mix(in srgb, var(--primary) 16%, transparent);color:var(--text);border-color:color-mix(in srgb, var(--primary) 40%, transparent);align-self:flex-end}.assistant-bubble.typing{color:var(--muted);align-items:center;gap:.55rem;font-size:.85rem;font-weight:500;display:inline-flex}.assistant-typing-dots{align-items:center;gap:4px;display:inline-flex}.assistant-typing-dots i{background:var(--primary);opacity:.35;border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite assistant-dot}.assistant-typing-dots i:nth-child(2){animation-delay:.15s}.assistant-typing-dots i:nth-child(3){animation-delay:.3s}@keyframes assistant-dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.assistant-composer{padding:.45rem .75rem calc(.75rem + 88px + var(--safe-bottom,0px));background:var(--bg);flex-shrink:0;align-items:center;gap:.4rem;display:flex}.assistant-file-input{display:none}.assistant-icon-btn{width:42px;height:42px;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.assistant-icon-btn:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 12%, transparent)}.assistant-icon-btn:disabled{opacity:.45;cursor:not-allowed}.assistant-icon-btn.recording{color:var(--error);background:color-mix(in srgb, var(--error) 14%, transparent)}.assistant-recording-hint{color:var(--error);text-align:center;margin:0;padding:0 1rem .35rem;font-size:.78rem;font-weight:600}.assistant-input{background:var(--surface);min-width:0;color:var(--text);font:inherit;box-shadow:none;border:none;border-radius:24px;outline:none;flex:1;padding:.7rem 1.1rem;font-size:.95rem}.assistant-input::placeholder{color:var(--muted)}.assistant-input:disabled{opacity:.65}.assistant-send-btn{background:var(--primary);width:44px;height:44px;color:var(--on-primary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:filter .15s,transform .15s,opacity .15s;display:inline-flex}.assistant-send-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.assistant-send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.assistant-msg-group{flex-direction:column;align-items:flex-start;gap:.4rem;width:100%;display:flex}.assistant-msg-group.user{align-items:flex-end}.assistant-action-card{background:var(--surface);border:1px solid color-mix(in srgb, var(--primary) 32%, transparent);border-radius:14px;flex-direction:column;align-self:flex-start;gap:.25rem;width:100%;max-width:min(82%,420px);padding:.75rem .9rem;display:flex}.assistant-action-title{color:var(--text);margin:0;font-size:.88rem;font-weight:700}.assistant-action-meta{color:var(--muted);margin:0;font-size:.8rem}.assistant-action-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.assistant-action-actions .btn{flex:auto;gap:.35rem;width:auto;min-height:34px}.pending-hint{color:var(--muted);margin:0 0 .85rem;font-size:.85rem}.pending-grid{flex-direction:column;gap:.75rem;display:flex}.pending-card{background:var(--surface);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:.75rem;min-width:0;padding:1rem 1.1rem;display:flex}.pending-card-top{align-items:flex-start;gap:.75rem;min-width:0;display:flex}.pending-card-icon{background:0 0;flex-shrink:0;margin-top:.1rem}.pending-card-meta{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.pending-card-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;line-height:1.25;display:block;overflow:hidden}.pending-card-sub{color:var(--muted);font-size:.8rem;line-height:1.3;display:block}.pending-card-amount{white-space:nowrap;flex-shrink:0;font-size:.95rem;font-weight:700}.pending-card-actions{align-items:center;gap:.5rem;display:flex}.pending-confirm-btn{flex:1;gap:.35rem;min-width:0}.pending-card-actions .icon-btn{flex-shrink:0}.collab-slots-line{color:var(--text);margin:0;font-size:.95rem;font-weight:700}.collab-slots-hint{color:var(--muted);margin:.35rem 0 1rem;font-size:.85rem;line-height:1.4}.collab-buy-btn{gap:.5rem;margin:.75rem 0 .25rem}.collab-packs-intro{color:var(--muted);text-align:center;margin:0 0 .75rem;font-size:.9rem;line-height:1.4}.collab-packs-notice{border:1px solid color-mix(in srgb, var(--warning) 45%, transparent);background:color-mix(in srgb, var(--warning) 10%, var(--surface));color:var(--text);border-radius:12px;margin:0 0 1rem;padding:.75rem .9rem;font-size:.85rem;line-height:1.45}.collab-packs-list{flex-direction:column;gap:.55rem;margin-bottom:.85rem;display:flex}.collab-pack-tile{background:var(--surface-light);border-radius:14px;align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex}.collab-pack-badge{background:color-mix(in srgb, var(--primary) 15%, transparent);width:42px;height:42px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:inline-flex}.collab-pack-tile .meta{flex:1;min-width:0}.collab-pack-tile .meta strong{font-size:.95rem;display:block}.collab-pack-tile .meta span{color:var(--muted);font-size:.85rem;display:block}.collab-packs-footer{color:var(--muted);margin:0 0 1rem;font-size:.82rem;line-height:1.45}.collab-biz-list{flex-direction:column;gap:.75rem;display:flex}.collab-biz-card{background:var(--surface);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.collab-biz-header{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.85rem;margin:0;padding:.95rem 1rem;display:flex}.collab-biz-emoji{font-size:1.35rem;line-height:1}.collab-biz-header .meta{flex:1;min-width:0}.collab-biz-header .meta strong{display:block}.collab-biz-header .meta span{color:var(--muted);font-size:.8rem;display:block}.collab-biz-body{border-top:1px solid color-mix(in srgb, var(--muted) 22%, transparent);flex-direction:column;gap:.55rem;padding:.65rem 1rem 1rem;display:flex}.collab-biz-empty{color:var(--muted);margin:.25rem 0 .15rem;font-size:.85rem}.collab-member-row{align-items:center;gap:.65rem;padding:.35rem 0;display:flex}.collab-member-row .meta{flex:1;min-width:0}.collab-member-row .meta strong{font-size:.9rem;display:block}.collab-member-row .meta span{color:var(--muted);font-size:.78rem;display:block}.collab-member-actions{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.collab-member-actions .btn{width:auto;min-height:32px;padding:.3rem .55rem;font-size:.75rem}.collab-invite-btn{gap:.4rem;margin-top:.25rem}.collab-invite-slots{color:var(--muted);margin:0 0 1rem;font-size:.85rem;line-height:1.4}
