/* Nova: an opt-in palette/shape layer over the existing customer UI.
 * Source: the Nova design-systems-v3 exploration in «طراحی صفحه خانه جدید».
 * Dark values extend that light-only study. Softer shapes and primary sizing
 * follow the Nova-only refinement requested on 2026-10-03.
 * Kept after shared components; excluded from the generated legacy dark bridge.
 */
/* Transaction rows own the card inset, including the trailing amount and
 * divider. Use the responsive card token instead of the legacy 12px padding. */
html[data-app-theme="nova"] body .phone .transaction-list > article {
  padding-inline: var(--biz-card-padding);
  --biz-divider-inset: var(--biz-card-padding);
  --biz-divider-row-padding: var(--biz-card-padding);
}

/* Financial visuals, 2026-10-06. Read-only, with the existing Nova surfaces. */
html[data-app-theme="nova"] .phone .nova-finance-viz {
  --nv-paid: var(--nova-credit-available);
  --nv-radius-bar: 4px;
  --nv-radius-control: var(--biz-radius-inset);
  --nv-pending: var(--nova-credit-reserved);
  --nv-expense: var(--nova-credit-used);
  color: var(--biz-ink);
  min-width: 0;
  margin-block: 16px;
}
html[data-app-theme="nova"] .phone .nova-finance-viz.biz-card { border-radius: var(--biz-radius-card); }
html[data-app-theme="nova"] .phone .nova-finance-viz:not(.biz-card) { margin-block: 8px 0; }
html[data-app-theme="nova"] .phone .nova-finance-viz[hidden] { display: none; }
html[data-app-theme="nova"] .phone .nova-finance-viz :is(p,h3,ul,ol,dl) { margin: 0; }
html[data-app-theme="nova"] .phone .nova-finance-viz :is(button,input) { font: inherit; }
html[data-app-theme="nova"] .phone .nova-finance-viz :is(button,input,[data-nv-plot]):focus-visible {
  outline: 2px solid var(--biz-focus); outline-offset: 3px;
}
html[data-app-theme="nova"] .phone .nova-finance-viz [data-tone="paid"] { background: var(--nv-paid); }
html[data-app-theme="nova"] .phone .nova-finance-viz [data-tone="pending"] { background: var(--nv-pending); }
html[data-app-theme="nova"] .phone .nova-finance-viz [data-tone="expense"] { background: var(--nv-expense); }
html[data-app-theme="nova"] .phone .nova-finance-viz [data-tone="upcoming"] { background: var(--nv-pending); }
html[data-app-theme="nova"] .phone .nova-finance-viz [data-tone="overdue"] { background: var(--biz-danger); }
html[data-app-theme="nova"] .phone .nv-heading { display: grid; gap: 4px; margin-bottom: 20px; }
html[data-app-theme="nova"] .phone .nv-heading p,
html[data-app-theme="nova"] .phone .nova-finance-viz :is(.nv-caption,.nv-footnote,.nv-scale,.nv-empty) {
  font-size: 12px; line-height: 22px; font-weight: 400; color: var(--biz-muted);
}
html[data-app-theme="nova"] .phone .nova-finance-viz .nv-footnote { margin-top: 16px; }
html[data-app-theme="nova"] .phone .nova-finance-viz .nv-caption { margin-block: 12px; }
html[data-app-theme="nova"] .phone .nova-finance-viz .nv-scale { margin-block: 12px; }
html[data-app-theme="nova"] .phone .nv-axis-labels {
  display: flex; justify-content: space-between; gap: 12px;
  font-size: 11px; line-height: 20px; color: var(--biz-muted);
}
html[data-app-theme="nova"] .phone svg.nv-forecast { display: block; width: 100%; height: auto; overflow: visible; margin-top: 8px; touch-action: pan-y; cursor: ew-resize; user-select: none; -webkit-user-select: none; }
html[data-app-theme="nova"] .phone .nv-forecast :is(path,line) { fill: none; vector-effect: non-scaling-stroke; }
html[data-app-theme="nova"] .phone .nv-grid { stroke: var(--biz-line); stroke-width: 1; }
html[data-app-theme="nova"] .phone .nv-zero { stroke: var(--biz-muted); stroke-width: 1; stroke-dasharray: 3 5; }
html[data-app-theme="nova"] .phone .nv-forecast-line { stroke: var(--nv-paid); stroke-width: 2.5; stroke-linejoin: round; }
html[data-app-theme="nova"] .phone .nv-low { fill: var(--biz-warning); stroke: var(--biz-surface); stroke-width: 2; }
html[data-app-theme="nova"] .phone .nv-point { fill: var(--nv-paid); stroke: var(--biz-surface); stroke-width: 2; }
html[data-app-theme="nova"] .phone .nv-cursor { stroke: var(--nv-paid); stroke-width: 1; stroke-dasharray: 3 4; opacity: .5; }
html[data-app-theme="nova"] .phone .nv-readout { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin-block: 16px; }
html[data-app-theme="nova"] .phone .nv-readout > span { color: var(--biz-muted); font-size: 12px; line-height: 22px; }
html[data-app-theme="nova"] .phone .nv-readout > strong { font-size: 18px; line-height: 30px; font-weight: 600; }
html[data-app-theme="nova"] .phone .nv-event-list { list-style: none; padding: 0; display: grid; gap: 12px; }
html[data-app-theme="nova"] .phone .nv-event-list li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; font-size: 13px; line-height: 24px; }
html[data-app-theme="nova"] .phone .nv-event-list small { display: block; color: var(--biz-muted); font-size: 12px; }
html[data-app-theme="nova"] .phone .nv-collection-title { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 12px; align-items: baseline; font-size: 14px; line-height: 26px; }
html[data-app-theme="nova"] .phone .nv-collection-title > span { color: var(--biz-muted); font-size: 12px; }
html[data-app-theme="nova"] .phone .nv-stack { display: flex; gap: 0; height: 12px; margin-block: 16px; background: var(--biz-surface-soft); border-radius: var(--nv-radius-bar); overflow: hidden; }
html[data-app-theme="nova"] .phone .nv-stack > span { flex: 0 0 auto; height: 100%; }
html[data-app-theme="nova"] .phone :is(.nv-legend,.nv-collection-legend) i { width: 9px; height: 9px; display: inline-block; border-radius: 3px; flex-shrink: 0; }
html[data-app-theme="nova"] .phone .nv-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 12px; line-height: 24px; }
html[data-app-theme="nova"] .phone .nv-legend > span { display: inline-flex; align-items: center; gap: 6px; }
html[data-app-theme="nova"] .phone .nv-collection-legend { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
html[data-app-theme="nova"] .phone .nv-collection-legend > :is(button,div) { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 4px; min-height: 48px; min-width: 0; padding: 0; text-align: start; border: 0; background: none; color: inherit; border-radius: var(--nv-radius-control); }
html[data-app-theme="nova"] .phone .nv-collection-legend button { cursor: pointer; }
html[data-app-theme="nova"] .phone .nv-collection-legend span:not(.biz-money) { font-size: 12px; line-height: 22px; }
html[data-app-theme="nova"] .phone .nv-collection-legend > :is(button,div) > span { display: flex; align-items: center; gap: 6px; }
html[data-app-theme="nova"] .phone .nv-collection-legend strong { font-size: 14px; line-height: 26px; font-weight: 600; }
html[data-app-theme="nova"] .phone .nv-collection-legend small { color: var(--biz-brand); font-size: 11px; line-height: 22px; }
html[data-app-theme="nova"] .phone .nv-columns { display: flex; gap: 8px; overflow-x: auto; padding: 4px; margin: 0 -4px; scrollbar-width: thin; scroll-snap-type: x proximity; }
html[data-app-theme="nova"] .phone .nv-column { display: flex; flex: 1 0 48px; flex-direction: column; gap: 8px; justify-content: flex-start; align-items: stretch; padding: 8px 4px; min-width: 48px; min-height: 48px; border: 0; border-radius: var(--nv-radius-control); background: transparent; color: var(--biz-muted); cursor: pointer; text-align: center; font-size: 12px; line-height: 22px; scroll-snap-align: start; }
html[data-app-theme="nova"] .phone .nv-column[aria-pressed="true"] { background: var(--biz-selected); color: var(--biz-ink); box-shadow: inset 0 -2px 0 var(--biz-brand); }
html[data-app-theme="nova"] .phone .nv-column-plot { display: flex; align-items: flex-end; justify-content: center; gap: 5px; height: 112px; width: 100%; border-bottom: 1px solid var(--biz-control-line); }
html[data-app-theme="nova"] .phone .nv-column-plot > i { display: block; width: 12px; border-radius: var(--nv-radius-bar) var(--nv-radius-bar) 0 0; }
html[data-app-theme="nova"] .phone .nv-month-columns .nv-column { flex: 1 0 108px; max-width: 160px; }
html[data-app-theme="nova"] .phone .nv-stacked-column { flex-direction: column-reverse; align-items: center; justify-content: flex-start; gap: 0; }
html[data-app-theme="nova"] .phone .nv-stacked-column > i { width: 28px; flex-shrink: 0; border-radius: 0; }
html[data-app-theme="nova"] .phone .nv-stacked-column > i:first-child { border-radius: 0 0 var(--nv-radius-bar) var(--nv-radius-bar); }
html[data-app-theme="nova"] .phone .nv-stacked-column > i:last-child { border-radius: var(--nv-radius-bar) var(--nv-radius-bar) 0 0; }
html[data-app-theme="nova"] .phone .nv-column-total { font-size: 11px; white-space: nowrap; }
html[data-app-theme="nova"] .phone .nv-overdue-label { font-size: 10px; color: var(--biz-danger); }
html[data-app-theme="nova"] .phone .nv-month-selection { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; font-size: 14px; }
html[data-app-theme="nova"] .phone .nv-month-selection button { border: 0; background: transparent; color: var(--biz-brand); min-height: 48px; padding: 4px; cursor: pointer; }
html[data-app-theme="nova"] .phone .nv-routes { list-style: none; padding: 0; display: grid; gap: 20px; }
html[data-app-theme="nova"] .phone .nv-route { display: grid; grid-template-columns: minmax(0,1fr) 40px minmax(0,1fr); gap: 8px; align-items: center; text-align: center; }
html[data-app-theme="nova"] .phone .nv-route strong { font-size: 13px; line-height: 24px; font-weight: 600; }
html[data-app-theme="nova"] .phone .nv-route-arrow { color: var(--biz-brand); font-size: 30px; line-height: 36px; }
html[data-app-theme="nova"] .phone .nv-route-caption { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 12px; margin-top: 4px; font-size: 12px; line-height: 24px; color: var(--biz-muted); }
html[data-app-theme="nova"] .phone .nv-route-caption b { color: var(--biz-ink); font-weight: 600; }
html[data-app-theme="nova"] .phone .nv-breakdown { margin-top: 24px; }
html[data-app-theme="nova"] .phone .nova-finance-viz .biz-fact-list { margin: 0; }
@media (max-width: 360px) {
  html[data-app-theme="nova"] .phone .nv-collection-legend { grid-template-columns: minmax(0,1fr); }
  html[data-app-theme="nova"] .phone .nv-collection-legend > :is(button,div) { flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
}
html[data-app-theme="nova"] .phone .nv-stacked-column > i:only-child { border-radius: var(--nv-radius-bar); }
html[data-app-theme="nova"] .phone[data-app-theme="nova"] {
  --biz-brand: var(--nova-palette-primary, #6550cc);
  --biz-brand-bright: var(--nova-palette-primary-bright, #8d79e8);
  --biz-canvas: var(--nova-palette-canvas, #f8f7fc);
  --biz-surface: var(--nova-palette-surface, #fff);
  --biz-surface-soft: var(--nova-palette-primary-soft, #eee9fb);
  --biz-ink: var(--nova-palette-ink, #282237);
  --biz-muted: var(--nova-palette-muted, #625a74);
  --biz-icon: var(--nova-palette-muted-icon, #584e65);
  --biz-line: #ededed;
  --biz-card-line: var(--nova-palette-surface, #fff);
  --biz-control-line: #a09da7;
  --biz-focus: var(--nova-palette-primary, #6550cc);
  --biz-selected: var(--nova-palette-primary-soft, #eee9fb);
  --biz-success: var(--nova-palette-success, #008150);
  --biz-success-soft: var(--nova-palette-success-soft, #e8faf1);
  --biz-warning: var(--nova-palette-warning, #986124);
  --biz-warning-soft: var(--nova-palette-warning-soft, #fff2e3);
  --biz-danger: var(--nova-palette-danger, #bf415c);
  --biz-danger-soft: var(--nova-palette-danger-soft, #fff0f3);
  --biz-info: var(--nova-palette-primary-info, #6652bb);
  --biz-info-soft: var(--nova-palette-primary-info-soft, #efedfb);
  --biz-positive-amount: var(--nova-palette-success, #008150);
  --biz-divider-color: #ededed;
  --biz-divider-thickness: 1px;
  --biz-radius-card: 32px;
  --biz-radius-control: 28px;
  --biz-radius-inset: 24px;
  --biz-radius-sheet: 32px;
  --biz-tag-radius: 12px;
  --biz-action-height: 56px;
  --biz-header-action-height: 48px;
  --biz-shadow-card: 0 8px 24px rgb(var(--nova-palette-primary-shadow-rgb, 63 44 112) / 7%), 0 2px 6px rgb(var(--nova-palette-primary-shadow-rgb, 63 44 112) / 4%);
  --biz-shadow-account: 0 16px 36px rgb(var(--nova-palette-primary-rgb, 101 80 204) / 12%), 0 4px 12px rgb(var(--nova-palette-primary-shadow-rgb, 63 44 112) / 6%);
  --nova-nav-shadow: 0 12px 32px rgb(var(--nova-palette-primary-shadow-rgb, 63 44 112) / 14%), 0 2px 8px rgb(var(--nova-palette-primary-shadow-rgb, 63 44 112) / 6%);
  --biz-icon-radius-compact: 12px;
  --biz-icon-radius-row: 12px;
  --biz-icon-radius-action: 16px;
  --biz-tile-blue: var(--nova-palette-primary, #6550cc);
  --biz-tile-blue-soft: var(--nova-palette-primary-soft, #eee9fb);
  --biz-tile-purple: var(--nova-palette-primary-info, #6652bb);
  --biz-tile-purple-soft: var(--nova-palette-primary-info-soft, #efedfb);
  --biz-tile-green: var(--nova-palette-success-tile, #009761);
  --biz-tile-green-soft: var(--nova-palette-success-soft, #e8faf1);
  --biz-tile-orange: var(--nova-palette-warning, #986124);
  --biz-tile-orange-soft: var(--nova-palette-warning-soft, #fff2e3);
  --biz-tile-red: var(--nova-palette-danger, #bf415c);
  --biz-tile-red-soft: var(--nova-palette-danger-soft, #fff0f3);
  --field-border-color: var(--biz-control-line);
  --field-focus-color: var(--biz-focus);
  --field-focus-halo: rgb(var(--nova-palette-primary-rgb, 101 80 204) / 13%);
  --ui-primary: var(--biz-focus);
  --ui-error: var(--biz-danger);
  --business-hero-surface: var(--nova-palette-primary-hero, #eae5f7);
  --business-hero-ink: var(--nova-palette-primary-hero-ink, #4a3d84);
  --business-hero-accent: var(--nova-palette-primary, #6550cc);
  --business-hero-line: var(--biz-divider-color);
  --nova-login-base: var(--nova-palette-primary-login-base, #2c1b60);
  --nova-login-gradient: linear-gradient(155deg, var(--nova-palette-primary-login-base, #2c1b60), var(--nova-palette-primary-login-mid, #542d9b) 52%, var(--nova-palette-primary-login-end, #35206b));
  --nova-glass: rgb(var(--nova-palette-surface-rgb, 255 255 255) / 65%);
  --nova-glass-edge: rgb(var(--nova-palette-surface-rgb, 255 255 255) / 82%);
  --nova-header-glass: rgb(var(--nova-palette-canvas-rgb, 248 247 252) / 94%);
  color: var(--biz-ink);
  background-color: var(--biz-canvas);
  accent-color: var(--biz-brand);
}
html[data-app-theme="nova"][data-color-scheme="dark"] {
  /* Legacy adapters inherit this palette, including those outside .phone. */
  --appearance-canvas: var(--nova-palette-canvas-dark, #121417);
  --appearance-surface: var(--nova-palette-surface-dark, #1d2025);
  --appearance-soft: var(--nova-palette-surface-soft-dark, #282c32);
  --appearance-raised: var(--nova-palette-surface-raised-dark, #363b42);
  --appearance-ink: var(--nova-palette-ink-dark, #f2f3f5);
  --appearance-muted: var(--nova-palette-muted-dark, #bbc1ca);
  --appearance-subtle: var(--nova-palette-muted-subtle-dark, #9da6b1);
  --appearance-line: rgb(var(--nova-palette-surface-rgb, 255 255 255) / 10%);
  --appearance-control: #7e8793;
  --appearance-brand: var(--nova-palette-primary-focus-dark, #c1afff);
  --appearance-primary: var(--nova-palette-primary, #6550cc);
  --appearance-blue-soft: var(--nova-palette-primary-selected-dark, #302c40);
  --appearance-purple: var(--nova-palette-primary-focus-dark, #c1afff);
  --appearance-purple-soft: var(--nova-palette-primary-selected-dark, #302c40);
  --appearance-green: var(--nova-palette-success-dark, #91efbf);
  --appearance-green-soft: var(--nova-palette-success-soft-dark, #173b2e);
  --appearance-red: var(--nova-palette-danger-dark, #ffadbd);
  --appearance-red-soft: var(--nova-palette-danger-soft-dark, #442634);
  --appearance-amber: var(--nova-palette-warning-dark, #efc48b);
  --appearance-amber-soft: var(--nova-palette-warning-soft-dark, #3e3125);
}
html[data-app-theme="nova"][data-color-scheme="dark"] .phone[data-app-theme="nova"] {
  --biz-canvas: var(--appearance-canvas);
  --biz-surface: var(--appearance-surface);
  --biz-surface-soft: var(--appearance-soft);
  --biz-ink: var(--appearance-ink);
  --biz-muted: var(--appearance-muted);
  --biz-icon: var(--nova-palette-muted-icon-dark, #cbd0d7);
  --biz-line: var(--appearance-line);
  --biz-card-line: transparent;
  --biz-shadow-card: none;
  --biz-shadow-account: 0 16px 36px rgb(0 0 0 / 28%), 0 4px 14px rgb(0 0 0 / 12%);
  --overview-shadow: var(--biz-shadow-account);
  --nova-nav-shadow: 0 14px 34px rgb(0 0 0 / 32%), 0 2px 8px rgb(0 0 0 / 16%);
  --biz-control-line: var(--appearance-control);
  --biz-focus: var(--appearance-brand);
  --biz-selected: var(--appearance-blue-soft);
  --biz-success: var(--appearance-green);
  --biz-success-soft: var(--appearance-green-soft);
  --biz-warning: var(--appearance-amber);
  --biz-warning-soft: var(--appearance-amber-soft);
  --biz-danger: var(--appearance-red);
  --biz-danger-soft: var(--appearance-red-soft);
  --biz-info: var(--appearance-brand);
  --biz-info-soft: var(--appearance-blue-soft);
  --biz-positive-amount: var(--nova-palette-success-dark, #91efbf);
  --biz-divider-color: var(--appearance-line);
  --biz-tile-blue: var(--nova-palette-primary-focus-dark, #c1afff);
  --biz-tile-blue-soft: var(--appearance-purple-soft);
  --biz-tile-purple: var(--nova-palette-primary-focus-dark, #c1afff);
  --biz-tile-purple-soft: var(--appearance-purple-soft);
  --biz-tile-green: var(--nova-palette-success-dark, #91efbf);
  --biz-tile-green-soft: var(--nova-palette-success-soft-dark, #173b2e);
  --biz-tile-orange: var(--nova-palette-warning-dark, #efc48b);
  --biz-tile-orange-soft: var(--nova-palette-warning-soft-dark, #3e3125);
  --biz-tile-red: var(--nova-palette-danger-dark, #ffadbd);
  --biz-tile-red-soft: var(--nova-palette-danger-soft-dark, #442634);
  --field-focus-halo: rgb(var(--nova-palette-primary-focus-dark-rgb, 193 175 255) / 16%);
  --business-hero-surface: var(--appearance-surface);
  --business-hero-ink: var(--appearance-ink);
  --business-hero-accent: var(--nova-palette-primary-focus-dark, #c1afff);
  --business-hero-line: var(--biz-divider-color);
  --nova-login-base: var(--nova-palette-canvas-dark, #121417);
  --nova-login-gradient: linear-gradient(155deg, var(--nova-palette-canvas-dark, #121417), #272331 52%, var(--nova-palette-surface-dark, #1d2025));
  --nova-glass: rgb(var(--nova-palette-surface-dark-rgb, 29 32 37) / 88%);
  --nova-glass-edge: rgb(var(--nova-palette-surface-rgb, 255 255 255) / 12%);
  --nova-header-glass: rgb(var(--nova-palette-canvas-dark-rgb, 18 20 23) / 94%);
  --overview-glass: var(--nova-glass);
  --overview-sheen: rgb(var(--nova-palette-surface-rgb, 255 255 255) / 4%);
  --overview-edge: var(--nova-glass-edge);
}
/* Locally declared aliases need the same theme owner as their component. */
html[data-app-theme="nova"] .phone :is(.home-variant-next, .home-layout-next, .next-top-level-screen) {
  --next-brand: var(--biz-brand);
  --next-brand-bright: var(--biz-brand-bright);
  --next-accent: var(--biz-focus);
  --next-accent-soft: var(--biz-selected);
}
html[data-app-theme="nova"] .phone :is(.ec-root, .bm-root, .biz-chart-palette) {
  --ec-info: var(--biz-info);
  --ec-info-soft: var(--biz-info-soft);
  --ec-success: var(--biz-success);
  --ec-success-soft: var(--biz-success-soft);
  --ec-warning: var(--biz-warning);
  --ec-warning-soft: var(--biz-warning-soft);
  --ec-score-blue: var(--biz-focus);
  --ec-score-violet: var(--nova-palette-primary-score, #a38ec7);
  --ec-score-teal: var(--biz-success);
  --ec-score-ink: var(--biz-success);
}
html[data-app-theme="nova"] .phone .biz-info-box {
  --info-box-ink: var(--biz-ink);
  --info-box-copy: var(--biz-muted);
  --info-box-surface: var(--biz-info-soft);
  --info-box-icon-surface: var(--biz-selected);
  --info-box-icon-ink: var(--biz-info);
  --info-box-link: var(--biz-focus);
  border-radius: var(--biz-radius-inset) !important;
}
html[data-app-theme="nova"] .phone :is(.primary-button, .detail-primary, #request-single-card) {
  background: var(--biz-brand);
  color: #fff;
}
html[data-app-theme="nova"] body .phone :is(.primary-button, .secondary-button, .detail-button, .ec-primary, .ec-secondary) {
  border-radius: var(--biz-radius-control) !important;
}
html[data-app-theme="nova"] body .phone :is(.detail-surface, .detail-confirm, .ec-stat-tile, .notification-detail-summary) {
  border-radius: var(--biz-radius-card);
}
/* Liquid-glass navigation: a single live backdrop, with static optical
 * highlights. Keep the existing measured selection and touch geometry. */
html[data-app-theme="nova"] body .phone .bottom-nav-next {
  --nova-nav-tint: 16%;
  --nova-nav-rim: rgb(255 255 255 / 78%);
  --nova-nav-glint: rgb(255 255 255 / 66%);
  --nova-nav-shade: rgb(36 29 62 / 13%);
  --nova-nav-lens: rgb(255 255 255 / 30%);
  border-radius: 999px;
  padding: 6px;
  background: var(--biz-surface);
  border-color: var(--nova-nav-rim);
  box-shadow: inset 0 1px 1px rgb(255 255 255 / 86%),
    inset 0 -1px 2px var(--nova-nav-shade),
    0 8px 24px rgb(25 19 49 / 12%), 0 2px 6px rgb(25 19 49 / 6%);
  -webkit-backdrop-filter: blur(14px) saturate(175%);
  backdrop-filter: blur(14px) saturate(175%);
}
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone .bottom-nav-next {
  --nova-nav-tint: 32%;
  --nova-nav-rim: rgb(255 255 255 / 24%);
  --nova-nav-glint: rgb(255 255 255 / 22%);
  --nova-nav-shade: rgb(0 0 0 / 32%);
  --nova-nav-lens: rgb(255 255 255 / 12%);
  box-shadow: inset 0 1px 1px rgb(255 255 255 / 28%),
    inset 0 -1px 2px rgb(0 0 0 / 30%),
    0 10px 28px rgb(0 0 0 / 28%), 0 2px 6px rgb(0 0 0 / 16%);
}
html[data-app-theme="nova"] body .phone .bottom-nav-next::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(115deg, var(--nova-nav-glint), transparent 26% 70%, var(--nova-nav-lens)),
    linear-gradient(180deg, var(--nova-nav-lens), transparent 48% 76%, var(--nova-nav-lens));
  box-shadow: inset 1px 0 1px var(--nova-nav-rim), inset -1px 0 1px var(--nova-nav-rim);
}
html[data-app-theme="nova"] body .phone .bottom-nav-next .bottom-nav-selection {
  top: 6px;
  bottom: 6px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--nova-nav-glint), transparent 56%, var(--nova-nav-lens)),
    color-mix(in srgb, var(--biz-brand) 9%, transparent);
  box-shadow: inset 0 1px 1px var(--nova-nav-rim),
    inset 0 -1px 1px var(--nova-nav-shade),
    inset 1px 0 1px var(--nova-nav-lens), inset -1px 0 1px var(--nova-nav-lens),
    0 2px 5px var(--nova-nav-shade);
}
html[data-app-theme="nova"] body .phone .bottom-nav-next button {
  border-radius: 999px;
  color: var(--biz-ink);
}
html[data-app-theme="nova"] body .phone .bottom-nav-next button.active {
  color: var(--biz-focus);
}
html[data-app-theme="nova"] body .phone .bottom-nav-next button:focus-visible {
  outline: 2px solid var(--biz-focus);
  outline-offset: -3px;
}
/* All page headers use Home's translucent surface over the actual scroller. */
html[data-app-theme="nova"] .phone {
  --nova-page-header-glass: var(--nova-liquid-header-fill);
  --nova-page-header-edge: var(--nova-liquid-edge);
  --nova-page-header-height: var(--app-header-natural-height, 80px);
}
html[data-app-theme="nova"][data-color-scheme="dark"] .phone {
  --nova-page-header-glass: var(--nova-liquid-header-fill);
  --nova-page-header-edge: var(--nova-liquid-edge);
}
/* Home and Business keep their existing edge-to-edge Aura geometry. */
html[data-app-theme="nova"] .phone #app-shell.active:not(:has(#screen-home.active, #screen-business.active, .focused-screen.active)) {
  display: grid;
  grid-template: minmax(0, 1fr) / minmax(0, 1fr);
}
html[data-app-theme="nova"] .phone #app-shell:not(:has(#screen-home.active, #screen-business.active, .focused-screen.active)) > .app-header {
  grid-area: 1 / 1;
  align-self: start;
  position: relative;
  z-index: 20;
  height: var(--nova-page-header-height);
}
html[data-app-theme="nova"] .phone #app-shell:not(:has(#screen-home.active, #screen-business.active, .focused-screen.active)) > .screen-stack {
  grid-area: 1 / 1;
  min-height: 0;
  height: 100%;
}
html[data-app-theme="nova"] .phone #app-shell .app-screen:not(.focused-screen, #screen-home, #screen-business) {
  padding-top: calc(var(--nova-page-header-height) + var(--biz-space-4));
  scroll-padding-top: calc(var(--nova-page-header-height) + var(--biz-space-4));
}
html[data-app-theme="nova"] body .phone .app-screen > .focused-header {
  position: sticky;
  top: calc(-1 * var(--biz-space-4));
  z-index: 20;
  margin-inline: calc(-1 * var(--biz-page-gutter));
  padding: var(--biz-space-4) var(--biz-page-gutter);
  margin-top: calc(-1 * var(--biz-space-4));
}
html[data-app-theme="nova"] body .phone #app-shell > .app-header,
html[data-app-theme="nova"] body .phone .app-screen > .focused-header {
  background: transparent;
  border-bottom-color: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
html[data-app-theme="nova"] body .phone #app-shell:has(#screen-home.active, #screen-business.active) > .app-header.has-scrolled-content,
html[data-app-theme="nova"] body .phone #app-shell > .app-header.has-scrolled-content,
html[data-app-theme="nova"] body .phone .app-screen > .focused-header.has-scrolled-content {
  background: linear-gradient(180deg, var(--nova-liquid-sheen), transparent 72%), var(--nova-page-header-glass);
  border-bottom-color: transparent;
  box-shadow: inset 0 -1px 0 var(--nova-page-header-edge);
  -webkit-backdrop-filter: blur(14px) saturate(150%);
  backdrop-filter: blur(14px) saturate(150%);
}
@media (forced-colors: active) {
  html[data-app-theme="nova"] body .phone #app-shell:has(#screen-home.active, #screen-business.active) > .app-header.has-scrolled-content,
html[data-app-theme="nova"] body .phone #app-shell > .app-header.has-scrolled-content,
  html[data-app-theme="nova"] body .phone .app-screen > .focused-header.has-scrolled-content {
    background: Canvas;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
/* Stronger purple Home lights; keep the existing motion and Aura toggle. */
html[data-app-theme="nova"] .phone #home-next-layout .next-home-account-stage {
  --aura-blue-rgb: var(--nova-palette-primary-rgb, 101 80 204);
  --aura-blue-soft-rgb: var(--nova-palette-primary-bright-rgb, 141 121 232);
  --aura-blue-sky-rgb: var(--nova-palette-primary-aura-sky-rgb, 179 156 219);
  --aura-blue-alpha: 50%;
  --aura-blue-soft-alpha: 42%;
  --aura-blue-sky-alpha: 36%;
  --aura-shadow: var(--biz-shadow-account);
  --aura-base: var(--nova-glass);
  --aura-edge: var(--nova-glass-edge);
  --aura-divider: var(--biz-divider-color);
  --aura-receive: color-mix(in srgb, var(--biz-selected) 44%, transparent);
}
html[data-app-theme="nova"] .phone #app-shell {
  --aura-header-surface: var(--nova-header-glass);
}
html[data-app-theme="nova"] .phone #screen-business {
  --business-aura-emerald: var(--nova-palette-primary-rgb, 101 80 204);
  --business-aura-leaf: var(--nova-palette-coral-rgb, 244 154 112);
  --business-aura-mint: var(--nova-palette-primary-rgb, 101 80 204);
  --business-aura-emerald-alpha: 40%;
  --business-aura-leaf-alpha: 36%;
  --business-aura-mint-alpha: 32%;
}
html[data-app-theme="nova"] .phone #screen-business .business-aura-jade {
  --business-glow-rgb: var(--business-aura-leaf);
  --business-glow-alpha: var(--business-aura-leaf-alpha);
}
html[data-app-theme="nova"] .phone #screen-business .business-aura-lime {
  --business-glow-rgb: var(--business-aura-emerald);
  --business-glow-alpha: var(--business-aura-mint-alpha);
}
html[data-app-theme="nova"][data-account-aura="on"] .phone.next-ui-theme #screen-business > .next-business-summary {
  box-shadow: var(--biz-shadow-account);
}
html[data-app-theme="nova"][data-account-aura="on"] .phone #home-next-layout .next-home-account-actions > button[data-hub-target="transfer"] > span {
  box-shadow: inset 0 1px 0 rgb(var(--nova-palette-surface-rgb, 255 255 255) / 38%), 0 6px 16px rgb(var(--nova-palette-primary-rgb, 101 80 204) / 24%);
}
html[data-app-theme="nova"][data-color-scheme="dark"] .phone #home-next-layout .next-home-account-stage {
  --aura-blue-alpha: 12%;
  --aura-blue-soft-alpha: 10%;
  --aura-blue-sky-alpha: 8%;
}
html[data-app-theme="nova"][data-color-scheme="dark"] .phone #screen-business {
  --business-aura-emerald-alpha: 10%;
  --business-aura-leaf-alpha: 12%;
  --business-aura-mint-alpha: 8%;
}
/* Login has its own palette and two independently animated glow layers. */
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] {
  --sheet-paper: var(--biz-surface);
  --sheet-ink: var(--biz-ink);
  --sheet-muted: var(--biz-muted);
  --sheet-line: var(--biz-line);
  --sheet-field: var(--biz-surface-soft);
  --sheet-blue: var(--biz-brand);
  --sheet-biometric-surface: var(--biz-selected);
  --sheet-biometric-ink: var(--biz-focus);
  --sheet-return-surface: var(--biz-surface-soft);
  --sheet-return-ink: var(--biz-muted);
  --entry-icon: var(--biz-muted);
  background: var(--nova-login-gradient);
}
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] .login-brand-aura::before {
  background: radial-gradient(ellipse at var(--aura-a-center-0, 85% 22%), rgb(var(--nova-palette-primary-glow-a-rgb, 128 90 213) / 0.549020), transparent 48%), radial-gradient(ellipse at var(--aura-a-center-1, 15% 62%), rgb(var(--nova-palette-primary-glow-b-rgb, 104 64 186) / 0.611765), transparent 52%);
}
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] .login-brand-aura::after {
  background: radial-gradient(ellipse at var(--aura-b-center-0, 12% 22%), rgb(var(--nova-palette-primary-glow-c-rgb, 114 81 192) / 0.466667), transparent 45%), radial-gradient(ellipse at var(--aura-b-center-1, 78% 80%), rgb(var(--nova-palette-primary-glow-d-rgb, 142 105 211) / 0.533333), transparent 48%);
}
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] .login-brand-tagline {
  color: var(--nova-palette-primary-tagline, #f1eafb);
}
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] :is(#start-onboarding, .login-welcome-copy) {
  border-radius: var(--biz-radius-card);
}
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] :is(.login-entry-sheet, .login-sheet-chrome) {
  border-start-start-radius: var(--biz-radius-sheet);
  border-start-end-radius: var(--biz-radius-sheet);
}
html[data-app-theme="nova"] .phone:has(#login-screen.visible #login-step-returning:is(.active, [data-sheet-view="otp"])[data-login-sheet]) {
  --app-chrome-color: var(--nova-login-base);
}
html[data-app-theme="nova"].app-keyboard-open .phone:has(#login-screen.visible #login-step-returning:is(.active, [data-sheet-view="otp"])[data-login-sheet]) {
  --app-chrome-color: var(--biz-surface);
}
/* Brand-colored controls whose historical styles predate the shared tokens. */
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] .login-brand-wing.first { fill: var(--nova-palette-primary-wing-a, #d3c5ff); }
html[data-app-theme="nova"] body .phone #login-screen [data-forgot-customer-password] { color: var(--biz-focus); }
html[data-app-theme="nova"] body .phone .app-header .header-actions .next-header-card-shortcut:not(.is-empty, .is-pending)::after { background-color: var(--biz-brand); }
/* Rounded rectangular OTP cells; responsive width preserves all six on narrow phones. */
html[data-app-theme="nova"] body .phone .otp-input-wrap[data-otp-input] {
  position: relative;
  margin-block: 44px !important;
  grid-template-columns: repeat(6, minmax(0, 57.2px));
  gap: clamp(4px, 1.25vw, 8px) !important;
}
html[data-app-theme="nova"] body .phone .otp-input-wrap[data-otp-input] > .otp-digit {
  width: 100% !important;
  min-height: 0 !important;
  height: 61.6px !important;
  aspect-ratio: auto;
  border-radius: 20px !important;
}

/* Separate vector assets preserve the blue identity of every other theme. */
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] .login-brand-wing.second { fill: var(--nova-palette-primary-wing-b, #a995ff); }
/* The landing action is a full primary target with a light fill against the
 * deep purple hero; its text and icon use the same high-contrast ink. */
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] #login-sheet-open {
  min-height: 56px;
  border: 0;
  border-radius: 28px;
  background: #fff;
  color: var(--nova-palette-primary-login-ink, #433175);
  box-shadow: 0 12px 28px rgb(var(--nova-palette-primary-shadow-deep-rgb, 24 11 65) / 24%), 0 2px 6px rgb(var(--nova-palette-primary-shadow-deep-rgb, 24 11 65) / 12%);
}
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] #login-sheet-open,
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] #login-sheet-open > span {
  font: 600 16px/24px var(--biz-font-semibold) !important;
}
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] #login-sheet-open:focus-visible {
  outline: 3px solid var(--nova-palette-primary-wing-a, #d3c5ff);
  outline-offset: 3px;
}
html[data-app-theme="nova"] .phone img[src*="logo-biz-mark.svg"] {
  content: var(--nova-palette-logo, url("assets/logo-biz-mark-nova.svg"));
  filter: none !important;
}
html[data-app-theme="nova"] body .phone[data-app-theme="nova"] .brand-placeholder,
html[data-app-theme="nova"] body .phone[data-app-theme="nova"] #login-screen .brand-placeholder {
  background-image: var(--nova-palette-logo, url("assets/logo-biz-mark-nova.svg")) !important;
  background-position: center !important;
  background-size: contain !important;
}
html[data-app-theme="nova"] body .phone :is(.card-design-option > i, .mini-card, .card-thumb, .pending-card-thumb)::after {
  background-image: var(--nova-palette-logo, url("assets/logo-biz-mark-nova.svg")) !important;
  filter: none;
}
html[data-app-theme="nova"] .pwa-install-icon { content: url("assets/icons/app-icon-nova-180.png?v=nova-cutout1"); }

/* Primary labels share one size, including legacy actions and dynamic sheets.
 * Icon-only add actions keep their existing circular 56px targets. */
html[data-app-theme="nova"] body .phone[data-app-theme="nova"] :is(.primary-button, .detail-primary, .ec-primary, #request-single-card):not(.trade-add, .bm-add),
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] :is(#customer-login-submit, #biometric-login-submit),
html[data-app-theme="nova"] body .pwa-install-primary {
  box-sizing: border-box;
  min-height: 56px !important;
  height: auto !important;
  padding: 14px 20px;
  border-radius: 28px !important;
  font: 600 16px/24px var(--biz-font-semibold, "Vazirmatn SemiBold", sans-serif) !important;
}
html[data-app-theme="nova"] body .phone[data-app-theme="nova"] :is(.primary-button, .detail-primary, .ec-primary, #request-single-card) > :is(span, strong, b) {
  font: inherit !important;
}
/* Page-header primaries share the 48px back-control geometry, including
 * dynamically rendered headers. Form/footer primaries keep their 56px size. */
html[data-app-theme="nova"] body .phone[data-app-theme="nova"] :is(.focused-header, .login-topbar) :is(.primary-button, .detail-primary, .ec-primary, #request-single-card, .notification-mark-all, .biz-header-primary-action):not([hidden]) {
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  width: auto !important;
  min-width: var(--biz-header-action-height);
  max-width: 100%;
  min-height: var(--biz-header-action-height) !important;
  height: auto !important;
  gap: 8px;
  margin: 0 !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  font: 600 14px/24px var(--biz-font-semibold, "Vazirmatn SemiBold", sans-serif) !important;
}
html[data-app-theme="nova"] body .phone[data-app-theme="nova"] :is(.focused-header, .login-topbar) :is(.primary-button, .detail-primary, .ec-primary, #request-single-card, .notification-mark-all, .biz-header-primary-action) > svg {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px;
}
html[data-app-theme="nova"] .phone .ec-primary,
html[data-app-theme="nova"] .pwa-install-primary { background: var(--nova-palette-primary, #6550cc); color: #fff; }

/* success-stamp.json v2 uses this blue for its disc and celebration strokes.
 * Style every shared SVG player; the white check and animation stay intact,
 * and switching themes restores the original asset without reloading it. */
html[data-app-theme="nova"] .phone .biz-success-player [fill="rgb(0,86,245)"] { fill: var(--biz-result-color, var(--biz-brand)); }
html[data-app-theme="nova"] .phone .biz-success-player [stroke="rgb(0,86,245)"] { stroke: var(--biz-result-color, var(--biz-brand)); }

/* Match the outer capsule's inset on every side, including the end tabs.
 * The existing selection measurement follows the buttons after padding changes. */
html[data-app-theme="nova"] body .phone .bottom-nav-next.is-compact { padding: 4px; }
html[data-app-theme="nova"] body .phone .bottom-nav-next.is-compact .bottom-nav-selection { top: 4px; bottom: 4px; }
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  html[data-app-theme="nova"] body .phone .bottom-nav-next {
    background: color-mix(in srgb, var(--biz-surface) var(--nova-nav-tint), transparent);
  }
}
/* Home discovery is secondary to account tasks: a quiet, compact campaign rail.
 * Shared surfaces and user-controlled navigation keep promotion subordinate. */
html[data-app-theme="nova"] body .phone .next-home-feature-list {
  --campaign-gutter: var(--biz-page-gutter, 16px);
  display: flex;
  width: calc(100% + var(--campaign-gutter) * 2);
  box-sizing: border-box;
  gap: 12px;
  padding: 4px var(--campaign-gutter) 8px;
  margin: -4px calc(var(--campaign-gutter) * -1) -8px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--campaign-gutter);
  scrollbar-width: none;
  border: 0;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html[data-app-theme="nova"] body .phone .next-home-feature-list::-webkit-scrollbar { display: none; }
html[data-app-theme="nova"] body .phone .next-home-feature-list > button.next-home-feature-card {
  --campaign-ink: var(--biz-ink);
  --campaign-bg: var(--biz-surface);
  --campaign-cta-ink: var(--biz-focus);
  position: relative;
  isolation: isolate;
  display: flex;
  flex: 0 0 calc(100% - 28px);
  align-items: stretch;
  width: auto;
  min-width: 0;
  min-height: 144px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: var(--biz-radius-card);
  background: var(--campaign-bg);
  box-shadow: none;
  color: var(--campaign-ink);
  text-align: start;
  scroll-snap-align: start;
  scroll-snap-stop: normal;
}
html[data-app-theme="nova"] body .phone .next-home-feature-list > button.next-home-feature-card:only-child { flex-basis: 100%; }
html[data-app-theme="nova"] body .phone .next-home-feature-card > .next-home-feature-art {
  position: absolute;
  inset: 0 auto 0 12px;
  z-index: -1;
  display: block;
  width: calc(40% - 16px);
  max-width: 132px;
  height: 100%;
  min-height: 0;
  margin: 0;
  background: transparent;
  pointer-events: none;
}
/* A small contact shadow grounds campaign objects without adding a card shadow. */
html[data-app-theme="nova"] body .phone .next-home-feature-card > .next-home-feature-art::before {
  content: "";
  position: absolute;
  left: 14%;
  top: 50%;
  width: 72%;
  height: 12px;
  margin-top: 36%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgb(28 22 42 / 20%), rgb(28 22 42 / 5%) 55%, transparent 75%);
  filter: blur(3px);
  pointer-events: none;
}
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone .next-home-feature-card > .next-home-feature-art::before {
  background: radial-gradient(ellipse, rgb(0 0 0 / 40%), rgb(0 0 0 / 12%) 55%, transparent 75%);
}
html[data-app-theme="nova"] body .phone :is(.next-home-feature-art, .next-home-promo-art) > img[data-feature-artwork] { display: none !important; }
html[data-app-theme="nova"] body .phone .next-home-feature-art > img.nova-campaign-art[hidden] {
  position: absolute;
  display: block !important;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  width: 100%;
  height: auto;
  max-width: none;
  max-height: 88%;
  object-fit: contain;
  transform: translateY(-50%);
  filter: none;
}
html[data-app-theme="nova"] body .phone .next-home-feature-list > button.next-home-feature-card > .next-home-feature-copy {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 64%;
  min-width: 0;
  box-sizing: border-box;
  padding: 16px 20px;
  gap: 4px !important;
  text-align: start;
}
html[data-app-theme="nova"] body .phone .next-home-feature-copy > .nova-discovery-copy[hidden] { display: block !important; }
html[data-app-theme="nova"] body .phone .next-home-feature-copy > .discovery-legacy-copy { display: none !important; }
html[data-app-theme="nova"] body .phone .next-home-feature-copy > strong.nova-discovery-copy {
  color: var(--campaign-ink);
  font-size: 16px !important;
  line-height: 26px !important;
  font-weight: 600;
  white-space: normal;
}
html[data-app-theme="nova"] body .phone .next-home-feature-copy > i.nova-discovery-copy {
  color: var(--biz-muted);
  font-size: 12px !important;
  line-height: 24px !important;
  font-style: normal;
  font-weight: 400;
}
html[data-app-theme="nova"] body .phone .next-home-feature-list > button.next-home-feature-card > .next-home-feature-copy > b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 8px;
  width: auto;
  min-height: 24px;
  padding: 0;
  margin: 4px 0 0;
  border: 0;
  border-radius: var(--biz-radius-control);
  background: transparent;
  color: var(--campaign-cta-ink) !important;
  font-size: 12px !important;
  line-height: 24px !important;
  font-weight: 600;
  white-space: nowrap;
}
html[data-app-theme="nova"] body .phone .next-home-feature-card:focus-visible { outline: 2px solid var(--biz-focus); outline-offset: 2px; }
html[data-app-theme="nova"] body .phone .next-home-feature-card:active { opacity: .92; }
@media (max-width: 360px) {
  html[data-app-theme="nova"] body .phone .next-home-feature-list > button.next-home-feature-card > .next-home-feature-copy { width: 68%; padding: 16px; }
}
/* The lower introduction is an independent service card: a larger illustration
 * and a readable explanation, with its own height and content-driven layout. */
html[data-app-theme="nova"] body .phone .next-home-promo.next-home-promo-illustrated {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 216px;
  box-sizing: border-box;
  gap: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: var(--biz-radius-card);
  background: var(--biz-surface);
  box-shadow: none;
}
html[data-app-theme="nova"] body .phone .next-home-promo-illustrated > div.next-home-promo-copy {
  position: relative;
  width: 60%;
  box-sizing: border-box;
  padding: 24px 20px;
  gap: 8px;
}
html[data-app-theme="nova"] body .phone .next-home-promo-illustrated > .next-home-promo-copy > small { display: none; }
html[data-app-theme="nova"] body .phone .next-home-promo-illustrated > .next-home-promo-copy > h2 {
  padding: 0;
  margin: 0;
  color: var(--biz-ink);
  font-size: 16px !important;
  line-height: 26px !important;
  font-weight: 600;
}
html[data-app-theme="nova"] body .phone .next-home-promo-illustrated > .next-home-promo-copy > .next-home-promo-description {
  margin: 0;
  color: var(--biz-muted);
  font-size: 12px !important;
  line-height: 24px !important;
  font-weight: 400;
  white-space: normal;
}
html[data-app-theme="nova"] body .phone .next-home-promo-description > .discovery-legacy-copy { display: none; }
html[data-app-theme="nova"] body .phone .next-home-promo-description > .nova-promo-copy[hidden] { display: inline !important; }
html[data-app-theme="nova"] body .phone .next-home-promo-illustrated > .next-home-promo-copy > .next-home-promo-action {
  width: fit-content;
  min-height: 48px;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  border: 0;
  color: var(--biz-focus) !important;
  background: transparent;
  font-size: 12px !important;
  line-height: 24px !important;
  font-weight: 600;
}
html[data-app-theme="nova"] body .phone .next-home-promo-illustrated > .next-home-promo-art {
  position: absolute;
  left: 16px;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  display: block;
  width: 36%;
  max-width: 132px;
  height: auto;
  aspect-ratio: 1;
  margin: 0;
  pointer-events: none;
}
html[data-app-theme="nova"] body .phone .next-home-promo-illustrated > .next-home-promo-art::before {
  content: "";
  position: absolute;
  left: 6%;
  bottom: -1px;
  width: 88%;
  height: 14px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgb(28 22 42 / 24%), rgb(28 22 42 / 7%) 55%, transparent 76%);
  filter: blur(3px);
}
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone .next-home-promo-illustrated > .next-home-promo-art::before {
  background: radial-gradient(ellipse, rgb(0 0 0 / 45%), rgb(0 0 0 / 14%) 55%, transparent 76%);
}
html[data-app-theme="nova"] body .phone .next-home-promo-art > img.nova-promo-campaign-art[hidden] {
  position: relative;
  display: block !important;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
html[data-app-theme="nova"] body .phone .next-home-promo-illustrated > .next-home-promo-dismiss {
  z-index: 1;
  top: 4px;
  left: 4px;
}
@media (max-width: 360px) {
  html[data-app-theme="nova"] body .phone .next-home-promo-illustrated > div.next-home-promo-copy { padding: 20px 16px; }
}
/* Neutral upload surfaces and a distinct action replace two nearly identical
 * lilac fills. The transparent native file input still owns the interaction. */
html[data-app-theme="nova"] body .phone :is(.ec-file-picker, .bm-file-picker, .biz-file-picker) {
  background: color-mix(in srgb, var(--biz-surface) 65%, var(--biz-canvas));
  border-radius: var(--biz-radius-inset);
}
html[data-app-theme="nova"] body .phone .ec-root .ec-file-action {
  background: var(--biz-brand);
  color: #fff;
  border-radius: var(--biz-radius-control);
}
html[data-app-theme="nova"] body .phone .ec-root .ec-file-action > :is(span, svg) { color: inherit !important; }
html[data-app-theme="nova"] body .phone :is(.secondary-button, .ec-secondary) {
  background: var(--biz-surface);
}
@media (prefers-reduced-transparency: reduce) {
  html[data-app-theme="nova"] body .phone .bottom-nav-next {
    background: var(--biz-surface);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  html[data-app-theme="nova"] body .phone .bottom-nav-next::before { display: none; }
  html[data-app-theme="nova"] body .phone .bottom-nav-next .bottom-nav-selection {
    background: var(--biz-selected);
    box-shadow: inset 0 0 0 1px var(--biz-control-line);
  }
}

/* Segmented tabs use one capsule geometry. A 5px inset keeps the first and
 * last selected tabs concentric with the outer end caps in RTL and LTR. */
html[data-app-theme="nova"] body .phone :is(.period-tabs, .activity-tabs, .destination-tabs, .contact-filters, .bm-tabs) {
  padding: 5px;
  gap: 4px;
  border: 0;
  border-radius: 999px;
  background: var(--biz-surface-soft);
}
html[data-app-theme="nova"] body .phone :is(.period-tabs, .activity-tabs, .destination-tabs, .contact-filters, .bm-tabs) > button {
  border-radius: 999px;
}
html[data-app-theme="nova"] body .phone :is(.period-tabs, .activity-tabs, .destination-tabs, .contact-filters, .bm-tabs) > button.active {
  background: var(--biz-surface);
  color: var(--biz-ink);
  box-shadow: 0 2px 8px rgb(var(--nova-palette-primary-shadow-rgb, 63 44 112) / 8%);
}
html[data-app-theme="nova"] body .phone .bm-root .bm-tabs > button[aria-pressed="true"] {
  background: var(--biz-surface);
  color: var(--biz-ink);
  box-shadow: 0 2px 8px rgb(var(--nova-palette-primary-shadow-rgb, 63 44 112) / 8%);
}
/* Home uses the same two-option capsule as the notification filters. */
html[data-app-theme="nova"] body .phone #home-widget-caption {
  color: var(--biz-muted);
  font-size: 12px;
  line-height: 20px;
}
html[data-app-theme="nova"] body .phone .home-widget-tabs {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}
html[data-app-theme="nova"] body .phone .home-widget-tabs > button {
  min-width: 0;
  min-height: 48px;
  padding: 8px 16px;
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
}
html[data-app-theme="nova"] body .phone .home-widget-panel {
  min-width: 0;
  padding-block-start: 24px;
}
html[data-app-theme="nova"] body .phone #home-widget-group .home-widget-panel > .next-home-section:first-child {
  /* The tab panel already owns the 24px gap; override the standalone 48px rule. */
  margin-block-start: 0 !important;
}
html[data-app-theme="nova"] body .phone :is(.home-widget-tabs > button, .home-widget-panel):focus-visible {
  outline: 2px solid var(--biz-focus);
  outline-offset: 3px;
}
html[data-app-theme="nova"] body .phone .nova-home-widgets [hidden] {
  display: none !important;
}
/* The selected Home tab moves as a single capsule while its panel enters. */
html[data-app-theme="nova"] body .phone .home-widget-tabs { position: relative; isolation: isolate; }
html[data-app-theme="nova"] body .phone .home-widget-indicator {
  position: absolute; z-index: 0; pointer-events: none;
  inset-block: 5px; inset-inline-start: 5px; width: calc((100% - 14px) / 2);
  border-radius: 999px;
  background: var(--nova-liquid-coat), color-mix(in srgb, var(--biz-focus) 12%, var(--nova-liquid-fill));
  box-shadow: var(--nova-liquid-shadow);
}
html[data-app-theme="nova"] body .phone .home-widget-tabs[data-selected="business"] .home-widget-indicator { inset-inline-start: calc(50% + 2px); }
html[data-app-theme="nova"] body .phone .home-widget-tabs[data-motion="on"] .home-widget-indicator { transition: inset-inline-start 320ms cubic-bezier(.22, 1, .36, 1); }
html[data-app-theme="nova"] body .phone #home-widget-group .home-widget-tabs > button { position: relative; z-index: 1; background: transparent !important; box-shadow: none !important; }
html[data-app-theme="nova"] body .phone[data-nova-tour] #screen-home { overflow-anchor: none; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) {
  html[data-app-theme="nova"] body .phone .home-widget-tabs .home-widget-indicator { transition: none !important; }
}
/* Standalone filter chips have no enclosing track, but share the soft pill. */
html[data-app-theme="nova"] body .phone :is(.scf-case-filters, .biz-status-filters, .ec-filter-chips) > button,
html[data-app-theme="nova"] body .phone .ec-mode-choices label > span {
  border-radius: 999px;
}

/* The welcome hero already explains who can open a personal business account. */
html[data-app-theme="nova"] body .phone #login-step-new-welcome > .scope-card {
  display: none;
}

/* Finish the palette bridge for older screens with literal blue values. */
html[data-app-theme="nova"] body .phone[data-app-theme="nova"] {
  --modern-primary: var(--biz-brand);
  --modern-primary-bright: var(--biz-brand-bright);
  --login-primary: var(--biz-brand);
  --login-primary-strong: var(--nova-palette-primary-strong, #503da8);
  --login-soft: var(--biz-selected);
  --login-line: var(--biz-line);
  --ui-focus: var(--biz-focus);
  --ui-focus-halo: rgb(var(--nova-palette-primary-rgb, 101 80 204) / 13%);
}
html[data-app-theme="nova"] body .phone :is(.returning-login-step, .scf-screen, .ec-root, .biz-chart-palette) {
  --login-primary: var(--biz-brand);
  --login-primary-strong: var(--nova-palette-primary-strong, #503da8);
  --scf-tag-info: var(--biz-info);
  --scf-tag-info-soft: var(--biz-info-soft);
  --ec-score-blue: var(--biz-brand);
}
html[data-app-theme="nova"] body .phone .ec-four-steps {
  --ec-step-blue: var(--biz-info);
  --ec-step-blue-bg: var(--biz-selected);
}
html[data-app-theme="nova"] body .phone .ec-four-steps > span:not(:last-child)::after {
  background: var(--biz-selected);
}
html[data-app-theme="nova"] body .phone .ec-root .ec-capacity-available {
  background: var(--biz-brand);
}
html[data-app-theme="nova"] body .phone .scf-case-filters > button.active {
  border-color: var(--biz-brand);
  background: var(--biz-brand);
}
html[data-app-theme="nova"] body .phone .scf-case-filters > button.active span,
html[data-app-theme="nova"] body .phone .scf-case-row-main > b,
html[data-app-theme="nova"] body .phone .scf-case-row > footer {
  color: var(--biz-brand);
}
html[data-app-theme="nova"] body .phone .scf-case-row > header span,
html[data-app-theme="nova"] body .phone .scf-summary-card {
  color: var(--biz-info);
  background: var(--biz-info-soft);
}
html[data-app-theme="nova"] body .phone .scf-screen :is(.scf-case-filters, .scf-case-list, .scf-case-summary) {
  --scf-tag-info: var(--biz-info);
  --scf-tag-info-soft: var(--biz-info-soft);
}
html[data-app-theme="nova"] body .phone .app-header .header-actions .next-header-card-shortcut:is(.is-empty, .is-active)::after,
html[data-app-theme="nova"] body .phone .appearance-option input:checked + .appearance-choice .appearance-choice-check {
  border-color: var(--biz-brand);
  background-color: var(--biz-brand);
}
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] .login-hero-avatar {
  box-sizing: border-box;
  border: 4px solid #fff;
  color: var(--biz-brand);
  box-shadow: 0 0 0 6px rgb(255 255 255 / 10%), 0 12px 28px rgb(var(--nova-palette-primary-login-base-rgb, 44 27 96) / 24%), 0 3px 8px rgb(var(--nova-palette-primary-login-base-rgb, 44 27 96) / 12%) !important;
}
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] .login-hero-identifier {
  color: var(--nova-palette-primary-light-ink, #eee8ff);
}
html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet] .login-entry-sheet {
  box-shadow: 0 -12px 48px rgb(var(--nova-palette-primary-login-base-rgb, 44 27 96) / 13%);
}
html[data-app-theme="nova"] body .phone :is(.biometric-offer-hero, .biometric-offer-benefits svg) {
  border-color: var(--nova-palette-primary-edge, #d8cdf7);
  background: var(--biz-selected);
}
html[data-app-theme="nova"] body .phone .biometric-offer-mark {
  box-shadow: 0 10px 22px rgb(var(--nova-palette-primary-rgb, 101 80 204) / 20%);
}
html[data-app-theme="nova"] body .phone :is(.biometric-card, .deposit-option, .card-design-option, .delivery-option, .card-address-option).selected {
  box-shadow: 0 0 0 2px rgb(var(--nova-palette-primary-rgb, 101 80 204) / 12%);
}
html[data-app-theme="nova"] body .phone :is(.customer-operation-badge, .profile-photo-preview, .otp-delivery-status, .national-card-back-guide) {
  background-color: var(--biz-selected);
}
html[data-app-theme="nova"] body .phone .profile-photo-edit {
  box-shadow: 0 5px 13px rgb(var(--nova-palette-primary-rgb, 101 80 204) / 24%);
}
html[data-app-theme="nova"] body .phone :is(.focused-header-help, .biz-glass-icon-button, .header-actions, .biz-month-year-step, .biz-month-trigger) {
  background-image: linear-gradient(145deg, rgb(var(--nova-palette-primary-glass-rgb, 218 201 255) / 9%), transparent 65%);
  box-shadow: inset 0 1px 0 rgb(var(--nova-palette-primary-glass-rgb, 218 201 255) / 9%), 0 4px 16px rgb(var(--nova-palette-primary-glass-shadow-rgb, 38 24 74) / 18%);
}
html[data-app-theme="nova"] body .phone .appearance-preview-nav > i:first-child,
html[data-app-theme="nova"] body .phone .appearance-preview-card > b {
  background: var(--biz-brand);
}
html[data-app-theme="nova"] body .phone .face-scan.real-face-capture {
  box-shadow: 0 14px 34px rgb(var(--nova-palette-primary-shadow-rgb, 63 44 112) / 8%);
}
html[data-app-theme="nova"] body .phone .real-face-capture .face-live-oval {
  height: 94%;
}
html[data-app-theme="nova"] body .phone .real-face-capture:is([data-capture-state="recording"], [data-capture-state="error"]) .face-live-oval[data-outside="true"] {
  border-color: var(--nova-palette-danger-face, #ff737a);
}
html[data-app-theme="nova"] body .phone .contact-avatar[data-avatar-tone="blue"] {
  --contact-ink: var(--biz-brand);
  --contact-soft: var(--biz-selected);
  --contact-night: var(--nova-palette-primary-contact-dark, #302344);
  --contact-bright: var(--nova-palette-primary-focus-dark, #c1afff);
}
html[data-app-theme="nova"] body #toast.typed-toast {
  --toast-accent: var(--biz-brand, var(--nova-palette-primary, #6550cc));
  --toast-ink: var(--biz-ink, var(--nova-palette-ink, #282237));
  --toast-muted: var(--biz-muted, var(--nova-palette-muted, #625a74));
  box-shadow: inset 0 1px 0 var(--toast-glass-highlight), 0 10px 28px rgb(var(--nova-palette-primary-shadow-rgb, 63 44 112) / 12%), 0 2px 6px rgb(var(--nova-palette-primary-shadow-rgb, 63 44 112) / 4%);
}

/* Toast status and contrast must follow the active scheme, including outside .phone. */
html[data-app-theme="nova"] body #toast.typed-toast[data-toast-type="warning"] {
  --toast-accent: var(--biz-warning, var(--nova-palette-warning, #986124));
}
html[data-app-theme="nova"] body #toast.typed-toast[data-toast-type="error"] {
  --toast-accent: var(--biz-danger, var(--nova-palette-danger, #bf415c));
}
html[data-app-theme="nova"][data-color-scheme="dark"] body #toast.typed-toast {
  --toast-surface: var(--appearance-surface);
  --toast-ink: var(--appearance-ink);
  --toast-muted: var(--appearance-muted);
  --toast-accent: var(--appearance-brand);
  box-shadow: inset 0 1px 0 var(--toast-glass-highlight), 0 12px 32px #0006;
}
html[data-app-theme="nova"][data-color-scheme="dark"] body #toast.typed-toast[data-toast-type="warning"] {
  --toast-accent: var(--appearance-amber);
}
html[data-app-theme="nova"][data-color-scheme="dark"] body #toast.typed-toast[data-toast-type="error"] {
  --toast-accent: var(--appearance-red);
}
html[data-app-theme="nova"][data-color-scheme="dark"] body #toast.typed-toast .toast-icon {
  color: var(--appearance-canvas);
}

/* Neutral utility glass keeps violet reserved for selected and primary actions. */
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone :is(.focused-header-help, .biz-glass-icon-button, .header-actions, .biz-month-year-step, .biz-month-trigger) {
  background-image: linear-gradient(145deg, rgb(var(--nova-palette-surface-rgb, 255 255 255) / 5%), transparent 65%);
  box-shadow: inset 0 1px 0 rgb(var(--nova-palette-surface-rgb, 255 255 255) / 8%), 0 4px 16px rgb(0 0 0 / 18%);
}
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone #login-screen #login-step-returning[data-login-sheet] .login-brand-aura {
  opacity: .35;
}

/* Portraits retain their violet adapter. Textile illustrations are generated
 * in the Nova palette and keep their original coral/ivory pigments. */
html[data-app-theme="nova"] body .phone .face-portrait {
  filter: url("#nova-art-purple");
}
html[data-app-theme="nova"] body :is(.mock-data-menu-mark, .mock-data-dialog > header > span:first-child, .mock-profile-form > button) {
  background: linear-gradient(145deg, var(--nova-palette-primary-bright, #8d79e8), var(--nova-palette-primary, #6550cc));
  box-shadow: 0 8px 20px rgb(var(--nova-palette-primary-shadow-rgb, 63 44 112) / 18%);
}

html[data-app-theme="nova"][data-color-scheme="dark"] body .phone #home-next-layout :is([data-hub-target="statement"], [data-next-home-action="identifiers"]) > span {
  background-color: var(--biz-surface-soft);
}

/* NOVA_CORAL_PREVIEW_START — reversible secondary-accent experiment.
 * Small discovery accents only; primary actions and semantic status colors
 * keep their established roles. */
html[data-app-theme="nova"] body .phone[data-app-theme="nova"] {
  --nova-accent: var(--nova-palette-coral, #f49a70);
  --nova-accent-ink: var(--nova-palette-coral-ink, #b94c32);
  --nova-accent-soft: var(--nova-palette-coral-soft, #fff3ec);
}
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone[data-app-theme="nova"] {
  --nova-accent-ink: var(--nova-palette-coral, #f49a70);
  --nova-accent-soft: var(--nova-palette-coral-soft-dark, #3b252d);
}
html[data-app-theme="nova"] body .phone .next-home-section-header > b {
  color: var(--biz-focus);
  background: var(--biz-selected);
}
html[data-app-theme="nova"] body .phone .next-home-feature-copy > b,
html[data-app-theme="nova"] body .phone .next-home-promo-copy > small {
  color: var(--nova-accent-ink);
}
/* NOVA_CORAL_PREVIEW_END */

/* Nova semantic refresh: brighter emerald greens and softer rose errors.
 * Text and icon tones are separate so small labels remain readable. */
html[data-app-theme="nova"] body .phone #screen-business > .next-business-summary {
  --business-sales-ink: var(--biz-tile-green);
  --business-awaiting-ink: var(--nova-accent-ink);
}
html[data-app-theme="nova"] body .phone .scf-screen :is(.scf-case-filters, .scf-case-list, .scf-case-summary) {
  --scf-tag-success: var(--biz-success);
  --scf-tag-success-soft: var(--biz-success-soft);
}
html[data-app-theme="nova"] body .phone .ec-root .ec-four-steps {
  --ec-step-green: var(--biz-success);
}
html[data-app-theme="nova"] body .phone .ec-root .ec-four-steps [data-status="paid"] i {
  background: var(--biz-success);
  color: var(--biz-surface);
}
html[data-app-theme="nova"] body .phone .contact-avatar[data-avatar-tone="teal"] {
  --contact-ink: var(--biz-success);
  --contact-soft: var(--biz-success-soft);
  --contact-bright: var(--biz-success);
}
html[data-app-theme="nova"] body .phone :is(
  .smart-destination-meta i, .password-requirements span.passed,
  .registry-disclosure summary > span:first-child, .smart-fixed-source > i,
  .smart-source-note svg, .finance-tool-grid i.good, .connector-card header i,
  .row-symbol.approved, .cashflow-forecast header small, .energy-hero p b,
  .energy-meter > .energy-chart, .scf-invoice > b, .scf-case-row.settled > header span,
  .connection-chip, .profile-device-row > b,
  .returning-login-step .login-form-heading small svg, .login-secure-note svg
) { color: var(--biz-success); }
html[data-app-theme="nova"] body .phone :is(.smart-destination-meta i, .row-symbol.approved, .connection-chip, .profile-device-row > b) {
  background: var(--biz-success-soft);
}
html[data-app-theme="nova"] body .phone .password-strength[data-score="4"] i:nth-child(-n+4) {
  background: var(--biz-tile-green);
}
html[data-app-theme="nova"] body .phone #toast.typed-toast[data-toast-type="success"] {
  --toast-accent: var(--biz-success);
}

/* Approved five-card collection below replaces the earlier Nova flat cards. */

/* Nova detail card: the printed design stays flat; its presentation floats. */
html[data-app-theme="nova"] body .phone #screen-card-detail #card-hero {
  width: min(calc(100% - 32px), 400px);
  scale: .9;
  /* One rounded clip keeps the moving silhouette smooth without a second mask. */
  clip-path: inset(0 round 28px);

  margin: 24px auto 36px;
  transform-origin: 50% 50%;
  transform: perspective(1200px) translate3d(var(--nova-card-x, 0px), var(--nova-card-y, 0px), var(--nova-card-z, 0px))
    rotateX(var(--nova-card-rx, 0deg)) rotateY(var(--nova-card-ry, 0deg)) rotateZ(var(--nova-card-rz, 0deg));
  box-shadow: none !important;
}
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone #screen-card-detail #card-hero {
  box-shadow: none !important;
}
@media (prefers-reduced-motion: reduce) {
  html[data-app-theme="nova"] body .phone #screen-card-detail #card-hero,
  html[data-app-theme="nova"] body .phone #screen-card-detail.active #card-hero {
    animation: none;
    transform: none;
  }
}

/* Compact and secondary action buttons share Nova's 28px control radius. */
html[data-app-theme="nova"] body .phone #login-screen :is(
  #use-password-login, #return-to-biometric-login, #login-personal-context,
  #forgot-customer-password-current, #edit-profile-address, #edit-alternate-address,
  #copy-postal-code, .prototype-review-action, #fill-demo-device-pin,
  #fill-demo-card-auth, .contract-preview button, .new-account-summary button
),
html[data-app-theme="nova"] body .phone :is(
  #profile-logout, #choose-profile-photo, #remove-profile-photo,
  .prototype-review-action, #fill-demo-card-auth,
  [data-remove-profile-device], .health-recommendation > button,
  .detail-card-controls > button, .next-home-energy button,
  .next-home-energy-card button, .home-cards-overview, .accounts-card-entry,
  .service-shortcuts button, #all-services-shortcut
) {
  border-radius: var(--biz-radius-control) !important;
}

html[data-app-theme="nova"] body .phone #card-auth-form #fill-demo-card-auth {
  border-radius: var(--biz-radius-control) !important;
}

/* Document concepts have distinct silhouettes only in Nova. The variables
 * inherit into SVG use instances, so legacy themes retain their old sprite. */
html[data-app-theme="nova"] {
  --legacy-document-icon: none;
  --nova-document-icon: inline;
}

/* Bills keep a calm service palette, including urgent reminders and payment
 * notifications. Match the shared glyph so dynamically rendered slots agree. */
html[data-app-theme="nova"] body .phone :is(span, i):has(> svg > use[href="#i-bill"]) {
  --biz-tile-ink: var(--biz-tile-purple) !important;
  --biz-tile-surface: var(--biz-tile-purple-soft) !important;
  color: var(--biz-tile-purple) !important;
  background-color: var(--biz-tile-purple-soft) !important;
}
html[data-app-theme="nova"] body .phone svg:has(> use[href="#i-bill"]) {
  color: var(--biz-tile-purple) !important;
}

/* Coral action labels share a single 18px, 1.75-stroke forward arrow. */
html[data-app-theme="nova"] body .phone :is(
  .scf-card-action, .scf-home-action, .next-home-promo-action,
  .next-home-cashflow-summary-action, .next-home-feature-copy > b,
  .bm-home-action .biz-list-description, .bm-home-action > svg
) { color: var(--nova-accent-ink) !important; }
html[data-app-theme="nova"] body .phone .next-home-task-list em {
  color: var(--nova-accent-ink) !important;
  background: var(--nova-accent-soft) !important;
  border: 0 !important;
}
html[data-app-theme="nova"] body .phone :is(.next-home-feature-copy > b, .scf-home-action) {
  display: flex;
  align-items: center;
  gap: 8px;
}
html[data-app-theme="nova"] body .phone :is(
  .scf-card-action, .scf-home-action, .next-home-promo-action,
  .next-home-cashflow-summary-action, .next-home-feature-copy > b,
  .bm-home-action
) > svg {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75 !important;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html[data-app-theme="nova"] body .phone .legacy-cta-arrow {
  display: none !important;
}

/* One transfer card: amount first, then the source and a compact capacity disclosure. */
html[data-app-theme="nova"] body .phone #transfer-amount #smart-route,
html[data-app-theme="nova"] body .phone #transfer-amount-help,
html[data-app-theme="nova"] body .phone :is(#transfer-daily-capacity,#route-sheet-footer)[hidden] { display:none !important; }
html[data-app-theme="nova"] body .phone #transfer-amount .transfer-amount-card { padding:0 !important; }
html[data-app-theme="nova"] body .phone #transfer-amount .amount-entry { padding:24px var(--biz-card-padding) 12px !important; }
html[data-app-theme="nova"] body .phone #transfer-amount .amount-entry > div { min-height:64px;margin:4px 0 0 !important; }
html[data-app-theme="nova"] body .phone #transfer-amount .amount-entry > p { margin:0 !important;min-height:20px; }
html[data-app-theme="nova"] body .phone #transfer-amount .amount-suggestions { margin:12px 0 0 !important; }
html[data-app-theme="nova"] body .phone #transfer-amount #transfer-source-switch {
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) !important;
  grid-template-rows:auto auto;
  align-items:center;
  gap:4px 12px !important;
  width:calc(100% - 2 * var(--biz-card-padding));
  margin:0 var(--biz-card-padding) !important;
  padding:16px 0 !important;
  border:0 !important;
  border-top:1px solid var(--biz-divider-color) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  opacity:1;
  cursor:default;
  text-align:start;
}
html[data-app-theme="nova"] body .phone #transfer-source-switch > span:first-child { grid-column:2;grid-row:1;gap:0 !important; }
html[data-app-theme="nova"] body .phone #transfer-source-switch #transfer-source-balance { grid-column:2;grid-row:2; }
html[data-app-theme="nova"] body .phone #transfer-source-switch .transfer-source-icon:not([hidden]) { display:grid;grid-column:1;grid-row:1 / 3;width:48px;height:48px; }
html[data-app-theme="nova"] body .phone #transfer-source-switch .transfer-source-icon > svg { width:24px;height:24px;flex:none; }
html[data-app-theme="nova"] body .phone .transfer-daily-capacity { margin:0 var(--biz-card-padding);padding:0;background:transparent; }
html[data-app-theme="nova"] body .phone #open-transfer-daily-limits {
  display:grid;grid-template-columns:48px minmax(0,1fr) 20px;align-items:center;gap:12px;
  width:100%;min-height:80px;margin:0;padding:16px 0;
  border:0;border-top:1px solid var(--biz-divider-color);border-radius:0;
  background:transparent;color:var(--biz-ink);box-shadow:none;text-align:start;
}
html[data-app-theme="nova"] body .phone .transfer-daily-ring { --nova-capacity-ring-width:20;--ring-start:var(--ring-violet-start);--ring-end:var(--ring-violet-end);position:relative;display:grid;place-items:center;width:48px;height:48px; }
html[data-app-theme="nova"] body .phone .transfer-daily-ring > svg { position:absolute;inset:0;display:block;width:100%;height:100%; }
html[data-app-theme="nova"] body .phone .transfer-daily-track { stroke:var(--ring-start);opacity:.16; }
html[data-app-theme="nova"] body .phone .transfer-daily-ring > strong { font:600 12px/20px var(--biz-font-semibold) !important;color:var(--biz-ink); }
html[data-app-theme="nova"] body .phone .transfer-daily-copy { display:flex;flex-direction:column;gap:4px;min-width:0; }
html[data-app-theme="nova"] body .phone .transfer-daily-copy > strong { font:600 14px/24px var(--biz-font-semibold) !important;color:var(--biz-ink); }
html[data-app-theme="nova"] body .phone .transfer-daily-copy > small { font:400 12px/20px var(--biz-font-regular) !important;color:var(--biz-muted); }
html[data-app-theme="nova"] body .phone .transfer-capacity-chevron { width:20px;height:20px;color:var(--biz-muted); }
html[data-app-theme="nova"] body .phone #open-transfer-daily-limits:focus-visible { outline:2px solid var(--biz-focus);outline-offset:-2px;border-radius:16px; }
html[data-app-theme="nova"] body .phone .transfer-daily-capacity[data-exhausted="true"] .transfer-daily-copy > strong { color:var(--biz-danger); }

/* Full-circle capacity rings: shared geometry and entry motion across both services. */
html[data-app-theme="nova"] body .phone :is(.transfer-daily-capacity,.transfer-limit-overview,.ec-reservation-breakdown) { --ring-violet-start:var(--nova-palette-primary-ring-start,#6540ce);--ring-violet-end:var(--nova-palette-primary-ring-end,#b38aff);--ring-coral-start:var(--nova-palette-coral-ring-start,#e84b65);--ring-coral-end:var(--nova-palette-coral-ring-end,#ffab80);--ring-gold-start:var(--nova-palette-warning-ring-start,#b57b26);--ring-gold-end:var(--nova-palette-warning-ring-end,#f7d790); }
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone :is(.transfer-daily-capacity,.transfer-limit-overview,.ec-reservation-breakdown) { --ring-violet-start:var(--nova-palette-primary-ring-start-dark,#8155ed);--ring-violet-end:var(--nova-palette-primary-ring-end-dark,#d1adff);--ring-coral-start:var(--nova-palette-coral-ring-start-dark,#f15b77);--ring-coral-end:var(--nova-palette-coral-ring-end-dark,#ffc28d);--ring-gold-start:var(--nova-palette-warning-ring-start-dark,#e1a448);--ring-gold-end:var(--nova-palette-warning-ring-end-dark,#ffe3a6); }
html[data-app-theme="nova"] body .phone .nova-capacity-rings .nova-capacity-ring-stroke { fill:none;stroke-width:var(--nova-capacity-ring-width,16);stroke-linecap:round;transform:rotate(-90deg);transform-origin:80px 80px; }
html[data-app-theme="nova"] body .phone .nova-capacity-ring-segment { fill:none;stroke-width:var(--nova-capacity-ring-width,16);stroke-linecap:butt; }
html[data-app-theme="nova"] body .phone .nova-capacity-ring-start { fill:var(--ring-start);stroke:none; }
html[data-app-theme="nova"] body .phone .nova-capacity-ring-tip-face { fill:inherit;stroke:none; }
html[data-app-theme="nova"] body .phone .nova-capacity-ring-tip { fill:var(--ring-end);transform:rotate(var(--ring-end-angle));transform-origin:80px 80px;animation:nova-capacity-ring-tip 1100ms cubic-bezier(.22,.61,.36,1) both; }
/* The rounded start is separate: a round mask would reveal the final gradient
   segment behind the start before the sweep has reached it. */
html[data-app-theme="nova"] body .phone .nova-capacity-rings .nova-capacity-ring-fill { stroke-linecap:butt;stroke-dasharray:var(--ring-progress) 100;stroke-dashoffset:0;animation:nova-capacity-ring-fill 1100ms cubic-bezier(.22,.61,.36,1) both; }
@keyframes nova-capacity-ring-fill {
  from { stroke-dasharray:0 100; }
  to { stroke-dasharray:var(--ring-progress) 100; }
}
@keyframes nova-capacity-ring-tip {
  from { transform:rotate(0deg);fill:var(--ring-start);opacity:0; }
  10% { opacity:1; }
  to { transform:rotate(var(--ring-end-angle));fill:var(--ring-end);opacity:1; }
}
@media(prefers-reduced-motion:reduce) {
  html[data-app-theme="nova"] body .phone .nova-capacity-rings :is(.nova-capacity-ring-fill,.nova-capacity-ring-tip) { animation:none; }
}

html[data-app-theme="nova"] body .phone .transfer-limit-overview:not([hidden]) { display:grid;gap:20px;padding:24px var(--biz-card-padding) 16px;margin-top:16px; }
html[data-app-theme="nova"] body .phone .transfer-limit-methods:not([hidden]) { display:flex;gap:4px;margin:16px 0 0; }
html[data-app-theme="nova"] body .phone .transfer-limit-methods button { flex:1;min-width:0;min-height:44px; }
html[data-app-theme="nova"] body .phone .transfer-limit-chart { display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:24px;direction:rtl; }
html[data-app-theme="nova"] body .phone .transfer-limit-rings { display:block;width:160px;height:160px;overflow:visible; }
/* Confirm the payment first; collect its purpose/note here instead of an amount-step sheet. */
html[data-app-theme="nova"] body .phone #transfer-details-switch,
html[data-app-theme="nova"] body .phone #transfer-review .review-legacy-row,
html[data-app-theme="nova"] body .phone #transfer-review .security-banner { display:none !important; }
html[data-app-theme="nova"] body .phone #transfer-review .review-method-row { border-bottom:0 !important; }
html[data-app-theme="nova"] body .phone #transfer-review .review-method-row::after { content:none !important; }
html[data-app-theme="nova"] body .phone #transfer-review .review-method-row dd { display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:0; }
html[data-app-theme="nova"] body .phone #review-route-arrival { color:var(--biz-muted);font:400 12px/20px var(--biz-font-regular); }
html[data-app-theme="nova"] body .phone #transfer-review-fields { margin-block:24px; }
html[data-app-theme="nova"] body .phone #transfer-detail-fields { display:grid;gap:16px; }
html[data-app-theme="nova"] body .phone #transfer-detail-fields > .field { margin:0 !important;min-width:0; }
html[data-app-theme="nova"] body .phone #transfer-detail-fields [hidden],
html[data-app-theme="nova"] body .phone #review-route-arrival[hidden] { display:none !important; }
html[data-app-theme="nova"] body .phone #transfer-success > .success-mark[hidden],
html[data-app-theme="nova"] body .phone #transfer-success > .transfer-result-pending-mark[hidden] { display:none !important; }
html[data-app-theme="nova"] body .phone .transfer-result-pending-mark { display:grid;place-items:center;width:96px;height:96px;margin:0 auto 16px;color:var(--biz-warning,#a66b17); }
html[data-app-theme="nova"] body .phone .transfer-result-pending-mark > svg { width:32px;height:32px; }
html[data-app-theme="nova"] body .phone #transfer-success[data-result-status="completed"] { --biz-result-color:var(--nova-palette-success,#008150); }
html[data-app-theme="nova"] body .phone #transfer-success[data-result-status="pending"] { --biz-result-color:var(--nova-palette-coral,#f49a70); }
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone #transfer-success[data-result-status="completed"] { --biz-result-color:var(--nova-palette-success-tile,#009761); }
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone #transfer-success[data-result-status="pending"] { --biz-result-color:var(--nova-palette-coral-dark,#ffae91); }
html[data-app-theme="nova"] body .phone #screen-transfer:not(:has(#transfer-recipient.active)) #destination-help-button { visibility:hidden;pointer-events:none; }
html[data-app-theme="nova"] body .phone #screen-transfer > .stepper { display:none !important; }
html[data-app-theme="nova"] body .phone #transfer-step-label { visibility:hidden;pointer-events:none; }
html[data-app-theme="nova"] body .phone #transfer-success:is([data-result-status="completed"],[data-result-status="pending"]) #receipt-status { display:none !important; }
html[data-app-theme="nova"] body .phone #transfer-success[data-result-status="unknown"] #receipt-status { color:var(--biz-warning,#a66b17) !important; }
html[data-app-theme="nova"] body .phone #receipt-description { max-width:36ch;margin:8px auto 0;color:var(--biz-muted);font:400 14px/24px var(--biz-font-regular);text-wrap:pretty; }
/* Keep recipient details together in the receipt list, below the amount. */
html[data-app-theme="nova"] body .phone #transfer-success .transfer-receipt-recipient { display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 16px; }
html[data-app-theme="nova"] body .phone .transfer-receipt-recipient > dd { display:contents; }
html[data-app-theme="nova"] body .phone #receipt-name { text-align:end;overflow-wrap:anywhere;min-width:0; }
html[data-app-theme="nova"] body .phone #receipt-note { white-space:pre-wrap; }
html[data-app-theme="nova"] body .phone #receipt-destination { display:block;direction:ltr;unicode-bidi:isolate;text-align:left;overflow-wrap:anywhere;margin-top:4px;color:var(--biz-muted);font:400 12px/20px var(--biz-font-regular); }
html[data-app-theme="nova"] body .phone .transfer-receipt-recipient #receipt-destination { grid-column:1 / -1;margin-top:0; }

html[data-app-theme="nova"] body .phone .transfer-limit-track { stroke:var(--limit-color);opacity:.14; }
html[data-app-theme="nova"] body .phone .transfer-limit-overview [data-limit="transaction"] { --ring-start:var(--ring-violet-start);--ring-end:var(--ring-violet-end);--limit-color:var(--ring-start); }
html[data-app-theme="nova"] body .phone .transfer-limit-overview [data-limit="daily"] { --ring-start:var(--ring-coral-start);--ring-end:var(--ring-coral-end);--limit-color:var(--ring-start); }
html[data-app-theme="nova"] body .phone .transfer-limit-overview [data-limit="monthly"] { --ring-start:var(--ring-gold-start);--ring-end:var(--ring-gold-end);--limit-color:var(--nova-palette-warning-ring-ink,#99651e); }
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone .transfer-limit-overview [data-limit="monthly"] { --limit-color:var(--ring-gold-start); }
html[data-app-theme="nova"] body .phone .transfer-limit-legend { display:grid;grid-template-columns:repeat(var(--transfer-limit-columns,3),minmax(0,1fr));gap:0;width:100%;direction:rtl;margin:0;padding-top:20px;border-top:1px solid var(--biz-divider-color); }
html[data-app-theme="nova"] body .phone .transfer-limit-legend-row { display:flex;flex-direction:column;gap:12px;min-width:0;padding:0 8px;text-align:center; }
html[data-app-theme="nova"] body .phone .transfer-limit-legend-row + .transfer-limit-legend-row { border-inline-start:1px solid var(--biz-divider-color); }
html[data-app-theme="nova"] body .phone .transfer-limit-legend dt { color:var(--biz-muted);font:400 12px/20px var(--biz-font-regular);white-space:nowrap; }
html[data-app-theme="nova"] body .phone .transfer-limit-legend dd { container-type:inline-size;display:flex;flex:1;flex-direction:column;gap:8px;min-width:0;margin:0;color:var(--limit-color);font:600 24px/32px var(--biz-font-semibold); }
html[data-app-theme="nova"] body .phone .transfer-limit-amount { display:block;min-width:0;font:600 clamp(12px,calc(135cqw / var(--limit-value-chars)),24px)/32px var(--biz-font-semibold) !important; }
html[data-app-theme="nova"] body .phone .transfer-limit-amount > .biz-money { display:flex !important;flex-direction:column !important;align-items:center !important;gap:4px;font:inherit !important; }
html[data-app-theme="nova"] body .phone .transfer-limit-amount .biz-money-number { line-height:32px !important; }
html[data-app-theme="nova"] body .phone .transfer-limit-amount .biz-money-unit { color:var(--biz-muted);font:400 11px/20px var(--biz-font-regular) !important; }
html[data-app-theme="nova"] body .phone .transfer-limit-no-cap { display:grid;place-items:center;min-height:56px;color:var(--biz-muted);font:600 13px/24px var(--biz-font-semibold); }
html[data-app-theme="nova"] body .phone .transfer-limit-usage { margin:0;padding-top:16px;border-top:1px solid var(--biz-divider-color); }
html[data-app-theme="nova"] body .phone .transfer-limit-usage > div { display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px; }
html[data-app-theme="nova"] body .phone .transfer-limit-usage dt { color:var(--biz-muted);font:400 12px/24px var(--biz-font-regular); }
html[data-app-theme="nova"] body .phone .transfer-limit-usage dd { margin:0;color:var(--biz-ink);font:600 14px/24px var(--biz-font-semibold); }
@media(max-width:360px) {
  html[data-app-theme="nova"] body .phone .transfer-limit-rings { width:144px;height:144px; }
  html[data-app-theme="nova"] body .phone .transfer-limit-legend-row { padding-inline:4px; }
  html[data-app-theme="nova"] body .phone .transfer-limit-legend dt { font-size:11px; }
}

/* Compare settlement timing, make a visible choice, then continue to review. */
html[data-app-theme="nova"] body .phone #route-sheet { --route-choice-ink:var(--nova-palette-primary,#6550cc); }
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone #route-sheet { --route-choice-ink:var(--nova-palette-primary-available-dark,#ad9aff); }

html[data-app-theme="nova"] body .phone #route-sheet > .bottom-sheet { gap:16px;scroll-padding-bottom:100px; }
html[data-app-theme="nova"] body .phone #route-sheet > .bottom-sheet > header { margin-bottom:0 !important; }
html[data-app-theme="nova"] body .phone #route-sheet .sheet-intro[hidden] { display:none !important; }
html[data-app-theme="nova"] body .phone .route-sheet-amount:not([hidden]) { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px var(--biz-card-padding); }
html[data-app-theme="nova"] body .phone .route-sheet-summary-copy { display:flex;flex-direction:column;gap:4px;min-width:0; }
html[data-app-theme="nova"] body .phone .route-sheet-summary-copy > small { color:var(--biz-muted);font:400 12px/20px var(--biz-font-regular); }
html[data-app-theme="nova"] body .phone .route-sheet-summary-copy > strong { color:var(--biz-ink);font:600 24px/32px var(--biz-font-semibold) !important; }
html[data-app-theme="nova"] body .phone .route-sheet-destination { display:flex;align-items:center;gap:6px;margin-top:4px;color:var(--biz-muted);font:400 12px/20px var(--biz-font-regular); }
html[data-app-theme="nova"] body .phone .route-sheet-destination > svg { width:14px;height:14px;flex:none; }
html[data-app-theme="nova"] body .phone .route-sheet-destination > span { overflow-wrap:anywhere; }
html[data-app-theme="nova"] body .phone #route-edit-amount { display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:8px 12px;border:0;border-radius:999px;background:color-mix(in srgb,var(--route-choice-ink) 9%,var(--biz-surface));color:var(--route-choice-ink);font:600 12px/20px var(--biz-font-semibold); }
html[data-app-theme="nova"] body .phone #route-edit-amount > svg { width:16px;height:16px;flex:none; }
html[data-app-theme="nova"] body .phone #route-edit-amount > span { font:inherit; }
html[data-app-theme="nova"] body .phone #route-options > button {
  grid-template-columns:40px minmax(0,1fr) 24px !important;gap:12px !important;padding:20px var(--biz-card-padding) !important;
}
html[data-app-theme="nova"] body .phone #route-options > button > .biz-icon-tile { width:40px;height:40px; }
html[data-app-theme="nova"] body .phone #route-options .route-option-copy { min-width:0;gap:4px !important; }
html[data-app-theme="nova"] body .phone #route-options .route-option-heading { display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px; }
html[data-app-theme="nova"] body .phone #route-options .route-recommendation { padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--route-choice-ink) 9%,var(--biz-surface));color:var(--route-choice-ink);font:400 10px/20px var(--biz-font-regular); }
html[data-app-theme="nova"] body .phone #route-options .route-option-timing { color:var(--biz-ink);font:400 13px/24px var(--biz-font-regular); }
html[data-app-theme="nova"] body .phone #route-options .route-radio { display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--biz-muted);border-radius:50%;background:transparent; }
html[data-app-theme="nova"] body .phone #route-options .route-radio > svg { width:14px;height:14px;visibility:hidden; }
html[data-app-theme="nova"] body .phone #route-options [aria-checked="true"] .route-radio { border-color:var(--route-choice-ink);background:var(--route-choice-ink);color:var(--biz-canvas); }
html[data-app-theme="nova"] body .phone #route-options [aria-checked="true"] .route-radio > svg { visibility:visible;color:inherit; }
html[data-app-theme="nova"] body .phone #route-options > button:focus-visible { outline:2px solid var(--biz-focus);outline-offset:-3px;border-radius:20px; }
html[data-app-theme="nova"] body .phone #route-options .route-option-limit { line-height:24px !important; }
html[data-app-theme="nova"] body .phone #route-options .route-option-limit .biz-money { font:600 13px/24px var(--biz-font-semibold) !important;color:inherit; }
html[data-app-theme="nova"] body .phone #route-options > button:disabled :is(.route-option-heading > strong,.route-option-timing,.route-option-limit,.route-option-unavailable) { color:var(--biz-muted) !important; }
html[data-app-theme="nova"] body .phone #route-options > button:disabled .route-radio { border-color:var(--biz-line);background:var(--biz-surface-soft); }
html[data-app-theme="nova"] body .phone .route-sheet-footer:not([hidden]) {
  position:sticky;bottom:calc(-1 * max(20px,var(--app-safe-bottom,0px)));z-index:3;
  margin-inline:calc(-1 * var(--biz-card-padding));padding:16px var(--biz-card-padding) max(20px,var(--app-safe-bottom,0px));
  background:var(--biz-canvas);box-shadow:0 -12px 20px -16px rgb(0 0 0 / 16%);
}
html[data-app-theme="nova"] body .phone #route-continue { margin:0; }
@media(max-width:360px) {
  html[data-app-theme="nova"] body .phone #route-options > button { grid-template-columns:40px minmax(0,1fr) 24px !important;gap:12px !important; }
  html[data-app-theme="nova"] body .phone .route-sheet-summary-copy > strong { font-size:20px !important; }
}

/* Neutral filled suggested amounts; selection deepens the same gray surface. */
html[data-app-theme="nova"] .phone[data-app-theme="nova"] {
  --nova-amount-chip-fill: #f1f1f1;
  --nova-amount-chip-selected: #dedede;
}
html[data-app-theme="nova"][data-color-scheme="dark"] .phone[data-app-theme="nova"] {
  --nova-amount-chip-fill: var(--appearance-soft);
  --nova-amount-chip-selected: var(--appearance-raised);
}
html[data-app-theme="nova"] body .phone #transfer-amount .amount-suggestions button {
  color: var(--biz-ink) !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html[data-app-theme="nova"] body .phone #transfer-amount .amount-suggestions button::before {
  border: 0 !important;
  background: var(--nova-amount-chip-fill) !important;
  box-shadow: none;
}
html[data-app-theme="nova"] body .phone #transfer-amount .amount-suggestions button.active::before {
  background: var(--nova-amount-chip-selected) !important;
  box-shadow: none;
}
html[data-app-theme="nova"] body .phone #transfer-amount #change-route {
  color: var(--nova-accent-ink) !important;
  background: var(--nova-accent-soft) !important;
}

/* A slightly richer violet surface identifies image selection throughout Nova. */
html[data-app-theme="nova"] body .phone {
  --nova-image-picker-fill: var(--nova-palette-primary-image-picker, #f2eefc);
}
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone {
  --nova-image-picker-fill: var(--biz-surface-soft);
}
html[data-app-theme="nova"] body .phone :is(.biz-file-picker, .bm-file-picker, #card-scan-upload) {
  background: var(--nova-image-picker-fill) !important;
}
html[data-app-theme="nova"] body .phone #choose-profile-photo {
  background: color-mix(in srgb, var(--biz-brand) 94%, var(--biz-ink)) !important;
}

/* A compact edit cue keeps the recipient identity dominant; the whole row is interactive. */
html[data-app-theme="nova"] body .phone #transfer-amount #selected-recipient .selected-recipient-action {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:0;flex-shrink:0;border:0 !important;border-radius:0;
  background:transparent !important;box-shadow:none;
  color:var(--nova-palette-primary,#6550cc) !important;
  font:600 12px/20px var(--biz-font-semibold) !important;white-space:nowrap;
}
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone #transfer-amount #selected-recipient .selected-recipient-action { color:var(--nova-palette-primary-available-dark,#ad9aff) !important; }
html[data-app-theme="nova"] body .phone #selected-recipient .selected-recipient-edit-icon { display:block !important;width:20px;height:20px;flex:0 0 20px; }
html[data-app-theme="nova"] body .phone #selected-recipient .selected-recipient-action > span { font:inherit; }
html[data-app-theme="nova"] body .phone #selected-recipient .selected-recipient-action-context { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
html[data-app-theme="nova"] body .phone #selected-recipient:active .selected-recipient-action { opacity:.75; }

/* Preserve the existing rail-change control. */
html[data-app-theme="nova"] body .phone #transfer-amount #change-route {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 8px 14px;
  flex-shrink: 0;
  border: 1px solid color-mix(in srgb, var(--nova-accent-ink) 38%, transparent) !important;
  border-radius: 999px;
  background: var(--nova-accent-soft) !important;
  color: var(--nova-accent-ink) !important;
  font: 600 12px/20px var(--biz-font-semibold) !important;
  white-space: nowrap;
}
@media (hover: hover) and (pointer: fine) {
  html[data-app-theme="nova"] body .phone #transfer-amount #change-route:hover {
    background: color-mix(in srgb, var(--nova-accent) 22%, var(--biz-surface)) !important;
    border-color: var(--nova-accent-ink) !important;
  }
}
html[data-app-theme="nova"] body .phone #transfer-amount #change-route:active {
  background: color-mix(in srgb, var(--nova-accent) 30%, var(--biz-surface)) !important;
}

html[data-app-theme="nova"] body .phone #transfer-source-switch > i {
  display: none !important;
}

/* A single card inspection layer: full-screen blur, centered card, one spin. */
html[data-app-theme="nova"] body .phone #card-hero { cursor: pointer; }
html[data-app-theme="nova"] body .phone #card-hero.frozen { cursor: default; }
html[data-app-theme="nova"] body .phone #card-hero:focus-visible { outline: 2px solid var(--biz-focus); outline-offset: 6px; }
html[data-app-theme="nova"] body .phone #nova-card-viewer {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 16px;
  border: 0;
  background: transparent;
  overflow: hidden;
  touch-action: manipulation;
  cursor: pointer;
}
html[data-app-theme="nova"] body .phone #nova-card-viewer[open] {
  display: grid;
  place-items: center;
}
html[data-app-theme="nova"] body .phone #nova-card-viewer::backdrop { background: transparent; }
html[data-app-theme="nova"] body .phone .nova-card-viewer-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: rgb(var(--nova-palette-surface-rgb, 255 255 255) / .72);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  opacity: 0;
  will-change: opacity;
}
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone .nova-card-viewer-backdrop {
  background: rgb(var(--nova-palette-canvas-dark-rgb, 18 20 23) / .9);
}
html[data-app-theme="nova"] body .phone #screen-card-detail.active #card-hero { will-change: transform; }
html[data-app-theme="nova"] body .phone #nova-card-viewer #card-hero { z-index: 1; }
html[data-app-theme="nova"] body .phone #nova-card-viewer-title {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip-path: inset(50%);
}
html[data-app-theme="nova"] body .phone #screen-card-detail #card-hero[data-expanded="true"] {
  width: var(--nova-card-viewer-width);
  margin: 0;
  scale: 1;
  transform: none;
  transition: none;
}

/* Each digit owns its error surface and success motion. */
html[data-app-theme="nova"] body .phone .otp-input-wrap.is-invalid > .otp-digit {
  background: color-mix(in srgb, var(--biz-danger) 10%, var(--ui-field-fill)) !important;
  box-shadow: inset 0 0 0 1.5px var(--biz-danger) !important;
}
html[data-app-theme="nova"] body .phone .otp-input-wrap.is-otp-success > .otp-digit {
  pointer-events: none;
  animation: nova-otp-gather 520ms cubic-bezier(.4, 0, .2, 1) both;
}
html[data-app-theme="nova"] body .phone .otp-success-mark {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 73.92px;
  height: 73.92px;
  transform-origin: 50% 50%;
  display: grid;
  place-items: center;
  border-radius: 24px;
  color: white;
  background: var(--biz-brand);
  animation: nova-otp-mark 320ms 380ms ease both, nova-otp-pulse 420ms 840ms ease-in-out;
  pointer-events: none;
}
html[data-app-theme="nova"] body .phone .otp-success-mark svg { width: 52.8px; height: 52.8px; fill: none; }
html[data-app-theme="nova"] body .phone .otp-success-mark path {
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1;
  animation: nova-otp-check 280ms 560ms ease both;
}
@keyframes nova-otp-gather {
  0% { transform: translateX(0) scale(1); opacity: 1; }
  65% { opacity: 1; color: transparent; }
  100% { transform: translateX(var(--otp-center-x)) scale(1.2); opacity: 0; color: transparent; }
}
@keyframes nova-otp-mark { from { opacity: 0; scale: .7; } to { opacity: 1; scale: 1; } }
@keyframes nova-otp-pulse {
  0%, 100% { scale: 1; }
  45% { scale: 1.14; }
}
@keyframes nova-otp-check { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  html[data-app-theme="nova"] body .phone .otp-input-wrap.is-otp-success > .otp-digit { animation: none; opacity: 0; }
  html[data-app-theme="nova"] body .phone .otp-success-mark,
  html[data-app-theme="nova"] body .phone .otp-success-mark path { animation: none; }
}
html[data-app-theme="nova"] body .phone .otp-input-wrap[data-otp-input] {
  outline: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Inspection actions appear only once the card has settled. */
html[data-app-theme="nova"] body .phone #nova-card-viewer .nova-card-viewer-tools {
  position: absolute;
  z-index: 2;
  left: 50%;
  transform: translate(-50%, 8px);
  max-width: calc(100vw - 32px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 220ms ease, transform 220ms ease;
  cursor: default;
}
html[data-app-theme="nova"] body .phone #nova-card-viewer .nova-card-viewer-tools[data-ready="true"] {
  transform: translate(-50%, 0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
html[data-app-theme="nova"] body .phone #nova-card-viewer .nova-card-viewer-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56px;
  gap: 12px;
  align-items: stretch;
}
html[data-app-theme="nova"] body .phone #nova-card-viewer .nova-card-viewer-actions > button {
  margin: 0;
  min-height: 56px;
  color: var(--biz-ink);
  background: var(--nova-liquid-coat), var(--nova-liquid-fill) !important;
  border: 1px solid transparent !important;
  box-shadow: var(--nova-liquid-shadow) !important;
  backdrop-filter: blur(14px) saturate(175%);
  -webkit-backdrop-filter: blur(14px) saturate(175%);
}
html[data-app-theme="nova"] body .phone #nova-card-viewer .nova-card-viewer-actions > button:active {
  background: var(--nova-liquid-coat), var(--nova-liquid-pressed) !important;
}
html[data-app-theme="nova"] body .phone #nova-card-viewer .nova-card-viewer-actions > button > span { color: inherit !important; }
html[data-app-theme="nova"] body .phone #nova-card-viewer #nova-card-viewer-share {
  border-radius: 50%;
}
html[data-app-theme="nova"] body .phone #nova-card-viewer .nova-card-viewer-status {
  text-align: center;
  margin: 8px 0 0;
  color: var(--nova-palette-muted, #625a74);
  font: 400 12px/20px var(--biz-font-regular);
}
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone #nova-card-viewer .nova-card-viewer-status {
  color: var(--biz-muted, var(--nova-palette-primary-muted-fallback, #c4bbd5));
}
html[data-app-theme="nova"] body .phone #nova-card-viewer .nova-card-viewer-status:empty { display: none; }
@media (prefers-reduced-motion: reduce) {
  html[data-app-theme="nova"] body .phone #nova-card-viewer .nova-card-viewer-tools { transition: none; }
}

/* Nova: keep onboarding focused on the requested action. */
html[data-app-theme="nova"] body .phone .otp-heading > span,
html[data-app-theme="nova"] body .phone .otp-delivery-status,
html[data-app-theme="nova"] body .phone .new-welcome-hero > span {
  display: none !important;
}
/* Retain the OTP group's accessible name without a visible field label. */
html[data-app-theme="nova"] body .phone #login-otp-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Nova transfer amount: bare entry, with the entire formatted value visible. */
html[data-app-theme="nova"] body .phone #transfer-amount .amount-entry > div,
html[data-app-theme="nova"] body .phone #transfer-amount .amount-entry > div:focus-within {
  min-width: 0;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
html[data-app-theme="nova"] body .phone #transfer-amount #amount-input {
  box-sizing: border-box;
  flex: 0 1 auto;
  min-width: 0;
  width: var(--nova-amount-width, 180px) !important;
  max-width: 100%;
  padding-inline: 0 !important;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  font-size: var(--nova-amount-size, 32px) !important;
}
html[data-app-theme="nova"] body .phone #transfer-amount .amount-entry > div > .biz-money-unit {
  flex: 0 0 auto;
}

/* Nova: omit the supplementary onboarding copy requested for removal. */
html[data-app-theme="nova"] body .phone #login-step-new-personal > .login-heading > p,
html[data-app-theme="nova"] body .phone #login-step-new-deposit > .comparison-note,
html[data-app-theme="nova"] body .phone #login-step-new-contract > .login-trust {
  display: none !important;
}

/* One semantic capacity palette for Home, Business and Credit Service. */
html[data-app-theme="nova"] body .phone :is(.ec-root, .nova-finance-viz, .transfer-daily-capacity, .transfer-limit-overview) {
  --nova-credit-available: var(--nova-palette-primary, #6550cc);
  --nova-credit-reserved: var(--nova-palette-lilac, #a88ae9);
  --nova-credit-used: var(--nova-palette-coral, #f49a70);
}
html[data-app-theme="nova"] body .phone .ec-root .ec-capacity-available {
  background: var(--nova-credit-available);
}
html[data-app-theme="nova"] body .phone .ec-root .ec-capacity-reserved {
  background: var(--nova-credit-reserved);
}
html[data-app-theme="nova"] body .phone .ec-root .ec-capacity-used {
  background: var(--nova-credit-used);
}
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone :is(.ec-root, .nova-finance-viz, .transfer-daily-capacity, .transfer-limit-overview) {
  --nova-credit-available: var(--nova-palette-primary-available-dark, #ad9aff);
  --nova-credit-reserved: var(--nova-palette-lilac-dark, #d3c0ff);
  --nova-credit-used: var(--nova-palette-coral-dark, #ffae91);
}

/* ATELIER_CARDS_START — approved material artwork, live identity, ISO ID-1. */
html[data-app-theme="nova"] body .phone :is(.design-black, .card-design-option.black) {
  --bank-card-art: url("assets/cards/atelier-v1/graphite.png");
  --bank-card-aura: #56606e;
  --bank-card-ink: #e7e9eb;
  --bank-card-number: #e7e9eb;
  --bank-card-muted: #e7e9eb;
  --bank-card-logo-color: #cbd1d8;
  --bank-card-engraving: 0 -1px 1px #000b, 0 1px 0 #ffffff40;
  --bank-card-logo-engraving: drop-shadow(0 -1px 1px #000b) drop-shadow(0 1px 0 #ffffff40);
}
html[data-app-theme="nova"] body .phone :is(.design-light, .card-design-option.light) {
  --bank-card-art: url("assets/cards/atelier-v1/ice.png");
  --bank-card-aura: #8abed4;
  --bank-card-ink: #163f5d;
  --bank-card-number: #163f5d;
  --bank-card-muted: #163f5d;
  --bank-card-logo-color: #244f75;
  --bank-card-engraving: 0 -1px 1px #16445c50, 0 1px 0 #ffffffe0;
  --bank-card-logo-engraving: drop-shadow(0 -1px 1px #16445c50) drop-shadow(0 1px 0 #ffffffe0);
}
html[data-app-theme="nova"] body .phone :is(.design-wave, .card-design-option.wave) {
  --bank-card-art: url("assets/cards/atelier-v1/coral.png");
  --bank-card-aura: #e87c65;
  --bank-card-ink: #fff1de;
  --bank-card-number: #fff1de;
  --bank-card-muted: #fff1de;
  --bank-card-logo-color: #fff0da;
  --bank-card-engraving: 0 -1px 1px #8c241580, 0 1px 0 #ffffff65;
  --bank-card-logo-engraving: drop-shadow(0 -1px 1px #8c241580) drop-shadow(0 1px 0 #ffffff65);
}
html[data-app-theme="nova"] body .phone :is(.design-forest, .card-design-option.forest) {
  --bank-card-art: url("assets/cards/atelier-v1/forest.png");
  --bank-card-aura: #367b60;
  --bank-card-ink: #e6d4a3;
  --bank-card-number: #e6d4a3;
  --bank-card-muted: #e6d4a3;
  --bank-card-logo-color: #dfc28c;
  --bank-card-engraving: 0 -1px 1px #001b13, 0 1px 0 #ffffff35;
  --bank-card-logo-engraving: drop-shadow(0 -1px 1px #001b13) drop-shadow(0 1px 0 #ffffff35);
}
html[data-app-theme="nova"] body .phone :is(.design-pearl, .card-design-option.pearl) {
  --bank-card-art: url("assets/cards/atelier-v1/pearl.png");
  --bank-card-aura: #bd98c8;
  --bank-card-ink: #55415f;
  --bank-card-number: #55415f;
  --bank-card-muted: #55415f;
  --bank-card-logo-color: #62436e;
  --bank-card-engraving: 0 -1px 1px #43233c40, 0 1px 0 #fff;
  --bank-card-logo-engraving: drop-shadow(0 -1px 1px #43233c40) drop-shadow(0 1px 0 #fff);
}

html[data-app-theme="nova"] body .phone :is(.physical-card, .physical-card-preview, .card-design-option > i,
  .pending-card-thumb, .card-thumb, .mini-card, .detail-card-thumb) {
  background: var(--bank-card-art) center / 100% 100% no-repeat !important;
  background-blend-mode: normal;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  aspect-ratio: 85.6 / 53.98;
  height: auto;
  min-height: 0;
  box-sizing: border-box;
  border-radius: 12px;
}
html[data-app-theme="nova"] body .phone :is(#screen-card-detail #card-hero, #login-screen .physical-card-preview) {
  aspect-ratio: 85.6 / 53.98;
  border-radius: 28px;
}
html[data-app-theme="nova"] body .phone :is(.physical-card, .physical-card-preview) :is(.card-hardware, .detail-card-label, .card-brand span),
html[data-app-theme="nova"] body .phone :is(.card-design-option > i, .mini-card, .card-thumb, .pending-card-thumb)::before {
  display: none !important;
}
html[data-app-theme="nova"] body .phone :is(.physical-card, .physical-card-preview) > .card-top {
  inset: 12% auto auto 8% !important;
  direction: ltr !important;
  display: block !important;
  /* Apply outside the logo mask so the engraved edges follow its silhouette. */
  filter: var(--bank-card-logo-engraving);
}
html[data-app-theme="nova"] body .phone :is(.physical-card, .physical-card-preview) .card-brand {
  display: block !important;
  width: 13.104cqw;
  height: auto;
  aspect-ratio: 119 / 61;
  background: var(--bank-card-logo-color);
  mask: url("assets/logo-biz-mark.svg") center / contain no-repeat;
}
html[data-app-theme="nova"] body .phone :is(.physical-card, .physical-card-preview) .card-brand img { visibility: hidden; width: 13.104cqw !important; }
html[data-app-theme="nova"] body .phone :is(.card-design-option > i, .mini-card, .card-thumb, .pending-card-thumb)::after {
  content: "" !important;
  display: block !important;
  inset: 12% auto auto 8% !important;
  width: 13.104% !important;
  height: auto !important;
  aspect-ratio: 119 / 61;
  background: var(--bank-card-logo-color) !important;
  mask: url("assets/logo-biz-mark.svg") center / contain no-repeat;
  filter: none !important;
}
html[data-app-theme="nova"] body .phone :is(#screen-card-detail #card-hero #card-detail-number, #login-screen .physical-card-preview > strong, .bank-card-number) {
  position: absolute;
  inset: auto auto 27% 8% !important;
  width: max-content;
  max-width: 76%;
  padding: 0 !important;
  margin: 0;
  border: 0 !important;
  background: transparent !important;
  color: var(--bank-card-number) !important;
  font-family: "Bank OCR-B", "Courier New", monospace !important;
  font-size: 5.1cqw !important;
  font-weight: 400;
  font-style: normal;
  line-height: 1.3;
  letter-spacing: .015em !important;
  font-variant-numeric: tabular-nums;
  direction: ltr;
  unicode-bidi: isolate;
  white-space: nowrap;
  text-align: left;
  text-shadow: var(--bank-card-engraving) !important;
  -webkit-font-smoothing: antialiased;
}
html[data-app-theme="nova"] body .phone :is(#screen-card-detail #card-hero, #login-screen .physical-card-preview) > footer {
  inset: auto 8% 10% auto !important;
  width: 84%;
  max-width: 84%;
}
html[data-app-theme="nova"] body .phone :is(.physical-card, .physical-card-preview) > footer :is(span, strong),
html[data-app-theme="nova"] body .phone .bank-card-holder {
  color: var(--bank-card-ink) !important;
  font-family: "Vazirmatn Medium", Tahoma, sans-serif;
  font-size: 4.1cqw !important;
  line-height: 1.6;
  text-shadow: var(--bank-card-engraving) !important;
  font-weight: 500;
  font-style: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
html[data-app-theme="nova"] body .phone .bank-card-holder { position: absolute; right: 8%; bottom: 10%; max-width: 84%; }
html[data-app-theme="nova"] body .phone #screen-card-detail #card-hero #card-detail-number-toggle {
  inset: 8% 6% auto auto;
  width: 44px;
  height: 44px;
  min-height: 44px;
  color: var(--bank-card-ink);
  background: transparent;
  box-shadow: none;
}
/* Native scroll-snap selects the centered face; adjacent faces remain discoverable. */
html[data-app-theme="nova"] body .phone .card-design-picker { min-width: 0; }
html[data-app-theme="nova"] body .phone .card-design-picker > header { gap: 12px; flex-wrap: wrap; }
html[data-app-theme="nova"] body .phone .card-carousel-help { display: block; margin: 8px 0 12px; font-size: 12px; line-height: 20px; color: var(--biz-muted); }
html[data-app-theme="nova"] body .phone #card-design-carousel {
  display: flex !important;
  flex-wrap: nowrap;
  gap: 16px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 8px 0;
  direction: rtl;
  touch-action: pan-x pan-y;
  min-width: 0;
  cursor: grab;
}
html[data-app-theme="nova"] body .phone #card-design-carousel::-webkit-scrollbar { display: none; }
html[data-app-theme="nova"] body .phone #card-design-carousel::before, html[data-app-theme="nova"] body .phone #card-design-carousel::after { content: ""; flex: 0 0 calc(8% - 16px); }
html[data-app-theme="nova"] body .phone #card-design-carousel .card-design-option {
  flex: 0 0 84%;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0;
  margin: 0;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  scroll-snap-align: center;
  scroll-snap-stop: always;
  user-select: none;
  cursor: inherit;
  border-radius: 12px;
}
html[data-app-theme="nova"] body .phone #card-design-carousel .card-design-option > i {
  display: block;
  position: relative;
  container-type: inline-size;
  width: 100%;
  height: auto !important;
  aspect-ratio: 85.6 / 53.98;
  flex: none;
  margin: 0;
  padding: 0;
  transition: opacity 180ms ease !important;
}
html[data-app-theme="nova"] body .phone #card-design-carousel .card-design-option:not(.selected) > i { opacity: .64; }
html[data-app-theme="nova"] body .phone #card-design-carousel .card-design-option > span { font-size: 14px; font-weight: 600; line-height: 24px; }
html[data-app-theme="nova"] body .phone #card-design-carousel .card-design-option > small { font-size: 11px; line-height: 20px; }
html[data-app-theme="nova"] body .phone #card-design-carousel .card-design-option:focus-visible { outline: 2px solid var(--biz-focus); outline-offset: 3px; }
html[data-app-theme="nova"] body .phone #card-design-carousel[data-dragging="true"] { cursor: grabbing; scroll-snap-type: none; }
html[data-app-theme="nova"] body .phone #login-screen #physical-card-preview { display: none; }
html[data-app-theme="nova"] body .phone .card-carousel-controls { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 8px; }
html[data-app-theme="nova"] body .phone .card-carousel-controls button { width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--biz-soft); color: var(--biz-ink); font: 22px/1 sans-serif; box-shadow: none; }
html[data-app-theme="nova"] body .phone .card-carousel-controls button:disabled { opacity: .35; cursor: default; }
html[data-app-theme="nova"] body .phone #card-carousel-position { min-width: 48px; text-align: center; font-size: 12px; color: var(--biz-muted); }
@media (prefers-reduced-motion: reduce) {
  html[data-app-theme="nova"] body .phone #card-design-carousel .card-design-option > i { transition: none !important; }
}
/* ATELIER_CARDS_END */

/* The app control center inherits Nova tokens from its shared sheet host. */
html[data-app-theme="nova"] .phone #control-center-sheet > .scenario-control.mobile-visible {
  position: relative !important;
  inset: auto !important;
  z-index: auto !important;
  display: flex !important;
  width: 100% !important;
  height: 90% !important;
  max-height: 90% !important;
  padding: 0 var(--biz-card-padding) max(20px, var(--app-safe-bottom, env(safe-area-inset-bottom, 0px))) !important;
  overflow: auto !important;
  border: 0 !important;
  border-radius: var(--biz-radius-sheet) var(--biz-radius-sheet) 0 0 !important;
  color: var(--biz-ink);
  background: var(--biz-canvas) !important;
  --ink: var(--biz-ink);
  --muted: var(--biz-muted);
  --line: var(--biz-line);
  --paper: var(--biz-surface);
  --soft: var(--biz-surface-soft);
  accent-color: var(--biz-focus);
}
html[data-app-theme="nova"] .phone #control-center-sheet .scenario-panel {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible;
  gap: 16px;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
html[data-app-theme="nova"] .phone #control-center-sheet .scenario-mobile-header {
  flex-shrink: 0;
  margin-bottom: 0 !important;
  background: var(--biz-canvas) !important;
}
html[data-app-theme="nova"] .phone #control-center-sheet #control-center-title {
  font: 18px/28px var(--biz-font-semibold) !important;
}
html[data-app-theme="nova"] .phone #control-center-sheet :is(strong, .scenario-section-heading > span) {
  color: var(--biz-ink);
  font: 14px/24px var(--biz-font-semibold) !important;
}
html[data-app-theme="nova"] .phone #control-center-sheet :is(small, .scenario-section-heading > small,
  .biometric-scenario-status, .scenario-guidance > b, #viewport-report-status, .guided-tour-picker-trigger > b) {
  color: var(--biz-muted) !important;
  font: 12px/20px var(--biz-font-regular) !important;
  white-space: normal;
}
html[data-app-theme="nova"] .phone #control-center-sheet :is(button:not(.biz-close-button), select, textarea) {
  min-height: 48px;
  padding: 12px;
  border: 0 !important;
  border-radius: var(--biz-radius-control) !important;
  color: var(--biz-ink) !important;
  background: var(--biz-surface) !important;
  box-shadow: none !important;
  font: 14px/24px var(--biz-font-regular) !important;
  white-space: normal;
}
html[data-app-theme="nova"] .phone #control-center-sheet :is(button.active, button[aria-selected="true"],
  .guided-tour-picker-option[aria-selected="true"]) {
  color: var(--biz-focus) !important;
  background: var(--biz-selected) !important;
  box-shadow: inset 0 0 0 1px var(--biz-focus) !important;
}
html[data-app-theme="nova"] .phone #control-center-sheet :is(button, select, textarea, summary):focus-visible {
  outline: 2px solid var(--biz-focus);
  outline-offset: 3px;
}
html[data-app-theme="nova"] .phone #control-center-sheet :is(.demo-mode-setting, .home-variant-control,
  .scenario-guidance, .mock-data-menu, .guided-tour-control, .guided-tour-control-flow, .scenario-counter, .viewport-diagnostics) {
  min-width: 0;
  margin: 0;
  padding: 16px;
  border: 0;
  border-radius: var(--biz-radius-inset);
  color: var(--biz-ink);
  background: var(--biz-surface);
  box-shadow: none;
}
html[data-app-theme="nova"] .phone #control-center-sheet :is(.demo-mode-setting-icon,
  .mock-data-menu-mark, .guided-tour-control-mark) {
  color: var(--biz-focus);
  background: var(--biz-selected);
  box-shadow: none;
  border: 0;
}
html[data-app-theme="nova"] .phone #control-center-sheet :is(.mock-data-menu-action,
  .guided-tour-picker-trigger, .guided-tour-shortcut, .guided-tour-shortcut kbd, .scenario-counter > div) {
  color: var(--biz-ink) !important;
  background: var(--biz-surface-soft) !important;
  border: 0 !important;
  box-shadow: none !important;
}
html[data-app-theme="nova"] .phone #control-center-sheet .guided-tour-picker-menu {
  color: var(--biz-ink);
  background: var(--biz-surface);
  border: 1px solid var(--biz-line);
  border-radius: var(--biz-radius-inset);
}
html[data-app-theme="nova"] .phone #control-center-sheet :is(.mock-data-menu > header > b,
  .guided-tour-control-progress, .guided-tour-picker-option-progress, .scenario-switch i) {
  color: var(--biz-focus);
  background: var(--biz-selected);
  border: 0;
}
html[data-app-theme="nova"] .phone #control-center-sheet :is(.guided-tour-control-progress > i,
  .guided-tour-picker-option-progress > i, .scenario-switch input:checked + i) { background: var(--biz-brand); }
html[data-app-theme="nova"] .phone #control-center-sheet .scenario-switch i::after { box-shadow: none; }
html[data-app-theme="nova"] .phone #control-center-sheet .scenario-switch input:focus-visible + i {
  outline: 2px solid var(--biz-focus); outline-offset: 3px;
}
html[data-app-theme="nova"] .phone #control-center-sheet .scenario-counter > div {
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  border-radius: var(--biz-radius-control);
}
html[data-app-theme="nova"] .phone #control-center-sheet .scenario-counter button {
  min-height: 44px !important;
  padding: 0;
  color: var(--biz-focus) !important;
  background: transparent !important;
  font-size: 20px !important;
}
html[data-app-theme="nova"] .phone #control-center-sheet .scenario-counter strong { white-space: normal; }
html[data-app-theme="nova"] .phone #control-center-sheet .content-scenarios { border-color: var(--biz-line); }
@media (max-width: 390px) {
  html[data-app-theme="nova"] .phone #control-center-sheet .content-scenarios { grid-template-columns: 1fr; }
}

html[data-app-theme="nova"] .phone #control-center-sheet .guided-tour-control-flow > button { min-height: 48px !important; }
html[data-app-theme="nova"] .phone #control-center-sheet .guided-tour-shortcut {
  font: 12px/20px var(--biz-font-regular);
}
html[data-app-theme="nova"] .phone #control-center-sheet .guided-tour-picker-trigger {
  grid-template-columns: minmax(0, 1fr) 16px;
}
html[data-app-theme="nova"] .phone #control-center-sheet .guided-tour-picker-trigger > b {
  grid-column: 1; grid-row: 2; text-align: start;
}
html[data-app-theme="nova"] .phone #control-center-sheet .guided-tour-picker-trigger > i {
  grid-column: 2; grid-row: 1 / 3; border-color: var(--biz-icon);
}

html[data-app-theme="nova"] .phone #control-center-sheet .mock-data-menu-action > b { color: var(--biz-icon); }

/* The Aura belongs to the background stage, independently of the floating card. */
.nova-card-stage { display: contents; }
html[data-app-theme="nova"] body .phone .nova-card-stage {
  display: flow-root;
  position: relative;
  isolation: isolate;
}
html[data-app-theme="nova"] body .phone .nova-card-stage::before {
  content: "";
  position: absolute;
  inset: -32px 0;
  z-index: -1;
  pointer-events: none;
  opacity: .35;
  background: radial-gradient(ellipse at 30% 42%, var(--bank-card-aura), transparent 66%),
    radial-gradient(ellipse at 76% 60%, var(--bank-card-aura), transparent 65%);
  filter: blur(28px);
}
#current-card-design-control { display: none; }
html[data-app-theme="nova"] #current-card-design-control,
html[data-control-center="admin"] #current-card-design-control { display: block; }
@media (forced-colors: active) {
  html[data-app-theme="nova"] body .phone #screen-card-detail #card-hero,
  html[data-app-theme="nova"] body .phone #card-design-carousel .card-design-option.selected > i { box-shadow: none !important; }
}

html[data-app-theme="nova"] #screen-card-detail:has(#card-hero.design-black) { --bank-card-aura: #56606e; }

html[data-app-theme="nova"] #screen-card-detail:has(#card-hero.design-light) { --bank-card-aura: #8abed4; }

html[data-app-theme="nova"] #screen-card-detail:has(#card-hero.design-wave) { --bank-card-aura: #e87c65; }

html[data-app-theme="nova"] #screen-card-detail:has(#card-hero.design-forest) { --bank-card-aura: #367b60; }

html[data-app-theme="nova"] #screen-card-detail:has(#card-hero.design-pearl) { --bank-card-aura: #bd98c8; }

@media (forced-colors: active) { html[data-app-theme="nova"] body .phone .nova-card-stage::before { display: none; } }

/* A flat magnetic strip adds no blur or per-frame rendering work. */
.nova-card-magnetic-stripe { display: none; }
html[data-app-theme="nova"] body .phone #card-hero > .nova-card-magnetic-stripe {
  display: block;
  visibility: hidden;
  position: absolute;
  top: 17%;
  left: 0;
  width: 100%;
  height: 22%;
  pointer-events: none;
  background: linear-gradient(180deg, #252426 0%, #111113 12%, #171719 85%, #242326 100%);
  box-shadow: inset 0 1px rgb(255 255 255 / 9%), inset 0 -1px rgb(0 0 0 / 35%);
}
html[data-app-theme="nova"] body .phone #card-hero[data-face="back"] > .nova-card-magnetic-stripe {
  visibility: visible;
}

/* The reverse keeps its material and magnetic stripe, without mirrored printing. */
html[data-app-theme="nova"] body .phone #screen-card-detail #card-hero[data-face="back"] > :not(.nova-card-reflection, .nova-card-magnetic-stripe) {
  visibility: hidden !important;
}

html[data-app-theme="nova"] body .phone #screen-card-detail #card-hero::after { display: none !important; }
/* Static light texture: only its transform and opacity change with the pose. */
html[data-app-theme="nova"] body .phone #screen-card-detail #card-hero > .nova-card-reflection {
  content: "";
  display: block !important;
  position: absolute;
  inset: -100%;
  width: 300%;
  height: 300%;
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
  transform: translate3d(var(--nova-light-shift, 9.1%), 0, 0);
  filter: none;
  border-radius: 0;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 43.333%, #fff3 46%, #fffa 48%,
    #fff 49.333%, #fff 50.667%, #fffa 52%, #fff3 54%, transparent 56.667%);
  opacity: var(--nova-light-opacity, .1792);
  mix-blend-mode: normal;
}
html[data-app-theme="nova"] body .phone #screen-card-detail.active #card-hero > .nova-card-reflection {
  will-change: transform, opacity;
}
@media (forced-colors: active) {
  html[data-app-theme="nova"] body .phone #screen-card-detail #card-hero > .nova-card-reflection { display: none !important; }
}

/* Printed security fields share the card's OCR-B typography. */
.card-printed-security { display: none; }
html[data-app-theme="nova"] body .phone #card-hero .card-printed-security {
  display: flex;
  gap: 4cqw;
  position: absolute;
  left: 8%;
  bottom: 10%;
  max-width: 44%;
  direction: ltr;
  color: var(--bank-card-ink);
  text-shadow: var(--bank-card-engraving);
}
html[data-app-theme="nova"] body .phone #card-hero .card-printed-field {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .6cqw;
}
html[data-app-theme="nova"] body .phone #card-hero .card-printed-field :is(small, b) {
  font-family: "Bank OCR-B", "Courier New", monospace !important;
  font-weight: 400;
  font-size: 3.6cqw !important;
  line-height: 1.25;
  letter-spacing: 0 !important;
  white-space: nowrap;
  color: inherit;
}
html[data-app-theme="nova"] body .phone #card-hero .card-printed-field small { font-size: 2.15cqw !important; }
html[data-app-theme="nova"] body .phone #screen-card-detail #card-hero > footer { width: 44%; max-width: 44%; }

/* Card gestures rotate both axes; page scrolling stays available outside it. */
html[data-app-theme="nova"] body .phone #screen-card-detail #card-hero:not([data-expanded="true"]):not(.frozen) {
  touch-action: pinch-zoom;
  user-select: none;
  -webkit-user-select: none;
}

/* Nova sheet depth — isolated, reversible presentation experiment.
 * Move the complete background, never the overlay or its keyboard geometry.
 * :has keeps stacked sheets recessed until the last visible sheet closes.
 */
html[data-app-theme="nova"] .phone > :is(.app-shell, .login-screen) {
  transform-origin: 50% 38%;
  transition: transform var(--biz-sheet-exit-duration, 200ms) var(--biz-sheet-exit-easing, cubic-bezier(.4, 0, 1, 1)),
    border-radius var(--biz-sheet-exit-duration, 200ms) var(--biz-sheet-exit-easing, cubic-bezier(.4, 0, 1, 1));
}
html[data-app-theme="nova"] .phone:has(> .sheet-backdrop:not([hidden]):is([data-sheet-state="opening"], [data-sheet-state="open"])) > :is(.app-shell, .login-screen) {
  transform: perspective(1200px) translateZ(-40px);
  border-radius: 28px;
  transition-duration: var(--biz-sheet-enter-duration, 280ms);
  transition-timing-function: var(--biz-sheet-enter-easing, cubic-bezier(.2, .8, .2, 1));
}
@media (prefers-reduced-motion: reduce) {
  html[data-app-theme="nova"] .phone > :is(.app-shell, .login-screen) {
    transform: none !important;
    border-radius: 0;
    transition: none;
  }
}

/* Shared Nova field inset: the shell owns padding, never the nested input. */
html[data-app-theme="nova"] .phone { --biz-field-inline-padding: 20px; }
html[data-app-theme="nova"] body .phone :is(
  .field > div, .invoice-field > div, .biz-field-control, .search-field,
  .card-auth-expiry-control
) {
  padding-inline: var(--biz-field-inline-padding) !important;
}
/* Card authorization: shared field insets and a consistent form rhythm.
 * The calendar keeps a 44px hit area in a 20px visual slot, like date fields. */
html[data-app-theme="nova"] body .phone .card-auth-sheet .card-auth-source {
  padding: var(--biz-card-padding) !important;
  grid-template-columns: 40px minmax(0, 1fr) max-content;
  row-gap: var(--biz-space-1);
}
html[data-app-theme="nova"] body .phone .card-auth-source > div {
  display: contents;
}
html[data-app-theme="nova"] body .phone .card-auth-source small {
  grid-column: 1 / 3;
  grid-row: 1;
  margin-block-end: var(--biz-space-2);
}
html[data-app-theme="nova"] body .phone .card-auth-source > i {
  grid-column: 3;
  grid-row: 1;
  align-self: start;
}
html[data-app-theme="nova"] body .phone .card-auth-source > span {
  grid-column: 1;
  grid-row: 2 / 4;
  align-self: center;
}
html[data-app-theme="nova"] body .phone .card-auth-source strong {
  grid-column: 2 / -1;
  grid-row: 2;
  min-width: 0;
}
html[data-app-theme="nova"] body .phone .card-auth-source b {
  grid-column: 2 / -1;
  grid-row: 3;
  min-width: 0;
}
html[data-app-theme="nova"] body .phone #card-auth-form .card-auth-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
  gap: var(--biz-space-4);
}
/* The inset action follows the shell's curve; text keeps the 20px field inset. */
html[data-app-theme="nova"] body .phone #card-auth-form .card-auth-otp-field > div {
  grid-template-columns: 20px minmax(0, 1fr) 132px;
}
html[data-app-theme="nova"] body .phone #card-auth-form .card-auth-otp-field > div > .field-action-button {
  justify-self: end;
  margin-inline-end: -14px;
}
html[data-app-theme="nova"] body .phone #card-auth-form .card-auth-expiry-control {
  padding-inline: var(--biz-field-inline-padding) !important;
  grid-template-columns: minmax(0, 1fr) 8px minmax(0, 1fr) 20px;
  gap: var(--biz-space-2);
}
html[data-app-theme="nova"] body .phone #card-auth-form .card-auth-expiry-control > .biz-date-open {
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0 !important;
  margin-inline: -12px;
  align-self: center;
}
html[data-app-theme="nova"] body .phone #card-auth-form .card-auth-security > .biz-info-content {
  font: 400 var(--biz-text-caption)/var(--biz-line-caption) var(--biz-font-regular) !important;
}
@media (max-width: 360px) {
  html[data-app-theme="nova"] body .phone #card-auth-form .card-auth-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  html[data-app-theme="nova"] body .phone #card-auth-form .card-auth-otp-field > div {
    grid-template-columns: 20px minmax(0, 1fr);
    padding-block-end: var(--biz-space-2) !important;
  }
  html[data-app-theme="nova"] body .phone #card-auth-form .card-auth-otp-field > div > .field-action-button {
    margin-inline: 0;
    justify-self: stretch;
  }
}
/* Shared multiline fields align prose and hints with the field's writing direction. */
html[data-app-theme="nova"] body .phone :is(.field, .invoice-field, .biz-field-control) textarea {
  text-align: start;
}
html[data-app-theme="nova"] body .phone :is(.field, .invoice-field, .biz-field-control) textarea::placeholder {
  text-align: start;
  font: inherit;
  font-weight: 400;
  color: var(--ui-muted);
  opacity: 1;
}
/* Inset the whole heading so the label and recovery action share its edges. */
html[data-app-theme="nova"] body .phone .login-password-heading {
  margin-inline: var(--biz-field-copy-inset) !important;
}
html[data-app-theme="nova"] body .phone .login-password-heading > span {
  margin-inline: 0 !important;
}

/* Recovery uses the same artwork, engraved brand and printed typography as the user's card. */
#recovery-current-card { display: none; }
html[data-app-theme="nova"] body .phone .recovery-card-summary > .recovery-card-preview { display: none; }
html[data-app-theme="nova"] body .phone #recovery-current-card {
  display: block;
  position: relative;
  container-type: inline-size;
  width: min(86%, 340px);
  margin: 20px auto;
  padding: 0;
  overflow: hidden;
}
html[data-app-theme="nova"] body .phone #recovery-current-card > :is(.card-top, footer) { position: absolute; }
html[data-app-theme="nova"] body .phone #recovery-current-card > footer { justify-content: flex-end; direction: rtl; }

@container (max-height: 540px) {
  html[data-app-theme="nova"] body .phone #login-screen #login-step-returning[data-login-sheet][data-sheet-state="open"] .login-hero-avatar {
    border-width: 2px;
  }
}

/* Dark violet glass with white controls keeps the guide visually distinct. */
html[data-app-theme="nova"] .phone {
  --nova-tour-accent: var(--nova-palette-coral-ink, #b94c32);
  --nova-tour-action: var(--nova-palette-coral, #f49a70);
  --nova-tour-on-accent: #282237;
  --nova-tour-glass: rgb(var(--nova-palette-primary-login-end-rgb, 53 32 107) / .96);
  --nova-tour-solid: var(--nova-palette-primary-login-end, #35206b);
  --nova-tour-soft: rgb(var(--nova-palette-coral-rgb, 244 154 112) / .16);
  --nova-tour-ink: #fff;
  --nova-tour-copy: rgb(255 255 255 / .88);
}
html[data-app-theme="nova"][data-color-scheme="dark"] .phone {
  --nova-tour-accent: var(--nova-palette-coral-dark, #ffae91);
  --nova-tour-action: var(--nova-palette-coral-dark, #ffae91);
  --nova-tour-on-accent: #282237;
  --nova-tour-soft: rgb(var(--nova-palette-coral-dark-rgb, 255 174 145) / .14);
}
html[data-app-theme="nova"] body .phone[data-nova-tour] #screen-home {
  height: 100%;
  padding-bottom: calc(var(--nova-tour-height, 260px) + var(--nova-tour-bottom, 104px) + 24px) !important;
  scroll-padding-block: 12px calc(var(--nova-tour-height, 260px) + var(--nova-tour-bottom, 104px) + 24px);
}
/* A lightweight theme-aware veil leaves softly feathered openings over live targets.
   No live-content blur: avoid repainting scrolling widgets on mobile GPUs. */
html[data-app-theme="nova"] body .phone #nova-onboarding-spotlight {
  position: absolute; inset: 0; z-index: 24; pointer-events: none;
  contain: layout style;

}
html[data-app-theme="nova"] body .phone #nova-onboarding-spotlight > svg { display: block; width: 100% !important; height: 100% !important; max-width: none; overflow: hidden; stroke: none; }
/* Recolor only the visible veil; the luminance mask must stay black/white. */
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone #nova-onboarding-spotlight > svg > rect {
  fill: var(--nova-palette-canvas-dark, #121417);
}
html[data-app-theme="nova"] body .phone #nova-onboarding-spotlight[hidden] { display: none !important; }
html[data-app-theme="nova"] .phone :is(.nova-tour-target, .nova-tour-control):not(:focus-visible) { outline: none !important; }
@media (prefers-reduced-transparency: reduce) {
  html[data-app-theme="nova"] body .phone #nova-onboarding-spotlight > svg > rect { fill-opacity: .8; }
}
@media (forced-colors: active) {
  html[data-app-theme="nova"] body .phone #nova-onboarding-spotlight { display: none; }
}
html[data-app-theme="nova"] body .phone #nova-onboarding-guide {
  --nova-tour-accent: rgb(255 255 255 / .88);
  --nova-tour-action: #fff;
  --nova-tour-on-accent: var(--nova-palette-primary-login-end, #35206b);
  --nova-tour-soft: rgb(255 255 255 / .14);
  /* Size motion is measured and owned by the guide, not theme-wide transitions. */
  transition: none !important;
  box-sizing: border-box;
  position: absolute;
  z-index: 25;
  bottom: var(--nova-tour-bottom, 104px);
  inset-inline: var(--biz-card-padding, 16px);
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-height: 52%;
  margin: 0;
  padding: 20px 24px 28px !important;
  border: 0 !important;
  border-radius: var(--biz-radius-card);
  background: linear-gradient(145deg, rgb(255 255 255 / .055), transparent 55%), var(--nova-tour-glass);
  color: var(--nova-tour-ink);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: 0 12px 32px rgb(var(--nova-palette-primary-shadow-deep-rgb, 24 11 65) / .24), inset 0 0 0 1px rgb(255 255 255 / .12), inset 0 1px 0 rgb(255 255 255 / .22);
  overflow: hidden;
}
/* A slim glass track fills with solid white from the right. */
html[data-app-theme="nova"] .phone .nova-home-guide #onboarding-progress {
  box-sizing: border-box;
  height: 3px;
  flex: 0 0 3px;
  padding: 0;
  border-radius: 999px;
  overflow: hidden;
  background: rgb(255 255 255 / .16);
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
html[data-app-theme="nova"] .phone .nova-home-guide #onboarding-progress::after {
  content: '';
  display: block;
  height: 100%;
  width: var(--progress, 0%);
  border-radius: inherit;
  background: #fff;
  box-shadow: none;
  transition: width 280ms ease;
}
@media (prefers-reduced-motion: reduce) {
  html[data-app-theme="nova"] .phone .nova-home-guide #onboarding-progress::after { transition: none; }
}
@media (forced-colors: active) {
  html[data-app-theme="nova"] .phone .nova-home-guide #onboarding-progress { outline: 1px solid CanvasText; }
  html[data-app-theme="nova"] .phone .nova-home-guide #onboarding-progress::after { background: Highlight; }
}
html[data-app-theme="nova"] .phone .nova-home-guide > header { display: grid; grid-template-columns: minmax(0,1fr) 48px; gap: 8px; align-items: center; flex: 0 0 auto; padding: 0; margin: 0; }
html[data-app-theme="nova"] .phone #onboarding-step-label { color: var(--nova-tour-accent); font: 12px/20px var(--biz-font-regular); }
html[data-app-theme="nova"] .phone #onboarding-title { margin: 4px 0 0; color: var(--nova-tour-ink); font: 16px/26px var(--biz-font-semibold); outline: none; }
html[data-app-theme="nova"] .phone .onboarding-guide-copy { min-height: 0; padding-bottom: 8px; overflow: auto; overscroll-behavior: contain; }
html[data-app-theme="nova"] .phone #onboarding-copy { margin: 0; color: var(--nova-tour-copy); font: 14px/24px var(--biz-font-regular); }
html[data-app-theme="nova"] .phone #onboarding-instruction { margin: 8px 0 0; color: var(--nova-tour-ink); font: 12px/22px var(--biz-font-regular); }
html[data-app-theme="nova"] .phone #onboarding-setting { margin: 8px 0 0; color: var(--nova-tour-accent); font: 12px/20px var(--biz-font-regular); }
html[data-app-theme="nova"] .phone #onboarding-storage-note { margin: 8px 0 0; color: var(--nova-tour-ink); font: 12px/20px var(--biz-font-regular); }
html[data-app-theme="nova"] .phone .nova-home-guide > footer { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
html[data-app-theme="nova"] .phone .nova-home-guide > footer > button { margin: 0; }
html[data-app-theme="nova"] .phone #onboarding-next { min-width: 0; flex: 1; border: 0; background: var(--nova-tour-action); color: var(--nova-tour-on-accent); }
/* Fixed square targets never stretch with a multiline label or neighboring CTA. */
html[data-app-theme="nova"] body .phone .nova-home-guide :is(#onboarding-back, #onboarding-show-widget, #onboarding-close, #onboarding-compact-back, #onboarding-compact-next, #onboarding-compact-close) {
  box-sizing: border-box; width: 48px; height: 48px; min-width: 48px; min-height: 48px;
  max-width: 48px; max-height: 48px; flex: 0 0 48px; align-self: center;
  margin: 0; padding: 0; display: grid; place-items: center;
  background: linear-gradient(145deg, rgb(255 255 255 / .18), rgb(255 255 255 / .07)); color: var(--nova-tour-accent);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .2), 0 3px 8px rgb(24 11 65 / .12);
  border: 0; border-radius: 50% !important; cursor: pointer;
}
html[data-app-theme="nova"] body .phone .nova-home-guide :is(#onboarding-close, #onboarding-compact-close) {
  --ui-soft: transparent;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
}
html[data-app-theme="nova"] body .phone .nova-home-guide :is(#onboarding-close, #onboarding-compact-close):is(:hover, :active) {
  background: transparent !important;
  color: var(--nova-tour-accent);
}
html[data-app-theme="nova"] body .phone .nova-home-guide :is(#onboarding-close, #onboarding-compact-close):active svg { opacity: .7; }
html[data-app-theme="nova"] .phone :is(#onboarding-back, #onboarding-compact-back) svg { transform: rotate(180deg); }
html[data-app-theme="nova"] .phone .nova-home-guide svg,
html[data-app-theme="nova"] .phone .onboarding-entry svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
html[data-app-theme="nova"] .phone .nova-home-guide button:focus-visible,
html[data-app-theme="nova"] .phone .onboarding-entry:focus-visible { outline: 2px solid var(--nova-tour-accent); outline-offset: 3px; }
/* The guide entry is a regular first row in Today's tasks, not a separate card. */
html[data-app-theme="nova"] body .phone #nova-onboarding-entry { margin: 0; border-radius: 0; box-shadow: none; }
/* The guide lamp is a regular 24px Font Awesome glyph in the shared row slot. */
html[data-app-theme="nova"] body .phone #nova-onboarding-entry .onboarding-lamp {
  width: 40px !important;
  height: 40px !important;
  flex: 0 0 40px;
  padding: 0 !important;
}
html[data-app-theme="nova"] .phone :is(.nova-home-guide,.onboarding-entry)[hidden],
html[data-app-theme="nova"] .phone .nova-home-guide [hidden] { display: none !important; }
@media (forced-colors: active) {
  html[data-app-theme="nova"] body .phone[data-app-theme="nova"] #home-next-layout .nova-tour-target,
  html[data-app-theme="nova"] .phone .nova-tour-control { outline-color: Highlight !important; }
  html[data-app-theme="nova"] .phone .nova-home-guide { outline: 1px solid CanvasText; }
}
/* Compact mode separates the title from actions so long Persian names stay aligned. */
html[data-app-theme="nova"] body .phone #nova-onboarding-guide.is-compact { padding: 16px 24px 20px !important; gap: 0; }
html[data-app-theme="nova"] .phone .nova-home-guide.is-compact > :not(#onboarding-compact-bar) { display: none !important; }
html[data-app-theme="nova"] .phone #onboarding-compact-bar { display: grid; grid-template-columns: minmax(0,1fr) 48px; align-items: center; gap: 8px 12px; }
html[data-app-theme="nova"] .phone #onboarding-compact-bar > div:first-child { min-width: 0; display: grid; gap: 4px; text-align: start; }
html[data-app-theme="nova"] .phone #onboarding-compact-count { display: block; font: 12px/20px var(--biz-font-regular); color: var(--nova-tour-accent); }
html[data-app-theme="nova"] .phone #onboarding-compact-title { margin: 0; font: 14px/24px var(--biz-font-semibold); color: var(--nova-tour-ink); outline: 0; }
html[data-app-theme="nova"] .phone .onboarding-compact-actions { grid-column: 1 / -1; display: flex; gap: 8px; align-items: center; }
html[data-app-theme="nova"] .phone #onboarding-expand { margin-inline-end: auto; min-height: 48px; padding: 0 8px; border: 0; border-radius: 24px; background: transparent; color: var(--nova-tour-accent); font: 14px/24px var(--biz-font-medium); cursor: pointer; }
html[data-app-theme="nova"] body .phone .nova-home-guide #onboarding-compact-next { background: var(--nova-tour-action); color: var(--nova-tour-on-accent); }
/* Primary navigation has the same white treatment in both sizes. */
html[data-app-theme="nova"] body .phone .nova-home-guide :is(#onboarding-next, #onboarding-compact-next) {
  background: linear-gradient(160deg, #fff, rgb(255 255 255 / .88));
  color: var(--nova-tour-on-accent);
  box-shadow: inset 0 1px 0 #fff, 0 4px 14px rgb(24 11 65 / .2), 0 0 16px rgb(255 255 255 / .08);
}
html[data-app-theme="nova"] body .phone .nova-home-guide #onboarding-expand {
  display: inline-flex; align-items: center; gap: 8px; text-align: start;
}
html[data-app-theme="nova"] .phone #onboarding-expand > span { font: 24px/1 var(--biz-font-regular); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  html[data-app-theme="nova"] body .phone #nova-onboarding-guide { background: var(--nova-tour-solid); }
}
@media (prefers-reduced-transparency: reduce) {
  html[data-app-theme="nova"] body .phone #nova-onboarding-guide { background: var(--nova-tour-solid); backdrop-filter: none; -webkit-backdrop-filter: none; }
}

/* Compact action slots: align visible strokes with the leading search glyph.
 * This field uses independent 32x44px targets; no overlapping hit areas. */
html[data-app-theme="nova"] body .phone .smart-destination-field {
  padding-inline-end: 16px !important;
}
html[data-app-theme="nova"] body .phone .smart-destination-field:has(> .smart-destination-clear:not([hidden])) {
  padding-inline-end: 12px !important;
}
html[data-app-theme="nova"] body .phone .smart-destination-field > :is(.biz-field-action--scan, .smart-destination-clear) {
  width: 32px !important;
  min-width: 32px !important;
  flex: 0 0 32px;
}
html[data-app-theme="nova"] body .phone .smart-destination-field > .smart-destination-clear {
  margin-inline-start: -8px;
}
html[data-app-theme="nova"] body .phone .biz-field-action--scan svg {
  width: 22px !important;
  height: 22px !important;
  flex-basis: 22px;
  stroke-width: 1.75;
}
html[data-app-theme="nova"] .biz-field-action--scan .scan-glyph-legacy { display: none; }
html[data-app-theme="nova"] .biz-field-action--scan .scan-glyph-nova { display: inline; }

/* Business insurance: shared Nova overview cards, trade rows and credit schedules. */
html:not([data-app-theme="nova"]) .ins-nova-entry { display:none; }
html[data-app-theme="nova"] .phone .ins-root { color:var(--biz-ink); padding-bottom:24px; }
html[data-app-theme="nova"] .phone .ins-root :is(h2,h3,p,ul,ol) { margin:0; }
html[data-app-theme="nova"] .phone .ins-root :is(button,input,select,textarea) { font-family:inherit; }
html[data-app-theme="nova"] .phone .ins-root :is(button,input,summary):focus-visible { outline:2px solid var(--biz-focus); outline-offset:3px; }
html[data-app-theme="nova"] .phone .ins-root [data-ins-focus]:focus { outline:none; }
html[data-app-theme="nova"] .phone .ins-root > .page-intro { margin-bottom:24px; }
html[data-app-theme="nova"] .phone .ins-root :is(.primary-button,.secondary-button) { margin-block:0; }
html[data-app-theme="nova"] .phone .ins-stack { display:grid; gap:16px; min-width:0; }
html[data-app-theme="nova"] .phone .ins-stack > .field { margin:0; }
html[data-app-theme="nova"] body .phone .ins-root :is(.ins-stack,.biz-overview-stack,.ins-plan-options) > .biz-card { margin-block:0!important; }
html[data-app-theme="nova"] .phone .ins-root .field-help:empty { display:none; }
html[data-app-theme="nova"] .phone :is(.ins-root,.ins-nova-entry:not(.next-more-group)) svg { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
html[data-app-theme="nova"] .phone :is(.ins-root,.ins-nova-entry) .biz-icon-tile svg { stroke-width:2.25; }
html[data-app-theme="nova"] .phone :is(.ins-muted,.ins-root small) { color:var(--biz-muted); font-size:12px; line-height:24px; font-weight:400; }
html[data-app-theme="nova"] .phone .ins-coverage-stage { position:relative; min-height:144px; }
html[data-app-theme="nova"] .phone .ins-coverage-head { position:relative; z-index:1; padding-top:52px; text-align:center; }
html[data-app-theme="nova"] .phone .ins-coverage-caption { text-align:center; }
html[data-app-theme="nova"] .phone .ins-coverage-head .biz-list-copy { align-items:center; }
html[data-app-theme="nova"] .phone .ins-coverage-count { justify-content:center; }
/* Upper half of a slow circular orbit; counter-rotation keeps every glyph upright. */
html[data-app-theme="nova"] .phone .ins-coverage-card { gap:12px; }
html[data-app-theme="nova"] .phone .ins-coverage-head .biz-card-title { margin:0!important; }
html[data-app-theme="nova"] .phone .ins-coverage-icons {
  position:absolute; inset:0 0 auto; width:100%; max-width:100%; height:152px;
  --ins-orbit-radius:140.8px; --ins-orbit-duration:175s;
  color:var(--biz-tile-green); pointer-events:none; overflow:hidden;
  mask-image:linear-gradient(to right,transparent,#000 20px,#000 calc(100% - 20px),transparent),linear-gradient(to bottom,#000 75%,transparent 100%);
  mask-composite:intersect;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 20px,#000 calc(100% - 20px),transparent),linear-gradient(to bottom,#000 75%,transparent 100%);
  -webkit-mask-composite:source-in;
}
html[data-app-theme="nova"] .phone .ins-coverage-orbit {
  position:absolute; width:calc(var(--ins-orbit-radius) * 2); height:calc(var(--ins-orbit-radius) * 2); left:calc(50% - var(--ins-orbit-radius)); top:16px;
  animation:ins-coverage-orbit var(--ins-orbit-duration) linear infinite;
}
html[data-app-theme="nova"] .phone .ins-coverage-symbol {
  position:absolute; left:50%; top:50%; width:32px; height:32px; margin:-16px;
  display:grid; place-items:center;
  transform:rotate(var(--ins-icon-angle)) translateY(calc(-1 * var(--ins-orbit-radius))) rotate(calc(-1 * var(--ins-icon-angle)));
}
html[data-app-theme="nova"] .phone .ins-root .ins-coverage-symbol svg {
  width:32px; height:32px; stroke-width:1.25;
  animation:ins-coverage-orbit var(--ins-orbit-duration) linear infinite reverse;
}
@keyframes ins-coverage-orbit { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) {
  html[data-app-theme="nova"] .phone :is(.ins-coverage-orbit,.ins-coverage-symbol svg) { animation:none; }
}
html[data-app-theme="nova"] .phone .ins-coverage-count { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; margin-block:0; min-height:44px; width:auto; padding:0 8px; border:0; border-radius:var(--biz-radius-control); background:transparent; color:var(--biz-ink); cursor:pointer; }
html[data-app-theme="nova"] .phone .ins-coverage-count strong { font:600 32px/40px var(--biz-font-semibold)!important; }
html[data-app-theme="nova"] .phone .ins-coverage-count > span { font-size:14px; line-height:24px; }
html[data-app-theme="nova"] body .phone :is(#insurance-root,#insurance-sheet) :is(.ins-display-money,.ins-offer-price) { font:600 24px/36px var(--biz-font-semibold)!important; }
html[data-app-theme="nova"] .phone .ins-next-payment { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
html[data-app-theme="nova"] .phone .ins-section { margin-top:var(--app-list-section-gap,48px); }
html[data-app-theme="nova"] .phone .ins-stack > .ins-section { margin-top:32px; margin-bottom:32px; }
html[data-app-theme="nova"] .phone .ins-section-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px; padding-inline:var(--biz-section-heading-inset,20px); margin-bottom:8px; }
html[data-app-theme="nova"] .phone .ins-section-heading h2 { font:600 16px/26px var(--biz-font-semibold); }
html[data-app-theme="nova"] .phone .ins-list.biz-card { padding:0; overflow:hidden; }
/* Shared navigation rows: the trailing chevron belongs to the whole row. */
html[data-app-theme="nova"] body .phone :is(.trade-root .trade-list-row, .next-payment-methods > button).biz-navigation-row {
  align-items:center;
  gap:12px;
  padding:16px var(--biz-card-padding);
}
html[data-app-theme="nova"] body .phone :is(.trade-root .trade-list-row, .next-payment-methods > button).biz-navigation-row .biz-list-title {
  font:600 14px/24px var(--biz-font-semibold)!important;
}
html[data-app-theme="nova"] body .phone :is(.trade-root .trade-list-row, .next-payment-methods > button).biz-navigation-row .biz-list-description {
  font:400 12px/24px var(--biz-font-regular)!important;
}
html[data-app-theme="nova"] body .phone :is(.trade-root .trade-list-row, .next-payment-methods > button).biz-navigation-row > svg:last-child {
  width:16px; height:16px; color:var(--biz-muted); stroke-width:1.75;
}
html[data-app-theme="nova"] .phone .ins-row-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 8px; margin-top:4px; }
html[data-app-theme="nova"] .phone .ins-badge { display:inline-flex; width:fit-content; border-radius:999px; padding:3px 8px; background:color-mix(in srgb,var(--biz-surface) 93%,var(--biz-ink)); color:var(--biz-muted); font-size:11px; line-height:20px; }
html[data-app-theme="nova"] .phone .ins-badge[data-status="active"] { background:var(--biz-success-soft); color:var(--biz-success); }
html[data-app-theme="nova"] .phone .ins-badge:is([data-status="pending"],[data-status="needs_info"]) { background:var(--biz-warning-soft); color:var(--biz-warning); }
html[data-app-theme="nova"] .phone .ins-badge:is([data-status="approved"],[data-status="scheduled"]) { color:var(--biz-info); background:var(--biz-selected,var(--biz-surface-soft)); }
html[data-app-theme="nova"] .phone .ins-chooser + .ins-footer { margin-top:16px; padding-inline:20px; }
html[data-app-theme="nova"] .phone .ins-search-row { display:grid; grid-template-columns:minmax(0,1fr) 48px; align-items:end; gap:12px; margin-bottom:24px; }
html[data-app-theme="nova"] .phone .ins-search-row .field { margin:0; }
html[data-app-theme="nova"] .phone .ins-filter-button { margin-bottom:4px; }
/* Flat filter controls and removable chips; no glass or elliptical geometry. */
html[data-app-theme="nova"] body .phone :is(.biz-section-filter,.ec-section-filter).biz-flat-filter {
  border-radius:16px!important; background:var(--biz-surface-soft); color:var(--biz-muted);
  box-shadow:none!important; border:0; backdrop-filter:none; -webkit-backdrop-filter:none;
}
html[data-app-theme="nova"] body .phone .biz-flat-filter[data-active="true"] { background:var(--biz-selected); color:var(--biz-focus); }
html[data-app-theme="nova"] body .phone .biz-filter-chip {
  display:inline-flex;justify-content:center;align-items:center;gap:8px;width:fit-content;max-width:100%;
  min-height:44px;height:auto;padding:8px 12px;margin:0 0 16px;border:0;border-radius:12px!important;
  background:var(--biz-selected);color:var(--biz-focus);box-shadow:none!important;
  font:400 12px/24px var(--biz-font-regular);cursor:pointer;
}
html[data-app-theme="nova"] .phone .ins-filter-tag svg { width:16px; height:16px; }
html[data-app-theme="nova"] .phone .ins-root > .biz-filter-controls { margin-bottom:24px; }
html[data-app-theme="nova"] .phone #insurance-root > .secondary-button { margin-bottom:24px; }
html[data-app-theme="nova"] .phone .ins-stepper { display:grid; gap:12px; margin-bottom:24px; }
html[data-app-theme="nova"] .phone .ins-stepper > div:first-child { display:flex; align-items:baseline; justify-content:space-between; gap:12px; color:var(--biz-muted); font-size:12px; line-height:24px; }
html[data-app-theme="nova"] .phone .ins-stepper small { text-align:end; }
html[data-app-theme="nova"] .phone .ins-step-bars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
html[data-app-theme="nova"] .phone .ins-step-bars i { height:4px; border-radius:4px; background:var(--biz-line); }
html[data-app-theme="nova"] .phone .ins-step-bars i.is-done { background:var(--biz-brand); }
html[data-app-theme="nova"] .phone .ins-disclosure > summary { min-height:32px; list-style:none; }
html[data-app-theme="nova"] .phone .ins-disclosure[open] > :not(summary) { margin-top:16px; }
html[data-app-theme="nova"] .phone .ins-company-details > summary { gap:12px; }
html[data-app-theme="nova"] .phone .ins-company-details > summary > .biz-list-copy { flex:1; }
html[data-app-theme="nova"] .phone .ins-edit-label { color:var(--biz-info); font-size:12px; font-weight:400; }
html[data-app-theme="nova"] .phone .ins-root :is(input[type="radio"],input[type="checkbox"]) { width:22px; height:22px; min-height:22px; flex:none; padding:0; accent-color:var(--biz-info); margin:0; }
html[data-app-theme="nova"] .phone .ins-checkbox { display:flex; align-items:flex-start; gap:12px; padding:12px 0; font-size:14px; line-height:26px; min-height:48px; cursor:pointer; }
html[data-app-theme="nova"] .phone .ins-checkbox > span { display:grid; gap:4px; }
html[data-app-theme="nova"] .phone .ins-checkbox input { margin-top:3px; }
html[data-app-theme="nova"] .phone .ins-checkbox strong { font-size:14px!important; }
html[data-app-theme="nova"] .phone .ins-plan-options { padding:0; margin:0; border:0; display:grid; gap:16px; min-width:0; }
html[data-app-theme="nova"] .phone .ins-offer { display:grid; gap:12px; cursor:pointer; }
html[data-app-theme="nova"] .phone .ins-offer.is-selected { outline:2px solid var(--biz-brand); outline-offset:-2px; }
html[data-app-theme="nova"] .phone :is(.ins-offer-head,.ins-offer-bottom) { display:flex; align-items:center; justify-content:space-between; gap:12px; }
html[data-app-theme="nova"] .phone .ins-offer-bottom { flex-wrap:wrap; }
html[data-app-theme="nova"] .phone .ins-methods { display:grid; gap:0; }
html[data-app-theme="nova"] .phone .ins-method-row { display:grid; grid-template-columns:max-content minmax(0,1fr) max-content; align-items:center; gap:12px; padding:16px 0; cursor:pointer; min-height:88px; }
html[data-app-theme="nova"] .phone .ins-method-row:first-child { padding-top:0; }
html[data-app-theme="nova"] .phone .ins-method-row:last-child { padding-bottom:0; }
html[data-app-theme="nova"] .phone .ins-method-row + .ins-method-row { border-top:1px solid var(--biz-line); }
html[data-app-theme="nova"] .phone .ins-method-row .biz-list-title { font:600 16px/26px var(--biz-font-semibold)!important; }
html[data-app-theme="nova"] .phone .ins-provider-logo { display:grid; place-items:center; width:48px; height:48px; border-radius:16px; background:#fff; flex:none; overflow:hidden; }
html[data-app-theme="nova"] .phone .ins-provider-logo img { display:block; width:40px; height:40px; object-fit:contain; }
html[data-app-theme="nova"] .phone .ins-offer-head > .biz-list-copy { flex:1; }
html[data-app-theme="nova"] .phone .ins-offer-head input { flex:none; }
/* Keep each card and its caption together; the outer stack spaces the next group. */
html[data-app-theme="nova"] body .phone .biz-caption-group { display:grid; gap:8px; min-width:0; }
html[data-app-theme="nova"] body .phone .biz-caption-group > .biz-card { margin-block:0!important; }
html[data-app-theme="nova"] body .phone .biz-caption-group > .biz-card-caption {
  display:block; margin:0 var(--biz-field-copy-inset,20px)!important;
  font:400 12px/24px var(--biz-font-regular); color:var(--biz-muted);
}
html[data-app-theme="nova"] .phone #insurance-sheet .ec-dialog-content.ins-root { padding:0; }
html[data-app-theme="nova"] .phone .ins-file-list:empty { display:none; }
html[data-app-theme="nova"] .phone .ins-root .field-help { margin-top:8px; }
html[data-app-theme="nova"] .phone .ins-root .biz-image-field > .field-help { margin-top:0; }
html[data-app-theme="nova"] .phone .biz-overview-card > .ins-footer { color:var(--biz-ink); }
html[data-app-theme="nova"] .phone .biz-overview-card > .ins-footer > span { font:600 14px/24px var(--biz-font-semibold)!important; color:inherit; }
html[data-app-theme="nova"] .phone .biz-overview-card > .ins-footer { margin-top:0; padding-top:12px; min-height:52px; }
html[data-app-theme="nova"] .phone .ins-payments-section { margin-top:var(--app-list-section-gap,48px); }
html[data-app-theme="nova"] .phone .ins-payments-section .ec-grant-value { flex-wrap:wrap; }
html[data-app-theme="nova"] .phone .ins-total { display:grid; gap:8px; }
html[data-app-theme="nova"] .phone .ins-total > span { color:var(--biz-muted); font-size:12px; line-height:24px; }
html[data-app-theme="nova"] .phone .ins-payment-split { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:12px; line-height:24px; }
html[data-app-theme="nova"] .phone .ins-wizard-actions { display:grid; gap:8px; margin-top:8px; }
html[data-app-theme="nova"] .phone .ins-text-button { border:0; background:none; color:var(--biz-info); min-height:48px; padding:8px 0; font-size:14px; line-height:24px; cursor:pointer; }
html[data-app-theme="nova"] .phone .ins-save-status { text-align:center; }
html[data-app-theme="nova"] .phone .ins-confirm-heading { display:flex; align-items:center; gap:12px; }
html[data-app-theme="nova"] .phone .ins-repayment-card { margin-top:0; }
html[data-app-theme="nova"] .phone .ins-repayment-card .biz-card-title { font:600 16px/26px var(--biz-font-semibold)!important; }
html[data-app-theme="nova"] body .phone .ec-root .ins-installment-progress { grid-template-columns:repeat(var(--ins-part-columns),minmax(0,1fr)); row-gap:16px; }
html[data-app-theme="nova"] body .phone .ins-installment-progress > span:not(:last-child)::after { height:1px; }
html[data-app-theme="nova"] .phone .ins-installment-progress.is-compact i { width:32px; height:32px; font-size:14px; }
html[data-app-theme="nova"] .phone .ins-installment-progress.is-compact small { font-size:10px; line-height:20px; }
html[data-app-theme="nova"] body .phone .ins-installment-progress.is-compact > span:not(:last-child)::after { top:16px; right:calc(50% + 18px); width:calc(100% - 36px); }
html[data-app-theme="nova"] .phone .ins-installment-progress > span:nth-child(6n)::after { display:none; }
html[data-app-theme="nova"] .phone .ins-repayment-caption { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-top:16px; color:var(--biz-muted); font-size:12px; line-height:24px; }
html[data-app-theme="nova"] .phone .ins-repayment-caption .ins-text-button { font-size:12px; padding:0; }
html[data-app-theme="nova"] .phone .ins-part-selection { display:flex; align-items:center; gap:8px; min-height:44px; cursor:pointer; }
html[data-app-theme="nova"] .phone #ins-selected-total { display:flex; flex-wrap:wrap; gap:8px; margin-block:16px; font-size:14px; line-height:26px; }
html[data-app-theme="nova"] .phone .ins-reminder { display:flex; align-items:center; justify-content:space-between; gap:16px; }
html[data-app-theme="nova"] .phone .ins-timeline { list-style:none; padding:16px 12px 0 0; }
html[data-app-theme="nova"] .phone .ins-timeline li { display:grid; gap:4px; position:relative; padding-inline-start:20px; padding-bottom:16px; border-inline-start:1px solid var(--biz-line); font-size:14px; line-height:24px; }
html[data-app-theme="nova"] .phone .ins-timeline li:last-child { padding-bottom:0; border-color:transparent; }
html[data-app-theme="nova"] .phone .ins-timeline li::before { content:''; position:absolute; top:6px; inset-inline-start:-4px; width:7px; height:7px; border-radius:50%; background:var(--biz-brand); }
html[data-app-theme="nova"] .phone .ins-error { color:var(--biz-danger); background:var(--biz-danger-soft); padding:16px; border-radius:var(--biz-radius-inset); font-size:13px; line-height:24px; margin-top:16px; }
html[data-app-theme="nova"] .phone .ins-error[hidden],html[data-app-theme="nova"] .phone #ins-credit-options[hidden] { display:none; }
html[data-app-theme="nova"] .phone .ins-file-list { display:grid; gap:12px; padding:0; list-style:none; }
html[data-app-theme="nova"] .phone .ins-file-list li { display:flex; gap:12px; align-items:center; font-size:13px; overflow-wrap:anywhere; }
html[data-app-theme="nova"] .phone .ins-file-list small { display:block; }
html[data-app-theme="nova"] .phone .ins-certificate { display:grid; gap:16px; }
html[data-app-theme="nova"] .phone #screen-business .next-connected-links > button { grid-template-columns:40px minmax(0,1fr) max-content; gap:12px; padding:16px var(--biz-card-padding); }
html[data-app-theme="nova"] .phone #screen-business .next-connected-links > button > svg:first-child { width:40px; height:40px; padding:10px; border-radius:14px; background:var(--biz-tile-purple-soft); color:var(--biz-tile-purple); }
html[data-app-theme="nova"] .phone #screen-business .next-connected-links > button[data-hub-target="energy"] > svg:first-child { background:var(--biz-tile-orange-soft); color:var(--biz-tile-orange); }
html[data-app-theme="nova"] .phone #screen-business .next-connected-links > button[data-hub-target="health"] > svg:first-child { background:var(--biz-tile-green-soft); color:var(--biz-tile-green); }
html[data-app-theme="nova"] .phone #screen-business .next-connected-links .biz-icon-tile { display:grid; place-items:center; }
html[data-app-theme="nova"] .phone #screen-business .next-connected-links button > span:not(.biz-icon-tile) { gap:4px; }
html[data-app-theme="nova"] .phone #screen-business .next-connected-links button small { font:400 12px/24px var(--biz-font-regular); }
html[data-app-theme="nova"] .phone #screen-business .next-connected-links button > svg:last-child:not(:first-child) { width:16px; height:16px; color:var(--biz-muted); }
@media (max-width:360px) {
  html[data-app-theme="nova"] .phone .ins-stepper > div:first-child { align-items:flex-start; }
}

html[data-app-theme="nova"] .phone .ins-file-list .biz-list-copy { min-width:0; flex:1; }
html[data-app-theme="nova"] .phone .ins-file-list .ins-text-button { justify-self:start; text-align:start; min-height:44px; padding:0; }
html[data-app-theme="nova"] .phone .ins-file-list img { width:96px; height:96px; object-fit:cover; border-radius:16px; }
html[data-app-theme="nova"] .phone #ins-file-hint[role="alert"] { color:var(--biz-danger); }
html[data-app-theme="nova"] .phone .ins-root .ins-installment-progress { --ec-step-blue:var(--biz-muted); --ec-step-blue-bg:color-mix(in srgb,var(--biz-surface) 93%,var(--biz-ink)); }

html[data-app-theme="nova"] body .phone :is(#ins-payment-summary,#ins-credit-options) > .biz-card { margin-block:0!important; }
html[data-app-theme="nova"] .phone .ins-footer > svg { width:16px; height:16px; }
html[data-app-theme="nova"] .phone .ins-root .ec-badge[data-status="upcoming"] { color:var(--biz-muted); background:color-mix(in srgb,var(--biz-surface) 93%,var(--biz-ink)); }

/* Shared credit/insurance installment payment: compact text action beside its status. */
html[data-app-theme="nova"] body .phone .ec-root .ec-installment-status > .secondary-button.ec-secondary {
  width:auto; min-width:0; flex:0 0 auto; min-height:44px; height:44px;
  padding:4px 12px; border:0!important; background:transparent; box-shadow:none; white-space:nowrap;
}
html[data-app-theme="nova"] body .phone .ec-root .ec-installment-status > .ec-badge { flex:none; white-space:nowrap; }

/* Insurance home widget: live coverage, a quiet emerald motif, shared card rhythm. */
html[data-app-theme="nova"] body .phone #ins-home-card {
  padding:20px; overflow:hidden;
  background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--biz-tile-green-soft) 55%,transparent),transparent 72%),var(--biz-surface);
}
html[data-app-theme="nova"] body .phone #ins-home-widget svg { width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none; }
html[data-app-theme="nova"] body .phone #ins-home-widget button:focus-visible { outline:2px solid var(--biz-focus);outline-offset:4px; }
html[data-app-theme="nova"] body .phone .ins-home-summary {
  display:grid;grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:12px;
  width:100%;padding:0;border:0;box-shadow:none;background:transparent;text-align:start;color:var(--biz-ink);border-radius:0;cursor:pointer;
}
html[data-app-theme="nova"] body .phone .ins-home-copy { display:flex;flex-direction:column;gap:4px;min-width:0; }
html[data-app-theme="nova"] body .phone .ins-home-copy .ins-home-eyebrow { font:400 12px/24px var(--biz-font-regular);color:var(--biz-muted); }
html[data-app-theme="nova"] body .phone .ins-home-copy > strong { font:600 20px/32px var(--biz-font-semibold)!important; }
html[data-app-theme="nova"] body .phone .ins-home-copy > small { font:400 12px/24px var(--biz-font-regular);color:var(--biz-muted); }
html[data-app-theme="nova"] body .phone .ins-home-art { position:relative;display:grid;place-items:center;width:100px;height:108px;color:var(--biz-tile-green); }
html[data-app-theme="nova"] body .phone .ins-home-orbit { position:absolute;inset:12px 6px;border:1px solid color-mix(in srgb,var(--biz-tile-green) 18%,transparent);border-radius:50%;transform:rotate(-20deg); }
html[data-app-theme="nova"] body .phone .ins-home-shield { display:grid;place-items:center;width:68px;height:76px;border-radius:28px;background:var(--biz-tile-green-soft);transform:rotate(-8deg); }
html[data-app-theme="nova"] body .phone .ins-home-shield > svg { width:44px!important;height:44px!important;stroke-width:1.5!important; }
html[data-app-theme="nova"] body .phone .ins-home-symbol { position:absolute;display:grid;place-items:center;width:32px;height:32px;background:var(--biz-surface);border-radius:12px;box-shadow:0 4px 12px color-mix(in srgb,var(--biz-tile-green) 10%,transparent); }
html[data-app-theme="nova"] body .phone .ins-home-symbol--property { right:0;top:4px; }
html[data-app-theme="nova"] body .phone .ins-home-symbol--health { left:0;bottom:4px; }
html[data-app-theme="nova"] body .phone .ins-home-symbol > svg { width:18px!important;height:18px!important;stroke-width:1.5!important; }
html[data-app-theme="nova"] body .phone .ins-home-status { display:flex;align-items:center;gap:8px;margin-top:16px;color:var(--biz-muted);font:400 12px/24px var(--biz-font-regular); }
html[data-app-theme="nova"] body .phone .ins-home-status > svg { width:16px!important;height:16px!important; }
html[data-app-theme="nova"] body .phone .ins-home-status[data-tone="warning"] { color:var(--biz-warning); }
html[data-app-theme="nova"] body .phone .ins-home-actions { display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:8px;border-top:1px solid var(--biz-divider-color,var(--biz-line)); }
html[data-app-theme="nova"] body .phone .ins-home-link { display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;width:auto;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--biz-ink);font:600 12px/24px var(--biz-font-semibold);cursor:pointer; }
html[data-app-theme="nova"] body .phone .ins-home-link:first-child { color:var(--nova-accent-ink); }
html[data-app-theme="nova"] body .phone .ins-home-link > svg { width:16px!important;height:16px!important; }
html[data-app-theme="nova"] body .phone .ins-home-unavailable { margin:0 0 12px;color:var(--biz-muted);font:400 14px/24px var(--biz-font-regular); }
@media(max-width:360px) {
  html[data-app-theme="nova"] body .phone .ins-home-summary { grid-template-columns:minmax(0,1fr) 80px;gap:8px; }
  html[data-app-theme="nova"] body .phone .ins-home-art { width:80px; }
  html[data-app-theme="nova"] body .phone .ins-home-copy > strong { font-size:18px!important;line-height:28px!important; }
}

/* Payment methods use the shared horizontal navigation family in Nova.
   Keep the original vertical service geometry for all previous themes. */
html[data-app-theme="nova"] body .phone #screen-payments .next-payment-methods {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding: 4px 0;
  border-radius: var(--biz-radius-card);
  background: var(--biz-surface);
  box-shadow: var(--biz-shadow-card);
  overflow: hidden;
}
html[data-app-theme="nova"] body .phone #screen-payments .next-payment-methods > button {
  position: relative;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) 16px;
  grid-template-rows: auto auto;
  column-gap: 12px;
  row-gap: 4px;
  width: 100%;
  min-height: 88px;
  padding: 16px var(--biz-card-padding) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--biz-ink);
  text-align: start;
}
html[data-app-theme="nova"] body .phone #screen-payments .next-payment-methods > button > span:first-child {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
  width: 40px;
  height: 40px;
  margin: 0 !important;
}
html[data-app-theme="nova"] body .phone #screen-payments .next-payment-methods > button > strong {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  margin: 0 !important;
  line-height: 24px !important;
}
html[data-app-theme="nova"] body .phone #screen-payments .next-payment-methods > button > small {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  margin: 0 !important;
  line-height: 24px !important;
  overflow-wrap: anywhere;
}
html[data-app-theme="nova"] body .phone #screen-payments .next-payment-method-chevron {
  display: block;
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
}
html[data-app-theme="nova"] body .phone #screen-payments .next-payment-methods > button:not(:last-child)::after {
  content: "";
  position: absolute;
  height: 1px;
  bottom: 0;
  inset-inline-start: calc(var(--biz-card-padding) + 52px);
  inset-inline-end: var(--biz-card-padding);
  background: var(--biz-divider-color, var(--biz-line));
}
html[data-app-theme="nova"] body .phone #screen-payments .next-payment-methods > button:focus-visible {
  outline: 2px solid var(--biz-focus);
  outline-offset: -4px;
  border-radius: 16px !important;
}
html[data-app-theme="nova"] body .phone #screen-payments .next-payment-methods > button:active {
  background: var(--biz-surface-soft) !important;
}

