/* Vista: Estado del servicio (/estado) */
.estado-resumen {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  margin: var(--space-6) auto 0;
  padding: var(--space-3) var(--space-6);
  border-radius: var(--radius-full);
  font-weight: var(--font-weight-semibold);
}

.estado-resumen-bien {
  background: var(--brand-accent-light);
  color: var(--brand-accent-dark);
}

.estado-resumen-mal {
  background: #FEF3C7;
  color: #92400E;
}

.estado-punto {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: currentColor;
}

.estado-lista {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 880px;
}

.estado-cabecera {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-4);
}

.estado-cabecera h2 {
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-1);
}

.estado-cabecera p {
  font-size: var(--font-size-sm);
  margin: 0;
}

.estado-pastilla {
  flex-shrink: 0;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-full);
}

.estado-ok { background: var(--brand-accent-light); color: var(--brand-accent-dark); }
.estado-mal { background: #FEF3C7; color: #92400E; }
.estado-sin { background: var(--color-bg); color: var(--color-text-muted); border: 1px solid var(--color-border); }

.estado-detalle {
  margin: var(--space-3) 0 0;
  font-size: var(--font-size-sm);
  color: #92400E;
}

/* 90 barras que se reparten el ancho: caben igual en móvil */
.estado-barras {
  display: flex;
  gap: 2px;
  height: 34px;
  margin-top: var(--space-4);
}

.estado-barra {
  flex: 1;
  min-width: 1px;
  border-radius: 2px;
}

.estado-barra-ok { background: var(--brand-accent); }
.estado-barra-regular { background: #F59E0B; }
.estado-barra-mal { background: #EF4444; }
.estado-barra-sin { background: var(--color-border); }

.estado-pie {
  display: flex;
  justify-content: space-between;
  font-size: var(--font-size-xs);
  margin-top: var(--space-2);
}

.estado-nota {
  font-size: var(--font-size-sm);
  margin-top: var(--space-4);
}

@media (max-width: 640px) {
  .estado-cabecera { flex-direction: column; }
  .estado-barras { gap: 1px; }
}
