/* Dashboard AI Marketing Automation — tema dark, coerente con Bootstrap 5.3 */

:root {
  --terminal-bg: #0b0e11;
  --terminal-border: rgba(255, 255, 255, 0.08);
}

body {
  font-feature-settings: "tnum" 1;
}

.ls-1 {
  letter-spacing: 0.06em;
}

/* ---- KPI --------------------------------------------------------------- */

.kpi-card {
  transition: transform 0.15s ease, border-color 0.15s ease;
}

.kpi-card:hover {
  transform: translateY(-2px);
  border-color: var(--bs-primary) !important;
}

.kpi-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.75rem;
  font-size: 1.25rem;
}

.kpi-card .display-6 {
  font-size: clamp(1.5rem, 2.2vw, 2.1rem);
}

/* ---- Dipartimenti ------------------------------------------------------ */

.dept-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  flex-shrink: 0;
}

.min-w-0 {
  min-width: 0;
}

/* ---- Terminale log ----------------------------------------------------- */

.agent-terminal {
  background: var(--terminal-bg);
  border-top: 1px solid var(--terminal-border);
  border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  font-size: 0.8125rem;
  line-height: 1.6;
  height: 420px;
  overflow-y: auto;
  padding: 0.75rem 1rem;
  scrollbar-width: thin;
}

.agent-terminal::-webkit-scrollbar {
  width: 8px;
}

.agent-terminal::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 4px;
}

.log-line {
  display: flex;
  gap: 0.75rem;
  padding: 0.125rem 0;
  border-left: 2px solid transparent;
  padding-left: 0.5rem;
  animation: log-in 0.2s ease-out;
}

@keyframes log-in {
  from { opacity: 0; transform: translateX(-4px); }
  to   { opacity: 1; transform: none; }
}

.log-ts {
  color: #6c757d;
  flex-shrink: 0;
}

.log-agent {
  color: #6ea8fe;
  flex-shrink: 0;
  min-width: 11rem;
  font-weight: 600;
}

.log-msg {
  color: #dee2e6;
  white-space: pre-wrap;
  word-break: break-word;
}

.log-decision { border-left-color: #6ea8fe; }
.log-decision .log-msg { color: #9ec5fe; }

.log-success { border-left-color: #75b798; }
.log-success .log-msg { color: #75b798; }

.log-warning { border-left-color: #ffda6a; }
.log-warning .log-msg { color: #ffda6a; }

.log-error { border-left-color: #ea868f; }
.log-error .log-msg { color: #ea868f; }

.log-debug .log-msg { color: #6c757d; font-style: italic; }

/* ---- Varie ------------------------------------------------------------- */

.blink {
  animation: blink 1.4s ease-in-out infinite;
  font-size: 0.5rem;
  vertical-align: middle;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.25; }
}

details > summary {
  cursor: pointer;
}

@media (max-width: 576px) {
  .log-agent { min-width: 6rem; }
  .agent-terminal { height: 300px; font-size: 0.75rem; }
}
