:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d1420;--surface:#142033;--grid:#22314a;--border:#22314a;--text:#f2f5fa;--text-secondary:#b3bfd2;--text-muted:#8a97ad;--accent:#3b8cf0;--on-accent:#0d1420;--detail:#ff8a1f;--notice:#2a1f12;--notice-border:#5a3a14;--cat-groceries:#3b8cf0;--cat-housing:#d95926;--cat-bills:#199e70;--cat-transport:#c98500;--cat-care:#d55181;--cat-kids:#008300;--cat-leisure:#9085e9;--cat-shopping:#e66767;--cat-other:#8a97ad;--income:#f2f5fa;--danger:#ef6a6a}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--detail);outline-offset:2px}html,body{background:var(--page);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font:15px/1.45 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}.app{max-width:1100px;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));margin:0 auto}h1{letter-spacing:-.01em;margin:0;font-size:24px}h1.brand{align-items:center;gap:10px;display:flex}h1.brand img{flex:none}h2{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:24px 0 8px;font-size:13px;font-weight:600}.muted{color:var(--text-muted)}.small{font-size:13px}.center{text-align:center;place-content:center;justify-items:center;gap:12px;min-height:80vh;display:grid}.signin h1{margin-bottom:8px}.top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.top p{margin:2px 0 0}.btn{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;min-height:44px;padding:10px 18px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn.ghost{background:0 0}.btn.small{min-height:36px;padding:6px 12px;font-size:13px}.segmented{background:var(--grid);border-radius:10px;gap:2px;margin-bottom:12px;padding:2px;display:inline-flex}.segmented button{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:36px;padding:6px 14px;font-size:14px}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:inset 0 -2px 0 var(--detail);font-weight:600}.notice{background:var(--notice);border:1px solid var(--notice-border);color:var(--text-secondary);border-radius:10px;margin:0 0 12px;padding:8px 12px;font-size:13px}.notice.error{border-color:var(--c-temp)}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px}.tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.tile-value{font-variant-numeric:proportional-nums;margin:2px 0;font-size:24px;font-weight:600}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.chart{min-width:0;margin:0}.chart figcaption{align-items:center;gap:8px;margin-bottom:6px;font-size:14px;display:flex}.chart .title{font-weight:600}.chart .latest{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-left:auto}.key{border-radius:2px;flex:none;width:12px;height:3px}.tag{color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.caption{margin:4px 0 0;font-size:12px}.tooltip{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px 10px;font-size:13px;box-shadow:0 4px 14px #00000073}.tooltip .value{font-size:15px;font-weight:600}.table-view{margin-top:4px;font-size:13px}.table-view summary{color:var(--text-muted);cursor:pointer;padding:4px 0}.table-view table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.table-view th,.table-view td{text-align:left;border-bottom:1px solid var(--grid);padding:3px 4px}.table-view tbody{max-height:220px;display:block;overflow-y:auto}.table-view thead,.table-view tbody tr{table-layout:fixed;width:100%;display:table}footer{text-align:center;margin-top:24px}.recharts-wrapper:focus,.recharts-surface:focus{outline:none}@media (width<=760px){.grid{grid-template-columns:minmax(0,1fr)}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.notice.passkey{background:var(--surface);border-color:var(--border);color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.passkey-actions{gap:6px;display:inline-flex}.link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.month-nav{align-items:center;gap:6px;margin:4px 0 12px;display:flex}.month-nav .label{text-align:center;min-width:150px;font-size:18px;font-weight:600}.icon-btn{font:inherit;border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:10px;font-size:20px;line-height:1}.icon-btn:disabled{opacity:.35;cursor:default}.tile .label{color:var(--text-secondary);font-size:13px}.tile .sub{color:var(--text-muted);font-size:12px}.tile .tile-value.negative{color:var(--danger)}.filters{flex-wrap:wrap;gap:6px;margin:4px 0 10px;display:flex}.chip{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:4px 12px;font-size:13px;display:inline-flex}.chip.on{color:var(--text);border-color:var(--text-muted);box-shadow:inset 0 -2px 0 var(--detail)}.swatch{border-radius:3px;flex:none;width:10px;height:10px}.line-key{border-radius:1px;flex:none;width:14px;height:2px}.legend{color:var(--text-secondary);flex-wrap:wrap;gap:4px 14px;margin:0 0 6px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.tooltip table{border-collapse:collapse;font-variant-numeric:tabular-nums}.tooltip td{padding:1px 0}.tooltip td+td{text-align:right;padding-left:14px}.tooltip .total td{border-top:1px solid var(--grid);padding-top:3px;font-weight:600}.tooltip .cat{align-items:center;gap:6px;display:inline-flex}table.cats{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}table.cats th{color:var(--text-muted);text-align:right;padding:4px 6px;font-size:12px;font-weight:600}table.cats th:first-child{text-align:left}table.cats td{border-top:1px solid var(--grid);text-align:right;padding:8px 6px}table.cats td:first-child{text-align:left}table.cats tbody tr{cursor:pointer}table.cats tbody tr:hover,table.cats tbody tr.on{background:#ffffff0a}table.cats tfoot td{font-weight:600}table.cats .name{align-items:center;gap:8px;display:inline-flex}.up{color:var(--text)}.tx-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.input,.select{font:inherit;background:var(--page);color:var(--text);border:1px solid #5a6b88;border-radius:10px;min-height:40px;padding:8px 10px;font-size:14px}.input{flex:1;min-width:160px}.select.small{max-width:190px;min-height:32px;padding:4px 8px;font-size:13px}ul.tx{margin:0;padding:0;list-style:none}ul.tx>li{border-top:1px solid var(--grid);grid-template-columns:74px minmax(0,1fr) auto auto;align-items:center;gap:4px 12px;padding:9px 0;display:grid}ul.tx .date{color:var(--text-muted);font-size:12px}ul.tx .who{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}ul.tx .what{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}ul.tx .amount{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}ul.tx .amount.in{color:var(--text)}ul.tx .amount.out{color:var(--text-secondary)}ul.tx .controls{justify-content:flex-end;align-items:center;gap:8px;display:flex}.manual{color:var(--text-muted);font-size:11px}.rule-offer{background:var(--page);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.rule-offer .input{flex:0 200px;min-width:120px;min-height:32px;padding:4px 8px}.bank dl{grid-template-columns:auto 1fr;gap:4px 12px;margin:0 0 10px;font-size:14px;display:grid}.bank dt{color:var(--text-muted)}.bank dd{margin:0}.bank .actions{flex-wrap:wrap;gap:8px;display:flex}.ok-text{color:var(--text)}.err-text{color:var(--danger)}.rules ul{margin:0 0 10px;padding:0;list-style:none}.rules li{border-top:1px solid var(--grid);align-items:center;gap:8px;padding:6px 0;font-size:14px;display:flex}.rules li .grow{flex:1;min-width:0}.rules form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rules form .input{flex:160px}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.app.private .money,.app.private .tooltip td+td,.app.private .table-view td+td{filter:blur(7px);-webkit-user-select:none;user-select:none}.app.private .recharts-yAxis-tick-labels{visibility:hidden}.section-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.section-head h2{margin-bottom:8px}@media (width<=760px){.hide-narrow{display:none}ul.tx>li{grid-template-columns:58px minmax(0,1fr) auto}ul.tx .controls{grid-column:2/4}.month-nav .label{flex:1;min-width:0}.filters{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-16px;padding:0 16px 4px;overflow-x:auto}.chip{flex:none}}
