/* ============================================================
   Aide aux Devoirs Funtastic - Styles
   ============================================================ */

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #f8fafc;
    font-family: 'Segoe UI', system-ui, sans-serif;
}

main { flex: 1; }

/* Navbar */
.navbar-brand { font-size: 1.2rem; letter-spacing: -.3px; }

/* Cards créneaux */
.slot-card {
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: white;
    transition: box-shadow .15s ease, transform .1s ease;
}
.slot-card:hover {
    box-shadow: 0 4px 20px rgba(37,99,235,.12);
    transform: translateY(-1px);
}
.slot-card .slot-date {
    font-weight: 700;
    font-size: 1rem;
    color: #1e40af;
}
.slot-card .slot-time {
    font-size: .95rem;
    color: #64748b;
}
.slot-card .slot-badges .badge {
    font-size: .78rem;
    padding: .35em .65em;
}

/* Statut inscription enfant */
.child-reg-row {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .35rem .5rem;
    border-radius: 8px;
    background: #f1f5f9;
    margin-bottom: .35rem;
}
.child-reg-row.registered { background: #dcfce7; }
.child-reg-row .child-name { font-weight: 600; font-size: .9rem; flex: 1; }

/* Boutons action rapide */
.btn-reg { min-width: 110px; font-size: .8rem; }

/* Badge complet */
.badge-full { background-color: #dc2626 !important; }

/* Texte intro */
.intro-text {
    background: linear-gradient(135deg, #eff6ff 0%, #e0f2fe 100%);
    border-left: 4px solid #3b82f6;
    border-radius: 8px;
    padding: 1.25rem 1.5rem;
    white-space: pre-line;
    line-height: 1.7;
}

/* Filtre créneaux */
.filter-tabs .nav-link { border-radius: 20px; font-size: .88rem; }
.filter-tabs .nav-link.active { background: #2563eb; color: white; }

/* Admin badge rôle */
.role-badge-admin    { background-color: #7c3aed !important; }
.role-badge-volunteer{ background-color: #0891b2 !important; }
.role-badge-parent   { background-color: #16a34a !important; }

/* Tables admin */
.table-admin th { background: #f1f5f9; font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; }
.table-admin td { vertical-align: middle; font-size: .9rem; }

/* Page connexion */
.login-card {
    max-width: 420px;
    margin: 3rem auto;
    border-radius: 16px;
    box-shadow: 0 8px 40px rgba(37,99,235,.13);
    border: none;
}

/* Export PDF */
@media print {
    nav, footer, .no-print { display: none !important; }
    body { background: white; font-size: 12px; }
    .print-card { border: 1px solid #ccc !important; border-radius: 0 !important; }
    h1 { font-size: 18px !important; }
    .badge { border: 1px solid #999; }
}

/* Responsive */
@media (max-width: 576px) {
    .slot-card .d-flex { flex-wrap: wrap; }
    .btn-reg { width: 100%; margin-top: .25rem; }
}
