/* «الجمهور المستهدف» (audience.js) — البادئة aud- كي لا تصطدم بغيرها،
   وكل لون من متغيّرات سمة اللوحة فيعمل في الوضعين الفاتح والداكن. */

.aud{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}
.aud + .aud{margin-top:10px}
.aud-h h4{margin:0 0 3px;font-family:var(--fdisplay);font-size:14px;font-weight:800;color:var(--text)}
.aud-sub{color:var(--muted);font-size:12px;line-height:1.8;margin-bottom:10px}
.aud-field{margin-bottom:12px}
.aud-l{font-size:12px;font-weight:800;color:var(--muted);margin-bottom:6px}
.aud-note{color:var(--faint);font-size:11.5px;line-height:1.8;margin-top:6px}
.aud-note b{color:var(--text)}
.aud-err{color:var(--crit);font-size:12px;font-weight:700;margin:6px 0}
.aud-off{background:var(--surface-2);border:1px dashed var(--border);border-radius:12px;
  padding:10px 12px;font-size:12.5px;color:var(--muted);line-height:1.8}

.aud-seg{display:inline-flex;gap:3px;background:var(--surface-2);border:1px solid var(--border-soft);
  border-radius:999px;padding:3px}
.aud-seg button{border:0;background:none;font:inherit;font-size:12px;font-weight:800;color:var(--muted);
  padding:5px 13px;border-radius:999px;cursor:pointer}
.aud-seg button[aria-pressed="true"]{background:var(--grad);color:#fff}
.aud-seg.sm button{font-size:11.5px;padding:4px 11px}

.aud-cbox{margin-top:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.aud-cbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:7px 11px;border-bottom:1px solid var(--border-soft);
  font-size:12px;font-weight:800;color:var(--muted)}
.aud-cbar span{margin-inline-end:auto;color:var(--text)}
.aud-cbar button{border:0;background:none;font:inherit;font-size:12px;font-weight:800;color:var(--primary);cursor:pointer;padding:0}
.aud-cbar button:hover{text-decoration:underline}
.aud-cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:2px 8px;padding:8px 10px;
  max-height:220px;overflow-y:auto}
.aud-cb{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--text);padding:4px 2px;
  cursor:pointer;min-width:0}
.aud-cb input{accent-color:var(--primary);margin:0;flex:none}
.aud-cb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aud-cnone{padding:10px 12px;font-size:12px;color:var(--faint)}

.aud-chips{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 10px}
.aud-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);font:inherit;
  font-size:12px;font-weight:800;padding:6px 12px;border-radius:999px;cursor:pointer}
.aud-chip:hover{border-color:var(--primary);color:var(--primary)}
.aud-chip[aria-pressed="true"]{background:var(--grad);border-color:transparent;color:#fff}
.aud-chip:disabled{opacity:.55;cursor:wait}

.aud-match{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:8px}
.aud-rules{display:flex;flex-direction:column;gap:7px}
.aud-rule{display:flex;gap:6px;align-items:center;flex-wrap:wrap;background:var(--surface-2);
  border:1px solid var(--border);border-radius:12px;padding:7px 9px;font-size:12.5px}
.aud-rule select,.aud-rule input{background:var(--surface);border:1px solid var(--border);color:var(--text);
  border-radius:9px;padding:5px 8px;font:inherit;font-size:12.5px;font-weight:600}
.aud-rule select:focus,.aud-rule input:focus{outline:2px solid var(--primary);outline-offset:1px}
.aud-rule .aud-num{width:90px}
.aud-and{color:var(--faint);font-weight:700}
.aud-ins{display:inline-flex;gap:6px;flex-wrap:wrap}
.aud-in{display:inline-flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--border);
  border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;cursor:pointer}
.aud-in input{accent-color:var(--primary);margin:0}
.aud-x{margin-inline-start:auto;border:1px solid var(--crit-line);background:none;color:var(--crit);
  border-radius:8px;width:26px;height:26px;font-size:12px;cursor:pointer}
.aud-none{background:var(--surface-2);border:1px dashed var(--border);border-radius:12px;padding:9px 12px;
  font-size:12.5px;color:var(--muted)}
.aud-add{border:0;background:none;color:var(--primary);font:inherit;font-size:12.5px;font-weight:800;
  padding:8px 0 10px;cursor:pointer}
.aud-add:disabled{color:var(--faint);cursor:not-allowed}

.aud-reach{display:flex;align-items:center;gap:12px;border-radius:12px;padding:10px 12px;
  background:color-mix(in srgb,var(--primary) 9%,var(--surface));
  border:1px solid color-mix(in srgb,var(--primary) 28%,transparent)}
