@import url("https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;600;700;900&display=swap");

:root {
    --purple: #0f766e;
    --purple-2: #14b8a6;
    --lime: #facc15;
    --ink: #0f172a;
    --muted: #64748b;
    --line: #d5efeb;
    --paper: #ffffff;
    --canvas: #f0fdfa;
    --success: #21835b;
    --warning: #b47617;
    --danger: #b3414b;
    --blue: #387da1;
    --shadow: 0 18px 55px rgba(20, 184, 166, .09);
    --radius: 24px;
    /* أسطح ونصوص قابلة للتبديل بين الفاتح والداكن. */
    --surface-2: #f7fdfc;
    --surface-3: #e6f7f4;
    --line-strong: #99e3d8;
    --accent-text: #0f766e;
    --paper-glass: rgba(255, 255, 255, .97);
    --paper-glass-soft: rgba(255, 255, 255, .7);
    --canvas-glass: rgba(240, 253, 250, .985);
    --card-line: rgba(20, 184, 166, .08);
    --tint-green: #f3f9f5;
    --tint-green-line: #cfe3d7;
    --tint-lime: #fefce8;
    --tint-lime-line: #fde68a;
    --tint-amber: #fff8e8;
    --tint-red: #fff5f5;
    --chip-lime-text: #713f12;
    --eyebrow: #0d9488;
    --green-text: #2e5f4a;
    --positive-text: #2f6b45;
    --negative-text: #9a3b3b;
    --warning-text: #8a5a0f;
    --danger-text: #a2343e;
    --success-text: #1c6f4d;
    color-scheme: light;
}

/* الوضع الداكن. الأسطح والنصوص والحدود رموز، والهوية (البنفسجي خلفيةً، الليموني، ألوان
   المنصات، شارات الحالة بخلفيتها ونصها المقترنين) تبقى كما هي. البنفسجي نصًّا يفتح كي
   يبقى مقروءًا فوق السطح الداكن. */
:root[data-theme="dark"] {
    --ink: #e6fffa;
    --muted: #99c4bd;
    --line: #134e4a;
    --line-strong: #1f6f66;
    --paper: #0b3b38;
    --canvas: #062f2d;
    --surface-2: #0f4744;
    --surface-3: #145450;
    --accent-text: #5eead4;
    --paper-glass: rgba(11, 59, 56, .97);
    --paper-glass-soft: rgba(15, 71, 68, .85);
    --shadow: 0 18px 55px rgba(0, 0, 0, .35);
    --canvas-glass: rgba(6, 47, 45, .94);
    --card-line: #145450;
    --tint-green: #1d2b24;
    --tint-green-line: #2f4a3c;
    --tint-lime: #2b2a12;
    --tint-lime-line: #4d4a1f;
    --tint-amber: #2d2518;
    --tint-red: #2e1c1f;
    --chip-lime-text: #fde68a;
    --eyebrow: #5eead4;
    --green-text: #8fd1ae;
    --positive-text: #8fd1a8;
    --negative-text: #f0a1a1;
    --warning-text: #e8b765;
    --danger-text: #f0a1a1;
    --success-text: #8fd1a8;
    color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        --ink: #e6fffa;
        --muted: #99c4bd;
        --line: #134e4a;
        --line-strong: #1f6f66;
        --paper: #0b3b38;
        --canvas: #062f2d;
        --surface-2: #0f4744;
        --surface-3: #145450;
        --accent-text: #5eead4;
        --paper-glass: rgba(11, 59, 56, .97);
        --paper-glass-soft: rgba(15, 71, 68, .85);
        --shadow: 0 18px 55px rgba(0, 0, 0, .35);
        --canvas-glass: rgba(6, 47, 45, .94);
        --card-line: #145450;
        --tint-green: #1d2b24;
        --tint-green-line: #2f4a3c;
        --tint-lime: #2b2a12;
        --tint-lime-line: #4d4a1f;
        --tint-amber: #2d2518;
        --tint-red: #2e1c1f;
        --chip-lime-text: #fde68a;
        --eyebrow: #5eead4;
        --green-text: #8fd1ae;
        --positive-text: #8fd1a8;
        --negative-text: #f0a1a1;
        --warning-text: #e8b765;
        --danger-text: #f0a1a1;
        --success-text: #8fd1a8;
        color-scheme: dark;
    }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--canvas);
    font-family: "Cairo", system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid rgba(20, 184, 166, .45);
    outline-offset: 2px;
}
[hidden] { display: none !important; }
code { direction: ltr; display: inline-block; background: var(--surface-3); padding: 2px 7px; border-radius: 6px; }

.setup-screen {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    background: linear-gradient(145deg, #0f766e, #042f2e);
}
.setup-screen .auth-card { max-width: 620px; }
.auth-screen {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(420px, 1.1fr) minmax(380px, .9fr);
}
.auth-visual {
    position: relative;
    min-height: 100vh;
    padding: 52px;
    color: #fff;
    background:
        radial-gradient(circle at 18% 78%, rgba(250, 204, 21, .28), transparent 26%),
        radial-gradient(circle at 78% 12%, rgba(45, 212, 191, .55), transparent 30%),
        linear-gradient(145deg, #042f2e, #134e4a 55%, #0f766e);
    overflow: hidden;
}
.auth-visual::after {
    content: "";
    position: absolute;
    inset: auto -12% -28% auto;
    width: 520px;
    aspect-ratio: 1;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
    box-shadow: 0 0 0 70px rgba(255,255,255,.03), 0 0 0 140px rgba(255,255,255,.025);
}
.auth-visual__message { position: absolute; top: 50%; right: 12%; left: 12%; transform: translateY(-50%); z-index: 1; }
.auth-visual__message h1 { max-width: 700px; margin: 12px 0; font-size: clamp(38px, 4.2vw, 64px); line-height: 1.14; }
.auth-visual__message p { max-width: 560px; color: rgba(255,255,255,.72); font-size: 19px; line-height: 1.8; }
.security-note {
    position: absolute;
    right: 52px;
    bottom: 48px;
    z-index: 1;
    padding: 12px 16px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 14px;
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.78);
}
.auth-panel { display: grid; place-items: center; padding: 50px; background: var(--paper); }
.auth-card {
    width: min(100%, 470px);
    padding: 38px;
    border-radius: 26px;
    background: var(--paper);
    box-shadow: var(--shadow);
}
.auth-card--plain { box-shadow: none; }
.auth-card h1, .auth-card h2 { margin: 15px 0 8px; font-size: 34px; }
.auth-card > p { color: var(--muted); line-height: 1.8; }
.auth-card > small { display: block; margin-top: 22px; color: var(--muted); line-height: 1.7; }
.auth-error { min-height: 24px; color: var(--danger-text) !important; }
.auth-retry { width: 100%; justify-content: center; }
.brand-lockup { display: flex; align-items: center; gap: 12px; }
.brand-lockup strong, .brand-lockup small { display: block; }
.brand-lockup strong { font-size: 18px; }
.brand-lockup small { margin-top: 2px; color: var(--muted); }
.brand-lockup--light small { color: rgba(255,255,255,.62); }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 260px minmax(0, 1fr); }
.sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    padding: 28px 20px;
    /* الشاشات القصيرة كانت تقصّ أسفل القائمة: آخر بند وكتلة المستخدم معًا. */
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, .26) transparent;
    color: #fff;
    background:
        radial-gradient(circle at 15% 90%, rgba(250, 204, 21,.13), transparent 28%),
        linear-gradient(180deg, #042f2e, #134e4a 55%, #0f766e);
}
.side-nav { display: grid; gap: 4px; margin-top: 22px; }
.sidebar::-webkit-scrollbar { width: 6px; }
.sidebar::-webkit-scrollbar-track { background: transparent; }
.sidebar::-webkit-scrollbar-thumb { border-radius: 3px; background: rgba(255, 255, 255, .22); }
.sidebar::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, .34); }
.nav-item {
    display: flex;
    align-items: center;
    gap: 11px;
    width: 100%;
    padding: 11px 13px;
    border: 0;
    border-radius: 12px;
    color: rgba(255,255,255,.68);
    background: transparent;
    text-align: right;
    transition: .18s ease;
}
.nav-item > .icon { width: 20px; height: 20px; opacity: .85; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.07); }
.nav-item.is-active { color: #fff; background: rgba(255,255,255,.13); box-shadow: inset -3px 0 var(--lime); }
.sidebar-user {
    display: grid;
    grid-template-columns: 40px 1fr 32px;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    margin-top: 14px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 15px;
    background: rgba(255,255,255,.06);
}
.sidebar-user strong, .sidebar-user small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user small { margin-top: 2px; color: rgba(255,255,255,.58); font-size: 11px; }
.sidebar-user button { border: 0; color: rgba(255,255,255,.7); background: transparent; font-size: 20px; }
.avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: var(--purple); background: var(--lime); font-weight: 800; }

