/* AdRewards — حزمة تحسينات السلاسة والاستجابة (تُحمَّل بعد الأنماط الأساسية) */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; -webkit-tap-highlight-color: transparent; }

/* لمسة فورية: بلا تأخير النقر المزدوج ولا تكبير عرضي */
a, button, input, select, textarea, label, .btn, .quick-tile, .side-link, .cat-btn, .list-row, .offer-card, .promo-row, .proof-card { touch-action: manipulation; }

/* حلقة تركيز واضحة للوحة المفاتيح فقط */
:focus-visible { outline: 2px solid var(--gold, #e8b93c); outline-offset: 2px; border-radius: 8px; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline-offset: 0; }

/* ضغطة محسوسة على الأزرار والبطاقات القابلة للنقر */
.btn, .offer-card, .promo-row, .list-row, .cat-btn, .side-link, .icon-btn { transition: transform .16s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, background-color .2s ease, border-color .2s ease, opacity .2s ease; }
.btn:active:not(:disabled), .offer-card:active, .cat-btn:active, .icon-btn:active { transform: scale(.975); }
.btn:disabled, .btn[disabled] { cursor: not-allowed; }

/* أرقام ثابتة العرض: لا تهتز الأرصدة والمبالغ أثناء العدّ */
.balance-big, .amount-pos, .count, .kpi b, .stat-tile b, .balance-pill, td, .mono { font-variant-numeric: tabular-nums; }

/* تحميل أنعم: ظهور تدريجي للصور وبقاء مكانها محجوزاً */
img { image-decoding: async; }
img[loading="lazy"] { background: var(--bg-2, #f1f2f4); }

/* منع القفزات الأفقية على الشاشات الصغيرة */
.card, .stack, .proof-body, .list-main { min-width: 0; }
.list-main strong, .list-main span { overflow-wrap: anywhere; }

/* الجوال: مساحة آمنة أسفل الشاشة للشريط السفلي والإشعارات */
@supports (padding: max(0px)) {
  .toaster { top: max(18px, env(safe-area-inset-top)); }
  .bottom-nav { padding-bottom: max(6px, env(safe-area-inset-bottom)); }
}

/* العربية: تباعد أريح للقراءة */
html[lang="ar"] p, html[lang="ar"] .small, html[lang="ar"] .muted, html[lang="fa"] p { line-height: 1.8; }
html[lang="ar"] h1, html[lang="ar"] h2, html[lang="ar"] h3 { line-height: 1.45; }

/* من يفضّل حركة أقل */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ===== الأدوات والمفاتيح (لوحة الإدارة) ===== */
.tool-card { border: 1px solid var(--line, #e6e8ec); transition: border-color .2s ease, box-shadow .2s ease; }
.tool-card.tool-on { border-color: var(--green, #1f9d55); box-shadow: 0 0 0 1px rgba(31,157,85,.18); }
.tools-grid { gap: 14px; }
.tools-savebar { position: sticky; top: 8px; z-index: 20; display: flex; gap: 10px; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 12px 16px; background: var(--gold-soft, #fff4d6); border: 1px solid var(--gold, #e8b93c); }
@media (max-width: 760px) { .tools-grid { grid-template-columns: 1fr !important; } }

/* ===== اختيار شرائح الدول، وإحصائيات الحملة، وبطاقة التقييم (واجهة العضو) ===== */
.geo-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.geo-chip { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 10px 14px; min-width: 120px; text-align: start; border: 1.5px solid var(--line, #e6e8ec); border-radius: 12px; background: var(--card, #fff); color: inherit; cursor: pointer; font: inherit; }
.geo-chip small { opacity: .65; font-size: 11px; }
.geo-chip.on { border-color: var(--gold, #e8b93c); background: var(--gold-soft, #fff4d6); }
.cs-panel { display: grid; gap: 12px; padding: 12px; border: 1px solid var(--line, #e6e8ec); border-radius: 12px; background: var(--bg-2, #f6f7f9); }
.cs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); gap: 8px; }
.cs-cell { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; border-radius: 10px; background: var(--card, #fff); }
.cs-cell b { font-size: 16px; font-variant-numeric: tabular-nums; }
.cs-overview { margin: 8px 0 4px; }
.cs-bars { display: flex; align-items: flex-end; gap: 4px; height: 48px; margin-top: 6px; }
.cs-bars i { flex: 1; min-width: 6px; border-radius: 4px 4px 0 0; background: var(--gold, #e8b93c); }
.rate-card { text-align: center; display: grid; gap: 8px; justify-items: center; }
.rate-card .row { justify-content: center; }
.rate-stars { font-size: 26px; letter-spacing: 4px; color: var(--gold, #e8b93c); }

/* ===== لوحة الإدارة: صفحة «نظرة عامة» + بحث القائمة ===== */
.side-search { width: 100%; margin: 2px 0 6px; padding: 9px 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); color: #fff; font-size: 14px; }
.side-search::placeholder { color: rgba(255,255,255,.42); }
.side-search:focus { outline: none; border-color: var(--gold); background: rgba(255,255,255,.1); }
.ov-h { margin: 6px 0 -4px; font-size: 15px; color: var(--ink-2); }
.ov-status { display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: baseline; padding: 16px 18px; border-radius: 18px; border: 1px solid; }
.ov-status b { font-size: 17px; }
.ov-status-ok { background: var(--green-soft); border-color: #bfe6cc; color: #14532d; }
.ov-status-warn { background: var(--orange-soft); border-color: #f5d3a8; color: #7c3a05; }
.ov-list { padding: 4px 10px; }
.ov-alert { display: flex; align-items: center; gap: 12px; padding: 12px 8px; border-bottom: 1px solid var(--line); border-radius: 10px; }
.ov-alert:last-child { border-bottom: 0; }
.ov-alert:hover { background: var(--bg); }
.ov-alert i { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.ov-alert span { flex: 1; min-width: 0; }
.ov-red i { background: var(--red); }
.ov-orange i { background: var(--orange); }
.ov-blue i { background: var(--blue); }
.ov-trends { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 12px 0 8px; }
.ov-bars { display: flex; align-items: flex-end; gap: 4px; height: 64px; margin-top: 6px; }
.ov-bars i { flex: 1; min-width: 4px; border-radius: 4px 4px 2px 2px; opacity: .9; }
.ov-up { color: var(--green); font-weight: 600; }
.ov-down { color: var(--red); font-weight: 600; }
.ov-progress { flex: 1; max-width: 180px; height: 8px; background: var(--bg-2); border-radius: 99px; overflow: hidden; margin-inline-start: 12px; }
.ov-progress i { display: block; height: 100%; background: var(--green); }
.ov-qa { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.ov-qa-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 16px; background: #fff; border: 1px solid var(--line); border-radius: 16px; font-weight: 500; }
.ov-qa-item:hover { border-color: var(--gold); box-shadow: var(--shadow); }
@media (max-width: 640px) { .ov-trends { grid-template-columns: 1fr; } }

/* ===== لوحة الإدارة: التحكم بالتطبيق + محرر النص بكل اللغات ===== */
.lt { display: flex; flex-direction: column; gap: 6px; }
.lt-tabs { display: flex; flex-wrap: wrap; gap: 4px; }
.lt-tab { position: relative; border: 1px solid var(--line); background: #fff; color: var(--ink-2); border-radius: 8px; padding: 4px 9px; font-size: 12px; font-weight: 600; cursor: pointer; }
.lt-tab:hover { border-color: var(--gold); }
.lt-tab.on { background: var(--dark); color: #fff; border-color: var(--dark); }
.lt-tab.filled::after { content: ""; position: absolute; top: 3px; inset-inline-end: 3px; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
.lt-foot { display: flex; justify-content: space-between; gap: 8px; }
.ac-item { border-inline-start: 4px solid var(--line-2); }
.ac-title { overflow-wrap: anywhere; }
.ac-edit { border-top: 1px dashed var(--line-2); padding-top: 12px; margin-top: 4px; }
.ac-prev { border-radius: 14px; padding: 12px 14px; border: 1px solid; max-width: 520px; }
.ac-prev b { display: block; }
.ac-prev-btn { margin-top: 6px; font-weight: 700; }
.ac-info { background: var(--blue-soft); border-color: #c4d4fa; color: var(--blue); }
.ac-success { background: var(--green-soft); border-color: #bfe6cc; color: var(--green); }
.ac-warning { background: var(--orange-soft); border-color: #f5d3a8; color: var(--orange); }
.ac-danger { background: var(--red-soft); border-color: #f5c2c2; color: var(--red); }
.ac-prev b, .ac-prev .small { color: var(--ink); }
.ac-langs { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px 16px; }

/* ===== لوحة الإدارة: البريد (صندوق مشترك + صندوق شخصي لكل موظف) ===== */
.ml-bar { gap: 10px; }
.ml-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 16px; align-items: start; }
.ml-list { padding: 8px; }
.ml-search { padding: 4px 4px 10px; }
.ml-row { display: flex; align-items: flex-start; gap: 8px; cursor: pointer; border-radius: 12px; padding: 10px 8px; }
.ml-row:hover { background: var(--bg); }
.ml-row.on { background: var(--gold-soft); }
.ml-row:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }
.ml-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; margin-top: 7px; background: transparent; }
.ml-row.unread .ml-dot { background: var(--blue); }
.ml-row.unread .ml-from, .ml-row.unread .ml-subject { font-weight: 800; }
.ml-from { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.ml-date { flex: none; }
.ml-subject { display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; overflow-wrap: anywhere; }
.ml-snip { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ml-title { overflow-wrap: anywhere; }
.ml-meta > div { overflow-wrap: anywhere; }
.ml-body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; border-top: 1px solid var(--line); padding-top: 12px; max-height: 60vh; overflow: auto; }
.ml-text { min-height: 220px; font-family: inherit; }
.ml-addr { display: flex; align-items: center; gap: 6px; }
.ml-addr .input { flex: 1; min-width: 0; }
.ml-dom { color: var(--ink-2); white-space: nowrap; font-weight: 600; }
.ml-backbtn { display: none; }
.link-btn { background: none; border: 0; padding: 0; color: var(--blue); cursor: pointer; font: inherit; text-decoration: underline; }
@media (max-width: 860px) {
  .ml-grid { grid-template-columns: minmax(0, 1fr); }
  .ml-grid.reading .ml-list { display: none; }
  .ml-grid:not(.reading) .ml-view { display: none; }
  .ml-backbtn { display: inline-flex; }
}

/* =====================================================================
   لوحة الإدارة — تصميم موحّد (3.12). كل القواعد تحت .admin-ui فلا تمسّ واجهة العضو.
   قياسات ثابتة: حقول 40px · بطاقات 16px · مسافات 16px · عناوين 22/16/13
   ===================================================================== */
.admin-ui { --a-gap: 16px; --a-radius: 14px; --a-pad: 18px; }
.admin-ui .sidebar { padding: 16px 12px; width: 240px; }
.admin-ui.shell { grid-template-columns: 240px minmax(0, 1fr); }
.admin-ui .side-link { padding: 9px 11px; border-radius: 11px; font-size: 14px; gap: 11px; }
.admin-ui .side-link svg { width: 18px; height: 18px; }
.admin-ui .side-sep { margin: 14px 10px 4px; font-size: 10.5px; letter-spacing: .12em; }
.admin-ui .side-link.active::before { inset-inline-start: -12px; top: 8px; bottom: 8px; }

.admin-ui .topbar { padding: 10px 28px; min-height: 56px; }
.admin-ui .topbar-title { display: none; }
.admin-ui .content { max-width: 1240px; padding: 4px 28px 72px; }

/* عنوان الصفحة: سطر واحد نظيف */
.admin-ui .page-head { margin: 4px 0 18px; padding-bottom: 14px; border-bottom: 1px solid var(--line); align-items: center; }
.admin-ui .page-head h1 { font-size: 22px; line-height: 1.3; letter-spacing: -.01em; }
.admin-ui .page-head .btn { --h: 38px; }

/* البطاقات */
.admin-ui .card { border-radius: var(--a-radius); padding: var(--a-pad); box-shadow: 0 1px 2px rgba(16,20,28,.04); border-color: var(--line); }
.admin-ui .card-tight { padding: 14px; }
.admin-ui .card h3 { font-size: 16px; font-weight: 650; line-height: 1.35; margin: 0; }
.admin-ui .card > h3:first-child, .admin-ui .card > .row-between:first-child { margin-bottom: 2px; }
.admin-ui .stack { gap: var(--a-gap); }
.admin-ui .stack-sm { gap: 8px; }
.admin-ui .grid-2, .admin-ui .grid-3, .admin-ui .grid-4 { gap: var(--a-gap); }
.admin-ui .grid-2 > *, .admin-ui .grid-3 > *, .admin-ui .grid-4 > * { min-width: 0; }

/* الحقول: ارتفاع واحد، تسمية واحدة، لا فراغات زائدة */
.admin-ui .field { gap: 6px; }
.admin-ui .field-label { font-size: 12.5px; font-weight: 600; color: var(--ink-2); }
.admin-ui .field-hint { font-size: 12px; line-height: 1.5; }
.admin-ui .input, .admin-ui .select { height: 40px; padding: 0 12px; border-radius: 10px; font-size: 14px; background: #fff; }
.admin-ui .textarea { border-radius: 10px; font-size: 14px; background: #fff; min-height: 88px; }
.admin-ui .input:focus, .admin-ui .select:focus, .admin-ui .textarea:focus { box-shadow: 0 0 0 3px rgba(232,185,60,.2); }
.admin-ui .btn { --h: 40px; font-size: 14px; border-radius: 10px; padding: 0 16px; }
.admin-ui .btn-sm { --h: 34px; font-size: 13px; padding: 0 12px; border-radius: 9px; }
.admin-ui .btn-gold { box-shadow: none; }
.admin-ui .btn-gold:hover { box-shadow: none; }
.admin-ui .btn:hover { transform: none; }
.admin-ui .icon-btn { border-radius: 10px; }

/* الجداول: كثيفة ومقروءة، والحقول داخلها أصغر */
.admin-ui .table-wrap { border-radius: var(--a-radius); }
.admin-ui .table { font-size: 13.5px; }
.admin-ui .table th { font-size: 11px; letter-spacing: .05em; padding: 10px 12px; }
.admin-ui .table td { padding: 9px 12px; }
.admin-ui .table td .input, .admin-ui .table td .select { height: 34px; border-radius: 8px; padding: 0 10px; font-size: 13.5px; min-width: 64px; }
.admin-ui .table tr:hover td { background: #fafbfc; }

/* أرقام الملخّص: شبكة تملأ الصف دون بطاقة يتيمة */
.admin-ui .kpis { grid-template-columns: repeat(auto-fit, minmax(176px, 1fr)); gap: 12px; }
.admin-ui .kpi { border-radius: var(--a-radius); padding: 14px 16px; }
.admin-ui .kpi b { font-size: 24px; margin-top: 4px; }
.admin-ui .kpi .eyebrow { letter-spacing: .08em; }
.admin-ui .stat-tiles { gap: 12px; }
.admin-ui .stat-tile { border-radius: var(--a-radius); }

/* التبويبات: شريط واحد موحّد */
.admin-ui .tabs { gap: 2px; margin-bottom: 16px; }
.admin-ui .tabs button { padding: 9px 14px; font-size: 14px; }

/* التنبيهات: خفيفة، بشريط جانبي، بلا خلفيات صارخة */
.admin-ui .notice { border-radius: 10px; padding: 10px 12px; font-size: 13.5px; gap: 9px; border-width: 1px; border-style: solid; }
.admin-ui .notice svg { width: 17px; height: 17px; }
.admin-ui .notice-info { background: #f7f8fa; color: var(--ink-2); border-color: var(--line); }
.admin-ui .notice-blue { background: var(--blue-soft); border-color: #cfdcfa; }
.admin-ui .notice-ok { border-color: #c4e8d1; }
.admin-ui .notice-err { border-color: #f4c7c7; }

/* الصفحة الرئيسية */
.admin-ui .ov-status { border-radius: var(--a-radius); padding: 12px 16px; }
.admin-ui .ov-status b { font-size: 15px; }
.admin-ui .ov-h { margin: 8px 0 -6px; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 600; }
.admin-ui .ov-list { border-radius: var(--a-radius); }
.admin-ui .ov-alert { padding: 9px 8px; font-size: 14px; }
.admin-ui .ov-qa { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.admin-ui .ov-qa-item { padding: 11px 14px; border-radius: 12px; font-size: 14px; }

/* شارات */
.admin-ui .badge { font-size: 11.5px; padding: 2px 9px; }

/* الجوال */
@media (max-width: 900px) {
  .admin-ui.shell { grid-template-columns: minmax(0, 1fr); }
  .admin-ui .sidebar { width: auto; }
  .admin-ui .content { padding: 4px 16px 110px; }
  .admin-ui .page-head h1 { font-size: 20px; }
  .admin-ui .card { padding: 14px; }
}

/* ===== 3.13 · sections without empty gaps ===== */
.admin-ui .tools-sections { gap: 26px; }
.admin-ui .tools-section { display: flex; flex-direction: column; gap: 10px; }
.admin-ui .tools-h { margin: 0; padding-bottom: 6px; border-bottom: 1px solid var(--line, #e6e8ec); font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted, #6b7280); }
.admin-ui .tools-section .tools-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: stretch; grid-auto-flow: dense; }
.admin-ui .tools-grid > .tool-card { margin: 0; }
.admin-ui .tools-grid > .tool-card:has(textarea),
.admin-ui .tools-grid > .tool-card:has(.grid-2),
.admin-ui .tools-grid > .tool-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.admin-ui .ov-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--a-gap, 16px); align-items: start; }
.admin-ui .ov-cols > .stack { min-width: 0; gap: var(--a-gap, 16px); }
.admin-ui .kpis { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.admin-ui .kpis:has(.kpi:nth-child(6):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-ui .kpis:has(.kpi:nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) {
  .admin-ui .ov-cols { grid-template-columns: 1fr; }
  .admin-ui .kpis:has(.kpi:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .admin-ui .tools-section .tools-grid { grid-template-columns: 1fr; }
  .admin-ui .kpis:has(.kpi:nth-child(6):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* link pages v2 — the "pages the visitor sees" chooser on the create-link page */
.lp-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.lp-plan { display: flex; flex-direction: column; gap: 2px; align-items: flex-start; text-align: start; padding: 10px 12px; border: 1.5px solid var(--line-2); border-radius: var(--r-sm); background: var(--card); color: var(--ink); cursor: pointer; font: inherit; transition: border-color .15s, background .15s; }
.lp-plan:hover { border-color: var(--gold); }
.lp-plan.on { border-color: var(--gold); background: var(--gold-soft); color: var(--gold-ink); }
.lp-plan:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.lp-plan b { font-size: 15px; }
.lp-rate { font-size: 12.5px; font-weight: 600; color: var(--green); }
@media (max-width: 380px) { .lp-plans { grid-template-columns: 1fr; } }

/* 3.43 — the green shield shown inside the ring when the wait is over (the generic ".ring svg" rule stretched it to 0 width) */
.ring .sl-ok { display: grid; place-items: center; }
.ring .sl-ok svg { position: static; inset: auto; width: 44px; height: 44px; color: var(--green); }
