/* ============================================================
   Ge.Ba. v4.0 - CSS Principale
   Gestionale per Bande Musicali
   ============================================================ */

/* --- Base Reset & Font --- */
body {
    font-family: 'Inter', sans-serif;
}

/* --- Scrollbar personalizzata --- */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #999; }

/* --- Modale overlay fix --- */
.modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 60;
    background: rgba(0, 0, 0, 0.4);
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.modal-overlay.active {
    display: flex;
}

/* --- Animazione fade-in per contenuti --- */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
.fade-in {
    animation: fadeIn 0.3s ease-out;
}

/* --- Badge stati --- */
.badge-success {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    border-radius: 9999px;
    padding: 0.25rem 0.625rem;
    font-size: 0.75rem;
    font-weight: 500;
    background: #ecfdf5;
    color: #047857;
}
.badge-warning {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    border-radius: 9999px;
    padding: 0.25rem 0.625rem;
    font-size: 0.75rem;
    font-weight: 500;
    background: #fffbeb;
    color: #b45309;
}
.badge-danger {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    border-radius: 9999px;
    padding: 0.25rem 0.625rem;
    font-size: 0.75rem;
    font-weight: 500;
    background: #fef2f2;
    color: #b91c1c;
}

/* --- Tabella striped hover --- */
.geba-table tr:hover td {
    background: rgba(0,0,0,0.015);
}

/* --- Form input focus --- */
.geba-input:focus {
    border-color: #dc2626;
    outline: none;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.08);
    background: white;
}

/* --- Print --- */
@media print {
    aside, .no-print, footer, .fixed { display: none !important; }
    main { padding: 0 !important; margin: 0 !important; }
}
