/* ============================================================
   أكاديمية HalaGPT للفرق — /teams و/teams/builder
   نفس رموز «Modern Majlis» في style.css، بلا ألوان جديدة.
   الفخامة هنا ضبطٌ لا زينة (docs/growth/004 §4): مسافات واسعة، خط
   الرقعة للأرقام والعناوين وحدها، وعيّنات حقيقية بدل الشعارات والشارات.
   ============================================================ */

.visually-hidden {
  position: absolute !important;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.tm-lede {
  max-inline-size: 62ch;
  font-size: 1.08rem;
  line-height: 1.95;
  color: var(--ink-soft);
}

.tm-hero h1 em {
  font-style: normal;
  color: var(--teal);
}
.tm-hero-note {
  margin-block-start: 14px;
  font-size: var(--text-lg);
  color: var(--ink-soft);
}

.tm-narrow {
  max-inline-size: 860px;
}

.tm-fine {
  font-size: var(--text-md);
  color: var(--ink-faint);
  line-height: 1.8;
}

/* وسوم صغيرة — الإرهاب البصري ممنوع: وسم واحد لكل عيّنة يقول ما هي */
.tm-tag {
  display: inline-block;
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--terracotta);
  letter-spacing: 0;
  margin-block-end: 10px;
}
.tm-tag-soft {
  color: var(--teal-deep);
  background: var(--paper-deep);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 3px 12px;
}
.tm-tag-warn {
  color: #6e4e05;
  background: var(--saffron-soft);
  border-radius: 999px;
  padding: 3px 12px;
}

/* ---------- المستويات الثلاثة: درج لا جدول أسعار ---------- */
.tm-stairs {
  list-style: none;
  margin: 0;
  padding: 0;
}
.tm-level {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 28px;
  padding-block: 30px;
  border-block-start: 1.5px solid var(--line-strong);
}
.tm-level:last-child {
  border-block-end: 1.5px solid var(--line-strong);
}
@media (min-width: 900px) {
  /* كل مستوى يتقدّم خطوة نحو نهاية السطر — الدرج نفسه هو الرسالة */
  .tm-level:nth-child(2) {
    margin-inline-start: 7%;
  }
  .tm-level:nth-child(3) {
    margin-inline-start: 14%;
  }
}
.tm-level-num {
  font-family: var(--font-display);
  font-size: 4.2rem;
  line-height: 1;
  color: var(--saffron);
  text-shadow: -2px 2px 0 rgba(12, 71, 68, 0.18);
  min-inline-size: 1.1em;
  text-align: center;
}
.tm-level-body h3 {
  font-family: var(--font-display);
  font-size: 1.9rem;
  margin: 0 0 6px;
}
.tm-level-line {
  font-size: 1.05rem;
  color: var(--ink);
  max-inline-size: 60ch;
}
.tm-level-facts {
  display: grid;
  gap: 12px;
  margin: 18px 0;
}
.tm-level-facts > div {
  display: grid;
  grid-template-columns: 5.5rem 1fr;
  gap: 12px;
}
.tm-level-facts dt {
  font-size: var(--text-md);
  font-weight: 700;
  color: var(--terracotta);
  padding-block-start: 2px;
}
.tm-level-facts dd {
  margin: 0;
  color: var(--ink-soft);
}
.tm-level-facts ul {
  margin: 0;
  padding-inline-start: 1.1em;
}
.tm-sample-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  color: var(--teal);
  text-decoration: none;
}
.tm-sample-link:hover {
  text-decoration: underline;
}
@media (max-width: 560px) {
  .tm-level {
    grid-template-columns: 1fr;
  }
  .tm-level-num {
    text-align: start;
    font-size: 3.2rem;
  }
  .tm-level-facts > div {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}

/* ---------- مسار التسويق ---------- */
.tm-split {
  display: grid;
  gap: 24px 56px;
}
@media (min-width: 900px) {
  .tm-split {
    grid-template-columns: 1fr 1.15fr;
    align-items: start;
  }
}
.tm-path {
  list-style: none;
  counter-reset: tmpath;
  margin: 0;
  padding: 0;
}
.tm-path li {
  counter-increment: tmpath;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 16px;
  padding: 14px 0;
  border-block-end: 1.5px dashed var(--line);
}
.tm-path li::before {
  content: counter(tmpath, arabic-indic);
  font-family: var(--font-display);
  font-size: 1.5rem;
  color: var(--teal);
  min-inline-size: 1.6em;
}
.tm-path li a {
  flex: 1;
  font-weight: 600;
  color: var(--ink);
}
.tm-path-meta {
  font-size: var(--text-md);
  color: var(--ink-faint);
}
.tm-proposed {
  margin-block-start: 22px;
  padding: 16px 18px;
  border: 1.5px dashed var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
}
.tm-proposed p {
  margin: 6px 0 0;
}

/* ---------- نموذج التقرير ---------- */
.tm-report {
  margin: 0;
  background: var(--surface);
  border: 1.5px solid var(--line-strong);
  border-radius: var(--radius);
  box-shadow: var(--shadow-pop);
  padding: clamp(18px, 3vw, 30px);
}
.tm-report figcaption {
  display: grid;
  gap: 4px;
  margin-block-end: 18px;
}
.tm-report figcaption .tm-tag {
  justify-self: start;
}
.tm-report figcaption strong {
  font-family: var(--font-display);
  font-size: 1.6rem;
}
.tm-report figcaption span:last-child {
  color: var(--ink-soft);
  font-size: var(--text-xl);
}
.tm-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
  margin-block-end: 8px;
}
.tm-metrics > div {
  display: grid;
  gap: 2px;
  padding: 14px 16px;
  background: var(--paper-deep);
  border-radius: var(--radius-sm);
}
.tm-metrics b {
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 1.2;
  color: var(--teal-deep);
}
.tm-metrics small {
  font-family: var(--font-body);
  font-size: var(--text-lg);
  font-weight: 600;
  color: var(--ink-soft);
}
.tm-metrics span {
  font-size: var(--text-lg);
  color: var(--ink-soft);
}
.tm-table {
  inline-size: 100%;
  border-collapse: collapse;
  font-size: var(--text-xl);
  min-inline-size: 520px;
}
/* أخف من جداول الدروس (.table-scroll th تيل مصمت بحدود كاملة): تقرير يُقرأ
   لا جدول يُدرس — لذا المحدِّد مضاعف ليغلب قاعدة style.css. */
