/* ==========================================================
   لایه اشتراک — استایل‌ها
   همه‌ی کلاس‌ها با پیشوند lic- هستند تا با استایل‌های برنامه تداخل نکنند.
   از همان متغیرهای رنگ برنامه استفاده می‌شود، پس حالت تاریک هم درست کار می‌کند.
   ========================================================== */

/* ---------- پوشش صفحه‌های قفل ---------- */
.lic-overlay{
  position:absolute; inset:0; z-index:20;
  display:flex; align-items:flex-start; justify-content:center;
  padding:40px 16px;
  background:color-mix(in srgb, var(--bg, #fff) 88%, transparent);
  backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  border-radius:var(--radius-lg, 20px);
}
/* صفحه‌ها باید مرجع موقعیت باشند تا پوشش دقیقاً رویشان بیفتد */
.page{ position:relative; }

.lic-overlay-card{
  max-width:340px; width:100%; text-align:center;
  background:var(--bg, #fff); border:1px solid var(--border, #e5eaf3);
  border-radius:var(--radius-lg, 20px); box-shadow:var(--shadow-md, 0 6px 20px -8px rgba(30,50,110,.15));
  padding:26px 20px;
}
.lic-overlay-icon{
  width:46px; height:46px; margin:0 auto 12px;
  display:flex; align-items:center; justify-content:center;
  border-radius:14px; background:var(--warning-tint, #fdf3e4); color:var(--warning, #e8a13a);
}
.lic-overlay-card h3{ font-size:15.5px; font-weight:800; margin-bottom:6px; color:var(--text, #1a2233); }
.lic-overlay-card p{ font-size:12.5px; color:var(--muted, #7c8698); margin-bottom:16px; line-height:1.8; }

/* ---------- دکمه‌های قفل‌شده ---------- */
.lic-locked-el{ opacity:.55; position:relative; }
/* بدون ایموجی: قفل با کم‌رنگ شدن خود عنصر نشان داده می‌شود */

/* ---------- دکمه ---------- */
.lic-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:9px 16px; border:none; border-radius:var(--radius-sm, 10px);
  background:var(--primary, #7c5cff); color:#fff;
  font-family:inherit; font-size:13px; font-weight:700; cursor:pointer;
}
.lic-btn:hover{ background:var(--primary-dark, #5b3fe0); }
.lic-btn:disabled{ opacity:.6; cursor:default; }
.lic-btn-block{ width:100%; margin-top:10px; }
.lic-btn-sm{ padding:6px 12px; font-size:12px; }
.lic-btn-ghost{ background:var(--surface-2, #eef2fa); color:var(--text, #1a2233); }
.lic-btn-ghost:hover{ background:var(--border, #e5eaf3); }

/* ---------- نوار وضعیت ---------- */
#lic-banner{
  position:fixed; z-index:70; inset-inline:12px; bottom:12px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:10px 14px; border-radius:var(--radius-md, 14px);
  font-size:12.5px; font-weight:600; line-height:1.7;
  box-shadow:var(--shadow-md, 0 6px 20px -8px rgba(30,50,110,.15));
}
#lic-banner.lic-banner-danger{ background:var(--danger-tint, #fdecec); color:var(--danger, #e54b4b); }
#lic-banner.lic-banner-warning{ background:var(--warning-tint, #fdf3e4); color:var(--warning, #e8a13a); }
#lic-banner .lic-banner-text{ flex:1; min-width:0; }
@media (min-width:900px){ #lic-banner{ inset-inline-start:auto; max-width:520px; } }
/* روی موبایل بالای نوار پایین بنشیند */
@media (max-width:899px){ #lic-banner{ bottom:calc(var(--bottomnav-space, 76px) + 10px); } }

/* ---------- پنجره اشتراک ---------- */
.lic-scrim{
  position:fixed; inset:0; z-index:120; display:none;
  align-items:center; justify-content:center; padding:16px;
  background:rgba(12,18,32,.55);
}
.lic-scrim.lic-open{ display:flex; }
.lic-box{
  width:100%; max-width:420px; max-height:90vh; overflow-y:auto;
  background:var(--bg, #fff); border-radius:var(--radius-lg, 20px);
  border:1px solid var(--border, #e5eaf3);
  box-shadow:0 20px 60px -20px rgba(10,20,50,.45);
}
.lic-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 18px; border-bottom:1px solid var(--border, #e5eaf3);
}
.lic-head h3{ font-size:15px; font-weight:800; color:var(--text, #1a2233); }
.lic-close{
  border:none; background:transparent; cursor:pointer;
  font-size:22px; line-height:1; color:var(--muted, #7c8698); padding:0 4px;
}
.lic-body{ padding:16px 18px 20px; }
.lic-section{ margin-bottom:18px; }
.lic-label{
  display:block; font-size:12px; font-weight:700;
  color:var(--muted, #7c8698); margin:10px 0 5px;
}
.lic-input{
  width:100%; padding:9px 11px; font-family:inherit; font-size:13px;
  color:var(--text, #1a2233); background:var(--surface, #f6f8fc);
  border:1.5px solid var(--border, #e5eaf3); border-radius:var(--radius-sm, 10px);
  outline:none;
}
.lic-input:focus{ border-color:var(--primary, #7c5cff); }
.lic-hint{ font-size:11.5px; color:var(--muted, #7c8698); margin-top:5px; line-height:1.7; }

.lic-tabs{ display:flex; gap:6px; margin-bottom:6px; }
.lic-tab{
  flex:1; padding:8px; border:1.5px solid var(--border, #e5eaf3);
  border-radius:var(--radius-sm, 10px); background:var(--surface, #f6f8fc);
  color:var(--muted, #7c8698); font-family:inherit; font-size:12.5px; font-weight:700; cursor:pointer;
}
.lic-tab-active{ background:var(--primary, #7c5cff); border-color:var(--primary, #7c5cff); color:#fff; }

.lic-status{
  padding:12px 14px; margin-bottom:16px;
  background:var(--surface, #f6f8fc); border-radius:var(--radius-md, 14px);
}
.lic-badge{
  display:inline-block; padding:3px 10px; border-radius:20px;
  font-size:11.5px; font-weight:800; margin-bottom:8px;
}
.lic-badge-ok{ background:var(--success-tint, #e8f8f1); color:var(--success, #18a06b); }
.lic-badge-warn{ background:var(--warning-tint, #fdf3e4); color:var(--warning, #e8a13a); }
.lic-badge-bad{ background:var(--danger-tint, #fdecec); color:var(--danger, #e54b4b); }
.lic-row{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  font-size:12.5px; padding:4px 0; color:var(--muted, #7c8698);
}
.lic-row b{ color:var(--text, #1a2233); font-weight:700; }

.lic-msg{
  padding:10px 12px; border-radius:var(--radius-sm, 10px);
  font-size:12.5px; line-height:1.8; margin-top:6px;
}
.lic-msg-ok{ background:var(--success-tint, #e8f8f1); color:var(--success, #18a06b); }
.lic-msg-warn{ background:var(--warning-tint, #fdf3e4); color:var(--warning, #e8a13a); }
.lic-msg-bad{ background:var(--danger-tint, #fdecec); color:var(--danger, #e54b4b); }

.lic-details{ margin-top:14px; }
.lic-details summary{
  cursor:pointer; font-size:12.5px; font-weight:700; color:var(--muted, #7c8698); padding:4px 0;
}
.lic-tech{ padding-top:8px; }
.lic-featlist{ list-style:none; margin:0 0 10px; padding:0; }
.lic-featlist li{
  display:flex; align-items:center; justify-content:space-between;
  font-size:12.5px; padding:5px 0; color:var(--text, #1a2233);
  border-bottom:1px dashed var(--border, #e5eaf3);
}
.lic-featlist li span{ font-size:11px; font-weight:800; }
.lic-featlist li.lic-on span{ color:var(--success, #18a06b); }
.lic-featlist li.lic-off span{ color:var(--danger, #e54b4b); }

/* ---------- پنهان کردن ورودی‌های منو برای قابلیت‌های قفل ---------- */
html.lic-lock-sales      [data-page="sale"],
html.lic-lock-sales      [data-page="quick-sale"],
html.lic-lock-sales      [data-page="sales"],
html.lic-lock-warehouse  [data-page="warehouse"],
html.lic-lock-debtors    [data-page="debtors"],
html.lic-lock-expenses   [data-page="expenses"],
html.lic-lock-purchasing [data-page="purchasing"],
html.lic-lock-reports    [data-page="reports"],
html.lic-lock-audit_log  [data-page="audit-log"]{
  opacity:.45;
}

/* ---------- کلید حساب ---------- */
.lic-apikey{
  display:flex; align-items:center; gap:8px;
  padding:9px 11px; border-radius:10px;
  border:1px dashed var(--border,#e5eaf3); background:var(--surface,#f6f8fc);
}
.lic-apikey code{
  flex:1; min-width:0; font-family:inherit;
  font-size:14px; font-weight:800; letter-spacing:1px;
  color:var(--primary,#7c5cff); user-select:all;
  overflow-x:auto; white-space:nowrap;
}
