/* ═══════════════════════════════════════════════════════════════════════════
   Tir Découverte — Espace de gestion frontend (manager.css)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Badges statut réservation ─────────────────────────────────────────── */

.tir-mgr-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2em 0.7em;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.tir-mgr-badge--ok   { background-color: #dcfce7; color: #166534; }
.tir-mgr-badge--off  { background-color: #fee2e2; color: #991b1b; }
.tir-mgr-badge--wait { background-color: #fef9c3; color: #854d0e; }

/* ── Boutons icônes dans les tables ───────────────────────────────────── */

.tir-mgr-icon-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.3rem;
    font-size: 1rem;
    line-height: 1;
    border-radius: 0.375rem;
    transition: background-color 0.15s;
}

.tir-mgr-icon-btn:hover {
    background-color: var(--color-surface-alt, #f3f4f6);
}

/* ── Spinner (bouton login) ───────────────────────────────────────────── */

.tir-mgr-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: tir-mgr-spin 0.6s linear infinite;
    flex-shrink: 0;
}

@keyframes tir-mgr-spin {
    to { transform: rotate(360deg); }
}

/* ── Modales ─────────────────────────────────────────────────────────── */

.tir-mgr-modal {
    position: fixed;
    inset: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    animation: tir-mgr-modal-in 0.15s ease;
}

.tir-mgr-modal.hidden {
    display: none;
}

@keyframes tir-mgr-modal-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.tir-mgr-modal-backdrop {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.tir-mgr-modal-box {
    position: relative;
    width: 100%;
    max-width: 28rem;
    background-color: var(--color-surface, #fff);
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 1rem;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    padding: 1.5rem;
    animation: tir-mgr-modal-slide 0.15s ease;
}

@keyframes tir-mgr-modal-slide {
    from { transform: translateY(8px) scale(0.98); opacity: 0; }
    to   { transform: translateY(0)   scale(1);    opacity: 1; }
}

/* ── Boutons d'action dans la modal réservation ──────────────────────── */

.tir-mgr-btn-success {
    background-color: #16a34a;
    color: #fff;
}
.tir-mgr-btn-success:hover { background-color: #15803d; }

.tir-mgr-btn-danger {
    background-color: #dc2626;
    color: #fff;
}
.tir-mgr-btn-danger:hover { background-color: #b91c1c; }

.tir-mgr-btn-warn {
    background-color: #d97706;
    color: #fff;
}
.tir-mgr-btn-warn:hover { background-color: #b45309; }

/* ── Pagination ──────────────────────────────────────────────────────── */

#mgr-resa-pagination.flex {
    display: flex;
}

/* ── Table : lisibilité mobile ───────────────────────────────────────── */

@media (max-width: 640px) {
    #tir-mgr-wrap table {
        font-size: 0.75rem;
    }
    #tir-mgr-wrap th,
    #tir-mgr-wrap td {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
}

/* ── Barre de progression stats ──────────────────────────────────────── */

#mgr-stats-upcoming .bg-green-500 { background-color: #22c55e; }
#mgr-stats-upcoming .bg-amber-500 { background-color: #f59e0b; }
#mgr-stats-upcoming .bg-red-500   { background-color: #ef4444; }
#mgr-stats-upcoming .bg-border    { background-color: var(--color-border, #e5e7eb); }
