/* ══════════════ کارنامه تحصیلی — سبک‌های صفحه وب (نسخه PDF مستقل در Blade است) ══════════════ */

/* ── سربرگ ── */
.rc-header {
  align-items: center;
  background: linear-gradient(135deg, var(--color-primary-soft-2), var(--color-surface));
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  padding: 1.1rem 1.4rem;
}
.rc-header-brand { align-items: center; display: flex; gap: 0.9rem; }
.rc-header-logo {
  border-radius: var(--radius-md);
  height: 52px;
  overflow: hidden;
  width: 52px;
  flex-shrink: 0;
}
.rc-header-logo img { height: 100%; object-fit: cover; width: 100%; }
.rc-header-logo span {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 1.1rem;
  font-weight: 700;
  height: 100%;
  justify-content: center;
  width: 100%;
}
.rc-header-title {
  align-items: center;
  color: var(--color-text);
  display: flex;
  font-size: 1.15rem;
  gap: 0.5rem;
  margin: 0;
}
.rc-header-title i { color: var(--color-primary); }
.rc-header-sub { color: var(--color-text-muted); font-size: 0.85rem; margin-top: 0.15rem; }
.rc-header-action { flex-shrink: 0; }

/* ── کارت مشخصات دانش‌آموز ── */
.rc-student-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  padding: 1.1rem 1.4rem;
}
.rc-student-main { align-items: center; display: flex; gap: 1rem; }
.rc-avatar {
  border-radius: 50%;
  flex-shrink: 0;
  height: 64px;
  overflow: hidden;
  width: 64px;
}
.rc-avatar img { height: 100%; object-fit: cover; width: 100%; }
.rc-avatar span {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 1.3rem;
  font-weight: 700;
  height: 100%;
  justify-content: center;
  width: 100%;
}
.rc-student-meta { display: flex; flex-direction: column; gap: 0.3rem; }
.rc-student-name { color: var(--color-text); font-size: 1.05rem; }
.rc-student-grade { color: var(--color-text-muted); font-size: 0.85rem; }
.rc-student-tags { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.2rem; }
.rc-student-tag {
  align-items: center;
  background: var(--color-bg-soft);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  color: var(--color-text-muted);
  display: inline-flex;
  font-size: 0.75rem;
  gap: 0.3rem;
  padding: 0.2rem 0.6rem;
}

