/* Tablet dimensions are CSS pixels, not the panel's physical resolution.
   One fluid unit scales type, artwork and spacing together without changing
   the WebView zoom, fixed controls or the viewport used by the keyboard. */
.exhibition-notice { padding: 12px 14px; border: 1px solid #bdd7e7; border-radius: 10px; background: #f0f8fc; color: #23546e; line-height: 1.5; }
.delivery-status[data-state="simulated"] { background: #eaf4fb; color: #23546e; white-space: normal; }

@media (min-width: 600px) and (min-height: 480px) {
  html { --tablet-unit: clamp(1px, .14vmin, 1.5px); }
  html.paypos-android-webview .screen {
    width: 100%; max-width: 1600px; min-height: 100vh; min-height: 100dvh;
    padding: calc(22 * var(--tablet-unit)) calc(28 * var(--tablet-unit));
    padding-top: max(calc(22 * var(--tablet-unit)), env(safe-area-inset-top, 0px));
    padding-bottom: max(calc(22 * var(--tablet-unit)), env(safe-area-inset-bottom, 0px));
    padding-left: max(calc(28 * var(--tablet-unit)), env(safe-area-inset-left, 0px));
    padding-right: max(calc(28 * var(--tablet-unit)), env(safe-area-inset-right, 0px));
  }
  html.paypos-android-webview .topbar { min-height: calc(52 * var(--tablet-unit)); margin-bottom: calc(22 * var(--tablet-unit)); }
  html.paypos-android-webview .logo { font-size: calc(30 * var(--tablet-unit)); }
  html.paypos-android-webview .logo sup { font-size: calc(8 * var(--tablet-unit)); }
  html.paypos-android-webview .back, html.paypos-android-webview .close, html.paypos-android-webview .menu-button { width: 48px; height: 48px; }
  html.paypos-android-webview .terminal-indicator.connection-indicator { font-size: calc(12 * var(--tablet-unit)); min-height: 48px; }
  html.paypos-android-webview .terminal-indicator.with-navigation { left: 50px; }
  html.paypos-android-webview .screen h1 { font-size: calc(29 * var(--tablet-unit)); line-height: 1.25; }
  html.paypos-android-webview .screen h2, html.paypos-android-webview .section-title { font-size: calc(21 * var(--tablet-unit)); }
  html.paypos-android-webview .screen :is(.label, .payment-name, .reference-value, .reference-input, .detail-value, .form-title, .transaction-amount, .transaction-reference, .settings-card label) { font-size: calc(17 * var(--tablet-unit)); line-height: 1.4; }
  html.paypos-android-webview .screen :is(.description, .transaction-label, .detail-label, .form-subtitle, .field-help, .field-label, .state-message, .settings-help, .settings-label, .link-information-list > div, .exhibition-notice, .receipt-email-form > label, .review-card > p) { font-size: calc(15 * var(--tablet-unit)); line-height: 1.45; }
  html.paypos-android-webview .screen :is(.transaction-detail, .transaction-created, .transaction-status, .card-label, .turnover-meta, .welcome-date, .history-link, .link-qr figcaption, .receipt-email-form > small) { font-size: calc(13 * var(--tablet-unit)); line-height: 1.4; }
  html.paypos-android-webview .screen :is(.button, .submit-button, .continue-button, .new-payment, .login-button, .create-button, .settings-save, .no-tip-button) { min-height: calc(58 * var(--tablet-unit)); height: auto; font-size: calc(18 * var(--tablet-unit)); padding: 14px 20px; line-height: 1.3; }
  html.paypos-android-webview .screen :is(.text-input, .email-input, .settings-input, .settings-select, .receipt-email-row input) { font-size: calc(18 * var(--tablet-unit)); min-height: calc(54 * var(--tablet-unit)); }
  html.paypos-android-webview .screen :is(.transaction-summary, .state-card, .form-card, .qr-card, .settings-card, .link-information, .review-card) { padding: calc(22 * var(--tablet-unit)); border-radius: calc(15 * var(--tablet-unit)); min-width: 0; }
  html.paypos-android-webview .transaction-summary { align-self: start; width: 100%; }
  html.paypos-android-webview .transaction-summary .amount { font-size: calc(36 * var(--tablet-unit)); }
  html.paypos-android-webview .selected-payment { padding-top: calc(16 * var(--tablet-unit)); margin-top: calc(14 * var(--tablet-unit)); }
  html.paypos-android-webview .transaction-summary .reference-input { width: calc(180 * var(--tablet-unit)); max-width: 100%; }
  html.paypos-android-webview .payment-option, html.paypos-android-webview .channel-option {
    min-height: calc(88 * var(--tablet-unit)); height: auto; padding: calc(14 * var(--tablet-unit));
    grid-template-columns: calc(48 * var(--tablet-unit)) minmax(0, 1fr) 20px; column-gap: 8px;
  }
  html.paypos-android-webview .payment-option > .icon, html.paypos-android-webview .channel-option > .icon { width: calc(44 * var(--tablet-unit)); height: calc(44 * var(--tablet-unit)); padding: calc(7 * var(--tablet-unit)); }
  html.paypos-android-webview .payment-option > .icon > svg, html.paypos-android-webview .channel-option > .icon > svg { width: calc(30 * var(--tablet-unit)); height: calc(30 * var(--tablet-unit)); }
  html.paypos-android-webview .payment-option > .icon > .amex-payment-icon { width: calc(40 * var(--tablet-unit)); height: calc(40 * var(--tablet-unit)); max-width: none; max-height: none; }
  html.paypos-android-webview .payment-option .description, html.paypos-android-webview .channel-option .description { white-space: normal; overflow: visible; text-overflow: clip; }
  html.paypos-android-webview .payment-group { min-width: 0; margin: 0 0 calc(16 * var(--tablet-unit)); }
  html.paypos-android-webview .payment-group-title { margin: 0 0 10px; }
  html.paypos-android-webview .payment-list { gap: calc(12 * var(--tablet-unit)); }
  html.paypos-android-webview .transaction-row { min-height: calc(90 * var(--tablet-unit)); padding: calc(14 * var(--tablet-unit)); }
  html.paypos-android-webview .transaction-value { flex-basis: calc(110 * var(--tablet-unit)); min-width: 0; }
  html.paypos-android-webview .transaction-icon { flex-basis: calc(36 * var(--tablet-unit)); }
  html.paypos-android-webview .transaction-copy { overflow-wrap: anywhere; }
  html.paypos-android-webview .transaction-identifier { grid-template-columns: calc(75 * var(--tablet-unit)) minmax(0, 1fr); font-size: calc(14 * var(--tablet-unit)); }
  html.paypos-android-webview .transaction-identifier b { font-size: calc(11 * var(--tablet-unit)); }
  html.paypos-android-webview .transaction-link-id strong { font-size: calc(17 * var(--tablet-unit)); }
  html.paypos-android-webview .history-heading p, html.paypos-android-webview .pagination-summary { font-size: calc(13 * var(--tablet-unit)); }
  html.paypos-android-webview .new-payment-compact { font-size: calc(15 * var(--tablet-unit)); min-height: calc(48 * var(--tablet-unit)); padding: 12px 16px; }
  html.paypos-android-webview :is(.pagination-arrow, .pagination-page) { min-width: 44px; min-height: 44px; font-size: calc(16 * var(--tablet-unit)); }
  html.paypos-android-webview body[data-page="paypos-accueil"] .transaction-row { min-height: calc(96 * var(--tablet-unit)); padding: calc(14 * var(--tablet-unit)); }
  html.paypos-android-webview .turnover-card { min-height: calc(195 * var(--tablet-unit)); padding: calc(24 * var(--tablet-unit)); }
  html.paypos-android-webview .turnover-amount { font-size: calc(44 * var(--tablet-unit)); }
  html.paypos-android-webview .amount-card { min-height: calc(185 * var(--tablet-unit)); height: auto; }
  html.paypos-android-webview .amount-card .amount { font-size: calc(48 * var(--tablet-unit)); }
  html.paypos-android-webview #currencyInput, html.paypos-android-webview #customerLanguageInput { font-size: calc(14 * var(--tablet-unit)); min-height: 42px; }
  html.paypos-android-webview .key { font-size: calc(30 * var(--tablet-unit)); }
  html.paypos-android-webview .amount-label, html.paypos-android-webview .reference-label { font-size: calc(13 * var(--tablet-unit)); }
  html.paypos-android-webview .reference-field { min-height: calc(85 * var(--tablet-unit)); }
  html.paypos-android-webview .tips-heading p, html.paypos-android-webview .tips-help { font-size: calc(16 * var(--tablet-unit)); }
  html.paypos-android-webview .tips-base { min-height: calc(190 * var(--tablet-unit)); }
  html.paypos-android-webview .tips-base span { font-size: calc(14 * var(--tablet-unit)); }
  html.paypos-android-webview .tips-base strong { font-size: calc(40 * var(--tablet-unit)); }
  html.paypos-android-webview .tip-option { min-height: calc(150 * var(--tablet-unit)); }
  html.paypos-android-webview .tip-option strong { font-size: calc(30 * var(--tablet-unit)); }
  html.paypos-android-webview .tip-option span { font-size: calc(18 * var(--tablet-unit)); }
  html.paypos-android-webview .tip-option small { font-size: calc(13 * var(--tablet-unit)); }
  html.paypos-android-webview :is(.tip-skip, .tip-custom-toggle, .tip-custom-submit) { min-height: calc(64 * var(--tablet-unit)); padding: calc(16 * var(--tablet-unit)); }
  html.paypos-android-webview :is(.tip-skip, .tip-custom-toggle) strong { font-size: calc(18 * var(--tablet-unit)); }
  html.paypos-android-webview :is(.tip-skip, .tip-custom-toggle) span { font-size: calc(14 * var(--tablet-unit)); }
  html.paypos-android-webview .tip-custom-panel label, html.paypos-android-webview .tip-custom-panel small { font-size: calc(14 * var(--tablet-unit)); }
  html.paypos-android-webview .tip-custom-input { min-height: 58px; }
  html.paypos-android-webview .tip-custom-input input { font-size: calc(22 * var(--tablet-unit)); }
  html.paypos-android-webview .qr-frame { width: min(100%, calc(310 * var(--tablet-unit))); height: auto; aspect-ratio: 1; padding: calc(14 * var(--tablet-unit)); }
  html.paypos-android-webview .qr-frame img, html.paypos-android-webview .qr-frame .demo-qr { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
  html.paypos-android-webview .qr-title { font-size: calc(20 * var(--tablet-unit)); }
  html.paypos-android-webview :is(.qr-subtitle, .qr-status, .softpos-state-detail, .softpos-status) { font-size: calc(16 * var(--tablet-unit)); line-height: 1.45; max-width: 100%; }
  html.paypos-android-webview .softpos-reader { width: calc(145 * var(--tablet-unit)); height: calc(145 * var(--tablet-unit)); flex-basis: calc(145 * var(--tablet-unit)); }
  html.paypos-android-webview .softpos-acceptance { max-width: calc(460 * var(--tablet-unit)); margin-top: calc(24 * var(--tablet-unit)); }
  html.paypos-android-webview :is(.softpos-acceptance-title, .softpos-regional-cards, .softpos-wallets, .status-row) { font-size: calc(13 * var(--tablet-unit)); line-height: 1.45; }
  html.paypos-android-webview .softpos-brand { width: calc(56 * var(--tablet-unit)); height: calc(38 * var(--tablet-unit)); }
  html.paypos-android-webview .softpos-brand img { width: calc(52 * var(--tablet-unit)); max-height: calc(34 * var(--tablet-unit)); object-fit: contain; }
  html.paypos-android-webview .cancel-button, html.paypos-android-webview .softpos-link-action { min-height: calc(54 * var(--tablet-unit)); font-size: calc(16 * var(--tablet-unit)); }
  html.paypos-android-webview .link-qr img { width: min(100%, calc(220 * var(--tablet-unit))); height: auto; aspect-ratio: 1; object-fit: contain; }
  html.paypos-android-webview .link-id-value, html.paypos-android-webview .delivery-status { font-size: calc(13 * var(--tablet-unit)); }
  html.paypos-android-webview .app-menu { width: calc(250 * var(--tablet-unit)); top: 52px; }
  html.paypos-android-webview .menu-item { min-height: 48px; font-size: calc(16 * var(--tablet-unit)); }
  html.paypos-android-webview .confirmation-dialog { width: min(90vw, calc(500 * var(--tablet-unit))); max-width: 90vw; padding: calc(26 * var(--tablet-unit)); }
  html.paypos-android-webview .confirmation-dialog h2 { font-size: calc(23 * var(--tablet-unit)); }
  html.paypos-android-webview .confirmation-dialog p { font-size: calc(18 * var(--tablet-unit)); line-height: 1.5; }
  html.paypos-android-webview .confirmation-button { min-height: 54px; font-size: calc(17 * var(--tablet-unit)); }
  html.paypos-android-webview body[data-page="paypos-login"] .intro p { font-size: calc(18 * var(--tablet-unit)); }
  html.paypos-android-webview body[data-page="paypos-login"] .intro h1 { font-size: calc(36 * var(--tablet-unit)); }
  html.paypos-android-webview body[data-page="paypos-login"] .field-label { font-size: calc(15 * var(--tablet-unit)); }
  html.paypos-android-webview body[data-page="paypos-login"] .footer { font-size: calc(13 * var(--tablet-unit)); }
  html.paypos-android-webview body[data-page="paypos-login"] .form-meta { font-size: calc(14 * var(--tablet-unit)); }
  html.paypos-android-webview .screen :is(.settings-field > span, .settings-select-field > span, .settings-card > p, .settings-card small, .settings-card legend, .support-intro, .support-contact-copy small, .access-intro p, .access-error-panel, .password-rules li) { font-size: calc(14 * var(--tablet-unit)); line-height: 1.45; }
  html.paypos-android-webview .screen :is(.settings-field input, .settings-select-field select, .tip-percent-input input) { font-size: calc(17 * var(--tablet-unit)); min-height: calc(50 * var(--tablet-unit)); }
  html.paypos-android-webview .screen :is(.tips-toggle-copy strong, .tip-mode-choice strong, .support-contact-copy a, .support-contact-copy strong, .support-account-list dt, .support-account-list dd, .legal-document section p, .legal-intro, .legal-reference) { font-size: calc(16 * var(--tablet-unit)); line-height: 1.5; }
  html.paypos-android-webview .support-card { padding: calc(22 * var(--tablet-unit)); }
  html.paypos-android-webview .support-contact-row { min-height: calc(85 * var(--tablet-unit)); }
  html.paypos-android-webview .settings-submit { font-size: calc(18 * var(--tablet-unit)); min-height: calc(58 * var(--tablet-unit)); }
  html.paypos-android-webview .settings-card { align-self: start; width: 100%; }
  html.paypos-android-webview .legal-document { width: 100%; max-width: 1000px; margin-inline: auto; }
  html.paypos-android-webview .access-form { width: 100%; max-width: 720px; margin-inline: auto; }
  html.paypos-android-webview .confirmation-dialog { max-height: calc(100dvh - 36px); overflow-y: auto; }
  html.paypos-android-webview .reason-box { padding: calc(14 * var(--tablet-unit)); font-size: calc(15 * var(--tablet-unit)); line-height: 1.45; }
  html.paypos-android-webview .reason-label { font-size: calc(12 * var(--tablet-unit)); }
  html.paypos-android-webview body[data-page="paypos-echec"] .state-message { max-width: calc(520 * var(--tablet-unit)); }
  html.paypos-android-webview body[data-page="paypos-succes"] .detail-row { display: grid; grid-template-columns: minmax(100px, .7fr) minmax(0, 1.3fr); gap: 8px 16px; padding-block: 4px; }
  html.paypos-android-webview body[data-page="paypos-succes"] .detail-value { max-width: none; overflow: visible; white-space: normal; overflow-wrap: anywhere; }
}

@media (min-width: 900px) and (min-height: 480px) and (orientation: landscape) {
  html.paypos-android-webview body[data-page="paypos-accueil"] .screen { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 0 28px; }
  html.paypos-android-webview body[data-page="paypos-montant"] #amountForm { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  html.paypos-android-webview body[data-page="paypos-montant"] .amount-card { height: auto; min-height: calc(195 * var(--tablet-unit)); }
  html.paypos-android-webview body[data-page="paypos-montant"] .reference-field { min-height: calc(90 * var(--tablet-unit)); }
  html.paypos-android-webview .tips-page { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); grid-template-rows: auto auto; align-content: center; }
  html.paypos-android-webview .tips-base { align-self: start; }
  html.paypos-android-webview .tips-form { align-self: center; }
  html.paypos-android-webview body[data-page="paypos-canaux"] .screen { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  html.paypos-android-webview body[data-page="paypos-canaux"] #channelForm { grid-row: 3; align-self: start; padding-bottom: 0; }
  html.paypos-android-webview body[data-page="paypos-canaux"] .screen > h1 { grid-column: 1 / -1; }
  html.paypos-android-webview body[data-page="paypos-canaux"] .channel-list { grid-template-columns: 1fr; gap: calc(18 * var(--tablet-unit)); }
  html.paypos-android-webview body[data-page="paypos-canaux"] .channel-option { min-height: calc(120 * var(--tablet-unit)); }
  html.paypos-android-webview body[data-page="send-payment"] .screen { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  html.paypos-android-webview body[data-page="send-payment"] .form-card { margin-top: calc(22 * var(--tablet-unit)); }
  html.paypos-android-webview body[data-page="paypos-login"] .screen { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  html.paypos-android-webview body[data-page="paypos-login"] .login-form { max-width: 650px; }
  html.paypos-android-webview body[data-page="paypos-login"] .footer { grid-column: 1 / -1; }
  html.paypos-android-webview body[data-page="menu-page"] .settings-form:has(.settings-card) { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; align-items: start; }
  html.paypos-android-webview body[data-page="menu-page"] .settings-form:has(.settings-card) .settings-card { grid-column: auto; grid-row: auto; }
  html.paypos-android-webview body[data-page="menu-page"] .settings-form:has(.settings-card) .settings-card[aria-labelledby="tipsTitle"] { grid-column: 1 / -1; }
  html.paypos-android-webview body[data-page="menu-page"] .settings-form:has(.settings-card) .tip-settings-options { margin-top: 14px; }
  html.paypos-android-webview body[data-page="paypos-succes"] .screen,
  html.paypos-android-webview body[data-page="paypos-echec"] .screen { grid-template-rows: auto auto 1fr auto; }
  html.paypos-android-webview body[data-page="paypos-succes"] .state-card,
  html.paypos-android-webview body[data-page="paypos-echec"] .state-card { align-self: start; }
}

@media (min-width: 1100px) and (min-height: 600px) and (orientation: landscape) {
  html.paypos-android-webview .payment-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 24px; align-items: start; }
  html.paypos-android-webview body[data-page] .payment-groups .payment-list { grid-template-columns: 1fr; }
  html.paypos-android-webview .payment-groups .payment-group:nth-child(4) { grid-column: span 2; }
  html.paypos-android-webview body[data-page] .payment-groups .payment-group:nth-child(4) .payment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 600px) and (orientation: portrait) {
  html.paypos-android-webview .screen { max-width: 1100px; }
  html.paypos-android-webview body[data-page="paypos-login"] .screen { padding-top: 4vh; padding-bottom: 4vh; }
  html.paypos-android-webview body[data-page="paypos-login"] .login-form { width: 100%; max-width: 720px; margin-inline: auto; }
  html.paypos-android-webview body[data-page="paypos-login"] .intro { margin-top: 7vh; margin-bottom: 4vh; }
  html.paypos-android-webview body[data-page="paypos-canaux"] .channel-option { min-height: calc(125 * var(--tablet-unit)); }
  html.paypos-android-webview body[data-page="paypos-attente"] .screen,
  html.paypos-android-webview body[data-page="payment-detail"] .screen { display: block; max-width: 1100px; }
  html.paypos-android-webview .payment-list, html.paypos-android-webview .channel-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}

/* A narrow split-screen or a phone in landscape needs scrollable content and
   flexible columns; fixed tablet column minimums must not push controls out. */
@media (min-width: 700px) and (max-width: 999px) and (orientation: landscape) {
  html.paypos-android-webview body[data-page] .screen,
  html.paypos-android-webview body[data-page="paypos-montant"] #amountForm,
  html.paypos-android-webview .tips-page,
  html.paypos-android-webview body[data-page="menu-page"] .settings-form:has(.settings-card) { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
  html.paypos-android-webview .tips-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html.paypos-android-webview body[data-page="paypos-canaux"] .channel-list { grid-template-columns: 1fr; }
}

/* Keep tablet controls proportional without stretching a small keypad down
   to the navigation bar or squeezing identifiers into portrait columns. */
@media (min-width: 600px) and (min-height: 480px) {
  html.paypos-android-webview .amount-card .amount-copy { width: 100%; text-align: center; }
  html.paypos-android-webview .amount-card .amount { text-align: center; max-width: none; }
  html.paypos-android-webview body[data-page="paypos-montant"] .amount-label { padding-inline: 0; }
  html.paypos-android-webview .settings-card[aria-labelledby="onlineTestTitle"] > .tips-toggle { margin-top: 16px; }
  html.paypos-android-webview .settings-card[aria-labelledby="onlineTestTitle"] > p { margin: 12px 0 0; }
  html.paypos-android-webview .transaction-identifier strong { word-break: normal; overflow-wrap: break-word; }
}

@media (min-width: 600px) and (min-height: 800px) and (orientation: portrait) {
  html.paypos-android-webview body[data-page="paypos-montant"] #amountForm {
    display: grid; grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto minmax(320px, 1fr) auto;
    gap: calc(18 * var(--tablet-unit));
  }
  html.paypos-android-webview body[data-page="paypos-montant"] #amountForm > :is(.amount-title-row, .amount-card, .reference-field, .keypad, .pos-action-dock) { margin: 0; }
  html.paypos-android-webview body[data-page="paypos-montant"] .keypad {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(4, minmax(64px, 1fr)); gap: 12px;
    width: 100%; max-height: 560px; align-self: stretch;
  }
  html.paypos-android-webview body[data-page="paypos-montant"] .keypad > .key { width: auto; height: auto; min-height: 64px; margin: 0; }
  html.paypos-android-webview body[data-page="paypos-montant"] .pos-action-dock { align-self: end; }
}

@media (min-width: 600px) and (orientation: portrait) {
  html.paypos-android-webview body[data-page="list-links"] .transaction-list { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  html.paypos-android-webview body[data-page="list-links"] .transaction-row { min-height: 80px; padding: 8px 16px; }
  html.paypos-android-webview body[data-page="list-links"] .transaction-identifier { grid-template-columns: 90px minmax(0, 1fr); }
  html.paypos-android-webview body[data-page="paypos-attente"] .actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  html.paypos-android-webview body[data-page="paypos-attente"] .actions > * { margin: 0; }
  html.paypos-android-webview body[data-page="paypos-attente"] .state-message { max-width: 100%; }
}

@media (min-width: 1100px) and (min-height: 600px) and (orientation: landscape) {
  html.paypos-android-webview body[data-page="list-links"] .transaction-row { min-height: 84px; padding-block: 10px; }
  html.paypos-android-webview body[data-page="paypos-attente"] .actions { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  html.paypos-android-webview body[data-page="paypos-attente"] .state-message { max-width: 100%; }
  html.paypos-android-webview .payment-groups { gap: 4px 20px; }
  html.paypos-android-webview .payment-groups .payment-group { margin-bottom: 8px; }
  html.paypos-android-webview body[data-page] .payment-groups .payment-list { gap: 8px; }
  html.paypos-android-webview .payment-groups .payment-option { min-height: 80px; padding: 10px 14px; }
}

@media (min-width: 600px) and (min-height: 480px) {
  html.paypos-android-webview body[data-page="list-links"] .transaction-identifier { line-height: 1.3; }
  html.paypos-android-webview body[data-page="list-links"] .transaction-reference-id { margin-top: 1px; }
  html.paypos-android-webview body[data-page="list-links"] .transaction-identifier strong { font-size: calc(14 * var(--tablet-unit)); line-height: 1.3; }
  html.paypos-android-webview body[data-page="list-links"] .transaction-link-id strong { font-size: calc(17 * var(--tablet-unit)); }
  html.paypos-android-webview body[data-page="list-links"] .transaction-detail { font-size: calc(12 * var(--tablet-unit)); line-height: 1.3; margin-top: 1px; }
}
@media (min-width: 600px) and (orientation: portrait) {
  html.paypos-android-webview body[data-page="paypos-attente"] .link-information:has(.link-qr) { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 12px 20px; align-items: start; }
  html.paypos-android-webview body[data-page="paypos-attente"] .link-information:has(.link-qr) > h2 { grid-column: 1 / -1; margin-bottom: 0; }
  html.paypos-android-webview body[data-page="paypos-attente"] .link-information:has(.link-qr) > dl { margin: 0; }
  html.paypos-android-webview body[data-page="paypos-attente"] .link-information > .link-qr { margin: 0; padding: 0; border: 0; }
  html.paypos-android-webview body[data-page="paypos-attente"] .link-qr img { width: 220px; max-width: 100%; }
}
@media (min-width: 1100px) and (min-height: 600px) and (max-height: 850px) and (orientation: landscape) {
  html.paypos-android-webview .screen .topbar { margin-bottom: 12px; }
  html.paypos-android-webview body[data-page="paypos-attente"] .link-qr img { width: 210px; }
  html.paypos-android-webview .payment-groups .payment-option { min-height: 76px; }
}

@media (min-width: 700px) and (orientation: portrait) {
  html.paypos-android-webview .payment-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; align-items: start; }
  html.paypos-android-webview body[data-page] .payment-groups .payment-list { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  html.paypos-android-webview .payment-groups .payment-group { margin-bottom: 0; }
  html.paypos-android-webview .payment-groups .payment-option { min-height: 88px; padding: 12px; }
}

@media (min-width: 900px) and (min-height: 480px) and (orientation: landscape) {
  html.paypos-android-webview .screen:has(.support-card) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto auto 1fr; gap: 0 24px; align-content: start; }
  html.paypos-android-webview .screen:has(.support-card) > :is(.topbar, h1, .support-intro) { grid-column: 1 / -1; }
  html.paypos-android-webview .screen > .support-card { align-self: start; min-width: 0; }
}