.table-scroll .tm-table th,
.table-scroll .tm-table td {
  text-align: start;
  padding: 9px 12px;
  border: 0;
  border-block-end: 1px solid var(--line);
}
.table-scroll .tm-table th {
  background: transparent;
  font-size: var(--text-md);
  color: var(--ink-soft);
  font-weight: 700;
  border-block-end: 1.5px solid var(--line-strong);
}
.tm-report-foot {
  display: grid;
  gap: 16px 40px;
  margin-block-start: 18px;
}
@media (min-width: 800px) {
  .tm-report-foot {
    grid-template-columns: 1fr 1.3fr;
  }
}
.tm-report-foot h3 {
  font-size: 1rem;
  margin: 0 0 6px;
}
.tm-report-foot ul {
  margin: 0;
  padding-inline-start: 1.1em;
  color: var(--ink-soft);
}

/* ---------- الدرس التوضيحي ---------- */
.tm-lesson {
  background: var(--surface);
  border: 1.5px solid var(--line-strong);
  border-radius: var(--radius);
  box-shadow: var(--shadow-pop);
}
.tm-lesson summary {
  display: grid;
  gap: 6px;
  padding: 20px 22px;
  cursor: pointer;
  list-style: none;
}
.tm-lesson summary::-webkit-details-marker {
  display: none;
}
.tm-lesson summary .tm-tag {
  justify-self: start;
  margin: 0;
}
.tm-lesson summary strong {
  font-size: 1.12rem;
}
.tm-lesson-open {
  color: var(--teal);
  font-weight: 700;
}
.tm-lesson[open] .tm-lesson-open {
  display: none;
}
.tm-lesson-body {
  padding: 0 22px 22px;
  border-block-start: 1.5px dashed var(--line);
}
.tm-lesson-body h3 {
  font-size: 1.05rem;
  margin: 22px 0 8px;
}
.tm-policy {
  border-inline-start: 4px solid var(--terracotta);
  background: var(--terracotta-soft);
  padding: 12px 16px;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.tm-checks {
  list-style: none;
  padding: 0;
}
.tm-checks li {
  position: relative;
  padding-inline-start: 1.8em;
  margin-block: 6px;
}
.tm-checks li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.45em;
  inline-size: 1em;
  block-size: 1em;
  border: 1.5px solid var(--teal);
  border-radius: 4px;
}
.tm-quiz {
  margin-block-start: 20px;
  padding: 16px 18px;
  background: var(--paper-deep);
  border-radius: var(--radius-sm);
}
.tm-quiz-opts {
  list-style: arabic-indic;
  padding-inline-start: 1.4em;
}
.tm-quiz-opts li {
  padding: 4px 8px;
  border-radius: 6px;
}
.tm-answer {
  background: var(--ok-soft);
  color: var(--ok-ink);
  font-weight: 700;
}

