.plm-payment-page { margin:0; background:#080b10; color:#f4f6fa; font:16px/1.55 Satoshi,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color-scheme:dark; }
.plm-payment-page *, .plm-billing-view * { box-sizing:border-box; min-width:0; }
.plm-payment-page [hidden], .plm-billing-view [hidden] { display:none; }
.plm-payment-page a, .plm-billing-view a { color:#8fbbff; text-underline-offset:4px; }
.plm-payment-header { max-width:1160px; margin:auto; padding:24px; display:flex; gap:20px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.plm-payment-brand { display:flex; align-items:center; gap:10px; font-weight:650; color:#fff!important; text-decoration:none; }
.plm-payment-layout { max-width:1120px; margin:28px auto 64px; padding:0 24px; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:24px; align-items:start; }
.plm-billing-panel { background:#10151e; border:1px solid #262e3b; border-radius:24px; padding:28px; overflow-wrap:anywhere; }
.plm-billing-panel h1 { margin:8px 0 12px; font-size:clamp(24px,3vw,32px); line-height:1.2; letter-spacing:-.025em; }
.plm-billing-panel h2, .plm-billing-dialog h2 { margin:0 0 14px; font-size:22px; line-height:1.3; }
.plm-billing-panel h3 { font-size:18px; margin:8px 0; }
.plm-billing-label { margin:0; font-size:14px; color:#a9b4c5; }
.plm-billing-muted { color:#aab4c3; font-size:14px; }
.plm-payment-total { font-size:32px; font-weight:650; line-height:1.3; margin:18px 0 4px; }
.plm-payment-summary dl, .plm-billing-view dl { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 16px; }
.plm-payment-summary dd, .plm-billing-view dd { margin:0; text-align:right; }
.plm-payment-summary dt { color:#aab4c3; }
.plm-payment-summary ul { padding-left:20px; }
.plm-billing-primary, .plm-billing-secondary, .plm-billing-text { font:inherit; cursor:pointer; border-radius:12px; min-height:46px; padding:11px 17px; line-height:1.4; display:inline-flex; align-items:center; justify-content:center; text-align:center; gap:8px; text-decoration:none; border:1px solid transparent; transition:background 160ms,border-color 160ms; white-space:normal; }
.plm-billing-primary { background:#276ce1; color:#fff!important; font-weight:600; }
.plm-billing-primary:hover { background:#357cec; }
.plm-billing-secondary { background:#1b2330; border-color:#344052; color:#f3f6fc!important; }
.plm-billing-text { background:none; color:#9dc6ff; text-decoration:underline; }
.plm-payment-page :focus-visible, .plm-billing-view :focus-visible { outline:3px solid #90bbff; outline-offset:4px; }
.plm-payment-page button:disabled, .plm-billing-view button:disabled { opacity:.65; cursor:wait; }
#confirmPayment { width:100%; margin-top:24px; }
#contactElement { margin-bottom:16px; }
#paymentStatus { color:#b7c3d4; }
#paymentError { padding:12px 14px; border:1px solid #784238; background:#2b1b1a; color:#ffc7bd; border-radius:12px; }
.plm-payment-security { text-align:center; }
.plm-payment-recovery { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.plm-billing-dialog { background:#10151e; color:#f4f6fa; border:1px solid #344052; border-radius:24px; max-width:min(540px,calc(100vw - 32px)); padding:28px; }
.plm-billing-dialog::backdrop { background:rgb(0 0 0 / .72); }
.plm-billing-view { display:grid; gap:20px; color:#f4f6fa; }
.plm-billing-top { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.plm-billing-view .plm-billing-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.plm-billing-row { display:flex; align-items:center; gap:16px; padding:18px 0; border-bottom:1px solid #283141; flex-wrap:wrap; }
.plm-billing-row:last-child { border-bottom:0; padding-bottom:0; }
.plm-billing-row > div:first-child { flex:1 1 180px; }
.plm-billing-row small { display:block; color:#aab4c3; font-size:14px; }
.plm-billing-state { border-radius:99px; background:#202a38; padding:5px 11px; font-size:14px; }
.plm-billing-view address { font-style:normal; color:#c3ccda; }
@media(max-width:700px) { .plm-payment-header { padding:18px 16px; font-size:14px; } .plm-payment-layout { grid-template-columns:1fr; margin:10px auto 32px; padding:0 16px; gap:16px; } .plm-billing-panel { padding:20px; } .plm-billing-top { grid-template-columns:1fr; } .plm-payment-recovery > * { flex:1 1 200px; } }
@media(prefers-reduced-motion:reduce) { .plm-payment-page *, .plm-billing-view * { transition:none; scroll-behavior:auto; } }