/* Distinct service colors, confined to the payment navigation icon tiles. */
html[data-app-theme="nova"] .phone .next-payment-methods {
  --nova-payment-bills-ink: #bd581d;
  --nova-payment-bills-soft: #fff0e5;
  --nova-payment-recipients-ink: #2877c7;
  --nova-payment-recipients-soft: #eaf3ff;
  --nova-payment-recurring-ink: #00857f;
  --nova-payment-recurring-soft: #e4f7f3;
}
html[data-app-theme="nova"][data-color-scheme="dark"] .phone .next-payment-methods {
  --nova-payment-bills-ink: #ffb47c;
  --nova-payment-bills-soft: #402c21;
  --nova-payment-recipients-ink: #8fc6ff;
  --nova-payment-recipients-soft: #203249;
  --nova-payment-recurring-ink: #6edbd0;
  --nova-payment-recurring-soft: #193a38;
}
html[data-app-theme="nova"] body .phone #screen-payments [data-payment-method="bills"] > span:first-child {
  --biz-tile-ink: var(--nova-payment-bills-ink) !important;
  --biz-tile-surface: var(--nova-payment-bills-soft) !important;
}
html[data-app-theme="nova"] body .phone #screen-payments [data-payment-method="recipients"] > span:first-child {
  --biz-tile-ink: var(--nova-payment-recipients-ink);
  --biz-tile-surface: var(--nova-payment-recipients-soft);
}
html[data-app-theme="nova"] body .phone #screen-payments [data-payment-method="recurring"] > span:first-child {
  --biz-tile-ink: var(--nova-payment-recurring-ink);
  --biz-tile-surface: var(--nova-payment-recurring-soft);
}
/* Override the otherwise purple Nova bill glyph only within this navigation. */
html[data-app-theme="nova"] body .phone #screen-payments .next-payment-methods > button > span:first-child {
  color: var(--biz-tile-ink, var(--biz-tile-purple)) !important;
  background-color: var(--biz-tile-surface, var(--biz-tile-purple-soft)) !important;
}
html[data-app-theme="nova"] body .phone #screen-payments .next-payment-methods > button > span:first-child svg {
  color: inherit !important;
}

