/* UX2 - Dettaglio rapporto come checklist/stepper */
.report-detail-shell { display: grid; gap: var(--ui-space-5, 20px); }
.report-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--ui-space-4, 16px);
  align-items: start;
}
.report-hero h2 { margin: 0; }
.report-hero-actions { display: flex; flex-wrap: wrap; gap: var(--ui-space-3, 12px); justify-content: flex-end; }
.report-status-strip { display: flex; flex-wrap: wrap; gap: var(--ui-space-2, 8px); margin-top: var(--ui-space-3, 12px); }
.report-stepper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: var(--ui-space-3, 12px);
}
.report-step {
  display: flex;
  flex-direction: column;
  gap: var(--ui-space-3, 12px);
  min-height: 150px;
  border: 1px solid var(--ui-border, #d7e0ec);
  border-radius: var(--ui-radius-lg, 16px);
  padding: var(--ui-space-4, 16px);
  background: var(--ui-surface, #fff);
  box-shadow: var(--ui-shadow-sm, 0 1px 2px rgba(15,34,56,.06));
}
.report-step-main { display: flex; gap: var(--ui-space-3, 12px); align-items: flex-start; }
.report-step-index {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--ui-brand-soft, #eaf2ff);
  color: var(--ui-brand, #0f62fe);
  font-weight: 900;
}
.report-step-title { min-width: 0; }
.report-step-title h4 { margin: 0; font-size: 1rem; }
.report-step-title p { margin: 4px 0 0; color: var(--ui-text-muted, #53657d); font-size: .9rem; }
.report-step-actions { margin-top: auto; display: flex; gap: var(--ui-space-2, 8px); flex-wrap: wrap; }
.report-step-actions .btn { flex: 1 1 auto; }
.report-step-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: .82rem;
  font-weight: 900;
  width: fit-content;
}
.report-step-status.todo { background: var(--ui-warning-soft, #fff4d6); color: var(--ui-warning, #8a6200); }
.report-step-status.partial { background: var(--ui-info-soft, #eaf2ff); color: var(--ui-info, #0f62fe); }
.report-step-status.done { background: var(--ui-success-soft, #e6f7eb); color: var(--ui-success, #176a2e); }
.report-step-status.locked { background: var(--slate-bg, #e8eef5); color: #40576f; }
.report-step.is-next { border-color: var(--ui-brand, #0f62fe); box-shadow: 0 0 0 3px rgba(15,98,254,.10); }
.report-step.is-readonly { background: var(--ui-surface-soft, #f8fafc); }
.report-layout-callout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--ui-space-4, 16px);
  align-items: center;
  border-left: 4px solid var(--ui-brand, #0f62fe);
}
.report-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--ui-space-4, 16px);
}
.report-summary-card { min-height: 140px; }
.report-summary-card .report-kpis { margin-bottom: 0; }
.report-section-anchor { scroll-margin-top: 110px; }
.report-empty-state {
  border: 1px dashed var(--ui-border-strong, #b8c7da);
  border-radius: var(--ui-radius-lg, 16px);
  background: var(--ui-surface-soft, #f8fafc);
  padding: var(--ui-space-5, 20px);
  color: var(--ui-text-muted, #53657d);
}
@media (max-width: 820px) {
  .report-hero, .report-layout-callout { grid-template-columns: 1fr; }
  .report-hero-actions { justify-content: stretch; }
  .report-stepper { grid-template-columns: 1fr; }
  .report-step { min-height: auto; }
}
@media (max-width: 520px) {
  .report-step-main { align-items: flex-start; }
  .report-step-actions .btn { width: 100%; }
}
