:root {
  --indigo-50: #eef2ff;
  --indigo-600: #4f46e5;
}

input[type="date"], input[type="number"], input[type="text"], input[type="search"],
input[type="password"], select, textarea {
  font: inherit;
}

input:focus, select:focus, textarea:focus {
  outline: 2px solid var(--indigo-600);
  outline-offset: -1px;
}

button {
  cursor: pointer;
}

button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.sub-card {
  transition: transform .12s ease, box-shadow .12s ease;
}
.sub-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.tag {
  display: inline-block;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--indigo-50);
  color: var(--indigo-600);
}

.rule-row {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 8px;
  align-items: center;
}
