/*
 * ilPolistirolo.it — Portale Tracking Cliente v2
 */
:root {
  --ilp-green:   #8CC63F;
  --ilp-green-d: #7ab535;
  --ilp-dark:    #1a1f2e;
  --ilp-dark2:   #232b3e;
  --ilp-text:    #111827;
  --ilp-sub:     #6b7280;
  --ilp-border:  #e5e7eb;
  --ilp-bg:      #f8f9fa;
  --ilp-radius:  12px;
}
* { box-sizing: border-box; }

#ilp-tracking-root {
  max-width: 620px;
  margin: 0 auto;
  padding: 0 16px 48px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 15px;
  color: var(--ilp-text);
}

/* ── Header ─────────────────────────────────────────────── */
.ilp-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0;
  margin-bottom: 24px;
  border-bottom: 2px solid var(--ilp-border);
  gap: 12px;
}
.ilp-logo {
  font-size: 18px;
  font-weight: 800;
  color: var(--ilp-dark);
  letter-spacing: 0.2px;
}
.ilp-logo span { color: var(--ilp-green); }
/* Logo immagine nell'header */
.ilp-logo-img {
  display: block;
  height: 34px;
  width: auto;
  max-width: 190px;
}
.ilp-login .ilp-logo-img {
  height: 46px;
  max-width: 240px;
  margin: 0 auto 6px;
}
.ilp-exit {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 15px;
  border: 1.5px solid var(--ilp-border);
  border-radius: 9px;
  background: #fff;
  color: var(--ilp-sub);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
}
.ilp-exit svg { width: 15px; height: 15px; flex-shrink: 0; }
.ilp-exit:hover { background: var(--ilp-bg); color: var(--ilp-text); border-color: #cbd5e1; box-shadow: 0 1px 3px rgba(0,0,0,0.06); }

/* ── Banner registrazione (solo utenti senza account) ───── */
.ilp-promo {
  background: #fff;
  border: 1.5px solid var(--ilp-green);
  border-radius: var(--ilp-radius);
  padding: 18px 18px 16px;
  margin-bottom: 16px;
  box-shadow: 0 2px 10px rgba(140,198,63,0.12);
}
.ilp-promo-head { display: flex; align-items: center; gap: 11px; margin-bottom: 13px; }
.ilp-promo-ico {
  width: 40px; height: 40px; flex-shrink: 0;
  border-radius: 10px;
  background: #eaf3de;
  display: flex; align-items: center; justify-content: center;
  font-size: 21px;
}
.ilp-promo-title { font-size: 15.5px; font-weight: 800; color: var(--ilp-dark); line-height: 1.25; }
.ilp-promo-sub   { font-size: 12.5px; color: var(--ilp-sub); margin-top: 2px; }
.ilp-promo-list  { list-style: none; margin: 0 0 15px; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.ilp-promo-list li {
  display: flex; align-items: flex-start; gap: 9px;
  font-size: 13px; color: #374151; line-height: 1.4;
}
.ilp-promo-list li::before {
  content: '✓';
  color: var(--ilp-green);
  font-weight: 900;
  font-size: 14px;
  line-height: 1.3;
  flex-shrink: 0;
}
.ilp-promo-cta {
  width: 100%;
  padding: 13px;
  border: none;
  border-radius: 10px;
  background: var(--ilp-green);
  color: var(--ilp-dark);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: background 0.15s, transform 0.1s;
}
.ilp-promo-cta:hover  { background: var(--ilp-green-d); }
.ilp-promo-cta:active { transform: scale(0.985); }

/* ── Card base ──────────────────────────────────────────── */
.ilp-card {
  background: #fff;
  border: 1px solid var(--ilp-border);
  border-radius: var(--ilp-radius);
  padding: 20px;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* ── Login ──────────────────────────────────────────────── */
.ilp-card.ilp-login {
  max-width: 400px;
  margin: 40px auto 0;
  text-align: center;
  padding: 32px 28px;
}
.ilp-login .ilp-logo {
  font-size: 22px;
  margin-bottom: 6px;
  display: block;
}
.ilp-login .ilp-sub {
  font-size: 14px;
  color: var(--ilp-sub);
  margin-bottom: 24px;
  line-height: 1.6;
}
.ilp-form-label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: var(--ilp-sub);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 6px;
  text-align: left;
}
.ilp-form-input,
.ilp-login input[type="text"] {
  width: 100%;
  padding: 13px 16px;
  border: 2px solid var(--ilp-border);
  border-radius: 10px;
  font-size: 16px;
  font-family: 'Courier New', monospace;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 14px;
  transition: border-color 0.15s;
  color: var(--ilp-text);
  background: #fff;
}
.ilp-form-input:focus,
.ilp-login input[type="text"]:focus {
  outline: none;
  border-color: var(--ilp-green);
  box-shadow: 0 0 0 3px rgba(140,198,63,0.15);
}
.ilp-form-group { margin-bottom: 14px; }

/* ── Header commessa ────────────────────────────────────── */
.ilp-commessa-header {
  background: linear-gradient(135deg, var(--ilp-dark) 0%, var(--ilp-dark2) 100%);
  border-radius: var(--ilp-radius) var(--ilp-radius) 0 0;
  padding: 22px 24px;
  margin-bottom: 0;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
.ilp-commessa-titolo {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 8px;
  line-height: 1.3;
}
.ilp-commessa-sub {
  font-size: 15px !important;
  color: rgba(255,255,255,0.92) !important;
  letter-spacing: 0.3px;
  font-weight: 500;
}

/* ── Badge ──────────────────────────────────────────────── */
.ilp-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.3px;
}
.ilp-badge-gray    { background: #f3f4f6; color: #4b5563; }
.ilp-badge-info    { background: #e6f1fb; color: #0c447c; }
.ilp-badge-warning { background: #faeeda; color: #854f0b; }
.ilp-badge-ok      { background: #eaf3de; color: #3b6d11; }

/* ── Progress bar fasi ──────────────────────────────────── */
.ilp-fasi-wrap {
  background: #fff;
  border: 1px solid var(--ilp-border);
  border-top: none;
  border-radius: 0 0 var(--ilp-radius) var(--ilp-radius);
  padding: 20px 20px;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  overflow: hidden;
}
.ilp-fasi-progress-wrap {
  background: #f3f4f6;
  border-radius: 99px;
  height: 8px;
  margin-bottom: 20px;
  overflow: hidden;
}
.ilp-fasi-progress-bar {
  height: 8px;
  background: linear-gradient(90deg, var(--ilp-green), var(--ilp-green-d));
  border-radius: 99px;
  transition: width 0.6s ease;
  box-shadow: 0 0 8px rgba(140,198,63,0.4);
}
.ilp-fasi-counter {
  font-size: 13px;
  color: var(--ilp-green);
  text-align: right;
  margin-bottom: 16px;
  font-weight: 700;
  letter-spacing: 0.3px;
}
.ilp-fasi-list { display: flex; flex-direction: column; gap: 0; padding: 0; margin: 0; list-style: none; }
.ilp-fase-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--ilp-border);
}
.ilp-fase-item:last-child { border-bottom: none; padding-bottom: 0; }
.ilp-fase-dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid var(--ilp-border);
  flex-shrink: 0;
  margin-top: 0;
  transition: all 0.2s;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--ilp-sub);
}
.ilp-fase-done .ilp-fase-dot {
  background: var(--ilp-green);
  border-color: var(--ilp-green);
  box-shadow: 0 0 8px rgba(140,198,63,0.4);
  color: #fff;
  font-size: 14px;
}
.ilp-fase-desc {
  flex: 1;
  min-width: 0;
}
.ilp-fase-desc strong {
  font-size: 15px;
  font-weight: 700;
  color: var(--ilp-text);
  display: block;
  margin-bottom: 2px;
  line-height: 1.4;
}
.ilp-fase-done .ilp-fase-desc strong { color: var(--ilp-dark); }
.ilp-fase-desc small {
  font-size: 13px;
  color: var(--ilp-sub);
  line-height: 1.5;
}

/* ── Timeline ───────────────────────────────────────────── */
.ilp-timeline {
  position: relative;
  padding-left: 32px;
}
.ilp-timeline::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, var(--ilp-green), var(--ilp-border));
  border-radius: 99px;
}
.ilp-tl-item {
  position: relative;
  margin-bottom: 18px;
}
.ilp-tl-item:last-child { margin-bottom: 0; }
.ilp-tl-dot {
  position: absolute;
  left: -28px;
  top: 0px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #e5e7eb;
  border: 2px solid #fff;
  box-shadow: 0 0 0 2px #d1d5db;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  color: var(--ilp-sub);
}
.ilp-tl-item.ilp-done .ilp-tl-dot {
  background: var(--ilp-green);
  box-shadow: 0 0 0 2px var(--ilp-green);
  color: #fff;
}
.ilp-tl-item.ilp-active .ilp-tl-dot {
  background: var(--ilp-dark);
  box-shadow: 0 0 0 3px var(--ilp-dark);
  color: #fff;
  font-size: 11px;
}
.ilp-tl-label {
  font-size: 15px;
  font-weight: 700;
  color: var(--ilp-text);
  margin-bottom: 3px;
}
.ilp-tl-label.done { color: var(--ilp-green); font-weight: 700; }
.ilp-tl-label.todo { color: #9ca3af; font-weight: 500; }
.ilp-tl-nota {
  font-size: 13px;
  color: var(--ilp-sub);
  line-height: 1.5;
}
.ilp-tl-body { font-size: 13px; color: var(--ilp-sub); }

/* ── Spedizione ─────────────────────────────────────────── */
.ilp-spedizione-block {
  background: linear-gradient(135deg, #f0fde4, #ecfdf5);
  border: 1.5px solid #bbf7d0;
  border-radius: var(--ilp-radius);
  padding: 20px;
  margin-bottom: 16px;
}
.ilp-sped-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #15803d;
  font-weight: 700;
  margin-bottom: 6px;
}
.ilp-sped-testo {
  font-size: 15px;
  font-weight: 700;
  color: var(--ilp-dark);
  margin-bottom: 10px;
}
.ilp-sped-dettaglio {
  font-size: 13px;
  color: var(--ilp-sub);
  margin-bottom: 12px;
  line-height: 1.5;
}
.ilp-sped-tracking-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: var(--ilp-dark);
  color: #fff;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.15s;
  border: none;
  cursor: pointer;
}
.ilp-sped-tracking-btn:hover { background: var(--ilp-dark2); }

/* ── Consegna ───────────────────────────────────────────── */
.ilp-consegna {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  background: #fff;
  border: 1.5px solid var(--ilp-border);
  border-radius: var(--ilp-radius);
  margin-bottom: 16px;
}
.ilp-consegna-icon { font-size: 24px; }
.ilp-consegna-label {
  font-size: 11px;
  color: var(--ilp-sub);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  margin-bottom: 3px;
}
.ilp-consegna-data {
  font-size: 16px;
  font-weight: 800;
  color: var(--ilp-dark);
}

