/* شاشة «مزايا النظام» المتنقلة: شرائح كاملة (إرشاد أوضح · برق · العهدة الشخصية · مساعد MCP) تتنقل يميناً ويساراً بالسهمين أو
   التبويبات أو تلقائياً. CSS عادي بلا اعتماد على Tailwind المبني فلا يحتاج إعادة بناء. السلوك في feature-showcase.js. */
.fs-track {
    display: flex; align-items: flex-start; overflow-x: auto; overflow-y: hidden;
    scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain;
}
.fs-track::-webkit-scrollbar { display: none; }
/* هالات الإضاءة خلف اللقطات تتجاوز حدّ الشريحة فيقصّها الشريط: تلاشٍ ناعم عند الحافتين بدل حدّ حاد */
.fs-track {
    --fs-fade: 1rem;
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--fs-fade), #000 calc(100% - var(--fs-fade)), transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 var(--fs-fade), #000 calc(100% - var(--fs-fade)), transparent 100%);
}
@media (min-width: 640px) { .fs-track { --fs-fade: 1.6rem; } }
.fs-track:focus-visible { outline: 2px solid #2563eb; outline-offset: 4px; border-radius: 1.5rem; }
/* الحشو يترك مجالاً لهالات الإضاءة الملوّنة خلف اللقطات فلا يقصّها حدّ الشريحة */
.fs-slide { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; padding: 1.5rem 1.25rem; box-sizing: border-box; }
@media (min-width: 640px) { .fs-slide { padding: 1.5rem 1.75rem; } }

.fs-nav { display: flex; align-items: center; justify-content: center; gap: .9rem; margin-top: 1rem; flex-wrap: wrap; }
.fs-btn {
    display: inline-flex; align-items: center; justify-content: center; width: 2.6rem; height: 2.6rem; flex: 0 0 auto;
    border-radius: 9999px; border: 1px solid #cbd5e1; background: #fff; color: #1e3a8a; cursor: pointer;
    transition: background-color .2s, border-color .2s, transform .2s;
}
.fs-btn:hover { background: #eff6ff; border-color: #93c5fd; }
.fs-btn:active { transform: scale(.94); }
.fs-btn:focus-visible, .fs-tab:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.fs-btn svg { width: 1.15rem; height: 1.15rem; }
.fs-tabs { display: flex; align-items: center; justify-content: center; gap: .5rem; flex-wrap: wrap; }
.fs-tab {
    padding: .4rem .95rem; border-radius: 9999px; border: 1px solid #cbd5e1; background: #fff; color: #475569;
    font: inherit; font-size: .85rem; font-weight: 700; line-height: 1.3; cursor: pointer;
    transition: background-color .25s, color .25s, border-color .25s;
}
.fs-tab:hover { border-color: #93c5fd; color: #1e3a8a; }
.fs-tab[aria-current="true"] { background: #2563eb; border-color: #2563eb; color: #fff; }
.dark .fs-btn { background: #1e293b; border-color: #475569; color: #bfdbfe; }
.dark .fs-btn:hover { background: #334155; border-color: #64748b; }
.dark .fs-tab { background: #1e293b; border-color: #475569; color: #cbd5e1; }
.dark .fs-tab:hover { border-color: #60a5fa; color: #bfdbfe; }
.dark .fs-tab[aria-current="true"] { background: #3b82f6; border-color: #3b82f6; color: #fff; }
@media (prefers-reduced-motion: reduce) {
    .fs-btn, .fs-tab { transition: none; }
}

/* MCP connection illustration: distinct from the in-app assistant demo. */
.mcp-demo {
    --mcp-surface: #fff; --mcp-soft: #f8fafc; --mcp-line: #cbd5e1;
    --mcp-ink: #0f172a; --mcp-muted: #475569;
    margin: 0; min-width: 0; overflow: hidden; border: 1px solid var(--mcp-line);
    border-radius: 16px; background: var(--mcp-surface); color: var(--mcp-ink);
}
.dark .mcp-demo { --mcp-surface: #1e293b; --mcp-soft: #0f172a; --mcp-line: #475569; --mcp-ink: #f1f5f9; --mcp-muted: #cbd5e1; }
.mcp-demo-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 20px 24px; border-bottom: 1px solid var(--mcp-line); }
.mcp-demo-head strong { font-size: .95rem; }
.mcp-demo-head > span { color: var(--mcp-muted); font-size: .75rem; }
.mcp-connection { display: flex; align-items: center; justify-content: center; padding: 28px 24px; background: var(--mcp-soft); }
.mcp-clients { display: flex; flex-direction: column; gap: 8px; }
.mcp-client { padding: 8px 14px; border: 1px solid var(--mcp-line); border-radius: 8px; background: var(--mcp-surface); font-size: .95rem; font-weight: 800; text-align: center; }
.mcp-client-claude { color: #9a3412; }
.mcp-client-chatgpt { color: #047857; }
.dark .mcp-client-claude { color: #fdba74; }
.dark .mcp-client-chatgpt { color: #6ee7b7; }
.mcp-link { position: relative; flex: 1; max-width: 48px; min-width: 16px; height: 1px; background: var(--mcp-line); }
.mcp-link span { position: absolute; top: -3px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: #2563eb; animation: mcp-signal 2.8s linear infinite; }
.mcp-link:nth-of-type(3) span { animation-delay: 1.4s; }
.mcp-protocol { padding: 7px 10px; border: 1px solid #2563eb; border-radius: 6px; color: #1d4ed8; background: var(--mcp-surface); font-size: .8rem; font-weight: 800; }
.dark .mcp-protocol { color: #93c5fd; border-color: #60a5fa; }
.mcp-erp { font-size: 1.3rem; color: #1d4ed8; padding-inline-start: 8px; }
.dark .mcp-erp { color: #93c5fd; }
.mcp-chat { padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.mcp-chat p { margin: 0; }
.mcp-chat-label { font-size: .75rem; color: var(--mcp-muted); }
.mcp-question { align-self: flex-end; max-width: 90%; padding: 12px 16px; background: #1d4ed8; color: #fff; border-radius: 12px; font-size: .9rem; line-height: 1.7; }
.mcp-answer { padding: 18px; background: var(--mcp-soft); border-radius: 12px; font-size: .875rem; line-height: 1.7; }
.mcp-source { color: var(--mcp-muted); font-size: .75rem; }
.mcp-source span { color: #047857; }
.dark .mcp-source span { color: #6ee7b7; }
.mcp-answer h3 { margin: 10px 0; font-size: 1rem; font-weight: 800; }
.mcp-answer dl { margin: 0; }
.mcp-answer dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding-block: 6px; flex-wrap: wrap; }
.mcp-answer dt { color: var(--mcp-muted); }
.mcp-answer dd { margin: 0; font-weight: 800; font-variant-numeric: tabular-nums; }
.mcp-answer .mcp-followup { margin-top: 12px; color: var(--mcp-muted); font-size: .8rem; }
.mcp-demo figcaption { padding: 14px 24px; border-top: 1px solid var(--mcp-line); color: var(--mcp-muted); font-size: .75rem; line-height: 1.7; }
@keyframes mcp-signal { 0% { left: 0; opacity: 0; } 15%, 85% { opacity: 1; } 100% { left: calc(100% - 7px); opacity: 0; } }
@media (max-width: 640px) {
    .mcp-demo-head, .mcp-chat { padding: 18px; }
    .mcp-connection { padding: 24px 16px; }
    .mcp-client { padding: 8px 10px; font-size: .85rem; }
    .mcp-erp { font-size: 1.1rem; }
    .mcp-answer { padding: 14px; }
    .mcp-demo figcaption { padding: 14px 18px; }
}
@media (prefers-reduced-motion: reduce) { .mcp-link span { animation: none; left: 50%; } }

/* Rafiq's two examples use the same preview and existing theme tokens. */
.rafiq-demo-tabs { display: none; }
.rafiq-demo-ready .rafiq-demo-tabs { display: flex; gap: 8px; padding: 12px 24px; border-bottom: 1px solid var(--mcp-line); }
.rafiq-demo-tabs button { flex: 1; min-height: 44px; padding: 8px 12px; border: 1px solid var(--mcp-line); border-radius: 8px; background: var(--mcp-surface); color: var(--mcp-muted); font: inherit; font-size: .875rem; font-weight: 700; cursor: pointer; }
.rafiq-demo-tabs button[aria-selected="true"] { background: #1d4ed8; border-color: #1d4ed8; color: #fff; }
.rafiq-demo-tabs button:focus-visible, .mcp-chat[role="tabpanel"]:focus-visible { outline: 2px solid #2563eb; outline-offset: -3px; }
.mcp-chat[hidden] { display: none; }
.rafiq-draft-title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-block: 12px; }
.rafiq-draft-title h3 { flex: 1; margin: 0; }
.rafiq-draft-status { flex-shrink: 0; padding: 3px 8px; border-radius: 6px; background: #fef3c7; color: #92400e; font-size: .75rem; font-weight: 700; }
.dark .rafiq-draft-status { background: #451a03; color: #fde68a; }
.rafiq-draft-flow { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 16px 0 0; padding: 12px 0 0; list-style: none; counter-reset: rafiq-step; border-top: 1px solid var(--mcp-line); }
.rafiq-draft-flow li { display: flex; align-items: center; gap: 6px; font-size: .8rem; color: var(--mcp-muted); counter-increment: rafiq-step; }
.rafiq-draft-flow li::before { content: counter(rafiq-step); font-weight: 800; color: var(--mcp-ink); }
.rafiq-review-note { margin: 16px 0 0; font-size: .875rem; line-height: 1.7; color: #475569; }
.dark .rafiq-review-note { color: #cbd5e1; }
@media (max-width: 639px) {
    .rafiq-demo-ready .rafiq-demo-tabs { padding: 12px; }
    .rafiq-demo-tabs button { padding: 8px; }
    .rafiq-draft-title h3 { flex-basis: 100%; }
    [data-rafiq-demo] .mcp-link { min-width: 8px; }
    [data-rafiq-demo] .mcp-protocol { padding: 6px; font-size: .75rem; }
    [data-rafiq-demo] .mcp-erp { padding-inline-start: 4px; font-size: 1rem; }
}

/* Dashboard customization demonstration; isolated from the ERP editor. */
.dash-demo { --dash-surface:#fff; --dash-bg:#f1f5f9; --dash-line:#cbd5e1; --dash-ink:#0f172a; --dash-muted:#475569; margin:0; min-width:0; border:1px solid var(--dash-line); border-radius:16px; overflow:hidden; background:var(--dash-surface); color:var(--dash-ink); }
.dark .dash-demo { --dash-surface:#1e293b; --dash-bg:#0f172a; --dash-line:#475569; --dash-ink:#f1f5f9; --dash-muted:#cbd5e1; }
.dash-demo-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; padding:20px 24px; border-bottom:1px solid var(--dash-line); }
.dash-demo-head strong { font-size:1rem; }
.dash-demo-head > span { font-size:.75rem; color:var(--dash-muted); }
.dash-demo-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; }
.dash-demo-toolbar > span { font-size:.8rem; color:var(--dash-muted); }
.dash-demo-toolbar button { min-height:44px; padding:8px 12px; font:inherit; font-size:.8rem; font-weight:700; color:#fff; background:#1d4ed8; border:0; border-radius:8px; cursor:pointer; }
.dash-demo-toolbar button:hover { background:#1e40af; }
.dash-demo-toolbar button:focus-visible { outline:2px solid #2563eb; outline-offset:3px; }
.dash-demo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:20px; background:var(--dash-bg); }
.dash-widget { min-width:0; padding:16px; border-radius:10px; background:var(--dash-surface); }
.dash-widget-label { display:flex; align-items:center; gap:8px; margin:0 0 12px; color:var(--dash-muted); font-size:.8rem; font-weight:700; }
.dash-widget-label > span { font-size:1.25rem; }
.dash-sales { order:1; }
.dash-expenses { order:2; }
.dash-chart { order:3; grid-column:1 / -1; }
.dash-shortcuts { order:4; grid-column:1 / -1; }
.dash-sales > strong, .dash-expenses > strong { display:block; font-size:clamp(1.1rem,2.1vw,1.5rem); font-weight:800; font-variant-numeric:tabular-nums; }
.dash-sales > strong { color:#1d4ed8; }
.dark .dash-sales > strong { color:#93c5fd; }
.dash-widget small { display:block; margin-top:6px; font-size:.7rem; color:var(--dash-muted); }
.dash-bars { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; height:110px; border-bottom:1px solid var(--dash-line); padding:8px 8px 0; }
.dash-bars span { flex:1; height:var(--bar); background:#2563eb; border-radius:4px 4px 0 0; }
.dash-chart-caption { margin:10px 0 0; color:var(--dash-muted); font-size:.75rem; }
.dash-shortcuts ul { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.dash-shortcuts li { padding:6px 10px; background:var(--dash-bg); border-radius:6px; color:var(--dash-ink); font-size:.75rem; }
.dash-demo-grid.is-reordered .dash-chart { order:1; }
.dash-demo-grid.is-reordered .dash-sales { order:2; }
.dash-demo-grid.is-reordered .dash-expenses { order:3; }
.dash-demo-grid.is-reordered .dash-shortcuts { order:4; }
.dash-demo figcaption { padding:14px 20px; color:var(--dash-muted); font-size:.75rem; line-height:1.7; }
@media(max-width:640px) { .dash-demo-head { padding:16px; } .dash-demo-toolbar, .dash-demo-grid { padding:14px; } .dash-demo-grid { gap:10px; } .dash-widget { padding:12px; } .dash-bars { gap:8px; } }
