:root{color:#111827;background:#eafaf7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#eafaf7}button,input{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed}.screen{min-height:100vh;min-height:100svh;background:radial-gradient(120% 90% at 12% 0%,rgb(187 247 208 / .82),transparent 52%),radial-gradient(110% 80% at 100% 12%,rgb(186 230 253 / .78),transparent 54%),linear-gradient(145deg,#f7fffb,#e9fbff 48%,#f4fff8);padding:24px}.centered,.auth-screen{display:flex;align-items:center;justify-content:center}.auth-card,.loading-card{width:min(100%,448px);background:#ffffffad;border:1px solid rgb(255 255 255 / .72);box-shadow:0 24px 70px #0f172a1f;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.auth-card{border-radius:32px;padding:32px}.loading-card{border-radius:28px;padding:28px;display:flex;justify-content:center;gap:14px}.brand-mark{width:64px;height:64px;margin:0 auto 24px;border-radius:20px;color:#fff;background:#030712;display:grid;place-items:center;box-shadow:0 14px 30px #0307122e}.auth-copy{text-align:center;margin-bottom:30px}.auth-copy h1{margin:0;font-size:30px;line-height:1.1;letter-spacing:0}.auth-copy p{margin:10px 0 0;color:#6b7280;font-size:15px}.form-stack{display:grid;gap:18px}.field{display:grid;gap:7px}.field span{color:#6b7280;font-size:12px;font-weight:750;letter-spacing:0;text-transform:uppercase}.field input{min-height:56px;border:1px solid #e5e7eb;border-radius:16px;background:#f9fafb;color:#111827;padding:0 16px;outline:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.field input:focus{background:#fff;border-color:#111827;box-shadow:0 0 0 3px #1118271a}.primary-button,.sheet-submit{width:100%;min-height:58px;padding-inline:28px;border-radius:16px;background:#030712;color:#fff;font-size:17px;font-weight:750;line-height:1.2;text-align:center;white-space:normal;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 12px 26px #0307122e;transition:transform .12s ease,opacity .16s ease}.primary-button:active,.sheet-submit:active,.balance-action:active,.fab:active{transform:scale(.98)}.primary-button:disabled,.sheet-submit:disabled{opacity:.55}.link-button{width:100%;min-height:48px;margin-top:16px;background:transparent;color:#6b7280;font-size:14px;font-weight:650}.form-error,.panel-error{margin:0;color:#b91c1c;font-size:14px;font-weight:650}.app-shell{min-height:100vh;min-height:100svh;background:radial-gradient(circle at 8% 8%,rgb(187 247 208 / .82),transparent 34%),radial-gradient(circle at 92% 12%,rgb(186 230 253 / .78),transparent 36%),radial-gradient(circle at 64% 82%,rgb(220 252 231 / .72),transparent 34%),linear-gradient(145deg,#f7fffb,#e9fbff 48%,#f4fff8);background-attachment:fixed;padding-bottom:calc(116px + env(safe-area-inset-bottom))}.top-bar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;width:min(100%,480px);margin:0 auto;padding:calc(20px + env(safe-area-inset-top)) 24px 18px;background:#ffffff94;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-bottom:1px solid rgb(255 255 255 / .58)}.top-actions{display:flex;align-items:center;gap:8px}.eyebrow{margin:0 0 4px;color:#9ca3af;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.top-bar h1{margin:0;font-size:20px;line-height:1.2;letter-spacing:0;display:flex;align-items:center;gap:8px}.user-email{margin:3px 0 0;max-width:250px;color:#6b7280;font-size:13px;overflow-wrap:anywhere}.online-dot{width:8px;height:8px;border-radius:999px;background:#10b981}.icon-button{width:48px;height:48px;flex:0 0 48px;border-radius:999px;display:grid;place-items:center;background:#ffffff8a;border:1px solid rgb(255 255 255 / .64);color:#4b5563}.dashboard-main{width:min(100%,480px);margin:0 auto;padding:22px 28px 0;display:grid;gap:26px}.balance-card{position:relative;overflow:hidden;border-radius:32px;background:linear-gradient(145deg,#030712e6,#111827c7);color:#fff;border:1px solid rgb(255 255 255 / .18);box-shadow:0 24px 48px #0307122e;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.balance-watermark{position:absolute;top:22px;right:22px;opacity:.1}.balance-content{position:relative;z-index:1;padding:30px}.balance-content>p{margin:0 0 4px;color:#9ca3af;font-size:14px;font-weight:700}.balance-content>strong{display:block;margin-bottom:6px;font-size:clamp(40px,13vw,58px);line-height:.96;letter-spacing:0}.balance-date{display:block;margin-bottom:22px;color:#9ca3af;font-size:13px;font-weight:750}.carry-over{width:fit-content;max-width:100%;display:flex;align-items:center;gap:8px;margin-bottom:20px;border:1px solid rgb(52 211 153 / .16);border-radius:12px;background:#10b9811f;color:#34d399;padding:8px 11px;font-size:14px;font-weight:700}.balance-action{width:100%;min-height:58px;border-radius:16px;color:#030712;background:#fff;font-size:16px;font-weight:800;display:flex;justify-content:center;align-items:center;gap:10px}.balance-actions{display:grid;grid-template-columns:1fr;gap:10px}.balance-action.secondary{background:#111827;color:#f9fafb}.balance-action:disabled{color:#6b7280;background:#1f2937}.schedule-section h2{margin:0 0 14px;padding:0 4px;color:#111827;font-size:19px;letter-spacing:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading h2{margin:0;font-size:20px;letter-spacing:0}.report-panel{display:grid;gap:14px}.range-tabs{min-height:46px;padding:4px;border-radius:16px;background:#ffffff75;border:1px solid rgb(255 255 255 / .62);display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.range-tabs button{border-radius:12px;background:transparent;color:#4b5563;font-size:13px;font-weight:800}.range-tabs button.active{background:#ffffffc7;color:#030712;box-shadow:0 8px 18px #0f172a14}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-tile{min-height:108px;padding:18px;border:1px solid rgb(255 255 255 / .66);border-radius:22px;background:#fff9;box-shadow:0 12px 28px #0f172a0f;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:grid;align-content:space-between;gap:10px}.glass-card,.transaction-card,.settings-card{border:1px solid rgb(255 255 255 / .66);background:linear-gradient(145deg,#ffffffad,#ffffff6b);box-shadow:0 12px 28px #0f172a0f;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.metric-tile.wide{grid-column:1 / -1}.metric-tile span,.metric-tile small{color:#6b7280;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.metric-tile strong{color:#111827;font-size:24px;line-height:1.05;letter-spacing:0;overflow-wrap:anywhere}.empty-state,.schedule-row{background:#ffffff9e;border:1px solid rgb(255 255 255 / .66);box-shadow:0 12px 28px #0f172a0f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.empty-state{border-radius:24px;min-height:150px;display:grid;place-items:center;align-content:center;gap:12px;color:#9ca3af;text-align:center}.empty-state p{margin:0;font-size:14px;font-weight:700}.empty-state.compact{min-height:94px;border-radius:20px;box-shadow:none}.schedule-list,.sunday-strip-section{display:grid;gap:12px}.sunday-strip{display:flex;gap:14px;margin-inline:-28px;padding:0 28px 6px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.sunday-strip::-webkit-scrollbar{display:none}.sunday-card{width:min(82vw,300px);min-width:min(82vw,300px);min-height:92px;padding:16px;border:1px solid rgb(255 255 255 / .66);border-radius:22px;background:linear-gradient(145deg,#ffffffb3,#ffffff70);box-shadow:0 12px 28px #0f172a0f;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#111827;display:grid;grid-template-columns:minmax(88px,1fr) minmax(0,auto);align-items:center;gap:14px;scroll-snap-align:start}.sunday-date{display:inline-flex;align-items:center;gap:8px;color:#047857;font-size:16px;font-weight:850}.sunday-date svg{flex:0 0 auto}.sunday-card strong{color:#111827;font-size:22px;line-height:1.05;text-align:right;overflow-wrap:anywhere}.transaction-card{width:100%;border-radius:20px;padding:16px;color:#111827;text-align:left;display:grid;gap:12px;cursor:pointer}.transaction-summary{min-height:72px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px}.transaction-copy{display:grid;gap:5px;min-width:0}.transaction-copy>span:not(.status-pill),.detail-row span{color:#6b7280;font-size:11px;font-weight:850;letter-spacing:0;text-transform:uppercase}.transaction-copy>strong,.detail-row strong{color:#111827;font-size:14px;font-weight:850;overflow-wrap:anywhere}.transaction-icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center}.transaction-icon.paid{background:#10b9811f;color:#047857}.transaction-icon.pending{background:#0ea5e91f;color:#0369a1}.transaction-amount{color:#111827;font-size:24px;line-height:1;letter-spacing:0;text-align:right;white-space:nowrap}.status-pill{width:fit-content;min-height:30px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:850;letter-spacing:0;text-transform:uppercase}.status-pill.paid{background:#10b9811f;color:#047857}.status-pill.pending{background:#0ea5e91f;color:#0369a1}.transaction-details{display:none;gap:9px;padding-top:12px;border-top:1px solid rgb(255 255 255 / .62)}.transaction-details.open{display:grid}.transaction-action{padding-top:4px}.big-give-button{min-height:64px;border-radius:20px;background:#10b981;color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-size:18px;font-weight:850;box-shadow:0 18px 35px #10b98147}.big-give-button:disabled{opacity:.65}.detail-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px}.schedule-row{border-radius:20px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.paid-row{opacity:.92}.schedule-meta{min-width:0;display:flex;align-items:center;gap:14px}.schedule-icon{width:48px;height:48px;flex:0 0 48px;border-radius:999px;background:#f3f4f6;color:#111827;display:grid;place-items:center}.paid-icon{background:#ecfdf5;color:#059669}.schedule-row h3,.schedule-row p{margin:0}.schedule-row h4{margin:0;color:#111827;font-size:15px;letter-spacing:0}.schedule-row .schedule-meta span{display:block;margin-top:3px;color:#6b7280;font-size:12px;font-weight:700}.schedule-row h3{font-size:16px;letter-spacing:0}.schedule-row p{margin-top:2px;color:#6b7280;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.schedule-actions{flex:0 0 auto;display:grid;justify-items:end;gap:7px;text-align:right}.schedule-actions strong{font-size:18px}.schedule-actions span{color:#6b7280;font-size:12px;font-weight:750}.mini-pay-button{min-height:36px;padding:0 12px;border-radius:999px;background:#ecfdf5;color:#047857;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:800}.mini-pay-button:disabled{opacity:.65}.fab-rail{position:fixed;left:0;right:0;bottom:calc(24px + env(safe-area-inset-bottom));z-index:20;display:flex;justify-content:center;pointer-events:none}.fab{width:72px;height:72px;border-radius:999px;display:grid;place-items:center;background:#10b981;color:#fff;box-shadow:0 18px 35px #10b98159;pointer-events:auto}.bottom-nav{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:30;width:min(calc(100% - 32px),430px);min-height:76px;padding:10px 18px;transform:translate(-50%);border:1px solid rgb(255 255 255 / .76);border-radius:28px;background:#ffffffad;box-shadow:0 18px 45px #0f172a29;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;grid-template-columns:1fr 74px 1fr;align-items:center;gap:10px}.bottom-nav button{min-height:54px;border-radius:18px;background:transparent;color:#6b7280;display:grid;place-items:center;align-content:center;gap:3px;font-size:12px;font-weight:800}.bottom-nav button.active{color:#030712;background:#ffffffa8}.bottom-nav .nav-add{width:66px;height:66px;min-height:66px;margin:-28px auto 0;border-radius:999px;background:#10b981;color:#fff;box-shadow:0 18px 35px #10b98159}.sheet-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#0307126b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bottom-sheet{position:relative;z-index:1;width:min(100%,480px);max-height:min(88vh,760px);overflow-y:auto;border-radius:36px 36px 0 0;background:#ffffffc2;border:1px solid rgb(255 255 255 / .72);padding:14px 30px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -28px 70px #0f172a38;-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);animation:slideUp .22s ease-out}.sheet-grabber{width:48px;height:6px;margin:0 auto 24px;border-radius:999px;background:#e5e7eb}.bottom-sheet h2{margin:0 0 24px;text-align:center;font-size:25px;letter-spacing:0}.breakdown-sheet{display:grid;gap:22px}.sheet-summary{text-align:center}.sheet-summary h2{margin-bottom:8px}.sheet-summary strong{display:block;color:#111827;font-size:34px;line-height:1}.sheet-summary p{margin:8px 0 0;color:#6b7280;font-size:14px;font-weight:650}.breakdown-group{display:grid;gap:12px}.breakdown-group h3{margin:0;color:#111827;font-size:16px;letter-spacing:0}.breakdown-row{align-items:flex-start}.sheet-field{margin-top:14px}.profile-sheet{display:grid;gap:22px}.profile-header{display:flex;align-items:center;gap:14px}.profile-avatar{width:58px;height:58px;flex:0 0 58px;border-radius:20px;background:#f3f4f6;color:#111827;display:grid;place-items:center}.profile-header h2,.profile-header p,.settings-title h3{margin:0}.profile-header h2{text-align:left;font-size:24px}.profile-header p{margin-top:3px;color:#6b7280;font-size:14px;overflow-wrap:anywhere}.settings-block{display:grid;gap:14px}.settings-title{display:flex;align-items:center;gap:8px;color:#111827}.settings-title h3{font-size:16px}.settings-card{min-height:78px;border-radius:22px;padding:16px;display:flex;align-items:center;gap:14px;position:relative}.settings-card-button{width:100%;color:#111827;text-align:left}.settings-card-icon{width:48px;height:48px;flex:0 0 48px;border-radius:16px;background:#10b9811f;color:#047857;display:grid;place-items:center}.settings-card h3,.settings-card p{margin:0}.settings-card.locked{padding-right:42px}.lock-indicator{position:absolute;top:14px;right:14px;color:#6b7280}.password-fields{display:grid;gap:14px}.settings-card h3{font-size:16px;letter-spacing:0}.settings-card p{margin-top:3px;color:#6b7280;font-size:13px;line-height:1.35}.settings-action,.logout-action{min-height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:800}.settings-action{background:#030712;color:#fff}.settings-action:disabled,.logout-action:disabled{opacity:.6}.logout-action{background:#fef2f2;color:#b91c1c}.amount-panel{display:block;border-radius:28px;border:1px solid rgb(255 255 255 / .7);background:#ffffff85;padding:22px 18px;text-align:center}.amount-panel>span{display:block;margin-bottom:8px;color:#9ca3af;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.money-input{display:flex;align-items:center;justify-content:center;color:#111827;font-size:clamp(38px,14vw,54px);font-weight:750}.money-input span{color:#9ca3af;margin-right:4px}.money-input input{width:min(100%,220px);border:0;outline:0;background:transparent;color:#111827;text-align:center;font-weight:750}.tithe-row{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 4px}.tithe-row span{color:#6b7280;font-weight:700}.tithe-row strong{color:#10b981;font-size:24px}.payment-options{display:grid;gap:12px;margin-bottom:18px}.payment-options>p{margin:0;color:#111827;font-size:14px;font-weight:800}.payment-option,.staggered-option{border:2px solid #f3f4f6;border-radius:20px;background:#fff}.payment-option{width:100%;min-height:76px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;color:#374151;text-align:left}.payment-option.dark{border-color:#030712;background:#030712;color:#fff}.payment-option span,.staggered-toggle span{display:grid;gap:3px}.payment-option strong,.staggered-toggle strong{font-size:17px}.payment-option small,.staggered-toggle small{color:#6b7280;font-size:14px}.payment-option.dark small{color:#d1d5db}.staggered-option.selected{border-color:#030712;background:#f9fafb}.staggered-toggle{width:100%;min-height:76px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;background:transparent;color:#111827;text-align:left}.week-grid{margin:0 16px 16px;padding-top:14px;border-top:1px solid #e5e7eb;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.week-grid button{min-height:44px;border-radius:14px;border:1px solid #e5e7eb;background:#fff;color:#374151;font-size:14px;font-weight:750}.week-grid button.selected{border-color:#030712;background:#030712;color:#fff;box-shadow:0 10px 20px #0307121f}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(min-width:760px){.app-shell{background:radial-gradient(circle at 22% 4%,rgb(187 247 208 / .82),transparent 30%),radial-gradient(circle at 78% 12%,rgb(186 230 253 / .78),transparent 32%),radial-gradient(circle at 55% 86%,rgb(220 252 231 / .72),transparent 30%),linear-gradient(145deg,#f7fffb,#e9fbff 48%,#f4fff8)}.top-bar{margin-top:18px;border-radius:28px 28px 0 0;border:1px solid rgb(229 231 235 / .85);border-bottom:0}.dashboard-main{background:#ffffff47;border-left:1px solid rgb(255 255 255 / .54);border-right:1px solid rgb(255 255 255 / .54);padding-bottom:28px}}
