/* ===== متغیرها (پایه = ظاهر «شفق») ===== */
.rp, .rp-modal {
  --rp-accent: #8b5cf6; --rp-accent2: #22d3ee; --rp-on: #fff;
  --rp-text: #f4f4f8; --rp-muted: #a3a3b2;
  --rp-card: rgba(255,255,255,.045); --rp-border: rgba(255,255,255,.10); --rp-field: rgba(255,255,255,.06);
  --rp-page: #020101; --rp-radius: 18px;
  --rp-ok: #34d399; --rp-warn: #fbbf24; --rp-err: #f87171;
  --rp-grad: linear-gradient(135deg, var(--rp-accent), var(--rp-accent2));
}
/* ===== ظاهر ۲: زمرد ===== */
.rp-t-emerald { --rp-accent: #10b981; --rp-accent2: #a3e635; --rp-on: #04130d; --rp-card: rgba(16,185,129,.055); --rp-border: rgba(16,185,129,.28); --rp-field: rgba(16,185,129,.07); --rp-radius: 12px; }
/* ===== ظاهر ۳: غروب ===== */
.rp-t-sunset { --rp-accent: #f97316; --rp-accent2: #fbbf24; --rp-on: #1c0a02; --rp-card: rgba(255,150,70,.055); --rp-border: rgba(251,146,60,.25); --rp-field: rgba(255,170,90,.07); --rp-radius: 22px; }

.rp { box-sizing: border-box; color: var(--rp-text); font-family: inherit; font-size: 15px; line-height: 1.85; direction: rtl; text-align: right; }
.rp *, .rp-modal * { box-sizing: border-box; }
.rp [hidden], .rp-modal [hidden] { display: none !important; }
.rp h3, .rp h4, .rp-modal h3 { color: var(--rp-text); margin: 0; font-weight: 800; line-height: 1.5; }
.rp small, .rp-modal small { color: var(--rp-muted); font-size: 12.5px; }
.rp a { color: var(--rp-accent2); }
.rp i, .rp-modal i { font-style: normal; font-size: .8em; color: var(--rp-muted); font-weight: 400; }
.rp-lock { overflow: hidden; }

/* ===== کارت ===== */
.rp-card { position: relative; overflow: hidden; background: var(--rp-card); border: 1px solid var(--rp-border); border-radius: var(--rp-radius); padding: 20px; margin-bottom: 16px; transition: transform .2s, border-color .2s, box-shadow .2s; }
.rp-sub:hover, .rp-pack:hover { transform: translateY(-3px); border-color: var(--rp-accent); box-shadow: 0 18px 50px -24px var(--rp-accent); }
.rp-t-aurora .rp-card, .rp-t-aurora .rp-pack { background: linear-gradient(160deg, rgba(255,255,255,.075), rgba(255,255,255,.02)); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.rp-t-emerald .rp-card, .rp-t-emerald .rp-pack { box-shadow: inset 0 0 0 1px rgba(16,185,129,.06), 0 0 30px -16px var(--rp-accent); }
.rp-t-sunset .rp-card::before, .rp-t-sunset .rp-pack::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--rp-grad); }
.rp-card-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 14px; }
.rp-grid, .rp-packs { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 18px; }
.rp-grid .rp-card, .rp-packs .rp-pack { margin: 0; }
.rp-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }

