.rts-campaign-panel{background:#fff;border:1px solid #dce9e5;border-radius:18px;padding:24px;margin:24px 0}.rts-campaign-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.rts-campaign-heading h2{font-size:21px;color:#103f39;margin:0 0 5px}.rts-campaign-heading p{color:#66827c;margin:0}.rts-campaign-tabs{display:flex;gap:8px;border-bottom:1px solid #e2ebe8;margin:25px 0 10px;overflow-x:auto}.rts-campaign-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:#5e7771;padding:13px 16px;white-space:nowrap;font-weight:600}.rts-campaign-tabs button.active{border-color:#009b79;color:#007e65}.rts-campaign-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid #e2ebe8}.rts-campaign-row strong{color:#123e39}.rts-campaign-row small{display:block;color:#78908a;margin-top:4px}.rts-campaign-row p{margin:8px 0 0;color:#4c6862;overflow-wrap:anywhere}.rts-campaign-empty{color:#758c86;padding:25px 0}.rts-campaign-audience{padding:12px 14px;background:#eaf8f3;border-radius:12px;color:#075f4c;margin-bottom:18px}.rts-campaign-counter{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px}.rts-campaign-panel .btn,.rts-campaign-panel .form-control{border-radius:10px}.rts-campaign-list[hidden]{display:none!important}@media(max-width:600px){.rts-campaign-panel{padding:16px}.rts-campaign-heading>.btn{width:100%}.rts-campaign-row{align-items:stretch;flex-direction:column}.rts-campaign-actions .btn{width:100%}}
/* Cartão de upgrade em fluxo normal: sem camadas absolutas nem cortes de conteúdo. */
.rts-campaign-upgrade{box-sizing:border-box;min-width:0;border:1px solid #d7e9e2;border-radius:18px;background:#f3faf7;margin:20px 0 24px;padding:clamp(18px,3vw,30px)}
.rts-campaign-upgrade *{box-sizing:border-box}
.rts-campaign-upgrade-intro{display:flex;align-items:flex-start;gap:18px;max-width:920px}
.rts-campaign-upgrade-icon{flex:0 0 52px;display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#dff4eb;color:#008c70;font-size:23px}
.rts-campaign-eyebrow{display:block;color:#008c70;font-size:11px;font-weight:750;letter-spacing:.09em;margin:2px 0 8px}
.rts-campaign-upgrade-intro h3{margin:0 0 8px;color:#103f39;font-size:clamp(18px,2vw,23px);line-height:1.3;font-weight:700}
.rts-campaign-upgrade-intro p{margin:0;color:#617c75;line-height:1.6;font-size:14px}
.rts-campaign-upgrade-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;margin-top:24px}
.rts-campaign-upgrade-plan{min-width:0;border:1px solid #d6e6e0;border-radius:14px;background:#fff;padding:20px;box-shadow:0 3px 12px rgba(11,60,49,.035)}
.rts-campaign-plan-top{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:#103f39}
.rts-campaign-plan-top>i{color:#009779;font-size:18px}
.rts-campaign-plan-top strong{font-size:15px}
.rts-campaign-plan-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e7f8f0;color:#007c63;font-size:11px;font-weight:700}
.rts-campaign-plan-price{margin:15px 0;color:#007e65;font-size:26px;line-height:1.25;font-weight:750;font-variant-numeric:tabular-nums}
.rts-campaign-plan-price small{font-size:13px;font-weight:500;color:#647e76}
.rts-campaign-upgrade-plan p{margin:0;color:#547269;font-size:13px}
.rts-campaign-upgrade-plan p i{color:#009779;margin-right:5px}
.rts-campaign-upgrade-footer{margin-top:18px;padding-top:16px;border-top:1px solid #dbeae4}
.rts-campaign-upgrade-footer p,.rts-campaign-upgrade-unavailable{margin:0;display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6;color:#667f77}
.rts-campaign-upgrade-footer i,.rts-campaign-upgrade-unavailable i{flex:none;margin-top:1px}
.rts-campaign-upgrade-unavailable{margin-top:20px}
@media(max-width:640px){.rts-campaign-upgrade-intro{gap:12px}.rts-campaign-upgrade-icon{flex-basis:42px;width:42px;height:42px;font-size:19px}.rts-campaign-upgrade-plans{margin-top:18px}.rts-campaign-upgrade-plan{padding:16px}.rts-campaign-plan-price{font-size:23px}}
/* Modal de campanhas: escopo local para evitar interferência de estilos globais. */
#rtsCampaignModal{--rts-campaign-border:#d5e5e0;--rts-campaign-text:#103f39;--rts-campaign-green:#008f72}
#rtsCampaignModal .rts-campaign-dialog{width:calc(100% - 32px);max-width:580px;margin:16px auto}
#rtsCampaignModal .modal-content{width:100%;min-width:0;overflow:hidden;border:1px solid var(--rts-campaign-border);border-radius:18px;box-shadow:0 24px 65px rgba(6,51,44,.18);background:#fff}
#rtsCampaignModal .modal-header{position:relative;display:flex;align-items:center;padding:24px 64px 22px 24px;border-bottom:1px solid #e3eeea;min-height:94px}
#rtsCampaignModal .rts-campaign-modal-heading{display:flex;align-items:center;gap:14px;min-width:0}
#rtsCampaignModal .rts-campaign-modal-heading-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:13px;background:#e4f7ef;color:var(--rts-campaign-green);font-size:20px}
#rtsCampaignModal .modal-title{margin:0 0 4px;color:var(--rts-campaign-text);font-size:21px;font-weight:700;line-height:1.3}
#rtsCampaignModal .modal-header small{display:block;color:#69847d;font-size:13px;line-height:1.5}
#rtsCampaignModal .btn-close{position:absolute;top:22px;right:22px;flex:none;margin:0;padding:8px;opacity:.65}
#rtsCampaignModal .btn-close:focus-visible{outline:3px solid #78d9be;outline-offset:3px;box-shadow:none}
#rtsCampaignModal form{display:flex;flex-direction:column;min-height:0;min-width:0}
#rtsCampaignModal .modal-body{padding:24px;overflow-y:auto;min-width:0}
#rtsCampaignModal .rts-campaign-audience{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:0 0 24px;padding:14px 16px;border:1px solid #cfeee3;background:#edf9f4;border-radius:12px;font-size:14px;line-height:1.5}
#rtsCampaignModal .rts-campaign-audience i{margin-right:5px;font-size:18px}
#rtsCampaignModal .rts-campaign-field{width:100%;min-width:0;margin:0 0 22px}
#rtsCampaignModal .rts-campaign-field:last-child{margin-bottom:0}
#rtsCampaignModal .form-label{display:block;margin:0 0 9px;color:var(--rts-campaign-text);font-size:14px;font-weight:650;line-height:1.4}
#rtsCampaignModal .form-control{display:block;box-sizing:border-box;width:100%!important;max-width:100%!important;min-width:0;margin:0;padding:12px 14px;border:1px solid #cddfd9;border-radius:10px;background:#fff;color:var(--rts-campaign-text);font:inherit;font-size:15px;line-height:1.5;box-shadow:none;transition:border-color .15s,box-shadow .15s}
#rtsCampaignModal input.form-control{height:50px;min-height:50px}
#rtsCampaignModal textarea.form-control{height:auto;min-height:142px;resize:vertical}
#rtsCampaignModal .form-control:hover:not(:disabled){border-color:#94bcb0}
#rtsCampaignModal .form-control:focus{border-color:#00a785;outline:0;box-shadow:0 0 0 3px rgba(0,163,127,.15)}
#rtsCampaignModal .form-control:disabled{background:#f3f7f5;opacity:.75;cursor:not-allowed}
#rtsCampaignModal .form-control:invalid:not(:placeholder-shown){border-color:#d66e6e}
#rtsCampaignModal .rts-campaign-counter{margin-top:10px;align-items:center;font-size:13px;color:#58736b}
#rtsCampaignModal .rts-campaign-counter strong{color:#006e59;font-size:14px;font-variant-numeric:tabular-nums}
#rtsCampaignModal .rts-campaign-counter .btn-link{color:#008f72;text-decoration:underline;font-weight:650}
#rtsCampaignModal .form-text{margin:9px 0 0;font-size:12px;line-height:1.6;color:#71847e}
#rtsCampaignModal .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px;border-top:1px solid #e3eeea;background:#fff}
#rtsCampaignModal .modal-footer .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;padding:10px 18px;border-radius:10px;font-size:14px;font-weight:650;white-space:normal;text-align:center}
#rtsCampaignModal .modal-footer .btn-success{background:#009777;border-color:#009777;color:#fff}
#rtsCampaignModal .modal-footer .btn-success:hover:not(:disabled){background:#007e65;border-color:#007e65}
#rtsCampaignModal .modal-footer .btn:disabled{opacity:.52;cursor:not-allowed}
@media(max-width:575.98px){#rtsCampaignModal .rts-campaign-dialog{width:calc(100% - 20px);margin:10px auto}#rtsCampaignModal .modal-header{padding:18px 50px 18px 16px}#rtsCampaignModal .rts-campaign-modal-heading{gap:10px}#rtsCampaignModal .rts-campaign-modal-heading-icon{flex-basis:38px;height:38px}#rtsCampaignModal .modal-title{font-size:18px}#rtsCampaignModal .btn-close{top:17px;right:14px}#rtsCampaignModal .modal-body{padding:18px 16px}#rtsCampaignModal .modal-footer{padding:14px 16px;flex-direction:column-reverse}#rtsCampaignModal .modal-footer .btn{width:100%}}

.rts-campaign-upgrade-button{margin-top:16px;display:inline-flex;align-items:center;gap:8px;min-height:42px;border-radius:10px}
.rts-upgrade-subtitle{font-size:13px;color:#6b8079;margin:6px 0 0}
.rts-upgrade-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 18px;padding:18px;margin-bottom:16px;border:1px solid #dbe9e3;border-radius:12px;background:#f5fbf8}
.rts-upgrade-summary span{color:#607c72}.rts-upgrade-summary strong{color:#0b5446;text-align:right;overflow-wrap:anywhere}
.rts-upgrade-help{font-size:13px;line-height:1.6;color:#647d74}
@media(max-width:520px){.rts-upgrade-summary{gap:10px;padding:12px}.rts-campaign-upgrade-button{width:100%;justify-content:center}}

/* Isolamento estrutural do modal contra estilos globais do tema. */
#rtsCampaignModal.modal{box-sizing:border-box;padding:16px;overflow-x:hidden;overflow-y:auto}
#rtsCampaignModal .modal-dialog.rts-campaign-dialog{display:block;position:relative;box-sizing:border-box;width:min(100%,580px);max-width:580px;margin:clamp(12px,4vh,40px) auto}
#rtsCampaignModal .modal-dialog.rts-campaign-dialog>.modal-content{display:flex;flex-direction:column;position:relative;box-sizing:border-box;width:100%;max-width:none;min-width:0;max-height:calc(100dvh - 48px);margin:0}
#rtsCampaignModal .modal-content>.modal-header{display:flex;flex:0 0 auto;width:100%;box-sizing:border-box}
#rtsCampaignModal .modal-content>form{display:flex;flex:1 1 auto;flex-direction:column;width:100%;min-width:0;min-height:0;margin:0}
#rtsCampaignModal .modal-content>form>.modal-body{display:block;flex:1 1 auto;width:100%;min-width:0;min-height:0;box-sizing:border-box;overflow-y:auto}
#rtsCampaignModal .modal-content>form>.modal-footer{display:flex;flex:0 0 auto;width:100%;box-sizing:border-box}
#rtsCampaignModal .rts-campaign-counter{display:flex;justify-content:space-between;gap:12px}
@media(max-width:575.98px){#rtsCampaignModal.modal{padding:10px}#rtsCampaignModal .modal-dialog.rts-campaign-dialog{width:100%;max-width:100%;margin:0 auto}#rtsCampaignModal .modal-dialog.rts-campaign-dialog>.modal-content{max-height:calc(100dvh - 20px)}}

/* v1.10.87: form and header are one continuous white modal surface */
#rtsCampaignModal .rts-campaign-dialog>.modal-content{background:#fff;border-radius:18px;}
#rtsCampaignModal .modal-content>form{background:#fff;}
#rtsCampaignModal .modal-content>form>.modal-body{background:#fff;}

.rts-campaign-no-audience{display:block;margin-top:6px;font-size:12px;line-height:1.5;color:#54766e;font-weight:400}
/* Ações de campanhas pendentes */
.rts-campaign-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.rts-campaign-actions form{margin:0}
.rts-campaign-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;white-space:nowrap}
@media(max-width:600px){.rts-campaign-actions{justify-content:stretch}.rts-campaign-actions form,.rts-campaign-actions>.btn{flex:1 1 100%}.rts-campaign-actions form .btn{width:100%}}

/* Modal de confirmação do início de envio */
#rtsCampaignStartModal .modal-content{border:1px solid #dcece5;border-radius:18px;overflow:hidden;box-shadow:0 18px 60px rgba(8,51,42,.2)}
#rtsCampaignStartModal .modal-header{padding:22px 24px;border-bottom:1px solid #e6efea;background:#f7fcf9}
#rtsCampaignStartModal .modal-title{font-weight:750;color:#114c40}
#rtsCampaignStartModal .modal-header small{color:#678178}
#rtsCampaignStartModal .modal-body{padding:22px 24px;color:#314e45;line-height:1.6}
#rtsCampaignStartModal .modal-body p:last-child{margin-bottom:0}
#rtsCampaignStartModal .modal-footer{padding:16px 24px;border-top:1px solid #e6efea;gap:10px}
#rtsCampaignStartModal .btn{min-height:42px;border-radius:10px;font-weight:650}
#rtsCampaignStartModal .btn-success{background:#009777;border-color:#009777}
#rtsCampaignStartModal .rts-campaign-start-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;background:#e0f5eb;color:#00896c;font-size:22px}
@media(max-width:575.98px){#rtsCampaignStartModal .modal-dialog{margin:12px}#rtsCampaignStartModal .modal-header,#rtsCampaignStartModal .modal-body,#rtsCampaignStartModal .modal-footer{padding:16px}#rtsCampaignStartModal .modal-footer{flex-direction:column-reverse}#rtsCampaignStartModal .modal-footer .btn{width:100%}}

/* Indicador de processamento — apenas campanhas em andamento. */
.rts-campaign-sending{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #bce9d9;border-radius:999px;background:#ecfaf4;color:#08775d;font-size:12px;font-weight:700;white-space:nowrap}
.rts-campaign-sending-spinner{width:13px;height:13px;flex:none;border:2px solid #9bd9c6;border-top-color:#00896c;border-radius:50%;animation:rts-campaign-spin .9s linear infinite}
.rts-campaign-sending-dots::after{content:'...';display:inline-block;width:1.5em;overflow:hidden;vertical-align:bottom;animation:rts-campaign-dots 1.5s steps(4,end) infinite}
@keyframes rts-campaign-spin{to{transform:rotate(360deg)}}
@keyframes rts-campaign-dots{0%{width:0}100%{width:1.5em}}
@media(prefers-reduced-motion:reduce){.rts-campaign-sending-spinner,.rts-campaign-sending-dots::after{animation:none}}
@media(max-width:600px){.rts-campaign-sending{white-space:normal}}

.rts-campaign-failure{display:block;color:#a12828;font-size:12px;max-width:360px;line-height:1.4;margin-top:7px;text-align:right;white-space:normal}
