/* ===== 我的钱包（user-center-wallet.js）——余额 hero 是全页唯一实底签名 ===== */
.ac-grid { position: relative; }
@media (min-width: 769px) {
    .ac-grid { grid-template-columns: 1fr 1fr; align-items: start; }
    .ac-card--wide { grid-column: 1 / -1; }
}

.ac-card--hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(150deg, #1d3d5f 0%, #162946 58%, #122338 100%);
    border-color: rgba(56, 189, 248, 0.30);
}
.ac-card--hero::before {
    content: "";
    position: absolute; right: -70px; top: -90px; width: 240px; height: 240px; border-radius: 50%;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.16) 0%, transparent 65%);
    pointer-events: none;
}
.ac-card--hero::after {
    content: "";
    position: absolute; top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, rgba(56, 189, 248, 0.65), rgba(56, 189, 248, 0) 62%);
}
.ac-card--hero:hover { border-color: rgba(56, 189, 248, 0.30); }
.ac-wallet-balance { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; row-gap: 6px; }
.ac-wallet-balance b { font-size: 40px; font-weight: 700; line-height: 1.1; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; color: var(--sg-text); }
.ac-wallet-balance > span { font-size: 13px; color: rgba(241, 245, 249, 0.66); }
.ac-wallet-balance .ac-badge { margin-left: auto; }
.ac-badge.mode-trial { color: rgba(241, 245, 249, 0.72); background: rgba(255, 255, 255, 0.08); }
.ac-badge.mode-formal { color: #7dd3fc; background: rgba(56, 189, 248, 0.14); }
.ac-badge.mode-off { color: rgba(241, 245, 249, 0.72); background: rgba(255, 255, 255, 0.08); }
.ac-wallet-gifts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 10px; font-size: 13px; color: rgba(203, 213, 225, 0.85); }
.ac-card--hero .ac-wallet-bar { background: rgba(255, 255, 255, 0.14); }
.ac-wallet-warn { margin: 12px 0 0; padding: 8px 12px; border-radius: 8px; font-size: 13px; background: rgba(234, 88, 12, 0.12); color: #fdba74; }
.ac-wallet-warn.formal { background: rgba(248, 113, 113, 0.12); color: #fca5a5; }
.ac-wallet-overdraft { margin-top: 12px; display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: #fbbf24; }

.ac-wallet-bar { height: 5px; margin-top: 5px; border-radius: 999px; background: var(--sg-bg-muted, #f1f5f9); overflow: hidden; }
.ac-wallet-bar i { display: block; height: 100%; border-radius: 999px; background: var(--sg-accent, #38bdf8); }
.ac-wallet-overdraft .ac-wallet-bar i { background: #d97706; }
.ac-wallet-saved { color: var(--sg-success, #34d399); }

.ac-wallet-task { max-width: 680px; margin-top: 10px; padding: 10px 12px; border: 1px solid var(--sg-border); border-radius: 10px; background: var(--sg-bg-soft); }
.ac-wallet-task.ready { border-color: var(--sg-border-hover); background: var(--sg-blue-mid); }
.ac-wallet-task.claimed { opacity: 0.72; }
.ac-wallet-task-row { display: flex; align-items: center; gap: 12px; }
.ac-wallet-task-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.ac-wallet-task-main b { font-size: 14px; }
.ac-wallet-task-desc { font-size: 12px; color: var(--sg-text-muted); font-variant-numeric: tabular-nums; }
.ac-wallet-task-reward { font-size: 14px; font-weight: 700; color: var(--sg-success, #34d399); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ac-wallet-task-ok { font-size: 12px; color: var(--sg-success, #34d399); white-space: nowrap; }
.ac-wallet-task .ac-btn { padding: 4px 14px; font-size: 12px; }

.ac-ledger-chips { display: flex; gap: 6px; margin: 12px 0 4px; flex-wrap: wrap; }
.ac-ledger-chip { border: 1px solid var(--sg-border); background: transparent; color: var(--sg-text-muted); border-radius: 999px; padding: 5px 14px; font-size: 12.5px; cursor: pointer; font-family: inherit; transition: var(--sg-transition); }
.ac-ledger-chip:hover { color: var(--sg-text-secondary); border-color: var(--sg-border-hover); }
.ac-ledger-chip.active { color: var(--sg-accent-light); border-color: var(--sg-border-hover); background: var(--sg-blue-mid); }
.ac-ledger-row { display: flex; align-items: center; gap: 10px; padding: 9px 2px; border-top: 1px solid var(--sg-border); font-size: 13.5px; }
.ac-ledger-row:first-child { border-top: none; }
.ac-ledger-main { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; }
.ac-ledger-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ac-ledger-app { flex-shrink: 0; font-size: 11.5px; color: var(--sg-text-muted); border: 1px solid var(--sg-border); border-radius: 6px; padding: 1px 7px; white-space: nowrap; }
.ac-ledger-time { flex-shrink: 0; font-size: 12px; color: var(--sg-text-dim); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ac-ledger-amount { flex-shrink: 0; font-variant-numeric: tabular-nums; font-size: 14.5px; min-width: 52px; text-align: right; white-space: nowrap; }
.ac-ledger-amount.is-in { color: var(--sg-success, #34d399); }
.ac-ledger-amount.is-out { color: var(--sg-text); }
.ac-ledger-empty { font-size: 12.5px; color: var(--sg-text-muted); padding: 12px 0 4px; }
.ac-ledger-more { display: block; margin: 10px auto 0; padding: 7px 20px; border: 1px solid var(--sg-border); border-radius: 999px; background: transparent; color: var(--sg-text-secondary); font-size: 12.5px; cursor: pointer; font-family: inherit; transition: var(--sg-transition); }
.ac-ledger-more:hover { color: var(--sg-text); border-color: var(--sg-border-hover); }
.ac-ledger-more:disabled { opacity: 0.6; cursor: default; }

.ac-wallet-packages { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin-top: 10px; }
.ac-wallet-package { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 14px; border: 1px solid var(--sg-border); border-radius: 10px; background: var(--sg-bg-soft); cursor: pointer; text-align: left; font-family: inherit; transition: var(--sg-transition); }
.ac-wallet-package:hover { border-color: var(--sg-border-hover); }
.ac-wallet-package:disabled { opacity: 0.6; cursor: default; }
.ac-wallet-package b { font-size: 15px; font-variant-numeric: tabular-nums; }
.ac-wallet-package i { font-style: normal; font-size: 14px; color: var(--sg-accent-light); font-weight: 600; }
.ac-wallet-bonus { font-size: 11px; color: var(--sg-success, #34d399); }

.ac-growth-row { display: flex; align-items: center; gap: 8px; margin: 10px 0 6px; flex-wrap: wrap; }
.ac-growth-bonus { font-size: 12px; font-weight: 600; color: var(--sg-success, #34d399); }
.ac-badge.growth { background: rgba(52, 211, 153, 0.12); color: var(--sg-success, #34d399); }
.ac-invite-row { display: flex; align-items: center; gap: 10px; margin: 10px 0 6px; flex-wrap: wrap; }
.ac-invite-code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 16px; font-weight: 700; letter-spacing: 2px; padding: 4px 10px; border-radius: 8px; background: var(--sg-surface-hover); color: var(--sg-accent-light); border: 1px solid var(--sg-border-hover); }
.ac-card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; color: var(--sg-accent-light); text-decoration: none; }
.ac-card-link:hover { text-decoration: underline; }
.ac-card-link i { font-size: 11px; }

.ac-pricenote { font-size: 12px; color: var(--sg-text-muted); margin: 10px 0 0; }
.ac-pricelist { margin: 8px 0 4px; border: 1px solid var(--sg-border); border-radius: 10px; overflow: hidden; }
.ac-pricerow { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 12px; font-size: 13px; }
.ac-pricerow + .ac-pricerow { border-top: 1px solid var(--sg-border); }
.ac-pricerow b { font-variant-numeric: tabular-nums; color: var(--sg-accent-light); white-space: nowrap; }
.ac-pricemore { margin: 6px 0 2px; }
.ac-pricemore summary { cursor: pointer; font-size: 12px; color: var(--sg-text-muted); padding: 4px 0; list-style: none; }
.ac-pricemore summary::-webkit-details-marker { display: none; }
.ac-pricemore summary::before { content: '▸ '; }
.ac-pricemore[open] summary::before { content: '▾ '; }
.ac-pricemore .ac-pricelist { opacity: 0.75; }

.ac-toast {
    position: fixed; top: 18px; left: 50%; transform: translate(-50%, -8px); z-index: 60;
    max-width: min(92vw, 440px); padding: 10px 16px; border-radius: 12px;
    font-size: 13px; line-height: 1.5; text-align: center; color: var(--sg-text);
    background: #0b1626; border: 1px solid rgba(56, 189, 248, 0.4);
    box-shadow: 0 10px 30px rgba(2, 6, 23, 0.5);
    opacity: 0; pointer-events: none;
}
.ac-toast.show { opacity: 1; transform: translate(-50%, 0); }
.ac-toast.warn { border-color: rgba(251, 191, 36, 0.5); color: #fde68a; }
@media (prefers-reduced-motion: no-preference) {
    .ac-toast { transition: opacity 0.22s ease, transform 0.22s ease; }
}

.ac-wallet-app { margin-top: 10px; }
.ac-wallet-app-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 14px; }
.ac-wallet-app-row b { font-variant-numeric: tabular-nums; white-space: nowrap; }
.ac-wallet-app-row i { font-style: normal; font-size: 12px; color: var(--sg-text-muted); }

@media (max-width: 480px) {
    .ac-wallet-task-row { flex-wrap: wrap; }
    .ac-wallet-task-main { flex: 1 1 100%; flex-shrink: 0; }
    .ac-wallet-task-reward { margin-left: auto; }
}

@media (max-width: 768px) {
    #wallet .ac-btn,
    #wallet .ac-ledger-chip,
    #wallet .ac-ledger-more,
    #wallet .ac-wallet-package { min-height: 44px; }
}
@media (pointer: coarse) {
    #wallet .ac-btn,
    #wallet .ac-ledger-chip,
    #wallet .ac-ledger-more,
    #wallet .ac-wallet-package { min-height: 44px; }
}
