/* Hallmark · macrostructure: Finance Workbench · tone: modern-minimal · anchor hue: cobalt */
* { box-sizing: border-box; }
html, body { min-height: 100%; overflow-x: clip; }
body { margin: 0; background: var(--color-paper); color: var(--color-ink); font-family: var(--font-body); font-size: var(--text-base); line-height: 1.55; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
button { border: 0; }
h1, h2, h3, p { margin-block: 0; }
h1, h2, h3, strong, .button { font-family: var(--font-display); }
h1, h2, h3 { min-width: 0; overflow-wrap: anywhere; color: var(--color-ink); font-style: normal; letter-spacing: -0.035em; line-height: 1.1; }
h1 { font-size: var(--text-display); font-weight: 600; max-width: 17ch; }
h2 { font-size: var(--text-lg); font-weight: 600; }
strong { font-weight: 600; }
small { color: var(--color-muted); }
input, select, textarea { width: 100%; min-height: 2.8rem; padding: var(--space-2) var(--space-3); border: var(--rule) solid var(--color-rule-2); border-radius: var(--radius-sm); outline: 2px solid var(--color-clear); outline-offset: 1px; background: var(--color-surface); color: var(--color-ink); transition: background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out); }
textarea { min-height: 7rem; resize: vertical; }
select { cursor: pointer; }
input[type='checkbox'] { width: 1.1rem; min-height: 1.1rem; accent-color: var(--color-accent); }
input::placeholder, textarea::placeholder { color: var(--color-muted); }
input:hover, select:hover, textarea:hover { background: var(--color-paper-2); }
input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
input:disabled, select:disabled, textarea:disabled, button:disabled { cursor: not-allowed; opacity: 0.55; }
.app-shell { min-height: 100dvh; }
.sidebar { position: fixed; z-index: 20; display: flex; flex-direction: column; inset: 0 auto 0 0; width: min(18.25rem, calc(100% - var(--space-12))); padding: var(--space-5); background: var(--color-surface); border-inline-end: var(--rule) solid var(--color-rule); transform: translateX(-102%); transition: transform var(--dur-med) var(--ease-out); }
.drawer-open .sidebar { transform: translateX(0); box-shadow: var(--shadow-drawer); }
.main-content { min-width: 0; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: 4.75rem; padding: var(--space-3) var(--space-4); border-bottom: var(--rule) solid var(--color-rule); background: var(--color-paper); }
.topbar-greeting { display: flex; flex-direction: column; min-width: 0; color: var(--color-muted); font-size: var(--text-sm); }
.topbar-greeting strong { overflow: hidden; color: var(--color-ink); font-size: var(--text-base); text-overflow: ellipsis; white-space: nowrap; }
.topbar-actions { display: flex; align-items: center; gap: var(--space-2); }
.topbar-actions .button-quiet { display: none; }
.page-content { width: min(100%, 92rem); margin-inline: auto; padding: var(--space-6) var(--space-4) var(--space-12); }
.brand-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-8); }
.brand { display: inline-flex; align-items: center; gap: var(--space-2); font-family: var(--font-display); font-size: var(--text-md); font-weight: 600; letter-spacing: -0.035em; white-space: nowrap; }
.brand-mark { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: var(--radius-sm); background: var(--color-accent); color: var(--color-accent-ink); font-size: var(--text-base); }
.icon-button { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: var(--radius-sm); background: var(--color-clear); color: var(--color-ink); cursor: pointer; font-size: var(--text-md); }
.sidebar-close { color: var(--color-muted); }
.household-chip { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-8); padding: var(--space-3); border-radius: var(--radius-md); background: var(--color-paper-2); }
.household-chip span:last-child { display: flex; min-width: 0; flex-direction: column; }
.household-chip strong { overflow: hidden; font-size: var(--text-sm); text-overflow: ellipsis; white-space: nowrap; }
.household-chip small { font-size: var(--text-xs); }
.avatar { display: grid; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; place-items: center; border-radius: var(--radius-pill); background: var(--color-accent-soft); color: var(--color-accent-strong); font-family: var(--font-display); font-weight: 600; }
.avatar-small { width: 2rem; height: 2rem; font-size: var(--text-sm); }
.nav-list { display: grid; gap: var(--space-1); }
.nav-link { display: flex; align-items: center; min-height: 2.75rem; padding-inline: var(--space-3); border-radius: var(--radius-sm); color: var(--color-neutral); font-size: var(--text-sm); font-weight: 500; white-space: nowrap; }
.nav-link.is-active { background: var(--color-accent-soft); color: var(--color-accent-strong); font-family: var(--font-display); font-weight: 600; }
.sidebar-bottom { display: grid; gap: var(--space-1); margin-top: auto; padding-top: var(--space-5); border-top: var(--rule) solid var(--color-rule); }
.button { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; padding: 0 var(--space-4); border: var(--rule) solid var(--color-clear); border-radius: var(--radius-sm); cursor: pointer; font-size: var(--text-sm); font-weight: 600; line-height: 1; white-space: nowrap; transition: transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out); }
.button-primary { background: var(--color-accent); color: var(--color-accent-ink); }
.button-secondary { background: var(--color-surface); border-color: var(--color-rule-2); color: var(--color-ink); }
.button-quiet { background: var(--color-clear); color: var(--color-ink-2); }
.button-full { width: 100%; }
.message-stack { display: grid; gap: var(--space-2); width: min(100% - var(--space-8), 92rem); margin: var(--space-4) auto 0; }
.message { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3) var(--space-4); border: var(--rule) solid var(--color-rule); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-ink-2); font-size: var(--text-sm); }
.message-success { border-color: var(--color-success); background: var(--color-success-soft); color: var(--color-ink); }
.message-error { border-color: var(--color-danger); background: var(--color-danger-soft); color: var(--color-ink); }
.message button { background: var(--color-clear); color: inherit; cursor: pointer; font-size: var(--text-md); }
.eyebrow, .subtle-label { color: var(--color-muted); font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.page-intro { display: flex; flex-direction: column; gap: var(--space-4); margin-bottom: var(--space-8); }
.page-intro > div > p:last-child, .page-intro > p:last-child, .form-heading > p:last-child { max-width: 62ch; color: var(--color-muted); }
.split-intro, .account-detail-intro { align-items: flex-start; }
.intro-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.back-link, .text-link, .card-link { color: var(--color-accent-strong); font-family: var(--font-display); font-size: var(--text-sm); font-weight: 600; white-space: nowrap; }
.back-link { display: inline-block; margin-bottom: var(--space-3); }
.overview-intro { margin-bottom: var(--space-6); }
.position-card { display: grid; gap: var(--space-6); margin-bottom: var(--space-4); padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-ink); color: var(--color-paper); }
.position-card .eyebrow, .position-card .muted { color: var(--color-paper-3); }
.hero-amount { font-family: var(--font-display); font-size: clamp(2.8rem, 7vw, 5.25rem); font-weight: 600; letter-spacing: -0.06em; line-height: 1; font-variant-numeric: tabular-nums; }
.hero-amount.small { color: var(--color-ink); font-size: clamp(2.8rem, 5vw, 4rem); }
.position-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.position-stats div { display: flex; flex-direction: column; gap: var(--space-1); }
.position-stats span { color: var(--color-paper-3); font-size: var(--text-sm); }
.position-stats strong { font-size: var(--text-md); font-variant-numeric: tabular-nums; }
.metric-grid, .plan-summary-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: var(--space-3); margin-bottom: var(--space-6); }
.metric-card { display: flex; min-height: 8.5rem; flex-direction: column; justify-content: space-between; padding: var(--space-5); border: var(--rule) solid var(--color-rule); border-radius: var(--radius-md); background: var(--color-surface); }
.metric-card > span, .metric-card small { color: var(--color-muted); font-size: var(--text-sm); }
.metric-card strong { font-size: var(--text-xl); letter-spacing: -0.045em; font-variant-numeric: tabular-nums; }
.metric-card-rose { background: var(--color-danger-soft); border-color: var(--color-danger-soft); }
.metric-card-blue { background: var(--color-accent-soft); border-color: var(--color-accent-soft); }
.dashboard-grid { display: grid; gap: var(--space-4); }
.panel { min-width: 0; padding: var(--space-5); border: var(--rule) solid var(--color-rule); border-radius: var(--radius-md); background: var(--color-surface); }
.review-insights { margin-top: var(--space-4); }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-5); }
.panel-heading h2 { font-size: var(--text-md); }
.account-list, .goal-list, .transaction-list, .task-list, .stack-list, .member-mini-list, .activity-list { display: grid; }
.account-row, .transaction-row, .task-row, .simple-link-row, .contribution-row, .member-row { display: flex; align-items: center; gap: var(--space-3); padding-block: var(--space-3); border-bottom: var(--rule) solid var(--color-rule); }
.account-row:last-child, .transaction-row:last-child, .task-row:last-child, .simple-link-row:last-child, .contribution-row:last-child, .member-row:last-child { border-bottom: 0; }
.account-row > div:nth-child(2), .transaction-row > div:nth-child(2), .task-row > div, .simple-link-row > span:first-child, .member-row > div:last-of-type { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.account-row span, .transaction-row span, .task-row small, .simple-link-row small, .member-row small, .contribution-row span { overflow: hidden; color: var(--color-muted); font-size: var(--text-sm); text-overflow: ellipsis; white-space: nowrap; }
.account-icon { display: grid; width: 2.6rem; height: 2.6rem; flex: 0 0 auto; place-items: center; border-radius: var(--radius-sm); background: var(--color-paper-2); color: var(--color-ink-2); font-family: var(--font-display); font-weight: 600; }
.amount { margin-inline-start: auto; font-variant-numeric: tabular-nums; white-space: nowrap; }
.amount.is-out { color: var(--color-danger); }
.transaction-symbol { display: grid; width: 2.3rem; height: 2.3rem; flex: 0 0 auto; place-items: center; border-radius: var(--radius-pill); background: var(--color-success-soft); color: var(--color-success); font-family: var(--font-display); font-weight: 600; }
.transaction-symbol.is-out { background: var(--color-danger-soft); color: var(--color-danger); }
.goal-item { display: block; padding-block: var(--space-3); border-bottom: var(--rule) solid var(--color-rule); }
.goal-item:last-child { border-bottom: 0; }
.goal-line, .goal-caption { display: flex; justify-content: space-between; gap: var(--space-3); }
.goal-line span, .goal-caption { color: var(--color-muted); font-size: var(--text-sm); }
.goal-caption { margin-top: var(--space-2); }
.progress-track { display: block; height: 0.45rem; margin-top: var(--space-3); overflow: hidden; border-radius: var(--radius-pill); background: var(--color-paper-3); }
.progress-track > span { display: block; width: var(--progress); height: 100%; border-radius: inherit; background: var(--color-accent); }
.task-row { align-items: flex-start; }
.task-check { width: 1.125rem; height: 1.125rem; flex: 0 0 auto; margin-top: 0.18rem; border: var(--rule) solid var(--color-rule-2); border-radius: var(--radius-pill); background: var(--color-surface); }
.task-check.is-complete { border-color: var(--color-success); background: var(--color-success); }
.task-actions { display: flex; align-items: center; gap: var(--space-2); margin-inline-start: auto; }
.empty-state { display: flex; min-height: 17rem; align-items: center; justify-content: center; flex-direction: column; gap: var(--space-3); padding: var(--space-8); border: var(--rule) dashed var(--color-rule-2); border-radius: var(--radius-md); color: var(--color-muted); text-align: center; }
.empty-state h2 { font-size: var(--text-lg); }
.empty-state p { max-width: 45ch; }
.empty-state.compact { min-height: 11rem; padding: var(--space-4); font-size: var(--text-sm); }
.empty-icon { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: var(--radius-pill); background: var(--color-accent-soft); color: var(--color-accent-strong); font-size: var(--text-md); }
.account-card-grid, .goal-card-grid, .plan-card-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: var(--space-3); }
.account-card, .goal-card, .plan-card { display: flex; min-height: 15rem; flex-direction: column; gap: var(--space-4); padding: var(--space-5); border: var(--rule) solid var(--color-rule); border-radius: var(--radius-md); background: var(--color-surface); }
.card-top, .goal-card-top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); }
.account-card h2, .goal-card h2, .plan-card h2 { font-size: var(--text-md); }
.account-card p, .goal-card p, .plan-card p { color: var(--color-muted); font-size: var(--text-sm); }
.account-balance { margin-top: auto; font-size: var(--text-xl); font-variant-numeric: tabular-nums; letter-spacing: -0.045em; }
.card-link { margin-top: auto; }
.tag { display: inline-flex; width: max-content; align-items: center; min-height: 1.65rem; padding-inline: var(--space-2); border-radius: var(--radius-pill); background: var(--color-paper-2); color: var(--color-neutral); font-size: var(--text-xs); font-weight: 600; white-space: nowrap; }
.tag-blue { background: var(--color-accent-soft); color: var(--color-accent-strong); }
.tag-muted { background: var(--color-paper-2); color: var(--color-neutral); }
.tag-success { background: var(--color-success-soft); color: var(--color-success); }
.tag-warning { background: var(--color-warning-soft); color: var(--color-warning); }
.two-column-grid { display: grid; gap: var(--space-4); }
.stack-panels { display: grid; align-content: start; gap: var(--space-4); }
.definition-list { display: grid; gap: var(--space-3); margin: var(--space-4) 0 0; }
.definition-list div { display: flex; justify-content: space-between; gap: var(--space-4); }
.definition-list dt { color: var(--color-muted); font-size: var(--text-sm); }
.definition-list dd { margin: 0; font-family: var(--font-display); font-size: var(--text-sm); font-weight: 600; text-align: end; }
.share-disclosure { margin-top: var(--space-5); padding-top: var(--space-4); border-top: var(--rule) solid var(--color-rule); }
.share-disclosure summary { cursor: pointer; color: var(--color-accent-strong); font-family: var(--font-display); font-size: var(--text-sm); font-weight: 600; }
.share-disclosure form { margin-top: var(--space-4); }
.filter-row { display: flex; gap: var(--space-2); margin-bottom: var(--space-4); overflow-x: auto; padding-bottom: var(--space-1); }
.filter-chip { display: inline-flex; min-height: 2.5rem; align-items: center; padding-inline: var(--space-3); border: var(--rule) solid var(--color-rule); border-radius: var(--radius-pill); background: var(--color-surface); color: var(--color-neutral); font-size: var(--text-sm); white-space: nowrap; }
.filter-chip.is-current { border-color: var(--color-accent-soft); background: var(--color-accent-soft); color: var(--color-accent-strong); font-family: var(--font-display); font-weight: 600; }
.transaction-table { min-width: 0; }
.table-head, .table-row { display: grid; grid-template-columns: minmax(11rem, 2fr) minmax(7rem, 1fr) minmax(6rem, 0.8fr) minmax(6rem, 0.8fr); align-items: center; gap: var(--space-4); }
.table-head { padding-bottom: var(--space-3); border-bottom: var(--rule) solid var(--color-rule); color: var(--color-muted); font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.table-row { padding-block: var(--space-4); border-bottom: var(--rule) solid var(--color-rule); font-size: var(--text-sm); }
.table-row > div { display: flex; min-width: 0; flex-direction: column; }
.table-row small { overflow: hidden; color: var(--color-muted); text-overflow: ellipsis; white-space: nowrap; }
.goal-deadline { display: block; margin-top: var(--space-3); }
.goal-hero-panel { display: grid; gap: var(--space-5); margin-bottom: var(--space-5); padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-accent-soft); }
.goal-progress-number { display: flex; flex-direction: column; color: var(--color-accent-strong); }
.goal-progress-number strong { font-size: var(--text-3xl); letter-spacing: -0.055em; line-height: 1; }
.goal-progress-number span { font-size: var(--text-sm); }
.progress-large { grid-column: 1 / -1; height: 0.65rem; margin: 0; }
.plan-financials { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2); padding-top: var(--space-3); border-top: var(--rule) solid var(--color-rule); }
.plan-financials div { display: flex; min-width: 0; flex-direction: column; }
.plan-financials span { color: var(--color-muted); font-size: var(--text-xs); }
.plan-financials strong { overflow: hidden; font-size: var(--text-sm); font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.budget-stack { display: grid; gap: var(--space-4); }
.budget-line-list { display: grid; }
.budget-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); align-items: center; padding-block: var(--space-4); border-bottom: var(--rule) solid var(--color-rule); }
.budget-line:last-child { border-bottom: 0; }
.budget-line .progress-track { margin-top: var(--space-2); }
.budget-numbers { display: flex; flex-direction: column; text-align: end; font-size: var(--text-sm); }
.budget-numbers span { color: var(--color-muted); font-size: var(--text-xs); }
.budget-line > .tag { grid-column: 1 / -1; }
.activity-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-3); padding-block: var(--space-4); border-bottom: var(--rule) solid var(--color-rule); }
.activity-row:last-child { border-bottom: 0; }
.activity-row > div:nth-child(2) { min-width: 0; }
.activity-row p { color: var(--color-ink-2); font-size: var(--text-sm); }
.activity-row small { display: block; overflow: hidden; margin-top: var(--space-1); text-overflow: ellipsis; white-space: nowrap; }
.activity-row time { grid-column: 2; color: var(--color-muted); font-size: var(--text-xs); }
.form-page { width: min(100%, 42rem); margin-inline: auto; }
.form-heading { display: grid; gap: var(--space-3); margin-bottom: var(--space-6); }
.form-panel { display: grid; gap: var(--space-4); }
.form-stack { display: grid; gap: var(--space-4); }
.field { display: grid; gap: var(--space-2); }
.field label { color: var(--color-ink-2); font-family: var(--font-display); font-size: var(--text-sm); font-weight: 600; }
.field > small { min-height: 1lh; font-size: var(--text-xs); }
.field.has-error input, .field.has-error select, .field.has-error textarea { border-color: var(--color-danger); }
.field-error { color: var(--color-danger); font-size: var(--text-sm); }
.checkbox-row { display: flex; align-items: center; gap: var(--space-2); min-height: 2.8rem; }
.checkbox-row span { font-family: var(--font-body); font-size: var(--text-sm); font-weight: 400; }
.form-actions { display: flex; justify-content: flex-end; gap: var(--space-2); padding-top: var(--space-2); }
.empty-launch { display: grid; gap: var(--space-4); width: min(100%, 45rem); padding-block: clamp(var(--space-10), 9vw, var(--space-16)); }
.empty-launch > p:not(.eyebrow) { max-width: 52ch; color: var(--color-muted); }
.launch-form { width: min(100%, 27rem); margin-top: var(--space-2); }
.status-card { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 2.75rem; padding-inline: var(--space-3); border: var(--rule) solid var(--color-rule); border-radius: var(--radius-pill); background: var(--color-surface); color: var(--color-ink-2); font-size: var(--text-sm); white-space: nowrap; }
.status-dot { width: 0.55rem; height: 0.55rem; border-radius: var(--radius-pill); background: var(--color-success); }
.invite-list { display: grid; gap: var(--space-3); margin-top: var(--space-6); padding-top: var(--space-5); border-top: var(--rule) solid var(--color-rule); }
.invite-row { display: grid; gap: var(--space-1); padding: var(--space-3); border-radius: var(--radius-sm); background: var(--color-paper-2); font-size: var(--text-sm); }
.invite-row code { overflow: auto; color: var(--color-muted); font-size: var(--text-xs); }
.auth-layout { display: grid; min-height: 100dvh; align-content: center; gap: var(--space-8); padding: var(--space-6) var(--space-4); }
.auth-content { width: min(100%, 31rem); margin-inline: auto; }
.auth-brand { position: absolute; top: var(--space-5); inset-inline-start: var(--space-5); }
.auth-card { display: grid; gap: var(--space-8); width: min(100%, 31rem); margin-inline: auto; padding: var(--space-6); border: var(--rule) solid var(--color-rule); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-panel); }
.auth-copy { display: grid; gap: var(--space-3); }
.auth-copy p:last-child, .auth-foot { color: var(--color-muted); }
.auth-foot { font-size: var(--text-sm); text-align: center; }
.auth-foot a { color: var(--color-accent-strong); font-family: var(--font-display); font-weight: 600; }
@media (hover: hover) and (pointer: fine) {
  .button:hover { transform: translateY(-1px); }
  .button-primary:hover { background: var(--color-accent-strong); }
  .button-secondary:hover, .filter-chip:hover { border-color: var(--color-accent); background: var(--color-accent-soft); }
  .button-quiet:hover, .nav-link:hover { background: var(--color-paper-2); }
  .account-row:hover, .account-card:hover, .goal-card:hover, .plan-card:hover, .goal-item:hover { background: var(--color-paper-2); }
  .account-card:hover, .goal-card:hover, .plan-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-panel); }
}
.button:active { transform: translateY(1px); }
@media (pointer: coarse) { .button, .nav-link, .filter-chip, .icon-button { min-height: 2.75rem; } }
@media (min-width: 40rem) {
  .page-content { padding: var(--space-8) var(--space-6) var(--space-12); }
  .topbar-actions .button-quiet { display: inline-flex; }
  .split-intro, .account-detail-intro { flex-direction: row; justify-content: space-between; gap: var(--space-8); }
  .position-card { grid-template-columns: minmax(0, 1.4fr) minmax(16rem, 0.8fr); align-items: end; }
  .position-stats { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .metric-grid, .plan-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .account-card-grid, .goal-card-grid, .plan-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .activity-row { grid-template-columns: auto minmax(0, 1fr) auto; }
  .activity-row time { grid-column: 3; text-align: end; }
  .budget-line { grid-template-columns: minmax(0, 1fr) auto auto; }
  .budget-line > .tag { grid-column: auto; }
}
@media (min-width: 60rem) {
  .app-shell { display: grid; grid-template-columns: 18.25rem minmax(0, 1fr); }
  .sidebar { position: sticky; width: auto; height: 100dvh; transform: none; box-shadow: none; }
  .sidebar-close, .menu-toggle { display: none; }
  .page-content { padding: var(--space-10) var(--space-10) var(--space-16); }
  .dashboard-grid { grid-template-columns: minmax(0, 1.3fr) minmax(19rem, 0.7fr); }
  .panel-wide { grid-column: auto; }
  .two-column-grid { grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.65fr); }
  .account-card-grid, .goal-card-grid, .plan-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .table-row, .table-head { grid-template-columns: minmax(14rem, 2fr) minmax(8rem, 1fr) minmax(7rem, 0.8fr) minmax(7rem, 0.8fr); }
}
@media (min-width: 90rem) { .dashboard-grid { grid-template-columns: minmax(0, 1.45fr) minmax(22rem, 0.75fr); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto; transition-duration: 1ms; animation-duration: 1ms; animation-iteration-count: 1; } }
