/*! KASHF-COPYRIGHT © 2026 مؤسسة العزل الحصين للمقاولات (س.ت 1010824507) — منصة كشف kashf.com.sa — انظر NOTICE.txt */
/*! Kashf DS v84 — base.css: يُحمَّل في الأسطح الداخلية في الوضعين (الذكي والزمردي): رموز الحركة، مكوّنات الحركة والبهجة، شريط الإنجازات،
 * لوحة «المظهر والحركة»، وإصلاح تباين الشارات (--c). الحركة transform/opacity فقط (+ stroke-dashoffset للرسم — طلاء لا تخطيط).
 * المستوى على الجذر: data-km="off|subtle|rich" (الافتراضي rich للفريق) — prefers-reduced-motion ⇒ off دائماً. */

/*@km tokens */
:root{--km-d1:120ms;--km-d2:200ms;--km-d3:320ms;--km-d4:560ms;--km-d5:900ms;--km-stagger:45ms;--km-hold:1200ms;
  --km-ease:cubic-bezier(.22,1,.36,1);--km-ease-in:cubic-bezier(.55,0,1,.45);--km-press:cubic-bezier(.3,0,.5,1);
  --km-spring:linear(0,.009,.035 2.1%,.141,.281 6.7%,.723 12.9%,.938 16.7%,1.017 19.4%,1.077,1.121 24.6%,1.149 27.6%,1.159 30.4%,1.149 33.7%,1.123 37%,1.017 47.3%,.991,.977 56.2%,.975 61.3%,.996 79.4%,1);
  --km-rise:10px;--km-celebrate-c1:var(--ks-a1,#057A57);--km-celebrate-c2:var(--ks-a2,#0E7490);--km-celebrate-c3:var(--ks-a3,#92D9AE)}
:root[data-km=subtle]{--km-d3:220ms;--km-d4:320ms;--km-rise:6px;--km-stagger:25ms}
:root[data-km=off]{--km-d1:0ms;--km-d2:0ms;--km-d3:0ms;--km-d4:0ms;--km-d5:0ms;--km-stagger:0ms;--km-rise:0px}
@media (prefers-reduced-motion:reduce){:root{--km-d1:0ms;--km-d2:0ms;--km-d3:0ms;--km-d4:0ms;--km-d5:0ms;--km-stagger:0ms;--km-rise:0px}}

/*@km enter — لحظة دخول واحدة منسّقة للصفحة (بطاقات بالتتابع، حد أقصى 10) */
.km-in{animation:km-rise var(--km-d4) var(--km-ease) both;animation-delay:calc(var(--i,0) * var(--km-stagger))}
@keyframes km-rise{from{opacity:0;transform:translateY(var(--km-rise)) scale(.985)}}
.km-fade{animation:km-fade var(--km-d3) var(--km-ease) both}
@keyframes km-fade{from{opacity:0}}
/* هيكل ← محتوى */
.km-morph{animation:km-morph var(--km-d3) var(--km-ease) both}
@keyframes km-morph{from{opacity:0;transform:scale(.99)}}
/* إعادة الترتيب FLIP: smart/motion.js يضع transform ثم يزيله */
.km-flip{transition:transform var(--km-d4) var(--km-spring)}

/*@km draw — رسم الخطوط والحلقات (طلاء فقط) */
.km-draw .k-spark-line,.km-draw .k-gauge-val{transition:stroke-dashoffset var(--km-d5) var(--km-ease)}
.km-draw .k-spark-area,.km-draw .k-spark-dot{transition:opacity var(--km-d4) var(--km-ease) var(--km-d3)}
.km-draw.is-pre .k-spark-area,.km-draw.is-pre .k-spark-dot{opacity:0}
.km-num{font-variant-numeric:tabular-nums}

/*@km orbit — مدار التقدّم (أثناء التنفيذ) */
.km-orbit{position:relative;display:inline-block;width:26px;height:26px;vertical-align:middle}
.km-orbit::before,.km-orbit::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid transparent;border-top-color:var(--km-celebrate-c1);animation:km-rot 1s linear infinite}
.km-orbit::after{inset:5px;border-top-color:var(--km-celebrate-c2);animation-duration:1.6s;animation-direction:reverse}
@keyframes km-rot{to{transform:rotate(1turn)}}
:root[data-km=off] .km-orbit::before,:root[data-km=off] .km-orbit::after{animation-duration:3s}

/*@km celebrate — لحظات الإنجاز (احترافية: حلقة + جسيمات قليلة، ≤ 900ms) */
.km-burst{position:fixed;left:0;top:0;z-index:var(--k-z-toast,90);width:0;height:0;pointer-events:none}
.km-burst i{position:absolute;inset-inline-start:-4px;top:-4px;width:8px;height:8px;border-radius:2px;background:var(--c,var(--km-celebrate-c1));opacity:0;animation:km-p var(--km-d5) var(--km-ease) forwards;animation-delay:calc(var(--n) * 12ms)}
.km-burst b{position:absolute;inset-inline-start:-28px;top:-28px;width:56px;height:56px;border-radius:50%;border:2px solid var(--km-celebrate-c1);opacity:0;animation:km-ring var(--km-d4) var(--km-ease) forwards}
@keyframes km-p{0%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.6)}}
@keyframes km-ring{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(1.6)}}
.km-pulse{animation:km-pulse var(--km-d4) var(--km-ease)}
@keyframes km-pulse{0%{transform:scale(1)}35%{transform:scale(1.035)}100%{transform:scale(1)}}
.km-okmark{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--km-celebrate-c1);color:var(--ks-on-neon,#fff);animation:km-pop var(--km-d4) var(--km-spring) both}
@keyframes km-pop{from{opacity:0;transform:scale(.4)}}

/*@km hold — زر الضغط المطوّل (إيقاف كل شيء) */
.km-hold{position:relative;isolation:isolate}
.km-hold>svg.km-ring{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);pointer-events:none;overflow:visible}
.km-ring rect{fill:none;stroke:currentColor;stroke-width:2.5;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 160ms linear}
.km-hold.is-holding .km-ring rect{stroke-dashoffset:0;transition:stroke-dashoffset var(--km-hold,1200ms) linear}
.km-hold .km-hint{font-size:12px;font-weight:600;opacity:.85}