/* ===== هدر و تب‌ها ===== */
.rp-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; padding: 18px 22px; margin-bottom: 18px; border: 1px solid var(--rp-border); border-radius: var(--rp-radius); background: var(--rp-card); }
.rp-hello { display: flex; align-items: center; gap: 12px; }
.rp-hello small, .rp-bal small { display: block; line-height: 1.4; }
.rp-avatar { width: 46px; height: 46px; border-radius: 50%; background: var(--rp-grad); color: var(--rp-on); display: grid; place-items: center; font-weight: 800; font-size: 20px; }
.rp-bal { text-align: left; } .rp-bal b, .rp-balance-box b { font-size: 22px; background: var(--rp-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rp-balance-box { display: inline-flex; flex-direction: column; padding: 12px 20px; border: 1px solid var(--rp-border); border-radius: var(--rp-radius); background: var(--rp-card); color: var(--rp-text); }
.rp-tabs { display: flex; gap: 6px; flex-wrap: wrap; padding: 6px; margin-bottom: 20px; border: 1px solid var(--rp-border); border-radius: calc(var(--rp-radius) + 4px); background: var(--rp-card); }
.rp-tabs button { flex: 1 1 auto; border: 0; background: transparent; color: var(--rp-muted); padding: 10px 18px; border-radius: var(--rp-radius); cursor: pointer; font: inherit; font-weight: 700; transition: .2s; }
.rp-tabs button:hover { color: var(--rp-text); }
.rp-tabs button.on { background: var(--rp-grad); color: var(--rp-on); box-shadow: 0 8px 24px -10px var(--rp-accent); }

/* ===== دکمه‌ها ===== */
.rp-btn, .rp .rp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; cursor: pointer; text-decoration: none; font: inherit; font-weight: 800; padding: 11px 24px; border-radius: calc(var(--rp-radius) - 4px); background: var(--rp-grad); color: var(--rp-on); transition: .2s; }
.rp-btn:hover { filter: brightness(1.12); transform: translateY(-1px); box-shadow: 0 10px 28px -10px var(--rp-accent); }
.rp-btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.rp-btn.sm { padding: 7px 16px; font-size: 13.5px; }
.rp-btn.ghost { background: transparent; color: var(--rp-text); border: 1px solid var(--rp-border); }
.rp-btn.ghost:hover { border-color: var(--rp-accent); box-shadow: none; }
.rp-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }

