/* RDV Parent SMS 1.8.13 — page SMS compacte et largeur stable, indépendante du recalcul global des tableaux. */
.rdv-parent-wrap .rdv-tab-panel[data-panel="sms-communications"] {
    width: 100% !important;
    max-width: 100% !important;
}

.rdv-parent-wrap .rdv-sms-communications-wrap {
    width: min(1240px, 100%) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
}

.rdv-parent-wrap .rdv-sms-communications-wrap > .rdv-followup-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* 1.8.13 — l'onglet SMS ne doit jamais hériter de la largeur dynamique
 * --rdv-clean-table-band-* calculée par 70-interface-cleanup.js pour les
 * tableaux historiques. Ce sélecteur, volontairement plus spécifique,
 * reste prioritaire même si le style global est injecté après le CSS. */
.rdv-parent-wrap .rdv-tab-panel[data-panel="sms-communications"] .rdv-followup-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.rdv-parent-wrap .rdv-sms-page-heading {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    min-height: 44px !important;
    margin: 0 0 16px !important;
}

.rdv-parent-wrap .rdv-sms-page-heading > .rdv-slots-title,
.rdv-parent-wrap .rdv-sms-history-section > .rdv-slots-title {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #c40000 !important;
    text-align: center !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    letter-spacing: .2px !important;
    text-transform: uppercase !important;
}

.rdv-parent-wrap button.rdv-sms-scheduler-open,
.rdv-parent-wrap button.rdv-sms-scheduler-open:hover,
.rdv-parent-wrap button.rdv-sms-scheduler-open:focus,
.rdv-parent-wrap button.rdv-sms-scheduler-open:active {
    appearance: none !important;
    position: static !important;
    margin-left: auto !important;
    flex: 0 0 auto !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid #9f1010 !important;
    border-radius: 3px !important;
    background: #c32222 !important;
    color: #fff !important;
    box-shadow: none !important;
    text-decoration: none !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 32px !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.rdv-parent-wrap button.rdv-sms-scheduler-open:hover,
.rdv-parent-wrap button.rdv-sms-scheduler-open:focus { background: #a71919 !important; }
.rdv-parent-wrap button.rdv-sms-scheduler-open:disabled { opacity: .5 !important; cursor: not-allowed !important; }

.rdv-parent-wrap .rdv-sms-communications-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 4px 0 14px !important;
}

.rdv-parent-wrap .rdv-sms-communications-grid {
    display: grid !important;
    grid-template-columns: minmax(100px, 135px) minmax(145px, 180px) minmax(220px, 285px) !important;
    align-items: start !important;
    justify-content: start !important;
    gap: 10px 18px !important;
    margin: 0 0 2px !important;
}

.rdv-parent-wrap .rdv-sms-communications-form label {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #0f2954 !important;
    font-size: 11px !important;
}

.rdv-parent-wrap .rdv-sms-communications-channel-row > label {
    display: grid !important;
    grid-template-rows: 16px 32px !important;
    align-content: start !important;
}

.rdv-parent-wrap .rdv-sms-communications-channel-row > label > span:first-child,
.rdv-parent-wrap .rdv-sms-message-field > span {
    color: #0f2954 !important;
    font-weight: 700 !important;
    line-height: 16px !important;
}

.rdv-parent-wrap .rdv-sms-communications-form select,
.rdv-parent-wrap .rdv-sms-communications-form input[type="search"],
.rdv-parent-wrap .rdv-sms-communications-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #0f2954 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    color: #0f2954 !important;
    font-size: 12px !important;
    box-sizing: border-box !important;
}

.rdv-parent-wrap .rdv-sms-communications-form select,
.rdv-parent-wrap .rdv-sms-communications-form input[type="search"] {
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 5px !important;
}

.rdv-parent-wrap .rdv-sms-communications-form textarea {
    min-height: 105px !important;
    padding: 7px 0 !important;
    resize: vertical !important;
    line-height: 1.45 !important;
}

.rdv-parent-wrap .rdv-sms-channel-choice {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    height: 32px !important;
    padding: 0 0 3px !important;
    border-bottom: 1px solid #8da0b8 !important;
    color: #0f2954 !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
}

