*{box-sizing:border-box;margin:0;padding:0}:root{--green:#1d8c6a;--green-dark:#0f5e42;--green-mid:#25a57e;--green-light:#e4f0eb;--gold:#c28a35;--gold-dark:#9a6820;--gold-light:#fef0d8;--blue:#1a6878;--blue-light:#e0edf1;--teal:#1a6878;--teal-dark:#124b57;--teal-light:#e0edf1;--red:#8c4040;--red-dark:#612b2b;--red-light:#f3e8e8;--rose:#8b4a5a;--rose-dark:#5e3040;--rose-light:#f2e8ec;--gray:#706b65;--gray-light:#eceae5;--text:#2b2825;--text-muted:#706b65;--text-faint:#aba79f;--bg:#f5f3ee;--white:#fff;--surface:#faf9f6;--border:#2b282517;--border-mid:#2b282524;--radius:14px;--radius-sm:10px;--radius-lg:20px;--card-shadow:0 1px 3px #2b28250f, 0 1px 2px #2b28250a;--card-shadow-md:0 4px 12px #2b282517;--card-shadow-lg:0 8px 24px #2b28251f}[data-theme=dark]{--bg:#131210;--white:#1e1c19;--surface:#242220;--text:#e8e4de;--text-muted:#9a9590;--text-faint:#6a6560;--border:#ffffff14;--border-mid:#ffffff21;--gray-light:#252320;--green-light:#1d8c6a29;--teal-light:#1a687829;--blue-light:#1a687829;--gold-light:#c28a3529;--red-light:#8c40402e;--rose-light:#8b4a5a29;--card-shadow:0 1px 4px #0000004d;--card-shadow-md:0 4px 16px #0006;--card-shadow-lg:0 8px 28px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;max-width:480px;min-height:100vh;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;transition:background .25s,color .25s}[data-theme=dark] .card,[data-theme=dark] .metric-card,[data-theme=dark] .modal,[data-theme=dark] .bottom-nav,[data-theme=dark] .month-nav{background:var(--white)!important}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--text-faint)!important}[data-theme=dark] .btn-save-bar{background:var(--white)!important}[data-theme=dark] .progress-wrap{background:var(--gray-light)}.loading-screen{height:100vh;padding-top:env(safe-area-inset-top,0px);background:var(--white);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}[data-theme=dark] .loading-screen{background:#131210}.loading-logo{color:var(--green);margin-bottom:4px;font-size:44px;animation:1.8s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.94)}}.loading-name{color:var(--green-dark);letter-spacing:-.3px;font-size:20px;font-weight:800}.loading-tagline{color:var(--text-faint);letter-spacing:.02em;font-size:12px;font-weight:500}[data-theme=dark] .loading-name{color:var(--green-mid)}[data-theme=dark] .loading-tagline{color:var(--text-faint)}.auth-page{background:var(--white);flex-direction:column;justify-content:center;min-height:100vh;padding:32px 24px;display:flex}.auth-logo{text-align:center;margin-bottom:32px}.auth-logo .icon{color:var(--green);margin-bottom:8px;font-size:48px;display:block}.auth-logo h1{color:var(--green-dark);font-size:24px;font-weight:700}.auth-logo p{color:var(--text-muted);margin-top:4px;font-size:14px}.auth-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-muted);font-size:13px;font-weight:500}.form-group input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);outline:none;padding:14px 16px;font-size:16px;transition:border-color .15s}.form-group input:focus{border-color:var(--green);background:var(--white)}.btn-primary{background:var(--green);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;margin-top:4px;padding:15px;font-size:16px;font-weight:600;transition:background .15s}.btn-primary:hover{background:var(--green-dark)}.btn-primary:disabled{background:var(--green-light);color:var(--green-dark);opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;color:var(--text-muted);margin-top:24px;font-size:14px}.auth-switch a{color:var(--green);font-weight:600;text-decoration:none}.error-msg{background:var(--red-light);color:var(--red);border-radius:var(--radius-sm);border:1px solid #8c404026;padding:12px 16px;font-size:14px}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-content{padding:16px 16px calc(100px + env(safe-area-inset-bottom,0px));flex:1;overflow-y:auto}.bottom-nav{background:var(--white);border-top:1px solid var(--border);width:100%;max-width:480px;padding:8px 0 calc(20px + env(safe-area-inset-bottom,0px));z-index:100;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:6px 0;font-size:10px;font-weight:500;text-decoration:none;transition:color .15s;display:flex}.nav-item svg{width:22px;height:22px}.page-header{margin-bottom:20px}.page-header h2{color:var(--text);font-size:22px;font-weight:700}.page-header p{color:var(--text-muted);margin-top:2px;font-size:13px}.section-title{color:var(--text);margin:20px 0 12px;font-size:16px;font-weight:700}.card-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:11px;font-weight:600}.card{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:12px;padding:16px}.metric-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.metric-card{background:var(--white);border-radius:var(--radius-sm);border:1px solid var(--border);padding:14px}.metric-label{color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:500}.metric-value{color:var(--text);font-size:20px;font-weight:700}.metric-value.green{color:var(--green)}.metric-value.red{color:var(--red)}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.list-row:last-child{border-bottom:none}.row-label{color:var(--text);font-size:14px}.row-amount{color:var(--text);font-size:15px;font-weight:600}.row-amount.red{color:var(--red)}.row-amount.green{color:var(--green)}.cat-badge{border-radius:20px;padding:3px 8px;font-size:10px;font-weight:600}.cat-needs{background:var(--teal-light);color:var(--teal)}.cat-wants{background:var(--gold-light);color:var(--gold-dark)}.cat-giving{background:var(--rose-light);color:var(--rose-dark)}.cat-savings,.cat-investments{background:var(--green-light);color:var(--green-dark)}.fab{bottom:calc(90px + env(safe-area-inset-bottom,0px));background:var(--green);color:#fff;cursor:pointer;z-index:99;width:56px;height:56px;box-shadow:var(--card-shadow-md);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:28px;transition:background .15s;display:flex;position:fixed;right:calc(50% - 220px)}.fab:hover{background:var(--green-dark)}select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);-webkit-appearance:none;appearance:none;outline:none;width:100%;padding:14px 16px;font-size:16px}select:focus{border-color:var(--green);background:var(--white)}.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;flex:1;padding:14px;font-size:15px;font-weight:600}.btn-danger{background:var(--red-light);color:var(--red);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #8c404033;padding:14px;font-size:15px;font-weight:600}.modal-overlay{z-index:200;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--white);border-radius:22px 22px 0 0;width:100%;max-width:480px;max-height:90vh;padding:24px 20px 40px;overflow-y:auto}.modal-title{margin-bottom:20px;font-size:18px;font-weight:700}.modal-actions{gap:10px;margin-top:20px;display:flex}.progress-wrap{background:var(--gray-light);border-radius:4px;height:8px;margin-top:8px;overflow:hidden}.surplus-banner{border-radius:var(--radius);justify-content:space-between;align-items:center;margin-bottom:16px;padding:14px 16px;display:flex}.surplus-banner.positive{background:var(--green-light)}.surplus-banner.negative{background:var(--red-light)}.surplus-banner .label{font-size:12px;font-weight:500}.surplus-banner .label.positive{color:var(--green-dark)}.surplus-banner .label.negative{color:var(--red)}.surplus-banner .amount{font-size:22px;font-weight:700}.surplus-banner .amount.positive{color:var(--green)}.surplus-banner .amount.negative{color:var(--red)}.empty-state{text-align:center;color:var(--text-muted);padding:48px 24px}.empty-state .icon{opacity:.6;margin-bottom:12px;font-size:48px}.empty-state p{font-size:14px}.spinner{border:3px solid var(--green-light);border-top-color:var(--green);border-radius:50%;width:32px;height:32px;margin:48px auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.month-nav{background:var(--white);border-radius:var(--radius-sm);border:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 16px;display:flex}.month-nav button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:4px 8px;font-size:20px}.month-nav span{color:var(--text);font-size:15px;font-weight:600}.day-grid{grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:20px;display:grid}.day-dot{aspect-ratio:1;cursor:pointer;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;transition:all .15s;display:flex}.day-dot.done{background:var(--green);color:#fff}.day-dot.today{background:var(--white);border-color:var(--green);color:var(--green)}.day-dot.locked{background:var(--gray-light);color:var(--text-muted)}.devotional-card{background:linear-gradient(135deg, var(--green-dark), #0a3d28);border-radius:var(--radius);color:#fff;margin-bottom:16px;padding:20px}.devotional-card .verse{opacity:.75;margin-bottom:8px;font-size:13px}.devotional-card .text{font-size:15px;font-weight:600;line-height:1.6}.theme-budget,.theme-invest,.theme-savings,.theme-faith{--section-color:#1d8c6a;--section-light:#e4f0eb;--section-dark:#0f5e42}.theme-coach,.theme-realestate{--section-color:#1a6878;--section-light:#e0edf1;--section-dark:#124b57}.theme-challenge,.theme-bills{--section-color:#c28a35;--section-light:#fef0d8;--section-dark:#9a6820}.theme-loans{--section-color:#8c4040;--section-light:#f3e8e8;--section-dark:#612b2b}.theme-community,.theme-giving{--section-color:#8b4a5a;--section-light:#f2e8ec;--section-dark:#5e3040}.section-header{background:linear-gradient(135deg, var(--section-color), var(--section-dark));border-radius:16px 16px 0 0;margin-bottom:-14px;padding:18px 16px 28px;color:#fff!important}.section-header *{color:#fff!important}.section-header h2{color:#fff!important;margin:0 0 4px!important;font-size:22px!important;font-weight:800!important}.section-header p{color:#ffffffc7!important;margin:0!important;font-size:13px!important}.btn-save{bottom:calc(80px + env(safe-area-inset-bottom,0px));background:linear-gradient(135deg, var(--green), var(--green-dark));color:#fff;cursor:pointer;z-index:999;border:none;border-radius:50px;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:700;transition:all .2s;display:flex;position:fixed;right:16px;box-shadow:0 4px 20px #1d8c6a66}.btn-save:active{transform:scale(.96)}.btn-save-bar{bottom:calc(70px + env(safe-area-inset-bottom,0px));background:var(--white);border-top:2px solid var(--green);z-index:999;gap:10px;padding:10px 16px;display:flex;position:fixed;left:0;right:0;box-shadow:0 -4px 20px #00000012}.btn-save-bar button{cursor:pointer;border:none;border-radius:10px;flex:1;padding:13px;font-size:15px;font-weight:700}.btn-save-bar .save{background:linear-gradient(135deg, var(--green), var(--green-dark));color:#fff}.btn-save-bar .cancel{background:var(--gray-light);color:var(--text-muted)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.sh-animate{will-change:transform, opacity;animation:.42s cubic-bezier(.16,1,.3,1) both fadeInUp}.sh-animate-1{animation-delay:40ms}.sh-animate-2{animation-delay:.1s}.sh-animate-3{animation-delay:.16s}.sh-animate-4{animation-delay:.22s}@media (prefers-reduced-motion:reduce){.sh-animate,.sh-animate-1,.sh-animate-2,.sh-animate-3,.sh-animate-4{animation:none}}.sh-tappable{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;will-change:transform;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .22s,opacity .14s}.sh-tappable:active{opacity:.87;transition-duration:80ms;transform:scale(.972)}@media (hover:hover) and (pointer:fine){.sh-tappable:hover{transform:translateY(-2px);box-shadow:0 10px 28px #2b282521!important}}.sh-skeleton{background:linear-gradient(90deg, var(--gray-light) 25%, var(--bg) 50%, var(--gray-light) 75%);background-size:200% 100%;border-radius:8px;animation:1.7s ease-in-out infinite shimmer;color:#0000!important}@media (prefers-reduced-motion:reduce){.sh-skeleton{background:var(--gray-light);animation:none}}.progress-fill{background:linear-gradient(90deg, var(--green-mid) 0%, var(--green) 100%);border-radius:4px;height:100%;transition:width .65s cubic-bezier(.16,1,.3,1)}.sh-display{letter-spacing:-.6px;color:var(--text);font-size:max(22px,min(6vw,28px));font-weight:900;line-height:1.1}.sh-eyebrow{letter-spacing:.11em;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:800}body{letter-spacing:.01em;font-size:15px;line-height:1.55}.nav-item{transition:color .2s,transform .16s cubic-bezier(.34,1.56,.64,1)}.nav-item:active{transform:scale(.85)}.nav-item.active{color:var(--green)}.nav-item.active svg{stroke:var(--green)}.sh-scroll-x{scrollbar-width:none;-ms-overflow-style:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.sh-scroll-x::-webkit-scrollbar{display:none}[data-theme=dark] .sh-tappable{--card-shadow:0 2px 8px #00000059}@media (hover:hover) and (pointer:fine){[data-theme=dark] .sh-tappable:hover{box-shadow:0 12px 32px #00000073!important}}
