/* Auth + Binance credits (shared with cursor-referral payment flow) */
:root { --mint: var(--accent-2); --ink-soft: #ddd6cc; --bg: var(--bg-2); }
.page-shell { padding: 48px 0 72px; }
.auth-card-wrap { max-width: 520px; margin: 0 auto; }
.auth-card { padding: 28px; border-radius: var(--radius); border: 1px solid var(--line); background: var(--bg-2); }
.auth-card h1 { font-family: var(--font-display); font-size: clamp(1.6rem, 4vw, 2rem); margin: 8px 0 12px; }
.auth-lede { margin-bottom: 20px; }
.auth-form { display: grid; gap: 12px; }
.field-label { font-size: .88rem; font-weight: 600; }
.auth-input { width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line); background: var(--bg-3); color: var(--ink); font: inherit; }
.auth-input:focus { outline: 2px solid rgba(255,107,43,.35); border-color: rgba(255,107,43,.45); }
.auth-error { padding: 12px; border-radius: 12px; background: rgba(255,107,122,.12); border: 1px solid rgba(255,107,122,.35); color: var(--err); margin-bottom: 14px; }
.auth-ok { padding: 12px; border-radius: 12px; background: rgba(94,228,167,.12); border: 1px solid rgba(94,228,167,.35); color: var(--ok); margin-bottom: 14px; }
.auth-label-row { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.auth-forgot { color: var(--accent-2); font-size: .88rem; }
.auth-switch { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 18px; }
.btn-wide { width: 100%; }
.auth-subhead { font-size: 1.05rem; margin: 18px 0 10px; }
.auth-actions, .checkout-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }

.cr-binance-pay { margin: 0 0 14px; padding: 16px; border: 1px solid rgba(240,185,11,.25); border-radius: 14px; background: rgba(240,185,11,.06); }
.cr-binance-pay__title { margin: 0 0 12px; font-size: 1rem; }
.cr-binance-pay__grid { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.cr-binance-pay__qr img { width: 140px; height: 140px; border-radius: 12px; }
.cr-binance-pay__value { font-size: 1.4rem; font-weight: 800; word-break: break-all; }
.cr-binance-pay__label, .cr-binance-pay__note { display: block; color: var(--muted); font-size: .82rem; }

.cr-topup__hint { color: var(--muted); font-size: .92rem; margin: 0 0 12px; }
.cr-topup__form { display: grid; gap: 8px; }
.cr-topup__row { display: grid; grid-template-columns: minmax(110px, 140px) 1fr; gap: 10px; align-items: end; }
.cr-topup__label { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.cr-topup__form input { background: var(--bg-3); border: 1px solid var(--line); border-radius: 12px; padding: 12px; color: var(--ink); width: 100%; }
.cr-topup__actions { display: flex; gap: 8px; margin-top: 10px; }
.cr-topup__submit { flex: 1.5; }
.cr-topup__checkout { flex: 1; text-align: center; }
.cr-topup__pay { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; border-radius: 12px; border: 1px solid rgba(240,185,11,.35); background: rgba(240,185,11,.08); }
.cr-topup__pay-amount { font-size: 1.5rem; font-weight: 800; color: #f0b90b; }
.cr-topup__result { margin-top: 14px; padding: 16px; border-radius: 14px; border: 1px solid var(--line); text-align: center; }
.cr-topup__result[hidden] { display: none; }
.cr-topup__result.is-ok { border-color: rgba(94,228,167,.4); background: rgba(94,228,167,.08); }
.cr-topup__result.is-wait { border-color: rgba(240,185,11,.4); background: rgba(240,185,11,.08); }
.cr-topup__result.is-err { border-color: rgba(255,107,122,.4); background: rgba(255,107,122,.08); }
.cr-topup__result-icon { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto 8px; font-weight: 800; }
.cr-topup__result.is-wait .cr-topup__result-icon { border: 3px solid rgba(240,185,11,.25); border-top-color: #f0b90b; animation: cr-spin .7s linear infinite; }
@keyframes cr-spin { to { transform: rotate(360deg); } }

.account-compact .account-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 14px; }
.credit-balance-card { padding: 10px 14px; border-radius: 12px; border: 1px solid var(--line); text-align: right; background: var(--bg-3); }
.credit-balance-label { display: block; font-size: .72rem; text-transform: uppercase; color: var(--muted); }
.credit-balance-value { font-size: 1.8rem; font-weight: 800; color: var(--accent-2); }
.credit-cost-list { list-style: none; padding: 0; margin: 0 0 8px; display: grid; gap: 8px; }
.credit-cost-list li { display: flex; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-3); }
.credit-cost-list span { color: var(--muted); font-size: .92rem; }
.credit-log-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.credit-log-list li { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; font-size: .92rem; }
.credit-log-list .is-credit { color: var(--ok); font-weight: 700; }
.credit-log-list .is-debit { color: var(--err); font-weight: 700; }
.cr-order-suggest { list-style: none; padding: 0; margin: 4px 0 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.cr-order-suggest button { width: 100%; text-align: left; padding: 10px 12px; background: var(--bg-3); border: 0; color: var(--ink); cursor: pointer; }
.header-credits { display: inline-flex; flex-direction: column; align-items: flex-end; padding: 6px 10px; border-radius: 10px; border: 1px solid var(--line); font-size: .78rem; }
.header-credits-value { font-size: 1rem; font-weight: 800; color: var(--accent-2); }
