/* ============================================================
   Menu Profile Card — بطاقة الملف الشخصي في الترويسة (Modernize)
   ------------------------------------------------------------
   توقيع بصري معزول بأصناف .mpc-* (menu profile card)، يستهلك توكنز
   Modernize فقط فيتكيّف تلقائياً مع الوضع الليلي (dark.css يقلب التوكنز).
   RTL أصلي عبر inset-inline-end و transform-origin لكل اتجاه.
   ============================================================ */

/* ---- جذر البطاقة ---- */
.mpc-root {
    position: relative;
    display: inline-flex;
    align-items: center;
}

/* ---- زر التشغيل (pill) ---- */
.mpc-trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 3px 10px 3px 6px;
    cursor: pointer;
    color: var(--text-title);
    transition: background-color .18s ease, border-color .18s ease;
}
.mpc-trigger:hover { background: var(--surface-hover); border-color: var(--border-main); }
.mpc-trigger:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px var(--surface-solid), 0 0 0 4px var(--primary);
}

/* ---- الأفاتار (متدرّج Modernize) ---- */
.mpc-avatar {
    position: relative;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-weight: 800;
    font-size: 13px;
    letter-spacing: .3px;
    color: #fff;
    background: linear-gradient(135deg, var(--primary), var(--accent));
    box-shadow: 0 3px 8px color-mix(in srgb, var(--primary) 30%, transparent);
    flex: none;
    overflow: visible;
}
.mpc-trigger-avatar { width: 32px; height: 32px; font-size: 12px; }
.mpc-head-avatar { width: 44px; height: 44px; font-size: 16px; }

/* ---- نقطة الحالة على الأفاتار ---- */
.mpc-status {
    position: absolute;
    bottom: -1px;
    inset-inline-end: -1px;
    width: 13px;
    height: 13px;
    display: grid;
    place-items: center;
}
.mpc-status .mpc-dot {
    position: relative;
    z-index: 1;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    border: 2px solid var(--surface-solid);
}
/* لون النقطة حسب الحالة الحالية للجذر */
.mpc-root[data-status="active"] .mpc-dot { background: var(--mint); }
.mpc-root[data-status="away"] .mpc-dot { background: var(--secondary); }
.mpc-root[data-status="dnd"] .mpc-dot { background: var(--danger); }
/* نبض حلقي يظهر فقط عند «نشط» */
.mpc-pulse {
    position: absolute;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--mint);
    animation: mpc-pulse 2.6s ease-out infinite;
}
.mpc-root:not([data-status="active"]) .mpc-pulse { display: none; }
@keyframes mpc-pulse {
    0%   { transform: scale(1);   opacity: .55; }
    70%  { transform: scale(2.4); opacity: 0; }
    100% { transform: scale(2.4); opacity: 0; }
}

/* ---- بيانات الزر ---- */
.mpc-meta { display: flex; flex-direction: column; line-height: 1.2; text-align: start; min-width: 0; }
.mpc-name {
    font-size: 13px; font-weight: 700; color: var(--text-title);
    max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.mpc-sub { font-size: 11px; font-weight: 600; color: var(--text-secondary); }
.mpc-caret { color: var(--text-secondary); flex: none; transition: transform .2s ease; }
.mpc-root[data-open="true"] .mpc-caret { transform: rotate(180deg); }
@media (max-width: 600px) { .mpc-meta { display: none; } }

/* ---- القائمة المنسدلة ----
   إخفاء/إظهار عبر visibility مع تأخير مغلق كي تعمل حركة الخروج (enter/exit)
   بلا الحاجة لمكتبة حركة. القائمة position:absolute فلا تؤثّر على التخطيط. */
.mpc-menu {
    position: absolute;
    top: calc(100% + 10px);
    inset-inline-end: 0;
    width: 288px;
    max-width: calc(100vw - 2rem);
    background: var(--surface-solid);
    border: 1px solid var(--border-main);
    border-radius: 14px;
    box-shadow: var(--shadow-lg);
    padding: 8px;
    z-index: var(--z-dropdown);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px) scale(.96);
    pointer-events: none;
    transition: opacity .18s cubic-bezier(.16, 1, .3, 1),
                transform .18s cubic-bezier(.16, 1, .3, 1),
                visibility 0s linear .18s;
}
.mpc-menu.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    pointer-events: auto;
    transition: opacity .18s cubic-bezier(.16, 1, .3, 1),
                transform .18s cubic-bezier(.16, 1, .3, 1),
                visibility 0s linear 0s;
}
/* مرتكز التحجيم عند زاوية الزر (يمين في LTR، يسار في RTL) */
.mpc-menu { transform-origin: top right; }
[dir="rtl"] .mpc-menu { transform-origin: top left; }

