/* بصيرة — تصميم تيفاني باستيل فاتح RTL */
:root {
  /* لوحة تيفاني باستيل */
  --tiffany: #0abab5;
  --tiffany-deep: #07807c;
  --tiffany-darker: #065e5b;
  --tiffany-light: #aee9e6;
  --mint: #e6f7f6;
  --gold: #d9a85c;
  --gold-light: #ecc98f;
  --green: #1fa97c;
  --green-bg: #e2f6ee;
  --red: #e87979;
  --red-bg: #fdecec;
  --amber: #d99342;
  --amber-bg: #fdf3e3;
  --bg: #f4fbfa;
  --card: #ffffff;
  --border: #d9efed;
  --text: #1f3533;
  --muted: #6e8b88;
  --radius: 16px;
  --shadow: 0 2px 6px rgba(10, 186, 181, 0.08), 0 8px 24px rgba(10, 186, 181, 0.06);
  --shadow-hover: 0 6px 18px rgba(10, 186, 181, 0.16);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

/* خاصية hidden تتغلّب على أي display (تمنع ظهور النوافذ المخفية بالخطأ) */
[hidden] { display: none !important; }

/* منع التمرير الأفقي نهائيًا على الجوال (الشاشة ما تروح يمين/شمال) */
html, body { overflow-x: hidden; max-width: 100%; }

/* ---------- الأيقونات (SVG مدمجة — تعمل دائمًا بلا اعتماد خارجي) ---------- */
svg.svg-icon {
  width: 1.2em; height: 1.2em;
  vertical-align: -0.22em;
  display: inline-block;
  flex-shrink: 0;
}
.sidebar nav a svg.svg-icon { width: 1.25rem; height: 1.25rem; opacity: 0.92; }
.card h3 svg.svg-icon, .card h2 svg.svg-icon, .page-title svg.svg-icon { color: var(--tiffany); margin-left: 2px; }
.verdict-callout svg.svg-icon { width: 1.9rem; height: 1.9rem; margin-top: 2px; }
.plan-badge svg.svg-icon { width: 0.95em; height: 0.95em; }

html { font-size: 15px; }

body {
  font-family: "Tajawal", "Segoe UI", system-ui, sans-serif;
  background: var(--bg);
  color: var(--text);
  direction: rtl;
  min-height: 100vh;
}

a { color: var(--tiffany-deep); text-decoration: none; transition: color 0.15s; }
a:hover { color: var(--gold); }

/* ---------- التخطيط ---------- */
.layout { display: flex; min-height: 100vh; }

.sidebar {
  width: 240px;
  background: linear-gradient(180deg, var(--tiffany-darker) 0%, var(--tiffany-deep) 55%, #0a9c97 100%);
  color: #e8fbfa;
  padding: 24px 0;
  flex-shrink: 0;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}
.sidebar .brand {
  font-size: 1.6rem; font-weight: 800; color: #fff;
  padding: 0 24px 6px;
}
.sidebar .brand span { color: var(--gold-light); }
.sidebar .tagline { font-size: 0.75rem; color: #b8e8e6; padding: 0 24px 20px; }
.sidebar nav a {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 24px; color: #d3f1ef; font-size: 0.95rem;
  border-right: 3px solid transparent;
  transition: all 0.15s;
}
.sidebar nav a:hover { background: rgba(255,255,255,0.1); color: #fff; }
.sidebar nav a.active {
  background: rgba(255,255,255,0.14); color: #fff;
  border-right-color: var(--gold-light);
}
.sidebar .nav-section {
  font-size: 0.7rem; color: #9ed8d5; padding: 18px 24px 6px;
  letter-spacing: 0.5px;
}

.main { flex: 1; display: flex; flex-direction: column; min-width: 0; }

.topbar {
  background: rgba(255,255,255,0.9); backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--border);
  padding: 14px 28px; display: flex; align-items: center; justify-content: space-between;
  gap: 16px; position: sticky; top: 0; z-index: 10;
}
.topbar .page-title { font-size: 1.15rem; font-weight: 700; color: var(--tiffany-darker); }
.topbar .user-area { display: flex; align-items: center; gap: 14px; font-size: 0.9rem; }
.plan-badge {
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  color: #fff; font-size: 0.72rem;
  padding: 3px 12px; border-radius: 20px; font-weight: 700;
}

.content { padding: 28px; max-width: 1280px; width: 100%; margin: 0 auto; }

/* ---------- البطاقات ---------- */
.card {
  background: var(--card); border: 1px solid var(--border);
  border-radius: var(--radius); box-shadow: var(--shadow);
  padding: 20px; margin-bottom: 20px;
  transition: box-shadow 0.2s;
}
.card:hover { box-shadow: var(--shadow-hover); }
.card h2, .card h3 { color: var(--tiffany-darker); margin-bottom: 14px; font-size: 1.05rem; }
.card .sub { color: var(--muted); font-size: 0.82rem; margin-top: -10px; margin-bottom: 14px; }

.grid { display: grid; gap: 20px; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }

/* ---------- أيقونة الشركة ---------- */
.avatar {
  width: 38px; height: 38px; border-radius: 12px; flex-shrink: 0;
  background: linear-gradient(135deg, var(--mint), var(--tiffany-light));
  color: var(--tiffany-darker);
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 1rem;
  border: 1px solid var(--tiffany-light);
}

/* ---------- الدرجات ---------- */
.score-ring {
  --pct: 0; --ring-color: var(--tiffany);
  width: 116px; height: 116px; border-radius: 50%;
  background: conic-gradient(var(--ring-color) calc(var(--pct) * 1%), #e3f2f1 0);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto;
  box-shadow: inset 0 0 0 4px rgba(255,255,255,0.6);
}
.score-ring .inner {
  width: 88px; height: 88px; border-radius: 50%;
  background: var(--card); display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  box-shadow: 0 2px 8px rgba(10,186,181,0.12);
}
.score-ring .value { font-size: 1.8rem; font-weight: 800; color: var(--tiffany-darker); line-height: 1; }
.score-ring .of { font-size: 0.65rem; color: var(--muted); }

.score-pill {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 54px; padding: 5px 12px; border-radius: 12px;
  font-weight: 800; font-size: 0.95rem;
}
.score-high { background: var(--green-bg); color: var(--green); box-shadow: inset 0 0 0 1px #bfe9d8; }
.score-mid { background: var(--amber-bg); color: var(--amber); box-shadow: inset 0 0 0 1px #f3ddb8; }
.score-low { background: var(--red-bg); color: var(--red); box-shadow: inset 0 0 0 1px #f6cfcf; }

.score-bar { background: var(--mint); border-radius: 8px; height: 9px; overflow: hidden; flex: 1; }
.score-bar > span {
  display: block; height: 100%; border-radius: 8px;
  background: linear-gradient(90deg, var(--tiffany), var(--tiffany-light));
}
.component-row { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; font-size: 0.88rem; }
.component-row .label { width: 150px; color: var(--text); }
.component-row .num { width: 36px; font-weight: 700; color: var(--tiffany-deep); text-align: left; }

/* ---------- الشارات ---------- */
.badge {
  display: inline-block; padding: 3px 11px; border-radius: 20px;
  font-size: 0.75rem; font-weight: 700;
}
.badge-green { background: var(--green-bg); color: var(--green); }
.badge-red { background: var(--red-bg); color: var(--red); }
.badge-amber { background: var(--amber-bg); color: var(--amber); }
.badge-navy { background: var(--mint); color: var(--tiffany-deep); }
.badge-gold { background: #faf1df; color: #b8862e; }

.up { color: var(--green); font-weight: 700; }
.down { color: var(--red); font-weight: 700; }

/* ---------- الجداول ---------- */
table.data { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
table.data th {
  text-align: right; color: var(--muted); font-weight: 600; font-size: 0.78rem;
  padding: 8px 10px; border-bottom: 2px solid var(--border);
}
table.data td { padding: 11px 10px; border-bottom: 1px solid #e8f5f4; }
table.data tr:last-child td { border-bottom: none; }
table.data tr:hover td { background: var(--mint); }

/* ---------- القوائم التفسيرية ---------- */
ul.reasons { list-style: none; }
ul.reasons li {
  padding: 8px 30px 8px 10px; position: relative; font-size: 0.88rem;
  border-bottom: 1px dashed var(--border);
}
ul.reasons li:last-child { border-bottom: none; }
ul.reasons li::before {
  position: absolute; right: 8px; font-weight: 800;
}
ul.reasons.pos li::before { content: "+"; color: var(--green); }
ul.reasons.neg li::before { content: "−"; color: var(--red); }
ul.reasons.neutral li::before { content: "•"; color: var(--tiffany); }

/* ---------- النماذج ---------- */
.form-group { margin-bottom: 16px; }
.form-group label { display: block; font-size: 0.85rem; font-weight: 600; margin-bottom: 6px; color: var(--tiffany-darker); }
input[type=text], input[type=password], input[type=email], input[type=number], select, textarea {
  width: 100%; padding: 10px 14px; border: 1px solid var(--border);
  border-radius: 12px; font-family: inherit; font-size: 0.92rem;
  background: #fbfffe; color: var(--text);
  transition: border-color 0.15s, box-shadow 0.15s;
}
input:focus, select:focus, textarea:focus {
  outline: none; border-color: var(--tiffany);
  box-shadow: 0 0 0 3px rgba(10, 186, 181, 0.15);
}

.btn {
  display: inline-block; padding: 10px 22px; border-radius: 12px;
  border: none; cursor: pointer; font-family: inherit; font-weight: 700;
  font-size: 0.9rem; transition: all 0.15s;
}
.btn-primary { background: linear-gradient(135deg, var(--tiffany-deep), var(--tiffany)); color: #fff; }
.btn-primary:hover { filter: brightness(1.08); color: #fff; transform: translateY(-1px); }
.btn-gold { background: linear-gradient(135deg, var(--gold), var(--gold-light)); color: #fff; }
.btn-gold:hover { filter: brightness(1.06); color: #fff; transform: translateY(-1px); }
.btn-outline { background: transparent; border: 1.5px solid var(--tiffany); color: var(--tiffany-deep); }
.btn-outline:hover { background: var(--tiffany); color: #fff; }
.btn-sm { padding: 6px 14px; font-size: 0.8rem; }
.btn-danger { background: var(--red-bg); color: var(--red); }
.btn-askme {
  background: var(--mint); color: var(--tiffany-deep);
  border: 1px solid var(--tiffany-light);
}
.btn-askme:hover { background: var(--tiffany); color: #fff; transform: translateY(-1px); }
.btn-icon {
  width: 34px; height: 31px; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 10px;
}
.btn-icon svg.svg-icon { width: 1.15rem; height: 1.15rem; }

/* ---------- توصيات بصيرة الحية ---------- */
.insights-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 900px) { .insights-grid { grid-template-columns: 1fr; } }
.insight-card {
  border-radius: 16px; padding: 16px;
  display: flex; flex-direction: column; gap: 8px;
  border: 1px solid; position: relative; overflow: hidden;
  animation: fadeUp 0.45s ease both;
  transition: transform 0.15s, box-shadow 0.15s;
}
.insight-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-hover); }
.insight-card:nth-child(2) { animation-delay: 0.07s; }
.insight-card:nth-child(3) { animation-delay: 0.14s; }
.insight-card:nth-child(4) { animation-delay: 0.21s; }
.insight-card:nth-child(5) { animation-delay: 0.28s; }
.insight-card:nth-child(6) { animation-delay: 0.35s; }
.insight-card .ic-head { display: flex; align-items: center; gap: 10px; }
.insight-card .ic-icon {
  width: 38px; height: 38px; border-radius: 12px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.insight-card .ic-icon svg.svg-icon { width: 1.35rem; height: 1.35rem; }
.insight-card .ic-title { font-weight: 800; font-size: 0.95rem; line-height: 1.5; }
.insight-card .ic-text { font-size: 0.8rem; line-height: 1.8; color: var(--muted); flex: 1; }
.insight-card .ic-actions { display: flex; gap: 6px; }
.signal-badge {
  display: inline-flex; align-items: center; gap: 5px;
  align-self: flex-start; font-weight: 800; font-size: 0.72rem;
  padding: 4px 11px; border-radius: 16px; border: 1px solid;
}
.signal-badge svg.svg-icon { width: 0.9rem; height: 0.9rem; }
.sig-green { background: #157a59; color: #fff; border-color: #157a59; }
.sig-gold { background: var(--gold); color: #fff; border-color: var(--gold); }
.sig-red { background: var(--red); color: #fff; border-color: var(--red); }
.sig-amber { background: var(--amber); color: #fff; border-color: var(--amber); }
.sig-navy { background: var(--tiffany-deep); color: #fff; border-color: var(--tiffany-deep); }

/* ---------- إشارة بصيرة الواضحة (شراء/احتفاظ/بيع) ---------- */
.action-badge {
  display: inline-flex; align-items: center; gap: 6px;
  font-weight: 800; font-size: 0.82rem;
  padding: 6px 14px; border-radius: 20px; border: 1.5px solid;
  white-space: nowrap;
}
.action-badge svg.svg-icon { width: 1rem; height: 1rem; }
.act-buy-strong { background: #157a59; color: #fff; border-color: #157a59; }
.act-buy { background: var(--green-bg); color: #157a59; border-color: #9bdcc1; }
.act-hold { background: #eef6f5; color: var(--tiffany-darker); border-color: var(--tiffany-light); }
.act-reduce { background: var(--amber-bg); color: #9c6c1e; border-color: #f0ddba; }
.act-sell { background: var(--red); color: #fff; border-color: var(--red); }

/* النسخة الكبيرة في صفحة السهم */
.action-hero { display: flex; align-items: center; gap: 14px; border-radius: 14px; padding: 14px 18px; margin-top: 14px; border: 1.5px solid; }
.action-hero .ah-icon { width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.action-hero .ah-icon svg.svg-icon { width: 1.5rem; height: 1.5rem; }
.action-hero .ah-label { font-weight: 800; font-size: 1.15rem; }
.action-hero .ah-desc { font-size: 0.85rem; opacity: 0.9; margin-top: 2px; }
.ah-buy-strong { background: #157a59; color: #fff; border-color: #157a59; }
.ah-buy-strong .ah-icon, .ah-sell .ah-icon { background: rgba(255,255,255,0.2); color: #fff; }
.ah-buy { background: var(--green-bg); color: #157a59; border-color: #9bdcc1; }
.ah-buy .ah-icon { background: #157a59; color: #fff; }
.ah-hold { background: #eef6f5; color: var(--tiffany-darker); border-color: var(--tiffany-light); }
.ah-hold .ah-icon { background: var(--tiffany-deep); color: #fff; }
.ah-reduce { background: var(--amber-bg); color: #9c6c1e; border-color: #f0ddba; }
.ah-reduce .ah-icon { background: var(--amber); color: #fff; }
.ah-sell { background: var(--red); color: #fff; border-color: var(--red); }

/* ---------- نظرة بصيرة اليومية على الأسهم المتابَعة ---------- */
.briefing-card { border: 2px solid var(--tiffany-light); }
.day-summary { display: flex; gap: 10px; flex-wrap: wrap; margin: 10px 0 4px; }
.day-summary .ds-item {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 0.82rem; font-weight: 800; padding: 6px 14px; border-radius: 20px;
}
.day-summary .ds-item svg.svg-icon { width: 1rem; height: 1rem; }
.day-summary .ds-green { background: var(--green-bg); color: #157a59; }
.day-summary .ds-navy { background: var(--mint); color: var(--tiffany-deep); }
.day-summary .ds-amber { background: var(--amber-bg); color: #9c6c1e; }
.briefing-list { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }
.briefing-row {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px; border-radius: 14px;
  background: #fbfffe; border: 1px solid var(--border);
  border-right: 5px solid var(--tiffany);
  animation: fadeUp 0.4s ease both;
}
.briefing-row.brief-red { border-right-color: var(--red); background: #fef6f6; }
.briefing-row.brief-amber { border-right-color: var(--amber); background: #fdf9f1; }
.briefing-row.brief-navy { border-right-color: var(--tiffany); }
.briefing-row.brief-green { border-right-color: var(--green); background: #f6fdfa; }
.briefing-row .brief-main { flex: 1; min-width: 0; }
.briefing-row .brief-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.briefing-row .brief-top .name { font-weight: 800; color: var(--tiffany-darker); }
.briefing-row .brief-price { font-size: 0.82rem; color: var(--muted); }
.briefing-row .brief-note { font-size: 0.83rem; color: var(--text); margin-top: 3px; line-height: 1.7; }
.brief-verdict { display: flex; flex-direction: column; gap: 5px; align-items: flex-start; flex-shrink: 0; }
.brief-verb { font-weight: 800; font-size: 0.95rem; }
.brief-verb.v-green { color: var(--green); }
.brief-verb.v-navy { color: var(--tiffany-deep); }
.brief-verb.v-amber { color: var(--amber); }
.brief-verb.v-red { color: var(--red); }
.brief-actions { display: flex; gap: 6px; flex-shrink: 0; }
[data-theme="dark"] .briefing-row { background: #102220; }
[data-theme="dark"] .briefing-row.brief-red { background: rgba(232,121,121,0.08); }
[data-theme="dark"] .briefing-row.brief-amber { background: rgba(217,147,66,0.08); }
[data-theme="dark"] .briefing-row.brief-green { background: rgba(31,169,124,0.08); }
@media (max-width: 760px) {
  /* الجوال: النص يأخذ سطره كاملًا، والقرار والأزرار تنزل تحته بعرض كامل (لا ينحشر النص) */
  .briefing-row { flex-wrap: wrap; align-items: flex-start; row-gap: 9px; }
  .briefing-row .brief-main { flex: 1 1 60%; min-width: 0; }
  .brief-verdict { flex: 1 1 100%; flex-direction: row; align-items: center; gap: 12px; }
  .brief-actions { flex: 1 1 100%; }
  .briefing-row .brief-note,
  .brief-outlook { white-space: normal; }
}

/* ---------- مركز متابعة الاستثمارات ---------- */
.position-form .form-row { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
.position-form .form-group { flex: 1; min-width: 160px; margin-bottom: 0; }
.position-card { border-right: 5px solid var(--tiffany); }
.position-card.pos-red { border-right-color: var(--red); }
.position-card.pos-amber { border-right-color: var(--amber); }
.position-card.pos-green { border-right-color: var(--green); }
.position-card.pos-navy { border-right-color: var(--tiffany); }
.pos-grid { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.pos-stock { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 200px; }
.pos-stock .name { font-weight: 800; color: var(--tiffany-darker); }
.pos-pnl { text-align: center; min-width: 110px; }
.pos-pnl .pnl-val { font-size: 1.1rem; font-weight: 800; }
.pos-pnl .pnl-pct { font-size: 0.85rem; font-weight: 700; }
.pos-guide { flex: 2; min-width: 240px; border-radius: 12px; padding: 10px 14px; }
.pos-guide .guide-verb { font-weight: 800; font-size: 0.98rem; margin-bottom: 2px; }
.pos-guide .guide-note { font-size: 0.82rem; line-height: 1.7; }
.guide-green { background: var(--green-bg); color: #157a59; }
.guide-amber { background: var(--amber-bg); color: #9c6c1e; }
.guide-red { background: var(--red-bg); color: #b3454a; }
.guide-navy { background: var(--mint); color: var(--tiffany-darker); }
.pos-actions { display: flex; gap: 6px; align-items: center; }
@media (max-width: 760px) {
  .pos-grid { gap: 10px; }
  .pos-pnl, .pos-guide { min-width: 100%; text-align: right; }
}

/* ---------- مستشار بصيرة: المستطيل + النافذة ---------- */
.advisor-cta {
  display: flex; align-items: center; gap: 16px; width: 100%;
  background: linear-gradient(135deg, var(--tiffany-darker), var(--tiffany-deep) 55%, var(--tiffany));
  border: none; cursor: pointer; text-align: right;
  border-radius: 18px; padding: 20px 24px; margin-bottom: 20px;
  color: #fff; box-shadow: var(--shadow);
  transition: transform 0.18s, box-shadow 0.18s;
}
.advisor-cta:hover { transform: translateY(-2px); box-shadow: var(--shadow-hover); }
.advisor-cta .advisor-cta-icon {
  width: 54px; height: 54px; border-radius: 16px; flex-shrink: 0;
  background: rgba(255,255,255,0.18); display: flex; align-items: center; justify-content: center;
}
.advisor-cta .advisor-cta-icon svg.svg-icon { width: 2rem; height: 2rem; }
.advisor-cta .advisor-cta-text { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.advisor-cta .advisor-cta-title { font-weight: 800; font-size: 1.15rem; }
.advisor-cta .advisor-cta-sub { font-size: 0.85rem; color: #c9efed; }
.advisor-cta .advisor-cta-btn {
  flex-shrink: 0; background: linear-gradient(135deg, var(--gold), var(--gold-light));
  color: #fff; font-weight: 800; padding: 12px 22px; border-radius: 12px;
  display: inline-flex; align-items: center; gap: 8px;
}
@media (max-width: 640px) {
  .advisor-cta { flex-direction: column; text-align: center; }
  .advisor-cta .advisor-cta-title { justify-content: center; }
}

.advisor-overlay { position: fixed; inset: 0; z-index: 320; background: rgba(6,50,48,0.5); backdrop-filter: blur(3px); animation: overlayIn 0.2s ease both; }
.advisor-overlay[hidden], .advisor-modal[hidden] { display: none !important; }
.advisor-modal {
  position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 330;
  width: 620px; max-width: calc(100vw - 24px); max-height: 88vh; overflow-y: auto;
  background: var(--card); border-radius: 22px; box-shadow: 0 30px 80px rgba(4,60,58,0.4);
  animation: popIn 0.25s cubic-bezier(0.2,0.8,0.3,1) both;
}
.advisor-head {
  display: flex; align-items: center; justify-content: space-between;
  background: linear-gradient(135deg, var(--tiffany-darker), var(--tiffany-deep));
  color: #fff; padding: 16px 22px; font-weight: 800; font-size: 1.1rem;
  border-radius: 22px 22px 0 0;
}
.advisor-head button { background: none; border: none; color: #fff; cursor: pointer; font-size: 1.1rem; }
.advisor-steps { display: flex; gap: 8px; padding: 14px 22px 0; flex-wrap: wrap; }
.advisor-steps .astep { font-size: 0.78rem; font-weight: 700; color: var(--muted); background: var(--mint); padding: 5px 12px; border-radius: 16px; }
.advisor-steps .astep.active { background: var(--tiffany); color: #fff; }
.advisor-body { padding: 18px 22px 24px; }
.advisor-body .opt-grid { display: flex; gap: 8px; flex-wrap: wrap; }
.advisor-body .opt {
  flex: 1; min-width: 130px; background: var(--mint); border: 1.5px solid var(--border);
  border-radius: 12px; padding: 12px; cursor: pointer; font-family: inherit; font-weight: 700;
  font-size: 0.85rem; color: var(--tiffany-darker); display: inline-flex; align-items: center; gap: 6px; justify-content: center;
}
.advisor-body .opt.active { background: var(--tiffany); color: #fff; border-color: var(--tiffany); }
.advisor-body .opt svg.svg-icon { width: 1.1rem; height: 1.1rem; }

.adv-results { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.adv-pick {
  display: flex; align-items: center; gap: 12px; cursor: pointer;
  border: 1.5px solid var(--border); border-radius: 14px; padding: 12px 14px;
  transition: all 0.15s;
}
.adv-pick:hover { border-color: var(--tiffany); background: var(--mint); transform: translateX(-3px); }
.adv-pick .ap-rank { width: 28px; height: 28px; border-radius: 50%; background: var(--tiffany); color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.adv-pick .ap-main { flex: 1; min-width: 0; }
.adv-pick .ap-name { font-weight: 800; color: var(--tiffany-darker); }
.adv-pick .ap-meta { font-size: 0.78rem; color: var(--muted); margin: 2px 0; }
.adv-pick .ap-reason { font-size: 0.8rem; color: var(--text); }
.adv-pick .ap-side { display: flex; flex-direction: column; gap: 5px; align-items: flex-end; flex-shrink: 0; }

.adv-help-box {
  background: linear-gradient(135deg, var(--mint), #f3fbfa);
  border: 1.5px solid var(--tiffany-light); border-radius: 14px;
  padding: 14px 16px; margin-bottom: 14px;
  animation: fadeUp 0.3s ease both;
}
.adv-help-box .ahb-title { font-weight: 800; color: var(--tiffany-darker); display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.adv-help-box .ahb-title svg.svg-icon { width: 1.2rem; height: 1.2rem; }
.adv-help-box .ahb-body { font-size: 0.88rem; line-height: 1.9; color: var(--text); }
.adv-help-box .ahb-pick {
  display: flex; align-items: center; gap: 10px; justify-content: space-between;
  background: var(--card); border: 1.5px solid var(--tiffany-light);
  border-radius: 12px; padding: 12px 14px; margin: 8px 0;
}
.adv-help-box .ahbp-name { font-weight: 800; color: var(--tiffany-darker); }
.adv-help-box .ahbp-meta { font-size: 0.8rem; color: var(--muted); margin-top: 2px; }
.adv-help-box .ahb-why { font-size: 0.83rem; color: var(--text); line-height: 1.8; }
.adv-pick.adv-pick-best {
  border-color: var(--gold); background: linear-gradient(135deg, #fdf8ec, #faf0d8);
  position: relative;
}
.adv-pick.adv-pick-best::after {
  content: "⭐ اختيار بصيرة"; position: absolute; top: -10px; left: 12px;
  background: var(--gold); color: #fff; font-size: 0.68rem; font-weight: 800;
  padding: 2px 10px; border-radius: 12px;
}

.adv-confirm-card .acc-name { font-size: 1.2rem; font-weight: 800; color: var(--tiffany-darker); margin-bottom: 12px; }
.adv-confirm-card .acc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.adv-confirm-card .acc-n { font-size: 1.4rem; font-weight: 800; color: var(--tiffany-deep); text-align: center; }
.adv-confirm-card .acc-l { font-size: 0.72rem; color: var(--muted); text-align: center; }
.adv-confirm-card .acc-note { background: var(--mint); border-radius: 12px; padding: 11px 14px; font-size: 0.82rem; line-height: 1.8; margin: 14px 0; display: flex; gap: 6px; }
.adv-confirm-card .acc-note svg.svg-icon { width: 1.1rem; height: 1.1rem; flex-shrink: 0; color: var(--tiffany-deep); }

/* ---------- مستطيل الإضافة (يحوّل للسوق) ---------- */
.add-cta {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  background: linear-gradient(135deg, #fdf3dd, #f8e7bf);
  border: 1.5px solid #ecd9ad; border-radius: 16px;
  padding: 18px 22px; margin-bottom: 20px;
  text-decoration: none; transition: all 0.18s;
  box-shadow: var(--shadow);
}
.add-cta:hover { transform: translateY(-2px); box-shadow: var(--shadow-hover); border-color: var(--gold); }
.add-cta .add-cta-text { display: flex; flex-direction: column; gap: 3px; }
.add-cta .add-cta-title { font-weight: 800; font-size: 1.1rem; color: #9c7626; display: flex; align-items: center; gap: 8px; }
.add-cta .add-cta-title svg.svg-icon { width: 1.3rem; height: 1.3rem; }
.add-cta .add-cta-sub { font-size: 0.84rem; color: #b08a4a; }
.add-cta .add-cta-btn {
  flex-shrink: 0; background: linear-gradient(135deg, var(--gold), var(--gold-light));
  color: #fff; font-weight: 800; font-size: 0.92rem;
  padding: 11px 20px; border-radius: 12px;
  display: inline-flex; align-items: center; gap: 8px;
}
@media (max-width: 600px) {
  .add-cta { flex-direction: column; align-items: stretch; text-align: center; }
  .add-cta .add-cta-title { justify-content: center; }
  .add-cta .add-cta-btn { justify-content: center; }
}

/* ---------- شريط الإجمالي المختصر ---------- */
.totals-strip { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; padding: 14px 18px; }
.totals-strip .ts-title { font-weight: 800; color: var(--tiffany-darker); display: flex; align-items: center; gap: 6px; }
.totals-strip .ts-item { display: flex; flex-direction: column; }
.totals-strip .ts-n { font-size: 1.15rem; font-weight: 800; color: var(--tiffany-darker); }
.totals-strip .ts-l { font-size: 0.72rem; color: var(--muted); }

/* ---------- بطاقة مركز تفصيلية ---------- */
.pos2 { border-right: 6px solid var(--tiffany); }
.pos2-red { border-right-color: var(--red); }
.pos2-amber { border-right-color: var(--amber); }
.pos2-green { border-right-color: var(--green); }
.pos2-navy { border-right-color: var(--tiffany); }
.pos2-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pos2-stock { display: flex; align-items: center; gap: 10px; }
.pos2-stock .name { font-weight: 800; font-size: 1.05rem; color: var(--tiffany-darker); }
.pos2-headactions { display: flex; gap: 6px; }
.pos2-stats {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(108px, 1fr)); gap: 10px;
  margin: 14px 0; padding: 14px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
}
.pos2-stats .ps { text-align: center; }
.pos2-stats .ps-n { font-size: 1.25rem; font-weight: 800; color: var(--tiffany-darker); line-height: 1.2; }
/* كل رقم بلونه حسب حالته (الأخضر/الأحمر يغلب على اللون الافتراضي) */
.pos2-stats .ps-n.up { color: var(--green); }
.pos2-stats .ps-n.down { color: var(--red); }
.pos2-stats .ps-n .ps-day { display: block; font-size: 0.72rem; font-weight: 700; margin-top: 1px; }
.pos2-stats .ps-l { font-size: 0.72rem; color: var(--muted); margin-top: 3px; }
.pos2-guide { border-radius: 12px; padding: 12px 16px; }
.pos2-guide .g2-verb { display: block; font-weight: 800; font-size: 0.98rem; margin-bottom: 3px; display: flex; align-items: center; gap: 6px; }
.pos2-guide .g2-verb svg.svg-icon { width: 1.1rem; height: 1.1rem; }
.pos2-guide .g2-note { font-size: 0.85rem; line-height: 1.8; }
@media (max-width: 900px) { .pos2-stats { grid-template-columns: repeat(3, 1fr); gap: 14px; } }
@media (max-width: 480px) { .pos2-stats { grid-template-columns: repeat(2, 1fr); } }

/* ---------- صف متابعة جاهز للتسجيل ---------- */
.watch-track-row {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 10px 6px; border-bottom: 1px solid #e8f5f4;
}
.watch-track-row:last-child { border-bottom: none; }
.watch-track-row .wt-stock { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 180px; }
.watch-track-row .wt-stock .name { font-weight: 700; color: var(--tiffany-darker); }
.watch-track-row input { margin: 0; }
@media (max-width: 760px) {
  .watch-track-row .wt-stock { min-width: 100%; }
  .watch-track-row input { flex: 1; max-width: none !important; }
}

/* مفتاح توضيحي للإشارات */
.signal-legend { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
.signal-legend .lg { display: inline-flex; align-items: center; gap: 5px; font-size: 0.72rem; color: var(--muted); }
.signal-legend .dot { width: 11px; height: 11px; border-radius: 50%; display: inline-block; }

.ins-green { background: linear-gradient(135deg, #f0fbf6, #e2f6ee); border-color: #bfe9d8; }
.ins-green .ic-icon { background: var(--green); color: #fff; }
.ins-green .ic-title { color: #157a59; }
.ins-red { background: linear-gradient(135deg, #fdf1f1, #fbe5e5); border-color: #f3cccc; }
.ins-red .ic-icon { background: var(--red); color: #fff; }
.ins-red .ic-title { color: #b35454; }
.ins-gold { background: linear-gradient(135deg, #fdf8ec, #faf0d8); border-color: #ecdcb4; }
.ins-gold .ic-icon { background: var(--gold); color: #fff; }
.ins-gold .ic-title { color: #9c7626; }
.ins-navy { background: linear-gradient(135deg, #eefafa, #e0f5f4); border-color: var(--tiffany-light); }
.ins-navy .ic-icon { background: var(--tiffany-deep); color: #fff; }
.ins-navy .ic-title { color: var(--tiffany-darker); }
.ins-amber { background: linear-gradient(135deg, #fdf6ec, #fbeeD8); border-color: #f0ddba; }
.ins-amber .ic-icon { background: var(--amber); color: #fff; }
.ins-amber .ic-title { color: #9c6c1e; }

[data-theme="dark"] .ins-green { background: rgba(31,169,124,0.1); border-color: rgba(31,169,124,0.3); }
[data-theme="dark"] .ins-red { background: rgba(232,121,121,0.1); border-color: rgba(232,121,121,0.3); }
[data-theme="dark"] .ins-gold { background: rgba(217,168,92,0.1); border-color: rgba(217,168,92,0.3); }
[data-theme="dark"] .ins-navy { background: rgba(10,186,181,0.08); border-color: rgba(10,186,181,0.3); }
[data-theme="dark"] .ins-amber { background: rgba(217,147,66,0.1); border-color: rgba(217,147,66,0.3); }
[data-theme="dark"] .ins-green .ic-title { color: #7fd9b6; }
[data-theme="dark"] .ins-red .ic-title { color: #f0a3a3; }
[data-theme="dark"] .ins-gold .ic-title { color: #ecc98f; }
[data-theme="dark"] .ins-navy .ic-title { color: #8fdbd6; }
[data-theme="dark"] .ins-amber .ic-title { color: #e8b576; }

/* ---------- رسائل النظام ---------- */
.messages { margin-bottom: 18px; }
.msg {
  padding: 12px 18px; border-radius: 12px; margin-bottom: 8px; font-size: 0.9rem;
}
.msg-success { background: var(--green-bg); color: var(--green); }
.msg-warning { background: var(--amber-bg); color: var(--amber); }
.msg-error { background: var(--red-bg); color: var(--red); }
.msg-info { background: var(--mint); color: var(--tiffany-deep); }

/* ---------- الرسائل المنبثقة (Toast) ---------- */
.toast-overlay {
  position: fixed; inset: 0; z-index: 400;
  display: flex; align-items: flex-start; justify-content: center;
  padding-top: 12vh; pointer-events: none;
  background: rgba(6, 50, 48, 0.28); backdrop-filter: blur(2px);
  animation: overlayIn 0.2s ease both;
}
.toast-overlay.toast-hide { animation: overlayOut 0.3s ease both; }
@keyframes overlayOut { to { opacity: 0; } }
.toast {
  pointer-events: auto;
  width: 440px; max-width: calc(100vw - 32px);
  background: var(--card); border: 1px solid var(--border);
  border-radius: 16px; box-shadow: 0 20px 60px rgba(4, 60, 58, 0.3);
  padding: 18px 20px; margin-bottom: 12px;
  display: flex; gap: 12px; align-items: flex-start;
  border-top: 4px solid var(--tiffany);
  animation: toastPop 0.32s cubic-bezier(0.2, 0.9, 0.3, 1.2) both;
}
@keyframes toastPop {
  from { opacity: 0; transform: translateY(-24px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.toast .toast-icon { flex-shrink: 0; display: flex; }
.toast .toast-icon svg.svg-icon { width: 1.7rem; height: 1.7rem; }
.toast .toast-body { flex: 1; font-size: 0.92rem; line-height: 1.85; font-weight: 600; }
.toast .toast-close {
  background: none; border: none; cursor: pointer; color: var(--muted);
  font-size: 1rem; flex-shrink: 0; padding: 2px 4px;
}
.toast-success { border-top-color: var(--green); }
.toast-success .toast-icon { color: var(--green); }
.toast-error { border-top-color: var(--red); }
.toast-error .toast-icon { color: var(--red); }
.toast-warning { border-top-color: var(--amber); }
.toast-warning .toast-icon { color: var(--amber); }
.toast-info { border-top-color: var(--tiffany); }
.toast-info .toast-icon { color: var(--tiffany-deep); }

/* ---------- التنبيه القانوني ---------- */
.disclaimer {
  background: #fbf7ec; border: 1px solid #eee0c2; color: #8a7344;
  border-radius: 12px; padding: 12px 18px; font-size: 0.78rem;
  margin: 24px 0; line-height: 1.7;
}

/* ---------- بطاقة سهم ---------- */
.stock-card {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 8px; border-bottom: 1px solid #e8f5f4; gap: 12px;
  border-radius: 10px;
  transition: background 0.15s, transform 0.15s;
}
.stock-card:hover { background: var(--mint); transform: translateX(-3px); }
.stock-card:last-child { border-bottom: none; }
.stock-card .name { font-weight: 700; font-size: 0.92rem; color: var(--tiffany-darker); }
.stock-card .meta { font-size: 0.75rem; color: var(--muted); }
.stock-card .right { display: flex; align-items: center; gap: 10px; min-width: 0; }

/* ---------- المحادثة ---------- */
.chat-box { display: flex; flex-direction: column; gap: 14px; max-height: 60vh; overflow-y: auto; padding: 6px; }
.chat-msg { max-width: 78%; padding: 13px 18px; border-radius: 18px; font-size: 0.9rem; line-height: 1.8; white-space: pre-line; }
.chat-user {
  background: linear-gradient(135deg, var(--tiffany-deep), var(--tiffany));
  color: #fff; align-self: flex-start; border-bottom-right-radius: 4px;
}
.chat-assistant { background: var(--mint); color: var(--text); align-self: flex-end; border-bottom-left-radius: 4px; }

.suggested-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.suggested-chips button {
  background: var(--mint); border: 1px solid var(--border); color: var(--tiffany-deep);
  border-radius: 20px; padding: 7px 16px; font-family: inherit; font-size: 0.8rem; cursor: pointer;
  transition: all 0.15s;
}
.suggested-chips button:hover { background: var(--tiffany); color: #fff; }

/* ---------- صفحات الدخول ---------- */
.auth-wrap {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--tiffany-darker) 0%, var(--tiffany-deep) 45%, var(--tiffany) 100%);
  padding: 20px;
}
.auth-card {
  background: var(--card); border-radius: 22px; padding: 40px;
  width: 100%; max-width: 420px; box-shadow: 0 24px 70px rgba(4, 60, 58, 0.35);
}
.auth-card .brand { font-size: 2rem; font-weight: 800; color: var(--tiffany-darker); text-align: center; }
.auth-card .brand span { color: var(--gold); }
.auth-card .tagline { text-align: center; color: var(--muted); font-size: 0.85rem; margin-bottom: 26px; }

/* ---------- الأسعار ---------- */
.plan-card { text-align: center; position: relative; padding-top: 30px; }
.plan-card .price { font-size: 2.2rem; font-weight: 800; color: var(--tiffany-darker); margin: 10px 0; }
.plan-card .price small { font-size: 0.85rem; color: var(--muted); font-weight: 400; }
.plan-card ul { list-style: none; text-align: right; margin: 18px 0; }
.plan-card ul li { padding: 7px 24px 7px 0; position: relative; font-size: 0.85rem; border-bottom: 1px dashed var(--border); }
.plan-card ul li::before { content: "✓"; color: var(--tiffany); position: absolute; right: 4px; font-weight: 800; }
.plan-card.highlight { border: 2px solid var(--tiffany); }
.plan-card .ribbon {
  position: absolute; top: -13px; right: 50%; transform: translateX(50%);
  background: linear-gradient(135deg, var(--tiffany-deep), var(--tiffany));
  color: #fff; font-size: 0.72rem; font-weight: 700;
  padding: 4px 18px; border-radius: 20px;
}

/* ---------- تقرير الطباعة ---------- */
@media print {
  .sidebar, .topbar, .no-print { display: none !important; }
  .content { padding: 0; }
  body { background: #fff; }
  .card { box-shadow: none; break-inside: avoid; }
}

/* ---------- استجابة الجوال ---------- */
/* زر الهامبرغر — يظهر على الجوال فقط */
/* ===== شاشة/شريط التحميل عند التنقّل ===== */
#loadingBar { position: fixed; top: 0; left: 0; height: 3px; width: 0; z-index: 9999;
  background: linear-gradient(90deg, var(--tiffany), var(--gold-light)); }
#loadingBar.active { width: 92%; transition: width 9s cubic-bezier(0.1, 0.6, 0.2, 1); }
.loading-overlay { position: fixed; inset: 0; z-index: 9990; display: none;
  flex-direction: column; align-items: center; justify-content: center; gap: 14px;
  background: rgba(255,255,255,0.72); backdrop-filter: blur(2px); }
[data-theme="dark"] .loading-overlay { background: rgba(15,32,31,0.72); }
.loading-overlay.show { display: flex; }
.loading-overlay .loading-spin { width: 46px; height: 46px; border-radius: 50%;
  border: 4px solid var(--mint); border-top-color: var(--tiffany); animation: spin 0.8s linear infinite; }
.loading-overlay .loading-txt { color: var(--tiffany-deep); font-weight: 700; font-size: 0.9rem; }
@keyframes spin { to { transform: rotate(360deg); } }

/* قسم «أدوات متقدمة» القابل للطي في القائمة */
.nav-adv { margin: 2px 0; }
.nav-adv > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px;
  padding: 11px 24px; color: #fff; font-size: 0.92rem; font-weight: 800; user-select: none; }
.nav-adv > summary::-webkit-details-marker { display: none; }
.nav-adv > summary::after { content: "▾"; margin-inline-start: auto; transition: transform 0.2s; font-size: 1rem; }
.nav-adv[open] > summary::after { transform: rotate(180deg); }
.nav-adv > summary svg.svg-icon { width: 1.1rem; height: 1.1rem; }
.nav-adv > summary:hover { background: rgba(255,255,255,0.1); }

.menu-toggle {
  display: none;
  background: var(--mint); border: 1px solid var(--border);
  color: var(--tiffany-deep); cursor: pointer;
  width: 40px; height: 40px; border-radius: 12px;
  align-items: center; justify-content: center; flex-shrink: 0;
}
.menu-toggle svg.svg-icon { width: 1.5rem; height: 1.5rem; }
/* زر الرجوع */
.back-btn {
  display: inline-flex; align-items: center; gap: 5px; flex-shrink: 0;
  background: var(--mint); border: 1px solid var(--border); color: var(--tiffany-deep);
  cursor: pointer; height: 40px; padding: 0 14px; border-radius: 12px;
  font-family: inherit; font-size: 0.9rem; font-weight: 700; transition: background 0.15s;
}
.back-btn:hover { background: var(--tiffany); color: #fff; }
.back-btn span[aria-hidden] { font-size: 1.25em; line-height: 1; }

/* رسم وضع السهم داخل بطاقة المركز */
.pos-chart-row { display: flex; align-items: center; gap: 12px; margin-top: 12px; flex-wrap: wrap; }
.pos-chart-row .pos-spark { width: 170px; height: 46px; }
.pos-chart-row .chart-lbl { font-size: 0.75rem; }
@media (max-width: 640px) {
  .pos-chart-row .pos-spark { width: 100%; height: 54px; }
  .pos-chart-row .chart-lbl { display: none; }
  .pos-chart-row .btn { width: 100%; justify-content: center; }
}
.sidebar-overlay {
  position: fixed; inset: 0; z-index: 240;
  background: rgba(6, 50, 48, 0.5); backdrop-filter: blur(2px);
}
.sidebar-overlay[hidden] { display: none; }

@media (max-width: 980px) {
  .menu-toggle { display: inline-flex; }
  .layout { flex-direction: column; }
  /* الشريط الجانبي يصير درجًا منزلقًا من اليمين */
  .sidebar {
    position: fixed; top: 0; right: 0; bottom: 0; z-index: 250;
    width: 270px; max-width: 82vw; height: 100vh;
    transform: translateX(100%);
    transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.3, 1);
    box-shadow: -12px 0 40px rgba(4, 60, 58, 0.3);
  }
  body.menu-open .sidebar { transform: translateX(0); }
  .sidebar nav a { font-size: 0.95rem; padding: 12px 24px; }
  /* الشريط العلوي ثابت مع زر القائمة */
  .topbar { position: sticky; top: 0; z-index: 100; padding: 12px 16px; }
  .topbar .page-title { font-size: 1rem; }
  .topbar-search { display: none; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .content { padding: 14px; }
  .chat-msg { max-width: 95%; }
  /* الهيرو يتكدّس عموديًا */
  .hero { flex-direction: column; align-items: flex-start; text-align: right; }
  .hero .kpis { gap: 18px; }
  /* الجداول العريضة تنزلق أفقيًا بدل ما تتكسر */
  .card { overflow-x: auto; }
  table.data { min-width: 480px; }
}

@media (max-width: 560px) {
  .hero .kpis { gap: 14px; }
  .hero .hk .n { font-size: 1.4rem; }
  .kpi .num { font-size: 1.5rem; }
  .topbar .user-area { gap: 8px; }
  .plan-badge, .user-area > span { display: none; }
  .back-btn { padding: 0 10px; }
  .back-btn .back-label { display: none; }   /* سهم فقط على الجوال */
  .ai-top-btn span { display: none; }          /* أيقونة فقط لزر اسألني */
  .topbar { gap: 8px; }
  .menu-toggle, .back-btn { width: 40px; height: 40px; padding: 0; justify-content: center; }
  .heatmap { grid-template-columns: repeat(2, 1fr); }
  .insights-grid { grid-template-columns: 1fr; }
  .score-ring { width: 96px; height: 96px; }
  .score-ring .inner { width: 70px; height: 70px; }
}

.kpi { text-align: center; padding: 18px 10px; }
.kpi .num { font-size: 1.9rem; font-weight: 800; color: var(--tiffany-deep); }
.kpi .lbl { font-size: 0.78rem; color: var(--muted); margin-top: 4px; }

/* ---------- حركات الدخول ---------- */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
.content .card { animation: fadeUp 0.45s ease both; }
.content .card:nth-child(2) { animation-delay: 0.05s; }
.content .grid .card:nth-child(1) { animation-delay: 0.02s; }
.content .grid .card:nth-child(2) { animation-delay: 0.08s; }
.content .grid .card:nth-child(3) { animation-delay: 0.14s; }
.content .grid .card:nth-child(4) { animation-delay: 0.2s; }

@keyframes pulseRing {
  0%, 100% { box-shadow: inset 0 0 0 4px rgba(255,255,255,0.6), 0 0 0 0 rgba(10,186,181,0.25); }
  50% { box-shadow: inset 0 0 0 4px rgba(255,255,255,0.6), 0 0 0 14px rgba(10,186,181,0); }
}
.score-ring { animation: pulseRing 2.6s ease-in-out infinite; }

/* ---------- الهيرو ونبض السوق ---------- */
.hero {
  background: linear-gradient(135deg, var(--tiffany-darker) 0%, var(--tiffany-deep) 50%, var(--tiffany) 100%);
  border-radius: 20px; color: #fff; padding: 24px 28px; margin-bottom: 20px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  flex-wrap: wrap; position: relative; overflow: hidden;
  animation: fadeUp 0.4s ease both;
}
.hero::after {
  content: ""; position: absolute; left: -60px; top: -60px; width: 220px; height: 220px;
  background: radial-gradient(circle, rgba(255,255,255,0.18), transparent 70%);
  border-radius: 50%;
}
.hero h2 { color: #fff; font-size: 1.3rem; margin-bottom: 4px; }
.hero .sub { color: #c9efed; font-size: 0.85rem; }
.hero .kpis { display: flex; gap: 26px; flex-wrap: wrap; }
.hero .hk { text-align: center; }
.hero .hk .n { font-size: 1.7rem; font-weight: 800; }
.hero .hk .l { font-size: 0.72rem; color: #c9efed; }

.gauge { width: 150px; text-align: center; position: relative; z-index: 1; }
.gauge svg { width: 150px; height: 84px; overflow: visible; }
.gauge .track { stroke: rgba(255,255,255,0.25); }
.gauge .val-arc { transition: stroke-dashoffset 1.2s ease; }
.gauge .gnum { font-size: 1.6rem; font-weight: 800; margin-top: -38px; }
.gauge .glbl { font-size: 0.7rem; color: #c9efed; }

/* ---------- الخط المصغر (Sparkline) ---------- */
.spark-wrap { width: 110px; height: 32px; flex-shrink: 0; position: relative; cursor: crosshair; }
.spark-tip {
  position: absolute; bottom: 110%; transform: translateX(50%);
  background: var(--tiffany-darker); color: #fff; white-space: nowrap;
  font-size: 0.68rem; font-weight: 700; padding: 3px 8px; border-radius: 8px;
  pointer-events: none; z-index: 50; box-shadow: 0 4px 12px rgba(4,60,58,0.3);
}
.spark-tip[hidden] { display: none; }
svg.spark { width: 100%; height: 100%; display: block; }
svg.spark polyline { stroke-width: 2.2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
svg.spark .up-line { stroke: var(--green); }
svg.spark .down-line { stroke: var(--red); }
svg.spark .up-fill { fill: rgba(31, 169, 124, 0.12); }
svg.spark .down-fill { fill: rgba(232, 121, 121, 0.12); }

/* ---------- الخريطة الحرارية للقطاعات ---------- */
.heatmap { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.heat-tile {
  border-radius: 12px; padding: 10px 8px; text-align: center;
  background: hsl(var(--h), 60%, 91%); color: hsl(var(--h), 50%, 24%);
  border: 1px solid hsl(var(--h), 50%, 82%);
  transition: transform 0.15s;
}
.heat-tile:hover { transform: scale(1.05); }
.heat-tile .hs { font-size: 1.15rem; font-weight: 800; }
.heat-tile .hn { font-size: 0.66rem; line-height: 1.4; }
@media (max-width: 900px) { .heatmap { grid-template-columns: repeat(3, 1fr); } }

.arrow-up::before { content: "▲ "; font-size: 0.7rem; }
.arrow-down::before { content: "▼ "; font-size: 0.7rem; }

/* ---------- خلاصة التصنيف البارزة ---------- */
.verdict-callout {
  display: flex; align-items: flex-start; gap: 14px;
  border-radius: 14px; padding: 16px 18px; margin-top: 16px;
}
.verdict-callout i.mi { font-size: 1.9rem; margin-top: 2px; }
.verdict-callout .v-title { font-weight: 800; font-size: 1.05rem; margin-bottom: 4px; }
.verdict-callout .v-sub { font-size: 0.9rem; line-height: 1.8; }
.verdict-callout.v-high { background: var(--green-bg); color: var(--green); border: 1px solid #bfe9d8; }
.verdict-callout.v-mid { background: var(--amber-bg); color: var(--amber); border: 1px solid #f3ddb8; }
.verdict-callout.v-low { background: var(--red-bg); color: var(--red); border: 1px solid #f6cfcf; }

/* ---------- تحليل بصيرة التفصيلي: بطاقات أقسام مريحة ---------- */
.ai-report { display: grid; gap: 12px; }
.rpt-sec {
  --sec: var(--tiffany-deep);
  background: #fbfffe;
  border: 1px solid var(--border);
  border-right: 4px solid var(--sec);
  border-radius: 12px;
  padding: 14px 18px;
  font-size: 0.95rem;
  line-height: 2.15;
}
.rpt-sec p { margin-bottom: 6px; color: var(--text); }
.rpt-sec p:last-child { margin-bottom: 0; }
.rpt-sec-title {
  display: flex; align-items: center; gap: 8px;
  font-weight: 800; font-size: 1rem; color: var(--sec);
  margin-bottom: 6px;
}
.rpt-sec-title .svg-icon { width: 1.3rem; height: 1.3rem; }

/* ---------- شريط التمرير بلون تيفاني ---------- */
* { scrollbar-width: thin; scrollbar-color: var(--tiffany) var(--mint); }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: var(--mint); border-radius: 8px; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--tiffany), var(--tiffany-deep));
  border-radius: 8px; border: 2px solid var(--mint);
}
::-webkit-scrollbar-thumb:hover { background: var(--tiffany-deep); }

/* ---------- تلميحات شرح الأرقام ---------- */
.tip { position: relative; cursor: help; white-space: nowrap; }
.tip .q {
  display: inline-flex; align-items: center; justify-content: center;
  width: 13px; height: 13px; border-radius: 50%;
  background: var(--mint); color: var(--tiffany-deep);
  font-size: 0.58rem; font-weight: 800; margin: 0 4px;
  vertical-align: super; border: 1px solid var(--tiffany-light);
  opacity: 0.7;
}
.tip:hover .q { opacity: 1; }

/* ---------- وسم المتابعة ---------- */
.watch-tag {
  display: inline-flex; align-items: center; gap: 3px;
  background: #faf1df; color: #b8862e; border: 1px solid #ecd9ad;
  font-size: 0.66rem; font-weight: 800; padding: 1px 8px; border-radius: 12px;
  margin: 2px 0; vertical-align: middle;
}
.watch-tag svg.svg-icon { width: 0.85rem; height: 0.85rem; }
.tip::after {
  content: attr(data-tip);
  position: absolute; bottom: 130%; right: 50%; transform: translateX(50%);
  background: var(--tiffany-darker); color: #fff;
  padding: 9px 14px; border-radius: 10px;
  font-size: 0.75rem; font-weight: 400; line-height: 1.8;
  width: max-content; max-width: 250px; text-align: center;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity 0.15s; z-index: 60;
  box-shadow: 0 6px 18px rgba(4,60,58,0.25);
}
.tip:hover::after { opacity: 1; visibility: visible; }

/* ---------- دليل قراءة الصفحة ---------- */
details.guide {
  background: linear-gradient(135deg, var(--mint), #f3fbfa);
  border: 1px solid var(--tiffany-light);
  border-radius: 14px; padding: 14px 20px; margin-bottom: 20px;
}
details.guide summary {
  cursor: pointer; font-weight: 800; color: var(--tiffany-darker);
  display: flex; align-items: center; gap: 8px; list-style: none;
}
details.guide summary::-webkit-details-marker { display: none; }
details.guide summary::after { content: "▾"; margin-right: auto; color: var(--tiffany); transition: transform 0.2s; }
details.guide[open] summary::after { transform: rotate(180deg); }
details.guide .guide-body { margin-top: 12px; font-size: 0.88rem; line-height: 2; }
details.guide .guide-body li { margin-bottom: 4px; }

/* ---------- شارات معلومات السهم السريعة ---------- */
.info-chips { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.info-chips .chip {
  background: var(--mint); border: 1px solid var(--border);
  border-radius: 10px; padding: 5px 12px; font-size: 0.78rem; color: var(--tiffany-darker);
}
.info-chips .chip b { font-weight: 800; }

/* ---------- رادار الفرص المطور ---------- */
.radar-head { display: flex; align-items: center; gap: 8px; }
.radar-head .count-badge {
  background: var(--mint); color: var(--tiffany-deep);
  border-radius: 20px; padding: 2px 11px; font-size: 0.75rem; font-weight: 800;
  margin-right: auto;
}
.best-pick {
  background: linear-gradient(135deg, #fdf8ec, #fbf3dd);
  border: 1px solid #ecd9ad; border-radius: 12px;
  padding: 10px 12px; margin-bottom: 8px;
}
.best-pick .bp-label { font-size: 0.68rem; color: #b8862e; font-weight: 800; display: flex; align-items: center; gap: 4px; }

/* ---------- أوسمة إنجاز السهم ---------- */
.badges-row { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.ach-badge {
  display: inline-flex; align-items: center; gap: 6px;
  border-radius: 20px; padding: 6px 14px;
  font-size: 0.8rem; font-weight: 800;
  animation: fadeUp 0.5s ease both;
}
.ach-badge:nth-child(2) { animation-delay: 0.08s; }
.ach-badge:nth-child(3) { animation-delay: 0.16s; }
.ach-badge:nth-child(4) { animation-delay: 0.24s; }
.ach-badge:nth-child(5) { animation-delay: 0.32s; }
.ach-gold { background: linear-gradient(135deg, #fdf3dd, #fbe9c4); color: #a87a1e; border: 1px solid #ecd9ad; }
.ach-green { background: var(--green-bg); color: var(--green); border: 1px solid #bfe9d8; }
.ach-navy { background: var(--mint); color: var(--tiffany-deep); border: 1px solid var(--tiffany-light); }

/* ---------- موقع السهم بين أقرانه ---------- */
.rank-strip { display: flex; gap: 12px; flex-wrap: wrap; }
.rank-box {
  flex: 1; min-width: 200px; text-align: center;
  background: linear-gradient(135deg, var(--mint), #f3fbfa);
  border: 1px solid var(--tiffany-light); border-radius: 14px;
  padding: 16px 12px;
}
.rank-box .rank-num { font-size: 1.9rem; font-weight: 800; color: var(--tiffany-deep); }
.rank-box .rank-lbl { font-size: 0.78rem; color: var(--muted); margin-top: 4px; line-height: 1.7; }

/* ---------- بحث الشريط العلوي ---------- */
.topbar-search { display: flex; align-items: center; gap: 0; }
.topbar-search input {
  width: 220px; padding: 8px 14px; border-radius: 20px 0 0 20px;
  border-left: none; font-size: 0.82rem;
}
.topbar-search button {
  background: var(--tiffany); color: #fff; border: none; cursor: pointer;
  border-radius: 0 20px 20px 0; padding: 8px 12px;
  display: flex; align-items: center;
}
.topbar-search button:hover { background: var(--tiffany-deep); }
@media (max-width: 900px) { .topbar-search input { width: 130px; } }

/* ---------- أكاديمية بصيرة ---------- */
.lesson-grid .card h3 { display: flex; align-items: center; gap: 8px; }
.term-card {
  background: #fbfffe; border: 1px solid var(--border); border-radius: 12px;
  padding: 14px 16px;
}
.term-card b { color: var(--tiffany-deep); display: block; margin-bottom: 4px; }
.term-card p { font-size: 0.85rem; line-height: 1.9; color: var(--muted); }

/* ---------- جرس التنبيهات ---------- */
.bell-link {
  position: relative; display: inline-flex; align-items: center;
  color: var(--tiffany-deep); padding: 4px;
}
.bell-link svg.svg-icon { width: 1.4rem; height: 1.4rem; }
.bell-count {
  position: absolute; top: -4px; left: -6px;
  background: var(--red); color: #fff;
  font-size: 0.62rem; font-weight: 800;
  min-width: 16px; height: 16px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center; padding: 0 4px;
}

/* ---------- زر الوضع الليلي ---------- */
.theme-toggle {
  background: var(--mint); border: 1px solid var(--border); cursor: pointer;
  border-radius: 50%; width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--tiffany-deep); transition: all 0.15s;
}
.theme-toggle:hover { background: var(--tiffany); color: #fff; }
.only-dark { display: none; }
[data-theme="dark"] .only-dark { display: inline-flex; }
[data-theme="dark"] .only-light { display: none; }

/* ---------- بصيرة الذكية: زر الشريط العلوي + الدرج الجانبي ---------- */
.ai-top-btn {
  background: linear-gradient(135deg, var(--tiffany-deep), var(--tiffany));
  color: #fff; border: none; cursor: pointer;
  border-radius: 20px; padding: 8px 16px;
  display: inline-flex; align-items: center; gap: 6px;
  font-family: inherit; font-weight: 800; font-size: 0.85rem;
  transition: all 0.15s;
}
.ai-top-btn:hover { filter: brightness(1.1); transform: translateY(-1px); }
.ai-top-btn svg.svg-icon { width: 1.15rem; height: 1.15rem; }

/* مهم: خاصية hidden يجب أن تغلب display:flex وإلا تظهر النافذة دائمًا */
.ai-panel[hidden], .ai-overlay[hidden] { display: none !important; }

.ai-overlay {
  position: fixed; inset: 0; z-index: 290;
  background: rgba(6, 50, 48, 0.45);
  backdrop-filter: blur(3px);
  animation: overlayIn 0.2s ease both;
}
@keyframes overlayIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes popIn {
  from { opacity: 0; transform: translate(-50%, -47%) scale(0.96); }
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
.ai-panel {
  position: fixed; top: 50%; left: 50%; z-index: 300;
  transform: translate(-50%, -50%);
  width: 440px; max-width: calc(100vw - 24px); max-height: 86vh;
  background: var(--card); border: 1px solid var(--border);
  box-shadow: 0 24px 70px rgba(4, 60, 58, 0.35);
  border-radius: 22px;
  display: flex; flex-direction: column; overflow: hidden;
  animation: popIn 0.22s cubic-bezier(0.2, 0.8, 0.3, 1) both;
}
.ai-head {
  background: linear-gradient(135deg, var(--tiffany-darker), var(--tiffany-deep));
  color: #fff; padding: 13px 18px;
  display: flex; align-items: center; justify-content: space-between;
  font-weight: 800;
}
.ai-head a { color: #c9efed; margin-left: 10px; }
.ai-head button {
  background: none; border: none; color: #fff; cursor: pointer;
  font-size: 1rem; font-family: inherit;
}
.ai-msgs {
  padding: 14px; display: flex; flex-direction: column; gap: 10px;
  flex: 1; min-height: 220px; max-height: 46vh;
  overflow-y: auto; background: var(--bg);
}
.ai-msgs .chat-msg { max-width: 88%; font-size: 0.85rem; padding: 10px 14px; }
.ai-typing { opacity: 0.6; font-style: normal; }
.ai-chips { display: flex; gap: 6px; flex-wrap: wrap; padding: 10px 14px 0; background: var(--card); }
.ai-chips button {
  background: var(--mint); border: 1px solid var(--border); color: var(--tiffany-deep);
  border-radius: 16px; padding: 5px 12px; font-family: inherit; font-size: 0.72rem; cursor: pointer;
}
.ai-chips button:hover { background: var(--tiffany); color: #fff; }
.ai-form { display: flex; gap: 8px; padding: 12px 14px; background: var(--card); }
.ai-form input { flex: 1; }
.ai-foot { text-align: center; font-size: 0.65rem; color: var(--muted); padding: 0 0 10px; background: var(--card); }
@media (max-width: 900px) {
  .ai-top-btn span { display: none; }
  .ai-top-btn { border-radius: 50%; padding: 8px; }
}

/* ---------- الوضع الليلي ---------- */
[data-theme="dark"] {
  --bg: #0d1c1b;
  --card: #142927;
  --border: #1f4340;
  --text: #e2f3f1;
  --muted: #93b9b5;
  --mint: #1a3835;
  --tiffany-light: #2a5f5b;
  --green-bg: rgba(31, 169, 124, 0.16);
  --red-bg: rgba(232, 121, 121, 0.14);
  --amber-bg: rgba(217, 147, 66, 0.14);
  --shadow: 0 2px 6px rgba(0,0,0,0.3), 0 8px 24px rgba(0,0,0,0.25);
  --shadow-hover: 0 6px 18px rgba(0,0,0,0.4);
}
[data-theme="dark"] body { background: var(--bg); }
[data-theme="dark"] .topbar { background: rgba(20, 41, 39, 0.92); }
[data-theme="dark"] .rpt-sec,
[data-theme="dark"] .term-card,
[data-theme="dark"] .card .stock-card:hover,
[data-theme="dark"] input[type=text], [data-theme="dark"] input[type=password],
[data-theme="dark"] input[type=email], [data-theme="dark"] input[type=number],
[data-theme="dark"] select, [data-theme="dark"] textarea { background: #102220; }
[data-theme="dark"] .best-pick { background: rgba(217, 168, 92, 0.1); border-color: rgba(217, 168, 92, 0.35); }
[data-theme="dark"] .rank-box, [data-theme="dark"] details.guide { background: var(--mint); }
[data-theme="dark"] .score-ring .inner { background: var(--card); }
[data-theme="dark"] .card h2, [data-theme="dark"] .card h3,
[data-theme="dark"] .kpi .num, [data-theme="dark"] .topbar .page-title,
[data-theme="dark"] .stock-card .name, [data-theme="dark"] .score-ring .value,
[data-theme="dark"] .auth-card .brand, [data-theme="dark"] .rank-box .rank-num,
[data-theme="dark"] .plan-card .price { color: #9fe5e1; }
[data-theme="dark"] a { color: #6fd2cc; }
[data-theme="dark"] .badge-navy { background: var(--mint); color: #8fdbd6; }
[data-theme="dark"] .badge-gold, [data-theme="dark"] .ach-gold { background: rgba(217,168,92,0.14); color: #ecc98f; border-color: rgba(217,168,92,0.3); }
[data-theme="dark"] .disclaimer { background: rgba(217,168,92,0.08); border-color: rgba(217,168,92,0.25); color: #d9c089; }
[data-theme="dark"] .msg-info { color: #8fdbd6; }
[data-theme="dark"] .chat-assistant { background: var(--mint); }
[data-theme="dark"] table.data tr:hover td { background: rgba(10,186,181,0.07); }
[data-theme="dark"] .avatar { background: linear-gradient(135deg, #1a3835, #2a5f5b); color: #9fe5e1; }
[data-theme="dark"] .heat-tile { background: hsl(var(--h), 35%, 18%); color: hsl(var(--h), 55%, 75%); border-color: hsl(var(--h), 35%, 28%); }
[data-theme="dark"] .suggested-chips button { background: var(--mint); color: #8fdbd6; }
[data-theme="dark"] .form-group label { color: #9fe5e1; }
[data-theme="dark"] .ai-report p, [data-theme="dark"] .rpt-sec p { color: var(--text); }

.section-title {
  font-size: 1.25rem; font-weight: 800; color: var(--tiffany-darker);
  margin: 6px 0 18px;
}
.flex-between { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.mt-1 { margin-top: 8px; } .mt-2 { margin-top: 16px; } .mb-0 { margin-bottom: 0; }
.muted { color: var(--muted); font-size: 0.82rem; }
.center { text-align: center; }

/* ===== السوق الحي: شريط متحرك + مؤشر مباشر + الأكثر حركة ===== */
.ticker-wrap {
  overflow: hidden; white-space: nowrap; position: relative;
  background: var(--card); border: 1px solid var(--border);
  border-radius: 14px; padding: 9px 0; margin-bottom: 14px;
}
.ticker { display: flex; width: max-content; will-change: transform;
  animation: ticker-scroll 60s linear infinite; }
.ticker-group { display: flex; gap: 28px; padding-inline-start: 28px; flex: 0 0 auto; }
.ticker-wrap:hover .ticker { animation-play-state: paused; }
.ticker .tk { display: inline-flex; align-items: center; gap: 7px;
  font-size: 0.88rem; text-decoration: none; color: var(--text); flex: 0 0 auto; }
.ticker .tk .tk-name { font-weight: 700; }
.ticker .tk .tk-price { color: var(--muted); }
.ticker .tk .tk-chg { font-weight: 800; }
.ticker .tk.up .tk-chg { color: #16a34a; }
.ticker .tk.down .tk-chg { color: #dc2626; }
.ticker .tk.up .tk-chg::before { content: "▲ "; font-size: 0.7em; }
.ticker .tk.down .tk-chg::before { content: "▼ "; font-size: 0.7em; }
@keyframes ticker-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.live-bar { display: flex; align-items: center; gap: 8px; margin-top: 9px; font-size: 0.84rem; }
.live-bar .sep { opacity: 0.4; }
.live-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; background: #9ca3af; flex: 0 0 auto; }
.live-dot.on { background: #16a34a; animation: live-pulse 1.7s infinite; }
@keyframes live-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(22,163,74,0.55); }
  70%  { box-shadow: 0 0 0 9px rgba(22,163,74,0); }
  100% { box-shadow: 0 0 0 0 rgba(22,163,74,0); }
}

.movers-card .movers-list { display: flex; flex-direction: column; margin-top: 6px; }
.mover-row { display: flex; align-items: center; justify-content: space-between;
  padding: 10px 4px; border-bottom: 1px solid var(--border); text-decoration: none; color: var(--text); }
.mover-row:last-child { border-bottom: none; }
.mover-row .m-name { font-weight: 600; }
.live-price { display: inline-flex; align-items: center; gap: 8px;
  border-radius: 7px; padding: 2px 6px; transition: background-color 0.3s ease; }
.live-price .lp-price { font-weight: 800; }
.live-price .lp-chg.up { color: #16a34a; }
.live-price .lp-chg.down { color: #dc2626; }
.flash-up { background: rgba(22,163,74,0.18); }
.flash-down { background: rgba(220,38,38,0.18); }

/* ===== نبض السوق المباشر ===== */
.feed-card h3 { display: flex; align-items: center; }
.feed-list { display: flex; flex-direction: column; gap: 8px; margin-top: 8px;
  max-height: 360px; overflow-y: auto; }
.feed-item { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 10px 12px; border-radius: 11px; text-decoration: none; color: var(--text);
  background: var(--bg, rgba(0,0,0,0.02)); border-inline-start: 4px solid var(--border);
  transition: transform 0.15s ease, background 0.2s ease; }
.feed-item:hover { transform: translateX(-3px); }
.feed-item .feed-stock { font-weight: 800; }
.feed-item .feed-text { flex: 1 1 200px; font-size: 0.88rem; color: var(--text); }
.feed-item .feed-sig { font-size: 0.74rem; font-weight: 700; padding: 2px 9px;
  border-radius: 999px; white-space: nowrap; }
.feed-green  { border-inline-start-color: #16a34a; } .sig-green  { background: rgba(22,163,74,0.15); color: #16a34a; }
.feed-red    { border-inline-start-color: #dc2626; } .sig-red    { background: rgba(220,38,38,0.15); color: #dc2626; }
.feed-gold   { border-inline-start-color: #d4af37; } .sig-gold   { background: rgba(212,175,55,0.18); color: #b8860b; }
.feed-amber  { border-inline-start-color: #f59e0b; } .sig-amber  { background: rgba(245,158,11,0.18); color: #d97706; }
.feed-navy   { border-inline-start-color: #1e3a8a; } .sig-navy   { background: rgba(30,58,138,0.12); color: #1e3a8a; }
@keyframes feed-in {
  from { opacity: 0; transform: translateY(-12px); background: rgba(212,175,55,0.25); }
  to   { opacity: 1; transform: translateY(0); }
}
.feed-new { animation: feed-in 0.9s ease; }

/* ===== قرار بصيرة: التوقع القريب + مستويات العمل ===== */
.ah-urgent { display: inline-block; background: #dc2626; color: #fff; font-size: 0.66rem;
  font-weight: 800; padding: 1px 8px; border-radius: 999px; vertical-align: middle;
  margin-inline-start: 6px; animation: live-pulse 1.6s infinite; }
.ah-outlook { display: flex; align-items: flex-start; gap: 7px; margin-top: 9px;
  padding: 9px 11px; border-radius: 10px; font-size: 0.88rem; line-height: 1.6;
  background: rgba(0,0,0,0.04); }
.ah-outlook i { opacity: 0.85; }
.ah-outlook.out-up   { background: rgba(22,163,74,0.10); }
.ah-outlook.out-down { background: rgba(220,38,38,0.10); }
.ah-outlook.out-flat { background: rgba(30,58,138,0.08); }
.ah-outlook svg { flex: 0 0 auto; }
.out-up   { color: #15803d; } .out-down { color: #b91c1c; } .out-flat { color: #1e3a8a; }
.action-levels { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.al-box { flex: 1 1 110px; display: flex; flex-direction: column; gap: 2px;
  padding: 9px 12px; border-radius: 11px; background: var(--card); border: 1px solid var(--border); }
.al-box .al-lbl { font-size: 0.72rem; color: var(--muted); }
.al-box .al-val { font-size: 1.15rem; font-weight: 800; }
.al-stop { border-color: rgba(220,38,38,0.4); }
.al-stop .al-val { color: #dc2626; }
.al-target { border-color: rgba(22,163,74,0.4); }
.al-target .al-val { color: #16a34a; }
.brief-outlook { margin-top: 4px; font-size: 0.8rem; }
.brief-outlook.out-up { color: #15803d; } .brief-outlook.out-down { color: #b91c1c; }
.brief-outlook.out-flat { color: var(--muted); }
.brief-outlook .bo-pct { color: var(--muted); font-weight: 600; }

/* ===== القرار المبسّط: ماذا تفعل الآن؟ ===== */
.decision-banner { border-radius: 16px; padding: 18px 20px; margin: 4px 0 14px;
  border: 2px solid var(--border); background: var(--card); text-align: center; }
.decision-banner .db-verb { font-size: 1.7rem; font-weight: 900; line-height: 1.3; }
.decision-banner .db-emoji { font-size: 1.5rem; }
.decision-banner .db-reason { font-size: 0.96rem; margin-top: 6px; line-height: 1.7; }
.decision-banner .db-conf { font-size: 0.8rem; color: var(--muted); margin-top: 8px; }
.decision-banner .db-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; justify-content: center;
  font-size: 0.82rem; color: var(--muted); margin-top: 10px; }
.decision-banner .db-meta .db-own { color: var(--tiffany-deep); font-weight: 700; }
.decision-banner .db-verdict { font-size: 0.86rem; line-height: 1.8; margin-top: 8px;
  color: var(--text); opacity: 0.85; }

/* أقسام قابلة للطي (تبسيط صفحة السهم) */
.collapse-toggle { cursor: pointer; display: flex; align-items: center; user-select: none; }
.collapse-toggle .collapse-caret { margin-inline-start: auto; transition: transform 0.2s; color: var(--muted); font-size: 0.9rem; }
.collapse-toggle.open .collapse-caret { transform: rotate(180deg); }
.collapse-toggle:hover { color: var(--tiffany); }
.collapse-body { margin-top: 10px; }

/* «تفاصيل» قابلة للطي داخل بطاقة المركز */
.pos-more { margin-top: 6px; }
.pos-more > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 6px;
  color: var(--tiffany-deep); font-weight: 700; font-size: 0.86rem; padding: 6px 2px; user-select: none; }
.pos-more > summary::-webkit-details-marker { display: none; }
.pos-more > summary::after { content: "▾"; margin-inline-start: auto; transition: transform 0.2s; }
.pos-more[open] > summary::after { transform: rotate(180deg); }
.pos-more > summary svg.svg-icon { width: 1rem; height: 1rem; }
.db-buy-strong { border-color: #16a34a; background: rgba(22,163,74,0.08); }
.db-buy-strong .db-verb { color: #15803d; }
.db-buy { border-color: #16a34a; background: rgba(22,163,74,0.06); }
.db-buy .db-verb { color: #15803d; }
.db-hold { border-color: #d4af37; background: rgba(212,175,55,0.10); }
.db-hold .db-verb { color: #b8860b; }
.db-reduce { border-color: #f59e0b; background: rgba(245,158,11,0.10); }
.db-reduce .db-verb { color: #d97706; }
.db-sell { border-color: #dc2626; background: rgba(220,38,38,0.08); }
.db-sell .db-verb { color: #b91c1c; }

/* ===== حارس المركز: حماية استباقية من الخسارة ===== */
.guard { border-radius: 13px; padding: 13px 16px; margin: 4px 0 14px; border: 2px solid var(--border); }
.guard .guard-title { font-size: 1.12rem; font-weight: 900; line-height: 1.4; }
.guard .guard-msg { font-size: 0.9rem; line-height: 1.75; margin-top: 3px; }
.guard .guard-risk { font-size: 0.86rem; margin-top: 7px; padding: 5px 10px; border-radius: 8px;
  background: rgba(0,0,0,0.05); display: inline-block; }
.guard .guard-risk b { color: #b91c1c; }
.guard-safe   { border-color: #16a34a; background: rgba(22,163,74,0.07); }
.guard-safe .guard-title { color: #15803d; }
.guard-watch  { border-color: #f59e0b; background: rgba(245,158,11,0.10); }
.guard-watch .guard-title { color: #d97706; }
.guard-danger { border-color: #dc2626; background: rgba(220,38,38,0.10); animation: guard-alarm 1.5s ease-in-out infinite; }
.guard-danger .guard-title { color: #b91c1c; }
@keyframes guard-alarm {
  0%, 100% { box-shadow: 0 0 0 0 rgba(220,38,38,0.0); }
  50% { box-shadow: 0 0 0 5px rgba(220,38,38,0.18); }
}

/* ===== وضع المضاربة اللحظي ===== */
/* مدرّب المضاربة المباشر */
.coach { margin: 12px 0; }
.coach-directive { font-size: 1.5rem; font-weight: 900; text-align: center; padding: 16px 14px;
  border-radius: 14px; line-height: 1.5; border: 2px solid var(--border); }
.coach-directive.coach-go { background: rgba(22,163,74,0.10); border-color: #16a34a; color: #15803d; }
.coach-directive.coach-hold { background: rgba(245,158,11,0.12); border-color: #f59e0b; color: #b45309; }
.coach-directive.coach-sell { background: rgba(220,38,38,0.10); border-color: #dc2626; color: #b91c1c;
  animation: guard-alarm 1.4s ease-in-out infinite; }
.coach-meta { text-align: center; font-size: 0.86rem; color: var(--muted); margin: 8px 0; }
#coachActive { text-align: center; }

.intraday-warn { background: rgba(245,158,11,0.12); border: 1px solid rgba(245,158,11,0.4);
  color: #b45309; border-radius: 10px; padding: 10px 14px; font-size: 0.86rem; margin: 12px 0; line-height: 1.7; }
.chart-ranges { display: flex; gap: 6px; flex-wrap: wrap; margin: 8px 0; }
.chart-ranges button { background: var(--mint); border: 1px solid var(--border); color: var(--tiffany-deep);
  border-radius: 999px; padding: 5px 14px; font-family: inherit; font-size: 0.85rem; font-weight: 700; cursor: pointer; }
.chart-ranges button.active { background: var(--tiffany); color: #fff; border-color: var(--tiffany); }
.chart-box { position: relative; }
.intraday-chart { width: 100%; height: auto; aspect-ratio: 720 / 320; display: block; margin: 6px 0 14px;
  background: var(--card); border: 1px solid var(--border); border-radius: 12px; touch-action: none; }
.chart-tip { position: absolute; pointer-events: none; background: rgba(15,23,42,0.92); color: #fff;
  padding: 5px 10px; border-radius: 8px; font-size: 0.78rem; line-height: 1.5; white-space: nowrap;
  text-align: center; z-index: 5; box-shadow: 0 4px 12px rgba(0,0,0,0.2); }
.chart-tip[hidden] { display: none; }
.chart-tip span { color: #cbd5e1; font-size: 0.72rem; }
.btn-intraday { background: linear-gradient(135deg, #f59e0b, #f97316); color: #fff; border: none; }

/* رسم حركة السهم اليوم داخل بطاقة المركز */
.pos-chart-wrap { margin: 12px 0; padding: 12px 14px; border: 1px solid var(--border);
  border-radius: 12px; background: var(--bg, rgba(0,0,0,0.015)); }
.pos-chart-head { display: flex; align-items: center; justify-content: space-between;
  gap: 8px; flex-wrap: wrap; font-size: 0.82rem; margin-bottom: 6px; }
.pos-chart-head > span:first-child { font-weight: 700; color: var(--tiffany-darker);
  display: inline-flex; align-items: center; gap: 5px; }
.pos-today { color: var(--muted); }
.pos-today .up { color: #16a34a; font-weight: 700; }
.pos-today .down { color: #dc2626; font-weight: 700; }
.pos-chart-link { color: #f59e0b; font-weight: 700; text-decoration: none; font-size: 0.8rem; }
.pos-chart { width: 100%; height: 90px; display: block; }
/* الرسم التفاعلي الكبير داخل بطاقة المركز */
.pos-chart2 { margin: 12px 0; padding: 12px 14px; border: 1px solid var(--border);
  border-radius: 12px; background: var(--bg, rgba(0,0,0,0.015)); }
.pos-chart-svg { width: 100%; height: auto; aspect-ratio: 720 / 280; display: block;
  background: var(--card); border: 1px solid var(--border); border-radius: 10px; touch-action: none; }
.pc-ranges { margin: 8px 0; }

/* شبكة بطاقات مركز المضاربة اللحظي */
.id-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; margin-top: 10px; }
.id-card { display: block; padding: 14px; border-radius: 13px; border: 1px solid var(--border);
  background: var(--card); text-decoration: none; color: var(--text); transition: transform 0.15s, box-shadow 0.15s; }
.id-card:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,0.08); border-color: #f59e0b; }
.id-card .id-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.id-card .id-name { font-weight: 800; font-size: 1.02rem; }
.id-card .id-live { margin: 9px 0 6px; display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.id-card .id-verb { font-weight: 800; font-size: 0.92rem; }
.id-card .id-price { font-weight: 700; }
.id-card .id-price small { color: var(--muted); }
.id-card .id-reason { font-size: 0.78rem; color: var(--muted); line-height: 1.6; }
/* بصيرة تختار لك (المضاربة) */
.pick-card { border: 1px solid var(--tiffany); }
.pick-result { margin-top: 12px; padding: 14px 16px; border-radius: 12px; line-height: 1.8; }
.pick-result.pick-go { background: rgba(22,163,74,0.08); border: 1px solid #16a34a; }
.pick-result.pick-none { background: rgba(245,158,11,0.10); border: 1px solid #f59e0b; color: #b45309; }
.pick-result .pick-head { font-size: 1.15rem; font-weight: 800; color: #15803d; }
.pick-result .pick-body { font-size: 0.92rem; margin: 6px 0 10px; }
.pick-result .pick-foot { font-size: 0.78rem; color: var(--muted); margin-top: 8px; }
.id-card.picked { border: 2px solid #16a34a; box-shadow: 0 0 0 4px rgba(22,163,74,0.15); }

.db-buy-strong-text { color: #15803d; } .db-buy-text { color: #15803d; }
.db-hold-text { color: #b8860b; } .db-reduce-text { color: #d97706; } .db-sell-text { color: #b91c1c; }

.acc-chip { background: rgba(31,169,124,0.12); color: var(--tiffany-darker);
  padding: 2px 10px; border-radius: 999px; font-size: 0.82rem; text-decoration: none; transition: background .15s; }
a.acc-chip:hover { background: rgba(31,169,124,0.22); color: var(--tiffany-darker); }
.onboard-card { border: 1px dashed var(--tiffany); }

/* ===== تلميع الجوال ===== */
@media (max-width: 640px) {
  .hero { flex-direction: column; gap: 14px; }
  .hero .gauge { align-self: center; }
  .kpis { flex-wrap: wrap; gap: 10px; }
  .kpis .hk { flex: 1 1 42%; }
  .decision-banner { padding: 14px; }
  .decision-banner .db-verb { font-size: 1.35rem; }
  .ticker-wrap { padding: 7px 0; }
  .ticker .tk { font-size: 0.82rem; }
  .live-bar { flex-wrap: wrap; font-size: 0.8rem; }
  .guard .guard-title { font-size: 1rem; }
  .action-levels { gap: 8px; }
  .al-box { flex: 1 1 46%; padding: 8px 10px; }
  .al-box .al-val { font-size: 1.05rem; }
  .pos2-head { flex-wrap: wrap; gap: 8px; }
  .id-grid { grid-template-columns: 1fr; }
  .feed-item { padding: 9px 11px; }
  .feed-item .feed-text { flex-basis: 100%; }
  .ah-outlook { font-size: 0.82rem; }
  h2 { font-size: 1.3rem; }
  .ps-n, .pos2-stats .ps-n { font-size: 1.05rem; }
}

/* ===== صفحة إرسال الإشعارات (المدير) ===== */
.bc-check { display: flex; align-items: center; gap: 8px; margin: 6px 0 4px; font-size: 0.9rem; cursor: pointer; }
.bc-check input { width: 18px; height: 18px; }
.bc-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 10px; }
.bc-stat { text-align: center; padding: 14px 6px; background: var(--soft, rgba(0,0,0,0.02)); border-radius: 14px; }
.bc-n { font-size: 1.5rem; font-weight: 800; color: var(--tiffany-deep); }
.bc-l { font-size: 0.72rem; color: var(--muted); margin-top: 2px; }

/* ===== تطبيق بصيرة (PWA): بانر التثبيت ===== */
.pwa-banner { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 1200;
  display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 16px;
  background: linear-gradient(135deg, var(--tiffany-deep), var(--tiffany)); color: #fff;
  box-shadow: 0 8px 28px rgba(0,0,0,0.22); max-width: 460px; margin: 0 auto; }
.pwa-ico { font-size: 1.4rem; }
.pwa-txt { flex: 1; font-size: 0.9rem; }
.pwa-txt b { font-weight: 800; }
.pwa-btn { background: #fff; color: var(--tiffany-darker); border: none; font-family: inherit;
  font-weight: 800; font-size: 0.85rem; padding: 9px 16px; border-radius: 12px; cursor: pointer; white-space: nowrap; }
.pwa-btn:hover { filter: brightness(0.96); }
.pwa-x { background: transparent; border: none; color: #fff; font-size: 1rem; cursor: pointer; opacity: 0.85; padding: 4px; }
.pwa-ios-hint { position: fixed; inset: 0; z-index: 1300; background: rgba(0,0,0,0.45);
  display: flex; align-items: center; justify-content: center; padding: 20px; }
.pwa-ios-card { position: relative; background: var(--card, #fff); color: var(--text); border-radius: 18px;
  padding: 22px; max-width: 380px; width: 100%; box-shadow: 0 12px 40px rgba(0,0,0,0.3); }
.pwa-ios-card .pwa-x { color: var(--muted); position: absolute; top: 12px; left: 14px; }
.pwa-ios-title { font-weight: 800; font-size: 1.05rem; margin-bottom: 12px; }
.pwa-ios-card ol { padding-inline-start: 20px; line-height: 2; font-size: 0.92rem; }

/* ===== نظرة المحفظة ككل + إدارة المخاطر ===== */
.port-overview { border-top: 4px solid var(--tiffany-deep); }
.po-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 14px 0 6px; }
.po-stat { text-align: center; padding: 12px 8px; background: var(--soft, rgba(0,0,0,0.02)); border-radius: 14px; }
.po-n { font-size: 1.4rem; font-weight: 800; }
.po-n small { font-size: 0.8rem; font-weight: 700; }
.po-l { font-size: 0.72rem; color: var(--muted); margin-top: 2px; }
.po-sub { font-size: 0.8rem; color: var(--muted); margin: 14px 0 8px; }
.po-sec-row { display: flex; align-items: center; gap: 10px; margin-bottom: 7px; }
.po-sec-name { flex: 0 0 32%; font-size: 0.82rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.po-bar { flex: 1; height: 9px; background: var(--border); border-radius: 6px; overflow: hidden; }
.po-bar-fill { display: block; height: 100%; background: linear-gradient(90deg, var(--tiffany), var(--tiffany-deep)); border-radius: 6px; }
.po-sec-pct { flex: 0 0 42px; text-align: end; font-size: 0.8rem; font-weight: 700; }
.po-risk { margin-top: 16px; border-top: 1px solid var(--border); padding-top: 14px; }
.po-risk-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; font-weight: 700; font-size: 0.9rem; margin-bottom: 10px; }
.div-badge { padding: 4px 12px; border-radius: 20px; font-size: 0.82rem; font-weight: 800; }
.div-green { background: rgba(34,197,94,0.15); color: #15803d; }
.div-amber { background: rgba(245,158,11,0.16); color: #b45309; }
.div-red { background: rgba(239,68,68,0.14); color: #b91c1c; }
.risk-flag { padding: 10px 13px; border-radius: 12px; font-size: 0.85rem; margin-bottom: 7px; border-inline-start: 4px solid; }
.rf-high { background: rgba(239,68,68,0.08); border-color: #ef4444; }
.rf-med { background: rgba(245,158,11,0.09); border-color: #f59e0b; }
.rf-ok { background: rgba(34,197,94,0.09); border-color: #22c55e; }
@media (max-width: 640px) { .po-stats { grid-template-columns: repeat(2, 1fr); } }

/* ===== سلال اختيارات بصيرة: الأفضل · الأربح · الآمن ===== */
.picks-head { margin: 22px 2px 12px; }
.buckets-grid { align-items: start; }
.bucket { border-top: 4px solid var(--border); display: flex; flex-direction: column; }
.bucket.pb-best { border-top-color: #d4af37; }
.bucket.pb-profit { border-top-color: var(--tiffany-deep); }
.bucket.pb-safe { border-top-color: #3fa66a; }
.bucket-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.bucket-emoji { font-size: 1.55rem; line-height: 1; }
.bucket-head h3 { font-size: 1.05rem; }
.bucket-sub { font-size: 0.76rem; color: var(--muted); }
.bucket-row { display: flex; align-items: center; gap: 10px; padding: 9px 6px; border-radius: 12px;
  text-decoration: none; color: inherit; transition: background .15s; }
.bucket-row:hover { background: var(--hover, rgba(0,0,0,0.035)); }
.bucket-row + .bucket-row { border-top: 1px solid var(--border); }
.bucket-row .avatar { flex: 0 0 auto; }
.br-main { flex: 1; min-width: 0; }
.br-name { font-weight: 700; font-size: 0.92rem; }
.br-reason { font-size: 0.76rem; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bucket-help { margin-top: auto; width: 100%; border: 1px dashed var(--border); background: transparent;
  color: var(--tiffany-deep); font-family: inherit; font-weight: 700; font-size: 0.82rem; cursor: pointer;
  padding: 10px; border-radius: 12px; margin-top: 12px; transition: background .15s; }
.bucket-help:hover { background: rgba(10,186,181,0.08); }

/* ===== بطاقة ربط تيليجرام ===== */
.tg-card { border: 1px solid rgba(0,136,204,0.18); }
.tg-card h3 { margin-bottom: 4px; }
.tg-status { padding: 11px 14px; border-radius: 12px; font-weight: 700; margin: 6px 0 12px; }
.tg-on { background: rgba(34,197,94,0.12); color: #15803d; }
.tg-off { background: rgba(120,120,120,0.1); color: var(--muted); }
.tg-steps { margin: 10px 0 16px; padding-inline-start: 20px; line-height: 1.9; color: var(--text); }
.tg-steps li { margin-bottom: 4px; }
.tg-connect { background: linear-gradient(135deg, #0088cc, #2aa9e0); color: #fff; font-size: 1rem; padding: 12px 22px; }
.tg-connect:hover { filter: brightness(1.08); color: #fff; transform: translateY(-1px); }
.tg-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* ===== إصلاحات تجاوب الجوال (تأتي أخيرًا لتتغلّب على قواعد سابقة) ===== */
@media (max-width: 980px) {
  /* إخفاء بحث الشريط العلوي على الجوال (يزدحم الشريط) — يتغلّب على .topbar-search السابقة */
  .topbar-search { display: none !important; }
  /* الشريط العلوي يلتفّ ويناسب العرض بدل ما يطلع برّا الشاشة */
  .topbar { flex-wrap: wrap; gap: 8px 6px; }
  .topbar .user-area { gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
}
