:root{color:#17202a;background:#f6f8fb;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}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.65}.app-shell{min-height:100vh;padding-bottom:calc(78px + env(safe-area-inset-bottom))}.app-header{border-bottom:1px solid #dde5ec;background:#fff;padding:20px clamp(16px,4vw,40px)}.app-header h1,.page-heading h2{margin:0;letter-spacing:0}.app-header h1{font-size:clamp(1.35rem,2vw,1.8rem)}.eyebrow{margin:0 0 6px;color:#0f766e;font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.app-body{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;width:min(1180px,100%);margin:0 auto;padding:28px clamp(16px,4vw,40px)}.side-nav{position:sticky;top:24px;display:flex;flex-direction:column;gap:6px;align-self:start}.side-nav a,.bottom-nav a{border-radius:8px;color:#536171;font-weight:700}.side-nav a{padding:12px 14px}.side-nav a.active,.bottom-nav a.active{background:#0f766e;color:#fff}.page-content{min-width:0}.page{display:grid;gap:18px}.page-heading{display:grid;gap:8px}.page-heading h2{font-size:clamp(1.6rem,4vw,2.35rem)}.page-heading p{max-width:680px;margin:0;color:#627080;line-height:1.6}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric-card,.placeholder,.empty-state,.settings-list,.form-grid{border:1px solid #dde5ec;border-radius:8px;background:#fff}.metric-card{display:grid;gap:10px;min-height:112px;padding:18px}.metric-card span,.settings-list span{color:#627080;font-size:.9rem;font-weight:700}.metric-card strong{font-size:1.55rem}.placeholder,.empty-state,.warning-box{padding:22px;color:#627080}.warning-box{max-width:720px;border:1px solid #f4c76b;border-radius:8px;background:#fff7df;color:#63430c;font-weight:700}.empty-state{display:flex;align-items:center;justify-content:space-between;gap:16px}.empty-state p{margin:0}.primary-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:8px;background:#0f766e;color:#fff;cursor:pointer;font-weight:800;padding:0 16px}.form-grid{display:grid;gap:16px;max-width:560px;padding:18px}.form-grid label{display:grid;gap:8px;color:#344151;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{min-height:44px;border:1px solid #cbd5df;border-radius:8px;padding:10px 12px}.form-grid textarea{min-height:104px;resize:vertical}.transaction-form{max-width:680px}.scope-fieldset{display:grid;gap:10px;margin:0;border:1px solid #cbd5df;border-radius:8px;padding:14px}.scope-fieldset legend{color:#344151;font-weight:800;padding:0 4px}.scope-fieldset label{display:flex;align-items:center;gap:10px}.scope-fieldset input{min-height:auto}.checkbox-field{display:flex!important;align-items:center;gap:10px}.checkbox-field input{min-height:auto}.transaction-confirmation{display:grid;gap:6px;max-width:680px}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.filter-group{display:inline-flex;gap:6px;border:1px solid #cbd5df;border-radius:8px;background:#fff;padding:4px}.filter-button{min-height:36px;border:0;border-radius:6px;background:transparent;color:#536171;cursor:pointer;font-weight:800;padding:0 12px}.filter-button.active{background:#0f766e;color:#fff}.inline-filter{display:inline-flex;align-items:center;gap:8px;color:#344151;font-weight:800}.inline-filter select{min-height:42px;border:1px solid #cbd5df;border-radius:8px;padding:8px 10px}.transaction-list{display:grid;gap:12px}.transaction-card{display:grid;gap:14px;border:1px solid #dde5ec;border-radius:8px;background:#fff;padding:16px}.transaction-main{display:flex;justify-content:space-between;gap:18px}.transaction-main time,.transaction-meta,.transaction-note{color:#627080;font-size:.9rem}.transaction-main h3{margin:4px 0;font-size:1.1rem;letter-spacing:0}.transaction-main p{margin:0}.transaction-note{margin-top:8px}.transaction-amount{display:grid;gap:4px;min-width:130px;text-align:right}.transaction-amount strong{font-size:1.2rem}.transaction-amount span,.transaction-meta span{font-weight:800}.transaction-meta{display:flex;flex-wrap:wrap;gap:10px}.transaction-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.transaction-edit-form label{display:grid;gap:8px;color:#344151;font-weight:800}.transaction-edit-form input,.transaction-edit-form select,.transaction-edit-form textarea{min-height:44px;border:1px solid #cbd5df;border-radius:8px;padding:10px 12px}.transaction-edit-form textarea{resize:vertical}.wide-field{grid-column:1 / -1}.danger-action{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid #f3a5a5;border-radius:8px;background:#fff1f1;color:#8f1d1d;cursor:pointer;font-weight:800;padding:0 14px}.settings-list{display:grid;max-width:560px}.settings-list div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px}.settings-list div+div{border-top:1px solid #dde5ec}.sign-out-action{width:fit-content}.profile-panel{display:grid;gap:14px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:560px}.section-heading h3{margin:0;font-size:1.15rem;letter-spacing:0}.dashboard-section{display:grid;gap:12px}.category-chart{display:grid;gap:12px;max-width:760px;border:1px solid #dde5ec;border-radius:8px;background:#fff;padding:16px}.category-row{display:grid;gap:8px}.category-row-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#344151}.category-row-header span{color:#627080;font-weight:800;text-align:right}.category-bar-track{overflow:hidden;height:10px;border-radius:999px;background:#edf2f7}.category-bar{height:100%;border-radius:inherit;background:#0f766e}.category-bar.over-budget{background:#c2410c}.budget-form,.goal-form{max-width:760px}.budget-list{display:grid;gap:12px;max-width:860px}.budget-card{display:grid;gap:14px;border:1px solid #dde5ec;border-radius:8px;background:#fff;padding:16px}.budget-card-header{display:flex;align-items:start;justify-content:space-between;gap:14px}.budget-card-header h3{margin:0 0 4px;font-size:1.08rem;letter-spacing:0}.budget-card-header span,.budget-stats span{color:#627080;font-weight:800}.budget-card-header>strong{font-size:1.25rem}.budget-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.budget-stats div{display:grid;gap:4px}.budget-edit-form,.goal-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.budget-edit-form label,.goal-edit-form label{display:grid;gap:8px;color:#344151;font-weight:800}.budget-edit-form input,.goal-edit-form input{min-height:44px;border:1px solid #cbd5df;border-radius:8px;padding:10px 12px}.compact-message{padding:10px 12px}.secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid #cbd5df;border-radius:8px;background:#fff;color:#344151;cursor:pointer;font-weight:800;padding:0 14px}.placeholder.compact{max-width:560px;padding:14px 18px}.route-loading,.auth-shell{display:grid;min-height:100vh;place-items:center;padding:24px}.route-loading{color:#627080;font-weight:800}.auth-card{display:grid;gap:18px;width:min(430px,100%);border:1px solid #dde5ec;border-radius:8px;background:#fff;padding:24px}.consent-card{display:grid;gap:18px;width:min(560px,100%);border:1px solid #dde5ec;border-radius:8px;background:#fff;padding:24px}.auth-card h1,.consent-card h1{margin:0;font-size:1.8rem;letter-spacing:0}.consent-details{display:grid;gap:10px;border:1px solid #dde5ec;border-radius:8px;padding:14px}.consent-details div{display:flex;justify-content:space-between;gap:16px}.consent-details span,.consent-scopes>span{color:#627080;font-weight:800}.consent-scopes{display:grid;gap:10px}.consent-scopes p{margin:0;color:#627080}.scope-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.scope-list li{border:1px solid #cbd5df;border-radius:8px;background:#f6f8fb;color:#344151;font-weight:800;padding:8px 10px}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:8px;color:#344151;font-weight:800}.auth-form input{min-height:46px;border:1px solid #cbd5df;border-radius:8px;padding:10px 12px}.auth-switch{margin:0;color:#627080}.auth-switch a{color:#0f766e;font-weight:800}.form-message{border-radius:8px;font-weight:800;padding:12px 14px}.form-message.error{border:1px solid #f3a5a5;background:#fff1f1;color:#8f1d1d}.form-message.success{border:1px solid #9dd9bd;background:#ecfdf5;color:#14553a}.form-message.warning{border:1px solid #f4c76b;background:#fff7df;color:#63430c}.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.warning-box.compact{padding:12px 14px}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:10;display:none;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;border-top:1px solid #dde5ec;background:#fffffff5;padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.bottom-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 6px;font-size:.72rem;text-align:center}@media(max-width:760px){.app-header{padding:16px}.app-body{display:block;padding:22px 16px}.side-nav{display:none}.summary-grid,.budget-stats,.budget-edit-form,.goal-edit-form{grid-template-columns:1fr}.empty-state,.settings-list div{align-items:stretch;flex-direction:column}.bottom-nav{display:grid}}@media(min-width:761px){.app-shell{padding-bottom:0}}
