:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1e2a32;background:#f3f5f6}
*{box-sizing:border-box}body{margin:0}.shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{background:#12232e;color:#fff;padding:28px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;margin-bottom:34px}.brand span{display:block;font-size:12px;opacity:.65}.mark{width:40px;height:40px;border-radius:12px;background:#fff;color:#12232e;display:grid;place-items:center;font-weight:800}.nav{display:block;width:100%;text-align:left;border:0;background:transparent;color:#d7e0e5;padding:12px 14px;border-radius:10px;margin:4px 0}.nav.active{background:#213845;color:#fff}.nav:disabled{opacity:.4}.foot{margin-top:auto;font-size:12px;opacity:.55}.content{padding:38px;max-width:1180px;width:100%;margin:0 auto}header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}h1{font-size:34px;margin:4px 0 6px}h2{font-size:19px;margin:0 0 16px}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:700;color:#66808d}.muted{color:#6d7b84}.session{background:#e6ecef;border-radius:999px;padding:8px 12px;font-size:13px}.card{background:#fff;border:1px solid #dfe5e8;border-radius:18px;padding:24px;box-shadow:0 8px 28px rgba(14,38,53,.05)}.hidden{display:none}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:13px;font-weight:600;color:#40515c}input,textarea{width:100%;border:1px solid #cfd8dd;border-radius:10px;padding:11px 12px;margin-top:6px;font:inherit;background:#fff}textarea{resize:vertical}.primary{border:0;border-radius:10px;background:#173c52;color:#fff;padding:11px 18px;font-weight:700;cursor:pointer;margin-top:16px}.primary.big{width:100%;padding:14px;font-size:15px}.steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.steps span{background:#eef2f4;border-radius:999px;padding:7px 10px;font-size:12px}.steps .on{background:#173c52;color:#fff}.section{padding:22px 0;border-top:1px solid #edf0f1}.section:first-of-type{border-top:0}.searchrow{display:grid;grid-template-columns:1fr auto;gap:8px}.searchrow button{border:1px solid #cfd8dd;background:#fff;border-radius:10px;padding:0 16px}.contacts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:12px}.contact{border:1px solid #dfe5e8;border-radius:10px;padding:10px;display:flex;gap:9px;align-items:center}.contact input{width:auto;margin:0}.contact small{display:block;color:#71808a}.channels{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.channels label{border:1px solid #dfe5e8;border-radius:10px;padding:12px}.channels input{width:auto;margin:0 6px 0 0}.review{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#f6f8f9;border-radius:14px;padding:14px}.review div{display:flex;justify-content:space-between;gap:8px}.review span{color:#697780;font-size:13px}.msg{font-size:13px;margin:10px 0 0}.ok{color:#26734d}.err{color:#a43636}
@media(max-width:780px){.shell{display:block}.sidebar{display:none}.content{padding:20px}.grid2,.channels,.review{grid-template-columns:1fr}header{display:block}.session{display:inline-block;margin-top:10px}}

.availability{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.availability div{border:1px solid #e3e8eb;border-radius:10px;padding:10px;background:#fafbfb;display:flex;justify-content:space-between;gap:8px}.availability span{font-size:12px;color:#687780}.availability strong{font-size:14px}.availability-msg{font-size:12px;margin:8px 0 0}.availability .inactive{opacity:.45}.availability .active{border-color:#aebfc8;background:#f4f7f8}@media(max-width:780px){.availability{grid-template-columns:1fr 1fr}}

/* PASO 09: canales deshabilitados por configuración real del backend */
.channels label.channel-disabled { opacity:.55; cursor:not-allowed; }
.channels label.channel-disabled input { cursor:not-allowed; }
.channel-state { margin-left:.35rem; font-size:.72rem; opacity:.75; }

/* PASO 12: estados de sesión y solicitudes en curso */
.session-actions{display:flex;gap:8px;align-items:center}.secondary{border:1px solid #cfd8dd;border-radius:10px;background:#fff;color:#314651;padding:8px 11px;font-weight:600;cursor:pointer}.secondary:disabled,.primary:disabled,.searchrow button:disabled{opacity:.55;cursor:not-allowed}.is-busy{cursor:progress}.msg.info{color:#586b76}
@media(max-width:780px){.session-actions{margin-top:10px}.session{margin-top:0}}
select{width:100%;border:1px solid #cfd8dd;border-radius:10px;padding:11px 12px;margin-top:6px;font:inherit;background:#fff;color:#1e2a32}.field-help{display:block;margin-top:5px;color:#71808a;font-weight:400}.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.panel-head .secondary{margin-top:0}.campaign-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;align-items:end;margin:16px 0}.campaign-filters input,.campaign-filters select{margin-top:0}.campaign-filters button{border:1px solid #cfd8dd;background:#fff;border-radius:10px;padding:11px 16px}.campaign-list{display:grid;gap:10px;margin-top:14px}.campaign-card{border:1px solid #dfe5e8;border-radius:14px;padding:15px}.campaign-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.campaign-card h3{font-size:16px;margin:0 0 4px}.campaign-meta{display:flex;gap:8px;flex-wrap:wrap;color:#6d7b84;font-size:12px}.badge{display:inline-flex;align-items:center;border-radius:999px;background:#eef2f4;padding:5px 8px;font-size:11px;font-weight:700}.campaign-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}.campaign-stats div{background:#f6f8f9;border-radius:9px;padding:8px}.campaign-stats span{display:block;color:#71808a;font-size:11px}.campaign-stats strong{font-size:14px}.campaign-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.danger{border:1px solid #d8b6b6;background:#fff;color:#8e2f2f;border-radius:9px;padding:8px 11px;font-weight:600;cursor:pointer}.campaign-errors{margin-top:10px;padding-top:10px;border-top:1px solid #edf0f1;font-size:12px;color:#6a4c4c}.campaign-errors ul{margin:6px 0 0;padding-left:18px}@media(max-width:780px){.campaign-filters{grid-template-columns:1fr}.campaign-card-head{display:block}.campaign-stats{grid-template-columns:1fr 1fr}.panel-head{display:block}.panel-head .secondary{margin-top:8px}}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:22px;margin-top:18px}.admin-editor{border-left:1px solid #edf0f1;padding-left:22px}.admin-editor h3,.admin-section h3,.relation-box h3,.import-box h3{margin:0 0 12px;font-size:16px}.admin-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:8px}.admin-filters input,.admin-filters select{margin-top:0}.admin-filters button{border:1px solid #cfd8dd;background:#fff;border-radius:10px;padding:10px 14px}.admin-list{display:grid;gap:8px;margin-top:12px}.admin-list.compact{gap:6px}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dfe5e8;border-radius:11px;padding:11px 12px}.admin-row-main{min-width:0}.admin-row-main strong{display:block;font-size:14px}.admin-row-meta{display:flex;gap:7px;flex-wrap:wrap;color:#71808a;font-size:11px;margin-top:3px}.admin-row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.admin-row-actions button{margin:0}.editor-actions{display:flex;gap:8px;align-items:center;margin-top:8px}.editor-actions .primary{margin-top:0}.check-label{display:flex;gap:8px;align-items:center;margin-top:22px}.check-label input{width:auto;margin:0}.relation-box,.import-box,.admin-section{margin-top:22px;padding-top:18px;border-top:1px solid #edf0f1}.compact-list{display:grid;gap:6px;margin:8px 0 12px}.compact-item{display:flex;justify-content:space-between;gap:8px;align-items:center;background:#f6f8f9;border-radius:9px;padding:8px 10px;font-size:12px}.compact-item button{margin:0}.small{font-size:12px}.field-button{display:flex;align-items:end}.field-button button{width:100%;margin:0 0 1px}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:7px;margin:10px 0}.check-grid label{display:flex;gap:7px;align-items:center;border:1px solid #dfe5e8;border-radius:9px;padding:8px}.check-grid input{width:auto;margin:0}.state-pill{display:inline-flex;border-radius:999px;padding:3px 7px;background:#eef2f4;font-size:10px;font-weight:700}.state-pill.off{opacity:.6}.admin-section:first-of-type{margin-top:12px}.import-box input[type=file]{padding:8px}.import-box .secondary{margin-top:8px}
@media(max-width:980px){.admin-layout{grid-template-columns:1fr}.admin-editor{border-left:0;border-top:1px solid #edf0f1;padding-left:0;padding-top:18px}.admin-filters{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.admin-filters,.grid3{grid-template-columns:1fr}.admin-row{align-items:flex-start;flex-direction:column}.admin-row-actions{justify-content:flex-start}.check-label{margin-top:6px}}

/* ETAPA 6: modo Emergencia SMS */
.emergency-box{border:1px solid #d9b6b6;border-radius:14px;padding:16px;margin:8px 0 18px;background:#fffafa}.emergency-title{display:flex;justify-content:space-between;gap:16px;align-items:center}.emergency-title h2{margin:0 0 3px;color:#842c2c}.emergency-title p{margin:0;color:#765b5b;font-size:12px}.emergency-toggle{display:flex;align-items:center;gap:8px;border:1px solid #d4adad;border-radius:999px;padding:8px 12px;color:#842c2c}.emergency-toggle input{width:auto;margin:0}.emergency-warning{margin-top:12px;padding:12px;border-radius:10px;background:#f8eaea;color:#6f2626;font-size:12px;line-height:1.45}.campaign-card.is-emergency{border-color:#d6a1a1;background:#fffafa}.emergency-badge{display:inline-flex;align-items:center;border-radius:999px;background:#8f3030;color:#fff;padding:5px 8px;font-size:11px;font-weight:800;letter-spacing:.04em}.emergency-metric{color:#7b3333;font-weight:700}@media(max-width:780px){.emergency-title{align-items:flex-start;flex-direction:column}}

/* v1.7.2: actualizador web Superadmin */
.update-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.update-ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.panel-head.compact{align-items:flex-start}.panel-head.compact h4{margin:0}.panel-head.compact p{margin:3px 0 0}.update-status-item{border:1px solid #dfe5e8;border-radius:11px;padding:10px 12px;background:#f8fafb}.update-status-item span{display:block;color:#71808a;font-size:11px}.update-status-item strong{display:block;margin-top:3px;font-size:14px}.update-upload-box,.update-candidate,.update-maintenance,.update-history-box{margin-top:14px;border:1px solid #e0e6e9;border-radius:12px;padding:14px}.update-upload-box input[type=file]{margin-top:7px;padding:8px}.update-upload-box button,.update-candidate button{margin-top:10px}.update-candidate h4,.update-maintenance h4,.update-history-box h4{margin:0 0 10px}.update-maintenance{border-color:#d7abab;background:#fffafa}.update-history-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border-bottom:1px solid #edf0f1;padding:7px 0;font-size:12px}.update-history-row:last-child{border-bottom:0}.update-history-row strong{display:block}.update-history-row span{color:#71808a}.update-candidate .compact-item{align-items:flex-start}.update-candidate label,.update-maintenance label{margin-top:10px}@media(max-width:980px){.update-status-grid{grid-template-columns:1fr 1fr}.update-ops-grid{grid-template-columns:1fr}}@media(max-width:620px){.update-status-grid{grid-template-columns:1fr}}

/* v1.7.3: navegación Superadmin separada por módulos */
.nav-group{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.11)}
.nav-label{display:block;padding:0 14px 7px;font-size:10px;font-weight:800;letter-spacing:.14em;color:rgba(255,255,255,.45)}
.superadmin-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.superadmin-module-card{appearance:none;text-align:left;border:1px solid #dfe5e8;border-radius:14px;background:#fff;padding:18px;cursor:pointer;color:#1e2a32;min-height:132px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.superadmin-module-card:hover{border-color:#afc0c9;box-shadow:0 8px 22px rgba(14,38,53,.07);transform:translateY(-1px)}
.superadmin-module-card .module-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;color:#71808a;margin-bottom:9px}
.superadmin-module-card strong{display:block;font-size:17px;margin-bottom:7px}
.superadmin-module-card small{display:block;color:#667680;line-height:1.45;font-size:12px}
.superadmin-info-note,.module-stage-note{margin-top:16px;padding:12px 14px;border-radius:11px;background:#f6f8f9;color:#5d6e78;font-size:12px;line-height:1.5}
.planned-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.planned-module{border:1px solid #e0e6e9;border-radius:13px;padding:15px;background:#fafbfb}
.planned-module span{display:block;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.11em;color:#7a8991;margin-bottom:7px}
.planned-module strong{display:block;font-size:15px;margin-bottom:5px}
.planned-module small{display:block;font-size:12px;line-height:1.45;color:#6d7b84}
@media(max-width:780px){.superadmin-module-grid,.planned-module-grid{grid-template-columns:1fr}}

/* v1.7.5: módulo Colegios - ficha individual y servicios por establecimiento */
.school-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.school-card{border:1px solid #dfe5e8;border-radius:15px;padding:16px;background:#fff}.school-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.school-card-head strong{display:block;font-size:16px}.school-card-head span:not(.state-pill){display:block;color:#71808a;font-size:11px;margin-top:4px}.school-card-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0}.school-card-stats div{background:#f6f8f9;border-radius:9px;padding:8px}.school-card-stats span{display:block;color:#71808a;font-size:10px}.school-card-stats strong{display:block;font-size:14px;margin-top:2px}.school-service-mini{display:flex;gap:5px;flex-wrap:wrap}.service-mini{border-radius:999px;padding:4px 7px;font-size:10px;font-weight:700;background:#eef2f4;color:#65757e}.service-mini.on{background:#edf7f1;color:#26734d}.service-mini.off{background:#f3f4f4;color:#7b858a}.school-card-actions{display:flex;justify-content:flex-end;margin-top:14px}.school-card-actions button{margin:0}.school-demo-box{margin-top:18px;padding:15px;border:1px dashed #cfd8dd;border-radius:13px;background:#fafbfb}.school-demo-box p{margin:5px 0 10px}.school-demo-box button{margin:0}.empty-school-state{border:1px dashed #cfd8dd;border-radius:13px;padding:24px;text-align:center;color:#71808a}.link-button{border:0;background:transparent;color:#406273;padding:0;margin:0 0 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.school-detail-head{margin-top:18px;padding:16px;border:1px solid #dfe5e8;border-radius:14px;background:#fafbfb}.school-detail-head h3{font-size:20px;margin:8px 0 4px}.school-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.school-stats-grid div{border:1px solid #e0e6e9;border-radius:11px;padding:11px;background:#fff}.school-stats-grid span{display:block;color:#71808a;font-size:10px}.school-stats-grid strong{display:block;font-size:17px;margin-top:3px}.tenant-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.tenant-service-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dfe5e8;border-radius:12px;padding:13px}.tenant-service-card.active{background:#fbfdfc;border-color:#cfe2d7}.tenant-service-card.inactive{background:#fafafa}.tenant-service-card span{display:block;font-size:9px;font-weight:800;letter-spacing:.1em;color:#7a8991}.tenant-service-card strong{display:block;font-size:14px;margin:3px 0}.tenant-service-card small{display:block;color:#71808a;font-size:11px}.tenant-service-card button{margin:0}.danger-zone{margin-top:24px;padding:16px;border:1px solid #e2c5c5;border-radius:13px;background:#fffafa}.danger-zone h3{margin:0 0 4px;color:#7f3030}.danger-zone label{margin-top:12px}.danger-zone button{margin-top:10px}.danger-zone button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:980px){.school-card-grid{grid-template-columns:1fr}.school-stats-grid{grid-template-columns:1fr 1fr}.school-card-stats{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.tenant-service-grid,.school-stats-grid{grid-template-columns:1fr}.school-card-head{flex-direction:column}.school-card-actions{justify-content:flex-start}}

.status-overview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.status-overview>div,.status-box{border:1px solid #dfe5e8;border-radius:12px;background:#f9fbfc;padding:13px}.status-overview span{display:block;font-size:11px;color:#71808a}.status-overview strong{display:block;margin-top:4px}.status-value.ok{color:#176b45}.status-value.warning{color:#8a6415}.status-value.critical{color:#8a2d2d}.status-alerts{display:grid;gap:8px;margin:12px 0}.status-alert{padding:10px 12px;border-radius:10px;font-size:12px;border:1px solid #dfe5e8}.status-alert.ok{background:#f2faf6;color:#176b45;border-color:#cce7d8}.status-alert.warning{background:#fff9ea;color:#795810;border-color:#ead9a7}.status-alert.critical{background:#fff1f1;color:#842c2c;border-color:#e5bcbc}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.status-box h3{margin:0 0 9px;font-size:15px}.status-wide{margin-top:12px}.status-box .compact-item{align-items:flex-start}.status-box .compact-item strong{max-width:65%;text-align:right;overflow-wrap:anywhere}@media(max-width:800px){.status-grid,.status-overview{grid-template-columns:1fr}}
.channel-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}.channel-summary-card,.channel-config-card{border:1px solid var(--line,#dfe5ea);border-radius:14px;background:#fff}.channel-summary-card{padding:14px;display:flex;flex-direction:column;gap:4px}.channel-summary-card span{font-size:12px;color:#65758b;text-transform:uppercase;letter-spacing:.06em}.channel-summary-card strong{font-size:18px}.channel-summary-card small{color:#758397}.channel-config-card{padding:18px;margin:14px 0}.channel-config-card .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.channel-config-card label{display:flex;flex-direction:column;gap:6px}.switch-line{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.ok-text{color:#18794e}@media(max-width:900px){.channel-summary-grid,.channel-config-card .form-grid{grid-template-columns:1fr}}

/* v1.7.9: resumen operativo Superadmin */
.overview-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.overview-metric,.overview-box{border:1px solid #dfe5e8;border-radius:13px;background:#fff}.overview-metric{padding:14px}.overview-metric span{display:block;color:#71808a;font-size:11px}.overview-metric strong{display:block;font-size:22px;margin:4px 0}.overview-metric small{display:block;color:#7b8991;font-size:11px}.overview-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.overview-box{padding:14px}.overview-box h3{margin:0;font-size:15px}@media(max-width:900px){.overview-metrics-grid{grid-template-columns:1fr 1fr}.overview-lower-grid{grid-template-columns:1fr}}@media(max-width:620px){.overview-metrics-grid{grid-template-columns:1fr}}

/* v1.7.12: auditoría Superadmin */
.audit-filters{grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) minmax(120px,.7fr) auto}.audit-list{display:grid;gap:8px;margin-top:12px}.audit-row{border:1px solid #dfe5e8;border-radius:11px;padding:11px 12px;background:#fff}.audit-row-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.audit-row-meta{margin-top:4px;color:#71808a;font-size:11px;overflow-wrap:anywhere}.audit-row details{margin-top:8px}.audit-row summary{cursor:pointer;font-size:11px;color:#52616a}.audit-row pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f8f9;border-radius:8px;padding:8px;font-size:10px;max-height:220px;overflow:auto}@media(max-width:800px){.audit-filters{grid-template-columns:1fr}}

/* v1.7.16 · experiencia del colegio */
.school-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.school-home-card{border:1px solid var(--line,#e5e7eb);border-radius:14px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:6px}.school-home-card span{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.school-home-card strong{font-size:1.35rem}.school-home-card small{color:#64748b;line-height:1.35}.school-shortcuts{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:900px){.school-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.school-home-grid{grid-template-columns:1fr}.school-shortcuts{display:grid;grid-template-columns:1fr}.school-shortcuts button{width:100%}}
.validation-check{align-items:flex-start;gap:18px}.validation-result{display:flex;flex-direction:column;align-items:flex-end;text-align:right;max-width:65%}.validation-result small{margin-top:3px}.warning-text{color:#946200}.err-text{color:#a52626}

/* v1.8.2: personalización visual global y por colegio */
:root{--brand-primary:#173c52;--brand-accent:#213845;--brand-sidebar:#12232e;--brand-bg:#f3f5f6;--brand-surface:#ffffff;--brand-text:#1e2a32;--brand-radius:18px;--brand-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:root{font-family:var(--brand-font);color:var(--brand-text);background:var(--brand-bg)}
body{background:var(--brand-bg);color:var(--brand-text)}.sidebar{background:var(--brand-sidebar)}.nav.active,.steps .on{background:var(--brand-accent)}.primary{background:var(--brand-primary)}.card{background:var(--brand-surface);border-radius:var(--brand-radius)}
body[data-theme="dark"]{--brand-bg:#111820;--brand-surface:#18222b;--brand-text:#edf3f6}body[data-theme="dark"] .muted,body[data-theme="dark"] label{color:#b7c4cb}body[data-theme="dark"] input,body[data-theme="dark"] textarea,body[data-theme="dark"] select,body[data-theme="dark"] .secondary{background:#111820;color:#edf3f6;border-color:#394852}
body[data-sidebar-style="soft"] .sidebar{background:color-mix(in srgb,var(--brand-sidebar) 88%,#fff)}
.mark.has-image,.branding-preview-mark.has-image{background-size:contain;background-position:center;background-repeat:no-repeat;color:transparent}
.branding-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:20px;margin-top:18px}.branding-section h3,.branding-preview-wrap h3{margin:0 0 14px}.branding-files{margin-top:14px}.branding-permissions{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;margin-top:14px}.branding-permissions .check-label{margin-top:8px}.branding-preview-wrap{border-left:1px solid #e3e8eb;padding-left:20px}.branding-preview{--p-primary:#173c52;--p-accent:#213845;--p-sidebar:#12232e;--p-bg:#f3f5f6;--p-surface:#fff;--p-text:#1e2a32;--p-radius:18px;display:grid;grid-template-columns:135px 1fr;min-height:330px;border:1px solid #dfe5e8;border-radius:16px;overflow:hidden;background:var(--p-bg);color:var(--p-text);box-shadow:0 8px 24px rgba(14,38,53,.08)}.branding-preview-sidebar{background:var(--p-sidebar);color:#fff;padding:16px 12px;display:flex;flex-direction:column;gap:6px}.branding-preview-sidebar strong{font-size:13px;margin-top:8px}.branding-preview-sidebar small{font-size:10px;opacity:.68;margin-bottom:15px}.branding-preview-mark{width:38px;height:38px;border-radius:10px;background:#fff;color:var(--p-sidebar);display:grid;place-items:center;font-weight:800}.preview-nav{font-size:10px;padding:7px 8px;border-radius:8px;opacity:.78}.preview-nav.active{background:var(--p-accent);opacity:1}.branding-preview-content{padding:20px}.branding-preview-content>span{font-size:9px;letter-spacing:.12em;color:#788891}.branding-preview-content h4{font-size:19px;margin:4px 0 18px}.preview-card{background:var(--p-surface);border:1px solid #dfe5e8;border-radius:var(--p-radius);padding:16px}.preview-card p{font-size:11px;color:#71808a}.preview-card button{border:0;border-radius:9px;background:var(--p-primary);color:#fff;padding:8px 11px;font-weight:700}.branding-editor input[type=color]{height:44px;padding:4px}.branding-editor input[type=range]{padding:0;border:0}.branding-section[aria-disabled="true"]{opacity:.6;pointer-events:none}
@media(max-width:900px){.branding-layout{grid-template-columns:1fr}.branding-preview-wrap{border-left:0;border-top:1px solid #e3e8eb;padding-left:0;padding-top:18px}.branding-permissions{grid-template-columns:1fr}}@media(max-width:560px){.branding-preview{grid-template-columns:105px 1fr}}

/* v1.8.3 · Selector rápido de destinatarios */
.compact-head{align-items:flex-start}.audience-modes{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.audience-mode{background:var(--surface,#fff);color:var(--text,#1f2937);border:1px solid var(--border,#d7dde5);padding:9px 13px;border-radius:10px}.audience-mode.active{background:var(--primary,#1f5eff);color:#fff;border-color:var(--primary,#1f5eff)}.audience-selector{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:14px;border:1px solid var(--border,#d7dde5);border-radius:12px;background:var(--surface-soft,#f8fafc)}.audience-selector label{min-width:250px;flex:1}.audience-selector p{margin:0;flex:1}.audience-selection-summary{display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px;margin-top:12px}.audience-selection-summary>div{border:1px solid var(--border,#d7dde5);border-radius:10px;padding:10px 12px}.audience-selection-summary span{display:block;font-size:.78rem;color:var(--muted,#64748b)}.audience-selection-summary strong{display:block;margin-top:3px}.audience-selector .contacts{width:100%}@media(max-width:720px){.audience-selection-summary{grid-template-columns:1fr}.audience-selector{display:block}.audience-selector button{margin-top:10px;width:100%}}

/* v1.8.4 editor multicanal */
.channel-editors{display:grid;gap:16px;margin-top:18px}.channel-editor{border:1px solid var(--border,#dfe3e8);border-radius:14px;padding:16px;background:var(--card,#fff)}.channel-editor-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}.channel-editor-head div{display:flex;flex-direction:column;gap:2px}.channel-editor-head small{color:var(--muted,#667085)}.template-vars{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}.template-vars span{font-size:.86rem;color:var(--muted,#667085);font-weight:600}.template-vars .secondary{padding:7px 10px}.sms-meter{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;font-size:.86rem}.sms-meter span{background:var(--soft,#f4f6f8);border-radius:999px;padding:6px 9px}.sms-segment-preview{display:grid;gap:6px;margin-top:10px}.sms-segment-preview div{font-size:.82rem;padding:8px 10px;background:var(--soft,#f4f6f8);border-radius:8px;overflow-wrap:anywhere}.rich-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid var(--border,#dfe3e8);border-bottom:0;border-radius:10px 10px 0 0;background:var(--soft,#f7f8fa)}.rich-toolbar button{padding:6px 9px;border:1px solid var(--border,#dfe3e8);background:#fff;border-radius:7px;cursor:pointer}.rich-editor{min-height:170px;padding:12px;border:1px solid var(--border,#dfe3e8);border-radius:0 0 10px 10px;background:#fff;overflow:auto;line-height:1.5}.rich-editor:focus{outline:2px solid rgba(46,105,255,.16);border-color:#6b8cff}@media(max-width:700px){.channel-editor-head{align-items:flex-start;flex-direction:column}.sms-meter{display:grid;grid-template-columns:1fr 1fr}}


/* v1.8.5 · Enviados e historial multicanal */
.sent-channel-tabs,.recipient-channel-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.sent-channel-tab{border:1px solid var(--line,#dfe5e8);background:#fff;border-radius:999px;padding:8px 13px;cursor:pointer}.sent-channel-tab.active,.recipient-channel-tabs .active{background:var(--brand-primary,#173c52);border-color:var(--brand-primary,#173c52);color:#fff}.campaign-details{margin-top:12px;padding:12px;border:1px solid var(--line,#dfe5e8);border-radius:12px;background:var(--soft,#f8fafb)}.recipient-delivery-list{display:grid;gap:7px}.recipient-delivery-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line,#e1e6e9);border-radius:10px;padding:10px 12px}.recipient-delivery-row>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.recipient-delivery-row small{color:#6b7780;overflow-wrap:anywhere}.recipient-delivery-state{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.delivery-badge{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;background:#eef2f4;color:#44515a}.status-delivered,.status-read{background:#e5f6ec;color:#18794e}.status-accepted,.status-sent{background:#e8f0ff;color:#2457a6}.status-failed{background:#fdeaea;color:#a52626}.status-unknown{background:#fff3d6;color:#8a5b00}.status-processing,.status-queued{background:#edf2f4;color:#52616a}.status-cancelled{background:#f1f1f1;color:#666}.recipient-error{grid-column:1/-1;color:#a52626!important}.recipient-pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:10px;font-size:12px;color:#65737c}@media(max-width:700px){.recipient-delivery-row{grid-template-columns:1fr}.recipient-delivery-state{align-items:flex-start}}

/* v1.8.6 · plantillas y programación */
.message-template-box{border:1px solid var(--border,#d9dee7);border-radius:12px;padding:14px;margin-bottom:14px;background:var(--surface-soft,#f8fafc)}
.template-actions-row{display:grid;grid-template-columns:minmax(220px,1fr) repeat(4,auto);gap:8px;align-items:center}
.schedule-shortcuts{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.schedule-shortcuts button{padding:6px 9px;font-size:.82rem}
@media(max-width:900px){.template-actions-row{grid-template-columns:1fr 1fr}.template-actions-row select{grid-column:1/-1}}
@media(max-width:560px){.template-actions-row{grid-template-columns:1fr}.template-actions-row select{grid-column:auto}.template-actions-row button{width:100%}}

.super-preview-bar{display:flex;gap:16px;align-items:end;justify-content:space-between;padding:14px 16px;margin-bottom:16px;border:1px solid var(--border,#d9dee7);border-radius:14px;background:var(--surface-soft,#f7f9fc)}
.super-preview-bar>div{display:flex;flex-direction:column;gap:3px}.super-preview-bar span{font-size:12px;color:var(--muted,#6b7280)}.super-preview-bar label{min-width:260px;margin:0}.super-preview-bar select{width:100%}
@media(max-width:760px){.super-preview-bar{align-items:stretch;flex-direction:column}.super-preview-bar label{min-width:0}}

/* v1.8.8 — Message-first composer */
.message-workspace-card{padding:18px 20px 24px;overflow:visible}
.message-workspace-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:8px 4px 20px;border-bottom:1px solid var(--line,#e5eaee)}
.message-workspace-head h2{font-size:28px;margin:4px 0 5px;letter-spacing:-.025em}
.workspace-kicker,.rail-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.13em;color:#6f8290}
.workspace-progress{display:flex;gap:6px;align-items:center}.workspace-progress span{font-size:11px;padding:7px 10px;border-radius:999px;background:#f0f3f5;color:#71808a}.workspace-progress .on{background:var(--brand-primary,#173c52);color:#fff}
.message-workspace-grid{display:grid;grid-template-columns:230px minmax(0,1fr) 230px;gap:18px;align-items:start;padding-top:18px}
.audience-rail,.review-rail-sticky{border:1px solid var(--line,#e1e6ea);border-radius:16px;background:#fff;padding:14px}
.rail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.rail-head h3,.review-rail h3,.channel-choice-head h3,.primary-message-head h3{margin:3px 0 0;font-size:17px}
.icon-action{width:30px;height:30px;border-radius:9px;border:1px solid #dbe2e6;background:#fff;font-size:19px;line-height:1;cursor:pointer;color:#64727c}
.audience-modes-vertical{display:grid;gap:6px;margin:14px 0}.audience-modes-vertical .audience-mode{text-align:left;border:1px solid transparent;background:#f6f8f9;border-radius:11px;padding:10px 11px;cursor:pointer;color:#23343e}.audience-modes-vertical .audience-mode span{display:block;font-weight:700;font-size:13px}.audience-modes-vertical .audience-mode small{display:block;font-size:10px;color:#7a8992;margin-top:2px;font-weight:500}.audience-modes-vertical .audience-mode.active{background:#eef4ff;border-color:#cbd9f6;color:#173c52;box-shadow:inset 3px 0 0 var(--brand-primary,#173c52)}
.audience-context{border-top:1px solid #edf0f2;padding-top:12px}.compact-selector{display:grid;gap:8px}.compact-selector p{font-size:11px;line-height:1.45;color:#71808a;margin:0}.compact-selector label{font-size:11px}.compact-selector select{padding:9px 10px;margin-top:4px}.compact-primary{margin:0;padding:9px 10px;font-size:12px}.compact-search{grid-template-columns:1fr}.compact-search input{margin:0}.compact-search button{padding:9px 10px}.compact-contacts{grid-template-columns:1fr;max-height:260px;overflow:auto}.compact-contacts .contact{padding:8px;font-size:12px}
.audience-selection-card{margin-top:12px;padding:11px;border-radius:12px;background:#f6f8f9}.audience-selection-card>div{display:flex;align-items:center;justify-content:space-between}.audience-selection-card span,.audience-selection-card small{font-size:11px;color:#71808a}.audience-selection-card strong{font-size:18px}.audience-selection-card small{display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.message-canvas{min-width:0}.message-meta-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.campaign-name-field{font-size:11px}.campaign-name-field input{font-size:14px;font-weight:650}.composer-options,.template-more{position:relative}.composer-options>summary,.template-more>summary{list-style:none;border:1px solid #d8e0e4;background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer;font-size:12px;font-weight:700}.composer-options>summary::-webkit-details-marker,.template-more>summary::-webkit-details-marker{display:none}.composer-options-popover,.template-more-menu{position:absolute;right:0;z-index:20;top:calc(100% + 6px);width:300px;padding:12px;border:1px solid #dce3e7;background:#fff;border-radius:12px;box-shadow:0 16px 40px rgba(15,35,50,.12)}.composer-options-popover label{font-size:11px;margin-bottom:8px}.composer-options-popover select,.composer-options-popover input{padding:9px}.composer-options-popover .schedule-shortcuts{display:flex;gap:5px;flex-wrap:wrap}.composer-options-popover .schedule-shortcut{padding:7px 8px}
.message-template-inline{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;margin:12px 0}.message-template-inline select{margin:0;padding:9px 10px}.message-template-inline>.secondary{margin:0;padding:9px 12px}.template-more>summary{padding:9px 12px}.template-more-menu{display:grid;gap:7px;width:220px}.template-more-menu button{margin:0;width:100%;text-align:left}
.primary-message-card{border:1px solid #dce3e8;border-radius:17px;background:#fff;box-shadow:0 10px 32px rgba(24,45,60,.055);padding:18px}.primary-message-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}.primary-message-head small{font-size:11px;color:#7a8992}.message-main-input{border:0!important;background:#fbfcfd!important;border-radius:12px!important;min-height:210px;font-size:16px;line-height:1.55;padding:16px!important;box-shadow:inset 0 0 0 1px #e4e9ec}.message-main-input:focus{outline:2px solid rgba(46,105,255,.14);box-shadow:inset 0 0 0 1px #7695ce}
.compact-vars{margin:10px 0 0}.compact-vars span{font-size:11px}.compact-vars .variable-btn{border:1px solid #dbe3e7;background:#fff;border-radius:999px;padding:6px 9px;font-size:11px;cursor:pointer;color:#40515c}
.channel-choice-block{padding:18px 2px 8px}.channel-choice-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}.channel-choice-head small{font-size:11px;color:#7a8992}.channel-pills{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.channel-pills label{display:grid;grid-template-columns:auto 1fr;gap:2px 7px;align-items:center;padding:10px 11px;border-radius:12px;background:#fff;cursor:pointer}.channel-pills label:has(input:checked){border-color:#91a9d1;background:#f3f7ff}.channel-pills label input{grid-row:1/3}.channel-pills label>span{font-size:12px;font-weight:750}.channel-pills label small{font-size:9px;margin:0;color:#78858d}
.availability-msg{font-size:10px;margin:8px 0 0;line-height:1.4}.channel-editor-tabs{display:flex;gap:7px;margin:10px 0}.channel-editor-tab{border:0;border-radius:999px;padding:8px 12px;background:#eef2f4;color:#52616a;font-size:11px;font-weight:750;cursor:pointer}.channel-editor-tab.active{background:var(--brand-primary,#173c52);color:#fff}.channel-editors-focus{margin-top:0}.channel-editors-focus .channel-editor{padding:16px;border-radius:15px;box-shadow:none}.channel-editors-focus .channel-editor-head{margin-bottom:9px}.channel-editors-focus .channel-editor-head .secondary{padding:7px 9px;font-size:11px}
.compact-emergency{margin-top:14px;padding:13px}.compact-emergency .emergency-title h3{margin:0 0 2px;font-size:14px}.compact-emergency .emergency-title p{font-size:10px}
.review-rail-sticky{position:sticky;top:18px}.review-rail h3{margin-bottom:12px}.review-metrics{display:grid;gap:7px}.review-metrics>div,.availability-compact>div{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;border-radius:11px;background:#f6f8f9}.review-metrics span,.availability-compact span{font-size:11px;color:#71808a}.review-metrics strong{font-size:18px}.availability-compact{display:grid;grid-template-columns:1fr;gap:6px;margin:12px 0 0}.availability-compact strong{font-size:12px}.review-action{margin-top:14px}.review-note{display:block;margin-top:8px;text-align:center;font-size:10px;line-height:1.4;color:#7b8992}.super-preview-bar{margin-bottom:14px}
@media(max-width:1180px){.message-workspace-grid{grid-template-columns:200px minmax(0,1fr)}.review-rail{grid-column:1/-1}.review-rail-sticky{position:static;display:grid;grid-template-columns:1fr 2fr auto;gap:12px;align-items:center}.review-rail-sticky>h3,.review-rail-sticky>.rail-kicker,.review-note{display:none}.review-metrics{grid-template-columns:repeat(3,1fr)}.availability-compact{grid-template-columns:repeat(4,1fr);margin:0}.review-action{margin:0;white-space:nowrap}}
@media(max-width:860px){.message-workspace-card{padding:14px}.message-workspace-head{display:block}.workspace-progress{margin-top:12px}.message-workspace-grid{grid-template-columns:1fr}.audience-rail{order:2}.message-canvas{order:1}.review-rail{order:3}.audience-modes-vertical{grid-template-columns:repeat(2,1fr)}.review-rail-sticky{display:block}.review-metrics{grid-template-columns:repeat(3,1fr)}.availability-compact{grid-template-columns:repeat(2,1fr);margin-top:10px}.review-action{width:100%;margin-top:12px}.channel-pills{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.message-workspace-head h2{font-size:23px}.message-meta-row{grid-template-columns:1fr}.composer-options>summary{width:100%}.composer-options-popover,.template-more-menu{position:static;width:100%;margin-top:6px}.message-template-inline{grid-template-columns:1fr auto}.template-more{grid-column:1/-1}.primary-message-head,.channel-choice-head{display:block}.primary-message-head small,.channel-choice-head small{display:block;margin-top:5px}.channel-pills{grid-template-columns:1fr 1fr}.review-metrics{grid-template-columns:1fr}.audience-modes-vertical{grid-template-columns:1fr}}

/* v1.8.9 — Composer layout/overflow fix */
.audience-selector.hidden{display:none!important}
.audience-rail{min-width:0;overflow:hidden;align-self:start}
.audience-context{min-width:0}
.compact-selector{min-width:0}
.compact-selector select,.compact-selector input{min-width:0;max-width:100%}
.compact-primary{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compact-search{min-width:0}
.compact-search input,.compact-search button{min-width:0}
.audience-modes-vertical .audience-mode{width:100%;min-width:0;overflow:hidden}
.audience-modes-vertical .audience-mode span,.audience-modes-vertical .audience-mode small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.audience-context .contacts{max-height:220px;overflow:auto;overscroll-behavior:contain}
.message-workspace-grid>*{min-width:0}
.message-canvas{overflow:visible}
.channel-choice-block{clear:both;min-width:0}
.channel-pills{min-width:0}
.channel-pills label{min-width:0;overflow:hidden}
.channel-pills label>span,.channel-pills label small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.review-rail-sticky{min-width:0}
@media(min-width:1181px){
  .audience-rail{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
}
@media(max-width:1180px){
  .audience-rail{position:static;max-height:none;overflow:visible}
}
@media(max-width:860px){
  .audience-rail{order:2}
  .audience-context .contacts{max-height:280px}
}


/* v1.8.10 — Contained group picker */
.group-picker-label{display:block;font-size:11px;margin-bottom:4px}
.group-picker{position:relative;min-width:0;width:100%}
.group-picker-trigger{width:100%;min-width:0;max-width:100%;text-align:left;padding:10px 34px 10px 11px;border:1px solid #d8e0e4;border-radius:10px;background:#fff;color:#24343e;font:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}
.group-picker-trigger::after{content:'▾';position:absolute;right:11px;top:50%;transform:translateY(-50%);color:#73818a;font-size:12px}
.group-picker-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;max-height:260px;overflow:auto;padding:6px;border:1px solid #dce3e7;border-radius:12px;background:#fff;box-shadow:0 14px 34px rgba(15,35,50,.14)}
.group-picker-menu.hidden{display:none!important}
.group-picker-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-width:0;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:#24343e;text-align:left;cursor:pointer}
.group-picker-option:hover,.group-picker-option:focus{background:#f0f4f7;outline:none}
.group-picker-option span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.group-picker-option small{font-size:10px;color:#73818a;background:#eef2f4;border-radius:999px;padding:2px 6px}


/* v1.8.11 — Destinatarios full-width + mensaje/resumen */
.message-workspace-grid{
  grid-template-columns:minmax(0,1fr) 300px!important;
  grid-template-areas:
    "audience audience"
    "message review";
  gap:18px 20px!important;
}
.audience-rail{
  grid-area:audience;
  position:static!important;
  max-height:none!important;
  overflow:visible!important;
  padding:16px 18px!important;
}
.message-canvas{grid-area:message;min-width:0}
.review-rail{grid-area:review;min-width:0}
.review-rail-sticky{position:sticky;top:18px}

/* Destinatarios: una franja horizontal compacta */
.audience-rail .rail-head{align-items:center}
.audience-modes-vertical{
  display:flex!important;
  flex-wrap:wrap;
  gap:7px!important;
  margin:12px 0!important;
}
.audience-modes-vertical .audience-mode{
  width:auto!important;
  min-width:0;
  padding:8px 12px!important;
  border:1px solid #dfe5e8!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.audience-modes-vertical .audience-mode span{display:block;font-size:12px!important}
.audience-modes-vertical .audience-mode small{display:none!important}
.audience-modes-vertical .audience-mode.active{
  color:#fff!important;
  background:var(--brand-primary,#173c52)!important;
  border-color:var(--brand-primary,#173c52)!important;
}
.audience-context{
  border-top:0!important;
  padding-top:0!important;
  min-width:0;
}
.audience-selector{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:10px;
  padding:12px!important;
  border:1px solid #e3e8eb!important;
  border-radius:13px!important;
  background:#f8fafb!important;
}
.audience-selector.hidden{display:none!important}
.audience-selector label{min-width:0!important}
.audience-selector select,.audience-selector input{width:100%;max-width:100%}
.audience-selector .compact-primary{width:auto!important;min-width:92px}
#audienceSchoolBox{grid-template-columns:minmax(0,1fr) auto}
#audiencePersonBox{display:block}
#audiencePersonBox.hidden{display:none!important}
#audiencePersonBox .compact-search{grid-template-columns:minmax(0,1fr) auto!important}
#audiencePersonBox .compact-contacts{max-height:210px}

/* Group picker remains contained within the full-width recipients strip */
.group-picker{position:relative;min-width:0;width:100%}
.group-picker-trigger{width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.group-picker-menu{
  position:absolute!important;
  left:0!important;
  right:auto!important;
  top:calc(100% + 6px)!important;
  width:min(420px,100%)!important;
  max-width:100%!important;
  max-height:260px!important;
  overflow:auto!important;
  z-index:80!important;
}

.audience-selection-card{
  margin-top:10px!important;
  display:flex;
  align-items:center;
  gap:14px;
  padding:9px 12px!important;
}
.audience-selection-card>div{gap:8px!important;justify-content:flex-start!important}
.audience-selection-card strong{font-size:15px!important}
.audience-selection-card small{margin:0!important;min-width:0;flex:1}

/* Right column: summary + channel activation in one place */
.review-rail-sticky{
  padding:15px!important;
}
.review-rail-sticky .channel-choice-block{
  border-top:1px solid #edf0f2;
  margin-top:14px;
  padding:14px 0 0!important;
}
.review-rail-sticky .channel-choice-head{display:block;margin-bottom:8px}
.review-rail-sticky .channel-choice-head h3{font-size:14px;margin:2px 0 0}
.review-rail-sticky .channel-choice-head small{display:none}
.review-rail-sticky .channel-pills{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
}
.review-rail-sticky .channel-pills label{
  padding:9px 10px!important;
  grid-template-columns:auto 1fr auto!important;
  border-radius:10px!important;
}
.review-rail-sticky .channel-pills label input{grid-row:auto!important}
.review-rail-sticky .channel-pills label small{
  grid-column:3!important;
  max-width:92px;
  text-align:right;
}
.review-rail-sticky .availability-msg{margin-top:7px;font-size:9px}
.review-rail-sticky .availability-compact{margin-top:10px}

/* Reduce visual noise around message */
.message-template-inline{margin:10px 0}
.primary-message-card{padding:16px}
.message-main-input{min-height:250px}

@media(max-width:1180px){
  .message-workspace-grid{
    grid-template-columns:minmax(0,1fr) 270px!important;
    grid-template-areas:"audience audience" "message review"!important;
  }
  .review-rail{grid-column:auto!important}
  .review-rail-sticky{display:block!important;position:sticky!important;top:12px}
  .review-rail-sticky>h3,.review-rail-sticky>.rail-kicker,.review-note{display:block!important}
  .review-metrics{grid-template-columns:1fr!important}
  .availability-compact{grid-template-columns:1fr!important;margin-top:10px!important}
  .review-action{width:100%;margin-top:12px}
}
@media(max-width:860px){
  .message-workspace-grid{
    grid-template-columns:1fr!important;
    grid-template-areas:"audience" "message" "review"!important;
  }
  .review-rail-sticky{position:static!important}
  .audience-modes-vertical{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
  .audience-modes-vertical .audience-mode{flex:0 0 auto}
  .audience-selector{grid-template-columns:1fr}
  .audience-selector .compact-primary{width:100%!important}
  #audienceSchoolBox{grid-template-columns:1fr}
  #audiencePersonBox .compact-search{grid-template-columns:1fr auto!important}
}
@media(max-width:560px){
  #audiencePersonBox .compact-search{grid-template-columns:1fr!important}
  .audience-selection-card{display:block}
  .audience-selection-card small{display:block;margin-top:4px!important}
}


/* v1.8.12 — Mensaje alineado con resumen + email enriquecido */
.message-workspace-grid{align-items:stretch!important}
.message-canvas{display:flex;flex-direction:column;min-height:100%}
.message-canvas>.primary-message-card{flex:1;display:flex;flex-direction:column;min-height:430px}
.message-canvas>.primary-message-card .message-main-input{flex:1;min-height:300px;resize:vertical}
.message-canvas>.channel-editor-tabs:empty,.message-canvas>.channel-editors:empty{display:none}
.review-rail{display:flex;min-height:100%}
.review-rail-sticky{width:100%;height:max-content}

.rich-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:8px;border:1px solid #dfe5e8;border-bottom:0;border-radius:12px 12px 0 0;background:#f7f9fa}
.rich-toolbar button{min-width:38px;margin:0;padding:7px 9px;border:1px solid #d8e0e4;border-radius:8px;background:#fff;color:#24343e;font-size:12px;cursor:pointer}
.rich-toolbar button:hover,.rich-toolbar button:focus{background:#eef3f6;outline:none}
.rich-editor{min-height:280px;padding:16px;border:1px solid #dfe5e8;border-radius:0 0 12px 12px;background:#fff;line-height:1.6;overflow:auto}
.rich-editor:focus{outline:2px solid rgba(46,105,255,.14);border-color:#8aa4d0}
.rich-editor:empty:before{content:'Escribe aquí el contenido del correo…';color:#8a98a2;pointer-events:none}
.channel-editor[data-channel-editor="email"] label{margin-bottom:10px}
.channel-editor[data-channel-editor="email"] input{width:100%}

@media(max-width:860px){
  .message-canvas>.primary-message-card{min-height:360px}
  .message-canvas>.primary-message-card .message-main-input{min-height:260px}
  .rich-editor{min-height:240px}
}

/* v2.0 · módulos por colegio */
.module-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.module-price-input{width:150px;min-width:130px}.tenant-service-card .module-controls .service-toggle-btn{min-width:104px}@media(max-width:760px){.module-controls{width:100%;justify-content:stretch}.module-price-input,.tenant-service-card .module-controls .service-toggle-btn{width:100%}}