/*@km magnetic */
.km-mag{transition:transform var(--km-d3) var(--km-spring)}

/*@km achievements — شريط الإنجازات (بيانات حقيقية فقط) */
.km-achv{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.km-achv li{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:4px 12px 4px 6px;padding-inline:12px 6px;border-radius:999px;border:1px solid var(--k-hair-strong,#C9D3CC);background:var(--k-surface,#fff);color:var(--k-text,#0F1B24);font-size:13px;font-weight:600}
.km-achv li[data-new]{border-color:var(--km-celebrate-c1)}
.km-achv .km-medal{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--k-tint-primary,#E3F6EA);color:var(--k-text,#0F1B24);font-size:13px}
.km-achv small{font-weight:500;color:var(--k-muted,#52606D)}
.km-achv-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;font-size:13px;font-weight:700;color:var(--k-muted,#52606D)}
.km-achv-empty{margin:0;font-size:13px;color:var(--k-muted,#52606D)}

/*@km prefs — لوحة «المظهر والحركة» (من مبدّل الترويسة) */
.km-prefs{position:absolute;inset-inline-end:0;top:calc(100% + 8px);z-index:var(--k-z-dropdown,30);width:min(320px,calc(100vw - 24px));padding:14px;border-radius:16px;border:1px solid var(--k-hair-strong,#C9D3CC);background:var(--k-surface,#fff);color:var(--k-text,#0F1B24);box-shadow:var(--k-e-3,0 20px 50px rgba(0,0,0,.2));display:grid;gap:12px;text-align:start}
.km-prefs[hidden]{display:none}
.km-prefs fieldset{margin:0;padding:0;border:0;display:grid;gap:6px}
.km-prefs legend{padding:0;margin:0 0 4px;font-size:12.5px;font-weight:700;color:var(--k-muted,#52606D)}
.km-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:3px;border-radius:12px;border:1px solid var(--k-hair,#DDE3E8);background:var(--k-surface-2,#F5F7F8)}
.km-seg button{min-height:40px;border:0;border-radius:9px;background:transparent;color:var(--k-text,#0F1B24);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.km-seg button[aria-pressed=true]{background:var(--k-surface,#fff);box-shadow:var(--k-e-1,0 1px 3px rgba(0,0,0,.12));color:var(--k-text,#0F1B24)}
.km-seg button:focus-visible,.km-prefs input:focus-visible{outline:2px solid var(--k-focus,#057A57);outline-offset:2px}
.km-prefs label.km-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;font-size:13.5px;font-weight:600;color:var(--k-text,#0F1B24)}
.km-prefs input[type=range]{width:100%;accent-color:var(--k-primary,#057A57)}
.km-prefs input[type=checkbox]{width:20px;height:20px;accent-color:var(--k-primary,#057A57)}
.km-mode-wrap{position:relative}

/*@km badge — إصلاح تباين الشارات (--c): النص يمزج لون الحالة بنص السطح فيبلغ ≥ 4.5:1 لكل ألوان الحالات (مفحوص في contrast84.py) */
:root:not(.k-smart) .badge{color:color-mix(in srgb,var(--c) 42%,#0B141A);background:color-mix(in srgb,var(--c) 10%,#fff);border-color:color-mix(in srgb,var(--c) 34%,#fff)}

/*@km fixes — أزواج كشفها tools/cascade84.py في الثيم الزمردي/الفاتح (رموز قائمة دون التباين المطلوب) — بلا بنّي في الإدارة */
:root:not(.k-smart){--k-warning:var(--k-adm-warn,#B45309)}
:root:not(.k-smart) .k-tile.is-focal :is(.k-tile-h,.k-kpi-label,.k-muted){color:color-mix(in oklab,var(--k-on-secondary) 90%,transparent)}
:root:not(.k-smart) :is(.ev-k,.ev-u){color:var(--m,#5B6B63)}
:root:not(.k-smart):is([data-theme=light],[data-theme=sun]) .kb-hero em{color:var(--p2,#04321F)}
@media (prefers-color-scheme:light){:root:not(.k-smart):not([data-theme]) .kb-hero em{color:var(--p2,#04321F)}}
:root:not(.k-smart)[data-theme=light] :is(.cc-ic,.cc-ic .ki){color:var(--p2,#0B3D24)}

/* Pro — الثيم الداكن القديم (يظهر فقط إن أوقف المالك الوضع الذكي): جزر فاتحة بلا تجاوز داكن */
@media (prefers-color-scheme:dark){:root:not(.k-smart):not([data-theme=light]):not([data-theme=sun]) :is(input[type=tel],input[type=password],input[type=number],input[type=email],.plan.feat,.grid button,.guide,.ev-tech pre,.kt-hl){background:var(--card);color:var(--t)}
:root:not(.k-smart):not([data-theme=light]):not([data-theme=sun]) .grid button.max{background:#3A1A1A;color:#FFD9D9}:root:not(.k-smart):not([data-theme=light]):not([data-theme=sun]) .kt-note{background:#22302A;color:var(--t)}
:root:not(.k-smart):not([data-theme=light]):not([data-theme=sun]) :is(a,.kb-good,.kb-fbok,.kb-hero em){color:#3FCB7C}:root:not(.k-smart):not([data-theme=light]):not([data-theme=sun]) :is(.kb-bad,.kt-result.bad,.kt-review li.bad,.kt-tt li.bad){color:#FF8A80}
:root:not(.k-smart):not([data-theme=light]):not([data-theme=sun]) .kt-warn{color:#FBBF24}:root:not(.k-smart):not([data-theme=light]):not([data-theme=sun]) :is(.kt-review li.ok,.kt-tt li.ok,.kt-result.ok){color:#4ADE80}:root:not(.k-smart):not([data-theme=light]):not([data-theme=sun]) .kt-tool small{color:var(--m)}:root:not(.k-smart):not([data-theme=light]):not([data-theme=sun]) :is(.kt-result.ok,.kt-result.bad){background:var(--card)}}
:root[data-theme=dark]:not(.k-smart) :is(input[type=tel],input[type=password],input[type=number],input[type=email],.plan.feat,.grid button,.guide,.ev-tech pre,.kt-hl){background:var(--card);color:var(--t)}
:root[data-theme=dark]:not(.k-smart) .grid button.max{background:#3A1A1A;color:#FFD9D9}:root[data-theme=dark]:not(.k-smart) .kt-note{background:#22302A;color:var(--t)}
:root[data-theme=dark]:not(.k-smart) :is(a,.kb-good,.kb-fbok,.kb-hero em){color:#3FCB7C}:root[data-theme=dark]:not(.k-smart) :is(.kb-bad,.kt-result.bad,.kt-review li.bad,.kt-tt li.bad){color:#FF8A80}
:root[data-theme=dark]:not(.k-smart) .kt-warn{color:#FBBF24}:root[data-theme=dark]:not(.k-smart) :is(.kt-review li.ok,.kt-tt li.ok,.kt-result.ok){color:#4ADE80}:root[data-theme=dark]:not(.k-smart) .kt-tool small{color:var(--m)}:root[data-theme=dark]:not(.k-smart) :is(.kt-result.ok,.kt-result.bad){background:var(--card)}

/* شارات الخطورة في المساعد (.asx .rk): الخلفية لون مضمّن (AS_RISK) والنص أبيض — طبقة تعتيم 28% تجعل الأبيض ≥ 4.5:1 لكل الألوان (مفحوص) */
.asx .rk{background-image:linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.28))!important}

/*@km motion-off */
:root[data-km=off] :is(.km-in,.km-fade,.km-morph,.km-pulse,.km-okmark,.km-burst i,.km-burst b){animation:none!important}
:root[data-km=off] :is(.km-flip,.km-mag,.km-draw .k-spark-line,.km-draw .k-gauge-val){transition:none!important}
:root[data-km=off] .km-burst{display:none}
@media (prefers-reduced-motion:reduce){:is(.km-in,.km-fade,.km-morph,.km-pulse,.km-okmark,.km-burst i,.km-burst b){animation:none!important}:is(.km-flip,.km-mag,.km-draw .k-spark-line,.km-draw .k-gauge-val,.km-ring rect){transition:none!important}.km-burst{display:none}.km-orbit::before,.km-orbit::after{animation-duration:3s}}
