@keyframes ui-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);animation:ui-fade-in var(--duration-theme) ease-out;padding:20px}.ui-category-icon{flex-shrink:0;display:grid}.ui-category-icon-shape,.ui-category-icon-glyph{grid-area:1/1}.ui-category-icon-shape{width:100%;height:100%}.ui-category-icon-soft .ui-category-icon-shape{filter:drop-shadow(var(--icon-soft-shadow))}.ui-category-icon-real .ui-category-icon-glyph{filter:drop-shadow(0 1px 2px #00000059)}.ui-category-icon-premium .ui-category-icon-glyph{filter:drop-shadow(0 1px 3px #00000073)}.ui-category-icon-glyph{z-index:1;justify-content:center;align-items:center;display:flex;position:relative}.ui-category-icon-emoji{line-height:1}.ui-category-icon-progress{transition:stroke-dashoffset var(--duration-theme) ease-out}.ui-money{font-family:var(--font-figures);font-variant-numeric:tabular-nums}.ui-money-masked{min-height:44px;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;padding:6px 4px;display:inline-flex}.ui-money-masked:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ui-progress-bar-track{border-radius:var(--radius-bar);background:var(--elevated);width:100%;height:6px;overflow:hidden}.ui-progress-bar-fill{border-radius:var(--radius-bar);height:100%;transition:width var(--duration-theme) ease-out;position:relative;overflow:hidden}.ui-progress-bar-fill-accent{background:var(--accent)}.ui-progress-bar-fill-income{background:var(--income)}.ui-progress-bar-fill-exceeded{background:var(--exceeded)}.ui-progress-bar-wave{background:repeating-linear-gradient(115deg, transparent 0, transparent 12px, color-mix(in oklch, var(--on-accent) 40%, transparent) 12px, color-mix(in oklch, var(--on-accent) 40%, transparent) 24px);opacity:.5;pointer-events:none;animation:2s linear infinite ui-progress-wave;position:absolute;inset:0}@keyframes ui-progress-wave{0%{transform:translate(-24px)}to{transform:translate(0)}}.ui-progress-bar-wavy{width:100%;height:14px;display:block;overflow:hidden}.ui-progress-bar-wavy-track{stroke:var(--elevated)}.ui-progress-bar-wavy-fill{animation:3.4s linear infinite ui-progress-wavy-flow}@keyframes ui-progress-wavy-flow{0%{transform:translate(0)}to{transform:translate(48px)}}.ui-progress-bar-striped{background-image:repeating-linear-gradient(135deg, color-mix(in oklch, var(--on-accent) 28%, transparent) 0, color-mix(in oklch, var(--on-accent) 28%, transparent) 6px, transparent 6px, transparent 12px);background-size:17px 17px;animation:1.2s linear infinite ui-progress-striped-move}@keyframes ui-progress-striped-move{0%{background-position:0 0}to{background-position:17px 0}}.ui-progress-bar-segmented{-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 calc(10% - 3px),#0000 calc(10% - 3px) 10%);mask-image:repeating-linear-gradient(90deg,#000 0 calc(10% - 3px),#0000 calc(10% - 3px) 10%)}.ui-progress-ring{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.ui-progress-ring-fill{transition:stroke-dasharray var(--duration-theme) ease-out, stroke var(--duration-theme) ease}.ui-progress-ring-label{font-family:var(--font-figures);font-variant-numeric:tabular-nums;color:var(--text);justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.form-instrument{align-items:center;gap:10px;margin:-6px 0 16px;display:flex}.form-instrument-caption{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.form-instrument-flow-track{border-radius:var(--radius-bar);background:var(--elevated);width:10px;height:44px;position:relative;overflow:hidden}.form-instrument-flow-track:before{content:"";background:var(--line);height:1px;position:absolute;top:50%;left:0;right:0}.form-instrument-flow-bar{position:absolute;left:0;right:0}.form-instrument-flow-bar-income{background:var(--income);border-radius:var(--radius-bar) var(--radius-bar) 0 0;bottom:50%}.form-instrument-flow-bar-expense{background:var(--text);border-radius:0 0 var(--radius-bar) var(--radius-bar);top:50%}.form-instrument-cycle-dots{gap:5px;display:flex}.form-instrument-cycle-dot{background:var(--elevated);border:1px solid var(--line);border-radius:999px;width:8px;height:8px}.form-instrument-cycle-dot.active{background:var(--accent);border-color:var(--accent)}.ui-segmented{box-sizing:border-box;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-chip);flex-wrap:wrap;gap:4px;max-width:100%;padding:4px;display:flex}.ui-segmented-btn{border-radius:var(--radius-chip);min-width:0;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:none;flex:auto;padding:8px 14px;font-family:inherit;font-size:.875rem;font-weight:600;position:relative}.ui-segmented-btn.active{color:var(--text)}.ui-segmented-indicator{background:var(--elevated);border-radius:var(--radius-chip);z-index:0;position:absolute;inset:0}.ui-segmented-btn-label{z-index:1;position:relative}.ui-segmented-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ui-segmented-btn:disabled{opacity:.6;cursor:not-allowed}.ui-button{border-radius:var(--radius-chip);cursor:pointer;min-width:44px;min-height:44px;transition:background var(--duration-theme) ease, border-color var(--duration-theme) ease, opacity var(--duration-theme) ease;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-family:inherit;font-size:1rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.ui-button:hover:not(:disabled){filter:brightness(1.08)}.ui-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-button:disabled{opacity:.6;cursor:not-allowed;filter:none}.ui-button-primary{background:var(--accent);color:var(--on-accent)}.ui-button-primary:before,.ui-button-primary:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0}.ui-button-primary:before{box-shadow:0 0 0 1.5px color-mix(in oklch, var(--accent) 55%, white 45%), 0 0 12px 2px color-mix(in oklch, var(--accent) 65%, white 35%);opacity:.25;animation:1.8s ease-in-out infinite ui-button-electric}.ui-button-primary:after{background:linear-gradient(115deg, transparent 40%, color-mix(in oklch, var(--on-accent) 45%, transparent) 50%, transparent 60%);mix-blend-mode:overlay;animation:1.8s linear infinite ui-button-shine;transform:translate(-120%)}@keyframes ui-button-shine{to{transform:translate(120%)}}@keyframes ui-button-electric{0%,to{opacity:.25}50%{opacity:.6}}:root[data-animation-style=muse] .ui-button:not(.ui-button-ghost){animation:4.5s ease-in-out infinite ui-button-breathe-muse}@keyframes ui-button-breathe-muse{0%,to{box-shadow:0 0 0 1px color-mix(in oklch, var(--accent) 45%, transparent)}50%{box-shadow:0 0 14px 2px color-mix(in oklch, var(--accent) 70%, transparent)}}.ui-button-secondary{background:var(--elevated);color:var(--text);border-color:var(--line)}.ui-button-ghost{color:var(--accent);background:0 0}.ui-button-danger{color:var(--exceeded);border-color:var(--exceeded);background:0 0}.ui-button-label-loading{opacity:.6}.ui-spinner{border:2px solid color-mix(in oklch, currentColor 30%, transparent);border-top-color:currentColor;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite ui-spin}.ui-check{flex-shrink:0;width:18px;height:18px}.ui-button-flash{background:var(--on-accent);pointer-events:none;position:absolute;inset:0}.ui-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.ui-field label{color:var(--muted);font-size:.875rem}.ui-tag-input-chips{flex-wrap:wrap;gap:6px;display:flex}.ui-tag-chip{border-radius:var(--radius-chip);background:color-mix(in oklch, var(--accent) 14%, var(--surface));color:var(--text);align-items:center;gap:4px;padding:4px 6px 4px 10px;font-size:.85rem;display:inline-flex}.ui-tag-chip button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px;font-size:1rem;line-height:1}.ui-tag-input-row{gap:8px;display:flex}.ui-tag-input-row input{flex:1}.ui-tag-input-add{border-radius:var(--radius-chip);border:1px solid var(--line);background:var(--elevated);min-width:44px;min-height:44px;color:var(--text);cursor:pointer;flex-shrink:0;font-size:1.2rem}.ui-field input,.ui-field select,.ui-field textarea{background:var(--elevated);border:1px solid var(--line);min-height:44px;color:var(--text);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:1rem}.ui-field input:focus,.ui-field select:focus,.ui-field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.ui-field input:disabled,.ui-field select:disabled,.ui-field textarea:disabled{opacity:.6;cursor:not-allowed}.ui-field textarea{resize:vertical;line-height:1.4}.ui-field-error{color:var(--exceeded);margin:0;font-size:.8rem}.password-field-wrap{position:relative}.password-field-wrap input{width:100%;padding-right:42px}.password-toggle-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--text)}.ui-toggle-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.ui-toggle-label{color:var(--text);font-size:.95rem}.ui-toggle{cursor:pointer;background:0 0;border:none;flex-shrink:0;width:44px;height:44px;padding:0;position:relative}.ui-toggle:before{content:"";background:var(--elevated);width:44px;height:26px;box-shadow:inset 0 0 0 1px var(--muted);transition:background var(--duration-theme) ease;border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ui-toggle.checked:before{background:var(--accent);box-shadow:none}.ui-toggle-thumb{background:var(--muted);border-radius:50%;width:20px;height:20px;position:absolute;top:50%;left:3px}.ui-toggle.checked .ui-toggle-thumb{background:var(--on-accent)}.ui-toggle:disabled{opacity:.85;cursor:not-allowed}.ui-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card.form-sheet,.icon-picker-panel,.ink-viewer-panel{--dialog-surface:var(--surface);background:var(--dialog-surface);color:var(--text);box-sizing:border-box}:root:is([data-theme-style=cristal],[data-theme-style=muse]) :is(.card.form-sheet,.icon-picker-panel,.ink-viewer-panel){--dialog-surface:color-mix(in srgb, var(--bg) 94%, transparent);--surface:var(--dialog-surface);--elevated:color-mix(in srgb, var(--bg) 90%, var(--text));-webkit-backdrop-filter:blur(var(--glass-blur,16px))}:root:is([data-glass-transparency=off],[data-glass-degraded=true],[data-high-contrast=true]) :is(.card.form-sheet,.icon-picker-panel,.ink-viewer-panel){--dialog-surface:var(--bg)}.form-sheet-overlay,.icon-picker-overlay,.ink-viewer-overlay,.form-sheet,.icon-picker-panel{overscroll-behavior:contain}.form-sheet-backdrop{touch-action:none}.card.form-sheet-desktop{width:100%;max-width:640px}.form-sheet:focus,.icon-picker-panel:focus,.ink-viewer-panel:focus{outline:none}.form-sheet-overlay{z-index:70;padding:var(--safe-top) var(--safe-right) 0 var(--safe-left);box-sizing:border-box;display:flex;position:fixed;inset:0}.form-sheet-overlay.phone{justify-content:center;align-items:flex-end}.form-sheet-overlay.desktop{padding:max(24px, var(--safe-top)) max(24px, var(--safe-right)) max(24px, var(--safe-bottom)) max(24px, var(--safe-left));justify-content:center;align-items:center}.form-sheet-backdrop{background:color-mix(in oklch, var(--text) 45%, transparent);position:absolute;inset:0}.form-sheet{z-index:1;max-height:min(90vh, calc(100dvh - max(24px, var(--safe-top)) - max(24px, var(--safe-bottom))));position:relative;overflow-y:auto}.card.form-sheet-phone{border-radius:var(--radius-card) var(--radius-card) 0 0;width:100%;max-width:none;max-height:calc(100dvh - var(--safe-top) - 12px);padding:24px 20px calc(28px + var(--safe-bottom))}.form-sheet-handle-area{touch-action:none;cursor:grab;margin:-8px -8px 8px;padding:14px 8px 6px}.form-sheet-handle{border-radius:var(--radius-bar);background:var(--line);width:36px;height:4px;margin:0 auto}.form-preview-icon-button{color:inherit;cursor:pointer;background:0 0;border:none;min-width:44px;min-height:44px;padding:0}.own-icon-field-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.icon-picker-overlay{z-index:90;padding:var(--safe-top) var(--safe-right) 0 var(--safe-left);box-sizing:border-box;background:color-mix(in oklch, var(--text) 45%, transparent);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.icon-picker-panel{width:100%;max-width:560px;max-height:min(92dvh, calc(100dvh - var(--safe-top)));padding:16px 16px calc(20px + var(--safe-bottom));border-radius:var(--radius-card) var(--radius-card) 0 0;border:1px solid var(--line);background:var(--surface);color:var(--text);flex-direction:column;gap:10px;display:flex;overflow-y:auto}@media (width>=640px){.icon-picker-overlay{padding:max(24px, var(--safe-top)) max(24px, var(--safe-right)) max(24px, var(--safe-bottom)) max(24px, var(--safe-left));align-items:center}.icon-picker-panel{max-width:640px;max-height:calc(100dvh - max(24px, var(--safe-top)) - max(24px, var(--safe-bottom)));border-radius:var(--radius-card)}}.icon-picker-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.icon-picker-head h2{margin:0;font-size:1.1rem}.icon-picker-search{border:1px solid var(--line);background:var(--elevated);min-height:44px;color:var(--text);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:1rem}.icon-picker-panel>*{flex-shrink:0}.icon-picker-panel .ui-segmented{max-width:100%}.icon-picker-panel .form-back{min-width:44px;min-height:44px}.icon-picker-preview{border:1px solid var(--line);background:var(--elevated);border-radius:12px;align-items:center;gap:14px;min-height:64px;padding:8px 14px;display:flex}.icon-picker-preview-glyph{flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.icon-picker-preview-caption{color:var(--muted);font-size:.875rem}.icon-picker-chips{gap:6px;min-height:52px;padding-bottom:4px;display:flex;overflow-x:auto}.icon-picker-chip{border:1px solid var(--line);background:var(--elevated);min-height:44px;color:var(--muted);cursor:pointer;border-radius:999px;flex-shrink:0;padding:4px 14px;font-size:.85rem}.icon-picker-chip.selected{border-color:var(--accent);color:var(--text);background:color-mix(in oklch, var(--accent) 18%, var(--elevated))}.icon-picker-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;display:grid}.icon-picker-cell{border:1px solid var(--line);background:var(--elevated);cursor:pointer;border-radius:10px;place-items:center;min-height:52px;display:grid}.icon-picker-cell.selected{outline:2px solid var(--accent)}.icon-picker-credit{margin-top:4px}.ui-undo-toast-wrap{left:var(--safe-left);right:var(--safe-right);bottom:calc(84px + var(--safe-bottom));z-index:80;pointer-events:none;justify-content:center;display:flex;position:fixed}.ui-undo-toast{pointer-events:auto;border-radius:var(--radius-chip);background:var(--elevated);border:1px solid var(--line);max-width:calc(100vw - 32px);box-shadow:var(--shadow-card);color:var(--text);align-items:center;gap:16px;padding:12px 16px;font-size:.9rem;display:flex}.ui-undo-toast-action{color:var(--accent);cursor:pointer;background:0 0;border:none;flex-shrink:0;min-height:44px;padding:0 4px;font-size:.9rem;font-weight:700}@media (width>=900px){.ui-undo-toast-wrap{bottom:24px}}.ui-reorder-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.ui-reorder-item{background:var(--elevated);min-height:44px;color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:4px 4px 4px 0;display:flex}.ui-reorder-item.hidden{opacity:.5}.ui-reorder-handle{width:32px;height:44px;color:var(--muted);touch-action:none;cursor:grab;justify-content:center;align-items:center;display:flex}.ui-reorder-label{flex:1;font-size:.9rem;font-weight:600}.ui-reorder-toggle{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ui-reorder-toggle[aria-pressed=true]{color:var(--accent)}.ui-reorder-toggle:disabled{opacity:.35;cursor:not-allowed}.ui-empty-state{text-align:center;color:var(--muted);animation:ui-fade-in var(--duration-theme) ease-out;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;display:flex}.ui-empty-state-icon{color:var(--muted);margin-bottom:4px}.ui-empty-state-title{color:var(--text);margin:0;font-size:1rem;font-weight:600}.ui-empty-state-description{max-width:320px;margin:0 0 8px;font-size:.875rem}.form-preview-card{--preview-color:var(--accent);border-radius:var(--radius-card);border:1px solid color-mix(in oklch, var(--preview-color) 45%, transparent);background:linear-gradient(135deg, color-mix(in oklch, var(--preview-color) 34%, var(--surface)) 0%, color-mix(in oklch, var(--preview-color) 10%, var(--surface)) 100%);align-items:center;gap:14px;margin:0 0 18px;padding:14px 16px;transition:background .25s,border-color .25s;display:flex}.form-preview-card--expense{--preview-color:var(--exceeded)}.form-preview-card--income{--preview-color:var(--income)}.form-preview-card--transfer{--preview-color:oklch(68% .15 250)}.form-preview-card--account{--preview-color:oklch(62% .2 300)}.form-preview-card--budget{--preview-color:var(--warning)}.form-preview-card--goal{--preview-color:oklch(70% .12 190)}.form-preview-icon{width:44px;height:44px;color:var(--preview-color);background:color-mix(in oklch, var(--preview-color) 18%, var(--elevated));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.form-preview-body{flex-direction:column;min-width:0;display:flex}.form-preview-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.form-preview-amount{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700}.form-preview-caption{color:var(--muted);font-size:.8rem}.ui-glyph-duotone *,.ui-glyph-duotone{fill:currentColor;fill-opacity:.2}.ui-illustration{filter:drop-shadow(0 1px 1px #0000002e);display:block}.heading-help{align-items:center;gap:2px;margin:0 0 12px;display:flex}.heading-help>h1,.heading-help>h2,.heading-help>h3{min-width:0;margin:0}.help-button{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;margin:-10px -6px;padding:0;display:inline-grid}.help-button-mark{width:22px;height:22px;font-family:var(--font-ui);border:1.5px solid;border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;line-height:1;display:grid}.help-button:hover,.help-button[aria-expanded=true]{color:var(--accent)}.help-button:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;border-radius:50%}.hint-collapsed{align-items:center;min-height:24px;display:flex}.help-bubble{z-index:120;box-sizing:border-box;background:var(--bg);border:1px solid var(--line);color:var(--text);animation:ui-fade-in .18s var(--ease-entrance);border-radius:16px;padding:14px 16px 10px;font-size:.9rem;line-height:1.45;position:fixed;box-shadow:0 18px 40px -16px #0000008c,0 4px 12px -6px #00000059}.help-bubble-body>p,.help-bubble-body{margin:0}.help-bubble-close{min-height:44px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;margin:8px 0 0 auto;padding:0 8px;font-size:.875rem;font-weight:600;display:block}.help-bubble-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}:root .ui-money.money-pos{color:var(--sign-pos)}:root .ui-money.money-neg{color:var(--sign-neg)}:root .ui-money.money-zero{color:var(--muted)}[data-balance-tone=positive]{background:color-mix(in oklab, var(--income) 7%, var(--surface))}[data-balance-tone=negative]{background:color-mix(in oklab, var(--exceeded) 9%, var(--surface))}[data-balance-tone=low]{background:color-mix(in oklab, var(--warning) 11%, var(--surface))}.balance-flag{border-radius:var(--radius-chip);border:1px solid;align-items:center;gap:5px;margin:4px 0 0;padding:2px 9px;font-size:.75rem;font-weight:700;line-height:1.4;display:inline-flex}.balance-flag--negative{color:var(--sign-neg)}.balance-flag--low{color:var(--sign-low)}.balance-flag--positive{color:var(--sign-pos)}.ui-progress-bar-wavy,.ui-progress-bar-track,.ui-progress-ring,.bar-track{isolation:isolate;clip-path:inset(0)}.ui-progress-bar-wavy-fill,.ui-progress-bar-wave{will-change:auto}
