/* RESET SIMPLE */* {    box-sizing: border-box;    margin: 0;    padding: 0;}body {    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;    background: #f3f4f6;    color: #111827;}/* CONTAINER GLOBAL */.container {    max-width: 1000px;    margin: 16px auto;    padding: 16px;    background: #ffffff;    border-radius: 16px;    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);}/* TITRES */h1 {    font-size: 1.6rem;    font-weight: 700;    text-align: center;    margin-bottom: 8px;    color: #111827;}h2 {    font-size: 1.2rem;    margin-bottom: 8px;    color: #111827;}h3 {    font-size: 1rem;    margin: 12px 0 6px;}/* TEXTE D'INFO */.note {    font-size: 0.85rem;    color: #6b7280;}/* BOUTONS */.btn,button {    display: inline-flex;    align-items: center;    justify-content: center;    padding: 8px 16px;    border-radius: 999px;    border: none;    background: #2563eb;    color: #ffffff;    font-size: 0.9rem;    font-weight: 500;    text-decoration: none;    cursor: pointer;    transition: background 0.15s ease, transform 0.05s ease;}.btn:hover,button:hover {    background: #1d4ed8;}.btn-link {    display: inline-flex;    align-items: center;    justify-content: center;    padding: 6px 12px;    border-radius: 999px;    border: none;    background: #e5e7eb;    color: #111827;    font-size: 0.85rem;    text-decoration: none;    cursor: pointer;    transition: background 0.15s ease;}.btn-link:hover {    background: #d1d5db;}.remove-day {    background: #ef4444;    color: #fff;}.remove-day:hover {    background: #dc2626;}/* LIENS */a {    color: #2563eb;    text-decoration: none;}a:hover {    text-decoration: underline;}/* INPUTS & TEXTAREA */input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="time"],input[type="date"],textarea {    width: 100%;    padding: 8px 10px;    margin-top: 4px;    border-radius: 8px;    border: 1px solid #d1d5db;    font-size: 0.9rem;}textarea {    resize: vertical;}/* CARTES / COLONNES INDEX */.columns {    display: flex;    flex-direction: column;    gap: 16px;    margin-top: 16px;}.card {    padding: 16px;    border-radius: 16px;    border: 1px solid #e5e7eb;    background: #f9fafb;}/* TOP BAR (planning / my_events) */.top-bar,.events-header {    display: flex;    flex-direction: column;    gap: 8px;    margin-bottom: 12px;}.events-header-actions {    display: flex;    flex-wrap: wrap;    gap: 8px;}/* BADGE / ALERTES */.badge {    display: inline-flex;    align-items: center;    padding: 3px 10px;    border-radius: 999px;    background: #eef2ff;    color: #3730a3;    font-size: 0.8rem;    margin-top: 4px;}.success {    margin-bottom: 12px;    padding: 10px 12px;    background: #ecfdf3;    border-radius: 10px;    border: 1px solid #bbf7d0;    color: #166534;    font-size: 0.9rem;}/* TABLE MES EVENEMENTS (DESKTOP) */.events-table {    width: 100%;    border-collapse: collapse;    font-size: 0.9rem;}.events-table th,.events-table td {    padding: 8px 10px;    border-bottom: 1px solid #e5e7eb;    text-align: left;}.events-table th {    font-weight: 600;    background: #f9fafb;}.events-table .col-action {    white-space: nowrap;}/* PLANNING : LISTE DES CRENEAUX */.slots-day-list {    display: flex;    flex-direction: column;    gap: 8px;    margin-bottom: 12px;}.slot {    border-radius: 12px;    border: 1px solid #e5e7eb;    padding: 8px 10px;    background: #f9fafb;}.slot-header {    display: flex;    justify-content: space-between;    gap: 8px;    font-size: 0.9rem;}.slot-time {    font-weight: 600;}.slot-status {    font-size: 0.85rem;    color: #4b5563;}.slot-full {    color: #b91c1c;    font-weight: 600;}.slot-select-label {    font-size: 0.85rem;}.selected-slots-list {    margin: 4px 0 0;    padding-left: 18px;    font-size: 0.85rem;}/* ETAT SELECTIONNE */.selected-slot {    border: 2px solid #2563eb;    background: #e0edff;}/* PETITS MESSAGES DANS LES SLOTS (benevoles) */.slot-volunteers {    margin: 6px 0 0 0;    padding-left: 18px;    font-size: 0.85rem;}.slot-volunteers-empty {    font-size: 0.8rem;    color: #6b7280;    margin-top: 4px;}/* FORMULAIRES */form {    margin-top: 6px;}/* ---------- RESPONSIVE ---------- *//* >= 768px : on augmente un peu les marges et on met les colonnes côte à côte */@media (min-width: 768px) {    .container {        margin: 32px auto;        padding: 24px 28px;    }    .columns {        flex-direction: row;    }    .card {        flex: 1 1 0;    }    .top-bar,    .events-header {        flex-direction: row;        justify-content: space-between;        align-items: center;    }}/* <= 768px : adaptation mobile */@media (max-width: 768px) {    .container {        margin: 8px;        padding: 12px;        border-radius: 12px;    }    h1 {        font-size: 1.4rem;    }    /* TABLE MES EVENEMENTS -> cartes empilées */    .events-table {        border: 0;    }    .events-table thead {        display: none;    }    .events-table tr {        display: block;        margin-bottom: 12px;        border-radius: 12px;        border: 1px solid #e5e7eb;        background: #f9fafb;        padding: 10px 10px 8px;    }    .events-table td {        display: flex;        justify-content: space-between;        border: none;        padding: 4px 0;        font-size: 0.85rem;    }    .events-table td::before {        content: attr(data-label);        font-weight: 600;        color: #4b5563;        margin-right: 8px;    }    .events-header {        align-items: flex-start;    }    .events-header-actions {        width: 100%;        justify-content: flex-start;    }}