@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:Manrope,Arial,sans-serif;color:#213a32;background:#f7f8f3}.app{background:#f7f8f3}.shell{max-width:none;grid-template-columns:235px minmax(0,1fr)}.sidebar{background:#fff;color:#43534b;border-right:1px solid #e5eae3;padding:24px 20px;box-shadow:none}.brand{color:#233c32;font-size:20px;letter-spacing:-1.1px;padding:2px 5px 29px}.brandmark{background:#245c4b;color:#e3f0db;border-radius:9px;transform:rotate(-5deg);box-shadow:0 8px 20px #245b4b20}.side-link{color:#63736b;border-radius:9px;margin:3px 0;font-size:13px;font-weight:600;padding:12px 13px}.side-link .ico{font-size:19px;color:#819188;width:20px;text-align:center}.side-link:hover,.side-link.active{background:#e9efe5;color:#245c4b}.side-link.active .ico{color:#245c4b}.side-foot{border-top:1px solid #e8ece7;color:#91a095;line-height:1.6}.main{background:#f7f8f3}.top{height:77px;background:#fff;color:#273c34;border-bottom:1px solid #e9eee8;padding:0 38px}.top>div:first-child{display:flex;align-items:center;gap:10px}.top>div:first-child::before{content:'Workspace /';font-size:11px;color:#a7afa9;font-weight:600}.top h1{font-size:12px;font-weight:700;color:#657369}.top .round{background:#fff;color:#415a4e;border:1px solid #e7ede7}.top .avatar{background:#f5e9dd;color:#856246}.content{max-width:none;padding:32px 38px 110px}.workspace-intro{margin:4px 0 25px}.workspace-intro .eyebrow{color:#919e93;text-transform:uppercase;font-size:10px;letter-spacing:2px;font-weight:800}.workspace-intro h1{font-size:29px;letter-spacing:-1.3px;margin:13px 0 5px;color:#203a32}.workspace-intro p{font-size:12px;color:#89958b;margin:0}.workspace-intro .btn{font-size:12px}.hero,.card,.stat,.action{border:1px solid #e8ece6;box-shadow:0 2px 7px #213a3205;border-radius:12px}.hero,.card{padding:22px}.hero{background:#fff}.card h2,.section-title{font-size:14px;letter-spacing:-.2px}.balance{font-size:32px;letter-spacing:-1.5px;color:#1e3930}.mini{background:#f8faf6;border:1px solid #edf1eb;border-radius:10px}.mini strong{font-size:17px}.muted{color:#89968d}.pill-icon{border-radius:9px}.greenbg{background:#e9f2e8;color:#3e8267}.redbg{background:#f9ece9;color:#c86760}.bluebg{background:#edf1e9;color:#65866b}.purplebg{background:#f0edf4;color:#827495}.orangebg{background:#f5f0e6;color:#b48b52}.income{color:#43896d}.expense{color:#cd716d}.btn{background:#245c4b;border-radius:8px;font-size:12px;padding:11px 15px;box-shadow:0 3px 6px #245c4b16}.btn:hover{background:#1e503f}.btn.secondary{background:#edf3e9;color:#2e654f}.btn.danger{background:#faeeeb;color:#ad5e55}.chip{background:#eef2eb;color:#63786a;border-radius:7px}.chip.active{background:#245c4b}.input,.select,.textarea{border-color:#e3eae2;border-radius:8px;background:#fff;font-size:13px}.input:focus,.select:focus,.textarea:focus{border-color:#5b9475;box-shadow:0 0 0 3px #5b947520}.action{font-size:12px;color:#40564a}.action:hover,.tool-link:hover{border-color:#a6c6aa;transform:translateY(-1px)}.tool-link{border-color:#e9eee7;border-radius:10px;transition:.18s}.tool-link strong{font-size:13px;color:#263e33}.tool-link small{color:#94a198}.tx{border-color:#edf0e9}.tx-info strong{color:#2c4137}.budget-track{background:#edf1ea}.budget-track span:nth-child(1){background:#bc806f}.budget-track span:nth-child(2){background:#77977e}.budget-track span:nth-child(3){background:#28634f}.progress{background:#edf1ea}.progress i{background:#4b9170}.seg{background:#eff3ee;border-radius:8px}.seg button{border-radius:6px}.seg button.active{background:#245c4b}.donut{filter:saturate(.6)}.login-wrap{background:#f7f8f3;grid-template-columns:minmax(300px,1fr) minmax(350px,1fr);padding:0}.login-wrap::before{content:'MoneyMate\A Your money, clearly managed.';white-space:pre-line;background:#245c4b;color:#e8f2e6;width:100%;height:100%;display:grid;align-content:center;padding:clamp(35px,7vw,110px);font-size:clamp(28px,4vw,54px);font-weight:800;letter-spacing:-2px;line-height:1.2}.login-card{box-shadow:none;border:1px solid #e6ebe4;border-radius:14px;padding:35px}.login-card .brand{padding-bottom:22px}.login-card h1{color:#203a32}.login-card p{color:#839187}.login-card .notice{color:#9aa79d}.back{color:#4f745e}.message{background:#245c4b}.modal-bg{background:#203a3277}.modal{border-radius:13px}.avatar{font-family:Manrope,Arial,sans-serif}.stat strong{color:#2a4336}.stat .income{color:#43896d}.stat .expense{color:#cd716d}@media(max-width:850px){.shell{display:block}.sidebar{display:none}.top{height:64px;padding:0 18px}.content{padding:24px 16px 105px}.top>div:first-child::before{content:none}.top h1{font-size:15px;color:#284235}.workspace-intro h1{font-size:25px}.bottom{background:#fff;border-color:#e6ece4}.bottom button{color:#859589}.bottom button.active{color:#28634f}.bottom button.add .ico{background:#e9f2e8;color:#28634f}.grid.two{grid-template-columns:1fr}}@media(max-width:700px){.login-wrap{display:grid;grid-template-columns:1fr;align-content:center;gap:0;padding:22px}.login-wrap::before{height:auto;min-height:150px;padding:26px;border-radius:15px 15px 0 0;font-size:26px;letter-spacing:-1px}.login-card{border-radius:0 0 15px 15px;width:100%;padding:26px}.workspace-intro .row{align-items:flex-start;flex-direction:column}.workspace-intro .btn{display:none}}@media(max-width:520px){.hero,.card{padding:17px}.content{padding:19px 12px 100px}.workspace-intro{margin-bottom:18px}.workspace-intro h1{font-size:23px}.mini strong{font-size:14px}}
.workspace-profile{border:1px solid #e7ece5;border-radius:10px;padding:12px;display:flex;align-items:center;gap:10px;margin:0 0 26px}.workspace-profile>span{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#edf2e8;color:#6c886c;font-size:10px;font-weight:800}.workspace-profile b{display:block;font-size:11px;color:#293d32}.workspace-profile small{display:block;font-size:10px;color:#95a196;margin-top:2px}.nav-label{font-size:9px;letter-spacing:2px;color:#9aa89d;font-weight:800;margin:0 0 9px 13px}
.transaction-dialog{width:min(100%,620px)}.transaction-dialog .card{border:0;box-shadow:none;padding:0}.transaction-dialog>.row{margin-bottom:17px}.transaction-dialog .amount-box{padding:12px}.transaction-dialog .amount-box input{font-size:27px}.transaction-dialog .form{gap:12px}
.more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.more-card{min-height:150px;border:1px solid #e5ebe3;background:#fff;border-radius:13px;text-align:left;padding:21px;display:grid;grid-template-columns:48px 1fr auto;grid-template-rows:auto 1fr;gap:0 13px;color:#2b4035;box-shadow:0 2px 8px #263e3207;transition:transform .2s,border-color .2s,box-shadow .2s}.more-card:hover{transform:translateY(-3px);border-color:#acc7ac;box-shadow:0 10px 24px #31513e16}.more-card:focus-visible{outline:3px solid #77ab88;outline-offset:2px}.more-icon{width:46px;height:46px;border-radius:11px;display:grid;place-items:center;grid-row:1/3}.more-copy{align-self:end;grid-column:2/4;grid-row:2}.more-copy strong{display:block;font-size:14px;letter-spacing:-.3px;margin-bottom:4px}.more-copy small{display:block;color:#8d9a90;font-size:11px;line-height:1.5}.more-arrow{grid-column:3;grid-row:1;color:#98aa9a;font-size:17px;line-height:1}.more-card:hover .more-arrow{color:#28634f}.more-grid .purplebg{background:#f0edf5;color:#7b6c9b}.more-grid .redbg{background:#f9eeec;color:#bb756c}.more-grid .bluebg{background:#eaf0f2;color:#547c87}.more-grid .orangebg{background:#f6f1e7;color:#a9814e}.more-grid .greenbg{background:#e9f2e8;color:#4b896a}@media(max-width:1150px){.more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.more-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.more-card{min-height:154px;padding:14px;grid-template-columns:38px 1fr auto;gap:0 6px}.more-icon{width:37px;height:37px}.more-icon svg{width:20px;height:20px}.more-copy{grid-column:1/4}.more-copy strong{font-size:12px}.more-copy small{font-size:10px}}@media(max-width:390px){.more-grid{grid-template-columns:1fr}.more-card{min-height:115px}.more-copy{grid-column:2/4}}
.person-actions{flex-wrap:wrap;justify-content:center}.whatsapp-btn{background:#217a55}.whatsapp-btn:hover{background:#196844}.remind-action{background:#e4f3e7;color:#246d4e;font-weight:800}.remind-action:hover{background:#d5ecd9}@media(max-width:600px){.person-row{flex-wrap:wrap}.person-row .tx-info{flex-basis:calc(100% - 60px)}.person-row .tiny{margin-left:46px}.person-row .tiny+.tiny{margin-left:0}.person-actions .btn{flex:1 1 44%}}
.brandmark{background:#0bb77e;color:#fff;transform:none;box-shadow:none;border-radius:11px}.more-icon{font-size:24px;line-height:1}@media(max-width:600px){.more-icon{font-size:20px}}
.home-balance{position:relative;overflow:hidden;background:linear-gradient(135deg,#194d3e 0%,#276b53 56%,#4a9470 100%);border:0;color:#fff;box-shadow:0 16px 35px #214d3e25}.home-balance::after{content:'';position:absolute;width:240px;height:240px;right:-105px;top:-120px;border-radius:50%;border:35px solid #ffffff13;pointer-events:none}.home-balance .muted,.home-balance .balance{color:#fff}.home-balance .eye{color:#e7fff0}.home-balance .mini{position:relative;z-index:1;background:#ffffff16;border:1px solid #ffffff2b;backdrop-filter:blur(7px)}.home-balance .mini .muted{color:#dcefe5}.home-balance .mini strong{color:#fff}.home-balance .mini .pill-icon{background:#ffffff25;color:#fff}.home-balance .balance{position:relative;z-index:1}.action{min-height:128px;justify-content:center;position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;transform:perspective(800px) rotateX(var(--tile-rx,0deg)) rotateY(var(--tile-ry,0deg)) translateY(var(--tile-lift,0px));transform-style:preserve-3d}.action::after,.more-card::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#ffffff9c,transparent 60%);opacity:.22;pointer-events:none}.action:hover,.more-card:hover{--tile-lift:-5px;border-color:#abc9b0;box-shadow:0 17px 30px #2b51351d}.action:active,.more-card:active{--tile-lift:1px;box-shadow:0 4px 10px #2b51351c}.action:focus-visible{outline:3px solid #7fac88;outline-offset:2px}.action .pill-icon{width:58px;height:58px;border-radius:16px;font-size:30px;transform:translateZ(20px);box-shadow:inset 0 2px 2px #ffffff99,0 9px 16px #2e513017}.more-card{position:relative;overflow:hidden;transform:perspective(800px) rotateX(var(--tile-rx,0deg)) rotateY(var(--tile-ry,0deg)) translateY(var(--tile-lift,0px));transform-style:preserve-3d}.more-icon{width:55px;height:55px;font-size:31px;transform:translateZ(18px);box-shadow:inset 0 2px 2px #ffffffb9,0 8px 15px #2e513014}.more-card{grid-template-columns:55px 1fr auto;min-height:165px}.more-copy,.more-arrow{transform:translateZ(12px)}@media(max-width:600px){.action{min-height:105px}.action .pill-icon{width:44px;height:44px;font-size:24px;border-radius:13px}.more-card{min-height:150px;grid-template-columns:42px 1fr auto}.more-icon{width:42px;height:42px;font-size:23px}}@media(prefers-reduced-motion:reduce){.action,.more-card{transition:none;transform:none!important}.action:hover,.more-card:hover{transform:none}}
.more-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.more-card{min-height:112px;padding:15px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px}.more-icon{width:46px;height:46px;font-size:26px}.more-copy{align-self:auto;transform:translateZ(12px)}.more-copy strong{font-size:13px;margin:0;line-height:1.25}.compact-intro{margin-bottom:17px}.compact-intro h1{margin-top:6px;font-size:24px}@media(max-width:1120px){.more-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:740px){.more-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.more-card{min-height:100px;padding:13px;gap:8px}.more-icon{width:40px;height:40px;font-size:23px}.more-copy strong{font-size:12px}}
.home-balance .mini{background:#fff;border-color:#fff;backdrop-filter:none;min-width:0}.home-balance .mini .muted{color:#53685c}.home-balance .mini strong{color:#1e4938}.home-balance .mini strong.income{color:#087c54}.home-balance .mini strong.expense{color:#c83e50}.home-balance .mini .pill-icon{background:#e8f4ec;color:#20764f}.home-balance .mini .pill-icon.redbg{background:#faecec;color:#c83e50}.home-balance .balance{color:#fff;text-shadow:0 2px 8px #102e242b}@media(max-width:600px){.home-balance>.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-balance .mini{display:block;padding:11px}.home-balance .mini .pill-icon{width:30px;height:30px;margin-bottom:8px}.home-balance .mini strong{font-size:15px;white-space:nowrap;overflow:visible}.home-balance .balance{font-size:30px}}
.more-card{min-height:120px;align-items:center;justify-content:center;text-align:center;gap:9px;padding:12px}.more-icon{width:52px;height:52px;font-size:29px;border-radius:14px}.more-copy{width:100%;text-align:center}.more-copy strong{display:block;font-size:14px;line-height:1.25;font-weight:800;color:#263e33}.more-card:hover .more-icon{box-shadow:inset 0 2px 2px #ffffffc9,0 11px 20px #2e513027}@media(max-width:740px){.more-card{min-height:108px;padding:10px;gap:7px}.more-icon{width:45px;height:45px;font-size:25px}.more-copy strong{font-size:12px}}
.more-card{min-height:88px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:13px;padding:14px}.more-icon{flex:none;width:48px;height:48px;font-size:27px}.more-copy{width:auto;flex:1;text-align:left}.more-copy strong{font-size:14px;line-height:1.3}@media(max-width:740px){.more-card{min-height:80px;padding:10px;gap:9px}.more-icon{width:40px;height:40px;font-size:23px}.more-copy strong{font-size:12px}}
.home-balance .balance,.home-balance .mini strong,.stat strong{font-variant-numeric:tabular-nums}
.action::before,.more-card::before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--glow-x,50%) var(--glow-y,50%),#54c98752 0%,#8fdbaf22 34%,transparent 68%);opacity:0;transition:opacity .22s ease;pointer-events:none;z-index:0}.action:hover::before,.more-card:hover::before,.action:focus-visible::before,.more-card:focus-visible::before{opacity:1}.action:active::before,.more-card:active::before{opacity:1}.action .pill-icon,.more-card .more-icon,.more-card .more-copy{position:relative;z-index:1}@media(prefers-reduced-motion:reduce){.action::before,.more-card::before{transition:none}}
.home-balance{background:#fff;color:#203a32;border:1px solid #dce7dd;box-shadow:0 8px 24px #264b3210}.home-balance::after{border-color:#e7f4eb}.home-balance .muted,.home-balance .balance{color:#203a32!important;text-shadow:none}.home-balance .eye{color:#375e49}.home-balance .mini{background:#f2f8f3;border:1px solid #dbeadd}.home-balance .mini .muted{color:#425b4a}.home-balance .mini strong{color:#203a32}.home-balance .mini strong.income{color:#087a52}.home-balance .mini strong.expense{color:#bf3446}.home-balance .mini .pill-icon.greenbg{background:#dbf2e5;color:#087a52}.home-balance .mini .pill-icon.redbg{background:#fae8e9;color:#bf3446}
.actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.action{min-height:148px;font-size:14px;gap:14px;border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,radial-gradient(circle at var(--glow-x,50%) var(--glow-y,50%),#0aa66e,#b8d9bf 44%,#e2e9e0 78%) border-box;box-shadow:0 8px 24px #295b3910}.action .pill-icon{width:66px;height:66px;font-size:34px;border-radius:19px}.more-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.more-card{min-height:128px;padding:20px;gap:16px;border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,radial-gradient(circle at var(--glow-x,50%) var(--glow-y,50%),#0aa66e,#b8d9bf 44%,#e2e9e0 78%) border-box;box-shadow:0 8px 24px #295b3910}.more-icon{width:58px;height:58px;font-size:30px;border-radius:16px}.more-copy strong{font-size:16px}.action::before,.more-card::before{background:radial-gradient(circle at var(--glow-x,50%) var(--glow-y,50%),#41c98255 0%,#85dbaa1e 38%,transparent 70%)}.action:hover,.more-card:hover{box-shadow:0 18px 35px #2a67452a,0 0 0 1px #8fcba5}.action:hover::before,.more-card:hover::before{opacity:1}@media(max-width:1120px){.more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.actions{gap:10px}.action{min-height:125px;font-size:12px;gap:9px}.action .pill-icon{width:52px;height:52px;font-size:27px}.more-grid{gap:11px}.more-card{min-height:108px;padding:13px;gap:9px}.more-icon{width:44px;height:44px;font-size:24px}.more-copy strong{font-size:13px}}
.scroll-transactions{height:min(62vh,530px);overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y proximity;scrollbar-color:#9cbea7 #eef3ed;padding:72px 8px!important;background:linear-gradient(#f8faf7,#fff 20%,#fff 80%,#f8faf7);border-radius:15px}.scroll-transactions .tx{min-height:76px;margin:8px 5px;padding:11px 13px;border:1px solid #e5ece4;border-radius:11px;background:#fff;scroll-snap-align:center;opacity:.62;transform:scale(.965);transition:transform .28s ease,opacity .28s ease,border-color .28s ease,box-shadow .28s ease}.scroll-transactions .tx.is-centered{opacity:1;transform:scale(1);border-color:#99c6a8;box-shadow:0 12px 25px #2d69431a}.scroll-transactions .tx:last-child{border-bottom:1px solid #e5ece4}.scroll-transactions .tx-amount{white-space:nowrap}.scroll-transactions:focus-visible{outline:3px solid #87b994;outline-offset:3px}@media(max-width:600px){.scroll-transactions{height:min(56vh,470px);padding:55px 3px!important}.scroll-transactions .tx{min-height:72px;margin:7px 2px;padding:8px;gap:8px}.scroll-transactions .tx-info strong{font-size:12px}.scroll-transactions .tx-amount{font-size:12px}.scroll-transactions .inline-actions{flex-direction:column}}@media(prefers-reduced-motion:reduce){.scroll-transactions .tx{transition:none;transform:none!important;opacity:1}.scroll-transactions .tx.is-centered{box-shadow:none}}
.action,.more-card{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from 180deg at var(--glow-x,50%) var(--glow-y,50%),#e2b4e8,#a8c9f7,#9de3c1,#f7d99b,#efa9be,#e2b4e8) border-box}.action::before,.more-card::before{background:radial-gradient(circle at var(--glow-x,50%) var(--glow-y,50%),#8bbdf475 0%,#a9d9ed2d 32%,transparent 62%),radial-gradient(circle at calc(100% - var(--glow-x,50%)) calc(100% - var(--glow-y,50%)),#ee9dcd5c 0%,#f1bddb1c 34%,transparent 65%),radial-gradient(circle at 50% 90%,#9be0a735,transparent 68%)}.action:hover,.more-card:hover{box-shadow:0 18px 35px #556ba528,0 0 20px #b999de29}.action:focus-visible,.more-card:focus-visible{outline-color:#9a8dcf}

/* Workshop navigation: compact, readable, and responsive. */
.sidebar{padding:22px 14px 15px;z-index:15;overflow:hidden}
.side-brand-row{display:flex;align-items:center;justify-content:space-between;padding:0 8px}
.side-brand-row .brand{padding:3px 0 23px;font-size:21px}
.brandmark{width:36px;height:36px;transform:none;box-shadow:0 5px 14px #245b4b20}
.workspace-profile{margin:0 4px 23px;background:linear-gradient(135deg,#f3f8f1,#fff);box-shadow:0 5px 15px #2a5c3c0a}
.side-nav-scroll{flex:1;min-height:0;overflow-y:auto;padding:0 5px 12px;scrollbar-width:thin;scrollbar-color:#bfd5c5 transparent}
.side-tools-label{margin-top:22px}
.side-link{position:relative;min-height:46px;padding:8px 11px;gap:11px;margin:3px 0;color:#586b60;transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.side-link .ico{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:9px;background:#f3f6f1;color:#648473;font-size:20px;transition:background-color .2s ease,color .2s ease,transform .25s ease}
.side-link:hover{background:#eff5ec;color:#1c6045;transform:translateX(3px)}
.side-link:hover .ico{background:#e0efe2;color:#216b4d;transform:scale(1.08)}
.side-link.active{background:linear-gradient(90deg,#e5f4e8,#f3f8ef);color:#195b3f;font-weight:800;box-shadow:inset 0 0 0 1px #d6e9d9}
.side-link.active::before{content:'';position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:4px;background:#169868;box-shadow:0 0 9px #44bd8670;animation:nav-marker .32s ease-out both}
.side-link.active .ico{background:#d8edde;color:#147b53}
.side-link:focus-visible,.menu-toggle:focus-visible,.side-close:focus-visible{outline:3px solid #70b895;outline-offset:2px}
.side-foot{margin:0 5px;border-top:1px solid #e8eee7;padding:16px 7px 5px;color:#557661;font-weight:700}
.side-foot small{display:block;margin:2px 0 0 12px;color:#9baaa0;font-weight:500}
.side-status{display:inline-block;width:7px;height:7px;border-radius:50%;background:#25b878;box-shadow:0 0 0 4px #e2f5e9;margin-right:5px}
.menu-toggle,.side-close{display:none;border:0;background:transparent;color:#2b5e46;font-size:22px;line-height:1;border-radius:9px;width:36px;height:36px;place-items:center}
.side-scrim{display:none}
.content{animation:page-arrive .32s ease-out both}
@keyframes nav-marker{from{opacity:0;transform:scaleY(.4)}to{opacity:1;transform:scaleY(1)}}
@keyframes page-arrive{from{opacity:.5;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){
  .top>div:first-child{gap:8px}
  .sidebar,.side-scrim,.menu-toggle,.side-close{display:none}
}
@media(prefers-reduced-motion:reduce){.sidebar,.side-scrim,.side-link,.side-link .ico,.content{transition:none!important;animation:none!important}.side-link:hover{transform:none}.side-link:hover .ico{transform:none}}

/* Highlight the first transaction in view as the list scrolls. */
.scroll-transactions{padding:14px 8px!important;scroll-padding-top:14px;background:#fff}
.scroll-transactions .tx{scroll-snap-align:start}
@media(max-width:600px){.scroll-transactions{padding:11px 3px!important;scroll-padding-top:11px}}
.person-row .remind-action{background:#e6f7ec;color:#127446;border:1px solid #bde8ca;border-radius:9px;padding:9px 12px;font-size:11px;white-space:nowrap;box-shadow:0 3px 8px #13824810;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}
.person-row .remind-action:hover{background:#d4f1de;transform:translateY(-2px);box-shadow:0 7px 14px #1382481f}
.person-row .remind-action:focus-visible{outline:3px solid #69ba86;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.person-row .remind-action{transition:none}.person-row .remind-action:hover{transform:none}}

/* Spring-like Wobble Card motion on the Home summary panels. */
.wobble-card{position:relative;transform:perspective(1100px) rotateX(var(--wobble-x,0deg)) rotateY(var(--wobble-y,0deg));transform-style:preserve-3d;transition:box-shadow .25s ease,border-color .25s ease;backface-visibility:hidden}
.wobble-card:hover{border-color:#c5dfcc;box-shadow:0 20px 38px #245e3b1d,0 2px 10px #245e3b10}
.wobble-card:not(.home-balance)::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--wobble-light-x,50%) var(--wobble-light-y,50%),#b8e8cb45,transparent 60%);opacity:0;pointer-events:none;transition:opacity .25s ease}
.wobble-card:not(.home-balance):hover::after{opacity:1}
.wobble-card.home-balance:hover{box-shadow:0 22px 42px #194d3e44}
@media(prefers-reduced-motion:reduce){.wobble-card{transform:none!important;transition:none!important}.wobble-card::after{display:none}}

/* Scroll focus follows the center until the pointer rests on a transaction. */
.scroll-transactions{padding:72px 8px!important;scroll-padding-block:72px;scroll-snap-type:y proximity;background:linear-gradient(#f8faf7,#fff 20%,#fff 80%,#f8faf7)}
.scroll-transactions .tx{scroll-snap-align:center;transition:transform .25s ease,opacity .25s ease,border-color .25s ease,box-shadow .25s ease}
.scroll-transactions .tx.is-centered{border-color:#67bd8a;box-shadow:0 12px 27px #2274472b,0 0 0 2px #b2e2c4;z-index:1;position:relative}
@media(max-width:600px){.scroll-transactions{padding:55px 3px!important;scroll-padding-block:55px}}
@media(prefers-reduced-motion:reduce){.scroll-transactions .tx{transition:none}}

/* Transaction page daily tracker. */
.daily-tracker{margin-bottom:20px;background:linear-gradient(125deg,#fff 55%,#f1f8f0)}
.daily-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}
.daily-head .eyebrow{color:#5b8c6b;font-size:10px;font-weight:800;letter-spacing:1.8px}
.daily-head h2{font-size:20px;margin:6px 0 0;color:#214b37}
.daily-date{width:175px;flex:none;font-weight:700;color:#285a40}
.daily-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.daily-stat{background:#fff;border:1px solid #e2eee3;border-radius:11px;padding:15px;min-width:0}
.daily-stat span{display:block;color:#798d7f;font-size:11px;margin-bottom:8px}
.daily-stat strong{display:block;font-size:20px;letter-spacing:-.7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.daily-tracker-actions{display:flex;align-items:center;gap:8px;margin-top:15px;flex-wrap:wrap}
.daily-tracker-actions .muted{margin-left:auto}
@media(max-width:700px){.daily-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-stat{padding:12px}.daily-stat strong{font-size:17px}.daily-head h2{font-size:17px}.daily-date{width:150px}.daily-tracker-actions .muted{width:100%;margin-left:0}}
@media(max-width:390px){.daily-head{align-items:flex-start;flex-direction:column}.daily-date{width:100%}}

/* Clear 50 / 30 / 20 plan with direct editing. */
.budget-overview{background:linear-gradient(145deg,#173e35 0%,#205b45 62%,#2b7858 100%);color:#fff;border:0;box-shadow:0 16px 32px #174b3626;overflow:hidden}
.budget-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.budget-kicker{font-size:10px;font-weight:800;letter-spacing:2px;color:#a8dfbd}
.budget-overview h2{font-size:19px;letter-spacing:-.6px;margin:5px 0 0;color:#fff}
.budget-manage{background:#ffffff24;color:#fff;border:1px solid #ffffff35;padding:8px 10px;white-space:nowrap;font-size:11px}
.budget-manage:hover{background:#ffffff36}
.budget-subtitle{color:#c8e4d0;font-size:11px;margin:10px 0 18px}
.budget-split{display:flex;height:15px;border-radius:30px;overflow:hidden;background:#ffffff24;box-shadow:inset 0 2px 4px #0e352835}
.budget-split span{height:100%;display:block;transition:width .45s ease}
.budget-split .needs,.budget-split-labels .needs{background:#7cdef1}
.budget-split .wants,.budget-split-labels .wants{background:#ffc28b}
.budget-split .savings,.budget-split-labels .savings{background:#a9e6a6}
.budget-split-labels{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 18px;color:#eaf8ed;font-size:11px;font-weight:700}
.budget-split-labels span{display:flex;align-items:center;gap:5px}
.budget-split-labels i{display:inline-block;width:8px;height:8px;border-radius:50%}
.budget-plan-list{display:grid;gap:9px}
.budget-plan-row{display:flex;align-items:center;gap:11px;border:1px solid #ffffff28;border-radius:12px;background:#ffffff13;padding:12px}
.budget-plan-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;background:#ffffff23;color:#fff;font-size:22px}
.budget-plan-main{flex:1;min-width:0}
.budget-plan-heading,.budget-plan-numbers{display:flex;justify-content:space-between;gap:8px}
.budget-plan-heading strong{font-size:12px;color:#fff}.budget-plan-heading span{font-size:10px;color:#d0e8d8}
.budget-plan-meter{height:6px;border-radius:20px;overflow:hidden;background:#ffffff25;margin:8px 0 6px}
.budget-plan-meter i{display:block;height:100%;border-radius:20px;transition:width .45s ease}
.budget-plan-row.needs .budget-plan-meter i{background:#7cdef1}.budget-plan-row.wants .budget-plan-meter i{background:#ffc28b}
.budget-plan-numbers{font-size:10px;color:#d7ebdc}
.budget-save-panel{display:flex;align-items:center;gap:11px;border-radius:12px;background:#a9e6a620;border:1px solid #b5edb948;padding:12px;margin-top:10px}
.budget-save-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;background:#a9e6a633;color:#c8f6c3;font-size:21px}
.budget-save-panel>div{min-width:0;flex:1}.budget-save-panel strong{display:block;color:#fff;font-size:12px}.budget-save-panel small{display:block;color:#d5ebd8;font-size:10px;line-height:1.4;margin-top:3px}
.budget-save-status{white-space:nowrap;border-radius:20px;padding:6px 8px;font-size:9px;font-weight:800}.budget-save-status.ready{background:#d4f2d2;color:#175538}.budget-save-status.short{background:#fff0d3;color:#745526}
@media(max-width:520px){.budget-overview h2{font-size:17px}.budget-save-panel{flex-wrap:wrap}.budget-save-status{margin-left:49px}.budget-split-labels{gap:8px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.budget-split span,.budget-plan-meter i{transition:none}}

/* User-provided MoneyMate logo with transparent background. */
.brand-logo{display:block;width:44px;height:44px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 4px #153b2918)}
.side-brand-row .brand{display:flex;gap:8px;align-items:center;padding-bottom:16px}
.login-card .brand{display:flex;gap:10px;align-items:center}
@media(max-width:850px){.side-brand-row .brand{font-size:20px}}

/* Lightswind-inspired interactive financial calendar. */
.calendar-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:18px;align-items:start}
.calendar-panel,.calendar-detail{min-width:0}
.calendar-head,.calendar-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.calendar-kicker{font-size:10px;font-weight:800;letter-spacing:1.8px;color:#6a9b7d}
.calendar-head h2,.calendar-detail-head h2{font-size:22px;letter-spacing:-.7px;margin:5px 0 0;color:#244a37}
.calendar-controls{display:flex;align-items:center;gap:7px}
.calendar-nav,.calendar-today{border:1px solid #dfece1;background:#f6faf5;color:#285c42;border-radius:9px;height:36px;font-weight:800;transition:transform .18s ease,background-color .18s ease}
.calendar-nav{width:36px;font-size:23px;line-height:1}.calendar-today{padding:0 12px;font-size:11px}
.calendar-nav:hover,.calendar-today:hover{background:#e3f3e8;transform:translateY(-2px)}
.financial-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.calendar-weekday{text-align:center;font-size:10px;font-weight:800;color:#91a497;padding:5px 0 9px;text-transform:uppercase}
.calendar-blank{min-height:62px}
.calendar-day{position:relative;display:flex;align-items:flex-start;justify-content:flex-end;min-width:0;min-height:62px;padding:9px;border:1px solid #e5eee4;border-radius:11px;background:#fbfdf9;color:#3a5746;font-size:12px;font-weight:800;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.calendar-day:hover{transform:translateY(-3px);background:#eef8ef;border-color:#9ac9a9;box-shadow:0 9px 17px #3b79521b}
.calendar-day.is-today{border-color:#66b88a;box-shadow:inset 0 0 0 1px #66b88a}
.calendar-day.is-selected{background:linear-gradient(140deg,#24644c,#2f8b61);border-color:#24644c;color:#fff;box-shadow:0 10px 18px #27634838}
.calendar-day i{position:absolute;left:9px;bottom:9px;width:6px;height:6px;border-radius:50%;display:none;background:#efaa5b}
.calendar-day.has-event i{display:block}.calendar-day.has-transaction::after{content:'';position:absolute;left:19px;bottom:9px;width:6px;height:6px;border-radius:50%;background:#45b989}.calendar-day.has-transaction:not(.has-event)::after{left:9px}
.calendar-day.is-selected i,.calendar-day.is-selected::after{background:#fff}
.calendar-legend{display:flex;gap:17px;flex-wrap:wrap;margin-top:18px;color:#819487;font-size:11px}
.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:7px;height:7px;border-radius:50%}.event-dot{background:#efaa5b}.transaction-dot{background:#45b989}
.calendar-detail-head .btn{white-space:nowrap}.calendar-detail-section{border-top:1px solid #e9f0e8;padding-top:17px;margin-top:16px}.calendar-detail-section h3{font-size:13px;color:#395947;margin:0 0 11px}.calendar-detail-section h3 span{background:#ebf4e9;border-radius:12px;padding:2px 7px;color:#548368;font-size:10px}
.calendar-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eef3ed}.calendar-item:last-child{border-bottom:0}.calendar-item-icon{display:grid;place-items:center;flex:none;width:33px;height:33px;background:#edf6ec;color:#498568;border-radius:9px;font-size:16px}.calendar-item>div{min-width:0;flex:1}.calendar-item strong{display:block;font-size:11px;color:#31503d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-item small{display:block;color:#9bab9e;font-size:10px;margin-top:2px}.calendar-item b{font-size:11px;white-space:nowrap}.calendar-empty{font-size:11px;color:#9bad9e;margin:9px 0 0}
@media(max-width:1080px){.calendar-layout{grid-template-columns:1fr}}
@media(max-width:520px){.financial-calendar{gap:4px}.calendar-day,.calendar-blank{min-height:48px}.calendar-day{padding:6px;border-radius:8px}.calendar-head h2,.calendar-detail-head h2{font-size:17px}.calendar-head,.calendar-detail-head{align-items:flex-start}.calendar-day i{left:6px;bottom:6px}.calendar-day.has-transaction::after{left:15px;bottom:6px}.calendar-day.has-transaction:not(.has-event)::after{left:6px}}
@media(prefers-reduced-motion:reduce){.calendar-day,.calendar-nav,.calendar-today{transition:none}.calendar-day:hover,.calendar-nav:hover,.calendar-today:hover{transform:none}}

/* Logout in the sidebar status area. */
.side-foot-status{display:flex;align-items:flex-start;gap:7px}.side-foot-status .side-status{margin-top:5px;flex:none}.side-foot-status small{margin:2px 0 0}
.logout-button{display:flex;align-items:center;gap:9px;width:100%;margin-top:13px;padding:10px 11px;border:1px solid #e8eee7;border-radius:9px;background:#f7faf6;color:#436b53;text-align:left;font-weight:800;font-size:12px;transition:background-color .18s ease,transform .18s ease}
.logout-button span{font-size:18px;line-height:1}.logout-button:hover{background:#e8f4e9;transform:translateX(2px)}.logout-button:focus-visible{outline:3px solid #70b895;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.logout-button{transition:none}.logout-button:hover{transform:none}}

/* Packed Home dashboard with balanced card rows. */
.home-intro,.home-dashboard{max-width:1450px;margin-left:auto;margin-right:auto}
.home-intro{margin-bottom:19px}
.home-dashboard{display:grid;gap:18px}
.home-overview,.home-secondary{display:grid;gap:18px;align-items:stretch;min-width:0}
.home-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.home-secondary{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.home-primary{display:flex;flex-direction:column;gap:18px;min-width:0}
.home-primary .home-balance{min-height:195px;display:flex;flex-direction:column;justify-content:center}
.home-primary .home-balance .balance{margin-bottom:18px}
.home-quick{min-width:0;flex:1}.home-quick .section-title{margin:1px 0 13px}
.home-quick .actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.home-quick .action{min-height:118px;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:16px;padding:18px 21px;font-size:15px;font-weight:800;line-height:1.2}
.home-quick .action .pill-icon{width:60px;height:60px;flex:none;font-size:30px;border-radius:17px}
.home-overview .budget-overview{height:100%}
.home-secondary>.card{margin:0;min-width:0}.home-secondary .row h2{font-size:17px;margin:4px 0 0}.home-secondary .row{align-items:flex-start}.home-card-kicker{color:#7da28a;font-size:10px;font-weight:800;letter-spacing:1.5px}
.home-recent-list{margin-top:13px}.home-recent .tx{padding:12px 0}.home-recent .tx:last-child{border-bottom:0}
.home-goals .row{margin-bottom:8px}.home-goal{padding:12px 0;border-bottom:1px solid #edf2eb}.home-goal:last-child{border-bottom:0}
.home-goal-top{display:flex;align-items:center;gap:10px}.home-goal-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#edf6ed;font-size:19px;flex:none}.home-goal-top>div{flex:1;min-width:0}.home-goal-top strong{display:block;color:#294738;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-goal-top small{display:block;color:#8fa496;font-size:10px;margin-top:3px}.home-goal-top b{font-size:11px;color:#398768}.home-goal .progress{height:6px;margin:9px 0 0 46px}.home-goal .progress i{background:linear-gradient(90deg,#64ba83,#218961)}
@media(max-width:1100px){.home-overview,.home-secondary{grid-template-columns:1fr}.home-primary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.home-primary .home-balance{min-height:270px}.home-secondary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:850px){.home-primary{display:flex}.home-primary .home-balance{min-height:190px}.home-overview,.home-secondary{grid-template-columns:1fr}}
@media(max-width:600px){.home-dashboard,.home-overview,.home-secondary,.home-primary{gap:14px}.home-quick .action{min-height:98px;padding:14px;gap:11px;font-size:13px}.home-quick .action .pill-icon{width:47px;height:47px;font-size:25px;border-radius:13px}.home-primary .home-balance{min-height:0}.home-secondary .row h2{font-size:15px}}
@media(max-width:390px){.home-quick .actions{gap:8px}.home-quick .action{padding:10px;gap:7px;font-size:11px;min-height:85px}.home-quick .action .pill-icon{width:39px;height:39px;font-size:21px}}

/* Useful header context instead of placeholder notification and avatar. */
.top-actions{gap:13px}.top-date{font-size:11px;color:#7b8c7f;font-weight:700}.top-local{display:inline-flex;align-items:center;gap:7px;border:1px solid #e0ede1;background:#f4faf3;color:#397450;border-radius:20px;padding:8px 11px;font-size:10px;font-weight:800;white-space:nowrap}.top-local i{width:7px;height:7px;border-radius:50%;background:#34ae70;box-shadow:0 0 0 3px #dff3e4}
@media(max-width:600px){.top-date{display:none}.top-local{font-size:9px;padding:7px 9px}.top-actions{gap:0}}

/* Signed-in user and local user management. */
.top-user{border:1px solid #dcecdf;background:#f1f8f0;color:#285e42;border-radius:20px;padding:8px 14px;font-size:11px;font-weight:800;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color .18s ease,transform .18s ease}
.top-user:hover{background:#e2f2e5;transform:translateY(-1px)}.top-user:focus-visible{outline:3px solid #78bc8c;outline-offset:2px}
.workspace-profile>span{font-size:17px}
.user-settings>.row{align-items:flex-start}.user-settings h2{font-size:20px;margin:4px 0 0}.user-role{border-radius:20px;background:#e3f3e7;color:#2c7450;padding:7px 10px;font-size:10px;font-weight:800}
.account-form{margin-top:20px;border-top:1px solid #e8eee7;padding-top:18px}.account-form h3,.local-users h3{font-size:14px;color:#2d523a;margin:0}.account-form>.btn{justify-self:start}.account-form .login-error{min-height:16px}
.local-users{margin-top:24px;border-top:1px solid #e8eee7;padding-top:18px}.local-user{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eef2ec}.local-user:last-child{border-bottom:0}.local-user strong{font-size:12px;color:#315240;flex:1}.local-user small{font-size:10px;color:#829888}.user-symbol{display:grid;place-items:center;background:#edf6ec;border-radius:9px;width:31px;height:31px;font-size:15px}
@media(max-width:600px){.top-user{max-width:115px;padding:7px 10px}.account-form .fields{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.top-user{transition:none}.top-user:hover{transform:none}}

/* Lightswind-inspired dense transaction data table. */
.transaction-table-scroll.scroll-transactions{height:min(64vh,610px);padding:0!important;scroll-padding-top:52px;scroll-snap-type:y proximity;background:#fff;overflow:auto}
.transaction-table{width:100%;border-collapse:separate;border-spacing:0;min-width:710px;text-align:left}
.transaction-table caption{caption-side:top;text-align:left;padding:14px 17px 10px;color:#769080;font-size:11px;font-weight:700}
.transaction-table thead{position:sticky;top:0;z-index:3;background:#f4f8f3;box-shadow:0 1px 0 #e1ebe0}
.transaction-table th{padding:13px 14px;color:#6a8272;font-size:10px;letter-spacing:.8px;text-transform:uppercase;font-weight:800;white-space:nowrap}
.transaction-table th:first-child,.transaction-table td:first-child{padding-left:18px}
.transaction-table td{padding:13px 14px;border-bottom:1px solid #edf1eb;color:#3b5143;font-size:11px;vertical-align:middle}
.transaction-data-row{opacity:.67;scroll-snap-align:center;transition:opacity .22s ease,background-color .22s ease,box-shadow .22s ease}
.transaction-data-row:nth-child(even){background:#fbfdf9}.transaction-data-row:hover{opacity:1;background:#f0f8f0}
.transaction-data-row.is-centered{opacity:1;background:#eaf6ed;box-shadow:inset 3px 0 #36a672,inset 0 1px #cae7d1,inset 0 -1px #cae7d1}
.table-transaction{display:flex;align-items:center;gap:9px;min-width:0}.table-transaction>span:last-child{min-width:0}.table-transaction strong{display:block;color:#254332;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.table-transaction small{display:block;color:#9aac9e;font-size:10px;margin-top:3px;text-transform:capitalize}
.table-icon{display:grid;place-items:center;flex:none;width:33px;height:33px;border-radius:9px;font-size:16px}.table-category{background:#f1f5ef;border:1px solid #e4ece2;border-radius:7px;padding:5px 8px;color:#54715d;font-size:10px;font-weight:700;white-space:nowrap}
.transaction-table .table-amount{text-align:right;font-weight:800;font-size:12px;white-space:nowrap}.transaction-table td.table-amount.income{color:#187a51}.transaction-table td.table-amount.expense{color:#c65856}
.table-actions{white-space:nowrap}.table-actions .tiny{margin-right:4px}.table-empty td{text-align:center!important;padding:35px!important;color:#96a99b}
@media(max-width:760px){.transaction-table{min-width:0;display:block}.transaction-table caption{display:block;padding:11px 6px}.transaction-table thead{display:none}.transaction-table tbody{display:grid;gap:9px}.transaction-data-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;border:1px solid #e1ece0;border-radius:11px;padding:12px;box-shadow:0 3px 10px #24452e0b}.transaction-data-row td,.transaction-data-row td:first-child{display:block;padding:0;border:0}.transaction-data-row td[data-label="Transaction"]{grid-column:1;grid-row:1}.transaction-data-row td[data-label="Amount"]{grid-column:2;grid-row:1;align-self:center}.transaction-data-row td[data-label="Date"]{grid-column:1;grid-row:2;color:#92a597;font-size:10px;padding-left:42px}.transaction-data-row td[data-label="Category"],.transaction-data-row td[data-label="Account"]{grid-row:3;font-size:10px}.transaction-data-row td[data-label="Account"]{text-align:right}.transaction-data-row td[data-label="Actions"]{grid-column:1/-1;grid-row:4;border-top:1px solid #edf2eb;padding-top:8px}.transaction-data-row .table-transaction strong{max-width:180px}.transaction-table-scroll.scroll-transactions{padding:10px!important;height:min(58vh,550px)}.table-empty{display:block}.table-empty td{display:block}}
@media(prefers-reduced-motion:reduce){.transaction-data-row{transition:none;opacity:1}}

/* Sign-in screen with readable copy and an actual hero section. */
.login-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1fr);min-height:100dvh;padding:0;background:#f4f7f1;place-items:stretch;gap:0}
.login-wrap::before{content:none!important;display:none!important}
.login-hero{min-height:100dvh;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 85% 20%,#347b5f 0%,transparent 38%),linear-gradient(145deg,#153f35,#22684b);color:#fff;padding:clamp(32px,5vw,78px);overflow:hidden;position:relative}
.login-hero::after{content:'';position:absolute;right:-16%;bottom:-29%;width:75%;aspect-ratio:1;border:1px solid #ffffff22;border-radius:50%;box-shadow:0 0 0 55px #ffffff09,0 0 0 115px #ffffff06;pointer-events:none}
.login-hero-logo{width:80px;height:80px;object-fit:contain;filter:brightness(0) invert(1);position:relative;z-index:1}
.login-hero-copy{position:relative;z-index:1;max-width:490px}.login-eyebrow{font-size:10px;font-weight:800;letter-spacing:2.5px;color:#bde8ca}.login-hero h1{font-size:clamp(43px,5vw,73px);line-height:1.06;letter-spacing:-3px;margin:18px 0 18px;color:#fff}.login-hero p{max-width:440px;color:#d7eadb;font-size:15px;line-height:1.65;margin:0}.login-hero-footer{position:relative;z-index:1;color:#b6d9c3;font-size:11px;letter-spacing:.4px}
.login-card{align-self:center;justify-self:center;width:min(100% - 48px,445px);background:#fff;border:1px solid #e3eae0;border-radius:18px;padding:clamp(28px,4vw,46px);box-shadow:0 24px 55px #294b3515}
.login-card-brand{display:flex;align-items:center;gap:11px;color:#214632;font-size:20px;letter-spacing:-.8px;margin-bottom:37px}.login-card-brand .brand-logo{width:38px;height:38px}.login-kicker{font-size:10px;font-weight:800;letter-spacing:2px;color:#4a9a6b}.login-card h2{font-size:27px;letter-spacing:-1px;color:#1f3d2d;margin:10px 0 8px}.login-card>p{color:#7c9182;font-size:13px;line-height:1.5;margin:0 0 25px}.login-card .form{gap:14px}.login-card label{color:#35533f;font-size:12px}.login-card .input{padding:13px 14px}.login-card .btn{width:100%;font-size:13px;margin-top:2px;padding:13px}.login-card .notice{font-size:11px;line-height:1.5;margin-top:22px;color:#91a399}
@media(max-width:800px){.login-wrap{grid-template-columns:1fr;align-content:start;padding:0}.login-hero{min-height:225px;padding:25px 28px 35px;gap:20px}.login-hero-logo{width:42px;height:42px}.login-hero-copy{max-width:none}.login-hero h1{font-size:31px;letter-spacing:-1.5px;margin:7px 0}.login-hero h1 br{display:none}.login-hero p{font-size:12px}.login-hero-footer{display:none}.login-card{width:min(100% - 32px,450px);margin:-15px auto 28px;z-index:1;padding:26px}.login-card-brand{margin-bottom:23px}}
@media(max-width:440px){.login-hero{min-height:195px}.login-hero h1{font-size:26px}.login-hero p{font-size:11px}.login-card h2{font-size:23px}.login-card{padding:22px}}

/* Large tilted logo overlay on the green sign-in panel. */
.login-hero::after{right:-14%;bottom:-22%;width:min(88%,820px);height:auto;aspect-ratio:1;border:0;border-radius:0;box-shadow:none;background:url('moneymate-logo.png') center/contain no-repeat;filter:brightness(0) invert(1);opacity:.12;transform:rotate(-9deg)}
@media(max-width:800px){.login-hero::after{width:230px;right:-25px;bottom:-105px;opacity:.12;transform:rotate(-8deg)}}

/* The sign-in screen uses text branding only. */
.login-hero{justify-content:center}.login-hero::after{display:none!important}.login-hero-footer{position:absolute;left:clamp(32px,5vw,78px);bottom:clamp(26px,4vw,48px)}
.login-card-brand{margin-bottom:33px}
@media(max-width:800px){.login-hero{justify-content:center}.login-card-brand{margin-bottom:22px}}

/* Login: logo at top left with soft circular shapes in the green panel. */
.login-hero{isolation:isolate}.login-hero-logo{display:block;position:absolute;left:clamp(32px,5vw,78px);top:clamp(30px,4vw,58px);width:64px;height:64px;object-fit:contain;filter:brightness(0) invert(1);z-index:2}
.login-hero::after{display:block!important;content:'';position:absolute;right:-190px;bottom:-260px;width:660px;height:660px;aspect-ratio:auto;border:1px solid #ffffff36;border-radius:50%;background:radial-gradient(circle at 44% 42%,#84d4a917 0%,transparent 57%);box-shadow:0 0 0 58px #ffffff0b,0 0 0 128px #ffffff08,0 0 0 205px #ffffff06;filter:none;opacity:1;transform:none;pointer-events:none;z-index:0}
.login-hero::before{content:'';position:absolute;right:10%;top:10%;width:130px;height:130px;border-radius:50%;border:1px solid #ffffff1f;background:#ffffff08;pointer-events:none;z-index:0}
.login-hero-copy,.login-hero-footer{position:relative;z-index:1}
.login-hero-footer{position:absolute;left:clamp(32px,5vw,78px);bottom:clamp(26px,4vw,48px)}
@media(max-width:800px){.login-hero-logo{left:26px;top:22px;width:39px;height:39px}.login-hero-copy{padding-top:30px}.login-hero::after{width:310px;height:310px;right:-145px;bottom:-185px;box-shadow:0 0 0 35px #ffffff0b,0 0 0 75px #ffffff08}.login-hero::before{width:75px;height:75px;right:12%;top:13%}}
.login-hero-logo{width:104px;height:104px}
@media(max-width:800px){.login-hero-logo{width:60px;height:60px}}

/* Keep record controls visible across cards, lists and the transaction table. */
.record-actions,.inline-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:none}
.record-actions .tiny,.inline-actions .tiny,.table-actions .tiny{border:1px solid #c9dfcf;background:#f3faf4;color:#225d3f;font-weight:800;padding:7px 10px;border-radius:8px;white-space:nowrap}
.record-actions .danger-action,.inline-actions .danger-action,.table-actions .danger-action{border-color:#f0d1d0;background:#fff5f4;color:#ab4545}
.record-actions .tiny:hover,.inline-actions .tiny:hover,.table-actions .tiny:hover{filter:brightness(.94)}
.transaction-table th:last-child,.transaction-table td:last-child{position:sticky;right:0;z-index:2;background:#f8fbf7;box-shadow:-7px 0 12px #294f2411}
.transaction-table td:last-child{background:#fff}.transaction-data-row.is-centered td:last-child{background:#eaf6ed}
.transaction-table th:last-child{z-index:4}
.tx{flex-wrap:wrap}.tx .inline-actions{margin-left:auto}.calendar-item>.record-actions{flex:none}
.goal-open{display:block;width:100%;text-align:left;background:none;border:0;color:inherit;padding:0;cursor:pointer}.goal-open:hover h2{text-decoration:underline}
.loan-card .row h2{margin:5px 0}.loan-numbers{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.loan-numbers small{display:block;color:#7e9986;font-size:11px}.loan-numbers strong{display:block;color:#254b37;font-size:19px;margin-top:4px}.loan-card .record-actions{margin-top:17px}
.auth-links{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.auth-links .forgot-link{margin:14px 0 0;font-size:12px}
@media(max-width:760px){.transaction-table th:last-child,.transaction-table td:last-child{position:static;box-shadow:none}.transaction-data-row td:last-child{background:transparent!important}.tx .inline-actions{width:100%;padding-left:51px;margin-left:0}.person-row .record-actions{width:100%;padding-left:46px}.calendar-item{flex-wrap:wrap}.calendar-item>.record-actions{width:100%;padding-left:43px}}
.install-button{border:1px solid #b9d5bf;background:#eaf6eb;color:#215d3d;border-radius:9px;padding:8px 12px;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}.install-button:hover{background:#d9eedc}.login-install{width:100%;margin-top:20px;padding:11px}.top .install-button{flex:none}
@media(max-width:600px){.top{padding:0 14px}.top>div:first-child{gap:6px}.top>div:first-child::before{display:none}.top h1{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{gap:6px}.top-user{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top .install-button{padding:7px 8px;font-size:10px}.back{font-size:12px}}
@media(display-mode:standalone){.install-button{display:none}}
.loan-estimate{border:1px solid #cfe5d4;background:#f0f8f0;color:#285d3d;border-radius:10px;padding:12px 14px;font-size:12px;font-weight:700;line-height:1.5}
.install-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.download-icon{width:16px;height:16px;flex:none}.login-install .download-icon{width:18px;height:18px}
.install-button[hidden]{display:none!important}

/* Keep the transaction dialog close control in view while its form scrolls. */
.modal.transaction-dialog{display:flex;flex-direction:column;max-height:min(90dvh,820px);overflow:hidden;padding:0}
.transaction-dialog>.row{flex:none;position:relative;z-index:1;min-height:64px;margin:0;padding:14px 22px;background:#fff;border-bottom:1px solid #e5eee6}
.transaction-dialog>.row h2{margin:0}
.transaction-dialog>.row .tiny{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #d7e7da;border-radius:50%;background:#f3f9f3;color:#255d43;font-size:16px}
.transaction-dialog #transaction-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 22px 24px}
@media(max-width:600px){.modal-bg:has(.transaction-dialog){padding:12px}.modal.transaction-dialog{max-height:calc(100dvh - 24px)}.transaction-dialog>.row{padding:12px 16px}.transaction-dialog #transaction-content{padding:15px 16px 20px}}
@media(display-mode:standalone),(display-mode:fullscreen){.install-button{display:none!important}}
@media(max-width:850px){.install-button{display:none!important}}

.title-suggestions{display:grid;gap:8px;margin-top:9px}.title-suggestions>span{font-size:11px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:#6b817b}.title-suggestions>div{display:flex;gap:7px;flex-wrap:wrap}.title-suggestion{border:1px solid #cfe5db;border-radius:999px;background:#f3faf6;color:#145b47;padding:6px 11px;font:inherit;font-size:12px;font-weight:650;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.title-suggestion:hover,.title-suggestion:focus-visible{background:#e0f5e9;transform:translateY(-2px);box-shadow:0 5px 12px #16594224}.title-suggestion:focus-visible{outline:2px solid #13865b;outline-offset:2px}
.title-suggestions[hidden],.title-suggestion[hidden]{display:none!important}

.top-user{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.settings-icon{font-size:16px;line-height:1}.top .install-button{min-height:34px}.top .download-icon{width:17px;height:17px}

.login-card .auth-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.login-card .auth-links .forgot-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin:0;padding:8px 10px;border:1px solid #c7dfcc;border-radius:8px;background:#f1f8f0;color:#245c4b;font-size:12px;font-weight:800;text-align:center;line-height:1.2;text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease}.login-card .auth-links .forgot-link:hover{background:#e3f2e5;border-color:#9bc6a5;transform:translateY(-1px)}.login-card .auth-links .forgot-link:focus-visible{outline:2px solid #2b8b5c;outline-offset:2px}.login-card .auth-links .forgot-link:only-child{grid-column:1/-1}.login-card .login-install{min-height:42px;margin-top:12px;font-size:12px}

.profile-menu{position:relative;flex:none}.profile-trigger{display:grid;place-items:center;width:38px;height:38px;border:1px solid #c7dfcc;border-radius:50%;background:#eff8ef;color:#245c4b;cursor:pointer;list-style:none;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.profile-trigger::-webkit-details-marker{display:none}.profile-trigger svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.profile-trigger:hover,.profile-menu[open] .profile-trigger{background:#e0f2e3;box-shadow:0 4px 12px #164d3422;transform:translateY(-1px)}.profile-trigger:focus-visible{outline:2px solid #2b8b5c;outline-offset:3px}.profile-dropdown{position:absolute;top:calc(100% + 10px);right:0;z-index:30;min-width:195px;padding:7px;background:#fff;border:1px solid #d9e8db;border-radius:12px;box-shadow:0 16px 36px #1c423322}.profile-menu-name{padding:9px 10px 10px;color:#6f8477;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid #edf2eb;margin-bottom:5px}.profile-dropdown button{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:8px;background:none;color:#254736;font:inherit;font-size:12px;font-weight:750;text-align:left;cursor:pointer}.profile-dropdown button span{width:19px;font-size:17px;line-height:1;text-align:center}.profile-dropdown button:hover,.profile-dropdown button:focus-visible{background:#edf7ee;outline:none}.profile-dropdown button:last-child{color:#a34a46}.profile-dropdown button:last-child:hover,.profile-dropdown button:last-child:focus-visible{background:#fff0ed}@media(max-width:600px){.profile-trigger{width:36px;height:36px}}@media(prefers-reduced-motion:reduce){.profile-trigger{transition:none}.profile-trigger:hover,.profile-menu[open] .profile-trigger{transform:none}}

/* Keep mobile branding above the sign-in copy, with the mark on the right. */
@media(max-width:800px){.login-hero{min-height:250px;padding:24px 26px 39px}.login-hero-logo{left:auto;right:24px;top:18px;width:58px;height:58px}.login-hero-copy{padding-top:66px}}
@media(max-width:440px){.login-hero{min-height:245px}}

/* More visible mobile branding and earlier sign-up/install actions. */
@media(max-width:800px){.login-hero{min-height:265px;padding:20px 23px 34px}.login-hero-logo{left:auto;right:20px;top:12px;width:82px;height:82px}.login-hero-copy{padding-top:82px}.login-card{margin:-10px auto 22px;padding:22px}.login-card-brand{margin-bottom:14px}.login-card>p{margin-bottom:16px}.login-card .form{gap:11px}.login-card .auth-links{margin-top:10px}.login-card .login-install{margin-top:9px}.login-card .notice{margin-top:12px}}
@media(max-width:440px){.login-hero{min-height:255px}}

/* Colorful vector icons shared by desktop and mobile navigation. */
.nav-icon{--icon-a:#30bd91;--icon-b:#087a68;display:grid;place-items:center;flex:none;color:#fff!important;background:linear-gradient(145deg,var(--icon-a),var(--icon-b))!important;border:1px solid #ffffff50!important;box-shadow:0 5px 12px #183e2d26;transition:transform .2s ease,box-shadow .2s ease!important}.nav-icon svg{width:20px;height:20px;display:block}.nav-icon.home{--icon-a:#32c99a;--icon-b:#0a8a68}.nav-icon.activity{--icon-a:#5fa8ff;--icon-b:#4264d5}.nav-icon.add{--icon-a:#ffad65;--icon-b:#ea704e}.nav-icon.insights{--icon-a:#af8cf4;--icon-b:#7955d0}.nav-icon.more{--icon-a:#6b9aaf;--icon-b:#346276}.nav-icon.budgets{--icon-a:#f9c655;--icon-b:#e28b24}.nav-icon.goals{--icon-a:#f49ac5;--icon-b:#d65f9a}.nav-icon.people{--icon-a:#59cddd;--icon-b:#188ca6}.nav-icon.debts{--icon-a:#66d4a0;--icon-b:#27966d}.nav-icon.loans{--icon-a:#76aaff;--icon-b:#486cc4}.nav-icon.calendar{--icon-a:#b99cf4;--icon-b:#7965c8}.side-link .ico.nav-icon{width:35px;height:35px;border-radius:11px}.side-link{gap:11px}.side-link:hover .nav-icon,.side-link.active .nav-icon{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 16px #214b3435}.bottom .ico.nav-icon,.bottom button.add .ico.nav-icon{width:36px;height:36px;border-radius:11px;font-size:inherit}.bottom .nav-icon svg{width:20px;height:20px}.bottom button.active .nav-icon{transform:translateY(-3px);box-shadow:0 8px 16px #214b3433}.bottom button{gap:4px}.bottom{height:76px}@media(prefers-reduced-motion:reduce){.nav-icon{transition:none!important}.side-link:hover .nav-icon,.side-link.active .nav-icon,.bottom button.active .nav-icon{transform:none}}

.money-type-icon{display:block;width:22px;height:22px;flex:none}
.home-quick .money-type-icon{width:30px;height:30px;stroke-width:2.1}
.home-quick .action .pill-icon.greenbg{background:linear-gradient(145deg,#d7f5e3,#b6e9cd);color:#087a52}
.home-quick .action .pill-icon.redbg{background:linear-gradient(145deg,#ffe9e5,#f7c6c2);color:#b94654}
@media(max-width:600px){.home-balance .money-type-icon{width:19px;height:19px}.home-quick .money-type-icon{width:24px;height:24px}}

.login-card .download-site-link{display:block;margin-top:13px;text-align:center;color:#2d7855;font-size:12px;font-weight:800;text-decoration:none}.login-card .download-site-link:hover{text-decoration:underline}
