/* ==========================================================================
   SPL Walaa — Admin console page styles (prefix .adm-)
   ========================================================================== */

/* ---------- shared ---------- */
.adm-h2 { font-size: var(--fs-md); font-weight: 600; color: var(--navy-800); }
.adm-person { display: inline-flex; align-items: center; gap: 10px; min-width: 0; color: inherit; text-decoration: none !important; }
.adm-person > span:last-child { display: flex; flex-direction: column; min-width: 0; }
a.adm-person:hover .cell-main { color: var(--indigo-600); }
.adm-pills { display: inline-flex; flex-wrap: wrap; gap: 4px; }
.adm-chip-xs { padding: 2px 8px; font-size: 11px; }
.adm-actions { display: inline-flex; gap: 4px; justify-content: flex-end; align-items: center; }
.adm-danger { color: var(--error) !important; }
.adm-danger:hover { background: var(--error-bg) !important; }
.adm-bordered { border: 1px solid var(--border); border-radius: var(--r); overflow: hidden; }
.adm-sticky { position: sticky; top: calc(var(--topbar-h) + 16px); }
.adm-wrap { overflow-wrap: anywhere; }
.adm-old { color: var(--text-3); text-decoration: line-through; text-decoration-color: rgba(200,70,70,.5); overflow-wrap: anywhere; }
.adm-new { color: var(--navy-800); font-weight: 600; background: var(--success-bg); border-radius: 4px; padding: 0 4px; overflow-wrap: anywhere; }
.adm-oldnew { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: var(--fs-xs); max-width: 340px; }
.adm-oldnew .ico { color: var(--text-4); }
.adm-mini-bar { display: block; width: 100%; }
.adm-mini-bar .progress { height: 6px; }
.adm-prog { display: flex; flex-direction: column; gap: 4px; min-width: 140px; }
.adm-perf { display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; align-items: center; min-width: 150px; }
.adm-perf > .xs:first-child { grid-column: 1 / -1; color: var(--text-3); }
.adm-perf .progress { height: 6px; }
.adm-glink { display: inline-flex; gap: 6px; align-items: center; font-size: var(--fs-xs); font-weight: 600; color: var(--navy-700); }
a.adm-glink { color: var(--indigo-600); }
.adm-on-dark { --btn-fg: #fff; }
.adm-on-dark:hover { background: rgba(255,255,255,.1) !important; color: #fff !important; }
.adm-fs { border: 0; padding: 0; margin: 0; min-width: 0; display: flex; flex-direction: column; gap: var(--s5); }
.adm-fs[disabled] .card { background: var(--surface-2); }
.adm-dates { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3); }
@keyframes adm-bump { 0% { transform: scale(1); } 40% { transform: scale(1.08); } 100% { transform: scale(1); } }
.adm-bump { animation: adm-bump .4s var(--ease); }

/* apply / info note */
.adm-applynote { display: flex; gap: 12px; align-items: flex-start; padding: 12px 16px; border-radius: var(--r); background: var(--surface); border: 1px solid var(--border); border-inline-start: 4px solid var(--indigo-600); font-size: var(--fs-sm); color: var(--text-2); }
.adm-applynote > .ico { color: var(--indigo-600); margin-top: 2px; }
.adm-applynote b { display: block; color: var(--navy-800); font-weight: 600; }

/* sticky unsaved-changes bar */
.adm-savebar { position: sticky; bottom: 16px; z-index: 400; margin-top: var(--s5); }
.adm-savebar[hidden] { display: none; }
.adm-savebar-in { display: flex; align-items: center; gap: 14px; padding: 12px 14px 12px 18px; border-radius: var(--r-lg); background: var(--navy-800); color: #DDE4F0; box-shadow: var(--shadow-lg); animation: pop .2s var(--ease); flex-wrap: wrap; }
html[dir="rtl"] .adm-savebar-in { padding: 12px 18px 12px 14px; }
.adm-savebar-ico { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: rgba(216,168,78,.18); color: var(--gold-500); flex: 0 0 auto; }
.adm-savebar b { display: block; color: #fff; font-size: var(--fs-sm); }
.adm-savebar .grow span { font-size: var(--fs-xs); }
.adm-savebar-actions { display: flex; gap: 8px; }

/* diff table */
.adm-diff { border: 1px solid var(--border); border-radius: var(--r); max-height: 46vh; overflow: auto; }
.adm-diff td { font-size: var(--fs-sm); }

/* ---------- admin-home ---------- */
.adm-status { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; }
.adm-status-tile { display: flex; gap: 12px; padding: 16px 18px; border-inline-end: 1px solid var(--border); min-width: 0; }
.adm-status-tile:last-child { border-inline-end: 0; }
.adm-status-ico { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; background: var(--indigo-50); color: var(--indigo-600); }
.adm-status-ico.green { background: var(--success-bg); color: var(--success); }
.adm-status-ico.gold { background: var(--gold-100); color: var(--gold-700); }
.adm-status-label { font-size: var(--fs-xs); color: var(--text-3); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
html[lang="ar"] .adm-status-label { text-transform: none; letter-spacing: 0; }
.adm-status-val { display: flex; align-items: center; gap: 7px; font-weight: 600; color: var(--navy-800); margin-top: 2px; }
.adm-status-foot { font-size: var(--fs-xs); color: var(--text-3); margin-top: 2px; }
.adm-dot-green { color: var(--success); box-shadow: 0 0 0 3px var(--success-bg); }
.adm-dot-gold { color: var(--gold-500); box-shadow: 0 0 0 3px var(--gold-100); }
.adm-dot-blue { color: var(--indigo-600); box-shadow: 0 0 0 3px var(--indigo-50); }
.adm-home-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--s5); align-items: start; }
.adm-mini-matrix th[scope="row"] { font-size: var(--fs-sm); white-space: nowrap; }
.adm-mini-matrix tr.is-off td, .adm-mini-matrix tr.is-off th { color: var(--text-4); }
.adm-quick { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--border); border-radius: 0 0 var(--r-lg) var(--r-lg); overflow: hidden; }
.adm-quick-tile { display: flex; align-items: center; gap: 12px; padding: 16px 18px; background: var(--surface); color: var(--navy-800); font-weight: 600; font-size: var(--fs-sm); text-decoration: none !important; transition: background .15s; }
.adm-quick-tile:hover { background: var(--indigo-50); }
.adm-quick-ico { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--navy-800); color: var(--gold-500); flex: 0 0 auto; }
.adm-quick-arrow { margin-inline-start: auto; color: var(--text-4); }

