.doctor-app { min-height: 100vh; display: flex; flex-direction: column; }
.doctor-layout { flex: 1; padding: 1.25rem 1.5rem 2rem; max-width: 1100px; margin: 0 auto; width: 100%; }

.doctor-score h2 { margin: 0 0 0.35rem; font-size: 1rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.score-line { margin: 0; font-size: 1.5rem; font-weight: 700; }
.score-sub { margin: 0.25rem 0 0; color: var(--text-soft); }
.score-meta { margin-top: 0.65rem; display: flex; gap: 1rem; flex-wrap: wrap; font-size: 0.8rem; color: var(--text-muted); }

.risk-summary { margin-top: 1rem; }
.risk-summary .card-label { margin-bottom: 0.65rem; }
.risk-score-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.risk-score-bar { flex: 1; height: 8px; background: var(--bg-soft); border-radius: 999px; overflow: hidden; }
.risk-score-fill { height: 100%; background: linear-gradient(90deg, var(--warn), var(--ok)); transition: width 0.4s; border-radius: 999px; }
.risk-score-label { font-size: 0.8rem; font-weight: 600; color: var(--text-soft); white-space: nowrap; }
.risk-buckets { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0.65rem; }
.risk-bucket { font-size: 0.78rem; padding: 0.5rem 0.65rem; border-radius: var(--radius-sm); background: var(--bg-soft); }
.risk-bucket strong { display: block; font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.25rem; }
.risk-bucket ul { margin: 0; padding-left: 1rem; }
.risk-bucket.critical { border-left: 3px solid #dc2626; }
.risk-bucket.warning { border-left: 3px solid var(--warn); }
.risk-bucket.downgrade { border-left: 3px solid #d97706; }
.risk-bucket.healthy { border-left: 3px solid var(--ok); }
.risk-healthy-list { color: var(--text-soft); }
.risk-empty { margin: 0; color: var(--text-muted); font-size: 0.8rem; }

.doctor-columns { display: grid; grid-template-columns: 1fr 340px; gap: 1rem; margin-top: 1rem; }
@media (max-width: 900px) { .doctor-columns { grid-template-columns: 1fr; } }

.section-label { margin: 0 0 0.5rem; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); }
.doctor-list { display: flex; flex-direction: column; gap: 0.65rem; }

.diag-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.85rem 1rem;
  cursor: pointer;
  transition: border-color 0.15s;
}
.diag-card:hover, .diag-card.selected { border-color: var(--accent); }
.diag-card.unhealthy { border-left: 4px solid var(--warn); }
.diag-card.degraded { border-left: 4px solid #d97706; }
.diag-card.not_configured { border-left: 4px solid var(--text-muted); }
.diag-card.fixed { border-left: 4px solid var(--ok); }

.diag-head { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; }
.diag-head h4 { margin: 0; font-size: 0.95rem; }
.diag-badges { display: flex; gap: 0.3rem; flex-wrap: wrap; align-items: center; }
.diag-meta { margin: 0.25rem 0 0; font-size: 0.72rem; color: var(--text-muted); }

.badge-fix {
  font-size: 0.65rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em;
  padding: 0.12rem 0.4rem; border-radius: 999px; background: var(--bg-soft); color: var(--text-muted);
}
.badge-fix.in_progress { background: var(--accent-soft); color: var(--accent); }
.badge-fix.waiting { background: var(--warn-bg); color: var(--warn); }
.badge-fix.fixed { background: var(--ok-bg); color: var(--ok); }
.badge-fix.requires_human { background: rgba(220,38,38,0.1); color: #dc2626; }

.badge-metric {
  font-size: 0.62rem; font-weight: 500; padding: 0.1rem 0.35rem; border-radius: 4px;
  background: var(--bg-soft); color: var(--text-muted); font-family: var(--mono);
}
.badge-metric.impact-none { color: var(--ok); }

.diag-cause { margin: 0.4rem 0 0; font-size: 0.85rem; color: var(--text-soft); }
.progress-bar {
  margin-top: 0.5rem; height: 6px; background: var(--bg-soft); border-radius: 999px; overflow: hidden;
}
.progress-fill { height: 100%; background: var(--accent-grad, var(--accent)); transition: width 0.3s; }

.detail-placeholder { color: var(--text-muted); font-size: 0.85rem; margin: 0; }
.detail-block { font-size: 0.85rem; }
.detail-block p { margin: 0.35rem 0; }
.detail-header { margin-bottom: 0.5rem; }
.detail-header h4 { margin: 0 0 0.35rem; }
.detail-metrics { display: flex; gap: 0.35rem; flex-wrap: wrap; }
.analysis-text { color: var(--text-soft); font-size: 0.82rem; }

.drill-tabs { display: flex; flex-wrap: wrap; gap: 0.25rem; margin: 0.5rem 0; border-bottom: 1px solid var(--border); padding-bottom: 0.35rem; }
.drill-tab {
  font-size: 0.68rem; font-weight: 500; padding: 0.2rem 0.45rem; border: none; border-radius: 4px;
  background: transparent; color: var(--text-muted); cursor: pointer; text-transform: uppercase; letter-spacing: 0.03em;
}
.drill-tab:hover { color: var(--text); background: var(--bg-soft); }
.drill-tab.active { color: var(--accent); background: var(--accent-soft); }

.drill-panel { display: none; padding: 0.35rem 0; }
.drill-panel.active { display: block; }
.evidence-list, .event-list { margin: 0; padding-left: 0; list-style: none; }
.evidence-list li, .event-list li { padding: 0.3rem 0; border-bottom: 1px solid var(--border); font-size: 0.8rem; }
.evidence-list li:last-child, .event-list li:last-child { border-bottom: none; }
.ev-source { font-family: var(--mono); font-size: 0.68rem; color: var(--accent); margin-right: 0.35rem; }
.ev-time { font-family: var(--mono); font-size: 0.68rem; color: var(--text-muted); margin-right: 0.35rem; }
.drill-panel ul li.unaffected { color: var(--ok); }

.hidden { display: none !important; }
.pill-ok, .pill-warn, .pill-degraded { font-size: 0.75rem; font-weight: 600; padding: 0.25rem 0.6rem; border-radius: 999px; }
.pill-ok { background: var(--ok-bg); color: var(--ok); }
.pill-degraded { background: rgba(217, 119, 6, 0.12); color: #d97706; }
.pill-warn { background: var(--warn-bg); color: var(--warn); }
.downgrade-card:hover { border-color: var(--accent); }