.rc-attendance-chips { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.rc-attendance-chip {
  align-items: center;
  background: var(--color-bg-soft);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  display: flex;
  gap: 0.5rem;
  padding: 0.5rem 0.7rem;
}
.rc-attendance-chip-icon {
  align-items: center;
  border-radius: 10px;
  display: flex;
  font-size: 1rem;
  height: 34px;
  justify-content: center;
  width: 34px;
}
.rc-attendance-chip-body { display: flex; flex-direction: column; line-height: 1.3; }
.rc-attendance-chip-body small { color: var(--color-text-muted); font-size: 0.7rem; }
.rc-attendance-chip-body strong { color: var(--color-text); font-size: 0.95rem; }

/* ── انتخابگر نوبت ── */
.rc-term-selector {
  background: var(--color-bg-soft);
  border-radius: 999px;
  display: inline-flex;
  gap: 0.2rem;
  padding: 0.25rem;
}
.rc-term-option {
  align-items: center;
  background: transparent;
  border: none;
  border-radius: 999px;
  color: var(--color-text-muted);
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  gap: 0.35rem;
  padding: 0.45rem 1rem;
  transition: background 0.15s, color 0.15s;
}
.rc-term-option:hover { color: var(--color-text); }
.rc-term-option--active {
  background: var(--color-primary);
  box-shadow: var(--shadow-card);
  color: #fff;
}

/* ── کارت اصلی کارنامه هر مقطع ── */
.rc-card { display: flex; flex-direction: column; gap: 1rem; }
.rc-card-columns { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }

/* ── ردیف خلاصه نتیجه ── */
.rc-summary-row { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.rc-summary-cell {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.85rem 1rem;
}
.rc-summary-cell--accent {
  background: linear-gradient(135deg, var(--color-primary-soft), var(--color-primary-soft-2));
  border-color: var(--color-primary-soft);
}
.rc-summary-cell-label { color: var(--color-text-muted); font-size: 0.78rem; }
.rc-summary-cell-value { align-items: baseline; display: flex; font-size: 1.3rem; font-weight: 800; gap: 0.2rem; }
.rc-summary-cell-scale { color: var(--color-text-muted); font-size: 0.75rem; font-weight: 500; }

/* ── کارت بخش عمومی ── */
.rc-section {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.rc-section-head {
  align-items: center;
  background: var(--color-bg-soft);
  border-bottom: 1px solid var(--color-border);
  display: flex;
  justify-content: space-between;
  padding: 0.75rem 1.1rem;
}
.rc-section-head h3 {
  align-items: center;
  color: var(--color-text);
  display: flex;
  font-size: 0.95rem;
  gap: 0.45rem;
  margin: 0;
}
.rc-section-head h3 i { color: var(--color-primary); }
.rc-section-body { padding: 1rem 1.1rem; }
.rc-section-body--flush { padding: 0; }
.rc-empty { color: var(--color-text-muted); padding: 1.5rem; text-align: center; }

/* ── جدول دروس ── */
.rc-table-scroll { overflow-x: auto; }
.rc-table { border-collapse: collapse; width: 100%; }
.rc-table thead th {
  background: var(--color-bg-soft);
  color: var(--color-text-muted);
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.6rem 0.8rem;
  text-align: center;
  white-space: nowrap;
}
.rc-table-subject-col { text-align: right !important; }
.rc-table td {
  border-top: 1px solid var(--color-border);
  font-size: 0.88rem;
  padding: 0.55rem 0.8rem;
  text-align: center;
}
.rc-table-coefficient { color: var(--color-text-muted); }
.rc-result-pass { color: var(--color-success); font-weight: 700; }
.rc-result-fail { color: var(--color-danger); font-weight: 700; }
.rc-result-pending { color: var(--color-text-soft); }

/* ── پیل‌ها / نشان‌ها ── */
.rc-pill {
  border: 1px solid transparent;
  border-radius: 6px;
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.2rem 0.6rem;
}
.rc-status-badge {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 700;
  gap: 0.3rem;
  padding: 0.25rem 0.7rem;
}
/* ── حضور و غیاب ── */
.rc-attendance-summary { display: flex; flex-direction: column; gap: 0.9rem; }
.rc-attendance-gauge { align-items: center; display: flex; gap: 0.75rem; }
.rc-attendance-gauge-bar {
  background: var(--color-bg-soft);
  border-radius: 999px;
  flex: 1;
  height: 10px;
  overflow: hidden;
}
.rc-attendance-gauge-fill { background: var(--color-primary); border-radius: 999px; height: 100%; }
.rc-attendance-gauge-value { color: var(--color-primary); font-size: 1.1rem; font-weight: 800; min-width: 3.2rem; text-align: left; }
.rc-attendance-list { display: flex; flex-direction: column; gap: 0.5rem; }
.rc-attendance-row { align-items: center; display: flex; font-size: 0.85rem; justify-content: space-between; }
.rc-attendance-row dt { align-items: center; color: var(--color-text-muted); display: flex; gap: 0.4rem; }
.rc-attendance-row dd { color: var(--color-text); font-weight: 700; }
.rc-attendance-dot { border-radius: 50%; display: inline-block; height: 8px; width: 8px; }
/* fallback grid variant, kept for compatibility with any alt markup */
.rc-attendance-grid { display: grid; gap: 0.6rem; grid-template-columns: repeat(3, 1fr); }
.rc-attendance-stat {
  background: var(--color-bg-soft);
  border-radius: var(--radius-md);
  padding: 0.7rem;
  text-align: center;
}
.rc-attendance-stat strong { display: block; font-size: 1.15rem; }
.rc-attendance-stat span { color: var(--color-text-muted); font-size: 0.72rem; }
.rc-attendance-stat--present strong { color: var(--color-primary); }
.rc-attendance-stat--excused strong { color: var(--color-warning); }
.rc-attendance-stat--unexcused strong { color: var(--color-danger); }

/* ── توضیحات معلم ── */
.rc-teacher-comment {
  align-items: flex-start;
  display: flex;
  gap: 0.6rem;
}
.rc-teacher-comment-quote {
  color: var(--color-primary);
  flex-shrink: 0;
  font-size: 1.3rem;
  opacity: 0.5;
}
.rc-teacher-comment p {
  color: var(--color-text);
  font-size: 0.9rem;
  line-height: 1.8;
  margin: 0;
}
.rc-teacher-comment--placeholder p { color: var(--color-text-soft); font-style: italic; }
.rc-teacher-comment--placeholder .rc-teacher-comment-quote { opacity: 0.25; }

/* ── ویرایشگر نظر معلم (پرونده دانش‌آموز / پنل مدرسه) ── */
.rc-comment-editor textarea {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  color: var(--color-text);
  font-family: inherit;
  font-size: 0.88rem;
  line-height: 1.7;
  min-height: 90px;
  padding: 0.6rem 0.8rem;
  resize: vertical;
  width: 100%;
}
.rc-comment-editor-footer {
  align-items: center;
  display: flex;
  gap: 0.6rem;
  justify-content: flex-end;
  margin-top: 0.6rem;
}
.rc-comment-editor-saved { color: var(--color-success); font-size: 0.8rem; }
.rc-comment-editor-error { color: var(--color-danger); font-size: 0.8rem; }

/* ── نمودار روند ── */
.rc-chart-empty {
  align-items: center;
  color: var(--color-text-soft);
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  font-size: 0.82rem;
  justify-content: center;
  padding: 1.5rem 1rem;
  text-align: center;
}
.rc-chart-empty i { font-size: 1.4rem; }
.rc-chart-tooltip {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  font-size: 0.78rem;
  gap: 0.15rem;
  padding: 0.4rem 0.6rem;
}
.rc-chart-tooltip strong { color: var(--color-primary); font-size: 0.95rem; }
.rc-chart-wrap { align-items: center; display: flex; flex-direction: column; gap: 0.5rem; }
.rc-chart-svg { max-width: 100%; }
.rc-chart-axis { stroke: var(--color-border); stroke-width: 1; }
.rc-chart-line { stroke-width: 2.5; }
.rc-chart-labels { display: flex; gap: 1rem; justify-content: center; }
.rc-chart-label { display: flex; flex-direction: column; text-align: center; }
.rc-chart-label span { color: var(--color-text-muted); font-size: 0.72rem; }
.rc-chart-label strong { font-size: 0.95rem; }
.rc-chart-trend { align-items: center; display: flex; font-size: 0.85rem; font-weight: 700; gap: 0.25rem; }

/* ── امضاها ── */
.rc-signatures { display: flex; gap: 1.5rem; margin-top: 0.5rem; }
.rc-signature { flex: 1; position: relative; text-align: center; }
.rc-signature-line {
  border-bottom: 1px dashed var(--color-border);
  display: block;
  height: 2.5rem;
}
.rc-signature-label { color: var(--color-text-muted); font-size: 0.8rem; }
.rc-signature--stamp .rc-signature-line { margin-top: -1.5rem; }
.rc-stamp-circle {
  align-items: center;
  border: 1.5px dashed var(--color-primary);
  border-radius: 50%;
  color: var(--color-primary);
  display: flex;
  font-size: 1rem;
  height: 40px;
  justify-content: center;
  margin: 0 auto 0.3rem;
  opacity: 0.55;
  width: 40px;
}

.rc-footer-year { color: var(--color-text-soft); font-size: 0.78rem; text-align: center; }

/* ── دکمه دانلود PDF ── */
.rc-download-btn { white-space: nowrap; }
.rc-pdf-hint {
  align-items: center;
  color: var(--color-text-muted);
  display: inline-flex;
  font-size: 0.8rem;
  gap: 0.35rem;
  max-width: 260px;
  text-align: right;
}

/* ── پنل اشتراک‌گذاری لینک ── */
.rc-share-hint { color: var(--color-text-muted); font-size: 0.82rem; margin-bottom: 0.75rem; }
.rc-share-list { display: flex; flex-direction: column; gap: 0.6rem; list-style: none; margin: 0 0 0.9rem; padding: 0; }
.rc-share-item {
  background: var(--color-bg-soft);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 0.6rem 0.8rem;
}
.rc-share-url {
  color: var(--color-primary);
  direction: ltr;
  display: block;
  font-size: 0.82rem;
  margin-bottom: 0.4rem;
  overflow-x: auto;
  text-align: left;
  white-space: nowrap;
}
.rc-share-item-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.rc-share-meta { color: var(--color-text-muted); flex: 1; font-size: 0.75rem; }
.rc-share-revoke { color: var(--color-danger); }
.rc-share-error { color: var(--color-danger); font-size: 0.82rem; margin-bottom: 0.6rem; }
.rc-share-confirm-text { color: var(--color-danger); font-size: 0.8rem; font-weight: 600; }

/* ── چاپ مرورگر (window.print) — کارنامه تک‌صفحه، بدون سایدبار/دکمه ── */
@media print {
  .rc-header-action, .rc-term-selector, .no-print { display: none !important; }
  .rc-card, .rc-section { box-shadow: none !important; }
}

/* ── صفحه‌ی عمومی کارنامه (بدون ورود) ── */
.rc-public-shell {
  background: var(--color-bg-soft);
  min-height: 100dvh;
  padding: 1.5rem 1rem 3rem;
}
.rc-public-inner { margin: 0 auto; max-width: 880px; }
.rc-public-footer {
  color: var(--color-text-soft);
  font-size: 0.78rem;
  padding: 0.5rem 0;
  text-align: center;
}
.rc-public-empty {
  align-items: center;
  color: var(--color-text-muted);
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  justify-content: center;
  min-height: 60dvh;
}
.rc-public-empty i { font-size: 2.4rem; }

@media (max-width: 720px) {
  .rc-summary-row { grid-template-columns: repeat(2, 1fr); }
  .rc-attendance-grid { grid-template-columns: 1fr; }
  .rc-signatures { flex-direction: column; gap: 1rem; }
}