/* ---------- admin-rules ---------- */
.adm-rules-grid { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: var(--s5); align-items: start; }
.adm-rules-side { position: sticky; top: calc(var(--topbar-h) + 16px); }
.adm-matrix th, .adm-matrix td { vertical-align: middle; }
.adm-matrix thead th { text-align: center; }
.adm-matrix thead th:first-child { text-align: start; }
.adm-matrix tbody th { font-weight: 400; text-align: start; padding: 10px 12px 10px 16px; border-bottom: 1px solid var(--border); min-width: 210px; }
.adm-matrix td { text-align: center; padding: 8px 6px; }
.adm-matrix thead th { padding: 10px 6px; }
.adm-audhead { display: inline-flex; align-items: center; gap: 6px; }
.adm-audrow th, .adm-audrow td { background: var(--surface-2); border-bottom: 1px solid var(--border); font-size: var(--fs-xs); color: var(--text-3); font-weight: 600; padding: 8px 10px; }
.adm-audrow th { text-align: start; padding-inline-start: 16px; }
.adm-audrow .switch { justify-content: center; }
.adm-act { display: flex; align-items: center; gap: 12px; }
.adm-act-ico { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--indigo-50); color: var(--indigo-600); flex: 0 0 auto; }
.adm-cell { align-items: center; }
.adm-num { width: 70px; text-align: center; font-weight: 600; font-variant-numeric: tabular-nums; font-size: var(--fs-md); padding: 6px 8px; }
.adm-cell .field-error { font-size: 11px; max-width: 120px; text-align: start; }
.adm-matrix tr.is-off .adm-num, .adm-matrix td.is-off .adm-num { background: var(--surface-3); color: var(--text-4); text-decoration: line-through; }
.adm-matrix tr.is-off .adm-act-ico { background: var(--surface-3); color: var(--text-4); }
.adm-matrix tr.is-off .cell-main { color: var(--text-3); }

