:root{--bg:#f3f5f2;--bg-deep:#e9ede8;--surface:#ffffffb8;--surface-solid:#fff;--surface-muted:#ffffff7a;--border:#222d2317;--border-strong:#222d2324;--text:#1c241e;--text-secondary:#7c857d;--text-muted:#a0a8a0;--accent:#91a77b;--accent-dark:#718b5b;--accent-soft:#e4eddd;--income:#5c9874;--income-soft:#e3f1e8;--expense:#bd7169;--expense-soft:#f7e7e4;--shadow-sm:0 4px 18px #2534270a;--shadow-md:0 12px 36px #25342712;--shadow-lg:0 24px 70px #25342724;--radius-sm:12px;--radius-md:18px;--radius-lg:26px;--radius-xl:32px}.app-shell{width:100%;max-width:680px;min-height:100vh;color:var(--text);background:radial-gradient(circle at 0 0,#d0e0c670,#0000 34%),radial-gradient(circle at 100% 15%,#ffffffe0,#0000 38%);margin:0 auto;padding:0 18px 112px;position:relative}.page-content{flex-direction:column;gap:28px;padding-top:18px;display:flex}.topbar{justify-content:space-between;align-items:center;gap:16px;padding:18px 2px 8px;display:flex}.brand-block{flex-direction:column;gap:4px;display:flex}.brand-kicker,.eyebrow{color:var(--text-muted);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:750;line-height:1.2}.brand-block h1,.brand-block h2,.brand-block p{margin:0}.brand-block h1{letter-spacing:-.055em;font-size:25px;font-weight:750;line-height:1}.welcome-block{flex-direction:column;gap:8px;display:flex}.welcome-block h1,.welcome-block h2,.welcome-block p{margin:0}.welcome-block h1{letter-spacing:-.065em;font-size:clamp(27px,7vw,36px);font-weight:760;line-height:1.02}.welcome-block p{color:var(--text-secondary);font-size:14px;line-height:1.5}.profile-avatar{width:44px;height:44px;box-shadow:var(--shadow-sm);color:#52674b;background:linear-gradient(145deg,#dce8d5,#aabd9d);border:1px solid #fffc;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:750;display:flex;overflow:hidden}.page-title-row,.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.page-title-row h1,.page-title-row h2,.page-title-row h3,.section-heading h1,.section-heading h2,.section-heading h3{margin:0}.page-title-row h1,.page-title-row h2{letter-spacing:-.05em;font-size:24px;font-weight:750}.section-heading{margin-bottom:13px}.section-heading h2,.section-heading h3{letter-spacing:-.025em;font-size:16px;font-weight:730}.section-block{flex-direction:column;gap:0;display:flex}.balance-card{isolation:isolate;border-radius:var(--radius-xl);min-height:214px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(24px);background:linear-gradient(135deg,#ffffffd6,#ebf2e6bd);border:1px solid #fffc;flex-direction:column;gap:28px;padding:24px;display:flex;position:relative;overflow:hidden}.balance-card:before{z-index:-1;content:"";border:1px solid #91a77b21;border-radius:50%;width:260px;height:260px;position:absolute;top:-100px;right:-80px}.balance-card:after{z-index:-1;content:"";border:1px solid #91a77b14;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-145px;right:28px}.balance-card-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.balance-meta{flex-direction:column;gap:8px;display:flex}.balance-meta .eyebrow{color:#899b7d}.main-balance{color:var(--text);letter-spacing:-.075em;overflow-wrap:anywhere;margin:0;font-size:clamp(34px,9vw,48px);font-weight:760;line-height:.98}.currency-badge{min-width:40px;height:32px;color:var(--accent-dark);letter-spacing:.04em;background:#ffffff8a;border:1px solid #718b5b21;border-radius:999px;justify-content:center;align-items:center;padding:0 11px;font-size:11px;font-weight:760;display:inline-flex}.secondary-balances{flex-wrap:wrap;gap:8px;display:flex}.secondary-balances>*{min-height:30px;color:var(--text-secondary);background:#ffffff7a;border:1px solid #222d230f;border-radius:999px;align-items:center;padding:0 11px;font-size:11px;font-weight:650;display:inline-flex}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.quick-action{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:74px;box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(18px);border-radius:21px;align-items:center;gap:13px;padding:15px;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex}.quick-action:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-action:active{transform:translateY(0)scale(.98)}.quick-action-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-dark);border-radius:14px;flex:none;justify-content:center;align-items:center;font-size:21px;font-weight:500;display:flex}.quick-action.income .quick-action-icon{background:var(--income-soft);color:var(--income)}.quick-action.expense .quick-action-icon{background:var(--expense-soft);color:var(--expense)}.quick-action-content{flex-direction:column;gap:3px;min-width:0;display:flex}.quick-action-title{letter-spacing:-.02em;font-size:13px;font-weight:730}.quick-action-description{color:var(--text-secondary);font-size:11px;line-height:1.35}.accounts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.account-card{border:1px solid var(--border);min-width:0;min-height:142px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(18px);background:#ffffffa3;border-radius:21px;flex-direction:column;justify-content:space-between;gap:26px;padding:16px;transition:transform .16s,box-shadow .16s;display:flex}.account-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.account-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.account-card-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:720;overflow:hidden}.account-card-currency{color:var(--text-muted);letter-spacing:.06em;flex:none;font-size:10px;font-weight:750}.account-card-balance{color:var(--text);letter-spacing:-.055em;overflow-wrap:anywhere;font-size:21px;font-weight:750}.account-dots{width:25px;height:25px;color:var(--text-muted);background:#222d230b;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:15px;display:flex}.transaction-list{flex-direction:column;gap:5px;display:flex}.transaction-list.full-list{gap:8px}.transaction-row{border-bottom:1px solid #222d230e;align-items:center;gap:12px;min-width:0;padding:12px 2px;display:flex}.transaction-row:last-child{border-bottom:0}.transaction-icon{color:#7c9270;background:#edf1eb;border-radius:14px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.transaction-row.income .transaction-icon{background:var(--income-soft);color:var(--income)}.transaction-row.expense .transaction-icon{background:var(--expense-soft);color:var(--expense)}.transaction-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.transaction-title{color:var(--text);letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:680;overflow:hidden}.transaction-category,.transaction-date{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.transaction-amount{letter-spacing:-.02em;white-space:nowrap;flex:none;font-size:13px;font-weight:750}.transaction-amount.income{color:var(--income)}.transaction-amount.expense{color:var(--expense)}.transaction-switcher{border:1px solid var(--border);background:#ffffff94;border-radius:14px;align-items:center;gap:4px;padding:4px;display:inline-flex}.transaction-switcher button{min-height:31px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 11px;font-size:11px;font-weight:700}.transaction-switcher button.active{color:var(--text);background:#fff;box-shadow:0 2px 8px #222d230f}.primary-button{background:var(--text);color:#fff;cursor:pointer;border:0;border-radius:17px;justify-content:center;align-items:center;width:100%;min-height:50px;padding:0 18px;font-size:13px;font-weight:720;transition:transform .16s,opacity .16s;display:inline-flex}.primary-button:hover{opacity:.9}.primary-button:active{transform:scale(.985)}.primary-button:disabled{cursor:not-allowed;opacity:.45}.text-button{color:var(--accent-dark);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:12px;font-weight:720}.text-button:hover{color:var(--text)}.icon-button,.close-button{border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:#ffffff94;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:20px;line-height:1;display:inline-flex}.close-button{width:34px;height:34px;font-size:23px}.round-add-button{background:var(--text);color:#fff;cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:21px;font-weight:400;display:inline-flex;box-shadow:0 6px 16px #1c241e21}.empty-state,.placeholder-card,.status-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state{background:#ffffff59;border:1px dashed #222d2321;border-radius:22px;gap:10px;padding:34px 18px}.empty-state-icon,.placeholder-icon{background:var(--accent-soft);width:48px;height:48px;color:var(--accent-dark);border-radius:17px;justify-content:center;align-items:center;margin-bottom:3px;font-size:22px;display:flex}.empty-state strong,.empty-state-title{color:var(--text);font-size:14px;font-weight:730}.empty-state p,.empty-state-description{max-width:270px;color:var(--text-secondary);margin:0;font-size:12px;line-height:1.55}.placeholder-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:#ffffff85;gap:10px;min-height:190px;padding:24px}.placeholder-card h2,.placeholder-card p{margin:0}.placeholder-card h2{letter-spacing:-.035em;font-size:17px;font-weight:740}.placeholder-card p{max-width:280px;color:var(--text-secondary);font-size:12px;line-height:1.5}.status-screen{background:var(--bg);gap:14px;min-height:100vh;padding:28px}.status-mark{background:var(--accent-soft);width:54px;height:54px;color:var(--accent-dark);border-radius:19px;justify-content:center;align-items:center;font-size:23px;font-weight:750;display:flex}.status-mark-error{background:var(--expense-soft);color:var(--expense)}.status-screen h1,.status-screen h2,.status-screen p{margin:0}.status-screen h1,.status-screen h2{letter-spacing:-.04em;font-size:20px;font-weight:750}.status-screen p{max-width:320px;color:var(--text-secondary);overflow-wrap:anywhere;font-size:13px;line-height:1.5}.status-screen .primary-button{width:auto;min-width:150px;margin-top:5px}.sync-status{color:var(--text-muted);align-items:center;gap:6px;font-size:10px;font-weight:650;display:inline-flex}.sync-status:before{background:var(--income);content:"";border-radius:50%;width:6px;height:6px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);background:#181f1940;justify-content:center;align-items:flex-end;padding:14px;animation:.18s ease-out backdrop-in;display:flex;position:fixed;inset:0}.transaction-modal{width:min(100%,540px);max-height:min(760px,100vh - 28px);box-shadow:var(--shadow-lg);background:#fafcf9f0;border:1px solid #ffffffd1;border-radius:28px;padding:22px;animation:.22s cubic-bezier(.2,.8,.2,1) sheet-in;overflow-y:auto}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.modal-header h1,.modal-header h2,.modal-header h3,.modal-header p{margin:0}.modal-header h2,.modal-header h3{letter-spacing:-.05em;font-size:21px;font-weight:760}.modal-header p{color:var(--text-secondary);margin-top:6px;font-size:12px}.transaction-form{flex-direction:column;gap:17px;display:flex}.transaction-form>label,.transaction-form .form-field{flex-direction:column;gap:8px;display:flex}.field-label{color:var(--text-secondary);font-size:11px;font-weight:720}.transaction-form input,.transaction-form select,.transaction-form textarea{width:100%;min-height:48px;color:var(--text);background:#ffffffc7;border:1px solid #222d231a;border-radius:15px;outline:none;padding:0 14px;font-size:14px;transition:border-color .16s,box-shadow .16s}.transaction-form textarea{resize:vertical;min-height:90px;padding-top:13px;padding-bottom:13px}.transaction-form input::placeholder,.transaction-form textarea::placeholder{color:#b2b9b2}.transaction-form input:focus,.transaction-form select:focus,.transaction-form textarea:focus{border-color:#718b5b8c;box-shadow:0 0 0 4px #91a77b1f}.transaction-form input[type=number]{letter-spacing:-.06em;min-height:68px;font-size:30px;font-weight:750}.transaction-form input[type=datetime-local]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:12px}.transaction-form select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#8e998c 50%),linear-gradient(135deg,#8e998c 50%,#0000 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:35px}.form-error{background:var(--expense-soft);color:#a75d56;border:1px solid #bd716929;border-radius:13px;padding:11px 13px;font-size:12px;line-height:1.4}.bottom-nav{z-index:50;-webkit-backdrop-filter:blur(24px);background:#f8fbf7d4;border:1px solid #ffffffd1;border-radius:23px;justify-content:space-around;align-items:center;width:min(100% - 28px,520px);min-height:66px;padding:7px;display:flex;position:fixed;bottom:16px;right:50%;transform:translate(50%);box-shadow:0 14px 40px #2534271f}.bottom-nav button{min-width:0;min-height:50px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 4px;font-size:10px;font-weight:680;transition:background .16s,color .16s;display:flex}.bottom-nav button:first-letter{font-size:18px}.bottom-nav button.active{color:var(--accent-dark);background:#e4eddde6}.menu-list{flex-direction:column;gap:8px;display:flex}.menu-list>*{border:1px solid var(--border);background:#ffffff94;border-radius:17px;align-items:center;min-height:54px;padding:0 15px;display:flex}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.app-shell{padding-left:14px;padding-right:14px}.page-content{gap:23px}.topbar{padding-top:14px}.balance-card{border-radius:25px;min-height:195px;padding:20px}.main-balance{font-size:clamp(32px,10vw,43px)}.quick-action{border-radius:18px;min-height:68px;padding:12px}.quick-action-icon{border-radius:12px;width:36px;height:36px;font-size:18px}.quick-action-title{font-size:12px}.accounts-grid{gap:9px}.account-card{border-radius:18px;min-height:128px;padding:14px}.account-card-balance{font-size:18px}.transaction-modal{border-radius:25px;padding:19px}.modal-backdrop{padding:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{color:#1c241e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f5f2;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{background:#f3f5f2;min-width:320px;min-height:100%}body{background:#f3f5f2;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:2px solid #91a77b}#root{min-height:100vh}
