@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fredoka:wght@400;500;600;700&display=swap');
:root{--ink:#203d55;--blue:#bce9ff;--coral:#ffb2a0;--yellow:#ffdc70;--paper:#fffdf7;--muted:#6b7a83}*{box-sizing:border-box}body{margin:0;background:#e4f3fa;color:var(--ink);font-family:'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #397fc3;outline-offset:4px}[hidden]{display:none!important}.app{max-width:640px;margin:auto;min-height:100vh;background:var(--paper);padding:24px 26px 110px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font-family:Fredoka;font-size:17px;line-height:1.1}.brand img{width:49px;height:49px;transform:rotate(-7deg)}.brand b{display:block;font-size:25px;font-weight:500;letter-spacing:-.7px}.settings{border:0;background:#f0efe8;font-size:24px;border-radius:50%;width:44px;height:44px}.month-nav{display:flex;align-items:center;justify-content:space-between;padding:8px 0;margin-bottom:20px;border-top:1px solid #e8e9e3;border-bottom:1px solid #e8e9e3}.month-nav button{width:39px;height:39px;border:0;border-radius:50%;background:transparent;font-size:28px}.month-nav label{flex:1;display:flex;justify-content:center}.month-nav input{border:0;background:transparent;font-weight:700;color:var(--ink);text-align:center;font-size:16px;max-width:200px;min-height:38px}.setup{display:flex;align-items:center;gap:10px;background:#fff0d1;border-radius:16px;padding:15px;margin-bottom:23px}.setup>span{font-size:26px}.setup b{font-size:12px}.setup p{font-size:10px;margin:5px 0 0;color:#736b53}.setup button{border:0;background:none;font-weight:700;font-size:11px;white-space:nowrap;margin-left:auto;padding:10px 0}.balance-card{background:var(--blue);border-radius:50% 50% 26px 26px / 24% 24% 26px 26px;text-align:center;position:relative;padding:15px 24px 22px;margin-top:33px}.sticker{display:inline-block;position:relative;top:-24px;background:var(--yellow);border:2px solid var(--ink);padding:9px 13px;border-radius:6px;transform:rotate(-3deg);font-size:9px;font-weight:800;letter-spacing:.8px;box-shadow:2px 3px 0 var(--ink)}.mascot{position:relative;max-width:300px;margin:-20px auto -4px;height:150px}.mascot img{height:155px;width:170px;object-fit:contain;transform:rotate(-4deg);animation:bob 4s ease-in-out infinite}.mascot>span{position:absolute;right:-12px;top:28px;background:white;padding:9px 10px;border-radius:14px 14px 14px 0;font-size:10px;max-width:110px;transform:rotate(6deg);box-shadow:0 3px 0 #203d5510}.balance-card h1{font:500 23px Fredoka;margin:5px 0 2px}.balance{font:600 clamp(43px,10vw,62px) Fredoka;letter-spacing:-2px;overflow-wrap:anywhere}.balance-card p{font-size:11px;line-height:1.5;max-width:300px;margin:8px auto 14px;color:#46677b}.status{display:inline-block;background:#ffffff88;padding:8px 12px;border-radius:30px;font-size:10px;font-weight:600}.negative{color:#a33a2f}.quick-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.quick-totals button{text-align:left;border:0;border-radius:20px;padding:20px}.quick-totals .in{background:#e6efcf}.quick-totals .out{background:#ffe1d7}.quick-totals span{display:block;font-size:12px;font-weight:700}.quick-totals strong{display:block;font:500 27px Fredoka;margin:9px 0}.quick-totals small{font-size:10px;color:#50686d}.primary{background:var(--ink);color:white;width:100%;border:0;border-radius:17px;padding:17px;font-weight:700;margin-top:17px;box-shadow:0 4px 0 #102a3b;font-size:14px}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #102a3b}.pots{margin-top:25px;border:1px solid #e5e7dd;border-radius:17px}.pots summary{list-style:none;display:flex;align-items:center;gap:12px;padding:18px 15px;cursor:pointer;font-size:12px}.pots summary::-webkit-details-marker{display:none}.pots summary b{margin-left:auto;font-size:12px}.pots summary i{font-style:normal;font-size:18px}.pots[open] summary i{transform:rotate(45deg)}.pots-content{padding:0 16px 20px}.pots-content>p{font-size:12px;color:var(--muted)}.helper{text-align:center;font-size:10px;color:var(--muted);margin-top:20px}.extra-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.extra-row label{font-size:12px;margin:0}.extra-row input{width:110px;margin:0!important;font-size:15px!important;padding:10px!important}.page-title{text-align:center;padding:15px 0 18px}.page-title h1{font:500 37px/1.05 Fredoka;letter-spacing:-.8px;margin:12px 0}.page-title p{font-size:13px;line-height:1.7;color:var(--muted)}.page-doodle{display:inline-grid;place-items:center;width:60px;height:60px;background:#deebc6;border-radius:18px;font-size:36px;transform:rotate(-9deg);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}.page-doodle.coral{background:var(--coral);transform:rotate(8deg)}.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:23px}.actions .primary{margin:0}.secondary,.quiet{border:1px solid #d7dedf;background:white;border-radius:17px;padding:13px;font-size:12px;font-weight:700}.list{background:white;border:1px solid #e5e7dd;border-radius:20px;overflow:hidden}.row{width:100%;display:flex;align-items:center;gap:12px;border:0;border-bottom:1px solid #f1f1eb;background:white;padding:18px 16px;text-align:left}.row:last-child{border-bottom:0}.row:hover{background:#f7fbfd}.tick{width:33px;height:33px;flex-shrink:0;display:grid;place-items:center;background:#edf5f9;border-radius:11px;font-size:17px}.row.paid .tick{background:#e6efcf;color:#4c6623}.row-title{flex:1;font-weight:700;font-size:12px}.row-title small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px;line-height:1.4}.row-amount{font-size:13px;font-weight:700}.chevron{color:#8b9aa3;font-size:20px}.empty{padding:17px;color:var(--muted);line-height:1.7;font-size:13px}.note{margin:20px 4px;font-size:11px;color:var(--muted)}.note summary{cursor:pointer;font-weight:600}.note p{line-height:1.8}.bills-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#ffe1d7;padding:20px;border-radius:20px;margin-bottom:16px}.bills-banner span{display:block;font-size:11px}.bills-banner strong{font:500 32px Fredoka;display:block;margin-top:5px}.bills-banner button{border:0;background:var(--paper);padding:12px;border-radius:12px;font-size:12px;font-weight:700}footer{font-size:9px;color:var(--muted);text-align:center;margin-top:30px}.dock{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(640px,100%);display:flex;padding:10px 20px max(12px,env(safe-area-inset-bottom));gap:8px;background:#fffdf7ed;backdrop-filter:blur(12px);border-top:1px solid #e5e7dd;z-index:10}.dock button{flex:1;border:0;border-radius:15px;background:none;font-size:10px;padding:8px;color:#71828a}.dock button>span{display:block;font-size:23px;line-height:1;margin-bottom:5px}.dock .selected{background:var(--blue);color:var(--ink);font-weight:700}dialog{border:0;border-radius:25px;padding:28px;max-width:410px;width:calc(100% - 28px);max-height:90dvh;color:var(--ink);background:var(--paper);box-shadow:0 20px 80px #203d5533}dialog::backdrop{background:#203d5577;backdrop-filter:blur(4px)}dialog h2{font:500 28px Fredoka;margin:12px 0 20px}dialog p{font-size:12px;line-height:1.6;color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1px;color:#748493}.close{position:absolute;right:14px;top:9px;font-size:29px;border:0;background:none;color:var(--muted)}label{display:block;font-size:12px;font-weight:600;margin-top:17px}input[type=number],input[type=date],input:not([type]),select{display:block;min-width:0;width:100%;padding:13px;border:1px solid #dce3e4;background:white;color:var(--ink);border-radius:12px;font-size:17px;margin-top:8px}select{font-size:13px}.check{display:flex;align-items:center;gap:10px;line-height:1.5}.check input{width:20px;height:20px;accent-color:#397fc3}.delete{border:0;background:none;color:#9b5f50;padding:18px 0 0;font-size:12px;width:100%}.footnote{font-size:10px!important;line-height:1.7!important;color:var(--muted)}hr{border:0;border-top:1px solid #e5e7dd;margin:25px 0}.import{background:#e6f3fa;border-radius:13px;padding:15px}.import input{display:block;margin-top:12px;max-width:100%;font-size:11px}.toast{position:fixed;left:50%;bottom:100px;transform:translate(-50%,20px);background:var(--ink);color:white;max-width:90vw;padding:15px 22px;border-radius:15px;font-size:12px;z-index:40;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes bob{50%{transform:rotate(3deg) translateY(-5px)}}@media(min-width:700px){.app{margin-top:25px;border-radius:32px 32px 0 0;padding:30px 40px 120px;box-shadow:0 0 70px #203d550a}}@media(max-width:380px){.app{padding-left:17px;padding-right:17px}.setup>span{display:none}.quick-totals button{padding:16px}.mascot>span{right:0}.sticker{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
/* Candy sky, hand-drawn details, and savings pots. */
body{background:radial-gradient(ellipse at 10% 5%,#ffa6c6,transparent 43%),radial-gradient(ellipse at 95% 35%,#ffdc77,transparent 40%),linear-gradient(145deg,#c3aeff,#80d8fa 60%,#a8e5cf);background-attachment:fixed}.app{background:radial-gradient(ellipse at 2% 6%,#ffc4d8 0,transparent 38%),radial-gradient(ellipse at 100% 52%,#fff0a8 0,transparent 42%),linear-gradient(165deg,#c7baff,#b4eaff 55%,#b6ebda);position:relative}.app:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cpath d='M25 20v9m-4-5h9M142 103v9m-4-5h9' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' opacity='.5'/%3E%3Ccircle cx='83' cy='66' r='3' fill='%23ffffff' opacity='.35'/%3E%3Cpath d='m60 149 6-7 6 7' fill='none' stroke='%23ffffff' opacity='.35' stroke-width='2'/%3E%3C/svg%3E");border-radius:inherit}.app>header,.app>nav,.app>main,.app>footer{position:relative}.app>.dock{position:fixed}header .settings{background:#ffffffa6;box-shadow:0 3px 0 #203d5512;display:grid;place-items:center}.month-nav{border:0;background:#fff9;padding:7px;border-radius:18px;box-shadow:0 3px 0 #203d550b}.balance-card{background:linear-gradient(155deg,#fff1a4,#ffdc77);border:2px solid #fff8cf;box-shadow:0 8px 0 #c6874f18}.status{background:#fff8}.balance-card p{color:#5e645e}.setup{background:#fffdf2d9;border:2px solid #ffffff9c;box-shadow:0 4px 0 #203d550b}.quick-totals .in{background:#b2e4d3;border:2px solid #d9fff0}.quick-totals .out{background:#ffa998;border:2px solid #ffd5c6}.quick-totals button{box-shadow:0 5px 0 #203d5512}.quick-totals span{display:flex;align-items:center;gap:7px}.primary{background:#4952b6;box-shadow:0 4px 0 #313977}.primary:active{box-shadow:0 2px 0 #313977}.pots{background:#fffdf7cf;border:2px solid #ffffffc2;box-shadow:0 5px 0 #203d550b}.pots summary>span{display:flex;align-items:center;gap:7px}.helper,footer{color:#456773}.dock{background:#d9e5ffed;border-top:2px solid #fff9}.dock .selected{background:#fff0a4;box-shadow:0 3px 0 #d8b66d55}.dock button{font-weight:600;color:#456079}.dock button>span{height:30px;margin-bottom:6px}.dock .custom-icon{width:32px;height:32px}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.custom-icon{width:27px;height:27px;display:inline-block;vertical-align:middle;flex-shrink:0;fill:none}.page-doodle .custom-icon{width:44px;height:44px}.tick{background:#f3efff}.tick .custom-icon{width:29px;height:29px}.setup>span .custom-icon{width:34px;height:34px}.page-title p{color:#4e6681}.bills-banner{background:#ffb7a4;border:2px solid #ffd8cd;box-shadow:0 4px 0 #203d5510}.list{border:2px solid #fff6;box-shadow:0 5px 0 #203d550d}.row:nth-child(even){background:#fffcf8}.note{background:#ffffff90;border-radius:13px;padding:14px;color:#50647a}.mascot>span{background:#fff8eb;box-shadow:2px 3px 0 #203d5515}.savings-launch{display:flex;align-items:center;gap:10px;width:100%;background:linear-gradient(120deg,#ffd6e7,#dac8ff);border:2px solid #fff;border-radius:17px;padding:15px 12px;text-align:left;box-shadow:0 4px 0 #bda4d344;margin-bottom:22px}.savings-icon{width:44px;height:44px;display:grid;place-items:center;background:#fff6;border-radius:13px}.savings-icon .custom-icon{width:37px;height:37px}.savings-launch span:nth-child(2){flex:1}.savings-launch b{display:block;font:500 17px Fredoka}.savings-launch small{display:block;font-size:9px;margin-top:5px;color:#6b5d83}.savings-launch>strong{font-size:12px}.savings-launch>.custom-icon{width:18px}.savings-dialog{background:radial-gradient(ellipse at top right,#ffd4e8,transparent 65%),#f0e8ff;max-width:470px;padding-bottom:18px}.savings-heading{text-align:center;padding-top:5px}.savings-heading>.custom-icon{width:76px;height:76px;transform:rotate(-9deg)}.savings-heading h2{margin:8px 0;font-size:30px}.savings-heading p{margin:8px 0}.savings-dialog>.primary{margin:20px 0 22px}#accountRows{display:flex;flex-direction:column;gap:12px}.account-card{display:flex;align-items:center;gap:12px;padding:18px 15px;border:2px solid #fff;border-radius:20px;text-align:left;box-shadow:0 4px 0 #203d550d}.account-card>span:nth-child(2){flex:1;min-width:0}.account-card b{display:block;font-size:13px;overflow-wrap:anywhere}.account-card small{display:block;font-size:9px;color:#65717b;margin:4px 0 9px}.account-card strong{font:500 27px Fredoka;overflow-wrap:anywhere}.account-illustration{background:#fff6;border-radius:15px;width:57px;height:65px;display:grid;place-items:center;transform:rotate(-5deg)}.account-illustration .custom-icon{width:40px;height:40px}.account-card>.custom-icon{width:20px}.account-card.peach{background:#ffd0b7}.account-card.blue{background:#b9e6ff}.account-card.pink{background:#ffc4df}.account-card.mint{background:#bcebd6}.account-card.lilac{background:#d4c0ff}.savings-total{margin-top:24px;background:#4350a7;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:23px;border-radius:20px;border:2px solid #6470c5;box-shadow:0 5px 0 #2c3675}.savings-total>span{font-size:12px}.savings-total strong{display:block;font:500 34px Fredoka;margin-top:7px;overflow-wrap:anywhere}.savings-total>.custom-icon{width:58px;height:58px;transform:rotate(9deg)}.savings-empty{text-align:center;padding:24px 20px;border:2px dashed #baa5d7;border-radius:20px}.savings-empty>.custom-icon{display:block;width:60px;height:60px;margin:auto auto 15px}.savings-empty b{font:500 20px Fredoka}.savings-empty p{font-size:11px}#accountDialog{background:linear-gradient(155deg,#fff0d5,#f7e7ff)}@media(max-width:380px){.savings-launch{flex-wrap:wrap}.savings-launch>strong{margin-left:auto}.savings-launch b{font-size:15px}}
.schedule-box{background:#eaf2ff;border:2px solid #fff;border-radius:18px;padding:17px;margin:15px 0}.schedule-box:nth-child(2){background:#f3e5fa}.schedule-box h3{font:500 22px Fredoka;margin:0 0 8px}.schedule-box label{margin-top:12px}.restore-paydays{display:block;width:100%;margin-top:18px;font-size:11px}.bonus-button{display:flex;align-items:center;gap:10px;background:#ffebb0;border:2px solid #fff9;border-radius:16px;padding:13px 15px;width:100%;font-size:12px;font-weight:700;margin-bottom:17px}.bonus-button>span{margin-left:auto;font-size:22px}.goals-launch{background:linear-gradient(115deg,#d4c4ff,#b3e4ff);margin-top:-7px}.goals-dialog{max-width:480px;background:radial-gradient(ellipse at top right,#c9b5ff,transparent 55%),#e0f2ff}.goals-dialog>.primary{margin-bottom:23px}.goals-from-savings{display:block;width:100%;margin-top:20px;background:#e8d9ff}#goalRows{display:flex;flex-direction:column;gap:17px}.goal-card{background:#fffdf7;border:2px solid #fff;border-radius:22px;padding:19px;box-shadow:0 5px 0 #203d550c}.goal-top{display:flex;align-items:center;gap:10px}.goal-top>.custom-icon{width:43px;height:43px;transform:rotate(-8deg)}.goal-top>div{flex:1;min-width:0}.goal-top h3{font:500 22px Fredoka;line-height:1.1;margin:0 0 5px;overflow-wrap:anywhere}.goal-top span{font-size:10px;color:#6b7a83}.goal-top button{padding:9px 12px;font-size:11px}.goal-money{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin:22px 0 10px}.goal-money b{font:500 31px Fredoka}.goal-money span{font-size:12px;color:#6b7a83}.goal-progress{height:10px;border-radius:20px;background:#ece5fa;overflow:hidden}.goal-progress i{display:block;background:linear-gradient(90deg,#b39be8,#fdadad);height:100%;border-radius:20px;transition:width .3s}.goal-plan{background:#fff0b9;border-radius:15px;margin-top:18px;padding:16px}.goal-plan strong{font:500 21px Fredoka;display:block}.goal-plan p{margin:8px 0;font-size:11px;color:#6f684a}.goal-plan span,.goal-plan small{display:block;font-size:10px;color:#6f684a;line-height:1.8}.goal-source{font-size:10px!important;margin-bottom:0;color:#6b7a83}#goalEditDialog{background:linear-gradient(155deg,#ecf4ff,#efe3ff)}
/* The front door: a current overview, separate from the monthly planner. */
.welcome{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0 24px}.home-date{font-size:10px;letter-spacing:.7px;font-weight:700;text-transform:uppercase;color:#53628c}.welcome h1{font:500 34px/1.07 Fredoka;letter-spacing:-.8px;margin:10px 0 0}.welcome>img{width:115px;height:120px;object-fit:contain;transform:rotate(8deg);filter:drop-shadow(4px 5px 0 #7067ad15)}.home-balance{border:2px solid #fff6;background:linear-gradient(125deg,#fff0a6,#ffd49a);border-radius:25px;padding:24px;box-shadow:0 7px 0 #bc8a5e22;overflow:hidden;position:relative}.home-balance:after{content:'';position:absolute;width:130px;height:130px;border:22px solid #fff4;right:-70px;bottom:-55px;border-radius:50%;pointer-events:none}.home-balance-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:9px;letter-spacing:.5px;font-weight:800}.live-chip{padding:6px 9px;background:#fff7;border-radius:30px;font-size:8px;letter-spacing:0;white-space:nowrap}.home-balance h2{font:400 21px Fredoka;margin:25px 0 5px}.home-amount{display:block;font:600 clamp(38px,9vw,55px) Fredoka;letter-spacing:-1.5px;overflow-wrap:anywhere}.home-amount.no-income{font-size:35px;letter-spacing:-.7px}.home-balance p{font-size:10px;line-height:1.65;color:#706344;max-width:340px;margin:9px 0 20px}.home-balance button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;background:#fff9;border-radius:13px;padding:13px 14px;font-size:12px;font-weight:700;position:relative;z-index:1}.home-balance button .custom-icon{width:20px;height:20px}.home-nudge{display:flex;align-items:center;gap:10px;background:#fff9;border-radius:14px;margin-top:20px;padding:13px;font-size:10px;line-height:1.5}.home-nudge>span{flex:1}.home-nudge>button{font-weight:700;border:0;border-radius:9px;padding:10px;background:#e7deff;font-size:10px;white-space:nowrap}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.home-card{border:2px solid #fff7;border-radius:21px;text-align:left;padding:17px 15px;min-width:0;box-shadow:0 5px 0 #203d550e}.payday-card{background:#b0e4d7}.bills-card{background:#ffbaa7}.home-card-icon{display:inline-grid;place-items:center;padding:5px;background:#ffffff50;border-radius:12px;margin-bottom:13px;transform:rotate(-6deg)}.home-card-icon .custom-icon{width:30px;height:30px}.home-card-label{display:block;font-size:10px;font-weight:700}.home-card strong{display:block;font:500 26px Fredoka;margin:8px 0;overflow-wrap:anywhere}.home-card small{display:block;font-size:9px;line-height:1.6;min-height:29px;color:#49606a}.home-card-link{display:block;font-size:9px;font-weight:700;margin-top:14px}.home-savings{display:flex;align-items:center;gap:16px;background:linear-gradient(120deg,#e5c8ff,#d3d9ff);padding:20px;border:2px solid #fff8;border-radius:22px;width:100%;text-align:left;margin:20px 0 28px;box-shadow:0 5px 0 #203d550e}.home-savings-art{display:grid;place-items:center;width:65px;height:70px;border-radius:20px;background:#fff4;transform:rotate(-7deg)}.home-savings-art .custom-icon{width:50px;height:50px}.home-savings>span:nth-child(2){flex:1;min-width:0}.home-savings small{display:block;font-size:9px;letter-spacing:1px;font-weight:700;color:#625488}.home-savings strong{display:block;font:500 32px Fredoka;margin:5px 0;overflow-wrap:anywhere}.home-savings>span>span{font-size:10px;color:#625488}.home-savings>.custom-icon{width:21px}.home-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.home-section-title h2{font:500 20px Fredoka;margin:0;max-width:230px}.home-section-title button{background:none;border:0;font-size:10px;font-weight:700;padding:8px 0;white-space:nowrap}.home-goal-card{display:block;width:100%;text-align:left;padding:20px;background:#fff9;border:2px solid #fff7;border-radius:21px;box-shadow:0 4px 0 #203d550b}.home-goal-heading{display:flex;align-items:center;gap:12px}.home-goal-heading>span{flex:1;min-width:0}.home-goal-heading>.custom-icon:first-child{width:38px;height:38px}.home-goal-heading>.custom-icon:last-child{width:20px}.home-goal-heading b{font:500 20px Fredoka;display:block;overflow-wrap:anywhere}.home-goal-heading small{font-size:10px;line-height:1.5;display:block;margin-top:5px;color:#6e6b83}.home-goal-money{font:500 26px Fredoka;margin:19px 0 10px}.home-goal-money span{font:400 11px 'DM Sans';color:#6e6b83}.home-goal-card p{font-size:10px;margin:12px 0 0;color:#6e6b83}.dock{gap:5px;padding-left:12px;padding-right:12px}.dock button{min-width:0}.dock .custom-icon{width:29px;height:29px}@media(max-width:380px){.welcome h1{font-size:30px}.welcome>img{width:91px}.home-balance{padding:20px}.home-card{padding:15px 12px}.home-card strong{font-size:23px}.home-savings{gap:11px;padding:16px}.home-savings strong{font-size:28px}}
.bill-payment-settings{background:#e8efff;border:2px solid #fff;border-radius:16px;padding:16px;margin:18px 0}.bill-payment-settings label:first-child{margin-top:0}.payment-help{background:#ffffff90;padding:12px;border-radius:12px;font-size:11px!important;color:#566783!important}.bill-reminder-banner{background:#ffe2b4;border:2px solid #fff8;box-shadow:0 5px 0 #b6933d18;border-radius:20px;padding:17px;margin-top:22px}.reminder-heading{display:flex;gap:10px;align-items:center;margin-bottom:12px}.reminder-heading>.custom-icon{width:37px;height:37px;transform:rotate(-10deg)}.reminder-heading h2{font:500 21px Fredoka;margin:0}.reminder-heading p{font-size:10px;margin:5px 0;color:#7d6849}.manual-reminder-row{display:flex;align-items:center;gap:9px;padding:13px 0;border-top:1px solid #c4a96c33}.manual-reminder-row>div{flex:1;min-width:0}.manual-reminder-row b{display:block;font-size:12px;overflow-wrap:anywhere}.manual-reminder-row small{display:block;font-size:10px;color:#71694e;margin-top:5px;line-height:1.5}.manual-reminder-row button{padding:10px;font-size:10px;background:#fffaf0;border:0;white-space:nowrap}.manual-reminder-row>.custom-icon{width:25px}.bill-reminder-dialog{background:linear-gradient(145deg,#fff0ba,#ffdbd2);max-width:450px}.bill-reminder-dialog .savings-heading>.custom-icon{width:65px;height:65px}.bill-reminder-dialog h2{font-size:27px}
.cycle-mini{font-size:10px;line-height:1.6;color:#625c42;background:#fff5;padding:9px 11px;border-radius:10px;margin:-5px 0 15px}.cycle-mini:empty{display:none}.cycle-dialog{max-width:490px;background:linear-gradient(145deg,#ecf8ff,#f3e8ff)}.cycle-dialog h2{margin-bottom:8px}.cycle-dialog h3{font:500 21px Fredoka;margin:24px 0 8px}.cycle-totals{background:#fffdf3;border:2px solid #fff;border-radius:17px;padding:16px;margin-top:18px}.cycle-totals>div{display:flex;justify-content:space-between;gap:15px;font-size:11px;padding:9px 0}.cycle-totals b{white-space:nowrap}.cycle-totals .cycle-final{border-top:1px solid #ded6eb;margin-top:7px;padding-top:16px;font-size:13px}.cycle-allowance{background:#fff1c2;border:2px solid #fff9;border-radius:18px;padding:18px;margin-top:24px}.cycle-allowance>b{font:500 19px Fredoka;display:block}.cycle-allowance>strong{font:500 26px Fredoka;display:block;margin-top:8px}.cycle-allowance p{font-size:11px}.cycle-allowance button{width:100%;background:#fffcf2}

/* Additional tools reuse the existing palette and dialog controls. */
.tool-grid{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.tool-grid>*{flex:1 1 130px}.csv-entry{border-bottom:1px solid #e5e7dd;padding:15px 0}.csv-entry p{margin:5px 0}#journalRows,#forecastRows{margin-top:18px}#csvPreview{margin-top:12px}details.note>summary{padding:8px 0}#allocationFields label{font-size:11px}

/* Budget Club pig mascot */
.brand img{border-radius:13px;object-fit:contain}