.adm-multi { overflow: hidden; border: 2px solid var(--border); transition: border-color .2s, box-shadow .2s; }
.adm-multi.is-on { border-color: var(--gold-500); box-shadow: 0 0 0 4px var(--gold-100), var(--shadow-sm); }
.adm-multi-head { display: flex; align-items: center; gap: 16px; padding: 20px 22px; background: linear-gradient(120deg, var(--navy-800), var(--navy-700)); color: #DCCCE3; flex-wrap: wrap; }
.adm-multi.is-on .adm-multi-head { background: linear-gradient(120deg, #1d335a 0%, #3a3a52 55%, #8F6A1E 140%); }
.adm-multi-head h2 { color: #fff; font-size: var(--fs-xl); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.adm-multi-head p { font-size: var(--fs-sm); margin-top: 4px; max-width: 520px; }
.adm-multi-ico { width: 50px; height: 50px; border-radius: 14px; display: grid; place-items: center; background: rgba(216,168,78,.16); color: var(--gold-500); flex: 0 0 auto; }
.adm-multi-ico .ico { width: 26px; height: 26px; }
.adm-multi-x { font-family: var(--font-display); font-size: 1.5rem; color: var(--gold-500); background: rgba(216,168,78,.14); padding: 0 10px; border-radius: 8px; line-height: 1.4; }
.adm-multi-switch { padding: 10px 14px; border-radius: var(--r-lg); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); }
.adm-multi-switch .switch > span:last-child { color: #fff; font-weight: 600; }
.adm-multi-switch .switch-state { color: #9FB0CB !important; }
.adm-multi-switch .switch input:checked ~ .switch-state { color: var(--gold-500) !important; }
.adm-multi-switch .switch input:checked + .track { background: var(--gold-500); }
.adm-multi-status { display: flex; align-items: center; gap: 10px; padding: 10px 22px; font-size: var(--fs-sm); font-weight: 500; background: var(--surface-2); border-bottom: 1px solid var(--border); color: var(--text-2); }
.adm-multi.is-on .adm-multi-status { background: var(--gold-100); color: var(--gold-700); }
.adm-mx-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--text-4); flex: 0 0 auto; }
.adm-mx-dot.is-on { background: var(--gold-500); box-shadow: 0 0 0 4px rgba(216,168,78,.25); animation: pulse 1.6s infinite; }
.adm-mx-dot.is-future, .adm-mx-dot.is-past { background: var(--warning-ico); }
.adm-multi-body { padding: 20px 22px; }

.adm-preview { border-color: var(--gold-200); }
.adm-preview .card-header { background: linear-gradient(180deg, var(--gold-100), transparent); }
.adm-prev-out { border-top: 1px dashed var(--border-2); padding-top: 14px; display: flex; flex-direction: column; gap: 10px; }
.adm-prev-sentence { font-size: var(--fs-md); font-weight: 600; color: var(--navy-800); line-height: 1.45; }
.adm-prev-sentence.is-muted { color: var(--text-3); }
.adm-calc { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; direction: ltr; }
html[dir="rtl"] .adm-calc { direction: rtl; }
.adm-calc-step { display: flex; flex-direction: column; align-items: center; padding: 6px 10px; border-radius: var(--r-sm); background: var(--surface-2); border: 1px solid var(--border); min-width: 52px; }
.adm-calc-step span { font-size: 10px; color: var(--text-3); text-transform: uppercase; letter-spacing: .04em; font-weight: 600; white-space: nowrap; }
html[lang="ar"] .adm-calc-step span { text-transform: none; letter-spacing: 0; font-size: 11px; }
.adm-calc-step b { font-size: var(--fs-md); color: var(--navy-800); font-variant-numeric: tabular-nums; }
.adm-calc-step.is-gold { background: var(--gold-100); border-color: var(--gold-200); }
.adm-calc-step.is-gold b { color: var(--gold-700); }
.adm-calc-step.is-warn { background: var(--warning-bg); border-color: var(--warning-bd); }
.adm-calc-step.is-final { background: var(--navy-800); border-color: var(--navy-800); }
.adm-calc-step.is-final span { color: #9FB0CB; }
.adm-calc-step.is-final b { color: var(--gold-500); }
.adm-calc-op { color: var(--text-4); font-weight: 700; }
.adm-prev-note { display: flex; gap: 6px; align-items: flex-start; font-size: var(--fs-xs); color: var(--warning); }
.adm-prev-note .ico { margin-top: 2px; }
.adm-chg { list-style: none; display: flex; flex-direction: column; gap: 8px; max-height: 260px; overflow: auto; }
.adm-chg li { display: flex; flex-direction: column; gap: 2px; padding-bottom: 8px; border-bottom: 1px solid var(--border); font-size: var(--fs-sm); }
.adm-chg li:last-child { border-bottom: 0; padding-bottom: 0; }
.adm-chg-l { color: var(--text-2); font-size: var(--fs-xs); font-weight: 600; }
.adm-chg-v { display: inline-flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.adm-chg-v .ico { color: var(--text-4); }
.adm-policy { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: var(--r); background: var(--navy-800); color: #fff; font-size: var(--fs-sm); margin-bottom: 14px; }
.adm-policy .ico { color: var(--gold-500); }
.adm-steps { list-style: none; display: flex; flex-direction: column; gap: 2px; counter-reset: none; }
.adm-steps li { display: flex; gap: 10px; align-items: flex-start; font-size: var(--fs-xs); color: var(--text-2); padding: 4px 6px; border-radius: 6px; }
.adm-steps .n { width: 20px; height: 20px; border-radius: 50%; background: var(--surface-3); color: var(--text-2); display: grid; place-items: center; font-weight: 700; font-size: 10.5px; flex: 0 0 auto; }
.adm-steps li.is-key { background: var(--gold-100); color: var(--navy-800); font-weight: 600; }
.adm-steps li.is-key .n { background: var(--gold-500); color: var(--navy-900); }

/* ---------- tiers ---------- */
.adm-tier-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s5); }
.adm-tier { overflow: hidden; border-top: 4px solid var(--tier-color); }
.adm-tier.is-off { opacity: .7; }
.adm-tier-band { display: flex; align-items: center; gap: 12px; padding: 16px 18px; background: linear-gradient(135deg, color-mix(in srgb, var(--tier-color) 14%, #fff), #fff); border-bottom: 1px solid var(--border); }
.adm-tier-ico { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--tier-color); color: #fff; flex: 0 0 auto; }
.adm-tier-band h2 { font-size: var(--fs-lg); }
.adm-tier-sub { font-size: var(--fs-xs); color: var(--text-3); }
.adm-tier-count { font-size: var(--fs-xs); font-weight: 700; color: var(--navy-800); background: var(--surface); border: 1px solid var(--border); border-radius: 99px; padding: 2px 10px; white-space: nowrap; }
.adm-tier-foot { align-items: flex-start; flex-wrap: wrap; }
.adm-color { width: 44px; height: 36px; padding: 2px; border: 1px solid var(--border-2); border-radius: var(--r-sm); background: var(--surface); cursor: pointer; }
.adm-tier-prev { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; border-radius: var(--r); background: var(--surface-2); }

/* ---------- rewards ---------- */
.adm-rw-ico { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--gold-100); color: var(--gold-700); flex: 0 0 auto; }
.adm-rw-ico.sm { width: 34px; height: 34px; border-radius: 10px; }
.adm-rw-ico.lg { width: 64px; height: 64px; border-radius: 18px; }
.adm-rw-cost { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; color: var(--gold-700); font-variant-numeric: tabular-nums; }
.adm-rw-cost.lg { font-size: var(--fs-xl); font-family: var(--font-display); }
html[lang="ar"] .adm-rw-cost.lg { font-family: var(--font-ar); }
.adm-rw-cost small { font-size: var(--fs-xs); font-family: var(--font-sans); color: var(--text-3); }
.adm-rw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--s4); padding: var(--s5); }
.adm-rw-tile { display: flex; flex-direction: column; gap: 12px; padding: 16px; border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface); }
.adm-rw-tile.is-off { background: var(--surface-2); }
.adm-rw-tile.is-off .adm-rw-ico { filter: grayscale(1); opacity: .6; }
.adm-rw-name { font-size: var(--fs-md); }
.adm-rw-meta { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.adm-rw-foot { border-top: 1px solid var(--border); padding-top: 10px; margin-top: auto; }
.adm-rw-hero { display: flex; gap: 16px; align-items: center; }
.adm-rw-hero > div { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }

/* reward form */
.adm-icon-pick { border: 0; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)); gap: 8px; }
.adm-icon-opt { position: relative; cursor: pointer; }
.adm-icon-opt input { position: absolute; opacity: 0; inset: 0; }
.adm-icon-opt span { display: grid; place-items: center; height: 56px; border-radius: var(--r); border: 1px solid var(--border-2); color: var(--text-2); background: var(--surface); transition: all .15s; }
.adm-icon-opt:hover span { border-color: var(--indigo-500); }
.adm-icon-opt input:checked + span { border: 2px solid var(--gold-500); background: var(--gold-100); color: var(--gold-700); }
.adm-icon-opt input:focus-visible + span { box-shadow: var(--focus); }
.adm-phone-bg { background: linear-gradient(160deg, var(--ivory), var(--ivory-2)); border-radius: 0 0 var(--r-lg) var(--r-lg); }
.adm-mrw { background: #fff; border-radius: 18px; padding: 18px; display: flex; flex-direction: column; gap: 10px; box-shadow: 0 1px 2px rgba(78,17,98,.04), 0 6px 20px rgba(78,17,98,.08); }
.adm-mrw-top { display: flex; justify-content: space-between; align-items: flex-start; }
.adm-mrw-ico { width: 60px; height: 60px; border-radius: 16px; display: grid; place-items: center; background: linear-gradient(135deg, var(--gold-100), var(--gold-200)); color: var(--gold-700); }
.adm-mrw h3 { font-size: var(--fs-lg); overflow-wrap: anywhere; }
.adm-mrw-foot { border-top: 1px solid var(--border); padding-top: 12px; }

/* ---------- member detail ---------- */
.adm-profile-main { display: grid; grid-template-columns: auto minmax(0, 1fr) 260px; gap: 20px; padding: 20px 22px; align-items: center; }
.adm-profile-dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px 20px; margin: 12px 0 0; }
.adm-profile-dl div { min-width: 0; }
.adm-profile-dl dt { font-size: var(--fs-xs); color: var(--text-3); }
.adm-profile-dl dd { margin: 0; font-size: var(--fs-sm); font-weight: 500; overflow-wrap: anywhere; }
.adm-profile-tier { display: flex; flex-direction: column; gap: 6px; padding: 14px; border-radius: var(--r); background: var(--gold-100); border: 1px solid var(--gold-200); }

/* ---------- events ---------- */
.adm-att { display: grid; grid-template-columns: auto 1fr; gap: 2px 6px; align-items: baseline; min-width: 150px; }
.adm-att .progress { grid-column: 1 / -1; height: 5px; }

/* ---------- segments ---------- */
.adm-seg-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: var(--s5); align-items: start; }
.adm-seg-list { position: sticky; top: calc(var(--topbar-h) + 16px); }
.adm-seg-item[aria-current="true"] { background: var(--gold-100); box-shadow: inset 3px 0 0 var(--gold-500); }
html[dir="rtl"] .adm-seg-item[aria-current="true"] { box-shadow: inset -3px 0 0 var(--gold-500); }
.adm-seg-count { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 24px; padding: 20px 24px; background: linear-gradient(120deg, var(--navy-800), var(--navy-700)); color: #DCCCE3; border: 0; align-items: center; }
.adm-count-main { display: flex; flex-direction: column; min-width: 150px; }
.adm-count-label { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; color: #9FB0CB; }
html[lang="ar"] .adm-count-label { text-transform: none; letter-spacing: 0; font-size: var(--fs-sm); }
.adm-count-num { font-family: var(--font-display); font-size: 4rem; line-height: 1; font-weight: 600; color: #fff; font-variant-numeric: tabular-nums; display: inline-block; transform-origin: left center; }
html[dir="rtl"] .adm-count-num { transform-origin: right center; }
.adm-count-side { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.adm-count-side .strong { color: #fff; }
.adm-elig-bar { display: flex; height: 10px; border-radius: 99px; overflow: hidden; background: rgba(255,255,255,.12); }
.adm-elig-bar .ok { background: #6FD3A5; transition: width .35s var(--ease); }
.adm-elig-bar .ex { background: var(--gold-500); opacity: .85; transition: width .35s var(--ease); }
.adm-seg-count .pill-warning { background: rgba(216,168,78,.16); color: #F2D59B; border-color: rgba(216,168,78,.4); }
.adm-desc { color: #9FB0CB !important; overflow-wrap: anywhere; }
.adm-builder { display: flex; flex-direction: column; gap: 16px; }
.adm-b-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.adm-b-rule { border: 1px solid var(--border); border-radius: var(--r); padding: 12px 14px 14px; margin: 0; min-width: 0; }
.adm-b-rule legend { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-xs); font-weight: 700; color: var(--text-2); padding: 0 6px; text-transform: uppercase; letter-spacing: .05em; }
html[lang="ar"] .adm-b-rule legend { text-transform: none; letter-spacing: 0; font-size: var(--fs-sm); }
.adm-b-rule .field > label { font-size: var(--fs-xs); color: var(--text-3); }
.adm-b-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.adm-seg-actions { flex-wrap: wrap; }

/* ---------- campaign form ---------- */
.adm-cf-layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: var(--s5); align-items: start; }
.adm-channel { display: flex; gap: 10px; align-items: center; min-height: 40px; padding: 8px 12px; border-radius: var(--r); background: var(--info-bg); border: 1px solid var(--info-bd); color: var(--navy-800); font-size: var(--fs-xs); font-weight: 600; }
.adm-channel .ico { color: var(--info); }
.adm-aud { border: 1px solid var(--border); border-radius: var(--r); overflow: hidden; }
.adm-aud-desc { display: flex; gap: 8px; align-items: flex-start; padding: 10px 14px; background: var(--surface-2); font-size: var(--fs-sm); color: var(--text-2); border-bottom: 1px solid var(--border); }
.adm-aud-desc .ico { color: var(--indigo-600); margin-top: 2px; }
.adm-aud-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.adm-aud-stats > div { padding: 12px 14px; display: flex; flex-direction: column; border-inline-end: 1px solid var(--border); }
.adm-aud-stats > div:last-child { border-inline-end: 0; }
.adm-aud-stats b { font-family: var(--font-display); font-size: 1.7rem; line-height: 1.1; color: var(--navy-800); font-variant-numeric: tabular-nums; }
html[lang="ar"] .adm-aud-stats b { font-family: var(--font-sans); }
.adm-aud-stats span { font-size: var(--fs-xs); color: var(--text-3); }
.adm-aud-stats .ok b { color: var(--success); }
.adm-aud-stats .ex b { color: var(--warning-ico); }
.modal .adm-aud-stats { border: 1px solid var(--border); border-radius: var(--r); }
.adm-books { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; max-height: 420px; overflow: auto; padding: 2px; }
.adm-book { display: flex; gap: 10px; align-items: center; padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--r); cursor: pointer; background: var(--surface); }
.adm-book:has(input:checked) { border-color: var(--gold-500); background: var(--gold-100); }
.adm-book input { width: 18px; height: 18px; accent-color: var(--indigo-600); flex: 0 0 auto; margin: 0; }
.adm-book .grow { display: flex; flex-direction: column; }
.adm-book-t { font-size: var(--fs-sm); line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.adm-cf-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 18px; flex-wrap: wrap; position: sticky; bottom: 12px; z-index: 300; box-shadow: var(--shadow); }
.adm-recip-big { font-family: var(--font-display); font-size: 2rem; font-weight: 600; color: var(--success); line-height: 1; }
html[lang="ar"] .adm-recip-big { font-family: var(--font-sans); }
.adm-avatars { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.adm-avatars > .xs { flex-basis: 100%; margin-top: 4px; }
.adm-phone { width: 100%; max-width: 300px; margin: 0 auto; border-radius: 34px; background: #35093F; padding: 10px; box-shadow: var(--shadow-lg); }
.adm-phone-in { background: var(--ivory); border-radius: 26px; min-height: 380px; padding: 10px 12px 18px; }
.adm-phone-bar { display: flex; justify-content: space-between; align-items: center; font-size: 11px; font-weight: 700; color: var(--navy-800); padding: 2px 10px 12px; direction: ltr; }
.adm-notch { width: 70px; height: 18px; border-radius: 99px; background: #35093F; }
.adm-notif { background: #fff; border-radius: 16px; padding: 12px 14px; box-shadow: 0 4px 16px rgba(78,17,98,.12); display: flex; flex-direction: column; gap: 6px; }
.adm-notif-flat { box-shadow: none; border: 1px solid var(--border); background: var(--surface-2); }
.adm-notif-head { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--text-3); }
.adm-notif-head .brand-mark { width: 22px; height: 22px; }
.adm-notif-head b { color: var(--navy-800); font-size: 12px; }
.adm-notif-head span { margin-inline-start: auto; }
.adm-notif-cat { display: inline-flex; align-items: center; gap: 4px; font-size: 10.5px; font-weight: 700; color: var(--gold-700); text-transform: uppercase; letter-spacing: .05em; }
html[lang="ar"] .adm-notif-cat, .adm-phone-in[lang="ar"] .adm-notif-cat { text-transform: none; letter-spacing: 0; }
.adm-notif h4 { font-size: var(--fs-md); overflow-wrap: anywhere; }
.adm-notif p { font-size: var(--fs-sm); color: var(--text-2); overflow-wrap: anywhere; }
.adm-phone-in[lang="ar"] { font-family: var(--font-ar); }
.adm-notif-books { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 4px; }
.adm-nb { display: flex; flex-direction: column; gap: 4px; align-items: center; text-align: center; font-size: 9.5px; color: var(--text-2); line-height: 1.25; min-width: 0; }
.adm-nb .cover-sm { width: 100%; max-width: 54px; }
.adm-nb span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- integrations ---------- */
.adm-int-hero { overflow: hidden; }
.adm-int-head { display: flex; gap: 16px; align-items: center; padding: 20px 22px; flex-wrap: wrap; }
.adm-int-head h2 { font-size: var(--fs-xl); }
.adm-int-logo { width: 60px; height: 60px; border-radius: 16px; display: grid; place-items: center; background: var(--navy-800); color: var(--gold-500); flex: 0 0 auto; }
.adm-int-note { display: flex; gap: 10px; align-items: flex-start; margin: 0 22px; padding: 12px 14px; border-radius: var(--r); background: var(--gold-100); border: 1px dashed var(--gold-500); color: var(--navy-800); font-size: var(--fs-sm); font-weight: 500; }
.adm-int-note .ico { color: var(--gold-700); margin-top: 2px; }
.adm-int-body { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 28px; padding: 22px; }
.adm-last-ev { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--border); border-radius: var(--r); color: inherit; text-decoration: none !important; }
.adm-last-ev:hover { background: var(--surface-2); }
.adm-last-ev .li-icon { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--success-bg); color: var(--success); flex: 0 0 auto; }
.adm-last-ev .li-icon.red { background: var(--error-bg); color: var(--error); }
.adm-last-ev .li-title { font-weight: 600; font-size: var(--fs-sm); color: var(--navy-800); }
.adm-last-ev .li-sub { font-size: var(--fs-xs); color: var(--text-3); }
.adm-proc { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--border); border-radius: var(--r); overflow: hidden; }
.adm-proc > div { padding: 10px 12px; display: flex; flex-direction: column; border-inline-end: 1px solid var(--border); min-width: 0; }
.adm-proc > div:last-child { border-inline-end: 0; }
.adm-proc b { font-size: var(--fs-xl); color: var(--navy-800); font-variant-numeric: tabular-nums; }
.adm-proc span { font-size: 11px; color: var(--text-3); }
.adm-proc .ok b { color: var(--success); } .adm-proc .warn b { color: var(--warning-ico); } .adm-proc .bad b { color: var(--error); }
.adm-locked .input { background: var(--surface-2); color: var(--text-3); cursor: not-allowed; }
.adm-int-tests { padding: 0 22px 20px; }
.adm-testing { display: flex; gap: 10px; align-items: center; padding: 12px 14px; border-radius: var(--r); background: var(--info-bg); color: var(--navy-800); font-size: var(--fs-sm); font-weight: 600; margin-bottom: 8px; }
.adm-testing .spinner { color: var(--indigo-600); }
.adm-testlog { list-style: none; display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.adm-testlog li { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.adm-testlog .ico { color: var(--success); }
.adm-svc { display: flex; flex-direction: column; gap: 6px; }
.adm-svc h3 { font-size: var(--fs-md); }
.adm-svc.is-off { background: var(--surface-2); }
.adm-svc-ico { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--indigo-50); color: var(--indigo-600); margin-bottom: 4px; }
.adm-svc-ico.green { background: var(--success-bg); color: var(--success); }
.adm-svc.is-off .adm-svc-ico { background: var(--surface-3); color: var(--text-4); }

/* ---------- reports ---------- */
.adm-rp-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 18px; flex-wrap: wrap; }
.adm-funnel { display: flex; flex-direction: column; gap: 12px; }
.adm-funnel-step { display: flex; flex-direction: column; gap: 4px; font-size: var(--fs-sm); color: var(--text-2); }
.adm-funnel-bar { height: 34px; border-radius: 8px; display: flex; align-items: center; padding: 0 12px; color: #fff; transition: width .5s var(--ease); }
.adm-funnel-bar b { font-variant-numeric: tabular-nums; }
.adm-funnel-step.s0 .adm-funnel-bar { background: var(--navy-700); }
.adm-funnel-step.s1 .adm-funnel-bar { background: var(--indigo-600); }
.adm-funnel-step.s2 .adm-funnel-bar { background: var(--gold-500); color: var(--navy-900); }

/* ---------- audit log ---------- */
.adm-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.adm-ba-col { border-radius: var(--r); padding: 12px; border: 1px solid var(--border); min-width: 0; }
.adm-ba-col h4 { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .06em; color: var(--text-3); margin-bottom: 6px; }
html[lang="ar"] .adm-ba-col h4 { text-transform: none; letter-spacing: 0; }
.adm-ba-col.before { background: var(--error-bg); border-color: var(--error-bd); }
.adm-ba-col.after { background: var(--success-bg); border-color: var(--success-bd); }
.adm-ba pre { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-family: var(--font-sans); font-size: var(--fs-sm); color: var(--navy-800); }
tr.is-clickable:focus-visible td { background: var(--indigo-50); outline: none; }

/* ---------- responsive ---------- */
@media (max-width: 1360px) {
  .adm-cf-layout { grid-template-columns: minmax(0, 1fr) 340px; }
  .adm-rules-grid { grid-template-columns: minmax(0, 1fr) 320px; }
  .adm-matrix .adm-act-ico { display: none; }
  .adm-profile-main { grid-template-columns: auto minmax(0, 1fr); }
  .adm-profile-tier { grid-column: 1 / -1; }
}
@media (max-width: 1180px) {
  .adm-rules-grid, .adm-cf-layout, .adm-home-grid { grid-template-columns: minmax(0, 1fr); }
  .adm-rules-side, .adm-sticky, .adm-seg-list { position: static; }
  .adm-tier-grid { grid-template-columns: minmax(0, 1fr); }
  .adm-status { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .adm-status-tile:nth-child(2) { border-inline-end: 0; }
  .adm-status-tile:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .adm-quick { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .adm-seg-layout { grid-template-columns: minmax(0, 1fr); }
  .adm-int-body { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .adm-status { grid-template-columns: minmax(0, 1fr); }
  .adm-status-tile { border-inline-end: 0; border-bottom: 1px solid var(--border); }
  .adm-status-tile:last-child { border-bottom: 0; }
  .adm-quick { grid-template-columns: minmax(0, 1fr); }
  .adm-multi-head { padding: 16px; }
  .adm-multi-body { padding: 16px; }
  .adm-multi-status { padding: 10px 16px; }
  .adm-dates { grid-template-columns: minmax(0, 1fr); }
  .adm-b-grid { grid-template-columns: minmax(0, 1fr); }
  .adm-seg-count { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 16px; }
  .adm-count-num { font-size: 3.2rem; }
  .adm-profile-main { grid-template-columns: minmax(0, 1fr); padding: 16px; }
  .adm-proc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .adm-proc > div { border-bottom: 1px solid var(--border); }
  .adm-ba { grid-template-columns: minmax(0, 1fr); }
  .adm-int-head, .adm-int-body { padding: 16px; }
  .adm-int-note { margin: 0 16px; }
  .adm-int-tests { padding: 0 16px 16px; }
  .adm-savebar-in { padding: 12px; }
  .adm-savebar-actions { width: 100%; }
  .adm-savebar-actions .btn { flex: 1 1 auto; }
  .adm-cf-actions > .btn-lg { width: 100%; }
  .adm-rw-grid { padding: 14px; grid-template-columns: minmax(0, 1fr); }
  /* rules matrix: keep a scrollable grid instead of stacked cards */
  .adm-matrix tbody th { min-width: 200px; }
  .adm-matrix .adm-act-ico { display: none; }
  .adm-num { width: 64px; }
  .table-stack td .adm-pills, .table-stack td .adm-actions { justify-content: flex-end; }
  .table-stack td .adm-person { text-align: start; }
  .table-stack td .adm-att, .table-stack td .adm-perf, .table-stack td .adm-prog { min-width: 0; width: 55%; }
  .table-stack td .adm-oldnew { justify-content: flex-end; }
}

/* row headers inside tbody: not column-header styling */
.adm-matrix tbody th, .adm-mini-matrix tbody th, .adm-audrow th { text-transform: none; letter-spacing: 0; background: transparent; white-space: normal; }
.adm-mini-matrix tbody th { font-size: var(--fs-sm); color: var(--navy-800); padding: 8px 14px; border-bottom: 1px solid var(--border); font-weight: 600; }
.adm-audrow th, .adm-audrow td { background: var(--surface-2) !important; }
.adm-status-val .dot { margin-top: 0; }
.adm-status-val { align-items: baseline; }

/* small generated covers inside admin lists: compact thumbnail only */
.adm-book .cover-sm, .adm-person .cover-sm { width: 40px; flex: 0 0 40px; }
.adm-book .cover-sm .cover-title, .adm-person .cover-sm .cover-title, .adm-nb .cover-sm .cover-title { display: none; }
.adm-book .cover-sm .cover-new, .adm-person .cover-sm .cover-new, .adm-nb .cover-sm .cover-new { font-size: 6px; padding: 1px 3px; top: 4px; }
.adm-nb .cover-sm { width: 100%; }
.table td .adm-person { min-width: 180px; }
.table td .adm-person .cell-main { white-space: nowrap; }
@media (max-width: 760px) { .table td .adm-person { min-width: 0; } .table td .adm-person .cell-main { white-space: normal; } }
@media (max-width: 760px) {
  .grid-4.adm-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .adm-kpis .kpi .kpi-icon { width: 30px; height: 30px; }
  .adm-kpis .kpi .kpi-top { align-items: flex-start; gap: 6px; font-size: var(--fs-xs); }
}
