:root{--bg:#f8f2f3;--paper:#fffafa;--ink:#33282b;--muted:#766169;--accent:#925d6c;--rose:#b67d8b;--line:#eadde1;--green:#28725b;--red:#ad4659;--shadow:0 12px 34px #6b444e0c;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #925d6c;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}button{border:0;background:none}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:1.85rem;letter-spacing:-.055em;font-weight:650}h2{font-size:1.15rem;font-weight:650;letter-spacing:-.02em}h3{font-size:1rem}small{font-size:.8rem}.muted{color:var(--muted)}.boot{padding:30vh 20px;text-align:center;font-family:Georgia,serif;font-size:2rem}.boot span{display:block;font:1rem system-ui;margin-top:20px}.shell{max-width:500px;margin:auto;padding:env(safe-area-inset-top) 22px calc(106px + env(safe-area-inset-bottom));min-height:100dvh}.top{display:flex;align-items:center;justify-content:space-between;padding:24px 0 20px}.brand{font-family:Georgia,serif;font-size:1.28rem;letter-spacing:-.035em}.brand i{color:var(--accent)}.avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#eddee2;color:var(--accent);font-size:.9rem;font-weight:650;border:3px solid var(--paper)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:650;color:var(--muted)}.heading{margin:14px 0 22px}.heading h1{margin-top:7px}.heading .muted{margin-top:7px;font-size:.9rem}.status{display:flex;align-items:center;gap:7px;font-size:.78rem;color:var(--green);padding:4px 0}.status:before{content:'';width:6px;height:6px;background:currentColor;border-radius:50%}.status.warning{color:var(--red)}.demo{background:#f1e3e7;color:#704750;border:1px solid #e5cdd4;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:12px;font-size:.8rem;margin:0 0 12px}.demo button{text-decoration:underline;font-weight:600;min-height:32px}.card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow);margin-bottom:16px}.wealth{background:linear-gradient(115deg,#976171,#754855);color:white;position:relative;padding:25px;border:0}.wealth .eyebrow{color:#ead5dc}.wealth .big{font-size:2.3rem;font-weight:550;letter-spacing:-.055em;margin:12px 0 23px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.wealth .accountline{border-top:1px solid #ffffff30;display:flex;justify-content:space-between;gap:12px;padding-top:17px}.wealth .accountline span{display:block;font-size:.8rem;color:#eddce1}.wealth .accountline strong{display:block;font-size:1rem;margin-top:5px;font-weight:550}.section-head{display:flex;align-items:center;justify-content:space-between;margin:24px 0 13px;gap:12px}.link{font-size:.85rem;color:var(--accent);min-height:40px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick button{min-height:64px;border-radius:17px;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:600;background:var(--paper);border:1px solid var(--line)}.quick button:first-child{background:var(--accent);color:white;border-color:var(--accent)}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-grid .card{padding:17px;margin:0}.mini-grid span{font-size:.8rem;color:var(--muted)}.mini-grid strong{font-size:1.25rem;font-weight:600;display:block;letter-spacing:-.035em;margin-top:8px}.positive{color:var(--green)}.negative{color:var(--red)}.row{display:flex;align-items:center;gap:12px;padding:15px 0;text-align:left;width:100%;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row-icon{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:#f2e5e9;color:var(--accent);flex-shrink:0}.row-icon.positive{background:#e7f1eb;color:var(--green)}.row-main{flex:1;min-width:0}.row-main strong{display:block;font-size:.9rem;font-weight:600;overflow-wrap:anywhere}.row-main small{display:block;color:var(--muted);margin-top:4px}.row-amount{font-weight:650;font-size:.92rem;white-space:nowrap}.rows{padding:0 16px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:20;max-width:500px;width:100%;background:#fffafaf5;backdrop-filter:blur(15px);border-top:1px solid var(--line);padding:11px 14px calc(11px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.bottom-nav button{min-height:51px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:.72rem;color:var(--muted)}.bottom-nav button.active{background:#f0e2e7;color:var(--accent);font-weight:650}.page{animation:appear .22s ease-out}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.segmented{display:flex;padding:5px;background:#eee3e7;border-radius:15px;gap:4px;margin-bottom:20px}.segmented button{flex:1;padding:11px 8px;font-size:.95rem;font-weight:600;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:7px}.segmented button.active{background:var(--paper);box-shadow:0 2px 7px #6b444e10;color:var(--accent)}.amount-wrap{text-align:center;padding:15px 0 22px}.amount-wrap label{font-size:.85rem;color:var(--muted);display:block;margin-bottom:5px}.amount-line{display:flex;align-items:baseline;justify-content:center;gap:8px}.amount-line input{border:0;background:none;font-size:3.7rem;letter-spacing:-.075em;text-align:center;width:100%;max-width:310px;color:var(--ink);font-weight:550;min-width:0;border-radius:10px}.amount-line span{font-size:1.1rem;color:var(--muted)}.amount-wrap .chips{justify-content:center;margin-top:10px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips button{padding:8px 14px;border-radius:30px;border:1px solid var(--line);background:var(--paper);font-size:.85rem;min-height:39px}.chips button.active{border-color:var(--accent);background:#eddde3;color:#754855;font-weight:600}.field-label{display:block;font-size:.85rem;font-weight:600;margin:20px 0 9px}.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.category{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 3px;border:1px solid var(--line);border-radius:15px;background:var(--paper);min-height:83px;font-size:.77rem}.category svg{width:24px;height:24px;color:var(--accent)}.category.active{background:#f0dfe5;border:1.5px solid var(--accent);color:#754855;box-shadow:inset 0 0 0 .5px var(--accent)}input.field,select.field,textarea.field{background:var(--paper);border:1px solid var(--line);border-radius:13px;color:var(--ink);padding:13px;width:100%;min-height:48px;font-size:1rem}textarea.field{resize:vertical;min-height:75px}.fieldgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.primary{width:100%;padding:16px;border-radius:15px;background:var(--accent);color:white;font-weight:650;min-height:54px;margin-top:20px;display:flex;align-items:center;justify-content:center;gap:9px}.secondary{width:100%;padding:14px;border-radius:15px;background:var(--paper);border:1px solid var(--line);font-weight:600;min-height:50px;margin-top:12px}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.9rem;padding:17px 0}.switch input{width:22px;height:22px;accent-color:var(--accent)}input[type=range]{width:100%;accent-color:var(--accent);min-height:32px}.split-values{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted)}.error{color:#922d42;background:#f9e3e8;border:1px solid #ecc6d0;padding:13px;border-radius:12px;font-size:.9rem;margin-top:12px;line-height:1.5}.error:empty{display:none}.hint{font-size:.82rem;color:var(--muted);line-height:1.55;margin-top:11px}.empty{padding:34px 12px;text-align:center;color:var(--muted);font-size:.95rem;line-height:1.6}.monthnav{display:flex;align-items:center;justify-content:space-between;margin:8px 0 18px}.monthnav button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.monthnav strong{text-transform:capitalize;font-size:.95rem}.filterbox{display:flex;gap:9px;margin:14px 0}.filterbox select{min-width:0}.filterbox input{min-width:0}.bar-row{margin:18px 0}.bar-head{display:flex;justify-content:space-between;font-size:.85rem;gap:10px}.bar-track{height:7px;background:#f1e5e9;border-radius:9px;margin-top:9px;overflow:hidden}.bar-track i{display:block;height:100%;background:var(--rose);border-radius:9px;transition:width .3s}.bar-button{width:100%;text-align:left;padding:0}.tag{font-size:.75rem;display:inline-block;padding:5px 9px;border-radius:20px;background:#f0e1e6;color:#754855}.setup{padding-top:10vh}.setup .mark{width:68px;height:68px;background:var(--accent);color:white;border-radius:22px;font:1.3rem Georgia;display:grid;place-items:center;margin-bottom:24px}.setup h1{font-family:Georgia,serif;font-weight:400;font-size:2.3rem}.setup p{margin-top:13px;color:var(--muted);line-height:1.6}.setup .card{margin-top:26px}.setup details{font-size:.9rem;margin-top:22px;color:var(--muted)}.setup summary{cursor:pointer;padding:10px 0}.setup details p{font-size:.85rem}.install-step{display:flex;gap:12px;align-items:flex-start;margin-top:17px;font-size:.9rem;line-height:1.5}.install-step b{min-width:25px;height:25px;border-radius:50%;background:#efdee4;display:grid;place-items:center;color:var(--accent)}dialog{border:0;border-radius:26px 26px 0 0;position:fixed;top:auto;bottom:0;max-width:500px;width:100%;padding:26px 24px calc(26px + env(safe-area-inset-bottom));margin:0 auto;background:var(--paper);color:var(--ink);max-height:90dvh;overflow:auto;box-shadow:0 -20px 80px #33282b20}dialog::backdrop{background:#33282b60;backdrop-filter:blur(3px)}.sheet-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.close{width:40px;height:40px;border-radius:50%;background:#f0e4e8;font-size:1.2rem}.detail-money{font-size:2.6rem;letter-spacing:-.06em;margin:15px 0}.detail-row{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}.detail-row span{color:var(--muted)}.detail-row strong{text-align:right;overflow-wrap:anywhere}.success{text-align:center;padding:12px 0 7px}.success-mark{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#e3efe7;color:var(--green);margin:0 auto 18px}.success-mark svg{width:32px;height:32px}.success p{color:var(--muted);margin-top:12px;line-height:1.5}#toast{position:fixed;bottom:calc(100px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,15px);padding:12px 20px;max-width:calc(100% - 40px);background:#33282b;color:white;border-radius:15px;font-size:.88rem;z-index:100;opacity:0;pointer-events:none;transition:.2s;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}.pending{border:1px solid #dcafbd;background:#f8e9ee;padding:16px;border-radius:17px;margin:15px 0}.pending p{font-size:.85rem;line-height:1.55;margin-top:8px}.pending button{margin-top:12px;color:var(--accent);font-weight:650;min-height:38px}.quiet-btn{font-size:.85rem;text-decoration:underline;color:var(--muted);margin-top:18px;min-height:44px}.account-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-card p{margin:5px 0;color:var(--muted);font-size:.85rem}@media(min-width:600px){body{background:radial-gradient(ellipse at top,#f3e5e9,#eadce1)}.shell{background:var(--bg);border-left:1px solid #e2ced5;border-right:1px solid #e2ced5;box-shadow:0 0 80px #6334420c}.bottom-nav{border-left:1px solid var(--line);border-right:1px solid var(--line)}}@media(max-width:370px){.shell{padding-left:15px;padding-right:15px}.wealth .big{font-size:2rem}.amount-line input{font-size:3.2rem}.categories{gap:6px}.row-amount{font-size:.82rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
