:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#162019;background:#f6f7f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#f6f7f8}button,input,textarea,select{font:inherit}.app-shell{max-width:640px;margin:0 auto;min-height:100vh;padding-bottom:92px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:24px 20px 12px}.eyebrow{font-size:11px;letter-spacing:.16em;color:#7a837d;font-weight:700}.topbar h1{margin:4px 0 0;font-size:28px}.avatar-btn{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#173f2f;color:#fff;border:0}.balance-card{margin:8px 16px 16px;padding:22px;border-radius:24px;background:#173f2f;color:#fff;display:flex;flex-direction:column;gap:6px;box-shadow:0 12px 30px #173f2f29}.balance-card span,.balance-card small{opacity:.78}.balance-card strong{font-size:36px;line-height:1.1}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 16px}.stat{background:#fff;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:8px;border:1px solid #e9ecea}.stat svg{color:#4f6559}.stat span{font-size:13px;color:#6f7872}.stat strong{font-size:20px}.stat.wide{grid-column:1/-1}.section-block{padding:20px 16px}.page-pad{padding-top:10px}.section-head,.sheet-row{display:flex;justify-content:space-between;align-items:center}.section-head h2,.section-block h2{font-size:19px}.section-head button{border:0;background:none;color:#397257;font-weight:700}.list-card,.menu-card,.budget-card{background:#fff;border:1px solid #e9ecea;border-radius:20px;overflow:hidden}.tx{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #eef0ef}.tx:last-child{border-bottom:0}.tx-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:20px;font-weight:800}.tx-icon.expense{background:#fff0ef;color:#b1453a}.tx-icon.income{background:#edf8f1;color:#2b714b}.tx-main{display:flex;flex-direction:column;gap:3px;flex:1}.tx-main span{font-size:12px;color:#7d8580}.tx>strong{font-size:14px}.tx>strong.expense{color:#9e3f36}.tx>strong.income{color:#2b714b}.bottom-nav{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(640px,100%);height:78px;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid #e6e9e7;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:8px 8px 12px;z-index:20}.bottom-nav button{border:0;background:none;color:#7b827e;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px}.bottom-nav button svg{width:21px}.bottom-nav button.active{color:#173f2f;font-weight:700}.bottom-nav .add-btn{width:58px;height:58px;border-radius:20px;background:#173f2f;color:#fff;justify-self:center;margin-top:-28px;box-shadow:0 10px 24px #173f2f38}.bottom-nav .add-btn svg{width:28px;height:28px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d14106b;z-index:30;display:flex;align-items:flex-end}.sheet{width:min(640px,100%);margin:0 auto;background:#fff;border-radius:28px 28px 0 0;padding:12px 20px 26px;max-height:92vh;overflow:auto}.sheet-handle{width:42px;height:5px;border-radius:999px;background:#d6dad7;margin:0 auto 14px}.sheet h2{margin:0 0 16px}.close-btn{border:0;background:#f0f2f1;border-radius:50%;width:34px;height:34px;font-size:22px}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#f0f2f1;border-radius:14px;padding:4px;margin-bottom:16px}.segmented button{border:0;background:none;padding:11px;border-radius:11px;font-weight:700}.segmented button.active{background:#fff;box-shadow:0 1px 4px #00000014}.scan-drop{display:flex;flex-direction:column;align-items:center;gap:7px;border:1.5px dashed #bfc7c2;border-radius:20px;padding:30px 18px;background:#fafbfa;cursor:pointer}.scan-drop span{font-size:13px;color:#737b76}.raw-input{width:100%;min-height:110px;margin-top:12px;border:1px solid #dfe4e1;border-radius:14px;padding:12px;resize:vertical;background:#fff}.primary-btn,.secondary-btn{width:100%;padding:14px;border-radius:14px;font-weight:800;margin-top:12px}.primary-btn{background:#173f2f;color:#fff;border:0}.secondary-btn{background:#fff;color:#173f2f;border:1px solid #dce3df}.primary-btn:disabled{opacity:.55}.privacy-note{text-align:center;color:#8b928e;font-size:11px;margin:14px 0 0}.menu-card{display:flex;flex-direction:column}.menu-card button{display:flex;justify-content:space-between;padding:16px;border:0;border-bottom:1px solid #edf0ee;background:#fff;text-align:left;font-weight:650}.menu-card button:last-child{border-bottom:0}.menu-card button span{color:#9b6f32;font-size:12px}.empty-card{padding:22px;color:#78817b;text-align:center;background:#fff;border:1px solid #e9ecea;border-radius:18px}.review label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#59635d;margin-bottom:12px}.review input,.review select,.auth-card input{width:100%;padding:12px;border:1px solid #dfe4e1;border-radius:12px;background:#fff}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review h3{font-size:15px;margin:18px 0 8px}.item-row{display:flex;gap:8px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #eef1ef}.item-fields{display:grid;grid-template-columns:1fr 92px;gap:8px;flex:1}.item-fields select{grid-column:1/-1}.money-field{text-align:right}.icon-btn{border:0;background:#fff0ef;color:#a34439;border-radius:10px;width:38px;height:38px;display:grid;place-items:center}.save-btn{display:flex;align-items:center;justify-content:center;gap:8px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-screen,.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(440px,100%);background:#fff;border:1px solid #e6eae7;border-radius:24px;padding:28px}.auth-card h1{font-size:28px;margin:8px 0}.auth-card p{color:#6f7872;line-height:1.5}.auth-card form{display:flex;flex-direction:column;gap:10px;margin-top:20px}.auth-card button{padding:13px;border:0;border-radius:12px;background:#173f2f;color:#fff;font-weight:800}.success-note,.error-note,.error-banner{padding:11px 13px;border-radius:12px;margin-top:12px;font-size:13px}.success-note{background:#edf8f1;color:#2b714b}.error-note,.error-banner{background:#fff0ef;color:#9e3f36}.error-banner{margin:0 16px}.scan-sheet details{margin-top:12px}.scan-sheet summary{font-size:12px;color:#5d6a62;cursor:pointer}@media(min-width:700px){.bottom-nav{border-radius:24px 24px 0 0}.app-shell{padding-top:8px}}.auth-card .google-signin{width:100%;margin-top:8px;background:#fff;color:#173f2f;border:1px solid #aabbb1}.auth-card button:disabled{opacity:.6;cursor:wait}.auth-card button:focus-visible{outline:3px solid #739e87;outline-offset:3px}.bottom-nav .add-btn{justify-content:center;gap:0;padding:0}.bottom-nav .add-btn svg{display:block;flex-shrink:0}.pwa-install{max-width:600px;margin:12px auto 100px;padding:0 20px;text-align:center}.pwa-install button{border:1px solid #bacbbf;border-radius:12px;background:#fff;color:#173f2f;padding:10px 18px;font:inherit;cursor:pointer}.pwa-install p{font-size:13px;color:#59635d;line-height:1.6}.bottom-nav{padding-bottom:calc(12px + env(safe-area-inset-bottom));height:calc(78px + env(safe-area-inset-bottom))}.app-shell{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
