:root{--bg: #f5f6fb;--bg-2: #eef0f7;--card: #ffffff;--card-2: #f1f2fa;--line: #e4e6f0;--text: #1a1c2e;--muted: #6b7194;--accent: #6d4bff;--accent-2: #6d4bff;--green: #16a34a;--red: #e11d48;--amber: #d97706;--radius: 20px;--shadow: 0 2px 10px rgba(28, 31, 61, .06)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.app{max-width:480px;margin:0 auto;min-height:100%;padding:env(safe-area-inset-top) 16px calc(88px + env(safe-area-inset-bottom)) 16px;position:relative}.header{padding:18px 2px 10px}.header h1{font-size:26px;margin:0;letter-spacing:-.5px}.header .sub{color:var(--muted);font-size:13px;margin-top:2px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:14px;box-shadow:var(--shadow)}.card.tight{padding:14px 16px}.hero{background:linear-gradient(150deg,#6d4bff,#4c2fd0);border:none;color:#fff;position:relative;overflow:hidden}.hero .label{font-size:13px;opacity:.85}.hero .big{font-size:42px;font-weight:700;letter-spacing:-1px;margin:4px 0 2px}.hero .hint{font-size:13px;opacity:.9}.hero.negative{background:linear-gradient(150deg,#f43f5e,#9f1239)}.hero-calc{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.25);font-size:13px}.hero-calc .row{opacity:.92}.hero-calc .row+.row{margin-top:6px}.hero-calc .pos{color:#d1fae5}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row+.row{margin-top:12px}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:11px}.amount{font-variant-numeric:tabular-nums;font-weight:600}.pos{color:var(--green)}.neg{color:var(--red)}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:22px 4px 10px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat{background:var(--card-2);border-radius:16px;padding:14px}.stat .k{font-size:12px;color:var(--muted)}.stat .v{font-size:20px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}.bar{height:8px;background:var(--bg-2);border-radius:99px;overflow:hidden;margin-top:8px}.bar>span{display:block;height:100%;border-radius:99px}.list-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:none}.dot{width:10px;height:10px;border-radius:99px;flex:none}.grow{flex:1;min-width:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill{font-size:11px;padding:3px 8px;border-radius:99px;background:var(--card-2);color:var(--muted)}.pill.due{background:#fbbf2426;color:var(--amber)}button,.btn{font:inherit;cursor:pointer;border:none;border-radius:14px;padding:14px 16px;background:var(--accent);color:#fff;font-weight:600;width:100%;transition:transform .05s,opacity .2s}button:active,.btn:active{transform:scale(.98)}button.secondary{background:var(--card-2);color:var(--text)}button.ghost{background:transparent;color:var(--accent-2)}button.small{width:auto;padding:8px 12px;font-size:13px;border-radius:10px}button:disabled{opacity:.5}input,select{font:inherit;width:100%;padding:13px 14px;border-radius:12px;background:var(--bg-2);border:1px solid var(--line);color:var(--text);outline:none}input:focus,select:focus{border-color:var(--accent)}label{display:block;font-size:13px;color:var(--muted);margin:12px 0 6px}.field-row{display:flex;gap:10px}.field-row>*{flex:1}.nav{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-around;background:#ffffffe6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom));max-width:480px;margin:0 auto}.nav button{background:none;width:auto;color:var(--muted);font-size:11px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 10px}.nav button.active{color:var(--accent-2)}.nav .ico{font-size:20px;line-height:1}.lock{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}.lock .logo{width:84px;height:84px;border-radius:22px;margin-bottom:20px}.dots{display:flex;gap:14px;margin:22px 0 30px}.dots i{width:15px;height:15px;border-radius:99px;background:var(--card-2);border:1px solid var(--line)}.dots i.on{background:var(--accent);border-color:var(--accent)}.pad{display:grid;grid-template-columns:repeat(3,76px);gap:16px}.pad button{width:76px;height:76px;border-radius:99px;background:var(--card);font-size:26px;font-weight:500}.pad button.blank{background:none}.err{color:var(--red);min-height:20px;font-size:14px}.center{text-align:center}.spinner{width:22px;height:22px;border:3px solid rgba(109,75,255,.2);border-top-color:var(--accent);border-radius:99px;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading{display:flex;justify-content:center;padding:60px 0}.bank-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;margin-bottom:8px;background:var(--card)}.bank-item img{width:34px;height:34px;border-radius:8px;object-fit:contain;background:#fff}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(96px + env(safe-area-inset-bottom));background:var(--card-2);border:1px solid var(--line);padding:12px 18px;border-radius:12px;font-size:14px;z-index:50;max-width:90%}.fab{position:fixed;right:calc(50% - 224px);bottom:calc(96px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:99px;background:var(--accent);font-size:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #7c5cff66}@media(max-width:512px){.fab{right:20px}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:60;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--bg-2);width:100%;max-width:480px;border-radius:24px 24px 0 0;padding:20px 18px calc(24px + env(safe-area-inset-bottom));border:1px solid var(--line);max-height:88vh;overflow:auto}.sheet h3{margin:4px 0 8px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 12px;border-radius:99px;border:1px solid var(--line);background:var(--card);font-size:13px}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
