*{box-sizing:border-box}:root{font-family:Arial,Helvetica,sans-serif;color:#101a30;background:#f7f9fc;font-synthesis:none;--nav-height: calc(70px + env(safe-area-inset-bottom, 0px)) }html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #2863ff;outline-offset:2px}button{transition:filter .16s ease,transform .18s cubic-bezier(.2,.8,.2,1),background-color .18s ease,color .18s ease,box-shadow .18s ease;touch-action:manipulation}@media(hover:hover){button:hover{filter:brightness(.98)}}button:active{transform:scale(.97)}button:disabled{cursor:wait;opacity:.7}h1,h2,h3,p{margin:0}.app-shell{width:100%;max-width:520px;height:100%;height:100dvh;margin:0 auto;background:#f7f9fc;display:flex;flex-direction:column;overflow:hidden;position:relative}.header{min-height:84px;flex-shrink:0;display:flex;align-items:center;gap:10px;padding:calc(14px + env(safe-area-inset-top,0px)) 18px 14px;background:#fff;border-bottom:1px solid #e4eaf4}.logo{width:46px;height:46px;object-fit:contain;border-radius:11px;flex-shrink:0}.greeting{flex:1}.brand{color:#2860ff;font-size:11px;font-weight:700}.greeting h1{font-size:15px;line-height:21px}.greeting p{font-size:12px;line-height:18px;color:#7183a3}.profile{width:42px;height:42px;border:1px solid #e1e8f2;border-radius:15px;background:#f8fafc;display:grid;place-items:center}.profile span{width:15px;height:15px;background:#f5a000;border-radius:50%}.profile.account-profile-button{width:46px;height:46px;border:1px solid #dce6f8;background:#fff;padding:2px;border-radius:50%;flex-shrink:0;box-shadow:0 2px 7px #1d3b6510}.user-avatar,.profile .user-avatar{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;border-radius:50%;overflow:hidden;color:#2860f5;background:#eaf1ff}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-avatar.avatar-green{color:#168d65;background:#dff7ed}.user-avatar.avatar-purple{color:#8950c9;background:#f0e6fc}.user-avatar.avatar-peach{color:#c66242;background:#ffecdf}.account-panel{position:absolute;inset:0;z-index:15;background:#f7f9fc;display:flex;flex-direction:column;outline:none;animation:account-in .24s cubic-bezier(.22,1,.36,1) both}@keyframes account-in{0%{opacity:.3;transform:translate(25px)}to{opacity:1;transform:translate(0)}}.account-closing{animation:account-out .18s ease both;pointer-events:none}@keyframes account-out{to{opacity:0;transform:translate(25px)}}.account-header{flex-shrink:0;display:flex;align-items:center;gap:13px;padding:calc(16px + env(safe-area-inset-top,0px)) 20px 16px;border-bottom:1px solid #e5ebf4;background:#fff}.account-header>button{width:39px;height:39px;border-radius:13px;background:#f5f7fb;border:1px solid #e5ebf4;color:#193556;font-size:31px;line-height:1;flex-shrink:0}.account-header>div>span{font-size:9px;font-weight:700;letter-spacing:1px;color:#7183a3}.account-header h2{font-size:19px;line-height:25px;outline:none}.account-content{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:20px 20px calc(24px + env(safe-area-inset-bottom,0px));animation:page-in .18s ease both}.account-identity{display:flex;flex-direction:column;align-items:center;text-align:center;background:radial-gradient(circle at 50% 0,#eaf0ff60,transparent 65%),#fff;border:1px solid #e1e8f4;border-radius:22px;padding:25px 14px 20px}.account-identity>.user-avatar{border:4px solid #fff;box-shadow:0 5px 15px #1d3b6512}.account-identity h3{font-size:21px;line-height:28px;margin:14px 0 4px;overflow-wrap:anywhere;max-width:100%}.account-identity p{font-size:12px;color:#7183a3;line-height:20px;overflow-wrap:anywhere;max-width:100%}.account-identity .role-badge{margin-top:10px}.edit-profile-link{margin-top:14px;min-height:36px;border:1px solid #d7e3ff;border-radius:20px;padding:7px 19px;background:#edf3ff;color:#2860f5;font-size:12px;font-weight:700}.account-group-label{font-size:10px;line-height:16px;letter-spacing:.8px;color:#7183a3;font-weight:700;margin:23px 2px 8px}.account-menu{border:1px solid #e1e8f4;background:#fff;border-radius:18px;overflow:hidden}.account-menu>button{width:100%;display:flex;align-items:center;gap:12px;border:0;background:#fff;padding:15px 12px;color:#16345a;text-align:left;min-height:73px}.account-menu>button+button{border-top:1px solid #edf1f7}.account-menu>button>span:nth-child(2){flex:1;min-width:0}.account-menu strong{display:block;font-size:13px;line-height:19px}.account-menu small{display:block;font-size:10px;line-height:16px;color:#7183a3;overflow-wrap:anywhere;margin-top:3px}.account-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:13px;background:#edf3ff;color:#2860f5;flex-shrink:0}.account-menu-icon.icon-email{background:#e6f7ef;color:#219670}.account-menu-icon.icon-password{background:#fff1df;color:#c78a2d}.menu-chevron{font-size:25px;color:#9ba9bd}.account-footer-note{color:#8a9ab2;font-size:10px;line-height:17px;text-align:center;margin-top:12px}.account-content form{background:#fff;padding:20px 16px;border:1px solid #e1e8f4;border-radius:20px}.account-content form label{font-size:12px;line-height:18px;margin-bottom:18px}.account-content input{font-size:16px;min-height:49px}.account-content fieldset{padding:0;margin:0;border:0;min-width:0}.account-content .password-field input{padding-right:77px}.avatar-editor{display:flex;flex-direction:column;align-items:center;padding-bottom:23px;margin-bottom:22px;border-bottom:1px solid #edf1f7}.avatar-editor>.user-avatar{border:4px solid #fff;box-shadow:0 4px 16px #19395d14}.avatar-edit-buttons{display:flex;gap:8px;margin-top:17px}.avatar-edit-buttons button{border:1px solid #dce6fb;border-radius:10px;color:#2860f5;background:#f2f6ff;min-height:38px;padding:8px 13px;font-size:11px;font-weight:700}.avatar-edit-buttons button+button{background:#fff;color:#b45757;border-color:#f3dfdf}.avatar-editor>p{color:#8a9ab2;font-size:10px;margin-top:12px}.avatar-file-input{display:none}.avatar-options{display:flex;gap:12px;padding-top:5px}.avatar-options button{background:transparent;padding:3px;border:2px solid transparent;border-radius:50%;display:grid;place-items:center}.avatar-options .selected{border-color:#2860f5}.account-field-note{font-size:11px;line-height:18px;color:#7183a3;margin:-7px 0 16px}.account-content .account-save{min-height:48px;font-size:13px;margin-top:8px}.account-security-intro{padding:5px 0 22px}.account-security-intro h3{margin:13px 0 7px;font-size:19px;line-height:26px}.account-security-intro p{color:#7183a3;font-size:12px;line-height:20px;overflow-wrap:anywhere}.account-security-intro strong{color:#526783}.account-forgot{margin:14px 0 0;width:100%;min-height:44px;font-size:11px;text-align:center;line-height:17px}.account-verification{padding:13px;background:#fff8e8;border:1px solid #f4e3b7;border-radius:12px;font-size:12px;line-height:19px;margin-bottom:18px}.account-verification>button{margin:9px 0 12px;min-height:37px;padding:8px 11px;background:#fff;border:1px solid #e7d6aa;border-radius:9px;color:#88682b;font-weight:700;font-size:11px}.account-verification label{margin-bottom:0!important}main{padding:28px 18px 18px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none}main::-webkit-scrollbar{display:none}.balance-card{padding:14px 16px 20px;color:#fff;background:#275ff0;border-radius:20px;position:relative;isolation:isolate}.balance-card:before{content:"";position:absolute;width:88px;height:88px;background:#204bda;border-radius:50%;top:-25px;right:-18px;z-index:-1}.balance-top{display:flex;justify-content:space-between;align-items:center;gap:6px}.balance-top h2{font-size:13px;color:#e5edff}.balance-top>span{font-size:9px;font-weight:700;background:#1f4edc;border-radius:12px;padding:5px 9px;white-space:nowrap}.balance-number{font-size:clamp(27px,8vw,36px);font-weight:700;line-height:1.3;margin:5px 0 19px;overflow-wrap:anywhere}.balance-actions{display:flex;gap:8px}.balance-actions button{min-height:46px;flex:1;border-radius:12px;font-size:12px;font-weight:700;padding:8px 6px}.button-yellow{background:#ffce12;color:#111a2c;border:1px solid #ffce12}.button-outline{background:#204edf;color:#fff;border:1px solid #7193fb}.summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.summary article{min-height:69px;border:1px solid #dfe7f4;border-radius:16px;background:#fff;display:flex;align-items:flex-start;gap:7px;padding:12px 10px}.stat-icon{width:29px;height:29px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;font-size:18px}.incoming{color:#00b548;background:#dbfce8}.outgoing{color:#ff2536;background:#ffe2e3}.summary h2{font-weight:400;font-size:12px;line-height:17px;color:#7183a3}.summary strong{font-size:15px;line-height:20px;overflow-wrap:anywhere}.summary p{font-size:11px;line-height:16px;color:#7183a3}.green{color:#00b545}.red{color:#ff1727}.blue{color:#2863ff}.quick-section{margin-top:12px}.eyebrow{font-size:10px;line-height:13px;color:#667b99;margin-bottom:5px}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.quick-actions button{min-height:68px;background:#fff;border:1px solid #dfe7f4;border-radius:16px;color:#101a30;font-weight:700;font-size:12px;display:flex;justify-content:center;align-items:center;padding:12px 4px}.activity-section,.goals-section{margin-top:10px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;min-height:15px}.section-heading h2{font-size:14px;line-height:20px}.section-heading button{font-size:11px;font-weight:700;color:#2863ff;border:0;padding:10px 0;background:transparent}.activity-list{border:1px solid #dfe7f4;border-radius:16px;background:#fff;overflow:hidden}.activity{min-height:45px;padding:10px 13px 5px;display:flex;align-items:center;justify-content:space-between;gap:8px}.activity+.activity{border-top:1px solid #e4eaf4}.activity h3,.goal-card h3{font-size:13px;line-height:19px;overflow-wrap:anywhere}.activity p{font-size:11px;line-height:17px;color:#7183a3}.activity strong{font-size:13px;white-space:nowrap}.goal-card{border:1px solid #dfe7f4;border-radius:16px;background:#fff;padding:10px 13px 12px;margin-bottom:6px}.goal-card p{font-size:10px;line-height:15px;color:#7183a3}.progress{height:9px;background:#e1e7f0;border-radius:5px;margin-top:4px;overflow:hidden}.progress span{display:block;height:100%;background:#2861ef;border-radius:5px;position:relative;min-width:0;transition:width .6s cubic-bezier(.22,1,.36,1)}.progress .has-progress:after{content:"";position:absolute;right:0;top:0;width:11px;height:9px;border-radius:3px;background:#ffce12}.bottom-nav{height:var(--nav-height);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e3e9f3;background:#fff;padding:0 8px env(safe-area-inset-bottom,0px);flex-shrink:0}.bottom-nav button{background:transparent;border:0;color:#7183a3;font-size:11px;position:relative;padding:11px 0 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0}.bottom-nav .active{color:#2863ff;font-weight:700}.bottom-nav .active:before{content:"";position:absolute;width:27px;height:4px;border-radius:4px;background:#2863ff;top:-1px;left:calc(50% - 13.5px)}.modal-backdrop{position:absolute;inset:0 0 var(--nav-height);background:#101a308c;display:flex;align-items:flex-end;z-index:10;animation:backdrop-in .22s ease-out both}.modal{width:100%;min-height:min(495px,100%);max-height:100%;overflow:auto;overscroll-behavior:contain;padding:26px 21px 28px;background:#fff;border:1px solid #e1e7f0;border-bottom:0;border-radius:25px 25px 0 0;outline:none;animation:sheet-in .34s cubic-bezier(.22,1,.36,1) both}.modal:before{content:"";display:block;height:4px;width:36px;border-radius:4px;background:#dfe7f4;margin:-13px auto 16px}.is-closing{animation:backdrop-out .18s ease-in both;pointer-events:none}.is-closing .modal{animation:sheet-out .18s ease-in both}.sheet-heading{margin-bottom:22px}.sheet-heading p{font-size:9px;font-weight:700;line-height:12px;color:#2863ff;margin-bottom:2px}.sheet-income .sheet-heading p{color:#00b545}.sheet-expense .sheet-heading p{color:#ff1727}.modal h2{font-size:16px;line-height:20px}.modal>p{font-size:13px;line-height:1.6;margin-top:16px}.profile-note{color:#7183a3}.modal form{display:flex;flex-direction:column;min-height:369px}.form-fields{flex:1}form label{display:grid;gap:6px;font-size:11px;line-height:14px;margin-bottom:14px;font-weight:700}input,select,textarea{width:100%;min-height:46px;border:1px solid #dfe7f4;border-radius:12px;padding:11px 12px;color:#101a30;background:#f7f9fb;font-size:16px;font-weight:400}input::placeholder,textarea::placeholder{color:#7183a3;opacity:1;font-size:11px}input[name=name],select[name=name]{font-weight:700}input[name=name]::placeholder{color:#101a30;font-weight:700}select{appearance:none;cursor:pointer;font-size:16px;padding-right:7px}textarea{resize:vertical;min-height:52px;max-height:120px;line-height:18px}.money-input{font-size:14px;font-weight:700}.money-input::placeholder{color:#101a30;font-size:14px;font-weight:700}.money-input[name=initialAmount],.money-input[name=initialAmount]::placeholder{font-size:12px;font-weight:400}.accent-blue{border-color:#2863ff}.accent-red{border-color:#ff1727;color:#ff1727}.accent-red::placeholder{color:#ff1727}.validation-note{border:1px solid #ff2635;background:#fff3f4;border-radius:12px;padding:12px 11px;color:#f31525;font-size:10px;line-height:15px;margin:16px 0 10px}.form-hint{color:#7183a3;font-size:12px;line-height:18px}.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.form-actions button{min-height:44px;border-radius:12px;font-weight:700;font-size:12px;padding:10px 5px}.form-actions .cancel-button{border:1px solid #dfe7f4;background:#f7f9fb;color:#101a30}.submit-button{background:#2860f5;color:#fff;border:0}.sheet-expense .submit-button{background:#e91d25}.profile-brand{width:130px;display:block;margin:16px auto;border-radius:18px}.goal-card .goal-notes{font-size:10px;line-height:15px;margin-top:4px}@keyframes sheet-in{0%{transform:translateY(55px)}to{transform:translateY(0)}}@keyframes sheet-out{0%{transform:translateY(0)}to{transform:translateY(45px)}}@keyframes backdrop-in{0%{background-color:#101a3000}to{background-color:#101a308c}}@keyframes backdrop-out{0%{background-color:#101a308c;opacity:1}to{background-color:#101a3000;opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes balance-in{0%{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-content>section{animation:page-in .35s cubic-bezier(.22,1,.36,1) both}.page-content>section:nth-child(2){animation-delay:35ms}.page-content>section:nth-child(3){animation-delay:65ms}.page-content>section:nth-child(4){animation-delay:95ms}.balance-number{animation:balance-in .28s ease-out}.bottom-nav button:before{transition:width .2s ease,background-color .2s ease}.bottom-nav button.active{background:linear-gradient(#2863ff09,transparent)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.full-button{background:#2860f5;border:0;border-radius:11px;width:100%;min-height:43px;color:#fff;font-weight:700;font-size:12px;margin-top:18px}.cancel-button{border:0;background:transparent;color:#7183a3;width:100%;padding:12px;font-size:12px}.error{font-size:12px;color:#df1730;margin-top:12px}.notice{font-size:12px;line-height:1.5;margin:12px 0}.install-app{margin-top:18px;padding:14px;background:#f7f9fc;border:1px solid #dfe7f4;border-radius:14px}.install-app h3{font-size:15px;margin-bottom:6px}.install-app p,.install-status{font-size:12px;line-height:19px;color:#7183a3}.install-app .install-help{margin-top:8px}.install-banner{margin-top:20px;background:#fff}.install-overview{display:flex;align-items:center;gap:10px}.install-overview img{flex-shrink:0;border-radius:10px}.install-overview h3{font-size:14px}.install-overview p{font-size:11px}.install-button{margin-top:12px;min-height:46px}.install-instructions{margin-top:14px;animation:page-in .25s ease-out both}.install-instructions ol{padding-left:19px;margin:6px 0 14px;color:#526783;font-size:12px;line-height:20px}.install-instructions li+li{margin-top:5px}.install-result{background:#ecfdf3;border-radius:8px;padding:10px;margin-top:10px}.auth-shell{background:radial-gradient(circle at 100% 0,#ffedb950,transparent 42%),#f7f9fc}.auth-main{padding:calc(24px + env(safe-area-inset-top,0px)) 22px calc(24px + env(safe-area-inset-bottom,0px))}.auth-brand{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:2px;color:#275ff0}.auth-brand img{width:64px;height:64px;object-fit:contain;border-radius:16px}.auth-intro{margin:28px 0 22px;animation:page-in .35s ease-out both}.auth-eyebrow{font-size:9px;font-weight:700;letter-spacing:1px;color:#667b99}.auth-intro h1{font-size:29px;line-height:1.2;letter-spacing:-.7px;max-width:300px;margin:10px 0}.auth-intro>p{color:#7183a3;font-size:13px;line-height:21px;max-width:330px}.auth-card{padding:21px;border:1px solid #e1e7f0;border-radius:22px;background:#fff;box-shadow:0 8px 30px #193b7310;animation:page-in .4s cubic-bezier(.22,1,.36,1) both}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f0f3f8;border-radius:12px;padding:4px;margin-bottom:23px}.auth-tabs button{min-height:40px;border:0;background:transparent;color:#7183a3;font-size:13px;font-weight:700;border-radius:9px}.auth-tabs .selected{color:#275ff0;background:#fff;box-shadow:0 2px 6px #16335610}.auth-card label{font-size:12px;margin-bottom:17px;line-height:18px}.auth-card input{font-size:16px;min-height:49px}.password-field{position:relative}.password-field input{padding-right:78px}.password-field button{position:absolute;right:4px;top:3px;min-height:43px;border:0;background:transparent;padding:0 8px;font-size:11px;font-weight:700;color:#2863ff}.forgot-link{display:block;margin:-4px 0 14px auto;background:transparent;border:0;color:#2863ff;font-size:12px;font-weight:700;min-height:32px}.auth-submit{min-height:49px;margin-top:4px;font-size:13px;box-shadow:0 4px 12px #2860f52a}.auth-footnote{text-align:center;font-size:10px;line-height:17px;color:#7183a3;margin-top:19px}.auth-tagline{text-align:center;color:#7183a3;font-size:11px;margin-top:20px}.setup-note{font-size:11px;line-height:18px;padding:11px 12px;border-radius:10px;background:#fff8df;color:#8a6515;margin:0 0 17px}.auth-error,.auth-message{font-size:12px;line-height:19px;padding:12px;border-radius:10px;margin:12px 0}.auth-error{background:#fff1f2;color:#bc2035}.auth-message{background:#eafaf0;color:#138044}.auth-loading{align-items:center;justify-content:center;gap:16px;color:#7183a3;font-size:13px}.auth-loading img{border-radius:18px;animation:balance-in .4s ease-out}.greeting{min-width:0}.greeting h1{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.admin-nav{grid-template-columns:repeat(5,1fr)}.role-badge{display:inline-block;background:#eaf0ff;color:#2860f5;padding:5px 8px;border-radius:8px;font-size:10px;font-weight:700}.admin-intro{font-size:12px;line-height:20px;color:#7183a3;margin:8px 0 18px}.admin-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.admin-stats article{display:grid;gap:8px;padding:20px;border-radius:16px;background:#fff;border:1px solid #dfe7f4}.admin-stats strong{color:#2860f5;font-size:28px}.admin-stats span{font-size:12px;color:#7183a3}.member-search{display:grid;gap:8px;font-size:12px;margin-bottom:14px}.member-list{border:1px solid #dfe7f4;border-radius:16px;background:#fff;overflow:hidden}.member-list article{display:flex;align-items:center;justify-content:space-between;padding:15px 13px;gap:10px}.member-list article+article{border-top:1px solid #e4eaf4}.member-list article>div{min-width:0}.member-list h3{font-size:13px;line-height:19px}.member-list p{font-size:11px;line-height:18px;color:#7183a3;overflow-wrap:anywhere}.member-list small{font-size:10px;color:#7183a3}.empty-state{font-size:12px;color:#7183a3;padding:16px;line-height:20px}.logout-button{width:100%;min-height:46px;margin-top:20px;background:#fff1f2;color:#c72335;border:1px solid #ffd7dc;border-radius:12px;font-size:12px;font-weight:700}.expense-entry{margin:14px 0 15px;padding:13px;background:#fff4ed;border:1px solid #ffdfce;border-radius:19px}.expense-entry-intro{display:flex;align-items:center;gap:6px;margin:0 0 9px;color:#8b4d37;font-size:11px;line-height:17px;font-weight:600}.expense-entry-dot{width:6px;height:6px;background:#dc442e;border-radius:50%;flex-shrink:0}.expense-primary{width:100%;display:flex;align-items:center;gap:12px;min-height:76px;padding:13px 14px;background:linear-gradient(115deg,#d9432d,#c63727);color:#fff;border:0;border-radius:13px;box-shadow:0 5px 13px #d9432d25;text-align:left}.expense-primary-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff38;border-radius:13px;background:#ffffff14;flex-shrink:0}.expense-primary-copy{display:grid;gap:5px;flex:1;min-width:0}.expense-primary-copy strong{font-size:17px;line-height:21px;letter-spacing:-.2px}.expense-primary-copy>span{font-size:11px;line-height:16px;color:#fff1e8}.expense-primary-arrow{font-size:25px;font-weight:400;line-height:1}.quick-actions.savings-actions{grid-template-columns:1fr 1fr;gap:9px}.quick-actions.savings-actions button{justify-content:flex-start;gap:8px;text-align:left;min-height:70px;padding:10px;font-size:11px}.savings-actions small{display:block;font-size:9px;line-height:14px;font-weight:400;color:#7183a3;margin-top:4px}.savings-action-icon{display:grid;place-items:center;width:31px;height:33px;flex-shrink:0;border-radius:10px;color:#2860f5;background:#ecf2ff;font-size:20px}.target-action-icon{color:#9060ce;background:#f3edfc}.expense-dock{position:absolute;z-index:8;bottom:calc(var(--nav-height) + 12px);left:18px;right:18px;min-height:52px;background:#ce3b29;color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;border:2px solid #fff;border-radius:16px;box-shadow:0 6px 22px #b1332638;font-size:14px;font-weight:700;animation:page-in .16s ease-out both}.expense-dock>span:not(.dock-plus){flex:1;text-align:left}.dock-plus{background:#ffffff20;border-radius:8px;display:grid;place-items:center;width:28px;height:28px;font-size:21px;font-weight:400}main.with-expense-dock{padding-bottom:88px}.toast-message.toast-above-dock{bottom:calc(var(--nav-height) + 76px)}.sheet-expense{border-top:3px solid #e68765}.sheet-expense{padding-top:22px;padding-bottom:20px}.sheet-expense .sheet-heading{position:relative;padding-left:52px;padding-right:28px;margin-bottom:16px}.sheet-expense .sheet-heading>p{color:#bd3f2c}.sheet-expense h2{font-size:20px;line-height:26px}.expense-sheet-icon{position:absolute;left:0;top:0;display:grid;place-items:center;width:40px;height:40px;background:#fff0e8;border:1px solid #ffe1d3;color:#ce3b29;border-radius:13px}.expense-sheet-close{position:absolute;top:0;right:-3px;width:38px;height:38px;color:#7183a3;background:#f5f7fb;border:1px solid #e5eaf2;border-radius:50%;font-size:25px;line-height:1}.expense-sheet-description{font-size:12px;line-height:19px;color:#7183a3;margin-top:10px;margin-left:-52px}.expense-presets{margin-bottom:14px}.expense-presets>p{font-size:11px;font-weight:700;color:#526783;margin-bottom:7px}.expense-presets>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.expense-presets button{min-height:51px;padding:6px 3px;border:1px solid #e1e7f0;border-radius:12px;background:#fff;color:#526783;font-size:10px;line-height:16px;display:flex;flex-direction:column;align-items:center;gap:4px}.expense-presets button>span{font-size:18px}.expense-presets .selected{background:#fff3eb;border-color:#e9a083;color:#b63d29;font-weight:700}.sheet-expense form label{font-size:12px;line-height:17px;margin-bottom:12px}.sheet-expense input,.sheet-expense select{font-size:16px;min-height:46px}.sheet-expense .money-input{font-size:20px;background:#fff9f6;border-color:#f0bea9;color:#c53726;min-height:55px}.sheet-expense .money-input::placeholder{color:#bb8072;font-size:20px}.expense-balance-note{padding:12px;background:#f4f7fc;border:1px solid #e2e9f4;border-radius:12px;margin:3px 0 9px;font-size:11px;line-height:17px;color:#7183a3}.expense-balance-note>span{display:flex;align-items:center;justify-content:space-between;gap:10px}.expense-balance-note strong{color:#183556;font-size:12px}.expense-balance-note p{margin-top:4px;font-size:10px}.sheet-expense .submit-button{background:#ce3b29}.sheet-expense .form-actions{margin-top:16px}.sheet-expense .form-actions button{min-height:48px}@media(max-width:360px){.expense-entry{padding:10px}.expense-primary{padding:12px 10px;gap:8px}.expense-primary-copy strong{font-size:15px}.expense-primary-copy>span{font-size:10px}.expense-primary-icon{width:38px;height:40px}.expense-primary-arrow{display:none}.quick-actions.savings-actions button{gap:6px;padding:8px}.savings-actions small{font-size:8px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.busy-label{display:inline-flex;align-items:center;justify-content:center;gap:8px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.splash-screen{justify-content:center;align-items:center;background:radial-gradient(circle at 50% 36%,#eaf0ff,#f7f9fc 60%);text-align:center;padding:24px}.splash-logo{background:#fff;padding:12px;border-radius:28px;box-shadow:0 16px 40px #275ff01a;animation:balance-in .4s ease-out both}.splash-logo img{border-radius:20px;display:block}.splash-screen h1{font-size:26px;color:#275ff0;margin:22px 0 10px;letter-spacing:-.6px}.splash-screen p{font-size:13px;color:#7183a3}.loading-dots{display:flex;gap:7px;margin:24px 0}.loading-dots span{background:#2863ff;height:7px;width:7px;border-radius:50%;animation:loading-pulse 1.1s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.14s}.loading-dots span:nth-child(3){animation-delay:.28s}@keyframes loading-pulse{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}.splash-caption{color:#8a9ab2;font-size:11px;margin-top:20px}.skeleton{border-radius:16px;background:linear-gradient(100deg,#e8edf5 20%,#f2f5fb,#e8edf5 60%);background-size:220% 100%;animation:skeleton-sweep 1.6s ease infinite}@keyframes skeleton-sweep{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton-balance{height:174px;border-radius:20px}.skeleton-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 24px}.skeleton-summary .skeleton{height:78px}.skeleton-title{height:15px;width:45%;margin-bottom:12px}.skeleton-list{height:155px;margin-bottom:25px}.skeleton-goal{height:82px}.wallet-toolbar{display:flex;align-items:center;justify-content:space-between;margin:-12px 0 23px;font-size:11px;color:#7183a3}.wallet-toolbar button{border:0;background:transparent;color:#2863ff;min-height:36px;font-size:11px;font-weight:700;padding:6px}.privacy-toggle{border:1px solid #ffffff30;background:#1648cf80;border-radius:12px;color:#fff;min-height:32px;display:inline-flex;align-items:center;gap:5px;padding:4px 8px;font-size:9px}.privacy-toggle svg{flex-shrink:0}.toast-message{position:absolute;bottom:calc(var(--nav-height) + 12px);left:15px;right:15px;z-index:9;background:#16345a;color:#fff;box-shadow:0 6px 20px #101a3020;border-radius:12px;padding:13px 16px;font-size:12px;line-height:18px;pointer-events:none;animation:page-in .2s ease-out}.replay-tutorial{display:block;width:100%;min-height:46px;margin-top:18px;border:1px solid #dce6ff;background:#edf3ff;border-radius:12px;color:#2860f5;font-size:12px;font-weight:700}.onboarding{position:absolute;inset:0;z-index:20;background:radial-gradient(circle at 95% 0,#ffefc270,transparent 40%),#fff;padding:calc(20px + env(safe-area-inset-top,0px)) 24px calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto;display:flex;flex-direction:column;outline:none;animation:page-in .25s ease-out}.onboarding-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-shrink:0}.onboarding-top>span{font-size:11px;color:#2860f5;font-weight:700}.onboarding-top button{min-height:42px;color:#7183a3;background:transparent;border:0;font-size:11px;padding:8px 0 8px 8px}.onboarding-body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:20px 0;animation:page-in .3s ease-out}.onboarding-art{position:relative;align-self:center;display:grid;place-items:center;width:clamp(130px,38vw,200px);height:clamp(130px,38vw,200px);border-radius:38%;background:#eaf0ff;color:#2860f5;margin:0 0 35px;transform:rotate(-5deg)}.onboarding-art svg{width:62%;height:62%;transform:rotate(5deg)}.art-plus{background:#e2f9eb;color:#00a85b}.art-chart{background:#fff4dc;color:#eea500}.art-target{background:#f1eaff;color:#8655d9}.art-spark{position:absolute;width:17px;height:17px;border-radius:5px;background:#ffce12;transform:rotate(25deg)}.spark-one{top:8%;right:-9px}.spark-two{bottom:7%;left:-8px;width:11px;height:11px}.onboarding-eyebrow{color:#2860f5;font-size:9px;line-height:15px;letter-spacing:.7px;font-weight:700}.onboarding h2{font-size:29px;line-height:1.18;letter-spacing:-.7px;max-width:300px;margin:10px 0 15px}.onboarding-description{font-size:14px;line-height:23px;color:#667b99}.onboarding-hint{background:#f5f8fd;border:1px solid #e5ebf4;border-radius:13px;padding:12px;font-size:11px;line-height:18px;color:#7183a3;margin-top:20px}.onboarding-bottom{flex-shrink:0;padding-top:10px}.step-dots{display:flex;justify-content:center;gap:6px;margin-bottom:20px}.step-dots span{width:7px;height:7px;background:#e1e8f5;border-radius:7px;transition:width .2s ease,background-color .2s ease}.step-dots .current{width:24px;background:#2860f5}.onboarding-actions{display:flex;gap:10px}.onboarding-actions .full-button{margin:0;min-height:48px;font-size:13px}.tutorial-back{min-height:48px;background:#f3f6fb;border:1px solid #dfe7f4;border-radius:11px;font-size:12px;color:#7183a3;padding:0 16px}.tutorial-explore{width:100%;min-height:44px;border:0;background:transparent;color:#7183a3;font-size:12px;margin-top:6px}.history-filters{margin:5px 0 13px;display:grid;gap:13px}.history-filters input{background:#fff;min-height:46px}.month-filter{display:grid;gap:5px;font-size:11px;color:#7183a3}.month-filter select{background:#fff;font-size:13px}.filter-chips{display:flex;gap:6px;flex-wrap:wrap}.filter-chips button{min-height:38px;background:#fff;border:1px solid #dfe7f4;border-radius:20px;padding:7px 13px;font-size:11px;color:#7183a3}.filter-chips .selected{background:#e9f0ff;color:#2860f5;border-color:#aec7ff;font-weight:700}.result-count{font-size:10px;color:#7183a3;margin-bottom:10px}.activity-note{overflow-wrap:anywhere}.activity>div{min-width:0}.export-hint{font-size:10px;line-height:16px;color:#7183a3;margin:-4px 0 12px}.expense-summary{padding:14px;border:1px solid #dfe7f4;border-radius:16px;background:#fff;margin-top:18px}.expense-summary .section-heading{margin-bottom:2px}.category-period{color:#7183a3;font-size:10px;line-height:16px}.category-empty{font-size:12px;color:#7183a3;line-height:20px;margin-top:12px}.category-list{display:grid;gap:15px;margin-top:15px}.category-row>div:first-child{display:flex;gap:6px;align-items:center;margin-bottom:6px;font-size:10px}.category-row strong{flex:1;font-weight:600}.category-row small{color:#7183a3;font-size:9px}.category-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.category-track{background:#f0f3f8;height:5px;border-radius:5px;overflow:hidden}.category-track>span{display:block;height:100%;border-radius:5px}.dot-0,.bar-0{background:#2860f5}.dot-1,.bar-1{background:#f5a500}.dot-2,.bar-2{background:#20b47b}.dot-3,.bar-3{background:#9366db}.dot-4,.bar-4{background:#ef729d}.dot-5,.bar-5{background:#43a8c9}@media(max-height:660px){.onboarding{padding-top:8px;padding-bottom:12px}.onboarding-art{width:110px;height:110px;margin-bottom:20px}.onboarding-body{padding:10px 0}.onboarding h2{font-size:24px}.onboarding-hint{margin-top:12px}.onboarding-description{font-size:13px;line-height:20px}}@media(max-width:600px){.app-shell{max-width:none}}@media(max-width:360px){.header{padding-left:12px;padding-right:12px}.greeting h1{font-size:13px}.greeting p{font-size:10px}main{padding-left:12px;padding-right:12px}.summary strong{font-size:13px}.quick-actions button{font-size:11px}}@media(max-height:650px){.modal{min-height:0;padding-top:20px;padding-bottom:20px}.modal form{min-height:0}}.statistics-page{display:flex;flex-direction:column;gap:16px}.stats-title{display:flex;align-items:center;gap:12px}.stats-page-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#e9efff;color:#2863ff;flex-shrink:0}.stats-title h2{font-size:23px;line-height:29px;letter-spacing:-.5px}.stats-title p{font-size:11px;color:#7183a3;line-height:18px;margin-top:3px}.stats-period{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:700;color:#647695}.stats-period select{width:auto;max-width:67%;min-height:42px;font-weight:700;font-size:12px;background:#fff;border-radius:12px}.stats-hero{background:radial-gradient(circle at 105% 0,#426ce3,transparent 60%),#173984;border-radius:23px;padding:20px;color:#fff;box-shadow:0 8px 19px #183b8d18}.stats-hero>div{display:flex;justify-content:space-between;align-items:center;gap:9px}.stats-hero>div>span{font-size:9px;letter-spacing:1.2px;color:#d5e1ff;font-weight:700}.stats-hero button{min-height:32px;padding:5px 10px;border:1px solid #ffffff40;border-radius:10px;color:#e5edff;background:#ffffff0a;font-size:10px}.stats-hero>strong{display:block;font-size:clamp(25px,7.5vw,35px);line-height:1.4;margin-top:7px;overflow-wrap:anywhere;letter-spacing:-.6px}.stats-hero>p{font-size:11px;color:#bed0f5;line-height:18px;margin-top:1px}.stats-status{display:inline-block;padding:7px 10px;border-radius:9px;background:#ffffff12;color:#e0eaff;font-size:10px;line-height:16px;margin-top:15px}.stats-totals{display:grid;grid-template-columns:1fr 1fr;gap:11px}.stats-totals article{background:#fff;border:1px solid #e1e8f4;border-radius:17px;padding:13px}.stats-total-icon{display:grid;place-items:center;height:29px;width:29px;border-radius:9px;background:#e4f8ef;font-size:22px}.stats-total-icon.red{background:#fff0ed;color:#dc604f}.stats-totals p{color:#7183a3;font-size:11px;margin:10px 0 5px}.stats-totals strong{display:block;font-size:17px;line-height:24px;overflow-wrap:anywhere;letter-spacing:-.4px}.stats-comparison{display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid #eadfc9;background:#fff9ec;border-radius:13px;color:#966f31}.stats-comparison>span{font-size:21px;line-height:24px}.stats-comparison p{font-size:11px;line-height:18px}.stats-comparison small{display:block;font-size:10px;line-height:17px;opacity:.85;margin-top:4px}.comparison-down{border-color:#d2ece1;color:#278065;background:#eef9f4}.stats-card{background:#fff;border:1px solid #e1e8f4;border-radius:21px;padding:19px 16px 16px;min-width:0}.stats-card h3{font-size:15px;line-height:22px;letter-spacing:-.2px}.stats-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.stats-card-heading p{color:#8493aa;font-size:10px;line-height:17px;margin-top:2px}.stats-icon{color:#9cacc8}.chart-legend{display:flex;align-items:center;gap:17px;margin-top:18px}.chart-legend>span{font-size:10px;color:#7183a3;display:flex;gap:5px;align-items:center}.chart-legend i{display:block;width:8px;height:8px;border-radius:3px}.legend-income{background:#19ab85}.legend-expense{background:#4875f3}.flow-chart{display:flex;gap:3px;padding-top:14px;margin:0 -4px;background:repeating-linear-gradient(to top,transparent 0,transparent 35px,#f0f3f8 35px,#f0f3f8 36px)}.flow-month{flex:1;min-width:0;padding:0 3px;color:#8493aa;font-size:10px;background:transparent;border:0;border-radius:8px}.flow-month>span:last-child{display:block;background:#fff;padding:10px 0 5px;line-height:15px}.flow-month.selected>span:last-child{color:#2863ff;font-weight:700}.flow-bars{display:flex;justify-content:center;align-items:flex-end;gap:4px;height:132px;padding:0 3px;border-bottom:1px solid #dfe7f3}.flow-bars i{display:block;width:12px;max-width:35%;border-radius:5px 5px 0 0;opacity:.55;transition:height .35s ease,opacity .18s ease}.flow-month.selected i{opacity:1}.income-bar{background:#19ab85}.expense-bar{background:#4875f3}.chart-detail{border-radius:12px;padding:12px;background:#f6f8fc;margin-top:12px}.chart-detail>strong{font-size:11px}.chart-detail>div{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;font-size:10px;color:#8493aa}.chart-detail b{display:block;margin-top:4px;font-size:12px;overflow-wrap:anywhere}.stats-footnote{color:#8493aa;font-size:10px;line-height:17px;margin-top:11px}.category-donut{width:190px;height:190px;margin:14px auto 8px;position:relative}.category-donut svg{width:100%;height:100%}.category-donut>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.category-donut span{color:#8493aa;font-size:10px}.category-donut strong{font-size:16px;margin:6px 0;max-width:130px;text-align:center;overflow-wrap:anywhere}.category-donut small{color:#8493aa;font-size:9px}.stats-category-list>div{display:flex;align-items:center;gap:10px;padding:11px 0}.stats-category-list>div+div{border-top:1px solid #edf1f8}.stats-category-list i{width:10px;height:10px;border-radius:4px;flex-shrink:0}.stats-category-list span{flex:1;font-size:12px;line-height:18px;overflow-wrap:anywhere;min-width:0}.stats-category-list small{display:block;color:#8493aa;font-size:10px;margin-top:2px}.stats-category-list strong{font-size:12px;max-width:47%;overflow-wrap:anywhere;text-align:right}.stats-details>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #edf1f8}.stats-details>div>span{font-size:11px;line-height:17px}.stats-details small{display:block;color:#8493aa;font-size:9px;margin-top:4px}.stats-details strong{font-size:12px;overflow-wrap:anywhere;text-align:right;max-width:48%}.stats-empty{padding:24px 0 8px;font-size:12px;line-height:20px;color:#8493aa}.stats-empty-banner{color:#526c98;border:1px dashed #cddcf4;padding:14px;font-size:12px;line-height:20px;border-radius:13px;background:#f0f5ff}.stats-export{border:1px solid #d1e8db;background:#f1faf5;padding:18px 16px;border-radius:21px;display:grid;grid-template-columns:37px 1fr;gap:10px 12px;align-items:start}.excel-file-icon{display:grid;place-items:center;color:#fff;background:#228457;width:37px;height:43px;border-radius:8px;font-size:20px;font-weight:700;box-shadow:inset -7px 0 #ffffff15}.stats-export h3{font-size:15px;line-height:22px;color:#174c37}.stats-export p{color:#638674;font-size:11px;line-height:18px;margin-top:4px}.stats-export button{grid-column:1/-1;margin-top:5px;min-height:47px;background:#228457;border:0;color:#fff;border-radius:12px;font-size:12px;font-weight:700}.stats-export small{grid-column:1/-1;font-size:10px;color:#739281;line-height:17px}@media(max-width:360px){.stats-totals strong{font-size:14px}.stats-hero{padding:16px}.stats-card{padding-left:13px;padding-right:13px}.admin-nav button{font-size:10px}}.resend-confirmation{margin-top:17px;border-top:1px solid #edf1f7;padding-top:14px}.resend-confirmation p{color:#7183a3;font-size:11px;line-height:18px}.resend-confirmation button{border:0;background:transparent;color:#2863ff;font-size:12px;font-weight:700;padding:10px 0;min-height:40px;text-align:left}.maintenance-shell{background:radial-gradient(ellipse at 90% 20%,#edf3ff,transparent 50%),#f9fbff}.maintenance-main{padding:calc(24px + env(safe-area-inset-top,0px)) 26px calc(26px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;text-align:center}.maintenance-brand{display:flex;align-items:center;gap:8px;color:#2852a0;font-size:13px;font-weight:700;align-self:flex-start}.maintenance-brand img{width:31px;height:31px;border-radius:9px}.maintenance-art{width:170px;height:170px;position:relative;display:grid;place-items:center;margin:clamp(25px,7vh,60px) 0 25px;flex-shrink:0}.maintenance-orbit{position:absolute;inset:0;border:1px dashed #c9d9f9;border-radius:50%}.maintenance-art:before{content:"";position:absolute;inset:15px;background:#eaf1ff;border-radius:45px;transform:rotate(-12deg)}.maintenance-art svg{width:100px;height:100px;color:#2863ff;z-index:1}.maintenance-gear{position:absolute;bottom:18px;right:7px;z-index:2;color:#ecae31;background:#fff4d6;border:4px solid #fff;font-size:34px;width:50px;height:50px;border-radius:17px;display:grid;place-items:center}.maintenance-kicker{display:flex;gap:6px;align-items:center;color:#b0812e;font-size:9px;font-weight:700;letter-spacing:1px;padding:8px 11px;border-radius:20px;background:#fff5df}.maintenance-kicker i{width:5px;height:5px;border-radius:50%;background:#eeb33c}.maintenance-main h1{font-size:clamp(26px,7vw,34px);line-height:1.2;letter-spacing:-.9px;margin:18px 0 13px;color:#17345d}.maintenance-description{color:#7183a3;font-size:12px;line-height:21px;max-width:365px;overflow-wrap:anywhere}.maintenance-note{display:flex;align-items:flex-start;gap:10px;border:1px solid #e2eafa;background:#f0f5fd;border-radius:15px;padding:13px;margin:25px 0 19px;text-align:left;width:100%}.maintenance-note>span{color:#2863ff;font-size:24px;line-height:28px}.maintenance-note p{font-size:11px;line-height:18px;color:#567195}.maintenance-note small{display:block;font-size:9px;color:#8b9db6;margin-top:4px}.maintenance-main>.full-button{width:100%;min-height:47px;flex-shrink:0}.maintenance-login{color:#7a8da8;font-size:11px;padding:12px;min-height:43px;background:transparent;border:0}.maintenance-footer{color:#9aa9bf;font-size:10px;line-height:17px;margin-top:18px}.maintenance-control{margin:19px 0 24px;border:1px solid #dee7f5;border-radius:18px;padding:17px;background:#fff}.maintenance-control-title{display:flex;justify-content:space-between;gap:8px;align-items:center}.maintenance-control-title h3{font-size:15px;line-height:22px}.maintenance-control-title>span{font-size:8px;letter-spacing:.6px;font-weight:700;padding:6px 8px;border-radius:7px}.maintenance-active{background:#fff0d0;color:#a67522}.maintenance-off{background:#e8f8ef;color:#278058}.maintenance-control>p{color:#7183a3;font-size:11px;line-height:19px;margin:10px 0 17px}.maintenance-control fieldset{padding:0;margin:0;border:0;min-width:0}.maintenance-control .maintenance-checkbox{display:flex;align-items:center;gap:10px;background:#f6f8fc;padding:13px 10px;border-radius:12px;margin-bottom:18px;line-height:19px}.maintenance-checkbox input{width:19px;height:19px;min-height:19px;margin:0;accent-color:#2863ff;flex-shrink:0}.maintenance-control textarea{font-size:13px;resize:vertical;line-height:20px;min-height:92px}.maintenance-control form small{display:block;text-align:right;font-size:10px;color:#8a9ab3;margin:-5px 0 14px}.maintenance-control .full-button{font-size:12px}.maintenance-admin-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px;background:#fff1cf;border-bottom:1px solid #f1dfa9;color:#936e26;font-size:10px;line-height:17px;flex-shrink:0}.maintenance-admin-banner button{background:#fff8e7;color:#936e26;font-size:10px;border:1px solid #e9d494;border-radius:8px;padding:6px 10px;min-height:32px}.maintenance-admin-entry{background:#fff5df;border:1px solid #f0dfa9;border-radius:13px;color:#96722e;font-size:11px;line-height:18px;padding:12px;margin-bottom:20px}.maintenance-admin-entry button{border:0;background:transparent;padding:9px 0 0;color:#862;font-size:10px;font-weight:700}