.aud-reach.bad{background:var(--warn-bg);border-color:var(--warn-line)}
.aud-reach-n{font-size:24px;font-weight:900;color:var(--primary);font-variant-numeric:tabular-nums;min-width:44px;text-align:center}
.aud-reach.bad .aud-reach-n{color:var(--warn)}
.aud-reach b{font-size:13px;color:var(--text)}
.aud-reach small{display:block;color:var(--muted);font-size:11px;line-height:1.7}
.aud-sample{font-size:11.5px;color:var(--muted);margin-top:7px;line-height:1.9}

/* مفتاح تشغيل لخيارات برنامج الإحالة */
.aud-tog{display:flex;align-items:flex-start;gap:10px;background:var(--surface-2);border:1px solid var(--border);
  border-radius:12px;padding:10px 12px;margin-bottom:8px;font-size:13px}
.aud-tog b{color:var(--text)}
.aud-tog small{display:block;color:var(--muted);font-size:11.5px;line-height:1.7;margin-top:2px}
.aud-tog button[role="switch"]{flex:none;width:38px;height:22px;border-radius:99px;border:0;background:var(--border);
  position:relative;cursor:pointer;margin-top:1px}
.aud-tog button[role="switch"]::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:16px;height:16px;
  border-radius:50%;background:#fff;transition:inset-inline-start .15s}
.aud-tog button[role="switch"][aria-checked="true"]{background:var(--good)}
.aud-tog button[role="switch"][aria-checked="true"]::after{inset-inline-start:19px}
.aud-tog.off{opacity:.65}
.aud-tog button[role="switch"]:disabled{cursor:not-allowed}

/* محرّر القسيمة (app.js) — الشبكة والحقول */
.cpe{display:flex;flex-direction:column;gap:14px}
.cpe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 12px}
.cpe-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800;color:var(--muted)}
.cpe-grid .fin-in{width:100%;box-sizing:border-box}
.cpe-grid .wide{grid-column:1/-1}
.cpe-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cpe-err{color:var(--crit);font-size:12.5px;font-weight:700}
.cpe-ro{background:var(--surface-2)!important;color:var(--muted)!important}

/* محرّك الأكواد (growth.js) كان يستعمل أصنافاً لا أنماط لها في app.css
   (card/table/btn-sm/pill) — فتظهر الجداول والأزرار بلا شكل. تُعرَّف هنا
   تحت .gr-root وحده كي لا تمسّ غيره. */
.gr-root .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:14px 18px 16px;margin-bottom:16px}
.gr-root .card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.gr-root .card-head h3{margin:0;font-family:var(--fdisplay);font-size:14.5px;font-weight:800}
.gr-root .table{border-collapse:collapse;width:100%;font-size:12.5px}
.gr-root .table th,.gr-root .table td{text-align:right;padding:9px 10px;border-bottom:1px solid var(--border-soft);vertical-align:top}
.gr-root .table thead th{background:var(--surface-2);color:var(--faint);font-size:10.5px;font-weight:800}
.gr-root .table td.num{font-variant-numeric:tabular-nums;font-weight:700}
.gr-root .tblx{overflow-x:auto}
.gr-root .sub-cell{color:var(--faint);font-size:11px;margin-top:2px}
.gr-root .btn-sm{padding:5px 11px;border-radius:9px;font:inherit;font-size:11.5px;font-weight:700;
  border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}
.gr-root .btn-sm:hover{border-color:var(--primary);color:var(--primary)}
.gr-root .btn-primary{padding:8px 16px;border-radius:10px;border:0;background:var(--grad);color:#fff;
  font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}
.gr-root .pill{display:inline-flex;align-items:center;font-size:10.5px;font-weight:800;padding:2px 9px;border-radius:999px}
.gr-root .pill.good{background:var(--good-bg);color:var(--good);border:1px solid var(--good-line)}
.gr-root .pill.mute{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}
.gr-root .pill.warn{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-line)}
/* و--line غير معرَّف في السمة، فحدود هذه العناصر كانت تسقط كلّها (لا لون
   فحسب) — تُعاد بالخاصية كاملة لا بلونها. */
.gr-root .gr-pre,.gr-root .gr-say,.gr-root .gr-cost,.gr-root .gr-f input,.gr-root .gr-f select,
.gr-root .gr-cap,.gr-root .gr-chan{border:1px solid var(--border)}
.gr-root .gr-cost-sep{background:var(--border)}
.gr-root .gr-warn{border-bottom:1px solid var(--border-soft)}
.gr-root .gr-warn:last-child{border-bottom:none}
.gr-sec{margin-top:18px}
.gr-sec > h4{margin:0 0 4px;font-family:var(--fdisplay);font-size:13.5px;font-weight:800;color:var(--text)}
.gr-sec > p{margin:0 0 10px;color:var(--muted);font-size:12px;line-height:1.8}
.gr-hint{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:9px 12px;
  font-size:12px;color:var(--muted);line-height:1.8;margin-top:10px}
.gr-hint b{color:var(--text)}
