:root{color-scheme:light;--bg: #ebe4d8;--paper: rgba(255, 252, 247, .88);--ink: #1c1712;--muted: #6f655c;--line: rgba(48, 32, 16, .1);--green: #0f6e56;--pine: #12382f;--red: #b42318;--cream: #f6f1e7;--shadow: 0 18px 50px rgba(55, 36, 14, .08);--serif: "Fraunces", "Iowan Old Style", Palatino, Georgia, serif;--sans: "Manrope", "Segoe UI", sans-serif;--nav: 76px;--radius: 24px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--sans);background:radial-gradient(900px 420px at -10% -10%,#f6ead2 0%,transparent 55%),radial-gradient(800px 380px at 110% 0%,#d7ebe3 0%,transparent 50%),var(--bg)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--green);text-decoration:none}::selection{background:#d7efe6}.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.side{position:sticky;top:0;height:100vh;padding:28px 16px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 22px}.brand span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--pine);color:var(--cream);font-family:var(--serif);font-size:22px}.brand strong{display:block;font-size:18px}.brand small{color:var(--muted)}.side nav{display:flex;flex-direction:column;gap:4px}.side nav a,.side nav button,.sheet a,.sheet button{display:flex;align-items:center;gap:12px;border:0;background:transparent;text-align:left;padding:12px 14px;border-radius:14px;color:inherit;font-weight:700;text-decoration:none}.side nav a.active,.side nav button.active{background:#fffdf8;box-shadow:var(--shadow)}.side-foot{margin-top:auto;padding:12px}.side-foot p{margin:8px 0 0;color:var(--muted);font-size:13px;text-align:center}.main{padding:28px 32px 64px;max-width:1120px}.page-head,.page-actions,.card-head,.form-actions,.plan-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-head{margin-bottom:18px;flex-wrap:wrap}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}h1{margin:0;font-family:var(--serif);font-size:40px;font-weight:560;letter-spacing:-.03em}h2{margin:0;font-size:18px}.section-title{margin:22px 0 10px;font-size:15px;color:var(--muted)}.hero{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;padding:28px;border-radius:30px;color:var(--cream);background:radial-gradient(420px 180px at 100% 0%,rgba(255,255,255,.16),transparent 55%),linear-gradient(155deg,#1c5648,var(--pine) 62%);box-shadow:0 24px 50px #102e292e}.hero-label,.allowance span,.allowance small{color:#f6f1e7b8}.balance{margin:8px 0 16px;font-family:var(--serif);font-size:clamp(42px,6vw,68px);line-height:.92;letter-spacing:-.045em}.hero-stats{display:flex;flex-wrap:wrap;gap:14px;font-weight:700}.dot{width:8px;height:8px;border-radius:99px;display:inline-block;margin-right:6px}.dot.in{background:#8ddebe}.dot.out{background:#f0b2a4}.allowance{align-self:end;padding:18px;border-radius:22px;background:#fffcf71a;border:1px solid rgba(255,255,255,.12)}.allowance strong{display:block;margin:6px 0;font-family:var(--serif);font-size:34px;letter-spacing:-.03em}.allowance.danger strong,.balance.danger,.minus,.hero .minus,.hero .balance.danger,.hero .allowance.danger strong{color:#ffd0c8}.card,.sync-strip,.empty.card,.day-group .card{background:var(--paper);border:1px solid rgba(255,255,255,.7);border-radius:var(--radius);box-shadow:var(--shadow)}.sync-strip,.card{padding:18px;margin-top:16px}.sync-strip{display:flex;justify-content:space-between;gap:16px;align-items:center}.sync-strip p,.hint,.empty,.provider p,.schedule p{color:var(--muted)}.sync-strip p{margin:4px 0 0}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px}.card-head{margin-bottom:8px}.bars,.tx-list,.plan-list,.log{display:flex;flex-direction:column}.bar-row,.tx{display:flex;gap:12px;align-items:center;width:100%;padding:10px 4px;border:0;background:transparent;text-align:left;color:inherit}.bubble{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;font-size:18px}.bubble.sm{width:36px;height:36px}.tx-copy,.bar-copy,.plan-copy{min-width:0;flex:1}.tx-copy strong,.bar-copy b,.plan-title strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-copy small,.plan-copy small{color:var(--muted)}.tx em{font-style:normal;font-weight:800;white-space:nowrap}.tx em.in,.plus{color:var(--green)}.tx em.out,.minus{color:var(--red)}.bar-copy span,.plan-title{display:flex;justify-content:space-between;gap:8px}.bar-copy i,.track{display:block;height:7px;margin-top:6px;border-radius:99px;background:#30201014;overflow:hidden}.bar-copy i b,.track b{display:block;height:100%;border-radius:inherit}.day-group h2{margin:18px 0 8px;font-size:14px;color:var(--muted)}.day-group .card{margin-top:0;padding:6px 12px}.month-switch{display:flex;align-items:center;gap:8px;background:#fffcf7cc;border-radius:999px;padding:4px}.month-switch span{min-width:148px;text-align:center;font-weight:800}.month-switch button,.icon-btn{width:36px;height:36px;border:0;border-radius:999px;background:#fff}.toolbar{display:flex;flex-direction:column;gap:10px}.search,label input,label select,.plan-input input{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;outline:none}.search:focus,label input:focus,label select:focus,.plan-input input:focus{border-color:#8dbeae}.chips{display:flex;gap:8px;overflow:auto;padding-bottom:2px}.chip{border:0;background:#fffcf7cc;border-radius:999px;padding:8px 12px;font-weight:700;white-space:nowrap}.chip.on{background:var(--pine);color:var(--cream)}.plan-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.plan-summary article,.account{background:var(--paper);border-radius:22px;padding:16px;box-shadow:var(--shadow)}.plan-summary span,.account small,.plan-input span{color:var(--muted);font-size:13px}.plan-summary strong,.account em{display:block;margin-top:6px;font-family:var(--serif);font-size:28px;font-style:normal;letter-spacing:-.03em}.plan-summary .minus{color:var(--red)}.plan-summary .plus{color:var(--green)}.plan-row{display:grid;grid-template-columns:auto 1fr 120px;gap:12px;align-items:center;padding:12px 4px}.plan-list{gap:4px}.plan-input input{padding:10px 12px;text-align:right;font-weight:800}.account-grid,.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.account,.category{border:0;text-align:left;color:inherit;position:relative}.account-mark{position:absolute;left:16px;top:18px;width:10px;height:10px;border-radius:99px}.account strong,.category strong{display:block;margin-top:10px}.account{padding-left:34px}.category{display:flex;align-items:center;gap:10px;padding:12px;background:var(--paper);border-radius:18px;box-shadow:var(--shadow)}.archived{opacity:.55}.provider-grid{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:16px}.provider-grid>.card{margin-top:0;min-width:0}.provider{border-top:4px solid var(--green)}.provider .card-head{flex-wrap:wrap;align-items:flex-start;gap:8px}.provider .card-head h2{min-width:0}.provider p{overflow-wrap:break-word}.provider label.switch{display:flex;align-items:center}.provider label input:not([type=checkbox]){width:100%;min-width:0;max-width:100%}.provider .form-actions{flex-wrap:wrap;align-items:stretch;justify-content:flex-start}.provider .form-actions .btn{flex:1 1 9.5rem;white-space:nowrap}.provider-alfa{border-top-color:#d7263d}.provider-yoomoney{border-top-color:#5b2d8a}.schedule{display:grid;grid-template-columns:1.4fr auto 160px 160px;gap:14px;align-items:end}.pill{border-radius:999px;padding:4px 8px;background:#efe8dc;font-size:12px;font-weight:800}.pill.ok{background:#d9f0e6;color:var(--green)}.log{list-style:none;margin:8px 0 0;padding:0}.log li{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--line)}.log li.error strong{color:var(--red)}.log small{color:var(--muted)}.switch{display:flex;align-items:center;gap:8px;font-weight:700}.switch input{width:auto}details{margin-top:8px}details summary{cursor:pointer;font-weight:700}.btn{border:0;border-radius:14px;padding:12px 16px;font-weight:800;background:#fff}.btn.primary{background:var(--pine);color:var(--cream)}.btn.light{background:#fffcf729;color:var(--cream);border:1px solid rgba(255,255,255,.2)}.sync-strip .btn.light,.side-foot .btn.light{background:var(--pine);color:var(--cream);border:0}.btn.ghost{background:#f3eee6}.btn.danger{color:var(--red)}.btn.wide{width:100%}.btn:disabled{opacity:.6;cursor:wait}.fab{position:fixed;right:16px;bottom:calc(var(--nav) + 12px);width:58px;height:58px;border:0;border-radius:20px;background:var(--pine);color:var(--cream);font-size:34px;line-height:1;box-shadow:0 12px 30px #102e2947}.modal-back,.sheet-back{position:fixed;inset:0;z-index:30;background:#1c171261;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:min(520px,100%);max-height:min(92vh,860px);overflow:auto;background:#fffdf8;border-radius:28px;padding:18px}.modal-head h2{font-family:var(--serif);font-size:30px}.modal label,.provider label,.schedule label{display:grid;gap:6px;margin:10px 0;font-size:13px;font-weight:700;color:var(--muted)}.segment{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:16px;background:#efe7db}.modal .segment button{border:0;background:transparent;border-radius:12px;padding:10px;font-weight:800}.segment button.on{background:#fff}.segment button.on-out{color:var(--red)}.segment button.on-in{color:var(--green)}.amount-field{display:flex;align-items:baseline;justify-content:center;gap:8px}.amount-field input{width:70%;border:0;background:transparent;text-align:right;font-family:var(--serif);font-size:56px;padding:0}.amount-field span{font-family:var(--serif);font-size:28px;color:var(--muted)}.form-error{color:var(--red);font-weight:700}.swatches,.icon-picker{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.swatches button{width:28px;height:28px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #00000014}.swatches button.on{box-shadow:0 0 0 2px var(--ink)}.icon-picker button{width:40px;height:40px;border-radius:12px;border:0;background:#f3eee6}.icon-picker button.on{background:#dceee7}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:40;max-width:min(520px,calc(100% - 24px));background:var(--ink);color:var(--cream);padding:12px 16px;border-radius:16px}.boot{min-height:100vh;display:grid;place-content:center;padding:24px;text-align:center}.hint{font-size:14px}.who{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px 14px}.who strong{font-size:14px}.who button,.text-link,.sheet button{border:0;background:transparent;color:var(--muted);font-weight:800;text-align:left}.auth{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(440px,100%);background:var(--paper);border-radius:28px;padding:28px 24px;box-shadow:var(--shadow)}.auth-card h1{margin:8px 0}.auth-card p{margin-top:0;color:var(--muted)}.auth-card .btn{margin-top:8px}.text-link{color:var(--green);padding:14px 0 0}.mobile-only{display:none!important}@media(max-width:980px){.hero,.split,.schedule,.plan-summary{grid-template-columns:1fr}.schedule{align-items:stretch}}@media(max-width:860px){.app{display:block}.side{position:fixed;inset:auto 0 0;height:auto;z-index:20;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#f7f3ecf0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line)}.brand,.desk-only{display:none!important}.mobile-only{display:flex!important}.fab.mobile-only{display:grid!important}.side nav{flex-direction:row}.side nav a,.side nav button{flex:1;flex-direction:column;gap:2px;justify-content:center;font-size:11px;padding:8px 2px;box-shadow:none!important;background:transparent!important}.side nav a.active,.side nav button.active{color:var(--green)}.main{padding:18px 16px calc(var(--nav) + 28px)}h1{font-size:34px}.hero{padding:22px;border-radius:26px}.sync-strip{align-items:stretch;flex-direction:column}.plan-row{grid-template-columns:auto 1fr}.plan-input{grid-column:1 / -1}.modal-back{align-items:flex-end;padding:0}.modal{border-radius:24px 24px 0 0;max-height:92vh}.toast{bottom:calc(var(--nav) + 16px)}.sheet-back{align-items:flex-end;padding:0 10px calc(var(--nav) + 10px)}.sheet{width:100%;background:#fffdf8;border-radius:22px;padding:8px;display:grid}.fab{display:grid;place-items:center}}
