/* Handoff v2 Batch 4: opt-in styles; earlier accepted batches are unchanged. */
.ui-batch-4 body .phone-page,
.ui-batch-4 .kyc-flow-page { width: min(100%,430px); min-height: 100dvh; margin: 0 auto; padding: 8px 16px 32px; background: var(--bg); animation: none; transform: none; will-change: auto; opacity: 1; }
.ui-batch-4 :is(.records-header,.simple-header,.auth-header) { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; gap: 8px; align-items: center; min-height: 56px; margin: 0 0 24px; padding: 0 0 8px; border-bottom: 1px solid var(--line); }
.ui-batch-4 :is(.records-header,.simple-header,.auth-header) h1 { margin: 0; color: var(--text); font-size: var(--font-size-lg); line-height: 1.3; font-weight: 650; letter-spacing: -.02em; text-align: center; }
.ui-batch-4 .auth-header { grid-template-columns: 44px minmax(0,1fr) auto; }
.ui-batch-4 .auth-nav-button { width: 44px; height: 44px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); }
.ui-batch-4 .auth-language-menu .language-trigger { padding: 0 6px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); }
.ui-batch-4 .auth-language-menu .language-trigger span { font-weight: 500; }
.ui-batch-4 .auth-language-menu .language-options { border-radius: var(--radius-md); background: #13171C; box-shadow: none; }
.ui-batch-4 :is(button,a,input,select):focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.ui-batch-4 :is(.primary-pill,.outline-pill) { min-height: 48px; border-radius: var(--radius-md); font-size: var(--font-size-sm); font-weight: 600; box-shadow: none; }
.ui-batch-4 .outline-pill { border: 1px solid var(--line); background: #13171C; color: var(--text); }
.ui-batch-4 .auth-brand-block { grid-template-columns: 32px minmax(0,1fr); gap: 10px; align-items: center; justify-items: start; margin: 28px 0; text-align: left; }
.ui-batch-4 .auth-brand-block img { width: 32px; height: 32px; }
.ui-batch-4 .auth-brand-block strong { font-size: 24px; font-weight: 700; }
.ui-batch-4 .auth-brand-block > span { grid-column: 1 / -1; max-width: none; color: var(--muted); font-size: var(--font-size-secondary); font-weight: 400; }
.ui-batch-4 .auth-form-card { gap: var(--space-5); padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-4 .auth-input { grid-template-rows: auto 50px; gap: 8px; font-size: var(--font-size-secondary); font-weight: 500; }
.ui-batch-4 .auth-input > :is(i,svg) { top: 40px; bottom: auto; left: 12px; width: 18px; height: 18px; }
.ui-batch-4 .auth-input input,
.ui-batch-4 .auth-code-row { min-width: 0; min-height: 50px; height: 50px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #13171C; box-shadow: none; }
.ui-batch-4 .auth-input input { padding: 0 44px 0 40px; font-size: var(--font-size-sm); font-weight: 400; }
.ui-batch-4 .auth-input input:focus { border-color: var(--brand); box-shadow: none; }
.ui-batch-4 .auth-password-toggle { top: 29px; right: 4px; bottom: auto; height: 44px; border-radius: 6px; }
.ui-batch-4 .auth-password-toggle svg { width: 18px; height: 18px; }
.ui-batch-4 .auth-code-row { grid-template-columns: 34px minmax(0,1fr) auto; gap: 4px; padding-right: 8px; }
.ui-batch-4 .auth-code-row > :is(i,svg) { width: 18px; height: 18px; }
.ui-batch-4 .auth-code-row input { height: 46px; min-height: 46px; padding: 0; border: 0; background: transparent; }
.ui-batch-4 .auth-send-code-button { padding: 0 8px; min-height: 40px; border-radius: 6px; background: transparent; color: var(--brand); font-size: var(--font-size-xs); font-weight: 600; }
.ui-batch-4 body[data-auth-page] .auth-input > :is(.auth-password-rule,.auth-caps-lock) { font-size: var(--font-size-xs); font-weight: 400; }
.ui-batch-4 .auth-primary-button { margin-top: 2px; min-height: 50px; font-size: var(--font-size-primary); }
.ui-batch-4 .auth-inline-link { margin: -4px 0 0; }
.ui-batch-4 .auth-inline-link a { font-size: var(--font-size-secondary); font-weight: 500; }
.ui-batch-4 .auth-secondary-links { margin: 24px 0 12px; font-size: var(--font-size-secondary); }
.ui-batch-4 .auth-secondary-links a { font-weight: 500; }
.ui-batch-4 .auth-support-link { margin: 16px 0 8px; }
.ui-batch-4 .auth-support-link a { min-height: 40px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--muted); font-size: var(--font-size-secondary); font-weight: 400; }
.ui-batch-4 .auth-security-note { margin: 12px 0 0; color: #626B77; font-size: var(--font-size-xs); font-weight: 400; }
.ui-batch-4 :is(.auth-security-note,.address-secure) svg { color: #626B77; }
.ui-batch-4 .form-status { padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #13171C; font-size: var(--font-size-secondary); line-height: 1.5; overflow-wrap: anywhere; }
.ui-batch-4 :is(.result-dialog,.confirm-dialog) { border: 1px solid var(--line); border-radius: var(--radius-dialog); background: #0E1115; box-shadow: none; }
.ui-batch-4 .operation-confirm-dialog[data-tone="danger"] .primary-pill { border-color: var(--red); background: var(--red); color: var(--text); box-shadow: none; }
.ui-batch-4 body .kyc-intro-page,
.ui-batch-4 body .kyc-form-page { padding-bottom: 110px; }
.ui-batch-4 .kyc-verify-hero { display: block; margin: 0 0 24px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-4 .kyc-shield-art { display: none; }
.ui-batch-4 .kyc-verify-hero h2 { font-size: var(--font-size-content); font-weight: 650; }
.ui-batch-4 .kyc-verify-hero p { margin: 10px 0 0; color: var(--muted); font-size: var(--font-size-secondary); line-height: 1.6; }
.ui-batch-4 .kyc-section-label { margin: 24px 0 12px; color: var(--text); font-size: var(--font-size-primary); font-weight: 600; }
.ui-batch-4 .kyc-level-list { gap: 0; }
.ui-batch-4 .kyc-level-card { padding: 16px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-4 .kyc-level-card > b { border-radius: 6px; background: #181D23; color: var(--text); }
.ui-batch-4 .kyc-level-card strong { font-size: var(--font-size-primary); font-weight: 600; }
.ui-batch-4 .kyc-level-card > div > span { font-size: var(--font-size-xs); }
.ui-batch-4 .kyc-level-card em { min-height: 22px; border: 0; border-radius: 4px; background: #181D23; color: var(--muted); font-size: var(--font-size-xs); font-weight: 500; }
.ui-batch-4 .kyc-level-card li::before { color: var(--muted); }
.ui-batch-4 .kyc-requirements-card { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-4 .kyc-requirements-card article { min-height: 68px; padding: 12px 0; }
.ui-batch-4 .kyc-requirements-card article > :is(svg,i) { width: 20px; height: 20px; color: var(--muted); }
.ui-batch-4 .kyc-requirements-card strong { font-size: var(--font-size-sm); font-weight: 500; }
.ui-batch-4 .kyc-requirements-card span { font-size: var(--font-size-xs); }
.ui-batch-4 .kyc-status-card { padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: #0E1115; box-shadow: none; }
.ui-batch-4 .kyc-status-card strong { font-size: var(--font-size-sm); font-weight: 600; }
.ui-batch-4 .kyc-status-card span { font-size: var(--font-size-xs); }
.ui-batch-4 :is(.kyc-sticky-action,.kyc-step-actions) { left: 50%; right: auto; width: min(100%,430px); transform: translateX(-50%); padding: 12px 16px calc(12px + var(--safe-area-bottom)); border-top: 1px solid var(--line); background: #0E1115; backdrop-filter: none; }
.ui-batch-4 .kyc-step-actions { display: flex; gap: 12px; }
.ui-batch-4 .kyc-step-actions button { flex: 1; min-width: 0; }
.ui-batch-4 .kyc-progress { padding: 0 0 16px; margin: 0 0 24px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-4 .kyc-progress article span { font-size: var(--font-size-xs); font-weight: 500; white-space: normal; }
.ui-batch-4 .kyc-progress article.complete b { background: #181D23; border-color: var(--line); color: var(--text); }
.ui-batch-4 .kyc-progress > em { margin-top: 8px; font-size: var(--font-size-xs); }
.ui-batch-4 .kyc-progress > em svg { width: 14px; height: 14px; color: var(--muted); }
.ui-batch-4 .kyc-form-card { padding: 0; gap: var(--space-5); border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-4 .kyc-form-card h2 { font-size: var(--font-size-md); font-weight: 600; }
.ui-batch-4 .kyc-form-card label { gap: 8px; color: var(--muted); font-size: var(--font-size-secondary); font-weight: 400; }
.ui-batch-4 .kyc-form-card input:not([type="file"]) { min-height: 50px; border-radius: var(--radius-md); background: #13171C; font-size: var(--font-size-sm); font-weight: 400; box-shadow: none; }
.ui-batch-4 .kyc-payment-card { border-radius: 10px; background: #0E1115; box-shadow: none; }
.ui-batch-4 .kyc-upload-card > p { margin: -6px 0 0; font-size: var(--font-size-secondary); }
.ui-batch-4 .kyc-upload-row { padding: 0 0 18px; }
.ui-batch-4 .kyc-upload-row > :is(i,svg) { width: 20px; height: 20px; color: var(--muted); }
.ui-batch-4 .kyc-file-picker { min-height: 94px; border: 1px dashed var(--line); border-radius: var(--radius-md); background: #0E1115; }
.ui-batch-4 .kyc-file-button { min-height: 36px; border-radius: 6px; background: #181D23; color: var(--text); font-weight: 500; }
.ui-batch-4 .kyc-review-summary { padding: 0; border: 0; border-radius: 0; background: transparent; }
.ui-batch-4 .kyc-review-summary article { min-height: 48px; padding: 12px 0; }
.ui-batch-4 .kyc-submission-status { border-color: var(--line); border-radius: var(--radius-md); background: #13171C; }
.ui-batch-4 .kyc-confirm-card .secure-note svg { width: 16px; height: 16px; color: var(--muted); }
.ui-batch-4 .kyc-review-page { display: flex; flex-direction: column; justify-content: center; align-items: stretch; gap: 24px; text-align: center; }
.ui-batch-4 .kyc-review-art { width: 64px; height: 64px; margin: 0 auto; border-radius: 50%; background: #181D23; transform: none; }
.ui-batch-4 .kyc-clock-face { inset: 12px; width: auto; height: auto; border: 2px solid var(--muted); background: transparent; box-shadow: none; }
.ui-batch-4 .kyc-clock-hand { left: 31px; top: auto; bottom: 50%; width: 2px; background: var(--muted); }
.ui-batch-4 .kyc-clock-hand.hour { height: 12px; }
.ui-batch-4 .kyc-clock-hand.minute { height: 16px; }
.ui-batch-4 .kyc-review-dot { display: none; }
.ui-batch-4 .kyc-copy h1 { margin: 0 0 12px; font-size: 24px; font-weight: 650; }
.ui-batch-4 .kyc-copy p { margin: 0; font-size: var(--font-size-sm); line-height: 1.8; }
.ui-batch-4 .kyc-review-page .primary-pill { margin: 0; }
.ui-batch-4 .invite-hero-card { min-height: 0; padding: 0; margin: 0 0 24px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-4 .invite-reward-art { display: none; }
.ui-batch-4 .invite-hero-card h2 { font-size: var(--font-size-content); font-weight: 650; }
.ui-batch-4 .invite-hero-card p { margin: 12px 0 24px; color: var(--muted); font-size: var(--font-size-secondary); }
.ui-batch-4 .invite-code-box { justify-content: flex-start; margin-top: 8px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #13171C; color: var(--text); }
.ui-batch-4 .invite-code-box b { font-size: var(--font-size-lg); font-weight: 600; }
.ui-batch-4 .invite-qr-card { display: grid; grid-template-columns: 1fr; justify-items: center; gap: 16px; padding: 20px 16px; border: 1px solid var(--line); border-radius: 10px; background: #0E1115; box-shadow: none; text-align: center; }
.ui-batch-4 .invite-qr-card label { font-size: var(--font-size-primary); font-weight: 600; }
.ui-batch-4 .invite-qr-stage { width: 166px; height: 166px; border-color: var(--line); border-radius: var(--radius-md); }
.ui-batch-4 .invite-scan-copy { display: flex; align-items: center; gap: 8px; font-size: var(--font-size-xs); }
.ui-batch-4 .invite-scan-copy svg { width: 18px; height: 18px; color: var(--muted); }
.ui-batch-4 .invite-link-panel { padding: 0; margin: 24px 0 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-4 .invite-link-panel strong { font-size: var(--font-size-sm); font-weight: 500; }
.ui-batch-4 .invite-link-panel .outline-pill { border-color: var(--line); background: #13171C; color: var(--text); }
.ui-batch-4 .invite-link-panel span { border-radius: var(--radius-md); background: #13171C; }
.ui-batch-4 .record-list { gap: 0; margin: 0; }
.ui-batch-4 .record-list > article { padding: 16px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-4 .record-list > article strong { font-size: var(--font-size-primary); font-weight: 600; }
.ui-batch-4 .record-list > article span { font-size: var(--font-size-secondary); line-height: 1.5; }
.ui-batch-4 .record-list > article > b { color: var(--text); font-size: var(--font-size-sm); font-weight: 500; }
.ui-batch-4 .address-search { min-height: 46px; border-radius: var(--radius-md); background: #13171C; box-shadow: none; }
.ui-batch-4 .address-book-form { padding: 16px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-4 .address-book-form :is(input,select) { min-width: 0; min-height: 50px; border-radius: var(--radius-md); background: #13171C; font-size: var(--font-size-sm); }
.ui-batch-4 .address-book-form label { color: var(--muted); font-size: var(--font-size-secondary); font-weight: 400; }
.ui-batch-4 .address-section-title { margin: 24px 0 8px; font-size: var(--font-size-primary); font-weight: 600; color: var(--text); }
.ui-batch-4 .address-book-head span b { color: var(--muted); font-weight: 500; }
.ui-batch-4 .address-value-wrap { padding: 0; border: 0; border-radius: 0; background: transparent; }
.ui-batch-4 .address-value { font-size: var(--font-size-secondary); font-weight: 400; }
.ui-batch-4 .address-card-actions { display: flex; justify-content: flex-end; gap: 16px; }
.ui-batch-4 .address-action-button { min-height: 40px; padding: 0 8px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); font-weight: 500; }
.ui-batch-4 .address-action-button.danger { background: transparent; color: var(--red); }
.ui-batch-4 .address-floating-add { width: 48px; height: 48px; border-radius: var(--radius-md); background: var(--brand); box-shadow: none; }
.ui-batch-4 body:has(#addressBookList) .phone-page { padding-bottom: 100px; }
.ui-batch-4 :is(.address-empty-panel,.record-list > .empty-record,.record-list > .merchant-locked-card) { margin-top: 20px; padding: 28px 20px; border: 1px solid var(--line); border-radius: 10px; background: #0E1115; box-shadow: none; }
.ui-batch-4 .address-empty-panel > svg { width: 32px; height: 32px; color: var(--muted); }
.ui-batch-4 .merchant-page .record-list > article.merchant-overview-card { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-4 .merchant-overview-row { min-height: 88px; padding: 18px 0; }
.ui-batch-4 .merchant-overview-row strong { font-size: var(--font-size-sm); font-weight: 500; }
.ui-batch-4 .merchant-overview-row span { margin-top: 8px; font-size: var(--font-size-secondary); line-height: 1.6; }
.ui-batch-4 :is(.merchant-status-badge,.merchant-action-label) { padding: 0 6px; border: 0; border-radius: 4px; background: #181D23; color: var(--text); font-weight: 500; }
.ui-batch-4 .merchant-overview-card .outline-pill { min-height: 40px; border-color: var(--line); border-radius: var(--radius-md); background: #13171C; color: var(--text); font-size: var(--font-size-xs); font-weight: 500; }
.ui-batch-4 .merchant-page .record-list > article.merchant-locked-card { padding: 28px 20px; min-height: 240px; border-color: var(--line); border-radius: 10px; background: #0E1115; }
.ui-batch-4 .mobile-empty-icon { display: grid; place-items: center; border: 0; background: #181D23; color: var(--muted); box-shadow: none; }
.ui-batch-4 .merchant-locked-card .outline-pill { border-color: var(--line); color: var(--text); font-weight: 500; }
.ui-batch-4 .error-body { background: var(--bg); }
.ui-batch-4 body .error-page { display: flex; flex-direction: column; justify-content: center; gap: 24px; }
.ui-batch-4 .error-card { padding: 24px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ui-batch-4 .error-card::before,.ui-batch-4 .error-card::after { content: none; }
.ui-batch-4 .error-brand { margin-bottom: 32px; }
.ui-batch-4 .error-brand img { width: 28px; height: 28px; }
.ui-batch-4 .error-brand span { font-size: var(--font-size-lg); }
.ui-batch-4 .error-visual { display: none; }
.ui-batch-4 .error-code { margin: 0 0 12px; color: var(--muted); background: none; -webkit-text-fill-color: currentColor; font-size: 48px; font-weight: 650; text-shadow: none; }
.ui-batch-4 .error-card h1 { font-size: 24px; font-weight: 650; }
.ui-batch-4 .error-description { font-size: var(--font-size-sm); line-height: 1.7; }
.ui-batch-4 .error-actions { gap: 12px; margin-top: 24px; }
.ui-batch-4 .error-support { font-size: var(--font-size-xs); }
@media (max-width: 360px) { .ui-batch-4 .auth-header { gap: 4px; } .ui-batch-4 .auth-header h1 { font-size: var(--font-size-section); } }