/* Shared credit directory, service selection and request flows. */
html[data-app-theme="nova"] body .phone .ec-root :is(.ec-group-list,.ec-request-list) { display:grid;gap:16px; }
html[data-app-theme="nova"] body .phone .ec-root :is(.ec-request-card,.ec-group-list > .biz-card) { margin:0;min-width:0; }
html[data-app-theme="nova"] body .phone .ec-root :is(.ec-request-card .ec-row,.ec-grant .ec-facts > div) { flex-wrap:wrap; }
html[data-app-theme="nova"] body .phone .ec-root :is(.ec-request-reason,.ec-request-card p,.ec-group-list h2) { overflow-wrap:anywhere; }
html[data-app-theme="nova"] body .phone .ec-root .ec-service-choices { border:0;padding:0;margin:0 0 24px;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
html[data-app-theme="nova"] body .phone .ec-root .ec-service-choices legend { margin-bottom:12px; }
html[data-app-theme="nova"] body .phone .ec-root .ec-service-choices > label { display:flex;align-items:center;gap:8px;padding:12px;min-height:72px;min-width:0;border-radius:var(--biz-radius-inset);background:var(--biz-surface);cursor:pointer; }
html[data-app-theme="nova"] body .phone .ec-root .ec-service-choices > label:has(input:checked) { box-shadow:inset 0 0 0 2px var(--biz-brand); }
html[data-app-theme="nova"] body .phone .ec-root .ec-service-choices input { width:22px;height:22px;flex:none;accent-color:var(--biz-brand); }
html[data-app-theme="nova"] body .phone .ec-root .ec-service-choices :is(strong,small) { overflow-wrap:anywhere; }
html[data-app-theme="nova"] body .phone .ec-root .ec-service-choices strong { font-size:14px; }
html[data-app-theme="nova"] body .phone .ec-root .ec-service-choices small { font-size:12px;color:var(--biz-muted); }
html[data-app-theme="nova"] body .phone .ec-root .ec-service-choices > small { grid-column:1/-1; }
html[data-app-theme="nova"] body .phone .ec-root :is(.ec-directory-tools,.ec-recipient-filters) { display:grid;gap:16px;min-width:0;margin:16px 0; }
html[data-app-theme="nova"] body .phone .ec-root .ec-directory-tools > button { justify-self:start; }
html[data-app-theme="nova"] body .phone .ec-root .ec-member-selection { position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;background:var(--biz-surface);padding-inline-start:8px; }
html[data-app-theme="nova"] body .phone .ec-root .ec-member-checkbox input { width:22px;height:22px;margin:0;accent-color:var(--biz-brand);cursor:pointer; }
html[data-app-theme="nova"] body .phone .ec-root .ec-member-selection .ec-member { color:var(--biz-ink);background:transparent !important;box-shadow:none;border-radius:0;padding-inline-start:4px; }
html[data-app-theme="nova"] body .phone .ec-root .ec-member-selection:first-child { border-radius:32px 32px 0 0; }
html[data-app-theme="nova"] body .phone .ec-root .ec-member-selection:has(+ .ec-pagination) { border-radius:0 0 32px 32px; }
html[data-app-theme="nova"] body .phone .ec-root .ec-member-selection + .ec-member-selection::before { content:"";position:absolute;inset-inline-start:116px;inset-inline-end:16px;top:0;height:1px;background:var(--biz-divider-color,var(--biz-line));pointer-events:none; }
html[data-app-theme="nova"] body .phone .ec-root .ec-member-selection:first-child:has(+ .ec-pagination) { border-radius:32px; }
html[data-app-theme="nova"] body .phone .ec-root .ec-member-selection .ec-member-tags { grid-column:2/-1;flex-direction:row;justify-content:flex-start;flex-wrap:wrap; }
html[data-app-theme="nova"] body .phone .ec-root .ec-member-selection .ec-member { grid-template-columns:max-content minmax(0,1fr); }
html[data-app-theme="nova"] body .phone .ec-root .ec-pagination { display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px;color:var(--biz-muted);font-size:12px; }
html[data-app-theme="nova"] body .phone .ec-root .ec-pagination > div { display:flex;gap:12px;flex-shrink:0; }
html[data-app-theme="nova"] body .phone .ec-root .ec-pagination button { width:auto !important;min-width:64px;min-height:44px;white-space:nowrap; }
html[data-app-theme="nova"] body .phone .ec-root :is(.ec-recipient-group,.ec-review-list) { max-height:45dvh;overflow:auto;overscroll-behavior:contain; }
html[data-app-theme="nova"] body .phone .ec-root .ec-recipient[hidden] { display:none !important; }
html[data-app-theme="nova"] body .phone .ec-root .ec-recipient-tools { flex-wrap:wrap;gap:8px; }
html[data-app-theme="nova"] body .phone .ec-root .ec-recipient-tools > button { min-height:44px;max-width:100%;white-space:normal; }
html[data-app-theme="nova"] body .phone .ec-root .ec-actions { flex-wrap:wrap; }
html[data-app-theme="nova"] body .phone .ec-root .ec-facts dd { min-width:0;overflow-wrap:anywhere; }


html[data-app-theme="nova"] body .phone .ec-root .ec-directory-tools { grid-template-columns:minmax(0,1fr) 48px;align-items:end;gap:12px; }
html[data-app-theme="nova"] body .phone .ec-root .ec-directory-tools > .field { margin:0; }
html[data-app-theme="nova"] body .phone .ec-root .ec-directory-tools .field > small:empty { display:none; }
html[data-app-theme="nova"] body .phone .ec-root .ec-directory-tools .ec-section-filter { margin-bottom:4px; }
html[data-app-theme="nova"] body .phone .ec-root .ec-selection-toolbar { justify-content:flex-start;padding:0;gap:4px 16px;margin:8px 0; }
html[data-app-theme="nova"] body .phone .ec-root .ec-selection-toolbar button { font-size:12px;min-height:44px;margin:0; }
html[data-app-theme="nova"] body .phone .ec-root .ec-selection-toolbar button:disabled { opacity:.45; }
html[data-app-theme="nova"] body .phone .ec-root .ec-selection-toolbar button[hidden] { display:none !important; }
html[data-app-theme="nova"] body .phone .ec-root .ec-member-checkbox { display:grid;place-items:center;width:44px;height:44px;cursor:pointer; }
html[data-app-theme="nova"] body .phone .ec-root .ec-service-choices > label:only-of-type { grid-column:1/-1; }
html[data-app-theme="nova"] body .phone .ec-root .ec-group-list { margin-top:16px; }
html[data-app-theme="nova"] body .phone .ec-root .ec-allocation-cap { flex-wrap:wrap;gap:8px 16px; }
html[data-app-theme="nova"] body .phone .ec-root .ec-allocation-cap > strong { flex:0 0 auto;max-width:100%; }

/* Receive: account first, a clear copy action, then recording and receivables. */
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive > .page-intro { order:0; margin-bottom:8px; }
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account { order:1; gap:16px; margin:0 !important; }
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account > header { align-items:center; }
/* Compact coral Aura; printed identifiers reuse the bank card OCR face and engraving. */
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account .biz-identifier-panel {
  --iban-ink:#713d35;
  --bank-card-engraving:0 -1px 1px #72372740,0 1px 0 #ffffffc0;
  --iban-aura-primary: 48%;
  --iban-aura-soft: 40%;
  --iban-aura-sky: 32%;
  position:relative;
  isolation:isolate;
  container-type:inline-size;
  overflow:hidden;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  padding:16px 20px;
  border-radius:var(--biz-radius-inset);
  color:var(--biz-ink);
  background:color-mix(in srgb,var(--biz-surface) 82%,rgb(var(--nova-palette-coral-rgb,244 154 112)));
}
html[data-app-theme="nova"][data-account-aura="on"] body .phone #screen-receive .finance-iban-aura {
  display:block !important;
  position:absolute;
  inset:0;
  z-index:-1;
  overflow:hidden;
  pointer-events:none;
  background:radial-gradient(ellipse at 50% 42%,rgb(255 255 255 / 72%),transparent 72%);
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-iban-aura > i {
  position:absolute;
  inset:0;
  pointer-events:none;
  /* Keep every layer's edge at the card edge; only the soft light moves. */
  background-size:200% 200%;
  background-position:center;
  background-repeat:no-repeat;
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-iban-aura .account-aura-glow-primary {
  background-image:radial-gradient(ellipse 48% 48% at center,rgb(var(--nova-palette-coral-rgb,244 154 112) / var(--iban-aura-primary)),transparent 70%);
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-iban-aura .account-aura-glow-soft {
  background-image:radial-gradient(ellipse 48% 48% at center,rgb(var(--nova-palette-coral-dark-rgb,255 174 145) / var(--iban-aura-soft)),transparent 70%);
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-iban-aura .account-aura-glow-sky {
  background-image:radial-gradient(ellipse 48% 48% at center,rgb(var(--nova-palette-coral-hot-rgb,240 117 106) / var(--iban-aura-sky)),transparent 70%);
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account .biz-identifier-panel::after {
  content:"IBAN";
  position:absolute;
  top:16px;
  left:20px;
  color:var(--iban-ink);
  font:400 11px/24px "Bank OCR-B", "Courier New", monospace;
  text-shadow:var(--bank-card-engraving);
  pointer-events:none;
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account .biz-identifier-panel .biz-list-copy {
  align-items:stretch;
  gap:8px !important;
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account .biz-identifier-panel .biz-list-description {
  color:var(--biz-muted) !important;
  font-size:12px !important;
  padding-inline-end:44px;
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account .biz-identifier-panel .biz-list-title { color:var(--biz-ink) !important; }
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account .biz-identifier-value {
  display:grid;
  grid-template-columns:repeat(7,max-content);
  grid-template-rows:32px;
  align-items:center;
  justify-content:space-between;
  width:100%;
  max-width:100%;
  gap:0 3px;
  color:var(--iban-ink) !important;
  font:400 clamp(10px,4.3cqw,14px)/28px "Bank OCR-B", "Courier New", monospace;
  text-shadow:var(--bank-card-engraving);
  font-synthesis:none;
  text-align:center;
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account .biz-identifier-value > span:first-child {
  grid-row:1;
  align-self:stretch;
  display:grid;
  place-items:center;
  padding-inline:0;
  margin-inline-end:0;
  background:transparent;
  border-radius:0;
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account .biz-identifier-copy {
  display:flex;
  justify-content:center;
  align-items:center;
  justify-self:end;
  gap:8px;
  width:auto;
  height:auto;
  min-height:44px;
  padding:10px 18px;
  border-radius:var(--biz-radius-control);
  color:#fff;
  background:#a14836;
  font:600 14px/24px var(--biz-font-semibold);
}
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone #screen-receive .finance-receive-account .biz-identifier-panel {
  --iban-ink:#ffdacb;
  --bank-card-engraving:0 -1px 1px #0009,0 1px 0 #ffffff24;
  --iban-aura-primary: 20%;
  --iban-aura-soft: 16%;
  --iban-aura-sky: 12%;
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account .biz-identifier-panel .biz-identifier-copy:focus-visible { outline-color:var(--biz-focus); }
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone #screen-receive .finance-receive-account .biz-identifier-copy { background:#ffb19c; color:#442c26; }
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-copy-label { display:inline !important; }
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone #screen-receive .finance-iban-aura { background:transparent; }
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account .biz-overview-footer {
  min-height:80px;
  padding:12px 0 0;
  border:0;
  border-top:1px solid var(--biz-divider-color);
  color:var(--biz-info);
  gap:12px;
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account .finance-receive-pos-label {
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  gap:12px;
  min-width:0;
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-pos-label > svg {
  width:40px;
  height:40px;
  padding:10px;
  border-radius:12px;
  color:var(--biz-tile-purple);
  background:var(--biz-tile-purple-soft);
  stroke-width:var(--biz-tile-stroke);
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-pos-copy { display:grid; gap:4px; text-align:start; }
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-pos-copy > span { font:600 14px/24px var(--biz-font-semibold) !important; }
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-pos-description { display:block !important; color:var(--biz-muted); font:400 12px/24px var(--biz-font-regular) !important; }
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account .biz-overview-footer:focus-visible { outline:2px solid var(--biz-focus); outline-offset:3px; border-radius:12px; }
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-income {
  order:2;
  margin:0 !important;
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  column-gap:12px;
  row-gap:4px;
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-income-icon {
  display:grid !important;
  grid-row:1 / 3;
  grid-column:1;
  width:40px;
  height:40px;
  align-self:start;
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-income > :is(h2,p) { grid-column:2; margin:0 !important; }
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-income > p {
  font:400 12px/24px var(--biz-font-regular) !important;
  color:var(--biz-muted);
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-income > button {
  grid-column:1 / -1;
  margin:12px 0 0;
  min-height:48px;
  border:0 !important;
  border-radius:var(--biz-radius-control);
  background:var(--biz-surface-soft);
  color:var(--biz-info);
  font:600 14px/24px var(--biz-font-semibold);
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-invoices-title {
  order:3;
  margin:32px 0 -8px !important;
  padding-inline:var(--biz-section-heading-inset);
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-guidance { order:4; }
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-guidance .biz-info-box {
  margin:0 !important;
  padding:0 var(--biz-section-heading-inset) !important;
  border-radius:0 !important;
  background:transparent !important;
  font-size:12px !important;
  line-height:24px !important;
}
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive > .trade-list { order:5; margin:0; }
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive :is(.biz-identifier-copy,.finance-receive-income > button):focus-visible {
  outline:2px solid var(--biz-focus);
  outline-offset:3px;
}
@media(max-width:360px) {
  html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account .biz-identifier-panel { padding-inline:16px; }
  html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account .biz-identifier-value { gap:0 3px; }
}

html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account .biz-identifier-value > span { font:inherit !important; }
html[data-app-theme="nova"] body .phone #screen-receive .finance-receive-account > header h2 { margin:0 !important; }


/* Complete capacity rings on the card surface, with a static Aura palette. */
html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-breakdown { display:grid;gap:12px;margin:24px 0;padding:0;background:transparent; }
html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-breakdown h3 { margin:0;color:var(--biz-muted);font:400 12px/20px var(--biz-font-regular); }
html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-chart { display:grid;direction:ltr;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:20px; }
html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-rings { --nova-capacity-ring-width:18;width:128px;height:128px;overflow:visible; }
html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-ring-track { stroke:var(--reservation-color);opacity:.12; }
html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-breakdown [data-state="offered"] { --ring-start:var(--ring-coral-start);--ring-end:var(--ring-coral-end);--reservation-color:var(--ring-start); }
html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-breakdown [data-state="assigned"] { --ring-start:var(--ring-violet-start);--ring-end:var(--ring-violet-end);--reservation-color:var(--ring-start); }
html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-ring-fill { stroke:var(--reservation-color); }
html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-legend { display:grid;direction:rtl;gap:8px;min-width:0; }
html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-row { display:grid;gap:4px;min-width:0; }
html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-label { display:flex;align-items:center;gap:8px;font:400 12px/24px var(--biz-font-regular); }
html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-label i { width:8px;height:8px;border-radius:50%;background:var(--reservation-color);flex:none; }
html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-value { font:600 13px/24px var(--biz-font-semibold); }
html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-breakdown > p { margin:0;color:var(--biz-muted);font:400 11px/20px var(--biz-font-regular); }
@media(max-width:360px) {
  html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-chart { grid-template-columns:104px minmax(0,1fr);gap:12px; }
  html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-rings { width:104px;height:104px; }
  html[data-app-theme="nova"] body .phone .ec-root .ec-reservation-legend { gap:8px; }
}

/* Stable section identities, independent of repayment and membership status colors. */
html[data-app-theme="nova"] body .phone .ec-destinations > [data-id="requests"] { --ec-section-ink:var(--biz-tile-orange);--ec-section-surface:var(--biz-tile-orange-soft); }
html[data-app-theme="nova"] body .phone .ec-destinations > [data-id="credit"] { --ec-section-ink:var(--biz-tile-purple);--ec-section-surface:var(--biz-tile-purple-soft); }
html[data-app-theme="nova"] body .phone .ec-destinations > [data-id="employees"] { --ec-section-ink:#0878e5;--ec-section-surface:#e9f4ff; }
html[data-app-theme="nova"] body .phone .ec-destinations > [data-id="groups"] { --ec-section-ink:var(--biz-tile-green);--ec-section-surface:var(--biz-tile-green-soft); }
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone .ec-destinations > [data-id="employees"] { --ec-section-ink:#6db6ff;--ec-section-surface:#182f48; }
html[data-app-theme="nova"] body .phone .ec-destinations > .ec-destination .biz-icon-tile { --biz-tile-ink:var(--ec-section-ink);--biz-tile-surface:var(--ec-section-surface); }
html[data-app-theme="nova"] body .phone .ec-destinations > .ec-destination .ec-destination-count { color:var(--ec-section-ink);background:var(--ec-section-surface); }

/* Validation belongs to the field or choice group, including scrollable forms. */
html[data-app-theme="nova"] body .phone .ec-root [data-field-error]:not(:empty) { display:block;color:var(--biz-danger);font:400 12px/20px var(--biz-font-regular); }
html[data-app-theme="nova"] body .phone .ec-root fieldset:has([data-credit-invalid]) > legend { color:var(--biz-danger); }
html[data-app-theme="nova"] body .phone .ec-root .ec-service-choices label:has([data-credit-invalid]),
html[data-app-theme="nova"] body .phone .ec-root .ec-file-picker:has([aria-invalid="true"]) { outline:2px solid var(--biz-danger);outline-offset:2px; }

/* Request filters keep their status color in both idle and selected states. */
html[data-app-theme="nova"] body .phone .ec-root .biz-status-filters [data-ec-action="request-filter"] { --request-ink:var(--biz-tile-purple);--request-soft:var(--biz-tile-purple-soft);color:var(--request-ink);background:var(--request-soft);box-shadow:none; }
html[data-app-theme="nova"] body .phone .ec-root .biz-status-filters [data-ec-action="request-filter"][data-tone="warning"] { --request-ink:var(--biz-tile-orange);--request-soft:var(--biz-tile-orange-soft); }
html[data-app-theme="nova"] body .phone .ec-root .biz-status-filters [data-ec-action="request-filter"][data-tone="success"] { --request-ink:var(--biz-tile-green);--request-soft:var(--biz-tile-green-soft); }
html[data-app-theme="nova"] body .phone .ec-root .biz-status-filters [data-ec-action="request-filter"][data-tone="danger"] { --request-ink:var(--biz-tile-red);--request-soft:var(--biz-tile-red-soft); }
html[data-app-theme="nova"] body .phone .ec-root .biz-status-filters [data-ec-action="request-filter"][aria-pressed="true"] { background:color-mix(in srgb,var(--request-ink) 12%,var(--request-soft));box-shadow:inset 0 0 0 2px var(--request-ink); }
html[data-app-theme="nova"] body .phone .ec-root .biz-status-filters [data-ec-action="request-filter"] > span { color:inherit;background:color-mix(in srgb,var(--biz-surface) 65%,transparent); }

/* Shared Liquid Glass for floating controls, 2026-10-13.
 * One backdrop per surface; optical edges use static gradients/inset shadows.
 * Opaque by default so unsupported browsers keep a readable surface. */
html[data-app-theme="nova"] .phone {
  --nova-liquid-fill: var(--biz-surface);
  --nova-liquid-header-fill: var(--biz-surface);
  --nova-liquid-edge: rgb(255 255 255 / 78%);
  --nova-liquid-sheen: rgb(255 255 255 / 42%);
  --nova-liquid-shade: rgb(36 29 62 / 12%);
  --nova-liquid-pressed: color-mix(in srgb, var(--biz-surface) 82%, var(--biz-focus));
  --nova-liquid-coat: linear-gradient(125deg, var(--nova-liquid-sheen), transparent 38% 68%, var(--nova-liquid-sheen));
  --nova-liquid-shadow: inset 0 1px 1px var(--nova-liquid-edge),
    inset 1px 0 1px var(--nova-liquid-edge), inset -1px 0 1px var(--nova-liquid-edge),
    inset 0 -1px 1px var(--nova-liquid-shade), 0 5px 14px var(--nova-liquid-shade);
}
html[data-app-theme="nova"][data-color-scheme="dark"] .phone {
  --nova-liquid-edge: rgb(255 255 255 / 26%);
  --nova-liquid-sheen: rgb(255 255 255 / 12%);
  --nova-liquid-shade: rgb(0 0 0 / 24%);
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  html[data-app-theme="nova"] .phone {
    --nova-liquid-fill: color-mix(in srgb, var(--biz-surface) 18%, transparent);
    --nova-liquid-header-fill: color-mix(in srgb, var(--biz-surface) 28%, transparent);
  }
  html[data-app-theme="nova"][data-color-scheme="dark"] .phone {
    --nova-liquid-fill: color-mix(in srgb, var(--biz-surface) 32%, transparent);
    --nova-liquid-header-fill: color-mix(in srgb, var(--biz-surface) 48%, transparent);
  }
}
html[data-app-theme="nova"] body .phone #open-user-profile > span,
html[data-app-theme="nova"] body .phone .app-header .header-actions,
html[data-app-theme="nova"] body .phone .home-widget-tabs,
html[data-app-theme="nova"] body .phone .biz-month-bar > button:is(.biz-month-trigger, .biz-month-year-step) {
  background: var(--nova-liquid-coat), var(--nova-liquid-fill);
  border-color: transparent;
  box-shadow: var(--nova-liquid-shadow);
  -webkit-backdrop-filter: blur(14px) saturate(175%);
  backdrop-filter: blur(14px) saturate(175%);
}
/* The full header already filters the scroller; avoid stacked live blurs. */
html[data-app-theme="nova"] body .phone .app-header.has-scrolled-content :is(#open-user-profile > span, .header-actions) {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
html[data-app-theme="nova"] body .phone .home-widget-tabs {
  /* Quieter than the floating navigation; geometry and movement are shared. */
  box-shadow: inset 0 1px 1px var(--nova-liquid-edge), inset 0 -1px 1px var(--nova-liquid-shade);
}
html[data-app-theme="nova"] body .phone #home-widget-group .home-widget-tabs > button[aria-selected="true"] {
  color: var(--biz-focus);
}
/* Equal icon columns keep the month title on the capsule's exact center. */
html[data-app-theme="nova"] body .phone .biz-month-bar .biz-month-trigger {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 32px;
  align-items: center;
}
html[data-app-theme="nova"] body .phone .biz-month-trigger > :is(.biz-month-calendar-tile, .biz-month-trigger-chevron) { justify-self: center; }
html[data-app-theme="nova"] body .phone .biz-month-label-window { min-width: 0; text-align: center; }
html[data-app-theme="nova"] body .phone .biz-month-bar > button::before { display: none; }
html[data-app-theme="nova"] body .phone .biz-month-bar > button:disabled { box-shadow: none; }
html[data-app-theme="nova"] body .phone :is(.biz-month-bar > button:not(:disabled), #open-user-profile > span):active {
  background-color: var(--nova-liquid-pressed);
}
html[data-app-theme="nova"] body .phone #nova-card-viewer .nova-card-viewer-actions > button:focus-visible {
  outline: 2px solid var(--biz-focus);
  outline-offset: 3px;
}
@media (prefers-reduced-transparency: reduce) {
  html[data-app-theme="nova"] .phone {
    --nova-liquid-fill: var(--biz-surface);
    --nova-liquid-header-fill: var(--biz-surface);
    --nova-liquid-coat: linear-gradient(transparent, transparent);
  }
  html[data-app-theme="nova"][data-color-scheme="dark"] .phone {
    --nova-liquid-fill: var(--biz-surface);
    --nova-liquid-header-fill: var(--biz-surface);
  }
  html[data-app-theme="nova"] body .phone :is(#open-user-profile > span, .app-header .header-actions, .home-widget-tabs, .biz-month-bar > button),
  html[data-app-theme="nova"] body .phone #nova-card-viewer .nova-card-viewer-actions > button,
  html[data-app-theme="nova"] body .phone #app-shell:has(#screen-home.active, #screen-business.active) > .app-header.has-scrolled-content,
html[data-app-theme="nova"] body .phone #app-shell > .app-header.has-scrolled-content,
  html[data-app-theme="nova"] body .phone .app-screen > .focused-header.has-scrolled-content {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
@media (forced-colors: active) {
  html[data-app-theme="nova"] .phone {
    --nova-liquid-fill: Canvas;
    --nova-liquid-header-fill: Canvas;
    --nova-liquid-coat: linear-gradient(transparent, transparent);
    --nova-liquid-shadow: none;
  }
  html[data-app-theme="nova"][data-color-scheme="dark"] .phone {
    --nova-liquid-fill: Canvas;
    --nova-liquid-header-fill: Canvas;
  }
  html[data-app-theme="nova"] body .phone :is(#open-user-profile > span, .app-header .header-actions, .home-widget-tabs, .biz-month-bar > button),
  html[data-app-theme="nova"] body .phone #nova-card-viewer .nova-card-viewer-actions > button {
    border: 1px solid ButtonText !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  html[data-app-theme="nova"] body .phone .home-widget-indicator { outline: 2px solid Highlight; outline-offset: -2px; }
}

/* Preserve the approved primary shape and soft Aura. Only the face gains
 * glass highlights; the underglow remains a separate, softly blurred layer. */
html[data-app-theme="nova"] body {
  --nova-primary-glass-fill: var(--nova-palette-primary, #6550cc);
  --nova-primary-glass-coat: linear-gradient(145deg, rgb(255 255 255 / 28%), transparent 38% 68%, rgb(255 255 255 / 9%));
  --nova-primary-glass-edge: rgb(255 255 255 / 52%);
  --nova-tab-ink: color-mix(in srgb, var(--nova-palette-primary, #6550cc) 78%, #000);
}
html[data-app-theme="nova"][data-color-scheme="dark"] body {
  --nova-primary-glass-edge: rgb(255 255 255 / 36%);
  --nova-tab-ink: #e0d6ff;
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  html[data-app-theme="nova"] body { --nova-primary-glass-fill: color-mix(in srgb, var(--nova-palette-primary, #6550cc) 88%, transparent); }
  html[data-app-theme="nova"][data-color-scheme="dark"] body { --nova-primary-glass-fill: color-mix(in srgb, var(--nova-palette-primary, #6550cc) 78%, transparent); }
}
html[data-app-theme="nova"] body :is(
  .phone .primary-button, .phone .detail-primary, .phone .ec-primary,
  .phone #request-single-card, .phone #choose-profile-photo,
  .phone #customer-login-submit, .phone #biometric-login-submit,
  .phone .next-payment-start, .phone .notification-mark-all,
  .phone .ec-file-action, .phone .address-confirm-action,
  .phone .cards-empty-state button, .phone .health-recommendation button,
  .phone .receive-identity-card > button, .phone .receive-iban-card button:not(:last-child),
  .phone .identifiers-list button:first-child, .pwa-install-primary
):not(.profile-logout-confirm, .danger-button, #onboarding-next, #nova-card-viewer *) {
  --biz-action-aura-opacity: .5;
  position: relative;
  isolation: isolate;
  overflow: visible !important;
  background: var(--nova-primary-glass-coat), var(--nova-primary-glass-fill) !important;
  color: #fff !important;
  /* Legacy forms added a purple outline; the approved reference has none. */
  border: 0 !important;
  background-clip: border-box;
  box-shadow: inset 0 1px 1px var(--nova-primary-glass-edge), inset 1px 0 1px rgb(255 255 255 / 18%), inset -1px 0 1px rgb(255 255 255 / 18%), inset 0 -1px 1px rgb(38 22 85 / 18%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(155%);
  backdrop-filter: blur(14px) saturate(155%);
  align-items: center;
  justify-content: center;
  text-align: center;
}

html[data-app-theme="nova"][data-color-scheme="dark"] body :is(
  .phone .primary-button, .phone .detail-primary, .phone .ec-primary,
  .phone #request-single-card, .phone #choose-profile-photo,
  .phone #customer-login-submit, .phone #biometric-login-submit,
  .phone .next-payment-start, .phone .notification-mark-all,
  .phone .ec-file-action, .phone .address-confirm-action,
  .phone .cards-empty-state button, .phone .health-recommendation button,
  .phone .receive-identity-card > button, .phone .receive-iban-card button:not(:last-child),
  .phone .identifiers-list button:first-child, .pwa-install-primary
):not(.profile-logout-confirm, .danger-button, #onboarding-next, #nova-card-viewer *):not(#login-screen *) {
  --biz-action-aura-opacity: .25;
}

html[data-app-theme="nova"] body :is(
  .phone .primary-button, .phone .detail-primary, .phone .ec-primary,
  .phone #request-single-card, .phone #choose-profile-photo,
  .phone #customer-login-submit, .phone #biometric-login-submit,
  .phone .next-payment-start, .phone .notification-mark-all,
  .phone .ec-file-action, .phone .address-confirm-action,
  .phone .cards-empty-state button, .phone .health-recommendation button,
  .phone .receive-identity-card > button, .phone .receive-iban-card button:not(:last-child),
  .phone .identifiers-list button:first-child, .pwa-install-primary
):not(.profile-logout-confirm, .danger-button, #onboarding-next, #nova-card-viewer *)::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 8px 7px -8px;
  border-radius: inherit;
  background: var(--nova-palette-primary, #6550cc);
  filter: blur(16px) opacity(var(--biz-action-aura-opacity));
  transition: filter .25s ease;
  pointer-events: none;
}

html[data-app-theme="nova"] body :is(
  .phone .primary-button, .phone .detail-primary, .phone .ec-primary,
  .phone #request-single-card, .phone #choose-profile-photo,
  .phone #customer-login-submit, .phone #biometric-login-submit,
  .phone .next-payment-start, .phone .notification-mark-all,
  .phone .ec-file-action, .phone .address-confirm-action,
  .phone .cards-empty-state button, .phone .health-recommendation button,
  .phone .receive-identity-card > button, .phone .receive-iban-card button:not(:last-child),
  .phone .identifiers-list button:first-child, .pwa-install-primary
):not(.profile-logout-confirm, .danger-button, #onboarding-next, #nova-card-viewer *)::after {
  content: none; /* Avoid a second opaque face over the glass. */
}

html[data-app-theme="nova"] body :is(
  .phone .primary-button, .phone .detail-primary, .phone .ec-primary,
  .phone #request-single-card, .phone #choose-profile-photo,
  .phone #customer-login-submit, .phone #biometric-login-submit,
  .phone .next-payment-start, .phone .notification-mark-all,
  .phone .ec-file-action, .phone .address-confirm-action,
  .phone .cards-empty-state button, .phone .health-recommendation button,
  .phone .receive-identity-card > button, .phone .receive-iban-card button:not(:last-child),
  .phone .identifiers-list button:first-child, .pwa-install-primary
):not(.profile-logout-confirm, .danger-button, #onboarding-next, #nova-card-viewer *) > :is(span, strong, b, svg) {
  color: inherit !important;
}

@media (hover: hover) and (pointer: fine) {

html[data-app-theme="nova"] body :is(
  .phone .primary-button, .phone .detail-primary, .phone .ec-primary,
  .phone #request-single-card, .phone #choose-profile-photo,
  .phone #customer-login-submit, .phone #biometric-login-submit,
  .phone .next-payment-start, .phone .notification-mark-all,
  .phone .ec-file-action, .phone .address-confirm-action,
  .phone .cards-empty-state button, .phone .health-recommendation button,
  .phone .receive-identity-card > button, .phone .receive-iban-card button:not(:last-child),
  .phone .identifiers-list button:first-child, .pwa-install-primary
):not(.profile-logout-confirm, .danger-button, #onboarding-next, #nova-card-viewer *):not(:disabled, [aria-disabled="true"], .is-loading, [aria-busy="true"]):hover::before {
  filter: blur(16px) opacity(calc(var(--biz-action-aura-opacity) * 1.25));
}

}

html[data-app-theme="nova"] body :is(
  .phone .primary-button, .phone .detail-primary, .phone .ec-primary,
  .phone #request-single-card, .phone #choose-profile-photo,
  .phone #customer-login-submit, .phone #biometric-login-submit,
  .phone .next-payment-start, .phone .notification-mark-all,
  .phone .ec-file-action, .phone .address-confirm-action,
  .phone .cards-empty-state button, .phone .health-recommendation button,
  .phone .receive-identity-card > button, .phone .receive-iban-card button:not(:last-child),
  .phone .identifiers-list button:first-child, .pwa-install-primary
):not(.profile-logout-confirm, .danger-button, #onboarding-next, #nova-card-viewer *):not(:disabled, [aria-disabled="true"], .is-loading, [aria-busy="true"]):active::before {
  filter: blur(16px) opacity(calc(var(--biz-action-aura-opacity) * .65));
}

html[data-app-theme="nova"] body :is(
  .phone .primary-button, .phone .detail-primary, .phone .ec-primary,
  .phone #request-single-card, .phone #choose-profile-photo,
  .phone #customer-login-submit, .phone #biometric-login-submit,
  .phone .next-payment-start, .phone .notification-mark-all,
  .phone .ec-file-action, .phone .address-confirm-action,
  .phone .cards-empty-state button, .phone .health-recommendation button,
  .phone .receive-identity-card > button, .phone .receive-iban-card button:not(:last-child),
  .phone .identifiers-list button:first-child, .pwa-install-primary
):not(.profile-logout-confirm, .danger-button, #onboarding-next, #nova-card-viewer *):is(:disabled, [aria-disabled="true"], .is-loading, [aria-busy="true"])::before {
  filter: blur(16px) opacity(0);
}

html[data-app-theme="nova"] body :is(
  .phone .primary-button, .phone .detail-primary, .phone .ec-primary,
  .phone #request-single-card, .phone #choose-profile-photo,
  .phone #customer-login-submit, .phone #biometric-login-submit,
  .phone .next-payment-start, .phone .notification-mark-all,
  .phone .ec-file-action, .phone .address-confirm-action,
  .phone .cards-empty-state button, .phone .health-recommendation button,
  .phone .receive-identity-card > button, .phone .receive-iban-card button:not(:last-child),
  .phone .identifiers-list button:first-child, .pwa-install-primary
):not(.profile-logout-confirm, .danger-button, #onboarding-next, #nova-card-viewer *):focus-visible {
  outline: 2px solid var(--biz-focus, #6550cc);
  outline-offset: 3px;
}

/* Keep the translucent Home capsule; strengthen only its selected tint and ink. */
html[data-app-theme="nova"] body .phone #home-widget-group .home-widget-tabs {
  background: var(--nova-liquid-coat), var(--nova-liquid-fill);
  box-shadow: inset 0 1px 1px var(--nova-liquid-edge), inset 0 -1px 1px var(--nova-liquid-shade), 0 3px 10px rgb(var(--nova-palette-primary-shadow-rgb, 63 44 112) / 6%);
}
html[data-app-theme="nova"] body .phone #home-widget-group .home-widget-indicator {
  background: var(--nova-liquid-coat), color-mix(in srgb, var(--nova-palette-primary, #6550cc) 22%, var(--nova-liquid-fill));
  box-shadow: var(--nova-liquid-shadow), inset 0 0 0 1px rgb(var(--nova-palette-primary-rgb, 101 80 204) / 18%);
}
html[data-app-theme="nova"] body .phone #home-widget-group .home-widget-tabs > button { color: var(--biz-muted); }
html[data-app-theme="nova"] body .phone #home-widget-group .home-widget-tabs > button[aria-selected="true"] { color: var(--nova-tab-ink); font-weight: 600; }
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone #home-widget-group .home-widget-indicator {
  background: var(--nova-liquid-coat), color-mix(in srgb, var(--nova-palette-primary, #6550cc) 30%, var(--nova-liquid-fill));
}
@media (prefers-reduced-transparency: reduce) {
  html[data-app-theme="nova"] body,
  html[data-app-theme="nova"][data-color-scheme="dark"] body { --nova-primary-glass-fill: var(--nova-palette-primary, #6550cc); }
html[data-app-theme="nova"] body :is(
  .phone .primary-button, .phone .detail-primary, .phone .ec-primary,
  .phone #request-single-card, .phone #choose-profile-photo,
  .phone #customer-login-submit, .phone #biometric-login-submit,
  .phone .next-payment-start, .phone .notification-mark-all,
  .phone .ec-file-action, .phone .address-confirm-action,
  .phone .cards-empty-state button, .phone .health-recommendation button,
  .phone .receive-identity-card > button, .phone .receive-iban-card button:not(:last-child),
  .phone .identifiers-list button:first-child, .pwa-install-primary
):not(.profile-logout-confirm, .danger-button, #onboarding-next, #nova-card-viewer *) { -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-reduced-motion: reduce) {
html[data-app-theme="nova"] body :is(
  .phone .primary-button, .phone .detail-primary, .phone .ec-primary,
  .phone #request-single-card, .phone #choose-profile-photo,
  .phone #customer-login-submit, .phone #biometric-login-submit,
  .phone .next-payment-start, .phone .notification-mark-all,
  .phone .ec-file-action, .phone .address-confirm-action,
  .phone .cards-empty-state button, .phone .health-recommendation button,
  .phone .receive-identity-card > button, .phone .receive-iban-card button:not(:last-child),
  .phone .identifiers-list button:first-child, .pwa-install-primary
):not(.profile-logout-confirm, .danger-button, #onboarding-next, #nova-card-viewer *)::before { transition: none !important; }
}
@media (forced-colors: active) {
html[data-app-theme="nova"] body :is(
  .phone .primary-button, .phone .detail-primary, .phone .ec-primary,
  .phone #request-single-card, .phone #choose-profile-photo,
  .phone #customer-login-submit, .phone #biometric-login-submit,
  .phone .next-payment-start, .phone .notification-mark-all,
  .phone .ec-file-action, .phone .address-confirm-action,
  .phone .cards-empty-state button, .phone .health-recommendation button,
  .phone .receive-identity-card > button, .phone .receive-iban-card button:not(:last-child),
  .phone .identifiers-list button:first-child, .pwa-install-primary
):not(.profile-logout-confirm, .danger-button, #onboarding-next, #nova-card-viewer *) { background: ButtonFace !important; color: ButtonText !important; box-shadow: none !important; border: 1px solid ButtonText !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
html[data-app-theme="nova"] body :is(
  .phone .primary-button, .phone .detail-primary, .phone .ec-primary,
  .phone #request-single-card, .phone #choose-profile-photo,
  .phone #customer-login-submit, .phone #biometric-login-submit,
  .phone .next-payment-start, .phone .notification-mark-all,
  .phone .ec-file-action, .phone .address-confirm-action,
  .phone .cards-empty-state button, .phone .health-recommendation button,
  .phone .receive-identity-card > button, .phone .receive-iban-card button:not(:last-child),
  .phone .identifiers-list button:first-child, .pwa-install-primary
):not(.profile-logout-confirm, .danger-button, #onboarding-next, #nova-card-viewer *)::before { content: none; }
  html[data-app-theme="nova"] body .phone #home-widget-group .home-widget-indicator { background: Highlight; }
  html[data-app-theme="nova"] body .phone #home-widget-group .home-widget-tabs > button[aria-selected="true"] { color: HighlightText; }
}

/* Legacy list icons paint on the SVG itself. Give them the same 40px
 * border-box as wrapped icon tiles; text and trailing controls share columns. */
html[data-app-theme="nova"] body .phone :is(#screen-business .next-connected-links > button, #account-documents > summary, #account-documents .detail-row) {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) max-content;
  align-items: center;
  column-gap: 12px;
}
html[data-app-theme="nova"] body .phone :is(#screen-business .next-connected-links > button, #account-documents .detail-row) > svg:first-child {
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  min-width: 40px;
  padding: 10px;
  border: 0;
  border-radius: 14px;
  color: var(--biz-tile-ink, var(--biz-tile-purple)) !important;
  stroke-width: var(--biz-tile-stroke, 2.25);
}
html[data-app-theme="nova"] body .phone #screen-business .next-connected-links > button[data-hub-target="energy"] > svg:first-child {
  --biz-tile-ink: var(--nova-payment-bills-ink, var(--biz-tile-orange));
  --biz-tile-surface: var(--nova-payment-bills-soft, var(--biz-tile-orange-soft));
}
html[data-app-theme="nova"] body .phone #screen-business .next-connected-links > button[data-hub-target="health"] > svg:first-child {
  --biz-tile-ink: var(--biz-tile-green);
  --biz-tile-surface: var(--biz-tile-green-soft);
}
html[data-app-theme="nova"] body .phone #account-documents :is(.detail-row-copy, .biz-list-copy) {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
html[data-app-theme="nova"] body .phone #account-documents :is(.detail-chevron, .biz-disclosure-chevron) {
  width: 16px;
  height: 16px;
  justify-self: center;
}

/* Security shortcut shares the semantic color and layout slot of profile rows. */
html[data-app-theme="nova"] body .phone .profile-biometric-card {
  grid-template-columns: 40px minmax(0, 1fr) max-content;
  column-gap: 12px;
}
html[data-app-theme="nova"] body .phone .profile-biometric-mark {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  color: var(--biz-tile-purple) !important;
}
html[data-app-theme="nova"] body .phone .profile-biometric-mark svg {
  width: 20px;
  height: 20px;
  color: inherit !important;
  stroke-width: var(--biz-tile-stroke, 2.25);
}
html[data-app-theme="nova"] body .phone .profile-biometric-copy { gap: 4px; }

/* Minimal contact monograms with vivid ink on pale, flat circles.
 * The stable name-based palette is shared by every contact surface. */
html[data-app-theme="nova"] body .phone :is(#selected-recipient-avatar,#review-avatar,.contact-avatar):has(> .nova-contact-monogram) {
  position:relative;isolation:isolate;display:grid;place-items:center;
  width:48px !important;height:48px !important;flex:0 0 48px !important;
  padding:0 !important;overflow:hidden !important;border:0 !important;
  border-radius:50% !important;background:transparent !important;box-shadow:none !important;
}
html[data-app-theme="nova"] body .phone #transfer-review #review-avatar,
html[data-app-theme="nova"] body .phone #screen-recipients .recipient-profile > .contact-avatar {
  width:112px !important;height:112px !important;flex:0 0 112px !important;
}
html[data-app-theme="nova"] body .phone #transfer-review #review-avatar {
  margin:0 0 16px !important;font-size:48px !important;
}
html[data-app-theme="nova"] body .phone .contact-avatar > .nova-contact-monogram {
  --monogram-fill:#f0e9ff;--monogram-ink:#7548d8;
  --monogram-night:#34294c;--monogram-bright:#c7adff;
  display:grid !important;place-items:center;width:100%;height:100%;
  box-sizing:border-box;padding:0 0 2px;border:0;border-radius:50%;
  background:var(--monogram-fill) !important;color:var(--monogram-ink) !important;
  font-family:"Vazirmatn Medium",Tahoma,sans-serif !important;
  font-weight:500 !important;font-size:24px !important;line-height:1 !important;
  letter-spacing:0 !important;box-shadow:none;pointer-events:none;
}
html[data-app-theme="nova"] body .phone .nova-contact-monogram[data-monogram-tone="coral"] {
  --monogram-fill:#fff0e9;--monogram-ink:#b94b36;--monogram-night:#432e2a;--monogram-bright:#ffad91;
}
html[data-app-theme="nova"] body .phone .nova-contact-monogram[data-monogram-tone="blue"] {
  --monogram-fill:#eaf3ff;--monogram-ink:#2e6dc8;--monogram-night:#25364e;--monogram-bright:#9dc7ff;
}
html[data-app-theme="nova"] body .phone .nova-contact-monogram[data-monogram-tone="rose"] {
  --monogram-fill:#fdebf3;--monogram-ink:#b93b78;--monogram-night:#432a3c;--monogram-bright:#ffacd0;
}
html[data-app-theme="nova"] body .phone .nova-contact-monogram[data-monogram-tone="teal"] {
  --monogram-fill:#e4f6ee;--monogram-ink:#137c62;--monogram-night:#233c33;--monogram-bright:#80d9b9;
}
html[data-app-theme="nova"] body .phone .nova-contact-monogram[data-monogram-tone="amber"] {
  --monogram-fill:#fff3db;--monogram-ink:#97640b;--monogram-night:#403523;--monogram-bright:#ffd082;
}
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone .contact-avatar > .nova-contact-monogram {
  background:var(--monogram-night) !important;color:var(--monogram-bright) !important;
}
html[data-app-theme="nova"] body .phone #transfer-review #review-avatar > .nova-contact-monogram,
html[data-app-theme="nova"] body .phone #screen-recipients .recipient-profile > .contact-avatar > .nova-contact-monogram {
  font-size:48px !important;
}
@media (forced-colors:active) {
  html[data-app-theme="nova"] body .phone .contact-avatar > .nova-contact-monogram {
    background:Canvas !important;color:CanvasText !important;
  }
}

/* Only unread rows reserve a leading dot column; read rows use the standard alignment. */
html[data-app-theme="nova"] body .phone .notification-item:not(.is-unread) {
  grid-template-columns: max-content minmax(0, 1fr) max-content 16px;
}
html[data-app-theme="nova"] body .phone .notification-item:not(.is-unread) > .notification-unread-dot {
  display: none;
}

/* Shared frameless Nova icons (2026-10-27).
 * Remove decoration from named glyph slots, never from their parent buttons,
 * selection indicators, timeline markers, illustrations or focus outlines.
 * Slots keep their layout footprint; row/button hit areas remain unchanged. */
html[data-app-theme="nova"] body .phone {
  --nova-icon-inline: 20px;
  --nova-icon-row: 24px;
  --nova-icon-action: 28px;
  --nova-icon-empty: 32px;
  --biz-icon-stroke: 1.75;
  --biz-tile-stroke: 1.75;
}
html[data-app-theme="nova"] body .phone :is(
  .biz-icon-tile,
  .next-home-tool-grid > button > span:first-child,
  .next-business-destination-grid > button > span:first-child,
  .next-more-group button > span:first-child,
  .next-home-feature-icon, .next-home-line-icon,
  .next-home-activity-list button > span:first-child,
  .account-icon, .management-icon, .round-symbol, .row-symbol, .service-mark,
  .service-grid > button > span:first-child, .service-picker-icon,
  .receive-method-grid > button > span:first-child,
  .health-service-grid > button > span:first-child,
  .finance-tool-grid > button > span:first-child,
  .profile-row-icon, .profile-device-icon, .connector-icon,
  .smart-route-main > span, .smart-destination-action > span:first-child,
  .card-serial-help-button > span:first-child,
  .registry-disclosure summary > span:first-child,
  .recovery-method-option > span:first-child, .recipient-destination-icon,
  .otp-delivery-status > span, .energy-mark, .health-hero-mark,
  .next-business-scf-entry > span:first-child, .business-primary-action > span,
  .scf-invoice > i, .invoice-state-hero > span:first-child,
  .scf-status-card > span:first-child,
  #screen-payments .next-payment-methods > button > span:first-child,
  .next-payment-mark, .profile-biometric-mark, .login-password-switch > svg:first-child,
  #screen-business .next-connected-links > button > svg:first-child,
  #account-documents .detail-row > svg:first-child,
  .nova-discovery-payment-icon, .biz-info-icon,
  .transfer-help-list article > span, .destination-sheet-person > span,
  .card-auth-source > span, .scf-role-map > i,
  .deposit-option > span, .delivery-option > span,
  .pos-type-options button > span, .receive-method-guide i,
  .login-signup-icon, .otp-symbol, .biometric-mark, .biometric-offer-mark,
  .attention-icon, .scf-card-mark, .business-scf-mark, .detail-icon-well,
  .biz-month-calendar-tile, .nova-discovery-mark, .nova-discovery-service,
  .demo-mode-setting-icon, .mock-data-menu-mark, .guided-tour-control-mark,
  #screen-receive .finance-receive-pos-label > svg
) {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
html[data-app-theme="nova"] body .phone :is(
  .biz-icon-tile,
  .next-home-tool-grid > button > span:first-child,
  .next-business-destination-grid > button > span:first-child,
  .next-more-group button > span:first-child,
  .next-home-feature-icon, .next-home-line-icon,
  .next-home-activity-list button > span:first-child,
  .account-icon, .management-icon, .round-symbol, .row-symbol, .service-mark,
  .service-grid > button > span:first-child, .service-picker-icon,
  .receive-method-grid > button > span:first-child,
  .health-service-grid > button > span:first-child,
  .finance-tool-grid > button > span:first-child,
  .profile-row-icon, .profile-device-icon, .connector-icon,
  .smart-route-main > span, .smart-destination-action > span:first-child,
  .card-serial-help-button > span:first-child,
  .registry-disclosure summary > span:first-child,
  .recovery-method-option > span:first-child, .recipient-destination-icon,
  .otp-delivery-status > span, .energy-mark, .health-hero-mark,
  .next-business-scf-entry > span:first-child, .business-primary-action > span,
  .scf-invoice > i, .invoice-state-hero > span:first-child,
  .scf-status-card > span:first-child,
  #screen-payments .next-payment-methods > button > span:first-child,
  .next-payment-mark, .profile-biometric-mark, .login-password-switch > svg:first-child,
  #screen-business .next-connected-links > button > svg:first-child,
  #account-documents .detail-row > svg:first-child,
  .nova-discovery-payment-icon, .biz-info-icon,
  .transfer-help-list article > span, .destination-sheet-person > span,
  .card-auth-source > span, .scf-role-map > i,
  .deposit-option > span, .delivery-option > span,
  .pos-type-options button > span, .receive-method-guide i,
  .login-signup-icon, .otp-symbol, .biometric-mark, .biometric-offer-mark,
  .attention-icon, .scf-card-mark, .business-scf-mark, .detail-icon-well,
  .biz-month-calendar-tile, .nova-discovery-mark, .nova-discovery-service,
  .demo-mode-setting-icon, .mock-data-menu-mark, .guided-tour-control-mark,
  #screen-receive .finance-receive-pos-label > svg
)::before { content: none !important; }
html[data-app-theme="nova"] body .phone :is(
  .biz-icon-tile,
  .next-home-tool-grid > button > span:first-child,
  .next-business-destination-grid > button > span:first-child,
  .next-more-group button > span:first-child,
  .next-home-feature-icon, .next-home-line-icon,
  .next-home-activity-list button > span:first-child,
  .account-icon, .management-icon, .round-symbol, .row-symbol, .service-mark,
  .service-grid > button > span:first-child, .service-picker-icon,
  .receive-method-grid > button > span:first-child,
  .health-service-grid > button > span:first-child,
  .finance-tool-grid > button > span:first-child,
  .profile-row-icon, .profile-device-icon, .connector-icon,
  .smart-route-main > span, .smart-destination-action > span:first-child,
  .card-serial-help-button > span:first-child,
  .registry-disclosure summary > span:first-child,
  .recovery-method-option > span:first-child, .recipient-destination-icon,
  .otp-delivery-status > span, .energy-mark, .health-hero-mark,
  .next-business-scf-entry > span:first-child, .business-primary-action > span,
  .scf-invoice > i, .invoice-state-hero > span:first-child,
  .scf-status-card > span:first-child,
  #screen-payments .next-payment-methods > button > span:first-child,
  .next-payment-mark, .profile-biometric-mark, .login-password-switch > svg:first-child,
  #screen-business .next-connected-links > button > svg:first-child,
  #account-documents .detail-row > svg:first-child,
  .nova-discovery-payment-icon, .biz-info-icon,
  .transfer-help-list article > span, .destination-sheet-person > span,
  .card-auth-source > span, .scf-role-map > i,
  .deposit-option > span, .delivery-option > span,
  .pos-type-options button > span, .receive-method-guide i,
  .login-signup-icon, .otp-symbol, .biometric-mark, .biometric-offer-mark,
  .attention-icon, .scf-card-mark, .business-scf-mark, .detail-icon-well,
  .biz-month-calendar-tile, .nova-discovery-mark, .nova-discovery-service,
  .demo-mode-setting-icon, .mock-data-menu-mark, .guided-tour-control-mark,
  #screen-receive .finance-receive-pos-label > svg
) > svg {
  width: var(--nova-icon-size, var(--nova-icon-row)) !important;
  height: var(--nova-icon-size, var(--nova-icon-row)) !important;
  min-width: var(--nova-icon-size, var(--nova-icon-row));
  min-height: var(--nova-icon-size, var(--nova-icon-row));
  flex: none;
  padding: 0;
  filter: none !important;
  stroke-width: var(--biz-icon-stroke) !important;
}
/* Compact contexts keep a 20px glyph; feature actions have a 28px glyph.
 * Font Awesome Regular provides the optical weight: never stroke its filled paths. */
html[data-app-theme="nova"] body .phone :is(
  .nova-discovery-payment-icon, .biz-info-icon, .ec-business-credit-links .biz-icon-tile,
  .otp-delivery-status > span, .card-serial-help-button > span:first-child,
  .biz-month-calendar-tile, .nova-discovery-service-energy, .nova-discovery-service-health,
  .scf-role-map > i
) { --nova-icon-size: var(--nova-icon-inline); }
html[data-app-theme="nova"] body .phone :is(
  .next-home-tool-grid > button > span:first-child,
  .next-business-destination-grid > button > span:first-child,
  .receive-method-grid > button > span:first-child,
  .health-service-grid > button > span:first-child,
  .finance-tool-grid > button > span:first-child,
  .service-grid > button > span:first-child,
  .next-home-feature-icon, .invoice-state-hero > span:first-child,
  .otp-symbol, .biometric-mark, .biometric-offer-mark,
  #screen-payments .next-payment-methods > button > span:first-child
) { --nova-icon-size: var(--nova-icon-action); }
/* Former inverse glyphs must stay readable after their solid tile disappears. */
html[data-app-theme="nova"] body .phone :is(
  .login-signup-icon, .otp-symbol, .biometric-mark, .biometric-offer-mark,
  .attention-icon, .scf-card-mark, .business-scf-mark,
  .destination-sheet-person > span, .transfer-help-list article > span,
  .deposit-option > span, .delivery-option > span,
  .pos-type-options button > span, .receive-method-guide i
) { color: var(--biz-tile-ink, var(--biz-tile-purple)) !important; }
html[data-app-theme="nova"] body .phone .attention-icon.danger { color: var(--biz-tile-red) !important; }
/* Direct SVG slots use padding to match the same 24px visible glyph inside 40px. */
html[data-app-theme="nova"] body .phone :is(
  #screen-business .next-connected-links > button > svg:first-child,
  #account-documents .detail-row > svg:first-child,
  #screen-receive .finance-receive-pos-label > svg,
  .returning-login-step .login-password-switch > svg:first-child
) {
  box-sizing: border-box;
  width: 40px !important;
  height: 40px !important;
  padding: 8px;
  stroke-width: var(--biz-icon-stroke);
}
@media (forced-colors: active) {
  html[data-app-theme="nova"] body .phone :is(
  .biz-icon-tile,
  .next-home-tool-grid > button > span:first-child,
  .next-business-destination-grid > button > span:first-child,
  .next-more-group button > span:first-child,
  .next-home-feature-icon, .next-home-line-icon,
  .next-home-activity-list button > span:first-child,
  .account-icon, .management-icon, .round-symbol, .row-symbol, .service-mark,
  .service-grid > button > span:first-child, .service-picker-icon,
  .receive-method-grid > button > span:first-child,
  .health-service-grid > button > span:first-child,
  .finance-tool-grid > button > span:first-child,
  .profile-row-icon, .profile-device-icon, .connector-icon,
  .smart-route-main > span, .smart-destination-action > span:first-child,
  .card-serial-help-button > span:first-child,
  .registry-disclosure summary > span:first-child,
  .recovery-method-option > span:first-child, .recipient-destination-icon,
  .otp-delivery-status > span, .energy-mark, .health-hero-mark,
  .next-business-scf-entry > span:first-child, .business-primary-action > span,
  .scf-invoice > i, .invoice-state-hero > span:first-child,
  .scf-status-card > span:first-child,
  #screen-payments .next-payment-methods > button > span:first-child,
  .next-payment-mark, .profile-biometric-mark, .login-password-switch > svg:first-child,
  #screen-business .next-connected-links > button > svg:first-child,
  #account-documents .detail-row > svg:first-child,
  .nova-discovery-payment-icon, .biz-info-icon,
  .transfer-help-list article > span, .destination-sheet-person > span,
  .card-auth-source > span, .scf-role-map > i,
  .deposit-option > span, .delivery-option > span,
  .pos-type-options button > span, .receive-method-guide i,
  .login-signup-icon, .otp-symbol, .biometric-mark, .biometric-offer-mark,
  .attention-icon, .scf-card-mark, .business-scf-mark, .detail-icon-well,
  .biz-month-calendar-tile, .nova-discovery-mark, .nova-discovery-service,
  .demo-mode-setting-icon, .mock-data-menu-mark, .guided-tour-control-mark,
  #screen-receive .finance-receive-pos-label > svg
) { color: CanvasText !important; }
}

/* Card locks retain the reversible Lottie motion; shared rules show the
   static Font Awesome fallback only when the animation is unavailable. */

/* Password-login alternative: same frameless 40px slot and 24px glyph as profile rows. */
html[data-app-theme="nova"] body .phone .returning-login-step .login-password-switch {
  column-gap: 12px !important;
  align-items: center;
}
html[data-app-theme="nova"] body .phone .returning-login-step .login-password-switch > svg:first-child {
  box-sizing: border-box;
  width: 40px !important;
  height: 40px !important;
  padding: 8px;
  border-radius: 14px;
  color: var(--biz-tile-purple) !important;
  flex: 0 0 40px !important;
}

/* Leading date actions occupy the same visual slot as other field glyphs.
 * Keep a 44px hit target, extending into the shell inset rather than moving text. */
html[data-app-theme="nova"] body .phone .biz-date-field > .biz-date-open {
  padding: 0 !important;
  margin-inline: calc((var(--nova-date-icon-slot, var(--biz-icon-glyph, 20px)) - 44px) / 2);
  align-self: center;
}
html[data-app-theme="nova"] body .phone .biz-date-field > .biz-date-open > svg {
  width: var(--nova-date-icon-slot, var(--biz-icon-glyph, 20px)) !important;
  height: var(--nova-date-icon-slot, var(--biz-icon-glyph, 20px)) !important;
}

/* Standard .field leading glyphs have a 21px slot in the modern foundation. */
html[data-app-theme="nova"] body .phone .field > .biz-date-field {
  --nova-date-icon-slot: 21px;
}

/* Calendar controls share Nova's purple glass language, including day selection. */
html[data-app-theme="nova"] body .phone .biz-month-picker {
  --nova-calendar-ink: var(--nova-palette-primary, #6550cc);
  --nova-calendar-wash: rgb(var(--nova-palette-primary-rgb, 101 80 204) / 7%);
}
html[data-app-theme="nova"][data-color-scheme="dark"] body .phone .biz-month-picker {
  --nova-calendar-ink: var(--nova-palette-primary-focus-dark, #c1afff);
  --nova-calendar-wash: rgb(var(--nova-palette-primary-rgb, 101 80 204) / 16%);
}
html[data-app-theme="nova"] body .phone .biz-month-picker .biz-month-year-nav {
  padding: 6px;
  border-radius: 24px;
  background: var(--nova-calendar-wash);
}
html[data-app-theme="nova"] body .phone .biz-month-picker :is(.biz-month-year-step, .biz-month-year-label select) {
  border-radius: 18px;
  color: var(--nova-calendar-ink);
  background-color: transparent;
}
html[data-app-theme="nova"] body .phone .biz-month-picker .biz-month-option {
  border-radius: 18px;
  background: transparent;
  color: var(--biz-ink);
}
html[data-app-theme="nova"] body .phone .biz-month-picker .biz-month-option[aria-pressed="true"] {
  color: #fff;
  background: var(--nova-primary-glass-coat), var(--nova-primary-glass-fill);
  box-shadow: inset 0 1px 1px var(--nova-primary-glass-edge), 0 5px 12px rgb(var(--nova-palette-primary-rgb, 101 80 204) / 20%);
  -webkit-backdrop-filter: blur(14px) saturate(155%);
  backdrop-filter: blur(14px) saturate(155%);
}
html[data-app-theme="nova"] body .phone .biz-month-picker :is(.biz-month-current, .biz-date-weekdays) {
  color: var(--nova-calendar-ink);
}
html[data-app-theme="nova"] body .phone .biz-month-picker :is(button, select):focus-visible {
  outline: 2px solid var(--nova-calendar-ink);
  outline-offset: 2px;
}
@media (hover: hover) {
  html[data-app-theme="nova"] body .phone .biz-month-picker .biz-month-option:not(:disabled):not([aria-pressed="true"]):hover {
    background: rgb(var(--nova-palette-primary-rgb, 101 80 204) / 14%);
  }
}
@media (prefers-reduced-transparency: reduce) {
  html[data-app-theme="nova"] body .phone .biz-month-picker .biz-month-option[aria-pressed="true"] {
    background: var(--nova-palette-primary, #6550cc);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
html[data-app-theme="nova"] body .phone .biz-month-picker :is(.biz-date-days, .biz-date-weekdays) {
  column-gap: 4px;
}

/* Keep the calendar open and light: only the current selection has a face. */
html[data-app-theme="nova"] body .phone .biz-month-picker .biz-month-option {
  border-radius: 999px;
}

/* Toast glyphs share the frameless treatment, also outside .phone. */
html[data-app-theme="nova"] body #toast.typed-toast[data-toast-type="success"] {
  --toast-accent: var(--biz-success, #078756);
}
html[data-app-theme="nova"][data-color-scheme="dark"] body #toast.typed-toast[data-toast-type="success"] {
  --toast-accent: var(--appearance-green, #70dbb1);
}
html[data-app-theme="nova"] body #toast.typed-toast .toast-icon,
html[data-app-theme="nova"][data-color-scheme="dark"] body #toast.typed-toast .toast-icon {
  border: 0;
  border-radius: 0;
  color: var(--toast-accent);
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
html[data-app-theme="nova"] body #toast.typed-toast .toast-icon svg {
  width: 28px;
  height: 28px;
  filter: none;
}
@media (forced-colors: active) {
  html[data-app-theme="nova"] body #toast.typed-toast .toast-icon { color: CanvasText; }
}

/* Native-feeling selection: opt in only for editable or reusable content. */
html[data-app-theme="nova"] body {
  -webkit-user-select: none;
  user-select: none;
}
html[data-app-theme="nova"] :is(
  input, textarea, [contenteditable=""], [contenteditable="true"],
  [contenteditable="plaintext-only"], .biz-selectable-text,
  .biz-identifier-value, #identifiers-list strong,
  #account-detail-number, #statement-account-number,
  #card-detail-number, #card-detail-cvv2, #card-detail-expiry,
  #card-detail-account-tail, #destination-result-number,
  .opened-account-card [dir="ltr"], #postal-tracking-code strong,
  .mock-credentials strong, .detail-list dd, .biz-fact-list dd,
  .receive-facts dd, #receipt-amount, .contract-summary dl,
  #notification-detail-description, #notification-detail-context-copy
) {
  -webkit-user-select: text;
  user-select: text;
  -webkit-touch-callout: default;
}
/* Controls and masked data stay nonselectable inside copyable content. */
html[data-app-theme="nova"] :is(button, [role="button"], .hide-balances .sensitive),
html[data-app-theme="nova"] :is(button, [role="button"], .hide-balances .sensitive) * {
  -webkit-user-select: none;
  user-select: none;
}

/* Shared empty states: notification reference, Nova only. */
html[data-app-theme="nova"] body .phone :is(.scf-case-empty,.empty-state,.notification-empty,.cards-empty-state,.recipient-empty,.biz-statement-empty,.ec-empty,.bm-empty,.trade-empty,.cashbook-empty,.nv-empty) {
  box-sizing: border-box; width: 100%; min-width: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px; padding: 32px 20px !important;
  border: 0 !important; border-radius: var(--biz-radius-card, 32px);
  background: var(--biz-surface); box-shadow: none;
  text-align: center; color: var(--biz-muted); overflow-wrap: anywhere;
  font: 400 14px/24px var(--biz-font-regular); letter-spacing: 0;
}
html[data-app-theme="nova"] body .phone :is(.scf-case-empty,.empty-state,.notification-empty,.cards-empty-state,.recipient-empty,.biz-statement-empty,.ec-empty,.bm-empty,.trade-empty,.cashbook-empty,.nv-empty)[hidden] { display: none !important; }
html[data-app-theme="nova"] body .phone :is(.scf-case-empty,.empty-state,.notification-empty,.cards-empty-state,.recipient-empty,.biz-statement-empty,.ec-empty,.bm-empty,.trade-empty,.cashbook-empty,.nv-empty) > :is(h2,h3,strong,p,small,span,div) { margin: 0; max-width: 100%; }
html[data-app-theme="nova"] body .phone :is(.scf-case-empty,.empty-state,.notification-empty,.cards-empty-state,.recipient-empty,.biz-statement-empty,.ec-empty,.bm-empty,.trade-empty,.cashbook-empty,.nv-empty) :is(h2,h3,strong) {
  color: var(--biz-ink); font: 600 16px/26px var(--biz-font-semibold); letter-spacing: 0;
}
html[data-app-theme="nova"] body .phone :is(.scf-case-empty,.empty-state,.notification-empty,.cards-empty-state,.recipient-empty,.biz-statement-empty,.ec-empty,.bm-empty,.trade-empty,.cashbook-empty,.nv-empty) :is(p,small),
html[data-app-theme="nova"] body .phone :is(.scf-case-empty,.empty-state,.notification-empty,.cards-empty-state,.recipient-empty,.biz-statement-empty,.ec-empty,.bm-empty,.trade-empty,.cashbook-empty,.nv-empty) > span:not(.biz-icon-tile) {
  color: var(--biz-muted); font: 400 14px/24px var(--biz-font-regular); letter-spacing: 0;
}
html[data-app-theme="nova"] body .phone :is(.scf-case-empty,.empty-state,.notification-empty,.cards-empty-state,.recipient-empty,.biz-statement-empty,.ec-empty,.bm-empty,.trade-empty,.cashbook-empty,.nv-empty) > .biz-icon-tile {
  display: grid !important; place-items: center; flex: 0 0 auto;
  width: 48px; height: 48px; min-width: 48px; min-height: 48px;
  padding: 0; margin: 0 0 8px; border: 0; border-radius: 16px;
}
html[data-app-theme="nova"] body .phone :is(.scf-case-empty,.empty-state,.notification-empty,.cards-empty-state,.recipient-empty,.biz-statement-empty,.ec-empty,.bm-empty,.trade-empty,.cashbook-empty,.nv-empty) > .biz-icon-tile { --nova-icon-size: var(--nova-icon-empty); }
html[data-app-theme="nova"] body .phone :is(.scf-case-empty,.empty-state,.notification-empty,.cards-empty-state,.recipient-empty,.biz-statement-empty,.ec-empty,.bm-empty,.trade-empty,.cashbook-empty,.nv-empty) > .biz-icon-tile svg { width: var(--nova-icon-empty); height: var(--nova-icon-empty); margin: 0; }
html[data-app-theme="nova"] body .phone :is(.scf-case-empty,.empty-state,.notification-empty,.cards-empty-state,.recipient-empty,.biz-statement-empty,.ec-empty,.bm-empty,.trade-empty,.cashbook-empty,.nv-empty) > strong.nova-empty-addition { display: block !important; }
html[data-app-theme="nova"] body .phone :is(.scf-case-empty,.empty-state,.notification-empty,.cards-empty-state,.recipient-empty,.biz-statement-empty,.ec-empty,.bm-empty,.trade-empty,.cashbook-empty,.nv-empty) > :is(button,a) { margin-top: 12px; max-width: 100%; }
html[data-app-theme="nova"] body .phone .biz-statement-empty > div { display: grid; gap: 8px; }
html[data-app-theme="nova"] body .phone .biz-statement-empty > .biz-statement-empty-art,
html[data-app-theme="nova"] body .phone .cards-empty-state > span:not(.biz-icon-tile),
html[data-app-theme="nova"] body .phone .trade-empty > svg { display: none; }
/* These messages already belong to a card; avoid a second nested surface. */
html[data-app-theme="nova"] body .phone :is(.nova-finance-viz .nv-empty, .finance-forecast-events .cashbook-empty) { background: transparent; }
@media (max-width: 390px) {
  html[data-app-theme="nova"] body .phone :is(.scf-case-empty,.empty-state,.notification-empty,.cards-empty-state,.recipient-empty,.biz-statement-empty,.ec-empty,.bm-empty,.trade-empty,.cashbook-empty,.nv-empty) { padding-inline: 16px !important; }
}

/* Coordinate the lock overlay with the card's 360ms pose return. */
html[data-app-theme="nova"] body .phone #card-hero[data-lock-transition="preparing"] > .card-lock-mask {
  opacity: 0; visibility: hidden; transition: none;
}
html[data-app-theme="nova"] body .phone #card-hero[data-lock-transition="returning"] > .card-lock-mask {
  opacity: 0; visibility: visible; transition: opacity 360ms ease;
}
@media (prefers-reduced-motion: reduce) {
  html[data-app-theme="nova"] body .phone #card-hero > .card-lock-mask { transition: none; }
}

/* Inline icons added to Nova buttons retain the shared 8px button gap. */
html[data-app-theme="nova"] body .phone .nova-button-icon {
  display: block !important;
  width: var(--nova-icon-inline);
  height: var(--nova-icon-inline);
  flex: 0 0 var(--nova-icon-inline);
}

/* Receipt format choices reuse shared list padding and text-aligned dividers. */
html[data-app-theme="nova"] .phone #transfer-share-sheet .biz-action-row {
  grid-template-columns: max-content minmax(0, 1fr) 16px;
  gap: var(--biz-icon-text-gap, 12px);
  padding: var(--biz-space-4) var(--biz-card-padding);
  --biz-row-divider-start: calc(var(--biz-card-padding) + 40px + var(--biz-icon-text-gap, 12px));
}
html[data-app-theme="nova"] .phone #transfer-share-sheet .biz-icon-tile {
  width: 40px;
  height: 40px;
}
html[data-app-theme="nova"] .phone #transfer-share-sheet .biz-action-copy > strong {
  font-family: var(--biz-font-semibold) !important;
  font-weight: 600;
}
html[data-app-theme="nova"] .phone #transfer-share-sheet .biz-action-row:disabled {
  opacity: .55;
  cursor: wait;
}

/* Shared inline contact checkbox beside the receipt/transaction party name. */
html[data-app-theme="nova"] body .phone .receipt-recipient-identity {
  grid-column: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 0 2px;
  min-width: 0;
}
html[data-app-theme="nova"] body .phone .receipt-recipient-identity > #receipt-name { min-width: 0; overflow-wrap: anywhere; }
html[data-app-theme="nova"] body .phone #receipt-contact-action:not([hidden]) { display: inline-flex; flex: 0 0 44px; margin: 0; }
html[data-app-theme="nova"] body .phone #receipt-contact-saved:not([hidden]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--biz-positive-amount);
}
html[data-app-theme="nova"] body .phone #receipt-contact-saved svg { width: var(--nova-icon-row); height: var(--nova-icon-row); }
html[data-app-theme="nova"] body .phone .biz-contact-save-toggle:not([hidden]) {
  display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px;
  width:44px; height:44px; margin:0; padding:0; cursor:pointer;
}
html[data-app-theme="nova"] body .phone .biz-contact-save-toggle:has(input:disabled) { cursor:default; }
html[data-app-theme="nova"] body .phone .biz-contact-progress-copy { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
html[data-app-theme="nova"] body .phone .biz-contact-checkbox { position:relative; display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; }
html[data-app-theme="nova"] body .phone .biz-contact-checkbox > input[type="checkbox"] {
  appearance:none; -webkit-appearance:none; position:absolute; inset:0; width:100%; height:100%; min-height:44px;
  padding:0; margin:0; opacity:0; cursor:pointer; z-index:1;
}
html[data-app-theme="nova"] body .phone .biz-contact-checkbox-mark {
  display:grid; place-items:center; box-sizing:border-box; width:24px; height:24px; border-radius:8px;
  border:1.5px solid var(--biz-muted); background:var(--biz-surface); color:var(--biz-on-brand,#fff);
  transition:background-color 160ms ease,border-color 160ms ease; pointer-events:none;
}
html[data-app-theme="nova"] body .phone .biz-contact-checkbox-mark > svg { width:16px; height:16px; opacity:0; transform:scale(.7); transition:opacity 160ms ease,transform 160ms ease; }
html[data-app-theme="nova"] body .phone .biz-contact-checkbox > input:checked + .biz-contact-checkbox-mark { background:var(--biz-brand); border-color:var(--biz-brand); }
html[data-app-theme="nova"] body .phone .biz-contact-checkbox > input:checked + .biz-contact-checkbox-mark > svg { opacity:1; transform:scale(1); }
html[data-app-theme="nova"] body .phone .biz-contact-checkbox > input:disabled + .biz-contact-checkbox-mark { opacity:.5; }
html[data-app-theme="nova"] body .phone .biz-contact-save-feedback:not([hidden]) { display:block; grid-column:1/-1; margin-top:4px; color:var(--biz-danger); font:400 12px/20px var(--biz-font-regular); }
html[data-app-theme="nova"] body .phone .biz-contact-checkbox > input:focus-visible + .biz-contact-checkbox-mark,
html[data-app-theme="nova"] body .phone #receipt-contact-saved:focus-visible { outline:2px solid var(--biz-focus); outline-offset:4px; }
html[data-app-theme="nova"] body .phone .biz-contact-spinner { position:absolute; width:20px; height:20px; color:var(--biz-focus); opacity:0; pointer-events:none; }
html[data-app-theme="nova"] body .phone .is-contact-busy .biz-contact-checkbox-mark { opacity:0; }
html[data-app-theme="nova"] body .phone .is-contact-busy .biz-contact-spinner { opacity:1; animation:biz-contact-spin 800ms linear infinite; }
html[data-app-theme="nova"] body .phone .is-contact-busy input { cursor:wait; }
@keyframes biz-contact-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) {
 html[data-app-theme="nova"] body .phone .biz-contact-checkbox-mark,
 html[data-app-theme="nova"] body .phone .biz-contact-checkbox-mark > svg { transition:none; }
 html[data-app-theme="nova"] body .phone .is-contact-busy .biz-contact-spinner { animation:none; }
}
/* Recipient management uses the shared Nova page, field and card families. */
html[data-app-theme="nova"] body .phone .primary-button.biz-primary-danger {
  --nova-palette-primary:var(--nova-palette-danger,#bf415c);
  --nova-primary-glass-fill:var(--nova-palette-danger,#bf415c);
}
html[data-app-theme="nova"] .recipient-directory { color:var(--ui-ink); }
html[data-app-theme="nova"] .recipient-directory :is(button,input,select):not(.contact-filters > button) { font:inherit; }
html[data-app-theme="nova"] body .phone #screen-recipients [hidden] { display:none !important; }
html[data-app-theme="nova"] .recipient-directory .biz-sr-only { position:absolute; width:1px; height:1px; padding:0; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
html[data-app-theme="nova"] .recipient-directory :is(h1,h2,h3,p) { overflow-wrap:anywhere; }
html[data-app-theme="nova"] .recipient-directory .biz-directory-intro { margin-top:24px; }
html[data-app-theme="nova"] .recipient-directory .biz-field { display:block; margin:0; }
html[data-app-theme="nova"] .recipient-directory .biz-field-control { display:flex; }
html[data-app-theme="nova"] .recipient-directory .recipient-search-control > svg { width:20px; height:20px; flex:none; color:var(--ui-muted); }
html[data-app-theme="nova"] .recipient-directory .recipient-search-control input { flex:1; }
html[data-app-theme="nova"] .recipient-directory input[type="search"]::-webkit-search-cancel-button { -webkit-appearance:none; }
html[data-app-theme="nova"] .recipient-directory :is(.recipient-list-heading,.recipient-section-heading) { margin:48px 0 16px; padding-inline:var(--biz-section-heading-inset,20px); }
html[data-app-theme="nova"] .recipient-directory .recipient-list-heading { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
html[data-app-theme="nova"] .recipient-directory :is(.recipient-list-heading,.recipient-section-heading) :is(h2,p) { margin:0; }
html[data-app-theme="nova"] .recipient-directory .recipient-section-heading p { margin-top:4px; }
html[data-app-theme="nova"] .recipient-directory :is(#recipients-count,.recipient-section-heading p,.recipient-profile p,.recipient-field-help,.recipient-form-note,.recipient-optional) { color:var(--ui-muted); font-size:12px; line-height:20px; font-weight:400; }
html[data-app-theme="nova"] .recipient-directory-row { display:grid; grid-template-columns:max-content minmax(0,1fr) 16px; align-items:center; gap:12px; padding:20px var(--biz-card-padding); width:100%; min-height:88px; border:0; background:transparent; color:var(--ui-ink); text-align:start; position:relative; }
html[data-app-theme="nova"] .recipient-directory-row + .recipient-directory-row::before { content:""; position:absolute; height:1px; background:var(--biz-line); top:0; inset-inline-start:calc(var(--biz-card-padding) + 60px); inset-inline-end:var(--biz-card-padding); }
html[data-app-theme="nova"] .recipient-directory-row > svg { width:16px; height:16px; color:var(--ui-muted); }
html[data-app-theme="nova"] .recipient-directory .contact-avatar { display:grid; place-items:center; width:48px; height:48px; flex:none; }
html[data-app-theme="nova"] .recipient-directory .biz-list-copy { min-width:0; overflow-wrap:anywhere; }
html[data-app-theme="nova"] .recipient-directory .biz-list-title { font-size:14px; line-height:24px; }
html[data-app-theme="nova"] .recipient-directory .biz-list-description { color:var(--ui-muted); font-size:12px; line-height:24px; }
html[data-app-theme="nova"] .recipient-directory-row:focus-visible { outline:2px solid var(--ui-focus); outline-offset:-4px; border-radius:24px; }
html[data-app-theme="nova"] .recipient-directory .recipient-profile { display:grid; justify-items:center; text-align:center; margin-top:24px; }
html[data-app-theme="nova"] .recipient-directory .recipient-profile h1 { font-family:var(--biz-font-semibold); font-weight:600; font-size:24px; line-height:32px; margin:16px 0 4px; }
html[data-app-theme="nova"] .recipient-directory .recipient-profile p { margin:0; }
html[data-app-theme="nova"] .recipient-directory .recipient-destination-detail { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:var(--biz-card-padding); }
html[data-app-theme="nova"] .recipient-directory .recipient-destination-detail + .recipient-destination-detail { border-top:1px solid var(--biz-line); }
html[data-app-theme="nova"] .recipient-directory .recipient-destination-heading { flex:1 1 72px; min-width:0; }
html[data-app-theme="nova"] .recipient-directory .recipient-destination-detail .recipient-number-copy { display:grid; justify-items:end; gap:4px; flex:0 1 auto; max-width:100%; min-height:44px; margin:0; padding:0; border:0; border-radius:8px; background:transparent; box-shadow:none; color:var(--ui-ink); font:400 16px/24px var(--biz-font-regular); cursor:pointer; margin-inline-start:auto; }
html[data-app-theme="nova"] .recipient-directory .recipient-full-number { display:block; min-width:0; margin:0; font:inherit; line-height:28px; direction:ltr; text-align:left; white-space:nowrap; }
html[data-app-theme="nova"] .recipient-directory [data-destination-type="iban"] .recipient-full-number { font-size:14px; }
html[data-app-theme="nova"] .recipient-directory .recipient-copy-hint { display:flex; align-items:center; gap:6px; color:var(--ui-muted); font:400 12px/20px var(--biz-font-regular); }
html[data-app-theme="nova"] .recipient-directory .recipient-copy-hint svg { width:16px; height:16px; }
html[data-app-theme="nova"] .recipient-directory .recipient-number-copy:focus-visible { outline:2px solid var(--ui-focus); outline-offset:4px; }
html[data-app-theme="nova"] .recipient-directory #recipient-delete { width:100%; margin-top:32px; }
html[data-app-theme="nova"] .recipient-directory .recipient-danger { color:var(--ui-error) !important; }
html[data-app-theme="nova"] .recipient-directory #recipient-form { margin-top:24px; }
html[data-app-theme="nova"] .recipient-directory .recipient-name-control { margin:0 !important; }
html[data-app-theme="nova"] .recipient-directory .recipient-name-control input { flex:1; min-width:0; }
html[data-app-theme="nova"] .recipient-directory .recipient-picker-list { max-height:min(45dvh,360px); overflow-y:auto; overscroll-behavior:contain; margin-top:12px; }
html[data-app-theme="nova"] #recipient-contact-picker [hidden] { display:none !important; }
html[data-app-theme="nova"] #recipient-contact-picker .recipient-directory-row { padding-inline:0; }
html[data-app-theme="nova"] #recipient-contact-picker .recipient-directory-row + .recipient-directory-row::before { inset-inline-start:60px; inset-inline-end:0; }
html[data-app-theme="nova"] .recipient-directory .recipient-picker-empty { margin-top:16px; text-align:center; }
html[data-app-theme="nova"] .recipient-directory .recipient-picker-empty p { margin:0 0 16px; color:var(--ui-muted); font-size:14px; line-height:24px; }
html[data-app-theme="nova"] .recipient-directory .recipient-picker-empty button { width:100%; }
html[data-app-theme="nova"] .recipient-directory #recipient-detail-add { width:100%; margin-top:24px; }
html[data-app-theme="nova"] .recipient-directory #recipient-form > .biz-field + .biz-field { margin-top:16px; }
html[data-app-theme="nova"] .recipient-directory .recipient-destination-field { min-width:0; margin:0 0 16px; }
html[data-app-theme="nova"] .recipient-directory .recipient-destination-field > header { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; gap:12px; }
html[data-app-theme="nova"] .recipient-directory .recipient-destination-field h3 { margin:0; }
html[data-app-theme="nova"] .recipient-directory .recipient-destination-field > .biz-field + .biz-field { margin-top:16px; }
html[data-app-theme="nova"] .recipient-directory :is(.recipient-field-help,.recipient-field-error) { margin:8px 0 0; padding-inline:var(--biz-field-copy-inset,20px); font-size:12px; line-height:20px; }
html[data-app-theme="nova"] .recipient-directory .recipient-field-error { color:var(--ui-error); }
html[data-app-theme="nova"] .recipient-directory .recipient-form-note { padding-inline:var(--biz-field-copy-inset,20px); margin:16px 0 0; }
html[data-app-theme="nova"] .recipient-directory #recipient-add-destination { width:100%; }
html[data-app-theme="nova"] .recipient-directory .recipient-form-actions { display:grid; gap:12px; margin-top:24px; padding-bottom:20px; }
html[data-app-theme="nova"] .recipient-directory :is(.recipient-form-actions,.recipient-confirm-actions) button { margin:0; width:100%; }
html[data-app-theme="nova"] .recipient-directory .recipient-empty { text-align:center; padding-block:32px !important; }
html[data-app-theme="nova"] .recipient-directory .recipient-empty .biz-icon-tile { display:grid; place-items:center; margin:0 auto 16px; width:48px; height:48px; }
html[data-app-theme="nova"] .recipient-directory .recipient-empty svg { width:32px; height:32px; }
html[data-app-theme="nova"] .recipient-directory .recipient-empty h2 { margin:0; }
html[data-app-theme="nova"] .recipient-directory .recipient-empty p { margin:8px 0 24px; color:var(--ui-muted); font-size:14px; line-height:24px; }
html[data-app-theme="nova"] .recipient-directory .recipient-empty button { width:100%; }
html[data-app-theme="nova"] .recipient-directory .recipient-confirm { box-sizing:border-box; position:fixed; inset:0; width:calc(100% - 32px); max-width:380px; max-height:calc(100dvh - 48px); padding:24px; margin:auto; border:0; border-radius:32px; color:var(--ui-ink); background:var(--ui-surface); box-shadow:var(--biz-shadow-card); overflow:auto; }
html[data-app-theme="nova"] .recipient-directory .recipient-confirm::backdrop { background:rgb(15 12 24 / 48%); }
html[data-app-theme="nova"] .recipient-directory .recipient-confirm h2 { margin:0; }
html[data-app-theme="nova"] .recipient-directory .recipient-confirm p { font-size:14px; line-height:24px; color:var(--ui-muted); margin:12px 0 24px; }
html[data-app-theme="nova"] .recipient-directory .recipient-confirm .recipient-field-error { color:var(--ui-error); }
html[data-app-theme="nova"] .recipient-directory .recipient-confirm-actions { display:grid; gap:12px; }
html[data-app-theme="nova"] .recipient-directory :is(h1,h2)[tabindex="-1"]:focus { outline:none; }
@media (forced-colors:active) {
  html[data-app-theme="nova"] .recipient-directory .recipient-confirm { border:1px solid CanvasText; }
  html[data-app-theme="nova"] .recipient-directory-row + .recipient-directory-row::before { background:CanvasText; }
}

/* Statement detail: reuse Nova surfaces, typography, controls and frameless icons. */
html[data-app-theme="nova"] body .phone .transaction-detail { color:var(--biz-ink); }
html[data-app-theme="nova"] body .phone .transaction-detail [hidden] { display:none !important; }
html[data-app-theme="nova"] .transaction-detail :is(h1,h2,p,dl,dd) { margin:0; }
html[data-app-theme="nova"] .transaction-detail :is(h1,h2,p,strong,small,dd) { overflow-wrap:anywhere; }
html[data-app-theme="nova"] .transaction-detail .transaction-header-label { font:400 14px/24px var(--biz-font-regular) !important; color:var(--biz-muted); }
html[data-app-theme="nova"] .transaction-detail #transaction-header-help { width:48px; min-width:48px; height:48px; padding:0; }
html[data-app-theme="nova"] body .phone #screen-transaction-detail > .focused-header { margin-bottom:8px; }
html[data-app-theme="nova"] .transaction-hero { display:flex; flex-direction:column; align-items:center; gap:0; padding:0 0 16px; text-align:center; }
html[data-app-theme="nova"] .transaction-hero h1 { font:600 20px/28px var(--biz-font-semibold) !important; max-width:100%; }
html[data-app-theme="nova"] .transaction-hero .transaction-amount { margin:8px 0 0; font:600 var(--transaction-amount-size,32px)/40px var(--biz-font-semibold); max-width:100%; }
html[data-app-theme="nova"] .transaction-hero .transaction-amount .biz-money-unit { font-size:12px; line-height:24px !important; }
html[data-app-theme="nova"] .transaction-detail .transaction-incoming { color:var(--biz-positive-amount); }
html[data-app-theme="nova"] .transaction-meta { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:4px 12px; margin-top:12px; }
html[data-app-theme="nova"] .transaction-detail .transaction-status { display:inline-flex; align-items:center; gap:6px; padding:2px 8px; border-radius:999px; color:var(--biz-success); background:var(--biz-success-soft); font:400 12px/24px var(--biz-font-regular); }
html[data-app-theme="nova"] .transaction-detail .transaction-status svg { width:20px; height:20px; flex:none; }
html[data-app-theme="nova"] .transaction-detail [data-tone="warning"] { color:var(--biz-warning); background:var(--biz-warning-soft); }
html[data-app-theme="nova"] .transaction-detail [data-tone="danger"] { color:var(--biz-danger); background:var(--biz-danger-soft); }
html[data-app-theme="nova"] .transaction-detail [data-tone="info"] { color:var(--biz-info); background:var(--biz-info-soft); }
html[data-app-theme="nova"] .transaction-detail [data-tone="neutral"] { color:var(--biz-muted); background:var(--biz-surface-soft); }
html[data-app-theme="nova"] .transaction-detail .transaction-date { font:400 12px/24px var(--biz-font-regular); color:var(--biz-muted); }
html[data-app-theme="nova"] .transaction-detail .transaction-notice { margin:0 0 16px; }
html[data-app-theme="nova"] .transaction-detail .transaction-notice strong { font:600 14px/24px var(--biz-font-semibold); }
html[data-app-theme="nova"] .transaction-detail .transaction-notice p { font:400 12px/22px var(--biz-font-regular); color:var(--biz-ink); margin-top:4px; }
html[data-app-theme="nova"] .transaction-detail .transaction-actions { display:flex; align-items:stretch; gap:12px; margin:0; }
html[data-app-theme="nova"] body .phone .transaction-actions > button { flex:1; width:auto; min-width:0; min-height:56px; height:auto; margin:0; padding:12px; gap:8px; font:600 14px/24px var(--biz-font-semibold); }
html[data-app-theme="nova"] .transaction-actions svg { width:20px; height:20px; flex:none; }
html[data-app-theme="nova"] .transaction-detail .biz-card-section { margin-block:16px 0; }
html[data-app-theme="nova"] .transaction-detail .transaction-party { padding:var(--biz-card-padding); }
html[data-app-theme="nova"] .transaction-detail .transaction-party-heading { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:12px; align-items:start; }
html[data-app-theme="nova"] .transaction-detail .contact-avatar { width:48px; height:48px; flex:none; }
html[data-app-theme="nova"] .transaction-detail .transaction-party-heading .biz-list-copy { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; justify-items:start; justify-content:stretch; text-align:start; gap:4px; min-width:0; }
html[data-app-theme="nova"] .transaction-detail .transaction-party-heading strong { font:600 16px/26px var(--biz-font-semibold); }
html[data-app-theme="nova"] .transaction-detail .transaction-party-heading small { color:var(--biz-muted); font:400 12px/20px var(--biz-font-regular); }
html[data-app-theme="nova"] body .phone .biz-contact-save-action { display:inline-flex; align-items:center; justify-content:center; width:44px; min-width:44px; height:44px; min-height:44px; margin:0; padding:0; border:0; border-radius:50%; background:transparent; box-shadow:none; color:var(--biz-info); cursor:pointer; }
html[data-app-theme="nova"] body .phone .biz-contact-save-action[data-saved="true"] { color:var(--biz-positive-amount); cursor:default; }
html[data-app-theme="nova"] body .phone .biz-contact-save-action svg { width:24px; height:24px; }
html[data-app-theme="nova"] .transaction-detail .transaction-party-number { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; gap:8px; margin-top:12px; }
html[data-app-theme="nova"] .transaction-detail .transaction-party-number .transaction-fact { grid-template-columns:minmax(0,1fr); gap:0; padding:0; min-height:44px; }
html[data-app-theme="nova"] .transaction-detail .transaction-party-number dt { line-height:20px; }
html[data-app-theme="nova"] .transaction-detail .transaction-party-number dd { justify-content:flex-start; text-align:start; }
html[data-app-theme="nova"] .transaction-detail .transaction-missing { color:var(--biz-muted); font:400 12px/22px var(--biz-font-regular); margin-top:12px; }
html[data-app-theme="nova"] .transaction-detail .transaction-facts { padding:var(--biz-card-padding); }
html[data-app-theme="nova"] .transaction-detail .transaction-facts h2 { font:600 16px/26px var(--biz-font-semibold); margin:0 !important; }
html[data-app-theme="nova"] .transaction-fact { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.55fr); align-items:center; gap:12px; padding:10px 0; min-height:48px; }
html[data-app-theme="nova"] .transaction-fact + .transaction-fact { border-top:1px solid var(--biz-line); }
html[data-app-theme="nova"] .transaction-fact:has(.transaction-copy) { padding-block:4px; min-height:52px; }
html[data-app-theme="nova"] .transaction-fact:last-child { padding-bottom:0; }
html[data-app-theme="nova"] .transaction-fact dt { color:var(--biz-muted); font:400 12px/24px var(--biz-font-regular); }
html[data-app-theme="nova"] .transaction-fact dd { display:flex; justify-content:flex-end; align-items:center; gap:8px; min-width:0; margin:0; text-align:end; color:var(--biz-ink); font:400 14px/24px var(--biz-font-regular); }
html[data-app-theme="nova"] .transaction-fact dd > span { min-width:0; overflow-wrap:anywhere; }
/* Reserve the same copy column for every value in a group that has copy actions. */
html[data-app-theme="nova"] .transaction-facts dl:has(.transaction-copy) .transaction-fact dd { display:grid; grid-template-columns:minmax(0,1fr) 44px; justify-content:stretch; text-align:left; }
html[data-app-theme="nova"] .transaction-facts dl:has(.transaction-copy) .transaction-fact dd > .biz-selectable-text { grid-column:1; }
html[data-app-theme="nova"] .transaction-facts .transaction-copy { grid-column:2; }
html[data-app-theme="nova"] .transaction-value-stack { display:grid; gap:0; }
html[data-app-theme="nova"] body .phone .transaction-fact .transaction-value-stack > span { font:400 14px/24px var(--biz-font-regular) !important; }
html[data-app-theme="nova"] .transaction-value-stack .transaction-secondary { color:var(--biz-muted); text-align:left; }
html[data-app-theme="nova"] body .phone .transaction-copy { display:inline-flex; align-items:center; justify-content:center; width:44px; min-width:44px; height:44px; min-height:44px; padding:0; margin:0; border:0; background:transparent; color:var(--biz-info); border-radius:50%; }
html[data-app-theme="nova"] .transaction-copy svg { width:20px; height:20px; }
html[data-app-theme="nova"] .transaction-detail .transaction-tools { --biz-divider-inset:var(--biz-card-padding); }
html[data-app-theme="nova"] .transaction-tools .biz-action-row { padding:12px var(--biz-card-padding); display:grid; grid-template-columns:max-content minmax(0,1fr) 16px; gap:12px; align-items:center; text-align:start; width:100%; min-height:56px; }
html[data-app-theme="nova"] body .phone .transaction-tools .biz-icon-tile { width:24px; height:24px; min-width:24px; min-height:24px; }
html[data-app-theme="nova"] body .phone .transaction-tools .biz-action-row > svg { width:16px; height:16px; color:var(--biz-muted); }
html[data-app-theme="nova"] .transaction-tools small { white-space:pre-wrap; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
html[data-app-theme="nova"] .transaction-detail button:focus-visible,
html[data-app-theme="nova"] [data-transaction-key]:focus-visible { outline:2px solid var(--biz-focus); outline-offset:3px; }
html[data-app-theme="nova"] .transaction-detail h1:focus { outline:none; }
html[data-app-theme="nova"] [data-transaction-key] { cursor:pointer; }
html[data-app-theme="nova"] [data-transaction-key]:active { opacity:.75; }
html[data-app-theme="nova"] :is(#transaction-note-sheet,#transaction-help-sheet) :is(p,small) { color:var(--biz-muted); font:400 14px/24px var(--biz-font-regular); overflow-wrap:anywhere; }
html[data-app-theme="nova"] #transaction-note-input { width:100%; min-height:128px; resize:vertical; font:400 16px/26px var(--biz-font-regular); }
html[data-app-theme="nova"] #transaction-note-error { color:var(--biz-danger); }
html[data-app-theme="nova"] #transaction-note-count { font-size:12px; }
html[data-app-theme="nova"] #transaction-help-content dl { margin:16px 0; padding:16px; background:var(--biz-surface); border-radius:var(--biz-radius-card); }
html[data-app-theme="nova"] #transaction-help-copy { gap:8px; }
html[data-app-theme="nova"] #transaction-help-copy svg { width:20px; height:20px; }
@media (max-width:360px) {
  html[data-app-theme="nova"] .transaction-detail .transaction-actions { gap:8px; }
  html[data-app-theme="nova"] body .phone .transaction-actions > button { padding-inline:8px; }
  html[data-app-theme="nova"] .transaction-fact { gap:8px; }
}
@media (forced-colors:active) {
  html[data-app-theme="nova"] .transaction-detail .transaction-status { border:1px solid CanvasText; }
}

html[data-app-theme="nova"] .transaction-party-name { display:flex; align-items:flex-start; gap:8px; min-width:0; max-width:100%; }
html[data-app-theme="nova"] .transaction-party-name strong { min-width:0; }

html[data-app-theme="nova"] .phone .transaction-notice[data-tone="warning"] { --info-box-surface:var(--biz-warning-soft); --info-box-icon-ink:var(--biz-warning); }
html[data-app-theme="nova"] .phone .transaction-notice[data-tone="danger"] { --info-box-surface:var(--biz-danger-soft); --info-box-icon-ink:var(--biz-danger); }
html[data-app-theme="nova"] .phone .transaction-notice[data-tone="neutral"] { --info-box-surface:var(--biz-surface-soft); --info-box-icon-ink:var(--biz-muted); }

/* Compact receipt rhythm: one source of spacing and no repeated summary fields. */
html[data-app-theme="nova"] body .phone .transaction-detail .transaction-date { font:400 12px/24px var(--biz-font-regular) !important; }
html[data-app-theme="nova"] body .phone .transaction-party-heading .biz-list-copy { align-items:start; justify-items:start; text-align:start; }
html[data-app-theme="nova"] body .phone .transaction-party-name :is(.biz-contact-save-action,.biz-contact-save-toggle) { margin-block:-9px; }
html[data-app-theme="nova"] body .phone #transaction-help-content > :is(h3,p) { margin:0; }
html[data-app-theme="nova"] body .phone #transaction-help-content > h3 { margin:0 !important; }
html[data-app-theme="nova"] body .phone #transaction-help-content > h3 + p { margin-top:8px; }
html[data-app-theme="nova"] #transaction-help-content .transaction-fact:first-child { padding-top:0; }

/* Explicit role fonts prevent legacy span/button rules from shrinking financial data. */
html[data-app-theme="nova"] body .phone :is(#screen-transaction-detail,#transaction-help-sheet) .transaction-fact dd > .biz-selectable-text {
  font:400 14px/24px var(--biz-font-regular) !important;
}
html[data-app-theme="nova"] body .phone #screen-transaction-detail .transaction-party-number dd > .biz-selectable-text {
  font:400 14px/24px var(--biz-font-regular) !important;
}
html[data-app-theme="nova"] body .phone #screen-transaction-detail .transaction-party-heading .biz-list-title {
  font:600 16px/26px var(--biz-font-semibold) !important;
}
html[data-app-theme="nova"] body .phone #screen-transaction-detail .transaction-facts > .biz-card-title {
  margin:0 !important;
}
html[data-app-theme="nova"] body .phone #screen-transaction-detail .transaction-actions > button {
  font:600 16px/24px var(--biz-font-semibold) !important;
}
html[data-app-theme="nova"] body .phone #screen-transaction-detail .transaction-tools .biz-list-title {
  font:600 14px/24px var(--biz-font-semibold) !important;
}
html[data-app-theme="nova"] body .phone #screen-transaction-detail .transaction-status {
  font:400 12px/24px var(--biz-font-regular) !important;
}