/* ===== نشان‌ها و جزئیات ===== */
.rp-badge { display: inline-block; font-size: 12px; font-weight: 700; padding: 2px 12px; border-radius: 99px; border: 1px solid currentColor; white-space: nowrap; }
.rp-b-active { color: var(--rp-ok); background: rgba(52,211,153,.1); }
.rp-b-expired { color: var(--rp-muted); background: rgba(255,255,255,.05); }
.rp-b-error { color: var(--rp-err); background: rgba(248,113,113,.1); }
.rp-b-pending { color: var(--rp-warn); background: rgba(251,191,36,.1); }
.rp-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; margin: 0; }
.rp-meta div { background: var(--rp-field); border-radius: calc(var(--rp-radius) - 8px); padding: 8px 12px; }
.rp-meta dt { font-size: 12px; color: var(--rp-muted); } .rp-meta dd { margin: 0; font-weight: 700; }
.rp-chips, .rp-quick { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.rp-chip { font-size: 12.5px; padding: 3px 12px; border-radius: 99px; background: var(--rp-field); border: 1px solid var(--rp-border); color: var(--rp-text); font-family: inherit; }
button.rp-chip { cursor: pointer; } button.rp-chip:hover { border-color: var(--rp-accent); }
.rp-note { margin: 12px 0 0; padding: 8px 12px; border-radius: 10px; font-size: 13px; color: var(--rp-warn); background: rgba(251,191,36,.08); }
.rp-change { display: flex; gap: 8px; margin-top: 14px; } .rp-change select { flex: 1; }

/* ===== فرم‌ها ===== */
.rp-form label, .rp-modal .rp-form label { display: block; margin: 0 0 12px; font-size: 13.5px; color: var(--rp-muted); font-weight: 600; }
.rp input:not([type=checkbox]):not([type=radio]):not([type=submit]), .rp select, .rp-modal input, .rp-modal select {
  width: 100%; display: block; margin-top: 5px; padding: 10px 14px; font: inherit; color: var(--rp-text) !important; background: var(--rp-field) !important;
  border: 1px solid var(--rp-border) !important; border-radius: calc(var(--rp-radius) - 6px) !important; outline: none; box-shadow: none; height: auto; transition: .2s; }
.rp input:focus, .rp select:focus, .rp-modal input:focus, .rp-modal select:focus { border-color: var(--rp-accent) !important; box-shadow: 0 0 0 3px rgba(139,92,246,.18); }
.rp select option, .rp-modal select option { background: #0c0a0a; color: #f4f4f8; }
.rp input::placeholder, .rp-modal input::placeholder { color: rgba(163,163,178,.65); }
.rp-sec-title { margin: 18px 0 10px; font-weight: 800; } .rp-sec-title small { display: block; font-weight: 400; }
.rp-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rp-err { margin: 8px 0 0; padding: 8px 12px; border-radius: 10px; color: var(--rp-err); background: rgba(248,113,113,.1); font-size: 13.5px; }

/* ===== کیف پول و تراکنش‌ها ===== */
.rp-balance-card strong { display: block; font-size: 30px; background: var(--rp-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rp-tx { list-style: none; margin: 0; padding: 0; }
.rp-tx li { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; margin-bottom: 8px; border: 1px solid var(--rp-border); border-radius: calc(var(--rp-radius) - 6px); background: var(--rp-card); }
.rp-tx small { display: block; } .rp-amt { font-weight: 800; } .rp-amt.pos { color: var(--rp-ok); } .rp-amt.neg { color: var(--rp-err); }

/* ===== جدول سفارش‌ها ===== */
.rp-scroll { overflow-x: auto; border: 1px solid var(--rp-border); border-radius: var(--rp-radius); background: var(--rp-card); }
.rp-table { width: 100%; border-collapse: collapse; min-width: 720px; color: var(--rp-text); }
.rp-table th { text-align: right; padding: 12px 14px; font-size: 12.5px; color: var(--rp-muted); border-bottom: 1px solid var(--rp-border); background: transparent; }
.rp-table td { padding: 12px 14px; border-bottom: 1px solid rgba(255,255,255,.05); background: transparent; color: var(--rp-text); }
.rp-table tr:last-child td { border-bottom: 0; }

/* ===== پک‌ها ===== */
.rp-pack { position: relative; overflow: hidden; background: var(--rp-card); border: 1px solid var(--rp-border); border-radius: var(--rp-radius); transition: .2s; display: flex; flex-direction: column; }
.rp-pack-img img { width: 100%; height: 190px; object-fit: cover; display: block; }
.rp-pack-body { padding: 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.rp-pack-content { color: var(--rp-muted); font-size: 14px; flex: 1; } .rp-pack-content p { margin: 0 0 8px; }
.rp-from { margin: 0; color: var(--rp-text); } .rp-from b { color: var(--rp-accent2); font-size: 1.2em; }

/* ===== حالت خالی ===== */
.rp-empty { text-align: center; padding: 34px 16px; color: var(--rp-muted); border: 1px dashed var(--rp-border); border-radius: var(--rp-radius); }
.rp-empty-ic { font-size: 42px; } .rp-empty p { margin: 6px 0 14px; }

/* ===== مودال ===== */
.rp-modal { position: fixed; inset: 0; z-index: 99998; background: rgba(2,1,1,.78); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); display: flex; align-items: flex-start; justify-content: center; padding: 4vh 14px; overflow-y: auto; color: var(--rp-text); font-family: inherit; direction: rtl; text-align: right; }
.rp-dialog { position: relative; width: 100%; max-width: 640px; background: #0c0a0a; border: 1px solid var(--rp-border); border-radius: calc(var(--rp-radius) + 4px); padding: 26px; box-shadow: 0 40px 100px -30px var(--rp-accent); animation: rp-pop .25s ease; }
.rp-dialog h3 { margin: 0 0 18px; font-size: 19px; } .rp-dialog h3 span { color: var(--rp-accent2); }
.rp-x { position: absolute; top: 14px; left: 16px; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--rp-border); background: transparent; color: var(--rp-text); font-size: 20px; cursor: pointer; line-height: 1; }
.rp-x:hover { border-color: var(--rp-accent); }
.rp-row { display: grid; grid-template-columns: 30px 1fr 1fr; gap: 8px; align-items: center; margin-bottom: 8px; }
.rp-row input { margin: 0 !important; } .rp-n { color: var(--rp-muted); text-align: center; font-size: 13px; }
.rp-sum { margin: 14px 0; padding: 12px 16px; border-radius: calc(var(--rp-radius) - 6px); background: var(--rp-field); color: var(--rp-muted); }
.rp-sum strong { color: var(--rp-accent2); font-size: 1.15em; }
@keyframes rp-pop { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }

/* ===== پیام‌ها ===== */
.rp-toasts { position: fixed; top: 18px; left: 50%; transform: translateX(-50%); align-items: center; z-index: 100000; display: flex; flex-direction: column; gap: 10px; width: max-content; max-width: calc(100vw - 32px); direction: rtl; }
.rp-toast { padding: 12px 18px; border-radius: 14px; background: #121010; color: #f4f4f8; border: 1px solid rgba(255,255,255,.14); font-size: 14px; box-shadow: 0 16px 40px -12px rgba(0,0,0,.8); animation: rp-pop .25s ease; transition: opacity .4s; }
.rp-toast.ok { border-color: #34d399; } .rp-toast.err { border-color: #f87171; } .rp-toast.info { border-color: #22d3ee; } .rp-toast.out { opacity: 0; }

/* ===== فرم ورود ===== */
.rp-login { display: flex; justify-content: center; padding: 20px 0; }
.rp-login-card { width: 100%; max-width: 420px; padding: 28px; background: var(--rp-card); border: 1px solid var(--rp-border); border-radius: var(--rp-radius); }
.rp-login-card h3 { margin-bottom: 18px; text-align: center; }
.rp-login-card form p { margin: 0 0 14px; } .rp-login-card label { color: var(--rp-muted); font-size: 13.5px; }
.rp-login-card .login-remember label { display: flex; gap: 8px; align-items: center; }
.rp-login-card .login-submit input, .rp-login-card #wp-submit { width: 100%; cursor: pointer; border: 0 !important; font-weight: 800; background: var(--rp-grad) !important; color: var(--rp-on) !important; padding: 12px; }
.rp-reg { text-align: center; margin: 12px 0 0; }

/* ===== موبایل ===== */
@media (max-width: 680px) {
  .rp-2 { grid-template-columns: 1fr; }
  .rp-row { grid-template-columns: 24px 1fr; } .rp-row input[data-f=p] { grid-column: 2; }
  .rp-tabs button { flex: 1 1 45%; padding: 9px 8px; }
  .rp-dialog { padding: 20px 16px; }
  .rp-table { min-width: 0; } .rp-table thead { display: none; }
  .rp-table, .rp-table tbody, .rp-table tr, .rp-table td { display: block; width: 100%; }
  .rp-table tr { padding: 10px 6px; border-bottom: 1px solid var(--rp-border); }
  .rp-table td { display: flex; justify-content: space-between; border: 0; padding: 5px 12px; }
  .rp-table td::before { content: attr(data-l); color: var(--rp-muted); font-size: 12.5px; }
}
/* ===== خاموش/روشن موقت و تأیید تغییر نوع منابع ===== */
.rp-b-paused { color: var(--rp-warn); background: rgba(251,191,36,.1); }
.rp-paused { margin: 12px 0 0; padding: 9px 12px; border-radius: 10px; font-size: 13px; color: var(--rp-warn); background: rgba(251,191,36,.08); border: 1px solid rgba(251,191,36,.25); }
.rp-flashline { margin: 12px 0 0; padding: 9px 12px; border-radius: 10px; font-size: 13.5px; font-weight: 700; color: var(--rp-ok); background: rgba(52,211,153,.1); border: 1px solid rgba(52,211,153,.3); animation: rp-pop .25s ease; }
.rp-btn.rp-busy { position: relative; }
.rp-btn.rp-busy::after { content: ""; width: 12px; height: 12px; border-radius: 50%; border: 2px solid currentColor; border-top-color: transparent; animation: rp-spin .7s linear infinite; }
.rp-sub.is-busy { transition: none; }
@keyframes rp-spin { to { transform: rotate(360deg); } }