/* ---------- الأرقام وروابط الفحص ---------- */
.tm-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px;
}
.tm-facts > div {
  display: grid;
  gap: 2px;
  padding-block: 12px;
  border-block-start: 2px solid var(--teal);
}
.tm-facts b {
  font-family: var(--font-display);
  font-size: 2.6rem;
  line-height: 1.15;
  color: var(--teal-deep);
}
.tm-facts span {
  color: var(--ink-soft);
}
.tm-inspect {
  list-style: none;
  padding: 0;
  margin: 22px 0 0;
  display: grid;
  gap: 10px 32px;
}
@media (min-width: 700px) {
  .tm-inspect {
    grid-template-columns: 1fr 1fr;
  }
}
.tm-inspect a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  color: var(--teal);
}

/* ---------- كيف يبدأ ---------- */
.tm-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 18px;
}
@media (min-width: 980px) {
  .tm-steps {
    grid-template-columns: repeat(5, 1fr);
  }
}
.tm-steps li {
  display: flex;
  gap: 14px;
}
@media (min-width: 980px) {
  .tm-steps li {
    flex-direction: column;
    gap: 6px;
  }
}
.tm-step-num {
  font-family: var(--font-display);
  font-size: 2.2rem;
  line-height: 1;
  color: var(--saffron);
  text-shadow: -2px 2px 0 rgba(12, 71, 68, 0.18);
}
.tm-steps h3 {
  font-size: 1.02rem;
  margin: 0 0 4px;
}
.tm-steps p {
  margin: 0;
  color: var(--ink-soft);
  font-size: var(--text-xl);
}

/* ---------- الدعوة للأداة ---------- */
.tm-teaser {
  display: grid;
  gap: 18px 40px;
  align-items: center;
  padding: clamp(22px, 4vw, 36px);
  background: var(--paper-deep);
  border-radius: var(--radius);
}
@media (min-width: 800px) {
  .tm-teaser {
    grid-template-columns: 1fr auto;
  }
}
.tm-teaser h2 {
  margin-block-start: 0;
}
.tm-teaser p {
  margin-block-end: 0;
  color: var(--ink-soft);
}

/* ---------- الأسئلة ---------- */
.tm-faq-item {
  border-block-end: 1.5px solid var(--line);
}
.tm-faq-item summary {
  padding: 16px 0;
  font-weight: 700;
  cursor: pointer;
}
.tm-faq-item p {
  margin: 0 0 18px;
  color: var(--ink-soft);
  line-height: 1.9;
}

.tm-final {
  text-align: center;
}
.tm-final .hero-actions {
  justify-content: center;
}
.tm-final p {
  margin-inline: auto;
}

/* ============================================================
   الأداة
   ============================================================ */
