/* ════════════════════════════════════════════════════════════
   Arshia Loyalty Club — استایل RTL (فرانت‌اند + پیشخوان)
   برند: بنفش #352070 / طلایی #EEBB66
   ════════════════════════════════════════════════════════════ */

:root {
    --alc-purple: #352070;
    --alc-purple-dark: #2a1a5a;
    --alc-gold: #EEBB66;
    --alc-line: #e9e4f5;
    --alc-muted: #6b7280;
}

.alc-dashboard {
    font-family: 'Vazirmatn', Tahoma, Arial, sans-serif;
    direction: rtl;
    text-align: right;
    color: #1f2937;
    max-width: 980px;
    margin: 0 auto;
    line-height: 1.8;
}

.alc-dashboard h2 { font-size: 15px; color: var(--alc-purple); margin: 0; font-weight: 800; }

/* ─── کارت‌ها ─── */
.alc-status-cards { display: grid; grid-template-columns: 280px 1fr; gap: 16px; }
.alc-status-card {
    background: #fff;
    border: 1px solid var(--alc-line);
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(53, 32, 112, .08);
    padding: 18px;
}
.alc-status-card.is-bronze { border-top: 5px solid #c9822b; }
.alc-status-card.is-silver { border-top: 5px solid #94a3b8; }
.alc-status-card.is-gold { border-top: 5px solid var(--alc-gold); }

.alc-status-icon { font-size: 40px; line-height: 1; }
.alc-eyebrow { font-size: 12px; color: var(--alc-muted); display: block; margin: 8px 0 2px; }
.alc-points { font-size: 30px; font-weight: 800; color: var(--alc-purple-dark); display: block; }
.alc-points-label { font-size: 12.5px; color: var(--alc-muted); }

.alc-progress-card { display: flex; flex-direction: column; justify-content: center; }
.alc-progress-head { display: flex; justify-content: space-between; font-size: 13px; color: var(--alc-muted); margin-bottom: 8px; }
.alc-progress { background: #f0ebfa; border-radius: 20px; height: 10px; overflow: hidden; }
.alc-progress-bar { background: linear-gradient(90deg, var(--alc-purple), var(--alc-gold)); height: 100%; border-radius: 20px; transition: width .5s ease; }
.alc-benefits { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 4px; }
.alc-benefits li { font-size: 12.5px; color: var(--alc-muted); }
.alc-benefits li::before { content: '✓ '; color: var(--alc-purple); font-weight: 800; }

/* ─── پنل‌ها ─── */
.alc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.alc-panel {
    background: #fff;
    border: 1px solid var(--alc-line);
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(53, 32, 112, .08);
    padding: 16px 18px;
    margin-top: 16px;
}
.alc-grid .alc-panel { margin-top: 0; }
.alc-panel-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.alc-empty { color: var(--alc-muted); font-size: 13px; }

.alc-btn {
    display: inline-block;
    padding: 9px 22px;
    border-radius: 30px;
    border: 1px solid transparent;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: background .2s, transform .15s;
}
.alc-btn-primary { background: var(--alc-purple); color: #fff; }
.alc-btn-primary:hover { background: var(--alc-purple-dark); color: #fff; transform: translateY(-1px); }
.alc-btn-gold { background: var(--alc-gold); color: #24154e; }
.alc-btn-gold:hover { background: #f5cc85; }
.alc-link { background: none; border: none; color: var(--alc-purple); font-size: 12.5px; cursor: pointer; text-decoration: underline; }

/* ─── مأموریت‌ها ─── */
.alc-missions { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.alc-mission { border: 1px solid var(--alc-line); border-radius: 12px; padding: 12px 14px; background: #fcfbff; }
.alc-mission.is-claimed { opacity: .7; }
.alc-mission-head { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.alc-mission-type { display: inline-block; font-size: 10.5px; background: #f0ebfa; color: var(--alc-purple); border-radius: 10px; padding: 1px 8px; margin-inline-start: 6px; }
.alc-mission-pts { color: var(--alc-purple); font-weight: 800; font-size: 12.5px; white-space: nowrap; }
.alc-mission-progress-txt { font-size: 11.5px; color: var(--alc-muted); display: block; margin: 6px 0 2px; }
.alc-mission .alc-progress { margin-top: 8px; }
.alc-claimed-label { color: var(--alc-purple); font-size: 12.5px; font-weight: 700; }

/* ─── اعلان‌ها ─── */
.alc-badge-count {
    display: inline-block;
    background: #b3261e;
    color: #fff;
    border-radius: 20px;
    padding: 1px 9px;
    font-size: 11px;
    margin-inline-start: 8px;
}
.alc-notifs { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.alc-notifs li { border: 1px solid var(--alc-line); border-radius: 10px; padding: 10px 12px; font-size: 12.5px; }
.alc-notifs li.is-unread { background: #fdf6ff; border-color: #d6c9f0; }
.alc-notifs strong { display: block; }
.alc-notifs p { margin: 4px 0; color: var(--alc-muted); }
.alc-notifs time { font-size: 11px; color: #9ca3af; }

/* ─── نشان‌ها ─── */
.alc-badges { display: grid; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); gap: 12px; }
.alc-badge { text-align: center; padding: 12px 8px; border: 1px solid var(--alc-line); border-radius: 14px; background: #fcfbff; transition: transform .15s; }
.alc-badge:hover { transform: translateY(-2px); }
.alc-badge.is-locked { opacity: .35; filter: grayscale(1); }
.alc-badge-icon { font-size: 26px; display: block; }
img.alc-badge-icon, img.alc-reward-ico { display: block; margin: 0 auto; width: 40px; height: 40px; }
.alc-badge-name { font-size: 11px; font-weight: 700; color: var(--alc-purple-dark); display: block; margin-top: 6px; }

/* ─── پاداش‌ها ─── */
.alc-rewards { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.alc-reward { border: 1px solid var(--alc-line); border-radius: 14px; padding: 14px; background: #fff; text-align: center; }
.alc-reward.is-disabled { opacity: .55; }
.alc-reward-ico { font-size: 30px; display: block; }
.alc-reward strong { display: block; margin-top: 8px; font-size: 13.5px; }
.alc-reward p { font-size: 12px; color: var(--alc-muted); min-height: 36px; }
.alc-reward-cost { display: inline-block; background: #f0ebfa; color: var(--alc-purple); border-radius: 14px; padding: 3px 14px; font-size: 12px; font-weight: 800; margin: 6px 0; }
.alc-reward-msg { font-size: 11.5px; color: var(--alc-muted); display: block; }

/* ─── جدول تاریخچه ─── */
.alc-table { width: 100%; border-collapse: collapse; font-size: 12.5px; background: #fff; border-radius: 12px; overflow: hidden; }
.alc-table th { background: var(--alc-purple); color: #fff; text-align: right; padding: 9px 12px; }
.alc-table td { padding: 8px 12px; border-bottom: 1px solid var(--alc-line); }
.alc-table tr:nth-child(even) td { background: #faf9fd; }
.alc-table .is-plus { color: #1e7e4f; font-weight: 800; }
.alc-table .is-minus { color: #b3261e; font-weight: 800; }
.alc-filter select { font-family: inherit; font-size: 12.5px; border-radius: 8px; border: 1px solid var(--alc-line); padding: 4px 8px; }
.alc-pagination { display: flex; gap: 6px; margin-top: 12px; }
.alc-pagination a { padding: 4px 11px; border: 1px solid var(--alc-line); border-radius: 8px; text-decoration: none; color: var(--alc-purple); font-size: 12.5px; }
.alc-pagination .is-active { background: var(--alc-purple); color: #fff; border-color: var(--alc-purple); }

/* ─── لیدربورد ─── */
.alc-rank { display: inline-flex; width: 26px; height: 26px; background: var(--alc-gold); color: #24154e; border-radius: 50%; align-items: center; justify-content: center; font-weight: 800; font-size: 12px; }

/* ─── ورود ─── */
.alc-login-required { text-align: center; padding: 44px 20px; border: 1px dashed var(--alc-purple); border-radius: 16px; background: #fff; }
.alc-login-required p { color: var(--alc-muted); margin-bottom: 16px; }

/* ─── توست ─── */
.alc-toast {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99999;
    background: #1f2937;
    color: #fff;
    padding: 12px 18px;
    border-radius: 12px;
    font-family: 'Vazirmatn', Tahoma, sans-serif;
    font-size: 13px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
    transition: opacity .3s, transform .3s;
}
.alc-toast.is-ok { background: #1e7e4f; }
.alc-toast.is-err { background: #b3261e; }
.alc-toast.is-hide { opacity: 0; transform: translateY(8px); }

/* ─── واکنش‌گرایی ─── */
@media (max-width: 800px) {
    .alc-status-cards, .alc-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .alc-rewards { grid-template-columns: 1fr 1fr; }
    .alc-mission-head { flex-direction: column; }
}

/* ═══════════ پیشخوان (admin) ═══════════ */
.arshia-hub-row-title { margin: 26px 0 10px; font-size: 15px; font-weight: 700; border-right: 4px solid var(--alc-gold); padding-right: 10px; color: var(--alc-purple); }
.aah-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.aah-chart-box { background: #fff; border: 1px solid #e2e4e7; border-radius: 12px; padding: 14px; }
.aah-chart-box h3 { margin: 0 0 10px; font-size: 13px; color: var(--alc-purple); }
.aah-chart-canvas { position: relative; height: 250px; }
.aah-crud { background: #fff; border: 1px solid #e2e4e7; border-radius: 12px; padding: 14px; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; align-items: end; margin-bottom: 18px; }
.aah-crud-row label { display: block; font-size: 12px; color: #6b7280; margin-bottom: 4px; }
.aah-crud-row input, .aah-crud-row select, .aah-crud-row textarea { width: 100%; }

@media (max-width: 782px) {
    .aah-charts { grid-template-columns: 1fr; }
}