/* estado-cursos.css
   Estilos específicos del panel de estado de cursos.
   Se mantiene SEPARADO de styles.css para no tocar la hoja general.
   Usa la paleta verde institucional de Pizarrón Verde. */

.status-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  margin: 24px 0 8px;
}
.status-summary-card {
  border: 1px solid #d8e6de;
  border-radius: 10px;
  padding: 18px 16px;
  background: #fff;
  text-align: center;
  border-left: 5px solid #c5d6cb;
}
.status-summary-card.status-ready    { border-left-color: #2e7d32; }
.status-summary-card.status-partial  { border-left-color: #ed8936; }
.status-summary-card.status-pending  { border-left-color: #718096; }
.status-summary-card.status-legacy   { border-left-color: #c53030; }
.status-summary-card.status-upcoming { border-left-color: #6b8e5a; }
.status-summary-card.status-total    { border-left-color: #356b34; background: #f7faf6; }

.status-summary-number {
  font-size: 2rem;
  font-weight: 800;
  color: #1f3a25;
  margin: 0 0 4px;
  line-height: 1.1;
}
.status-summary-label {
  font-size: 0.85rem;
  color: #4a5d4f;
  margin: 0;
  line-height: 1.3;
}

.status-legend {
  font-size: 0.88rem;
  color: #4a5d4f;
  background: #f1f6ee;
  padding: 14px 16px;
  border-radius: 8px;
  border: 1px solid #d8e6de;
  margin-top: 18px;
  line-height: 1.5;
}
.status-legend code {
  background: #fff;
  border: 1px solid #d8e6de;
  border-radius: 4px;
  padding: 1px 5px;
  font-size: 0.85rem;
}

.status-area-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px 0 16px;
  align-items: center;
}
.status-meta {
  font-size: 0.88rem;
  color: #4a5d4f;
  margin-left: auto;
  font-weight: 600;
}

.status-pill {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  letter-spacing: 0.01em;
}
.status-pill.status-ready    { background: #e6f4ea; color: #1e5a2c; border-color: #c1e1c9; }
.status-pill.status-partial  { background: #fff3e0; color: #8a4a08; border-color: #f6d1a3; }
.status-pill.status-pending  { background: #eef0f2; color: #3d4853; border-color: #d3d8de; }
.status-pill.status-legacy   { background: #fdecec; color: #8a1a1a; border-color: #f3c5c5; }
.status-pill.status-upcoming { background: #eef5e6; color: #355a1a; border-color: #c8dcb9; }

.status-table-wrap {
  overflow-x: auto;
  border: 1px solid #d8e6de;
  border-radius: 10px;
  background: #fff;
}
.status-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}
.status-table th,
.status-table td {
  padding: 10px 14px;
  text-align: left;
  border-bottom: 1px solid #ecf1ed;
  vertical-align: middle;
}
.status-table thead th {
  background: #f1f6ee;
  font-weight: 700;
  color: #1f3a25;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.status-table tbody tr:hover { background: #f7faf6; }
.status-table tbody tr.status-legacy { background: #fdf6f6; }
.status-table tbody tr.status-legacy:hover { background: #faecec; }

.course-code {
  font-weight: 700;
  color: #356b34;
  font-family: 'Nunito', sans-serif;
}
.course-name { color: #1f3a25; }
.course-topics {
  font-variant-numeric: tabular-nums;
  color: #4a5d4f;
  font-weight: 600;
}
.muted-link {
  color: #98a3aa;
  font-size: 0.85rem;
  font-style: italic;
}

@media (max-width: 640px) {
  .status-summary-card { padding: 14px 12px; }
  .status-summary-number { font-size: 1.6rem; }
  .status-table th, .status-table td { padding: 8px 10px; font-size: 0.85rem; }
  .status-meta { margin-left: 0; width: 100%; }
}