.tm-builder {
  padding-block-start: 10px;
}
.tm-builder-grid {
  display: grid;
  gap: 32px;
  max-inline-size: 900px;
}
.tm-form {
  background: var(--surface);
  border: 1.5px solid var(--line-strong);
  border-radius: var(--radius);
  box-shadow: var(--shadow-pop);
  padding: clamp(18px, 3.5vw, 34px);
}
.tm-fs {
  border: 0;
  margin: 0;
  padding: 0;
  min-inline-size: 0;
}
.tm-fs[hidden] {
  display: none;
}
.tm-fs legend {
  font-family: var(--font-display);
  font-size: 1.75rem;
  padding: 0;
  margin-block-end: 6px;
}
.tm-fs legend:focus {
  outline: none;
}
.tm-fs-count {
  font-family: var(--font-body);
  font-size: var(--text-lg);
  color: var(--ink-faint);
  margin-inline-start: 8px;
}
.tm-field {
  display: block;
  margin-block: 22px;
}
.tm-q {
  display: block;
  font-weight: 700;
  margin-block-end: 10px;
}
.tm-q small {
  font-weight: 500;
  color: var(--ink-faint);
}
.tm-field select {
  inline-size: 100%;
  max-inline-size: 420px;
  font: inherit;
  padding: 11px 14px;
  border: 1.5px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--paper);
  color: var(--ink);
}
.tm-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.tm-choice {
  position: relative;
  cursor: pointer;
}
.tm-choice input {
  position: absolute;
  opacity: 0;
  inline-size: 1px;
  block-size: 1px;
}
.tm-choice span {
  display: inline-block;
  padding: 9px 16px;
  border: 1.5px solid var(--line-strong);
  border-radius: 999px;
  background: var(--paper);
  font-weight: 600;
  color: var(--ink-soft);
  transition:
    background 0.15s,
    color 0.15s,
    border-color 0.15s;
}
.tm-choice:hover span {
  border-color: var(--teal);
}
.tm-choice input:checked + span {
  background: var(--teal);
  border-color: var(--teal-deep);
  color: #fdf9ef;
}
.tm-choice input:focus-visible + span {
  outline: 3px solid var(--teal-deep);
  outline-offset: 2px;
}
.tm-choice input:disabled + span {
  opacity: 0.45;
  cursor: not-allowed;
}
@media (pointer: coarse) {
  .tm-choice span {
    min-block-size: 44px;
    display: inline-flex;
    align-items: center;
  }
}
.tm-fs-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-block-start: 24px;
}
.tm-form-error {
  margin: 16px 0 0;
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  background: var(--bad-soft);
  color: var(--bad);
  font-weight: 600;
}
.tm-form-error[hidden] {
  display: none;
}
.tm-summary {
  display: grid;
  gap: 8px;
  margin: 12px 0;
}
.tm-summary > div {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: 12px;
  padding-block: 6px;
  border-block-end: 1px dashed var(--line);
}
.tm-summary dt {
  color: var(--ink-faint);
  font-weight: 600;
}
.tm-summary dd {
  margin: 0;
}
@media (max-width: 520px) {
  .tm-summary > div {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.tm-noscript {
  padding: 16px;
  background: var(--paper-deep);
  border-radius: var(--radius-sm);
}

/* ---------- الوثيقة ---------- */
.tm-doc {
  background: var(--surface);
  border: 1.5px solid var(--line-strong);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  padding: clamp(20px, 4vw, 44px);
  scroll-margin-block-start: 90px;
}
.tm-doc[hidden] {
  display: none;
}
.tm-doc:focus {
  outline: none;
}
.tm-doc-kicker {
  margin: 0;
  font-size: var(--text-md);
  color: var(--terracotta);
  font-weight: 700;
}
.tm-doc-level {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 14px 0 4px;
  font-weight: 700;
  color: var(--teal-deep);
}
.tm-doc-level .tm-level-num {
  font-size: 2.6rem;
  min-inline-size: 0;
}
.tm-doc h2 {
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 4vw, 2.3rem);
  line-height: 1.4;
  margin: 0 0 10px;
}
.tm-doc h2:focus {
  outline: none;
}
.tm-doc-rationale {
  font-size: 1.06rem;
  line-height: 1.95;
  max-inline-size: 70ch;
}
.tm-doc-fallback {
  display: inline-block;
  color: #6e4e05;
  background: var(--saffron-soft);
  border-radius: var(--radius-sm);
  padding: 8px 12px;
  font-size: var(--text-lg);
}
.tm-doc-sec {
  margin-block-start: 26px;
  padding-block-start: 20px;
  border-block-start: 1.5px dashed var(--line);
}
.tm-doc-sec h3 {
  font-size: 1.15rem;
  margin: 0 0 8px;
}
/* عنوان فرعي بعد قائمة أو فقرة («افتراضات لم تُؤكَّد بعد»، «يعتمد على»، «لا
   يشمل») كان يلتصق بما قبله؛ العنوان الأول في صندوقه يبقى بلا هامش. */
.tm-doc-sec * + h3 {
  margin-block-start: 18px;
}
.tm-doc-sec h4 {
  font-size: 1rem;
  margin: 16px 0 6px;
  color: var(--ink-soft);
}
.tm-doc-sec ul {
  margin: 0;
  padding-inline-start: 1.2em;
}
.tm-doc-sec li {
  margin-block: 4px;
}
.tm-doc-meta {
  margin: 0 0 6px;
  color: var(--ink-soft);
  font-weight: 600;
}
.tm-doc-warn li {
  color: var(--ink-soft);
}
.tm-doc-next {
  margin-block-start: 30px;
  padding: 18px 20px;
  background: var(--paper-deep);
  border-radius: var(--radius-sm);
}
.tm-doc-next p {
  margin: 0;
  font-weight: 700;
}
.tm-doc-next .tm-fs-actions {
  margin-block-start: 14px;
}
.tm-doc-foot {
  margin: 20px 0 0;
  font-size: var(--text-md);
  color: var(--ink-faint);
}
.tm-doc-status {
  margin: 0 0 18px;
  font-weight: 600;
  color: var(--teal-deep);
}
.tm-skel {
  block-size: 16px;
  margin-block: 14px;
  border-radius: 6px;
  background: var(--paper-deep);
}
.tm-skel:nth-of-type(2) {
  block-size: 30px;
  inline-size: 70%;
}
.tm-skel:nth-of-type(4) {
  inline-size: 85%;
}
.tm-skel:nth-of-type(6) {
  inline-size: 55%;
}
@media (prefers-reduced-motion: no-preference) {
  .tm-skel {
    animation: tm-pulse 1.4s ease-in-out infinite;
  }
  @keyframes tm-pulse {
    50% {
      opacity: 0.45;
    }
  }
}
.tm-doc-error h2 {
  font-size: 1.6rem;
}

/* ---------- معاينة واتساب ---------- */
.tm-wa-dialog {
  max-inline-size: min(520px, calc(100vw - 32px));
  border: 1.5px solid var(--line-strong);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  padding: 24px;
  box-shadow: var(--shadow-soft);
}
.tm-wa-dialog::backdrop {
  background: rgba(10, 47, 45, 0.45);
}
.tm-wa-dialog h2 {
  font-family: var(--font-display);
  margin: 0 0 6px;
}
.tm-wa-text {
  white-space: pre-wrap;
  font-family: var(--font-body);
  background: var(--paper-deep);
  border-radius: var(--radius-sm);
  padding: 12px 14px;
  line-height: 1.9;
}

/* ---------- الطباعة: الوثيقة وحدها ---------- */
@media print {
  .skip-link,
  .topbar,
  .footer,
  .tm-builder-head,
  .tm-form,
  .tm-doc-next .tm-fs-actions,
  .tm-wa-dialog {
    display: none !important;
  }
  body {
    background: #fff;
  }
  .tm-builder {
    padding: 0;
  }
  .tm-doc {
    border: 0;
    box-shadow: none;
    padding: 0;
  }
  .tm-doc a {
    color: inherit;
    text-decoration: none;
  }
}

/* ============================================================
   مقترحات الجهات — /p/<id> (api/_proposal-core.ts)
   صفحة خاصة بلا ترويسة الموقع ولا تذييله: وثيقة تُقرأ وتُطبع.
   ============================================================ */
.pp-body {
  background: var(--paper);
}
.pp-top {
  max-inline-size: 920px;
  margin-inline: auto;
  padding: 22px clamp(16px, 4vw, 32px) 0;
}
.pp-brand {
  font-family: var(--font-display);
  font-size: 1.5rem;
  color: var(--teal-deep);
  text-decoration: none;
}
.pp-brand em {
  font-style: normal;
  color: #b8860b;
}
.pp-main {
  max-inline-size: 920px;
  margin-inline: auto;
  padding: 18px clamp(16px, 4vw, 32px) 40px;
}
.pp-foot {
  text-align: center;
  font-size: var(--text-md);
  color: var(--ink-faint);
  padding-block-end: 30px;
}
.pp-doc h1,
.pp-note h1 {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 4.5vw, 2.5rem);
  line-height: 1.4;
  margin: 0 0 12px;
}
.pp-doc .tm-doc-sec h2 {
  font-size: 1.3rem;
  margin: 0 0 10px;
}
.pp-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 28px;
  margin: 0 0 16px;
}
.pp-meta dt {
  font-size: var(--text-md);
  color: var(--ink-faint);
}
.pp-meta dd {
  margin: 0;
  font-weight: 700;
}
.pp-decision {
  padding: 14px 18px;
  background: var(--paper-deep);
  border-inline-start: 4px solid var(--teal);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.pp-path {
  margin-block-start: 16px;
}
.pp-path h3 {
  font-size: 1.05rem;
  margin: 0 0 4px;
}
.pp-milestones {
  list-style: none;
  padding: 0;
}
.pp-milestones li {
  padding-block: 6px;
  border-block-end: 1px dashed var(--line);
}
.pp-cols {
  display: grid;
  gap: 8px 32px;
}
@media (min-width: 700px) {
  .pp-cols {
    grid-template-columns: 1fr 1fr;
  }
}
.pp-terms {
  display: grid;
  gap: 8px;
  margin: 0;
}
.pp-terms > div {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: 12px;
  padding-block: 6px;
  border-block-end: 1px dashed var(--line);
}
.pp-terms dt {
  color: var(--ink-faint);
  font-weight: 600;
}
.pp-terms dd {
  margin: 0;
}
.pp-gate {
  display: grid;
  gap: 10px;
  max-inline-size: 360px;
  margin-block-start: 18px;
}
.pp-gate label {
  font-weight: 700;
}
.pp-gate input {
  font: inherit;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
  padding: 11px 14px;
  border: 1.5px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--paper);
  color: var(--ink);
}
@media print {
  .pp-top,
  .pp-foot,
  .pp-doc .tm-fs-actions {
    display: none !important;
  }
  .pp-main {
    padding: 0;
  }
}