/* ── Nota cliente ───────────────────────────────────────── */
.ilp-nota-cliente {
  background: #fffbeb;
  border-left: 4px solid #f59e0b;
  border-radius: 0 8px 8px 0;
  padding: 14px 16px;
  font-size: 14px;
  color: #92400e;
  line-height: 1.6;
  margin-bottom: 16px;
}

/* ── Info email ─────────────────────────────────────────── */
.ilp-email-info {
  background: var(--ilp-bg);
  border-radius: var(--ilp-radius);
  padding: 16px 18px;
  margin-bottom: 14px;
}
.ilp-email-info-label {
  font-size: 11px;
  color: var(--ilp-sub);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  margin-bottom: 4px;
}
.ilp-email-info-value {
  font-size: 15px;
  font-weight: 700;
  color: var(--ilp-dark);
}
.ilp-email-info-hint {
  font-size: 12px;
  color: var(--ilp-sub);
  margin-top: 4px;
  line-height: 1.5;
}

/* ── Voce block ─────────────────────────────────────────── */
.ilp-voce-block {
  display: block;
  margin-bottom: 12px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--ilp-border);
}
.ilp-voce-block:last-child { margin-bottom: 0; }

/* Header prodotto dentro voce-block */
.ilp-voce-block > div:first-child {
  padding: 12px 14px;
  background: #f8fbff;
  border-bottom: 1px solid var(--ilp-border);
}

/* Lista fasi dentro voce-block */
.ilp-voce-block > div:last-child {
  padding: 4px 14px 8px;
}

/* ── Sezione titolo ─────────────────────────────────────── */
.ilp-section-title {
  font-size: 12px;
  font-weight: 800;
  color: var(--ilp-dark);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin: 20px 0 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.ilp-section-title::after {
  content: '';
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, var(--ilp-green), transparent);
  border-radius: 99px;
}

/* ── Home cards ─────────────────────────────────────────── */
.ilp-home { padding-top: 8px; }
.ilp-account-welcome {
  font-size: 17px;
  font-weight: 700;
  color: var(--ilp-dark);
  margin-bottom: 18px;
}
.ilp-home-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 20px;
}
.ilp-home-card {
  background: #fff;
  border: 1.5px solid var(--ilp-border);
  border-radius: var(--ilp-radius);
  padding: 18px 16px;
  text-align: center;
  cursor: pointer;
  transition: all 0.15s;
  text-decoration: none;
}
.ilp-home-card:hover {
  border-color: var(--ilp-green);
  background: #f6fff0;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(140,198,63,0.15);
}
.ilp-home-icon { font-size: 28px; margin-bottom: 8px; }
.ilp-home-label {
  font-size: 14px;
  font-weight: 700;
  color: var(--ilp-dark);
  margin-bottom: 3px;
}
.ilp-home-desc { font-size: 12px; color: var(--ilp-sub); }

/* ── Account commesse ───────────────────────────────────── */
.ilp-account-commesse { display: flex; flex-direction: column; gap: 10px; }
.ilp-account-commessa {
  background: #fff;
  border: 1.5px solid var(--ilp-border);
  border-radius: var(--ilp-radius);
  padding: 16px 18px;
  cursor: pointer;
  transition: all 0.15s;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-decoration: none;
}
.ilp-account-commessa:hover {
  border-color: var(--ilp-green);
  background: #f9feff;
  box-shadow: 0 2px 8px rgba(140,198,63,0.12);
}
.ilp-account-comm-header { flex: 1; min-width: 0; }
.ilp-account-comm-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--ilp-dark);
  margin-bottom: 3px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ilp-account-comm-sub {
  font-size: 12px;
  color: var(--ilp-sub);
}
.ilp-account-comm-data {
  font-size: 12px;
  color: var(--ilp-sub);
  white-space: nowrap;
  text-align: right;
}

/* ── Crea account / Contatto ────────────────────────────── */
.ilp-crea-account {
  background: linear-gradient(135deg, var(--ilp-dark), var(--ilp-dark2));
  border-radius: var(--ilp-radius);
  padding: 22px;
  text-align: center;
  color: #fff;
  margin-bottom: 16px;
}
.ilp-crea-account-text {
  font-size: 14px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 14px;
  line-height: 1.6;
}
.ilp-contatto {
  font-size: 13px;
  color: var(--ilp-sub);
  text-align: center;
  margin-top: 16px;
  line-height: 1.7;
}

/* ── Messaggi ───────────────────────────────────────────── */
.ilp-error {
  background: #fef2f2;
  border: 1.5px solid #fecaca;
  border-radius: 10px;
  padding: 14px 16px;
  color: #dc2626;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 14px;
}
.ilp-notice-ok {
  background: #f0fde4;
  border: 1.5px solid #bbf7d0;
  border-radius: 10px;
  padding: 14px 16px;
  color: #15803d;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 14px;
}
.ilp-empty-sm {
  text-align: center;
  padding: 32px 20px;
  color: var(--ilp-sub);
  font-size: 14px;
}
.ilp-loading {
  text-align: center;
  padding: 60px 20px;
  color: var(--ilp-sub);
  font-size: 15px;
}

/* ── Bottoni ────────────────────────────────────────────── */
.ilp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  border: 2px solid var(--ilp-border);
  background: #fff;
  color: var(--ilp-text);
  text-decoration: none;
  transition: all 0.15s;
  min-height: 46px;
  letter-spacing: 0.2px;
}
.ilp-btn:hover { background: var(--ilp-bg); }
.ilp-btn-primary {
  background: var(--ilp-green);
  color: #fff;
  border-color: var(--ilp-green);
}
.ilp-btn-primary:hover { background: var(--ilp-green-d); border-color: var(--ilp-green-d); }
.ilp-btn-link {
  background: none;
  border-color: transparent;
  color: var(--ilp-green);
  padding: 8px 12px;
  min-height: unset;
  font-size: 13px;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 600px) {
  #ilp-tracking-root { font-size: 14px; padding: 0 14px 40px; }
  .ilp-home-cards { grid-template-columns: 1fr 1fr; gap: 8px; }
  .ilp-home-card { padding: 16px 10px; }
  .ilp-home-icon { font-size: 26px; }
  .ilp-home-label { font-size: 13px; }
  .ilp-commessa-titolo { font-size: 19px; }
  .ilp-commessa-sub { font-size: 13px; }
  .ilp-commessa-header { padding: 20px 18px; }
  .ilp-fasi-wrap { padding: 18px 16px; }
  .ilp-fase-item { gap: 12px; padding: 13px 0; }
  .ilp-fase-dot { width: 26px; height: 26px; }
  .ilp-fase-desc strong { font-size: 15px; }
  .ilp-fase-desc small { font-size: 12px; }
  .ilp-card { padding: 16px; }
  .ilp-account-comm-title { font-size: 14px; }
  .ilp-section-title { font-size: 11px; margin: 18px 0 12px; }
  .ilp-fasi-counter { font-size: 12px; }
  .ilp-header { padding: 14px 0; margin-bottom: 18px; }
  .ilp-logo { font-size: 16px; }
}
@media (max-width: 380px) {
  #ilp-tracking-root { padding: 0 10px 40px; }
  .ilp-home-cards { grid-template-columns: 1fr 1fr; }
  .ilp-commessa-titolo { font-size: 17px; }
}

/* ══════════════════════════════════════════════════════════════════════
   SCHEDA COMMESSA v3 — cappello fisso + schede            27/08/2026
   Aggiunta in coda: non modifica nessuna regola esistente.
   ══════════════════════════════════════════════════════════════════════ */

