/* Financial dialogs share the portal identity. QR contrast stays unchanged. */
.referral-pixel-provider { padding-top: 18px; margin-top: 22px; border-top: 1px solid var(--c_app_d0e2ee, #d0e2ee); }
.referral-pixel-provider h4 { font-size: 18px; margin: 0 0 14px; color: var(--c_app_153c56, #153c56); }
.modal.modal--payment { width: min(100%, 460px); color: var(--c_app_eefcff, #eefcff); background: var(--c_app_071b2e, #071b2e); border: 1px solid var(--c_app_23516b, #23516b); border-radius: 26px; }
.modal--payment .modal__header { background: var(--c_app_092239, #092239); border-bottom: 1px solid var(--c_app_23516b, #23516b); padding: 24px; }
.modal--payment .modal__header h2 { color: var(--c_app_eefcff, #eefcff); font-size: 26px; }
.modal--payment .modal__header p { color: var(--c_app_72e8fa, #72e8fa); font-size: 12px; }
.modal--payment .modal__body { padding: 24px; }
.modal--payment .summary-card { margin-bottom: 20px; padding: 20px; border: 1px solid var(--c_app_286780, #286780); border-radius: 18px; background: linear-gradient(130deg, var(--c_app_0c3652, #0c3652), var(--c_app_10516a, #10516a)); }
.modal--payment .summary-card span { color: var(--c_app_b6dce8, #b6dce8); font-size: 12px; }
.modal--payment .summary-card strong { color: var(--c_app_eefcff, #eefcff); font-size: 26px; overflow-wrap: anywhere; }
.modal--payment .summary-card b { color: var(--c_app_75e7f6, #75e7f6); background: var(--c_app_103f57, #103f57); }
.modal--payment .summary-card .ui-icon { width: 24px; height: 24px; fill: none; stroke: currentColor; }
.modal--payment .form-field label { color: var(--c_app_c9dfe9, #c9dfe9); font-size: 14px; text-transform: none; letter-spacing: 0; }
.modal--payment .form-field input, .modal--payment .form-field select { color-scheme: dark; background: var(--c_app_0b2a40, #0b2a40); color: var(--c_app_eefcff, #eefcff); border: 1px solid var(--c_app_31556d, #31556d); border-radius: 12px; font-size: 16px; }
.modal--payment .form-field input::placeholder { color: var(--c_app_91acbf, #91acbf); }
.modal--payment .form-field input:focus, .modal--payment .form-field select:focus { outline: 2px solid var(--c_app_66dced, #66dced); outline-offset: 2px; }
.modal--payment .quick-values { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.modal--payment .quick-values button { background: var(--c_app_0c3048, #0c3048); color: var(--c_app_e4faff, #e4faff); border-color: var(--c_app_39667d, #39667d); border-radius: 12px; min-height: 54px; }
.modal--payment .quick-values button:is(:hover, :focus-visible, .is-active) { background: var(--c_app_196780, #196780); color: var(--c_app_ffffff, #fff); border-color: var(--c_app_62dced, #62dced); }
.modal--payment .payment-coupon { min-width: 0; }
.modal--payment .payment-coupon > summary { width: fit-content; min-height: 44px; align-content: center; color: var(--c_app_b0c7d6, #b0c7d6); font-size: 13px; cursor: pointer; text-underline-offset: 4px; }
.modal--payment .payment-coupon > summary:is(:hover, :focus-visible) { color: var(--c_app_72e8fa, #72e8fa); text-decoration: underline; }
.modal--payment .payment-coupon > summary:focus-visible { outline: 2px solid var(--c_app_66dced, #66dced); outline-offset: 3px; border-radius: 4px; }
.modal--payment .payment-coupon[open] > .form-field { margin-top: 8px; }
.modal--payment .payment-limits, .modal--payment .modal__lead, .modal--payment .payment-pix-qr figcaption { color: var(--c_app_b0c7d6, #b0c7d6); font-size: 14px; line-height: 1.5; }
.modal--payment .security-note { color: var(--c_app_b2cddd, #b2cddd); background: var(--c_app_0a273c, #0a273c); border-radius: 14px; font-size: 13px; line-height: 1.6; padding: 16px; }
.modal--payment .action-button { background: var(--c_app_43d2e9, #43d2e9); color: var(--c_app_042438, #042438); border-radius: 14px; min-height: 52px; font-size: 15px; text-transform: none; letter-spacing: 0; box-shadow: none; }
.modal--payment .action-button:hover { background: var(--c_app_7ce7f5, #7ce7f5); color: var(--c_app_042438, #042438); }
.modal--payment .action-button--secondary, .modal--payment .modal__header .icon-button { background: var(--c_app_12364d, #12364d); color: var(--c_app_c9edf6, #c9edf6); }
.modal--payment .payment-pix-code { background: var(--c_app_0b2a40, #0b2a40); border-color: var(--c_app_31556d, #31556d); }
.modal--payment .payment-pix-code code { color: var(--c_app_c5e6f1, #c5e6f1); }
.modal--payment .payment-pix-code button { background: var(--c_app_43d2e9, #43d2e9); color: var(--c_app_042438, #042438); font-size: 14px; }
.modal--payment .payment-demo-notice { margin: 16px 0; color: var(--c_app_b6dce8, #b6dce8); font-size: 13px; line-height: 1.5; text-align: center; }
.modal--payment .modal__header.modal__header--compact { justify-content: flex-end; padding: 16px 20px 0; border-bottom: 0; background: none; }
.modal--payment .modal__header--compact .icon-button { min-width: 44px; min-height: 44px; }
.modal--payment .modal__header--compact + .modal__body { padding-top: 12px; }
.modal--payment .payment-demo-code code { font-size: 13px; user-select: text; -webkit-user-select: text; }
.modal--payment .payment-demo-code button { min-height: 44px; }
.modal--payment .payment-demo-code :is(code, button):focus-visible { outline: 2px solid var(--c_app_66dced, #66dced); outline-offset: 3px; border-radius: 4px; }
.modal--payment .payment-demo-copy-status { min-height: 1.5em; margin: 0; color: var(--c_app_c5e6f1, #c5e6f1); font-size: 13px; line-height: 1.5; }
.modal--payment .payment-history > article { background: var(--c_app_0b2a40, #0b2a40); border-color: var(--c_app_31556d, #31556d); color: var(--c_app_e4faff, #e4faff); }
.deposit-shortcut { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 14px; border: 1px solid var(--c_app_69e2f0, #69e2f0); border-radius: 13px; background: var(--c_app_3ed0e7, #3ed0e7); color: var(--c_app_032b40, #032b40); font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; flex-shrink: 0; }
.deposit-shortcut svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.deposit-shortcut:is(:hover, :focus-visible) { background: var(--c_app_8beef8, #8beef8); color: var(--c_app_032b40, #032b40); outline: 2px solid var(--c_app_69e2f0, #69e2f0); outline-offset: 2px; }
@media (max-width: 760px) {
  .portal-topbar .deposit-shortcut { width: 44px; padding: 0; }
  .deposit-shortcut > span { display: none; }
  .portal-topbar { gap: 8px; }
  .portal-topbar .brand { min-width: 44px; min-height: 44px; flex: 0 0 auto; }
  .portal-topbar .topbar-account { min-width: 0; gap: 6px; }
  .portal-topbar .diamond-balance { min-width: 60px; min-height: 44px; padding: 6px; gap: 6px; flex: 0 0 auto; }
  .portal-topbar .diamond-balance > .account-icon { display: grid; width: 22px; height: 22px; flex: 0 0 auto; background: none; color: var(--c_app_72e8fa, #72e8fa); box-shadow: none; }
  .portal-topbar .diamond-balance .account-icon svg { width: 20px; height: 20px; }
  .portal-topbar .diamond-balance__copy small { display: none; }
  .portal-topbar .diamond-balance__copy strong { font-size: 15px; white-space: nowrap; }
  .modal--payment .modal__body, .modal--payment .modal__header { padding: 20px; }
}
/* Small phones keep full balances without squeezing the diamond or deposit tap targets. */
@media (max-width: 355px) {
  .portal-topbar { height: calc(110px + env(safe-area-inset-top)); display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 8px; }
  .portal-topbar .topbar-account { display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 5px; }
  .portal-topbar .diamond-balance { grid-column: 1; grid-row: 1; }
  .portal-topbar .deposit-shortcut { grid-column: 2; grid-row: 1; height: 44px; }
  .portal-topbar .balance-pill { grid-column: 1 / -1; grid-row: 2; min-width: 0; min-height: 44px; }
  .portal-main { top: calc(110px + env(safe-area-inset-top)); }
}
