:root,[data-theme=dark]{color-scheme:dark;--bg: #282a36;--bg-card: #343746;--text: #f8f8f2;--muted: #6272a4;--border: #44475a;--accent: #50fa7b;--cyan: #8be9fd;--purple: #bd93f9;--danger: #ff5555;--chart-spending: #8be9fd;--chart-topups: #50fa7b;--chart-axis: #b0b3c4;--chart-grid: rgba(255, 255, 255, .08);--tile-tint: 14%;--tile-border-blend: 0%;--tile-fill-mix: 38%;--tile-fill-overflow-mix: 52%;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}[data-theme=light]{color-scheme:light;--bg: #eef0f4;--bg-card: #ffffff;--text: #1e2230;--muted: #5c6578;--border: #d4d9e3;--accent: #16a34a;--cyan: #0369a1;--purple: #6d28d9;--danger: #dc2626;--chart-spending: #0369a1;--chart-topups: #22c55e;--chart-axis: #64748b;--chart-grid: rgba(30, 34, 48, .08);--tile-tint: 11%;--tile-border-blend: 30%;--tile-fill-mix: 24%;--tile-fill-overflow-mix: 34%}@media(prefers-color-scheme:light){[data-theme=system]{color-scheme:light;--bg: #eef0f4;--bg-card: #ffffff;--text: #1e2230;--muted: #5c6578;--border: #d4d9e3;--accent: #16a34a;--cyan: #0369a1;--purple: #6d28d9;--danger: #dc2626;--chart-spending: #0369a1;--chart-topups: #22c55e;--chart-axis: #64748b;--chart-grid: rgba(30, 34, 48, .08);--tile-tint: 11%;--tile-border-blend: 30%;--tile-fill-mix: 24%;--tile-fill-overflow-mix: 34%}}@media(prefers-color-scheme:dark){[data-theme=system]{color-scheme:dark;--bg: #282a36;--bg-card: #343746;--text: #f8f8f2;--muted: #6272a4;--border: #44475a;--accent: #50fa7b;--cyan: #8be9fd;--purple: #bd93f9;--danger: #ff5555;--chart-spending: #8be9fd;--chart-topups: #50fa7b;--chart-axis: #b0b3c4;--chart-grid: rgba(255, 255, 255, .08);--tile-tint: 14%;--tile-border-blend: 0%;--tile-fill-mix: 38%;--tile-fill-overflow-mix: 52%}}*{box-sizing:border-box}html,body,#root{min-height:100%;max-width:100%}html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);overflow-x:hidden;touch-action:manipulation}#root{overflow-x:hidden;min-height:calc(100dvh - var(--safe-top) - var(--safe-bottom))}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-loading,.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:16px;box-sizing:border-box}.card{background:var(--bg-card);border:none;border-radius:16px;padding:16px}.layout{width:100%;max-width:960px;margin:0 auto;padding:12px 12px calc(24px + var(--safe-bottom));min-width:0;min-height:calc(100dvh - var(--safe-top) - var(--safe-bottom));box-sizing:border-box;display:flex;flex-direction:column;will-change:transform}.pull-refresh{position:fixed;top:var(--safe-top);left:0;right:0;display:flex;justify-content:center;align-items:flex-end;padding-bottom:6px;pointer-events:none;z-index:50;overflow:hidden}.pull-refresh-spinner{width:22px;height:22px;border:2px solid var(--border);border-top-color:var(--cyan);border-radius:50%;box-sizing:border-box}.pull-refresh-spinner.is-ready:not(.is-spinning){border-top-color:var(--accent)}.pull-refresh-spinner.is-spinning{animation:pull-refresh-spin .7s linear infinite}@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}.refresh-toast{position:fixed;top:calc(var(--safe-top) + 12px);left:50%;transform:translate(-50%);z-index:60;padding:8px 14px;border-radius:999px;background:var(--bg-card);color:var(--accent);font-size:.88rem;font-weight:600;box-shadow:0 8px 24px #00000059;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.main-content{min-width:0;max-width:100%;flex:1 1 auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:8px 0;position:relative}.topbar-burger{display:none}.topbar-menu{display:flex;flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0}.topbar-left,.topbar-right{display:flex;align-items:center;gap:8px}.nav-btn,.ghost-btn{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px 12px}.nav-btn.active{border-color:var(--cyan);color:var(--cyan)}.user-badge{color:var(--muted);font-size:.9rem}.login-card{width:min(420px,100%);display:grid;gap:12px}.login-card h1{margin:0}.passkey-login-btn{width:100%;background:var(--bg);color:var(--cyan);border:1px solid var(--cyan);border-radius:10px;padding:12px 16px;font-weight:600}.login-divider{text-align:center;margin:0;font-size:.85rem}.passkey-prompt{width:min(420px,100%)}.passkey-menu-control{display:flex;align-items:center;gap:6px}.passkey-menu-error{color:var(--danger);font-size:.75rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}label{display:grid;gap:6px;font-size:.92rem}input,select,textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px}button[type=submit],.modal-footer button:last-child:not(.danger-btn){background:var(--accent);color:#1e1f29;border:none;border-radius:10px;padding:10px 16px;font-weight:600}.danger-btn{background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:10px;padding:10px 16px;font-weight:600}.saved-banner{margin:0}.muted{color:var(--muted)}.hint{font-size:.85rem}.error{color:var(--danger)}.flash{background:#50fa7b1f;border:1px solid rgba(80,250,123,.35);color:var(--accent);padding:10px 12px;border-radius:10px;margin-bottom:12px}.dashboard{display:grid;gap:20px;min-width:0;max-width:100%}.chart-card{padding:12px;min-width:0;max-width:100%;overflow:hidden}.chart-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.chart-period-nav{display:flex;align-items:center;gap:8px}.chart-card--compact .chart-toolbar{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:0}.chart-card--compact .chart-period-nav{justify-content:center}.chart-card--compact .chart-period{flex:1;min-width:0;font-size:1.05rem;font-weight:600}.chart-card--compact .chart-totals{justify-content:center;gap:8px 12px;flex-wrap:wrap}.chart-card--compact .chart-total{font-size:.92rem;white-space:nowrap}.chart-filters{display:flex;align-items:center;gap:8px}.chart-period{min-width:140px;text-align:center;text-transform:capitalize}.chart-total{font-size:1.2rem;font-weight:700;color:var(--cyan)}.chart-totals{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.chart-total-spending{color:var(--chart-spending)}.chart-total-topups{color:var(--chart-topups)}.chart-legend-dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:middle}.chart-wrap{height:280px;transition:opacity .15s ease}.chart-wrap--pending{opacity:.55}.tile-section{min-width:0;max-width:100%}.tile-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;text-align:left}.tile-section-toggle h2{margin:0}.tile-section-chevron{flex-shrink:0;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .15s ease}.tile-section-collapsible:not(.is-expanded) .tile-section-chevron{transform:rotate(45deg)}.tile-section-collapsible-body{margin-top:10px}.tile-section h2{margin:0 0 10px;font-size:1rem;color:var(--muted)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px;min-width:0;max-width:100%}.tile-grid.compact{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.tile-groups-row{display:flex;flex-wrap:nowrap;gap:12px;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.tile-group{flex:0 0 auto}.tile-group-separated{padding-left:0}.tile-group-title{margin:0 0 8px;font-size:.82rem;font-weight:500;color:var(--muted);white-space:nowrap}.tile-grid-inline{display:flex;flex-wrap:nowrap;gap:10px}.tile-grid-inline .tile,.tile-grid-inline .sortable-tile-item{flex:0 0 108px;width:108px}.sortable-tile-item{position:relative;min-width:0}.sortable-tile-item .tile{width:100%}.sortable-tile-item.is-dragging{z-index:2}.sortable-tile-item.is-drop-over .tile{box-shadow:inset 0 0 0 2px var(--cyan)}.sortable-tile-handle{position:absolute;top:4px;left:4px;z-index:3;display:grid;place-items:center;width:22px;height:22px;padding:0;border:none;border-radius:6px;background:color-mix(in srgb,var(--bg-card) 88%,transparent);color:var(--muted);font-size:.85rem;line-height:1;cursor:grab;touch-action:none}.sortable-tile-handle:active{cursor:grabbing}.sortable-hint{margin-top:8px}.tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:96px;min-width:0;max-width:100%;padding:10px 8px;border-radius:14px;border:1px solid color-mix(in srgb,var(--tile-color) var(--tile-border-blend),transparent);background:color-mix(in srgb,var(--tile-color) var(--tile-tint),var(--bg-card));color:var(--text);overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:0 1px 2px color-mix(in srgb,var(--text) 4%,transparent)}.tile-fill{position:absolute;bottom:0;left:0;right:0;min-height:3px;background:color-mix(in srgb,var(--tile-fill-color) var(--tile-fill-mix),transparent);pointer-events:none;z-index:0;border-radius:0 0 14px 14px;transition:height .2s ease,bottom .2s ease}.tile-fill-overflow{background:color-mix(in srgb,var(--tile-fill-color) var(--tile-fill-overflow-mix),transparent);border-radius:0}.tile-icon,.tile-label,.tile-subtitle,.tile-badge{position:relative;z-index:1}.tile.holding{transform:scale(.98);transition:transform .12s ease}.tile-hold-ring{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.tile-hold-ring rect{fill:none;stroke:var(--tile-color);stroke-width:3;stroke-linecap:round;transition:stroke .15s ease;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--tile-color) 70%,transparent))}.tile.compact{min-height:82px}.tile.active{box-shadow:inset 0 0 0 2px var(--tile-color)}.tile-icon{font-size:1.8rem;line-height:1}.tile-label{font-size:.82rem;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.tile-subtitle{font-size:.72rem;color:var(--muted);font-weight:600;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-badge{position:absolute;top:6px;right:6px;min-width:22px;height:22px;border-radius:999px;background:var(--tile-color);color:#1e1f29;font-size:.75rem;font-weight:700;display:grid;place-items:center;padding:0 6px}.category-block{display:grid;gap:8px}.subcategory-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;padding-left:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;z-index:100;padding:calc(12px + var(--safe-top)) 12px calc(12px + var(--safe-bottom));overflow:hidden;overscroll-behavior:none;touch-action:none}@media(max-width:639px){html,body{overscroll-behavior-y:contain}input,select,textarea{font-size:16px}.topbar{justify-content:flex-end;margin-bottom:12px}.topbar-burger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:10px;cursor:pointer}.topbar-burger-icon{position:relative;width:18px;height:2px;background:currentColor;border-radius:1px}.topbar-burger-icon:before,.topbar-burger-icon:after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;border-radius:1px;transition:transform .15s ease,top .15s ease,opacity .15s ease}.topbar-burger-icon:before{top:-6px}.topbar-burger-icon:after{top:6px}.topbar-burger[aria-expanded=true] .topbar-burger-icon{background:transparent}.topbar-burger[aria-expanded=true] .topbar-burger-icon:before{top:0;transform:rotate(45deg)}.topbar-burger[aria-expanded=true] .topbar-burger-icon:after{top:0;transform:rotate(-45deg)}.topbar-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;left:0;flex-direction:column;align-items:stretch;gap:10px;padding:10px;background:var(--bg-card);border-radius:12px;z-index:20;box-shadow:0 12px 32px #00000059}.topbar-menu.is-open{display:flex}.topbar-left,.topbar-right{flex-direction:column;align-items:stretch;width:100%}.topbar-left .nav-btn,.topbar-right .ghost-btn{width:100%;text-align:center}.user-badge{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;padding:4px 0;max-width:none}.nav-btn,.ghost-btn{padding:10px 12px;font-size:.95rem}.tile-groups-row{flex-direction:column;overflow-x:visible;padding-bottom:0}.tile-group{width:100%;min-width:0}.tile-group-separated{padding-left:0;padding-top:0;border-top:none}.tile-grid-inline{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));flex-wrap:unset}.tile-grid-inline .tile{flex:unset;width:auto}.dashboard-categories{order:2}.dashboard-accounts{order:3}.dashboard-transactions{order:4}.dashboard-topups{order:5}.modal-backdrop{align-items:flex-end;padding:0}.modal.card.transaction-modal{width:100%;max-width:100%;border-radius:16px 16px 0 0;padding-bottom:calc(12px + var(--safe-bottom));max-height:calc(100dvh - var(--safe-top) - 8px)}.transaction-modal{max-height:calc(100dvh - var(--safe-top) - 8px)}.transaction-modal .tile-grid.compact{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))}.modal-footer{flex-wrap:nowrap}.field>label{overflow-wrap:anywhere}.form-actions{flex-direction:column;align-items:stretch}.form-actions .danger-btn:first-child{margin-right:0}.form-actions>button,.form-actions .ghost-btn,.form-actions .danger-btn{width:100%;text-align:center;justify-content:center}.settings-list-row{flex-direction:column;align-items:stretch}.settings-list-actions{width:100%;flex-wrap:wrap}.settings-list-actions .ghost-btn,.settings-list-actions .danger-btn{flex:1 1 calc(50% - 3px);min-width:0;text-align:center}}@media(min-width:640px){.modal-backdrop{align-items:center}}.transaction-modal{width:min(640px,100%);max-width:100%;min-width:0;max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 24px);overflow-x:clip;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;display:grid;gap:14px}.modal-footer{display:flex;justify-content:space-between;align-items:stretch;gap:10px;min-width:0}.modal-footer .ghost-btn,.modal-footer>button:not(.danger-btn){flex:1;padding:10px 16px;font-weight:600;text-align:center}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}.modal-header h2{margin:0;font-size:1.1rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-account-groups{display:grid;gap:12px}.modal-account-group{min-width:0}.modal-account-group+.modal-account-group{border-top:none;padding-top:0;margin-top:4px}.field{display:grid;gap:8px;min-width:0;max-width:100%}.date-picker,.amount-input{min-width:0;max-width:100%}.date-picker-tabs,.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.date-picker-tabs button,.settings-tabs button{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:8px 14px}.date-picker-tabs button.active,.settings-tabs button.active{border-color:var(--cyan);color:var(--cyan)}.calendar-shell{display:grid;gap:8px}.date-chip{width:100%;text-align:left;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:.95rem;display:flex;justify-content:space-between;align-items:center}.date-chip.is-open{border-color:var(--cyan);color:var(--cyan)}.calendar-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;min-height:40px}.calendar-nav-btn{width:44px;height:40px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text)}.calendar-title{text-align:center;text-transform:capitalize;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-grid.days{grid-template-rows:repeat(6,36px);min-height:236px}.calendar-empty{display:block}.calendar-grid.weekdays span{text-align:center;color:var(--muted);font-size:.8rem;padding:4px 0}.calendar-day{height:36px;border:none;border-radius:10px;background:var(--bg);color:var(--text)}.calendar-day.weekend{color:#ffb86c}.calendar-day.selected{background:var(--cyan);color:#1e1f29;font-weight:700}.drum-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.drum-column{min-width:0}.drum-column select{height:120px}.date-text-input{margin-top:8px}.amount-row{display:flex;gap:8px;min-width:0}.amount-row input{flex:1;min-width:0}.amount-equals-btn{flex-shrink:0}.amount-input:focus-within .amount-row input{border-color:var(--cyan)}.amount-ops{display:flex;flex-wrap:nowrap;gap:4px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;touch-action:manipulation}.amount-ops::-webkit-scrollbar{display:none}.amount-ops--inline{display:none;margin-top:12px;padding-top:2px}.amount-input:focus-within .amount-ops--inline{display:flex}.amount-ops--keyboard{position:fixed;z-index:1;box-sizing:border-box;margin:0;padding:10px 12px;background:var(--bg-card);border-top:1px solid var(--border);box-shadow:0 -8px 24px #0006;visibility:hidden;pointer-events:none}.amount-ops--keyboard.is-ready{visibility:visible;pointer-events:auto}body>.amount-ops--keyboard.is-ready{z-index:250}.amount-op-btn{flex:1 1 0;min-width:0;padding:7px 0;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:.95rem;font-weight:600;line-height:1}.amount-op-btn:active:not(:disabled){border-color:var(--cyan);color:var(--cyan)}@media(max-width:639px){.amount-ops--inline{display:none!important}.amount-ops--keyboard{gap:5px;padding:12px}.amount-ops--keyboard .amount-op-btn{padding:11px 0;font-size:1.05rem}}.amount-preview{color:var(--cyan);font-weight:600}.distribution-preview ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.distribution-preview li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border);min-width:0}.distribution-preview li span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.distribution-preview li span:last-child{flex-shrink:0}.settings-grid{display:grid;gap:16px;min-width:0;max-width:100%}.settings-page{min-width:0;max-width:100%}@media(min-width:760px){.settings-grid{grid-template-columns:1fr 1fr}}.form-actions .danger-btn:first-child{margin-right:auto}.settings-categories,.settings-catalog,.settings-accounts,.settings-funding,.settings-users,.settings-notifications,.settings-profile{display:grid;gap:16px;min-width:0;max-width:100%}.catalog-empty{grid-column:1 / -1;margin:0;padding:8px 4px}.theme-options{display:flex;flex-wrap:wrap;gap:8px}.theme-options button{flex:1 1 auto;min-width:0;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.theme-options button.active{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 16%,var(--bg-card))}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.passkey-settings-control{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.form-card,.list-card{display:grid;gap:12px;min-width:0;max-width:100%}.form-card h3,.list-card h3{margin:0}.settings-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.settings-list li{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--border)}.settings-list-row{width:100%;align-items:center;justify-content:space-between}.settings-list-main{display:flex;align-items:center;gap:8px;min-width:0}.settings-list-actions{display:flex;gap:6px;flex-shrink:0}.settings-list-actions .ghost-btn,.settings-list-actions .danger-btn{padding:6px 10px;font-size:.82rem}.settings-swatch{width:14px;height:14px;border-radius:4px;flex-shrink:0}.settings-sublist{width:100%;margin:4px 0 0 16px;padding:0;list-style:none;color:var(--muted)}.color-field{display:grid;gap:8px}.color-field>label{font-size:.92rem}.color-palette{display:flex;flex-wrap:wrap;gap:8px}.color-swatch-wrap{position:relative;width:32px;height:32px;flex-shrink:0}.color-swatch-wrap .color-swatch{width:100%;height:100%}.color-swatch{width:32px;height:32px;border-radius:10px;border:2px solid transparent;padding:0;cursor:pointer;flex-shrink:0}.color-swatch.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--bg-card),0 0 0 4px var(--cyan)}.color-swatch-delete{position:absolute;top:-5px;right:-5px;z-index:1;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#282a36;color:#f8f8f2;box-shadow:0 0 0 1px #f8f8f240;font-size:11px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s;padding:0}.color-swatch-wrap:hover .color-swatch-delete,.color-swatch-wrap:focus-within .color-swatch-delete{opacity:1}.color-custom-row{display:flex;align-items:center;gap:10px}.color-custom-row input[type=color]{width:48px;height:36px;padding:2px;cursor:pointer}.color-hex{font-size:.85rem;font-family:ui-monospace,monospace}.modal-footer-danger{margin-top:-4px;padding-top:0;border-top:none}.danger-btn-block{width:100%}.modal-subtitle{font-size:.85rem;font-weight:400}.transaction-list-section h2{margin:0 0 12px;font-size:1rem;color:var(--muted)}.transaction-list{list-style:none;margin:0;padding:0;display:grid;gap:0}.transaction-row{width:100%;display:grid;grid-template-columns:minmax(88px,auto) 1fr auto;gap:12px;align-items:center;padding:12px 4px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left;cursor:pointer}.transaction-row:last-child{border-bottom:none}.transaction-row:hover{background:#8be9fd0f}.transaction-row.active{background:#8be9fd1a;box-shadow:inset 3px 0 0 var(--cyan)}.transaction-date{color:var(--muted);font-size:.88rem;white-space:nowrap}.transaction-date-compact{display:none}@media(max-width:639px){.transaction-row{grid-template-columns:minmax(64px,auto) 1fr auto;gap:8px;align-items:start;padding-top:10px;padding-bottom:10px}.transaction-amount{font-size:.92rem;padding-top:2px}.transaction-item-icon{font-size:.78rem}.transaction-date-long{display:none}.transaction-date-compact{display:inline;font-size:.82rem;font-variant-numeric:tabular-nums}}.transaction-category{display:flex;align-items:flex-start;gap:8px;overflow:hidden;min-width:0}.transaction-category-icon{flex-shrink:0;font-size:1.15rem;line-height:1;margin-top:1px}.transaction-category-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-category-text{display:flex;flex-direction:column;gap:2px;min-width:0}.transaction-meta{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-items{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;min-width:0}.transaction-item-chip{display:inline-flex;align-items:center;gap:1px;padding:1px 4px;border-radius:6px;background:#ffffff0f;line-height:1}.transaction-item-icon{font-size:.82rem}.transaction-item-qty{font-size:.62rem;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.transaction-items-more{font-size:.68rem;font-weight:600;color:var(--muted);padding:2px 4px}.transaction-amount{font-weight:600;color:var(--cyan);white-space:nowrap}.topup-amount{color:var(--accent)}.transfer-out-amount{color:var(--muted)}.settings-grid-funding{grid-template-columns:1fr}@media(min-width:760px){.settings-grid-funding{grid-template-columns:1fr 1fr}.funding-topup{grid-column:1}}.balance-tag{color:var(--cyan);font-weight:600}.settings-list-row.is-closed{opacity:.65}.status-badge{font-size:.72rem;padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.status-badge.closed{color:var(--muted);border-color:var(--muted)}.form-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:stretch;min-width:0;max-width:100%}.form-card .hint{overflow-wrap:anywhere}.settings-list ul{width:100%;margin:4px 0 0 16px;padding:0;list-style:none;color:var(--muted)}.checkbox{display:flex;align-items:center;gap:8px}.checkbox input{width:auto}.utilities-page{display:flex;flex-direction:column;gap:16px;max-width:720px}.utilities-header h1{margin:0 0 4px;font-size:1.35rem}.utilities-summary h2,.utilities-calculator h2,.utilities-history h2,.utilities-payment-block h2{margin:0 0 12px;font-size:1.05rem}.utilities-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.utilities-stat{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--border)}.utilities-stat-highlight{border-color:color-mix(in srgb,var(--cyan) 40%,var(--border));background:color-mix(in srgb,var(--cyan) 8%,var(--bg-card))}.utilities-stats--compact{margin-top:12px}.utilities-formula-grid{display:flex;flex-direction:column;gap:8px}.utilities-formula-grid--calc,.utilities-formula-grid--inline{margin-top:12px}.utilities-formula-row{display:grid;grid-template-columns:52px 1fr auto;gap:8px 12px;align-items:baseline;padding:10px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--border)}.utilities-formula-row--highlight{border-color:color-mix(in srgb,var(--cyan) 40%,var(--border));background:color-mix(in srgb,var(--cyan) 8%,var(--bg-card))}.utilities-formula-label{font-family:ui-monospace,monospace;font-size:.85rem;color:var(--cyan)}.utilities-formula-desc{font-size:.78rem;color:var(--muted)}.utilities-formula-row strong{font-variant-numeric:tabular-nums;text-align:right}.utilities-warn{padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--orange) 12%,var(--bg));border:1px solid color-mix(in srgb,var(--orange) 35%,var(--border))}.utilities-reset-calc{margin-top:6px;font-size:.82rem;padding:4px 8px}.utilities-readonly-amount{margin-bottom:4px}.utilities-stat-label{font-size:.78rem;color:var(--muted)}.utilities-calc-result{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:12px;padding:12px;border-radius:10px;background:var(--bg);border:1px solid var(--border)}.utilities-calc-result strong{display:block;font-size:1.1rem}.utilities-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.utilities-payment-head,.utilities-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.utilities-payment-head h2,.utilities-section-head h2{margin:0}.utilities-payment-text{margin:0;padding:12px;border-radius:10px;background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:.9rem;line-height:1.45}.utilities-reading-list,.utilities-tariff-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.utilities-reading-item,.utilities-tariff-item{display:flex;align-items:stretch;gap:6px}.utilities-reading-main,.utilities-tariff-main{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);text-align:left;cursor:pointer}.utilities-reading-main:hover,.utilities-tariff-main:hover{border-color:color-mix(in srgb,var(--cyan) 35%,var(--border))}.utilities-reading-date{font-variant-numeric:tabular-nums;color:var(--muted);min-width:88px}.utilities-reading-value{font-weight:600;font-variant-numeric:tabular-nums}.utilities-reading-kind{font-size:.78rem;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--muted) 18%,transparent)}.utilities-reading-kind--payment{background:color-mix(in srgb,var(--green) 22%,transparent);color:var(--green)}.utilities-reading-amount{margin-left:auto;font-variant-numeric:tabular-nums}.utilities-reading-delete{align-self:center;min-width:36px;padding:6px}.utilities-tariff-item.is-current .utilities-tariff-main{border-color:color-mix(in srgb,var(--cyan) 45%,var(--border))}.utilities-badge{font-size:.72rem;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--cyan) 20%,transparent);color:var(--cyan)}.utilities-badge--next{background:color-mix(in srgb,var(--orange) 20%,transparent);color:var(--orange)}.utilities-inline-form{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding:12px;border-radius:10px;background:var(--bg);border:1px solid var(--border)}.utilities-inline-form h3{margin:0;font-size:.95rem}.utilities-collapse-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;border:none;background:none;color:var(--text);cursor:pointer;text-align:left}.utilities-collapse-head h2{margin:0;font-size:1.05rem}.utility-debt-modal{max-width:420px}
