/* Scoped presentation layer; original app.css and business controls unchanged. */
body.visa-ui-enabled {
    --visa-ink: #153f30; --visa-muted: #648174; --visa-line: #d5e7de;
    color: var(--visa-ink); background: #f1f8f3;
    overflow: auto; min-height: 100%;
}
body.visa-ui-enabled::before { display: none; }
body.visa-ui-enabled .page-shell {
    width: min(1120px, calc(100% - 32px)); margin: 20px auto 0; padding: 24px;
    border-radius: 24px; min-height: 0;
    background:
        radial-gradient(ellipse at 6% 18%, #b6dec755 0 13%, transparent 14%),
        radial-gradient(ellipse at 13% 25%, #b6dec755 0 10%, transparent 11%),
        radial-gradient(ellipse at 90% 65%, #bbdfcb55 0 12%, transparent 13%),
        radial-gradient(ellipse at 88% 79%, #bbdfcb55 0 9%, transparent 10%),
        repeating-linear-gradient(90deg, #96baa819 0 1px, transparent 1px 32px),
        repeating-linear-gradient(0deg, #96baa819 0 1px, transparent 1px 32px), #eaf5ed;
}
body.visa-ui-enabled .container { width: 100%; max-width: none; margin: 0; padding: 0; }
body.visa-ui-enabled .site-header { position: static; padding: 0 0 18px; margin: 0; border: 0; border-bottom: 1px solid var(--visa-line); background: none; box-shadow: none; backdrop-filter: none; }
body.visa-ui-enabled .header-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; min-height: 48px; }
body.visa-ui-enabled .brand { order: 0; margin-right: auto; min-width: 0; color: var(--visa-ink); }
body.visa-ui-enabled .brand-mark { width: 34px; height: 34px; font-size: 17px; border-radius: 10px; background: #ffffff; border: 1px solid var(--visa-line); color: #347559; box-shadow: none; }
body.visa-ui-enabled .brand-copy strong { font-size: 17px; color: var(--visa-ink); white-space: normal; overflow-wrap: anywhere; }
body.visa-ui-enabled .brand-copy { display: block; min-width: 0; }
body.visa-ui-enabled .brand-copy small { display: none; }
body.visa-ui-enabled .header-actions { order: 2; margin-left: auto; gap: 8px; }
body.visa-ui-enabled .header-link, body.visa-ui-enabled .header-button { min-height: 44px; padding: 10px 13px; border-radius: 12px; color: #24593e; background: #f8fcf9; border: 1px solid var(--visa-line); font-size: 12px; box-shadow: none; }
body.visa-ui-enabled .product-switch { order: 1; display: flex; width: auto; min-width: 240px; margin: 0; padding: 4px; gap: 4px; border: 1px solid var(--visa-line); border-radius: 13px; background: #e0ede4; }
body.visa-ui-enabled .product-option { min-height: 40px; padding: 9px 17px; color: #567060; font-size: 12px; border: 0; background: none; border-radius: 10px; }
body.visa-ui-enabled .product-option.is-active { background: #ffffff; color: #216647; box-shadow: 0 2px 8px #214a3210; }
body.visa-ui-enabled .dashboard-shell { padding: 0; margin: 0; height: auto; min-height: 0; overflow: visible; }
body.visa-ui-enabled .dashboard-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); align-items: start; gap: 16px 24px; height: auto; min-height: 0; overflow: visible; }
body.visa-ui-enabled .visa-left { grid-column: 1; grid-row: 1 / span 2; min-width: 0; padding: 20px; border: 1px solid var(--visa-line); border-radius: 18px; background: #ffffff; box-shadow: 0 7px 22px #143d2b08; }
body.visa-ui-enabled .flow-panel { grid-column: 2; grid-row: 1; padding: 0; margin: 0; height: auto; min-height: 0; overflow: visible; border: 0; background: none; box-shadow: none; }
body.visa-ui-enabled .status-panel { grid-column: 2; grid-row: 2; padding: 18px; margin: 0; height: auto; min-height: 0; overflow: visible; border: 1px solid var(--visa-line); border-radius: 18px; background: #f5faf6; box-shadow: none; position: static; }
body.visa-ui-enabled .visa-status-fold { grid-column: 2; grid-row: 2; min-width: 0; padding: 4px; border: 1px solid var(--visa-line); border-radius: 14px; background: #f3f9f5; }
body.visa-ui-enabled .visa-status-fold > summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 48px; padding: 12px; border-radius: 10px; background: #e8f3ec; font-size: 12px; color: #446950; }
body.visa-ui-enabled .visa-status-fold-value { margin-left: auto; }
body.visa-ui-enabled .visa-status-fold .status-panel { border: 0; padding: 14px; background: none; }
body.visa-ui-enabled .visa-status-fold .status-top { display: none; }
body.visa-ui-enabled .visa-query-fold { grid-column: 1 / -1; min-width: 0; margin-top: 4px; }
body.visa-ui-enabled .visa-query-fold > summary { min-height: 44px; padding: 10px 0; font-size: 12px; color: #476e54; }
body.visa-ui-enabled .visa-query-fold .query-box { padding: 16px; margin: 0; border: 1px solid var(--visa-line); border-radius: 14px; background: #ffffff; }
body.visa-ui-enabled .flow-panel > .intro-card, body.visa-ui-enabled .flow-panel > .panel-head { display: none; }
body.visa-ui-enabled .visa-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0; margin: 18px 0; list-style: none; gap: 16px; }
body.visa-ui-enabled .visa-rail li { display: flex; gap: 8px; align-items: center; padding-bottom: 10px; color: #789284; border-bottom: 2px solid #dce8df; font-size: 12px; }
body.visa-ui-enabled .visa-rail b { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #e0eee5; font-size: 11px; }
body.visa-ui-enabled .visa-rail .is-current, body.visa-ui-enabled .visa-rail .is-complete { color: #287257; border-color: #53ae88; }
body.visa-ui-enabled .visa-rail .is-current b, body.visa-ui-enabled .visa-rail .is-complete b { color: #ffffff; background: #4b9e79; }
body.visa-ui-enabled .verify-spotlight { display: block; padding: 0; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
body.visa-ui-enabled .verify-spotlight-head { margin-bottom: 14px; }
body.visa-ui-enabled .verify-tag { background: #e4f2e9; color: #428260; font-size: 11px; padding: 5px 9px; margin-bottom: 8px; border: 0; }
body.visa-ui-enabled .verify-spotlight h3 { font-size: 17px; color: var(--visa-ink); margin: 0; }
body.visa-ui-enabled #verifyIntro { display: none; }
body.visa-ui-enabled .verify-form, body.visa-ui-enabled .simple-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 0; }
body.visa-ui-enabled .field { margin: 0; gap: 7px; }
body.visa-ui-enabled .field > span { font-size: 12px; color: #2d5842; }
body.visa-ui-enabled .field input, body.visa-ui-enabled .field textarea { width: 100%; min-width: 0; border: 1px solid var(--visa-line); border-radius: 12px; background: #fbfdfa; color: var(--visa-ink); padding: 12px; font-size: 16px; line-height: 1.55; box-shadow: none; }
body.visa-ui-enabled .field textarea { min-height: 128px; resize: vertical; }
body.visa-ui-enabled .button { min-height: 48px; border-radius: 12px; padding: 11px 14px; margin: 0; font-size: 14px; width: 100%; box-shadow: none; }
body.visa-ui-enabled .button-primary { background: linear-gradient(105deg, #43b891, #139b72); color: #ffffff; border-color: #309d77; }
body.visa-ui-enabled .button-primary:disabled { background: #e4ede6; border-color: #e4ede6; color: #83988a; }
body.visa-ui-enabled .button-secondary { background: #f9fcfa; border: 1px solid var(--visa-line); color: #426a52; }
body.visa-ui-enabled .inline-result { padding: 10px 0 0; margin: 0; background: none; border: 0; font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
body.visa-ui-enabled .inline-result-error { color: #bd4444; }
body.visa-ui-enabled .inline-result-loading { display: flex; align-items: center; gap: 10px; }
body.visa-ui-enabled .step-card { display: none; padding: 20px; margin: 0; border: 1px solid var(--visa-line); border-radius: 18px; background: #ffffff; box-shadow: 0 7px 22px #143d2b08; }
body.visa-ui-enabled #session-step, body.visa-ui-enabled #confirm-step { display: none; }
body.visa-ui-enabled[data-visa-phase="session"] #session-step, body.visa-ui-enabled[data-visa-phase="confirm"] #confirm-step, body.visa-ui-enabled[data-visa-phase="card"] #session-step { display: block; }
body.visa-ui-enabled .step-card .simple-form, body.visa-ui-enabled .step-card .inline-result, body.visa-ui-enabled .step-card .summary-box, body.visa-ui-enabled .step-card .session-shortcuts { display: grid; }
body.visa-ui-enabled .step-card .inline-result { display: block; }
body.visa-ui-enabled .step-card .step-head p { display: block; }
body.visa-ui-enabled[data-visa-phase="order"] #session-step, body.visa-ui-enabled[data-visa-phase="order"] #confirm-step { display: none; }
body.visa-ui-enabled .step-head { display: flex; gap: 10px; margin-bottom: 14px; padding: 0; }
body.visa-ui-enabled .step-index { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 10px; background: #eaf5ed; color: #47805d; font-size: 12px; }
body.visa-ui-enabled .step-head h3 { color: var(--visa-ink); font-size: 17px; margin: 0 0 8px; }
body.visa-ui-enabled .step-head p { font-size: 13px; line-height: 1.7; color: #647d6d; margin: 0; }
body.visa-ui-enabled .session-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 13px; }
body.visa-ui-enabled .session-chip { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 48px; padding: 9px; border: 1px solid var(--visa-line); border-radius: 12px; font-size: 12px; color: #426e52; background: #f0f7f2; }
body.visa-ui-enabled .session-chip[data-session-link] { color: #ffffff; background: #4a9c78; border-color: #4a9c78; }
body.visa-ui-enabled .summary-box { border: 0; box-shadow: none; margin: 0 0 12px; padding: 12px; background: #f3f9f5; border-radius: 12px; gap: 12px; }
body.visa-ui-enabled .summary-item { border: 0; background: none; padding: 0; min-width: 0; }
body.visa-ui-enabled .summary-item span { font-size: 11px; color: #6b8174; margin-bottom: 4px; }
body.visa-ui-enabled .summary-item strong { font-size: 13px; line-height: 1.55; color: var(--visa-ink); overflow-wrap: anywhere; }
body.visa-ui-enabled #rechargeForm { position: static; display: grid; grid-template-columns: minmax(0, 1fr); padding: 0; margin: 0; background: none; box-shadow: none; backdrop-filter: none; border: 0; }
body.visa-ui-enabled #confirm-step.is-current #rechargeForm { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; align-items: stretch; gap: 10px; padding: 0; margin: 0; border: 0; background: none; box-shadow: none; backdrop-filter: none; }
body.visa-ui-enabled #confirm-step.is-current #rechargeForm > .check-row,
body.visa-ui-enabled #confirm-step.is-current #rechargeForm > .visa-confirm-reminder { grid-column: 1 / -1; width: 100%; min-width: 0; margin: 0; }
body.visa-ui-enabled #confirm-step.is-current #rechargeForm > .button { min-width: 0; width: 100%; align-self: stretch; }
body.visa-ui-enabled .check-row { font-size: 13px; line-height: 1.65; padding: 10px 8px; border-radius: 10px; }
body.visa-ui-enabled .check-row input { flex-shrink: 0; width: 18px; height: 18px; accent-color: #129971; }
body.visa-ui-enabled .visa-needs-confirmation { color: #c13939; background: #fff0ef; border: 1px solid #edb2af; font-weight: 600; }
body.visa-ui-enabled .visa-confirm-reminder { color: #c13939; font-size: 12px; line-height: 1.65; margin: 0 0 8px; }
body.visa-ui-enabled .plus-warning, body.visa-ui-enabled .check-row-warning { background: #fff8e7; border-color: #ead5a4; color: #775324; }
body.visa-ui-enabled .visa-coverage-notice { width: 100%; margin: 0 0 12px; padding: 12px; border: 1px solid #ead5a4; border-radius: 12px; background: #fff8e7; color: #775324; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
body.visa-ui-enabled .visa-coverage-notice strong { display: block; margin-bottom: 4px; color: #775324; font-size: 13px; }
body.visa-ui-enabled .visa-coverage-notice p { margin: 0; color: inherit; }
body.visa-ui-enabled .visa-plan { border-top: 1px solid var(--visa-line); color: #287252; font-size: 12px; line-height: 1.65; margin-top: 14px; padding-top: 12px; }
body.visa-ui-enabled .visa-card { width: min(100%, 320px); min-height: 198px; margin: 20px auto 0; padding: 20px 24px; display: flex; flex-direction: column; border: 1px solid #78a88e; border-radius: 15px; color: #d4e5d9; background: radial-gradient(ellipse at 12% 0, #6da48466, transparent 68%), linear-gradient(115deg, #204d36, #126748 58%, #0c4030); box-shadow: inset 0 0 0 5px #e5ffef07, 0 8px 20px #174b3425; }
body.visa-ui-enabled .visa-card-top { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
body.visa-ui-enabled .visa-card-brand { font: 500 18px/1.2 Arial, sans-serif; letter-spacing: 2px; }
body.visa-ui-enabled .visa-card-type { font: 500 11px/1.2 Arial, sans-serif; letter-spacing: .4px; }
body.visa-ui-enabled .visa-card-chip { display: grid; grid-template-columns: repeat(3, 1fr); width: 36px; height: 27px; margin-top: 19px; padding: 2px; gap: 1px; border: 1px solid #b7ad83; border-radius: 5px; background: linear-gradient(115deg, #e9e1bd, #c1b687, #f1e8c6); }
body.visa-ui-enabled .visa-card-chip span { border: 1px solid #a59a7680; border-radius: 2px; }
body.visa-ui-enabled .visa-card-code { margin-top: 18px; color: #cadace; font: 500 19px/1.3 "Courier New", monospace; letter-spacing: .8px; overflow-wrap: anywhere; }
body.visa-ui-enabled .visa-card-completed .visa-card-code { font-size: 13px; letter-spacing: .2px; }
body.visa-ui-enabled .visa-card-bottom { display: flex; justify-content: space-between; align-items: end; gap: 9px; margin-top: auto; padding-top: 18px; }
body.visa-ui-enabled .visa-card-bottom small, body.visa-ui-enabled .visa-card-bottom strong { display: block; font: 500 11px/1.4 "Courier New", monospace; letter-spacing: .6px; }
body.visa-ui-enabled .visa-wordmark { font: italic 600 26px/1 Arial, sans-serif; }
body.visa-ui-enabled .visa-card-caption { display: flex; justify-content: space-between; gap: 10px; margin-top: 16px; font-size: 11px; color: #698573; }
body.visa-ui-enabled .visa-card-caption span:first-child { color: #337454; }
body.visa-ui-enabled .visa-trust { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--visa-line); text-align: center; }
body.visa-ui-enabled .visa-trust strong, body.visa-ui-enabled .visa-trust span { display: block; color: #41694e; font-size: 12px; line-height: 1.8; }
body.visa-ui-enabled .visa-trust span { font-size: 11px; color: #6a8273; }
body.visa-ui-enabled .visa-channel-actions:empty { display: none; }
body.visa-ui-enabled .visa-channel-actions .button { margin-top: 8px; }
body.visa-ui-enabled .status-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 0 0 12px; }
body.visa-ui-enabled .status-headline { font-size: 15px; color: #365e46; margin: 0; }
body.visa-ui-enabled .status-top .panel-kicker { display: none; }
body.visa-ui-enabled .status-pill { font-size: 11px; padding: 6px 10px; border-radius: 20px; }
body.visa-ui-enabled .status-box { background: none; margin: 0 0 12px; padding: 0; border: 0; }
body.visa-ui-enabled .status-box h3 { font-size: 16px; margin-bottom: 6px; color: var(--visa-ink); }
body.visa-ui-enabled .status-box p { font-size: 12px; line-height: 1.65; color: #667f6d; }
body.visa-ui-enabled .progress-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 0 0 12px; }
body.visa-ui-enabled .progress-item { min-height: 52px; padding: 8px; border-radius: 10px; border: 1px solid var(--visa-line); background: #ffffff; }
body.visa-ui-enabled .progress-item::before { content: none; display: none; }
body.visa-ui-enabled .progress-item strong { font-size: 11px; }
body.visa-ui-enabled .progress-item span { font-size: 11px; line-height: 1.5; }
body.visa-ui-enabled #statusSummary { display: none; }
body.visa-ui-enabled .result-card { min-height: 0; max-height: none; overflow: visible; margin: 0; padding: 18px; border: 0; border-radius: 14px; background: #174d36; color: #e7f4ec; }
body.visa-ui-enabled .result-stage { padding: 0 0 13px; margin: 0; display: flex; align-items: center; gap: 13px; border: 0; }
body.visa-ui-enabled .result-stage strong { font-size: 20px; color: #e7f4ec; }
body.visa-ui-enabled .result-stage small { font-size: 12px; color: #c0d9c9; line-height: 1.65; }
body.visa-ui-enabled .loading-ring { width: 44px; height: 44px; flex: 0 0 44px; border-width: 4px; border-color: #b3e9c84d; border-top-color: #d7ffdf; }
body.visa-ui-enabled .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
body.visa-ui-enabled .detail-item { padding: 0; background: none; border: 0; }
body.visa-ui-enabled .detail-item span { color: #b5d0be; font-size: 11px; }
body.visa-ui-enabled .detail-item strong { color: #e7f4ec; font-size: 12px; overflow-wrap: anywhere; }
body.visa-ui-enabled .query-box { margin: 14px 0 0; padding: 14px 0 0; border: 0; border-top: 1px solid var(--visa-line); background: none; }
body.visa-ui-enabled .query-box h3 { color: #416d52; font-size: 13px; margin: 0 0 6px; }
body.visa-ui-enabled .query-box p { font-size: 11px; line-height: 1.65; margin-bottom: 10px; }
body.visa-ui-enabled .query-box .button { min-height: 44px; }
body.visa-ui-enabled .visa-receipt { padding: 23px; border-radius: 14px; background: #174d36; color: #e7f4ec; }
body.visa-ui-enabled .visa-receipt h3 { font-size: 24px; margin: 0 0 12px; color: #e7f4ec; }
body.visa-ui-enabled .visa-receipt p { font-size: 12px; line-height: 1.65; color: #c5ddce; margin-bottom: 15px; }
body.visa-ui-enabled .visa-receipt-label { display: block; font-size: 11px; color: #b0cdbb; margin: 14px 0 4px; }
body.visa-ui-enabled .visa-receipt-account, body.visa-ui-enabled .visa-receipt-card { display: block; font-size: 15px; font-weight: 500; overflow-wrap: anywhere; line-height: 1.65; }
body.visa-ui-enabled .visa-receipt-plan { margin-top: 12px; }
body.visa-ui-enabled[data-visa-result="success"] .status-box, body.visa-ui-enabled[data-visa-result="success"] .progress-grid, body.visa-ui-enabled[data-visa-result="success"] #orderResult { display: none; }
body.visa-ui-enabled .complete-modal { background: #12372b66; backdrop-filter: blur(3px); }
body.visa-ui-enabled .complete-dialog { background: #f7fcf9; color: var(--visa-ink); border: 1px solid var(--visa-line); border-radius: 22px; width: min(360px, calc(100% - 32px)); padding: 26px; box-shadow: 0 24px 80px #113d3038; }
body.visa-ui-enabled .complete-mark { background: #dcf2e6; color: #14956c; }
body.visa-ui-enabled .complete-dialog h2 { color: var(--visa-ink); font-size: 24px; }
body.visa-ui-enabled .complete-dialog p { font-size: 13px; line-height: 1.7; }
body.visa-ui-enabled .complete-order { display: none; }
body.visa-ui-enabled .visa-modal-account { margin: 15px 0; font-size: 13px; line-height: 1.7; }
body.visa-ui-enabled .visa-modal-account strong { display: block; color: var(--visa-ink); overflow-wrap: anywhere; }
body.visa-ui-enabled .visa-processing-modal { position: fixed; inset: 0; z-index: 70; display: grid; place-items: center; padding: 20px; overflow: auto; background: #12372b66; backdrop-filter: blur(3px); }
body.visa-ui-enabled .visa-processing-dialog { position: relative; width: min(100%, 380px); min-width: 0; padding: 30px 24px 24px; border: 1px solid var(--visa-line); border-radius: 22px; background: #f7fcf9; color: var(--visa-ink); box-shadow: 0 24px 80px #113d3038; text-align: center; }
body.visa-ui-enabled .visa-processing-ring { display: block; width: 64px; height: 64px; margin: 0 auto 18px; border: 5px solid #ccebdd; border-top-color: #129971; border-right-color: #48bb91; border-radius: 50%; animation: visa-processing-spin .9s linear infinite; }
body.visa-ui-enabled .visa-processing-dialog h2 { margin: 0 0 10px; color: #126849; font-size: 26px; line-height: 1.35; }
body.visa-ui-enabled .visa-processing-dialog p { margin: 0; color: #648174; font-size: 13px; line-height: 1.75; }
body.visa-ui-enabled .visa-processing-account { display: block; margin: 18px 0; padding: 12px; border: 1px solid #d5e7de; border-radius: 12px; background: #edf7f1; color: #235d42; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
body.visa-ui-enabled .visa-processing-account strong { display: block; color: var(--visa-ink); font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
body.visa-ui-enabled .visa-processing-close { display: block; width: 100%; min-height: 44px; margin: 18px 0 0; padding: 10px 12px; border: 1px solid #d5e7de; border-radius: 12px; background: #f9fcfa; color: #426a52; font: inherit; font-size: 13px; line-height: 1.5; cursor: pointer; }
body.visa-ui-enabled .visa-processing-restore { position: fixed; right: 20px; bottom: max(20px, env(safe-area-inset-bottom)); z-index: 65; display: inline-flex; align-items: center; justify-content: center; gap: 9px; max-width: calc(100% - 40px); min-height: 48px; padding: 12px 17px; border: 1px solid #0b835f; border-radius: 999px; background: #129971; color: #ffffff; box-shadow: 0 8px 24px #174b342a; font: inherit; font-size: 13px; line-height: 1.5; cursor: pointer; }
body.visa-ui-enabled .visa-processing-restore .visa-processing-ring { width: 20px; height: 20px; flex: 0 0 20px; margin: 0; border-width: 3px; border-color: #ffffff55; border-top-color: #ffffff; }
body.visa-ui-enabled .visa-processing-close:focus-visible,
body.visa-ui-enabled .visa-processing-restore:focus-visible { outline: 3px solid #55c19b; outline-offset: 3px; }
body.visa-ui-enabled [hidden] { display: none !important; }
body.visa-ui-enabled footer { color: #6b8775 !important; font-size: 11px !important; }
@keyframes visa-processing-spin { to { transform: rotate(360deg); } }
@media(max-width: 899px) {
    body.visa-ui-enabled .page-shell { width: min(440px, calc(100% - 20px)); padding: 14px; margin-top: 10px; border-radius: 20px; }
    body.visa-ui-enabled .header-row { gap: 10px; }
    body.visa-ui-enabled .brand-copy strong { font-size: 14px; }
    body.visa-ui-enabled .header-actions { margin: 0 0 0 auto; }
    body.visa-ui-enabled .header-link, body.visa-ui-enabled .header-button { padding: 9px; font-size: 11px; }
    body.visa-ui-enabled .product-switch { width: 100%; min-width: 0; order: 3; }
    body.visa-ui-enabled .product-option { flex: 1; min-height: 40px; }
    body.visa-ui-enabled .dashboard-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    body.visa-ui-enabled .visa-left, body.visa-ui-enabled .flow-panel, body.visa-ui-enabled .status-panel { grid-column: 1; grid-row: auto; }
    body.visa-ui-enabled .visa-status-fold, body.visa-ui-enabled .visa-query-fold { grid-column: 1; grid-row: auto; }
    body.visa-ui-enabled .visa-left, body.visa-ui-enabled .step-card { padding: 16px; }
    body.visa-ui-enabled .visa-rail { gap: 6px; margin: 14px 0; }
    body.visa-ui-enabled .visa-rail li { gap: 4px; font-size: 11px; }
    body.visa-ui-enabled .visa-rail b { width: 22px; height: 22px; }
    body.visa-ui-enabled[data-visa-phase="card"] .flow-panel { display: none; }
    body.visa-ui-enabled[data-visa-phase="session"] .visa-left, body.visa-ui-enabled[data-visa-phase="confirm"] .visa-left, body.visa-ui-enabled[data-visa-phase="order"] .visa-left { display: none; }
    body.visa-ui-enabled[data-visa-readonly="true"] .visa-left { display: block; }
    body.visa-ui-enabled .status-panel { padding: 14px; }
    body.visa-ui-enabled[data-visa-phase="card"] .status-panel, body.visa-ui-enabled[data-visa-phase="session"] .status-panel, body.visa-ui-enabled[data-visa-phase="confirm"] .status-panel { background: #f7fbf8; }
    body.visa-ui-enabled .status-box h3 { font-size: 14px; }
    body.visa-ui-enabled .progress-grid { display: none; }
    body.visa-ui-enabled .session-shortcuts { grid-template-columns: minmax(0, 1fr); }
    body.visa-ui-enabled .step-head h3 { font-size: 16px; }
    body.visa-ui-enabled .field textarea { min-height: 126px; }
    body.visa-ui-enabled .visa-card { width: min(100%, 280px); padding: 18px; min-height: 184px; }
    body.visa-ui-enabled .visa-card-code { font-size: 17px; }
    body.visa-ui-enabled .visa-card-bottom { padding-top: 16px; }
    body.visa-ui-enabled .summary-box { grid-template-columns: minmax(0, 1fr); }
    body.visa-ui-enabled #confirm-step.is-current #rechargeForm { grid-template-columns: minmax(0, 1fr); }
    body.visa-ui-enabled #confirm-step.is-current #rechargeForm > .button { grid-column: 1; }
    body.visa-ui-enabled .visa-processing-modal { padding: 16px; }
    body.visa-ui-enabled .visa-processing-dialog { padding: 28px 20px 20px; }
    body.visa-ui-enabled .visa-processing-dialog h2 { font-size: 24px; }
    body.visa-ui-enabled .visa-processing-restore { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); max-width: calc(100% - 32px); }
    body.visa-ui-enabled .visa-receipt { padding: 18px; }
    body.visa-ui-enabled .visa-receipt h3 { font-size: 23px; }
}
@media(prefers-reduced-motion: reduce) {
    body.visa-ui-enabled .loading-ring, body.visa-ui-enabled .inline-spinner, body.visa-ui-enabled .visa-processing-ring { animation: none; }
}
