:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-money:var(--font-sans);--color-bg-app:#f5f5f7;--color-bg-sidebar:#e8e8ed;--color-bg-card:#fff;--color-text-primary:#1d1d1f;--color-text-secondary:#86868b;--color-border:#e5e5ea;--color-accent:#007aff;--color-accent-hover:#0062cc;--color-accent-bg:#007aff14;--color-danger:#ff3b30;--color-danger-hover:#d70015;--color-success:#34c759;--color-warning:#ff9500;--color-row-hover:#007aff0d;--color-on-accent:#fff;--color-success-text:#0f7a32;--color-danger-text:#c9251c;--color-accent-text:#0056b3;--color-text-muted:#65656a;--color-bg-avatar:#e0e0e0;--color-text-avatar:#333;--color-bg-logout:#fff;--color-text-logout:#ff3b30;--color-bg-logout-hover:#f5f5f5;--border-radius-lg:12px;--border-radius-md:8px;--border-radius-sm:6px;--z-raised:1;--z-overlap:10;--z-sticky:20;--z-popover:200;--z-popover-over:300;--z-scrim:1000;--z-modal:1010;--z-toast:1100;--z-tooltip:1200;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 12px #0000001a;--color-border-track:var(--color-border);--color-bg-track:var(--color-bg-secondary);--color-bg-header:var(--color-bg-secondary);--color-bg-raised:var(--color-bg-card);--shadow-track:none;--shadow-pill:var(--shadow-sm);--overlay-border:#00000014;--overlay-shadow:0 8px 40px #0000001f, 0 2px 8px #0000000f;--overlay-hover:#0000000a;--overlay-ease:cubic-bezier(.16, 1, .3, 1);--spacing-4:1rem;--spacing-2:.5rem;--table-row-height:52px;--color-bg:var(--color-bg-app);--color-bg-input:var(--color-bg-app);--color-bg-secondary:#ececf0;--color-success-bg:#34c75926;--color-danger-bg:#ff3b301a;--color-danger-light-bg:#ff3b3014;--color-warning-light-bg:#ff950014;--color-warning-border:#ff950059;--color-warning-border-strong:#cc7000;--color-success-light-bg:#34c75914;--color-tooltip-bg:#1c1c1e;--color-tooltip-text:#fff;--shadow-tooltip:0 4px 12px #00000026;--chart-inflow:#2f8f5b;--chart-inflow-soft:#93c9ac;--chart-outflow:#b4483f;--chart-outflow-soft:#dda49e;--chart-grid:#00000012;--chart-cat-1:#2672b7;--chart-cat-2:#d77343;--chart-cat-3:#0b7252;--chart-cat-4:#b68b16;--chart-cat-5:#bb6c92;--chart-cat-6:#306324;--chart-cat-7:#6d54a8;--chart-cat-8:#bc484f;--chart-cat-other:#7c7c82}.dark{--color-bg-app:#1c1c1e;--color-bg-sidebar:#2c2c2e;--color-bg-card:#2c2c2e;--color-text-primary:#f5f5f7;--color-text-secondary:#86868b;--color-border:#38383a;--color-warning:#ff9f0a;--color-row-hover:#0a84ff1a;--color-success-text:#30d158;--color-danger-text:#ff6961;--color-accent-text:#5aa9ff;--color-text-muted:#adadb2;--color-accent-bg:#007aff14;--color-bg-avatar:#48484a;--color-text-avatar:#f5f5f7;--color-bg-logout:#3a3a3c;--color-text-logout:#ff453a;--color-bg-logout-hover:#48484a;--color-bg:var(--color-bg-app);--color-bg-input:var(--color-bg-app);--color-bg-secondary:#3a3a3c;--color-success-bg:#30d15833;--color-danger-bg:#ff453a33;--color-danger-light-bg:#ff453a17;--color-warning-light-bg:#ff9f0a1a;--color-warning-border:#ff9f0a66;--color-warning-border-strong:var(--color-warning);--color-success-light-bg:#30d1581f;--color-tooltip-bg:#f5f5f7;--color-tooltip-text:#1c1c1e;--shadow-tooltip:0 4px 12px #0000004d;--color-border-track:#ffffff24;--color-bg-track:#121213;--color-bg-header:#00000052;--color-bg-raised:#3f3f43;--shadow-track:none;--shadow-pill:0 1px 3px #00000073, inset 0 1px 0 #ffffff14;--overlay-border:#ffffff14;--overlay-shadow:0 8px 40px #00000073, 0 2px 8px #0003, inset 0 .5px 0 #ffffff0f;--overlay-hover:#ffffff14;--chart-inflow:#58b183;--chart-inflow-soft:#2f6b4e;--chart-outflow:#d1685e;--chart-outflow-soft:#7d3a34;--chart-grid:#ffffff17;--chart-cat-1:#3284d0;--chart-cat-2:#e56b29;--chart-cat-3:#0f926a;--chart-cat-4:#b88a01;--chart-cat-5:#bd6792;--chart-cat-6:#549446;--chart-cat-7:#8c71cf;--chart-cat-8:#da6267;--chart-cat-other:#8e8e96}.icon-btn{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:inline-flex;position:relative}.icon-btn:hover{color:var(--color-text-primary);background-color:#0000000d}.icon-btn.primary{color:var(--color-accent)}.icon-btn.primary:hover{color:var(--color-accent);background-color:#007aff1a}.icon-btn.danger{color:var(--color-danger)}.icon-btn.danger:hover{color:var(--color-danger);background-color:#ff3b301a}.dark .icon-btn:hover{color:var(--color-text-primary);background-color:#ffffff1a}.dark .icon-btn.primary:hover{color:#409cff;background-color:#0a84ff33}.dark .icon-btn.danger:hover{color:#ff453a;background-color:#ff453a33}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg-app);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}button{cursor:pointer;border:none;font-family:inherit}a{color:inherit;text-decoration:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modal-backdrop{z-index:var(--z-scrim);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--color-bg-card);color:var(--color-text-primary);border-radius:var(--border-radius-lg);flex-direction:column;width:90%;max-width:480px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{margin:0;font-size:18px;font-weight:600}.modal-body{flex:auto;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--color-border);background-color:var(--color-bg-card);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.modal-field .custom-select-trigger{height:33px}.form-group{margin-bottom:20px}.form-group label{color:var(--color-text-muted);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.form-row{gap:16px;display:flex}.form-row .form-group{flex:1}.form-select,.form-input,textarea.form-input{background-color:var(--color-bg-input);width:100%;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:10px 12px;font-family:inherit;font-size:14px}.form-select:focus,.form-input:focus,textarea.form-input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #007aff26}.form-input:disabled,.form-select:disabled{opacity:.6;cursor:not-allowed}.form-hint{color:var(--color-text-muted);margin:6px 0 0;font-size:12px}.btn-primary{background-color:var(--color-accent);color:var(--color-on-accent);border-radius:var(--border-radius-md);cursor:pointer;border:none;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary.danger{background-color:var(--color-danger);color:var(--color-on-accent)}.btn-primary.danger:hover:not(:disabled){background-color:var(--color-danger-hover)}.btn-secondary{color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--border-radius-md);cursor:pointer;background-color:#0000;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-secondary:hover:not(:disabled){color:var(--color-text-primary);border-color:var(--color-text-secondary)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary.danger{color:var(--color-danger);border-color:var(--color-danger)}.btn-secondary.danger:hover:not(:disabled){background-color:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger)}.modal-error{background-color:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--border-radius-md);margin-top:16px;padding:12px;font-size:13px}.error{color:var(--color-danger);font-size:14px}.modal-warning{color:var(--color-warning);border-radius:var(--border-radius-md);background-color:#ff95001a;margin:12px 0;padding:8px 12px;font-size:13px}.dark .modal-warning{background-color:#ff9f0a26}.modal-warning a{color:inherit;text-decoration:underline}.modal-warning a:focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid}.route-error-boundary{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.route-error-boundary-message{color:var(--color-text-secondary);font-size:14px}@keyframes overlay-enter{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes overlay-enter-up{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes overlay-enter-centered{0%{opacity:0;transform:translate(-50%)translateY(-3px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (prefers-reduced-motion:reduce){@keyframes overlay-enter{0%{opacity:0;transform:none}to{opacity:1;transform:none}}@keyframes overlay-enter-up{0%{opacity:0;transform:none}to{opacity:1;transform:none}}@keyframes overlay-enter-centered{0%{opacity:0;transform:translate(-50%)}to{opacity:1;transform:translate(-50%)}}}.is-refreshing{opacity:.6;pointer-events:none;transition:opacity .2s .15s}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-text-muted);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.15s ease-out .15s both spinner-appear,.8s linear infinite spinner-rotate;display:inline-block}.spinner.spinner--idle{visibility:hidden;animation:none}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@keyframes spinner-appear{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.spinner{animation:.15s ease-out .15s both spinner-appear}}.is-paid-toggle{cursor:pointer;align-items:center;display:inline-flex;position:relative}.is-paid-toggle input{opacity:0;width:0;height:0;position:absolute}.is-paid-toggle .toggle-slider{background-color:var(--color-bg-track);border:1px solid var(--color-border-track);box-sizing:border-box;border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background-color .2s,border-color .2s;display:block;position:relative}.is-paid-toggle .toggle-slider:before{content:"";background-color:var(--color-bg-raised);width:14px;height:14px;box-shadow:var(--shadow-pill);border-radius:50%;transition:transform .2s;position:absolute;top:2px;left:2px}.is-paid-toggle input:checked+.toggle-slider{background-color:var(--color-success);border-color:var(--color-success)}.is-paid-toggle input:checked+.toggle-slider:before{background-color:var(--color-on-accent);transform:translate(16px)}.is-paid-toggle input:focus-visible+.toggle-slider{outline:2px solid var(--color-accent);outline-offset:2px}.is-paid-toggle input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.is-paid-toggle .toggle-slider,.is-paid-toggle .toggle-slider:before{transition:none}}[data-tooltip]{position:relative}[data-tooltip]:before{content:attr(data-tooltip);z-index:var(--z-tooltip);border-radius:var(--border-radius-sm);background-color:var(--color-tooltip-bg);color:var(--color-tooltip-text);box-shadow:var(--shadow-tooltip);font-family:var(--font-sans);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--overlay-ease), visibility .2s var(--overlay-ease), transform .2s var(--overlay-ease);padding:6px 10px;font-size:12px;font-weight:500;line-height:1.4;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-8px)}[data-tooltip]:hover:before,[data-tooltip]:focus-visible:before{opacity:1;visibility:visible;transform:translate(-50%)translateY(-12px)}.sidebar:not(.collapsed) [data-tooltip]:before{content:none}td:last-child .icon-btn[data-tooltip]:last-of-type:before,.tabs-actions .icon-btn[data-tooltip]:last-of-type:before,.recurring-type-row .icon-btn[data-tooltip]:last-of-type:before{left:auto;right:0;transform:translate(0)translateY(-8px)}td:last-child .icon-btn[data-tooltip]:last-of-type:hover:before,td:last-child .icon-btn[data-tooltip]:last-of-type:focus-visible:before,.tabs-actions .icon-btn[data-tooltip]:last-of-type:hover:before,.tabs-actions .icon-btn[data-tooltip]:last-of-type:focus-visible:before,.recurring-type-row .icon-btn[data-tooltip]:last-of-type:hover:before,.recurring-type-row .icon-btn[data-tooltip]:last-of-type:focus-visible:before{transform:translate(0)translateY(-12px)}td:first-child[data-tooltip]:before,td:first-child [data-tooltip]:before{left:0;transform:translate(0)translateY(-8px)}td:first-child[data-tooltip]:hover:before,td:first-child[data-tooltip]:focus-visible:before,td:first-child [data-tooltip]:hover:before,td:first-child [data-tooltip]:focus-visible:before{transform:translate(0)translateY(-12px)}.icon-btn[data-tooltip]:after,.import-error-icon[data-tooltip]:after,.import-suspicious-icon[data-tooltip]:after,.import-duplicate-icon[data-tooltip]:after,.import-row__transfer-direction-icon[data-tooltip]:after,.preset-btn[data-tooltip]:after{content:"";z-index:var(--z-tooltip);border-style:solid;border-width:6px;border-color:var(--color-tooltip-bg) transparent transparent transparent;opacity:0;visibility:hidden;transition:opacity .2s var(--overlay-ease), visibility .2s var(--overlay-ease);position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-4px)}.icon-btn[data-tooltip]:hover:after,.icon-btn[data-tooltip]:focus-visible:after,.import-error-icon[data-tooltip]:hover:after,.import-error-icon[data-tooltip]:focus-visible:after,.import-suspicious-icon[data-tooltip]:hover:after,.import-suspicious-icon[data-tooltip]:focus-visible:after,.import-duplicate-icon[data-tooltip]:hover:after,.import-duplicate-icon[data-tooltip]:focus-visible:after,.import-row__transfer-direction-icon[data-tooltip]:hover:after,.import-row__transfer-direction-icon[data-tooltip]:focus-visible:after,.preset-btn[data-tooltip]:hover:after,.preset-btn[data-tooltip]:focus-visible:after{opacity:1;visibility:visible}@media (prefers-reduced-motion:reduce){[data-tooltip]:before,[data-tooltip]:after{transition-duration:.01ms}}.chart-legend-label{color:var(--color-text-muted);font-size:12px}.list-page-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:28px;display:flex}.list-page-filters .search-input{flex:240px;min-width:0;margin-bottom:0}.list-page-error{border:1px solid var(--color-danger);border-radius:var(--border-radius-md);background-color:var(--color-bg-card);color:var(--color-danger-text);margin-bottom:16px;padding:12px 16px;font-size:14px}.list-page-actions-col{width:88px}.list-page-chip{background-color:var(--color-bg-secondary);color:var(--color-text-muted);white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.list-page-amount{text-align:right;font-family:var(--font-money);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.list-page-name{font-weight:500}.list-page-name-row{align-items:center;gap:8px;display:flex}.list-page-muted{color:var(--color-text-muted)}.data-table td.list-page-name--child{padding-left:34px;font-weight:400;position:relative}.list-page-name--child:before{content:"";background-color:var(--color-border);width:10px;height:1px;position:absolute;top:50%;left:16px}.toast-container{z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background-color:var(--color-bg-card);pointer-events:auto;border-radius:12px;align-items:center;gap:12px;min-width:280px;max-width:420px;padding:14px 16px;animation:.3s cubic-bezier(.16,1,.3,1) toastSlideIn;display:flex;box-shadow:0 10px 40px #0003}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastFadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.toast{animation:.15s ease-out toastFadeIn}}.toast-icon{flex-shrink:0}.toast-message{color:var(--color-text-primary);flex:1;font-size:14px;font-weight:500;line-height:1.4}.toast-dismiss{width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.toast-dismiss:hover{color:var(--color-text-primary);background-color:#0000000d}.dark .toast-dismiss:hover{background-color:#ffffff1a}.toast-success .toast-icon{color:var(--color-success)}.toast-error .toast-icon{color:var(--color-danger)}.toast-info .toast-icon{color:var(--color-accent)}.dark .toast{box-shadow:0 10px 40px #0006}.impersonation-banner{background:var(--color-warning,#b45309);color:#fff;align-items:center;gap:10px;padding:8px 16px;font-size:14px;font-weight:600;display:flex}.impersonation-banner__exit{color:#fff;border-radius:var(--border-radius-sm,6px);cursor:pointer;background:#fff3;border:1px solid #ffffff80;margin-left:auto;padding:4px 12px;font-weight:600}.impersonation-banner__exit:disabled{opacity:.6;cursor:default}.sub-banner{align-items:center;gap:12px;margin:-30px -30px 24px;padding:8px 30px;font-size:14px;font-weight:600;display:flex}.sub-banner a{color:inherit;white-space:nowrap;margin-left:auto;text-decoration:underline}.sub-banner--trial{background:var(--color-accent-bg);color:var(--color-accent-text)}.sub-banner--trial.is-urgent{background:var(--color-warning-light-bg);color:var(--color-warning)}.sub-banner--warning{background:var(--color-warning);color:var(--color-on-accent)}.sub-banner--readonly{background:var(--color-danger);color:var(--color-on-accent)}.suspended-wall{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:40px 20px;display:flex}.suspended-wall h1{letter-spacing:-.01em;color:var(--color-text-primary);margin:0 0 12px;font-size:24px;font-weight:600}.suspended-wall p{max-width:480px;color:var(--color-text-secondary);margin:0 0 24px}.suspended-wall__cta{align-items:center;min-height:44px;padding:0 20px;text-decoration:none;display:inline-flex}.layout{width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.sidebar{background-color:var(--color-bg-sidebar);border-right:1px solid #0000001a;flex-direction:column;width:250px;min-width:250px;padding:20px;transition:width .25s cubic-bezier(.4,0,.2,1),min-width .25s cubic-bezier(.4,0,.2,1),padding .25s cubic-bezier(.4,0,.2,1);display:flex}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.sidebar.collapsed{width:68px;min-width:68px;padding:20px 10px}.sidebar-header{margin-bottom:40px;padding-left:10px}.sidebar.collapsed .sidebar-header{text-align:center;padding-left:0}.sidebar-title{margin:0}.sidebar-title-short,.sidebar.collapsed .sidebar-title-full{display:none}.sidebar.collapsed .sidebar-title-short{background-color:var(--color-accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;margin:0 auto;font-size:18px;font-weight:700;display:flex}.sidebar-nav{flex-direction:column;gap:5px;display:flex}.nav-item{color:var(--color-text-muted);border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-weight:500;transition:all .2s;display:flex}.nav-item:hover{background-color:var(--overlay-hover);color:var(--color-text-primary)}.nav-item.active{background-color:var(--color-accent-bg);color:var(--color-accent-text)}.nav-item span{opacity:1;white-space:nowrap;transition:opacity .2s 50ms}.sidebar.collapsed .nav-item span{opacity:0;width:0;transition:opacity .1s;overflow:hidden}.sidebar.collapsed .nav-item{justify-content:center;gap:0;padding:10px}.nav-item svg{flex-shrink:0}.main-content{background-color:var(--color-bg-app);flex:1;min-width:0;padding:30px;overflow-y:auto}.sidebar-toggle-btn{cursor:pointer;background-color:#0000;border:none;justify-content:flex-start;width:100%;margin-bottom:4px}.sidebar.collapsed .sidebar-toggle-btn{justify-content:center}.theme-btn{cursor:pointer;border:1px solid var(--color-bg-sidebar);background-color:#0000;justify-content:flex-start;width:100%;margin-bottom:4px}.theme-btn:hover{background-color:#0000000d}.sidebar.collapsed .theme-btn{justify-content:center}.user-info{align-items:center;gap:10px;padding:8px 10px;display:flex}.user-avatar{background-color:var(--color-bg-avatar);width:36px;height:36px;color:var(--color-text-avatar);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-details{opacity:1;transition:opacity .2s;overflow:hidden}.user-name{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-primary);font-size:14px;font-weight:600;overflow:hidden}.user-email{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.sidebar.collapsed .user-details{opacity:0;width:0;overflow:hidden}.sidebar.collapsed .user-info{justify-content:center;gap:0;padding:8px}.sidebar.collapsed [data-tooltip]:before{padding:8px 14px;font-size:13px;top:50%;bottom:auto;left:calc(100% + 12px);transform:translateY(-50%)}.sidebar.collapsed [data-tooltip]:hover:before,.sidebar.collapsed [data-tooltip]:focus-visible:before{transform:translateY(-50%)}.nav-subitems{flex-direction:column;gap:2px;margin:2px 0 8px 32px;display:flex}.sidebar.collapsed .nav-subitems{display:none}.nav-subitem{color:var(--color-text-muted);white-space:nowrap;border-radius:6px;padding:6px 10px;font-size:13px}.nav-subitem:hover{color:var(--color-text-primary)}.nav-subitem.active{background:var(--color-accent-bg);color:var(--color-accent-text);font-weight:500}.user-menu{position:relative}.user-menu-trigger{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;transition:background-color .2s;display:flex}.user-menu-trigger:hover,.user-menu-trigger:focus-visible{background-color:#0000000d}.dark .user-menu-trigger:hover,.dark .user-menu-trigger:focus-visible{background-color:#ffffff0a}.user-menu-caret{color:var(--color-text-secondary);flex-shrink:0;margin-left:auto;transition:transform .2s}.sidebar.collapsed .user-menu-caret{display:none}.sidebar.collapsed .user-menu-trigger:hover,.sidebar.collapsed .user-menu-trigger:focus-visible{background-color:#0000000d}.dark .sidebar.collapsed .user-menu-trigger:hover,.dark .sidebar.collapsed .user-menu-trigger:focus-visible{background-color:#ffffff0a}.user-menu-dropdown{background-color:var(--color-bg-card);border:1px solid var(--overlay-border);min-width:200px;box-shadow:var(--overlay-shadow);z-index:var(--z-popover);animation:overlay-enter-up .2s var(--overlay-ease);border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;right:0}.user-menu-item{cursor:pointer;color:var(--color-text-primary);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:14px;text-decoration:none;display:flex}.user-menu-item:hover{background:var(--overlay-hover)}.auth{background:var(--color-bg-app);justify-content:center;align-items:center;min-height:100vh;padding:64px 16px;display:flex}.auth__panel{background:var(--color-bg-card);border-radius:var(--border-radius-lg);width:100%;max-width:560px;box-shadow:var(--shadow-md);flex-direction:column;gap:24px;padding:40px;display:flex}.auth__panel>[role=alert]:empty{position:absolute}.auth__panel--wide{max-width:880px}@media (width<=480px){.auth{padding:24px 16px}.auth__panel{gap:20px;padding:24px}}.auth__header{flex-direction:column;gap:4px;display:flex}.auth__title{letter-spacing:-.01em;color:var(--color-text-primary);margin:0;font-size:24px;font-weight:600}.auth__subtitle{color:var(--color-text-muted);margin:0;font-size:14px}.auth__form{flex-direction:column;gap:20px;display:flex}.auth__form .form-group{margin-bottom:0}.auth__password-row{align-items:center;display:flex;position:relative}.auth__password-row .form-input{padding-right:120px}.auth__password-toggle{border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;color:var(--color-accent-text);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0 12px;font-size:13px;font-weight:500;position:absolute;top:0;bottom:0;right:0}.auth__password-toggle:hover{color:var(--color-accent-hover)}.auth__interval-toggle{border:none;gap:16px;margin:0;padding:0;display:flex}.auth__interval-toggle label{cursor:pointer;color:var(--color-text-primary);align-items:center;gap:6px;font-size:14px;display:flex}.auth__yearly-badge{color:var(--color-success-text);font-size:12px}.auth__plans{grid-template-columns:1fr;align-items:stretch;gap:16px;display:grid}@media (width>=760px){.auth__plans{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.auth__actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.auth__legal{color:var(--color-text-muted);margin:0;font-size:12px}.auth__legal a,.auth__footer a{color:var(--color-accent-text);text-decoration:underline}.auth__legal a:hover,.auth__footer a:hover{color:var(--color-accent-hover)}.auth__footer{text-align:center;color:var(--color-text-muted);margin:0;font-size:14px}.auth__notice{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.auth__notice .btn-primary{text-decoration:none;display:inline-block}.type-icon{cursor:default;justify-content:center;align-items:center;transition:transform .15s;display:inline-flex;position:relative}.type-icon:hover{transform:scale(1.1)}dialog.modal-content{background-color:var(--color-bg-card);border:none;margin:auto;padding:0}dialog.modal-content .form-input,dialog.modal-content .form-select{box-sizing:border-box;background-color:var(--color-bg-card);border:1px solid #0000001a;border-radius:6px;padding:8px 10px;font-size:12px}.dark dialog.modal-content .form-input,.dark dialog.modal-content .form-select{border-color:#ffffff1a}dialog.modal-content::backdrop{background:#00000080}.modal-content .modal-form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.modal-content.stop-series-modal{max-width:480px}.stop-series-toggle{-webkit-user-select:none;user-select:none;gap:8px;margin-top:16px;display:flex}.stop-series-toggle input:focus+.toggle-slider{outline:2px solid var(--color-accent);outline-offset:2px}.icon-dropdown{display:inline-block;position:relative}.icon-dropdown-trigger{background-color:var(--color-bg-card);cursor:pointer;border:2px solid #0000001a;border-radius:8px;justify-content:center;align-items:center;gap:4px;min-width:40px;padding:6px 8px;font-size:12px;transition:all .15s;display:flex}.icon-dropdown-trigger:hover{background-color:#00000005}.icon-dropdown-trigger:focus{outline:none;box-shadow:0 0 0 3px #007aff26}.icon-dropdown-trigger:disabled,fieldset:disabled .icon-dropdown-trigger{opacity:.5;cursor:not-allowed}.icon-dropdown-trigger:disabled:hover,fieldset:disabled .icon-dropdown-trigger:hover{background-color:var(--color-bg-card)}.icon-dropdown-trigger:not(.has-value){opacity:.4}.icon-dropdown-chevron{color:var(--color-text-secondary);transition:transform .2s}.dark .icon-dropdown-trigger{border-color:#ffffff1a}.dark .icon-dropdown-trigger:hover{background-color:#ffffff0d}.icon-dropdown.with-label{width:100%;display:block}.icon-dropdown.with-label .icon-dropdown-trigger{justify-content:flex-start;gap:6px;width:100%;min-width:auto;padding:8px 12px}.icon-dropdown-label{color:var(--color-text-primary);flex:1;font-size:13px;font-weight:500}.icon-dropdown.with-label .icon-dropdown-chevron{margin-left:auto}.quick-create-popover{background-color:var(--color-bg-card);border-radius:10px;flex-direction:column;min-width:240px;display:flex}.quick-create-header{justify-content:space-between;align-items:center;padding:10px 12px 6px;display:flex}.quick-create-title{color:var(--color-text-primary);font-size:12px;font-weight:600}.quick-create-close{padding:2px}.quick-create-body{border:none;flex-direction:column;gap:8px;min-width:0;margin:0;padding:6px 12px;display:flex}.quick-create-body label{color:var(--color-text-secondary);flex-direction:column;gap:3px;font-size:11px;display:flex}.quick-create-body>label>input[type=text]{width:100%;color:var(--color-text-primary);background-color:#0000;border:1px solid #0000001a;border-radius:6px;outline:none;padding:8px 10px;font-size:12px}.quick-create-type-chip{background-color:var(--color-accent-bg);color:var(--color-text-primary);border-radius:999px;align-self:flex-start;padding:3px 8px;font-size:11px}.quick-create-error{font-size:11px}.quick-create-footer{justify-content:flex-end;gap:6px;padding:8px 12px 10px;display:flex}.quick-create-footer .btn-primary,.quick-create-footer .btn-secondary{padding:6px 12px;font-size:12px}.dark .quick-create-close:hover{background-color:#ffffff14}.dark .quick-create-body>label>input[type=text]{border-color:#ffffff1a}.quick-create-body>label>input[type=text]:focus,.dark .quick-create-body>label>input[type=text]:focus{border-color:var(--color-accent)}.project-selector-trigger{background-color:var(--color-bg-card);cursor:pointer;border:2px solid #0000001a;border-radius:8px;justify-content:center;align-items:center;gap:4px;min-width:40px;padding:6px 8px;font-size:12px;transition:all .15s;display:flex}.project-selector-trigger:hover{background-color:#00000005}.project-selector-trigger:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #007aff26}.project-selector-trigger:disabled{opacity:.5;pointer-events:none}.project-selector-trigger:not(.has-value){opacity:.55}.project-selector-emoji{font-size:16px;line-height:1}.dark .project-selector-trigger{border-color:#ffffff1a}.dark .project-selector-trigger:hover{background-color:#ffffff0d}.pill-indicator{background-color:var(--color-bg-raised);box-shadow:var(--shadow-pill);pointer-events:none;--pill-travel:.2s cubic-bezier(.4, 0, .2, 1);transition:transform var(--pill-travel), width var(--pill-travel), height var(--pill-travel);position:absolute;top:0;left:0}@media (prefers-reduced-motion:reduce){.pill-indicator{transition:none}}.toggle-button-group{background-color:var(--color-bg-track);border:1px solid var(--color-border-track);box-shadow:var(--shadow-track);box-sizing:border-box;--pill-bg:var(--color-bg-raised);--pill-shadow:var(--shadow-pill);border-radius:10px;flex-wrap:wrap;gap:2px;min-height:36px;padding:2px;display:inline-flex;position:relative}.toggle-button-group[data-pill-indicator=on]{--pill-bg:transparent;--pill-shadow:none}.toggle-button{cursor:pointer;min-height:30px;color:var(--color-text-muted);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;transition:background-color .15s,color .15s;display:inline-flex;position:relative}.toggle-button:hover{background-color:#0000000a}.toggle-button:focus{outline:none}.toggle-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px;z-index:var(--z-raised)}.toggle-button.active{background-color:var(--pill-bg);color:var(--color-text-primary);box-shadow:var(--pill-shadow);font-weight:600}.toggle-button.active:hover{background-color:var(--pill-bg)}.dark .toggle-button:hover{background-color:#ffffff0f}.dark .toggle-button:focus-visible{outline-color:var(--color-text-primary)}.dark .toggle-button.active:hover{background-color:var(--pill-bg)}.toggle-button:disabled,fieldset:disabled .toggle-button{cursor:not-allowed;opacity:.5}.toggle-button:disabled:hover,fieldset:disabled .toggle-button:hover{background-color:#0000}.toggle-button.active:disabled:hover,fieldset:disabled .toggle-button.active:hover{background-color:var(--pill-bg)}.dark .toggle-button:disabled:hover,.dark fieldset:disabled .toggle-button:hover{background-color:#0000}.dark .toggle-button.active:disabled:hover,.dark fieldset:disabled .toggle-button.active:hover{background-color:var(--pill-bg)}.toggle-button-group--sm{border-radius:var(--border-radius-md);min-height:auto;padding:2px}.toggle-button-group--sm .toggle-button{border-radius:var(--border-radius-sm);min-height:22px;padding:0 12px}.datepicker{width:100%;display:inline-block;position:relative}.datepicker-trigger{background-color:var(--color-bg-card);border:1px solid #0000001a;border-radius:6px;align-items:center;width:100%;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.datepicker-trigger:focus-within,.datepicker-trigger.open{border-color:var(--color-accent);box-shadow:0 0 0 3px #007aff26}.datepicker.has-adornment .datepicker-trigger{overflow:visible}.datepicker-adornment{display:contents}.dark .datepicker-trigger{border-color:#ffffff1a}.dark .datepicker-trigger:focus-within,.dark .datepicker-trigger.open{box-shadow:0 0 0 3px #007aff40}.datepicker-input{font-variant-numeric:tabular-nums;min-width:0;color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;padding:8px 0 8px 10px;font-family:inherit;font-size:12px}.datepicker-input::placeholder{color:var(--color-text-secondary)}.datepicker-input:disabled{opacity:.5;cursor:not-allowed}.datepicker-calendar-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:color .15s;display:flex}.datepicker-calendar-btn:hover:not(:disabled),.datepicker-trigger.open .datepicker-calendar-btn{color:var(--color-accent)}.datepicker-calendar-btn:disabled{opacity:.5;cursor:not-allowed}.datepicker-dropdown{background:var(--color-bg-card);border:1px solid var(--overlay-border);width:280px;box-shadow:var(--overlay-shadow);z-index:var(--z-popover-over);animation:overlay-enter .2s var(--overlay-ease);border-radius:12px;padding:14px;position:absolute;top:calc(100% + 6px);left:0}.datepicker-dropdown.up{animation-name:overlay-enter-up;top:auto;bottom:calc(100% + 6px)}.datepicker-header{justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 2px;display:flex}.datepicker-month-label{color:var(--color-text-primary);-webkit-user-select:none;user-select:none;letter-spacing:-.01em;font-size:14px;font-weight:650}.datepicker-nav-btn{width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;font-family:inherit;transition:all .15s;display:flex}.datepicker-nav-btn:hover{color:var(--color-text-primary);background-color:#0000000f}.dark .datepicker-nav-btn:hover{color:var(--color-text-primary);background-color:#ffffff14}.datepicker-nav-btn:active{transform:scale(.9)}.datepicker-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.datepicker-weekday{text-align:center;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.4px;opacity:.7;padding:4px 0;font-size:10.5px;font-weight:600}.datepicker-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.datepicker-cell{font-variant-numeric:tabular-nums;height:34px;color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-family:inherit;font-size:13px;transition:all .12s;display:flex;position:relative}.datepicker-cell.empty{cursor:default;pointer-events:none}.datepicker-cell:not(.empty):not(.selected):hover{background:#0000000d}.dark .datepicker-cell:not(.empty):not(.selected):hover{background:#ffffff12}.datepicker-cell.selected{background:var(--color-accent);color:#fff;font-weight:600;box-shadow:0 1px 6px #007aff66}.datepicker-cell.selected:hover{background:var(--color-accent-hover)}.datepicker-cell.today{color:var(--color-accent);font-weight:700}.datepicker-cell.today:after{content:"";background:var(--color-accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.datepicker-footer{border-top:1px solid #0000000f;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;display:flex}.dark .datepicker-footer{border-top-color:#ffffff0f}.datepicker-footer-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s}.datepicker-footer-btn:hover{color:var(--color-text-primary);background:#0000000a}.dark .datepicker-footer-btn:hover{background:#ffffff0f}.datepicker-footer-btn.accent{color:var(--color-accent);font-weight:600}.datepicker-footer-btn.accent:hover{background:#007aff1a}.recurrence-fields{background-color:var(--color-bg-secondary);border:none;border-radius:8px;margin:4px 0 0;padding:16px 18px 18px}.recurrence-fields legend{background-color:var(--color-bg-card);border:1px solid var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:12px;margin:0;padding:2px 10px;font-size:13px;font-weight:500}.recurrence-grid{grid-template-columns:repeat(12,1fr);gap:14px 16px;display:grid}.recurrence-field{flex-direction:column;grid-column:span 12;gap:6px;min-width:0;display:flex}.recurrence-field.col-3{grid-column:span 3}.recurrence-field.col-4{grid-column:span 4}.recurrence-field.col-6{grid-column:span 6}.recurrence-field.col-9{grid-column:span 9}.recurrence-field.col-12{grid-column:span 12}.recurrence-field>label,.recurrence-field>.recurrence-field-label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.recurrence-field .toggle-button-group{min-height:33px}.recurrence-field .toggle-button{min-height:27px}.recurrence-field .toggle-button-group{align-self:flex-start}.recurrence-ends-row{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.recurrence-ends-row .toggle-button-group{align-self:auto}.recurrence-fields .form-input,.recurrence-fields .form-select{background-color:var(--color-bg-card)}.recurrence-fields .recurrence-anchor-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.recurrence-fields .recurrence-anchor-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.recurrence-fields .recurrence-occurrences-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.recurrence-fields .recurrence-occurrences-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.recurrence-fields .recurrence-anchor-input,.recurrence-fields .recurrence-occurrences-input{appearance:textfield}.recurrence-hint-cell{flex-direction:column;justify-content:flex-end;align-items:flex-end;min-width:0;min-height:33px;display:flex}.recurrence-hint-cell.col-3{grid-column:span 3}.recurrence-hint-cell.col-6{grid-column:span 6}.recurrence-hint-cell.col-9{grid-column:span 9}.recurrence-hint{max-width:100%;color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-style:italic;overflow:hidden}.recurrence-anchor-input{max-width:120px}.recurrence-occurrences-input,.recurrence-field .datepicker{max-width:140px}.recurrence-field .datepicker-dropdown{z-index:var(--z-overlap);top:auto;bottom:calc(100% + 6px)}.recurrence-fields .recurrence-anchor-input,.recurrence-fields .recurrence-occurrences-input{text-align:right;height:33px;font-family:var(--font-money);font-variant-numeric:tabular-nums;border-color:#0000001a;padding:6px 12px}.dark .recurrence-fields .recurrence-anchor-input,.dark .recurrence-fields .recurrence-occurrences-input{border-color:#ffffff1a}.recurrence-preview{border-top:1px dashed var(--color-border);flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:10px;font-size:13px;display:flex}.recurrence-preview-label{color:var(--color-text-secondary)}.recurrence-preview-dates{font-family:var(--font-money);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}@media (width<=640px){.recurrence-field,.recurrence-field.col-3,.recurrence-field.col-4,.recurrence-field.col-6,.recurrence-field.col-9,.recurrence-hint-cell,.recurrence-hint-cell.col-3,.recurrence-hint-cell.col-6,.recurrence-hint-cell.col-9{grid-column:span 12}}.amount-field{text-align:right;font-family:var(--font-money);font-variant-numeric:tabular-nums;height:var(--amount-field-height,33px)}.amount-field--error{border-color:var(--color-danger)}.amount-field--error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-bg)}.amount-field--readonly{font-family:var(--font-money);font-variant-numeric:tabular-nums;text-align:right;color:inherit;display:inline-block}.modal-content.recurring-modal{width:90vw;max-width:720px}.recurring-modal .modal-body{flex-direction:column;gap:18px;display:flex}.recurring-modal .modal-field-grid{grid-template-columns:repeat(12,1fr);gap:14px 16px;display:grid}.recurring-modal .modal-field{flex-direction:column;grid-column:span 12;gap:6px;min-width:0;display:flex}.recurring-modal .modal-field.col-2{grid-column:span 2}.recurring-modal .modal-field.col-3{grid-column:span 3}.recurring-modal .modal-field.col-4{grid-column:span 4}.recurring-modal .modal-field.col-5{grid-column:span 5}.recurring-modal .modal-field.col-6{grid-column:span 6}.recurring-modal .modal-field.col-12,.recurring-modal .modal-field.full{grid-column:span 12}.recurring-modal .modal-field>label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.recurring-modal .modal-field .icon-dropdown.with-label .icon-dropdown-trigger{padding-top:5px;padding-bottom:5px}.recurring-modal .modal-field .icon-dropdown:not(.with-label) .icon-dropdown-trigger{box-sizing:border-box;height:33px}.recurring-modal .modal-field .form-input{background-color:var(--color-bg-card);box-sizing:border-box;height:33px;padding-top:5px;padding-bottom:5px}.recurring-modal .modal-field .amount-input{text-align:right;font-family:var(--font-money);font-variant-numeric:tabular-nums}.recurring-modal .modal-field .amount-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.recurring-modal .modal-field .amount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.recurring-modal .modal-field .amount-input{appearance:textfield}@media (width<=640px){.recurring-modal .modal-field,.recurring-modal .modal-field.col-2,.recurring-modal .modal-field.col-3,.recurring-modal .modal-field.col-4,.recurring-modal .modal-field.col-5,.recurring-modal .modal-field.col-6{grid-column:span 12}}.modal-content.diff-confirm-modal{width:90vw;max-width:500px}.diff-section{margin:12px 0}.diff-table{font-family:var(--font-money);font-variant-numeric:tabular-nums;margin-top:8px;font-size:13px}.diff-table td{padding:4px 8px}.diff-from{color:var(--color-text-secondary);text-decoration:line-through}.diff-to{color:var(--color-accent);font-weight:500}.row-action-menu{align-items:center;display:inline-flex;position:relative}.row-action-menu-dropdown{background-color:var(--color-bg-card);border:1px solid var(--overlay-border);min-width:100px;box-shadow:var(--overlay-shadow);z-index:var(--z-popover);animation:overlay-enter .2s var(--overlay-ease);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 4px);right:0}.row-action-menu-dropdown.up{animation-name:overlay-enter-up;top:auto;bottom:calc(100% + 4px)}.row-action-item{cursor:pointer;width:100%;color:var(--color-text-primary);background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:14px;transition:background-color .1s;display:flex}.row-action-item:hover{background-color:var(--overlay-hover)}.row-action-icon{width:18px;height:18px;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.row-action-item.danger,.row-action-item.danger .row-action-icon{color:var(--color-danger)}.row-action-item.danger:hover{background-color:#ff3b3014}.row-action-item.disabled{opacity:.4;pointer-events:none}.row-action-separator{background-color:#00000014;height:1px;margin:4px 2px}.dark .row-action-separator{background-color:#ffffff1a}.multi-select-filter{position:relative}.multi-select-trigger{background-color:var(--color-bg-card);border:1px solid var(--color-border);height:36px;box-shadow:var(--shadow-sm);color:var(--color-text-primary);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:0 14px;font-size:14px;transition:all .2s;display:flex}.multi-select-trigger:hover{background-color:var(--color-bg-secondary)}.multi-select-overlay{z-index:var(--z-popover);position:fixed;inset:0}.multi-select-menu{background-color:var(--color-bg-card);border:1px solid var(--overlay-border);min-width:220px;max-height:300px;box-shadow:var(--overlay-shadow);z-index:calc(var(--z-popover) + 1);animation:overlay-enter .2s var(--overlay-ease);border-radius:12px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden}.multi-select-menu.centered{animation-name:overlay-enter-centered;left:50%;transform:translate(-50%)}.multi-select-item{cursor:pointer;color:var(--color-text-primary);border-radius:8px;align-items:center;gap:10px;padding:8px;font-size:14px;transition:background-color .15s;display:flex}.multi-select-item:hover{background-color:var(--overlay-hover)}.multi-select-item-parent{color:var(--color-text-secondary)}.multi-select-checkbox{border:2px solid var(--color-text-secondary);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.multi-select-checkbox.checked{background-color:var(--color-accent);border-color:var(--color-accent)}.multi-select-search{background-color:var(--color-bg-card);border-bottom:1px solid #0000000f;flex-shrink:0;align-items:center;gap:8px;padding:4px 12px;display:flex}.dark .multi-select-search{border-bottom-color:#ffffff0f}.multi-select-items{flex:1;padding:8px;overflow-y:auto}.multi-select-search-icon{color:var(--color-text-secondary);flex-shrink:0}.multi-select-search-input{width:100%;color:var(--color-text-primary);background:0 0;border:none;outline:none;padding:8px 4px;font-size:14px}.multi-select-search-input::placeholder{color:var(--color-text-secondary)}.multi-select-item.focused{background-color:var(--overlay-hover)}.multi-select-item>span{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;width:0;overflow:hidden}.multi-select-item:has(.multi-select-only){position:relative}.multi-select-only{visibility:hidden;background:var(--color-bg-secondary);color:var(--color-accent);cursor:pointer;border:0;border-radius:6px;flex-shrink:0;padding:0 8px;font-size:12px;line-height:18px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.multi-select-item:hover .multi-select-only,.multi-select-item.focused .multi-select-only{visibility:visible;position:static;transform:none}@media (hover:none){.multi-select-only{visibility:visible;position:static;transform:none}}.project-icon{cursor:default;position:relative}.amount-in,.amount-out,.amount-transfer,.amount-neutral{font-family:var(--font-money);font-variant-numeric:tabular-nums;font-size:15px}.amount-in{color:var(--color-success-text);font-weight:600}.amount-out{color:var(--color-danger-text);font-weight:500}.amount-transfer{color:var(--color-text-primary);font-weight:500}.amount-neutral{color:var(--color-text-muted);font-weight:500}.amount-exchange-hint{cursor:help;text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;position:relative}.amount-exchange-hint:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.amount-exchange-hint[data-tooltip]:before{white-space:pre;text-align:left}.table-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);position:relative}.table-card__footer{border-bottom-left-radius:var(--border-radius-lg);border-bottom-right-radius:var(--border-radius-lg);border-top:1px solid #00000014}.dark .table-card__footer{border-top-color:#ffffff14}.table-footer{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:12px;padding:9px 16px;font-size:13px;display:flex}.table-footer__nav{padding:6px 14px}.table-footer__status{text-align:center;flex:1}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.data-table--fixed{table-layout:fixed}.data-table thead{text-align:left}.data-table thead th{background-color:var(--color-bg-header);border-bottom:1px solid var(--color-border)}.data-table thead tr th:first-child{border-top-left-radius:var(--border-radius-lg)}.data-table thead tr th:last-child{border-top-right-radius:var(--border-radius-lg)}.data-table th{color:var(--color-text-muted);white-space:nowrap;padding:14px 12px;font-weight:600}.data-table td{height:var(--table-row-height);border-bottom:1px solid #00000014;padding:12px}.dark .data-table td{border-bottom:1px solid #ffffff14}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--border-radius-lg)}.data-table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--border-radius-lg)}.data-table tbody td>*{vertical-align:middle}.data-table tbody td{line-height:normal}.data-table tbody .amount-in,.data-table tbody .amount-out,.data-table tbody .amount-transfer{display:block}.data-table tbody tr{transition:background-color .15s}.data-table tbody tr:hover{background-color:#00000008}.dark .data-table tbody tr:hover{background-color:#ffffff0a}.data-table.is-fetching tbody{opacity:.6;pointer-events:none}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;padding:0;transition:color .15s}.data-table th.sortable:hover,.data-table th.sorted{color:var(--color-text-primary)}.data-table th.sorted .sort-header{opacity:.7;transition:opacity .15s}.data-table th.sorted:hover .sort-header{opacity:1}.data-table .sort-header{align-items:center;gap:6px;display:flex}.data-table button.sort-header{font:inherit;color:inherit;cursor:pointer;box-sizing:border-box;background:0 0;border:none;width:100%;min-height:49px;margin:0;padding:14px 12px}.data-table button.sort-header:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.data-table .sort-indicator{opacity:.3;flex-direction:column;gap:0;transition:opacity .15s;display:flex}.data-table .sort-indicator.active{opacity:1}.data-table td.data-table__empty{text-align:center;color:var(--color-text-muted);height:auto;padding:30px;line-height:21px}.data-table td .skeleton{margin-bottom:0}.data-table td.data-table__actions{padding-block:6px}.data-table__actions-row{justify-content:flex-end;align-items:center;gap:6px;display:flex}.skeleton{background-color:var(--color-bg-secondary);border-radius:var(--border-radius-md);opacity:.7;margin-bottom:8px;animation:.2s ease-out .2s both skeleton-appear,1.6s ease-in-out .4s infinite skeleton-pulse;display:block}.skeleton:last-child,.skeleton--block{margin-bottom:0}@keyframes skeleton-appear{0%{opacity:0}}@keyframes skeleton-pulse{0%,to{opacity:.7}50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.skeleton{animation:0s linear .2s both skeleton-appear}}.search-input{background-color:var(--color-bg-card);border:1px solid var(--color-border);height:36px;box-shadow:var(--shadow-sm);border-radius:10px;align-items:center;margin-bottom:20px;display:flex;position:relative}.search-input:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px #007aff26}.search-input__icon{color:var(--color-text-secondary);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input__field{width:100%;height:100%;color:var(--color-text-primary);background:0 0;border:none;border-radius:10px;outline:none;padding:0 12px 0 38px;font-family:inherit;font-size:14px}.search-input__field::placeholder{color:var(--color-text-muted)}.list-page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;display:flex}.list-page-header--dense{margin-bottom:20px}.list-page-header__title{letter-spacing:-.01em;margin:0 0 5px;font-size:24px;font-weight:600}.list-page-header__subtitle{color:var(--color-text-muted);margin:0;font-size:14px}.list-page-header__action{flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;display:inline-flex}.detail-header-card h1{letter-spacing:-.01em;margin:0 0 5px;font-size:24px;font-weight:600}.detail-header-card>.detail-header-row p{color:var(--color-text-muted);margin:0;font-size:14px}.recurring-row{cursor:pointer}.recurring-card.recurring-row:hover{background:var(--color-bg-secondary)}.recurring-type-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.recurring-type-row .icon-btn{flex:none;min-width:36px;min-height:36px}.recurring-type-row .icon-btn[aria-disabled=true]{opacity:.4;cursor:not-allowed;pointer-events:none}.recurring-type-row .icon-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.recurring-card:last-child{border-bottom:none}.data-table .col-progress{white-space:nowrap;text-align:center;width:38px;padding-left:4px;padding-right:4px}.recurring-page .col-account,.recurring-page .col-category{color:var(--color-text-muted)}.muted{opacity:.4}.recurring-empty-state{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);text-align:center;color:var(--color-text-muted);padding:60px 20px}.recurring-empty-state__icon{color:var(--color-text-secondary);opacity:.6;margin-bottom:16px}.recurring-empty-state__title{color:var(--color-text-primary);margin:0 0 8px;font-size:18px;font-weight:600}.recurring-empty-state__text{margin:0;font-size:14px}.recurring-empty-state__action{margin-top:20px}.back-link{cursor:pointer;color:var(--color-accent);border-radius:var(--border-radius-sm);background:0 0;border:none;margin-bottom:8px;margin-left:-8px;padding:4px 8px;font-size:14px;transition:background-color .15s;display:inline-block}.back-link:hover{background:var(--overlay-hover)}.status-pill{vertical-align:middle;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.recurring-detail .status-pill{margin-left:8px}.status-active{background-color:var(--color-success-bg);color:var(--color-success-text)}.status-stopped{background-color:var(--color-bg-secondary);color:var(--color-text-muted)}.status-completed{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.edit-series-loading{align-items:center;display:inline-flex}@media (width>=641px){.recurring-page:not(.recurring-detail){min-width:1130px}}.recurring-detail{min-width:640px}.data-table .col-category,.data-table .col-description{text-overflow:ellipsis;white-space:nowrap;max-width:0;overflow:hidden}.recurring-card-list{display:none}@media (width<=640px){.recurring-page:not(.recurring-detail) .table-card{display:none}.recurring-card-list{margin:0;padding:0;list-style:none;display:block}.recurring-card{border-bottom:1px solid var(--color-border);padding:12px}.recurring-card-header{justify-content:space-between;align-items:center;display:flex}.recurring-card-title{align-items:center;gap:8px;display:flex}.recurring-card-meta{color:var(--color-text-muted);justify-content:space-between;margin-top:4px;font-size:13px;display:flex}.recurring-card-meta-account{align-items:center;gap:5px;display:inline-flex}.recurring-card-actions{gap:8px;margin-top:8px;display:flex}}.detail-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:16px}.detail-card h2{color:var(--color-text-primary);margin:0 0 12px;font-size:15px;font-weight:600}.detail-card dl{grid-template-columns:max-content minmax(0,320px);gap:8px 16px;margin:0;font-size:14px;display:grid}.detail-card dt{color:var(--color-text-muted);font-weight:500}.detail-card dd{color:var(--color-text-primary);margin:0}.detail-card .template-grid{grid-template-columns:max-content minmax(0,280px) max-content minmax(0,280px);gap:8px 16px;margin:0;font-size:14px;display:grid}.detail-card .template-inline-cell{align-items:center;gap:6px;display:inline-flex}.detail-grid-wrap{container-type:inline-size}.detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:16px;margin-bottom:0;display:grid}.detail-grid>.detail-card{margin-bottom:0}@container (width<=960px){.detail-grid{grid-template-columns:1fr}}@container (width<=640px){.detail-card .template-grid{grid-template-columns:max-content minmax(0,1fr)}}@container (width<=420px){.detail-card dl,.detail-card .template-grid{grid-template-columns:1fr}}.recurring-detail .detail-header-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:20px}.recurring-detail .detail-header-card .back-link{margin-bottom:8px}.recurring-detail .detail-header-card .detail-header-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.recurring-detail .detail-header-card .detail-header-title{flex:auto;min-width:0}.recurring-detail .detail-header-card .detail-actions{flex-shrink:0;gap:8px;display:flex}@media (width<=720px){.recurring-detail .detail-header-card .detail-header-row{flex-direction:column}}.occurrences-section{margin-top:28px}.occurrences-section h2{color:var(--color-text-primary);margin:0 0 12px;font-size:18px;font-weight:600}.recurring-detail .detail-header-error{color:var(--color-danger-text);margin:12px 0 0;font-size:13px}.data-table.occurrences-table{table-layout:fixed}.data-table.occurrences-table tbody th{height:var(--table-row-height);color:inherit;text-align:left;border-bottom:1px solid #00000014;padding:12px;font-weight:400}.dark .data-table.occurrences-table tbody th{border-bottom:1px solid #ffffff14}.data-table.occurrences-table tbody tr:last-child th{border-bottom:none}.data-table.occurrences-table tbody tr:last-child th:first-child{border-bottom-left-radius:var(--border-radius-lg)}.data-table.occurrences-table tbody tr[tabindex="0"]{cursor:pointer}.data-table.occurrences-table tbody tr[tabindex="0"]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.data-table.occurrences-table .occurrence-inline-form-announcement>td{border-bottom:none;height:0;padding:0}.recurring-detail .detail-header-card .detail-actions:empty{display:none}.modal-content.confirm-dialog{max-width:480px}.confirm-dialog .modal-body p{margin:0;line-height:1.5}.modal-content.series-edit-modal{width:90vw;max-width:720px}.series-edit-modal-fieldset{border:0;min-width:0;margin:0;padding:0}.series-edit-modal .modal-body{flex-direction:column;gap:18px;display:flex}.series-edit-modal .modal-field-grid{grid-template-columns:repeat(12,1fr);gap:14px 16px;display:grid}.series-edit-modal .modal-field{flex-direction:column;grid-column:span 12;gap:6px;min-width:0;display:flex}.series-edit-modal .modal-field.col-2{grid-column:span 2}.series-edit-modal .modal-field.col-3{grid-column:span 3}.series-edit-modal .modal-field.col-4{grid-column:span 4}.series-edit-modal .modal-field.col-5{grid-column:span 5}.series-edit-modal .modal-field.col-6{grid-column:span 6}.series-edit-modal .modal-field.col-12,.series-edit-modal .modal-field.full{grid-column:span 12}.series-edit-modal .modal-field>label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.series-edit-modal .modal-field .icon-dropdown.with-label .icon-dropdown-trigger{padding-top:5px;padding-bottom:5px}.series-edit-modal .modal-field .icon-dropdown:not(.with-label) .icon-dropdown-trigger{box-sizing:border-box;height:33px}.series-edit-modal .modal-field .form-input{background-color:var(--color-bg-card);box-sizing:border-box;height:33px;padding-top:5px;padding-bottom:5px}.series-edit-modal .modal-field .amount-input{text-align:right;font-family:var(--font-money);font-variant-numeric:tabular-nums}.series-edit-modal .modal-field .amount-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.series-edit-modal .modal-field .amount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.series-edit-modal .modal-field .amount-input{appearance:textfield}@media (width<=640px){.series-edit-modal .modal-field,.series-edit-modal .modal-field.col-2,.series-edit-modal .modal-field.col-3,.series-edit-modal .modal-field.col-4,.series-edit-modal .modal-field.col-5,.series-edit-modal .modal-field.col-6{grid-column:span 12}}.inline-form-row{background-color:#007aff0a}.dark .inline-form-row{background-color:#007aff14}.transactions-table .inline-form-row td{vertical-align:middle;padding:9px 3px}.transactions-table .inline-form-row td:nth-last-child(-n+2){padding:8px 6px}@keyframes editRowEnter{0%{background-color:#0000}to{background-color:var(--color-warning-light-bg)}}.inline-form-row.editing-row{background-color:var(--color-warning-light-bg);animation:.25s ease-out editRowEnter}.transactions-table .inline-form-row .inline-input,.transactions-table .inline-form-row .amount-field{font-size:inherit;background:0 0;padding:7px 8px;transition:border-color .15s,box-shadow .15s,background-color .15s}.transactions-table .inline-form-row .inline-input,.transactions-table .inline-form-row .amount-field:not(.amount-field--error){border-color:#0000}.transactions-table .inline-form-row .inline-input:not(.amount-input){font-weight:500}.transactions-table .inline-form-row .inline-input.amount-input,.transactions-table .inline-form-row .amount-field{font-size:15px;font-weight:500}.transactions-table .inline-form-row .custom-select-trigger{font-size:inherit;background:0 0;border-color:#0000;padding:7px 8px;transition:border-color .15s,box-shadow .15s,background-color .15s}.transactions-table .inline-form-row .datepicker-trigger{background:0 0;border-color:#0000;transition:border-color .15s,box-shadow .15s,background-color .15s}.transactions-table .inline-form-row .datepicker-input{font-size:inherit;padding:7px 0 7px 8px}.transactions-table .inline-form-row .datepicker-calendar-btn{opacity:0;padding:7px 6px;transition:opacity .15s}.transactions-table .inline-form-row .inline-date-edit .datepicker-calendar-btn{padding:7px 2px}.transactions-table .inline-form-row .icon-dropdown-trigger,.transactions-table .inline-form-row .project-selector-trigger{box-sizing:border-box;background:0 0;height:33px;padding-top:0;padding-bottom:0;transition:border-color .15s,box-shadow .15s,background-color .15s;border-color:#0000!important}.transactions-table .inline-form-row .icon-dropdown-trigger:hover,.transactions-table .inline-form-row .project-selector-trigger:hover{border-color:#0000001f!important}.transactions-table .inline-form-row .project-selector-trigger{margin-left:auto;margin-right:auto}.transactions-table .inline-form-row .icon-dropdown-trigger:focus,.transactions-table .inline-form-row .project-selector-trigger:focus{border-color:var(--color-accent)!important}.dark .transactions-table .inline-form-row .icon-dropdown-trigger:hover,.dark .transactions-table .inline-form-row .project-selector-trigger:hover{border-color:#ffffff1f!important}.transactions-table .inline-form-row .custom-select-chevron{opacity:0;transition:opacity .15s}.transactions-table .inline-form-row .custom-select:hover .custom-select-chevron,.transactions-table .inline-form-row .custom-select-trigger:focus .custom-select-chevron,.transactions-table .inline-form-row .datepicker-trigger:hover .datepicker-calendar-btn,.transactions-table .inline-form-row .datepicker-trigger:focus-within .datepicker-calendar-btn{opacity:1}.transactions-table .inline-form-row .inline-input:hover,.transactions-table .inline-form-row .amount-field:not(.amount-field--error):hover,.transactions-table .inline-form-row .custom-select-trigger:hover,.transactions-table .inline-form-row .datepicker-trigger:hover,.transactions-table .inline-form-row .icon-dropdown-trigger:hover,.transactions-table .inline-form-row .project-selector-trigger:hover{background-color:#00000005;border-color:#0000001f}.transactions-table .inline-form-row .amount-field.amount-field--error:hover{background-color:#00000005}.transactions-table .inline-form-row .inline-input:focus,.transactions-table .inline-form-row .amount-field:not(.amount-field--error):focus{border-color:var(--color-accent);background-color:var(--color-bg-card);box-shadow:0 0 0 2px #007aff1a}.transactions-table .inline-form-row .amount-field.amount-field--error:focus{background-color:var(--color-bg-card)}.transactions-table .inline-form-row .custom-select-trigger:focus,.transactions-table .inline-form-row .datepicker-trigger:focus-within,.transactions-table .inline-form-row .icon-dropdown-trigger:focus,.transactions-table .inline-form-row .project-selector-trigger:focus{border-color:var(--color-accent);background-color:var(--color-bg-card);box-shadow:0 0 0 2px #007aff1a}.dark .transactions-table .inline-form-row .inline-input:hover,.dark .transactions-table .inline-form-row .amount-field:not(.amount-field--error):hover,.dark .transactions-table .inline-form-row .custom-select-trigger:hover,.dark .transactions-table .inline-form-row .datepicker-trigger:hover,.dark .transactions-table .inline-form-row .icon-dropdown-trigger:hover,.dark .transactions-table .inline-form-row .project-selector-trigger:hover{background-color:#ffffff08;border-color:#ffffff1f}.dark .transactions-table .inline-form-row .amount-field.amount-field--error:hover{background-color:#ffffff08}.dark .transactions-table .inline-form-row .inline-input:focus,.dark .transactions-table .inline-form-row .amount-field:not(.amount-field--error):focus,.dark .transactions-table .inline-form-row .custom-select-trigger:focus,.dark .transactions-table .inline-form-row .datepicker-trigger:focus-within,.dark .transactions-table .inline-form-row .icon-dropdown-trigger:focus,.dark .transactions-table .inline-form-row .project-selector-trigger:focus{border-color:var(--color-accent);background-color:var(--color-bg-card)}.inline-input,.amount-field{background-color:var(--color-bg-card);width:100%;color:var(--color-text-primary);border:1px solid #0000001a;border-radius:6px;outline:none;padding:8px 6px;font-size:12px;transition:border-color .15s,box-shadow .15s}.inline-input{font-family:inherit}.amount-field.amount-field--error{border:1px solid var(--color-danger)}.inline-input:focus,.amount-field:not(.amount-field--error):focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #007aff26}.inline-input::placeholder,.amount-field::placeholder{color:var(--color-text-secondary)}.inline-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.inline-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inline-input[type=number]{appearance:textfield}.inline-input.amount-input{text-align:right;font-family:var(--font-money);font-variant-numeric:tabular-nums}.dark .inline-input,.dark .amount-field:not(.amount-field--error){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-color:#ffffff1a}.dark .inline-input:focus,.dark .amount-field:not(.amount-field--error):focus{box-shadow:0 0 0 3px #007aff40}.inline-row-error-popover{z-index:var(--z-popover);text-align:left;max-width:min(560px,100vw - 16px);position:fixed}.inline-row-error-popover.is-open{background-color:var(--color-bg-card);box-shadow:var(--overlay-shadow);animation:overlay-enter .2s var(--overlay-ease);border:1px solid #ff3b3066;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 8px 10px 16px;display:flex}.inline-row-error-popover.is-open[data-placement=above]{animation-name:overlay-enter-up}.inline-row-error-popover-text{color:var(--color-danger-text);overflow-wrap:anywhere;font-size:14px;font-weight:500;line-height:1.4}.inline-row-error-popover-close{flex-shrink:0}.save-btn{color:var(--color-success,#34c759)}.save-btn:hover{background-color:#34c7591a}.transactions-table .inline-form-row .icon-btn{padding:3px;position:relative}.inline-exchange-desc-cell{align-items:center;gap:6px;display:flex}.inline-exchange-desc-cell .inline-input{flex:1;min-width:90px}.inline-exchange-send{flex:0 0 120px}.transactions-table .transaction-inline-form-announcement>td{border-bottom:none;height:0;padding:0}.dark .transactions-table .transaction-inline-form-announcement>td{border-bottom:none}.transactions-table tbody tr[tabindex="0"]{cursor:pointer}.transactions-table tbody tr[tabindex="0"]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.occurrence-inline-form .inline-input.amount-input,.occurrence-inline-form .amount-field{text-align:right;font-family:var(--font-money);font-variant-numeric:tabular-nums;font-size:15px}.occurrence-inline-form .inline-input:not(.amount-input){font-weight:400}.occurrence-inline-form .datepicker-input{font-size:14px}.occurrence-inline-form td:nth-child(2),.occurrence-inline-form td:nth-child(3),.occurrence-inline-form td:nth-child(4){padding:8px 3px}.occurrence-inline-form .icon-btn.save-btn .spin{animation:.8s linear infinite occurrence-inline-spin}@keyframes occurrence-inline-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.data-table.occurrences-table .inline-form-row .inline-input,.data-table.occurrences-table .inline-form-row .amount-field{background:0 0;padding:7px 8px;transition:border-color .15s,box-shadow .15s,background-color .15s}.data-table.occurrences-table .inline-form-row .inline-input,.data-table.occurrences-table .inline-form-row .amount-field:not(.amount-field--error){border-color:#0000}.data-table.occurrences-table .inline-form-row .inline-input:not(.amount-input){font-size:inherit}.data-table.occurrences-table .inline-form-row .datepicker-trigger{background:0 0;border-color:#0000;transition:border-color .15s,box-shadow .15s,background-color .15s}.data-table.occurrences-table .inline-form-row .datepicker-input{padding:7px 0 7px 8px}.data-table.occurrences-table .inline-form-row .datepicker-calendar-btn{opacity:0;padding:7px 6px;transition:opacity .15s}.data-table.occurrences-table .inline-form-row .datepicker-trigger:hover .datepicker-calendar-btn,.data-table.occurrences-table .inline-form-row .datepicker-trigger:focus-within .datepicker-calendar-btn{opacity:1}.data-table.occurrences-table .inline-form-row .inline-input:hover,.data-table.occurrences-table .inline-form-row .amount-field:not(.amount-field--error):hover,.data-table.occurrences-table .inline-form-row .datepicker-trigger:hover{background-color:#00000005;border-color:#0000001f}.data-table.occurrences-table .inline-form-row .amount-field.amount-field--error:hover{background-color:#00000005}.data-table.occurrences-table .inline-form-row .inline-input:focus,.data-table.occurrences-table .inline-form-row .amount-field:not(.amount-field--error):focus{border-color:var(--color-accent);background-color:var(--color-bg-card);box-shadow:0 0 0 2px #007aff1a}.data-table.occurrences-table .inline-form-row .amount-field.amount-field--error:focus{background-color:var(--color-bg-card)}.data-table.occurrences-table .inline-form-row .datepicker-trigger:focus-within{border-color:var(--color-accent);background-color:var(--color-bg-card);box-shadow:0 0 0 2px #007aff1a}.dark .data-table.occurrences-table .inline-form-row .inline-input:hover,.dark .data-table.occurrences-table .inline-form-row .amount-field:not(.amount-field--error):hover,.dark .data-table.occurrences-table .inline-form-row .datepicker-trigger:hover{background-color:#ffffff08;border-color:#ffffff1f}.dark .data-table.occurrences-table .inline-form-row .amount-field.amount-field--error:hover{background-color:#ffffff08}.dark .data-table.occurrences-table .inline-form-row .inline-input:focus,.dark .data-table.occurrences-table .inline-form-row .amount-field:not(.amount-field--error):focus,.dark .data-table.occurrences-table .inline-form-row .datepicker-trigger:focus-within{border-color:var(--color-accent);background-color:var(--color-bg-card)}.modal-content.series-action-modal{max-width:400px}.series-action-desc{color:var(--color-text-secondary);margin:0 0 16px;font-size:14px;line-height:1.5}.series-action-buttons{flex-direction:column;gap:8px;display:flex}.series-action-btn{border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:14px 16px;transition:all .15s;display:flex}.series-action-btn:hover:not(:disabled){border-color:var(--color-accent);background-color:#007aff1f}.series-action-btn.danger:hover:not(:disabled){border-color:var(--color-danger);background-color:#ff3b301f}.dark .series-action-btn:hover:not(:disabled){background-color:#0a84ff2e}.dark .series-action-btn.danger:hover:not(:disabled){background-color:#ff453a2e}.series-action-btn:disabled{opacity:.4;cursor:not-allowed}.series-action-btn-title{color:var(--color-text-primary);font-size:14px;font-weight:600}.series-action-btn-subtitle{color:var(--color-text-secondary);font-size:12px}.paid-badge{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:inline-flex;position:relative}.paid-badge.paid{color:var(--color-success-text)}.paid-badge.paid:hover:not(:disabled){transform:scale(1.15)}.paid-badge.unpaid{color:var(--color-text-muted)}.paid-badge.unpaid:hover:not(:disabled){color:var(--color-text-primary);transform:scale(1.15)}.paid-badge:disabled{opacity:.5;cursor:progress}.paid-badge[data-tooltip]:disabled:hover:before,.paid-badge[data-tooltip]:disabled:focus-visible:before{opacity:0;visibility:hidden}
