body {
    font-family: 'Inter', sans-serif;
    background-color: #f3f4f6;
    color: #111827;
}

.fw-black { font-weight: 900; }

/* Carte personnalisée avec bordure 8px */
.day-card {
    border: 8px solid white;
    border-radius: 2.5rem;
    box-shadow: 0 15px 40px rgba(0,0,0,0.06);
    background-color: white;
    overflow: hidden;
    height: 100%;
    transition: transform 0.3s ease;
}

.day-header {
    padding: 1.5rem;
    text-align: center;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -1px;
    font-size: 1.5rem;
}

/* Couleurs par jour */
.bg-lundi { background-color: #6366f1; color: white; }
.bg-mardi { background-color: #ec4899; color: white; }
.bg-mercredi { background-color: #14b8a6; color: white; }
.bg-jeudi { background-color: #f59e0b; color: white; }
.bg-vendredi { background-color: #8b5cf6; color: white; }
.bg-samedi { background-color: #334155; color: white; }
.bg-dimanche { background-color: #ef4444; color: white; }

.slot-container {
    border: 1px solid #e5e7eb;
    border-radius: 1.5rem;
    margin-bottom: 1.25rem;
    background-color: #f9fafb;
    overflow: hidden;
}

.slot-banner {
    background-color: #f3f4f6;
    padding: 0.6rem 1.2rem;
    font-weight: 700;
    font-size: 0.8rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #e5e7eb;
}

.common-tasks {
    background-color: #ffffff;
    padding: 0.6rem 1.2rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.85rem;
    color: #4f46e5;
    font-weight: 500;
}

.user-col {
    padding: 1rem;
}

.col-ony { border-right: 1px dashed #e5e7eb; }

.user-badge {
    font-size: 0.6rem;
    font-weight: 900;
    text-transform: uppercase;
    color: #9ca3af;
    margin-bottom: 0.5rem;
    display: block;
}

.task-list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.85rem;
}

.task-list li {
    position: relative;
    padding-left: 1rem;
    margin-bottom: 0.25rem;
}

.task-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #d1d5db;
}

/* Mode Live */
.is-current-slot {
    border: 2px solid #6366f1;
    box-shadow: 0 0 15px rgba(99, 102, 241, 0.2);
    transform: scale(1.02);
}

@media print {
    .btn-group, #printBtn { display: none !important; }
    body { background-color: white; }
    .day-card { border-width: 4px !important; box-shadow: none !important; break-inside: avoid; }
}