/* ---- رأس القائمة ---- */
.mpc-head { display: flex; align-items: center; gap: 12px; padding: 6px 6px 12px; }
.mpc-head-info { min-width: 0; flex: 1; }
.mpc-head-row { display: flex; align-items: center; gap: 6px; }
.mpc-head-name {
    font-size: 14px; font-weight: 700; color: var(--text-title);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.mpc-role {
    flex: none;
    font-size: 10px; font-weight: 700; letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--primary);
    background: var(--light-primary);
    padding: 2px 7px; border-radius: 999px;
}
.mpc-head-email {
    display: block; margin-top: 2px;
    font-size: 12px; color: var(--text-secondary);
    direction: ltr; text-align: start;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* ---- شريط الاستخدام (اختياري) ---- */
.mpc-meter { padding: 0 6px 12px; }
.mpc-meter-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.mpc-meter-label { font-size: 11px; font-weight: 600; color: var(--text-secondary); }
.mpc-meter-val { font-size: 11px; color: var(--text-title); font-variant-numeric: tabular-nums; font-family: var(--app-mono-family); }
.mpc-meter-track { position: relative; height: 6px; border-radius: 999px; background: var(--border-main); overflow: hidden; }
.mpc-meter-fill {
    width: 0;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--primary), var(--accent));
    transition: width .6s cubic-bezier(.16, 1, .3, 1);
    position: relative;
    overflow: hidden;
}
.mpc-menu.is-open .mpc-meter-fill { width: var(--mpc-pct, 0%); }
.mpc-meter-fill::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 50%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .5), transparent);
    animation: mpc-shimmer 2.4s ease-in-out infinite;
}
@keyframes mpc-shimmer {
    0%   { transform: translateX(-140%); }
    100% { transform: translateX(260%); }
}

/* ---- فواصل + عناوين المجموعات ---- */
.mpc-sep { height: 1px; background: var(--border-main); margin: 4px 0; }
.mpc-group-label {
    padding: 6px 10px 4px;
    font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    color: var(--text-muted);
}

/* ---- عناصر القائمة ---- */
.mpc-item {
    display: flex; align-items: center; gap: 12px;
    width: 100%;
    padding: 9px 10px;
    border: none;
    background: transparent;
    border-radius: 10px;
    color: var(--text-title);
    font-size: 13.5px; font-weight: 500;
    cursor: pointer;
    text-align: start;
    transition: background-color .15s ease, color .15s ease;
}
.mpc-item:hover,
.mpc-item[data-active="true"] { background: var(--surface-hover); }
.mpc-item:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--primary); }
.mpc-item-ic { display: inline-grid; place-items: center; color: var(--text-secondary); flex: none; }
.mpc-item:hover .mpc-item-ic,
.mpc-item[data-active="true"] .mpc-item-ic { color: var(--primary); }
.mpc-item-main { min-width: 0; flex: 1; }
.mpc-item-label {
    display: block; font-weight: 600; color: var(--text-title);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.mpc-item-desc {
    display: block; font-size: 11px; color: var(--text-muted);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* نقطة حالة داخلية لعناصر المحدّد الراديوي */
.mpc-dot-inline { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.mpc-dot-inline--mint { background: var(--mint); }
.mpc-dot-inline--secondary { background: var(--secondary); }
.mpc-dot-inline--danger { background: var(--danger); }
/* علامة الصح تظهر فقط للحالة المختارة */
.mpc-check { display: inline-grid; place-items: center; color: var(--primary); flex: none; opacity: 0; }
.mpc-item--status[aria-checked="true"] .mpc-check { opacity: 1; }

/* ---- تسجيل الخروج (نمط خطر) ---- */
.mpc-item--signout { color: var(--danger); font-weight: 600; }
.mpc-item--signout:hover,
.mpc-item--signout[data-active="true"] { background: color-mix(in srgb, var(--danger) 12%, transparent); }
.mpc-item--signout .mpc-item-ic,
.mpc-item--signout:hover .mpc-item-ic,
.mpc-item--signout[data-active="true"] .mpc-item-ic { color: var(--danger); }
.mpc-item--signout .mpc-item-label { color: var(--danger); }

/* ---- منطقة الإعلان الحيّة (للقراءة الشاشية فقط) ---- */
.mpc-sr {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ---- تقليل الحركة ---- */
@media (prefers-reduced-motion: reduce) {
    .mpc-pulse,
    .mpc-meter-fill::after { animation: none !important; }
    .mpc-menu,
    .mpc-meter-fill { transition: none !important; }
}
