:root{--brand:#00713d;--brand-dark:#00502b;--brand-soft:#e3f1e9;--sage:#60a080;--sage-soft:#eef5f1;--primary:var(--brand);--primary-dark:var(--brand-dark);--primary-soft:var(--brand-soft);--bg:#f2f6f4;--surface:#fff;--surface-2:#f3f7f5;--border:#e1e8e4;--text:#16231c;--text-soft:#586860;--text-faint:#8a978f;--pos:#0e8a4f;--pos-soft:#e3f4ea;--neg:#d83a4a;--neg-soft:#fde9eb;--warn:#c98a00;--accent:#e9c45f;--accent-strong:#8a6304;--accent-soft:#fdf6e1;--accent-line:#f0e2b4;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-full:999px;--shadow-1:0 1px 2px rgba(20,23,31,.06),0 1px 3px rgba(20,23,31,.04);--shadow-2:0 4px 16px rgba(20,23,31,.1);--shadow-3:0 12px 40px rgba(20,23,31,.18);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}:root[data-theme=dark]{--brand:#2aa862;--brand-dark:#1f8a4e;--brand-soft:#10331f;--sage:#6fae8c;--sage-soft:#16281f;--primary:var(--brand);--primary-dark:var(--brand-dark);--primary-soft:var(--brand-soft);--bg:#0e1411;--surface:#161f1a;--surface-2:#1b2621;--border:#2a352e;--text:#e7efe9;--text-soft:#a2b2a8;--text-faint:#74857b;--pos:#34c07a;--pos-soft:#10301f;--neg:#ff6b78;--neg-soft:#3a1c20;--warn:#e0a83b;--accent:#e9c45f;--accent-strong:#f0d585;--accent-soft:#2c2612;--accent-line:#453a1c;--shadow-1:0 1px 2px rgba(0,0,0,.35),0 1px 3px rgba(0,0,0,.3);--shadow-2:0 4px 16px rgba(0,0,0,.45);--shadow-3:0 12px 40px rgba(0,0,0,.55);color-scheme:dark}*,:after,:before{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p{margin:0}button{font-family:inherit}.container{width:100%;margin:0 auto;padding:0 var(--sp-4)}@media (min-width:640px){.container{max-width:720px}}@media (min-width:1024px){.container{max-width:1120px}}@media (min-width:1440px){.container{max-width:1280px}}.container.narrow{max-width:540px}@media (min-width:640px){.container.narrow{max-width:640px}}.stack,.stack-2{display:flex;flex-direction:column}.stack-2{gap:var(--sp-2)}.stack-3{gap:var(--sp-3)}.stack-3,.stack-4{display:flex;flex-direction:column}.stack-4{gap:var(--sp-4)}.stack-5{display:flex;flex-direction:column;gap:var(--sp-5)}.between,.row{display:flex;align-items:center;gap:var(--sp-3)}.between{justify-content:space-between}.center{display:flex;align-items:center;justify-content:center}.grow{flex:1 1;min-width:0}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}.appbar-inner{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-4)}.logo-lockup{display:inline-flex;align-items:center;gap:var(--sp-2)}.wordmark{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;line-height:1;display:inline-flex;align-items:baseline}.wordmark .lm-my{color:var(--text-soft);font-weight:700}.wordmark .lm-cash{color:var(--brand)}.wordmark .lm-dollar{color:var(--sage)}.h1{font-size:1.6rem;font-weight:800;letter-spacing:-.02em}.h2{font-size:1.15rem;font-weight:700}.section-title{font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.muted,.section-title{color:var(--text-soft)}.faint{color:var(--text-faint);font-size:.85rem}.label{font-size:.9rem;font-weight:600;color:var(--text-soft)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1)}.card-pad{padding:var(--sp-4)}.balance-hero{background:linear-gradient(135deg,var(--brand-dark) 0,var(--brand) 55%,var(--sage) 100%);color:#fff;border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:0 8px 24px rgba(0,80,43,.25);position:relative;overflow:hidden}.balance-hero:after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:hsla(0,0%,100%,.07);pointer-events:none}.balance-hero>*{position:relative;z-index:1}.balance-hero .label{color:hsla(0,0%,100%,.8)}.balance-amount{font-size:2.5rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-top:var(--sp-1)}.display-currency{height:38px;padding:0 34px 0 14px;border-radius:var(--r-full);border:1px solid hsla(0,0%,100%,.55);background:hsla(0,0%,100%,.18) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 12px center;color:#fff;font-weight:800;font-size:.9rem;letter-spacing:.02em;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:background-color .15s}.display-currency:hover{background-color:hsla(0,0%,100%,.28)}.display-currency option{color:var(--text)}.hero-link{background:none;border:none;color:hsla(0,0%,100%,.9);font-size:.8rem;font-weight:700;cursor:pointer;padding:0;text-decoration:underline}.hero-link:disabled{opacity:.6;cursor:default}.money{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.money.pos{color:var(--pos)}.money.neg{color:var(--neg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:48px;padding:0 var(--sp-5);border:1px solid transparent;border-radius:var(--r-md);font-size:1rem;font-weight:700;cursor:pointer;transition:transform .04s ease,background .15s ease,box-shadow .15s ease,opacity .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-block{width:100%}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-1)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-pos{background:var(--pos);color:#fff}.btn-pos:hover:not(:disabled){filter:brightness(.95)}.btn-neg{background:var(--neg);color:#fff}.btn-neg:hover:not(:disabled){filter:brightness(.95)}.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-soft{background:var(--primary-soft);color:var(--primary-dark)}.btn-soft:hover:not(:disabled){filter:brightness(.97)}.btn-op{background:var(--brand-soft);color:var(--brand-dark);border-color:transparent;gap:8px;font-weight:600}.btn-op:hover:not(:disabled){filter:brightness(.96)}.btn-op svg{color:var(--brand);flex-shrink:0}.btn-lg{min-height:56px;font-size:1.05rem}.btn-lg,.quick{border-radius:var(--r-lg)}.quick{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);min-height:92px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-weight:700;font-size:1rem;color:var(--text);box-shadow:var(--shadow-1);transition:transform .05s ease,box-shadow .15s ease}.quick:active{transform:scale(.98)}.quick .ico{width:40px;height:40px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center}.quick.in .ico{background:var(--pos-soft);color:var(--pos)}.quick.out .ico{background:var(--neg-soft);color:var(--neg)}.list{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:none}.list-row-tap{cursor:pointer;margin:0 calc(-1 * var(--sp-2));padding-left:var(--sp-2);padding-right:var(--sp-2);border-radius:var(--r-sm);transition:background .12s}.avatar,.list-row-tap:hover{background:var(--surface-2)}.avatar{width:42px;height:42px;flex-shrink:0;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;color:var(--text-soft)}.avatar.in{background:var(--pos-soft);color:var(--pos)}.avatar.out{background:var(--neg-soft);color:var(--neg)}.row-title{font-weight:600;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{font-size:.85rem;color:var(--text-faint)}.rel-card{padding:var(--sp-2) var(--sp-3)}.rel-group{padding:var(--sp-2) 0}.rel-group+.rel-group{border-top:1px solid var(--border)}.rel-group-label{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);padding:0 var(--sp-2) var(--sp-1)}.rel-group-label .dot{width:6px;height:6px;border-radius:var(--r-full);background:currentColor}.rel-group.origin .rel-group-label{color:var(--brand)}.rel-group.downstream .rel-group-label{color:var(--warn)}.rel-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;text-align:left;border:none;background:transparent;cursor:pointer;padding:var(--sp-2);border-radius:var(--r-md);transition:background .12s}.rel-row:hover{background:var(--surface-2)}.rel-ic,.rel-row:active{background:var(--brand-soft)}.rel-ic{width:36px;height:36px;flex-shrink:0;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:var(--brand)}.rel-main{flex:1 1 auto;min-width:0}.rel-title{font-weight:600;font-size:.92rem;display:flex;align-items:center;gap:6px}.rel-sub,.rel-title span.name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rel-sub{font-size:.8rem}.rel-chev,.rel-sub{color:var(--text-faint)}.rel-chev{flex-shrink:0;opacity:.6;transition:transform .12s,opacity .12s}.rel-row:hover .rel-chev{opacity:1;transform:translateX(2px)}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.input,.select{width:100%;min-height:50px;padding:0 var(--sp-4);font-size:1rem;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-md);outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input:focus,.select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input.error,.select.error{border-color:var(--neg)}.input[type=date]{text-align:left;padding-right:40px}.input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;margin-left:4px}.input-error-msg{color:var(--neg);font-size:.85rem;font-weight:600}.amount-input{width:100%;border:none;outline:none;background:transparent;text-align:center;font-size:2.4rem;font-weight:800;letter-spacing:-.02em;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.amount-input::placeholder{color:var(--text-faint)}.amount-wrap{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-4);border-radius:var(--r-lg);background:var(--surface-2);border:1.5px solid var(--border)}.amount-wrap.in{border-color:var(--pos);background:var(--pos-soft)}.amount-wrap.out{border-color:var(--neg);background:var(--neg-soft)}.amount-symbol{font-size:1.6rem;font-weight:800;color:var(--text-soft)}.segmented{display:flex;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:4px;gap:4px}.segmented button{flex:1 1;min-height:44px;border:none;background:transparent;border-radius:10px;font-size:1rem;font-weight:700;color:var(--text-soft);cursor:pointer;transition:background .15s,color .15s}.segmented button.active-in{background:var(--pos);color:#fff}.segmented button.active-out{background:var(--neg);color:#fff}.type-option{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3);border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s}.type-option:hover{background:var(--surface-2)}.type-option.selected{border-color:var(--brand);background:var(--brand-soft)}.type-ico{width:44px;height:44px;flex-shrink:0;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--text-soft)}.type-option.selected .type-ico{background:#fff;color:var(--brand)}.chip{display:inline-flex;align-items:center;height:28px;padding:0 var(--sp-3);border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);font-size:.8rem;font-weight:600;color:var(--text-soft)}.ms-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.ms-chip{gap:6px;height:32px;padding:0 6px 0 12px;border-radius:var(--r-full);background:var(--brand-soft);color:var(--brand-dark);font-size:.85rem;font-weight:600}.ms-chip,.ms-chip-x{display:inline-flex;align-items:center}.ms-chip-x{justify-content:center;width:22px;height:22px;border:none;border-radius:var(--r-full);background:rgba(0,0,0,.08);color:inherit;font-size:1.1rem;line-height:1;cursor:pointer}.ms-chip-x:hover{background:rgba(0,0,0,.16)}.stmt-running{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.8rem;color:var(--text-faint)}.stmt-summary{display:grid;grid-template-columns:1fr;grid-gap:var(--sp-2) var(--sp-5);gap:var(--sp-2) var(--sp-5)}.stmt-summary-item{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);min-width:0}.stmt-summary-item .label{white-space:nowrap}.stmt-summary-item .money{white-space:nowrap;text-align:right;flex:0 1 auto;min-width:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (min-width:640px){.stmt-summary{grid-template-columns:1fr 1fr}}.badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--r-full);font-size:.78rem;font-weight:700}.badge-active{background:var(--pos-soft);color:var(--pos)}.badge-suspended{background:#fff3df;color:var(--warn)}.badge-archived{background:var(--surface-2);color:var(--text-soft)}.badge-disabled{background:var(--neg-soft);color:var(--neg)}.badge-accent{background:var(--accent-soft);color:var(--accent-strong)}.chip-accent,.chip-future{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-strong)}.chip-future{font-weight:600}button.chip-future{cursor:pointer;transition:filter .12s}button.chip-future:hover{filter:brightness(.97)}.chip-overdue{background:var(--neg-soft);border-color:#f6c9ce;color:var(--neg);font-weight:600}.chip-good{background:var(--pos-soft);color:var(--pos)}.chip-bad,.chip-good{border-color:transparent}.chip-bad{background:var(--neg-soft);color:var(--neg)}.pill-accent{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-full);border:1px solid var(--accent-line);font-size:.72rem;font-weight:800;line-height:1}.callout-accent,.pill-accent{background:var(--accent-soft);color:var(--accent-strong)}.callout-accent{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);border:1px solid var(--accent-line);border-left:3px solid var(--accent);font-size:.88rem}.callout-accent .ic{color:var(--accent);flex-shrink:0;margin-top:1px}.date-stepper{width:46px;min-width:46px;min-height:50px;font-size:1.6rem;line-height:1;padding:0;color:var(--brand)}.date-stepper:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark)}.date-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.date-chip{height:34px;padding:0 12px;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface);font-size:.82rem;font-weight:600;color:var(--text-soft);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.date-chip:hover{background:var(--surface-2)}.date-chip.active{background:var(--brand-soft);color:var(--brand);border-color:var(--brand)}.empty{flex-direction:column;text-align:center;gap:var(--sp-3);padding:var(--sp-6) var(--sp-4)}.empty,.empty .emoji{display:flex;align-items:center}.empty .emoji{width:64px;height:64px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-strong);justify-content:center}.sheet-backdrop{position:fixed;inset:0;background:rgba(20,23,31,.45);z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s ease}.sheet{width:100%;max-width:540px;background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;padding:var(--sp-5) var(--sp-4) calc(var(--sp-5) + env(safe-area-inset-bottom));box-shadow:var(--shadow-3);animation:slide-up .22s cubic-bezier(.2,.8,.2,1);max-height:92vh;overflow-y:auto}.sheet-handle{width:40px;height:4px;border-radius:var(--r-full);background:var(--border);margin:0 auto var(--sp-4)}.manager-body,.sheet,.sidebar{scrollbar-width:none;-ms-overflow-style:none}.manager-body::-webkit-scrollbar,.sheet::-webkit-scrollbar,.sidebar::-webkit-scrollbar{width:0;height:0}.scroll-hint{position:fixed;z-index:95;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-full);background:var(--brand-soft);color:var(--brand);box-shadow:0 2px 8px rgba(0,0,0,.12);pointer-events:none;opacity:0;transition:opacity .18s ease}.scroll-hint.show{opacity:.92}.fab-filters{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:70;display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:none;cursor:pointer;border-radius:var(--r-full);background:var(--brand);color:#fff;font-weight:600;font-size:.9rem;box-shadow:0 6px 20px rgba(0,0,0,.22);animation:fade .15s ease}.fab-filters:hover{filter:brightness(.96)}@media (min-width:600px){.sheet-backdrop{align-items:center}.sheet{border-radius:var(--r-lg);margin:var(--sp-4)}}.fab{position:fixed;right:max(calc(var(--sp-4) + 74px),calc(50% - 270px + var(--sp-4) + 74px));bottom:calc(var(--sp-5) + env(safe-area-inset-bottom));z-index:30;width:60px;height:60px;border-radius:var(--r-full);border:none;background:var(--primary);color:#fff;font-size:2rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-3);display:flex;align-items:center;justify-content:center;transition:transform .08s ease,background .15s}.fab:active{transform:scale(.94)}.fab:hover{background:var(--primary-dark)}.fab-more{position:fixed;right:max(calc(var(--sp-4) + 148px),calc(50% - 270px + var(--sp-4) + 148px));bottom:calc(var(--sp-5) + env(safe-area-inset-bottom));z-index:30;width:60px;height:60px;border-radius:var(--r-full);border:2px solid var(--primary);background:var(--surface);color:var(--primary);cursor:pointer;box-shadow:var(--shadow-3);display:flex;align-items:center;justify-content:center;transition:transform .12s ease,background .15s,color .15s}.fab-more:active{transform:scale(.94)}.fab-more:hover{background:var(--surface-2,#f0f0f4)}.fab-more.open{background:var(--primary);color:#fff}.sd-backdrop{position:fixed;inset:0;z-index:29;background:transparent}.speed-dial{position:fixed;right:max(calc(var(--sp-4) + 74px),calc(50% - 270px + var(--sp-4) + 74px));bottom:calc(var(--sp-5) + 72px + env(safe-area-inset-bottom));z-index:31;flex-direction:column;align-items:flex-end;gap:12px}.sd-item,.speed-dial{display:flex;pointer-events:none}.sd-item{align-items:center;gap:10px;opacity:0;transform:translateY(10px) scale(.9);transition:opacity .18s ease,transform .18s ease}.speed-dial.open .sd-item{opacity:1;transform:none;pointer-events:auto}.sd-label{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:6px 11px;font-size:.85rem;font-weight:600;color:var(--text);box-shadow:var(--shadow-2);white-space:nowrap}.sd-btn{width:52px;height:52px;border-radius:var(--r-full);border:none;background:var(--primary);color:#fff;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-3);transition:transform .08s ease,background .15s}.sd-btn:active{transform:scale(.94)}.sd-btn:hover{background:var(--primary-dark)}.dropdown{position:relative}.dropdown-trigger{display:inline-flex;align-items:center;gap:var(--sp-2);height:40px;padding:0 var(--sp-3);border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface);font-weight:700;font-size:.9rem;color:var(--text);cursor:pointer;max-width:260px}.dropdown-trigger .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-3);padding:var(--sp-2);z-index:40;animation:fade .12s ease}.dropdown-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-3);border:none;background:transparent;border-radius:var(--r-sm);font-size:.95rem;font-weight:600;color:var(--text);cursor:pointer;text-align:left}.dropdown-item:hover{background:var(--surface-2)}.dropdown-item.active{background:var(--primary-soft);color:var(--primary-dark)}.dropdown-sep{height:1px;background:var(--border);margin:var(--sp-2) 0}.link{color:var(--primary);text-decoration:underline;cursor:pointer;background:none;border:none;padding:0;font:inherit}.link:hover{color:var(--primary-dark)}.lang-flag{display:inline-flex}.lang-flag svg{display:block;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}.branch-map{height:300px;width:100%;border-radius:var(--r-sm);border:1px solid var(--border);overflow:hidden;z-index:0}.branch-pin{font-size:22px;line-height:1;text-align:center}.leaflet-container{font:inherit}.gsearch{position:relative;flex:1 1 auto;display:flex;justify-content:center;min-width:0}.gsearch-field{display:flex;align-items:center;gap:var(--sp-2);width:100%;max-width:420px;height:40px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-2);color:var(--text-soft);transition:border-color .12s ease,background .12s ease}.gsearch-field:focus-within{border-color:var(--primary);background:var(--surface);color:var(--text)}.gsearch-input{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;font-size:.9rem;color:var(--text)}.gsearch-input::placeholder{color:var(--text-soft)}.gsearch-clear{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:var(--r-full);background:transparent;color:var(--text-soft);cursor:pointer}.gsearch-clear:hover{background:var(--surface);color:var(--text)}.gsearch-pop{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-3);padding:var(--sp-2);z-index:40;animation:fade .12s ease}.gsearch-list{list-style:none;margin:0;padding:0}.gsearch-opt{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);border:none;background:transparent;border-radius:var(--r-sm);text-align:left;cursor:pointer;font-size:.92rem;font-weight:600;color:var(--text)}.gsearch-opt.active{background:var(--primary-soft);color:var(--primary-dark)}.gsearch-opt-icon{display:inline-flex;color:var(--text-soft);flex:0 0 auto}.gsearch-opt.active .gsearch-opt-icon{color:var(--primary-dark)}.gsearch-opt-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gsearch-opt-tag{flex:0 0 auto;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-soft);background:var(--surface-2);border-radius:var(--r-full);padding:2px 8px}.gsearch-empty{padding:var(--sp-3);font-size:.88rem;color:var(--text-soft);text-align:center}.gsearch-mobile-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);color:var(--text);cursor:pointer}.gsearch-mobile-btn:hover{background:var(--surface-2)}.gsearch-overlay{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.35);display:flex;justify-content:center;align-items:flex-start;padding:12px;animation:fade .12s ease}.gsearch-overlay-inner{width:100%;max-width:560px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-3);padding:var(--sp-3);margin-top:8px}.gsearch-field-lg{max-width:none;height:46px}.gsearch-overlay-results{margin-top:var(--sp-2);max-height:60vh;overflow-y:auto}@media (max-width:767px){.gsearch{display:none}.gsearch-mobile-btn{display:inline-flex;margin-left:auto}.appbar-inner{padding-left:var(--sp-2);padding-right:var(--sp-2)}.appbar .wordmark{display:none}.workspace-menu .dropdown-trigger{max-width:120px;padding:0 var(--sp-2)}}.toast{position:fixed;left:50%;bottom:calc(var(--sp-6) + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-full);background:var(--text);color:#fff;font-weight:600;font-size:.9rem;box-shadow:var(--shadow-3);animation:slide-up .22s cubic-bezier(.2,.8,.2,1)}.toast.ok{background:var(--pos)}.toast.err{background:var(--neg)}.spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.spinner.sm{width:20px;height:20px;border-width:3px}.spinner.on-primary{border-color:#fff hsla(0,0%,100%,.4) hsla(0,0%,100%,.4)}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,#eef0f3 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:var(--r-sm)}.screen-center{min-height:100vh;flex-direction:column;justify-content:center;gap:var(--sp-4);padding:var(--sp-5);text-align:center}.picker-trigger,.screen-center{display:flex;align-items:center}.picker-trigger{justify-content:space-between;cursor:pointer;background:var(--surface);border:1px solid var(--border);width:100%}.picker-trigger:focus{outline:2px solid var(--brand);outline-offset:2px}.picker-trigger.error{border-color:var(--neg)}.picker-caret{color:var(--muted);margin-left:var(--sp-2)}.picker-pop{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 12px 28px rgba(0,0,0,.18);display:flex;flex-direction:column;max-height:60vh;overflow:hidden;animation:fade .12s ease}.picker-pop-head{display:flex;gap:var(--sp-2);padding:var(--sp-2);border-bottom:1px solid var(--border);align-items:center}.picker-pop-head .input{min-height:36px}.picker-pop-list{overflow-y:auto;flex:1 1 auto;max-height:280px}.picker-item{display:flex;align-items:center;width:100%;text-align:left;padding:var(--sp-2) var(--sp-3);background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer}.picker-item:last-child{border-bottom:none}.picker-item:hover{background:var(--surface-2)}.picker-item.selected{background:var(--brand-soft)}.picker-pop-actions{display:flex;gap:var(--sp-2);padding:var(--sp-2);border-bottom:1px solid var(--border);background:var(--surface-2)}.picker-pop-form{padding:var(--sp-3);border-top:1px solid var(--border);background:var(--surface-2)}.preset-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--sp-3);gap:var(--sp-3)}@media (min-width:540px){.preset-grid{grid-template-columns:1fr 1fr}}@media (min-width:880px){.preset-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1240px){.preset-grid{grid-template-columns:repeat(4,1fr)}}.preset-card{text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);transition:border-color .12s ease,transform .12s ease;display:flex;flex-direction:column;gap:4px}.preset-card:hover{border-color:var(--brand);transform:translateY(-1px)}.preset-flag{font-size:1.6rem;line-height:1}.preset-name{font-weight:700;font-size:1rem}.preset-desc{font-size:.85rem;color:var(--muted)}.dashboard-grid{display:flex;flex-direction:column;gap:var(--sp-5)}@media (min-width:1024px){.dashboard-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;grid-gap:var(--sp-5);gap:var(--sp-5);align-items:start}.dashboard-grid>*{min-width:0}.dashboard-accounts{position:-webkit-sticky;position:sticky;top:calc(60px + var(--sp-3));max-height:calc(100vh - 60px - var(--sp-3) * 2);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.dashboard-accounts::-webkit-scrollbar{width:0;height:0}}.app-shell{min-height:100vh}.app-main{padding-top:0}.appbar-hamburger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;cursor:pointer;color:inherit;border-radius:var(--r-sm)}.appbar-hamburger:hover{background:var(--surface-2)}.sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;background:var(--surface);border-right:1px solid var(--border);transform:translateX(-100%);transition:transform .22s ease;z-index:90;display:flex;flex-direction:column;padding-top:60px;overflow-y:auto}.sidebar.open{transform:translateX(0);box-shadow:0 0 32px rgba(0,0,0,.18)}.sidebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:80;animation:fade .15s ease}.sidebar-content{padding:var(--sp-3) var(--sp-2);gap:var(--sp-3)}.sidebar-content,.sidebar-group{display:flex;flex-direction:column}.sidebar-group{gap:2px}.sidebar-group-label{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;text-align:left;background:none;border:none;cursor:pointer;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:6px 10px 4px}.sidebar-group-label:hover{color:var(--text)}.sidebar-group-caret{display:inline-flex;transition:transform .18s ease}.sidebar-group-label.collapsed .sidebar-group-caret{transform:rotate(-90deg)}.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r-sm);color:inherit;text-decoration:none;font-size:.92rem;font-weight:500}.sidebar-link:hover{background:var(--surface-2)}.sidebar-link.active{background:var(--brand-soft);color:var(--brand-dark);font-weight:700}.sidebar-link-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;color:currentColor}.sidebar-link-main{flex:1 1;display:flex;flex-direction:column;min-width:0;line-height:1.2}.sidebar-link-hint{font-size:.64rem;font-weight:600;color:var(--muted);opacity:.6;letter-spacing:.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:1px}.appbar-collapse{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;cursor:pointer;color:var(--text);border-radius:var(--r-sm)}.appbar-collapse:hover{background:var(--surface-2)}@media (min-width:1024px){.appbar-hamburger{display:none}.appbar-collapse{display:inline-flex}.sidebar{transform:translateX(0);box-shadow:none;transition:transform .2s ease,box-shadow .2s ease}.sidebar-backdrop{display:none}.app-main,.appbar-inner{padding-left:260px;transition:padding-left .2s ease}.app-main .container{margin-left:auto;margin-right:auto}.app-shell.sidebar-auto .app-main,.app-shell.sidebar-auto .appbar-inner{padding-left:0}.app-shell.sidebar-auto .sidebar{transform:translateX(calc(-100% + 6px))}.app-shell.sidebar-auto .sidebar:after{content:"";position:absolute;top:50%;right:0;width:4px;height:40px;transform:translateY(-50%);border-radius:3px 0 0 3px;background:var(--brand);opacity:.5}.app-shell.sidebar-auto .sidebar:focus-within,.app-shell.sidebar-auto .sidebar:hover{transform:translateX(0);box-shadow:8px 0 32px rgba(0,0,0,.18)}.app-shell.sidebar-auto .sidebar:focus-within:after,.app-shell.sidebar-auto .sidebar:hover:after{opacity:0}}.bi-tabs{display:flex;gap:var(--sp-2);overflow-x:auto}.bi-tab{display:inline-flex;align-items:center;gap:8px;flex:1 1 auto;justify-content:center;min-height:42px;padding:0 16px;border:1px solid transparent;background:var(--brand-soft);border-radius:var(--r-md);font-size:.9rem;font-weight:600;color:var(--brand-dark);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,filter .15s}.bi-tab svg{color:var(--brand);flex-shrink:0}.bi-tab:hover{filter:brightness(.96)}.bi-tab.active{background:var(--brand);color:#fff}.bi-tab.active svg{color:#fff}.bi-kpis{display:grid;grid-template-columns:1fr;grid-gap:var(--sp-3);gap:var(--sp-3)}@media (min-width:640px){.bi-kpis{grid-template-columns:1fr 1fr}}@media (min-width:960px){.bi-kpis{grid-template-columns:repeat(4,1fr)}}.bi-kpi{display:flex;flex-direction:column;gap:4px}.bi-kpi-label{color:var(--muted);font-size:.85rem}.bi-kpi-value{font-size:1.5rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.bi-kpi-value.pos{color:var(--pos)}.bi-kpi-value.neg{color:var(--neg)}.bi-kpi-hint{color:var(--muted);font-size:.8rem}.chip-selected{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark);font-weight:700}.chip-pick{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:26px;vertical-align:middle}@media (max-width:480px){.chip-pick{max-width:150px}}.fut-month{border-bottom:1px solid var(--border)}.fut-month:last-child{border-bottom:none}.fut-month-head{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) 4px;border:none;background:transparent;cursor:pointer;text-align:left;border-radius:var(--r-sm);transition:background .12s}.fut-month-head:hover{background:var(--surface-2)}.fut-month-label{flex:0 0 70px;font-weight:700;font-size:.82rem;color:var(--text-soft)}.fut-bar-track{flex:1 1 auto;height:10px;background:var(--accent-soft);border-radius:var(--r-full);overflow:hidden}.fut-bar-fill{height:100%;background:var(--accent);border-radius:var(--r-full)}.fut-month-val{flex:0 0 auto;display:inline-flex;align-items:center;white-space:nowrap}.fut-caret{margin-left:8px;color:var(--text-faint);font-size:.8rem;transition:transform .15s}.bi-grid-2{display:grid;grid-template-columns:1fr;grid-gap:var(--sp-3);gap:var(--sp-3)}@media (min-width:880px){.bi-grid-2{grid-template-columns:1fr 1fr}}.bi-bars{display:flex;flex-direction:column;gap:8px}.bi-bar-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;align-items:center;grid-gap:var(--sp-2);gap:var(--sp-2)}.bi-bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.bi-bar-track{height:14px;background:var(--surface-2);border-radius:999px;overflow:hidden}.bi-bar-fill{height:100%;border-radius:999px;transition:width .25s ease}.bi-bar-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;font-size:.9rem}.bi-bar-value.pos{color:var(--pos)}.bi-bar-value.neg{color:var(--neg)}.balance-chart{position:relative}.balance-chart-svg{width:100%;height:auto;display:block}.balance-chart-tip{position:absolute;top:8px;right:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px;box-shadow:0 8px 20px rgba(0,0,0,.15);font-size:.85rem;min-width:200px;pointer-events:none}.balance-chart-tip-date{font-weight:600;margin-bottom:4px}.balance-chart-tip-row{display:flex;align-items:center;gap:6px;padding:2px 0}.balance-chart-tip-swatch{width:10px;height:10px;border-radius:999px;display:inline-block;flex:0 0 auto}.balance-chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;padding:0 8px;font-size:.85rem;color:var(--muted)}.balance-chart-legend-item{display:inline-flex;align-items:center;gap:6px}.balance-chart-foot{display:flex;justify-content:flex-end;padding:4px 8px;font-size:.8rem}.multi-picker{display:flex;flex-direction:column;gap:var(--sp-2);min-width:280px}.multi-picker-chips{display:flex;flex-wrap:wrap;gap:4px}.multi-picker-list{max-height:280px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--r-sm)}.multi-picker-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:8px 10px;background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;font:inherit;color:inherit}.multi-picker-item:last-child{border-bottom:none}.multi-picker-item:hover{background:var(--surface-2)}.multi-picker-item.selected{background:var(--brand-soft);color:var(--brand-dark)}.multi-picker-check{width:18px;height:18px;border:2px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.multi-picker-check.on{border-color:var(--brand);background:var(--brand);color:#fff}.filter-bar{display:flex;flex-direction:column;gap:var(--sp-2)}.filter-search{position:relative;display:flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px 12px;height:42px}.filter-search:focus-within{outline:2px solid var(--brand);outline-offset:1px}.filter-search-icon{color:var(--muted);margin-right:8px;display:flex;align-items:center}.filter-search-input{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;font:inherit;color:inherit}.filter-search-clear{background:transparent;border:none;cursor:pointer;color:var(--muted);padding:4px;display:flex;align-items:center;justify-content:center;border-radius:999px}.filter-search-clear:hover{background:var(--surface-2);color:inherit}.filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:36px}.filter-chip-wrap{position:relative}.filter-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 4px 5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit;font-size:.85rem;cursor:pointer;white-space:nowrap;max-width:280px}.filter-chip:hover{background:var(--surface-2)}.filter-chip.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark);font-weight:600}.filter-chip-ico{display:inline-flex;align-items:center;color:currentColor;opacity:.85}.filter-chip-label{color:var(--muted);font-weight:500}.filter-chip.active .filter-chip-label{color:var(--brand-dark);opacity:.75;font-weight:500}.filter-chip-sep{opacity:.5}.filter-chip-mode{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:6px;font-weight:800;font-size:.85em;line-height:1;cursor:pointer;color:var(--muted);background:color-mix(in srgb,var(--text) 8%,transparent)}.filter-chip-mode:hover{color:var(--text)}.filter-chip-mode.excl{color:#fff;background:var(--neg)}.filter-chip-value{overflow:hidden;text-overflow:ellipsis;max-width:160px}.filter-chip-x{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:4px;border-radius:999px;font-size:1.1rem;line-height:1;cursor:pointer}.filter-chip-x:hover{background:rgba(0,0,0,.12)}.filter-chip.add{border-style:dashed;border-color:var(--brand);color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,transparent);font-weight:600}.filter-chip.add:hover{color:#fff;background:var(--brand);border-style:solid;border-color:var(--brand)}.filter-clear-all{margin-left:auto;background:transparent;border:none;cursor:pointer;color:var(--muted);font-size:.85rem;text-decoration:underline;padding:4px 8px}.filter-clear-all:hover{color:var(--neg)}.filter-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:280px;max-width:calc(100vw - 2 * var(--sp-4));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 12px 28px rgba(0,0,0,.18);padding:var(--sp-3);animation:fade .12s ease}@media (max-width:767px){.filter-popover{left:auto;right:0;min-width:min(280px,calc(100vw - 2 * var(--sp-4)))}}.filter-add-list{display:flex;flex-direction:column}.filter-add-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:transparent;border:none;text-align:left;cursor:pointer;font:inherit;color:inherit;border-radius:var(--r-sm)}.filter-add-item:hover{background:var(--surface-2)}.filter-add-ico{display:inline-flex;align-items:center;color:var(--brand)}.reldate-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:180;padding:var(--sp-3);animation:fade .12s ease}.reldate-shell{background:var(--surface);border-radius:var(--r-lg);width:100%;max-width:460px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(0,0,0,.35);overflow:hidden}.reldate-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3);border-bottom:1px solid var(--border);background:var(--surface-2)}.reldate-head .faint{flex:1 1 auto;font-size:.85rem}.reldate-list{overflow-y:auto}.reldate-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer}.reldate-item:last-child{border-bottom:none}.reldate-item:hover{background:var(--surface-2)}.reldate-item.selected{background:var(--brand-soft)}.reldate-foot{display:flex;gap:var(--sp-2);padding:var(--sp-2);border-top:1px solid var(--border);background:var(--surface-2)}.amount-calc-btn{background:transparent;border:none;cursor:pointer;color:var(--brand);padding:4px 8px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center}.amount-calc-btn:hover{background:var(--brand-soft);color:var(--brand-dark)}.calc-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--sp-3);animation:fade .12s ease}.calc-shell{background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-3);width:100%;max-width:340px;box-shadow:0 24px 60px rgba(0,0,0,.35)}.calc-head{display:flex;justify-content:space-between;align-items:center}.calc-display,.calc-head{margin-bottom:var(--sp-2)}.calc-display{background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-3);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calc-op-hint{font-size:.85rem;color:var(--muted);min-height:1em}.calc-value{font-size:2rem;font-weight:600;line-height:1.1;overflow-wrap:anywhere}.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px}.calc-btn{min-height:52px;font-size:1.1rem;font-weight:600;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:inherit;cursor:pointer}.calc-btn:active{transform:translateY(1px)}.calc-soft{background:var(--surface-2)}.calc-op{background:var(--brand-soft);color:var(--brand-dark)}.calc-equals{background:var(--brand);color:#fff}.calc-zero{grid-column:span 2}.manager-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:150;padding:var(--sp-4);animation:fade .12s ease}.manager-shell{background:var(--surface);border-radius:var(--r-lg);max-width:900px;width:100%;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(0,0,0,.35);overflow:hidden}.manager-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);background:var(--surface-2)}.manager-head .h2{flex:0 0 auto}.manager-head .faint{flex:1 1 auto}.manager-body{flex:1 1 auto;overflow-y:auto;padding:var(--sp-4)}.confirm-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--sp-4);animation:fade .12s ease}.confirm-dialog{background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-5);max-width:420px;width:100%;box-shadow:0 20px 48px rgba(0,0,0,.3)}.tag-input{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;padding:6px 8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm)}.tag-input.focused{outline:2px solid var(--brand);outline-offset:1px}.tag-input-field{flex:1 1 120px;min-width:80px;border:none;outline:none;background:transparent;font:inherit;color:inherit;padding:4px 2px}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--brand-soft);border-radius:999px;font-size:.85rem;font-weight:600}.tag-chip,.tag-chip-x{color:var(--brand-dark)}.tag-chip-x{background:transparent;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 0 0 2px}.tag-suggest{position:absolute;left:0;right:0;top:100%;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:0 8px 20px rgba(0,0,0,.15);z-index:40;max-height:220px;overflow-y:auto}.tag-suggest-item{display:block;width:100%;text-align:left;padding:var(--sp-2) var(--sp-3);background:transparent;border:none;cursor:pointer;font:inherit;color:inherit}.tag-suggest-item:hover{background:var(--surface-2)}.row-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 16px 32px rgba(0,0,0,.22);padding:4px;display:flex;flex-direction:column;gap:2px;animation:fade .1s ease}.row-menu-item{text-align:left;background:transparent;border:none;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);cursor:pointer;font:inherit;color:inherit;min-height:36px}.row-menu-item:hover{background:var(--surface-2)}.row-menu-item.danger{color:var(--neg)}.row-menu-item.primary{font-weight:600}.row-kebab{background:transparent;border:none;cursor:pointer;padding:4px 8px;color:var(--muted);border-radius:var(--r-sm);font-size:1.1rem;line-height:1}.row-kebab:hover{background:var(--surface-2);color:inherit}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.app-footer{margin-top:var(--sp-6,32px);border-top:1px solid var(--border);background:var(--surface-2)}.app-footer-inner{max-width:1400px;margin:0 auto;padding:18px 16px calc(96px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.app-footer-credit{display:inline-flex;align-items:center;gap:7px;text-decoration:none;transition:opacity .15s ease}.app-footer-credit:hover{opacity:.82}.app-footer-by{font-size:.82rem;color:var(--text-soft);font-weight:500}.wnk-wordmark{font-size:.98rem;font-weight:800;letter-spacing:-.01em;line-height:1}.app-footer-copy,.wnk-wordmark .wnk-soft,.wnk-wordmark .wnk-w{color:var(--text-soft)}.app-footer-copy{font-size:.72rem;opacity:.8}.cashie{display:inline-block}.cashie-anim{animation:cashie-bob 3.4s ease-in-out infinite;transform-origin:center bottom}.cashie-anim .cashie-eyes{animation:cashie-blink 4.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes cashie-bob{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-2.5px) rotate(-1.5deg)}75%{transform:translateY(-2.5px) rotate(1.5deg)}}@keyframes cashie-blink{0%,90%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}}.cashie-anim g[opacity="0.35"]{animation:cashie-cheeks 2.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes cashie-cheeks{0%,to{opacity:.35}50%{opacity:.6;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.cashie-anim,.cashie-anim .cashie-eyes,.cashie-anim g[opacity="0.35"]{animation:none}}.cashie-bubble{position:relative;display:inline-block;margin-top:6px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;font-size:.9rem;line-height:1.35;color:var(--text);max-width:100%}.cashie-bubble:before{content:"";position:absolute;left:-7px;top:14px;width:12px;height:12px;background:var(--surface);border-left:1px solid var(--border);border-bottom:1px solid var(--border);transform:rotate(45deg)}.sidebar-theme{padding:0 8px 8px}.theme-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-soft);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.theme-toggle:hover{color:var(--text);border-color:var(--brand)}.theme-toggle-icon{display:inline-flex;color:var(--accent-strong)}.theme-toggle.compact{width:40px;min-width:40px;justify-content:center;padding:8px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -2px 12px rgba(0,0,0,.06);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;padding:6px 4px;background:none;border:none;cursor:pointer;color:var(--text-faint);transition:color .15s}.bottom-nav-item.active{color:var(--brand)}.bottom-nav-item:active{background:var(--surface-2)}.bottom-nav-icon{display:inline-flex}.bottom-nav-label{font-size:.68rem;font-weight:700;letter-spacing:.01em}@media (max-width:1023px){.app-main{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.fab,.fab-more{bottom:calc(var(--sp-4) + 62px + env(safe-area-inset-bottom))}.speed-dial{bottom:calc(var(--sp-4) + 62px + 72px + env(safe-area-inset-bottom))}.fab-filters{bottom:calc(14px + 62px + env(safe-area-inset-bottom))}}@media (min-width:1024px){.bottom-nav{display:none}}.dropdown-label{padding:6px 12px 4px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint)}.inactive-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.inactive-toggle input{position:absolute;opacity:0;width:0;height:0}.inactive-toggle-track{position:relative;width:34px;height:20px;border-radius:999px;background:var(--border);transition:background .15s;flex-shrink:0}.inactive-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-1);transition:transform .15s}.inactive-toggle input:checked+.inactive-toggle-track{background:var(--brand)}.inactive-toggle input:checked+.inactive-toggle-track .inactive-toggle-thumb{transform:translateX(14px)}.inactive-toggle-label{font-size:.85rem;color:var(--text-soft);font-weight:600}.inactive-toggle-count{color:var(--text-faint);font-weight:400}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.cal-head{margin-bottom:4px}.cal-wd{text-align:center;font-size:.7rem;font-weight:700;color:var(--text-faint)}.cal-cell{min-height:62px;border:1px solid var(--border);border-radius:8px;padding:3px 4px;background:var(--surface);overflow:hidden}.cal-empty{border:none;background:transparent}.cal-has{background:var(--surface-2);border-color:var(--brand)}.cal-day{font-size:.72rem;font-weight:700;color:var(--text-soft)}.cal-item{display:flex;align-items:center;gap:3px;font-size:.64rem;line-height:1.25;margin-top:2px}.cal-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.cal-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:640px){.cal-cell{min-height:48px}.cal-item-name{display:none}}.cal-today{outline:2px solid var(--brand);outline-offset:-1px}.cal-today .cal-day{color:var(--brand)}.cal-item-ic{margin-left:auto;font-size:.7rem}.cal-item.cal-generated{color:var(--pos)}.cal-item.cal-discarded{color:var(--text-faint);text-decoration:line-through}.cal-item.cal-missed{color:var(--neg)}.aiw{display:flex;flex-direction:column;align-items:center;gap:14px;padding:26px 12px 20px;text-align:center}.aiw-orb{position:relative;width:116px;height:116px;display:grid;place-items:center}.aiw-orb:before{content:"";inset:-10px;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 55%,transparent),transparent 70%);filter:blur(12px);animation:aiw-pulse 2.4s ease-in-out infinite}.aiw-orb:before,.aiw-ring{position:absolute;border-radius:50%}.aiw-ring{inset:0;background:conic-gradient(from 0deg,transparent 0 18%,var(--brand) 46%,var(--accent-strong,var(--accent)) 72%,transparent 94%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 6px));mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 6px));animation:aiw-spin 1.5s linear infinite}.aiw-ring2{inset:12px;background:conic-gradient(from 180deg,transparent 0 30%,var(--accent-strong,var(--accent)) 60%,transparent 88%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));animation:aiw-spin 2.3s linear infinite reverse;opacity:.7}.aiw-core{position:relative;width:76px;height:76px;border-radius:50%;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--surface) 70%,var(--brand)),var(--surface));display:grid;place-items:center;font-size:32px;box-shadow:inset 0 0 22px color-mix(in srgb,var(--brand) 30%,transparent),0 0 24px color-mix(in srgb,var(--brand) 20%,transparent);animation:aiw-breathe 2.4s ease-in-out infinite}.aiw-spark{position:absolute;font-size:13px;color:var(--accent-strong,var(--accent));animation:aiw-float 3s ease-in-out infinite}.aiw-tag{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;background:linear-gradient(90deg,var(--brand),var(--accent-strong,var(--accent)));-webkit-background-clip:text;background-clip:text;color:transparent}.aiw-msg{font-weight:600;color:var(--text-soft,var(--text));min-height:1.3em;animation:aiw-fade .5s ease}.aiw-bar{position:relative;width:min(280px,82%);height:4px;border-radius:99px;overflow:hidden;background:color-mix(in srgb,var(--brand) 14%,transparent)}.aiw-bar:after{content:"";position:absolute;top:0;bottom:0;width:42%;border-radius:99px;background:linear-gradient(90deg,transparent,var(--brand),var(--accent-strong,var(--accent)),transparent);animation:aiw-slide 1.35s ease-in-out infinite}@keyframes aiw-spin{to{transform:rotate(1turn)}}@keyframes aiw-pulse{0%,to{opacity:.4;transform:scale(.94)}50%{opacity:.85;transform:scale(1.1)}}@keyframes aiw-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes aiw-float{0%,to{transform:translateY(0) scale(1);opacity:.5}50%{transform:translateY(-6px) scale(1.25);opacity:1}}@keyframes aiw-slide{0%{left:-42%}to{left:100%}}@keyframes aiw-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.aiw-bar:after,.aiw-core,.aiw-orb:before,.aiw-ring,.aiw-ring2,.aiw-spark{animation:none}}.imp-pills{display:inline-flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.imp-pill{border:1px solid var(--border);background:var(--surface);color:var(--text-soft,var(--text));border-radius:999px;padding:5px 11px;font-size:.76rem;font-weight:600;line-height:1;min-height:32px;cursor:pointer;transition:all .12s;white-space:nowrap}.imp-pill:hover{border-color:var(--brand)}.imp-pill.on.ok{background:var(--pos);border-color:var(--pos);color:#fff}.imp-pill.on.warn{background:var(--warn,#b7791f);border-color:var(--warn,#b7791f);color:#fff}.imp-pill.on.off{background:var(--text-faint,#6b7280);border-color:var(--text-faint,#6b7280);color:#fff}.cashie-fab{position:fixed;z-index:31;right:max(var(--sp-4),calc(50% - 270px + var(--sp-4)));bottom:calc(var(--sp-5) + env(safe-area-inset-bottom));width:60px;height:60px;border-radius:var(--r-full);border:none;background:linear-gradient(135deg,var(--brand),var(--accent-strong,var(--accent)));color:#fff;cursor:pointer;box-shadow:var(--shadow-3);display:flex;align-items:center;justify-content:center;transition:transform .08s ease,filter .15s}.cashie-fab:active{transform:scale(.94)}.cashie-fab:hover{filter:brightness(1.06)}@media (max-width:1023px){.cashie-fab{bottom:calc(var(--sp-4) + 62px + env(safe-area-inset-bottom))}}.cashie-panel{position:fixed;z-index:40;right:max(var(--sp-4),calc(50% - 270px + var(--sp-4)));bottom:calc(var(--sp-4) + env(safe-area-inset-bottom));width:min(400px,calc(100vw - 2 * var(--sp-4)));height:min(620px,calc(100vh - 2 * var(--sp-4)));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg,16px);box-shadow:var(--shadow-4,var(--shadow-3));display:flex;flex-direction:column;overflow:hidden}.cashie-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 12%,var(--surface)),var(--surface))}.cashie-body{flex:1 1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.cashie-hint{background:var(--surface-2,#f5f5f8);border-radius:12px;padding:12px;font-size:.82rem}.cashie-msg{max-width:85%;padding:8px 11px;border-radius:14px;font-size:.86rem;line-height:1.35;white-space:pre-wrap}.cashie-msg.user{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-right-radius:4px}.cashie-msg.cashie{align-self:flex-start;background:var(--surface-2,#f0f0f4);color:var(--text);border-bottom-left-radius:4px}.cashie-composer{border-top:1px solid var(--border);padding:8px 10px;position:relative}.cashie-mentions{position:absolute;bottom:100%;left:10px;right:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-3);max-height:190px;overflow-y:auto;margin-bottom:6px}.cashie-mention-item{display:block;width:100%;text-align:left;padding:9px 12px;background:none;border:none;cursor:pointer;font-size:.86rem;color:var(--text)}.cashie-mention-item.active,.cashie-mention-item:hover{background:var(--surface-2,#f0f0f4)}