/* Dashboard azienda — timeline verticale (to-do) + stepper orizzontale (fasi evento).
   I colori usano i token Metronic (--primary, --border, --muted-foreground, ...). */

/* ---- Layout proprietario (NON dipende dalle utility Tailwind purgate dal build Metronic:
   es. lg:grid-cols-4 non è compilato). ---- */
.hi-az-dashboard {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
}
.hi-az-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
.hi-az-cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.875rem;
}
.hi-az-side {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
}
.hi-az-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}
@media (min-width: 1024px) {
  .hi-az-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .hi-az-cols { grid-template-columns: 2fr 1fr; }
}

/* ---- Timeline verticale (to-do) ---- */
.hi-az-timeline {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.hi-az-timeline__item {
  position: relative;
  display: flex;
  gap: 0.875rem;
  padding-bottom: 0.25rem;
}
/* Linea verticale che connette i dot (tranne l'ultimo). */
.hi-az-timeline__item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 28px;
  bottom: -1.25rem;
  width: 2px;
  background: var(--border, #e4e6ef);
}
.hi-az-timeline__dot {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--muted, #f1f1f4);
  color: var(--muted-foreground, #99a1b7);
  border: 2px solid var(--border, #e4e6ef);
  font-size: 0.75rem;
}
.hi-az-timeline__item.is-done .hi-az-timeline__dot {
  background: var(--primary, #c20e1a);
  border-color: var(--primary, #c20e1a);
  color: #fff;
}
.hi-az-timeline__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding-top: 0.25rem;
}

/* ---- Stepper orizzontale (fasi evento) ---- */
.hi-az-stepper {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.25rem;
}
.hi-az-stepper__step {
  position: relative;
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  text-align: center;
}
/* Connettore tra gli step. */
.hi-az-stepper__step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 13px;
  left: 50%;
  width: 100%;
  height: 2px;
  background: var(--border, #e4e6ef);
  z-index: 0;
}
.hi-az-stepper__step.is-past:not(:last-child)::after {
  background: var(--primary, #c20e1a);
}
.hi-az-stepper__dot {
  position: relative;
  z-index: 1;
  width: 28px;
  height: 28px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
  background: var(--muted, #f1f1f4);
  color: var(--muted-foreground, #99a1b7);
  border: 2px solid var(--border, #e4e6ef);
}
.hi-az-stepper__step.is-past .hi-az-stepper__dot,
.hi-az-stepper__step.is-current .hi-az-stepper__dot {
  background: var(--primary, #c20e1a);
  border-color: var(--primary, #c20e1a);
  color: #fff;
}
.hi-az-stepper__step.is-current .hi-az-stepper__dot {
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary, #c20e1a) 18%, transparent);
}
.hi-az-stepper__label {
  font-size: 0.75rem;
  line-height: 1.1;
  color: var(--secondary-foreground, #4b5675);
}
.hi-az-stepper__step.is-current .hi-az-stepper__label {
  color: var(--mono, #071437);
  font-weight: 600;
}

/* ---- FAQ accordion (native <details>) ---- */
.hi-az-faq {
  border: 1px solid var(--border, #e4e6ef);
  border-radius: 8px;
  background: var(--background, #fff);
}
.hi-az-faq__q {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.875rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--mono, #071437);
}
.hi-az-faq__q::-webkit-details-marker { display: none; }
.hi-az-faq__chevron {
  flex: 0 0 auto;
  color: var(--muted-foreground, #99a1b7);
  transition: transform 0.2s ease;
  font-size: 0.75rem;
}
.hi-az-faq[open] .hi-az-faq__chevron { transform: rotate(180deg); }
.hi-az-faq[open] .hi-az-faq__q { color: var(--primary, #c20e1a); }
.hi-az-faq__a {
  padding: 0 1rem 1rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--secondary-foreground, #4b5675);
}
.hi-az-faq__a ul { list-style: disc; padding-left: 1.25rem; margin: 0.25rem 0; }
.hi-az-faq__a strong { color: var(--mono, #071437); }

/* ---- Crono programma (fasi evento con orari) ---- */
.hi-az-crono { display: flex; flex-direction: column; }
.hi-az-crono__item {
  display: flex;
  gap: 0.75rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--border, #e4e6ef);
  font-size: 0.875rem;
}
.hi-az-crono__item:last-child { border-bottom: 0; }
.hi-az-crono__time { flex: 0 0 auto; min-width: 92px; font-weight: 600; color: var(--primary, #c20e1a); }
.hi-az-crono__label { color: var(--mono, #071437); }

/* ---- Hero brandizzata in cima alla dashboard ---- */
.hi-az-hero { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #c20e1a; border-radius: 12px; padding: 18px 22px; }
.hi-az-hero__text { min-width: 0; }
.hi-az-hero__title { color: #fff; font-size: 18px; font-weight: 600; margin: 0; line-height: 1.2; }
.hi-az-hero__sub { color: #ffe1e1; font-size: 13px; margin: 4px 0 0; display: flex; align-items: center; gap: 8px; }
.hi-az-hero__live { width: 9px; height: 9px; border-radius: 50%; background: #fff; flex: 0 0 auto; animation: hi-az-hero-pulse 1.8s infinite; }
@keyframes hi-az-hero-pulse { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,0.55); } 70% { box-shadow: 0 0 0 7px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }
@media (prefers-reduced-motion: reduce) { .hi-az-hero__live { animation: none; } }
.hi-az-hero__cta { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; background: rgba(255,255,255,0.16); color: #fff; border-radius: 8px; padding: 9px 14px; font-size: 13px; font-weight: 600; flex: 0 0 auto; }
.hi-az-hero__cta:hover { background: rgba(255,255,255,0.26); color: #fff; }
.hi-az-hero__cta i { font-size: 16px; }
@media (max-width: 640px) { .hi-az-hero { flex-direction: column; align-items: flex-start; } }

/* Profondità leggera sulle card della dashboard (oggi piatte). */
.hi-az-dashboard .kt-card { box-shadow: 0 3px 11px rgba(45,72,126,0.10); }

/* ---- Box Scadenze (read-only) ---- */
.hi-az-scad { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.hi-az-scad__item { display: grid; grid-template-columns: 52px 1fr; align-items: baseline; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--border, #eef0f4); }
.hi-az-scad__item:last-child { border-bottom: 0; }
.hi-az-scad__date { font-weight: 600; font-size: 13px; color: #c20e1a; white-space: nowrap; }
.hi-az-scad__label { font-size: 13px; color: var(--secondary-foreground, #4b5563); }

/* ---- Card "Ultimi CV ricevuti" ---- */
.hi-az-latest { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.hi-az-latest__item { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border, #eef0f4); }
.hi-az-latest__item:last-child { border-bottom: 0; }
.hi-az-latest__body { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.hi-az-latest__name { font-size: 14px; font-weight: 500; color: var(--mono, #071437); }
.hi-az-latest__name:hover { color: #c20e1a; }
.hi-az-latest__date { font-size: 12px; color: var(--secondary-foreground, #78829d); }

/* ---- Empty state ---- */
.hi-az-empty { text-align: center; padding: 1.75rem 1rem; color: var(--secondary-foreground, #78829d); }
.hi-az-empty i { font-size: 34px; color: #cfd4de; display: block; margin-bottom: .5rem; }
.hi-az-empty p { font-size: 13px; margin: 0 0 1rem; line-height: 1.5; }

/* "Visualizza tutti" in fondo alla card Ultimi CV. */
.hi-az-latest__all { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 10px; padding-top: 12px; border-top: 1px solid var(--border, #eef0f4); font-size: 13px; font-weight: 600; color: #c20e1a; }
.hi-az-latest__all i { font-size: 14px; }
.hi-az-latest__all:hover { color: #9a0b14; }
