/* ============================================================
   Gold Price Channel — پنل کاربری
   Luxury / Premium / Minimal — Dark-first Design System
   روی admin-custom.css سوار می‌شود و توکن‌های --gpc-* را بازتعریف می‌کند،
   بنابراین همهٔ کامپوننت‌های مشترک (card / btn / form-control / chip / kpi /
   table / alert) خودکار با این سیستم استایل می‌گیرند.
   کنترل تم: data-theme روی <html> = dark (پیش‌فرض) | light
   ============================================================ */

/* ---------- Design Tokens ---------- */
:root{
  /* --- پالت پایه (طبق دیزاین سیستم) --- */
  --black-900:#050505; --black-800:#0A0A0A; --black-700:#111111; --black-600:#181818; --black-500:#222222;
  --gold-900:#9C792D; --gold-800:#B18D3F; --gold-700:#C4A354; --gold-600:#D8B967;
  --gold-500:#EACB76; --gold-400:#F0D382; --gold-300:#FBDE8D; --gold-200:#FBE6AA; --gold-100:#FFF1C7;
  --ivory:#F8F4EA; --txt-1:#F5F2EA; --txt-2:#A8A49B; --txt-3:#77756E;
  --line:#252525; --line-2:#1C1C1C; --line-gold:#B18D3F;

  --grad-metallic:linear-gradient(94deg,#EACB76 25%,#EACB76 45%,#FBDE8D 79%);
  --grad-premium:linear-gradient(110deg,#B18D3F 0%,#D8B967 20%,#EACB76 45%,#FFF1C7 52%,#FBDE8D 65%,#C4A354 100%);

  /* --- تعامل/شکل --- */
  --r-lg:16px; --r-md:12px; --r-sm:10px;
  --ease:cubic-bezier(.32,.72,0,1);
  --t-fast:.14s var(--ease); --t:.2s var(--ease);
  --shadow-1:0 1px 2px rgba(0,0,0,.5), 0 1px 1px rgba(0,0,0,.35);
  --shadow-2:0 2px 6px rgba(0,0,0,.4), 0 24px 60px -28px rgba(0,0,0,.75);
  --focus-ring:0 0 0 1px rgba(177,141,63,.6), 0 0 0 4px rgba(177,141,63,.12);
  --sidebar-w:264px;

  /* --- بازنگاشتِ توکن‌های کامپوننت (--gpc-*) روی تم تیره --- */
  --gpc-bg:var(--black-900);
  --gpc-surface:var(--black-700);
  --gpc-surface-2:var(--black-600);
  --gpc-border:var(--line);
  --gpc-text:var(--txt-1);
  --gpc-muted:var(--txt-2);

  --gpc-primary:var(--gold-500);
  --gpc-primary-600:var(--gold-400);
  --gpc-primary-050:rgba(234,203,118,.08);
  --gpc-gold:var(--gold-700);
  --gpc-gold-050:rgba(196,163,84,.10);

  --gpc-success:#57C08A; --gpc-success-050:rgba(87,192,138,.12);
  --gpc-warning:var(--gold-600); --gpc-warning-050:rgba(216,185,103,.12);
  --gpc-danger:#E06C6C;  --gpc-danger-050:rgba(224,108,108,.12);
  --gpc-info:#7FA6C9;    --gpc-info-050:rgba(127,166,201,.12);

  --gpc-radius:var(--r-lg); --gpc-radius-sm:var(--r-sm);
  --gpc-shadow:var(--shadow-2); --gpc-shadow-sm:var(--shadow-1);
  --gpc-ring:var(--focus-ring);
  --gpc-trans:var(--t);

  color-scheme:dark;
}

/* toggle صریحِ تیره */
:root[data-theme="dark"]{ color-scheme:dark; }

/* ---------- تمِ روشنِ Premium (ivory / champagne) ---------- */
:root[data-theme="light"]{
  color-scheme:light;
  --txt-1:#1B1811; --txt-2:#77705F; --txt-3:#9A927F;
  --line:#E8E1CE; --line-2:#EFE9DA; --line-gold:#C4A354;

  --gpc-bg:#F8F4EA;
  --gpc-surface:#FFFFFF;
  --gpc-surface-2:#F4EFE2;
  --gpc-border:#E8E1CE;
  --gpc-text:#1B1811;
  --gpc-muted:#77705F;

  --gpc-primary:var(--gold-900);
  --gpc-primary-600:var(--gold-800);
  --gpc-primary-050:rgba(156,121,45,.08);
  --gpc-gold:var(--gold-900);
  --gpc-gold-050:rgba(156,121,45,.09);

  --gpc-success:#2E7D57; --gpc-success-050:rgba(46,125,87,.10);
  --gpc-warning:#9C792D; --gpc-warning-050:rgba(156,121,45,.10);
  --gpc-danger:#B23B3B;  --gpc-danger-050:rgba(178,59,59,.09);
  --gpc-info:#3D6E96;    --gpc-info-050:rgba(61,110,150,.10);

  --shadow-1:0 1px 2px rgba(24,20,12,.06);
  --shadow-2:0 1px 2px rgba(24,20,12,.05), 0 18px 40px -22px rgba(24,20,12,.18);
  --focus-ring:0 0 0 1px rgba(156,121,45,.5), 0 0 0 4px rgba(156,121,45,.12);
}

/* ---------- پایه ---------- */
html,body{ background:var(--gpc-bg); overflow-x:clip; }
body{
  font-family:"Vazirmatn","IRANSansWeb",Tahoma,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif !important;
  color:var(--gpc-text);
  font-size:14px; line-height:1.8; letter-spacing:-.003em;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  min-height:100dvh;
}
::selection{ background:rgba(234,203,118,.25); color:var(--gpc-text); }
a{ color:var(--gpc-primary); text-decoration:none; transition:color var(--t-fast); }
a:hover{ color:var(--gold-300); }
:root[data-theme="light"] a:hover{ color:var(--gold-800); }
h1,h2,h3,h4{ color:var(--gpc-text); font-weight:700; letter-spacing:-.02em; }
hr{ border:0; border-top:1px solid var(--gpc-border); margin:18px 0; }
*::-webkit-scrollbar{ width:10px; height:10px; }
*::-webkit-scrollbar-thumb{ background:var(--black-500); border-radius:20px; border:3px solid transparent; background-clip:padding-box; }
:root[data-theme="light"] *::-webkit-scrollbar-thumb{ background:#D9D1BC; background-clip:padding-box; }
table,.pnl-num,.k-value{ font-variant-numeric:tabular-nums; font-feature-settings:"tnum"; }

/* ============================================================
   کامپوننت‌های مشترک (override روی admin-custom.css)
   ============================================================ */
.card{
  background:var(--gpc-surface);
  border:1px solid var(--gpc-border);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-1);
  transition:border-color var(--t), box-shadow var(--t), transform var(--t);
}
.card:hover{ border-color:#2E2E2E; }
:root[data-theme="light"] .card:hover{ border-color:#DCD3BC; }
.card-header{
  background:transparent; border-bottom:1px solid var(--gpc-border);
  padding:16px 20px; font-size:14px; font-weight:600; color:var(--gpc-text);
  border-radius:var(--r-lg) var(--r-lg) 0 0; letter-spacing:-.01em;
}
.card-body{ padding:20px; }
@media (max-width:560px){ .card-body{ padding:16px; } .card-header{ padding:14px 16px; } }

/* دکمه‌ها */
.btn{
  border-radius:var(--r-sm); font-family:inherit; font-weight:600; font-size:13px;
  padding:0 18px; min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border:1px solid transparent; cursor:pointer; transition:all var(--t-fast); letter-spacing:-.01em; line-height:1;
}
.btn:active{ transform:translateY(.5px); }
.btn:focus-visible{ outline:none; box-shadow:var(--focus-ring); }
.btn-sm{ min-height:36px; font-size:12.5px; padding:0 14px; border-radius:9px; }

/* CTA اصلی: شامپاینِ متالیکِ آرام (نه براق/رنگین‌کمانی) */
.btn-primary{
  background:linear-gradient(180deg, #EED08A 0%, #E3C070 50%, #D3AE5A 100%);
  color:#0A0A0A; border:0; font-weight:700;
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset, 0 1px 2px rgba(0,0,0,.3);
}
.btn-primary:hover{ background:linear-gradient(180deg, #F1D693 0%, #E7C578 50%, #D9B562 100%); box-shadow:0 1px 0 rgba(255,255,255,.4) inset, 0 6px 16px -10px rgba(227,192,112,.45); }
.btn-primary:active{ background:linear-gradient(180deg, #E3C070, #D3AE5A); }
.btn-primary:disabled{ opacity:.4; filter:grayscale(.5); cursor:not-allowed; }
:root[data-theme="light"] .btn-primary{ background:linear-gradient(180deg,#C9A44E,#B18D3F); color:#fff; }
:root[data-theme="light"] .btn-primary:hover{ background:linear-gradient(180deg,#D2AE58,#BC9748); }
/* گرادیانِ کاملِ Premium فقط برای یک CTAِ خاص در صورت نیاز */
.btn-gold-premium{ background:var(--grad-premium); color:#0A0A0A; border:0; font-weight:700; }

.btn-outline-primary,.btn-secondary{
  background:var(--gpc-surface); border:1px solid var(--gpc-border); color:var(--gpc-text);
}
.btn-outline-primary:hover,.btn-secondary:hover{ border-color:var(--line-gold); color:var(--gold-400); background:var(--gpc-surface); }
:root[data-theme="light"] .btn-outline-primary:hover,:root[data-theme="light"] .btn-secondary:hover{ color:var(--gold-900); }
.btn-danger{ background:transparent; border:1px solid var(--gpc-danger); color:var(--gpc-danger); }
.btn-danger:hover{ background:var(--gpc-danger-050); }

/* فرم‌ها */
label,.form-label{ display:block; font-size:12px; font-weight:500; color:var(--gpc-muted); margin-bottom:8px; letter-spacing:0; }
label small{ color:var(--txt-3); font-weight:400; }
.form-control,.form-select,select.form-control,textarea.form-control,input.form-control{
  width:100%; min-height:44px;
  background:var(--black-800); border:1px solid var(--gpc-border); border-radius:var(--r-sm);
  color:var(--gpc-text); padding:11px 14px; font-family:inherit; font-size:13.5px;
  transition:border-color var(--t-fast), box-shadow var(--t-fast), background var(--t-fast);
}
:root[data-theme="light"] .form-control,:root[data-theme="light"] .form-select,
:root[data-theme="light"] select.form-control,:root[data-theme="light"] textarea.form-control{ background:#FBF8F0; }
textarea.form-control{ min-height:104px; line-height:1.9; resize:vertical; }
.form-control::placeholder{ color:var(--txt-3); }
.form-control:focus,.form-select:focus{ outline:none; border-color:var(--line-gold); box-shadow:var(--focus-ring); }
.form-control:disabled,.form-control[readonly]{ opacity:.6; cursor:not-allowed; }
select.form-control,.form-select{
  appearance:none; padding-inline-start:38px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23A8A49B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:left 14px center;
}
input[type="file"].form-control{ padding:9px 12px; }
input[type="file"].form-control::file-selector-button{
  border:0; border-radius:8px; background:var(--gpc-primary-050); color:var(--gold-400);
  padding:8px 14px; margin-inline-end:12px; font-family:inherit; font-weight:600; cursor:pointer;
}
:root[data-theme="light"] input[type="file"].form-control::file-selector-button{ color:var(--gold-900); }
.form-group{ margin-bottom:16px; }

/* جدول‌ها */
.gpc-table-wrap{ width:100%; overflow-x:auto; border:1px solid var(--gpc-border); border-radius:var(--r-lg); background:var(--gpc-surface); }
table.table,table.dataTable{ width:100%; margin:0; border-collapse:separate; border-spacing:0; font-size:13px; }
table.table thead th,table.dataTable thead th{
  background:var(--black-800); color:var(--gpc-muted);
  font-weight:600; font-size:11px; letter-spacing:.02em; white-space:nowrap;
  padding:12px 16px; text-align:right; border:0; border-bottom:1px solid var(--gpc-border);
  position:sticky; top:0; z-index:2;
}
:root[data-theme="light"] table.table thead th{ background:#F6F1E4; }
table.table tbody td,table.dataTable tbody td{
  padding:13px 16px; border:0; border-bottom:1px solid var(--line-2);
  color:var(--gpc-text); vertical-align:middle; white-space:nowrap;
}
:root[data-theme="light"] table.table tbody td{ border-bottom-color:#EFE9DA; }
table.table tbody tr:last-child td{ border-bottom:0; }
table.table tbody tr{ transition:background var(--t-fast); }
table.table tbody tr:hover{ background:rgba(255,255,255,.022); }
:root[data-theme="light"] table.table tbody tr:hover{ background:rgba(24,20,12,.03); }

/* چیپ‌ها / بج‌ها */
.gpc-chip{
  display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:600;
  padding:5px 11px; border-radius:999px; border:1px solid transparent; letter-spacing:0; line-height:1.2;
}
.gpc-chip.ok{ background:var(--gpc-success-050); color:var(--gpc-success); border-color:rgba(87,192,138,.25); }
.gpc-chip.off{ background:rgba(255,255,255,.04); color:var(--gpc-muted); border-color:var(--gpc-border); }
.gpc-chip.wait{ background:var(--gpc-warning-050); color:var(--gold-400); border-color:rgba(216,185,103,.28); }
:root[data-theme="light"] .gpc-chip.wait{ color:var(--gold-900); }
.gpc-chip.info{ background:var(--gpc-info-050); color:var(--gpc-info); border-color:rgba(127,166,201,.25); }

/* آلرت‌ها */
.alert{
  border:1px solid var(--gpc-border); border-inline-start-width:3px; border-radius:var(--r-md);
  padding:13px 16px; font-size:12.5px; background:var(--gpc-surface); color:var(--gpc-text); line-height:1.9;
}
.alert-info{ border-inline-start-color:var(--gpc-info); background:var(--gpc-info-050); }
.alert-success{ border-inline-start-color:var(--gpc-success); background:var(--gpc-success-050); }
.alert-danger{ border-inline-start-color:var(--gpc-danger); background:var(--gpc-danger-050); color:var(--gpc-danger); }

/* ============================================================
   شلِ پنل — سایدبار + تاپ‌بار
   ============================================================ */
.pnl-shell{ display:grid; grid-template-columns:var(--sidebar-w) 1fr; min-height:100dvh; }
@media (max-width:1024px){ .pnl-shell{ grid-template-columns:1fr; } }

/* --- سایدبار --- */
.pnl-side{
  background:var(--black-800); border-inline-end:1px solid var(--line-2);
  display:flex; flex-direction:column; padding:20px 14px;
  position:sticky; top:0; height:100dvh; overflow-y:auto;
}
:root[data-theme="light"] .pnl-side{ background:#FCFAF4; border-inline-end-color:#EFE9DA; }
.pnl-brand{ display:flex; align-items:center; gap:11px; padding:6px 8px 20px; }
.pnl-brand .b{
  width:38px; height:38px; min-width:38px; border-radius:11px; display:grid; place-items:center;
  background:var(--black-700); border:1px solid rgba(177,141,63,.35); color:var(--gold-500);
}
:root[data-theme="light"] .pnl-brand .b{ background:#fff; }
.pnl-brand-txt{ min-width:0; }
.pnl-brand-txt b{ display:block; font-size:13.5px; font-weight:700; color:var(--gpc-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pnl-brand-txt span{ display:block; font-size:10.5px; color:var(--txt-3); }
.pnl-navgroup{ font-size:10px; font-weight:700; letter-spacing:.08em; color:var(--txt-3); padding:16px 12px 8px; text-transform:uppercase; }
.pnl-nav{ display:flex; flex-direction:column; gap:2px; }
.pnl-nav a{
  position:relative; display:flex; align-items:center; gap:11px;
  padding:10px 12px; border-radius:var(--r-sm); font-size:13px; font-weight:500;
  color:var(--txt-2); transition:background var(--t-fast), color var(--t-fast);
}
.pnl-nav a svg{ width:18px; height:18px; min-width:18px; color:currentColor; opacity:.75; transition:opacity var(--t-fast); }
.pnl-nav a:hover{ background:rgba(255,255,255,.035); color:var(--gpc-text); }
:root[data-theme="light"] .pnl-nav a:hover{ background:rgba(24,20,12,.04); }
.pnl-nav a.on{
  color:var(--gpc-text);
  background:linear-gradient(90deg, rgba(234,203,118,.12), rgba(234,203,118,.02) 60%, transparent);
}
:root[data-theme="light"] .pnl-nav a.on{ background:linear-gradient(90deg, rgba(156,121,45,.12), transparent 65%); }
.pnl-nav a.on svg{ color:var(--gold-500); opacity:1; }
:root[data-theme="light"] .pnl-nav a.on svg{ color:var(--gold-900); }
.pnl-nav a.on::before{
  content:""; position:absolute; inset-inline-start:0; top:8px; bottom:8px; width:3px; border-radius:3px;
  background:var(--grad-metallic);
}
.pnl-side-foot{ margin-top:auto; padding-top:16px; }

/* --- تاپ‌بار --- */
.pnl-topbar{
  position:sticky; top:0; z-index:20;
  display:flex; align-items:center; gap:14px;
  padding:14px 22px; min-height:64px;
  background:color-mix(in srgb, var(--gpc-bg) 82%, transparent);
  -webkit-backdrop-filter:saturate(160%) blur(10px); backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--line-2);
}
.pnl-topbar h1{ font-size:16px; font-weight:700; margin:0; letter-spacing:-.02em; }
.pnl-topbar .sp{ flex:1; }
.pnl-icbtn{
  width:38px; height:38px; border-radius:10px; display:grid; place-items:center;
  border:1px solid var(--gpc-border); background:var(--gpc-surface); color:var(--gpc-muted);
  cursor:pointer; transition:all var(--t-fast);
}
.pnl-icbtn:hover{ color:var(--gpc-text); border-color:#333; }
:root[data-theme="light"] .pnl-icbtn:hover{ border-color:#DCD3BC; }
.pnl-icbtn svg{ width:17px; height:17px; }
.pnl-icbtn .ico-dark{ display:none; }
:root[data-theme="dark"] .pnl-icbtn .ico-dark,:root:not([data-theme]) .pnl-icbtn .ico-dark{ display:block; }
:root[data-theme="dark"] .pnl-icbtn .ico-light,:root:not([data-theme]) .pnl-icbtn .ico-light{ display:none; }
.pnl-menu-btn{ display:none; }
.pnl-user{ display:flex; align-items:center; gap:10px; }
.pnl-avatar{
  width:36px; height:36px; border-radius:50%; display:grid; place-items:center;
  font-size:12.5px; font-weight:700; color:var(--gold-400);
  background:var(--black-700); border:1px solid rgba(177,141,63,.4);
}
:root[data-theme="light"] .pnl-avatar{ background:#fff; color:var(--gold-900); }
.pnl-user-name{ font-size:12.5px; }
.pnl-user-name b{ color:var(--gpc-text); font-weight:600; display:block; line-height:1.4; }
.pnl-user-name span{ color:var(--txt-3); font-size:10.5px; }
@media (max-width:640px){ .pnl-user-name{ display:none; } }

.pnl-main{ min-width:0; }
.pnl-content{ max-width:1180px; margin:0 auto; padding:24px 22px 64px; }
@media (max-width:560px){ .pnl-content{ padding:18px 16px 48px; } .pnl-topbar{ padding:12px 16px; min-height:58px; } }

/* --- درایورِ موبایل (سایدبار از سمتِ راستِ RTL باز می‌شود) --- */
.pnl-scrim{
  position:fixed; inset:0; z-index:40; background:rgba(0,0,0,.6);
  opacity:0; visibility:hidden; transition:opacity var(--t), visibility var(--t);
  -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
}
@media (max-width:1024px){
  .pnl-shell{ grid-template-columns:1fr !important; }
  .pnl-menu-btn{ display:grid; }

  .pnl-side{
    position:fixed !important; z-index:50;
    top:0; bottom:0; right:0; left:auto;   /* چسبیده به راستِ صفحه */
    width:min(86vw,308px); height:100dvh; padding-top:16px;
    transform:translateX(110%);            /* بسته: بیرونِ صفحه، سمتِ راست */
    visibility:hidden; pointer-events:none;
    transition:transform var(--t), visibility var(--t);
    box-shadow:-24px 0 60px -24px rgba(0,0,0,.8);
  }
  .pnl-shell.is-open .pnl-side{ transform:translateX(0) !important; visibility:visible !important; pointer-events:auto; }
  .pnl-shell.is-open .pnl-scrim{ opacity:1; visibility:visible; }
  body.pnl-navopen{ overflow:hidden; }
}
@media (min-width:1025px){
  .pnl-scrim,.pnl-menu-btn{ display:none !important; }
}

/* ============================================================
   داشبورد — کارت‌های آماری Premium
   ============================================================ */
.pnl-h1{ display:none; }  /* عنوان از تاپ‌بار می‌آید */

.pnl-stat-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.pnl-stat{
  background:var(--gpc-surface); border:1px solid var(--gpc-border); border-radius:var(--r-lg);
  padding:18px 18px 16px; position:relative; overflow:hidden;
  transition:border-color var(--t), transform var(--t);
}
.pnl-stat:hover{ border-color:#2E2E2E; transform:translateY(-2px); }
:root[data-theme="light"] .pnl-stat:hover{ border-color:#DCD3BC; }
.pnl-stat--hl{ border-color:rgba(177,141,63,.35); }
.pnl-stat--hl::after{ content:""; position:absolute; inset-inline:0; top:0; height:2px; background:var(--grad-metallic); opacity:.9; }
.pnl-stat-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.pnl-stat-ic{ width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:rgba(255,255,255,.04); color:var(--gpc-muted); }
:root[data-theme="light"] .pnl-stat-ic{ background:rgba(24,20,12,.05); }
.pnl-stat--hl .pnl-stat-ic{ background:var(--gpc-primary-050); color:var(--gold-400); }
:root[data-theme="light"] .pnl-stat--hl .pnl-stat-ic{ color:var(--gold-900); }
.pnl-stat-ic svg{ width:18px; height:18px; }
.pnl-stat-label{ font-size:12px; color:var(--gpc-muted); margin-bottom:6px; }
.pnl-stat-value{ font-size:26px; font-weight:800; line-height:1.15; color:var(--gpc-text); letter-spacing:-.02em; }
.pnl-stat--hl .pnl-stat-value{ color:var(--gold-300); }
:root[data-theme="light"] .pnl-stat--hl .pnl-stat-value{ color:var(--gold-900); }
.pnl-stat-value small{ font-size:13px; font-weight:500; color:var(--gpc-muted); }
.pnl-stat-sub{ font-size:11px; color:var(--txt-3); margin-top:7px; display:flex; align-items:center; gap:5px; }
.pnl-stat-sub.up{ color:var(--gpc-success); }
.pnl-stat-sub.down{ color:var(--gpc-danger); }

/* بنر اشتراک */
.pnl-sub-banner{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px;
  padding:20px; border:1px solid var(--gpc-border); border-radius:var(--r-lg);
  background:
    radial-gradient(120% 180% at 100% 0%, rgba(234,203,118,.06), transparent 55%),
    var(--gpc-surface);
}
.pnl-sub-banner .lbl{ font-size:11.5px; color:var(--txt-3); }
.pnl-sub-banner .pkg{ font-size:18px; font-weight:800; color:var(--gpc-text); margin-top:2px; letter-spacing:-.02em; }
.pnl-sub-banner .exp{ font-size:11.5px; color:var(--gpc-muted); margin-top:5px; }

/* اکشن‌های سریع */
.pnl-quick{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:10px; }
.pnl-quick a{
  display:flex; align-items:center; gap:10px; padding:14px; border-radius:var(--r-md);
  border:1px solid var(--gpc-border); background:var(--black-800); color:var(--gpc-text);
  font-size:12.5px; font-weight:500; transition:all var(--t-fast);
}
:root[data-theme="light"] .pnl-quick a{ background:#FBF8F0; }
.pnl-quick a:hover{ border-color:var(--line-gold); color:var(--gold-400); }
:root[data-theme="light"] .pnl-quick a:hover{ color:var(--gold-900); }
.pnl-quick a svg{ width:16px; height:16px; opacity:.8; }

/* جدولِ قیمت داخل کارت */
.pnl-price-row{ display:flex; align-items:center; justify-content:space-between; padding:11px 0; border-bottom:1px solid var(--line-2); font-size:13px; }
:root[data-theme="light"] .pnl-price-row{ border-bottom-color:#EFE9DA; }
.pnl-price-row:last-child{ border-bottom:0; }
.pnl-price-row .v{ font-weight:700; color:var(--gpc-text); }

/* ============================================================
   حالت‌های خالی / اسکلتون / گرید محتوا
   ============================================================ */
.pnl-grid{ display:grid; gap:18px; }
.pnl-empty{ text-align:center; padding:44px 20px; }
.pnl-empty-ic{
  width:64px; height:64px; border-radius:20px; margin:0 auto 16px; display:grid; place-items:center;
  background:var(--black-800); border:1px solid var(--gpc-border); color:var(--gpc-muted);
}
:root[data-theme="light"] .pnl-empty-ic{ background:#FBF8F0; }
.pnl-empty-ic svg{ width:28px; height:28px; }
.pnl-empty h3{ font-size:15px; margin:0 0 6px; }
.pnl-empty p{ font-size:12.5px; color:var(--gpc-muted); margin:0 auto 16px; max-width:340px; line-height:2; }

@keyframes pnl-shimmer{ 100%{ background-position:-200% 0; } }
.pnl-skel{
  border-radius:8px;
  background:linear-gradient(90deg, rgba(255,255,255,.04) 25%, rgba(255,255,255,.09) 37%, rgba(255,255,255,.04) 63%);
  background-size:200% 100%; animation:pnl-shimmer 1.4s ease-in-out infinite;
}
:root[data-theme="light"] .pnl-skel{
  background:linear-gradient(90deg, rgba(24,20,12,.05) 25%, rgba(24,20,12,.09) 37%, rgba(24,20,12,.05) 63%);
  background-size:200% 100%;
}

/* ============================================================
   صفحاتِ احراز هویت (login / register / pending)
   ============================================================ */
.pnl-auth{ width:100%; max-width:420px; }
.pnl-auth--wide{ max-width:520px; }
.pnl-auth-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; }
.pnl-auth-brand{ display:flex; align-items:center; gap:11px; font-weight:700; font-size:15px; color:var(--gpc-text); letter-spacing:-.02em; }
.pnl-auth-brand .b{
  width:42px; height:42px; border-radius:13px; display:grid; place-items:center;
  background:var(--black-700); border:1px solid rgba(177,141,63,.4); color:var(--gold-500);
}
:root[data-theme="light"] .pnl-auth-brand .b{ background:#fff; color:var(--gold-900); }
.pnl-auth .card{ position:relative; overflow:hidden; }
.pnl-auth .card::before{ content:""; position:absolute; inset-inline:0; top:0; height:1px; background:var(--grad-metallic); opacity:.8; }
.pnl-auth h1{ font-size:19px; margin:0 0 6px; }
.pnl-auth .sub{ font-size:12.5px; color:var(--gpc-muted); margin-bottom:20px; line-height:2; }
.pnl-otp-input{ letter-spacing:.55em; text-align:center; font-size:22px; font-weight:800; direction:ltr; }
.pnl-alt{ display:flex; gap:8px; margin-top:12px; }
.pnl-alt .btn{ flex:1; }
.pnl-meta{ font-size:11px; color:var(--txt-3); margin-top:16px; text-align:center; line-height:2; }
.pnl-code-box{
  font-family:ui-monospace,Consolas,monospace; direction:ltr; font-size:19px; font-weight:800; letter-spacing:.18em;
  background:var(--gpc-primary-050); color:var(--gold-300); border:1px solid rgba(177,141,63,.3);
  border-radius:var(--r-md); padding:14px; text-align:center; margin:10px 0;
}
:root[data-theme="light"] .pnl-code-box{ color:var(--gold-900); }
.pnl-state-ic{
  width:72px; height:72px; border-radius:22px; display:grid; place-items:center; margin:0 auto 18px;
  background:var(--gpc-primary-050); color:var(--gold-400); border:1px solid rgba(177,141,63,.3);
}
:root[data-theme="light"] .pnl-state-ic{ color:var(--gold-900); }
.pnl-state-ic svg{ width:34px; height:34px; }

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}


/* ============================================================
   نوارِ ناوبریِ پایینِ موبایل (App-style bottom tab bar)
   ============================================================ */
.pnl-bottomnav{ display:none; }
@media (max-width:768px){
  .pnl-bottomnav{
    position:fixed; z-index:30; left:0; right:0; bottom:0;
    display:flex; align-items:stretch;
    background:color-mix(in srgb, var(--gpc-bg) 88%, transparent);
    -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
    border-top:1px solid var(--gpc-border);
    padding-bottom:env(safe-area-inset-bottom);
    box-shadow:0 -14px 34px -20px rgba(0,0,0,.7);
  }
  .pnl-bottomnav a,
  .pnl-bottomnav .pnl-bn-more{
    flex:1 1 0; min-width:0; background:transparent; border:0; cursor:pointer;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
    padding:9px 4px 8px; position:relative; color:var(--txt-3);
    font-family:inherit; font-size:10px; font-weight:600; line-height:1;
    transition:color var(--t-fast);
  }
  .pnl-bottomnav a span,
  .pnl-bottomnav .pnl-bn-more span{
    max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
  .pnl-bottomnav a svg,
  .pnl-bottomnav .pnl-bn-more svg{ width:21px; height:21px; stroke-width:2; }
  .pnl-bottomnav a:active,
  .pnl-bottomnav .pnl-bn-more:active{ transform:scale(.94); }
  .pnl-bottomnav a.on{ color:var(--gold-400); }
  :root[data-theme="light"] .pnl-bottomnav a.on{ color:var(--gold-900); }
  .pnl-bottomnav a.on::before{
    content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:26px; height:3px; border-radius:0 0 4px 4px; background:var(--grad-metallic);
  }
  /* فضای امن برای محتوا تا زیرِ نوار نرود */
  .pnl-content{ padding-bottom:calc(64px + env(safe-area-inset-bottom) + 16px) !important; }
  /* تاپ‌بارِ همبرگری هم برای دسترسی به منوی کامل باقی می‌ماند */
}
@media (min-width:769px){
  .pnl-bottomnav{ display:none !important; }
}

/* ============================================================
   کامپوننت‌های مشترکِ صفحات کاربری
   ============================================================ */
.pnl-page{ display:grid; gap:18px; }

.pnl-sec{ background:var(--gpc-surface); border:1px solid var(--gpc-border); border-radius:var(--r-lg); overflow:hidden; }
.pnl-sec > .hd{
  display:flex; align-items:center; gap:10px; justify-content:space-between; flex-wrap:wrap;
  padding:16px 18px; border-bottom:1px solid var(--gpc-border);
}
.pnl-sec > .hd h2{ font-size:14px; margin:0; display:flex; align-items:center; gap:8px; color:var(--gpc-text); }
.pnl-sec > .hd h2 svg{ width:16px; height:16px; color:var(--gpc-muted); }
.pnl-sec > .hd .desc{ flex-basis:100%; font-size:11.5px; color:var(--txt-3); line-height:1.9; margin-top:2px; }
.pnl-sec > .bd{ padding:18px; }
.pnl-sec > .bd.tight{ padding:0; }

.pnl-inlineform{ display:flex; gap:8px; flex-wrap:wrap; align-items:flex-end; }

/* گرید فرم دو ستونه */
.pnl-fg{ display:grid; grid-template-columns:1fr 1fr; gap:2px 16px; }
.pnl-fg .full{ grid-column:1/-1; }
@media (max-width:560px){ .pnl-fg{ grid-template-columns:1fr; } }
.pnl-help{ font-size:11px; color:var(--txt-3); margin:-4px 0 14px; line-height:1.9; }

/* جفت کلید/مقدار */
.pnl-kv{ display:grid; grid-template-columns:auto 1fr; gap:8px 14px; font-size:12.5px; }
.pnl-kv dt{ color:var(--txt-3); }
.pnl-kv dd{ margin:0; color:var(--gpc-text); font-weight:600; }

/* فهرست ردیفی (بات‌ها، زمان‌بندی‌ها، تیکت‌ها، پرداخت‌ها) */
.pnl-list{ display:grid; }
.pnl-item{
  display:flex; align-items:center; gap:14px; padding:15px 18px;
  border-bottom:1px solid var(--line-2); text-decoration:none; color:inherit;
}
:root[data-theme="light"] .pnl-item{ border-bottom-color:#EFE9DA; }
.pnl-item:last-child{ border-bottom:0; }
a.pnl-item{ transition:background var(--t-fast); }
a.pnl-item:hover{ background:rgba(255,255,255,.02); }
:root[data-theme="light"] a.pnl-item:hover{ background:rgba(24,20,12,.03); }
.pnl-item .ic{
  width:40px; height:40px; flex:none; border-radius:11px; display:grid; place-items:center;
  background:var(--black-800); border:1px solid var(--gpc-border); color:var(--gpc-muted);
}
:root[data-theme="light"] .pnl-item .ic{ background:#FBF8F0; }
.pnl-item .ic svg{ width:18px; height:18px; }
.pnl-item .main{ min-width:0; flex:1; }
.pnl-item .main b{ display:block; font-size:13px; font-weight:600; color:var(--gpc-text); }
.pnl-item .main .meta{ font-size:11px; color:var(--txt-3); margin-top:3px; display:flex; flex-wrap:wrap; gap:4px 10px; }
.pnl-item .act{ display:flex; align-items:center; gap:8px; flex:none; }

/* بج/تگ کوچک */
.pnl-tag{
  display:inline-flex; align-items:center; gap:4px; font-size:10.5px; font-weight:600;
  padding:3px 8px; border-radius:999px; border:1px solid var(--gpc-border); color:var(--gpc-muted);
  background:var(--black-800); white-space:nowrap;
}
:root[data-theme="light"] .pnl-tag{ background:#FBF8F0; }
.pnl-tag.ok{ color:var(--gpc-success); border-color:color-mix(in srgb,var(--gpc-success) 40%,transparent); background:color-mix(in srgb,var(--gpc-success) 12%,transparent); }
.pnl-tag.warn{ color:#E3B341; border-color:rgba(227,179,65,.4); background:rgba(227,179,65,.12); }
.pnl-tag.err{ color:var(--gpc-danger); border-color:color-mix(in srgb,var(--gpc-danger) 40%,transparent); background:color-mix(in srgb,var(--gpc-danger) 12%,transparent); }
.pnl-tag.gold{ color:var(--gold-400); border-color:rgba(177,141,63,.4); background:var(--gpc-primary-050); }
:root[data-theme="light"] .pnl-tag.gold{ color:var(--gold-900); }

/* چک‌باکس‌های اقلام قیمت */
.pnl-checkgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px; }
.pnl-check{
  display:flex; align-items:center; gap:9px; padding:10px 12px; border-radius:var(--r-sm);
  border:1px solid var(--gpc-border); background:var(--black-800); cursor:pointer; font-size:12px;
  transition:border-color var(--t-fast), background var(--t-fast); user-select:none;
}
:root[data-theme="light"] .pnl-check{ background:#FBF8F0; }
.pnl-check:hover{ border-color:var(--line-gold); }
.pnl-check input{ accent-color:var(--gold-500); width:15px; height:15px; flex:none; }
.pnl-check.on{ border-color:var(--line-gold); background:var(--gpc-primary-050); }
.pnl-check .u{ color:var(--txt-3); font-size:10px; margin-inline-start:auto; }

/* پیش‌نمایش پیام (شبیه پیام‌رسان) */
.pnl-preview{
  white-space:pre-wrap; word-break:break-word; direction:rtl; font-size:12.5px; line-height:2.1;
  background:var(--black-900); border:1px solid var(--gpc-border); border-radius:var(--r-md);
  padding:16px; color:var(--gpc-text); min-height:120px;
}
:root[data-theme="light"] .pnl-preview{ background:#fff; }

/* بلوکِ کد/توکن قابلِ کپی */
.pnl-code{
  display:flex; align-items:center; gap:10px; direction:ltr; font-family:ui-monospace,Consolas,monospace;
  font-size:12px; background:var(--black-900); border:1px solid var(--gpc-border);
  border-radius:var(--r-sm); padding:10px 12px; color:var(--gold-300); overflow:hidden;
}
:root[data-theme="light"] .pnl-code{ background:#FBF8F0; color:var(--gold-900); }
.pnl-code code{ flex:1 1 auto; min-width:0; white-space:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.pnl-copy{
  flex:none; cursor:pointer; border:1px solid var(--gpc-border); background:var(--black-800);
  color:var(--gpc-muted); border-radius:8px; padding:5px 10px; font-family:inherit; font-size:11px;
  transition:all var(--t-fast);
}
.pnl-copy:hover{ border-color:var(--line-gold); color:var(--gold-400); }
.pnl-pre{
  direction:ltr; font-family:ui-monospace,Consolas,monospace; font-size:11.5px; line-height:1.8;
  background:var(--black-900); border:1px solid var(--gpc-border); border-radius:var(--r-sm);
  padding:14px; color:var(--txt-2); overflow-x:auto; white-space:pre;
}
:root[data-theme="light"] .pnl-pre{ background:#FBF8F0; }

/* گرید پکیج‌ها (صورتحساب) */
.pnl-pkg-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:14px; }
.pnl-pkg{ border:1px solid var(--gpc-border); border-radius:var(--r-lg); padding:18px; background:var(--black-800); }
:root[data-theme="light"] .pnl-pkg{ background:#FBF8F0; }
.pnl-pkg.feat{ border-color:var(--line-gold); background:var(--gpc-primary-050); }
.pnl-pkg h3{ font-size:14px; margin:0 0 4px; }
.pnl-pkg .price{ font-size:20px; font-weight:800; color:var(--gpc-text); letter-spacing:-.02em; }
.pnl-pkg .price small{ font-size:11px; font-weight:500; color:var(--txt-3); }
.pnl-pkg ul{ list-style:none; padding:0; margin:12px 0 14px; display:grid; gap:6px; font-size:11.5px; color:var(--gpc-muted); }
.pnl-pkg li{ display:flex; gap:6px; align-items:center; }
.pnl-pkg li svg{ width:13px; height:13px; color:var(--gold-500); flex:none; }

/* گفتگوی تیکت */
.pnl-thread{ display:grid; gap:14px; }
.pnl-msg{ border:1px solid var(--gpc-border); border-radius:var(--r-md); padding:14px 16px; background:var(--black-800); }
:root[data-theme="light"] .pnl-msg{ background:#FBF8F0; }
.pnl-msg.me{ background:var(--gpc-primary-050); border-color:rgba(177,141,63,.28); }
.pnl-msg .who{ display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:11px; color:var(--txt-3); margin-bottom:8px; }
.pnl-msg .who b{ color:var(--gpc-text); font-size:12px; font-weight:600; }
.pnl-msg .txt{ font-size:12.5px; line-height:2.05; color:var(--gpc-text); white-space:pre-wrap; word-break:break-word; }
.pnl-msg.sys{ background:transparent; border-style:dashed; text-align:center; color:var(--txt-3); font-size:11px; }

/* سگمنت (انتخابگرِ چندحالته) */
.pnl-seg{ display:inline-flex; border:1px solid var(--gpc-border); border-radius:var(--r-sm); overflow:hidden; }
.pnl-seg label{ margin:0; }
.pnl-seg input{ position:absolute; opacity:0; pointer-events:none; }
.pnl-seg span{ display:block; padding:8px 14px; font-size:12px; color:var(--gpc-muted); cursor:pointer; transition:all var(--t-fast); }
.pnl-seg label + label span{ border-inline-start:1px solid var(--gpc-border); }
.pnl-seg input:checked + span{ background:var(--gpc-primary-050); color:var(--gold-400); }
:root[data-theme="light"] .pnl-seg input:checked + span{ color:var(--gold-900); }

.pnl-window-row{ display:flex; gap:8px; align-items:center; margin-bottom:8px; }
.pnl-window-row input[type=time]{ max-width:130px; }

.pnl-hint-box{
  font-size:11.5px; color:var(--gpc-muted); line-height:2; background:var(--black-800);
  border:1px solid var(--gpc-border); border-radius:var(--r-sm); padding:12px 14px;
}
:root[data-theme="light"] .pnl-hint-box{ background:#FBF8F0; }
.pnl-chips-wrap{ display:flex; flex-wrap:wrap; gap:6px; }

/* ============================================================
   موبایل — چیدمانِ ردیف‌های فهرست و کارت‌ها (≤ ۶۴۰px)
   ============================================================ */
@media (max-width:640px){
  .pnl-item{ flex-wrap:wrap; row-gap:12px; padding:14px 16px; }
  .pnl-item .ic{ width:36px; height:36px; }
  .pnl-item .main{ flex:1 1 0; min-width:0; }
  .pnl-item .act{
    order:3; flex-basis:100%; width:100%;
    flex-wrap:wrap; justify-content:flex-start; gap:8px;
  }
  .pnl-item .act form{ margin:0; }
  .pnl-item .act .btn{ flex:0 0 auto; }
  .pnl-item .act > .pnl-tag{ order:-1; }        /* بج وضعیت اولِ ردیفِ اکشن */

  .pnl-sec > .hd{ padding:14px 16px; }
  .pnl-sec > .bd{ padding:16px; }

  .pnl-inlineform{ width:100%; }
  .pnl-inlineform .form-control{ flex:1 1 auto; max-width:none !important; }

  .pnl-pkg-grid{ grid-template-columns:1fr; }
  .pnl-checkgrid{ grid-template-columns:1fr 1fr; }

  .pnl-code{ flex-wrap:wrap; }
  .pnl-code code{ flex-basis:100%; order:1; }
  .pnl-copy{ order:2; margin-inline-start:auto; }

  .pnl-kv{ grid-template-columns:1fr; gap:0; }
  .pnl-kv dt{ margin-top:10px; }
  .pnl-kv dt:first-child{ margin-top:0; }
  .pnl-kv dd{ margin-bottom:2px; }
}

/* ---- جست‌وجو + صفحه‌بندیِ فهرست‌ها ---- */
.pnl-searchbar{ display:flex; gap:8px; margin-bottom:12px; flex-wrap:wrap; }
.pnl-searchbar .form-control{ flex:1; min-width:180px; max-width:360px; }
.pnl-pager{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:12px 2px 2px; }
.pnl-pager-info{ font-size:11.5px; color:var(--txt-3); }
.pnl-pager-nav{ display:flex; align-items:center; gap:4px; }
.pnl-pager-nav a, .pnl-pager-nav b, .pnl-pager-nav .off{
  min-width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center;
  padding:0 8px; border-radius:8px; font-size:12px; font-weight:600;
  border:1px solid var(--gpc-border); color:var(--gpc-muted); text-decoration:none;
}
.pnl-pager-nav a:hover{ border-color:var(--line-gold); color:var(--gold-400); }
:root[data-theme="light"] .pnl-pager-nav a:hover{ color:var(--gold-900); }
.pnl-pager-nav b{ background:var(--gpc-primary-050); border-color:var(--line-gold); color:var(--gold-400); }
:root[data-theme="light"] .pnl-pager-nav b{ color:var(--gold-900); }
.pnl-pager-nav .off{ opacity:.4; }
