/* Batch 2 extends the approved tokens and shell; loaded only on finance/history routes. */
html.ui-batch-2 body .phone-page,
html.ui-batch-2 body[data-page] .phone-page {
  background: var(--bg);
  padding-top: 8px;
  padding-bottom: calc(32px + var(--safe-area-bottom));
}
.ui-batch-2 body:has(.bottom-nav) .phone-page {
  padding-bottom: calc(96px + var(--safe-area-bottom));
}
.ui-batch-2 :is(.simple-header, .convert-header, .records-header, .center-header) {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 4px;
  min-height: 56px;
  margin: 0 0 20px;
  padding: 0;
  border-bottom: 1px solid var(--divider);
}
.ui-batch-2 :is(.simple-header, .convert-header, .records-header, .center-header) h1 {
  margin: 0;
  font-size: var(--font-size-content);
  font-weight: 650;
  line-height: 1.3;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}
.ui-batch-2 .records-page .icon-button,
.ui-batch-2 .history-link-button {
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  box-shadow: none;
}
.ui-batch-2 .form-page-context { margin: 0 0 20px; color: var(--text-secondary); font-size: var(--font-size-secondary); line-height: 1.5; }
.ui-batch-2 body .stack-form { gap: var(--space-5); }
.ui-batch-2 body .stack-form > label,
.ui-batch-2 body .stack-form :is(.selector-card, .withdraw-address-card, .withdraw-amount-card, .form-card) {
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  gap: 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.ui-batch-2 .stack-form label,
.ui-batch-2 .stack-form label > span,
.ui-batch-2 .form-card > label {
  color: var(--text-secondary);
  font-size: var(--font-size-secondary);
  font-weight: 450;
  line-height: 1.45;
}
.ui-batch-2 body .stack-form input,
.ui-batch-2 body .stack-form .form-select-trigger {
  width: 100%;
  min-width: 0;
  min-height: 50px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-1);
  color: var(--text-primary);
  font-size: var(--font-size-primary);
  box-shadow: none;
}
.ui-batch-2 .form-select-trigger b { font-size: var(--font-size-md); font-weight: 600; }
.ui-batch-2 .form-select-trigger small { font-size: var(--font-size-xs); font-weight: 450; color: var(--text-secondary); }
.ui-batch-2 .form-select-trigger svg { color: var(--text-secondary); }
.ui-batch-2 .selector-card .form-select-trigger svg { grid-column: 3; }
.ui-batch-2 input::placeholder { color: var(--text-muted); opacity: 1; }
.ui-batch-2 .stack-form input:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.ui-batch-2 body .stack-form .wide-button,
.ui-batch-2 .convert-page .wide-button { min-height: 50px; margin-top: 2px; font-size: var(--font-size-md); border-radius: var(--radius-md); box-shadow: none; }
.ui-batch-2 .field-hint { margin: 0; color: var(--text-secondary); font-size: var(--font-size-xs); line-height: 1.5; }

