/* RDV Parent SMS 1.8.11 — programmation isolée, inspirée du module Finance. */
.rdv-sms-scheduler-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483100 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    box-sizing: border-box !important;
}

.rdv-sms-scheduler-modal[hidden],
.rdv-sms-scheduler-panel[hidden],
.rdv-sms-scheduler-target-panel[hidden],
.rdv-sms-scheduler-foot[hidden] { display: none !important; }

.rdv-sms-scheduler-backdrop { position: absolute !important; inset: 0 !important; background: rgba(15, 26, 44, .40) !important; }
.rdv-sms-scheduler-card {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    width: min(1120px, 96vw) !important;
    max-height: 90vh !important;
    overflow: hidden !important;
    border: 1px solid rgba(15, 41, 84, .28) !important;
    border-radius: 5px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 20px 55px rgba(0, 0, 0, .28) !important;
    color: #0f2954 !important;
    font-family: Calibri, Carlito, "Segoe UI", Arial, sans-serif !important;
}

.rdv-sms-scheduler-head,
.rdv-sms-scheduler-foot {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #d8dce3 !important;
    background: #f7f8fa !important;
}

.rdv-sms-scheduler-head h3 { margin: 0 !important; color: #0f2954 !important; font-size: 15px !important; font-weight: 700 !important; }
.rdv-sms-scheduler-x { appearance: none !important; width: 30px !important; height: 30px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: #5f6874 !important; font-size: 26px !important; line-height: 1 !important; cursor: pointer !important; }
.rdv-sms-scheduler-tabs { display: flex !important; gap: 5px !important; padding: 10px 16px 0 !important; border-bottom: 1px solid #ccd2db !important; background: #fff !important; }
.rdv-sms-scheduler-tabs button { appearance: none !important; margin: 0 !important; padding: 8px 14px !important; border: 1px solid #ccd2db !important; border-bottom: 0 !important; border-radius: 0 !important; background: #eef0f3 !important; color: #364253 !important; box-shadow: none !important; font-size: 12px !important; cursor: pointer !important; }
.rdv-sms-scheduler-tabs button.is-active { position: relative !important; top: 1px !important; background: #fff !important; color: #0f2954 !important; font-weight: 700 !important; }
.rdv-sms-scheduler-body { min-height: 0 !important; padding: 14px 16px !important; overflow: auto !important; }
.rdv-sms-scheduler-panel { width: 100% !important; }

.rdv-sms-scheduler-message-field { display: flex !important; flex-direction: column !important; gap: 5px !important; color: #384455 !important; font-size: 11px !important; font-weight: 700 !important; }
.rdv-sms-scheduler-message {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 105px !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    resize: vertical !important;
    border: 1px solid #bfc6cf !important;
    border-radius: 3px !important;
    background: #fff !important;
    color: #20344d !important;
    box-shadow: none !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.rdv-sms-scheduler-message-meta {
    flex-wrap: wrap; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; margin: 5px 0 12px !important; color: #687380 !important; font-size: 10.5px !important; }
.rdv-sms-scheduler-character-count { white-space: nowrap !important; }
.rdv-sms-scheduler-controls { display: grid !important; grid-template-columns: 135px 170px 145px minmax(250px, 1fr) !important; align-items: end !important; gap: 10px !important; margin-bottom: 12px !important; }
.rdv-sms-scheduler-controls label { display: flex !important; flex-direction: column !important; gap: 4px !important; min-width: 0 !important; color: #384455 !important; font-size: 11px !important; font-weight: 600 !important; }
.rdv-sms-scheduler-controls select,
.rdv-sms-scheduler-controls input { box-sizing: border-box !important; width: 100% !important; height: 32px !important; min-height: 32px !important; margin: 0 !important; padding: 0 8px !important; border: 1px solid #bfc6cf !important; border-radius: 3px !important; background: #eceff2 !important; color: #263342 !important; box-shadow: none !important; font-size: 11px !important; }

.rdv-sms-scheduler-target-panel { margin: 0 0 10px !important; padding: 10px !important; border: 1px solid #cdd2da !important; background: #fff !important; }
.rdv-sms-scheduler-target-title { margin-bottom: 8px !important; color: #0f2954 !important; font-size: 11px !important; font-weight: 700 !important; }
.rdv-sms-scheduler-class-list { display: grid !important; grid-template-columns: repeat(6, minmax(90px, 1fr)) !important; gap: 6px 10px !important; }
.rdv-sms-scheduler-class-list label { display: flex !important; align-items: center !important; gap: 6px !important; min-width: 0 !important; padding: 5px 7px !important; border: 1px solid #d7dce2 !important; color: #0f2954 !important; font-size: 10.5px !important; cursor: pointer !important; }
.rdv-sms-scheduler-class-list input,
.rdv-sms-scheduler-custom-list input { appearance: auto !important; width: 14px !important; min-width: 14px !important; max-width: 14px !important; height: 14px !important; min-height: 14px !important; max-height: 14px !important; margin: 0 !important; padding: 0 !important; accent-color: #0f2954 !important; }
.rdv-sms-scheduler-custom-tools { display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 8px !important; }
.rdv-sms-scheduler-custom-search { flex: 1 1 auto !important; height: 30px !important; margin: 0 !important; padding: 2px 6px !important; border: 0 !important; border-bottom: 1px solid #0f2954 !important; border-radius: 0 !important; background: transparent !important; color: #0f2954 !important; box-shadow: none !important; }
.rdv-sms-scheduler-custom-tools button { appearance: none !important; margin: 0 !important; padding: 3px 0 !important; border: 0 !important; background: transparent !important; color: #0f2954 !important; font-size: 10px !important; font-weight: 700 !important; cursor: pointer !important; }
.rdv-sms-scheduler-custom-list { max-height: 300px !important; overflow: auto !important; border: 1px solid #d7dce2 !important; }
.rdv-sms-scheduler-custom-list table { width: 100% !important; border-collapse: collapse !important; table-layout: fixed !important; font-size: 10px !important; }
.rdv-sms-scheduler-custom-list th,
.rdv-sms-scheduler-custom-list td { padding: 6px !important; border: 1px solid #d7dce2 !important; text-align: center !important; vertical-align: middle !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.rdv-sms-scheduler-custom-list th { position: sticky !important; top: 0 !important; z-index: 1 !important; background: #eef0f3 !important; color: #243a5b !important; }
.rdv-sms-scheduler-custom-list th:first-child,
.rdv-sms-scheduler-custom-list td:first-child { width: 34px !important; }
.rdv-sms-scheduler-custom-list th:nth-child(2),
.rdv-sms-scheduler-custom-list td:nth-child(2) { width: 44% !important; text-align: left !important; }
.rdv-sms-scheduler-selection-summary { padding: 8px 10px !important; border-left: 3px solid #0f5aa6 !important; background: #eef5fc !important; color: #20344d !important; font-size: 11px !important; }
.rdv-sms-scheduler-feedback { margin-top: 10px !important; padding: 9px 11px !important; font-size: 12px !important; }
.rdv-sms-scheduler-feedback.is-success { border: 1px solid #9dccaa !important; background: #edf8ef !important; color: #236633 !important; }
.rdv-sms-scheduler-feedback.is-error { border: 1px solid #e2a0a0 !important; background: #fff0f0 !important; color: #9a1414 !important; }
.rdv-sms-scheduler-empty { padding: 16px !important; color: #737c87 !important; text-align: center !important; font-size: 11px !important; font-style: italic !important; }

.rdv-sms-scheduler-foot { justify-content: flex-end !important; border-top: 1px solid #d8dce3 !important; border-bottom: 0 !important; }
.rdv-sms-scheduler-confirm { 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; font-size: 11px !important; font-weight: 800 !important; cursor: pointer !important; }
.rdv-sms-scheduler-confirm:disabled { opacity: .5 !important; cursor: wait !important; }

/* Onglet SMS programmés : géométrie et actions de la modale Notifications de Finance. */
.rdv-sms-scheduled-info { margin: 2px 0 10px !important; padding: 8px 10px !important; border-left: 3px solid #0f5aa6 !important; background: #eef5fc !important; color: #29415d !important; font-size: 10.5px !important; line-height: 1.4 !important; }
.rdv-sms-scheduled-warning,
.rdv-sms-scheduled-error { margin: 0 0 10px !important; padding: 9px 11px !important; border: 1px solid #e2a3a3 !important; background: #fff1f1 !important; color: #9a1414 !important; font-size: 11px !important; }
.rdv-sms-scheduled-loading,
.rdv-sms-scheduled-empty { padding: 18px !important; color: #737c87 !important; text-align: center !important; font-size: 11px !important; font-style: italic !important; }
.rdv-sms-scheduled-campaigns { display: flex !important; flex-direction: column !important; gap: 14px !important; }
.rdv-sms-scheduled-campaign { padding: 10px 0 13px !important; border-bottom: 1px solid rgba(15, 41, 84, .18) !important; }
.rdv-sms-scheduled-campaign:last-child { border-bottom: 0 !important; }
.rdv-sms-scheduled-campaign-head { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; margin: 0 0 8px !important; }
.rdv-sms-scheduled-campaign-head > div:first-child { display: flex !important; align-items: baseline !important; gap: 9px !important; min-width: 0 !important; }
.rdv-sms-scheduled-campaign-head strong { color: #0f2954 !important; font-size: 11.5px !important; }
.rdv-sms-scheduled-campaign-head span { color: #667487 !important; font-size: 9.8px !important; white-space: normal !important; }
.rdv-sms-scheduled-bulk { display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 12px !important; flex: 0 0 auto !important; }
.rdv-sms-scheduled-bulk button { appearance: none !important; margin: 0 !important; padding: 3px 0 !important; border: 0 !important; background: transparent !important; color: #0f5aa6 !important; box-shadow: none !important; font: 700 10.5px/1.3 Calibri, Arial, sans-serif !important; text-decoration: underline !important; text-underline-offset: 3px !important; cursor: pointer !important; }
.rdv-sms-scheduled-bulk button.is-cancel { color: #b61f1f !important; }
.rdv-sms-scheduled-preview { margin: 4px 0 8px !important; padding: 7px 9px !important; border: 1px solid #c8d6e8 !important; background: #f3f7fc !important; color: #23364e !important; font-size: 9.8px !important; line-height: 1.45 !important; }
.rdv-sms-scheduled-preview strong { display: block !important; margin-bottom: 5px !important; color: #0f2954 !important; }
.rdv-sms-scheduled-table-wrap { max-width: 100% !important; overflow-x: auto !important; }
.rdv-sms-scheduled-table { width: 100% !important; border-collapse: collapse !important; table-layout: auto !important; font-size: 9.8px !important; }
.rdv-sms-scheduled-table th,
.rdv-sms-scheduled-table td { padding: 5px 4px !important; border: 1px solid #d7dce2 !important; text-align: center !important; vertical-align: middle !important; white-space: nowrap !important; }
.rdv-sms-scheduled-table th { background: #eef0f3 !important; color: #243a5b !important; }
.rdv-sms-scheduled-table td:nth-child(2),
.rdv-sms-scheduled-table td:nth-child(5) { text-align: left !important; }
.rdv-sms-scheduled-table td small { display: block !important; margin-top: 1px !important; color: #74808e !important; font-size: 9px !important; }
.rdv-sms-scheduled-actions { display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; white-space: nowrap !important; }
.rdv-sms-scheduled-send-now,
.rdv-sms-scheduled-cancel { appearance: none !important; margin: 0 !important; padding: 4px 6px !important; border-radius: 3px !important; box-shadow: none !important; font-size: 9.3px !important; cursor: pointer !important; }
.rdv-sms-scheduled-send-now { border: 1px solid #0f5aa6 !important; background: #0f5aa6 !important; color: #fff !important; }
.rdv-sms-scheduled-send-now:hover { background: #0b477f !important; color: #fff !important; }
.rdv-sms-scheduled-cancel { border: 1px solid #b61f1f !important; background: #fff !important; color: #b61f1f !important; }
.rdv-sms-scheduled-cancel:hover { background: #b61f1f !important; color: #fff !important; }
.rdv-sms-scheduled-readonly { color: #7d8792 !important; font-size: 10px !important; }
.rdv-sms-scheduled-send-now:disabled,
.rdv-sms-scheduled-cancel:disabled,
.rdv-sms-scheduled-bulk button:disabled { opacity: .55 !important; cursor: wait !important; }
body.rdv-sms-scheduler-modal-open { overflow: hidden !important; }

@media (max-width: 900px) {
    .rdv-sms-scheduler-controls { grid-template-columns: 1fr 1fr !important; }
    .rdv-sms-scheduler-class-list { grid-template-columns: repeat(3, minmax(90px, 1fr)) !important; }
}

@media (max-width: 780px) {
    .rdv-sms-scheduler-modal { padding: 8px !important; }
    .rdv-sms-scheduler-card { width: 99vw !important; max-height: 96vh !important; }
    .rdv-sms-scheduled-campaign-head { align-items: flex-start !important; flex-direction: column !important; }
    .rdv-sms-scheduled-campaign-head > div:first-child { flex-wrap: wrap !important; }
    .rdv-sms-scheduled-bulk { align-self: flex-end !important; }
}

@media (max-width: 600px) {
    .rdv-sms-scheduler-controls { grid-template-columns: 1fr !important; }
    .rdv-sms-scheduler-class-list { grid-template-columns: repeat(2, minmax(80px, 1fr)) !important; }
    .rdv-sms-scheduler-message-meta {
    flex-wrap: wrap; align-items: flex-start !important; flex-direction: column !important; gap: 3px !important; }
}
