:root{color:#152033;font-synthesis:none;text-rendering:optimizelegibility;--navy:#0b1e43;--orange:#c35629;--cream:#f7f4ee;--ink:#152033;--muted:#697386;--line:#d9d4ca;--green:#277a51;--red:#b42318;--amber:#9a6700;--shadow:0 14px 35px #0b1e4314;background:#f4f1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#f8f5ef 0%,#f1ede5 100%);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;padding-bottom:86px}.topbar{z-index:20;padding:18px max(18px, env(safe-area-inset-left));color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b1e43f7;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0;box-shadow:0 6px 18px #0b1e432e}.topbar h1{letter-spacing:-.02em;margin:2px 0 0;font-size:24px}.eyebrow{letter-spacing:.16em;color:#d9cfc0;font-size:10px;font-weight:800;display:block}.brand-mark{background:var(--orange);border-radius:12px;place-items:center;width:40px;height:40px;font-size:21px;font-weight:900;display:grid}.page-wrap{width:min(920px,100%);margin:0 auto;padding:22px 16px 36px}.bottom-nav{z-index:30;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff7;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.nav-item{color:#758096;flex-direction:column;align-items:center;gap:4px;padding:6px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.nav-item.active{color:var(--orange)}.stack-lg{gap:20px;display:grid}.stack-md{gap:14px;display:grid}.page-heading{color:var(--navy);justify-content:space-between;align-items:center;display:flex}.page-heading h2{margin:4px 0 0;font-size:30px}.page-heading .eyebrow{color:var(--orange)}.card{box-shadow:var(--shadow);background:#fffffff0;border:1px solid #d9d4cae6;border-radius:20px;padding:18px}.card-header{color:var(--navy);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.card-header h2{margin:0;font-size:18px}.card-header p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.45}.week-hero{text-align:center;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;display:grid}.week-hero h2{color:var(--navy);margin:8px 0 2px;font-size:25px}.week-hero p{color:var(--muted);margin:0;font-size:13px}.icon-button{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:14px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 6px 16px #0b1e430f}.remaining-card{background:var(--navy);color:#fff;border-radius:22px;justify-content:space-between;align-items:center;gap:16px;padding:22px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 36px #0b1e4338}.remaining-card:after{content:"";background:#c3562938;border-radius:50%;width:130px;height:130px;position:absolute;top:-44px;right:-36px}.remaining-card.balanced{background:#174f39}.remaining-card span{color:#dbe1ec;font-size:12px;display:block}.remaining-card strong{letter-spacing:-.04em;margin-top:4px;font-size:34px;display:block}.remaining-meta{text-align:right;z-index:1;gap:4px;display:grid}.status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.status-open,.status-reopened{color:#17603e;background:#d7f4e5}.status-future{color:#394c70;background:#e8ecf5}.status-closed{color:#625c52;background:#ece8e0}.status-closing_required{color:#7c5200;background:#fff0c7}.info-banner,.warning-banner,.error-banner{border-radius:14px;padding:13px 15px;font-size:13px;line-height:1.45}.info-banner{color:#244b87;background:#eaf1ff;border:1px solid #c6d7f5}.warning-banner{color:#7b5600;background:#fff4d4;border:1px solid #ead18b}.error-banner{color:#8a1f17;background:#fff0ee;border:1px solid #efb5ae;justify-content:space-between;gap:12px;display:flex}.error-banner button{color:inherit;background:0 0;border:0;font-weight:800}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.inline-form{grid-template-columns:1.2fr 1fr 1fr auto;align-items:end}.field{color:#4a5568;gap:6px;font-size:12px;font-weight:750;display:grid}.field input,.field select,.override-control input,.inline-action input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:11px 12px}.field input:focus,.field select:focus,.override-control input:focus,.inline-action input:focus{border-color:var(--orange);box-shadow:0 0 0 3px #c356291f}.field small{color:var(--muted);font-weight:500}.button{border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:11px 15px;font-weight:800;display:inline-flex}.button.primary{background:var(--orange);color:#fff}.button.secondary{color:var(--navy);background:#eef1f6}.button.danger{color:var(--red);background:#fee7e4}.button.small{padding:8px 11px;font-size:12px}.text-button{color:var(--orange);background:0 0;border:0;padding:6px;font-weight:800}.action-row{flex-wrap:wrap;gap:10px;display:flex}.inline-action{gap:10px;display:flex}.inline-action input{max-width:220px}.list{gap:12px;display:grid}.compact-list{margin-top:16px}.list-row,.bill-main,.history-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.list-row{border-top:1px solid #ece8e1;padding-top:12px}.list-row strong,.bill-main strong,.history-row strong{color:var(--ink);display:block}.list-row small,.bill-main small,.history-row small{color:var(--muted);margin-top:3px;display:block}.amount{color:var(--ink);white-space:nowrap;font-weight:850}.amount.positive{color:var(--green)}.empty-state{color:var(--muted);margin:4px 0;font-size:13px}.bill-row,.target-row{background:#fdfcf9;border:1px solid #e4dfd6;border-radius:15px;gap:11px;padding:14px;display:grid}.bill-amount{text-align:right}.payment-form{border-top:1px dashed var(--line);align-items:end;padding-top:12px}.target-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.override-control{align-items:center;gap:7px;display:flex}.override-control input{width:105px;padding:8px 9px}.bill-card-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px;display:flex}.bill-card-heading h3{color:var(--navy);margin:8px 0 3px;font-size:19px}.bill-card-heading p{color:var(--muted);margin:0;font-size:13px}.bill-card-balance{text-align:right}.bill-card-balance span{color:var(--muted);font-size:11px;display:block}.bill-card-balance strong{color:var(--green);margin-top:4px;display:block}.pill{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-block}.pill.smooth{color:#365996;background:#e7efff}.pill.due_week{color:#8f431e;background:#f9e9df}.inset-form{background:#f5f2ec;border-radius:14px;margin-top:14px;padding:14px}.danger-zone{background:#fff3f1;border:1px solid #f1c3bd}.fund-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.fund-card>span{color:var(--muted);font-size:11px}.fund-card h3{color:var(--navy);margin:8px 0 4px}.fund-card strong{font-size:24px}.fund-card small{color:var(--muted)}.progress{background:#e5e1d9;border-radius:999px;height:8px;margin:14px 0 7px;overflow:hidden}.progress i{background:var(--orange);border-radius:inherit;height:100%;display:block}.history-row{text-align:left;background:0 0;border:0;border-bottom:1px solid #ece8e1;width:100%;padding:12px 0}.detail-list{gap:0;margin:0;display:grid}.detail-list div{border-bottom:1px solid #ece8e1;justify-content:space-between;gap:20px;padding:12px 0;display:flex}.detail-list dt{color:var(--muted)}.detail-list dd{text-align:right;margin:0;font-weight:750}.body-copy{color:#4f596a;margin:0;line-height:1.6}.loading{min-height:40vh;color:var(--muted);justify-content:center;align-items:center;gap:10px;display:flex}.spinner{border:3px solid #d9d4ca;border-top-color:var(--orange);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:720px){.page-wrap{padding-top:16px}.form-grid,.inline-form{grid-template-columns:1fr}.payment-form{grid-template-columns:1fr 1fr}.payment-form .button{grid-column:1/-1}.remaining-card{align-items:flex-start}.remaining-meta{display:none}.fund-grid{grid-template-columns:1fr}.bill-card-heading{align-items:flex-start}}.activity-actions{align-items:center;gap:10px;display:flex}.form-span{grid-column:1/-1}
