/* Asset screens share one quiet surface; provider forms stay in dialogs. */
html:has(.assets-page-body), body.assets-page-body { background: #fff; color: #252c32; }
.assets-page-body { --assets-text: #252c32; --assets-muted: #7d858d; --assets-line: #eef0f2; --assets-accent: #28765e; }
.assets-page-body [hidden] { display: none !important; }
.assets-page-body main.page-shell.connections-page { max-width: 980px; padding-inline: 28px; padding-bottom: 36px; }
.assets-page-body .app-header { display: flex; flex-wrap: nowrap; align-items: center; gap: 12px; margin-bottom: 12px; padding-inline: 0; border: 0; border-radius: 0; box-shadow: none; background: #fff; backdrop-filter: none; }
.assets-page-body .app-header .brand { font-size: 15px; color: #53615c; font-weight: 600; }
.assets-page-body .app-header .brand-mark { flex: 0 0 28px; width: 28px; height: 28px; box-shadow: none; }
.assets-page-body .app-header .nav-menu-button { flex: 0 0 40px; border-color: transparent; background: transparent; color: #7c858d; box-shadow: none; }
.assets-page-body .app-header .brand { flex: 0 0 28px; }
.assets-page-body .app-header [data-family-brand] { display: none; }
.assets-page-body .connections-intro { flex: 1; min-width: 0; margin: 0; text-align: left; }
.assets-page-body .connections-title { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.assets-page-body .connections-intro .connections-title h1 { margin: 0; font-size: 28px; line-height: 1.3; font-weight: 750; letter-spacing: -.8px; color: var(--assets-text); }
.assets-header-actions { display: flex; align-items: center; gap: 4px; }
.assets-icon-button, .assets-add-button { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 10px; background: transparent; color: #7c858d; font: inherit; font-size: 26px; cursor: pointer; }
.assets-add-button { font-size: 30px; font-weight: 400; }
.assets-icon-button svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.65; }
.assets-icon-button:hover, .assets-add-button:hover { background: #f5f7f6; }
.assets-icon-button:disabled { opacity: .35; cursor: default; }
.assets-page-body .assets-type-tabs { display: flex; gap: 26px; margin: 0; padding: 0; border-bottom: 1px solid var(--assets-line); background: transparent; border-radius: 0; }
.assets-page-body .assets-type-tabs > button { flex: 0 0 auto; min-height: 48px; padding: 12px 1px; margin: 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; box-shadow: none; background: transparent; color: #8e969c; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.assets-page-body .assets-type-tabs > button[aria-selected="true"] { color: var(--assets-text); border-bottom-color: var(--assets-text); background: transparent; box-shadow: none; }
.assets-page-body .assets-type-tabs > button > span { display: inline; margin: 0 0 0 4px; color: #929ba2; font-size: 12px; font-weight: 400; }
.assets-summary { position: relative; padding: 26px 0 22px; }
.assets-summary-heading { display: flex; align-items: center; gap: 5px; }
.assets-summary h2 { margin: 0; color: #717b83; font-size: 14px; line-height: 1.5; font-weight: 400; }
.assets-summary #assets-visibility { width: 38px; height: 32px; padding: 6px 9px; }
.assets-summary #assets-visibility svg { width: 17px; height: 17px; }
.assets-total { margin: 4px 0 6px; font-size: 28px; line-height: 1.3; font-weight: 700; letter-spacing: -.8px; color: var(--assets-text); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.assets-summary-details { color: #8a939b; font-size: 11px; line-height: 1.7; }
.assets-summary-details > summary { width: fit-content; padding: 5px 0; cursor: pointer; }
.assets-summary-details[open] { max-width: 580px; }
.assets-total-note, .assets-list-footnote { margin: 5px 0; color: #747f87; font-size: 12px; line-height: 1.8; }
.assets-attention { margin: 5px 0 0; color: #a1753d; font-size: 11px; line-height: 1.5; }
.assets-list-section { padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; }
.assets-tools { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0 15px; border-bottom: 1px solid var(--assets-line); }
.assets-search { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; }
.assets-search svg { flex: 0 0 18px; width: 18px; height: 18px; stroke: #929ba2; stroke-width: 1.6; }
.assets-page-body .assets-search input { width: 100%; min-width: 0; min-height: 40px; padding: 7px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: 16px; }
.assets-search input::placeholder { color: #929ba2; font-size: 13px; }
.assets-sort { flex-shrink: 0; }
.assets-page-body .assets-sort select { width: 90px; min-height: 40px; padding: 5px 22px 5px 5px; border: 0; background-color: transparent; color: #717c85; font-size: 12px; box-shadow: none; }
.assets-page-body #financial-access-list { margin: 0; padding: 2px 0; border: 0; border-top: 1px solid var(--assets-line); border-radius: 0; background: transparent; }
.assets-page-body .asset-account-row { display:flex; align-items:center; gap:14px; width:100%; min-height:94px; padding:16px 0; border:0; background:transparent; }
.asset-account-link { display:flex; align-items:center; gap:14px; min-width:0; flex:1; color:var(--assets-text); text-decoration:none; border-radius:12px; }
.asset-account-link:hover { background:var(--theme-raised,#f8faf9); }
.asset-institution { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border-radius:14px; overflow:hidden; background:var(--theme-raised,#f4f6f5); color:var(--theme-muted,#6e8178); font-size:13px; font-weight:600; }
.asset-institution.has-logo { background:transparent; }
.asset-institution img { display:block; width:36px; height:36px; object-fit:contain; }
.asset-shared-mark { margin-left:5px; color:var(--theme-muted,#89948d); font-size:10px; font-weight:400; }
.assets-page-body .asset-account-row .settings-menu-copy { display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-width:0; flex:1; }
.assets-page-body .asset-account-row .settings-menu-value { display:block; margin:0; max-width:100%; color:var(--theme-text,#252c32); font-size:23px; line-height:1.35; font-weight:700; letter-spacing:-.6px; font-variant-numeric:tabular-nums; text-align:left; white-space:normal; overflow-wrap:anywhere; }
.assets-page-body .asset-account-row .asset-account-name { display:block; max-width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:var(--theme-muted,#78838b); font-size:14px; line-height:1.5; }
.assets-page-body .asset-account-row .settings-menu-value[data-known="false"],
.assets-page-body .asset-account-row .asset-card-label { font-size:18px; }
.asset-account-meta, .asset-sync-date:not([data-warning="true"]) { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.asset-sync-date[data-warning="true"] { color:var(--theme-warning,#a1753d); font-size:10px; line-height:1.5; }
.asset-refresh-button { position:relative; flex:0 0 auto; min-height:40px; padding:10px 12px; border:0; border-radius:12px; background:var(--theme-raised,#f2f4f5); color:var(--theme-text,#59636b); font:inherit; font-size:12px; font-weight:600; cursor:pointer; white-space:nowrap; }
.asset-refresh-button:hover { filter:brightness(.97); }
.asset-refresh-button:disabled { opacity:.6; cursor:wait; }
.asset-refresh-indicator { position:absolute; top:-7px; right:-4px; display:grid; place-items:center; width:17px; height:17px; border:2px solid var(--theme-panel,#fff); border-radius:50%; background:var(--theme-warning,#b77a35); color:#fff; font:700 11px/1 sans-serif; }
.asset-refresh-indicator[hidden] { display:none; }
#assets-refresh-button { position:relative; gap:5px; }
.asset-empty { padding: 48px 16px; text-align: center; }
.asset-empty-icon { display: inline-grid; place-items: center; width: 54px; height: 54px; border-radius: 18px; margin-bottom: 15px; background: #f2f5f3; color: #7a9387; font-size: 26px; }
.asset-empty h3 { margin: 0 0 10px; color: #404a45; font-size: 17px; line-height: 1.5; font-weight: 600; }
.asset-empty p { max-width: 340px; margin: auto; color: #85908a; font-size: 13px; line-height: 1.8; }
.asset-no-results, .connection-loading { padding: 24px 0; text-align: center; color: #839089; font-size: 13px; }
.assets-page-body .connections-asset-page { padding: 0; border: 0; border-radius: 0; background: transparent; }
.assets-detail-toolbar { display: flex; justify-content: space-between; align-items: center; min-height: 56px; margin: 12px 0 22px; }
.connections-back { display: inline-grid; place-items: center; width: 44px; min-height: 44px; margin-left: -10px; text-decoration: none; font-size: 34px; color: #66717a; }
.connections-detail-tabs { display: flex; align-items: center; }
.connections-detail-tabs button { min-height: 44px; padding: 10px 0 10px 16px; border: 0; background: transparent; color: #6b757d; font: inherit; font-size: 14px; cursor: pointer; }
.assets-page-body .connections-asset-page .financial-access-item { display: block; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.assets-page-body .financial-access-item-heading { display: block; padding: 0; border: 0; }
.financial-detail-name { display: flex; align-items: center; gap: 9px; }
.financial-detail-name .asset-institution { width: 28px; height: 28px; }
.financial-detail-name .asset-institution img { width: 26px; height: 26px; }
.assets-page-body .financial-detail-name h3 { margin: 0; color: #6e7880; font-size: 16px; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
.financial-asset-kind, .financial-service-tier { display: none; }
.financial-asset-balance-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.assets-page-body .financial-asset-balance-line { margin: 8px 0 10px; }
.assets-page-body .financial-access-item .financial-asset-balance { display: block; color: #252c32 !important; font-size: 30px; line-height: 1.3; font-weight: 700; letter-spacing: -.8px; text-align: left !important; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; white-space: normal; }
.assets-page-body .financial-asset-masked { display: block; margin: 0; color: #899199; font-size: 13px; line-height: 1.7; }
.assets-page-body .financial-asset-sync-state { margin: 5px 0 0; color: #8b949b; font-size: 11px; line-height: 1.7; }
.assets-page-body .connections-asset-page .financial-activity { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--assets-line); }
.financial-access-item[data-view="activity"] .financial-asset-management,
.financial-access-item[data-view="manage"] .financial-activity { display: none; }
.financial-access-item[data-view="manage"] .financial-service-tier { display: block; width: fit-content; margin-top: 10px; padding: 0; color: #7a858c; background: transparent; font-size: 12px; }
.financial-asset-management { padding-top: 24px; }
.financial-asset-management .financial-asset-actions { justify-content: flex-start; gap: 10px; }
.financial-asset-rename-form { padding: 12px 0; border: 0; background: transparent; }
.financial-asset-management .financial-asset-sharing { border: 0; }
.financial-permission-toggle { font-weight: 400; }
.assets-action-dialog { width: min(440px, calc(100% - 32px)); margin: auto; padding: 26px; border: 1px solid #e6ebe8; border-radius: 22px; background: #fff; color: #304b3b; box-shadow: 0 25px 80px color-mix(in srgb, var(--theme-shadow-ink,rgb(31 51 35)) 14.902%, transparent); }
.assets-action-dialog::backdrop { background: #1a2e256b; backdrop-filter: blur(3px); }
body:has(.assets-action-dialog[open]) { overflow: hidden; }
.assets-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.assets-dialog-heading h2 { margin: 0; font-size: 21px; font-weight: 650; letter-spacing: -.6px; }
.assets-dialog-lead { margin: 6px 0 22px; font-size: 13px; line-height: 1.7; color: #839080; }
.assets-method { display: flex; align-items: center; gap: 14px; width: 100%; padding: 20px 0; border: 0; border-top: 1px solid #edf0eb; border-radius:12px; background: transparent; color: inherit; text-align: left; font: inherit; cursor: pointer; }
.assets-method:hover { background: #f6f8f5; }
.assets-method:disabled { opacity: .5; cursor: wait; }
.assets-method > span:has(strong) { flex: 1; }
.assets-method strong { display: block; font-size: 14px; font-weight: 600; line-height: 1.5; }
.assets-method small { display: block; margin-top: 5px; font-size: 12px; color: #839080; line-height: 1.7; }
.assets-method-icon { display: grid; place-items: center; flex: 0 0 36px; height: 36px; border-radius: 12px; background: #f0f4ec; color: #7c8d68; font-size: 23px; }
.assets-method-arrow { color: #a9b49f; }
.assets-dialog-note { padding-top: 16px; margin: 8px 0 0; border-top: 1px solid #edf0eb; font-size: 11px; line-height: 1.8; color: #8b9583; }
.connection-provider-dialog { width: min(460px, calc(100% - 24px)); }
.connection-provider-dialog .connection-provider-form { padding: 24px; }
.connection-provider-dialog .quick-install-dialog-lead { font-size: 12px; line-height: 1.7; margin: 12px 0 18px; }
.connection-provider-dialog .quick-card-form { gap: 12px; }
.connection-provider-dialog .quick-card-security-note { padding: 0; border: 0; background: transparent; color: #758197; font-size: 11px; line-height: 1.7; }
.connection-form-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.connection-form-heading h2 { margin: 0; font-size: 18px; }
.connection-form-heading button { border: 0; color: #66786f; background: transparent; width: 40px; height: 40px; padding: 0; font: inherit; font-size: 26px; cursor: pointer; }
.assets-page-body :is(button, a, input, select, summary):focus-visible { outline: 2px solid var(--theme-accent,#739079); outline-offset: 4px; }
.assets-page-body .commerce-footer { margin-top: 40px; color: #8e9893; opacity: .8; }
@container kkaebu (max-width: 599px){
  .assets-page-body main.page-shell.connections-page { padding-inline: max(20px, env(safe-area-inset-left)); }
  .assets-page-body .app-header { padding-block: 8px; }
  .assets-page-body .connections-intro { margin: 0; }
  .assets-page-body .connections-intro .connections-title h1 { font-size: 25px; }
  .assets-page-body .app-header { gap: 8px; }
  .assets-header-actions { gap: 0; }
  .assets-summary { padding: 24px 0 20px; }
  .assets-total { font-size: 26px; }
  .assets-summary h2 { font-size: 12px; }
  .asset-institution { width: 36px; height: 36px; }
  .asset-institution img { width: 32px; height: 32px; }
  .assets-detail-toolbar { margin: 4px 0 20px; }
  .assets-page-body .financial-access-item .financial-asset-balance { font-size: 28px; }
  .assets-action-dialog { padding: 22px; }
  .connection-provider-dialog .connection-provider-form { padding: 20px; }
}
@container kkaebu (max-width: 359px){
  .assets-page-body main.page-shell.connections-page { padding-inline: max(16px, env(safe-area-inset-left)); }
  .assets-header-actions .assets-icon-button, .assets-add-button { width: 36px; padding-inline: 6px; }
  .asset-institution { width: 32px; height: 32px; }
}
.assets-plan-label { display:inline-block; width:fit-content; margin-bottom:6px; padding:2px 7px; border-radius:6px; background:var(--theme-raised,#f0f6f2); color:var(--theme-accent,#28765e); font-size:10px; line-height:1.5; font-weight:700; }
#assets-manual-banks { font-size:11px; line-height:1.8; }
body.assets-page-body main.page-shell.connections-page { display:flex; flex-direction:column; min-height:100dvh; }
body.assets-page-body main.page-shell.connections-page > :not(.commerce-footer--site) { flex-shrink:0; }
body.assets-page-body main.page-shell.connections-page > .commerce-footer--site { margin-top:auto; padding-top:48px; flex-shrink:0; }
.assets-page-body .app-header .assets-header-add { flex:0 0 auto; min-height:40px; padding:8px 10px; border:0; border-radius:12px; color:var(--theme-accent,#28765e); background:var(--theme-accent-soft,#e8f5ef); font:inherit; font-size:13px; font-weight:650; white-space:nowrap; cursor:pointer; }
.assets-overview-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--theme-line,var(--assets-line)); }
.assets-page-body .assets-overview-toolbar .assets-type-tabs { flex:1; min-width:0; border-bottom:0; }
.assets-overview-actions { display:flex; flex:0 0 auto; align-items:center; margin:0; }
.assets-overview-actions :is(button,a) { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 10px; border:1px solid var(--theme-line,#dfe8e2); border-radius:12px; color:var(--theme-accent,#28765e); background:var(--theme-panel,#fff); font:inherit; font-size:12px; text-decoration:none; cursor:pointer; }
.assets-overview-actions [hidden] { display:none; }
.assets-notify-link { display:flex; align-items:center; justify-content:flex-end; gap:6px; width:fit-content; min-height:32px; margin-left:auto; padding:4px 0; color:var(--theme-accent,#28765e); font:inherit; font-size:12px; line-height:1.5; text-decoration:none; }
.asset-empty-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:20px; }
.asset-empty-actions button { min-height:44px; border-radius:12px; font-size:13px; cursor:pointer; }
.assets-overview-actions button:disabled { opacity:.6; cursor:wait; }
@container kkaebu (max-width:359px){ .assets-page-body .app-header { gap:5px; } .assets-page-body .app-header .assets-header-add { padding-inline:7px; font-size:12px; } }
@container kkaebu (max-width:599px){
  .assets-page-body .asset-account-row { gap:10px; min-height:92px; padding-block:16px; }
  .asset-account-link { gap:12px; }
  .assets-page-body .asset-account-row .settings-menu-value { font-size:21px; }
  .assets-page-body .asset-account-row .asset-account-name { font-size:13px; }
  .asset-refresh-button { padding-inline:10px; font-size:11px; }
}
@container kkaebu (max-width:359px){
  .asset-account-link { gap:9px; }
  .asset-institution { flex-basis:32px; }
  .assets-page-body .asset-account-row .settings-menu-value { font-size:19px; }
}
