/* Stili della dashboard Admin — riusano le variabili definite in style.css
   (che va sempre incluso PRIMA di questo file). Prima erano ~25 righe di
   CSS inline dentro <style> in dashboard.php: spostati qui per coerenza
   col resto del progetto e per abilitare la cache del browser. */

.admin-container { max-width: 1400px; margin: 0 auto; }

.admin-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-lg); flex-wrap: wrap; gap: 15px; }
.admin-subtitle { color: var(--color-text-muted); margin-top: 4px; }
.admin-actions { display: flex; gap: var(--space-sm); flex-wrap: wrap; }

.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--space-md); margin: var(--space-lg) 0; }
.stat-card { background: var(--color-surface-alt); padding: var(--space-md); border-radius: var(--radius-md); text-align: center; }
.stat-card .number { font-size: 2.5em; font-weight: 800; color: var(--color-text-soft); }
.stat-card .label { color: var(--color-text-muted); font-size: .9em; margin-top: 5px; }
.stat-card.primary .number { color: var(--color-primary); }
.stat-card.success .number { color: var(--color-success); }

.table-container { overflow-x: auto; margin: var(--space-lg) 0; }
table { width: 100%; border-collapse: collapse; background: var(--color-surface); border-radius: var(--radius-md); overflow: hidden; }
th, td { padding: 12px 15px; text-align: left; }
th { background: var(--color-surface-alt); font-weight: 600; color: var(--color-text-soft); }
tr:nth-child(even) { background: var(--color-surface-alt); }
td.num, th.num { text-align: right; }

.badge-stato { padding: 3px 10px; border-radius: var(--radius-pill); font-size: .75em; font-weight: 600; }
.badge-stato.confermata { background: #c6f6d5; color: #22543d; }
.badge-stato.in_attesa { background: var(--color-warning); color: #744210; }
.badge-stato.annullata { background: #fed7d7; color: #742a2a; }

.email-cell { color: #2b6cb0; }
.email-cell.na { color: #a0aec0; font-style: italic; }

@media (max-width: 768px) {
    .admin-header { flex-direction: column; align-items: flex-start; }
}

.filtri-form { background: var(--color-surface-alt); border-radius: var(--radius-md); padding: var(--space-md); margin-bottom: var(--space-lg); }
.pagination { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; margin: var(--space-lg) 0; }

.actions-cell { white-space: nowrap; display: flex; gap: 6px; }

.modal-overlay {
    position: fixed; inset: 0; background: rgba(45,55,72,.55);
    display: flex; align-items: center; justify-content: center;
    z-index: 10000; padding: 20px;
}
.modal-box {
    background: var(--color-surface); border-radius: var(--radius-md);
    padding: var(--space-lg); width: 100%; max-width: 560px;
    max-height: 90vh; overflow-y: auto; box-shadow: 0 20px 60px rgba(0,0,0,.35);
}
.modal-box h3 { margin-bottom: var(--space-md); color: var(--color-text); }
.modal-actions { display: flex; gap: var(--space-sm); justify-content: flex-end; margin-top: var(--space-md); }
