@import "https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600;700&display=swap";:root{color:#f5f7fa;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#070b0f;--panel:#101820;--panel-strong:#151e26;--border:#ffffff17;--muted:#9aa5b1;--faint:#64707d;--green:#35d66d;--purple:#8c4dff;--cyan:#3bc9ff;--yellow:#ffb84c;--red:#ff5a67;background:#070b0f;font-family:Work Sans,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{overscroll-behavior-y:contain;background:radial-gradient(circle at 18% -12%, #35d66d24, transparent 26rem), radial-gradient(circle at 98% 2%, #8c4dff1f, transparent 28rem), var(--bg);min-width:320px;min-height:100svh;margin:0;position:relative;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;opacity:.72;background-color:#0000;background-image:linear-gradient(115deg,#0000 0 32%,#35d66d0d 42%,#0000 52%),linear-gradient(245deg,#0000 0 38%,#8c4dff0e 48%,#0000 58%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:180% 180%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;animation:12s ease-in-out infinite alternate atmosphereShift;position:fixed;inset:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{width:min(100%,480px);min-height:100dvh;padding:calc(env(safe-area-inset-top) + 18px) 16px calc(env(safe-area-inset-bottom) + 124px);margin:0 auto;scroll-padding:96px 0 180px;position:relative}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;animation:.42s cubic-bezier(.2,.8,.2,1) both headerEnter;display:flex}.card p,.list-row span,.plan-row span,.group-panel p,.empty-state span,.exercise-card small,.category-stat span{color:var(--muted);margin:0}.brand-logo{object-fit:contain;filter:drop-shadow(0 0 14px #ffffff1f);width:42px;height:48px;margin-bottom:8px;display:block}h1,h2{letter-spacing:0;margin:0}h1{font-size:30px;line-height:1.05}h2{font-size:18px}.status{border:1px solid var(--border);max-width:148px;color:var(--muted);text-align:right;background:#ffffff0a;border-radius:999px;flex:none;padding:8px 10px;font-size:11px;line-height:1.2}.status.online{color:var(--green)}.screen-grid{grid-template-columns:1fr;gap:12px;animation:.3s cubic-bezier(.2,.8,.2,1) both screenEnter;display:grid}.card{border:1px solid var(--border);background:linear-gradient(145deg,#ffffff12,#ffffff05),linear-gradient(#35d66d09,#8c4dff06);border-radius:8px;gap:14px;padding:16px;transition:border-color .18s,box-shadow .18s,transform .18s,background .18s;animation:.46s cubic-bezier(.2,.9,.18,1) both cardEnter;display:grid;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 16px 34px #00000047,inset 0 1px #ffffff0f}.card:before{content:"";z-index:0;pointer-events:none;opacity:0;background:linear-gradient(120deg,#0000 0 18%,#ffffff1c 32%,#0000 46%);animation:.96s .18s both cardSheen;position:absolute;inset:0;transform:translate(-120%)}.card:after{content:"";z-index:0;pointer-events:none;border-radius:inherit;opacity:.12;background:linear-gradient(90deg,#35d66d38,#0000 36% 64%,#8c4dff3d),linear-gradient(#ffffff1a,#0000 34%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.card>*{z-index:1;position:relative}.card:active{border-color:#35d66d38;transform:scale(.988)}.screen-grid>.card:nth-child(2){animation-delay:45ms}.screen-grid>.card:nth-child(3){animation-delay:90ms}.screen-grid>.card:nth-child(4){animation-delay:.135s}.screen-grid>.card:nth-child(5){animation-delay:.18s}.screen-grid>.card:nth-child(6){animation-delay:.225s}.finance-card{background:linear-gradient(145deg,#35d66d2e,#ffffff06),linear-gradient(220deg,#8c4dff14,#0000 48%);border-color:#35d66d33;box-shadow:0 18px 40px #00000052,0 0 34px #35d66d0e,inset 0 1px #ffffff14}.card-title,.card-title-row,.plan-row,.list-row,.split-row,.section-head{align-items:center;gap:10px;display:flex}.card-title{color:var(--green);font-weight:700}.card-title-row,.section-head{justify-content:space-between}.card-title svg,.section-head svg{filter:drop-shadow(0 0 10px);transition:transform .18s}.card:active .card-title svg,.icon-button:active svg{transform:scale(.92)rotate(-4deg)}.card-title.purple{color:var(--purple)}.card strong{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;animation:.36s cubic-bezier(.2,.9,.18,1) both numberPop}.split-row,.list-row{border-top:1px solid #ffffff0f;justify-content:space-between;padding-top:10px}.split-row b,.list-row strong{font-variant-numeric:tabular-nums;font-size:15px}.progress{background:#ffffff14;border-radius:999px;height:8px;overflow:hidden}.progress span{border-radius:inherit;background:linear-gradient(90deg, var(--purple), var(--green));transform-origin:0;height:100%;animation:.62s cubic-bezier(.2,.9,.18,1) both fillBar;display:block}.plan-row{justify-content:space-between;padding:10px 0}.plan-row div,.list-row div,.exercise-card button span:last-child,.empty-state,.category-stat,.category-stat div:first-child{gap:3px;display:grid}.form-grid,.inline-form,.compact-form{gap:10px;display:grid}.form-grid,.compact-form{grid-template-columns:1fr}.inline-form{grid-template-columns:minmax(0,1fr) auto}.two-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}input,select{border:1px solid var(--border);color:#f5f7fa;background:#ffffff0e;border-radius:8px;outline:none;width:100%;min-height:48px;padding:0 12px;scroll-margin:110px 0 190px;font-size:16px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}select{appearance:none}input:focus,select:focus{background:#ffffff13;border-color:#35d66dbd;transform:translateY(-1px);box-shadow:0 0 0 3px #35d66d21}button{color:#06110b;background:var(--green);border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 14px;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s,color .16s,opacity .16s;display:inline-flex;box-shadow:0 10px 24px #35d66d21}button:active{transform:scale(.965);box-shadow:0 5px 14px #35d66d1a}button:disabled{cursor:default;opacity:.62}button.ghost{color:#f5f7fa;box-shadow:none;background:#ffffff14}.purple-button{color:#fff;background:linear-gradient(90deg, var(--purple), #6d38d6);box-shadow:0 12px 28px #8c4dff2e}.icon-button{color:#f5f7fa;background:#ffffff14;width:44px;min-height:44px;padding:0}.add-shortcut{flex:0 0 40px;width:40px;min-height:40px}.empty-state{color:#f5f7fa;background:linear-gradient(135deg,#ffffff09,#ffffff03),repeating-linear-gradient(135deg,#ffffff05 0 1px,#0000 1px 8px);border:1px dashed #ffffff1f;border-radius:8px;place-content:center;width:100%;min-height:86px;padding:14px}.empty-action{text-align:left;min-height:92px;box-shadow:none;cursor:pointer}.empty-action:active{transform:translateY(1px)scale(.99)}.empty-link{color:var(--green);align-items:center;gap:6px;font-weight:700;display:inline-flex}.list{gap:6px;display:grid}.check-row{color:#f5f7fa;background:0 0;border-bottom:1px solid #ffffff0f;border-radius:0;justify-content:flex-start;padding:8px 0;transition:color .16s,transform .16s,background .16s}.check-row:active{transform:translate(3px)}.check-row.done b{color:var(--green)}.check{border:1px solid var(--muted);border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;transition:background .18s,border-color .18s,transform .18s;display:inline-grid}.check.checked{color:#06110b;background:var(--green);border-color:var(--green);animation:.3s cubic-bezier(.2,.9,.18,1) both checkPulse}.invite{background:#8c4dff24;border-radius:8px;gap:4px;padding:14px;display:grid}.invite span{color:var(--muted);font-size:12px}.invite strong{color:var(--purple);letter-spacing:.08em;font-size:28px}.group-panel,.chip-grid,.category-list,.workout-stack,.transfer-list{gap:10px;display:grid}.transfer-alert{background:linear-gradient(145deg,#8c4dff2e,#ffffff06);border-color:#8c4dff57;animation:.46s cubic-bezier(.2,.9,.18,1) both cardEnter,2.6s ease-in-out infinite alertGlow}.toggle-row{border:1px solid var(--border);color:#f5f7fa;background:#ffffff0b;border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:0 12px;font-weight:700;display:flex}.toggle-row input{width:20px;min-height:20px;accent-color:var(--green)}.transfer-row{background:#ffffff09;border:1px solid #ffffff12;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;animation:.3s both listItemIn;display:grid}.transfer-row.due{background:#8c4dff1f;border-color:#8c4dff6b;box-shadow:0 0 24px #8c4dff14}.transfer-row div{gap:4px;display:grid}.transfer-row span{color:var(--muted);font-size:13px}.transfer-row button{min-width:112px}.payment-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.payment-summary-item{background:#ffffff09;border:1px solid #ffffff14;border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid}.payment-summary-item span{color:var(--muted);font-size:11px;line-height:1.2}.payment-summary-item b{font-variant-numeric:tabular-nums;font-size:15px}.payment-list{gap:10px;display:grid}.payment-item{background:linear-gradient(135deg,#ffffff0b,#ffffff05),#ffffff05;border:1px solid #ffffff14;border-radius:8px;gap:10px;padding:12px;animation:.3s both listItemIn;display:grid}.payment-item.status-unpaid,.payment-summary-item.status-unpaid{background:linear-gradient(135deg,#ffb84c24,#ffffff05);border-color:#ffb84c52}.payment-item.status-settle,.payment-summary-item.status-settle{background:linear-gradient(135deg,#8c4dff26,#ffffff05);border-color:#8c4dff57}.payment-item.status-paid,.payment-summary-item.status-paid{background:linear-gradient(135deg,#35d66d21,#ffffff05);border-color:#35d66d4d}.payment-item-main{gap:5px;min-width:0;display:grid}.payment-item-main span:last-child{color:var(--muted);font-size:13px}.payment-item strong{font-size:20px}.status-pill{border-radius:999px;align-items:center;width:fit-content;max-width:100%;min-height:26px;padding:0 9px;font-size:11px;font-weight:800;display:inline-flex}.status-pill.status-unpaid{color:#1f1400;background:var(--yellow)}.status-pill.status-settle{color:#fff;background:var(--purple)}.status-pill.status-paid{color:#06110b;background:var(--green)}.status-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.status-action{color:#f5f7fa;min-height:36px;box-shadow:none;background:#ffffff13;padding:0 8px;font-size:11px;line-height:1.15}.status-action.active{color:#06110b;background:var(--green)}.payment-item.status-unpaid .status-action.active{color:#1f1400;background:var(--yellow)}.payment-item.status-settle .status-action.active{color:#fff;background:var(--purple)}.chip-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.chip{color:#dffbea;background:#35d66d1a;border:1px solid #35d66d3d;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:0 10px;font-size:13px;font-weight:700;transition:transform .16s,border-color .16s,background .16s;display:inline-flex}.chip:active{transform:scale(.96)}.chip.purple{color:#eee6ff;background:#8c4dff24;border-color:#8c4dff52}.bar-chart{border-bottom:1px solid #ffffff14;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:8px;height:180px;padding:12px 0 0;display:grid}.bar-item{height:100%;color:var(--muted);text-align:center;grid-template-rows:1fr auto;align-items:end;gap:7px;font-size:11px;display:grid}.bar-item span{background:linear-gradient(180deg, var(--green), #35d66d2e);transform-origin:bottom;border-radius:7px 7px 0 0;width:100%;min-height:8px;animation:.72s cubic-bezier(.2,.9,.18,1) both barGrow}.bar-item:nth-child(2) span{animation-delay:45ms}.bar-item:nth-child(3) span{animation-delay:90ms}.bar-item:nth-child(4) span{animation-delay:.135s}.bar-item:nth-child(5) span{animation-delay:.18s}.bar-item:nth-child(6) span{animation-delay:.225s}.bar-item:nth-child(7) span{animation-delay:.27s}.category-stat{gap:8px}.category-stat div:first-child{grid-template-columns:minmax(0,1fr) auto;align-items:center}.exercise-card{background:#ffffff09;border:1px solid #ffffff12;border-radius:8px;gap:10px;padding:12px;animation:.3s both listItemIn;display:grid}.exercise-card p{font-size:13px}.weight-row{grid-template-columns:auto minmax(74px,1fr) auto auto;align-items:center;gap:8px;display:grid}.stepper{min-width:54px;padding:0 8px}.bottom-nav{--nav-gap:4px;--nav-pad:8px;z-index:5;gap:var(--nav-gap);width:min(100%,480px);padding:var(--nav-pad) var(--nav-pad) calc(env(safe-area-inset-bottom) + var(--nav-pad));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070b0feb;grid-template-columns:repeat(5,1fr);transition:transform .18s,opacity .18s;display:grid;position:fixed;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}.bottom-nav:before{content:"";top:var(--nav-pad);bottom:calc(env(safe-area-inset-bottom) + var(--nav-pad));left:var(--nav-pad);z-index:0;background:linear-gradient(135deg,#35d66d29,#8c4dff1a),#ffffff09;border:1px solid #35d66d38;border-radius:8px;width:calc(20% - 6.4px);transition:left .26s cubic-bezier(.2,.9,.18,1);position:absolute;box-shadow:0 0 22px #35d66d14}.bottom-nav.nav-dashboard:before{left:var(--nav-pad)}.bottom-nav.nav-expenses:before{left:calc(20% + 5.6px)}.bottom-nav.nav-shopping:before{left:calc(40% + 3.2px)}.bottom-nav.nav-health:before{left:calc(60% + .8px)}.bottom-nav.nav-profile:before{left:calc(80% - 1.6px)}.bottom-nav button{width:100%;min-height:54px;color:var(--muted);text-align:center;z-index:1;box-shadow:none;background:0 0;grid-template-rows:22px auto;place-items:center;gap:4px;padding:4px 2px;font-size:11px;line-height:1.05;transition:color .18s,transform .18s;display:grid;position:relative}.bottom-nav button svg{width:20px;height:20px;margin:0 auto;display:block}.bottom-nav button span{text-align:center;white-space:nowrap;width:100%;min-width:0;display:block}.bottom-nav button.active{color:var(--green);transform:translateY(-2px)}.bottom-nav button.active svg{filter:drop-shadow(0 0 10px #35d66db3);animation:.26s cubic-bezier(.2,.9,.18,1) both navIconPop}.app-shell.keyboard-open .bottom-nav{opacity:0;transform:translate(-50%, calc(100% + env(safe-area-inset-bottom)));pointer-events:none}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes atmosphereShift{0%{background-position:0%}to{background-position:100%}}@keyframes headerEnter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes screenEnter{0%{opacity:0;transform:translateY(8px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(16px)scale(.982)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cardSheen{0%{opacity:0;transform:translate(-120%)}28%{opacity:.55}to{opacity:0;transform:translate(120%)}}@keyframes fillBar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes barGrow{0%{opacity:.4;transform:scaleY(.08)}to{opacity:1;transform:scaleY(1)}}@keyframes numberPop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes listItemIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes checkPulse{0%{transform:scale(.75)}65%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes alertGlow{0%,to{box-shadow:0 16px 34px #00000047,0 0 18px #8c4dff0f}50%{box-shadow:0 18px 40px #00000057,0 0 30px #8c4dff29}}@keyframes navIconPop{0%{transform:scale(.88)}to{transform:scale(1.05)}}@media (hover:hover){.card:hover{border-color:#ffffff24;transform:translateY(-2px);box-shadow:0 20px 42px #00000057,0 0 32px #35d66d0f,inset 0 1px #ffffff14}button:hover:not(:disabled){box-shadow:0 14px 30px #35d66d2b}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (width>=720px){.app-shell{width:min(100%,980px)}.screen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide{grid-column:1/-1}.finance-form{grid-template-columns:.7fr 1fr 1fr 1fr auto}.nutrition-form{grid-template-columns:1fr .55fr .55fr .55fr .65fr auto}.exercise-form{grid-template-columns:1fr .5fr .7fr .7fr auto}.transfer-form{grid-template-columns:1fr .55fr .55fr 1fr 1fr auto}.payment-form{grid-template-columns:1fr .55fr .75fr .85fr .85fr auto}.payment-item{grid-template-columns:minmax(0,1fr) auto;align-items:start}.status-actions{grid-column:1/-1}.auth-form{grid-template-columns:1fr 1fr auto auto}.bottom-nav{width:min(100%,980px)}}
