:root{--fb-bg:#f4f8fc;--fb-surface:#ffffff;--fb-text:#14213d;--fb-muted:#65748d;--fb-line:#dfe8f2;--fb-accent:#1877e8;--fb-accent-soft:#eaf3ff;--fb-positive:#13795b;--fb-danger:#b42318;--fb-radius:18px;--fb-shadow:0 12px 34px rgb(42 64 94/8%);font-family:ui-rounded,SF Pro Rounded,Segoe UI,sans-serif;background:var(--fb-bg);color:var(--fb-text)}*{box-sizing:border-box}body,html{background:var(--fb-bg)}body{min-width:320px;margin:0}a{color:#095eb7}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #a34c00;outline-offset:3px}main{width:min(100%,1180px);margin:0 auto;padding:40px clamp(16px,4vw,48px)}h1,h2,h3{color:var(--fb-text);letter-spacing:-.03em}h1{margin:0;font-size:clamp(2rem,4vw,3.25rem)}h2{margin-top:0;font-size:1.12rem}small{display:block;margin-top:48px;color:var(--fb-muted)}section{margin:20px 0;padding:clamp(18px,3vw,26px);overflow-wrap:anywhere;background:var(--fb-surface);border:1px solid var(--fb-line);border-radius:var(--fb-radius);box-shadow:var(--fb-shadow)}label{display:block;margin:12px 0;font-weight:650}input,select,textarea{display:block;width:100%;max-width:480px;margin-top:6px;padding:11px 12px;color:var(--fb-text);background:#fff;border:1px solid #8b9ab0;border-radius:9px;font:inherit}button{min-height:44px;padding:11px 18px;color:white;background:var(--fb-accent);border:0;border-radius:9px;font:inherit;font-weight:700;cursor:pointer}button:disabled{opacity:.65;cursor:wait}.balance{margin:8px 0;font-size:clamp(2rem,5vw,3.5rem);font-weight:750;letter-spacing:-.05em}.accounts{margin-bottom:0;padding:0;list-style:none}.accounts li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--fb-line)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.grid section{margin:0}.table-scroll{overflow-x:auto;overscroll-behavior-inline:contain}table{width:100%;min-width:max-content;border-collapse:collapse}td,th{padding:12px;text-align:left;border-bottom:1px solid var(--fb-line)}th{white-space:nowrap}[role=alert]{color:var(--fb-danger)}[role=status]{color:var(--fb-positive)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.eyebrow{margin:0 0 8px;color:var(--fb-muted);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dashboard-header{display:grid;grid-gap:10px;gap:10px;margin-bottom:8px}.dashboard-header>p:last-child{max-width:58ch;margin:0;color:var(--fb-muted)}.dashboard-summary{border-color:#cfe3fa;background:linear-gradient(135deg,#fff,#f2f8ff)}.dashboard-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.dashboard-overview>section{margin:0}.skip-link{position:fixed;z-index:20;top:12px;left:12px;transform:translateY(-180%);padding:10px 14px;color:#fff;background:#102a43;border-radius:8px}.skip-link:focus{transform:translateY(0)}.budget-shell{min-height:100dvh}.budget-page{min-width:0}.budget-rail{display:none}.budget-bottom-nav{position:fixed;z-index:10;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:2px;gap:2px;padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));background:rgb(255 255 255/96%);border-top:1px solid var(--fb-line);box-shadow:0 -10px 30px rgb(42 64 94/10%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.budget-bottom-nav a,.budget-rail-nav a{display:grid;place-items:center;grid-gap:3px;gap:3px;min-width:44px;min-height:48px;padding:5px;color:var(--fb-muted);text-decoration:none;border-radius:11px;font-size:.65rem;font-weight:700;text-align:center}.budget-bottom-nav svg,.budget-rail-nav svg{width:21px;height:21px}.budget-bottom-nav a.is-current,.budget-rail-nav a.is-current{color:var(--fb-accent);background:var(--fb-accent-soft)}.budget-page main{padding-bottom:calc(94px + env(safe-area-inset-bottom))}.budget-utility details{margin:0}.budget-utility summary{min-height:44px;padding:10px 0;cursor:pointer}.budget-utility form{padding-bottom:10px}.check{display:flex;align-items:center;gap:10px;min-height:44px}.check input{width:22px;height:22px;margin:0}details{margin:16px 0}summary{min-height:24px;padding:12px 0;cursor:pointer}article{padding:16px 0;border-bottom:1px solid var(--fb-line)}pre{max-width:640px;overflow-wrap:anywhere;white-space:pre-wrap}.chart-bars{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.chart-bars button{flex:0 0 76px;min-height:160px;padding:9px;color:var(--fb-text);background:#edf3fa}.chart-bars svg{width:40px;height:120px}.chart-bars span{display:block;overflow-wrap:anywhere;font-size:12px}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem;margin-top:1rem}.calendar-grid section{margin:0;padding:1rem}.calendar-grid h2{font-size:1rem}.calendar-grid ul{padding-left:1.2rem}.calendar-grid li{margin-bottom:.8rem}.calendar-grid .today{border:2px solid var(--fb-positive)}@media (min-width:768px){.budget-shell{display:grid;grid-template-columns:92px minmax(0,1fr)}.budget-rail{position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;width:92px;height:100dvh;padding:14px 10px;background:#fff;border-right:1px solid var(--fb-line)}.budget-brand{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 18px;color:#fff;background:var(--fb-accent);border-radius:14px;font-weight:800;letter-spacing:-.08em;text-decoration:none}.budget-rail-nav{display:grid;grid-gap:6px;gap:6px}.budget-rail-nav a{min-height:52px;font-size:.62rem}.budget-utility{margin-top:auto}.budget-utility summary{font-size:.72rem;text-align:center}.budget-utility form{position:absolute;bottom:12px;left:84px;z-index:2;width:230px;padding:14px;background:#fff;border:1px solid var(--fb-line);border-radius:12px;box-shadow:var(--fb-shadow)}.budget-bottom-nav{display:none}.budget-page main{padding-bottom:40px}}@media (min-width:1120px){.budget-shell{grid-template-columns:240px minmax(0,1fr)}.budget-rail{width:240px}.budget-brand{margin-left:8px}.budget-rail-nav a{grid-template-columns:24px 1fr;place-items:center start;gap:11px;padding:8px 12px;font-size:.88rem;text-align:left}.budget-utility summary{text-align:left}.budget-utility form{left:208px}}@media (max-width:767px){main{padding:26px 14px}.dashboard-overview,.grid{grid-template-columns:1fr}section{padding:18px}.accounts li{align-items:start;flex-direction:column;gap:4px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}