.main { min-width: 0; padding: 0 38px 48px; }
.topbar {
    position: sticky;
    top: 0;
    z-index: 20;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    min-height: 88px;
    margin: 0 -38px 14px;
    padding: 16px 38px;
    border-bottom: 1px solid rgba(20, 184, 166,.08);
    background: var(--canvas-glass);
    backdrop-filter: blur(15px);
}
.topbar__menu { display: none; }
.topbar__title { min-width: 0; }
.topbar h1 { margin: 2px 0 0; font-size: 26px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topbar .eyebrow { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topbar__actions { display: flex; align-items: center; gap: 10px; }
.eyebrow { margin: 0; color: var(--eyebrow); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.eyebrow--light { color: var(--lime); }
.live-indicator { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; }
.live-indicator i { width: 8px; height: 8px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 5px rgba(33,131,91,.1); }
.live-indicator.is-offline { color: var(--danger-text); }
.live-indicator.is-offline i { background: var(--danger); box-shadow: 0 0 0 5px rgba(179,65,75,.1); }
.data-error { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; padding: 15px 18px; border-color: #e2adb3; background: var(--tint-red); }
.data-error p { margin: 4px 0 0; color: var(--danger-text); }

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 42px;
    padding: 10px 17px;
    border: 1px solid transparent;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    transition: .18s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn--primary { color: #fff; background: linear-gradient(135deg, #14b8a6, #0d9488); box-shadow: 0 4px 12px rgba(20, 184, 166, .2); }
.btn--soft { color: var(--accent-text); border-color: var(--line); background: var(--paper); }
.btn--ghost { color: var(--accent-text); border-color: var(--line); background: transparent; }
.btn--danger { color: #fff; background: var(--danger); }
.btn--google { width: 100%; min-height: 54px; margin-top: 22px; color: var(--ink); border-color: var(--line); background: var(--paper); box-shadow: 0 10px 32px rgba(20, 184, 166,.08); }
.btn--google span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; color: #fff; background: #4285f4; }
.text-btn { padding: 3px; border: 0; color: var(--accent-text); background: none; font-weight: 700; }
.page { animation: reveal .25s ease; }
@keyframes reveal { from { opacity: 0; transform: translateY(5px); } }

.card { border: 1px solid var(--card-line); border-radius: var(--radius); background: var(--paper); box-shadow: 0 8px 30px rgba(20, 184, 166,.045); }
.metrics-grid { display: grid; grid-template-columns: repeat(5, minmax(140px, 1fr)); gap: 14px; }
.campaign-metrics { grid-template-columns: repeat(6, minmax(120px, 1fr)); }
.metric-card { position: relative; isolation: isolate; min-height: 128px; padding: 22px; overflow: hidden; }
.metric-card::after { content: ""; position: absolute; left: -50px; bottom: -50px; z-index: 0; width: 70px; height: 70px; border-radius: 50%; background: var(--metric-color, rgba(45, 212, 191,.12)); }
.metric-card > * { position: relative; z-index: 1; }
.metric-card span { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 12px; }
.metric-card i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: var(--purple); background: var(--metric-color, #eee); font-style: normal; }
.metric-card strong { display: block; margin-top: 14px; font-size: 29px; }
.metric-card--action { width: 100%; text-align: right; color: inherit; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.metric-card--action:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(4, 47, 46,.12); }
.metric-card--action:focus-visible { outline: 3px solid rgba(202, 138, 4,.42); outline-offset: 3px; }
.metric-card--action small { display: block; position: relative; z-index: 1; margin-top: 10px; color: var(--olive); font-weight: 800; }

.campaign-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 16px;
    padding: 30px;
    border-radius: 22px;
    color: #fff;
    background: linear-gradient(125deg, var(--purple), #0d9488);
    box-shadow: var(--shadow);
}
.campaign-hero h2 { max-width: 740px; margin: 7px 0; font-size: clamp(24px, 3vw, 38px); }
.campaign-hero p:last-child { margin: 0; color: rgba(255,255,255,.72); }
.btn--campaign { color: var(--purple); background: var(--lime); }
.campaign-section { margin-top: 16px; padding: 22px; }
.campaign-week-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.campaign-week-grid article { min-height: 170px; padding: 17px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-2); }
.campaign-week-grid article:first-child { border-color: #fde68a; background: var(--tint-lime); }
.campaign-week-grid article > span { color: var(--eyebrow); font-weight: 800; }
.campaign-week-grid h3 { margin: 8px 0 5px; }
.campaign-week-grid p { color: var(--muted); line-height: 1.7; }
.campaign-week-grid small { color: var(--accent-text); font-weight: 700; }
.campaign-channel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.campaign-channel-grid article { display: flex; justify-content: space-between; gap: 10px; padding: 14px; border-radius: 13px; background: var(--surface-2); }
.campaign-channel-grid span { color: var(--muted); }
.campaign-toolbar { margin-bottom: 16px; }
.campaign-items-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.campaign-items-grid > .section-intro, .campaign-items-grid > .empty-state { grid-column: 1 / -1; }
.campaign-items-grid > .day-group, .campaign-items-grid > .day-groups__summary { grid-column: 1 / -1; }
/* قوائم العمل المجمّعة حسب اليوم */
.day-groups__summary { margin: 0 0 4px; color: var(--muted); font-size: 12px; }
.day-group { border: 1px solid var(--line); border-radius: 16px; background: var(--surface-2); }
.day-group + .day-group { margin-top: 10px; }
.day-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; padding: 8px 14px; cursor: pointer; list-style: none; }
.day-group > summary::-webkit-details-marker { display: none; }
.day-group > summary::after { content: '▾'; color: var(--muted); transition: transform .2s ease; }
.day-group:not([open]) > summary::after { transform: rotate(90deg); }
.day-group > summary strong { flex: 1; font-size: 14px; }
.day-group--late > summary strong { color: var(--danger-text); }
.day-group--today > summary strong { color: var(--accent-text); }
.day-group__items { display: grid; gap: 12px; padding: 0 10px 10px; }
.campaign-items-grid .day-group__items { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.campaign-item-card { display: flex; min-height: 245px; flex-direction: column; padding: 0; transition: .18s ease; }
.card-action { width: 100%; border: 0; color: var(--ink); background: transparent; text-align: right; cursor: pointer; }
.campaign-item-card > .card-action { display: flex; min-height: inherit; flex: 1; flex-direction: column; padding: 18px; }
.campaign-item-card:hover { transform: translateY(-2px); border-color: rgba(20, 184, 166,.24); box-shadow: var(--shadow); }
.campaign-item-card header, .campaign-item-card footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.campaign-channel { color: var(--accent-text); font-size: 12px; font-weight: 800; }

/* أيقونات المنصات: تُظهر لمستعرض التقويم والبطاقات أين سيُنشر كل عنصر */
.platform-icons { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px; vertical-align: middle; }
.platform-icon { display: inline-grid; grid-auto-flow: column; align-items: center; gap: 5px; height: 22px; padding: 0 5px; border-radius: 7px; color: #fff; background: var(--platform-color, #14b8a6); font-size: 11px; font-weight: 800; line-height: 1; vertical-align: middle; }
.platform-icon svg { width: 12px; height: 12px; fill: currentColor; }
.platform-icon b { font-size: 11px; }
.platform-icon--labeled { padding-inline-end: 8px; }
.platform-icon--compact { height: 18px; padding: 0 4px; border-radius: 5px; }
.platform-icon--compact svg { width: 10px; height: 10px; }
.platform-icon[data-platform="snapchat"] { color: #0f172a; }
.calendar-post .platform-icons { margin-top: 4px; flex-wrap: nowrap; gap: 3px; }
/* خلية اليوم ضيقة: المنصات الأربع تستقر في سطر واحد بدل أن ينزل رمز وحده. */
.calendar-post .platform-icon--compact { height: 16px; padding: 0 3px; }
.calendar-post .platform-icon--compact svg { width: 9px; height: 9px; }
.kanban-card .platform-icons { margin-top: 5px; }
.queue-card .platform-icons { margin: 4px 0 6px; }
.list-row p .platform-icons { margin-inline-end: 4px; }
.eyebrow .platform-icons { margin-inline-end: 4px; }
.campaign-item-card h3 { margin: 18px 0 8px; font-size: 18px; }
.campaign-item-card > .card-action > p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--muted); line-height: 1.75; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
.campaign-item-card footer { margin-top: auto; padding-top: 15px; color: var(--muted); font-size: 11px; }
.campaign-copy p { white-space: pre-wrap; }
.campaign-action-form { display: grid; min-width: 0; gap: 12px; margin: 20px 0 0; padding: 20px; overflow: hidden; }
.campaign-action-form h3 { margin: 0 0 4px; }
.campaign-action-form > label { display: grid; min-width: 0; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 700; }
.campaign-action-form input, .campaign-action-form textarea { min-width: 0; }
.check-grid { display: grid; min-width: 0; grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)); gap: 9px; }
.check-grid label { display: flex; min-width: 0; align-items: center; gap: 7px; padding: 9px; border-radius: 11px; background: var(--surface-2); }
.check-grid input[type="checkbox"] { width: 18px; min-width: 18px; height: 18px; min-height: 18px; margin: 0; flex: 0 0 18px; }
.campaign-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.campaign-guide-grid > .card { padding: 24px; }
.campaign-guide-lead { background: linear-gradient(145deg, var(--paper), var(--surface-2)); }
.campaign-warning { display: grid; gap: 5px; margin-top: 18px; padding: 14px; border: 1px solid #fde68a; border-radius: 13px; color: #78350f; background: #fff8e6; }
.campaign-font-sample { margin: 8px 0; color: var(--accent-text); font-size: 28px; font-weight: 800; }
.campaign-palette { display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; }
.campaign-palette div { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); text-align: center; }
.campaign-palette i { display: block; height: 68px; background: var(--color); }
.campaign-palette strong { display: block; padding: 8px 3px; direction: ltr; font-size: 11px; }
.campaign-search-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.campaign-search-groups article { padding: 14px; border-radius: 13px; background: var(--surface-2); }
.campaign-search-groups h3 { margin: 0 0 7px; font-size: 15px; }
.campaign-search-groups p, .campaign-search-groups small { color: var(--muted); line-height: 1.7; }
.campaign-report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.campaign-report-list { display: grid; gap: 9px; }
.campaign-report-list article { display: grid; grid-template-columns: minmax(110px, 1.4fr) repeat(4, minmax(74px, 1fr)); gap: 8px; align-items: center; padding: 13px; border-radius: 13px; background: var(--surface-2); }
.campaign-report-list strong { color: var(--accent-text); }
.campaign-report-list span { color: var(--muted); font-size: 12px; }

.event-hero { background: linear-gradient(125deg, #042f2e, var(--purple) 58%, #0d9488); }
.event-hero p { margin: 4px 0; color: rgba(255,255,255,.78); }
.event-edition-bar { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-bottom: 16px; padding: 14px 16px; }
.event-edition-bar label { display: grid; gap: 6px; min-width: 220px; color: var(--muted); font-size: .86rem; }
.event-edition-bar select { min-height: 42px; }
.event-pending { color: rgba(255,255,255,.62); font-style: normal; border-bottom: 1px dashed rgba(255,255,255,.4); }
.event-core-message { margin-top: 14px !important; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.22); color: var(--lime) !important; font-size: 17px; font-weight: 800; }
.event-countdown { display: grid; gap: 9px; min-width: 190px; padding: 18px; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; background: rgba(255,255,255,.08); text-align: center; }
.event-countdown strong { font-size: 19px; }
.event-countdown span { color: var(--lime); font-size: 13px; font-weight: 700; }
.event-blockers { margin: 0 0 16px; }
.event-days-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.event-days-grid article small { display: block; margin-top: 8px; color: var(--muted); font-weight: 600; line-height: 1.7; }
.event-timeline { display: grid; gap: 18px; }
.event-day { display: grid; gap: 12px; }
.workspace--event { --event-accent: #042f2e; }
.event-day > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 16px; border-radius: 13px; color: #fff; background: var(--event-accent, var(--purple)); }
.event-day > header span { color: var(--lime); font-size: 12px; font-weight: 700; }
.nav-badge, .mobile-nav__badge { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; color: #042f2e; background: var(--lime); font-size: 11px; font-weight: 800; }
.nav-badge { margin-inline-start: auto; }
.mobile-nav__badge { position: absolute; inset-block-start: 4px; inset-inline-end: 18%; }
.mobile-nav__item { position: relative; }
.approval-list { display: grid; gap: 12px; }
.approval-card { padding: 0; border-inline-start: 4px solid var(--lime); transition: .16s ease; }
.approval-card > .card-action { display: grid; gap: 8px; padding: 18px; }
.approval-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.approval-card header { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.approval-card h3 { margin: 0; font-size: 17px; }
.approval-card > p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--muted); line-height: 1.75; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.approval-card footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 12px; }
.approval-card footer b { color: var(--accent-text); }
.decided-row { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(70px, .5fr) minmax(0, 1fr); gap: 8px; align-items: center; padding: 13px; border-radius: 13px; background: var(--surface-2); cursor: pointer; }
.decided-row span { color: var(--muted); font-size: 12px; }
.event-more { margin: 18px 0; padding: 0 2px; border-top: 1px solid var(--line); }
.event-more > summary { padding: 14px 2px; color: var(--accent-text); font-weight: 700; cursor: pointer; }
.decision-form { position: relative; border: 2px solid var(--purple); }
.decision-form h3 { font-size: 18px; }
.decision-form__lead { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.decision-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.decision-option { display: flex; min-width: 0; align-items: flex-start; gap: 9px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); cursor: pointer; transition: .16s ease; }
.decision-option input { width: 18px; min-width: 18px; height: 18px; min-height: 18px; margin: 2px 0 0; flex: 0 0 18px; accent-color: var(--decision-color, var(--purple)); }
.decision-option span { display: grid; gap: 3px; }
.decision-option strong { color: var(--decision-color, var(--purple)); font-size: 14px; }
.decision-option small { color: var(--muted); line-height: 1.7; }
.decision-option:hover { border-color: var(--decision-color, var(--purple)); }
.decision-option:has(input:checked) { border-color: var(--decision-color, var(--purple)); background: var(--decision-tint, var(--surface-2)); box-shadow: inset 0 0 0 1px var(--decision-color, var(--purple)); }
.decision-option--approved { --decision-color: #21835b; --decision-tint: #e6f3ec; }
.decision-option--changes { --decision-color: #9a6b17; --decision-tint: #fdf3e0; }
.decision-option--rejected { --decision-color: #b3414b; --decision-tint: #fbeaec; }
.decision-form--needs-note textarea { border-color: #d8a63f; }
.decision-summary { margin: 0 0 16px; }
.decision-summary--approved { border-color: #a6d5bd; color: #1c6b4c; background: #eaf6f0; }
.decision-summary--rejected { border-color: #e2adb3; color: #8d323b; background: #fbeef0; }
.event-item-card { min-height: 215px; }
.event-item-card footer { gap: 6px; }

.workflow-track { display: grid; grid-template-columns: repeat(8, 1fr); margin: 16px 0; padding: 18px 20px; }
.workflow-step { position: relative; text-align: center; }
.workflow-step:not(:last-child)::after { content: ""; position: absolute; top: 17px; right: calc(50% + 20px); width: calc(100% - 40px); height: 2px; background: var(--line); }
.workflow-step i { position: relative; z-index: 1; display: grid; place-items: center; width: 34px; height: 34px; margin: 0 auto 7px; border: 2px solid var(--line); border-radius: 50%; color: var(--accent-text); background: var(--paper); font-style: normal; font-size: 12px; font-weight: 800; }
.workflow-step strong { display: block; font-size: 11px; }
.workflow-step small { color: var(--muted); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .8fr); gap: 16px; }
.panel { padding: 22px; }
.panel-head, .section-intro, .report-controls { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.panel-head { margin-bottom: 18px; }
.panel-head h2, .panel-head h3, .section-intro h2, .report-controls h2 { margin: 3px 0 0; }
.section-intro { margin-bottom: 18px; }
.section-intro > div > p:last-child { margin-bottom: 0; color: var(--muted); }

.list-row {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 13px 0;
    border-top: 1px solid var(--line);
}
.list-row:first-child { border-top: 0; }
.list-date { padding: 8px; border-radius: 12px; color: var(--accent-text); background: var(--surface-3); text-align: center; }
.list-date strong, .list-date small { display: block; }
.list-date strong { font-size: 19px; }
.list-row h4 { margin: 0 0 4px; }
.list-row p { margin: 0; color: var(--muted); font-size: 12px; }
.activity-item { position: relative; padding: 0 20px 18px 0; border-right: 1px solid var(--line); }
.activity-item::before { content: ""; position: absolute; top: 3px; right: -5px; width: 9px; height: 9px; border-radius: 50%; background: var(--purple-2); }
.activity-item strong, .activity-item span { display: block; }
.activity-item span { margin-top: 4px; color: var(--muted); font-size: 11px; }

.toolbar { display: grid; grid-template-columns: minmax(280px, 1fr) 190px 190px auto; align-items: center; gap: 10px; padding: 13px; margin-bottom: 16px; }
.search-field { display: flex; align-items: center; gap: 8px; padding: 0 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
.search-field input { width: 100%; height: 42px; border: 0; outline: 0; background: transparent; }
select, input, textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 11px;
    color: var(--ink);
    background: var(--paper);
}
select, input { min-height: 43px; padding: 8px 12px; }
textarea { min-height: 110px; padding: 12px; resize: vertical; }
.result-count { color: var(--muted); font-size: 12px; text-align: left; }

.posts-grid { display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 14px; }
.planning-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.post-card { position: relative; display: flex; flex-direction: column; min-height: 260px; padding: 19px; overflow: hidden; }
.post-card::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 4px; background: var(--stage-color, var(--purple-2)); }
.post-card__top { display: flex; justify-content: space-between; gap: 10px; }
.post-card__top time { color: var(--muted); font-size: 11px; direction: ltr; }
.post-card h3 { margin: 17px 0 9px; line-height: 1.55; }
.post-card > p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--muted); font-size: 12px; line-height: 1.7; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
.post-card__meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; margin-top: 12px; color: var(--muted); font-size: 11px; }
.post-card__meta time { direction: ltr; }
.post-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 18px; }
.chip, .status-pill {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 5px 10px;
    border-radius: 999px;
    color: var(--accent-text);
    background: var(--surface-3);
    font-size: 10px;
    font-weight: 800;
}
.status-pill--warning { color: #7a4d00; background: #fff0ce; }
.stage { color: var(--stage-color, var(--purple)); background: color-mix(in srgb, var(--stage-color, var(--purple)) 12%, var(--paper)); }
.progress-bar { height: 5px; border-radius: 99px; background: var(--surface-3); overflow: hidden; }
.progress-bar i { display: block; height: 100%; border-radius: inherit; background: var(--stage-color, var(--purple)); }
.empty-state { display: grid; place-items: center; min-height: 260px; color: var(--muted); text-align: center; }
.empty-state strong { color: var(--ink); font-size: 20px; }

.design-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
.queue { display: grid; gap: 12px; }
.queue-card {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    padding: 17px;
}
.queue-card__icon { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 17px; color: var(--accent-text); background: var(--surface-3); font-size: 25px; }
.queue-card h3 { margin: 0 0 6px; }
.queue-card p { margin: 0; color: var(--muted); font-size: 12px; }
.brand-mini { position: sticky; top: 128px; padding: 22px; }
.brand-mini h3 { margin-top: 0; }
.brand-mini ul, .identity-card ul { padding-right: 18px; color: var(--muted); line-height: 2; font-size: 13px; }
.mini-colors { display: flex; gap: 8px; margin: 18px 0; }
.mini-colors i { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 11px; background: var(--swatch); }

.report-controls { margin-bottom: 15px; padding: 17px 20px; }
.report-controls label { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 12px; }
.report-controls input { width: 160px; }
.report-document { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 22px; border: 1px solid var(--line); border-radius: 22px; background: var(--paper); color: var(--ink); }
.delivery-report { display: grid; grid-template-columns: 1.45fr 1fr 1fr; gap: 12px; break-inside: avoid; }
.delivery-card { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface-2); }
.delivery-card--planned { border-color: rgba(20, 184, 166,.24); background: linear-gradient(135deg, var(--surface-3), var(--paper)); }
.delivery-card--additional { border-color: var(--tint-green-line); background: var(--tint-green); }
.delivery-card--total { border-color: var(--tint-lime-line); background: var(--tint-lime); }
.delivery-card h3 { margin: 3px 0 12px; font-size: 16px; }
.delivery-card > strong { display: block; color: var(--accent-text); font-size: 30px; line-height: 1; }
.delivery-card > b, .delivery-card > small { display: block; margin-top: 9px; }
.delivery-card > b { font-size: 12px; }
.delivery-card > small { color: var(--muted); line-height: 1.6; }
.delivery-progress { height: 8px; margin-top: 14px; border-radius: 999px; background: #d5efeb; overflow: hidden; }
.delivery-progress i { display: block; height: 100%; border-radius: inherit; background: var(--lime); }
.delivery-breakdown { display: flex; flex-wrap: wrap; gap: 4px 8px; margin-top: 13px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.delivery-breakdown b { color: var(--ink); }
.delivery-breakdown > span { color: #94a3b8; }
.report-brand { display: flex; align-items: center; gap: 16px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.report-brand img { width: 78px; height: 78px; padding: 5px; border: 1px solid var(--line); border-radius: 17px; object-fit: contain; background: var(--paper); }
.report-brand p, .report-brand h2 { margin: 0; }
.report-brand p { color: var(--olive); font-weight: 900; }
.report-brand h2 { margin: 4px 0; color: var(--accent-text); }
.report-brand span { color: var(--muted); font-size: 12px; }
.report-division { padding: 14px 18px; border-right: 4px solid var(--purple); border-radius: 14px; background: var(--surface-2); }
.report-division h2, .report-division p { margin: 0; }
.activity-report { border-top: 5px solid var(--olive); background: var(--tint-lime); }
.activity-report .panel-head { align-items: flex-start; }
.activity-report [data-activity-sync-status] { max-width: 320px; color: var(--muted); font-size: 11px; text-align: left; }
.activity-report__metrics { grid-template-columns: repeat(4, minmax(130px, 1fr)); margin: 18px 0; }
.report-section--activity { background: var(--tint-lime); border-color: #fde68a; }
.report-section--activity ul { margin: 12px 0 0; padding-right: 20px; color: var(--muted); line-height: 1.9; }
.executive-summary { display: grid; gap: 14px; }
.executive-metrics { grid-template-columns: repeat(3, minmax(140px, 1fr)); }
.executive-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.report-section { padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-2); break-inside: avoid; }
.report-section h3 { margin: 3px 0 12px; }
.report-section p:last-child { margin-bottom: 0; color: var(--muted); line-height: 1.8; }
.report-section--summary { grid-column: 1 / -1; background: var(--tint-lime); }
.report-progress { height: 9px; margin: 12px 0; overflow: hidden; border-radius: 99px; background: #d5efeb; }
.report-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--olive), var(--purple)); }
.report-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.report-summary-grid p { display: grid; gap: 7px; padding: 13px; border-radius: 12px; background: var(--paper-glass-soft); }
.report-summary-grid strong { color: var(--accent-text); }
/* التصدير العمودي: بعرض صفحة A4 نفسه (733 بكسل)، فلا يُقص طرف، وكل ما هو مطوي أو أفقي يُفتح. */
.is-exporting-pdf { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; overflow: visible !important; }
.is-exporting-pdf .report-actions { display: none !important; }
.is-exporting-pdf .table-scroll { overflow: visible !important; max-height: none !important; }
/* مؤشر التمرير الأفقي كان يغطي آخر عمود في الجدول. */
.is-exporting-pdf .table-scroll::before, .is-exporting-pdf .table-scroll::after { display: none !important; }
.is-exporting-pdf .table-scroll { background: none !important; box-shadow: none !important; }
.is-exporting-pdf table { min-width: 0 !important; width: 100% !important; table-layout: auto; font-size: 9.5px; }
.is-exporting-pdf th, .is-exporting-pdf td { position: static !important; white-space: normal !important; overflow-wrap: break-word; word-break: normal; padding: 5px 6px !important; }
/* الكلمة لا تُكسر حرفًا حرفًا؛ الروابط الطويلة وحدها تنكسر حيث لزم كي لا تتجاوز الصفحة. */
.is-exporting-pdf td a, .is-exporting-pdf td [dir="ltr"] { overflow-wrap: anywhere; word-break: break-all; }
/* تباعد الأحرف يفكك الحروف العربية عند الالتقاط، والنص المقصوص بسطرين يُعرض كاملًا. */
.is-exporting-pdf * { letter-spacing: 0 !important; -webkit-line-clamp: unset !important; text-overflow: clip !important; }
.is-exporting-pdf .card, .is-exporting-pdf .panel, .is-exporting-pdf section { margin-bottom: 10px; }
.pdf-export-host { direction: rtl; color: #0f172a; }
.is-exporting-pdf .metric-card, .is-exporting-pdf .report-section, .is-exporting-pdf .campaign-section { break-inside: avoid; box-shadow: none; }
.platform-row { margin-top: 17px; }
.platform-row__head { display: flex; justify-content: space-between; margin-bottom: 8px; }
.platform-row__bar { height: 9px; border-radius: 99px; background: var(--surface-3); overflow: hidden; }
.platform-row__bar i { display: block; height: 100%; border-radius: inherit; background: var(--purple); }
.reason-item { padding: 12px 0; border-top: 1px solid var(--line); }
.reason-item:first-child { border: 0; }
.reason-item > strong, .reason-item > span { display: block; }
.reason-item > span { color: var(--muted); font-size: 12px; }

/* التقرير الشهري الموحّد: خلاصة، مجهود الفريق، ثم أقسام الإدارة */
.report-actions__buttons { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.report-export { position: relative; }
.report-export summary { list-style: none; cursor: pointer; }
.report-export summary::-webkit-details-marker { display: none; }
.report-export__menu { position: absolute; inset-inline-end: 0; top: calc(100% + 6px); z-index: 20; display: grid; min-width: 220px; padding: 6px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); box-shadow: 0 14px 34px rgba(4, 47, 46,.14); }
.report-export__menu button { padding: 10px 12px; border: 0; border-radius: 9px; color: var(--ink); background: none; text-align: right; font: inherit; cursor: pointer; }
.report-export__menu button:hover, .report-export__menu button:focus-visible { background: var(--surface-3); }
.report-approval { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; padding: 14px 18px; border-inline-start: 5px solid var(--olive); background: var(--tint-lime); }
.report-approval.is-live { border-inline-start-color: #c98a1a; background: var(--tint-amber); }
.report-approval > .icon { flex: none; width: 22px; height: 22px; color: var(--accent-text); }
.report-approval strong, .report-approval span { display: block; }
.report-approval span { margin-top: 3px; color: var(--muted); font-size: 12px; }
.report-overview { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.report-kpis { grid-template-columns: repeat(4, minmax(140px, 1fr)); }
.kpi-card { min-height: 138px; }
.kpi-card__delta { display: block; position: relative; z-index: 1; margin-top: 8px; color: var(--muted); font-size: 11px; }
.kpi-card__delta.is-up { color: var(--positive-text); }
.kpi-card__delta.is-down { color: var(--negative-text); }
.team-effort { padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-2); break-inside: avoid; }
.team-effort h3 { margin: 0 0 12px; color: var(--accent-text); }
.team-effort__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.team-card { display: grid; align-content: start; gap: 4px; padding: 14px; border-radius: 12px; background: var(--paper); }
.team-card span { color: var(--muted); font-size: 12px; }
.team-card strong { font-size: 26px; color: var(--ink); }
.team-card small { color: var(--muted); font-size: 11px; line-height: 1.6; }
.team-card em { color: var(--olive); font-size: 11px; font-style: normal; font-weight: 700; }
.report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.report-grid .panel { break-inside: avoid; }
.creative-report { border-top: 5px solid var(--purple); background: var(--surface-2); }
.creative-report__note { color: var(--muted); font-size: 11px; }
.creative-report__metrics { margin: 18px 0; }
.design-measurement__list { display: grid; gap: 12px; margin-top: 16px; }
.design-measurement__item { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(180px, .6fr) minmax(180px, .6fr); gap: 12px; align-items: end; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.design-measurement__item > div:first-child { display: grid; gap: 5px; }
.design-measurement__item small { color: var(--muted); }
.design-measurement__item label { display: grid; gap: 6px; }
.design-measurement__actions { display: flex; gap: 8px; flex-wrap: wrap; grid-column: 1 / -1; }
.report-breakdowns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.breakdown { padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); break-inside: avoid; }
.breakdown h4 { margin: 0; color: var(--accent-text); font-size: 13px; }
.breakdown .platform-row { margin-top: 12px; }
.partnership-report { border-top: 5px solid #3f7d63; background: var(--tint-green); }
.partnership-report [data-partnership-sync-status] { max-width: 320px; color: var(--muted); font-size: 11px; text-align: left; }
.partnership-report__metrics { margin: 18px 0; }
.partnership-tables { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.partnership-tables > section, .report-overview > *, .report-grid > *, .report-document > * { min-width: 0; }
.partnership-tables h4 { margin: 0 0 6px; color: var(--green-text); }
.report-section--partnership { background: var(--tint-green); border-color: #cfe3d7; }
.table-note { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 400; }
.status-pill--muted { color: var(--muted); background: var(--surface-3); }
.empty-state--compact { min-height: 0; padding: 18px 8px; font-size: 13px; }

/* سجل الإنتاج الإبداعي */
.creative-layout { display: grid; grid-template-columns: minmax(300px, 380px) minmax(0, 1fr); gap: 16px; align-items: start; }
.creative-layout:has(.creative-form[hidden]) { grid-template-columns: minmax(0, 1fr); }
.creative-form { display: grid; gap: 13px; position: sticky; top: 90px; }
.creative-form textarea { min-height: 80px; }
.creative-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 6px; }
.creative-filters .search-field { flex: 1 1 220px; }
.creative-filters select { width: auto; min-width: 150px; }
.creative-list { display: grid; }
.creative-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: start; gap: 12px; padding: 14px 0; border-top: 1px solid var(--line); }
.creative-row:first-child { border-top: 0; }
.creative-row.is-pending { opacity: .82; }
.creative-row__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: var(--accent-text); background: var(--surface-3); }
.creative-row h4 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 4px; }
.creative-row p { margin: 0; color: var(--muted); font-size: 12px; }
.creative-row small { display: block; margin-top: 4px; color: var(--olive); font-size: 11px; font-weight: 700; }
.creative-row a { display: inline-block; margin-top: 5px; color: var(--accent-text); font-size: 12px; font-weight: 700; }
.creative-row__actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.creative-row__actions .btn { min-height: 34px; padding: 6px 12px; font-size: 12px; }
.table-card { margin-top: 16px; padding: 20px; }
.table-scroll { overflow-x: auto; background: linear-gradient(to left, rgba(20, 184, 166,.08), transparent 22px) left / 28px 100% no-repeat; }
.scroll-hint { display: none; margin: 0 0 8px; color: var(--muted); font-size: 12px; }
table { width: 100%; border-collapse: collapse; white-space: nowrap; }
th, td { padding: 13px 12px; border-bottom: 1px solid var(--line); text-align: right; font-size: 12px; }
th { color: var(--muted); font-size: 10px; }
td strong { max-width: 260px; display: block; overflow: hidden; text-overflow: ellipsis; }

.users-layout { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 16px; margin-bottom: 16px; }
.invite-form { display: grid; gap: 13px; align-content: start; }
.invite-form label, .form-field { display: grid; gap: 6px; color: var(--muted); font-size: 12px; }
.invite-form small { color: var(--muted); line-height: 1.7; }
.member-row {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 155px 78px auto;
    align-items: center;
    gap: 10px;
    padding: 11px 0;
    border-top: 1px solid var(--line);
}
.member-remove { white-space: nowrap; }
.member-row:first-child { border-top: 0; }
.member-row strong, .member-row small { display: block; }
.member-row small { color: var(--muted); direction: ltr; text-align: right; }
.switch { position: relative; width: 43px; height: 24px; }
.switch input { position: absolute; opacity: 0; }
.switch i { position: absolute; inset: 0; border-radius: 99px; background: #bfe8e1; transition: .2s; }
.switch i::after { content: ""; position: absolute; top: 3px; right: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--paper); transition: .2s; }
.switch input:checked + i { background: var(--success); }
.switch input:checked + i::after { transform: translateX(-19px); }

.brand-hero {
    display: flex;
    align-items: center;
    gap: 28px;
    min-height: 230px;
    margin-bottom: 16px;
    padding: 38px;
    border-radius: 26px;
    color: #fff;
    background: linear-gradient(135deg, var(--purple), #042f2e);
    overflow: hidden;
}
.brand-hero h2 { margin: 5px 0; font-size: 38px; }
.brand-hero p:last-child { color: rgba(255,255,255,.65); }
.brand-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.identity-card { position: relative; min-height: 190px; padding: 25px; overflow: hidden; }
.identity-card--wide { grid-column: 1 / -1; }
.identity-card h3 { margin: 10px 0; font-size: 22px; }
.identity-card p { color: var(--muted); line-height: 1.8; }
.identity-number { position: absolute; top: 15px; left: 18px; color: #d1f0eb; font-size: 45px; font-weight: 800; }
.font-sample { color: var(--accent-text) !important; font-size: 30px; font-weight: 700; }
.color-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 22px; }
.color-grid div { padding: 12px; border: 1px solid var(--line); border-radius: 14px; }
.color-grid i { display: block; height: 84px; margin-bottom: 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--color); }
.color-grid strong, .color-grid small { display: block; direction: ltr; text-align: right; }
.color-grid small { color: var(--muted); direction: rtl; }

.brand-reference {
    margin-bottom: 16px;
    padding: 22px;
    border: 1px solid color-mix(in srgb, var(--lime) 35%, var(--line));
    border-radius: 20px;
    background: linear-gradient(145deg, var(--paper), color-mix(in srgb, var(--lime) 7%, var(--paper)));
    box-shadow: var(--shadow-sm);
}
.design-layout .brand-reference--compact { position: sticky; top: 128px; }
.brand-reference__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.brand-reference__head h3 { margin: 3px 0 0; }
.brand-reference__head .text-btn { flex: 0 0 auto; }
.brand-reference__swatches { display: flex; gap: 7px; margin: 17px 0 12px; }
.brand-reference__swatches i { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 10px; background: var(--swatch); }
.brand-reference > p { margin: 10px 0; color: var(--muted); line-height: 1.8; }
.brand-reference__sizes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.brand-reference__sizes span { display: flex; justify-content: space-between; gap: 8px; padding: 8px 10px; border-radius: 10px; background: var(--surface-2); }
.brand-reference__sizes b, .brand-reference__sizes small { font-size: 11px; }
.brand-reference__safety { padding: 10px 12px; border-right: 3px solid var(--lime); background: var(--surface-2); font-size: 12px; }

.brand-guide { display: grid; gap: 15px; }
.brand-guide__principles, .brand-guide__columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.brand-guide .identity-card { min-height: 0; }
.brand-guide .identity-card ul { padding-right: 20px; color: var(--muted); line-height: 2; }
.brand-guide__type { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.brand-guide__type p { margin: 0; padding: 13px; border-radius: 12px; background: var(--surface-2); }
.brand-guide__examples { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.brand-guide__examples article { padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-2); }
.brand-guide__examples p { margin-bottom: 0; }
.brand-platforms { width: 100%; border-collapse: collapse; margin-top: 14px; }
.brand-platforms th, .brand-platforms td { padding: 12px; border-bottom: 1px solid var(--line); text-align: right; }
.brand-platforms thead th { color: var(--muted); font-size: 12px; }
.brand-guide__qa { border-color: color-mix(in srgb, var(--lime) 45%, var(--line)); }

.modal {
    width: min(1040px, calc(100% - 28px));
    max-height: calc(100vh - 28px);
    padding: 0;
    border: 0;
    border-radius: 24px;
    background: var(--paper);
    box-shadow: 0 34px 100px rgba(32,22,39,.3);
}
.modal--small { width: min(720px, calc(100% - 28px)); }
.modal::backdrop { background: rgba(4, 47, 46,.67); backdrop-filter: blur(4px); }
.modal-shell { min-height: 150px; }
.modal-head { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; gap: 20px; padding: 22px 25px; border-bottom: 1px solid var(--line); background: var(--paper); }
.modal-head h2 { margin: 3px 0 0; }
.modal-close { width: 38px; height: 38px; border: 0; border-radius: 12px; color: var(--muted); background: var(--surface-3); font-size: 24px; }
.modal-body { padding: 24px; }
.modal-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .75fr); gap: 18px; }
.copy-box { padding: 17px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-2); }
.copy-box + .copy-box { margin-top: 12px; }
.copy-box h3 { margin: 0 0 9px; font-size: 14px; }
.copy-box p { margin: 0; white-space: pre-wrap; line-height: 1.85; }
.detail-section { margin-top: 18px; }
.detail-section h3 { margin-bottom: 10px; }
.comment { padding: 12px 0; border-top: 1px solid var(--line); }
.comment strong, .comment time { font-size: 11px; }
.comment time { color: var(--muted); margin-right: 8px; }
.comment p { margin: 5px 0 0; }
.inline-form { display: flex; gap: 8px; }
.inline-form input { flex: 1; }
.action-stack { display: grid; gap: 8px; }
.action-button { display: flex; justify-content: space-between; width: 100%; padding: 12px; border: 1px solid var(--line); border-radius: 11px; color: var(--ink); background: var(--paper); text-align: right; }
.action-button:hover { border-color: var(--purple-2); }
.file-card { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px; border: 1px solid var(--line); border-radius: 11px; }
.file-card a { color: var(--accent-text); font-weight: 700; text-decoration: none; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }
.workspace-editor-map { display: grid; grid-template-columns: 1fr; gap: 12px; min-width: 0; margin: 4px 0; padding: 16px; border: 1px solid var(--line); border-radius: 13px; }
.workspace-editor-map legend { padding-inline: 8px; color: var(--accent-text); font-weight: 800; }
.workspace-editor-map textarea { min-height: 112px; }
.form-field--wide { grid-column: 1 / -1; }
.form-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 9px; margin-top: 8px; }
.checklist { display: grid; gap: 8px; margin: 12px 0; }
.checklist label { display: flex; align-items: center; gap: 8px; color: var(--ink); }
.checklist input { width: 18px; min-height: 18px; }
.upload-zone { padding: 16px; border: 1px dashed var(--purple-2); border-radius: 13px; background: var(--surface-2); }
.side-card { padding: 16px; border-radius: 15px; background: var(--surface-2); }
.side-card + .side-card { margin-top: 12px; }
.side-card h3 { margin-top: 0; }
.side-card p { color: var(--muted); line-height: 1.7; }
.publication-form, .metrics-form { display: grid; gap: 9px; }
.publication-form [data-publication-fields] { display: grid; gap: 9px; }

.busy { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; align-content: center; gap: 12px; margin: 0; padding: 0; border: 0; color: #fff; background: rgba(4, 47, 46,.72); }
.busy__cancel { min-height: 44px; padding: 8px 16px; border: 1px solid rgba(255,255,255,.35); border-radius: 12px; color: #fff; background: rgba(255,255,255,.1); }
.spinner { width: 38px; height: 38px; border: 3px solid rgba(255,255,255,.25); border-top-color: var(--lime); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.toast {
    position: fixed;
    z-index: 110;
    top: auto;
    right: auto;
    left: 24px;
    bottom: 24px;
    margin: 0;
    border: 0;
    max-width: 420px;
    padding: 13px 18px;
    border-radius: 12px;
    color: #fff;
    background: var(--purple);
    box-shadow: var(--shadow);
    opacity: 0;
    transform: translateY(15px);
    pointer-events: none;
    transition: .22s;
}
.toast.is-visible { opacity: 1; transform: translateY(0); }
.toast.is-error { background: var(--danger); }

@media (max-width: 1180px) {
    .metrics-grid { grid-template-columns: repeat(3, 1fr); }
    .campaign-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .posts-grid { grid-template-columns: repeat(2, 1fr); }
    .planning-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workflow-track { grid-template-columns: repeat(4, 1fr); row-gap: 18px; }
    .topbar__actions { flex-wrap: wrap; justify-content: flex-end; }
}
@media (max-width: 920px) {
    .delivery-report { grid-template-columns: 1fr; }
    .auth-screen { grid-template-columns: 1fr; }
    .auth-visual { min-height: 44vh; }
    .auth-panel { min-height: 56vh; }
    .app-shell { grid-template-columns: 190px minmax(0,1fr); }
    .sidebar { padding: 22px 13px; }
    .sidebar .brand-lockup { justify-content: flex-start; }
    .nav-item { justify-content: flex-start; padding: 12px; font-size: 13px; }
    .nav-item span { font-size: 20px; }
    .sidebar-user { grid-template-columns: 38px minmax(0,1fr) 30px; }
    .sidebar-user div { display: block; min-width: 0; }
    .main { padding-inline: 22px; }
    .topbar { margin-inline: -22px; padding-inline: 22px; }
    .dashboard-grid, .design-layout, .users-layout, .modal-grid { grid-template-columns: 1fr; }
    .brand-mini { position: static; }
    .toolbar { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
    .design-measurement__item { grid-template-columns: 1fr; }
    .workspace-editor-fields { grid-template-columns: 1fr; }
    .workspace-editor-map { padding: 12px; }
    .workspace-editor-fields .form-actions { position: sticky; bottom: 0; z-index: 2; margin-inline: -16px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: var(--paper); }
    .app-shell { display: block; }
    .main { padding: 0 14px 94px; }
    .topbar h1 { font-size: 21px; }
    .topbar__actions .live-indicator { display: none !important; }
    .btn { padding-inline: 13px; }
    .metrics-grid, .posts-grid, .brand-grid, .color-grid, .form-grid { grid-template-columns: 1fr; }
    .planning-grid { grid-template-columns: 1fr; }
    .identity-card--wide, .form-field--wide { grid-column: auto; }
    .workflow-track { display: flex; overflow-x: auto; }
    .workflow-step { min-width: 100px; }
    .workflow-step::after { display: none; }
    .toolbar { grid-template-columns: 1fr; }
    .scroll-hint { display: flex; align-items: center; gap: 7px; }
    .queue-card { grid-template-columns: 56px minmax(0,1fr); }
    .queue-card__icon { width: 52px; height: 52px; }
    .queue-card > .btn { grid-column: 1 / -1; }
    .report-controls, .section-intro { align-items: flex-start; flex-direction: column; }
    .users-layout { grid-template-columns: 1fr; }
    .member-row { grid-template-columns: 38px 1fr; }
    .member-row select, .member-row .switch, .member-row .member-remove { grid-column: 2; }
    .brand-hero { padding: 25px; }
    .brand-hero h2 { font-size: 28px; }
    .modal-body { padding: 16px; }
    .auth-visual { padding: 30px; }
    .auth-visual__message { right: 30px; left: 30px; }
    .security-note { right: 30px; bottom: 25px; left: 30px; }
    .auth-panel { padding: 25px; }
}
/* Official brand asset and mobile-first navigation */
.brand-logo-wrap {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 62px;
    height: 54px;
    padding: 4px;
    border-radius: 12px;
    background: var(--paper);
    overflow: hidden;
}
.brand-logo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.brand-logo-wrap--hero {
    width: 170px;
    height: 140px;
    padding: 10px;
    border-radius: 30px;
    box-shadow: 0 22px 50px rgba(0,0,0,.2);
}
.mobile-nav { display: none; }
.sidebar-backdrop { display: none; }

@media (max-width: 760px) {
    /* القائمة الجانبية نفسها تصبح دُرجًا منزلقًا: سطح تنقّل واحد لكل الأحجام. */
    .sidebar {
        position: fixed;
        inset-block: 0;
        inset-inline-start: 0;
        z-index: 60;
        width: min(320px, 88vw);
        height: 100dvh;
        padding: max(16px, env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));
        transform: translateX(100%);
        visibility: hidden;
        transition: transform .24s ease, visibility 0s linear .24s;
        box-shadow: none;
    }
    body.menu-open .sidebar { transform: none; visibility: visible; transition: transform .24s ease; box-shadow: -20px 0 60px rgba(4, 47, 46,.35); }
    .sidebar-backdrop { display: block; position: fixed; inset: 0; z-index: 55; background: rgba(4, 47, 46,.55); backdrop-filter: blur(2px); }
    .sidebar__close { display: grid; }
    .main { padding: 0 14px calc(94px + env(safe-area-inset-bottom)); }
    .topbar {
        grid-template-columns: 44px minmax(0, 1fr) auto;
        gap: 10px;
        min-height: 70px;
        margin: 0 -14px 16px;
        padding: max(8px, env(safe-area-inset-top)) 14px 8px;
        background: var(--paper-glass);
        box-shadow: 0 8px 24px rgba(20, 184, 166,.06);
    }
    .topbar__menu { display: grid; }
    .topbar .eyebrow { font-size: 11px; }
    .notification-button--desktop { display: none; }
    .global-scope { min-width: 0; }
    .global-scope > summary { padding: 6px 10px; }
    .global-scope > summary > span > span { display: none; }
    .global-scope > summary strong { font-size: 12px; white-space: nowrap; }
    .global-scope__form { inset-inline-end: auto; inset-inline-start: 0; width: min(560px, calc(100vw - 28px)); }
    .mobile-nav {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 70;
        display: flex;
        min-height: calc(72px + env(safe-area-inset-bottom));
        padding: 6px 6px max(6px, env(safe-area-inset-bottom));
        border-top: 1px solid rgba(255,255,255,.12);
        color: #fff;
        background: var(--purple);
        box-shadow: 0 -10px 30px rgba(4, 47, 46,.2);
    }
    .mobile-nav__item {
        display: grid;
        place-items: center;
        align-content: center;
        flex: 1 1 0;
        min-width: 0;
        min-height: 44px;
        padding: 4px 2px;
        border: 0;
        border-radius: 13px;
        color: rgba(255,255,255,.7);
        background: transparent;
    }
    .mobile-nav__item > .icon { width: 22px; height: 22px; }
    .mobile-nav__item small { margin-top: 5px; font-size: 11px; }
    .mobile-nav__item.is-active { color: #fff; background: rgba(255,255,255,.13); box-shadow: inset 0 -3px var(--lime); }
    .brand-logo-wrap--hero { width: 112px; height: 92px; border-radius: 22px; }
}

@media (max-width: 360px) {
    .main { padding-inline: 10px; }
    .topbar { margin-inline: -10px; padding-inline: 10px; }
    .mobile-nav__item small { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Responsive content protections for narrow and short phone viewports */
html, body { max-width: 100%; overflow-x: clip; }
body { min-height: 100dvh; }
img, svg, video, canvas { max-width: 100%; }
h1, h2, h3, h4, p, strong, small, td, th { overflow-wrap: anywhere; }
button, input, select, textarea { touch-action: manipulation; }
.table-scroll {
    max-width: 100%;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

@media (max-width: 760px) {
    .auth-screen { min-height: 100dvh; grid-template-rows: auto minmax(0,1fr); }
    .auth-visual { min-height: 38dvh; padding: max(24px, env(safe-area-inset-top)) 24px 24px; }
    .auth-visual__message { position: relative; top: auto; right: auto; left: auto; margin-top: 46px; transform: none; }
    .auth-visual__message h1 { font-size: clamp(30px, 10vw, 44px); }
    .auth-visual__message p { font-size: 16px; }
    .security-note { position: relative; right: auto; bottom: auto; left: auto; margin-top: 28px; }
    .auth-panel { min-height: 0; padding: 24px 16px calc(24px + env(safe-area-inset-bottom)); }
    .auth-card { padding: 24px 20px; border-radius: 22px; }
    .auth-card h1, .auth-card h2 { font-size: 29px; }

    .btn, .text-btn, .nav-item, .modal-close, .action-button, .file-card a {
        min-height: 44px;
    }
    select, input, textarea { min-height: 48px; font-size: 16px; }
    textarea { min-height: 130px; }
    .text-btn { display: inline-flex; align-items: center; padding: 8px; }

    .page { min-width: 0; }
    .card { max-width: 100%; }
    .metrics-grid { grid-template-columns: 1fr; gap: 10px; }
    .metric-card { min-height: 108px; padding: 17px; }
    .metric-card strong { margin-top: 9px; font-size: 26px; }
    .dashboard-grid { gap: 12px; }
    .panel, .table-card { padding: 16px; }
    .panel-head { align-items: flex-start; gap: 10px; }
    .list-row { grid-template-columns: 48px minmax(0,1fr); gap: 10px; }
    .list-row > .text-btn { grid-column: 2; justify-self: start; }
    .toolbar { gap: 8px; padding: 10px; }
    .result-count { min-height: 28px; display: flex; align-items: center; text-align: right; }
    .post-card { min-height: 220px; padding: 16px; }
    .post-card__top { align-items: flex-start; flex-direction: column; }
    .post-card__footer { align-items: flex-end; }
    .workflow-track { gap: 8px; padding: 14px; scroll-snap-type: inline proximity; }
    .workflow-step { scroll-snap-align: start; }
    .queue-card { min-width: 0; padding: 14px; }
    .queue-card > div { min-width: 0; }
    .report-controls { padding: 15px; }
    .report-controls label { width: 100%; align-items: flex-start; flex-direction: column; }
    .report-controls input { width: 100%; }
    .report-actions .btn { width: 100%; }
    .report-document { padding: 14px; border-radius: 16px; }
    .report-brand { align-items: flex-start; }
    .report-brand img { width: 62px; height: 62px; }
    .executive-metrics, .executive-details, .report-summary-grid { grid-template-columns: 1fr; }
    .report-section--summary { grid-column: auto; }
    .member-row { min-width: 0; }
    .member-row select { width: 100%; }
    .switch { width: 48px; height: 44px; }
    .switch i { inset: 10px 2px; }
    .brand-hero { align-items: flex-start; flex-direction: column; gap: 18px; padding: 22px; }
    .brand-hero h2 { font-size: clamp(26px, 8vw, 34px); }
    .color-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }

    .modal {
        width: 100%;
        max-width: none;
        height: 100dvh;
        max-height: 100dvh;
        margin: 0;
        border-radius: 0;
    }
    .modal-shell { display: flex; flex-direction: column; min-height: 100%; }
    .modal-head { flex: 0 0 auto; align-items: flex-start; padding: max(16px, env(safe-area-inset-top)) 16px 14px; }
    .modal-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 16px; }
    .form-actions {
        position: sticky;
        bottom: -16px;
        z-index: 2;
        flex-direction: column-reverse;
        margin: 8px -16px -16px;
        padding: 12px 16px max(16px, env(safe-area-inset-bottom));
        border-top: 1px solid var(--line);
        background: var(--paper-glass);
    }
    .form-actions .btn { width: 100%; }
    .inline-form { align-items: stretch; flex-direction: column; }
    .inline-form .btn { width: 100%; }
    .file-card { align-items: flex-start; flex-direction: column; }
    .toast {
        right: 14px;
        bottom: calc(86px + env(safe-area-inset-bottom));
        left: 14px;
        max-width: none;
        text-align: center;
    }
}

@media print {
    body { background: var(--paper) !important; }
    .sidebar, .topbar, .mobile-nav, .sidebar-backdrop, .report-actions, .notifications-panel, .busy, .toast { display: none !important; }
    .app-shell, .main, .page, .report-document { display: block !important; width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; }
    .page[hidden], .page:not(:has(.report-document:not([hidden]))) { display: none !important; }
    .metric-card, .report-section, .campaign-section, tr { break-inside: avoid; }
    * { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

@media (min-width: 375px) and (max-width: 760px) {
    .metrics-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 360px) {
    .panel, .table-card { padding: 13px; }
    .metric-card { min-height: 98px; padding: 14px; }
    .color-grid { grid-template-columns: 1fr; }
    .brand-hero { padding: 18px; }
}

@media (orientation: landscape) and (max-height: 520px) {
    .auth-screen { grid-template-columns: minmax(280px,.8fr) minmax(360px,1.2fr); grid-template-rows: 1fr; }
    .auth-visual, .auth-panel { min-height: 100dvh; }
    .auth-visual__message { margin-top: 22px; }
    .auth-visual__message h1 { font-size: 30px; }
    .security-note { display: none; }
    .topbar { position: relative; min-height: 58px; padding-top: 6px; }
    .mobile-nav { min-height: calc(62px + env(safe-area-inset-bottom)); }
    .main { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
}

@media (max-height: 700px) and (max-width: 760px) {
    .auth-visual { min-height: 250px; padding: 16px; }
    .auth-visual__message { margin-top: 14px; }
    .auth-visual__message h1 { margin-block: 6px; font-size: 28px; line-height: 1.18; }
    .auth-visual__message p, .security-note { display: none; }
    .auth-panel { padding: 12px; }
    .auth-card { padding: 16px; }
    .auth-card h2 { margin-block: 6px; font-size: 24px; }
    .auth-card > p { margin-block: 6px; line-height: 1.55; }
    .btn--google { margin-top: 10px; }
    .auth-card > small { display: none; }
    .data-error { align-items: stretch; flex-direction: column; }
}

@media (max-width: 920px) {
    .campaign-week-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .campaign-channel-grid, .campaign-items-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .campaign-items-grid .day-group__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .campaign-guide-grid { grid-template-columns: 1fr; }
    .campaign-guide-grid .identity-card--wide { grid-column: auto; }
    .campaign-report-grid { grid-template-columns: 1fr; }
    .event-days-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .campaign-hero { align-items: flex-start; flex-direction: column; padding: 22px; }
    .campaign-hero .btn { width: 100%; }
    .event-countdown { width: 100%; }
    .campaign-week-grid, .campaign-channel-grid, .campaign-items-grid, .campaign-search-groups { grid-template-columns: 1fr; }
    .campaign-items-grid .day-group__items { grid-template-columns: 1fr; }
    .campaign-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .campaign-toolbar { grid-template-columns: 1fr; }
    .campaign-palette { grid-template-columns: repeat(3, 1fr); }
    .campaign-report-list article { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .campaign-report-list strong { grid-column: 1 / -1; }
    .decision-grid { grid-template-columns: 1fr; }
    /* الإدارة تعتمد من الجوال: أهداف لمس كبيرة، وزر حفظ ملتصق بأسفل الشاشة لا يحتاج بحثًا. */
    .decision-option { min-height: 64px; padding: 16px; align-items: center; }
    .decision-option strong { font-size: 16px; }
    .decision-option input { width: 24px; min-width: 24px; height: 24px; min-height: 24px; flex-basis: 24px; }
    .decision-note-field textarea { min-height: 110px; font-size: 16px; }
    .decision-actions { position: sticky; inset-block-end: 0; z-index: 2; margin: 0 -20px -20px; padding: 14px 20px calc(14px + env(safe-area-inset-bottom)); border-block-start: 1px solid var(--line); background: var(--paper); }
    .decision-actions .btn { width: 100%; min-height: 52px; font-size: 16px; }
    .decided-row { grid-template-columns: 1fr; }
}

/* Calendar, workflow board, history, preview and in-app notifications */
.content-viewbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    padding: 10px 12px;
}
.content-viewbar .search-field { flex: 1 1 220px; min-width: 0; }
.content-viewbar .result-count { margin-inline-start: auto; }
.view-switcher { display: inline-flex; gap: 4px; padding: 4px; border-radius: 12px; background: var(--surface-3); }
.view-switcher button { min-height: 38px; padding: 7px 14px; border: 0; border-radius: 9px; color: var(--muted); background: transparent; }
.view-switcher button.is-active { color: #fff; background: var(--purple); box-shadow: 0 5px 14px rgba(20, 184, 166,.18); }
.calendar-month-control { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.calendar-month-control input { width: 160px; }

.content-calendar { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); box-shadow: var(--shadow); }
.calendar-month + .calendar-month { border-top: 10px solid var(--surface); }
.calendar-month > h3 { margin: 0; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.calendar-weekdays, .calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(110px, 1fr)); }
.calendar-weekdays strong { padding: 12px 8px; color: var(--muted); border-left: 1px solid var(--line); background: var(--surface-2); text-align: center; font-size: 11px; }
.calendar-day { min-height: 145px; padding: 8px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); background: var(--paper); }
.calendar-day.is-outside { color: #94a3b8; background: var(--surface-2); }
.calendar-day.is-today { box-shadow: inset 0 0 0 2px var(--lime); }
.calendar-day > time { display: grid; place-items: center; width: 26px; height: 26px; margin-bottom: 6px; border-radius: 8px; font-size: 12px; font-weight: 800; }
.calendar-day.is-today > time { color: #fff; background: var(--purple); }
.calendar-post { position: relative; display: block; width: 100%; margin: 5px 0; padding: 7px 9px 7px 11px; border: 0; border-radius: 9px; color: var(--ink); background: color-mix(in srgb, var(--stage-color) 9%, var(--paper)); text-align: right; overflow: hidden; }
.calendar-post::before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 3px; background: var(--stage-color); }
.calendar-post strong, .calendar-post small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-post strong { font-size: 11px; }
.calendar-post small { margin-top: 3px; color: var(--muted); font-size: 9px; }

.kanban-board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 300px); gap: 12px; padding: 2px 2px 14px; overflow-x: auto; overscroll-behavior-inline: contain; }
.kanban-column { min-height: 420px; padding: 12px; border: 1px solid var(--line); border-top: 4px solid var(--stage-color); border-radius: 16px; background: var(--surface-3); transition: .18s ease; }
.kanban-column.is-drop-target { background: var(--tint-lime); box-shadow: inset 0 0 0 2px var(--lime); transform: translateY(-2px); }
.kanban-column > header > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.kanban-column > header b { display: grid; place-items: center; min-width: 28px; height: 28px; border-radius: 9px; color: var(--accent-text); background: var(--paper); }
.kanban-column__cards { display: grid; gap: 9px; margin-top: 12px; }
.kanban-column__cards > p { padding: 30px 8px; color: var(--muted); text-align: center; font-size: 11px; }
.kanban-card { padding: 11px; border: 1px solid rgba(20, 184, 166,.09); border-radius: 13px; background: var(--paper); box-shadow: 0 7px 20px rgba(20, 184, 166,.06); }
.kanban-card[draggable="true"] { cursor: grab; }
.kanban-card.is-dragging { opacity: .45; transform: rotate(-1deg); }
.kanban-card > button { width: 100%; padding: 0; border: 0; color: var(--ink); background: transparent; text-align: right; }
.kanban-card strong, .kanban-card small { display: block; }
.kanban-card small { margin-top: 7px; color: var(--muted); line-height: 1.6; }
.kanban-card select { min-height: 36px; margin-top: 10px; padding-block: 5px; font-size: 11px; }

.notification-button { position: relative; display: grid; place-items: center; width: 44px; min-height: 44px; border: 1px solid var(--line); border-radius: 13px; color: var(--accent-text); background: var(--paper); font-size: 23px; }
.notification-button span { position: absolute; top: -6px; left: -6px; display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 4px; border-radius: 99px; color: #fff; background: var(--danger); font-size: 9px; font-weight: 800; }
.notifications-panel { position: fixed; z-index: 80; top: 80px; left: 26px; width: min(390px, calc(100% - 28px)); max-height: calc(100dvh - 110px); padding: 16px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); box-shadow: 0 28px 80px rgba(4, 47, 46,.25); overflow-y: auto; }
.notifications-panel:focus-visible { outline: 3px solid rgba(250, 204, 21,.36); outline-offset: 3px; }
.notifications-panel header { position: sticky; top: -16px; z-index: 1; display: flex; align-items: center; justify-content: space-between; padding: 10px 0 12px; background: var(--paper); }
.notifications-panel h2 { margin: 2px 0 0; }
.notifications-panel header button { width: 38px; height: 38px; border: 0; border-radius: 11px; color: var(--muted); background: #e6f7f4; font-size: 23px; }
.notifications-panel > .text-btn { margin-bottom: 8px; }
.notification-item { position: relative; display: grid; grid-template-columns: 9px minmax(0,1fr); gap: 10px; width: 100%; padding: 12px 4px; border: 0; border-top: 1px solid var(--line); color: var(--ink); background: var(--paper); text-align: right; }
.notification-item > span { width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: #bfe8e1; }
.notification-item.is-unread > span { background: var(--lime); box-shadow: 0 0 0 4px rgba(250, 204, 21,.16); }
.notification-item.is-unread { background: linear-gradient(90deg, transparent, rgba(250, 204, 21,.06)); }
.notification-item strong, .notification-item p, .notification-item small { display: block; margin: 0; }
.notification-item p { margin-top: 4px; color: var(--muted); line-height: 1.55; font-size: 11px; }
.notification-item small { margin-top: 5px; color: #94a3b8; font-size: 9px; }

.comment-form { display: grid; gap: 8px; margin-top: 12px; }
.comment-form > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.comment-type { display: inline-flex; margin-bottom: 6px; padding: 4px 8px; border-radius: 99px; color: #7a4d00; background: #fff0ce; font-size: 9px; font-weight: 800; }
.file-card__actions { display: flex; align-items: center; gap: 12px; }
.text-btn--danger { display: block; margin-top: 7px; color: var(--danger-text); }
.rollback-box { display: grid; gap: 8px; margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--line-strong); }
.rollback-box > strong { color: var(--danger-text); }
.rollback-box p { margin: 0; font-size: 11px; }
.rollback-box .btn { width: 100%; color: var(--danger-text); }
.revision { margin-top: 8px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
.revision summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; cursor: pointer; }
.revision summary strong, .revision summary small { display: block; }
.revision summary small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.revision summary b { color: var(--accent-text); font-size: 10px; }
.revision__changes { display: grid; gap: 8px; padding: 0 12px 12px; }
.revision__changes > div { display: grid; grid-template-columns: 110px 1fr 1fr; gap: 8px; padding-top: 8px; border-top: 1px solid var(--line); font-size: 11px; }
.revision__changes del, .revision__changes ins { padding: 7px; border-radius: 8px; text-decoration: none; white-space: pre-wrap; overflow-wrap: anywhere; }
.revision__changes del { color: #84313a; background: #fff0f1; }
.revision__changes ins { color: #176843; background: #eaf8f0; }
.modal--preview { width: min(1180px, calc(100% - 28px)); height: min(850px, calc(100dvh - 28px)); }
.action-dialog__message { margin-top: 0; color: var(--muted); line-height: 1.8; }
.modal--preview .modal-shell { height: 100%; display: grid; grid-template-rows: auto minmax(0,1fr); }
.preview-frame { min-height: 0; padding: 12px; background: var(--surface-3); }
.preview-frame iframe { display: block; width: 100%; height: 100%; border: 0; border-radius: 13px; background: var(--paper); }

@media (max-width: 920px) {
    .content-viewbar { align-items: stretch; flex-wrap: wrap; }
    .view-switcher { flex: 1 1 100%; }
    .view-switcher button { flex: 1; }
    .content-calendar { overflow-x: auto; }
    .calendar-weekdays, .calendar-grid { min-width: 820px; }
}

@media (max-width: 760px) {
    .content-viewbar { position: relative; padding: 10px; }
    .view-switcher { overflow-x: auto; }
    .view-switcher button { min-width: 105px; white-space: nowrap; }
    .calendar-month-control { flex: 1 1 auto; }
    .calendar-month-control input { width: 100%; }
    .content-viewbar > .btn, .plan-tools { flex: 1 1 100%; }
    .plan-tools .header-plan-select { flex: 1 1 auto; max-width: none; }
    .plan-tools select { width: 100%; }
    .calendar-weekdays, .calendar-grid { min-width: 700px; grid-template-columns: repeat(7, 100px); }
    .calendar-day { min-height: 125px; }
    .notification-button--desktop { display: none; }
    .notifications-panel { top: calc(70px + env(safe-area-inset-top)); right: 14px; bottom: calc(82px + env(safe-area-inset-bottom)); left: 14px; width: auto; max-height: none; }
    .comment-form > div { grid-template-columns: 1fr; }
    .file-card__actions { width: 100%; justify-content: space-between; }
    .revision__changes > div { grid-template-columns: 1fr; }
    .modal--preview { height: 100dvh; }
}

@media (prefers-reduced-motion: reduce) {
    .kanban-column.is-drop-target, .kanban-card.is-dragging { transform: none; }
}

/* ==========================================================================
   لغة الحالات الموحّدة — ست حالات عليا عبر المسارات الثلاثة.
   التمييز لا يعتمد على اللون وحده: لكل حالة معالجة شريط وأيقونة خاصتان،
   فتبقى مقروءة في الطباعة ولعين لا تفرّق الأحمر عن الأخضر.
   ========================================================================== */

.status-strip { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.status-strip--compact { margin-top: 6px; }

.status-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 11px 3px 8px;
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.6;
    white-space: nowrap;
    color: color-mix(in srgb, var(--tone, var(--purple)) 62%, var(--ink));
    background: color-mix(in srgb, var(--tone, var(--purple)) 11%, var(--paper));
    border: 1px solid color-mix(in srgb, var(--tone, var(--purple)) 34%, var(--paper));
}
.status-chip i {
    display: inline-grid;
    place-items: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--tone, var(--purple));
    color: #fff;
    font-size: 10px;
    font-style: normal;
    line-height: 1;
}
/* «بانتظار قرار» وحدها تحمل هالة — لأنها الحالة الوحيدة التي تطلب فعلًا الآن. */
.status-chip[data-macro="wait"] i { box-shadow: 0 0 0 3px color-mix(in srgb, var(--tone) 24%, var(--paper)); }

.owner-chip {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    color: var(--muted);
    background: transparent;
    border: 1px dashed var(--line);
    white-space: nowrap;
}
/* الوسم الوحيد المسموح له بلفت النظر: أنت العائق. */
.owner-chip.is-you {
    color: var(--chip-lime-text);
    background: color-mix(in srgb, var(--lime) 42%, var(--paper));
    border: 1px solid color-mix(in srgb, var(--lime) 72%, var(--paper));
}

.late-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    color: var(--danger-text);
    background: color-mix(in srgb, var(--danger) 10%, var(--paper));
    border: 1px solid color-mix(in srgb, var(--danger) 32%, var(--paper));
    white-space: nowrap;
}
.late-chip::before { content: "!"; font-weight: 800; }

/* معالجة الشريط العلوي للبطاقة حسب الحالة العليا */
.post-card[data-macro]::before { background: var(--tone, var(--purple-2)); }
.post-card[data-macro="work"]::before {
    background: repeating-linear-gradient(to left, var(--tone) 0 6px, transparent 6px 12px);
}
.post-card[data-macro="revise"]::before {
    background: repeating-linear-gradient(135deg, var(--tone) 0 4px, transparent 4px 9px);
}
.post-card[data-macro="halted"]::before {
    background: repeating-linear-gradient(45deg, var(--tone) 0 3px, transparent 3px 8px);
}
.post-card[data-macro="live"]::before { opacity: .55; }

.campaign-item-card[data-macro] {
    position: relative;
    overflow: hidden;
    border-inline-start: 4px solid var(--tone, var(--purple-2));
}
.campaign-item-card[data-macro="work"] {
    border-inline-start-style: dotted;
    border-inline-start-width: 5px;
}
.campaign-item-card[data-macro="revise"] { border-inline-start-style: double; border-inline-start-width: 6px; }
.campaign-item-card[data-macro="halted"] { border-inline-start-style: dashed; }
.campaign-item-card[data-macro="live"] { border-inline-start-color: color-mix(in srgb, var(--tone) 55%, var(--paper)); }

.calendar-post[data-macro="work"]::before {
    background: repeating-linear-gradient(to bottom, var(--stage-color) 0 4px, transparent 4px 8px);
}
.calendar-post[data-macro="revise"]::before {
    background: repeating-linear-gradient(135deg, var(--stage-color) 0 3px, transparent 3px 7px);
}
.calendar-post[data-macro="halted"]::before {
    background: repeating-linear-gradient(45deg, var(--stage-color) 0 3px, transparent 3px 7px);
}
.calendar-post[data-late="true"] strong::after {
    content: " !";
    color: var(--danger-text);
    font-weight: 800;
}

/* شريط تصفية الحالات — عدّاد قابل للنقر في أعلى كل قائمة */
.macro-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
}
.macro-filter {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 13px 6px 10px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: var(--paper);
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
    transition: .16s ease;
}
.macro-filter i {
    display: inline-grid;
    place-items: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--tone, var(--purple-2));
    color: #fff;
    font-size: 10px;
    font-style: normal;
    line-height: 1;
}
.macro-filter b {
    min-width: 20px;
    padding: 0 5px;
    border-radius: 8px;
    background: var(--canvas);
    color: var(--ink);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}
.macro-filter:hover { border-color: var(--purple-2); color: var(--ink); }
.macro-filter.is-active {
    color: color-mix(in srgb, var(--tone, var(--purple)) 62%, var(--ink));
    border-color: color-mix(in srgb, var(--tone, var(--purple)) 45%, var(--paper));
    background: color-mix(in srgb, var(--tone, var(--purple)) 10%, var(--paper));
}
.macro-filter.is-active b { background: color-mix(in srgb, var(--tone, var(--purple)) 18%, var(--paper)); }
.macro-filter--all.is-active { color: var(--accent-text); border-color: var(--purple-2); background: var(--surface-3); }

@media (max-width: 620px) {
    .macro-filter-bar { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
    .macro-filter { flex: 0 0 auto; }
}

/* ==========================================================================
   العزل بين المساحات — المساحة جذر لا مرشِّح.
   شريط الحافة واللون والخط تعلن السياق قبل قراءة أي عنوان.
   ========================================================================== */

body[data-workspace-mode] { --workspace-tone: var(--purple-2); }
body[data-workspace-mode="organic"] { --workspace-tone: #0f766e; }
body[data-workspace-mode="paid"] { --workspace-tone: #facc15; }
body[data-workspace-mode="event"] { --workspace-tone: #387da1; }
body[data-workspace-mode="neutral"] { --workspace-tone: #64748b; }

/* شريط ثابت على حافة الشاشة بلون المساحة الحالية */
.app-shell::before {
    content: "";
    position: fixed;
    inset-block: 0;
    inset-inline-end: 0;
    width: 4px;
    background: var(--workspace-tone, var(--purple-2));
    z-index: 40;
    pointer-events: none;
    transition: background .24s ease;
}
body[data-workspace-mode="neutral"] .app-shell::before {
    background: repeating-linear-gradient(to bottom, var(--workspace-tone) 0 6px, transparent 6px 12px);
}

/* خط واحد في كل المساحات كما يفرضه دليل الهوية؛ التمييز بين المساحات باللون وحده. */
.workspace--event, .workspace--paid { font-family: inherit; }

/* الأقسام العامة مفصولة بصريًا عن تنقّل المساحة */
.side-nav--neutral {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, .14);
}
.side-nav__label,
.mobile-more-grid__label {
    margin: 0 0 6px;
    padding-inline-start: 4px;
    color: rgba(255, 255, 255, .82);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .02em;
}
.side-nav--neutral .side-section + .side-section { margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, .08); }
.mobile-more-grid__label { color: var(--muted); grid-column: 1 / -1; }
.mobile-more-grid--neutral {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
}

/* عدّاد نشاط المساحات الأخرى: رقم فقط، بلا عنوان ولا نص */
.workspace-activity {
    display: inline-grid;
    place-items: center;
    min-width: 18px;
    height: 18px;
    margin-inline-start: 6px;
    padding: 0 5px;
    border-radius: 9px;
    background: var(--purple-2);
    color: #fff;
    font-size: 10.5px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    vertical-align: middle;
}

/* نطاق العضو الخارجي ومدة صلاحيته ظاهران في صفّه دائمًا */
.member-access {
    display: block;
    margin-top: 3px;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--muted);
}
.member-access.is-expired { color: var(--danger-text); }
.member-access.is-open { color: var(--warning-text); }

/* حقول نطاق الدعوة */
.invite-scope {
    margin: 0;
    padding: 14px 16px;
    border: 1px dashed var(--line);
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.invite-scope legend { padding: 0 6px; color: var(--muted); font-size: 12.5px; font-weight: 700; }
.invite-scope label { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.invite-scope .invite-expiry { flex-direction: column; align-items: stretch; gap: 5px; }
.invite-scope small { color: var(--muted); font-size: 12px; line-height: 1.6; }

/* تقاعد المادة: لا حذف — سبب التقاعد نفسه معلومة تشغيلية تبقى مرئية */
.archive-form { border: 1px dashed var(--line); background: transparent; }
.archive-form h3 { margin: 0 0 4px; }
.archive-hint { margin: 0 0 10px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.archive-note {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 14px;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-inline-start: 4px solid var(--muted);
    border-radius: 12px;
    background: var(--canvas);
    font-size: 14px;
}
.archive-note strong { color: var(--ink); }
.archive-note span { color: var(--muted); }
.archive-note .text-btn { align-self: flex-start; }

/* بيانات استكمال الحفل: قيمة واحدة تُغذّي كل النصوص المرتبطة. */
.event-completion-form {
    display: grid;
    gap: 18px;
}
.event-completion-form .panel-head { align-items: flex-start; }
.event-completion-form .panel-head p { margin: 4px 0 0; color: var(--muted); }
.event-completion-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.event-completion-group {
    min-width: 0;
    margin: 0;
    padding: 15px;
    border: 1px solid var(--line);
    border-inline-start: 4px solid var(--warning);
    border-radius: 14px;
    background: var(--canvas);
}
.event-completion-group.is-complete { border-inline-start-color: var(--success); }
.event-completion-group legend {
    width: 100%;
    padding: 0 5px 10px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3px 10px;
}
.event-completion-group legend span { font-weight: 800; }
.event-completion-group legend small { grid-column: 1; color: var(--muted); line-height: 1.5; }
.event-completion-group legend b { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--warning-text); font-size: 12px; }
.event-completion-group.is-complete legend b,
.completion-status.is-complete { color: var(--success-text); }
.event-completion-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.event-completion-fields label,
.event-completion-value { display: grid; gap: 5px; color: var(--muted); font-size: 12px; }
.event-completion-fields input,
.event-completion-fields select { width: 100%; }
.event-completion-check { grid-column: 1 / -1; grid-template-columns: auto 1fr !important; align-items: center; }
.event-completion-check input { width: auto; }
.event-completion-value strong { color: var(--ink); font-size: 14px; overflow-wrap: anywhere; }
.event-completion-form .form-actions { align-items: center; }
.event-completion-form .form-actions small,
.event-completion-readonly { color: var(--muted); }
.completion-status { color: var(--warning-text); font-weight: 800; }
.campaign-warning.is-complete { border-color: color-mix(in srgb, var(--success) 45%, var(--paper)); background: color-mix(in srgb, var(--success) 8%, var(--paper)); }

@media (max-width: 760px) {
    .event-completion-groups,
    .event-completion-fields { grid-template-columns: 1fr; }
    .event-completion-form .panel-head { display: grid; gap: 10px; }
    .event-completion-form .status-pill { justify-self: start; }
    .event-completion-form .form-actions {
        position: static;
        bottom: auto;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
        flex-direction: column;
        align-items: stretch;
    }
}

/* قرار الإدارة في المسار الممول */
.decision-form .decision-grid { display: grid; gap: 8px; margin-bottom: 12px; }

/* ==========================================================================
   المساعد التحريري — يقترح ولا يعتمد. مظهره هادئ عمدًا حتى لا يزاحم
   أدوات القرار، ولا يظهر إلا لمن يملك صلاحية استخدامه.
   ========================================================================== */

.ai-toolbar {
    margin: 4px 0 2px;
    padding: 14px 16px;
    border: 1px dashed var(--line);
    border-radius: 14px;
    background: color-mix(in srgb, var(--purple-2) 5%, var(--paper));
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ai-toolbar__head { display: flex; flex-direction: column; gap: 3px; }
.ai-toolbar__head strong { font-size: 14px; color: var(--accent-text); }
.ai-toolbar__head small { color: var(--muted); font-size: 12.5px; line-height: 1.65; }
.ai-toolbar__actions { display: flex; flex-wrap: wrap; gap: 7px; }

.ai-chip {
    padding: 6px 13px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: var(--paper);
    color: var(--accent-text);
    font-size: 13px;
    font-weight: 700;
    transition: .16s ease;
}
.ai-chip:hover:not(:disabled) { border-color: var(--purple-2); background: var(--surface-3); }
.ai-chip:disabled { opacity: .5; cursor: not-allowed; }

.ai-output { margin-top: 2px; }
.ai-output__pending { margin: 0; color: var(--muted); font-size: 13.5px; }
.ai-output__applied { margin: 0; color: var(--success-text); font-size: 13.5px; font-weight: 700; }
.ai-output__error { margin: 0; color: var(--danger-text); font-size: 13.5px; font-weight: 700; }
.ai-output__text {
    margin: 0 0 8px;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--paper);
    color: var(--ink);
    font-family: inherit;
    font-size: 14px;
    line-height: 1.85;
    white-space: pre-wrap;
    max-height: 320px;
    overflow-y: auto;
}

.ai-settings { margin-top: 18px; }
.ai-settings__note { margin: 0 0 14px; color: var(--muted); font-size: 13.5px; line-height: 1.8; max-width: 70ch; }
.ai-key-form { display: flex; flex-direction: column; gap: 12px; }
.ai-key-form input { direction: ltr; text-align: left; }
.ai-provider-box { margin-top: 16px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; }
.ai-provider-box .panel-head { margin-bottom: 8px; }
.ai-provider-box h3 { margin: 0; font-size: 16px; }

/* شاشة المساعد: تشرح أين يظهر فعلًا، فلا يبقى مدفونًا في صفحة أخرى */
.ai-places { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin-bottom: 14px; }
.ai-places article {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--canvas);
}
.ai-places strong { color: var(--accent-text); font-size: 14.5px; }
.ai-places span { color: var(--muted); font-size: 13px; line-height: 1.7; }

/* الشاشات القصيرة (متصفح بأشرطة كثيرة + شريط مهام): نضغط الإيقاع الرأسي
   ليبقى كل شيء ظاهرًا بلا تمرير، والتمرير يبقى شبكة أمان لا وسيلة أساسية. */
@media (max-height: 900px) {
    .sidebar { padding: 18px 16px; }
    .side-nav { margin-top: 18px; gap: 5px; }
    .nav-item { padding: 10px 13px; border-radius: 10px; }
    .nav-item span { font-size: 17px; }
    .side-nav--neutral { padding-top: 10px; }
    .sidebar-user { margin-top: 10px; padding: 11px; }
}

@media (max-height: 760px) {
    .side-nav { margin-top: 12px; }
    .nav-item { padding: 8px 12px; font-size: 14px; }
    .sidebar-brand { margin-bottom: 4px; }
}
/* إدارة الخطط والفترات الزمنية */
.header-plan-select { display:flex; align-items:center; gap:.45rem; font-size:.78rem; }
.header-plan-select select, [data-visibility-mode] { min-height:40px; border:1px solid var(--line); border-radius:10px; background:var(--paper); color:var(--ink); padding:.4rem .65rem; font:inherit; }
.month-guide { margin:0 0 1rem; padding:18px 22px; }
.month-guide summary { cursor:pointer; font-weight:800; }
.month-guide [data-month-guide-content] { margin-top:1rem; }
.month-guide__sections { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1rem 1.5rem; }
.month-guide h2 { margin:0 0 1rem; font-size:22px; }
.month-guide h3 { margin:.2rem 0; }
.month-guide ul { margin:.5rem 0 0; padding-inline-start:1.25rem; line-height:1.9; }
.month-guide li + li { margin-top:.35rem; }
.period-admin { margin-bottom:1rem; padding:22px; }
.visibility-admin-card { margin-bottom:1rem; padding:22px; }
.card.empty-state { padding:24px; }
.plan-tools { display:flex; align-items:center; gap:10px; }
.page-actions { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.page-actions:not(:has(> :not([hidden]))) { display:none; }
.period-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; align-items:end; }
.period-form label { display:grid; gap:.35rem; font-weight:700; }
.period-form input,.period-form select,.period-form textarea { width:100%; min-height:44px; border:1px solid var(--line); border-radius:12px; padding:.65rem; font:inherit; }
.period-reason { grid-column:1/-1; }
.period-preview { margin:0; color:var(--muted); }
.period-list { display:grid; gap:.65rem; margin-top:1rem; }
.global-scope { position:relative; min-width:190px; }
.global-scope > summary { list-style:none; cursor:pointer; display:grid; gap:2px; border:1px solid var(--line); background:var(--paper); border-radius:14px; padding:8px 12px; }
.global-scope > summary::-webkit-details-marker { display:none; }
.global-scope > summary span { color:var(--muted); font-size:.72rem; }
.global-scope > summary strong { color:var(--ink); font-size:.84rem; white-space:nowrap; }
.global-scope__form { position:absolute; z-index:40; inset-inline-end:0; top:calc(100% + 8px); width:min(560px, 86vw); display:grid; grid-template-columns:repeat(2,minmax(150px,1fr)); gap:12px; padding:16px; border:1px solid var(--line); border-radius:16px; background:var(--paper); box-shadow:0 18px 45px rgba(4, 47, 46,.18); }
.global-scope__form label { display:grid; gap:6px; color:var(--muted); font-size:.78rem; }
.global-scope__form input,.global-scope__form select { width:100%; }
.module-visibility-list { display:grid; gap:10px; }
.module-visibility-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; padding:13px; border:1px solid var(--line); border-radius:14px; }
.module-visibility-row[data-hidden="true"] { border-style:dashed; background:rgba(20, 184, 166,.04); }
.module-visibility-row > div { display:grid; gap:4px; min-width:0; }
.module-visibility-row small { color:var(--muted); }
.module-visibility-row > .btn { min-width:110px; }
.module-visibility-state { border-radius:999px; padding:5px 9px; font-size:.76rem; background:var(--soft); }
.period-item { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem; border:1px solid var(--line); border-radius:12px; }
.period-item div { display:grid; gap:.2rem; }.period-item span,.period-item small { color:var(--muted); }.period-item.is-inactive { opacity:.65; }
.hidden-period-badge { display:inline-flex; margin:.25rem 0; padding:.2rem .55rem; border-radius:999px; background:#f7e7c4; color:#6f4b0c; font-size:.75rem; font-weight:800; }
@media (max-width:720px) { .header-plan-select{max-width:145px}.header-plan-select>select{max-width:100%}.month-guide [data-month-guide-content],.period-form{grid-template-columns:1fr}.period-reason{grid-column:auto}.period-item{align-items:flex-start;flex-direction:column}.global-scope{width:100%}.global-scope__form{position:static;width:100%;grid-template-columns:1fr;margin-top:8px}.module-visibility-row{grid-template-columns:1fr auto}.module-visibility-row small{grid-column:1/-1} }

/* ==========================================================================
   إعادة التنظيم: سطح تنقّل واحد، مهامي، التقويم الموحّد، الفلاتر المجمّعة،
   لوحة التفاصيل الجانبية بتبويبات، وصفحة الاستيراد.
   ========================================================================== */

/* أيقونات SVG من ملف الرموز في الصفحة */
.icon { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.btn > .icon { width: 17px; height: 17px; margin-inline-end: -2px; }
.metric-card i .icon { width: 18px; height: 18px; }
.queue-card__icon .icon { width: 28px; height: 28px; }
.search-field > .icon { color: var(--muted); }
.notification-button .icon { width: 20px; height: 20px; }
.sidebar-user button .icon { width: 20px; height: 20px; }

/* رأس القائمة وزر الإغلاق (يظهر على الجوال فقط) */
.sidebar__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.sidebar__close { display: none; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 12px; color: #fff; background: rgba(255,255,255,.1); }
/* القاعدة العامة أعلاه تأتي بعد كتلة الجوال فكانت تخفي الزر هناك؛ هذا يعيده للدُّرج. */
@media (max-width: 760px) { .sidebar .sidebar__close { display: grid; } }

/* مجموعات المساحات القابلة للطي */
.side-nav--hub { margin-top: 24px; }
.side-section { margin-top: 18px; }
.side-section > .side-nav__label { margin-bottom: 6px; }
.side-group { gap: 0; margin-top: 4px; }
.side-group__head {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-radius: 12px;
    color: rgba(255,255,255,.8);
    background: transparent;
    text-align: right;
    font-weight: 700;
    transition: .18s ease;
}
.side-group__head > span:first-of-type { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.side-group__head > .icon { width: 20px; height: 20px; opacity: .9; }
.side-group__chevron { width: 16px !important; height: 16px !important; opacity: .6; transition: transform .2s ease; }
.side-group__head:hover { color: #fff; background: rgba(255,255,255,.07); }
.side-group.is-current > .side-group__head { color: #fff; }
.side-group.is-open > .side-group__head .side-group__chevron { transform: rotate(180deg); }
.side-group__items { display: none; padding: 2px 0 6px; margin-inline-start: 10px; border-inline-start: 1px solid rgba(255,255,255,.14); }
.side-group.is-open > .side-group__items { display: grid; gap: 2px; }
.side-group__items .nav-item { padding: 8px 12px; font-size: 14px; border-radius: 10px; }
.side-group__items .nav-item.is-active { box-shadow: inset -3px 0 var(--lime); }

/* التحكم الزمني الوحيد: شريحة مع أيقونة */
.global-scope > summary { display: inline-flex; align-items: center; gap: 9px; }
.global-scope > summary > .icon { color: var(--eyebrow); }
.global-scope > summary > span { display: grid; gap: 1px; }
.report-period { margin: 6px 0 0; color: var(--muted); font-size: 13px; }
.report-period strong { color: var(--accent-text); }

/* زر القائمة على الجوال */
.topbar__menu { place-items: center; width: 44px; min-height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 13px; color: var(--accent-text); background: var(--paper); }

/* الشريط السفلي: عدّاد الإشعارات أحمر، عدّاد المهام أخضر */
.mobile-nav__badge--alert { color: #fff; background: var(--danger); }

/* الفلاتر مجمّعة خلف زر واحد */
.filter-panel { position: relative; }
.filter-panel > summary { list-style: none; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.filter-panel > summary::-webkit-details-marker { display: none; }
.filter-panel[open] > summary { color: #fff; background: var(--purple); border-color: var(--purple); }
.filter-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; color: var(--accent-text); background: var(--lime); font-size: 11px; font-weight: 800; }
.filter-panel[open] > summary .filter-count { color: var(--accent-text); }
.filter-panel__body {
    position: absolute;
    top: calc(100% + 8px);
    inset-inline-start: 0;
    z-index: 30;
    display: grid;
    gap: 10px;
    width: min(360px, 90vw);
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--paper);
    box-shadow: 0 24px 60px rgba(4, 47, 46,.18);
}
.filter-panel__body label { display: grid; gap: 5px; color: var(--muted); font-size: 12px; font-weight: 700; }
.filter-panel__body .text-btn { justify-self: start; }
.filter-notice { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 12px; padding: 10px 14px; border: 1px solid #fde68a; border-radius: 12px; color: #78350f; background: #fff8e6; font-size: 13px; }

/* تبويبات لوحة التفاصيل وشريط الإجراء */
.tabs { position: sticky; top: 0; z-index: 2; display: flex; gap: 4px; padding: 8px 18px 0; border-bottom: 1px solid var(--line); background: var(--paper); overflow-x: auto; }
.tabs [role="tab"] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 42px;
    padding: 8px 14px;
    border: 0;
    border-bottom: 3px solid transparent;
    color: var(--muted);
    background: transparent;
    font-weight: 700;
    white-space: nowrap;
}
.tabs [role="tab"] b { min-width: 18px; padding: 0 5px; border-radius: 8px; background: var(--canvas); color: var(--ink); font-size: 11px; }
.tabs [role="tab"]:hover { color: var(--ink); }
.tabs [role="tab"][aria-selected="true"] { color: var(--accent-text); border-bottom-color: var(--purple); }
.tab-panel > .copy-box:first-child { margin-top: 0; }
.tab-panel > .detail-section:first-child { margin-top: 0; }
.tab-panel .side-card { margin-top: 18px; }
.panel-actions {
    position: sticky;
    bottom: 0;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 12px 18px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--line);
    background: var(--paper-glass);
}
.panel-actions > p { margin: 0; color: var(--muted); font-size: 13px; }
.panel-actions .btn--ghost { margin-inline-start: auto; }
.detail-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.modal-head .detail-meta { margin-top: 10px; }
.hidden-period-badge { display: inline-flex; padding: 3px 9px; border-radius: 999px; color: #7a4d00; background: #fff0ce; font-size: 11px; font-weight: 800; }

/* اللوحة الجانبية: تنزلق من الحافة المقابلة للقائمة فلا تغطيها */
.modal--panel {
    position: fixed;
    inset-block: 0;
    inset-inline-end: 0;
    width: min(820px, 100%);
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    margin-inline-start: auto;
    border-radius: 0;
    animation: slide-in .24s ease;
}
@keyframes slide-in { from { transform: translateX(-24px); opacity: 0; } }
.modal--panel .modal-shell { display: flex; flex-direction: column; min-height: 100%; }
.modal--panel .modal-head { flex: 0 0 auto; }
.modal--panel .modal-body { flex: 1 1 auto; min-height: 0; padding: 20px 18px 24px; }
.modal--panel .modal-grid { grid-template-columns: 1fr; }
.modal--drawer {
    position: fixed;
    inset-block: 0;
    inset-inline-end: 0;
    width: min(560px, 100%);
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    margin-inline-start: auto;
    border-radius: 0;
    animation: slide-in .24s ease;
}
.modal--drawer .modal-shell { display: flex; flex-direction: column; min-height: 100%; }
.modal--drawer .modal-body { flex: 1 1 auto; overflow-y: auto; }
.modal--drawer .month-guide { margin: 0; }

/* شرائح المساحات — اللون هو المميّز الوحيد بين المساحات */
:root { --ws-organic: #0f766e; --ws-paid: #854d0e; --ws-event: #387da1; --ws-pr: #8e3a50; --ws-marketing: #2c6f55; --ws-activity: #7a5a1e; }
.ws-chip { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; color: #fff; background: var(--ws-tone, var(--purple-2)); white-space: nowrap; }
.ws-chip b { min-width: 18px; padding: 0 5px; border-radius: 8px; background: rgba(255,255,255,.22); font-size: 11px; text-align: center; }
.ws-chip--organic { --ws-tone: var(--ws-organic); }
.ws-chip--paid { --ws-tone: var(--ws-paid); }
.ws-chip--event { --ws-tone: var(--ws-event); }
/* مجالات الإدارة خارج المساحات الثلاث: العلاقات العامة، والتسويق والقبول، والفعاليات */
.ws-chip--pr { --ws-tone: var(--ws-pr); }
.ws-chip--marketing { --ws-tone: var(--ws-marketing); }
.ws-chip--activity { --ws-tone: var(--ws-activity); }

/* مهامي */
.tasks-intro { margin-bottom: 14px; }
.tasks-intro h2 { font-size: 28px; }
.task-filter { margin-bottom: 16px; }
.task-group { margin-top: 18px; }
.task-group > header { display: flex; align-items: baseline; gap: 12px; margin-bottom: 10px; }
.task-group > header h3 { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 17px; }
.task-group > header h3 b { min-width: 24px; padding: 0 7px; border-radius: 9px; background: var(--paper); color: var(--accent-text); font-size: 12px; text-align: center; border: 1px solid var(--line); }
.task-group > header small { color: var(--muted); }
.task-group--late > header h3 { color: var(--danger-text); }
.task-group--late > header h3 b { color: var(--danger-text); border-color: color-mix(in srgb, var(--danger) 35%, var(--paper)); }
.task-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.task-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 16px 16px 16px 18px; overflow: hidden; border-inline-start: 4px solid var(--tone, var(--purple-2)); }
.task-card__top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px; }
.task-card h3 { margin: 0; font-size: 16px; line-height: 1.55; }
.task-card__meta { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--muted); font-size: 12px; }
.task-card .btn { margin-top: auto; align-self: flex-start; }
.task-card[data-macro="work"] { border-inline-start-style: dotted; border-inline-start-width: 5px; }
.task-card[data-macro="revise"] { border-inline-start-style: double; border-inline-start-width: 6px; }
.task-group--late .task-card { background: linear-gradient(90deg, rgba(179,65,75,.04), transparent 40%), var(--paper); }

/* التقويم الموحّد */
.calendar-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.calendar-legend__hint { margin-inline-start: auto; color: var(--muted); font-size: 12px; }
.calendar-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 320px); align-items: start; gap: 14px; }
.additional-content-rail { position: sticky; top: 92px; max-height: calc(100dvh - 120px); padding: 17px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); box-shadow: var(--shadow); overflow-y: auto; }
.additional-content-rail header { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.additional-content-rail h2 { margin: 3px 0 0; font-size: 18px; }
.additional-content-group { margin-top: 15px; }
.additional-content-group h3 { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 8px; }
.additional-content-group h3 b { display: grid; place-items: center; min-width: 25px; height: 25px; border-radius: 8px; color: var(--accent-text); background: var(--surface-3); font-size: 11px; }
.additional-content-card { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 11px 0; border-top: 1px solid var(--line); }
.additional-content-card:first-of-type { border-top: 0; }
.additional-content-card div { min-width: 0; }
.additional-content-card strong, .additional-content-card small { display: block; }
.additional-content-card strong { display: -webkit-box; overflow: hidden; font-size: 12px; line-height: 1.55; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.additional-content-card small { margin-top: 5px; color: var(--muted); font-size: 10px; }
.additional-content-card > span { flex: 0 0 auto; padding: 4px 7px; border-radius: 999px; color: #176843; background: #eaf8f0; font-size: 9px; font-weight: 800; white-space: nowrap; }
.additional-content-empty { margin: 14px 0 0; color: var(--muted); line-height: 1.7; font-size: 12px; }
.calendar-post--organic { --ws-tone: var(--ws-organic); }
.calendar-post--paid { --ws-tone: var(--ws-paid); }
.calendar-post--event { --ws-tone: var(--ws-event); }
.calendar-post--pr { --ws-tone: var(--ws-pr); }
.calendar-post--marketing { --ws-tone: var(--ws-marketing); }
.calendar-post--activity { --ws-tone: var(--ws-activity); }
.calendar-post--adhoc { --ws-tone: #854d0e; }
div.calendar-post { cursor: default; }
.calendar-post[class*="calendar-post--"] { background: color-mix(in srgb, var(--ws-tone) 10%, var(--paper)); }
.calendar-post[class*="calendar-post--"]::before { background: var(--ws-tone); }

/* صفحة الاستيراد */
.imports-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.import-card { display: flex; flex-direction: column; gap: 10px; padding: 22px; }
.import-card__icon { width: 34px; height: 34px; padding: 7px; border-radius: 11px; color: var(--accent-text); background: var(--surface-3); }
.import-card h3 { margin: 4px 0 0; }
.import-card p { margin: 0; color: var(--muted); line-height: 1.7; }
.import-card .btn { margin-top: auto; align-self: flex-start; }
.import-card .btn:disabled { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }
.import-status { color: var(--warning-text); font-weight: 700; }
.import-status.is-done { color: var(--success-text); }

/* بيانات الحفل داخل نظرة عامة (قابلة للطي) */
.event-completion-card > summary { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; cursor: pointer; list-style: none; }
.event-completion-card > summary::-webkit-details-marker { display: none; }
.event-completion-card > summary strong { font-size: 18px; }
.event-completion-card > summary small { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--muted); font-weight: 700; }
.event-completion-card[open] > summary { margin-bottom: 16px; }

@media (max-width: 1180px) {
    .task-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .imports-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 920px) {
    .calendar-layout { grid-template-columns: 1fr; }
    .additional-content-rail { position: static; max-height: none; }
}
@media (max-width: 760px) {
    .task-grid, .imports-grid { grid-template-columns: 1fr; }
    .content-viewbar > .btn--primary { order: -1; flex: 1 1 100%; }
    .content-viewbar .result-count { margin-inline-start: 0; }
    .filter-panel__body { position: fixed; inset-inline: 14px; top: auto; bottom: calc(86px + env(safe-area-inset-bottom)); width: auto; }
    .tabs { padding-inline: 12px; }
    .panel-actions { flex-direction: column; align-items: stretch; }
    .panel-actions .btn { width: 100%; }
    .panel-actions .btn--ghost { margin-inline-start: 0; }
    .tasks-intro { flex-direction: column; align-items: flex-start; }
    .modal--panel, .modal--drawer { width: 100%; }
}

/* حساب لينكدإن ونوع الفيديو على البطاقة وفي اللوحة */
.target-chip { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 800; color: #0a4b7a; background: #e6f0f7; white-space: nowrap; vertical-align: middle; }
.target-chip--video { color: #5a3d0a; background: #fbefd6; }
.copy-box h3 .target-chip { margin-inline-start: 6px; }
/* قسم كل منصة في المحرّر: نصها ثم موجز تصميمها، فيفهم المصمم ما يُنتج لكل منصة */
.platform-section { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 13px; margin: 0; padding: 12px 14px 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-2); }
.platform-section legend { display: inline-flex; align-items: center; gap: 6px; padding: 0 6px; font-weight: 800; }
.platform-brief { grid-column: 1 / -1; display: grid; grid-template-columns: 110px minmax(0, 1fr) minmax(0, 1fr); gap: 10px; align-items: start; }
.platform-brief__spec { grid-column: 1 / -1; display: flex; align-items: center; gap: 6px; margin: 0; color: var(--muted); font-size: 12px; }
.platform-brief__spec .icon { width: 14px; height: 14px; }
.platform-brief textarea { min-height: 64px; }
.platform-brief-view { display: grid; gap: 6px; margin: 10px 0 0; padding-top: 10px; border-top: 1px dashed var(--line); font-size: 13px; }
.platform-brief-view div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 8px; }
.platform-brief-view dt { color: var(--muted); font-weight: 700; }
.platform-brief-view dd { margin: 0; white-space: pre-wrap; }
/* توصيات الكاتب: قائمة مرقمة، لكل توصية منصتها وما تقوله الأرقام والمطلوب في الخطة */
.writer-recommendations { grid-column: 1 / -1; }
.writer-recs { display: grid; gap: 10px; margin: 0; padding: 0 1.2em 0 0; }
.writer-recs li { padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
.writer-recs__head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 4px; }
.writer-recs p { margin: 4px 0 0; font-size: 13px; line-height: 1.7; }
.writer-recs p b { color: var(--muted); font-weight: 700; }
.writer-recs__example { color: var(--muted); }
.recommendations-review { display: grid; gap: 12px; }
.design-queue-briefs { display: grid; gap: 3px; margin: 8px 0 0; padding: 0; list-style: none; font-size: 12px; color: var(--muted); }
@media (max-width: 760px) {
    .platform-section, .platform-brief { grid-template-columns: 1fr; }
}
.form-field small { color: var(--muted); font-size: 11.5px; line-height: 1.6; font-weight: 400; }
.import-card__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.import-card .import-card__actions .btn { margin-top: 0; }

/* ==========================================================================
   بطاقة القرار — من يعتمد يحتاج النص وزرّين، لا لوحة بخمسة تبويبات.
   الأزرار ثابتة أسفل الشاشة على الجوال، وأهداف اللمس كبيرة عمدًا.
   ========================================================================== */

.modal--decide .modal-shell { display: flex; flex-direction: column; min-height: 100%; }
.decide-head { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: start; gap: 10px; }
.decide-head h2 { margin: 6px 0 0; font-size: 22px; line-height: 1.5; }
.decide-head .eyebrow { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.decide-meta { display: flex; align-items: center; gap: 7px; margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.decide-counter {
    align-self: center;
    padding: 5px 12px;
    border-radius: 999px;
    background: var(--canvas);
    color: var(--accent-text);
    font-size: 13px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.decide-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: grid; gap: 12px; align-content: start; }
.decide-text { padding: 16px 18px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-2); }
.decide-text h3 { margin: 0 0 8px; color: var(--accent-text); font-size: 13px; }
.decide-text p { margin: 0; white-space: pre-wrap; line-height: 1.95; font-size: 15.5px; }
.decide-more { justify-self: start; margin-top: 2px; }

.decide-actions {
    position: sticky;
    bottom: 0;
    z-index: 2;
    flex: 0 0 auto;
    padding: 12px 18px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--line);
    background: var(--paper-glass);
}
.decide-buttons { display: flex; gap: 10px; }
.decide-btn { flex: 1 1 0; min-height: 54px; font-size: 16px; }
.decide-btn--approve { color: #fff; background: var(--success); box-shadow: 0 8px 22px rgba(33, 131, 91, .22); }
.decide-btn--revise { color: #7a4d00; border-color: #e6c88a; background: #fff6e4; }
.decide-btn--halt { color: var(--danger-text); border-color: #e2adb3; background: #fff5f6; }
.decide-note { display: grid; gap: 10px; }
.decide-note label { display: grid; gap: 6px; color: var(--muted); font-size: 13px; font-weight: 700; }
.decide-note textarea { min-height: 96px; font-size: 16px; }
.decide-note__actions { display: flex; gap: 10px; }
.decide-note__actions .btn { flex: 1 1 0; min-height: 50px; }

/* ما فات موعده: يخرج من شاشات العمل ويُعلن خروجه بسطر واحد */
.slot-notice {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0 0 12px;
    padding: 10px 14px;
    border: 1px solid var(--line);
    border-inline-start: 4px solid var(--muted);
    border-radius: 12px;
    background: var(--canvas);
    color: var(--muted);
    font-size: 13px;
}
.macro-filter--decision { border-color: color-mix(in srgb, var(--lime) 65%, var(--paper)); background: color-mix(in srgb, var(--lime) 16%, var(--paper)); color: #713f12; }
.macro-filter--decision.is-active { border-color: var(--purple); background: var(--purple); color: #fff; }
.macro-filter--decision.is-active b { background: rgba(255, 255, 255, .22); color: #fff; }
.tasks-intro .btn--primary { min-height: 48px; }

@media (max-width: 760px) {
    .modal--decide { width: 100%; }
    .decide-head { grid-template-columns: minmax(0, 1fr) auto; padding-bottom: 12px; }
    .decide-head h2 { font-size: 20px; }
    .decide-counter { grid-column: 1; grid-row: 2; justify-self: start; }
    .decide-body { padding: 14px; gap: 10px; }
    .decide-text { padding: 14px; }
    .decide-text p { font-size: 16px; }
    .decide-actions { padding-inline: 14px; }
    .decide-buttons { flex-direction: column; }
    .decide-btn { width: 100%; min-height: 56px; }
}

/* اليوم الذي مضى: خامل لا فارغ، فيُقرأ أنه خرج من التخطيط لا أنه بلا مادة */
.calendar-day.is-past { background: repeating-linear-gradient(135deg, var(--surface-2) 0 6px, var(--surface-2) 6px 12px); }
.calendar-day.is-past > time { color: #94a3b8; }

/* الخطة تغيّرت في الملف والمنشورات لم تعرف بعد: تنبيه لا يُنسى بضغطة واحدة */
.slot-notice--drift { border-inline-start-color: var(--lime); background: color-mix(in srgb, var(--lime) 12%, var(--paper)); color: #713f12; }
.slot-notice--drift .btn { margin-inline-start: auto; }

/* رسالة التأكيد قد تعدّد المنشورات سطرًا سطرًا، فتُحترم فواصل الأسطر */
.action-dialog__message { white-space: pre-line; }

/* التقرير الشهري الموحّد وسجل الإنتاج: التجاوب والتصدير */
@media (max-width: 1100px) {
    .team-effort__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .report-breakdowns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .report-grid, .report-breakdowns, .creative-layout { grid-template-columns: minmax(0, 1fr); }
    .report-kpis, .team-effort__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kpi-card { min-height: 0; padding: 16px; }
    .kpi-card strong { font-size: 24px; }
    .report-actions__buttons { justify-content: stretch; width: 100%; }
    .report-actions__buttons > * { flex: 1 1 auto; }
    .report-export__menu { inset-inline-end: auto; inset-inline-start: 0; }
    .creative-form { position: static; }
    .creative-row { grid-template-columns: 36px minmax(0, 1fr); }
    .creative-row__actions { grid-column: 1 / -1; justify-content: flex-start; }
}
.is-exporting-pdf .report-kpis, .is-exporting-pdf .metrics-grid { grid-template-columns: repeat(4, 1fr) !important; }
.is-exporting-pdf .team-effort__grid { grid-template-columns: repeat(4, 1fr) !important; }
.is-exporting-pdf .report-grid, .is-exporting-pdf .report-breakdowns, .is-exporting-pdf .delivery-cards { grid-template-columns: 1fr !important; }

/* ==========================================================================
   التقرير التنفيذي: شرائح A4 عرضية على نسق «تقرير شهر 8».
   الأحجام بوحدات الحاوية (cqw) فتبقى الشريحة صفحة متناسبة على أي عرض،
   وتُثبَّت عند التصدير على 1122×793 بكسل = صفحة A4 عرضية كما يحسبها html2pdf.
   ========================================================================== */
.deck {
    --deck-purple: #115e59;
    --deck-purple-dark: #042f2e;
    --deck-green: #ca8a04;
    --deck-green-dark: #92400e;
    --deck-green-soft: #fef9c3;
    --deck-soft: #e6f7f4;
    --deck-gold: #ca8a04;
    --deck-ink: #0f172a;
    --deck-muted: #64748b;
    --deck-line: #d5efeb;
    display: grid;
}
.deck-slides { display: grid; gap: 18px; }
.deck-slide {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    aspect-ratio: 297 / 210;
    overflow: hidden;
    padding: 4.6cqw 5.4cqw 6.4cqw;
    border: 1px solid var(--line);
    border-radius: 14px;
    color: var(--deck-ink);
    background: var(--paper);
    box-shadow: 0 10px 30px rgba(20, 184, 166,.08);
    container-type: inline-size;
    font-size: 1.42cqw;
    line-height: 1.6;
}
.deck-head h2 { margin: 0; color: var(--deck-purple); font-size: 3.3cqw; font-weight: 900; line-height: 1.25; }
.deck-head p { margin: .7cqw 0 0; color: var(--deck-muted); font-size: 1.5cqw; }
.deck-body { display: flex; flex: 1; flex-direction: column; gap: 2cqw; min-height: 0; margin-top: 2.4cqw; }
.deck-body h4 { margin: 0 0 1cqw; color: var(--deck-ink); font-size: 1.5cqw; }
.deck-footer { position: absolute; inset-inline: 5.4cqw; bottom: 2.1cqw; display: grid; grid-template-columns: 4cqw 1fr 4cqw; align-items: center; color: #94a3b8; font-size: 1.05cqw; }
.deck-footer span:last-child { text-align: center; }
.deck-muted { color: var(--deck-muted); }
.deck-na { color: #94a3b8; }

/* الغلاف والختام */
.deck-slide--cover, .deck-slide--closing { color: #fff; background: var(--deck-purple); border-color: var(--deck-purple); }
.deck-orb { position: absolute; border-radius: 50%; pointer-events: none; }
/* زخارف بمواضع فيزيائية ثابتة كما في النموذج، لا تنقلب مع اتجاه الكتابة */
.deck-orb--dark { top: -14cqw; left: -6cqw; width: 34cqw; height: 34cqw; background: var(--deck-purple-dark); }
.deck-slide--cover .deck-orb--dark { left: auto; right: -6cqw; }
.deck-orb--green { bottom: -10cqw; left: -8cqw; width: 26cqw; height: 26cqw; background: var(--deck-green); }
.deck-cover { position: relative; z-index: 1; display: grid; align-content: center; gap: 1.6cqw; height: 100%; padding-inline-end: 16cqw; }
.deck-cover h1 { margin: 0; font-size: 4.6cqw; font-weight: 900; line-height: 1.25; }
.deck-cover__sub { margin: 0; font-size: 2.6cqw; }
.deck-cover__meta { margin: 1.4cqw 0 0; color: rgba(255,255,255,.78); font-size: 1.4cqw; }
.deck-cover__org { margin: 0; color: rgba(255,255,255,.62); font-size: 1.25cqw; }
.deck-closing { position: relative; z-index: 1; display: grid; align-content: start; gap: 1.8cqw; }
.deck-closing h2 { margin: 0; font-size: 3.4cqw; font-weight: 900; }
.deck-closing__sub { margin: -.8cqw 0 .6cqw; color: rgba(255,255,255,.78); font-size: 1.5cqw; }
.deck-closing article { display: grid; grid-template-columns: 4.4cqw minmax(0, 1fr); gap: 1.6cqw; align-items: start; }
.deck-closing article > span { display: grid; place-items: center; width: 4.4cqw; height: 4.4cqw; border-radius: 50%; color: #fff; background: var(--deck-green); font-weight: 900; font-size: 1.6cqw; }
.deck-closing h3 { margin: 0; font-size: 2cqw; }
.deck-closing p { margin: .4cqw 0 0; color: rgba(255,255,255,.8); }
.deck-closing__sources { margin-top: 2cqw; color: rgba(255,255,255,.6); font-size: 1.1cqw; }
.deck-slide--closing .deck-footer { color: rgba(255,255,255,.55); }

/* البطاقات والنقاط */
.deck-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.6cqw; }
.deck-cards--compact .deck-card { padding: 1.6cqw 2cqw; }
.deck-card { display: grid; align-content: start; gap: .5cqw; padding: 2.2cqw; border-radius: 1.2cqw; background: var(--deck-soft); }
.deck-card strong { color: var(--deck-purple); font-size: 3.4cqw; font-weight: 900; line-height: 1.15; }
.deck-card h3 { margin: 0; font-size: 1.6cqw; }
.deck-card p, .deck-card small { margin: 0; color: var(--deck-muted); font-size: 1.15cqw; line-height: 1.55; }
.deck-card.is-accent { background: var(--deck-green-soft); }
.deck-card.is-accent strong { color: var(--deck-green-dark); }
/* علامة مرسومة لا علامة قائمة: html2canvas يضع علامات القوائم يسارًا في النص العربي */
.deck-points { display: grid; gap: 1cqw; margin: 0; padding: 0; list-style: none; font-size: 1.5cqw; }
.deck-points li { position: relative; padding-inline-start: 2cqw; }
.deck-points li::before { content: ""; position: absolute; inset-inline-start: .3cqw; top: .75cqw; width: .7cqw; height: .7cqw; border-radius: 50%; background: var(--deck-purple); }

/* جداول المؤشرات — نسق «تقرير مؤشرات الأداء» */
/* الجداول العامة لا تلتف (table { white-space: nowrap })؛ في الشريحة ذات العرض الثابت
   يدفع ذلك العنوان الطويل الجدول خارج البطاقة فيُقصّ عمود كامل. هنا يلتف النص وتثبت الأرقام. */
.deck-kpi, .deck-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 1.3cqw; white-space: normal; }
.deck-table .deck-nowrap { white-space: nowrap; }
.deck-clamp { display: block; max-height: 3.2em; overflow: hidden; line-height: 1.6; }
.deck-kpi thead th, .deck-table thead th { padding: 1.1cqw 1.3cqw; color: #fff; background: var(--deck-purple); font-size: 1.2cqw; font-weight: 800; text-align: right; }
.deck-kpi thead th:first-child, .deck-table thead th:first-child { border-start-start-radius: .8cqw; }
.deck-kpi thead th:last-child, .deck-table thead th:last-child { border-start-end-radius: .8cqw; }
.deck-kpi td, .deck-kpi tbody th, .deck-table td, .deck-table tbody th { padding: 1cqw 1.3cqw; border-bottom: 1px solid var(--deck-line); font-size: 1.3cqw; text-align: right; }
.deck-kpi tbody th, .deck-table tbody th { font-weight: 800; }
.deck-kpi tbody tr:nth-child(even), .deck-table tbody tr:nth-child(even) { background: var(--surface-2); }
.deck-kpi__achieved { color: var(--deck-purple); font-weight: 900; }
.deck-kpi tfoot th, .deck-kpi tfoot td { padding: 1.1cqw 1.3cqw; border-top: 2px solid var(--deck-purple); background: var(--deck-soft); font-size: 1.35cqw; font-weight: 900; text-align: right; }
.deck-split--overall { grid-template-columns: 26% minmax(0, 1fr); }
.deck-split--overall .deck-hero small { display: block; margin-top: .4cqw; }
.deck-split--overall .deck-hero strong { font-size: 5.2cqw; }
.deck-overshoot { margin: 0; padding: 0; list-style: none; display: grid; gap: .3cqw; font-size: 1.1cqw; font-weight: 700; }
.deck-gap { margin-top: 1.6cqw !important; }
.deck-coverage { display: inline-block; padding: .25cqw .8cqw; border-radius: 99px; color: var(--deck-green-dark); background: var(--deck-green-soft); font-size: 1.1cqw; font-weight: 800; white-space: nowrap; }
.deck-kpi__done { display: inline-block; min-width: 6cqw; padding: .3cqw .8cqw; border-radius: 99px; color: var(--deck-muted); background: var(--surface-3); font-weight: 800; text-align: center; }
.deck-kpi__done.is-met { color: #fff; background: var(--deck-green); }
.deck-kpi__done.is-near { color: #6b4b00; background: #f6e7bd; }
.deck-kpi__done.is-low { color: #fff; background: #b3414b; }
/* العجز أحمر والمكتمل أخضر في جداول الخطة مقابل المنفّذ؛ المستهدف التقديري بخط مائل */
.deck-diff { display: inline-block; padding: .2cqw .7cqw; border-radius: .5cqw; font-size: 1.15cqw; font-weight: 800; white-space: nowrap; }
.deck-diff--deficit { color: #8f2630; background: #f7e1e3; }
.deck-diff--met { color: var(--deck-green-dark); background: var(--deck-green-soft); }
.deck-estimate { font-style: italic; color: var(--deck-muted); }
.deck-footnote { margin: .8cqw 0 0; color: var(--deck-muted); font-size: 1.05cqw; }
/* جداول الخطة مقابل المنفّذ كثيرة الأعمدة: العناوين تلتف، واسم المنصة أو الأسبوع لا يُسحق */
.deck-kpi.deck-kpi--gap thead th { white-space: normal; }
.deck-kpi--gap tbody th { min-width: 9cqw; white-space: nowrap; }
.deck-slide--pace .deck-kpi--gap tbody th { white-space: normal; }
/* إيقاع التنفيذ: جدولان مختصران جنبًا إلى جنب لا يتداخلان، واسم المحور لا ينكسر داخل الكلمة */
.deck-slide--pace .deck-two > div { min-width: 0; }
.deck-kpi--compact { table-layout: fixed; }
.deck-kpi--compact th:first-child { width: 34%; }
.deck-kpi--compact tbody th { min-width: 0; word-break: normal; overflow-wrap: normal; }
.deck-kpi--compact td, .deck-kpi--compact tbody th { padding-block: .7cqw; }
.deck-kpi--compact small { display: block; margin-top: .2cqw; color: var(--deck-muted); font-size: .95cqw; font-weight: 700; }
.deck-kpi--compact .deck-kpi__done { min-width: 5cqw; }
/* المستهدف والمحقق: الجدول وسطر أساس التقدير عمود واحد بجانب الملخص، فلا يعلو السطر على الملخص */
.deck-kpi-col { display: flex; flex-direction: column; gap: .8cqw; min-width: 0; }
.deck-slide--overall .deck-kpi td, .deck-slide--overall .deck-kpi tbody th { padding-block: .85cqw; }
.deck-slide--overall .deck-footnote { margin: 0; }
.deck-slide--plan .deck-split--overall { grid-template-columns: 22% minmax(0, 1fr); }
.deck-slide--plan .deck-hero strong { font-size: 4.2cqw; white-space: nowrap; }
.deck-kpi--gap td small { display: block; margin-top: .2cqw; font-weight: 700; }
.deck-kpi--gap small { color: var(--deck-muted); font-size: 1cqw; }
/* عناوين الأعمدة الرقمية لا تنكسر داخل الكلمة */
.deck-kpi thead th:not(:first-child) { white-space: nowrap; padding-inline: .9cqw; }
.deck-kpi td { padding-inline: .9cqw; }
.deck-slide--pace .deck-two { align-items: start; }
.deck-slide--pace h4 { margin: 0 0 .8cqw; color: var(--deck-purple); font-size: 1.5cqw; }

/* الرسوم */
.deck-split { display: grid; grid-template-columns: 30% minmax(0, 1fr); gap: 2.4cqw; flex: 1; min-height: 0; }
.deck-split--wide { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
.deck-side { display: grid; align-content: start; gap: 1.4cqw; }
.deck-note { padding: 1.6cqw 1.8cqw; border-radius: 1.1cqw; background: var(--deck-soft); }
.deck-note h3 { margin: 0; color: var(--deck-purple); font-size: 2.2cqw; font-weight: 900; }
.deck-note p { margin: .4cqw 0 0; color: var(--deck-muted); font-size: 1.2cqw; }
.deck-note.is-accent { background: var(--deck-green-soft); }
.deck-note.is-accent h3 { color: var(--deck-green-dark); }
.deck-chart-wrap { display: grid; align-content: start; gap: 1cqw; min-width: 0; }
.deck-chart { width: 100%; height: auto; overflow: visible; }
.deck-grid { stroke: #d5efeb; stroke-width: 1; }
.deck-axis { fill: #64748b; font-size: 10px; font-family: inherit; }
.deck-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.6cqw; font-size: 1.15cqw; }
.deck-legend span { display: inline-flex; align-items: center; gap: .5cqw; }
.deck-legend i { display: inline-block; width: 1cqw; height: 1cqw; border-radius: .2cqw; }
.deck .deck-bar--x, .deck .deck-fill--x { fill: #115e59; background: #115e59; }
.deck .deck-bar--linkedin, .deck .deck-fill--linkedin { fill: #14b8a6; background: #14b8a6; }
.deck .deck-bar--tiktok, .deck .deck-fill--tiktok { fill: #ca8a04; background: #ca8a04; }
.deck .deck-bar--snapchat, .deck .deck-fill--snapchat { fill: #ca8a04; background: #ca8a04; }
.deck .deck-bar--google, .deck .deck-fill--google { fill: #387da1; background: #387da1; }
.deck .deck-bar--youtube, .deck .deck-fill--youtube { fill: #b3414b; background: #b3414b; }
.deck .deck-fill--purple { background: var(--deck-purple); }
.deck .deck-fill--green { background: var(--deck-green); }
.deck-bars { display: grid; gap: 1.3cqw; }
.deck-bars__row { display: grid; grid-template-columns: 30% minmax(0, 1fr) 7cqw; align-items: center; gap: 1cqw; font-size: 1.25cqw; }
.deck-bars__row i { display: block; height: 2.2cqw; border-inline-start: 1px solid var(--line-strong); }
.deck-bars__row b { display: block; height: 100%; border-start-end-radius: .3cqw; border-end-end-radius: .3cqw; background: var(--deck-purple); }
.deck-bars__row strong { font-size: 1.3cqw; }
.deck-platforms { display: grid; grid-template-columns: repeat(auto-fit, minmax(24cqw, 1fr)); gap: 1.2cqw; align-content: start; }
.deck-platforms--dense { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.deck-platform { display: grid; align-content: start; gap: .1cqw; padding: 1.2cqw 1.6cqw; border-radius: 1.1cqw; background: var(--deck-soft); }
.deck-platform h3 { margin: 0 0 .4cqw; color: var(--deck-purple); font-size: 1.9cqw; }
.deck-platform--tiktok { background: var(--deck-green-soft); }
.deck-platform--tiktok h3 { color: var(--deck-green-dark); }
.deck-platform p { display: flex; justify-content: space-between; align-items: baseline; gap: 1cqw; margin: 0; padding: .35cqw 0; white-space: nowrap; border-bottom: 1px solid rgba(17, 94, 89,.08); }
.deck-platform strong { font-size: 1.7cqw; }
.deck-platform span { color: var(--deck-muted); font-size: 1.1cqw; }
.deck-competitor-notes { align-items: start; gap: 1.5cqw; }
.deck-competitor-notes .deck-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7cqw; }
.deck-competitor-notes .deck-list li { padding: .65cqw 1cqw; }
.deck-competitor-warning { margin: .8cqw 0 0; padding: .7cqw 1cqw; border-radius: .7cqw; color: #8f2630; background: #f7e1e3; font-size: 1.05cqw; font-weight: 800; }
.deck-slide--competitor-table .deck-table { table-layout: fixed; }
.deck-slide--competitor-table .deck-table td, .deck-slide--competitor-table .deck-table tbody th { padding-block: .75cqw; }
.deck-slide--competitor-table .deck-table th:first-child { width: 22%; }
.deck-slide--competitor-table .deck-table small { display: block; color: var(--deck-muted); font-size: .9cqw; }
.deck-slide--competitor-table .deck-table .is-ours { background: var(--deck-green-soft); }
.deck-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.4cqw; }
.deck-hero { display: grid; align-content: center; gap: .6cqw; padding: 2.6cqw; border-radius: 1.4cqw; color: #fff; background: var(--deck-purple); }
.deck-hero strong { font-size: 7cqw; font-weight: 900; line-height: 1; }
.deck-hero h3 { margin: 0; font-size: 2cqw; }
.deck-hero p { margin: 0; font-size: 1.4cqw; font-weight: 800; }
.deck-hero small { color: rgba(255,255,255,.75); font-size: 1.1cqw; }
.deck-list { display: grid; gap: .9cqw; margin: 0; padding: 0; list-style: none; }
.deck-list li { display: grid; gap: .2cqw; padding: .9cqw 1.3cqw; border-radius: .8cqw; background: var(--deck-soft); }
.deck-list strong { font-size: 1.35cqw; }
.deck-list span { color: var(--deck-muted); font-size: 1.1cqw; }
.deck-team { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.4cqw; }
.deck-numbered { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4cqw; }
.deck-numbered__item { display: grid; grid-template-columns: 4cqw minmax(0, 1fr); gap: 1.4cqw; align-items: start; padding: 1.8cqw; border-radius: 1.1cqw; background: var(--deck-soft); }
.deck-numbered__item.is-accent { background: var(--deck-green-soft); }
.deck-numbered__no { display: grid; place-items: center; width: 4cqw; height: 4cqw; border-radius: 50%; color: #fff; background: var(--deck-purple); font-size: 1.5cqw; font-weight: 900; }
.deck-numbered__item.is-accent .deck-numbered__no { background: var(--deck-green); }
.deck-numbered__item h3 { margin: 0; font-size: 1.6cqw; }
.deck-numbered__item p { margin: .4cqw 0 0; color: var(--deck-muted); font-size: 1.2cqw; }
.deck-indicator { grid-column: 1 / -1; justify-self: start; padding: .5cqw 1.2cqw; border-radius: .8cqw; color: var(--deck-green-dark); background: var(--paper); font-size: 1.15cqw; font-style: normal; font-weight: 800; }

/* لوحة الحالة ونافذة المستهدفات */
.executive-status { margin-bottom: 15px; padding: 12px 16px; }
.executive-status__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.executive-status__list li { padding: 5px 12px; border-radius: 99px; color: var(--muted); background: var(--surface-3); font-size: 12px; }
.modal--wide { width: min(980px, calc(100% - 28px)); }
.executive-inputs { display: grid; gap: 22px; }
.executive-inputs h3 { margin: 0 0 4px; color: var(--accent-text); }
.field-hint { margin: 0 0 12px; color: var(--muted); font-size: 12px; }
.executive-targets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.executive-targets fieldset { display: grid; gap: 8px; margin: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; }
.executive-targets legend { padding-inline: 6px; color: var(--accent-text); font-weight: 800; }
.executive-target { display: grid; grid-template-columns: minmax(0, 1fr) 120px; align-items: center; gap: 10px; font-size: 13px; }
.executive-target small { display: block; color: var(--muted); font-size: 11px; }
.executive-texts { display: grid; gap: 12px; }
.executive-texts small { color: var(--muted); font-weight: 400; }
.executive-texts textarea { font-family: inherit; }

/* التصدير: شريحة لكل صفحة A4 عرضية */
.is-exporting-deck { width: 1122px !important; max-width: none !important; }
.is-exporting-deck .deck-slides { gap: 0 !important; }
.is-exporting-deck .deck-slide { width: 1122px !important; height: 793px !important; aspect-ratio: auto !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }

@media (max-width: 760px) {
    .executive-targets { grid-template-columns: 1fr; }
    .deck-slides { gap: 12px; }
    .deck-slide { border-radius: 10px; }
}

/* قراءة الشريحة ولوحة المساعد في نافذة التحرير */
.deck-reading { margin: auto 0 0; padding: 1cqw 1.4cqw; border-inline-start: .35cqw solid var(--deck-green); border-radius: .6cqw; color: var(--deck-ink); background: #fefce8; font-size: 1.25cqw; line-height: 1.6; }
.deck-reading b { color: var(--deck-green-dark); }
.executive-ai { display: grid; gap: 10px; padding: 16px; border: 1px solid #fde68a; border-radius: 14px; background: var(--tint-lime); }
.executive-ai .btn { justify-self: start; }
.executive-ai__status { min-height: 1em; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.executive-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.executive-notes textarea { font-family: inherit; }
@media (max-width: 760px) {
    .executive-notes { grid-template-columns: 1fr; }
}
.executive-ai__parts { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.executive-ai__parts li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; padding: 7px 10px; border-radius: 9px; background: var(--paper); font-size: 13px; }
.executive-ai__parts em { color: var(--muted); font-style: normal; font-weight: 800; }
.executive-ai__parts small { grid-column: 1 / -1; color: var(--danger-text); font-size: 12px; }
.executive-ai__parts .is-running em { color: var(--warning-text); }
.executive-ai__parts .is-done em { color: var(--success-text); }
.executive-ai__parts .is-failed em { color: var(--danger-text); }
.executive-ai__status p { margin: 10px 0 0; }

/* الجمهور: قصص سناب شات، والمتابعون، وقاعدة معرفة الأسئلة */
.audience-layout { display: grid; grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); gap: 16px; align-items: start; }
.audience-layout:has(.audience-form[hidden]) { grid-template-columns: minmax(0, 1fr); }
.audience-form { display: grid; gap: 12px; position: sticky; top: 90px; }
.audience-panel .field-hint { margin-top: -6px; }
.audience-list { display: grid; margin-top: 14px; }
.audience-row { display: grid; gap: 8px; padding: 14px 0; border-top: 1px solid var(--line); }
.audience-row:first-child { border-top: 0; }
.audience-row.is-pending { border-inline-start: 3px solid #e8c267; padding-inline-start: 12px; }
.audience-row__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.audience-row__head h4 { margin: 0; flex: 1 1 auto; }
.audience-row__head small { color: var(--muted); }
.audience-meta { margin: 0; color: var(--muted); font-size: 12px; }
.audience-answer { margin: 0; padding: 10px 12px; border-radius: 10px; background: var(--tint-lime); font-size: 13px; line-height: 1.7; }
.question-answer-form__question { margin: 0 0 1rem; padding: .9rem 1rem; border-inline-start: 4px solid var(--accent); background: var(--tint-purple); border-radius: .6rem; line-height: 1.8; }
.question-contributions { display: grid; gap: .75rem; margin-block: 1rem; }
.question-contribution { border: 1px solid var(--line); border-radius: .75rem; padding: .9rem; background: var(--paper); }
.question-contribution.is-empty { background: var(--surface); }
.question-contribution__head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.question-contribution .btn { margin-top: .65rem; }
.question-answer-history { margin-top: .65rem; border-top: 1px solid var(--line); padding-top: .55rem; }
.question-answer-history summary { cursor: pointer; color: var(--accent); font-weight: 700; }
.question-answer-history__item { display: grid; gap: .2rem; padding: .65rem 0; border-bottom: 1px solid var(--line); }
.question-answer-history__item span { color: var(--muted); font-size: .84rem; }
.question-answer-history__item p { margin: .2rem 0 0; white-space: pre-wrap; }
.member-question-scope { grid-column: 2 / -1; display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin: .45rem 0 0; padding: .65rem .8rem; border: 1px solid var(--line); border-radius: .65rem; }
.member-question-scope[hidden] { display: none; }
.member-question-scope legend { padding-inline: .35rem; color: var(--muted); font-size: .82rem; }
.member-question-scope label { font-size: .82rem; }
.audience-subhead { margin: 22px 0 4px; color: var(--accent-text); }
.story-form { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)) auto; gap: 8px; align-items: end; }
.story-form label { display: grid; gap: 4px; color: var(--muted); font-size: 11px; }
.story-form input, .story-form select { min-height: 36px; padding: 6px 8px; }
.story-form__reason { grid-column: 1 / -2; }
.checklist-inline { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 13px; }
.audience-report { border-top: 5px solid #ca8a04; background: var(--tint-amber); }
.sync-panel textarea { min-height: 150px; font-family: ui-monospace, Consolas, monospace; font-size: 12px; }
.sync-result { min-height: 1em; margin: 6px 0; color: var(--accent-text); font-weight: 700; }
[data-sync-posts] select { min-width: 180px; max-width: 280px; }
.sync-health-panel { border-top: 5px solid #3f7d63; }
.sync-account-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin: 18px 0; }
.sync-account { padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-soft); }
.sync-account.is-success { border-color: #89b69f; background: var(--tint-green); }
.sync-account.is-warning { border-color: #c8a15a; background: var(--tint-amber); }
.sync-account.is-error { border-color: #c77d7d; background: var(--tint-red); }
.sync-account > div:first-child { display: flex; flex-direction: column; gap: 2px; margin-bottom: 10px; }
.sync-account small { color: var(--muted); }
.sync-account-note { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.sync-account dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 12px 0 0; }
.sync-account dl div { min-width: 0; }
.sync-account dt { color: var(--muted); font-size: 10px; }
.sync-account dd { margin: 3px 0 0; font-weight: 700; }
.sync-runs h3 { margin: 16px 0 8px; font-size: 15px; color: var(--accent-text); }
.sync-run-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sync-run-list li { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; background: var(--surface-soft); }
.sync-run-list small { color: var(--muted); }
[data-sync-emergency] > summary { cursor: pointer; color: var(--accent-text); font-weight: 700; }
[data-sync-emergency][open] > summary { margin-bottom: 14px; }
.audience-report .report-grid h3 { margin: 12px 0 8px; color: var(--accent-text); font-size: 15px; }
@media (max-width: 1100px) {
    .story-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .story-form__reason { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
    .audience-layout { grid-template-columns: minmax(0, 1fr); }
    .audience-form { position: static; }
    .story-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* أداء المنصات: بطاقة لكل قناة — التزام الخطة، الأداء، المتابعون، الصيغ، الأبرز. */
.platform-perf-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 16px; margin-top: 18px; }
.platform-perf-card { display: flex; flex-direction: column; gap: 14px; padding: 18px; }
.pp-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.pp-head__trends { display: flex; gap: 6px; flex-wrap: wrap; }
.pp-trend { font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 999px; background: var(--surface-soft); }
.pp-trend--up { color: #2e7d54; background: #eaf7f0; }
.pp-trend--down { color: #b3462e; background: #fdf0ec; }
.pp-trend--flat, .pp-trend--new { color: var(--muted); }
.pp-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pp-stats strong { display: block; font-size: 20px; color: var(--accent-text); }
.pp-stats span { font-size: 11px; color: var(--muted); }
.pp-target { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px 10px; font-size: 12px; }
.pp-target__bar { grid-column: 1 / -1; height: 8px; border-radius: 999px; background: var(--surface-soft); overflow: hidden; }
.pp-target__bar i { display: block; height: 100%; border-radius: inherit; background: var(--green, #854d0e); }
.pp-follow { display: grid; gap: 6px; }
.pp-follow-row { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 10px; background: var(--surface-soft); font-size: 12px; }
.pp-follow-row small { color: var(--muted); }
.pp-series svg { width: 100%; height: 48px; }
.pp-series polyline { fill: none; stroke: var(--purple); stroke-width: 2; }
.pp-series small { color: var(--muted); font-size: 11px; }
.pp-formats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pp-formats li { display: grid; gap: 2px; padding: 8px 12px; border-radius: 10px; background: var(--surface-soft); font-size: 11px; }
.pp-formats b { font-size: 15px; color: var(--accent-text); }
.pp-columns { display: grid; gap: 12px; }
.pp-columns h4 { margin: 0 0 8px; color: var(--accent-text); font-size: 14px; }
.pp-top { margin: 0; padding-inline-start: 18px; display: grid; gap: 8px; font-size: 12px; }
.pp-top small { display: block; color: var(--muted); }
.pp-top a { color: inherit; }
.pp-days { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.pp-days .eyebrow { width: 100%; }
@media (max-width: 760px) {
    .platform-perf-grid { grid-template-columns: minmax(0, 1fr); }
    .pp-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* العلاقات العامة: شارات الانطباع وعناوين الأقسام وأزرار الصفوف. */
.pr-subhead { margin: 22px 0 10px; color: var(--accent-text); font-size: 15px; }
.pr-subhead small { color: var(--muted); font-weight: 400; font-size: 11px; }
.pr-row-actions { display: inline-flex; gap: 4px; }
.pr-sentiment--positive { background: #eaf7f0; color: #2e7d54; }
.pr-sentiment--negative { background: #fdf0ec; color: #b3462e; }
.pr-sentiment--neutral { background: var(--surface-soft); color: var(--muted); }

/* المهام الحرة وأجندة اليوم والخلاصة الأسبوعية. */
.tasks-intro__actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.adhoc-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.ws-chip--adhoc { background: #fef3c7; color: #854d0e; }
.task-card--adhoc { border-inline-start: 4px solid var(--green, #854d0e); }
.task-agenda { padding: 14px 18px; margin-bottom: 14px; }
.task-agenda header { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.task-agenda h3 { margin: 0; display: inline-flex; align-items: center; gap: 6px; color: var(--accent-text); font-size: 15px; }
.task-agenda span { font-size: 12px; color: var(--muted); }
.task-agenda .agenda-late { color: #b3462e; }
.task-agenda ul { margin: 10px 0 0; padding-inline-start: 18px; font-size: 12px; display: grid; gap: 4px; }
.weekly-digest { margin-top: 18px; }
.weekly-digest > summary { cursor: pointer; color: var(--accent-text); font-weight: 700; }
.weekly-digest[open] > summary { margin-bottom: 12px; }

/* المقارنة الفعلية: فترة مقابل فترة. الرقم الأعلى للحالية، وتحته رقم المقارنة، والفرق ملوّن باتجاهه. */
.comparison-form { display: grid; gap: 12px; padding: 18px; margin-top: 16px; }
.comparison-form__row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.comparison-form__row label { display: grid; gap: 4px; font-size: 12px; color: var(--muted); font-weight: 700; }
.comparison-form__row select, .comparison-form__row input { min-width: 150px; }
.cmp-periods { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin-top: 16px; }
.cmp-period { display: grid; gap: 4px; padding: 16px; }
.cmp-period strong { font-size: 16px; color: var(--accent-text); }
.cmp-period small { color: var(--muted); font-size: 11px; }
.cmp-era { justify-self: start; margin-top: 4px; padding: 3px 10px; border-radius: 999px; background: var(--surface-soft); font-size: 11px; font-weight: 700; }
.cmp-notes { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.cmp-note { padding: 10px 14px; border-radius: 10px; font-size: 12px; background: var(--surface-soft); border-inline-start: 4px solid var(--muted); }
.cmp-note--warning { background: #fdf6ec; border-inline-start-color: #c9892c; color: #7a5510; }
.cmp-note--info { background: #eef3f7; border-inline-start-color: #4a7ea3; color: #2d4d63; }
.cmp-cards { margin-top: 16px; }
.cmp-card { display: grid; gap: 4px; padding: 16px; }
.cmp-card > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--muted); font-weight: 700; }
.cmp-card strong { font-size: 24px; color: var(--accent-text); }
.cmp-card__delta { font-size: 12px; font-weight: 700; }
.cmp-card__hint { font-size: 11px; color: var(--muted); font-weight: 400; }
.cmp-table td, .cmp-table th { vertical-align: top; }
.cmp-table td.pp-trend--up { color: #2e7d54; }
.cmp-table td.pp-trend--down { color: #b3462e; }
.cmp-table td.pp-trend--flat, .cmp-table td.pp-trend--new { color: var(--muted); }

/* تبويبات الشاشات المتقاربة: مجموعة واحدة في القائمة، وتنقّل أفقي أعلى الصفحة. */
.view-tabs { display: flex; gap: 6px; margin: 0 0 18px; padding: 4px; overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); scrollbar-width: none; }
.view-tabs::-webkit-scrollbar { display: none; }
.view-tab { flex: 0 0 auto; min-height: 40px; padding: 0 16px; border: 0; border-radius: 10px; color: var(--muted); background: transparent; font: inherit; font-weight: 600; cursor: pointer; white-space: nowrap; }
.view-tab:hover { color: var(--accent-text); background: var(--surface-2); }
.view-tab.is-active { color: #fff; background: var(--purple); }
.view-tab:focus-visible { outline: 3px solid var(--lime, #facc15); outline-offset: 2px; }

/* تنبيهات الأداء في «مهامي»: قراءة لا إنذار — الشدة شريط جانبي لا لون صارخ. */
.alerts-panel { display: grid; gap: 10px; margin: 0 0 20px; }
.alerts-panel header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; }
.alerts-panel h3 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 1rem; }
.alerts-panel h3 b { min-width: 26px; padding: 1px 8px; border-radius: 999px; color: #fff; background: var(--purple); font-size: .8rem; text-align: center; }
.alerts-panel header small { color: var(--muted); }
.alert-card { display: flex; gap: 12px; padding: 14px 16px; border: 1px solid var(--line); border-inline-start: 4px solid var(--warning); border-radius: 14px; background: var(--paper); }
.alert-card--high { border-inline-start-color: var(--danger); }
.alert-card--low { border-inline-start-color: var(--blue); }
.alert-card strong { display: block; color: var(--ink); }
.alert-card p { margin: 4px 0; color: var(--ink); }
.alert-card small { color: var(--muted); }
.alert-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; }

/* بطاقة الصحة الرقمية: ست إجابات للمالك في سطرين، كل خانة تقود إلى تفصيلها. */
.health-card { margin: 0 0 18px; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.health-card header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; margin-bottom: 12px; }
.health-card h3 { margin: 0; font-size: 1rem; }
.health-card header small { color: var(--muted); }
.health-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.health-tile { display: grid; gap: 2px; padding: 12px; border: 1px solid var(--line); border-inline-start: 4px solid var(--line); border-radius: 12px; background: var(--canvas); color: var(--ink); font: inherit; text-align: start; cursor: pointer; }
.health-tile:not([data-view]) { cursor: default; }
.health-tile small { color: var(--muted); }
.health-tile strong { font-size: 1.35rem; }
.health-tile span { color: var(--muted); font-size: .82rem; }
.health-tile--good { border-inline-start-color: var(--success); }
.health-tile--warn { border-inline-start-color: var(--warning); }
.health-tile:focus-visible { outline: 3px solid var(--lime); outline-offset: 2px; }

/* قائمة الاختصارات: المفتاح ووصفه في سطر واحد. */
.shortcuts-list { display: grid; gap: 8px; margin: 12px 0 0; }
.shortcuts-list div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.shortcuts-list dt, .shortcuts-list dd { margin: 0; }
.shortcuts-list kbd { display: inline-block; min-width: 2.2em; padding: 3px 8px; border: 1px solid var(--line); border-bottom-width: 2px; border-radius: 6px; background: var(--canvas); font: 600 .85rem/1.4 ui-monospace, monospace; text-align: center; direction: ltr; }

/* بصمة التقرير المعتمد: سطر هادئ، يتلوّن فقط حين لا تطابق. */
.report-fingerprint { display: block; margin-top: 4px; font-size: .82rem; opacity: .9; }
.report-fingerprint[data-status="match"]::before { content: '✔ '; }
.report-fingerprint[data-status="mismatch"] { color: var(--danger-text); font-weight: 700; }
.report-fingerprint[data-status="mismatch"]::before { content: '⚠ '; }

/* مكتبة الأصول */
.asset-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.asset-list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.asset-list small { color: var(--muted); }
.asset-search { display: grid; gap: 4px; min-width: 240px; color: var(--muted); font-size: .86rem; }
.muted { color: var(--muted); }

/* الدروس المستفادة والمنافسون */
.lesson-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; margin: 12px 0; }
.lesson-card { display: grid; gap: 6px; padding: 14px 16px; border: 1px solid var(--line); border-inline-start: 4px solid var(--warning); border-radius: 14px; background: var(--paper); }
.lesson-card--keep { border-inline-start-color: var(--success); }
.lesson-card--stop { border-inline-start-color: var(--danger); }
.lesson-card header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.lesson-card h4 { margin: 0; }
.lesson-card p { margin: 0; }
.lesson-card small { color: var(--muted); }
.lesson-form, .competitor-form { margin-top: 16px; }
tr.is-ours td { background: var(--canvas); font-weight: 700; }

.competitor-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}
.competitor-summary > div {
    display: grid;
    gap: 2px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
}
.competitor-summary strong { font-size: 1.5rem; }
.competitor-summary span, .competitor-card p, .competitor-account small { color: var(--muted); }
.competitor-block { margin-top: 24px; }
.competitor-directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.competitor-card { padding: 18px; }
.competitor-card.is-archived { opacity: .68; }
.competitor-card > header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.competitor-card h3, .competitor-card p { margin: 6px 0 0; }
.competitor-accounts { display: grid; gap: 8px; margin-top: 14px; }
.competitor-account {
    display: grid;
    grid-template-columns: auto minmax(90px, 1fr) minmax(110px, auto) auto auto;
    gap: 8px;
    align-items: center;
    padding: 9px 0;
    border-top: 1px solid var(--line);
}
.competitor-account.is-archived { opacity: .62; }
.competitor-admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.competitor-unverified { color: var(--muted); font-style: italic; }
.competitor-analysis td { vertical-align: top; }
.competitor-analysis td > small { display: block; margin-top: 4px; color: var(--muted); }
.competitor-reading-details { min-width: 290px; margin: 0; display: grid; gap: 5px; }
.competitor-reading-details > div { display: grid; grid-template-columns: 78px 1fr; gap: 8px; }
.competitor-reading-details dt { color: var(--muted); }
.competitor-reading-details dd { margin: 0; }
.competitor-reading-form textarea { resize: vertical; }
.competitor-profile { display: grid; gap: 16px; }
.competitor-profile-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 22px; }
.competitor-profile-hero h2 { margin: 4px 0; }
.competitor-profile-hero p { margin: 4px 0; }
.competitor-profile-badges { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.competitor-profile-rationale, .competitor-profile-hero .card-actions { grid-column: 1 / -1; }
.competitor-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.competitor-profile-section { padding: 20px; }
.competitor-profile-section h3 { margin: 0 0 14px; }
.competitor-profile-section dl { display: grid; gap: 10px; margin: 0; }
.competitor-profile-section dl > div { display: grid; grid-template-columns: minmax(110px, 150px) minmax(0, 1fr); gap: 12px; padding-block: 8px; border-bottom: 1px solid var(--line); }
.competitor-profile-section dt { color: var(--muted); font-weight: 700; }
.competitor-profile-section dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.competitor-profile-section ul { margin: 0; padding-inline-start: 20px; }
.competitor-evidence-list { display: grid; gap: 8px; list-style: none; padding: 0 !important; }
.competitor-evidence-list li { display: grid; gap: 2px; }
.competitor-evidence-list small { color: var(--muted); }
.competitor-reading-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 16px; }
.competitor-reading-grid > div { display: grid; gap: 3px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.competitor-reading-grid strong { font-size: 1.35rem; }
.competitor-reading-grid span { color: var(--muted); }
.competitor-profile-form { padding: 20px; }

@media (max-width: 900px) {
    .competitor-directory, .competitor-admin-grid, .competitor-profile-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .competitor-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .competitor-card > header { display: grid; }
    .competitor-account { grid-template-columns: auto 1fr; }
    .competitor-profile-hero { grid-template-columns: 1fr; }
    .competitor-profile-badges { justify-content: flex-start; }
    .competitor-reading-grid { grid-template-columns: 1fr; }
    .competitor-profile-section dl > div { grid-template-columns: 1fr; gap: 4px; }
}

.modal-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }

/* الطباعة ورقٌ أبيض دائمًا، أيًّا كان مظهر الشاشة. */
@media print {
    :root, :root[data-theme="dark"] {
        --ink: #0f172a; --muted: #64748b; --line: #d5efeb; --line-strong: #99e3d8; --paper: #ffffff; --canvas: #ffffff;
        --surface-2: #f7fdfc; --surface-3: #e6f7f4; --accent-text: #0f766e; --card-line: rgba(20, 184, 166, .08);
        --tint-green: #f3f9f5; --tint-lime: #fefce8; --tint-amber: #fff8e8; --tint-red: #fff5f5; --chip-lime-text: #713f12; --eyebrow: #0d9488; --green-text: #2e5f4a; --positive-text: #2f6b45; --negative-text: #9a3b3b;
        --warning-text: #8a5a0f; --danger-text: #a2343e; --success-text: #1c6f4d;
        color-scheme: light;
    }
}

/* نوع الربط تحت منتقي الربط: نفس الموضوع، بديل، يدوي، زيادة. */
.match-type { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }
.match-type--substitute { color: var(--warning-text); }
.match-type--manual { color: var(--accent-text); font-weight: 700; }

/* البحث الشامل (Ctrl+K) */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.topbar-search { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); background: var(--paper); font: inherit; font-size: 13px; cursor: pointer; }
.topbar-search:hover, .topbar-search:focus-visible { border-color: var(--line-strong); color: var(--ink); }
.topbar-search kbd { padding: 1px 6px; border: 1px solid var(--line); border-radius: 6px; background: var(--canvas); font: 600 11px/1.5 ui-monospace, monospace; direction: ltr; }
.search-dialog__input { width: 100%; min-height: 46px; font-size: 16px; }
.search-results { display: grid; gap: 6px; max-height: min(55vh, 460px); margin: 12px 0 8px; padding: 0; overflow-y: auto; list-style: none; }
.search-results__hint { padding: 14px 4px; color: var(--muted); font-size: 13px; }
.search-result { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; align-items: center; width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: var(--surface-2); font: inherit; text-align: start; cursor: pointer; }
.search-result:hover, .search-result:focus-visible { border-color: var(--accent-text); background: var(--surface-3); }
.search-result__kind { grid-row: span 2; padding: 2px 8px; border-radius: 99px; color: var(--accent-text); background: var(--surface-3); font-size: 11px; white-space: nowrap; }
.search-result strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.search-result small { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 760px) {
    .topbar-search { min-width: 40px; padding: 6px 9px; }
    .topbar-search span, .topbar-search kbd { display: none; }
}

/* قاموس المؤشرات والثقة في الأرقام */
.metric-info { display: inline-grid; place-items: center; width: 28px; height: 28px; margin-inline-start: 6px; border: 1px solid var(--line); border-radius: 50%; color: var(--accent-text); background: var(--paper); font-size: 14px; cursor: pointer; }
.metric-info:hover, .metric-info:focus-visible { border-color: var(--accent-text); }
.metric-legend { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.metric-legend .text-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; }
.metric-legend .text-btn .icon { width: 16px; height: 16px; }
.metric-legend--warn { padding: 8px 12px; border-radius: 12px; color: var(--warning-text); background: var(--tint-amber); }
.is-exporting-pdf .metric-legend, .is-exporting-pdf .report-trust { display: none !important; }
.report-trust { display: grid; gap: 10px; margin-bottom: 15px; padding: 14px 18px; }
.report-trust__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.trust-chip { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 12px; border: 1px solid var(--line); border-radius: 99px; color: var(--ink); background: var(--surface-2); font-size: 12px; }
.trust-chip--live { border-color: var(--tint-amber); background: var(--tint-amber); color: var(--warning-text); }
.trust-chip--approved { border-color: var(--tint-green-line); background: var(--tint-green); color: var(--success-text); }
.trust-chip--warn { color: var(--danger-text); border-color: var(--danger); }
.report-trust__readiness > summary { min-height: 36px; padding: 6px 0; color: var(--danger-text); font-weight: 700; cursor: pointer; }
.report-trust__readiness.is-ready > summary { color: var(--success-text); }
.readiness-list { display: grid; gap: 6px; margin: 6px 0 0; padding: 0; list-style: none; }
.readiness-list__item { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 8px; padding: 8px 10px; border-radius: 12px; background: var(--surface-2); }
.readiness-list__item b { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: #fff; font-size: 12px; }
.readiness-list__item.is-pass b { background: var(--success); }
.readiness-list__item.is-warn b { background: var(--warning); }
.readiness-list__item.is-fail b { background: var(--danger); }
.readiness-list__item strong { display: block; font-size: 13px; }
.readiness-list__item span { color: var(--muted); font-size: 12px; line-height: 1.7; }
.report-drift { display: block; margin-top: 4px; color: var(--warning-text); font-size: 12px; }
.report-drift.is-clean { color: var(--success-text); }
.report-versions { display: grid; gap: 6px; margin: 8px 0 0; padding: 0; list-style: none; }
.report-versions li { display: grid; gap: 2px; padding: 8px 10px; border-radius: 10px; background: var(--surface-2); font-size: 12px; }
.report-versions small { color: var(--muted); }
.metric-dialog .modal-shell { max-width: 760px; }
.metric-context { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; margin: 0 0 12px; }
.metric-context:empty { display: none; }
.metric-context div, .metric-def dl div { padding: 8px 10px; border-radius: 10px; background: var(--surface-2); }
.metric-context dt, .metric-def dt { color: var(--muted); font-size: 11px; }
.metric-context dd, .metric-def dd { margin: 2px 0 0; font-size: 13px; }
.metric-defs { display: grid; gap: 10px; margin-bottom: 12px; }
.metric-def { padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; }
.metric-def h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 15px; }
.metric-def p { margin: 0 0 8px; color: var(--ink); font-size: 13px; line-height: 1.8; }
.metric-def dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 6px; margin: 0; }

/* دورة إغلاق أسئلة الجمهور */
.form-fieldset { display: grid; gap: 10px; margin: 6px 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; }
.form-fieldset legend { padding: 0 6px; color: var(--accent-text); font-size: 13px; font-weight: 700; }
.audience-ownership b { color: var(--warning-text); }
.audience-ownership.is-overdue b, .audience-meta .is-overdue { color: var(--danger-text); }
.audience-row.is-overdue { border-inline-start: 4px solid var(--danger); }

/* مركز السمعة وسجل القضايا */
.pr-overview { display: grid; gap: 14px; }
/* شاشة الأنشطة والفعاليات: مدخل بوابة الفعاليات وبطاقاتها */
.activities-hub { display: grid; gap: 14px; }
.activities-links { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.activities-link { display: grid; gap: 6px; padding: 18px; color: inherit; text-decoration: none; transition: .18s ease; }
.activities-link:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.activities-link strong { color: var(--accent-text); font-size: 15px; }
.activities-link small { color: var(--muted); line-height: 1.6; }
.pr-overview__head .panel-head { align-items: center; }
.pr-answers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pr-answer { display: grid; align-content: start; gap: 6px; padding: 16px; border-top: 4px solid var(--line-strong); }
.pr-answer > strong { font-size: 26px; line-height: 1.2; }
.pr-answer > div { color: var(--muted); font-size: 12.5px; line-height: 1.8; }
.pr-answer .text-btn { justify-self: start; }
.pr-answer--warn { border-top-color: var(--warning); }
.pr-answer--danger { border-top-color: var(--danger); }
.pr-mini-list { display: grid; gap: 6px; margin: 4px 0 0; padding: 0; list-style: none; }
.pr-mini-list li { display: grid; gap: 2px; font-size: 13px; }
.pr-mini-list small { color: var(--muted); }
.pr-mini-list b { color: var(--danger-text); }
.pr-severity--critical { color: #fff; background: var(--danger); }
.pr-severity--high { color: var(--warning-text); background: var(--tint-amber); }
.pr-escalation-plan { margin: 4px 0; padding: 8px 12px; border-inline-start: 4px solid var(--warning); border-radius: 10px; color: var(--warning-text); background: var(--tint-amber); font-size: 12.5px; line-height: 1.8; }
.pr-escalation-plan:empty { display: none; }
.pr-contact-picks { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 4px 12px; max-height: 220px; overflow-y: auto; }
.pr-contact-picks small { color: var(--muted); }
@media (max-width: 1100px) { .pr-answers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .pr-answers { grid-template-columns: 1fr; } }
.pr-answer > strong small { color: var(--muted); font-size: 13px; font-weight: 400; }

/* المنصات والمرفقات في التقرير */
.report-platforms tfoot td { border-top: 2px solid var(--line-strong); font-weight: 700; }
.attachment-links { display: inline-flex; flex-wrap: wrap; gap: 4px; margin-inline-start: 6px; }
.attachment-links a { display: inline-grid; place-items: center; min-width: 22px; height: 22px; border-radius: 6px; background: var(--surface-3); color: var(--accent-text); font-size: 11px; text-decoration: none; }
.report-gaps { margin-bottom: 15px; padding: 12px 18px; }
.report-gaps > summary { display: grid; gap: 2px; min-height: 40px; cursor: pointer; color: var(--warning-text); }
.report-gaps > summary small { color: var(--muted); font-weight: 400; }
.gap-candidate { display: grid; gap: 4px; padding: 6px 0; border-bottom: 1px dashed var(--line); }
.gap-candidate:last-child { border-bottom: 0; }
.gap-candidate .btn { justify-self: start; }
.is-exporting-pdf .report-gaps { display: none !important; }
.gap-deficit { color: #b3414b; font-weight: 700; }
.gap-subhead { margin: .75rem 0 .25rem; font-size: .9rem; color: var(--muted); }
.report-overshoot { margin: 0 0 .75rem; padding: .5rem .75rem; border-radius: 8px; background: #eef7f0; color: #1f5130; font-size: .9rem; line-height: 1.7; }
.pr-archived, .pr-decisions { margin-top: .5rem; font-size: .85rem; }
.pr-archived summary, .pr-decisions summary { cursor: pointer; color: var(--muted, #64748b); }
.pr-archived ul, .pr-decisions ol { margin: .4rem 0 0; padding-inline-start: 1.2rem; display: grid; gap: .3rem; }
.pr-archived small, .pr-decisions small { display: block; color: var(--muted, #64748b); }
.observed-filters { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 6px; }
.observed-platforms { margin: 4px 0 0; color: var(--muted); font-size: 11px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.observed-placements { display: flex !important; align-items: center; gap: 4px; flex-wrap: wrap; }
.observed-placements a { display: inline-flex; }
.additional-content-card details summary { cursor: pointer; list-style: none; }
.additional-content-card details summary::-webkit-details-marker { display: none; }
.additional-content-card details p { margin: 6px 0 0; font-size: 11px; line-height: 1.7; color: var(--muted); white-space: pre-line; }
.additional-content-card > span.is-review { color: #8a5a00; background: #fff3d6; }
.additional-content-card > span.is-linked { color: #3d3a8c; background: #ecebfb; }
.ws-chip small { margin-inline-start: 4px; font-size: 10px; font-weight: 600; opacity: .8; }
.is-search-hit { outline: 3px solid var(--accent, #0d9488); outline-offset: 3px; border-radius: 12px; transition: outline-color .4s; }
.provenance-list { display: grid; gap: 8px; margin: 10px 0 0; font-size: 12px; }
.provenance-list div { display: grid; grid-template-columns: minmax(120px, 190px) 1fr; gap: 10px; }
.provenance-list dt { color: var(--muted); font-weight: 700; }
.provenance-list dd { margin: 0; line-height: 1.7; overflow-wrap: anywhere; }
.provenance-list code { font-size: 11px; direction: ltr; unicode-bidi: embed; }
@media (max-width: 640px) { .provenance-list div { grid-template-columns: 1fr; gap: 2px; } }

/* التخطيط والحوكمة */
.governance-dashboard { display: grid; gap: 22px; }
.governance-intro { align-items: flex-start; }
.governance-overview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.governance-progress { position: relative; height: 30px; overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.governance-progress i { position: absolute; inset: 0 auto 0 0; width: var(--progress); min-width: 4px; background: linear-gradient(90deg, var(--lime), var(--success)); }
.governance-progress strong { position: relative; z-index: 1; display: grid; height: 100%; place-items: center; color: var(--ink); font-size: 13px; }
.governance-progress--small { height: 24px; margin: 12px 0; }
.governance-priority-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.governance-priority-list li { display: flex; align-items: center; gap: 11px; padding-block: 10px; border-bottom: 1px solid var(--line); }
.governance-priority-list li:last-child { border-bottom: 0; }
.governance-priority-list strong, .governance-priority-list small { display: block; }
.governance-priority-list small { margin-top: 4px; color: var(--muted); }
.governance-raci th, .governance-raci td { min-width: 90px; text-align: center; }
.governance-raci th:first-child, .governance-raci td:first-child { min-width: 260px; text-align: right; }
.governance-objectives, .governance-plan-list, .governance-risk-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-block: 20px; }
.governance-half-years { display: grid; grid-template-columns: repeat(6, minmax(130px, 1fr)); gap: 10px; margin-block: 18px; overflow-x: auto; }
.governance-half-years article { display: grid; gap: 5px; min-width: 135px; padding: 14px; }
.governance-half-years span { color: var(--eyebrow); font-weight: 800; direction: ltr; }
.governance-half-years small { color: var(--muted); }
.governance-objective, .governance-plan-item, .governance-risk { padding: 20px; }
.governance-objective > span { color: var(--eyebrow); font-weight: 800; }
.governance-objective h3, .governance-plan-item h3, .governance-risk h3 { margin: 9px 0; }
.governance-objective p, .governance-risk p { color: var(--muted); line-height: 1.75; }
.governance-targets { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; padding-top: 14px; border-top: 1px solid var(--line); }
.governance-targets strong { width: 100%; }
.governance-targets span { padding: 5px 9px; border-radius: 9px; background: var(--surface-2); color: var(--muted); }
.governance-form { margin-block: 20px; padding: 22px; }
.governance-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.governance-strategy-statement { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.governance-indicator-list { display: grid; gap: 12px; margin-top: 14px; }
.governance-indicator { border-top: 1px solid var(--line); padding-top: 12px; }
.governance-indicator header, .governance-kpi-values { display: flex; gap: 10px; justify-content: space-between; flex-wrap: wrap; }
.governance-indicator p { margin: 8px 0 4px; }
.governance-kpi-values span { background: var(--surface-soft); border-radius: 10px; padding: 7px 10px; }
.governance-reference { margin-top: 18px; }
.governance-crisis-timeline { display: grid; gap: 12px; }
.governance-crisis-timeline li { display: grid; gap: 4px; }
.governance-span-2 { grid-column: 1 / -1; }
.governance-plan-item header, .governance-risk header { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.governance-plan-item time { color: var(--muted); font-weight: 700; direction: ltr; }
.governance-evidence { padding: 10px; border-radius: 10px; background: var(--tint-green); color: var(--green-text); font-size: 13px; }
.governance-risk-matrix { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(280px, 1fr); align-items: center; gap: 24px; padding: 22px; }
.governance-risk-matrix p { color: var(--muted); }
.governance-risk-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 6px; direction: ltr; }
.governance-risk-row > span { display: grid; min-height: 58px; place-items: center; border-radius: 12px; color: #0f172a; }
.governance-risk-row b, .governance-risk-row small { display: block; }
.risk-level { display: inline-flex; padding: 5px 9px; border-radius: 999px; color: #0f172a; font-size: 12px; font-weight: 800; }
.risk-level--low { background: #cfe9d9; }
.risk-level--medium { background: #f4e8a8; }
.risk-level--high { background: #f4c38e; }
.risk-level--critical { background: #efa1a7; }
.governance-policy-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 18px; align-items: start; }
.governance-policy-list { display: grid; gap: 12px; }
.governance-policy { padding: 0; overflow: hidden; }
.governance-policy > summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 20px; list-style: none; cursor: pointer; }
.governance-policy > summary span:first-child { display: grid; gap: 4px; }
.governance-policy > summary b { color: var(--eyebrow); font-size: 12px; }
.governance-policy > section, .governance-policy > button { margin: 0 20px 18px; }
.governance-policy > section { padding-top: 14px; border-top: 1px solid var(--line); }
.governance-policy ol, .governance-policy p { color: var(--muted); line-height: 1.8; }
.governance-request-list { display: grid; gap: 10px; }
.governance-request-list article { display: grid; gap: 5px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; }
.governance-request-list small { color: var(--muted); }
.governance-report { margin-top: 20px; }
.ws-chip--governance, .calendar-post--governance { color: var(--accent-text); background: var(--tint-lime); border-color: var(--tint-lime-line); }
.task-card--governance { border-top: 3px solid var(--lime); }

@media (max-width: 1100px) {
    .governance-objectives, .governance-plan-list, .governance-risk-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .governance-policy-layout { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .governance-overview-grid, .governance-objectives, .governance-plan-list, .governance-risk-list, .governance-form-grid, .governance-risk-matrix, .governance-strategy-statement { grid-template-columns: 1fr; }
    .governance-span-2 { grid-column: auto; }
    .governance-policy > summary { align-items: flex-start; }
}
.utm-links { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; }
.utm-links li { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; }
.utm-links input { min-width: 0; font-size: 11px; direction: ltr; }
.leadership { display: grid; gap: 16px; }
.lead-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.lead-card h3 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 12px; }
.lead-card h3 b { display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 6px; border-radius: 8px; background: var(--surface-3); font-size: 12px; }
.lead-card h3 small { color: var(--muted); font-weight: 600; font-size: 12px; }
.lead-card--wide { grid-column: 1 / -1; }
.lead-card--warn { border-color: #e7c57a; }
.lead-card--danger { border-color: #d98080; }
.lead-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.lead-tile { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); text-align: start; font: inherit; color: inherit; }
button.lead-tile { cursor: pointer; }
button.lead-tile:hover, button.lead-tile:focus-visible { border-color: var(--accent, #0d9488); }
.lead-tile span { color: var(--muted); font-size: 12px; }
.lead-tile strong { font-size: 22px; line-height: 1.2; }
.lead-tile strong small { font-size: 12px; color: var(--muted); font-weight: 600; }
.lead-tile em { font-style: normal; font-size: 11px; color: var(--muted); }
.lead-tile--bad strong { color: #b3261e; }
.lead-change { font-size: 11px; color: var(--muted); }
.lead-change.is-good { color: #1f7a45; }
.lead-change.is-bad { color: #b3261e; }
.lead-spark { width: 100%; height: 64px; margin-top: 12px; }
.lead-spark path { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; }
.lead-spark__now { stroke: var(--accent, #0d9488); }
.lead-spark__prev { stroke: var(--muted, #94a3b8); stroke-dasharray: 4 4; }
.lead-legend i { display: inline-block; width: 18px; height: 0; border-top: 2px solid var(--accent, #0d9488); vertical-align: middle; margin-inline: 4px; }
.lead-legend i.lead-legend__prev { border-top: 2px dashed var(--muted, #94a3b8); }
.lead-quality { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; }
.lead-quality li { display: grid; gap: 2px; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line); border-inline-start-width: 4px; }
.lead-quality li span { font-size: 12px; font-weight: 700; }
.lead-quality li small { font-size: 11px; color: var(--muted); }
.lead-quality li.is-fresh { border-inline-start-color: #2e8b57; }
.lead-quality li.is-aging { border-inline-start-color: #d4a017; }
.lead-quality li.is-stale, .lead-quality li.is-missing, .lead-quality li.is-failed { border-inline-start-color: #c0392b; }

@media (max-width: 980px) {
    .design-layout .brand-reference--compact { position: static; }
}

@media (max-width: 760px) {
    .brand-reference__head { display: grid; }
    .brand-reference__sizes, .brand-guide__principles, .brand-guide__columns, .brand-guide__type, .brand-guide__examples { grid-template-columns: 1fr; }
    .brand-reference { padding: 17px; border-radius: 16px; }
    .brand-platforms th, .brand-platforms td { padding: 10px 8px; font-size: 12px; }
}
/* مركز خدمة العملاء: صندوق موحد مع بقاء قائمة الحالات والمحادثة مقروءتين على الشاشات الصغيرة. */
.service-center{display:grid;gap:18px}.service-center__intro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.service-workspace{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(420px,1.4fr);gap:18px;align-items:start}.service-queue,.service-detail{min-width:0}.service-queue .panel-head{align-items:flex-end}.service-queue .search-field{max-width:270px}.service-filters{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.service-filters select,.service-assignment select{border:1px solid var(--border,#d5efeb);border-radius:12px;background:#fff;padding:10px;font:inherit}.service-case-list{display:grid;gap:8px;max-height:680px;overflow:auto;padding-inline-end:3px}.service-case-row{display:grid;gap:7px;width:100%;text-align:start;border:1px solid #d1f0eb;background:#fff;border-radius:16px;padding:14px;color:inherit;font:inherit;cursor:pointer}.service-case-row:hover,.service-case-row.is-active{border-color:#14b8a6;background:#f0fdfa}.service-case-row__top{display:flex;justify-content:space-between;gap:12px}.service-case-row__top small,.service-case-row__meta{color:#64748b;font-size:.76rem}.service-case-row>strong{font-size:.91rem;line-height:1.55}.service-detail__head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d1f0eb;padding-bottom:14px}.service-detail__head h3{margin:0}.service-question{font-size:1.04rem;line-height:1.8;background:#f0fdfa;border-radius:16px;padding:14px}.service-contact{font-size:.85rem;color:#64748b}.service-assignment{display:flex;align-items:end;gap:10px;margin:14px 0}.service-assignment label{display:grid;gap:5px;flex:1;font-size:.78rem;font-weight:700}.service-transitions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:12px 0;border-block:1px solid #e6f7f4}.service-transitions>span{font-size:.78rem;font-weight:800}.service-transitions .btn{padding:7px 10px}.service-thread{display:grid;gap:9px;max-height:430px;overflow:auto;padding:18px 2px}.service-message{max-width:86%;background:#e6f7f4;border-radius:16px;padding:12px 14px}.service-message--outbound{justify-self:end;background:#fef9c3}.service-message--internal{max-width:100%;background:#fff3d9;border:1px dashed #d7ad4a}.service-message>div{display:flex;justify-content:space-between;gap:14px}.service-message small{color:#64748b}.service-message p{margin:6px 0 0;line-height:1.7;white-space:pre-wrap}.service-reply{display:grid;gap:10px;border-top:1px solid #d1f0eb;padding-top:15px}.service-reply>label:first-child{display:grid;gap:6px;font-size:.8rem;font-weight:700}.service-reply textarea{resize:vertical;border:1px solid #cfeae5;border-radius:14px;padding:12px;font:inherit}.service-reply .btn{justify-self:end}@media(max-width:980px){.service-workspace{grid-template-columns:1fr}.service-case-list{max-height:420px}}@media(max-width:640px){.service-center__intro,.service-queue .panel-head,.service-assignment{align-items:stretch;flex-direction:column}.service-filters{grid-template-columns:1fr}.service-center__intro .btn,.service-assignment .btn{width:100%}.service-message{max-width:94%}}
.request-platforms{display:flex!important;flex-wrap:wrap;gap:10px 18px;border:1px solid var(--line,#d5efeb);border-radius:14px;padding:12px 14px}.request-platforms legend{padding:0 6px;font-weight:700}.request-platforms label{display:flex;align-items:center;gap:6px;font-weight:500}.request-platforms input{width:auto}.service-request-layout{align-items:start}.service-request-layout .governance-request-list article{padding:14px 0}
/* Public entry paths on the signed-out landing. */
.auth-entry-actions { display:grid; gap:10px; margin-top:18px; }
.auth-entry-actions .btn { width:100%; justify-content:center; text-decoration:none; }
.public-event-head { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }

/* استبيان الاحتياجات المهنية: يعيد استعمال هيكل الصندوق الموحد (service-workspace)،
   ويضيف لوح الطلب (أكثر الموضوعات) وبطاقة تفاصيل الرد. */
.service-filters--survey { grid-template-columns:repeat(3,1fr) auto; align-items:center; }
.survey-demand { display:grid; grid-template-columns:1.3fr 1fr; gap:22px; }
.survey-demand h4 { margin:0 0 10px; font-size:.86rem; }
.survey-demand__row { display:grid; grid-template-columns:minmax(0,1fr) 92px 40px; align-items:center; gap:10px; padding:5px 0; font-size:.82rem; }
.survey-demand__row > span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.survey-demand__bar { display:block; height:8px; border-radius:99px; background:#e6f7f4; overflow:hidden; }
.survey-demand__bar i { display:block; height:100%; border-radius:99px; background:#14b8a6; }
.survey-demand__row strong { text-align:end; font-variant-numeric:tabular-nums; }
.survey-row.is-pending { border-inline-start:3px solid #d7ad4a; }
.survey-row.is-done { border-inline-start:3px solid #14b8a6; }
.survey-row.is-muted { opacity:.62; }
.survey-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:16px 0; }
.survey-facts div { background:#f0fdfa; border-radius:14px; padding:10px 12px; }
.survey-facts dt { color:#64748b; font-size:.74rem; }
.survey-facts dd { margin:3px 0 0; font-size:.86rem; font-weight:700; }
.survey-block { border-top:1px solid #e6f7f4; padding-top:13px; margin-top:13px; }
.survey-block h4 { margin:0 0 7px; font-size:.82rem; color:#64748b; }
.survey-block p { margin:0; line-height:1.8; white-space:pre-wrap; }
.tag-list { display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:0; list-style:none; }
.tag-list li { background:#e6f7f4; border-radius:99px; padding:5px 11px; font-size:.78rem; }
.survey-actions { flex-wrap:wrap; gap:8px; margin-top:18px; }
@media(max-width:980px){ .survey-demand { grid-template-columns:1fr; } .service-filters--survey { grid-template-columns:1fr 1fr; } }
