/* cron-builder — extracted from inline <style> */
.cron-display {
  font-family: 'SFMono-Regular', Consolas, monospace; font-size: 1.75rem;
  font-weight: 800; text-align: center; padding: 1rem; letter-spacing: 0.15em;
  color: var(--cluster-dark); background: var(--cluster-surface, #f8f9fa);
  border-radius: var(--evvy-radius-lg, 12px); margin-bottom: 1rem;
  border: 2px solid var(--evvy-border-color);
}
.cron-human {
  text-align: center; font-size: 1rem; font-weight: 600; padding: 0.5rem;
  color: var(--evvy-text-secondary); margin-bottom: 1rem;
}
.cron-field-row {
  display: grid; grid-template-columns: 120px 1fr; gap: 0.75rem;
  padding: 0.75rem 0; border-bottom: 1px solid var(--evvy-border-color);
  align-items: center;
}
.cron-field-label { font-weight: 700; font-size: 0.8125rem; }
.cron-field-hint { font-size: 0.6875rem; color: var(--evvy-text-secondary); }
.cron-pill-grid { display: flex; flex-wrap: wrap; gap: 0.25rem; }
.cron-pill {
  padding: 0.25rem 0.5rem; font-size: 0.75rem; font-weight: 600;
  border: 1px solid var(--evvy-border-color); border-radius: 6px;
  background: var(--bs-body-bg); cursor: pointer; text-align: center;
  min-width: 32px; transition: all 0.15s ease; user-select: none;
}
.cron-pill:hover { border-color: var(--cluster-dark); }
.cron-pill.active { background: var(--cluster-dark); color: var(--cluster-text, #fff); border-color: var(--cluster-dark); }
.cron-preset-row { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.75rem; }
.cron-preset-btn {
  padding: 0.3rem 0.65rem; font-size: 0.75rem; font-weight: 600;
  border: 1px solid var(--evvy-border-color); border-radius: 6px;
  background: var(--bs-body-bg); cursor: pointer; transition: all 0.15s ease;
}
.cron-preset-btn:hover { border-color: var(--cluster-dark); background: var(--cluster-surface); }
.cron-next-times {
  margin-top: 1rem; padding: 0.75rem;
  border: 1px solid var(--evvy-border-color); border-radius: var(--evvy-radius-lg, 12px);
}
.cron-next-time {
  padding: 0.3rem 0; font-size: 0.8125rem;
  border-bottom: 1px solid var(--evvy-border-color);
  display: flex; justify-content: space-between;
}
.cron-next-time:last-child { border-bottom: none; }
.cron-heatmap {
  display: grid; grid-template-columns: 50px repeat(24, 1fr); gap: 1px;
  margin-top: 1rem; font-size: 0.625rem;
}
.cron-heatmap-cell {
  aspect-ratio: 1; border-radius: 2px; background: var(--evvy-border-color);
  transition: background 0.2s ease;
}
.cron-heatmap-cell.active { background: var(--cluster-dark); }
.cron-heatmap-label {
  font-size: 0.625rem; font-weight: 600; color: var(--evvy-text-secondary);
  display: flex; align-items: center;
}
[data-bs-theme="dark"] .cron-pill.active { color: #1a1a2e; }
@media (max-width: 575.98px) {
  .cron-field-row { grid-template-columns: 1fr; }
  .cron-display { font-size: 1.25rem; }
  .cron-heatmap { font-size: 0.5rem; }
}
