/* ============================================================
   Timetable condivisa — stile unico per tutte le tabelle voli
   (home, voli del giorno, voli stagionali). Look "istituzionale".
   Le variabili --air-* sono definite in :root nel layout.
   ============================================================ */

/* ── Contenitore board (tabs + filtro + tabella) ──────────── */
.board{background:#fff;border:1px solid var(--air-border);border-radius:10px;overflow:hidden}
.b-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px}
.b-tabs{display:flex;gap:6px}
.b-tab{background:#f1f5f9;border:1px solid var(--air-border);color:var(--air-mute);
  padding:8px 16px;font-weight:700;font-size:12.5px;cursor:pointer;border-radius:7px;
  display:inline-flex;align-items:center;gap:7px;font-family:inherit;transition:all .15s}
.b-tab:hover{border-color:var(--air-blue);color:var(--air-blue)}
.b-tab.b-on,.b-tab.active{background:var(--air-blue-d);border-color:var(--air-blue-d);color:#fff}
.b-live{margin-left:auto;color:var(--air-mute);font-size:11.5px;display:flex;align-items:center;gap:12px}
.live-dot{color:var(--air-accent);font-weight:700;display:inline-flex;gap:5px;align-items:center;
  text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}
.live-dot::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--air-accent);animation:bpulse 1.4s infinite}
@keyframes bpulse{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes spin{to{transform:rotate(360deg)}}
.b-filter{display:flex;align-items:center;gap:8px}
.b-filter input{width:260px;max-width:100%;padding:8px 11px;border:1px solid var(--air-border);border-radius:6px;
  font-size:12.5px;font-family:inherit}
.b-filter input:focus{outline:none;border-color:var(--air-blue);box-shadow:0 0 0 3px rgba(26,79,160,.1)}

/* ── Tabella ──────────────────────────────────────────────── */
.flight-table{width:100%;border-collapse:collapse;font-size:13px}
.flight-table thead th{background:var(--air-blue-d);color:#fff;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.07em;padding:12px 14px;text-align:left;border-bottom:none;white-space:nowrap}
.flight-table td{padding:12px 14px;border-bottom:1px solid var(--air-border);vertical-align:middle}
.flight-table tbody tr:last-child td{border:none}
.flight-table tbody tr:hover td{background:#f7fafe}

/* ── Celle ────────────────────────────────────────────────── */
.fnum-badge{display:inline-block;font-family:"SF Mono",Consolas,monospace;font-weight:700;font-size:12.5px;
  color:var(--air-blue);background:#eef3fb;border:1px solid #dbe6f6;padding:4px 10px;border-radius:5px;
  letter-spacing:.02em;white-space:nowrap}
.fcompany{display:inline-flex;align-items:center}
.fcompany img{height:26px;max-width:92px;object-fit:contain}
.froute{font-weight:700;color:var(--air-dark);font-size:13.5px}
.froute small{font-weight:600;color:var(--air-mute);font-size:12px}
.ftime{font-weight:800;font-size:14.5px;color:var(--air-dark);font-variant-numeric:tabular-nums}
.ftime-sched{font-size:12.5px;color:#94a3b8;text-decoration:line-through;font-variant-numeric:tabular-nums}
.ftime-arrow{color:#94a3b8;margin:0 5px;font-size:11px}
.futc{display:block;font-size:10px;color:var(--air-mute);font-weight:600;margin-top:2px;letter-spacing:.02em}
.follow-link{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;
  color:var(--air-blue);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.follow-link i{font-size:11px;transition:transform .15s}
.follow-link:hover i{transform:translateX(3px)}
.follow-na{color:#cbd5e1;font-weight:700}
.chip{display:inline-flex;width:30px;height:30px;border-radius:6px;align-items:center;justify-content:center;
  color:#fff;font-size:10px;font-weight:800;flex-shrink:0}

/* Frequenza settimanale (voli stagionali) */
.fdays{display:flex;gap:3px}
.fday{width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;font-size:.62rem;
  font-weight:700;background:#f1f5f9;color:#cbd5e1;border:1px solid var(--air-border)}
.fday.on{background:var(--air-blue);color:#fff;border-color:var(--air-blue)}

/* ── Badge di stato ───────────────────────────────────────── */
.st{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11px;
  font-weight:700;white-space:nowrap;letter-spacing:.02em}
.st .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.st-ok{background:#dcfce7;color:#15803d}.st-ok .dot{background:#22c55e}
.st-late{background:#fef3c7;color:#a16207}.st-late .dot{background:#f59e0b;animation:bpulse 1.4s infinite}
.st-board{background:#dbeafe;color:#1e40af}.st-board .dot{background:var(--air-blue);animation:bpulse 1.4s infinite}
.st-sched{background:#eef1f5;color:#475569}.st-sched .dot{background:#94a3b8}
.st-cancel{background:#fee2e2;color:#dc2626}.st-cancel .dot{background:#ef4444}

/* ── Skeleton loading ─────────────────────────────────────── */
.skel{display:inline-block;background:linear-gradient(90deg,#eee 25%,#ddd 50%,#eee 75%);
  background-size:200% 100%;animation:sk 1.4s linear infinite;border-radius:4px;height:14px}
@keyframes sk{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ── Stato vuoto ──────────────────────────────────────────── */
.tt-empty{padding:40px 16px;text-align:center;color:var(--air-mute);font-size:13px}
.tt-empty i{display:block;font-size:2rem;opacity:.25;margin-bottom:8px}

/* ── MOBILE: tutto visibile, niente scroll orizzontale ────── */
@media(max-width:640px){
  .flight-table th,.flight-table td{padding:10px 9px}
  .flight-table{font-size:12.5px}
  .b-filter input{width:100%}
  /* Board arrivi/partenze: si nascondono Volo (1) + Compagnia (2) */
  .flight-table.tt-arrdep thead th:nth-child(1),.flight-table.tt-arrdep tbody td:nth-child(1),
  .flight-table.tt-arrdep thead th:nth-child(2),.flight-table.tt-arrdep tbody td:nth-child(2){display:none}
  /* Voli stagionali: si nascondono Compagnia (1) + Periodo (ultima) */
  .flight-table.tt-seasonal thead th:nth-child(1),.flight-table.tt-seasonal tbody td:nth-child(1),
  .flight-table.tt-seasonal thead th:last-child,.flight-table.tt-seasonal tbody td:last-child{display:none}
}
