:root{--bg:#f6f7f9;--card:#fff;--card-2:#eef0f4;--text:#14161b;--muted:#6b7280;--border:#14161b1a;--accent:#6366f1;--accent-soft:#6366f124;--on-accent:#fff;--income:#16a34a;--expense:#e11d48;--expense-soft:#e11d481f;--income-soft:#16a34a1f;--warning:#b45309;--house:#3b82f6;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--card:#181b22;--card-2:#222631;--text:#eef0f4;--muted:#9aa1ad;--border:#eef0f41a;--accent:#818cf8;--accent-soft:#818cf82e;--on-accent:#0f1115;--income:#4ade80;--expense:#fb7185;--expense-soft:#fb718524;--income-soft:#4ade8024;--warning:#fbbf24;--house:#60a5fa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}h1,h2,h3,p{margin:0}.ms{white-space:nowrap;-webkit-font-feature-settings:"liga";font-feature-settings:"liga";direction:ltr;width:1em;font-family:Material Symbols Rounded;font-style:normal;font-weight:400;line-height:1;display:inline-block;overflow:hidden}.num{font-variant-numeric:tabular-nums}.income{color:var(--income)}.expense{color:var(--expense)}.muted{color:var(--muted)}.small{font-size:13px}.app{max-width:560px;min-height:100%;padding:calc(env(safe-area-inset-top) + 8px) 16px calc(env(safe-area-inset-bottom) + 96px);margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:8px;padding:6px 0 14px;display:flex}.topbar h1{font-size:22px;font-weight:650}.icon-btn{width:40px;height:40px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.icon-btn:active{background:var(--card-2)}.month-nav{justify-content:center;align-items:center;gap:4px;font-weight:600;display:flex}.month-nav span{text-align:center;min-width:150px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stack{gap:12px;display:grid}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.label{color:var(--muted);margin-bottom:2px;font-size:13px}.big{letter-spacing:-.5px;font-size:28px;font-weight:650}.mid{font-size:18px;font-weight:600}.section-title{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px;font-weight:600;display:flex}.link{color:var(--accent);font-size:14px;font-weight:500}.bar{background:var(--card-2);border-radius:3px;height:6px;margin-top:4px;overflow:hidden}.bar>div{border-radius:3px;height:100%}.bottom-nav{z-index:10;background:color-mix(in srgb, var(--card) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:6px 24px calc(env(safe-area-inset-bottom) + 6px);position:fixed;bottom:0;left:0;right:0}.bottom-nav-inner{justify-content:space-around;align-items:center;max-width:560px;margin:0 auto;display:flex}.nav-item{color:var(--muted);flex-direction:column;align-items:center;gap:2px;padding:4px 12px;font-size:11px;display:flex}.nav-item.on{color:var(--accent)}.fab{background:var(--accent);width:56px;height:56px;color:var(--on-accent);border-radius:50%;justify-content:center;align-items:center;margin-top:-22px;display:inline-flex;box-shadow:0 6px 18px #6366f159}.fab:active{transform:scale(.96)}.day{color:var(--muted);justify-content:space-between;margin:14px 2px 6px;font-size:13px;font-weight:600;display:flex}.tx{text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;padding:10px 4px;display:flex}.tx:active{background:var(--card-2)}.tx+.tx{border-top:1px solid var(--border)}.tx-icon{border-radius:12px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.tx-main{flex:1;min-width:0}.tx-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:500;overflow:hidden}.tx-sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.tx-amount{white-space:nowrap;font-size:15px;font-weight:600}.owner{background:var(--accent-soft);color:var(--text);border-radius:6px;align-items:center;gap:2px;padding:1px 6px;font-size:11px;display:inline-flex}.owner.house{background:color-mix(in srgb, var(--house) 16%, transparent)}.empty{text-align:center;color:var(--muted);padding:32px 12px;font-size:14px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);color:var(--muted);background:var(--card);border-radius:999px;align-items:center;gap:4px;padding:7px 12px;font-size:14px;display:inline-flex}.chip-on{background:var(--accent-soft);color:var(--text);border-color:#0000;font-weight:500}.field{border:1px solid var(--border);background:var(--card);border-radius:12px;width:100%;height:46px;padding:0 12px;font-size:16px}.field:focus{outline:2px solid var(--accent);outline-offset:-1px}select.field{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}.btn{background:var(--accent);width:100%;height:50px;color:var(--on-accent);border-radius:14px;justify-content:center;align-items:center;gap:6px;font-size:16px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.6}.btn-ghost{background:var(--card-2);color:var(--text)}.error{color:var(--expense);font-size:14px}.hint{color:var(--muted);font-size:13px}.sheet{z-index:20;background:var(--bg);padding:calc(env(safe-area-inset-top) + 6px) 0 calc(env(safe-area-inset-bottom) + 10px);flex-direction:column;display:flex;position:fixed;inset:0}.sheet-inner{flex-direction:column;width:100%;max-width:560px;height:100%;margin:0 auto;display:flex}.sheet-head{justify-content:space-between;align-items:center;padding:0 10px;display:flex}.type-toggle{background:var(--card-2);border-radius:999px;padding:3px;display:inline-flex}.type-toggle button{color:var(--muted);border-radius:999px;padding:6px 14px;font-size:14px}.type-toggle .on-expense{background:var(--expense-soft);color:var(--expense);font-weight:600}.type-toggle .on-income{background:var(--income-soft);color:var(--income);font-weight:600}.amount{text-align:center;letter-spacing:-1px;padding:10px 16px 2px;font-size:42px;font-weight:650}.sheet-body{-webkit-overflow-scrolling:touch;flex:1;align-content:start;gap:14px;padding:4px 16px 10px;display:grid;overflow-y:auto}.desc{text-align:center;background:0 0;border:0;width:100%;padding:4px;font-size:16px}.desc:focus{outline:none}.cats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.cat{border:1px solid var(--border);color:var(--muted);background:var(--card);border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:9px 2px;font-size:11px;display:flex}.cat span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 2px;overflow:hidden}.cat.on{color:var(--text);border-color:#0000;font-weight:600}.row{align-items:center;gap:8px;display:flex}.row>*{flex:1;min-width:0}.split-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);gap:10px;padding:12px;display:grid}.switch{justify-content:space-between;align-items:center;font-size:15px;display:flex}.toggle{background:var(--card-2);border-radius:14px;flex:none;width:46px;height:28px;transition:background .15s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.toggle.on{background:var(--accent)}.toggle.on:after{transform:translate(18px)}.status-ok{color:var(--income);font-size:13px}.status-warn{color:var(--warning);font-size:13px}.keypad{grid-template-columns:repeat(3,1fr);gap:8px;padding:6px 16px 10px;display:grid}.key{background:var(--card);border:1px solid var(--border);border-radius:12px;height:52px;font-size:22px;font-weight:500}.key:active{background:var(--card-2)}.sheet-foot{padding:0 16px}.toast{z-index:30;left:50%;bottom:calc(env(safe-area-inset-bottom) + 84px);color:#f5f6f8;background:#111318;border-radius:12px;align-items:center;gap:16px;width:max-content;max-width:calc(100% - 32px);padding:10px 14px;font-size:14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0000004d}.toast.err{background:#7f1d1d}.toast button{color:#a5b4fc;font-weight:600}.login{flex-direction:column;justify-content:center;gap:14px;max-width:400px;min-height:100%;margin:0 auto;padding:24px 20px;display:flex}.login-logo{border-radius:18px;width:72px;height:72px;margin:0 auto 4px;display:block}.center{text-align:center}
