:root{--text:#15213b;--muted:#67758d;--line:rgba(82,102,149,.12);--surface:rgba(255,255,255,.38);--green:#087c52;--pink:#d82966;--blue:#2262ce;--purple:#7941d6}*{box-sizing:border-box}body{margin:0;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;background:#edf2fc;min-height:100vh}button,input,select{font:inherit}button,select{cursor:pointer}button{color:inherit;border:0;background:none}button:focus-visible,select:focus-visible{outline:3px solid #9c7ee3;outline-offset:4px}button{transition:background .2s,transform .2s}button:active{transform:scale(.98)}.ambient{position:fixed;inset:0;overflow:hidden;z-index:-1;background:linear-gradient(130deg,#e5edff,#f0ecfa 55%,#e8f4f1)}.ambient i{position:absolute;border-radius:50%;filter:blur(65px);opacity:.6}.ambient i:nth-child(1){background:#b7caff;width:650px;height:650px;left:-220px;top:-250px}.ambient i:nth-child(2){background:#d9baf3;width:520px;height:580px;right:-180px;top:180px}.ambient i:nth-child(3){background:#b5e6da;width:650px;height:500px;left:15%;top:740px}.shell{max-width:1160px;margin:auto;padding:46px 32px 28px}header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:32px}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:800;color:#7a56b6;margin:0 0 10px}h1{font-size:52px;letter-spacing:-2.5px;line-height:1;margin:0;font-weight:800}.subtitle{font-size:15px;color:var(--muted);margin:12px 0 0}.icon-button{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.45);border:1px solid #ffffffa0;box-shadow:inset 0 1px 1px white,0 5px 14px #5263850b;font-size:25px;backdrop-filter:blur(20px)}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.segmented{display:flex;gap:3px;padding:5px;border-radius:17px;background:#a7b3d31c;border:1px solid #ffffff80;box-shadow:inset 0 1px 4px #6b769a0c}.segmented button{font-size:12px;font-weight:650;padding:10px 19px;border-radius:12px;color:var(--muted)}.segmented .active{background:#ffffffb8;color:var(--purple);box-shadow:0 2px 7px #52638512,inset 0 1px 0 white}.local-status{font-size:11px;color:#68867d}.glass{position:relative;background:linear-gradient(125deg,rgba(255,255,255,.62),rgba(255,255,255,.22) 48%,rgba(255,255,255,.39));border:1px solid rgba(255,255,255,.78);border-radius:28px;backdrop-filter:blur(30px) saturate(165%);-webkit-backdrop-filter:blur(30px) saturate(165%);box-shadow:inset 0 1.5px 1px #ffffffef,inset 1px 0 1px #ffffff80,inset 0 -1px 1px #ffffffa0,0 12px 35px #56658a0c,0 2px 5px #7180a808}.glass:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(130deg,#ffffff30,transparent 35%,transparent 70%,#ffffff20)}.hero{padding:27px 30px 0;overflow:hidden}.heading{display:flex;align-items:center;gap:13px}.heading h2{font-size:21px;margin:0;letter-spacing:-.6px}.heading p{font-size:12px;color:var(--muted);margin:6px 0 0}.bubble{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;font-size:24px;flex-shrink:0;box-shadow:inset 0 1px 0 #ffffff8a}.purple{background:#dfcff26b;color:var(--purple)}.green{background:#b7e6d24f;color:var(--green)}.pink{background:#f6c6d54f;color:var(--pink)}.blue{background:#c2d9ff6b;color:var(--blue)}.badge{margin-left:auto;font-size:9px;letter-spacing:.13em;font-weight:750;color:#8a78a8;background:#ffffff45;border:1px solid #ffffffa0;padding:8px 12px;border-radius:20px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:29px 0 23px}.metric{display:flex;gap:12px;align-items:center;text-align:left;padding:8px 22px;border-right:1px solid var(--line);min-width:0}.metric:first-child{padding-left:0}.metric:last-child{border:0;padding-right:0}.metric .bubble{width:36px;height:36px;border-radius:50%;font-size:20px}.metric small{display:block;font-size:11px;color:var(--muted);white-space:nowrap;margin-bottom:7px}.metric strong{display:block;font-size:26px;letter-spacing:-.8px}.green-text{color:var(--green)}.pink-text{color:var(--pink)}.blue-text{color:var(--blue)}.edit{color:var(--purple)}.hero-foot{border-top:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between;font-size:11px;color:var(--muted);gap:16px}.hero-foot select{border:0;background:none;color:var(--text);font-size:11px;font-weight:650}.columns{display:grid;grid-template-columns:1.55fr 1fr;gap:27px}.section-heading{display:flex;align-items:center;justify-content:space-between;padding:31px 3px 17px}.section-heading h2{font-size:23px;letter-spacing:-.8px;margin:0}.section-heading p{font-size:12px;color:var(--muted);margin:6px 0 0}.text-button{color:var(--purple);font-size:12px;font-weight:650;padding:8px 0 8px 8px}.expense-card{padding:8px 23px}.table-head{display:flex;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--muted);padding:18px 0 13px;border-bottom:1px solid var(--line)}.expense-row{display:flex;align-items:center;width:100%;gap:12px;padding:17px 0;border-bottom:1px solid var(--line);text-align:left}.expense-row:hover{background:#ffffff28}.expense-row .bubble{width:37px;height:37px;border-radius:13px;font-size:18px}.expense-copy{flex:1}.expense-copy strong{display:block;font-size:13px;font-weight:650}.expense-copy small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.expense-number{text-align:right;font-size:14px;font-weight:700;letter-spacing:-.2px}.expense-number small{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-top:5px}.chevron{color:#9b9bb1;font-size:16px;margin-left:5px}.total{display:flex;justify-content:space-between;padding:22px 0;font-size:13px}.total strong{font-size:18px;letter-spacing:-.5px}.allocation{padding:23px}.heading h3{font-size:15px;margin:0;letter-spacing:-.3px}.allocation .bubble{height:35px;width:35px;font-size:22px;border-radius:12px}.ring{height:146px;width:146px;margin:24px auto;display:grid;place-items:center;border-radius:50%;position:relative;box-shadow:0 5px 12px #6b69a312}.ring:before{content:"";position:absolute;inset:15px;border-radius:50%;background:#eef0f9;box-shadow:inset 0 2px 6px #46598108,0 1px 2px #ffffff8f}.ring>div{z-index:1;text-align:center}.ring strong{display:block;font-size:25px;letter-spacing:-1px}.ring small{color:var(--muted);font-size:10px}.legend-row{display:flex;align-items:center;font-size:11px;padding:8px 0}.dot{width:7px;height:7px;border-radius:50%;margin-right:9px}.legend-row strong{margin-left:auto;font-size:12px}.savings{margin-top:18px;padding:23px}.savings .bubble{width:35px;height:35px;border-radius:12px;font-size:22px}.savings .heading p{font-size:10px}.edit-goal{margin-left:auto;color:var(--purple);padding:7px}.goal-line{display:flex;justify-content:space-between;font-size:12px;margin-top:24px}.goal-line span{color:var(--blue);font-weight:650}.progress{height:7px;background:#768bb91a;border-radius:9px;margin:12px 0;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#9a91ee,#6b98eb);border-radius:inherit}.goal-amounts{display:flex;align-items:center;justify-content:space-between;font-size:11px}.goal-amounts span{color:var(--muted)}.secondary{width:100%;border-radius:12px;border:1px solid #ffffffb0;background:#ffffff40;color:var(--blue);padding:11px;margin-top:20px;font-size:11px;font-weight:650;box-shadow:inset 0 1px 0 #ffffffb0}.goal-note{font-size:10px;color:var(--muted);text-align:center;margin:12px 0 0}.privacy{display:flex;gap:10px;align-items:center;color:var(--muted);padding:14px 10px}.privacy p{font-size:10px;line-height:1.7;max-width:390px}.privacy>span{font-size:22px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);margin-top:30px;padding-top:22px;color:var(--muted);font-size:10px}footer button{font-size:10px;color:var(--muted);padding:8px}dialog{max-width:440px;width:calc(100% - 32px);border:1px solid #ffffffdc;border-radius:28px;padding:26px;background:#f1f4fbee;color:var(--text);box-shadow:0 30px 100px #1a23483d;backdrop-filter:blur(35px)}dialog::backdrop{background:#25315245;backdrop-filter:blur(8px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-head h2{font-size:24px;margin:0;letter-spacing:-.7px}.close{width:33px;height:33px;font-size:22px}label{display:block;font-size:12px;color:var(--muted);margin:16px 0}input,form select{display:block;width:100%;border:1px solid #a7b1c644;border-radius:12px;padding:12px;background:#ffffff77;color:var(--text);margin-top:8px}input:focus{outline:2px solid #ad8cec}.dialog-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:24px}.primary{background:linear-gradient(135deg,#8754de,#6176dc);color:white;padding:12px 20px;border-radius:12px;font-size:12px;font-weight:650}.danger{font-size:11px;color:var(--pink);margin-right:auto}.form-error{font-size:12px;color:var(--pink)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 22px;border-radius:16px;background:#253052;color:white;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:5}#toast.visible{opacity:1}.dark{--text:#eff2fc;--muted:#b0bad1;--line:#c2cbed22;--green:#6addac;--pink:#ff8eb5;--blue:#95bcff;--purple:#c4a0ff;background:#192237}.dark .ambient{background:linear-gradient(130deg,#19273f,#29213b 55%,#193b3e)}.dark .ambient i{opacity:.1}.dark .glass{background:linear-gradient(125deg,#ffffff18,#ffffff06 48%,#ffffff0f);border-color:#ffffff24;box-shadow:inset 0 1px 0 #ffffff3b,0 12px 35px #00000012}.dark .icon-button,.dark .segmented .active{background:#ffffff16;box-shadow:none;border-color:#ffffff24}.dark .ring:before{background:#2c3148}.dark dialog{background:#222d43ee}.dark input,.dark form select{background:#ffffff0b}.dark .badge,.dark .secondary{border-color:#ffffff22;background:#ffffff0b}.dark .hero-foot select option{background:#222d43}@media(min-width:1300px){.shell{padding-top:60px}}@media(max-width:1000px){.metric{padding:5px 15px;gap:9px}.metric .bubble{display:none}.metric strong{font-size:24px}.columns{gap:20px;grid-template-columns:1.4fr 1fr}}@media(max-width:700px){.shell{padding:30px 18px 24px}h1{font-size:46px}header{margin-bottom:24px}.subtitle{font-size:12px}.local-status{font-size:9px}.segmented button{padding:9px 12px;font-size:10px}.hero{padding:22px 21px 0}.badge{display:none}.heading h2{font-size:19px}.heading p{font-size:11px}.metrics{grid-template-columns:1fr 1fr;margin:20px 0 14px}.metric{padding:18px 12px;border-bottom:1px solid var(--line)}.metric:nth-child(2){border-right:0}.metric:nth-child(3){padding-left:0;border-bottom:0}.metric:nth-child(4){border-bottom:0}.metric .bubble{display:grid;width:31px;height:31px}.metric strong{font-size:22px}.metric small{font-size:10px}.hero-foot{font-size:9px;line-height:1.5}.columns{display:block}.section-heading{padding-top:26px}.section-heading h2{font-size:22px}.allocation{display:grid;grid-template-columns:1fr 1fr;align-items:center}.allocation .heading{grid-column:1/-1}.ring{width:130px;height:130px;margin:24px auto 0}.legend{padding:20px 0 0 12px}.legend-row{font-size:10px}.legend-row strong{font-size:10px}.savings{margin-top:16px}footer{flex-direction:column;gap:9px;margin-top:25px}.expense-card{padding-left:20px;padding-right:20px}.privacy p{font-size:10px}}@media(prefers-reduced-transparency:reduce){.glass{background:#f5f7fc}.dark .glass{background:#263047}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(max-width:370px){.metric .bubble{display:none}.local-status{max-width:65px}.hero-foot{flex-direction:column;gap:5px}}
