.deposit-dialog { width: min(calc(100% - 32px),600px); max-height: calc(100svh - 40px); margin: auto; padding: 42px; overflow: auto; border: 0; border-radius: 20px; background: #f7f5f1; color: #0b0b0d; font: 14px/1.6 Sora,system-ui,sans-serif; box-shadow: 0 30px 100px #0005; }
.deposit-dialog::backdrop { background: #0009; backdrop-filter: blur(8px); }
.deposit-close { position: absolute; top: 14px; right: 16px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #eae6de; color: #0b0b0d; font-size: 24px; cursor: pointer; }
.deposit-eyebrow { color: #80652f; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.deposit-dialog h2 { margin: 16px 0; font-size: 34px; font-weight: 300; letter-spacing: -.04em; line-height: 1.2; }
.deposit-intro,.deposit-note { color: #696866; }
.deposit-details { margin: 26px 0; }
.deposit-details > div { display: grid; grid-template-columns: 100px 1fr; gap: 20px; padding: 9px 0; }
.deposit-details dt { color: #696866; font-size: 12px; }
.deposit-details dd { margin: 0; overflow-wrap: anywhere; }
.deposit-total { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-radius: 12px; background: #ebe3d4; }
.deposit-total strong { font-size: 28px; font-weight: 400; }
.deposit-note { font-size: 12px; }
.deposit-consent { display: flex; gap: 12px; align-items: flex-start; padding-top: 14px; font-size: 12px; cursor: pointer; }
.deposit-consent input { margin-top: 5px; width: 18px; height: 18px; flex-shrink: 0; accent-color: #80652f; }
.deposit-consent a { color: #80652f; text-decoration: underline; }
.deposit-error { min-height: 18px; color: #9b3333; font-size: 12px; }
.deposit-pay { width: 100%; min-height: 48px; padding: 12px 20px; border: 0; border-radius: 999px; background: #b89a5e; color: #0b0b0d; font: 500 14px Sora,system-ui,sans-serif; cursor: pointer; }
.deposit-pay:disabled { opacity: .65; cursor: wait; }
.deposit-secure { margin-bottom: 0; color: #696866; font-size: 10px; text-align: center; }
.payment-page { margin: 0; padding: 40px 24px; min-height: 100svh; font: 14px/1.65 Sora,system-ui,sans-serif; color: #0b0b0d; background: #f7f5f1; }
.payment-brand img { width: 190px; filter: brightness(0); }
.payment-card { width: min(100%,680px); margin: 64px auto; padding: 48px; background: #fff; border-radius: 18px; box-shadow: 0 12px 60px #00000007; }
.payment-card h1 { font-size: 38px; line-height: 1.2; font-weight: 300; letter-spacing: -.04em; }
.payment-card > p { color: #696866; }
.payment-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 32px; }
.payment-actions a,.payment-actions button { min-height: 44px; display: inline-flex; align-items: center; padding: 10px 20px; border: 0; border-radius: 999px; color: #0b0b0d; background: #ebe6dc; font: inherit; text-decoration: none; cursor: pointer; }
.payment-actions #payment-retry { background: #b89a5e; }
.payment-actions [hidden] { display: none; }
@media(max-width:620px){.deposit-dialog { padding: 38px 24px 26px; }.deposit-dialog h2 { font-size: 29px; }.payment-card { margin-top: 40px; padding: 28px 24px; }.payment-card h1 { font-size: 30px; }.deposit-details>div { grid-template-columns: 85px 1fr; gap: 12px; }}
