:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;--page:#07111f;--page-deep:#050b14;--surface:#0d1726;--surface-soft:#ffffff0e;--border:#d6dbff24;--text:#f7f7fb;--text-soft:#aeb8ca;--purple:#b59cff;--purple-bright:#c7b5ff;--purple-deep:#7059c8;--danger:#ffb4b4;--success:#b9ebca;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--page);min-width:320px;min-height:100%}body{background:var(--page);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.auth-layout{background:var(--page);grid-template-columns:minmax(0,1.38fr) minmax(390px,.78fr);min-height:100svh;display:grid;overflow:hidden}.story-panel{isolation:isolate;background:#07111f;min-height:100svh;position:relative;overflow:hidden}.story-picture,.story-picture img,.story-shade{width:100%;height:100%;position:absolute;inset:0}.story-picture img{object-fit:cover;object-position:61% center}.story-shade{z-index:1;background:linear-gradient(90deg,#050c17f0 0%,#060e1ac7 42%,#060e1a0d 82%),linear-gradient(#050b145c 0%,#0000 56%,#050a13bd 100%)}.story-content{z-index:2;flex-direction:column;width:min(100%,820px);min-height:100svh;padding:clamp(32px,6vh,68px) clamp(28px,6vw,88px) clamp(26px,5vh,54px);display:flex;position:relative}.brand{color:var(--text);letter-spacing:-.035em;align-self:flex-start;align-items:center;gap:12px;font-size:clamp(1.22rem,1.8vw,1.55rem);font-weight:800;text-decoration:none;display:inline-flex}.brand svg{width:27px;height:27px;color:var(--purple);filter:drop-shadow(0 3px 12px #9175eb47)}.story-copy{margin-top:clamp(68px,14vh,138px)}.eyebrow,.form-eyebrow{color:var(--purple-bright);letter-spacing:.015em;margin:0 0 12px;font-size:.92rem;font-weight:750}.story-copy h1{letter-spacing:-.062em;text-wrap:balance;text-shadow:0 4px 28px #00000047;max-width:660px;margin:0;font-size:clamp(2.85rem,5.15vw,5.7rem);font-weight:800;line-height:.98}.story-description{color:#bec8da;text-shadow:0 2px 12px #0009;margin:24px 0 0;font-size:clamp(1rem,1.45vw,1.2rem);line-height:1.55}.benefits{grid-template-columns:repeat(3,minmax(90px,138px));gap:clamp(20px,4vw,54px);margin:clamp(38px,6vh,68px) 0 0;padding:0;list-style:none;display:grid}.benefits li{color:#c7cfe0;flex-direction:column;gap:12px;font-size:.79rem;line-height:1.25;display:flex}.benefit-icon{width:48px;height:48px;color:var(--purple-bright);background:linear-gradient(145deg,#a68bff40,#54489630);border:1px solid #bdaaff1a;border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff14,0 10px 26px #00000029}.benefit-icon svg{width:21px;height:21px}blockquote{color:#aab5c9;margin:auto 0 0;font-size:.92rem;font-style:normal;line-height:1.5}.form-panel{background:linear-gradient(145deg, #101929f5, #050b14fc), var(--page-deep);border-left:1px solid #ffffff0a;place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.form-ambient{filter:blur(4px);pointer-events:none;border-radius:999px;position:absolute}.form-ambient-top{background:#7e5ec31f;width:360px;height:360px;top:-170px;right:-130px}.form-ambient-bottom{background:#d27f5c12;width:390px;height:390px;bottom:-180px;left:-160px}.auth-card{z-index:1;width:min(100%,460px);padding:clamp(34px,5vw,58px);position:relative}.back-button{color:var(--text-soft);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin:0 0 42px;padding:0;font-size:.84rem;display:inline-flex}.back-button svg{width:17px}.form-eyebrow{letter-spacing:.16em;font-size:.74rem}.auth-card h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.15rem,3.2vw,3.35rem);line-height:1.02}.form-intro{color:var(--text-soft);margin:18px 0 40px;font-size:.96rem;line-height:1.6}.auth-card form{flex-direction:column;display:flex}.auth-card label,.label-row,.field-label{color:#dce1eb;font-size:.82rem;font-weight:650}.label-row{justify-content:space-between;align-items:center;margin-top:22px;display:flex}.auth-card form>label:not(:first-child),.field-label{margin-top:22px}.field-shell{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;align-items:center;gap:12px;min-height:56px;margin-top:9px;padding:0 16px;transition:border-color .16s,box-shadow .16s,background .16s;display:flex}.field-shell:focus-within{background:#ffffff13;border-color:#bea9ffa3;box-shadow:0 0 0 4px #a78bfa1a}.field-shell>svg{color:#8e99ac;flex:none;width:19px}.field-shell input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.field-shell input::placeholder{color:#778397}.text-button,.password-toggle{cursor:pointer;background:0 0;border:0}.text-button{color:var(--purple-bright);padding:4px 0 4px 12px;font-size:.75rem}.password-toggle{color:#9aa5b7;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;display:grid}.password-toggle:hover{background:#ffffff0f}.password-toggle svg{width:19px}.form-feedback{border-radius:11px;margin:18px 0 0;padding:11px 13px;font-size:.82rem;line-height:1.4}.form-error{color:var(--danger);background:#99313824;border:1px solid #ff969629}.form-success{color:var(--success);background:#3b825624;border:1px solid #82daa024}.submit-button{color:#120e20;cursor:pointer;background:linear-gradient(135deg,#b7a0ff,#9178ea);border:0;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;min-height:58px;margin-top:28px;padding:0 19px 0 22px;font-weight:800;transition:transform .16s,box-shadow .16s,opacity .16s;display:flex;box-shadow:0 16px 36px #7059c842,inset 0 1px #ffffff61}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 19px 42px #7059c857,inset 0 1px #ffffff6b}.submit-button:disabled{cursor:wait;opacity:.72}.submit-button svg{width:20px}.privacy-note{color:#778397;text-align:center;margin:26px 0 0;font-size:.72rem;line-height:1.5}.auth-switch{color:var(--text-soft);text-align:center;margin:24px 0 0;font-size:.79rem}.auth-switch .text-button{font-size:inherit;padding:4px 0;font-weight:750}:focus-visible{outline-offset:3px;outline:3px solid #c7b5ffe6}@media (width<=1080px){.auth-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr)}.story-content{padding-inline:40px}.benefits{gap:18px}}@media (width<=760px){.auth-layout{display:block;overflow:visible}.story-panel,.story-content{min-height:max(485px,100svh)}.story-picture img{object-position:center}.story-shade{background:linear-gradient(90deg,#050c17e8 0%,#060e1aa3 61%,#060e1a0f 100%),linear-gradient(#050b1445 0%,#0000 52%,#050a13cc 100%)}.story-content{width:100%;padding:max(28px, env(safe-area-inset-top)) 22px max(18px, env(safe-area-inset-bottom))}.brand{gap:10px;font-size:1.27rem}.brand svg{width:24px;height:24px}.story-copy{margin-top:clamp(40px,8.5vh,76px)}.eyebrow{margin-bottom:10px;font-size:.83rem}.story-copy h1{letter-spacing:-.055em;max-width:310px;font-size:clamp(2rem,10.2vw,2.75rem);line-height:1.02}.story-description{max-width:280px;margin-top:14px;font-size:clamp(.77rem,3.5vw,.95rem);line-height:1.48}.benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:clamp(26px,6vh,48px)}.benefits li{gap:8px;font-size:clamp(.59rem,2.7vw,.73rem)}.benefit-icon{width:42px;height:42px}.benefit-icon svg{width:19px}blockquote{max-width:270px;font-size:clamp(.7rem,3vw,.84rem)}.form-panel{border-top:1px solid #ffffff0d;border-left:0;min-height:100svh}.auth-card{padding:max(62px, 10vh) 24px max(42px, env(safe-area-inset-bottom))}}@media (height<=650px) and (width>=761px){.story-content{padding-block:26px}.story-copy{margin-top:44px}.benefits{margin-top:30px}.auth-card{padding-block:28px}.form-intro{margin-bottom:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:.01ms}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.app-shell{background:radial-gradient(circle at 88% 0,#6b55b81a,#0000 28%),linear-gradient(135deg,#081321,#09111d 56%,#0c1424);grid-template-columns:236px minmax(0,1fr);min-height:100svh;display:grid}.app-sidebar{z-index:10;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#060f1beb;border-right:1px solid #bbcae61f;flex-direction:column;height:100svh;padding:30px 16px 20px;display:flex;position:sticky;top:0;box-shadow:18px 0 50px #02070f1f}.shell-brand{color:var(--text);letter-spacing:-.04em;align-items:center;gap:12px;font-size:1.28rem;font-weight:850;text-decoration:none;display:inline-flex}.shell-brand>svg{width:25px;color:var(--purple);filter:drop-shadow(0 4px 12px #b59cff4d)}.app-sidebar nav{margin-top:52px}.app-sidebar ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.app-sidebar nav a{color:#9da9bc;border:1px solid #0000;border-radius:12px;align-items:center;gap:14px;min-height:48px;padding:0 14px;font-size:.86rem;font-weight:650;text-decoration:none;transition:all .15s;display:flex}.app-sidebar nav a:hover,.app-sidebar nav a.active{color:#f3efff;background:linear-gradient(90deg,#ab95f129,#ffffff0b);border-color:#c2b2ff14}.app-sidebar nav a.active{box-shadow:inset 3px 0 var(--purple)}.app-sidebar nav svg{color:#8e9caf;width:19px;height:19px}.app-sidebar nav a.active svg{color:var(--purple-bright)}.sidebar-profile{border-top:1px solid #bbcae61a;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin-top:auto;padding:18px 5px 0;display:grid}.avatar{color:#171126;background:linear-gradient(145deg,#d6c8ff,#7864bc);border:2px solid #c7b5ff7a;border-radius:50%;place-items:center;width:37px;height:37px;font-size:.82rem;font-weight:850;display:grid}.profile-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-copy strong{color:#ebedf3;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.profile-copy small{color:#768296;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.sidebar-profile button,.icon-button{cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.sidebar-profile button{color:#7f8a9b;border-radius:9px;width:36px;height:36px}.sidebar-profile button:hover{color:#e5e8f0;background:#ffffff0d}.sidebar-profile svg{width:17px}.dashboard-main{min-width:0}.dashboard-toolbar{border-bottom:1px solid #bbcae612;align-items:center;gap:16px;height:86px;padding:0 clamp(24px,4vw,64px);display:flex}.dashboard-search{background:#0f1a2b80;border:1px solid #bbcae629;border-radius:11px;align-items:center;gap:11px;width:min(440px,46vw);height:46px;padding:0 15px;display:flex}.dashboard-search:focus-within{border-color:#bea9ff8f;box-shadow:0 0 0 4px #a78bfa14}.dashboard-search svg{color:#7f8aa0;width:19px}.dashboard-search input{width:100%;color:var(--text);background:0 0;border:0;outline:0}.dashboard-search input::placeholder{color:#69768b}.add-button{color:#171023;cursor:pointer;background:linear-gradient(135deg,#d0bfff,#a78cf5);border:0;border-radius:11px;align-items:center;gap:8px;height:46px;margin-left:auto;padding:0 20px;font-size:.82rem;font-weight:800;display:inline-flex;box-shadow:0 10px 30px #775dca38}.add-button svg{width:18px}.icon-button{color:#c7cfdb;border-radius:10px;width:44px;height:44px}.icon-button:hover{background:#ffffff0e}.icon-button svg{width:19px}.dashboard-content{width:min(100%,1420px);margin:0 auto;padding:34px clamp(24px,4vw,64px) 54px}.dashboard-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.dashboard-kicker{color:#a991f0;letter-spacing:.15em;text-transform:uppercase;margin:0 0 8px;font-size:.69rem;font-weight:800}.dashboard-heading h1{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,3.1vw,3.05rem);line-height:1}.dashboard-heading>div>p:last-child{color:#8f9bad;margin:9px 0 0;font-size:.91rem}.dashboard-date{color:#858fa2;flex-direction:column;align-items:flex-end;gap:5px;font-size:.76rem;display:flex}.dashboard-date strong{color:#aeb7c7;font-weight:600}.dashboard-date span{font-size:.68rem}.summary-grid{grid-template-columns:1.05fr 1.1fr 1fr .88fr;gap:18px;margin-top:32px;display:grid}.summary-card{background:linear-gradient(145deg,#1b2a3ec7,#111c2edb),#101b2b;border:1px solid #b5c7e61f;border-radius:14px;min-height:208px;padding:22px;position:relative;overflow:hidden;box-shadow:0 14px 45px #00000021,inset 0 1px #ffffff06}.summary-card:after{content:"";filter:blur(8px);background:#8b71dc14;border-radius:50%;width:170px;height:170px;position:absolute;bottom:-90px;right:-60px}.card-label{color:#aeb9ca;justify-content:space-between;align-items:center;font-size:.78rem;display:flex}.card-label svg{color:#8491a5;width:18px}.summary-card>strong{color:#f2effa;letter-spacing:-.035em;margin-top:10px;font-size:clamp(1.25rem,2vw,1.62rem);display:block}.summary-card p{color:#8e9aaf;font-size:.7rem;line-height:1.4}.spending-card>p{color:#be9bdf;align-items:center;gap:5px;display:flex}.spending-card>p svg{width:13px}.mini-chart{border-bottom:1px solid #b69eff38;align-items:flex-end;gap:5px;height:50px;margin-top:14px;display:flex}.mini-chart span{background:linear-gradient(#b7a0ffb3,#6852b429);border-radius:5px 5px 0 0;width:20%}.mini-chart span:first-child{height:22%}.mini-chart span:nth-child(2){height:44%}.mini-chart span:nth-child(3){height:31%}.mini-chart span:nth-child(4){height:58%}.mini-chart span:nth-child(5){height:82%}.progress-track{background:#ffffff12;border-radius:999px;height:8px;margin-top:31px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#70d7a2,#9ee5bd);width:18%;height:100%;display:block;box-shadow:0 0 18px #70d7a252}.tasks-card ul{color:#9da8ba;flex-direction:column;gap:9px;margin:17px 0 0;padding:0;font-size:.72rem;list-style:none;display:flex}.tasks-card li{align-items:center;gap:8px;display:flex}.tasks-card li svg,.empty-check{border:1px solid #5f6b7f;border-radius:5px;flex:none;width:15px;height:15px}.tasks-card li svg{color:var(--purple-bright);border-color:#0000}.weather-card{text-align:left;justify-content:center;align-items:center;gap:16px;display:flex}.weather-card>svg{color:#f4c86d;filter:drop-shadow(0 7px 22px #efbb4c42);width:52px;height:52px}.weather-card>div strong{margin:0;font-size:1.05rem}.weather-card p{max-width:110px;margin-bottom:0}.dashboard-quote{color:#ac96c1;text-align:right;margin:28px 4px 25px;font-family:Georgia,serif;font-size:.89rem;font-style:italic}.section-title-row{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.section-title-row h2{margin:0;font-size:1.05rem}.section-title-row span{color:#717e92;font-size:.72rem}.quick-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:14px;display:grid}.quick-card{min-height:176px;color:var(--quick-color);text-align:center;background:linear-gradient(145deg,#1a2b3ecc,#111d2ee6);border:1px solid #b5c7e61f;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:20px 16px;text-decoration:none;transition:transform .16s,border-color .16s;display:flex}.quick-card:hover{border-color:color-mix(in srgb, var(--quick-color) 40%, transparent);transform:translateY(-3px)}.quick-icon{background:color-mix(in srgb, var(--quick-color) 12%, transparent);border-radius:12px;place-items:center;width:44px;height:44px;margin-bottom:13px;display:grid}.quick-icon svg{width:25px}.quick-card strong{font-size:.82rem}.quick-card p{color:#8592a6;margin:8px 0 0;font-size:.66rem;line-height:1.45}.quick-mint{--quick-color:#75dda8}.quick-blue{--quick-color:#83c9ff}.quick-cyan{--quick-color:#8fdbef}.quick-pink{--quick-color:#e69adf}.quick-purple{--quick-color:#c0a8ff}.welcome-page{min-height:100svh;padding:max(26px, env(safe-area-inset-top)) clamp(24px, 5vw, 72px) max(22px, env(safe-area-inset-bottom));background:radial-gradient(circle at 15% 15%,#977ce524,#0000 28%),radial-gradient(circle at 85% 80%,#de7e8b14,#0000 27%),linear-gradient(145deg,#07111f,#0a1422 62%,#11172a);flex-direction:column;display:flex;position:relative;overflow:hidden}.welcome-orb{pointer-events:none;filter:blur(2px);border-radius:50%;position:absolute}.welcome-orb-one{background:#7e5ec317;width:480px;height:480px;top:-180px;right:-100px}.welcome-orb-two{background:#5d9db712;width:430px;height:430px;bottom:-220px;left:-110px}.welcome-header{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.welcome-profile{color:#d6dbe5;cursor:pointer;background:#131f3194;border:1px solid #bbcae61a;border-radius:999px;align-items:center;gap:10px;padding:5px 11px 5px 5px;font-size:.76rem;display:inline-flex}.welcome-profile .avatar{width:32px;height:32px}.welcome-profile>svg{color:#7d899a;width:15px}.welcome-card{z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#17263ac7,#0c1727d1),#0b1625db;border:1px solid #becce51a;border-radius:26px;grid-template-columns:minmax(290px,.78fr) minmax(390px,1.05fr);align-items:center;gap:clamp(38px,7vw,92px);width:min(100%,1050px);margin:auto;padding:clamp(42px,6vw,78px);display:grid;position:relative;box-shadow:0 34px 100px #00000042,inset 0 1px #ffffff09}.welcome-visual{aspect-ratio:1;background:radial-gradient(circle at 46% 44%,#bca6ff38,#0000 31%),linear-gradient(145deg,#7860c11f,#4785a00d);border:1px solid #b8a0ff21;border-radius:42% 58% 52% 48%;place-items:center;width:min(100%,320px);margin:auto;animation:7s ease-in-out infinite welcome-float;display:grid;position:relative}.welcome-visual>svg{z-index:2;color:#b9a1ff;filter:drop-shadow(0 18px 32px #674dbb59);width:114px;height:114px;position:relative}.home-glow{filter:blur(20px);background:#a98ef324;border-radius:50%;width:160px;height:160px;position:absolute}.member-dot{z-index:3;color:#d1c1ff;background:#1b2840;border:1px solid #d6cbff3d;border-radius:50%;place-items:center;width:45px;height:45px;display:grid;position:absolute;box-shadow:0 12px 30px #00000040}.member-dot svg{width:20px}.member-one{top:15%;right:6%}.member-two{color:#efc581;bottom:16%;right:2%}.member-three{color:#82dbad;bottom:6%;left:11%}.welcome-copy h1{letter-spacing:-.065em;text-wrap:balance;max-width:560px;margin:0;font-size:clamp(2.3rem,4.6vw,4.25rem);line-height:.98}.welcome-lead{color:#9faabd;max-width:590px;margin:22px 0 30px;font-size:clamp(.9rem,1.4vw,1.04rem);line-height:1.65}.primary-action{color:#171024;cursor:pointer;background:linear-gradient(135deg,#c7b4ff,#9d83ed);border:0;border-radius:13px;justify-content:center;align-items:center;gap:11px;min-height:56px;padding:0 21px;font-weight:850;transition:transform .16s,box-shadow .16s;display:inline-flex;box-shadow:0 15px 38px #6d54c145,inset 0 1px #fff6}.primary-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 19px 44px #6d54c15c,inset 0 1px #ffffff6b}.primary-action:disabled{cursor:wait;opacity:.7}.primary-action svg{width:19px}.primary-action svg:last-child{margin-left:7px}.compact-action{white-space:nowrap;min-height:48px}.household-form{max-width:620px}.household-form>label{color:#dce1eb;margin-bottom:10px;font-size:.82rem;font-weight:700;display:block}.household-name-row{align-items:stretch;gap:10px;display:flex}.household-name-row input{width:100%;min-width:0;color:var(--text);background:#ffffff0b;border:1px solid #bec9de29;border-radius:13px;outline:0;padding:0 16px}.household-name-row input:focus{border-color:#bea9ff9e;box-shadow:0 0 0 4px #a78bfa17}.household-name-row input::placeholder{color:#6e7a8f}.welcome-promises{color:#8390a3;flex-wrap:wrap;gap:9px 18px;margin:30px 0 0;padding:0;font-size:.7rem;list-style:none;display:flex}.welcome-promises li{align-items:center;gap:6px;display:flex}.welcome-promises svg{color:#79d5a5;width:14px}.welcome-quote{z-index:1;color:#7d8798;text-align:center;margin:0;font-family:Georgia,serif;font-size:.78rem;font-style:italic;position:relative}.app-loading{background:var(--page);color:#9da9ba;text-align:center;place-content:center;gap:18px;min-height:100svh;display:grid}.loading-mark{border:3px solid #b8a4f52e;border-top-color:var(--purple);border-radius:50%;width:42px;height:42px;margin:0 auto;animation:.9s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes welcome-float{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-10px)rotate(1deg)}}.finance-main{min-width:0;padding:26px clamp(22px,3vw,48px) 44px;overflow:hidden}.finance-header{justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.finance-title-block{min-width:260px}.finance-title-block h1{letter-spacing:-.055em;margin:2px 0 4px;font-size:clamp(2rem,3vw,3.1rem);line-height:1}.finance-title-block>p:last-child{color:#9ca8bc;margin:0;font-size:.88rem}.finance-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.finance-search,.month-picker{color:#93a0b5;background:#0812218f;border:1px solid #bbcae62e;border-radius:10px;align-items:center;gap:9px;height:43px;padding:0 13px;display:flex}.finance-search{width:min(290px,24vw)}.finance-search:focus-within,.month-picker:focus-within{border-color:#bea9ff8f;box-shadow:0 0 0 4px #a78bfa14}.finance-search svg,.month-picker svg{flex:none;width:17px}.finance-search input,.month-picker input{color:#dce2ec;background:0 0;border:0;outline:0;min-width:0;font-size:.77rem}.finance-search input{width:100%}.finance-search input::placeholder{color:#707e94}.month-picker input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;width:138px}.finance-add{white-space:nowrap;border-radius:10px;min-height:43px;padding-inline:17px;font-size:.78rem}.secondary-action{color:#d8ccff;cursor:pointer;white-space:nowrap;background:#ab8bff14;border:1px solid #bea9ff47;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:0 16px;font-size:.78rem;font-weight:800;display:inline-flex}.secondary-action:hover{background:#ab8bff24;border-color:#bea9ff7a}.secondary-action svg,.finance-import svg{width:17px}.finance-tabs{border-bottom:1px solid #bbcae626;align-items:end;gap:10px;margin-top:17px;display:flex}.finance-tabs button{color:#a8b1c3;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;min-width:105px;min-height:42px;font-size:.79rem;font-weight:700}.finance-tabs button:hover,.finance-tabs button.active{color:#f3efff}.finance-tabs button.active{background:linear-gradient(#0000,#a88bfa1a);border-bottom-color:#b997ff}.finance-tabs>span{color:#aa91d4;margin:0 12px 14px auto;font-family:Georgia,serif;font-size:.76rem;font-style:italic}.finance-loading,.finance-error{border:1px solid var(--border);color:#aeb9ca;background:#101b2cb3;border-radius:14px;justify-content:center;align-items:center;min-height:150px;margin-top:18px;display:flex}.finance-error{min-height:auto;color:var(--danger);justify-content:space-between;padding:15px 18px}.finance-error button,.finance-panel-heading button{color:var(--purple-bright);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;font-size:.75rem;font-weight:800;text-decoration:underline}.finance-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.finance-stat,.finance-panel{background:radial-gradient(circle at 100% 0,#8471ca17,#0000 43%),linear-gradient(145deg,#19253adb,#0d192ad9);border:1px solid #aabcde33;box-shadow:inset 0 1px #ffffff06}.finance-stat{border-radius:13px;align-items:center;gap:16px;min-height:115px;padding:17px;display:flex}.finance-stat-icon{border-radius:50%;flex:none;place-items:center;width:52px;height:52px;display:grid}.finance-stat-icon svg{width:25px}.finance-stat-green .finance-stat-icon,.finance-stat-mint .finance-stat-icon{color:#64dfa0;background:#4cd09430}.finance-stat-rose .finance-stat-icon{color:#ff7094;background:#ff648c33}.finance-stat-purple .finance-stat-icon{color:#b79aff;background:#ab8bff33}.finance-stat>div{flex-direction:column;gap:3px;min-width:0;display:flex}.finance-stat span{color:#b8c0d0;font-size:.75rem}.finance-stat strong{color:#f8f8fc;letter-spacing:-.035em;white-space:nowrap;font-size:clamp(1.25rem,1.8vw,1.75rem)}.finance-stat small{color:#8c99ad;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.finance-chart-grid,.finance-detail-grid,.finance-budget-grid{gap:14px;margin-top:14px;display:grid}.finance-chart-grid{grid-template-columns:minmax(0,1.4fr) minmax(310px,.85fr)}.finance-detail-grid{grid-template-columns:minmax(340px,.85fr) minmax(0,1.25fr)}.finance-budget-grid{grid-template-columns:minmax(0,1fr) 210px}.finance-panel{border-radius:13px;min-width:0;padding:16px 18px}.finance-panel-heading,.finance-panel-heading>div{align-items:center;display:flex}.finance-panel-heading{justify-content:space-between;gap:12px;margin-bottom:14px}.finance-panel-heading>div{gap:11px;min-width:0}.finance-panel-heading svg{color:#b597ff;flex:none;width:20px}.finance-panel-heading h2,.finance-panel-heading p{margin:0}.finance-panel-heading h2{font-size:.94rem}.finance-panel-heading p{color:#7f8da2;margin-top:3px;font-size:.65rem}.chart-legend{color:#aab5c7;align-items:center;gap:18px;font-size:.67rem;display:flex}.chart-legend span:before{content:"";border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.income-legend:before{background:#69dda5}.expense-legend:before{background:#ad8bff}.bar-chart{background:repeating-linear-gradient(0deg,#0000 0 39px,#adbfdc14 39px 40px);border-bottom:1px solid #adbfdc21;justify-content:space-around;align-items:end;gap:14px;height:160px;padding:12px 14px 0;display:flex}.bar-month{color:#9aa7ba;text-align:center;flex-direction:column;flex:1;justify-content:end;gap:7px;min-width:38px;height:100%;display:flex}.bar-pair{justify-content:center;align-items:end;gap:3px;height:calc(100% - 24px);display:flex}.bar-pair span{border-radius:3px 3px 0 0;width:min(24%,24px);min-height:3px}.income-bar{background:linear-gradient(#72e0ac,#4dbd88)}.expense-bar{background:linear-gradient(#c2a6ff,#8d70e5)}.bar-month small{font-size:.66rem}.goal-panel{position:relative;overflow:hidden}.goal-panel:after{content:"";background:linear-gradient(145deg,#0000 22%,#9e82ef1f 23% 48%,#0000 49%);width:160px;height:110px;position:absolute;bottom:-35px;right:-35px;transform:rotate(-7deg)}.goal-panel>p{z-index:1;color:#aeb8c9;margin:0 0 9px;font-size:.77rem;position:relative}.goal-panel>p strong{color:#f7f8fb;margin-right:6px;font-size:1.65rem}.goal-progress,.budget-progress{background:#7d8faa30;border-radius:999px;overflow:hidden}.goal-progress{height:10px}.goal-progress span,.budget-progress span{border-radius:inherit;background:linear-gradient(90deg,#50d397,#73e2aa);height:100%;display:block}.goal-panel>small{color:#9da8ba;text-align:right;margin-top:5px;font-size:.65rem;display:block}.goal-message{z-index:1;background:#ffffff06;border:1px solid #afc1de21;border-radius:10px;align-items:center;gap:11px;margin-top:15px;padding:11px;display:flex;position:relative}.goal-message>svg{color:#67dc9f;width:22px}.goal-message strong{color:#6bdda3;font-size:.75rem}.goal-message p{color:#909db1;margin:3px 0 0;font-size:.65rem}.category-layout{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:20px;display:grid}.donut-chart{border-radius:50%;place-items:center;width:140px;height:140px;margin:auto;display:grid}.donut-chart:before{content:"";background:#101c2e;border-radius:50%;grid-area:1/1;width:84px;height:84px;box-shadow:0 0 18px #02071033}.donut-chart>span{z-index:1;text-align:center;flex-direction:column;grid-area:1/1;display:flex}.donut-chart strong{font-size:.88rem}.donut-chart small{color:#9ba8bb;font-size:.6rem}.category-layout ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.category-layout li{color:#aeb8c9;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.7rem;display:grid}.category-layout li strong{color:#dbe1eb}.category-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.movement-table-wrap{overflow-x:auto}.movement-table-wrap table{border-collapse:collapse;width:100%;font-size:.69rem}.movement-table-wrap th{color:#77859a;text-align:left;text-transform:uppercase;padding:0 9px 7px;font-size:.57rem}.movement-table-wrap td{color:#aab5c6;white-space:nowrap;border-top:1px solid #aec0dc17;padding:7px 9px}.movement-table-wrap td:first-child{color:#e4e8ef}.movement-table-wrap td:last-child{color:#ff809d;text-align:right;font-weight:800}.movement-symbol{color:#68dda5;background:#56d39b38;border-radius:7px;place-items:center;width:24px;height:24px;margin-right:9px;font-size:.65rem;font-weight:900;display:inline-grid}.budget-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;display:grid}.budget-row{color:#aab5c6;border-top:1px solid #adbfdc14;grid-template-columns:auto minmax(90px,1fr) auto minmax(90px,.85fr) 35px;align-items:center;gap:8px;padding:8px 0;font-size:.67rem;display:grid}.budget-row strong{color:#dce2eb;font-weight:650}.budget-progress{height:7px}.budget-row small{color:#71d9a3;text-align:right}.review-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.review-card>svg{color:#b797ff;width:30px}.review-card strong{margin-top:8px;font-size:.78rem}.review-card p{color:#8996aa;margin:7px 0 13px;font-size:.65rem}.review-card button{color:#171024;cursor:pointer;background:linear-gradient(135deg,#c7b4ff,#a487f3);border:0;border-radius:8px;width:100%;min-height:34px;font-size:.67rem;font-weight:850}.finance-empty{color:#8794a8;text-align:center;justify-content:center;align-items:center;gap:10px;display:flex}.finance-empty svg{color:#9b83df;width:24px}.finance-empty p{margin:0;font-size:.73rem}.compact-empty{min-height:116px}.focused-finance-section{margin-top:18px}.focused-finance-section .finance-panel{min-height:360px}.movement-dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#02070ec2;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.movement-dialog{background:linear-gradient(145deg,#142139,#0b1728);border:1px solid #c4b5f238;border-radius:20px;width:min(100%,500px);padding:30px;position:relative;box-shadow:0 28px 90px #00000075}.movement-dialog h2{margin:0 0 24px;font-size:1.7rem}.dialog-close{color:#9ca8ba;cursor:pointer;background:#ffffff0e;border:0;border-radius:10px;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:15px;right:15px}.dialog-close svg{width:18px}.movement-dialog form,.movement-dialog label{flex-direction:column;display:flex}.movement-dialog form{gap:17px}.movement-dialog label{color:#cdd4df;gap:8px;font-size:.76rem;font-weight:700}.movement-dialog input{color:#f1f3f7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#040c177a;border:1px solid #bbcae62b;border-radius:10px;outline:0;width:100%;height:48px;padding:0 13px}.movement-dialog input:focus{border-color:#bea9ff99;box-shadow:0 0 0 4px #a78bfa14}.movement-form-row{grid-template-columns:1fr 1fr;gap:13px;display:grid}.import-dialog{width:min(100%,820px);max-height:min(90svh,900px);overflow-y:auto}.import-select-form{width:min(100%,590px);margin-inline:auto}.import-intro,.import-privacy{color:#929fb2;text-align:center;margin:0;line-height:1.55}.import-intro{font-size:.84rem}.import-privacy{font-size:.65rem}.import-dropzone{color:#e8e2fa;cursor:pointer;text-align:center;background:radial-gradient(circle at 50% 0,#aa8efa21,#0000 60%),#050e1b4d;border:1px dashed #bea9ff6b;border-radius:16px;align-items:center;padding:30px 20px;transition:all .15s}.import-dropzone:hover{background-color:#ab8bff0f;border-color:#bea9ffb3}.import-dropzone>svg{color:#b69bff;width:38px;height:38px;margin-bottom:4px}.import-dropzone strong{font-size:.88rem}.import-dropzone span{color:#7f8da2;font-size:.67rem;font-weight:500}.selected-file,.import-file-heading,.import-file-heading>span{align-items:center;display:flex}.selected-file{color:#c9d0dc;gap:9px;margin:-5px 0 0;font-size:.72rem}.selected-file svg,.import-file-heading svg{color:#72dca7;width:18px}.selected-file small{color:#7e8ca1;margin-left:auto}.import-preview{gap:16px;display:grid}.import-file-heading{background:#ffffff06;border:1px solid #adbfdc1c;border-radius:10px;justify-content:space-between;gap:14px;padding:10px 12px}.import-file-heading>span{gap:9px;min-width:0}.import-file-heading strong{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.import-file-heading button{color:#baa5f6;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;font-size:.68rem;font-weight:750;display:inline-flex}.import-summary-grid{border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0;margin:0;padding:0;display:grid}.import-summary{background:#ffffff06;border:1px solid #adbfdc1f;border-radius:11px;flex-direction:column;justify-content:center;min-height:69px;padding:10px 13px;display:flex}.import-summary strong{font-size:1.25rem}.import-summary span{color:#8e9caf;font-size:.64rem}.import-summary-green strong{color:#69dda5}.import-summary-purple strong{color:#b49aff}.import-summary-blue strong{color:#74baff}.import-summary-rose strong{color:#ff7898}.import-table-wrap{border:1px solid #adbfdc1c;border-radius:11px;max-height:225px;overflow:auto}.import-table-wrap table{border-collapse:collapse;width:100%;font-size:.69rem}.import-table-wrap th{color:#8391a5;text-align:left;text-transform:uppercase;background:#152238;padding:9px 10px;font-size:.59rem;position:sticky;top:0}.import-table-wrap td{color:#b1bdcd;border-top:1px solid #adbfdc14;padding:9px 10px}.import-table-wrap td:nth-child(2){color:#e1e5ec;text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.import-status{border-radius:999px;padding:3px 7px;font-size:.58rem;font-weight:800;display:inline-flex}.import-status.new{color:#6be0a6;background:#55d49a24}.import-status.duplicate{color:#b9a2f7;background:#ad8bff24}.import-credits{background:#47b2800d;border:1px solid #69dda529;border-radius:12px;gap:11px;padding:14px;display:grid}.import-credits h3,.import-credits p{margin:0}.import-credits h3{font-size:.82rem}.import-credits p{color:#8795aa;margin-top:3px;font-size:.65rem}.credit-list{gap:7px;display:grid}.credit-list label{border-top:1px solid #adbfdc14;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding-top:7px;display:flex}.credit-list label>span{flex-direction:column;min-width:0;display:flex}.credit-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.credit-list small{color:#8290a5;font-size:.61rem}.credit-list select{color:#dbe0e9;background:#101d30;border:1px solid #adbfdc2b;border-radius:8px;outline:0;height:35px;padding-inline:9px;font-size:.67rem}.replace-income-option{cursor:pointer;background:#b59cff12;border-radius:9px;flex-direction:row;align-items:flex-start;gap:10px;padding:10px;display:flex}.replace-income-option input{accent-color:#ad8bff;flex:none;width:16px;height:16px}.replace-income-option span{flex-direction:column;gap:2px;display:flex}.replace-income-option strong{font-size:.68rem}.replace-income-option small{color:#8996a9;font-size:.6rem;font-weight:500;line-height:1.4}.import-issues{color:#ffb59e;background:#ff7b5c0d;border:1px solid #ff8c662b;border-radius:10px;align-items:flex-start;gap:10px;padding:11px;display:flex}.import-issues>svg{flex:none;width:19px}.import-issues strong,.import-issues p{font-size:.65rem}.import-issues p{color:#bd9a93;margin:4px 0 0}.import-dialog-actions{justify-content:flex-end;gap:10px;display:flex}.import-dialog-actions .primary-action{min-height:43px}.import-complete{text-align:center;flex-direction:column;align-items:center;padding-block:25px 10px;display:flex}.import-complete-icon{color:#6ce1a7;background:#56d59c29;border-radius:50%;place-items:center;width:68px;height:68px;margin-bottom:18px;display:grid}.import-complete-icon svg{width:34px;height:34px}.import-complete h2{margin-bottom:8px}.import-complete>p:not(.dashboard-kicker){color:#9aa7b9;margin:0 0 24px;font-size:.82rem}.import-complete>p strong{color:#e8ebf0}.food-main{background:radial-gradient(circle at 48% -10%,#725db41c,#0000 28%),radial-gradient(circle at 100% 15%,#2e727414,#0000 26%);min-width:0;min-height:100svh;padding:28px 30px 42px}.food-header,.food-actions,.food-tabs,.food-panel-heading,.food-panel-heading>div,.week-picker,.food-stat,.food-notice,.shopping-heading,.shopping-heading>div,.shopping-heading>div:last-child,.today-meal,.prepare-card>div,.tip-card,.shopping-empty{align-items:center;display:flex}.food-header{justify-content:space-between;gap:28px}.food-header h1{color:#f4f2f8;letter-spacing:-.045em;margin:2px 0 0;font-size:clamp(2rem,3vw,2.7rem)}.food-header .finance-title-block>p:last-child{color:#a99fc8;max-width:640px;margin:3px 0 0;font-size:.82rem}.food-actions{flex:auto;justify-content:flex-end;gap:12px}.food-actions .finance-search{width:min(32vw,320px)}.week-picker{color:#d6cfee;white-space:nowrap;background:#060f1d61;border:1px solid #bbcae62b;border-radius:10px;gap:9px;min-height:45px;padding:0 14px;font-size:.71rem;font-weight:700}.week-picker svg,.food-add svg{width:17px}.food-tabs{border-bottom:1px solid #b3c0da26;gap:8px;height:55px;margin-top:9px}.food-tabs button{color:#a7a2bd;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;height:100%;padding:0 18px;font-size:.72rem;font-weight:750}.food-tabs button.active{color:#eee7ff;background:linear-gradient(#0000,#ad8bff1f);border-color:#c495ff}.food-tabs>span{color:#aa8dd3;margin-left:auto;font-family:Georgia,serif;font-size:.78rem;font-style:italic}.food-notice{color:#8be3b4;background:#4cb27f12;border:1px solid #79deab33;border-radius:10px;gap:9px;margin-top:14px;padding:10px 13px;font-size:.7rem}.food-notice svg{width:16px}.food-notice button{color:#8ba39a;cursor:pointer;background:0 0;border:0;place-items:center;width:26px;height:26px;margin-left:auto;display:grid}.food-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:15px;display:grid}.food-stat{background:linear-gradient(145deg,#19273fe0,#0f1b2dd1);border:1px solid #b7c6e230;border-radius:13px;gap:15px;min-width:0;min-height:105px;padding:16px;box-shadow:0 16px 38px #02081117}.food-stat-icon{border-radius:50%;flex:none;place-items:center;width:52px;height:52px;display:grid}.food-stat-icon svg{width:24px}.food-stat-icon.mint{color:#62dfa4;background:#4ac7912e}.food-stat-icon.rose{color:#ff709b;background:#ee5b8933}.food-stat-icon.purple{color:#b697ff;background:#9d76f233}.food-stat>div{min-width:0}.food-stat small,.food-stat p{color:#a9a7c4}.food-stat small{font-size:.68rem;display:block}.food-stat strong{color:#f1eff7;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:1.35rem;display:block;overflow:hidden}.food-stat p{margin:2px 0 0;font-size:.66rem}.balance-stat .balance-ring{background:radial-gradient(circle, #14233a 57%, transparent 59%), conic-gradient(#60e6a6 var(--balance), #25334a 0);color:#e7f5ed;border-radius:50%;flex:none;place-items:center;width:58px;height:58px;margin-left:auto;font-size:.72rem;font-weight:800;display:grid}.food-workspace{grid-template-columns:minmax(0,3.1fr) minmax(260px,1fr);gap:13px;margin-top:14px;display:grid}.food-panel{background:linear-gradient(145deg,#132136eb,#0c1829e6);border:1px solid #b7c6e22e;border-radius:14px;min-width:0;box-shadow:0 18px 45px #02081114}.meal-calendar{padding:17px;overflow:hidden}.food-panel-heading{justify-content:space-between;gap:14px;margin-bottom:13px}.food-panel-heading>div:first-child{gap:10px;min-width:0}.food-panel-heading>div:first-child>svg{color:#b08bff;width:23px}.food-panel-heading h2,.food-panel-heading p,.shopping-heading h2,.shopping-heading p,.prepare-card h3,.prepare-card p,.tip-card h3,.tip-card p{margin:0}.food-panel-heading h2,.shopping-heading h2{color:#f1eef6;font-size:1rem}.food-panel-heading p,.shopping-heading p{color:#9896b4;margin-top:2px;font-size:.65rem}.week-controls{border:1px solid #bbcae62e;border-radius:9px;display:flex;overflow:hidden}.week-controls button{color:#d7d3e4;cursor:pointer;background:#07101d52;border:0;border-right:1px solid #bbcae624;place-items:center;min-width:38px;height:35px;padding:0 13px;font-size:.65rem;font-weight:750;display:grid}.week-controls button:last-child{border:0}.week-controls svg{width:15px}.meal-grid{grid-template-columns:78px repeat(7,minmax(92px,1fr));gap:6px;min-width:770px;display:grid}.meal-calendar:has(.meal-grid){overflow-x:auto}.meal-grid>strong{color:#c1bdd2;text-align:center;padding:6px 2px;font-size:.61rem}.meal-grid>strong.today{color:#cbaaff;background:#ac89ff1a;border-radius:7px}.meal-grid-row{grid-column:1/-1;grid-template-columns:78px repeat(7,minmax(92px,1fr));gap:6px;display:grid}.meal-row-label,.meal-cell{background:#26355073;border:1px solid #afbfde1c;border-radius:9px;min-height:88px}.meal-row-label{color:#c9a6ff;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:.61rem;font-weight:750;display:flex}.meal-row-label span{font-size:1.15rem}.meal-cell{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px 5px;display:flex}.meal-cell.filled{background:linear-gradient(145deg,#2c3a57bf,#1b2942bf)}.meal-cell.filled>span{filter:drop-shadow(0 5px 8px #0000003b);font-size:1.8rem}.meal-cell.filled>img{object-fit:contain;filter:drop-shadow(0 6px 9px #0000003d);width:45px;height:45px}.meal-cell strong{color:#ecebf3;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.59rem;line-height:1.25;display:-webkit-box;overflow:hidden}button.meal-cell.empty{color:#647087;cursor:pointer;border-style:dashed}button.meal-cell.empty:hover{color:#b69af4;background:#a67efc0f;border-color:#bc9eff59}.meal-cell.empty svg{width:19px}.meal-cell.empty small{font-size:.56rem}.food-aside{align-content:start;gap:13px;display:grid}.today-panel,.prepare-card,.tip-card{padding:15px}.today-panel .food-panel-heading em{color:#c49dff;background:#9d6fff1a;border:1px solid #b58eff40;border-radius:6px;padding:4px 7px;font-size:.59rem;font-style:normal;font-weight:800}.today-meal{background:#25334d61;border:1px solid #b1c1de1a;border-radius:8px;gap:9px;min-height:48px;margin-top:6px;padding:7px 9px}.today-meal>span{font-size:1.45rem}.today-meal>img{object-fit:contain;flex:none;width:35px;height:35px}.today-meal div{flex-direction:column;min-width:0;display:flex}.today-meal small{color:#a9a5c0;font-size:.55rem}.today-meal strong{color:#e6e3ed;text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;overflow:hidden}.today-meal time{color:#aaa5c3;margin-left:auto;font-size:.6rem}.food-empty-mini{color:#7c8aa0;text-align:center;padding:16px 8px 9px}.food-empty-mini svg{color:#806eae;width:30px}.food-empty-mini strong,.food-empty-mini p{margin:5px 0 0;font-size:.64rem;display:block}.food-empty-mini p{font-size:.58rem}.prepare-card{display:block}.prepare-card>div{gap:10px}.prepare-card svg,.tip-card>svg{color:#b18dff;flex:none;width:24px}.prepare-card h3,.tip-card h3{color:#ece9f4;font-size:.75rem}.prepare-card p,.tip-card p{color:#9694ae;margin-top:3px;font-size:.61rem;line-height:1.4}.prepare-card button{color:#101526;cursor:pointer;background:linear-gradient(135deg,#9f75ef,#c39aff);border:0;border-radius:7px;width:100%;min-height:34px;margin-top:10px;font-size:.63rem;font-weight:850}.tip-card{align-items:flex-start;gap:11px}.tip-card>svg{color:#f2c352}.shopping-board{margin-top:13px;padding:15px}.focused-food-section .shopping-board{min-height:490px}.shopping-heading{justify-content:space-between;gap:18px;margin-bottom:12px}.shopping-heading>div:first-child{gap:10px}.shopping-heading>div:first-child>svg{color:#ae89ff;width:25px}.shopping-heading>div:last-child{justify-content:flex-end;gap:8px}.shopping-heading>div:last-child>span{color:#bda4e7;background:#996ff812;border:1px solid #b189ff40;border-radius:8px;align-items:center;gap:7px;padding:8px 12px;font-size:.59rem;display:flex}.shopping-heading>div:last-child>span svg,.shopping-heading button svg{width:14px}.shopping-heading .primary-action,.shopping-heading .secondary-action{min-height:34px;padding-inline:13px;font-size:.61rem}.shopping-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.shopping-category{background:#142339ad;border:1px solid #b7c6e226;border-radius:10px;min-height:155px;overflow:hidden}.shopping-category header{justify-content:space-between;align-items:center;min-height:38px;padding:0 12px;font-size:.68rem;font-weight:800;display:flex}.shopping-category header em{color:#c7cbd5;background:#ffffff12;border-radius:999px;padding:3px 7px;font-size:.55rem;font-style:normal}.shopping-category.produce header{color:#62dda1;background:#44c58914}.shopping-category.dairy header{color:#8ca8ff;background:#6889ee14}.shopping-category.protein header{color:#ff83a6;background:#eb5b8814}.shopping-category.pantry header{color:#f3c168;background:#eeae4614}.shopping-category ul{margin:0;padding:5px 12px 10px;list-style:none}.shopping-category li{color:#c9ced8;border-bottom:1px solid #b5c5e112;justify-content:space-between;align-items:center;gap:6px;min-height:25px;font-size:.61rem;display:flex}.shopping-category label{cursor:pointer;align-items:center;gap:7px;min-width:0;display:flex}.shopping-category input{accent-color:#aa87fa;flex:none;width:14px;height:14px}.shopping-category input:checked+span{color:#697588;text-decoration:line-through}.shopping-category small{color:#778499;white-space:nowrap;font-size:.54rem}.category-empty{color:#637188;text-align:center;margin:28px 0;font-size:.58rem}.shopping-board footer{color:#78879b;align-items:center;gap:7px;margin-top:11px;font-size:.6rem;display:flex}.shopping-board footer svg{color:#5ed99d;width:15px}.shopping-empty{color:#738196;border:1px dashed #b3c2de2b;border-radius:11px;justify-content:center;gap:16px;min-height:145px}.shopping-empty>svg{color:#8c73c6;width:36px}.shopping-empty strong{color:#d7d8df;font-size:.77rem}.shopping-empty p{margin:3px 0 0;font-size:.62rem}.food-loading{color:#8b97a9;justify-content:center;align-items:center;gap:11px;min-height:430px;font-size:.76rem;display:flex}.food-loading span{border:2px solid #344158;border-top-color:#b594ff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.food-dialog select{color:#f1f3f7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#101d30;border:1px solid #bbcae62b;border-radius:10px;outline:0;width:100%;height:48px;padding:0 13px}.food-dialog label small{color:#77869b;font-size:.58rem;font-weight:500}.shopping-preview-dialog{width:min(100%,580px)}.preview-intro{color:#919eb0;margin:-12px 0 16px;font-size:.7rem;line-height:1.5}.shopping-preview-dialog ul{gap:7px;max-height:340px;margin:0 0 17px;padding:0;list-style:none;display:grid;overflow:auto}.shopping-preview-dialog li{background:#ffffff06;border:1px solid #b8c7e21c;border-radius:9px;align-items:center;gap:10px;padding:9px 11px;display:flex}.shopping-preview-dialog li>svg{color:#61dca1;width:16px}.shopping-preview-dialog li>span{flex-direction:column;min-width:0;display:flex}.shopping-preview-dialog li strong{color:#e1e4ea;font-size:.68rem}.shopping-preview-dialog li small{color:#7f8ca0;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;overflow:hidden}.shopping-preview-dialog li em{color:#bda6f7;white-space:nowrap;margin-left:auto;font-size:.65rem;font-style:normal}.meal-plan-builder{gap:14px;margin-top:14px;display:grid}.plan-hero{background:radial-gradient(circle at 85% 0,#b48bff29,#0000 40%),linear-gradient(145deg,#192740f5,#0d192bf0);justify-content:space-between;align-items:center;gap:26px;padding:24px 26px;display:flex;overflow:hidden}.plan-hero>div{padding-left:70px;position:relative}.plan-hero-icon{color:#c5a4ff;background:linear-gradient(145deg,#a986f547,#7152be29);border-radius:15px;place-items:center;width:52px;height:52px;display:grid;position:absolute;top:0;left:0}.plan-hero-icon svg{width:26px}.plan-hero h2,.plan-hero p{margin:0}.plan-hero h2{color:#f3f0f8;margin-top:3px;font-size:1.35rem}.plan-hero>div>p:last-child{color:#9ba7b8;max-width:680px;margin-top:5px;font-size:.72rem;line-height:1.5}.template-download{flex:none;min-height:43px;text-decoration:none}.template-download svg{width:17px}.plan-step-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.plan-step-grid article{background:#19273e80;border:1px solid #b6c5e121;border-radius:11px;align-items:center;gap:12px;min-height:72px;padding:12px 14px;display:flex}.plan-step-grid article>span{color:#c0a2fb;background:#a884f629;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:.69rem;font-weight:850;display:grid}.plan-step-grid strong,.plan-step-grid p{margin:0;display:block}.plan-step-grid strong{color:#e5e3ec;font-size:.71rem}.plan-step-grid p{color:#7f8da1;margin-top:2px;font-size:.6rem;line-height:1.35}.image-catalog,.plan-upload{padding:18px}.plan-section-heading,.plan-section-heading>div{align-items:center;display:flex}.plan-section-heading{justify-content:space-between;gap:16px;margin-bottom:14px}.plan-section-heading>div{gap:10px}.plan-section-heading svg{color:#b18aff;width:22px}.plan-section-heading h3,.plan-section-heading p{margin:0}.plan-section-heading h3{color:#efedf4;font-size:.89rem}.plan-section-heading p{color:#8794a8;margin-top:2px;font-size:.62rem}.plan-section-heading>small{color:#bca1f4;background:#aa89f81a;border-radius:999px;padding:5px 9px;font-size:.58rem;font-weight:750}.meal-image-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.meal-image-grid article{text-align:center;background:#1d2c458c;border:1px solid #b7c6e221;border-radius:11px;min-width:0;padding:9px}.meal-image-grid article>div{background:radial-gradient(circle at 50% 60%,#b499f41c,#0000 64%),#07101d52;border-radius:8px;place-items:center;height:92px;display:grid;overflow:hidden}.meal-image-grid img{object-fit:contain;filter:drop-shadow(0 8px 12px #00000047);width:88px;height:88px}.meal-image-grid strong,.meal-image-grid code{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.meal-image-grid strong{color:#e4e3e9;margin-top:7px;font-size:.61rem}.meal-image-grid code{color:#a989e9;margin-top:3px;font-family:inherit;font-size:.53rem}.plan-dropzone{color:#8f9bae;cursor:pointer;text-align:center;background:radial-gradient(circle at 50% 0,#a982fb1a,#0000 58%),#07101d3d;border:1px dashed #b796ff61;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:150px;transition:all .15s;display:flex}.plan-dropzone:hover{background-color:#9f75ef0a;border-color:#bc9effb3}.plan-dropzone input{opacity:0;width:1px;height:1px;position:absolute}.plan-dropzone svg{color:#b796fa;width:31px;height:31px;margin-bottom:8px}.plan-dropzone strong{color:#e1ddea;text-overflow:ellipsis;white-space:nowrap;max-width:80%;font-size:.75rem;overflow:hidden}.plan-dropzone span{margin-top:4px;font-size:.59rem}.plan-review-loading{color:#929fb2;justify-content:center;align-items:center;gap:9px;padding:18px;font-size:.67rem;display:flex}.plan-review-loading>span{border:2px solid #344158;border-top-color:#b594ff;border-radius:50%;width:17px;height:17px;animation:.8s linear infinite spin}.plan-preview{margin-top:14px}.plan-preview-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.plan-preview-summary article{background:#ffffff06;border:1px solid #b6c5e11f;border-radius:9px;padding:10px 12px}.plan-preview-summary small,.plan-preview-summary strong{display:block}.plan-preview-summary small{color:#7e8ca0;font-size:.56rem}.plan-preview-summary strong{color:#e8e8ed;margin-top:2px;font-size:1rem}.plan-preview-summary .ready strong{color:#68dda5}.plan-preview-summary .has-errors strong{color:#ff819f}.plan-preview-table{border:1px solid #b5c5e11c;border-radius:9px;max-height:270px;margin-top:10px;overflow:auto}.plan-preview-table table{border-collapse:collapse;width:100%;font-size:.64rem}.plan-preview-table th,.plan-preview-table td{text-align:left;border-bottom:1px solid #b6c5e114;padding:9px 11px}.plan-preview-table th{color:#8e9bb0;text-transform:uppercase;background:#17263d;font-size:.55rem;position:sticky;top:0}.plan-preview-table td{color:#cbd0db}.plan-row-status{border-radius:999px;padding:3px 7px;font-size:.52rem;font-weight:800;display:inline-flex}.plan-row-status.new{color:#6addaa;background:#5bd7a01f}.plan-row-status.duplicate{color:#bda4f6;background:#a889f821}.replace-plan-option{color:#dfe1e6;cursor:pointer;background:#eaae3e0a;border:1px solid #f6bf5b29;border-radius:9px;align-items:flex-start;gap:9px;margin-top:10px;padding:10px;display:flex}.replace-plan-option input{accent-color:#ad8bff;margin-top:2px}.replace-plan-option span{flex-direction:column;display:flex}.replace-plan-option strong{font-size:.64rem}.replace-plan-option small{color:#8b96a8;margin-top:2px;font-size:.56rem}.plan-import-errors{color:#ff9cb2;background:#ff5b800d;border:1px solid #ff71912e;border-radius:9px;margin-top:10px;padding:11px 13px;font-size:.62rem}.plan-import-errors ul{color:#c795a2;margin:7px 0 0;padding-left:18px}.plan-import-button{min-height:41px;margin-top:11px;margin-left:auto}.plan-import-button svg{width:16px}@media (width<=1400px){.finance-header{flex-direction:column}.finance-actions{justify-content:flex-start;width:100%}.food-header{flex-direction:column;align-items:flex-start}.food-actions{justify-content:flex-start;width:100%}.food-actions .finance-search{width:min(100%,360px)}}@media (width<=1120px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.welcome-card{grid-template-columns:minmax(230px,.7fr) minmax(360px,1fr)}.finance-header{flex-direction:column}.finance-actions{justify-content:flex-start;width:100%}.finance-search{width:min(100%,350px)}.finance-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-detail-grid{grid-template-columns:1fr}.food-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-image-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.food-workspace{grid-template-columns:1fr}.food-aside{grid-template-columns:repeat(3,minmax(0,1fr))}.shopping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=940px){.finance-chart-grid,.finance-budget-grid{grid-template-columns:1fr}.review-card{text-align:left;align-items:flex-start}.review-card button{width:auto;padding-inline:24px}}@media (width<=820px){.app-shell{padding-bottom:74px;display:block}.app-sidebar{width:100%;height:70px;padding:7px 10px max(7px, env(safe-area-inset-bottom));background:#060f1bf2;border-top:1px solid #bbcae61f;border-right:0;position:fixed;inset:auto 0 0}.app-sidebar .shell-brand,.sidebar-profile{display:none}.app-sidebar nav{margin:0}.app-sidebar ul{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;display:grid}.app-sidebar nav a{border-radius:10px;flex-direction:column;justify-content:center;gap:3px;min-height:54px;padding:0 3px;font-size:.54rem}.app-sidebar nav a.active{box-shadow:inset 0 -2px var(--purple)}.app-sidebar nav svg{width:18px}.dashboard-toolbar{height:76px;padding-inline:18px}.dashboard-search{width:100%}.add-button span{display:none}.add-button{place-content:center;width:44px;padding:0}.dashboard-content{padding:28px 18px 42px}.finance-main,.food-main{padding:24px 18px 42px}.food-actions{grid-template-columns:minmax(0,1fr) auto;display:grid}.plan-hero{flex-direction:column;align-items:flex-start}.plan-step-grid{grid-template-columns:1fr}.food-actions .finance-search{grid-column:1/-1;width:100%}.food-tabs{overflow-x:auto}.food-tabs>span{display:none}.finance-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.finance-search{grid-column:1/-1;width:100%}.month-picker{grid-column:1/-1}.finance-tabs{overflow-x:auto}.finance-tabs>span{display:none}.finance-tabs button{flex:none}.dashboard-date{display:none}.welcome-page{overflow:auto}.welcome-card{grid-template-columns:1fr;gap:24px;margin-block:40px;padding:34px 28px}.welcome-visual{width:min(62vw,240px)}.welcome-visual>svg{width:84px;height:84px}}@media (width<=560px){.dashboard-heading h1{font-size:2.1rem}.summary-grid{grid-template-columns:1fr}.summary-card{min-height:178px}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quick-card{min-height:158px;padding-inline:12px}.section-title-row span,.dashboard-quote{display:none}.app-sidebar ul{grid-template-columns:repeat(5,minmax(0,1fr))}.app-sidebar li:nth-child(5){display:none}.welcome-page{padding-inline:18px}.welcome-header{align-items:center}.welcome-profile>span:nth-child(2){display:none}.welcome-card{border-radius:20px;margin-block:28px;padding:27px 21px 30px}.welcome-copy h1{font-size:clamp(2.15rem,11vw,3rem)}.household-name-row{flex-direction:column}.household-name-row input{min-height:52px}.household-name-row .primary-action{width:100%}.welcome-promises{flex-direction:column}.finance-header{gap:20px}.finance-actions{grid-template-columns:1fr}.finance-search{grid-column:auto}.month-picker input,.finance-add,.finance-import{width:100%}.finance-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid;overflow:visible}.finance-tabs button{width:100%;min-width:0;padding-inline:4px;font-size:.7rem}.finance-stat-grid{grid-template-columns:1fr}.food-header{gap:18px}.food-actions{grid-template-columns:1fr}.food-actions .finance-search{grid-column:auto}.week-picker,.food-add{width:100%}.week-picker{justify-content:center}.food-stat-grid,.food-aside,.shopping-grid{grid-template-columns:1fr}.meal-image-grid,.plan-preview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-hero{padding:20px}.plan-hero>div{padding-top:64px;padding-left:0}.template-download,.plan-import-button{width:100%}.plan-section-heading{align-items:flex-start}.meal-image-grid article>div{height:105px}.food-stat{min-height:98px}.meal-calendar{border-left:0;border-right:0;border-radius:0;margin-inline:-18px}.food-panel-heading{flex-direction:column;align-items:flex-start}.week-controls{width:100%}.week-controls button:nth-child(2){flex:1}.shopping-heading,.shopping-heading>div:last-child{flex-direction:column;align-items:stretch}.shopping-heading>div:last-child>span{justify-content:center}.shopping-heading button,.shopping-empty .primary-action{width:100%}.shopping-empty{text-align:center;flex-direction:column;align-items:center;padding:24px}.food-dialog .movement-form-row{grid-template-columns:1fr}.finance-stat{min-height:104px}.finance-panel{padding:15px}.bar-chart{gap:4px;padding-inline:3px}.bar-month{min-width:0}.category-layout{grid-template-columns:1fr}.category-layout ul{width:100%}.budget-list{grid-template-columns:1fr}.budget-row{grid-template-columns:auto minmax(80px,1fr) auto}.budget-progress{grid-column:2/3}.budget-row small{grid-area:2/3}.movement-form-row{grid-template-columns:1fr}.movement-dialog-backdrop{align-items:end;padding:0}.movement-dialog{padding:26px 20px max(28px, env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.import-dialog{max-height:94svh}.import-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-file-heading,.credit-list label,.import-dialog-actions{flex-direction:column;align-items:stretch}.credit-list select,.import-dialog-actions>button{width:100%}.import-table-wrap table{min-width:620px}}@media (prefers-reduced-motion:reduce){.welcome-visual,.loading-mark{animation:none}}
