:root {
  --spefin-green: #1b5e3f;
  --spefin-green-dark: #124a30;
  --spefin-green-light: #e5f2eb;
}

.bg-spefin { background-color: var(--spefin-green) !important; }
.text-spefin { color: var(--spefin-green) !important; }
.btn-spefin { background-color: var(--spefin-green); border-color: var(--spefin-green); color: #fff; }
.btn-spefin:hover { background-color: var(--spefin-green-dark); border-color: var(--spefin-green-dark); color: #fff; }
.btn-outline-spefin { color: var(--spefin-green); border-color: var(--spefin-green); }
.btn-outline-spefin:hover { background-color: var(--spefin-green); color: #fff; }

.kpi-card {
  border-left: 4px solid var(--spefin-green);
  background: #fff;
  padding: 1rem 1.25rem;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.kpi-card .kpi-value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--spefin-green);
  line-height: 1;
}
.kpi-card .kpi-label {
  font-size: 0.85rem;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.card-agenzia { transition: box-shadow .15s ease; }
.card-agenzia:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.1); }

.badge-C { background-color: #198754; color: #fff; }
.badge-DS { background-color: #dc3545; color: #fff; }
.badge-NA { background-color: #6c757d; color: #fff; }

.priorita-A { background-color: #dc3545; color: #fff; }
.priorita-M { background-color: #fd7e14; color: #fff; }
.priorita-B { background-color: #ffc107; color: #212529; }

.voce-checklist {
  padding: 1rem;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  background: #fff;
  margin-bottom: 0.5rem;
}
.voce-checklist.completata { border-left: 4px solid #198754; }
.voce-checklist.ds { border-left: 4px solid #dc3545; background: #fff5f5; }
.voce-checklist.na { border-left: 4px solid #6c757d; }

.esito-btn-group .btn { min-width: 3.5rem; }

@media (max-width: 767px) {
  .esito-btn-group .btn { padding: 0.5rem 0.75rem; font-size: 1rem; }
}

.sezione-title {
  background: var(--spefin-green-light);
  padding: 0.75rem 1rem;
  border-radius: 6px;
  border-left: 4px solid var(--spefin-green);
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  font-weight: 600;
}

.border-spefin { border-color: var(--spefin-green) !important; }

.badge-cod-oam {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  min-width: 4em;
}
