/* 月卡充值页：浅冷蓝、白色面板，登录状态保持高对比 */
body:not(.admin-mode){background:#eef5ff;color:#17233a}
#public-console.recharge-shell{min-height:100vh;background:transparent}
#public-console .recharge-panel{background:#fff;border-color:#d5e3f7;box-shadow:0 18px 50px rgba(53,92,145,.14)}
#public-console .recharge-brand{color:#315b91}
#public-console .brand-mark{background:#2f80ed;color:#fff;box-shadow:0 4px 14px rgba(47,128,237,.28)}
#public-console .recharge-panel h1{color:#162641}
#public-console .recharge-panel>.muted{color:#6e7f98}
#public-console .recharge-choice{background:#f7faff;border-color:#d8e5f6;color:#1f3555}
#public-console .recharge-choice:hover{border-color:#68a6ee;box-shadow:0 8px 20px rgba(47,128,237,.1)}
#public-console .recharge-choice small{color:#71839d}
#public-console .recharge-choice-primary,#public-console .primary-wide{background:#2f80ed;color:#fff;box-shadow:0 8px 22px rgba(47,128,237,.25)}
#public-console .recharge-choice-primary small{color:rgba(255,255,255,.82)}
#public-console .recharge-choice-douyin{border-color:#f0b5c5;background:#fff7fa;color:#8a2441}
#public-console .recharge-choice-douyin:hover{border-color:#e56b8d;box-shadow:0 8px 22px rgba(229,107,141,.14)}
#public-console .recharge-choice-douyin small{color:#a45f72}
#recharge-status[data-state="processing"]::before{content:"";display:inline-block;width:12px;height:12px;margin-right:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:recharge-spin .8s linear infinite}
@keyframes recharge-spin{to{transform:rotate(360deg)}}
#public-console #recharge-status[data-state="waiting_scan"],#public-console #recharge-status[data-state="waiting_confirm"],#public-console #recharge-status[data-state="processing"]{background:#edf5ff;color:#2c6db4}
#public-console #recharge-status[data-state="blocked"]{background:#fff0f3;color:#b13a5b}
#public-console .inline-qr{border-color:#dbe7f5;background:#f8fbff}
#public-console .qr-frame img{border-color:#c9dbf1;box-shadow:0 12px 30px rgba(53,92,145,.16)}
#public-console .qr-primary{color:#18345a}
#public-console .qr-secondary{color:#6e7f98}
#public-console .countdown{background:#edf5ff;color:#2c6db4}
#public-console .secondary,#public-console #refresh-qr,#public-console #retry-recharge,#public-console #copy-created-group,#public-console #submit{border-color:#b9d3f1;color:#2f72b7}
#public-console .secondary:hover,#public-console #refresh-qr:hover,#public-console #retry-recharge:hover,#public-console #copy-created-group:hover,#public-console #submit:hover{background:#edf5ff}

/* The two login paths are sequential choices, so keep one stable full-width column. */
#public-console .recharge-actions.recharge-actions-stacked{grid-template-columns:1fr}
#public-console .recharge-actions-stacked .recharge-choice{width:100%;min-height:68px}
#public-console .recharge-actions{grid-template-columns:1fr}
#public-console .recharge-choice-douyin{grid-column:auto;border-color:#d8e5f6;background:#f7faff;color:#1f3555}
#public-console .recharge-choice-douyin:hover{border-color:#68a6ee;box-shadow:0 8px 20px rgba(47,128,237,.1)}
#public-console .recharge-choice-douyin small{color:#71839d}
#public-console .recharge-choice-primary{border-color:#d8e5f6;background:#f7faff;color:#1f3555;box-shadow:none}
#public-console .recharge-choice-primary:hover{border-color:#68a6ee;box-shadow:0 8px 20px rgba(47,128,237,.1)}
#public-console .recharge-choice-primary small{color:#71839d}
#public-console button:focus-visible,#public-console input:focus-visible,#public-console textarea:focus-visible,.auth-confirm-dialog button:focus-visible{outline-color:#2f80ed}

/* 剪映权益充值页 · 深墨金商务主题 */
body:not(.admin-mode){background:radial-gradient(1100px 480px at 50% -140px,rgba(216,185,120,.13),transparent 62%),linear-gradient(180deg,#0b101c 0%,#0d1322 48%,#0a0f19 100%);color:#f0ece1}

#public-console.recharge-shell{box-sizing:border-box;padding:28px 14px;background:transparent}

#public-console .recharge-panel{box-sizing:border-box;max-width:460px;padding:30px 28px 26px;background:linear-gradient(180deg,#151c2b 0%,#121827 100%);border:1px solid rgba(216,185,120,.24);border-radius:16px;box-shadow:0 24px 64px rgba(2,6,16,.55),0 2px 10px rgba(2,6,16,.4);animation:recharge-rise .55s cubic-bezier(.2,.75,.25,1) both}

@keyframes recharge-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

#public-console .recharge-brand{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0;color:#e8e2d2;font-size:13px;font-weight:600;letter-spacing:.12em}

#public-console .brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#e9cd90 0%,#c69c52 100%);color:#241a08;font-size:16px;font-weight:700;box-shadow:0 4px 14px rgba(198,156,82,.35)}

#public-console .recharge-panel h1{margin:24px 0 8px;color:#f5f1e6;background:none;font-family:"Songti SC","Noto Serif SC","STSong",serif;font-size:26px;font-weight:600;line-height:1.35;letter-spacing:.02em;text-align:left;text-wrap:balance;-webkit-text-fill-color:currentColor}

#public-console .recharge-panel>.muted{margin:0;color:#a5adc0;font-size:13.5px;line-height:1.7;text-align:left}

/* 进度步骤 */
#public-console .recharge-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:26px 0 20px;padding:0;list-style:none;color:#6d7688;font-size:12px}

#public-console .recharge-steps li{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}

#public-console .recharge-steps li:not(:last-child)::after{content:"";position:absolute;left:calc(50% + 17px);right:calc(-50% + 17px);top:12px;height:1px;background:rgba(255,255,255,.1)}

#public-console .recharge-steps span{position:relative;z-index:1;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#1b2334;border:1px solid rgba(255,255,255,.08);color:#7d8698;font-weight:700;transition:all .3s ease}

#public-console .recharge-steps .active{color:#e6c88c}

#public-console .recharge-steps .active span{background:linear-gradient(135deg,#e9cd90,#c69c52);border-color:transparent;color:#241a08;box-shadow:0 3px 12px rgba(198,156,82,.4)}

#public-console .recharge-steps .completed{color:#54c495}

#public-console .recharge-steps .completed span{background:rgba(84,196,149,.16);border-color:rgba(84,196,149,.4);color:#54c495}

#public-console .recharge-steps .completed:not(:last-child)::after{background:rgba(84,196,149,.45)}

#public-console .recharge-steps .error{color:#ec857b}

#public-console .recharge-steps .error span{background:rgba(236,133,123,.16);border-color:rgba(236,133,123,.45);color:#ec857b}

/* 卡密输入 */
#public-console .card-entry{margin-top:22px}

#public-console .card-entry label{display:block;margin-bottom:8px;color:#cfc6b2;font-size:13px;font-weight:600;letter-spacing:.06em}

#public-console .card-entry input{box-sizing:border-box;width:100%;height:46px;margin:0;padding:0 14px;border:1px solid rgba(216,185,120,.28);border-radius:10px;background:#0c1220;color:#f0ece1;font-size:15px;letter-spacing:.06em;text-transform:uppercase;transition:border-color .2s ease,box-shadow .2s ease}

#public-console .card-entry input::placeholder{color:#5d6577;text-transform:none;letter-spacing:0}

#public-console .card-entry input:focus{outline:none;border-color:#d8b978;box-shadow:0 0 0 3px rgba(216,185,120,.16)}

#public-console .field-error{margin-top:8px;color:#ec857b;font-size:13px;min-height:0}

#public-console .primary-wide{width:100%;min-height:46px;margin-top:14px;border:0;border-radius:10px;background:linear-gradient(135deg,#e9cd90 0%,#c69c52 100%);color:#241a08;font-size:15px;font-weight:700;letter-spacing:.1em;box-shadow:0 8px 22px rgba(198,156,82,.32);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}

#public-console .primary-wide:hover{filter:brightness(1.06);box-shadow:0 10px 26px rgba(198,156,82,.42)}

#public-console .primary-wide:active{transform:translateY(1px)}

#public-console .primary-wide:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;filter:none}

/* 卡密信息摘要 */
#public-console .recharge-summary{margin:18px 0;padding:14px 16px;border:1px solid rgba(216,185,120,.28);border-radius:12px;background:rgba(216,185,120,.07);color:#e3d9c2}

#public-console .recharge-summary strong{color:#f0e4c4;font-size:15px;letter-spacing:.03em}

#public-console .recharge-summary .muted{margin-top:5px;color:#a5a08d;font-size:12.5px;line-height:1.6}

/* 充值方式选择 */
#public-console .recharge-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}

#public-console .recharge-actions.hidden{display:none}

#public-console .recharge-choice{box-sizing:border-box;min-width:0;min-height:72px;margin:0;padding:12px 10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#171e2d;color:#e8e4d8;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}

#public-console .recharge-choice:hover{border-color:rgba(216,185,120,.45);transform:translateY(-1px)}

#public-console .recharge-choice span,#public-console .recharge-choice small{display:block;white-space:normal}

#public-console .recharge-choice span{font-size:15px;font-weight:700}

#public-console .recharge-choice small{margin-top:5px;color:#8e97a9;font-size:11.5px;font-weight:400;line-height:1.5}

#public-console .recharge-choice-primary{border-color:transparent;background:linear-gradient(135deg,#e9cd90 0%,#c69c52 100%);color:#241a08;box-shadow:0 8px 22px rgba(198,156,82,.3)}

#public-console .recharge-choice-primary:hover{border-color:transparent;box-shadow:0 10px 28px rgba(198,156,82,.42)}

#public-console .recharge-choice-primary small{color:rgba(36,26,8,.72)}

#public-console .recharge-choice-douyin{grid-column:1/-1;border-color:rgba(71,181,176,.38);background:#132527;color:#eefcfb}

#public-console .recharge-choice-douyin:hover{border-color:rgba(83,211,203,.68);box-shadow:0 8px 22px rgba(24,126,121,.18)}

#public-console .recharge-choice-douyin small{color:#9fc8c5}

#public-console .recharge-choice:disabled{cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}

/* 状态行 */
#public-console #recharge-status{min-height:20px;margin-top:14px;padding:0;background:transparent;color:#98a0b3;text-align:center;font-size:13px;border-radius:999px}

#public-console #recharge-status[data-state]{padding:7px 14px}

#public-console #recharge-status[data-state="success"]{background:rgba(84,196,149,.13);color:#63d3a3;font-weight:700}

#public-console #recharge-status[data-state="error"],#public-console #recharge-status[data-state="expired"]{background:rgba(236,133,123,.12);color:#f09389}

#public-console #recharge-status[data-state="revoked"]{background:rgba(255,255,255,.07);color:#9aa3b5;font-weight:600}

#public-console #recharge-status[data-state="processing"],#public-console #recharge-status[data-state="verifying"],#public-console #recharge-status[data-state="generating"],#public-console #recharge-status[data-state="waiting_scan"],#public-console #recharge-status[data-state="waiting_confirm"]{background:rgba(216,185,120,.1);color:#e2c48d}

/* 二维码区 */
#public-console .inline-qr{margin-top:20px;padding:20px 18px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.03)}

#public-console .inline-qr.hidden{display:none}

#public-console .qr-frame{display:flex;justify-content:center;width:auto;aspect-ratio:auto;margin:0 auto 16px;border:0;background:transparent}

#public-console .qr-frame.hidden{display:none}

#public-console .qr-frame img{box-sizing:border-box;width:220px;height:220px;padding:10px;border:1px solid rgba(216,185,120,.3);border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(2,6,16,.5)}

#public-console .qr-primary{margin:0 0 6px;color:#f0e9d6;font-size:17px;font-weight:700;text-align:center;letter-spacing:.04em}

#public-console .qr-secondary{max-width:340px;margin:0 auto;color:#98a0b3;font-size:13px;line-height:1.65;text-align:center}

#public-console .countdown{display:inline-block;margin:12px auto 0;padding:5px 12px;border-radius:999px;background:rgba(216,185,120,.12);color:#e2c48d;font-variant-numeric:tabular-nums;font-weight:700}

#public-console .public-reader{min-height:280px}

#public-console #reader{background:#fff;border-radius:12px;overflow:hidden}

/* 账号资料与小组 */
#public-console .recharge-profile{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0}

#public-console .recharge-profile.hidden{display:none}

#public-console .recharge-profile img{width:56px;height:56px;border-radius:50%;object-fit:cover;background:#1b2334;border:2px solid rgba(216,185,120,.4)}

#public-console .recharge-profile .muted{color:#8e97a9;font-size:12px}

#public-console .recharge-profile strong{color:#f0ece1;font-size:17px}

#public-console .created-group{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:10px 14px;border:1px solid rgba(84,196,149,.3);border-radius:10px;background:rgba(84,196,149,.08);color:#cfe9db;font-size:13px}

#public-console .created-group.hidden{display:none}

#public-console .created-group strong{color:#63d3a3}

/* 次要按钮与链接 */
#public-console .secondary,#public-console #refresh-qr,#public-console #retry-recharge,#public-console #copy-created-group,#public-console #submit{width:auto;min-height:38px;margin:12px auto 0;padding:8px 18px;border:1px solid rgba(216,185,120,.35);border-radius:9px;background:transparent;color:#e2c48d;font-size:13px;font-weight:600;transition:background .18s ease,border-color .18s ease}

#public-console .secondary:hover,#public-console #refresh-qr:hover,#public-console #retry-recharge:hover,#public-console #copy-created-group:hover,#public-console #submit:hover{background:rgba(216,185,120,.1)}

#public-console #refresh-qr{display:block;width:100%}

#public-console #refresh-qr.hidden,#public-console #retry-recharge.hidden{display:none}

#public-console .change-card{display:block;width:auto;margin:16px auto 0;padding:6px 10px;border:0;background:transparent;color:#a3948a;font-size:13px;text-decoration:underline;text-underline-offset:3px;transition:color .18s ease}

#public-console .change-card:hover{color:#e2c48d}

/* 手动输入二维码 */
#public-console details{margin-top:14px;color:#98a0b3;font-size:13px}

#public-console details.hidden{display:none}

#public-console details summary{cursor:pointer;color:#a5adc0}

#public-console details textarea{box-sizing:border-box;width:100%;margin-top:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:#0c1220;color:#f0ece1;font-size:13px}

#public-console details textarea:focus{outline:none;border-color:#d8b978;box-shadow:0 0 0 3px rgba(216,185,120,.14)}

#public-console #submit{display:block;width:100%}

/* 授权确认弹窗 */
#public-console .auth-confirm-dialog,.auth-confirm-dialog{box-sizing:border-box;width:min(calc(100% - 28px),400px);padding:26px;border:1px solid rgba(216,185,120,.3);border-radius:16px;background:linear-gradient(180deg,#171e2e,#131a29);color:#f0ece1;box-shadow:0 28px 72px rgba(2,6,16,.65)}

.auth-confirm-dialog::backdrop{background:rgba(5,8,15,.7);backdrop-filter:blur(3px)}

.auth-confirm-dialog:not([open]){display:none}

.auth-confirm-dialog .auth-dialog-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:16px;border-radius:10px;background:linear-gradient(135deg,#e9cd90,#c69c52);color:#241a08;font-size:19px;font-weight:700}

.auth-confirm-dialog h2{margin:0 0 12px;color:#f5f1e6;font-family:"Songti SC","Noto Serif SC","STSong",serif;font-size:20px;font-weight:600;line-height:1.4;letter-spacing:.02em}

.auth-confirm-dialog p{margin:0 0 8px;color:#d8d2c2;font-size:14.5px;line-height:1.65}

.auth-confirm-dialog p.muted{color:#98a0b3;font-size:13px}

.auth-confirm-dialog .dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}

.auth-confirm-dialog .dialog-actions button{min-height:44px;margin:0;border-radius:10px;font-size:14px;font-weight:700}

.auth-confirm-dialog #cancel-auth-recharge{border:1px solid rgba(255,255,255,.16);background:transparent;color:#c3cadb}

.auth-confirm-dialog #cancel-auth-recharge:hover{background:rgba(255,255,255,.06)}

.auth-confirm-dialog #confirm-auth-recharge{border:0;background:linear-gradient(135deg,#e9cd90,#c69c52);color:#241a08;box-shadow:0 6px 18px rgba(198,156,82,.32)}

/* 焦点可达性 */
#public-console button:focus-visible,#public-console input:focus-visible,#public-console textarea:focus-visible,.auth-confirm-dialog button:focus-visible{outline:2px solid #d8b978;outline-offset:2px}

@media (prefers-reduced-motion:reduce){
#public-console .recharge-panel{animation:none}
#public-console .recharge-steps span,#public-console .recharge-choice,#public-console .primary-wide{transition:none}
}

@media(max-width:520px){
#public-console.recharge-shell{padding:18px 12px;place-items:start center}
#public-console .recharge-panel{padding:24px 20px 22px;border-radius:14px}
#public-console .recharge-panel h1{font-size:23px}
#public-console .recharge-actions{grid-template-columns:1fr}
#public-console .recharge-choice{min-height:64px}
#public-console .qr-frame img{width:min(220px,72vw);height:min(220px,72vw)}
}

/* Theme overrides kept last so legacy rules above cannot mask the monthly UI. */
body:not(.admin-mode){background:#eef5ff;color:#17233a}
#public-console .recharge-panel{background:#fff;border-color:#d5e3f7;box-shadow:0 18px 50px rgba(53,92,145,.14)}
#public-console .recharge-brand{color:#315b91}
#public-console .brand-mark{background:#2f80ed;color:#fff;box-shadow:0 4px 14px rgba(47,128,237,.28)}
#public-console .recharge-panel h1{color:#162641}
#public-console .recharge-panel>.muted{color:#6e7f98}
#public-console .recharge-choice{background:#f7faff;border-color:#d8e5f6;color:#1f3555}
#public-console .recharge-choice:hover{border-color:#68a6ee;box-shadow:0 8px 20px rgba(47,128,237,.1)}
#public-console .recharge-choice small{color:#71839d}
#public-console .recharge-choice-primary,#public-console .primary-wide{background:#2f80ed;color:#fff;box-shadow:0 8px 22px rgba(47,128,237,.25)}
#public-console .recharge-choice-primary small{color:rgba(255,255,255,.82)}
#public-console .recharge-choice-douyin{border-color:#f0b5c5;background:#fff7fa;color:#8a2441}
#public-console .recharge-choice-douyin:hover{border-color:#e56b8d;box-shadow:0 8px 22px rgba(229,107,141,.14)}
#public-console .recharge-choice-douyin small{color:#a45f72}
#public-console #recharge-status[data-state="waiting_scan"],#public-console #recharge-status[data-state="waiting_confirm"],#public-console #recharge-status[data-state="processing"]{background:#edf5ff;color:#2c6db4}
#public-console #recharge-status[data-state="blocked"]{background:#fff0f3;color:#b13a5b}
#public-console .inline-qr{border-color:#dbe7f5;background:#f8fbff}
#public-console .qr-frame img{border-color:#c9dbf1;box-shadow:0 12px 30px rgba(53,92,145,.16)}
#public-console .qr-primary{color:#18345a}
#public-console .qr-secondary{color:#6e7f98}
#public-console .countdown{background:#edf5ff;color:#2c6db4}
#public-console .secondary,#public-console #refresh-qr,#public-console #retry-recharge,#public-console #copy-created-group,#public-console #submit{border-color:#b9d3f1;color:#2f72b7}
#public-console .secondary:hover,#public-console #refresh-qr:hover,#public-console #retry-recharge:hover,#public-console #copy-created-group:hover,#public-console #submit:hover{background:#edf5ff}