.rdv-parent-wrap .rdv-sms-channel-choice input[type="checkbox"] {
    appearance: auto !important;
    width: 14px !important;
    min-width: 14px !important;
    height: 14px !important;
    min-height: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.rdv-parent-wrap .rdv-sms-message-meta {
    flex-wrap: wrap;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-top: -5px !important;
    color: #646970 !important;
    font-size: 10px !important;
}

.rdv-parent-wrap .rdv-sms-message-count { white-space: nowrap !important; }
.rdv-parent-wrap .rdv-sms-recipient-summary { min-height: 18px !important; color: #0f2954 !important; font-size: 11px !important; line-height: 18px !important; }

.rdv-parent-wrap .rdv-sms-missing-link {
    appearance: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid currentColor !important;
    background: transparent !important;
    color: #0f2954 !important;
    font: inherit !important;
    font-weight: 700 !important;
    cursor: pointer !important;
}

.rdv-parent-wrap .rdv-sms-missing-link:disabled { border-bottom-color: transparent !important; opacity: .55 !important; cursor: default !important; }
.rdv-parent-wrap .rdv-sms-recipient-selection { width: 100% !important; margin-top: 2px !important; }
.rdv-parent-wrap .rdv-sms-recipient-title { margin: 2px 0 8px !important; color: #c40000 !important; text-align: center !important; font-size: 17px !important; font-weight: 900 !important; }

.rdv-parent-wrap .rdv-sms-recipient-tools {
    display: grid !important;
    grid-template-columns: 180px 180px minmax(220px, 1fr) auto auto auto auto !important;
    align-items: end !important;
    gap: 8px 10px !important;
    margin: 0 0 8px !important;
}

.rdv-parent-wrap .rdv-sms-recipient-filter-reset,
.rdv-parent-wrap .rdv-sms-recipient-tools .button {
    appearance: none !important;
    height: 28px !important;
    min-height: 28px !important;
    margin: 0 !important;
    padding: 0 3px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #0f2954 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 28px !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.rdv-parent-wrap .rdv-sms-recipient-filter-reset { color: #c70000 !important; }
.rdv-parent-wrap .rdv-sms-recipient-tools .button:hover { color: #c40000 !important; }
.rdv-parent-wrap .rdv-sms-recipient-selected-count { color: #0f2954 !important; font-size: 11px !important; white-space: nowrap !important; }

.rdv-parent-wrap .rdv-sms-recipient-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    border: 1px solid rgba(15, 41, 84, .16) !important;
    background: #fff !important;
}

.rdv-parent-wrap .rdv-sms-recipient-table {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    table-layout: fixed !important;
}

.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-check { width: 34px !important; }
.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-order { width: 38px !important; }
.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-student { width: 22% !important; }
.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-code { width: 86px !important; }
.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-na { width: 44px !important; }
.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-class { width: 76px !important; }
.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-parent { width: 25% !important; }
.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-destination { width: 23% !important; }
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(1),
.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(1) { width: 34px !important; }
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(2),
.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(2) { width: 38px !important; }
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(3),
.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(3) { width: 22% !important; }
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(4),
.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(4) { width: 86px !important; }
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(5),
.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(5) { width: 44px !important; }
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(6),
.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(6) { width: 76px !important; }
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(7),
.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(7) { width: 25% !important; }
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(8),
.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(8) { width: 23% !important; }

.rdv-parent-wrap .rdv-sms-recipient-table th,
.rdv-parent-wrap .rdv-sms-recipient-table td {
    min-width: 0 !important;
    padding: 6px 3px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

.rdv-parent-wrap .rdv-sms-recipient-table th { font-size: 9px !important; }
.rdv-parent-wrap .rdv-sms-recipient-table td { font-size: 10px !important; }
.rdv-parent-wrap .rdv-sms-recipient-table[data-rdv-sms-recipient-table="1"] thead th { text-align: center !important; }
.rdv-parent-wrap .rdv-sms-recipient-table td[data-col="student_name"],
.rdv-parent-wrap .rdv-sms-recipient-table td[data-col="parent_name"],
.rdv-parent-wrap .rdv-sms-recipient-table td[data-col="mobile"] { text-align: left !important; }
.rdv-parent-wrap .rdv-sms-recipient-table td[data-col="access_code_plain"],
.rdv-parent-wrap .rdv-sms-recipient-table td[data-col="na"],
.rdv-parent-wrap .rdv-sms-recipient-table td[data-col="class_level"] { text-align: center !important; }

.rdv-parent-wrap .rdv-sms-recipient-check-cell { width: 34px !important; padding-left: 0 !important; padding-right: 0 !important; overflow: visible !important; }
.rdv-parent-wrap .rdv-sms-recipient-check-cell input[type="checkbox"] {
    appearance: auto !important;
    display: inline-block !important;
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: #0f2954 !important;
}

.rdv-parent-wrap .rdv-sms-recipient-table .rdv-col-order,
.rdv-parent-wrap .rdv-sms-recipient-table .rdv-cell-order { width: 38px !important; padding-left: 0 !important; padding-right: 0 !important; }
.rdv-parent-wrap .rdv-sms-recipient-row.is-missing-contact { background: rgba(245, 158, 11, .07) !important; }
.rdv-parent-wrap .rdv-sms-multi-contact { white-space: pre-line !important; line-height: 1.25 !important; }

.rdv-parent-wrap .rdv-sms-recipient-pager,
.rdv-parent-wrap .rdv-sms-history-pager {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-top: 8px !important;
    color: #0f2954 !important;
    font-size: 11px !important;
}

.rdv-parent-wrap .rdv-sms-recipient-pager label { display: inline-flex !important; flex-direction: row !important; align-items: center !important; gap: 5px !important; }
.rdv-parent-wrap .rdv-sms-recipient-pager select { width: 68px !important; min-width: 68px !important; height: 28px !important; min-height: 28px !important; }
.rdv-parent-wrap .rdv-sms-recipient-pager .button,
.rdv-parent-wrap .rdv-sms-history-pager button { height: 28px !important; min-height: 28px !important; padding: 0 9px !important; font-size: 10px !important; line-height: 26px !important; }

.rdv-parent-wrap .rdv-sms-communications-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin-top: 10px !important;
}

.rdv-parent-wrap button.rdv-sms-finance-action,
.rdv-parent-wrap button.rdv-sms-finance-action:hover,
.rdv-parent-wrap button.rdv-sms-finance-action:focus,
.rdv-parent-wrap button.rdv-sms-finance-action:active {
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 5px 12px !important;
    border: 1px solid #0f2954 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #0f2954 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 22px !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.rdv-parent-wrap button.rdv-sms-finance-action:disabled { opacity: .45 !important; cursor: not-allowed !important; }
.rdv-parent-wrap .rdv-sms-communications-report { min-height: 20px !important; color: #0f2954 !important; font-size: 11px !important; line-height: 1.4 !important; }

.rdv-parent-wrap .rdv-sms-history-section { margin-top: 18px !important; }
.rdv-parent-wrap .rdv-sms-history-section > .rdv-slots-title { margin-bottom: 10px !important; font-size: 18px !important; }
.rdv-parent-wrap .rdv-sms-history-tools { display: flex !important; align-items: flex-end !important; gap: 12px !important; margin: 0 0 8px !important; }
.rdv-parent-wrap .rdv-sms-history-tools input { flex: 1 1 auto !important; }
.rdv-parent-wrap .rdv-sms-history-tools select { flex: 0 0 70px !important; width: 70px !important; }
.rdv-parent-wrap .rdv-sms-history-table-wrap { width: 100% !important; max-width: 100% !important; overflow-x: hidden !important; }
.rdv-parent-wrap .rdv-sms-history-table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; }
.rdv-parent-wrap .rdv-sms-history-table col[data-history-col="created_at"] { width: 16% !important; }
.rdv-parent-wrap .rdv-sms-history-table col[data-history-col="student_name"] { width: 20% !important; }
.rdv-parent-wrap .rdv-sms-history-table col[data-history-col="message_text"] { width: 44% !important; }
.rdv-parent-wrap .rdv-sms-history-table col[data-history-col="destination"] { width: 20% !important; }
.rdv-parent-wrap .rdv-sms-history-table th:nth-child(1),
.rdv-parent-wrap .rdv-sms-history-table td:nth-child(1) { width: 16% !important; }
.rdv-parent-wrap .rdv-sms-history-table th:nth-child(2),
.rdv-parent-wrap .rdv-sms-history-table td:nth-child(2) { width: 20% !important; }
.rdv-parent-wrap .rdv-sms-history-table th:nth-child(3),
.rdv-parent-wrap .rdv-sms-history-table td:nth-child(3) { width: 44% !important; }
.rdv-parent-wrap .rdv-sms-history-table th:nth-child(4),
.rdv-parent-wrap .rdv-sms-history-table td:nth-child(4) { width: 20% !important; }

.rdv-parent-wrap .rdv-sms-history-table th,
.rdv-parent-wrap .rdv-sms-history-table td {
    min-width: 0 !important;
    padding: 6px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    vertical-align: middle !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
}

.rdv-parent-wrap .rdv-sms-history-table th,
.rdv-parent-wrap .rdv-sms-history-table th[data-col] { white-space: nowrap !important; text-align: center !important; }
.rdv-parent-wrap .rdv-sms-history-table th .rdv-sort-arrow { display: inline-block !important; margin-left: 4px !important; vertical-align: baseline !important; white-space: nowrap !important; }
.rdv-parent-wrap .rdv-sms-history-table td[data-col="created_at"] { white-space: nowrap !important; text-align: center !important; }
.rdv-parent-wrap .rdv-sms-history-table td[data-col="student_name"] { white-space: nowrap !important; text-align: left !important; font-weight: 600 !important; }
.rdv-parent-wrap .rdv-sms-history-table td[data-col="message_text"] { white-space: normal !important; overflow-wrap: anywhere !important; text-align: left !important; }
.rdv-parent-wrap .rdv-sms-history-table td[data-col="destination"] { white-space: normal !important; overflow-wrap: anywhere !important; text-align: left !important; }

.rdv-sms-preview-modal,
.rdv-sms-missing-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px !important;
}

.rdv-sms-preview-modal[hidden], .rdv-sms-missing-modal[hidden] { display: none !important; }
.rdv-sms-preview-backdrop { position: absolute !important; inset: 0 !important; background: rgba(15, 23, 42, .52) !important; }
.rdv-sms-preview-card, .rdv-sms-missing-card {
    position: relative !important;
    z-index: 1 !important;
    width: min(620px, calc(100vw - 36px)) !important;
    max-height: calc(100vh - 36px) !important;
    overflow: auto !important;
    border: 1px solid rgba(15, 41, 84, .22) !important;
    border-radius: 5px !important;
    background: #fff !important;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .24) !important;
}

.rdv-sms-preview-head { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; padding: 13px 16px !important; border-bottom: 1px solid rgba(15, 41, 84, .14) !important; }
.rdv-sms-preview-head h3 { margin: 0 !important; color: #0f2954 !important; font-size: 16px !important; font-weight: 800 !important; }
.rdv-sms-preview-x { width: 30px !important; height: 30px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: #0f2954 !important; font-size: 24px !important; line-height: 30px !important; cursor: pointer !important; }
.rdv-sms-preview-body { padding: 16px !important; }
.rdv-sms-preview-student-field { margin: 0 0 12px !important; font-weight: 700 !important; }
.rdv-parent-wrap .rdv-sms-communications-form .rdv-sms-preview-student { width: 100% !important; height: 34px !important; border: 1px solid rgba(15, 41, 84, .28) !important; border-radius: 3px !important; background: #fff !important; }
.rdv-sms-preview-meta { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; flex-wrap: wrap !important; margin-bottom: 10px !important; color: #0f2954 !important; font-size: 11px !important; font-weight: 700 !important; }
.rdv-sms-preview-message { min-height: 105px !important; padding: 14px !important; border: 1px solid rgba(15, 41, 84, .18) !important; border-radius: 4px !important; background: #f8fafc !important; color: #111827 !important; white-space: pre-wrap !important; overflow-wrap: anywhere !important; font-size: 13px !important; line-height: 1.55 !important; }
.rdv-sms-preview-count, .rdv-sms-preview-warning { margin-top: 8px !important; color: #64748b !important; text-align: right !important; font-size: 10px !important; }
.rdv-sms-preview-actions { display: flex !important; align-items: center !important; justify-content: flex-end !important; padding: 12px 16px !important; border-top: 1px solid rgba(15, 41, 84, .14) !important; }
.rdv-sms-missing-list { max-height: min(420px, 55vh) !important; padding: 14px 16px !important; overflow: auto !important; color: #0f2954 !important; font-size: 12px !important; line-height: 1.55 !important; }
body.rdv-sms-modal-open { overflow: hidden !important; }

/* Le contenu normal reste sous les bandes fixes ; seules les modales les dépassent. */
.rdv-parent-wrap .rdv-tab-panel[data-panel="sms-communications"] table,
.rdv-parent-wrap .rdv-tab-panel[data-panel="sms-communications"] .rdv-sms-recipient-tools,
.rdv-parent-wrap .rdv-tab-panel[data-panel="sms-communications"] .rdv-followup-section { z-index: auto !important; }

@media (max-width: 1000px) {
    .rdv-parent-wrap .rdv-sms-recipient-tools { grid-template-columns: 1fr 1fr 2fr auto auto !important; }
    .rdv-parent-wrap .rdv-sms-recipient-selected-count { grid-column: 1 / -1 !important; text-align: right !important; }
}

@media (max-width: 782px) {
    .rdv-parent-wrap .rdv-sms-page-heading { justify-content: space-between !important; padding-top: 0 !important; }
    .rdv-parent-wrap button.rdv-sms-scheduler-open { top: 0 !important; transform: none !important; }
    .rdv-parent-wrap .rdv-sms-communications-grid { grid-template-columns: 1fr !important; }
    .rdv-parent-wrap .rdv-sms-recipient-tools { display: flex !important; flex-wrap: wrap !important; }
    .rdv-parent-wrap .rdv-sms-recipient-filter-field,
    .rdv-parent-wrap .rdv-sms-recipient-filter-value { flex: 1 1 145px !important; }
    .rdv-parent-wrap .rdv-sms-recipient-search { flex: 1 1 100% !important; }
    .rdv-parent-wrap .rdv-sms-recipient-table-wrap { overflow-x: auto !important; }
    .rdv-parent-wrap .rdv-sms-recipient-table { min-width: 850px !important; }
    .rdv-parent-wrap .rdv-sms-communications-actions { flex-wrap: wrap !important; }
}

@media (max-width: 600px) {
    .rdv-parent-wrap .rdv-sms-page-heading > .rdv-slots-title { font-size: 22px !important; text-align: left !important; }
    .rdv-parent-wrap .rdv-sms-message-meta {
    flex-wrap: wrap; align-items: flex-start !important; flex-direction: column !important; gap: 3px !important; }
    .rdv-parent-wrap .rdv-sms-communications-actions { flex-direction: column !important; align-items: stretch !important; }
    .rdv-parent-wrap button.rdv-sms-finance-action { width: 100% !important; }
    .rdv-sms-preview-modal, .rdv-sms-missing-modal { padding: 9px !important; }
    .rdv-sms-preview-card, .rdv-sms-missing-card { width: calc(100vw - 18px) !important; max-height: calc(100vh - 18px) !important; }
}

/* RDV Parent SMS 1.8.18 — tableaux SMS : destinataire + mobile regroupés. */
.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-destination{width:48%!important}
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(7),
.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(7){width:48%!important}
.rdv-parent-wrap .rdv-sms-recipient-table .rdv-sms-recipient-check-cell,
.rdv-parent-wrap .rdv-sms-recipient-table .rdv-col-order,
.rdv-parent-wrap .rdv-sms-recipient-table .rdv-cell-order{text-align:center!important}
.rdv-parent-wrap .rdv-sms-recipient-table td[data-col="mobile"]{text-align:left!important;white-space:pre-line!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important}
.rdv-parent-wrap .rdv-sms-history-section>.rdv-slots-title{text-align:left!important}
.rdv-parent-wrap .rdv-sms-history-table col[data-history-col="created_at"],
.rdv-parent-wrap .rdv-sms-history-table th:nth-child(1),
.rdv-parent-wrap .rdv-sms-history-table td:nth-child(1){width:13%!important}
.rdv-parent-wrap .rdv-sms-history-table col[data-history-col="student_name"],
.rdv-parent-wrap .rdv-sms-history-table th:nth-child(2),
.rdv-parent-wrap .rdv-sms-history-table td:nth-child(2){width:20%!important}
.rdv-parent-wrap .rdv-sms-history-table col[data-history-col="message_text"],
.rdv-parent-wrap .rdv-sms-history-table th:nth-child(3),
.rdv-parent-wrap .rdv-sms-history-table td:nth-child(3){width:39%!important}
.rdv-parent-wrap .rdv-sms-history-table col[data-history-col="destination"],
.rdv-parent-wrap .rdv-sms-history-table th:nth-child(4),
.rdv-parent-wrap .rdv-sms-history-table td:nth-child(4){width:28%!important}
.rdv-parent-wrap .rdv-sms-history-table td[data-col="student_name"]{text-align:center!important}
.rdv-parent-wrap .rdv-sms-history-table td[data-col="destination"]{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;text-align:left!important}


/* RDV Parent SMS 1.8.18 — tableaux SMS consolidés. */
.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-check{width:4%!important}
.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-order{width:4%!important}
.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-student{width:20%!important}
.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-code{width:10%!important}
.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-na{width:6%!important}
.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-class{width:8%!important}
.rdv-parent-wrap .rdv-sms-recipient-table col.rdv-sms-col-destination{width:48%!important}
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(1),.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(1){width:4%!important;text-align:center!important}
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(2),.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(2){width:4%!important;text-align:center!important}
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(3),.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(3){width:20%!important}
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(4),.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(4){width:10%!important}
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(5),.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(5){width:6%!important}
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(6),.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(6){width:8%!important}
.rdv-parent-wrap .rdv-sms-recipient-table th:nth-child(7),.rdv-parent-wrap .rdv-sms-recipient-table td:nth-child(7){width:48%!important}
.rdv-parent-wrap .rdv-sms-recipient-check-cell{display:table-cell!important;text-align:center!important}
.rdv-parent-wrap .rdv-sms-recipient-check-cell input[type=checkbox]{display:inline-block!important;margin:0 auto!important}
.rdv-parent-wrap .rdv-sms-recipient-table .rdv-cell-order{text-align:center!important}
.rdv-parent-wrap .rdv-sms-history-section>.rdv-slots-title{text-align:left!important}
.rdv-parent-wrap .rdv-sms-history-table col[data-history-col="created_at"],.rdv-parent-wrap .rdv-sms-history-table th:nth-child(1),.rdv-parent-wrap .rdv-sms-history-table td:nth-child(1){width:13%!important}
.rdv-parent-wrap .rdv-sms-history-table col[data-history-col="student_name"],.rdv-parent-wrap .rdv-sms-history-table th:nth-child(2),.rdv-parent-wrap .rdv-sms-history-table td:nth-child(2){width:18%!important}
.rdv-parent-wrap .rdv-sms-history-table col[data-history-col="message_text"],.rdv-parent-wrap .rdv-sms-history-table th:nth-child(3),.rdv-parent-wrap .rdv-sms-history-table td:nth-child(3){width:34%!important}
.rdv-parent-wrap .rdv-sms-history-table col[data-history-col="type"],.rdv-parent-wrap .rdv-sms-history-table th:nth-child(4),.rdv-parent-wrap .rdv-sms-history-table td:nth-child(4){width:11%!important}
.rdv-parent-wrap .rdv-sms-history-table col[data-history-col="destination"],.rdv-parent-wrap .rdv-sms-history-table th:nth-child(5),.rdv-parent-wrap .rdv-sms-history-table td:nth-child(5){width:24%!important}
.rdv-parent-wrap .rdv-sms-history-table td[data-col="student_name"],.rdv-parent-wrap .rdv-sms-history-table td[data-col="type"]{text-align:center!important}
.rdv-parent-wrap .rdv-sms-history-table td[data-col="destination"]{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;text-align:left!important}
/* Même zone de progression, maintenant en tête du formulaire. */
.rdv-parent-wrap .rdv-sms-page-heading>.rdv-sms-communications-report{flex:1 1 auto;min-width:0;text-align:left!important;overflow-wrap:anywhere}
.rdv-parent-wrap .rdv-sms-page-heading>.rdv-sms-communications-report:empty{display:none!important}
