.login-panel { margin: 24px; max-width: 42rem; }
.session-summary { margin: 0 16px 0 0; color: var(--muted); font-size: 0.92rem; }
.view { display: none; padding: 24px; }
.view.is-active { display: block; }
.stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
.stat-tile {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px;
}
.stat-tile p { margin: 0; color: var(--muted); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.72rem; }
.stat-tile strong { display: block; margin-top: 8px; font-size: 2rem; line-height: 1; }
.panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
  margin-bottom: 20px;
}
.inline-form { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0; align-items: end; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th, .data-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--border-soft); }
.fact-list { margin: 0; padding-left: 18px; color: var(--text-2); }
.status { color: var(--muted); }
.eyebrow { text-transform: uppercase; letter-spacing: 0.12em; color: var(--cyan); font-size: 0.72rem; }
.program-ladder {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  padding: 16px 19px 19px;
}
.program-card {
  min-height: 168px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.018);
}
.program-card h3 { margin: 0; font-size: 16px; letter-spacing: -0.02em; }
.program-id { margin: 6px 0 10px; color: var(--cyan); font: 11px/1 var(--font-mono); }
.program-audience, .program-caps { margin: 0 0 8px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.program-card.is-current {
  border-color: var(--border-cyan);
  background: linear-gradient(180deg, rgba(55, 221, 255, 0.08), rgba(255, 255, 255, 0.02));
}
@media (max-width: 1180px) {
  .program-ladder { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 580px) {
  .program-ladder { grid-template-columns: 1fr; }
}