/* Conversion is one composed form with understated direction and quote rows. */
.ui-batch-2 .convert-form { gap: 0; margin: 0; }
.ui-batch-2 .convert-box { min-height: 116px; padding: 16px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-2 .box-head { align-items: baseline; margin-bottom: 12px; }
.ui-batch-2 .box-head > :is(span, label) { color: var(--text-secondary); font-size: var(--font-size-secondary); font-weight: 450; }
.ui-batch-2 .box-head small { font-size: var(--font-size-xs); }
.ui-batch-2 .box-head small b { color: var(--text-secondary); font-weight: 450; }
.ui-batch-2 .amount-row { grid-template-columns: minmax(0, 1fr) 104px; gap: 8px; }
.ui-batch-2 .amount-row-wide { grid-template-columns: minmax(0, 1fr) 44px 104px; grid-template-areas: none; }
.ui-batch-2 .amount-row-wide > * { grid-area: auto; }
.ui-batch-2 .amount-row input { min-height: 50px; font-size: 30px; font-weight: 600; }
.ui-batch-2 .amount-row .select-trigger { min-height: 50px; padding: 0 12px; border-radius: var(--radius-md); border-color: var(--border); background: var(--surface-1); }
.ui-batch-2 .max-chip { min-width: 44px; min-height: 44px; height: auto; padding: 0 4px; background: none; border: 0; border-radius: 6px; color: var(--brand); font-size: var(--font-size-xs); font-weight: 600; }
.ui-batch-2 .convert-swap-slot { height: 28px; margin: 0; border-top: 1px solid var(--divider); }
.ui-batch-2 .convert-swap-float { width: 32px; height: 28px; margin-top: -15px; border: 0; border-radius: 0; background: var(--bg); color: var(--text-secondary); box-shadow: none; }
.ui-batch-2 .convert-swap-float svg { width: 18px; height: 18px; stroke-width: 1.75; }
.ui-batch-2 .quote-summary { margin: 12px 0 20px; padding: 8px 0 0; border: 0; border-top: 1px solid var(--divider); border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-2 .quote-summary > div { min-height: 38px; gap: 12px; padding: 6px 0; border: 0; }
.ui-batch-2 .quote-summary span { font-size: var(--font-size-secondary); }
.ui-batch-2 .quote-summary strong { font-size: var(--font-size-sm); font-weight: 550; overflow-wrap: anywhere; }
.ui-batch-2 .quote-summary > div:has(#receiveText) { margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--divider); }
.ui-batch-2 #receiveText { color: var(--text-primary); font-size: var(--font-size-section); font-weight: 650; }
.ui-batch-2 .quote-summary .quote-expiry { margin: 0; background: transparent; }
.ui-batch-2 .quote-summary .quote-expiry strong { color: var(--brand); }

/* Funding: address, QR and required verification fields remain in their existing flow. */
.ui-batch-2 .deposit-address-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; margin-top: 8px; padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-1); }
.ui-batch-2 .deposit-address-row code { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--text-primary); font-size: var(--font-size-secondary); line-height: 1.55; overflow-wrap: anywhere; }
.ui-batch-2 .deposit-address-row .secondary-inline-button { min-width: 48px; min-height: 44px; padding: 0 4px; border: 0; border-radius: 6px; background: transparent; color: var(--brand); font-size: var(--font-size-xs); font-weight: 600; }
.ui-batch-2 #depositMemoCard .field-hint { display: block; margin-top: 8px; color: var(--brand-strong); }
.ui-batch-2 body .deposit-qr-frame { width: 168px; min-height: 168px; margin: 12px auto 0; padding: 9px; border: 0; border-radius: var(--radius-md); background: var(--surface-1); box-shadow: none; }
.ui-batch-2 body .deposit-qr-frame[data-state="ready"] { background: #fff; }
.ui-batch-2 body .deposit-qr-frame > img { width: 150px; height: 150px; border-radius: 0; }
.ui-batch-2 .deposit-qr-placeholder { gap: 8px; color: var(--text-secondary); font-size: var(--font-size-xs); }
.ui-batch-2 .deposit-qr-placeholder svg { color: var(--text-secondary); width: 28px; height: 28px; }
.ui-batch-2 .deposit-qr-logo { box-shadow: none; border-radius: 6px; }
.ui-batch-2 .withdraw-address-row { grid-template-columns: minmax(0, 1fr) 44px; gap: 8px; }
.ui-batch-2 .address-book-button { min-height: 50px; border-color: var(--border); border-radius: var(--radius-md); background: var(--surface-1); color: var(--text-secondary); }
.ui-batch-2 body .withdraw-amount-card .form-amount-row { min-height: 50px; grid-template-columns: minmax(0, 1fr) auto 44px; gap: 8px; padding: 0 10px 0 12px; border-color: var(--border); border-radius: var(--radius-md); background: var(--surface-1); }
.ui-batch-2 body .withdraw-amount-card .form-amount-row input { padding: 0; min-height: 48px; border: 0; background: transparent; }
.ui-batch-2 .withdraw-amount-card .form-amount-row b { font-size: var(--font-size-secondary); font-weight: 500; }
.ui-batch-2 .withdraw-amount-card .max-chip { border: 0; }
.ui-batch-2 body .withdraw-summary-card { gap: 0; padding: 8px 0 0; border-top: 1px solid var(--divider); }
.ui-batch-2 body .withdraw-summary-card div { min-height: 34px; gap: 12px; padding: 6px 0; border: 0; }
.ui-batch-2 .withdraw-summary-card span { font-size: var(--font-size-secondary); }
.ui-batch-2 .withdraw-summary-card strong { color: var(--text-primary); font-size: var(--font-size-sm); font-weight: 550; overflow-wrap: anywhere; }
.ui-batch-2 body .withdraw-summary-card .withdraw-total-debit { min-height: 48px; margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--divider); background: none; }
.ui-batch-2 .withdraw-total-debit strong { font-size: var(--font-size-section); font-weight: 650; color: var(--text-primary); }
.ui-batch-2 .secure-note { margin: 0; font-size: var(--font-size-xs); color: var(--text-secondary); }
.ui-batch-2 .secure-note svg { color: var(--text-secondary); }
.ui-batch-2 .withdraw-confirm-summary { border: 0; border-radius: 0; background: transparent; }
.ui-batch-2 .withdraw-confirm-summary div { min-height: 38px; padding: 8px 0; }
.ui-batch-2 .withdraw-confirm-summary :is(dt, dd) { font-weight: 500; }
.ui-batch-2 .withdraw-confirm-summary .withdraw-confirm-total { background: transparent; }
.ui-batch-2 .withdraw-confirm-summary .withdraw-confirm-total dd { color: var(--text-primary); font-weight: 650; }
.ui-batch-2 .withdraw-confirm-password { font-weight: 450; }
.ui-batch-2 .confirm-dialog input { width: 100%; min-width: 0; min-height: 50px; padding: 0 12px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-2); color: var(--text-primary); }

