:root{--bg:#f8f7ff;--panel:#fff;--ink:#24243a;--muted:#7b7b93;--a:#7c5cff;--b:#ff6fae;--yellow:#ffd166;--mint:#55d6be;--blue:#5aa9ff;--shadow:0 14px 40px rgba(81,63,148,.12);--radius:24px}*{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:ui-rounded,Noto Sans TC,system-ui,-apple-system,sans-serif;background:linear-gradient(180deg,#faf9ff,#f6fbff);color:var(--ink)}button,input,select{font:inherit}a{text-decoration:none;color:inherit}.appShell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:28px 20px;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid #eceaf7;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:900;margin:2px 8px 28px}.logo{width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,var(--a),var(--b));display:grid;place-items:center;color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--a) 30%,transparent)}.nav{display:grid;grid-gap:8px;gap:8px}.nav a{padding:13px 14px;border-radius:16px;color:var(--muted);font-weight:800}.nav a.active,.nav a:hover{background:#f0edff;color:var(--a)}.familyPill{margin-top:auto;background:linear-gradient(135deg,#1f1d2b,#3b335a);color:#fff;padding:18px;border-radius:22px}.familyPill small{opacity:.68}.main{padding:28px 34px 100px;max-width:1480px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:26px}.hello h1{font-size:clamp(28px,3vw,42px);margin:0 0 6px;letter-spacing:-.04em}.hello p{margin:0;color:var(--muted);font-size:18px}.profile{display:flex;align-items:center;gap:10px;background:#fff;border-radius:18px;padding:8px 12px;box-shadow:var(--shadow)}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffd3e7,#cabdff)}.grid{display:grid;grid-template-columns:1.5fr 1fr;grid-gap:22px;gap:22px}.card{background:var(--panel);border:1px solid rgba(124,92,255,.07);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.balance{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--a),color-mix(in srgb,var(--a) 68%,var(--b)),var(--b));color:#fff;min-height:245px}.balance:after,.balance:before{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.13)}.balance:before{width:200px;height:200px;right:-60px;top:-60px}.balance:after{width:110px;height:110px;right:120px;bottom:-50px}.eyebrow{opacity:.82;font-weight:800}.amount{font-size:clamp(42px,6vw,58px);font-weight:900;margin:8px 0 20px}.balanceRow{display:flex;gap:14px;flex-wrap:wrap}.mini{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:12px 14px;min-width:135px}.mini span{font-size:12px;opacity:.75;display:block}.mini strong{font-size:20px}.actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-top:18px}.action{border:0;border-radius:18px;padding:16px;font-weight:900;cursor:pointer}.income{background:#e8fff6;color:#15966f}.expense{background:#fff0f5;color:#e94f8d}.sectionTitle{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.sectionTitle h3{margin:0;font-size:20px}.linkButton{border:0;background:transparent;color:var(--a);font-weight:800;cursor:pointer}.spendList{grid-gap:12px}.spend,.spendList{display:grid;gap:12px}.spend{grid-template-columns:44px 1fr auto;grid-gap:12px;align-items:center;padding:12px;border-radius:17px;background:#fafafe}.spendIcon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;font-size:22px;background:#fff0f6}.muted{color:var(--muted)}.goal{background:linear-gradient(135deg,#fff9df,#fff1b8)}.progress{height:12px;background:rgba(255,255,255,.85);border-radius:99px;overflow:hidden}.progress>div{height:100%;width:68%;background:linear-gradient(90deg,#ffbf45,#ff7c66)}.members{display:flex;gap:12px;flex-wrap:wrap}.member{min-width:160px;padding:12px 14px;background:#f8f7ff;border-radius:16px;display:flex;gap:10px;align-items:center}.settingsGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.field{display:grid;grid-gap:7px;gap:7px;margin-bottom:16px}.field label{font-size:13px;color:var(--muted);font-weight:800}.field input,.field select{width:100%;border:1px solid #e7e4f2;border-radius:14px;padding:12px 14px;background:#fff;outline:none}.field input:focus,.field select:focus{border-color:var(--a);box-shadow:0 0 0 3px color-mix(in srgb,var(--a) 12%,transparent)}.saveBtn{border:0;background:linear-gradient(135deg,var(--a),var(--b));color:#fff;font-weight:900;padding:13px 18px;border-radius:15px;cursor:pointer}.toggleRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #f0eef6}.tagRow{display:flex;gap:8px;flex-wrap:wrap}.tag{background:#f5f2ff;border-radius:999px;padding:8px 11px;font-weight:800;color:var(--a)}.pageTitle{font-size:30px;margin:0 0 6px}.subTitle{color:var(--muted);margin:0 0 22px}.mobileNav{display:none}.notice{padding:12px 14px;border-radius:14px;background:#eefcf6;color:#167b5d;font-weight:800;margin-top:12px}@media(max-width:1000px){.appShell{grid-template-columns:84px 1fr}.sidebar{padding:22px 12px}.brand span,.familyPill,.nav span{display:none}.brand{justify-content:center;margin-left:0;margin-right:0}.nav a{text-align:center}.grid,.settingsGrid{grid-template-columns:1fr}.main{padding:24px}}@media(max-width:680px){.appShell{display:block}.sidebar{display:none}.main{padding:20px 16px 100px}.topbar{align-items:flex-start}.profile .profileText{display:none}.card{padding:18px}.balanceRow{display:grid;grid-template-columns:1fr 1fr}.mini{min-width:0}.members{display:grid;grid-template-columns:1fr 1fr}.member{min-width:0}.mobileNav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:12px;right:12px;bottom:12px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:8px;border-radius:22px;box-shadow:var(--shadow);z-index:40}.mobileNav a{text-align:center;padding:8px;border-radius:14px;font-size:12px;color:var(--muted)}.mobileNav a:hover{background:#f0edff;color:var(--a)}}.brandMark{display:grid;place-items:center;flex:0 0 auto;filter:drop-shadow(0 9px 16px color-mix(in srgb,var(--a) 20%,transparent))}.brandMark svg{width:100%;height:100%;display:block}.brand{margin-left:4px}.avatarImage{object-fit:cover}.positive{color:#15966f}.welcomeWrap{min-height:calc(100vh - 150px);display:grid;place-items:center}.welcomeCard{width:min(680px,100%);text-align:center;padding:42px}.welcomeCard h1{font-size:clamp(30px,5vw,48px);margin:12px 0 8px}.welcomeCard>p{color:var(--muted);font-size:18px}.welcomeIcon{font-size:50px}.welcomeChoices{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:28px}.choiceCard{border:1px solid #e9e5f8;background:#fff;border-radius:22px;padding:26px 18px;cursor:pointer;display:grid;grid-gap:8px;gap:8px;text-align:center;transition:transform .18s,box-shadow .18s}.choiceCard:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--a) 38%,white)}.choiceCard span{font-size:36px}.choiceCard b{font-size:18px}.choiceCard small{color:var(--muted)}.disabledChoice{opacity:.52;cursor:not-allowed}.backButton,.iconButton{border:0;background:transparent;cursor:pointer;color:var(--muted);font-weight:800}.fullButton{width:100%}.devNote{font-size:12px!important;margin-top:16px!important;color:#aaa!important}.emptyStateCard{text-align:left}.emptyIllustration{font-size:42px;margin:28px 0 8px}.emptyList{min-height:180px;display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;text-align:center;color:var(--muted)}.emptyList>div{font-size:34px}.emptyList b{color:var(--ink)}.emptyList.compact{min-height:165px}.analysisTrack{height:10px;border-radius:99px;background:#f0eef6;overflow:hidden;margin-top:6px}.analysisTrack>div{height:100%;background:linear-gradient(90deg,var(--a),var(--b));border-radius:inherit}.modalBackdrop{position:fixed;inset:0;background:rgba(28,23,51,.38);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;display:grid;place-items:center;padding:18px}.entryModal{width:min(500px,100%);background:#fff;border-radius:26px;padding:24px;box-shadow:0 28px 80px rgba(42,31,88,.26)}.amountInput{display:flex;align-items:center;gap:8px;border:1px solid #e7e4f2;border-radius:18px;padding:12px 16px;margin:16px 0 20px}.amountInput span{font-size:24px;font-weight:900;color:var(--muted)}.amountInput input{border:0;outline:0;width:100%;font-size:38px;font-weight:900;color:var(--ink)}.signinPage{min-height:100vh;display:grid;place-items:center;padding:20px}.signinCard{width:min(460px,100%);text-align:center;display:grid;justify-items:center;grid-gap:10px;gap:10px;padding:36px}.signinCard h1{font-size:38px;margin:8px 0 0}.googleButton{width:100%;border:1px solid #e3e1ec;background:#fff;border-radius:15px;padding:13px 18px;font-weight:850;cursor:pointer;box-shadow:0 5px 16px rgba(65,52,117,.08)}.googleG{display:inline-grid;place-items:center;margin-right:7px;font-weight:1000;color:#4285F4}@media(max-width:680px){.welcomeCard{padding:26px 18px}.welcomeChoices{grid-template-columns:1fr}.brandMark{width:40px!important;height:40px!important}}.joinPage{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f7f7fd}.joinCard{width:min(560px,100%);text-align:center;padding:42px}.inviteBox{margin-top:24px;padding:18px;border-radius:18px;background:#f8f6ff;display:grid;grid-gap:10px;gap:10px}.inviteBox input{width:100%;padding:12px;border:1px solid #ddd8ee;border-radius:12px;background:#fff}.errorText{color:#c62828;font-weight:700}.authNotice{padding:12px 14px;border-radius:14px;background:#fff6d8;color:#765400;font-weight:700;margin:12px 0}.publicSite{min-height:100vh;background:radial-gradient(circle at 10% 10%,rgba(124,92,255,.15),transparent 28rem),radial-gradient(circle at 92% 8%,rgba(255,111,174,.17),transparent 30rem),linear-gradient(180deg,#fbfaff,#f6fbff 56%,#fff);color:var(--ink)}.publicNav{width:min(1180px,calc(100% - 36px));margin:auto;padding:22px 0;justify-content:space-between;gap:18px}.publicBrand,.publicNav{display:flex;align-items:center}.publicBrand{gap:10px;font-weight:950;font-size:21px;letter-spacing:-.03em}.publicNavLinks{display:flex;align-items:center;gap:18px;color:var(--muted);font-weight:800}.publicNavLinks a:hover{color:var(--a)}.publicSignIn{padding:10px 17px!important;border-radius:14px;background:#fff;color:var(--a)!important;box-shadow:0 8px 24px rgba(74,59,130,.1)}.heroSection{width:min(1180px,calc(100% - 36px));margin:54px auto 94px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;grid-gap:64px;gap:64px}.heroBadge{display:inline-flex;padding:9px 13px;border-radius:999px;background:#fff;color:var(--a);font-weight:900;box-shadow:0 8px 24px rgba(74,59,130,.08);margin-bottom:18px}.heroCopy h1{font-size:clamp(44px,6.5vw,76px);line-height:1.04;letter-spacing:-.065em;margin:0}.heroCopy h1 span{background:linear-gradient(135deg,var(--a),var(--b));-webkit-background-clip:text;background-clip:text;color:transparent}.heroCopy>p{font-size:19px;line-height:1.85;color:var(--muted);max-width:720px;margin:24px 0 0}.heroActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.primaryCta,.secondaryCta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:17px;font-weight:950}.primaryCta{color:#fff;background:linear-gradient(135deg,var(--a),var(--b));box-shadow:0 14px 30px rgba(124,92,255,.24)}.secondaryCta{background:#fff;color:var(--ink);border:1px solid #ece8f7}.trustRow{display:flex;gap:10px 18px;flex-wrap:wrap;margin-top:28px;color:#68677b;font-weight:800;font-size:13px}.heroMockup{background:rgba(255,255,255,.87);border:1px solid rgba(124,92,255,.12);border-radius:32px;padding:22px;box-shadow:0 36px 80px rgba(60,44,128,.17);transform:rotate(1.1deg)}.mockTop{background:linear-gradient(135deg,var(--a),var(--b));color:#fff;border-radius:24px;padding:22px;display:flex;justify-content:space-between;align-items:center}.mockTop small{display:block;opacity:.78;font-weight:800}.mockTop strong{display:block;font-size:38px;margin-top:4px}.mockAvatar{width:52px;height:52px;border-radius:18px;background:rgba(255,255,255,.19);display:grid;place-items:center;font-size:27px}.mockActions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:12px 0}.mockActions div{padding:13px;text-align:center;border-radius:15px;font-weight:950}.mockActions div:first-child{background:#e8fff6;color:#168d6b}.mockActions div:last-child{background:#fff0f5;color:#d74783}.mockCard{border-radius:20px;background:#fafafe;padding:17px}.mockCard>b{display:block;margin-bottom:9px}.mockSpend{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #ecebf3}.mockSpend:last-child{border:0}.mockSpend span{color:#66667d}.mockGoal{margin-top:12px;padding:17px;border-radius:20px;background:linear-gradient(135deg,#fff8d9,#fff0bb)}.mockGoal>div:first-child{display:flex;gap:8px;align-items:center}.mockGoal small{display:block;color:#877448;margin:8px 0}.mockProgress{height:9px;border-radius:99px;background:rgba(255,255,255,.8);overflow:hidden}.mockProgress i{display:block;width:68%;height:100%;background:linear-gradient(90deg,#ffc44d,#ff7d68)}.publicSection{width:min(1180px,calc(100% - 36px));margin:0 auto 94px}.sectionIntro{text-align:center;max-width:720px;margin:0 auto 34px}.sectionIntro>span{font-size:12px;letter-spacing:.22em;font-weight:950;color:var(--a)}.sectionIntro h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.045em;margin:10px 0}.sectionIntro p{color:var(--muted);font-size:17px}.featureGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.featureCard{padding:24px;border-radius:22px;background:rgba(255,255,255,.9);border:1px solid #eeebf8;box-shadow:0 12px 34px rgba(69,56,121,.07)}.featureCard>div{font-size:32px}.featureCard h3{font-size:19px;margin:13px 0 7px}.featureCard p{margin:0;color:var(--muted);line-height:1.7}.privacyCallout{width:min(1000px,calc(100% - 36px));margin:0 auto 90px;padding:30px 34px;border-radius:28px;background:linear-gradient(135deg,#272139,#4d3a75);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.privacyCallout>div{display:flex;gap:17px;align-items:center}.privacyCallout h2{margin:0 0 5px}.privacyCallout p{margin:0;color:rgba(255,255,255,.72);line-height:1.65}.privacyCallout>a{white-space:nowrap;font-weight:900;color:#fff}.privacyIcon{font-size:38px}.publicFooter{width:min(1180px,calc(100% - 36px));margin:auto;padding:30px 0 38px;border-top:1px solid #e7e4f0;display:grid;grid-template-columns:1fr auto;grid-gap:16px;gap:16px;align-items:center}.publicFooter>div:nth-child(2){display:flex;gap:16px;color:var(--muted);font-weight:800}.publicFooter small{grid-column:1/-1;color:#9694a6}.legalPage{min-height:100vh;background:linear-gradient(180deg,#faf9ff,#f6fbff);padding-bottom:60px}.legalHeader{width:min(960px,calc(100% - 36px));margin:auto;padding:24px 0;display:flex;align-items:center;justify-content:space-between}.legalBack{font-weight:850;color:var(--a)}.legalCard{width:min(860px,calc(100% - 36px));margin:32px auto;background:#fff;border:1px solid #ece9f5;border-radius:30px;padding:clamp(28px,5vw,58px);box-shadow:0 22px 64px rgba(61,49,112,.09);line-height:1.85}.legalEyebrow{color:var(--a);font-size:12px;font-weight:950;letter-spacing:.22em}.legalCard h1{font-size:clamp(34px,5vw,52px);letter-spacing:-.05em;margin:6px 0 2px}.legalUpdated{color:var(--muted);margin-top:0}.legalCard h2{font-size:21px;margin-top:34px}.legalCard p{color:#57566d}.legalFooter{display:flex;justify-content:center;gap:12px;color:var(--muted);font-weight:800}@media(max-width:900px){.heroSection{grid-template-columns:1fr;gap:38px;margin-top:28px}.heroMockup{max-width:620px;width:100%;margin:auto;transform:none}.featureGrid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.publicNavLinks>a:not(.publicSignIn){display:none}.heroSection{margin-bottom:70px}.heroCopy h1{font-size:44px}.heroCopy>p{font-size:17px}.heroActions>a{width:100%}.featureGrid{grid-template-columns:1fr}.privacyCallout{align-items:flex-start;flex-direction:column;padding:25px}.publicFooter{grid-template-columns:1fr}.publicFooter>div:nth-child(2){flex-wrap:wrap}.legalCard{border-radius:22px}}.familyInviteControls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.familyInviteControls input{min-width:280px}.familyInviteMessage{margin-top:18px;padding:12px 14px;border-radius:14px;background:#f5f2ff;color:#5e46c8;font-weight:800}.pendingInvites{margin-top:22px;border-top:1px solid #ece9f5;padding-top:20px}.pendingInvitesTitle{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.pendingInvitesTitle>div{display:flex;flex-direction:column;gap:4px}.pendingInvitesTitle small{color:var(--muted);font-weight:600}.pendingInvitesTitle>span{min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#f1edff;color:var(--a);display:grid;place-items:center;font-weight:950}.pendingInviteRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;margin-top:9px;border:1px solid #eeeaf8;border-radius:16px;background:#fbfaff}.pendingInviteRow>div{min-width:0}.pendingInviteRow b{display:block;overflow-wrap:anywhere}.pendingInviteRow small{display:block;color:var(--muted);margin-top:4px}.pendingCancel{border:0;background:#fff0f4;color:#cf3e70;border-radius:12px;padding:9px 12px;font-weight:900;cursor:pointer;white-space:nowrap}@media(max-width:700px){.familyInviteControls{width:100%}.familyInviteControls input{min-width:0;width:100%}.familyInviteControls .linkButton{width:100%}.pendingInviteRow{align-items:flex-start;flex-direction:column}.pendingCancel{width:100%}}.joinAccountBox{margin:18px 0;padding:14px 16px;border-radius:15px;background:#f7f5ff;border:1px solid #ebe6ff;text-align:left}.joinAccountBox span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:4px}.joinAccountBox b{display:block;overflow-wrap:anywhere;color:var(--ink)}.guidedJoinPage{min-height:100vh;display:grid;place-items:center;padding:28px 18px;background:radial-gradient(circle at 12% 10%,rgba(124,92,255,.15),transparent 26rem),radial-gradient(circle at 90% 18%,rgba(255,98,170,.15),transparent 30rem),linear-gradient(180deg,#faf9ff,#f5f9ff)}.guidedJoinCard{width:min(620px,100%);background:#fff;border:1px solid #ece9f7;border-radius:32px;padding:clamp(28px,6vw,52px);box-shadow:0 30px 80px rgba(64,49,126,.14);text-align:center}.joinHeroEmoji{font-size:52px;margin:18px 0 6px}.joinStepPill{display:inline-flex;margin:8px auto 3px;padding:7px 12px;border-radius:999px;background:#f1edff;color:var(--a);font-size:12px;font-weight:950;letter-spacing:.08em}.joinStepPill.warning{background:#fff2d9;color:#9a6908}.joinStepPill.success{background:#e9fff6;color:#148363}.guidedJoinCard h1{font-size:clamp(30px,6vw,46px);letter-spacing:-.05em;line-height:1.12;margin:14px 0}.guidedLead{color:var(--muted);font-size:16px;line-height:1.75;margin:0 auto 20px;max-width:490px}.confirmedAccountCard,.invitedAccountCard{margin:20px 0;padding:16px 18px;border-radius:18px;text-align:left;background:#f7f5ff;border:1px solid #eae5ff}.accountCompare span,.confirmedAccountCard span,.invitedAccountCard span,.signinInvitedEmail span{display:block;color:var(--muted);font-size:12px;font-weight:850;margin-bottom:4px}.accountCompare b,.confirmedAccountCard b,.invitedAccountCard b,.signinInvitedEmail b{display:block;overflow-wrap:anywhere;font-size:17px}.confirmedAccountCard{background:#ecfff7;border-color:#d3f7e7}.confirmedAccountCard span{color:#198461}.guidedAcceptButton,.guidedGoogleButton,.guidedSecondaryButton{width:100%;min-height:54px;border:0;border-radius:17px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;font-weight:950;text-decoration:none;cursor:pointer}.guidedGoogleButton{background:#fff;border:1px solid #dfdce8;color:var(--ink);box-shadow:0 8px 22px rgba(56,46,99,.08)}.guidedAcceptButton{background:linear-gradient(135deg,var(--a),var(--b));color:#fff;box-shadow:0 15px 30px rgba(124,92,255,.23)}.guidedAcceptButton:disabled{opacity:.6;cursor:wait}.guidedSecondaryButton{background:#f2efff;color:var(--a);margin-top:18px}.guidedTextLink{display:inline-block;margin-top:16px;color:var(--a);font-weight:850}.joinSafetyNote{margin-top:20px;padding:12px 14px;border-radius:14px;background:#f8f8fb;color:#747286;font-size:12px;line-height:1.55}.accountCompare{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:20px 0}.accountCompare>div{text-align:left;padding:15px;border-radius:16px;background:#faf9fd;border:1px solid #ece9f3}.accountCompare>div:first-child{background:#f7f5ff;border-color:#e7e0ff}.accountCompare>div:last-child{background:#fff5f5;border-color:#ffe0e0}.guidedError{margin-top:16px;padding:12px 14px;border-radius:13px;background:#fff1f2;color:#b83d4c;font-weight:800}.joinSpinner{width:38px;height:38px;border:4px solid #ece8fb;border-top:4px solid var(--a);border-radius:50%;margin:22px auto 4px;animation:joinSpin .8s linear infinite}.signinInvitedEmail{margin:14px 0 18px;padding:13px 15px;text-align:left;border-radius:14px;background:#f7f5ff;border:1px solid #e8e2ff}@keyframes joinSpin{to{transform:rotate(1turn)}}@media(max-width:560px){.accountCompare{grid-template-columns:1fr}.guidedJoinCard{border-radius:24px}}.pickerPermissionHint{margin:16px 0;padding:14px 16px;border-radius:15px;background:#f2f8ff;color:#45617a;font-size:13px;line-height:1.65}.logoutButton{width:100%;margin-top:12px;border:1px solid rgba(124,92,255,.18);background:#fff;color:#6f5be7;border-radius:14px;padding:11px 14px;font:inherit;font-weight:800;cursor:pointer;transition:.18s ease}.logoutButton:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(124,92,255,.12)}.memberManage{min-width:260px;justify-content:space-between;gap:12px}.memberIdentity,.memberManage{display:flex;align-items:center}.memberIdentity{gap:10px;min-width:0}.memberText{display:grid;grid-gap:2px;gap:2px;min-width:0}.memberText b,.memberText small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memberRemove{border:0;background:#fff0f4;color:#cf3e70;border-radius:12px;padding:9px 12px;font-weight:900;cursor:pointer;white-space:nowrap}.memberRemove:hover{background:#ffe4ec}.memberRemove:disabled{opacity:.55;cursor:not-allowed}@media(max-width:680px){.members{grid-template-columns:1fr}.memberManage{min-width:0;width:100%}.memberRemove{flex:0 0 auto}}.memberViewBar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:16px 18px}.memberViewButtons{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.memberViewButton{border:1px solid #e6e2f4;background:#fff;border-radius:999px;padding:8px 14px;display:flex;align-items:center;gap:8px;font:inherit;font-weight:700;cursor:pointer;color:#5e5a73}.memberViewButton.active{border-color:var(--a);box-shadow:0 0 0 2px color-mix(in srgb,var(--a) 18%,transparent);color:var(--a);background:#faf8ff}.memberViewButton:disabled{opacity:.6;cursor:wait}.memberViewAvatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.dataRefreshing{opacity:.58;pointer-events:none;transition:opacity .15s ease}@media(max-width:800px){.memberViewBar{align-items:flex-start;flex-direction:column}.memberViewButtons{justify-content:flex-start}}.familyInviteControls select,.memberActions select{border:1px solid #e7e4f2;border-radius:12px;padding:9px 10px;background:#fff;color:var(--ink);font-weight:800}.memberActions{display:flex;align-items:center;gap:8px}.roleHelp{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:0 0 18px}.roleHelp>div{padding:12px 14px;border-radius:14px;background:#faf9ff;display:grid;grid-gap:3px;gap:3px}.roleHelp span{font-size:13px;color:var(--muted)}.roleBadge{display:inline-flex!important;width:max-content;padding:3px 8px;border-radius:999px;background:#f1eff8;color:#6f6b82!important;font-weight:900}.roleBadge.admin{background:#eee9ff;color:var(--a)!important}@media(max-width:680px){.roleHelp{grid-template-columns:1fr}.memberActions{width:100%;justify-content:flex-end}.familyInviteControls{flex-wrap:wrap}.familyInviteControls select{flex:1 1}}.adminPage{min-height:100vh;background:#f7f6ff;padding:28px;display:grid;grid-gap:20px;gap:20px}.adminTop{display:flex;justify-content:space-between;align-items:center;max-width:1180px;width:100%;margin:0 auto}.adminTop a{color:#7052ff;text-decoration:none;font-weight:800}.adminHero{max-width:1180px;width:100%;margin:0 auto;background:linear-gradient(135deg,#2d2448,#6753d8);color:white;border-radius:28px;padding:28px 32px;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:0 18px 50px rgba(63,46,135,.18)}.adminHero h1{margin:6px 0 8px;font-size:32px}.adminHero p{margin:0;opacity:.82}.adminKicker{font-size:12px;font-weight:900;letter-spacing:.14em;opacity:.72}.adminStats{display:flex;gap:12px}.adminStats>div{min-width:110px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px;text-align:center}.adminStats strong{display:block;font-size:28px}.adminStats span{font-size:12px;opacity:.82}.adminPage>.card,.adminPage>.familyInviteMessage{max-width:1180px;width:100%;margin:0 auto}.adminCount{background:#eee9ff;color:#6548db;border-radius:999px;padding:5px 11px;font-weight:900}.adminRows{display:grid;grid-gap:12px;gap:12px}.adminRow{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#faf9ff;border:1px solid #eeeafa;border-radius:18px;padding:16px 18px}.adminRow>div:first-child{display:grid;grid-gap:4px;gap:4px}.adminRow small{color:#77738d}.adminActions{display:flex;align-items:center;gap:10px}.adminReject{border:0;background:#fff0f3;color:#d9486d;font-weight:900;border-radius:12px;padding:10px 14px;cursor:pointer}.platformStatus{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;background:#eee}.platformStatus.pending{background:#fff5cf;color:#9a6a00}.platformStatus.approved{background:#e7fbf2;color:#087a58}.platformStatus.rejected,.platformStatus.suspended{background:#fff0f3;color:#c43c5f}.compactRow{padding:12px 16px}.approvalCard{max-width:720px!important}.approvalStatus{padding:16px;border-radius:16px;margin:14px 0;background:#f6f3ff}.approvalStatus.pending{background:#fff8dd}.approvalStatus.approved{background:#eafbf4}.approvalStatus.rejected{background:#fff0f3}.approvalStatus b{display:block;margin-bottom:5px}.approvalStatus small{color:#6f6a7f}.approvalBadge{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;background:#eee9ff;color:#6548db;margin-bottom:10px}@media(max-width:800px){.adminPage{padding:16px}.adminHero{align-items:flex-start;flex-direction:column}.adminStats{width:100%}.adminStats>div{flex:1 1;min-width:0}.adminRow{align-items:flex-start;flex-direction:column}.adminActions{width:100%;justify-content:flex-end}}.assetSummary{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0 14px}.assetSummary span{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.16);padding:7px 10px;border-radius:12px;font-size:12px}.assetSummary b{margin-left:5px}.threeActions{grid-template-columns:repeat(3,1fr)!important}.goalAction{background:linear-gradient(135deg,#fff5c7,#fff0a3)!important;color:#7d6510!important}.goalWalletGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px}.goalWalletCard{padding:18px;border:1px solid #ece9f7;border-radius:20px;background:#faf9ff;display:grid;grid-gap:12px;gap:12px}.goalProgressText,.goalWalletHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.goalWalletHead>div{display:grid;grid-gap:4px;gap:4px}.goalProgressText span:last-child,.goalWalletHead small{color:var(--muted);font-size:12px}.goalWalletHead strong{font-size:20px;color:var(--a)}.goalWalletActions{display:flex;gap:8px;flex-wrap:wrap}.goalWalletActions button{border:0;border-radius:11px;padding:8px 11px;background:#eee9ff;color:#6548db;font-weight:850;cursor:pointer}.goalWalletActions .dangerGhost{background:#fff0f3;color:#c94263}.segmented{display:flex;gap:6px;background:#f3f1f8;border-radius:13px;padding:5px;margin:10px 0}.segmented button{flex:1 1;border:0;border-radius:9px;padding:9px;background:transparent;color:#77728a;font-weight:850;cursor:pointer}.segmented button.active{background:#fff;color:var(--a);box-shadow:0 3px 10px rgba(60,45,110,.09)}@media(max-width:680px){.threeActions{grid-template-columns:1fr!important}.assetSummary{gap:6px}.goalWalletGrid{grid-template-columns:1fr}}.platformNavLink{position:relative}.platformNavBadge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ff4d7d;color:#fff;font-size:11px;font-weight:900;box-shadow:0 5px 14px rgba(255,77,125,.28)}.platformApprovalAlert{display:grid;grid-template-columns:auto 1fr auto;grid-gap:14px;gap:14px;align-items:center;margin-bottom:18px;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,#fff4cf,#fff9ea);border:1px solid #ffe29a;box-shadow:0 10px 26px rgba(110,80,20,.08)}.platformApprovalIcon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#fff;font-size:21px}.platformApprovalAlert b{display:block;color:#28233d;font-size:16px}.platformApprovalAlert span{display:block;color:#7d735c;font-size:13px;margin-top:3px}.platformApprovalButton{white-space:nowrap;text-decoration:none;background:#7153ff;color:#fff;padding:10px 14px;border-radius:12px;font-weight:900}.platformApprovalButton:hover{filter:brightness(.98)}@media(max-width:760px){.platformApprovalAlert{grid-template-columns:auto 1fr}.platformApprovalButton{grid-column:1/-1;text-align:center}.platformNavBadge{margin-left:6px}}.transactionRow{grid-template-columns:minmax(0,1fr) auto auto}.transactionActions{display:flex;gap:8px;align-items:center}.dangerGhost,.transactionActions button{border:0;border-radius:11px;padding:8px 11px;font-weight:850;cursor:pointer}.transactionActions button{background:#f0edff;color:var(--a)}.dangerGhost{background:#fff0f3!important;color:#cf3f61!important}.dangerButton{border:0;background:#d83d5d;color:#fff;font-weight:900;padding:13px 18px;border-radius:15px;cursor:pointer}.dangerButton:disabled{opacity:.45;cursor:not-allowed}.dangerZone{margin-top:24px;border-color:#ffd6df;background:#fffafb}.platformStatus.deleted{background:#ececf2;color:#686879}.adminStats{flex-wrap:wrap}@media(max-width:680px){.transactionRow{grid-template-columns:1fr auto}.transactionActions{grid-column:1/-1;justify-content:flex-end}}