/* ── Cappello sempre visibile ────────────────────────────────────────── */
.ilp-v3-hero {
  background: linear-gradient(135deg, var(--ilp-dark) 0%, var(--ilp-dark2) 100%);
  color: #fff;
  border-radius: var(--ilp-radius);
  padding: 17px 18px 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
.ilp-v3-hero-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.ilp-v3-hero-txt { min-width: 0; }
.ilp-v3-cod {
  font-size: 11px; font-weight: 700; letter-spacing: .9px; text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}
.ilp-v3-tit { font-size: 17.5px; font-weight: 800; line-height: 1.25; margin-top: 3px; text-wrap: balance; }
.ilp-v3-cli { font-size: 12.5px; color: rgba(255,255,255,0.7); margin-top: 3px; }
.ilp-v3-hero .ilp-badge { flex: 0 0 auto; }

.ilp-v3-steps { display: flex; gap: 3px; margin-top: 15px; }
.ilp-v3-step { flex: 1; height: 5px; border-radius: 20px; background: rgba(255,255,255,0.16); }
.ilp-v3-step.on  { background: var(--ilp-green); }
.ilp-v3-step.now { background: #ea8c1e; animation: ilpV3Pulse 1.9s ease-in-out infinite; }
@keyframes ilpV3Pulse { 0%,100% { opacity: 1; } 50% { opacity: .45; } }

.ilp-v3-ora {
  display: flex; align-items: flex-start; gap: 9px; margin-top: 13px;
  font-size: 13.5px; line-height: 1.45; color: rgba(255,255,255,0.9);
}
.ilp-v3-ora b { color: #fff; }
.ilp-v3-eta {
  margin-top: 11px; padding-top: 11px; border-top: 1px solid rgba(255,255,255,0.12);
  font-size: 12.5px; color: rgba(255,255,255,0.75);
  display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap;
}
.ilp-v3-eta strong { color: #fff; }

/* ── Barra "cose che aspettano te" ───────────────────────────────────── */
.ilp-v3-todo {
  margin-top: 12px; border-radius: 13px; padding: 13px 14px;
  background: #fef2f2; border: 1px solid #fecaca;
  animation: ilpV3In .45s cubic-bezier(.2,.8,.3,1) both;
}
.ilp-v3-todo.soft { background: #fffbeb; border-color: #fcd34d; }
@keyframes ilpV3In { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.ilp-v3-todo-t { font-size: 14.5px; font-weight: 800; color: #b91c1c; display: flex; align-items: center; gap: 7px; }
.ilp-v3-todo.soft .ilp-v3-todo-t { color: #b45309; }
.ilp-v3-todo-s { font-size: 12.5px; color: #7f1d1d; margin-top: 4px; line-height: 1.45; }
.ilp-v3-todo.soft .ilp-v3-todo-s { color: #92400e; }
.ilp-v3-todo-b {
  margin-top: 11px; width: 100%; font: inherit; font-size: 13.5px; font-weight: 800; cursor: pointer;
  background: var(--ilp-dark); color: #fff; border: 0; border-radius: 10px; padding: 11px;
}
.ilp-v3-todo-b:hover { background: #000; }

/* ── Barra delle schede ──────────────────────────────────────────────── */
.ilp-v3-tabs {
  position: sticky; top: 0; z-index: 30;
  display: flex; gap: 2px; margin-top: 14px; padding: 0 2px;
  background: #fff; border-bottom: 1px solid var(--ilp-border);
  overflow-x: auto; scrollbar-width: none;
  box-shadow: 0 4px 14px rgba(16,24,40,0.05);
}
.ilp-v3-tabs::-webkit-scrollbar { display: none; }
.ilp-v3-tab {
  flex: 0 0 auto; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer;
  background: none; border: 0; border-bottom: 2.5px solid transparent; color: var(--ilp-sub);
  padding: 13px 9px 11px; white-space: nowrap; display: flex; align-items: center; gap: 5px;
}
.ilp-v3-tab:hover { color: var(--ilp-text); }
.ilp-v3-tab[aria-selected="true"] { color: var(--ilp-dark); border-bottom-color: var(--ilp-green); }
.ilp-v3-tab:focus-visible { outline: 2px solid var(--ilp-green); outline-offset: -2px; }
.ilp-v3-n {
  font-size: 10.5px; font-weight: 800; border-radius: 20px; padding: 1px 6px; min-width: 17px;
  text-align: center; background: #eef0f2; color: var(--ilp-sub);
}
.ilp-v3-n.hot  { background: #b91c1c; color: #fff; }
.ilp-v3-n.warm { background: #fef3c7; color: #b45309; }

/* ── Corpo delle schede ──────────────────────────────────────────────── */
.ilp-v3-panes { margin-top: 14px; }
.ilp-v3-pane { display: flex; flex-direction: column; gap: 12px; }
.ilp-v3-pane[hidden] { display: none; }
.ilp-v3-intro { font-size: 12.5px; color: var(--ilp-sub); line-height: 1.5; padding: 0 2px; }

.ilp-v3-card {
  background: #fff; border: 1px solid var(--ilp-border); border-radius: 13px; padding: 15px;
}
.ilp-v3-card-h {
  font-size: 11px; font-weight: 800; letter-spacing: .9px; text-transform: uppercase; color: var(--ilp-sub);
  display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px;
}
.ilp-v3-k {
  font-size: 10.5px; font-weight: 800; letter-spacing: 0; text-transform: none;
  background: #f1f3f5; color: var(--ilp-sub); border-radius: 20px; padding: 2px 9px;
}
.ilp-v3-k.hot { background: #fee2e2; color: #b91c1c; }

.ilp-v3-vuoto {
  background: #fff; border: 1px solid var(--ilp-border); border-radius: 13px;
  padding: 34px 20px; text-align: center; font-size: 13.5px; color: var(--ilp-sub); line-height: 1.55;
}
.ilp-v3-vuoto span { display: block; font-size: 30px; margin-bottom: 9px; opacity: .75; }

/* ── Scheda azione ───────────────────────────────────────────────────── */
.ilp-v3-act {
  display: flex; gap: 11px; align-items: flex-start;
  background: #fff; border: 1px solid var(--ilp-border); border-radius: 13px; padding: 14px;
}
.ilp-v3-act.urg  { background: #fef2f2; border-color: #fecaca; }
.ilp-v3-act.warm { background: #fffbeb; border-color: #fcd34d; }
.ilp-v3-act-i {
  width: 38px; height: 38px; flex: 0 0 auto; border-radius: 11px;
  display: flex; align-items: center; justify-content: center; font-size: 19px; background: #f1f3f5;
}
.ilp-v3-act.urg  .ilp-v3-act-i { background: #fee2e2; }
.ilp-v3-act.warm .ilp-v3-act-i { background: #fef3c7; }
.ilp-v3-act-b { flex: 1; min-width: 0; }
.ilp-v3-act-t { font-size: 14.5px; font-weight: 800; color: var(--ilp-text); line-height: 1.3; }
.ilp-v3-act-s { font-size: 12.5px; color: var(--ilp-sub); margin-top: 4px; line-height: 1.5; }
.ilp-v3-act-r { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }

.ilp-v3-b {
  font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; text-decoration: none;
  display: inline-block; background: var(--ilp-green); color: var(--ilp-dark);
  border: 0; border-radius: 9px; padding: 10px 16px; line-height: 1.2;
}
.ilp-v3-b:hover { background: var(--ilp-green-d); color: var(--ilp-dark); }
.ilp-v3-b.ghost { background: #fff; border: 1px solid var(--ilp-border); color: var(--ilp-text); }
.ilp-v3-b.ghost:hover { background: var(--ilp-bg); }

/* ── Rimando a un'altra scheda ───────────────────────────────────────── */
.ilp-v3-rimando {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  background: #fffbeb; border: 1px solid #fcd34d; border-radius: 12px; padding: 12px 13px;
}
.ilp-v3-rimando-t { font-size: 13.5px; font-weight: 800; color: #92400e; }
.ilp-v3-rimando-s { font-size: 12px; color: #92400e; opacity: .85; margin-top: 2px; }

/* ── Riquadri informativi ────────────────────────────────────────────── */
.ilp-v3-note { border-radius: 12px; padding: 13px 14px; font-size: 12.5px; line-height: 1.55; }
.ilp-v3-note-h { display: flex; align-items: center; gap: 7px; font-weight: 800; font-size: 13.5px; margin-bottom: 5px; }
.ilp-v3-note.team  { background: #f4faea; border: 1px solid #cfe6a8; color: #33471c; }
.ilp-v3-note.info  { background: #f1f6fb; border: 1px solid #cfe0f0; color: #1e3a5f; }
.ilp-v3-note.warn  { background: #fffbeb; border: 1px solid #fcd34d; color: #92400e; }
.ilp-v3-note.bad   { background: #fef2f2; border: 1px solid #fecaca; color: #7f1d1d; }
.ilp-v3-note.ferie { background: #fff8e1; border: 1px solid #f0d9a0; color: #8a5a1a; }

/* ── Righe con valore a destra (rate, lotti, pratiche) ───────────────── */
.ilp-v3-row {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  border: 1px solid var(--ilp-border); border-radius: 10px; padding: 11px 12px; background: #fff;
}
.ilp-v3-row + .ilp-v3-row { margin-top: 8px; }
.ilp-v3-row.ok  { border-color: #b8e6b8; background: #f6fff6; }
.ilp-v3-row.bad { border-color: #fecaca; background: #fff5f5; }
.ilp-v3-row-t { font-size: 13px; font-weight: 700; color: var(--ilp-text); line-height: 1.3; }
.ilp-v3-row-s { font-size: 11.5px; color: var(--ilp-sub); margin-top: 2px; }
.ilp-v3-row-s.bad { color: #c0392b; font-weight: 600; }
.ilp-v3-row-r { text-align: right; white-space: nowrap; }
.ilp-v3-row-v { font-size: 15px; font-weight: 800; color: #1a4f8a; font-variant-numeric: tabular-nums; }
.ilp-v3-row-v.ok { color: #00a32a; }
.ilp-v3-pagata { font-size: 11px; color: #00a32a; font-weight: 700; margin-top: 2px; }
.ilp-v3-pay {
  display: inline-block; margin-top: 5px; font-size: 12px; font-weight: 800; text-decoration: none;
  background: var(--ilp-green); color: var(--ilp-dark); border-radius: 7px; padding: 5px 11px;
}
.ilp-v3-pay:hover { background: var(--ilp-green-d); color: var(--ilp-dark); }

/* ── Riepilogo importi ───────────────────────────────────────────────── */
.ilp-v3-sums { display: flex; gap: 8px; margin-bottom: 12px; }
.ilp-v3-sum {
  flex: 1; background: var(--ilp-bg); border: 1px solid var(--ilp-border);
  border-radius: 10px; padding: 9px 8px; text-align: center;
}
.ilp-v3-sum b { display: block; font-size: 14.5px; font-weight: 800; color: var(--ilp-dark); font-variant-numeric: tabular-nums; }
.ilp-v3-sum span { display: block; font-size: 10px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--ilp-sub); margin-top: 3px; }
.ilp-v3-sum.pag b { color: #00a32a; }
.ilp-v3-sum.res b { color: #c0392b; }

/* ── Aggiornamenti ───────────────────────────────────────────────────── */
.ilp-v3-upd { list-style: none; margin: 0; padding: 0; }
.ilp-v3-upd li { display: flex; gap: 11px; padding: 10px 0; border-top: 1px solid #f1f3f5; }
.ilp-v3-upd li:first-child { border-top: 0; padding-top: 0; }
.ilp-v3-upd-i {
  width: 27px; height: 27px; flex: 0 0 auto; border-radius: 8px; background: #f4f6f8;
  display: flex; align-items: center; justify-content: center; font-size: 13px;
}
.ilp-v3-upd-b { flex: 1; min-width: 0; }
.ilp-v3-upd-t { font-size: 13px; font-weight: 600; color: var(--ilp-text); line-height: 1.4; }
.ilp-v3-upd-d { font-size: 12px; color: var(--ilp-sub); margin-top: 2px; line-height: 1.4; }
.ilp-v3-upd-q { font-size: 11px; color: #9ca3af; margin-top: 3px; }
.ilp-v3-upd li.new .ilp-v3-upd-t::after {
  content: 'nuovo'; margin-left: 7px; font-size: 9.5px; font-weight: 800; letter-spacing: .4px;
  text-transform: uppercase; background: #fee2e2; color: #b91c1c; border-radius: 5px;
  padding: 1px 6px; vertical-align: 1px;
}

/* ── Data sotto la tappa della timeline ──────────────────────────────── */
.ilp-v3-tl-data { font-size: 11px; color: #9ca3af; margin-top: 2px; }

/* ── Piede ───────────────────────────────────────────────────────────── */
.ilp-v3-foot-box { margin-top: 14px; }
.ilp-v3-contatto {
  margin-top: 14px; padding: 13px 14px; border-radius: 13px;
  background: #fff; border: 1px solid var(--ilp-border);
  display: flex; align-items: center; gap: 11px;
}
.ilp-v3-contatto-i {
  width: 38px; height: 38px; flex: 0 0 auto; border-radius: 11px; background: #eaf3de;
  display: flex; align-items: center; justify-content: center; font-size: 18px;
}
.ilp-v3-contatto-t { font-size: 13.5px; font-weight: 700; color: var(--ilp-text); line-height: 1.3; }
.ilp-v3-contatto-s { font-size: 11.5px; color: var(--ilp-sub); margin-top: 2px; }
.ilp-v3-contatto a { font-size: 13px; font-weight: 800; text-decoration: none; color: #5a9216; white-space: nowrap; }

/* I blocchi asincroni (bozze, documenti, assistenza) hanno margini propri:
   dentro le schede il gap li raddoppierebbe. */
.ilp-v3-pane > div > .ilp-section-title:first-child { margin-top: 0 !important; }
.ilp-v3-pane .ilp-rilav-block:first-child,
.ilp-v3-pane .ilp-resi-block:first-child,
.ilp-v3-pane .ilp-spedizione-block:first-child { margin-top: 0 !important; }

@media (prefers-reduced-motion: reduce) {
  .ilp-v3-step.now, .ilp-v3-todo { animation: none !important; }
}

/* Sotto i 380px le cinque schede non ci stanno: si stringono, e restano
   comunque scorrevoli in orizzontale. */
@media (max-width: 380px) {
  .ilp-v3-tab { font-size: 12px; padding: 12px 7px 10px; }
  .ilp-v3-tit { font-size: 16.5px; }
}

/* ── Fasi di lavorazione (prima erano iniettate da tracking.js) ──────── */
@keyframes ilpWfIn { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@keyframes ilpWfPulse { 0% { box-shadow: 0 0 0 0 rgba(234,140,30,.45); } 70% { box-shadow: 0 0 0 8px rgba(234,140,30,0); } 100% { box-shadow: 0 0 0 0 rgba(234,140,30,0); } }
@keyframes ilpWfSpin { to { transform: rotate(360deg); } }
@keyframes ilpWfBar { from { width: 0; } }
.ilp-wf { margin-top: 14px; background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; overflow: hidden; box-shadow: 0 6px 18px rgba(16,24,40,.07); }
.ilp-wf-head { padding: 15px 16px 16px; background: linear-gradient(135deg,#1a1f2e,#232b3e); color: #fff; }
.ilp-wf-head-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ilp-wf-title { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.ilp-wf-count { font-size: 12px; font-weight: 800; color: #8CC63F; background: rgba(140,198,63,.14); border: 1px solid rgba(140,198,63,.4); border-radius: 20px; padding: 3px 11px; white-space: nowrap; }
.ilp-wf-track { height: 7px; background: rgba(255,255,255,.13); border-radius: 20px; margin-top: 13px; overflow: hidden; }
.ilp-wf-fill { height: 100%; background: linear-gradient(90deg,#8CC63F,#7ab535); border-radius: 20px; animation: ilpWfBar 1.1s cubic-bezier(.4,0,.2,1); transition: width .6s ease; }
.ilp-wf-sub { font-size: 11px; color: rgba(255,255,255,.62); margin-top: 8px; display: flex; align-items: center; gap: 6px; }
.ilp-wf-live { width: 7px; height: 7px; border-radius: 50%; background: #ea8c1e; box-shadow: 0 0 0 0 rgba(234,140,30,.6); animation: ilpWfPulse 1.7s infinite; }
.ilp-wf-group { padding: 0 16px; }
.ilp-wf-group-lbl { font-size: 10.5px; font-weight: 800; color: #6b7280; text-transform: uppercase; letter-spacing: .6px; padding: 13px 0 4px; border-top: 1px solid #f1f3f5; }
.ilp-wf-group:first-of-type .ilp-wf-group-lbl { border-top: none; }
.ilp-wf-list { position: relative; margin: 0; padding: 6px 0 8px 0; list-style: none; }
.ilp-wf-list:before { content: ""; position: absolute; left: 10px; top: 16px; bottom: 16px; width: 2px; background: linear-gradient(#e5e7eb,#eef0f2); }
.ilp-wf-row { position: relative; display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 10px; animation: ilpWfIn .45s ease both; transition: background .2s; }
.ilp-wf-row:hover { background: #f7faf1; }
.ilp-wf-node { position: relative; width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: #fff; border: 2px solid #d1d5db; z-index: 1; transition: .2s; }
.ilp-wf-row.done .ilp-wf-node { background: #8CC63F; border-color: #8CC63F; }
.ilp-wf-row.corso .ilp-wf-node { border-color: #ea8c1e; animation: ilpWfPulse 1.7s infinite; }
.ilp-wf-spin { position: absolute; inset: -3px; border-radius: 50%; border: 2px solid transparent; border-top-color: #ea8c1e; animation: ilpWfSpin 1s linear infinite; }
.ilp-wf-check { color: #fff; font-size: 12px; font-weight: 900; line-height: 1; }
.ilp-wf-dotc { width: 8px; height: 8px; border-radius: 50%; background: #ea8c1e; }
.ilp-wf-desc { flex: 1; font-size: 13.5px; line-height: 1.35; }
.ilp-wf-row.done .ilp-wf-desc { color: #15803d; font-weight: 600; }
.ilp-wf-row.corso .ilp-wf-desc { color: #92400e; font-weight: 700; }
.ilp-wf-row.todo .ilp-wf-desc { color: #9ca3af; font-weight: 500; }
.ilp-wf-chip { font-size: 9.5px; font-weight: 800; border-radius: 6px; padding: 2px 8px; white-space: nowrap; letter-spacing: .4px; text-transform: uppercase; }
.ilp-wf-chip.corso { color: #b45309; background: #fef3c7; }
.ilp-wf-chip.done { color: #15803d; background: #dcfce7; }
.ilp-wf-chip.todo { color: #9ca3af; background: #f3f4f6; }
.ilp-wf-art { padding: 0 16px; }
.ilp-wf-art + .ilp-wf-art { border-top: 1px solid #eef0f2; }
.ilp-wf-art-head { display: flex; align-items: center; gap: 11px; padding: 14px 0 4px; }
.ilp-wf-art-num { width: 26px; height: 26px; border-radius: 8px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; color: #fff; background: linear-gradient(135deg,#2b3346,#1a1f2e); box-shadow: 0 2px 6px rgba(16,24,40,.18); }
.ilp-wf-art.done .ilp-wf-art-num { background: linear-gradient(135deg,#8CC63F,#6fae2e); }
.ilp-wf-art-info { flex: 1; min-width: 0; }
.ilp-wf-art-name { font-size: 13.5px; font-weight: 800; color: #1a1f2e; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ilp-wf-art-meta { font-size: 11px; color: #8a93a0; margin-top: 2px; }
.ilp-wf-art-count { font-size: 10.5px; font-weight: 800; border-radius: 20px; padding: 3px 9px; white-space: nowrap; flex-shrink: 0; }
.ilp-wf-art-count.todo { color: #9ca3af; background: #f3f4f6; }
.ilp-wf-art-count.corso { color: #b45309; background: #fef3c7; }
.ilp-wf-art-count.done { color: #15803d; background: #dcfce7; }
.ilp-wf-art .ilp-wf-list { padding-top: 2px; }

/* La barra di avanzamento usata da renderConsegne non aveva una definizione. */
.ilp-v3-pane .ilp-progress-wrap { height: 7px; background: #eef0f2; border-radius: 20px; overflow: hidden; margin: 2px 0 8px; }
.ilp-v3-pane .ilp-progress-bar  { height: 100%; background: linear-gradient(90deg, var(--ilp-green), var(--ilp-green-d)); border-radius: 20px; transition: width .5s ease; }
.ilp-v3-pane .ilp-section-title { margin: 4px 0 10px !important; }

/* Banner ferie e barra azioni ora stanno SOPRA il cappello. */
.ilp-v3-top-box { margin-bottom: 12px; }
.ilp-v3-todo.top { margin-top: 0; margin-bottom: 12px; }

/* ══════════════════════════════════════════════════════════════════════
   SCHEDA FILE — tre zone, tre direzioni (03/09/2026)
   up = Tu → noi (blu) · draft = Noi → tu, da approvare (arancio) · doc = Noi → tu (grigio)
   ══════════════════════════════════════════════════════════════════════ */
.ilp-fz-attn{display:grid;gap:8px;margin-bottom:14px}
.ilp-fz-attn:empty{display:none}
.ilp-fz-ar{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #e5e7eb;border-left:4px solid #ea8c1e;border-radius:9px;padding:10px 12px;text-align:left;width:100%;color:#1a1f2e;cursor:pointer;font:inherit}
.ilp-fz-ar.ko{border-left-color:#b91c1c}
.ilp-fz-ar .ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:15px;flex-shrink:0;background:#fff3e2;color:#ea8c1e;font-weight:800}
.ilp-fz-ar.ko .ic{background:#fdecec;color:#b91c1c}
.ilp-fz-ar .t{flex:1;min-width:0}
.ilp-fz-ar .t b{display:block;font-size:13px;font-weight:700}
.ilp-fz-ar .t span{font-size:12px;color:#6b7280;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ilp-fz-ar .go{font-size:12px;font-weight:700;color:#2f6fb3;white-space:nowrap}

.ilp-fz-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:14px}
.ilp-fz-sb{border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:10px 8px 9px;text-align:left;color:#6b7280;display:grid;gap:3px;position:relative;cursor:pointer;font:inherit;transition:border-color .15s,background .15s}
.ilp-fz-sb .dir{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ilp-fz-sb .lb{font-size:13.5px;font-weight:800;color:#1a1f2e;display:flex;align-items:center;gap:6px}
.ilp-fz-sb .lb .c{font-size:11px;font-weight:700;color:#6b7280;background:#f1f3f5;border-radius:10px;padding:1px 7px}
.ilp-fz-sb .dot{position:absolute;top:9px;right:9px;width:8px;height:8px;border-radius:50%;background:#ea8c1e}
.ilp-fz-sb .dot.ko{background:#b91c1c}
.ilp-fz-sb.on{border-width:2px;padding:9px 7px 8px}
.ilp-fz-sb[data-fz="up"] .dir{color:#2f6fb3}
.ilp-fz-sb[data-fz="up"].on{border-color:#2f6fb3;background:#e8f0fa}
.ilp-fz-sb[data-fz="draft"] .dir{color:#ea8c1e}
.ilp-fz-sb[data-fz="draft"].on{border-color:#ea8c1e;background:#fff3e2}
.ilp-fz-sb[data-fz="doc"] .dir{color:#5b6b7b}
.ilp-fz-sb[data-fz="doc"].on{border-color:#5b6b7b;background:#eef1f4}
@media (max-width:420px){.ilp-fz-sb .dir{font-size:8.5px;letter-spacing:.08em}.ilp-fz-sb .lb{font-size:12.5px}}

.ilp-fz-pane[hidden]{display:none}
.ilp-fz-ph{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:2px 2px 10px}
.ilp-fz-ph h3{margin:0;font-size:16px;font-weight:800;letter-spacing:-.01em;color:#1a1f2e}
.ilp-fz-ph p{margin:2px 0 0;font-size:12.5px;color:#6b7280;max-width:46ch;line-height:1.45}
.ilp-fz-ph .k{font-size:12px;color:#6b7280;white-space:nowrap}
.ilp-fz-vuoto{font-size:12.5px;color:#9ca3af;padding:8px 2px}

/* zona «I tuoi file» */
#ilp-fpf{margin:0 0 4px}
.ilp-fz-drop{display:flex;align-items:center;gap:12px;border:1.5px dashed #c5d8ee;background:#e8f0fa;border-radius:14px;padding:12px 14px;margin-bottom:12px;cursor:pointer;transition:background .15s,border-color .15s}
.ilp-fz-drop:hover,.ilp-fz-drop.on{background:#dbe8f7;border-color:#2f6fb3}
.ilp-fz-drop .ic{width:40px;height:40px;border-radius:11px;background:#2f6fb3;color:#fff;display:grid;place-items:center;font-size:19px;flex-shrink:0}
.ilp-fz-drop .t{flex:1;min-width:0}
.ilp-fz-drop .t b{display:block;font-size:13.5px;color:#1a1f2e}
.ilp-fz-drop .t span{font-size:11.5px;color:#6b7280}
.ilp-fz-btn{border:0;border-radius:10px;padding:9px 14px;font-weight:800;font-size:13px;white-space:nowrap;cursor:pointer;font-family:inherit}
.ilp-fz-btn.up{background:#2f6fb3;color:#fff}
.ilp-fz-btn.ghost{background:#fff;border:1px solid #e5e7eb;color:#3b4a5a;font-weight:700}
.ilp-fz-btn.sm{padding:7px 11px;font-size:12px;border-radius:8px}
.ilp-fz-btn[disabled]{opacity:.55;cursor:default}
.ilp-fz-prog{margin:0 0 10px}
.ilp-fz-prog .t{font-size:12.5px;color:#4a5568}
.ilp-fz-prog .bar{height:5px;border-radius:20px;background:#e5e7eb;overflow:hidden;margin-top:6px}
.ilp-fz-prog .bar i{display:block;height:100%;background:#2f6fb3;width:0;transition:width .2s}
.ilp-fz-msg{font-size:12.5px;margin-top:8px;min-height:1em;line-height:1.5}

.ilp-fz-list{display:grid;gap:9px}
.ilp-fz-f{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 2px rgba(22,34,47,.05),0 6px 18px rgba(22,34,47,.05);position:relative}
.ilp-fz-f.ko{border-color:#f5b8b8}
.ilp-fz-f.ko::before,.ilp-fz-f.ok::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:5px;border-radius:14px 0 0 14px}
.ilp-fz-f.ko::before{background:#b91c1c}
.ilp-fz-f.ok::before{background:#15803d}
.ilp-fz-f .m{display:flex;gap:11px;padding:11px 12px 9px 14px;align-items:flex-start}
.ilp-fz-f .ext{width:40px;height:44px;border-radius:8px;display:grid;place-items:center;font-weight:800;font-size:10.5px;letter-spacing:.04em;flex-shrink:0;position:relative;background:#f1f3f5;color:#3b4a5a;border:1px solid #e5e7eb}
.ilp-fz-f .ext.ai{background:#fff2e0;color:#b45309;border-color:#f6cf98}
.ilp-fz-f .ext.pdf{background:#fde8e8;color:#b91c1c;border-color:#f3b8b8}
.ilp-fz-f .ext.img{background:#e6f1fb;color:#1d4ed8;border-color:#bcd3ef}
.ilp-fz-f .ext.cad{background:#e8f5ec;color:#15803d;border-color:#b9e3c6}
.ilp-fz-f .ext::after{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 9px 9px 0;border-color:transparent #fff transparent transparent}
.ilp-fz-f .t{flex:1;min-width:0}
.ilp-fz-f .nm{font-weight:700;font-size:13.5px;word-break:break-word;line-height:1.3}
.ilp-fz-f .nm a{color:#1a1f2e;text-decoration:none}
.ilp-fz-f .nm a:hover{color:#2f6fb3;text-decoration:underline}
.ilp-fz-f .meta{font-size:11.5px;color:#6b7280;margin-top:2px}
.ilp-fz-f .st{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.ilp-fz-f .chip{display:inline-flex;align-items:center;gap:4px;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700;white-space:nowrap;border:1px solid transparent}
.ilp-fz-f .chip.ok{background:#e5f5ea;color:#15803d;border-color:#b9e3c6}
.ilp-fz-f .chip.ko{background:#fdecec;color:#b91c1c;border-color:#f5b8b8}
.ilp-fz-f .chip.wait{background:#f6f8fa;color:#6b7280;border-color:#e5e7eb}
.ilp-fz-f .x{border:0;background:none;color:#9ca3af;font-size:14px;line-height:1;padding:2px 5px;border-radius:6px;cursor:pointer}
.ilp-fz-f .x:hover{background:#fee2e2;color:#b91c1c}
.ilp-fz-f .kobox{margin:0 12px 12px 14px;background:#fdecec;border:1px solid #f5b8b8;border-radius:10px;padding:9px 11px;font-size:12.5px;color:#b91c1c;line-height:1.45}
.ilp-fz-f .kobox b{display:block;font-size:12px;margin-bottom:2px}
.ilp-fz-f .kobox .act{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
.ilp-fz-f .voci{display:flex;flex-wrap:wrap;gap:5px;padding:0 12px 11px 14px;align-items:center}
.ilp-fz-f .voci .lb{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#9ca3af;font-weight:800;margin-right:2px}
.ilp-fz-f .v{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7eb;background:#f6f8fa;border-radius:8px;padding:4px 8px 4px 6px;font-size:12px;font-weight:600;color:#3b4a5a;max-width:100%;font-family:inherit}
.ilp-fz-f .v .cod{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10px;letter-spacing:.08em;background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:1px 4px;color:#6b7280}
.ilp-fz-f .v.add{border-style:dashed;color:#2f6fb3;background:transparent;border-color:#c5d8ee;cursor:pointer}
.ilp-fz-f .v.add:hover{background:#e8f0fa}

/* foglio dal basso: a quale voce serve */
.ilp-fz-sheet-back{position:fixed;inset:0;background:rgba(10,16,22,.5);display:none;z-index:9050}
.ilp-fz-sheet-back.on{display:block}
.ilp-fz-sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%,105%);width:min(600px,100%);max-height:86vh;overflow:auto;background:#fff;border-radius:18px 18px 0 0;padding:10px 16px 20px;z-index:9051;transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:0 -10px 40px rgba(0,0,0,.25)}
.ilp-fz-sheet.on{transform:translate(-50%,0)}
.ilp-fz-sheet .grab{width:38px;height:4px;border-radius:4px;background:#e5e7eb;margin:0 auto 12px}
.ilp-fz-sheet h3{margin:0;font-size:16px;font-weight:800;color:#1a1f2e}
.ilp-fz-sheet .sub{font-size:12.5px;color:#6b7280;margin:2px 0 12px}
.ilp-fz-sheet .opt{display:flex;align-items:center;gap:11px;border:1.5px solid #e5e7eb;border-radius:12px;padding:10px 12px;margin-bottom:7px;cursor:pointer;background:#fff}
.ilp-fz-sheet .opt.on{border-color:#2f6fb3;background:#e8f0fa}
.ilp-fz-sheet .opt .cb{width:20px;height:20px;border-radius:6px;border:2px solid #d1d5db;display:grid;place-items:center;flex-shrink:0;font-size:12px;color:#fff}
.ilp-fz-sheet .opt.on .cb{background:#2f6fb3;border-color:#2f6fb3}
.ilp-fz-sheet .opt .t{flex:1;min-width:0}
.ilp-fz-sheet .opt .t b{display:block;font-size:13px;font-weight:700;line-height:1.3;color:#1a1f2e}
.ilp-fz-sheet .opt .t span{font-size:11.5px;color:#6b7280}
.ilp-fz-sheet .opt .cod{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10.5px;letter-spacing:.08em;color:#6b7280;background:#f6f8fa;border:1px solid #e5e7eb;border-radius:5px;padding:2px 6px}
.ilp-fz-sheet .acts{display:flex;gap:8px;margin-top:12px}
.ilp-fz-sheet .acts .ilp-fz-btn{flex:1}
@media (prefers-reduced-motion:reduce){.ilp-fz-sheet,.ilp-fz-sb{transition:none}}

/* ── Il tema WordPress ha un button:hover globale (fondo magenta, testo bianco)
   che sporcava le card-pulsante della scheda File. Stati espliciti, cosi'
   vincono sempre, e i figli non ereditano il bianco. ── */
.ilp-fz-ar,.ilp-fz-ar:hover,.ilp-fz-ar:focus,.ilp-fz-ar:active{background:#fff;color:#1a1f2e;box-shadow:none;transform:none;text-decoration:none;outline:none}
.ilp-fz-ar:hover{background:#fafbfc;border-color:#d1d5db;box-shadow:0 2px 8px rgba(22,34,47,.06)}
.ilp-fz-ar:focus-visible{outline:2px solid #2f6fb3;outline-offset:2px}
.ilp-fz-ar .t b,.ilp-fz-ar:hover .t b{color:#1a1f2e}
.ilp-fz-ar .t span,.ilp-fz-ar:hover .t span{color:#6b7280}
.ilp-fz-ar .go,.ilp-fz-ar:hover .go{color:#2f6fb3}
.ilp-fz-ar .ic,.ilp-fz-ar:hover .ic{background:#fff3e2;color:#ea8c1e}
.ilp-fz-ar.ko .ic,.ilp-fz-ar.ko:hover .ic{background:#fdecec;color:#b91c1c}

.ilp-fz-sb:hover,.ilp-fz-sb:focus,.ilp-fz-sb:active{color:#6b7280;box-shadow:none;transform:none;text-decoration:none;outline:none}
.ilp-fz-sb:not(.on):hover{background:#fafbfc;border-color:#d1d5db}
.ilp-fz-sb:focus-visible{outline:2px solid #2f6fb3;outline-offset:2px}
.ilp-fz-sb .lb,.ilp-fz-sb:hover .lb{color:#1a1f2e}
.ilp-fz-sb[data-fz="up"].on:hover{background:#e8f0fa;border-color:#2f6fb3}
.ilp-fz-sb[data-fz="draft"].on:hover{background:#fff3e2;border-color:#ea8c1e}
.ilp-fz-sb[data-fz="doc"].on:hover{background:#eef1f4;border-color:#5b6b7b}

.ilp-fz-btn:hover,.ilp-fz-btn:focus,.ilp-fz-btn:active{box-shadow:none;transform:none;text-decoration:none;outline:none}
.ilp-fz-btn.up:hover,.ilp-fz-btn.up:focus{background:#265d98;color:#fff}
.ilp-fz-btn.ghost:hover,.ilp-fz-btn.ghost:focus{background:#f6f8fa;color:#3b4a5a;border-color:#d1d5db}
.ilp-fz-btn:focus-visible{outline:2px solid #2f6fb3;outline-offset:2px}

.ilp-fz-f .v.add:hover,.ilp-fz-f .v.add:focus,.ilp-fz-f .v.add:active{background:#e8f0fa;color:#2f6fb3;border-color:#c5d8ee;box-shadow:none;transform:none;text-decoration:none;outline:none}
.ilp-fz-f .x:hover,.ilp-fz-f .x:focus{background:#fee2e2;color:#b91c1c;box-shadow:none;transform:none;outline:none}

/* ── Override definitivo: il tema applica il suo hover con id o !important.
   Qui specificita' massima (#id + classe) e !important sulle proprieta' che
   il tema tocca. Nessun altro pulsante del sito e' coinvolto. ── */
#ilp-tracking-root .ilp-fz-ar,
#ilp-tracking-root .ilp-fz-ar:hover,
#ilp-tracking-root .ilp-fz-ar:focus,
#ilp-tracking-root .ilp-fz-ar:active{
  background:#fff!important;background-color:#fff!important;background-image:none!important;
  color:#1a1f2e!important;border-color:#e5e7eb!important;border-left-color:#ea8c1e!important;
  box-shadow:none!important;transform:none!important;text-decoration:none!important;
  filter:none!important;opacity:1!important;text-shadow:none!important}
#ilp-tracking-root .ilp-fz-ar:hover{background-color:#fafbfc!important;box-shadow:0 2px 8px rgba(22,34,47,.06)!important}
#ilp-tracking-root .ilp-fz-ar.ko,#ilp-tracking-root .ilp-fz-ar.ko:hover{border-left-color:#b91c1c!important}
#ilp-tracking-root .ilp-fz-ar *,#ilp-tracking-root .ilp-fz-ar:hover *{text-shadow:none!important}
#ilp-tracking-root .ilp-fz-ar .t b,#ilp-tracking-root .ilp-fz-ar:hover .t b{color:#1a1f2e!important}
#ilp-tracking-root .ilp-fz-ar .t span,#ilp-tracking-root .ilp-fz-ar:hover .t span{color:#6b7280!important}
#ilp-tracking-root .ilp-fz-ar .go,#ilp-tracking-root .ilp-fz-ar:hover .go{color:#2f6fb3!important}
#ilp-tracking-root .ilp-fz-ar .ic,#ilp-tracking-root .ilp-fz-ar:hover .ic{background:#fff3e2!important;color:#ea8c1e!important}
#ilp-tracking-root .ilp-fz-ar.ko .ic,#ilp-tracking-root .ilp-fz-ar.ko:hover .ic{background:#fdecec!important;color:#b91c1c!important}

#ilp-tracking-root .ilp-fz-sb,
#ilp-tracking-root .ilp-fz-sb:hover,
#ilp-tracking-root .ilp-fz-sb:focus,
#ilp-tracking-root .ilp-fz-sb:active{
  background-image:none!important;color:#6b7280!important;box-shadow:none!important;transform:none!important;
  text-decoration:none!important;filter:none!important;opacity:1!important;text-shadow:none!important}
#ilp-tracking-root .ilp-fz-sb,#ilp-tracking-root .ilp-fz-sb:focus,#ilp-tracking-root .ilp-fz-sb:active{background-color:#fff!important;border-color:#e5e7eb!important}
#ilp-tracking-root .ilp-fz-sb:not(.on):hover{background-color:#fafbfc!important;border-color:#d1d5db!important}
#ilp-tracking-root .ilp-fz-sb .lb,#ilp-tracking-root .ilp-fz-sb:hover .lb{color:#1a1f2e!important}
#ilp-tracking-root .ilp-fz-sb .lb .c,#ilp-tracking-root .ilp-fz-sb:hover .lb .c{color:#6b7280!important;background:#f1f3f5!important}
#ilp-tracking-root .ilp-fz-sb[data-fz="up"] .dir{color:#2f6fb3!important}
#ilp-tracking-root .ilp-fz-sb[data-fz="draft"] .dir{color:#ea8c1e!important}
#ilp-tracking-root .ilp-fz-sb[data-fz="doc"] .dir{color:#5b6b7b!important}
#ilp-tracking-root .ilp-fz-sb[data-fz="up"].on,#ilp-tracking-root .ilp-fz-sb[data-fz="up"].on:hover,#ilp-tracking-root .ilp-fz-sb[data-fz="up"].on:focus{background-color:#e8f0fa!important;border-color:#2f6fb3!important}
#ilp-tracking-root .ilp-fz-sb[data-fz="draft"].on,#ilp-tracking-root .ilp-fz-sb[data-fz="draft"].on:hover,#ilp-tracking-root .ilp-fz-sb[data-fz="draft"].on:focus{background-color:#fff3e2!important;border-color:#ea8c1e!important}
#ilp-tracking-root .ilp-fz-sb[data-fz="doc"].on,#ilp-tracking-root .ilp-fz-sb[data-fz="doc"].on:hover,#ilp-tracking-root .ilp-fz-sb[data-fz="doc"].on:focus{background-color:#eef1f4!important;border-color:#5b6b7b!important}

#ilp-tracking-root .ilp-fz-btn,#ilp-tracking-root .ilp-fz-btn:hover,#ilp-tracking-root .ilp-fz-btn:focus,#ilp-tracking-root .ilp-fz-btn:active{
  background-image:none!important;box-shadow:none!important;transform:none!important;text-decoration:none!important;filter:none!important;text-shadow:none!important}
#ilp-tracking-root .ilp-fz-btn.up,#ilp-tracking-root .ilp-fz-btn.up:focus,#ilp-tracking-root .ilp-fz-btn.up:active{background-color:#2f6fb3!important;color:#fff!important;border-color:#2f6fb3!important}
#ilp-tracking-root .ilp-fz-btn.up:hover{background-color:#265d98!important;color:#fff!important}
#ilp-tracking-root .ilp-fz-btn.ghost,#ilp-tracking-root .ilp-fz-btn.ghost:focus,#ilp-tracking-root .ilp-fz-btn.ghost:active{background-color:#fff!important;color:#3b4a5a!important;border-color:#e5e7eb!important}
#ilp-tracking-root .ilp-fz-btn.ghost:hover{background-color:#f6f8fa!important;color:#3b4a5a!important;border-color:#d1d5db!important}

#ilp-tracking-root .ilp-fz-f .v.add,#ilp-tracking-root .ilp-fz-f .v.add:focus,#ilp-tracking-root .ilp-fz-f .v.add:active{background-color:transparent!important;color:#2f6fb3!important;border-color:#c5d8ee!important;box-shadow:none!important;transform:none!important;text-decoration:none!important}
#ilp-tracking-root .ilp-fz-f .v.add:hover{background-color:#e8f0fa!important;color:#2f6fb3!important}
#ilp-tracking-root .ilp-fz-f .x,#ilp-tracking-root .ilp-fz-f .x:focus{background-color:transparent!important;color:#9ca3af!important;box-shadow:none!important;transform:none!important}
#ilp-tracking-root .ilp-fz-f .x:hover{background-color:#fee2e2!important;color:#b91c1c!important}

/* il foglio dal basso sta fuori da #ilp-tracking-root (appeso al body) */
.ilp-fz-sheet .ilp-fz-btn.up,.ilp-fz-sheet .ilp-fz-btn.up:hover,.ilp-fz-sheet .ilp-fz-btn.up:focus{background-color:#2f6fb3!important;color:#fff!important;background-image:none!important;box-shadow:none!important;transform:none!important}
.ilp-fz-sheet .ilp-fz-btn.up:hover{background-color:#265d98!important}
.ilp-fz-sheet .ilp-fz-btn.ghost,.ilp-fz-sheet .ilp-fz-btn.ghost:hover,.ilp-fz-sheet .ilp-fz-btn.ghost:focus{background-color:#fff!important;color:#3b4a5a!important;border-color:#e5e7eb!important;background-image:none!important;box-shadow:none!important;transform:none!important}
.ilp-fz-sheet .ilp-fz-btn.ghost:hover{background-color:#f6f8fa!important}

/* segmenti e righe di avviso sono <div role=button>: niente stili nativi da azzerare */
.ilp-fz-sb,.ilp-fz-ar{-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;font-family:inherit;box-sizing:border-box}
.ilp-fz-sb:focus-visible,.ilp-fz-ar:focus-visible,.ilp-fz-f .v.add:focus-visible{outline:2px solid #2f6fb3;outline-offset:2px}

/* ✕ sull'etichetta-voce: scollega il file da quella riga */
.ilp-fz-f .v .rm{margin-left:2px;padding:0 3px;border-radius:4px;color:#9ca3af;font-size:11px;line-height:1.4;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
.ilp-fz-f .v .rm:hover,.ilp-fz-f .v .rm:focus-visible{background:#fee2e2;color:#b91c1c;outline:none}

/* cestino sul file: sempre visibile finche' non e' approvato */
.ilp-fz-f .x{font-size:15px;padding:3px 6px;color:#9ca3af;line-height:1}
.ilp-fz-f .x:hover{background:#fee2e2;color:#b91c1c}

/* ══ Icone azione sui file: grandi, colorate per funzione, con tooltip immediato ══ */
.ilp-fz-f .st{align-items:flex-end;gap:7px}
.ilp-fz-f .acts{display:flex;gap:6px}
.ilp-fz-f .act{position:relative;width:36px;height:36px;border-radius:10px;display:inline-grid;place-items:center;
  border:1.5px solid;cursor:pointer;text-decoration:none;padding:0;background:#fff;transition:transform .12s,box-shadow .12s;
  -webkit-tap-highlight-color:transparent}
.ilp-fz-f .act svg{display:block}
.ilp-fz-f .act.open{color:#2f6fb3;border-color:#c5d8ee;background:#e8f0fa}
.ilp-fz-f .act.open:hover,.ilp-fz-f .act.open:focus-visible{background:#2f6fb3;color:#fff;border-color:#2f6fb3}
.ilp-fz-f .act.del,.ilp-fz-f .x.act{color:#b91c1c;border-color:#f5b8b8;background:#fdecec;font-size:0}
.ilp-fz-f .act.del:hover,.ilp-fz-f .act.del:focus-visible{background:#b91c1c;color:#fff;border-color:#b91c1c}
.ilp-fz-f .act.lock{color:#9ca3af;border-color:#e5e7eb;background:#f6f8fa;cursor:not-allowed}
.ilp-fz-f .act.lock svg{opacity:.55}
.ilp-fz-f .act:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(22,34,47,.12)}
.ilp-fz-f .act.lock:hover{transform:none;box-shadow:none}
.ilp-fz-f .act:focus-visible{outline:2px solid #2f6fb3;outline-offset:2px}

/* etichette-voce: la ✕ e' un bottoncino rosso vero, non un carattere grigio */
.ilp-fz-f .v{position:relative;padding:5px 6px 5px 6px;font-size:12.5px}
.ilp-fz-f .v .rm{position:relative;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;margin-left:4px;
  color:#b91c1c;background:#fdecec;border:1px solid #f5b8b8;cursor:pointer;padding:0;font-size:0}
.ilp-fz-f .v .rm:hover,.ilp-fz-f .v .rm:focus-visible{background:#b91c1c;color:#fff;border-color:#b91c1c;outline:none}
.ilp-fz-f .v.add{color:#2f6fb3;border:1.5px dashed #9fc0e6;background:#f4f8fd;font-weight:700;padding:5px 10px}
.ilp-fz-f .v.add svg{vertical-align:-2px}
.ilp-fz-f .v.add:hover,.ilp-fz-f .v.add:focus-visible{background:#2f6fb3!important;color:#fff!important;border-color:#2f6fb3!important;border-style:solid}
.ilp-fz-f .kobox .ilp-fz-btn svg{vertical-align:-3px;margin-right:3px}

/* il cestino nuovo (.x.act.del) deve vincere sull'override generico di .x scritto prima */
#ilp-tracking-root .ilp-fz-f .x.act.del,#ilp-tracking-root .ilp-fz-f .x.act.del:focus{background-color:#fdecec!important;color:#b91c1c!important;border-color:#f5b8b8!important}
#ilp-tracking-root .ilp-fz-f .x.act.del:hover,#ilp-tracking-root .ilp-fz-f .x.act.del:focus-visible{background-color:#b91c1c!important;color:#fff!important;border-color:#b91c1c!important}

/* Tooltip vero: un nodo sul body, mai tagliato dalle card, sempre dentro lo schermo */
#ilp-fz-tip{position:fixed;z-index:99999;margin:0;transform:none;display:none;background:#16222f;color:#fff;font-size:12.5px;font-weight:600;
  line-height:1.4;padding:8px 12px;border-radius:8px;max-width:min(280px,86vw);box-shadow:0 8px 24px rgba(0,0,0,.28);
  pointer-events:none;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;letter-spacing:0;
  opacity:0;transition:opacity .1s}
#ilp-fz-tip.on{opacity:1}
#ilp-fz-tip::after{content:"";position:absolute;left:var(--ax,50%);transform:translateX(-50%);border:7px solid transparent}
#ilp-fz-tip.sopra::after{top:100%;border-top-color:#16222f;border-bottom:0}
#ilp-fz-tip.sotto::after{bottom:100%;border-bottom-color:#16222f;border-top:0}
@media (hover:none){#ilp-fz-tip{display:none!important}}

/* ilp-file-pulizia: conto alla rovescia eliminazione automatica */
#ilp-tracking-root .ilp-fz-f .kobox .cd{margin-top:7px;padding:6px 9px;background:#fff;border:1px dashed #f5b8b8;border-radius:7px;font-weight:700;font-size:12px;color:#9a3412}

/* Hover dei tab v3: il tema (reset.css) mette magenta su button:hover. Riserva CSS oltre al fix JS. */
#ilp-tracking-root .ilp-v3-tab:hover,#ilp-tracking-root .ilp-v3-tab:focus{background:transparent!important;background-color:transparent!important;color:var(--ilp-text)!important;text-decoration:none!important}
#ilp-tracking-root .ilp-v3-tab[aria-selected="true"]:hover{color:var(--ilp-dark)!important}

/* ═══ FASI DI LAVORAZIONE v2 (17/09/2026) — card per articolo, palette sito nuovo ═══
   Generato da ilpFasiHTML() in tracking.js. Tutto scoped su #ilp-tracking-root .ilp-wf2.
   Per cambiare palette basta modificare le variabili qui sotto. */
#ilp-tracking-root .ilp-wf2{
  --w2-dark:#17200F;--w2-dark2:#2B3521;--w2-ink:#26271F;--w2-mut:#6F7064;--w2-line:#ECEBE4;
  --w2-lime:#82B727;--w2-lime2:#A6D14E;--w2-acc:#4A6E0F;--w2-soft:#FBFAF6;--w2-todo:#D6D5CB;
  --w2-r:22px;--w2-disp:"Unbounded",system-ui,sans-serif;--w2-body:"Mulish",-apple-system,"Segoe UI",Roboto,sans-serif;
  margin-top:14px;background:#fff;border:1px solid var(--w2-line);border-radius:26px;overflow:hidden;
  box-shadow:0 10px 36px rgba(23,32,15,.08);font-family:var(--w2-body);color:var(--w2-ink);text-align:left
}
#ilp-tracking-root .ilp-wf2 *{box-sizing:border-box}
#ilp-tracking-root .ilp-wf2 svg{display:block;overflow:visible}

/* riepilogo */
#ilp-tracking-root .ilp-wf2-hero{position:relative;overflow:hidden;display:flex;gap:16px;align-items:center;padding:20px;color:#fff;background:linear-gradient(135deg,var(--w2-dark),var(--w2-dark2))}
#ilp-tracking-root .ilp-wf2-hero:after{content:"";position:absolute;right:-50px;top:-50px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(130,183,39,.35),transparent 70%);pointer-events:none}
#ilp-tracking-root .ilp-wf2-hero-tx{position:relative;z-index:1;min-width:0}
#ilp-tracking-root .ilp-wf2-hero h3{margin:0 0 4px;padding:0;font:700 17px/1.2 var(--w2-disp);letter-spacing:-.02em;color:#fff;border:0}
#ilp-tracking-root .ilp-wf2-hero p{margin:0;font-size:13px;color:rgba(255,255,255,.72)}
#ilp-tracking-root .ilp-wf2-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
#ilp-tracking-root .ilp-wf2-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff}
#ilp-tracking-root .ilp-wf2-chip i{width:7px;height:7px;border-radius:50%;display:inline-block}
#ilp-tracking-root .ilp-wf2-chip i.run{background:var(--w2-lime2)}
#ilp-tracking-root .ilp-wf2-chip i.ok{background:#fff}
#ilp-tracking-root .ilp-wf2-chip i.todo{background:rgba(255,255,255,.35)}

/* anelli */
#ilp-tracking-root .ilp-wf2-ring{position:relative;flex:none}
#ilp-tracking-root .ilp-wf2-ring svg{transform:rotate(-90deg)}
#ilp-tracking-root .ilp-wf2-ring .bg{stroke:#ECEBE4}
#ilp-tracking-root .ilp-wf2-ring.hero .bg{stroke:rgba(255,255,255,.12)}
#ilp-tracking-root .ilp-wf2-ring .fg{stroke:var(--w2-lime);stroke-linecap:round;animation:ilpWf2Ring 1.2s cubic-bezier(.2,.8,.2,1) both}
#ilp-tracking-root .ilp-wf2-ring.ok .fg{stroke:var(--w2-ink)}
@keyframes ilpWf2Ring{from{stroke-dashoffset:var(--L)}}
#ilp-tracking-root .ilp-wf2-ring .val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1}
#ilp-tracking-root .ilp-wf2-ring .val b{display:block;font:700 13px var(--w2-disp);color:var(--w2-ink)}
#ilp-tracking-root .ilp-wf2-ring .val b.ck{font-size:18px}
#ilp-tracking-root .ilp-wf2-ring.hero .val b{font-size:18px;color:#fff}
#ilp-tracking-root .ilp-wf2-ring .val small{display:block;margin-top:3px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.6)}

/* elenco e card */
#ilp-tracking-root .ilp-wf2-list{display:flex;flex-direction:column;gap:14px;padding:14px;background:var(--w2-soft)}
#ilp-tracking-root .ilp-wf2-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--w2-line);border-radius:var(--w2-r);box-shadow:0 1px 2px rgba(23,32,15,.04),0 8px 24px rgba(23,32,15,.05);animation:ilpWf2In .5s ease both}
#ilp-tracking-root .ilp-wf2-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--w2-lime2),var(--w2-lime))}
#ilp-tracking-root .ilp-wf2-card.done:before{background:var(--w2-ink)}
#ilp-tracking-root .ilp-wf2-card.todo:before,#ilp-tracking-root .ilp-wf2-card.pausa:before{background:var(--w2-todo)}
@keyframes ilpWf2In{from{opacity:0;transform:translateY(10px)}}
#ilp-tracking-root .ilp-wf2-body{padding:16px 16px 14px 20px}
#ilp-tracking-root .ilp-wf2-top{display:flex;gap:14px;align-items:flex-start}
#ilp-tracking-root .ilp-wf2-info{flex:1;min-width:0}
#ilp-tracking-root .ilp-wf2-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px;min-height:18px}
#ilp-tracking-root .ilp-wf2-num{font-size:11px;font-weight:800;color:var(--w2-mut)}
#ilp-tracking-root .ilp-wf2 .ilp-cr-cod{font:600 11px ui-monospace,Consolas,monospace;color:var(--w2-acc);background:#F1F5E8;border:1px solid #DDE8C6;border-radius:999px;padding:2px 8px;letter-spacing:.04em}
#ilp-tracking-root .ilp-wf2-title{font-size:15px;font-weight:800;line-height:1.3;color:var(--w2-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}

/* riquadro quantità */
#ilp-tracking-root .ilp-wf2-qta{position:relative;flex:none;width:60px;height:60px;margin:2px 8px 0 0;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#FBFAF6,#EFEEE6);border:1px solid #E2E0D3;color:var(--w2-ink)}
#ilp-tracking-root .ilp-wf2-qta.multi{box-shadow:4px 4px 0 -1px #fff,4px 4px 0 0 #E2E0D3,8px 8px 0 -1px #fff,8px 8px 0 0 #ECEBE4}
#ilp-tracking-root .ilp-wf2-qta b{font:700 20px/1 var(--w2-disp)}
#ilp-tracking-root .ilp-wf2-qta.long b{font-size:14px}
#ilp-tracking-root .ilp-wf2-qta span{margin-top:3px;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--w2-mut);max-width:54px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#ilp-tracking-root .ilp-wf2-qta svg{position:absolute;top:-7px;right:-7px;width:22px;height:22px;padding:4px;border-radius:50%;background:var(--w2-ink);stroke:var(--w2-lime);box-shadow:0 2px 6px rgba(23,32,15,.35)}
#ilp-tracking-root .ilp-wf2-card.done .ilp-wf2-qta{background:var(--w2-ink);border-color:var(--w2-ink);color:#fff}
#ilp-tracking-root .ilp-wf2-card.done .ilp-wf2-qta span{color:rgba(255,255,255,.7)}
#ilp-tracking-root .ilp-wf2-card.done .ilp-wf2-qta svg{background:var(--w2-lime);stroke:var(--w2-dark)}

/* riquadro "adesso" */
#ilp-tracking-root .ilp-wf2-now{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px;border-radius:16px;background:linear-gradient(135deg,#F7FBEF,#EAF4D6);border:1px solid #DCEBBF}
#ilp-tracking-root .ilp-wf2-now .ic{position:relative;flex:none;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--w2-lime2),var(--w2-lime));box-shadow:0 4px 14px rgba(130,183,39,.45)}
#ilp-tracking-root .ilp-wf2-now .ic svg{width:22px;height:22px;stroke:var(--w2-dark)}
#ilp-tracking-root .ilp-wf2-now.run .ic:after{content:"";position:absolute;inset:-4px;border-radius:15px;border:2px solid var(--w2-lime);opacity:0;animation:ilpWf2Pulse 2s infinite}
@keyframes ilpWf2Pulse{0%{opacity:.6;transform:scale(.9)}100%{opacity:0;transform:scale(1.25)}}
#ilp-tracking-root .ilp-wf2-now small{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--w2-acc)}
#ilp-tracking-root .ilp-wf2-now .live{width:6px;height:6px;border-radius:50%;background:var(--w2-lime);animation:ilpWf2Blink 1.2s infinite}
@keyframes ilpWf2Blink{50%{opacity:.2}}
#ilp-tracking-root .ilp-wf2-now strong{display:block;margin-top:2px;font-size:15px;font-weight:800;line-height:1.25;color:var(--w2-dark)}
#ilp-tracking-root .ilp-wf2-now em{display:block;margin-top:2px;font-style:normal;font-size:12px;color:var(--w2-mut)}
#ilp-tracking-root .ilp-wf2-now .bar{position:absolute;left:0;bottom:0;width:100%;height:3px;opacity:.85;background:repeating-linear-gradient(-45deg,var(--w2-lime) 0 8px,var(--w2-lime2) 8px 16px);background-size:22px 22px;animation:ilpWf2Stripes 1s linear infinite}
@keyframes ilpWf2Stripes{to{background-position:22px 0}}
#ilp-tracking-root .ilp-wf2-now.ok{background:linear-gradient(135deg,var(--w2-dark),var(--w2-dark2));border-color:var(--w2-dark)}
#ilp-tracking-root .ilp-wf2-now.ok .ic{background:var(--w2-lime);box-shadow:0 0 18px rgba(130,183,39,.55)}
#ilp-tracking-root .ilp-wf2-now.ok small{color:var(--w2-lime)}
#ilp-tracking-root .ilp-wf2-now.ok strong{color:#fff}
#ilp-tracking-root .ilp-wf2-now.ok em{color:rgba(255,255,255,.65)}
#ilp-tracking-root .ilp-wf2-now.todo{background:#F6F5EF;border-color:var(--w2-line)}
#ilp-tracking-root .ilp-wf2-now.todo .ic{background:#fff;border:1px solid var(--w2-line);box-shadow:none}
#ilp-tracking-root .ilp-wf2-now.todo .ic svg{stroke:var(--w2-mut)}
#ilp-tracking-root .ilp-wf2-now.todo small{color:var(--w2-mut)}

/* percorso a icone */
#ilp-tracking-root .ilp-wf2-path{display:flex;align-items:center;margin-top:14px}
#ilp-tracking-root .ilp-wf2 .pt{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#F3F2EC;border:2px solid var(--w2-todo)}
#ilp-tracking-root .ilp-wf2 .pt svg{width:15px;height:15px;stroke:#9A9B8E}
#ilp-tracking-root .ilp-wf2 .pt.ok{background:var(--w2-ink);border-color:var(--w2-ink)}
#ilp-tracking-root .ilp-wf2 .pt.ok svg{stroke:var(--w2-lime)}
#ilp-tracking-root .ilp-wf2 .pt.run{background:var(--w2-lime);border-color:var(--w2-lime);box-shadow:0 0 0 5px rgba(130,183,39,.22)}
#ilp-tracking-root .ilp-wf2 .pt.run svg{stroke:var(--w2-dark)}
#ilp-tracking-root .ilp-wf2-path .ln{flex:1;min-width:6px;height:3px;margin:0 3px;border-radius:2px;background:#E4E3DA}
#ilp-tracking-root .ilp-wf2-path .ln.ok{background:var(--w2-ink)}
#ilp-tracking-root .ilp-wf2-path .ln.half{background:linear-gradient(90deg,var(--w2-ink),var(--w2-lime))}
#ilp-tracking-root .ilp-wf2-next{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font-size:12px;color:var(--w2-mut)}
#ilp-tracking-root .ilp-wf2-next span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#ilp-tracking-root .ilp-wf2-next span:last-child{text-align:right}
#ilp-tracking-root .ilp-wf2-next b{font-weight:700;color:var(--w2-ink)}

/* dettaglio a fisarmonica */
#ilp-tracking-root .ilp-wf2-det{border-top:1px solid var(--w2-line);margin:0}
#ilp-tracking-root .ilp-wf2-det summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:11px 20px;font-size:13px;font-weight:700;color:var(--w2-acc);background:transparent!important;outline:none}
#ilp-tracking-root .ilp-wf2-det summary::-webkit-details-marker{display:none}
#ilp-tracking-root .ilp-wf2-det summary:hover{color:var(--w2-dark)!important}
#ilp-tracking-root .ilp-wf2-det summary .ar{font-size:12px;transition:transform .25s}
#ilp-tracking-root .ilp-wf2-det[open] summary .ar{transform:rotate(180deg)}
#ilp-tracking-root .ilp-wf2-tl{list-style:none;margin:0;padding:2px 20px 16px}
#ilp-tracking-root .ilp-wf2-tl li{position:relative;display:flex;align-items:center;gap:12px;margin:0;padding:0 0 14px}
#ilp-tracking-root .ilp-wf2-tl li:last-child{padding-bottom:0}
#ilp-tracking-root .ilp-wf2-tl li:before{content:"";position:absolute;left:14px;top:30px;bottom:0;width:2px;background:#E6E5DC}
#ilp-tracking-root .ilp-wf2-tl li:last-child:before{display:none}
#ilp-tracking-root .ilp-wf2-tl li.ok:before{background:var(--w2-ink)}
#ilp-tracking-root .ilp-wf2-tl .tx{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--w2-mut)}
#ilp-tracking-root .ilp-wf2-tl li.ok .tx{color:var(--w2-ink)}
#ilp-tracking-root .ilp-wf2-tl li.run .tx{color:var(--w2-acc);font-weight:800}
#ilp-tracking-root .ilp-wf2-tl .tag{flex:none;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:#F3F2EC;color:#9A9B8E}
#ilp-tracking-root .ilp-wf2-tl .tag.ok{background:var(--w2-ink);color:var(--w2-lime)}
#ilp-tracking-root .ilp-wf2-tl .tag.run{background:var(--w2-lime);color:var(--w2-dark)}

@media (max-width:420px){
  #ilp-tracking-root .ilp-wf2-list{padding:10px}
  #ilp-tracking-root .ilp-wf2-body{padding:14px 12px 12px 16px}
  #ilp-tracking-root .ilp-wf2-top{gap:10px}
  #ilp-tracking-root .ilp-wf2-title{font-size:14px}
  #ilp-tracking-root .ilp-wf2-now strong{font-size:14px}
  #ilp-tracking-root .ilp-wf2-next{flex-direction:column;gap:3px}
  #ilp-tracking-root .ilp-wf2-next span:last-child{text-align:left}
}
@media (prefers-reduced-motion:reduce){
  #ilp-tracking-root .ilp-wf2 *,#ilp-tracking-root .ilp-wf2 *:after{animation:none!important}
}

/* ═══ SCHEDE A PILLOLE CON ICONE (13/10/2026, bozza B scelta da Stefano) ═══
   Binario grigio, scheda attiva = pillola scura con icona verde.
   Specificita' con #ilp-tracking-root per vincere su ilp-portale-desktop.css
   e sulla riserva anti-magenta del tema (sopra). */
#ilp-tracking-root .ilp-v3-tabs {
  gap: 4px; padding: 5px; margin-top: 14px;
  background: #f1f3f5; border: 0; border-radius: 13px;
  box-shadow: 0 4px 14px rgba(16,24,40,0.06);
}
#ilp-tracking-root .ilp-v3-tabs .ilp-v3-tab {
  flex: 1 0 auto; justify-content: center; gap: 7px;
  padding: 10px 12px; border: 0; border-radius: 10px;
  font-size: 13px; font-weight: 700; color: #4b5563; background: transparent;
  transition: background-color .15s, color .15s, box-shadow .15s;
}
#ilp-tracking-root .ilp-v3-tabs .ilp-v3-tab:hover,
#ilp-tracking-root .ilp-v3-tabs .ilp-v3-tab:focus {
  background: #ffffff !important; background-color: #ffffff !important; color: #111827 !important;
}
#ilp-tracking-root .ilp-v3-tabs .ilp-v3-tab[aria-selected="true"],
#ilp-tracking-root .ilp-v3-tabs .ilp-v3-tab[aria-selected="true"]:hover,
#ilp-tracking-root .ilp-v3-tabs .ilp-v3-tab[aria-selected="true"]:focus {
  background: #1a1f2e !important; background-color: #1a1f2e !important; color: #ffffff !important;
  box-shadow: 0 2px 6px rgba(16,24,40,.18);
}
#ilp-tracking-root .ilp-v3-tabs .ilp-v3-tab:focus-visible { outline: 2px solid #8CC63F; outline-offset: 1px; }
#ilp-tracking-root .ilp-v3-tab .ilp-v3-ico { flex: 0 0 auto; stroke: #9ca3af; transition: stroke .15s; }
#ilp-tracking-root .ilp-v3-tab:hover .ilp-v3-ico { stroke: #4b5563; }
#ilp-tracking-root .ilp-v3-tab[aria-selected="true"] .ilp-v3-ico { stroke: #8CC63F; }
#ilp-tracking-root .ilp-v3-tabs .ilp-v3-n { background: #e5e7eb; color: #4b5563; }
#ilp-tracking-root .ilp-v3-tab[aria-selected="true"] .ilp-v3-n { background: rgba(255,255,255,.16); color: #ffffff; }
#ilp-tracking-root .ilp-v3-tabs .ilp-v3-n.warm { background: #fef3c7; color: #b45309; }
#ilp-tracking-root .ilp-v3-tabs .ilp-v3-n.hot  { background: #b91c1c; color: #ffffff; }
@media (max-width: 640px) {
  #ilp-tracking-root .ilp-v3-tabs { padding: 4px; border-radius: 12px; }
  #ilp-tracking-root .ilp-v3-tabs .ilp-v3-tab { flex: 0 0 auto; padding: 9px 11px; font-size: 12.5px; gap: 6px; }
  #ilp-tracking-root .ilp-v3-tab .ilp-v3-ico { width: 15px; height: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  #ilp-tracking-root .ilp-v3-tabs .ilp-v3-tab, #ilp-tracking-root .ilp-v3-tab .ilp-v3-ico { transition: none; }
}
/* nomi corti quando le schede non ci stanno (classe messa da ilpTabsAdatta) */
#ilp-tracking-root .ilp-v3-tabs.corte .ilp-v3-tab .ilp-v3-tl { display: none; }
#ilp-tracking-root .ilp-v3-tabs.corte .ilp-v3-tab .ilp-v3-ts { display: inline; }
#ilp-tracking-root .ilp-v3-tabs.corte .ilp-v3-tab { padding-left: 9px; padding-right: 9px; gap: 6px; }