/* Records: retain all metadata, amounts and status semantics in divider-based lists. */
.ui-batch-2 .record-list { gap: 0; }
.ui-batch-2 .record-list > article { padding: 16px 0; border: 0; border-bottom: 1px solid var(--divider); border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-2 .history-record-card { grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px; }
.ui-batch-2 .record-list strong { font-size: var(--font-size-primary); font-weight: 600; line-height: 1.4; }
.ui-batch-2 .history-record-meta { gap: 3px; margin-top: 0; }
.ui-batch-2 .history-record-main .history-record-meta { display: grid; }
.ui-batch-2 .history-record-meta small { font-size: var(--font-size-xs); line-height: 1.45; }
.ui-batch-2 .history-record-status { min-width: 0; max-width: 110px; min-height: 24px; padding: 4px 7px; border: 0; border-radius: 6px; background: var(--brand-soft); color: var(--brand-strong); font-size: var(--font-size-xs); font-weight: 550; white-space: normal; line-height: 1.3; text-align: center; }
.ui-batch-2 .history-record-status.success { background: rgba(37,214,149,.08); color: var(--positive); }
.ui-batch-2 .history-record-status.danger { background: rgba(240,80,95,.08); color: var(--negative); }
.ui-batch-2 .record-list > article.mobile-empty-state,
.ui-batch-2 .center-empty-card { min-height: 220px; margin-top: 20px; padding: 28px 16px; gap: 12px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-2 :is(.mobile-empty-icon, .center-empty-icon) { width: 44px; height: 44px; border: 0; background: transparent; color: var(--text-secondary); }
.ui-batch-2 .record-load-error .mobile-empty-icon { background: transparent; color: var(--negative); }
.ui-batch-2 :is(.mobile-empty-state, .center-empty-state) .outline-pill { min-height: 44px; border-radius: var(--radius-md); border-color: var(--border); background: var(--surface-1); color: var(--text-primary); font-weight: 550; }

/* Ledger keeps paired legs and USD valuation rules intact. */
.ui-batch-2 .ledger-summary-card { margin: 0 0 20px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-2 .ledger-summary-card article { padding: 8px 10px; gap: 7px; }
.ui-batch-2 .ledger-summary-card article:first-child { padding-left: 0; }
.ui-batch-2 .ledger-summary-card article:last-child { padding-right: 0; }
.ui-batch-2 .ledger-summary-card strong { font-size: var(--font-size-section); font-weight: 650; }
.ui-batch-2 .center-filter-tabs.ui-scroll-tabs { display: flex; gap: 20px; margin: 0 0 4px; padding: 0; border: 0; border-bottom: 1px solid var(--divider); border-radius: 0; background: none; overflow-x: auto; }
.ui-batch-2 .center-filter-tabs button { flex: 0 0 auto; min-width: 0; min-height: 48px; padding: 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--text-secondary); font-size: var(--font-size-secondary); font-weight: 550; box-shadow: none; }
.ui-batch-2 .center-filter-tabs button.active { border-bottom-color: var(--brand); color: var(--brand); background: none; }
.ui-batch-2 .center-list { display: grid; gap: 0; }
.ui-batch-2 .center-card.ledger-card { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; min-height: 88px; padding: 16px 0; border: 0; border-bottom: 1px solid var(--divider); border-radius: 0; background: none; box-shadow: none; }
.ui-batch-2 .ledger-main { gap: 6px; }
.ui-batch-2 .ledger-main strong { font-size: var(--font-size-sm); font-weight: 600; white-space: normal; line-height: 1.4; }
.ui-batch-2 .ledger-main span { font-size: var(--font-size-xs); white-space: normal; overflow-wrap: anywhere; }
.ui-batch-2 .ledger-main small { font-size: var(--font-size-xs); flex-wrap: wrap; }
.ui-batch-2 :is(.ledger-values b, .ledger-pair-leg b) { font-size: var(--font-size-sm); font-weight: 600; }
.ui-batch-2 .ledger-pair-values { max-width: 160px; }
.ui-batch-2 .ledger-note { margin-top: 20px; font-size: var(--font-size-xs); }
.ui-batch-2 .ledger-note svg { color: var(--text-secondary); }
.ui-batch-2 .picker-panel .picker-option-list { gap: 0; }
.ui-batch-2 .picker-panel button { box-shadow: none; }
.ui-batch-2 .result-dialog { border: 1px solid var(--border); border-radius: var(--radius-dialog); background: var(--surface-1); box-shadow: var(--shadow-raised); }
.ui-batch-2 .result-dialog-icon { border: 0; border-radius: var(--radius-md); box-shadow: none; }
.ui-batch-2 .deposit-qr-placeholder { border-color: var(--border); border-radius: 6px; }

@media (max-width: 350px) {
  .ui-batch-2 :is(.records-header, .simple-header) h1 { font-size: var(--font-size-lg); }
  .ui-batch-2 .amount-row-wide { grid-template-columns: minmax(0, 1fr) 44px 92px; }
  .ui-batch-2 .amount-row input { font-size: 26px; }
  .ui-batch-2 .history-record-status { max-width: 92px; }
  .ui-batch-2 .ledger-summary-card strong { font-size: var(--font-size-md); }
  .ui-batch-2 .center-filter-tabs.ui-scroll-tabs { gap: 16px; }
}
