/* Cron Jobs (task-0132 hologram revamp) — glass morphism job cards,
   glowing status indicators, holographic section headers. */

a { color: inherit; }
.section-meta, .muted { color: var(--text-dim); font-size: 0.85rem; }

.refresh-button, .expand-button {
  border: 1px solid rgba(245,158,11,0.20);
  border-radius: 6px;
  padding: 0.25rem 0.55rem;
  background: rgba(10,12,22,0.75);
  color: var(--text);
  font: inherit;
  cursor: pointer;
  transition: all 0.18s ease;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.refresh-button:hover, .expand-button:hover {
  border-color: var(--accent);
  color: var(--accent);
  box-shadow: var(--glow-soft);
}
.refresh-button:disabled { cursor: wait; opacity: 0.72; }

.jobs-main {
  display: grid;
  gap: 0.75rem;
  padding: 0.75rem;
}

.panel-section, .source-errors {
  background: rgba(8, 10, 20, 0.75);
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  border: 1px solid rgba(245,158,11,0.16);
  border-radius: 10px;
  padding: 0.7rem;
  box-shadow: var(--shadow);
}

.section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.6rem;
}
.section-head h2, .source-errors h2 {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-dim);
  font-family: var(--font-mono);
}

.jobs-list { display: grid; gap: 0.6rem; }

.job-card, .empty-state {
  background: rgba(10,12,22,0.78);
  border: 1px solid rgba(245,158,11,0.12);
  border-radius: 8px;
}
.job-card {
  padding: 0.7rem;
  border-left: 3px solid rgba(245,158,11,0.25);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.job-card:hover { box-shadow: 0 0 16px rgba(0,0,0,0.4); }
.job-card.ok, .job-card.running { border-left-color: var(--ok); box-shadow: -2px 0 10px rgba(46,230,168,0.12); }
.job-card.warn  { border-left-color: var(--warn);   box-shadow: -2px 0 10px rgba(255,200,87,0.12); }
.job-card.error { border-left-color: var(--danger);  box-shadow: -2px 0 10px rgba(255,92,108,0.12); }
.job-card.disabled { border-left-color: rgba(245,158,11,0.15); opacity: 0.72; }

.job-head, .job-title, .job-actions, .run-line { display: flex; align-items: center; }
.job-head, .run-line { justify-content: space-between; gap: 0.75rem; }
.job-title { gap: 0.55rem; min-width: 0; }
.job-title h3 { margin: 0; font-size: 0.98rem; }
.job-id, .run-meta { color: var(--text-dim); font-size: 0.74rem; font-family: ui-monospace, monospace; }
.job-actions { gap: 0.4rem; }

/* State dot with bloom */
.job-state-dot {
  flex: 0 0 auto;
  width: 0.7rem; height: 0.7rem;
  border-radius: 999px;
  background: rgba(245,158,11,0.25);
}
.job-card.ok .job-state-dot,
.job-card.running .job-state-dot {
  background: var(--ok);
  box-shadow: 0 0 8px var(--ok), 0 0 18px rgba(46,230,168,0.3);
}
.job-card.warn .job-state-dot {
  background: var(--warn);
  box-shadow: 0 0 8px var(--warn), 0 0 18px rgba(255,200,87,0.3);
}
.job-card.error .job-state-dot {
  background: var(--danger);
  box-shadow: 0 0 8px var(--danger), 0 0 18px rgba(255,92,108,0.3);
}

@media (prefers-reduced-motion: no-preference) {
  .job-card.running .job-state-dot { animation: dot-bloom 2s ease-in-out infinite; }
}

.status-pill, .run-status {
  border-radius: 6px;
  padding: 0.12rem 0.45rem;
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
  background: var(--chip-bg);
  border: 1px solid rgba(245,158,11,0.10);
}
.status-pill.ok, .status-pill.running,
.run-status.ok,  .run-status.running {
  background: var(--ok-bg);
  color: var(--ok);
  border-color: rgba(46,230,168,0.3);
  box-shadow: 0 0 8px rgba(46,230,168,0.12);
}
.status-pill.warn, .run-status.warn {
  background: var(--warn-bg);
  color: var(--warn);
  border-color: rgba(255,200,87,0.3);
}
.status-pill.error, .run-status.error {
  background: var(--danger-bg);
  color: var(--danger);
  border-color: rgba(255,92,108,0.3);
}
.status-pill.disabled { color: var(--text-dim); }

.job-description { margin: 0.55rem 0; color: var(--text-dim); }

.job-facts {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
}
.job-facts dt { color: var(--text-dim); font-size: 0.72rem; text-transform: uppercase; }
.job-facts dd { margin: 0.1rem 0 0; min-width: 0; overflow-wrap: anywhere; font-weight: 650; }

.run-history {
  margin-top: 0.65rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(245,158,11,0.08);
}
.run-history h4 {
  margin: 0 0 0.45rem;
  font-size: 0.82rem;
  color: var(--text-dim);
  text-transform: uppercase;
  font-family: var(--font-mono);
}
.run-list { display: grid; gap: 0.45rem; margin: 0; padding: 0; list-style: none; }
.run-item {
  border: 1px solid rgba(245,158,11,0.10);
  border-left: 3px solid rgba(245,158,11,0.20);
  border-radius: 6px;
  padding: 0.5rem;
  background: rgba(5,5,10,0.5);
}
.run-item.ok, .run-item.running { border-left-color: var(--ok); }
.run-item.warn  { border-left-color: var(--warn); }
.run-item.error { border-left-color: var(--danger); }
.run-item p     { margin: 0.35rem 0; }
.detail-empty   { margin: 0; }

.empty-state {
  display: grid;
  gap: 0.2rem;
  padding: 1rem;
  color: var(--text-dim);
  border-style: dashed;
  border-color: rgba(245,158,11,0.12);
}
.empty-state strong { color: var(--text); }

.source-errors { border-color: rgba(255,200,87,0.3); color: var(--warn); background: var(--warn-bg); }
.source-errors ul { margin: 0.4rem 0 0; }

@media (max-width: 860px) {
  .job-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .section-head, .job-head { align-items: stretch; flex-direction: column; }
  .job-actions { justify-content: flex-start; }
  .job-facts { grid-template-columns: 1fr; }
}
