/*--
import url(../../../../../../../template/css/general.css);
--*/


/*--- Toolbar ---*/
.bx-toolbar-anim {
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out
}
.bx-toolbar-reset {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}
.bx-toolbar-up {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}
.bx-toolbar-item.bx-ti-logo a:hover {
    text-decoration: none;
}
.bx-toolbar-item.bx-ti-logo .bx-logo-inline svg {
    max-height: 100%;
    width: auto;
}
.bx-toolbar-item.bx-ti-search .bx-ti-search-button a {
    text-decoration: none;
}
.bx-toolbar-item.bx-ti-search .bx-ti-search-button img {
    width: 1.5rem;
    height: 1.5rem;
}
.bx-toolbar-item.bx-ti-search .bx-tis-button-hidden {
    display: none;
}
.bx-toolbar-item.bx-ti-search .bx-tis-box-shown {
    position: absolute;
    display: block;
}
.bx-toolbar-item.bx-ti-search .bx-form-advanced .bx-loading-ajax {
    top: 0;
    max-height: 100%;
}
.bx-toolbar-item.bx-ti-search .bx-form-advanced-wrapper .bx-form-section-wrapper:first-child {
    margin-top: 0;
}
.bx-toolbar-item.bx-ti-search .sys-search-results-quick {
    position: absolute;
    z-index: 10;
}
.bx-toolbar-item.bx-ti-search .sys-search-results-quick .bx-btn.sys-agents-ask {
    margin-bottom: 0.5rem;
}
.bx-toolbar-item.bx-ti-search .sys-search-results-quick .bx-btn.sys-agents-ask:last-child {
    margin-bottom: 0;
}

/*--- Agents: Assistants ---*/
#bx_agents_assistants_ask .bx-popup.bx-popup-width {
    width: 42rem;
}
.bx-agents-popup .cmts {
    max-height: calc(0.5 * 100vh);
    overflow-y: auto;
}
.bx-agents-popup .cmt-reply {
    margin-bottom: 0;
}
.cmt.cmt-agents .cmt-body .cmt-agents-loading .bx-loading-ajax {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 2.0rem;
    height: 2.0rem;
    left: 0 !important;
    top: 0 !important;
    margin-left: 0.5rem;
}
.cmt-body.cmt-body-agents .bx-form-value .bx-form-input-files-uploaders .bx-btn {
    margin: 0 0.5rem 0 0;
}
.cmt-body.cmt-body-agents .bx-form-value .bx-form-input-textarea {
    height: 2.5rem;
    line-height: 1.25rem;
}



/*--- Page Content with Cover ---*/
#bx-content-with-cover-wrapper {
    opacity: 1;
    transition: opacity 400ms ease-out;
}
#bx-content-with-cover-wrapper.htmx-added {
    opacity: 0;
}


/*--- Page Submenu ---*/
.bx-menu-main-bar-cnt {
    height: 3.25rem;
}

.bx-menu-main-bar:not(.bx-menu-more-auto) .bx-menu-main-bar-cnt > div {
    overflow-x: auto;
}

.bx-menu-main-bar-gap.bx-menu-main-bar-hidden,
.bx-menu-main-bar-wrapper.bx-menu-main-bar-hidden,
.bx-menu-main-bar.bx-menu-main-bar-hidden {
    display: none;
}


/*--- Page Content ---*/
#bx-content-wrapper.htmx-added {
    opacity: 0;
}

#bx-content-wrapper.ltr.htmx-swapping:not(.htmx-added) {
    opacity: 0;
    transition: opacity 400ms ease-out;
    animation: slide-to-right 400ms cubic-bezier(0.37, 0.82, 0.2, 1);
}
#bx-content-wrapper.ltr.htmx-settling {
    opacity: 1;
    animation: slide-from-left 400ms cubic-bezier(0.37, 0.82, 0.2, 1);
}

#bx-content-wrapper.rtl.htmx-swapping:not(.htmx-added) {
    opacity: 0;
    transition: opacity 400ms ease-out;
    animation: slide-to-left 400ms cubic-bezier(0.37, 0.82, 0.2, 1);
}
#bx-content-wrapper.rtl.htmx-settling {
    opacity: 1;
    animation: slide-from-right 400ms cubic-bezier(0.37, 0.82, 0.2, 1);
}

@keyframes slide-from-right {
    from { transform: translateX(100%); }
}
@keyframes slide-to-right {
    to { transform: translateX(100%); }
}
@keyframes slide-from-left {
    from { transform: translateX(-100%); }
}
@keyframes slide-to-left {
    to { transform: translateX(-100%); }
}


/*--- Profile Avatar ---*/
.bx-db-content.bx-content-padding-block .bx-profile-avatar-cnt {
    margin-left: -0.25rem;
    margin-right: -0.25rem;
}
#bx-profile-switcher .bx-pas-list .bx-def-hr:first-child {
    display: none;
}

/*--- Profile Stats ---*/
.bx-menu-vertical-more-less li.bx-psmi-show-more,
.bx-menu-vertical-more-less li.bx-psmi-show-less {
    text-transform: uppercase;
    font-size: 0.875rem;
}

.bx-menu-vertical-more-less li.bx-psmi-show-more:hover,
.bx-menu-vertical-more-less li.bx-psmi-show-less:hover {
    background-color: transparent;
}

/*--- Author Info ---*/
.sys-author-profile .bx-menu-custom.bx-menu-custom-hor > li:first-child .bx-base-general-unit-meta-div {
    display: none;
}

/*--- Join/Login Forms ---*/
.sys-jf .bx-form-advanced .bx-form-element .bx-form-input-submit.bx-btn,
.sys-lf .bx-form-advanced .bx-form-element .bx-form-input-submit.bx-btn {
    width: 100%;
    -webkit-justify-content: center;
    justify-content: center;
    text-align: center;
}
#bx-form-element-submit_text .bx-form-value {
    text-align: right;
}

/*--- Page Type: Application ---*/
.bx-menu-panel-item .bx-profile-avatar .bx-profile-avatar-cnt {
    min-height: 2.5rem;
}

/*--- Create Post Form ---*/
.sys-cpf-form:not(.sys-cpf-loading) {
    -webkit-animation: sys-cpf-scale-in 0.4s cubic-bezier(0.37, 0.82, 0.2, 1);
    animation: sys-cpf-scale-in 0.4s cubic-bezier(0.37, 0.82, 0.2, 1);
}

@keyframes sys-cpf-scale-in {
    0% {
        opacity: 0;
        transform: scale(0.9);
    }
    100% {
        opacity: 1;
        transform: scale(1.0);
    }
}

@-webkit-keyframes sys-cpf-scale-in {
    0% {
        opacity: 0;
        transform: scale(0.9);
    }
    100% {
        opacity: 1;
        transform: scale(1.0);
    }
}

/* --------------- System objects like Views, Votes, Comments, etc, */
.sys-action-counter.sys-ac-hidden {
    display: none;
}
.sys-action-counter.sys-action-counter-iconset .sys-ac-link {
    padding-left: 0.75rem;
}
.bx-dir-rtl .sys-action-counter.sys-action-counter-iconset .sys-ac-link {
    padding-left: 0;
    padding-right: 0.75rem;
}
.bx-media-phone .sys-action-counter.sys-action-counter-iconset .sys-ac-link,
.bx-media-tablet .bx-layout-column-thin .sys-action-counter.sys-action-counter-iconset .sys-ac-link,
.bx-media-tablet .bx-layout-column-half .sys-action-counter.sys-action-counter-iconset .sys-ac-link {
    padding-left: 1.0rem;
}
.bx-media-phone .bx-dir-rtl .sys-action-counter.sys-action-counter-iconset .sys-ac-link,
.bx-media-tablet .bx-dir-rtl .bx-layout-column-thin .sys-action-counter.sys-action-counter-iconset .sys-ac-link,
.bx-media-tablet .bx-dir-rtl .bx-layout-column-half .sys-action-counter.sys-action-counter-iconset .sys-ac-link {
    padding-left: 0;
    padding-right: 1.0rem;
}
.sys-action-counter.sys-action-counter-iconset .bx-def-icon-size {
    width: 1.5rem;
    height: 1.5rem;
}
.sys-action-counter.sys-action-counter-iconset .bx-base-pofile-unit-wo-info,
.sys-action-counter.sys-action-counter-iconset .sys-action-counter-icon {
    margin-left: -0.5rem;
}
.bx-dir-rtl .sys-action-counter.sys-action-counter-iconset .bx-base-pofile-unit-wo-info,
.bx-dir-rtl .sys-action-counter.sys-action-counter-iconset .sys-action-counter-icon {
    margin-left: 0;
    margin-right: -0.5rem;
}
.bx-media-phone .sys-action-counter.sys-action-counter-iconset .bx-base-pofile-unit-wo-info,
.bx-media-phone .sys-action-counter.sys-action-counter-iconset .sys-action-counter-icon,
.bx-media-tablet .bx-layout-column-thin .sys-action-counter.sys-action-counter-iconset .bx-base-pofile-unit-wo-info,
.bx-media-tablet .bx-layout-column-thin .sys-action-counter.sys-action-counter-iconset .sys-action-counter-icon,
.bx-media-tablet .bx-layout-column-half .sys-action-counter.sys-action-counter-iconset .bx-base-pofile-unit-wo-info,
.bx-media-tablet .bx-layout-column-half .sys-action-counter.sys-action-counter-iconset .sys-action-counter-icon {
    margin-left: -0.75rem;
}
.bx-media-phone .bx-dir-rtl .sys-action-counter.sys-action-counter-iconset .bx-base-pofile-unit-wo-info,
.bx-media-phone .bx-dir-rtl .sys-action-counter.sys-action-counter-iconset .sys-action-counter-icon,
.bx-media-tablet .bx-dir-rtl .bx-layout-column-thin .sys-action-counter.sys-action-counter-iconset .bx-base-pofile-unit-wo-info,
.bx-media-tablet .bx-dir-rtl .bx-layout-column-thin .sys-action-counter.sys-action-counter-iconset .sys-action-counter-icon,
.bx-media-tablet .bx-dir-rtl .bx-layout-column-half .sys-action-counter.sys-action-counter-iconset .bx-base-pofile-unit-wo-info,
.bx-media-tablet .bx-dir-rtl .bx-layout-column-half .sys-action-counter.sys-action-counter-iconset .sys-action-counter-icon {
    margin-left: 0;
    margin-right: -0.75rem;
}

/*--- === SOCRACI DARK-MODE FIXES === ---
Los módulos socraci (campaigns, academia, hub, causas) emiten estilos INLINE con
fondos claros y textos gris oscuro que no reaccionan al esquema oscuro del tema
(html.dark). Estas reglas por selector de atributo los adaptan SOLO en dark.
Orden importante: los fondos tintados (ámbar/verde/rojo, p.ej. #fff8e1) contienen
la subcadena "background:#fff", por eso van DESPUÉS de la regla de blancos. ---*/

/* Bloques/tarjetas forzados a blanco */
html.dark [style*="background:#fff"],
html.dark [style*="background: #fff"],
html.dark [style*="background:#ffffff"],
html.dark [style*="background: #ffffff"],
html.dark [style*="background:white"],
html.dark [style*="background: white"] {
    background-color: #1f2937 !important;
}

/* Fondos gris/azul claro (paneles, filas, zebra) */
html.dark [style*="background:#eee"],
html.dark [style*="background: #eee"],
html.dark [style*="background:#f8f9fa"],
html.dark [style*="background: #f8f9fa"],
html.dark [style*="background:#f9f9f9"],
html.dark [style*="background:#fdfbff"],
html.dark [style*="background:#f6f7f9"],
html.dark [style*="background: #f5f7fb"],
html.dark [style*="background:#f7f9fc"],
html.dark [style*="background: #f0f4ff"],
html.dark [style*="background:#eef3f7"],
html.dark [style*="background:#eef1f6"],
html.dark [style*="background:#eef1f5"],
html.dark [style*="background:#eceff3"],
html.dark [style*="background:#eaf1ff"],
html.dark [style*="background: #dde8ff"],
html.dark [style*="background:#f4ecfa"] {
    background-color: #111827 !important;
}

/* Avisos ámbar claros (van tras la regla de blancos: comparten prefijo #fff) */
html.dark [style*="background:#fff8e1"],
html.dark [style*="background:#fffef5"],
html.dark [style*="background:#fff6e0"],
html.dark [style*="background:#fff4e5"] {
    background-color: #33290f !important;
    border-color: #6b5b23 !important;
}

/* Éxito verde claro */
html.dark [style*="background:#e8f5e9"],
html.dark [style*="background: #eaf7ee"],
html.dark [style*="background:#e7f7ec"] {
    background-color: #0d2818 !important;
    border-color: #1e5e34 !important;
}

/* Error/alerta rojo claro */
html.dark [style*="background:#fdecea"],
html.dark [style*="background: #fdecea"],
html.dark [style*="background:#fdeceb"] {
    background-color: #331416 !important;
    border-color: #7a2e33 !important;
}

/* Textos gris oscuro inline: aclararlos sobre fondo oscuro */
html.dark [style*="color:#1a1a1a"],
html.dark [style*="color: #1a1a1a"],
html.dark [style*="color:#222"],
html.dark [style*="color: #222"],
html.dark [style*="color:#2c3e50"],
html.dark [style*="color:#333"],
html.dark [style*="color: #333"],
html.dark [style*="color:#374151"],
html.dark [style*="color:#444"],
html.dark [style*="color: #444"] {
    color: #d1d5db !important;
}
html.dark [style*="color:#555"],
html.dark [style*="color: #555"],
html.dark [style*="color:#666"],
html.dark [style*="color: #666"],
html.dark [style*="color:#777"],
html.dark [style*="color: #777"] {
    color: #9ca3af !important;
}

/* Bordes claros inline dentro de bloques oscurecidos */
html.dark [style*="border:1px solid #eee"],
html.dark [style*="border: 1px solid #eee"],
html.dark [style*="border:1px solid #ddd"],
html.dark [style*="border: 1px solid #ddd"] {
    border-color: #374151 !important;
}

/*--- === SOCRACI DARK-MODE FIXES: reglas de CLASE (módulos) === ---
Lo de arriba cubre estilos INLINE (style=""). Estas reglas cubren las clases
CSS que los módulos definen en sus propios <style> embebidos (uno por módulo).
Cada regla usa "html.dark .clase-del-modulo": dos clases combinadas ganan por
especificidad sobre la regla original de una sola clase, así que NO hace
falta !important. Solo se toca background-color / color / border-color (no
se reescribe la regla completa). Los botones sólidos de marca (morado
#6c3483/#8e44ad, WhatsApp #25D366, Facebook #1877F2, azul #3498db) y los
héroes con gradiente de marca quedan SIN CAMBIOS: ya funcionan en oscuro.
Paleta: fondo tarjeta blanco→#1f2937, panel gris/azul claro→#111827,
placeholder img/avatar #eee→#374151, borde claro→#374151, texto oscuro→#e5e7eb,
texto medio→#9ca3af, morado marca→#c39bdd, badge morado claro→#3b2a4a,
azul-enlace→#6ea8fe, éxito bg→#0d2818/borde #1e5e34/texto #7ee2a8,
error bg→#331416/borde #7a2e33/texto #f1aeb5, aviso bg→#33290f/borde
#6b5b23/texto #e0c479. Border morado claro (#d5c6e6/#c9b6df, sin mapeo
explícito en el pedido) → #5b4066 por consistencia con los demás bordes con
tinte de color. Estados hover de botón gris/blanco claro → #283548 (un
tono más claro que el panel, para distinguir el hover del estado base). --- */

/* ===== campaigns/classes/ScCampaignsTemplate.php — .sr-camp-* (directorio de campañas) ===== */
html.dark .sr-camp-card {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sr-camp-img {
    background-color: #374151;
}
html.dark .sr-camp-title {
    color: #e5e7eb;
}
html.dark .sr-camp-author {
    color: #9ca3af;
}
html.dark .sr-camp-desc {
    color: #9ca3af;
}
html.dark .sr-camp-btn {
    background-color: #111827;
    color: #e5e7eb;
}
html.dark .sr-camp-btn:hover {
    background-color: #283548;
    color: #e5e7eb;
}
html.dark .sr-search-input {
    border-color: #374151;
}
html.dark .sr-page-link {
    border-color: #374151;
    color: #9ca3af;
}

/* ===== campaigns/classes/ScCampaignsTemplate.php — .sr-msg-* (invitar contactos) ===== */
html.dark .sr-msg-card {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sr-msg-card-name {
    color: #e5e7eb;
}

/* ===== campaigns/classes/ScCampaignsTemplate.php — .sc-pn-* (red personal) ===== */
html.dark .sc-pn-stat {
    background-color: #3b2a4a;
    border-color: #5b4066;
}
html.dark .sc-pn-stat b {
    color: #c39bdd;
}
html.dark .sc-pn-sec {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sc-pn-invite-row input.sc-pn-link {
    border-color: #374151;
}
html.dark .sc-pn-camp {
    border-color: #374151;
}
html.dark .sc-pn-tree {
    border-color: #374151;
}

/* ===== campaigns/classes/ScCampaignsTemplate.php — .sc-ib-* (invitar por candidatura) ===== */
html.dark .sc-ib p {
    color: #9ca3af;
}
html.dark .sc-ib .sc-ib-link {
    border-color: #374151;
}
html.dark .sc-ib-stat {
    color: #e5e7eb;
}
html.dark .sc-ib-stat b {
    color: #c39bdd;
}

/* ===== campaigns/classes/ScCampaignsTemplate.php — .sc-sp-* (apoyar a la persona) ===== */
html.dark .sc-sp-aspira {
    color: #e5e7eb;
}
html.dark .sc-sp-aspira b {
    color: #c39bdd;
}
html.dark .sc-sp-hint {
    color: #9ca3af;
}
html.dark .sc-sp-warn {
    background-color: #33290f;
    border-color: #6b5b23;
    color: #e0c479;
}

/* ===== campaigns/classes/ScCampaignsTemplate.php — .sc-h-* (historial) ===== */
html.dark .sc-h-card {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sc-h-title {
    color: #e5e7eb;
}
html.dark .sc-h-row {
    border-color: #374151;
}
html.dark .sc-h-main {
    color: #e5e7eb;
}
html.dark .sc-h-sub {
    color: #9ca3af;
}

/* ===== campaigns/classes/ScCampaignsTemplate.php — .sc-cv-* / .src-sup-* (candidatura vista pública / supporters) ===== */
html.dark .sc-cv-sup-pager a {
    border-color: #374151;
    color: #9ca3af;
}
html.dark .src-sup-card {
    background-color: #1f2937;
}
html.dark .src-sup-avatar {
    border-color: #1f2937;
}
html.dark .src-sup-name {
    color: #e5e7eb;
}
html.dark .src-sup-pager a {
    border-color: #374151;
}

/* ===== campaigns/classes/ScCampaignsTemplate.php — .sc-ez-* (equipo/red) ===== */
html.dark .sc-ez h2 {
    color: #e5e7eb;
}
html.dark .sc-ez-card {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sc-ez-name,
html.dark .sc-ez-name a {
    color: #e5e7eb;
}
html.dark .sc-ez-empty {
    background-color: #1f2937;
    border-color: #374151;
}

/* ===== campaigns/classes/ScCampaignsTemplate.php — .sc-cockpit-* (cockpit interno) ===== */
html.dark .sc-cockpit-section {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sc-cockpit-bar-label {
    color: #e5e7eb;
}
html.dark .sc-cockpit-bar-val {
    color: #9ca3af;
}
html.dark .sc-cockpit-bar-track {
    background-color: #374151;
}

/* ===== campaigns/classes/ScCampaignsTemplate.php — .sc-ic-* (pipeline interno) ===== */
html.dark .sc-ic-title {
    color: #e5e7eb;
}
html.dark .sc-ic-scope-link {
    border-color: #374151;
    color: #9ca3af;
}
html.dark .sc-ic-scope-link:hover {
    background-color: #111827;
}
html.dark .sc-ic-chip {
    background-color: #111827;
    color: #9ca3af;
}
html.dark .sc-ic-chip span {
    background-color: #1f2937;
}
html.dark .sc-ic-table {
    background-color: #1f2937;
}
html.dark .sc-ic-table th {
    background-color: #111827;
    border-color: #374151;
    color: #9ca3af;
}
html.dark .sc-ic-table td {
    border-color: #374151;
}
html.dark .sc-ic-stage-form select {
    border-color: #374151;
}
html.dark .sc-ic-roles-section {
    border-color: #374151;
}
html.dark .sc-ic-roles-title {
    color: #e5e7eb;
}
html.dark .sc-ic-assign-form {
    background-color: #111827;
    border-color: #374151;
}
html.dark .sc-ic-assign-form label {
    color: #9ca3af;
}
html.dark .sc-ic-assign-form input,
html.dark .sc-ic-assign-form select {
    border-color: #374151;
}

/* ===== campaigns/classes/ScCampaignsTemplate.php — .sc-bg-* (biografía/plan de gobierno) ===== */
html.dark .sc-bg-title,
html.dark .sc-bg-label {
    color: #e5e7eb;
}
html.dark .sc-bg-intro {
    color: #9ca3af;
}
html.dark .sc-bg-input {
    border-color: #374151;
    background-color: #1f2937;
    color: #e5e7eb;
}
html.dark .sc-bg-err {
    background-color: #331416;
    border-color: #7a2e33;
    color: #f1aeb5;
}

/* ===== campaigns/classes/ScCampaignsTemplate.php — .sc-mv-* (Movimientos: home, wizard, cockpit) =====
   Nota: el bloque de tematización por marca (líneas ~4529-4553, selectores
   "{$sSel} .sc-mv-*") usa variables PHP interpoladas, no hex fijos — no aplica
   aquí (no hay nada que oscurecer, el color lo define la marca del movimiento). */
html.dark .sc-mv-card {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sc-mv-title {
    color: #e5e7eb;
}
html.dark .sc-mv-sub {
    color: #9ca3af;
}
html.dark .sc-mv-btn-sec {
    border-color: #5b4066;
    color: #c39bdd;
    background-color: #1f2937;
}
html.dark .sc-mv-btn-sec:hover {
    color: #c39bdd;
    background-color: #3b2a4a;
}
html.dark .sc-mv-input,
html.dark .sc-mv-seats,
html.dark .sc-mv-textarea {
    border-color: #374151;
}
html.dark .sc-mv-label {
    color: #e5e7eb;
}
html.dark .sc-mv-progress span {
    background-color: #374151;
}
html.dark .sc-mv-err {
    background-color: #331416;
    border-color: #7a2e33;
    color: #f1aeb5;
}
html.dark .sc-mv-radio {
    border-color: #374151;
}
html.dark .sc-mv-radio b {
    color: #e5e7eb;
}
html.dark .sc-mv-radio small {
    color: #9ca3af;
}
html.dark .sc-mv-cargo {
    border-color: #374151;
}
html.dark .sc-mv-cargo-head {
    color: #e5e7eb;
}
html.dark .sc-mv-badge {
    background-color: #3b2a4a;
    color: #c39bdd;
}
html.dark .sc-mv-row,
html.dark .sc-mv-prop-row {
    border-color: #374151;
}
html.dark .sc-mv-aspirant {
    color: #e5e7eb;
}
html.dark .sc-mv-badge-demo {
    background-color: #33290f;
    color: #e0c479;
    border-color: #6b5b23;
}
html.dark .sc-mv-badge-st {
    background-color: #0d2818;
    color: #7ee2a8;
}
html.dark .sc-mv-head-thumb {
    background-color: #374151;
}
html.dark .sc-mv-slot-head {
    color: #e5e7eb;
}
html.dark .sc-mv-asp-card {
    border-color: #374151;
    background-color: #1f2937;
}
html.dark .sc-mv-asp-pic,
html.dark .sc-mv-prop-pic,
html.dark img.sc-mv-agenda-img,
html.dark img.sc-mv-disc-cover {
    background-color: #374151;
}
html.dark .sc-mv-asp-pic-ph,
html.dark .sc-mv-prop-pic-ph {
    background-color: #3b2a4a;
    color: #c39bdd;
}
html.dark .sc-mv-asp-name,
html.dark .sc-mv-asp-name a {
    color: #e5e7eb;
}
html.dark .sc-mv-asp-camp {
    color: #9ca3af;
}
html.dark .sc-mv-asp-camp a,
html.dark .sc-mv-agenda-more,
html.dark .sc-mv-aspire-link,
html.dark .sc-mv-aspire-link:hover,
html.dark .sc-mv-activity-more > summary,
html.dark .sc-mv-asp-votes-pct,
html.dark .sc-mv-loser-title {
    color: #c39bdd;
}
html.dark .sc-mv-agenda-item {
    border-color: #374151;
    background-color: #1f2937;
}
html.dark .sc-mv-agenda-topic {
    color: #e5e7eb;
}
html.dark a.sc-mv-agenda-clickable:hover {
    border-color: #5b4066;
}
html.dark .sc-mv-prop-name,
html.dark .sc-mv-prop-name a {
    color: #e5e7eb;
}
html.dark .sc-mv-prop-body {
    color: #e5e7eb;
}
html.dark .sc-mv-disc-card {
    border-color: #374151;
    background-color: #1f2937;
}
html.dark .sc-mv-vacant {
    border-color: #5b4066;
    background-color: #1f2937;
}
html.dark .sc-mv-loser {
    border-color: #5b4066;
    background-color: #1f2937;
}
html.dark .sc-mv-notice-ok {
    background-color: #0d2818;
    border-color: #1e5e34;
    color: #7ee2a8;
}
html.dark .sc-mv-withdraw-btn {
    color: #f1aeb5;
}
html.dark .sc-mv-asp-votes-n,
html.dark .sc-mv-asp-count {
    color: #e5e7eb;
}
html.dark .sc-mv-asp-bar {
    background-color: #3b2a4a;
}
html.dark .sc-mv-designated {
    border-color: #1e5e34;
    background-color: #0d2818;
}
html.dark .sc-mv-designated .sc-mv-asp-card {
    border-color: #1e5e34;
}
html.dark .sc-mv-designate {
    border-color: #6b5b23;
    background-color: #33290f;
}
html.dark .sc-mv-designate-title {
    color: #e0c479;
}
html.dark .sc-mv-designate-row {
    border-color: #6b5b23;
}
html.dark .sc-mv-designate-name {
    color: #e5e7eb;
}
html.dark .sc-mv-loser-text {
    color: #9ca3af;
}
html.dark .sc-mv-ranking-pos {
    color: #c39bdd;
    background-color: #3b2a4a;
}
html.dark .sc-mv-idx-title,
html.dark .sc-mv-idx-section-title {
    color: #e5e7eb;
}

/* ===== campaigns/classes/ScCampaignsTemplate.php — .sc-tp-* (tablero país / territorio) ===== */
html.dark .sc-tp-title,
html.dark .sc-tp-card-num,
html.dark .sc-tp-table a.sc-tp-terr,
html.dark .sc-tp-pct,
html.dark .sc-tp-person-name {
    color: #e5e7eb;
}
html.dark .sc-tp-tabs,
html.dark .sc-tp-bar,
html.dark .sc-tp-mapbox,
html.dark .sc-tp-map,
html.dark .sc-tp-mapbox .leaflet-container,
html.dark .sc-tp-board-badge,
html.dark .sc-tp-person-pic-ph {
    background-color: #111827;
}
html.dark .sc-tp-tab.active {
    background-color: #1f2937;
    color: #e5e7eb;
}
html.dark .sc-tp-tab:not(.active):hover,
html.dark .sc-tp-vline {
    color: #e5e7eb;
}
html.dark .sc-tp-board-badge,
html.dark .sc-tp-crumb a,
html.dark .sc-tp-table tr.sc-tp-row:hover a.sc-tp-terr,
html.dark .sc-tp-person-pic-ph {
    color: #6ea8fe;
}
html.dark .sc-tp-card {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sc-tp-card-lbl {
    color: #9ca3af;
}
html.dark .sc-tp-chip {
    color: #e5e7eb;
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sc-tp-mapbox {
    border-color: #374151;
}
html.dark .sc-tp-maplegend {
    color: #9ca3af;
}
html.dark .sc-tp-table th {
    border-color: #374151;
}
html.dark .sc-tp-table td,
html.dark .sc-tp-person {
    border-color: #374151;
}
html.dark .sc-tp-table tr.sc-tp-row:hover {
    background-color: #111827;
}
html.dark .sc-tp-rank-col.top h4 {
    color: #7ee2a8;
}
html.dark .sc-tp-rank-col.bottom h4 {
    color: #f1aeb5;
}
html.dark .sc-tp-person-pic {
    background-color: #374151;
}
html.dark .sc-tp-person-block,
html.dark .sc-tp-commit {
    border-color: #374151;
}

/* ===== campaigns/classes/ScCampaignsTemplate.php — .sc-com-* (comunicados) ===== */
html.dark .sc-com-header .sc-com-cargo {
    color: #9ca3af;
}
html.dark .sc-com-notice-ok {
    background-color: #0d2818;
    color: #7ee2a8;
}
html.dark .sc-com-notice-err {
    background-color: #331416;
    color: #f1aeb5;
}
html.dark .sc-com-field input[type=text],
html.dark .sc-com-field textarea {
    border-color: #374151;
}
html.dark .sc-com-scope-fixed,
html.dark .sc-com-idea-btn {
    color: #e5e7eb;
}
html.dark .sc-com-help {
    background-color: #111827;
    border-color: #374151;
}
html.dark .sc-com-help-cadence {
    color: #9ca3af;
}
html.dark .sc-com-idea-btn {
    border-color: #374151;
    background-color: #1f2937;
}
html.dark .sc-com-idea-btn:hover {
    background-color: #111827;
}
html.dark .sc-com-recent {
    border-color: #374151;
}
html.dark .sc-com-recent-row {
    border-color: #374151;
}
html.dark .sc-com-recent-meta,
html.dark .sc-com-recent-empty {
    color: #9ca3af;
}

/* ===== causes/classes/ScCausesTemplate.php — .sr-causes-* (Cambio.org-style + problemas municipio) ===== */
html.dark .sr-causes-btn {
    background-color: #111827;
    color: #e5e7eb;
}
html.dark .sr-causes-btn:hover {
    background-color: #283548;
    color: #e5e7eb;
}
html.dark .sr-causes-search,
html.dark .sr-causes-select,
html.dark .sr-causes-input {
    border-color: #374151;
}
html.dark .sr-causes-banner,
html.dark .sr-causes-hero2 {
    background-color: #111827;
}
html.dark .sr-causes-chip {
    background-color: #111827;
    color: #6ea8fe;
}
html.dark .sr-causes-section-h,
html.dark .sr-causes-card-title,
html.dark .sr-causes-count-num,
html.dark .sr-causes-summary,
html.dark .sr-causes-body,
html.dark .sr-causes-related-t,
html.dark .sr-causes-reg-h,
html.dark .sr-causes-thanks-share,
html.dark .sr-causes-check,
html.dark .sr-causes-feat-title,
html.dark .sr-causes-stat-num,
html.dark .sr-causes-prow-title,
html.dark .sr-causes-sb-h,
html.dark .sr-causes-sb-t,
html.dark .sr-causes-update-t,
html.dark .sr-causes-ficha-row b,
html.dark .sr-causes-label {
    color: #e5e7eb;
}
html.dark .sr-causes-created,
html.dark .sr-causes-supporters,
html.dark .sr-causes-chart-bars {
    border-color: #374151;
}
html.dark .sr-causes-breadcrumb a,
html.dark .sr-causes-opinions-link,
html.dark .sr-causes-card-title:hover,
html.dark .sr-causes-scope,
html.dark .sr-causes-sharer b,
html.dark .sr-causes-hbar b,
html.dark .sr-causes-adm-c-cause a,
html.dark .sr-causes-adm-link,
html.dark .sr-causes-dash-link,
html.dark .sr-causes-dash-bc a,
html.dark .sr-causes-dash-tab b,
html.dark .sr-causes-prow-sig b,
html.dark .sr-causes-sb-sig,
html.dark .sr-causes-feat-title:hover {
    color: #6ea8fe;
}
html.dark .sr-causes-voice {
    background-color: #111827;
    border-color: #374151;
}
html.dark .sr-causes-voice-b {
    color: #e5e7eb;
}
html.dark .sr-causes-voice-a {
    color: #9ca3af;
}
html.dark .sr-causes-card {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sr-causes-card-author {
    color: #9ca3af;
}
html.dark .sr-causes-card-summary {
    color: #9ca3af;
}
html.dark .sr-causes-card-meta {
    color: #e5e7eb;
}
html.dark .sr-causes-bar {
    background-color: #111827;
}
html.dark .sr-causes-page {
    border-color: #374151;
    color: #e5e7eb;
}
html.dark .sr-causes-byline {
    color: #9ca3af;
}
html.dark .sr-causes-scope {
    background-color: #111827;
}
html.dark .sr-causes-sign-card {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sr-causes-goal {
    color: #9ca3af;
}
html.dark .sr-causes-signed {
    background-color: #0d2818;
    color: #7ee2a8;
}
html.dark .sr-causes-supporters-h {
    color: #9ca3af;
}
html.dark .sr-causes-supporter {
    color: #e5e7eb;
}
html.dark .sr-causes-sharer {
    color: #e5e7eb;
    border-color: #374151;
}
html.dark .sr-causes-share-label,
html.dark .sr-causes-channel-lbl {
    color: #e5e7eb;
}
html.dark .sr-causes-share-btn {
    background-color: #111827;
    color: #e5e7eb;
}
html.dark .sr-causes-share-btn:hover {
    background-color: #283548;
    color: #e5e7eb;
}
html.dark .sr-causes-qr {
    background-color: #111827;
    border-color: #374151;
}
html.dark .sr-causes-qr-box {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sr-causes-qr-hint {
    color: #9ca3af;
}
html.dark .sr-causes-flash {
    background-color: #0d2818;
    color: #7ee2a8;
}
html.dark .sr-causes-closed {
    background-color: #33290f;
    color: #e0c479;
    border-color: #6b5b23;
}
html.dark .sr-causes-finished {
    background-color: #111827;
    color: #6ea8fe;
    border-color: #374151;
}
html.dark .sr-causes-related-card {
    border-color: #374151;
    background-color: #1f2937;
}
html.dark .sr-causes-related-img {
    background-color: #111827;
}
html.dark .sr-causes-related-m {
    color: #9ca3af;
}
html.dark .sr-causes-channel-bar {
    background-color: #111827;
}
html.dark .sr-causes-adm-sub {
    color: #9ca3af;
}
html.dark .sr-causes-adm-table,
html.dark .sr-causes-adm-row {
    border-color: #374151;
}
html.dark .sr-causes-adm-head {
    background-color: #111827;
    color: #9ca3af;
}
html.dark .sr-causes-adm-c-author {
    color: #e5e7eb;
}
html.dark .sr-causes-adm-btn {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sr-causes-adm-btn:hover {
    background-color: #283548;
}
html.dark .sr-causes-adm-btn-danger {
    color: #f1aeb5;
    border-color: #7a2e33;
}
html.dark .sr-causes-adm-btn-danger:hover {
    background-color: #331416;
}
html.dark .sr-causes-badge,
html.dark .sr-causes-badge.sr-causes-st-archived {
    background-color: #111827;
    color: #9ca3af;
}
html.dark .sr-causes-badge.sr-causes-st-active {
    background-color: #0d2818;
    color: #7ee2a8;
}
html.dark .sr-causes-badge.sr-causes-st-paused {
    background-color: #33290f;
    color: #e0c479;
}
html.dark .sr-causes-badge.sr-causes-st-closed {
    background-color: #111827;
    color: #6ea8fe;
}
html.dark .sr-causes-badge-hidden,
html.dark .sr-causes-badge-reports {
    background-color: #331416;
    color: #f1aeb5;
}
html.dark .sr-causes-have-account {
    color: #9ca3af;
}
html.dark .sr-causes-thanks-h,
html.dark .sr-causes-thanks-sub,
html.dark .sr-causes-st-active {
    color: #7ee2a8;
}
html.dark .sr-causes-feat {
    background-color: #1f2937;
    border-color: #6b5b23;
}
html.dark .sr-causes-feat-label {
    background-color: #33290f;
}
html.dark .sr-causes-feat-summary {
    color: #9ca3af;
}
html.dark .sr-causes-feat-meta {
    color: #e5e7eb;
}
html.dark .sr-causes-stat,
html.dark .sr-causes-mng-sec {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sr-causes-stat-lbl {
    color: #9ca3af;
}
html.dark .sr-causes-chart-h {
    color: #9ca3af;
}
html.dark .sr-causes-hbar-lbl {
    color: #e5e7eb;
}
html.dark .sr-causes-hbar-track {
    background-color: #111827;
}
html.dark .sr-causes-status-now {
    color: #9ca3af;
}
html.dark .sr-causes-update {
    background-color: #111827;
    border-color: #374151;
}
html.dark .sr-causes-update-d {
    color: #9ca3af;
}
html.dark .sr-causes-update-b {
    color: #e5e7eb;
}
html.dark .sr-causes-errors {
    background-color: #331416;
    color: #f1aeb5;
}
html.dark .sr-causes-cat-chip {
    color: #c39bdd;
    background-color: #3b2a4a;
}
html.dark .sr-causes-res-open,
html.dark .sr-causes-stb-open {
    background-color: #331416;
    color: #f1aeb5;
}
html.dark .sr-causes-res-progress,
html.dark .sr-causes-stb-prog {
    background-color: #33290f;
    color: #e0c479;
}
html.dark .sr-causes-res-resolved,
html.dark .sr-causes-stb-res {
    background-color: #0d2818;
    color: #7ee2a8;
}
html.dark .sr-causes-ficha,
html.dark .sr-causes-ficha-row {
    border-color: #374151;
}
html.dark .sr-causes-ficha {
    background-color: #111827;
}
html.dark .sr-causes-ficha-h,
html.dark .sr-causes-ficha-row span {
    color: #9ca3af;
}
html.dark .sr-causes-res-form {
    border-color: #374151;
}
html.dark .sr-causes-dash-bc span {
    color: #9ca3af;
}
html.dark .sr-causes-dash-tab {
    background-color: #111827;
    color: #e5e7eb;
}
html.dark .sr-causes-dash-ord {
    border-color: #374151;
    color: #9ca3af;
}
html.dark .sr-causes-catflt {
    background-color: #111827;
    color: #9ca3af;
}
html.dark .sr-causes-prow {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sr-causes-prow-sig {
    color: #9ca3af;
}
html.dark .sr-causes-sb-row {
    border-color: #374151;
}
html.dark .sr-causes-sb-rank {
    background-color: #111827;
    color: #6ea8fe;
}
html.dark .sr-causes-spaceblock {
    background-color: #1f2937;
    border-color: #374151;
}

/* ===== hub/classes/ScHubTemplate.php — .sc-hub-onb-* (bienvenida / onboarding) ===== */
html.dark .sc-hub-onb-notice {
    background-color: #0d2818;
    border-color: #1e5e34;
    color: #7ee2a8;
}
html.dark .sc-hub-onb-anon-notice {
    background-color: #111827;
    border-color: #374151;
    color: #e5e7eb;
}
html.dark .sc-hub-onb-step {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sc-hub-onb-step-kicker,
html.dark .sc-hub-onb-step-summary-current,
html.dark .sc-hub-onb-explore-link {
    color: #6ea8fe;
}
html.dark .sc-hub-onb-step-q,
html.dark .sc-hub-onb-goal-title,
html.dark .sc-hub-onb-action-title {
    color: #e5e7eb;
}
html.dark .sc-hub-onb-step-hint,
html.dark .sc-hub-onb-step-summary-done,
html.dark .sc-hub-onb-skip-btn,
html.dark .sc-hub-onb-goal-desc,
html.dark .sc-hub-onb-action-desc {
    color: #9ca3af;
}
html.dark .sc-hub-onb-step-summary-done .sc-hub-onb-step-check {
    color: #7ee2a8;
}
html.dark .sc-hub-onb-goal-card {
    border-color: #374151;
}
html.dark .sc-hub-onb-goal-card:has(input:checked) {
    border-color: #6ea8fe;
    background-color: #111827;
}
html.dark .sc-hub-onb-action-card {
    border-color: #374151;
}

/* ===== hub/classes/ScHubTemplate.php — .sc-hub-vp-* / .sc-hub-empieza-* (propuesta de valor / nudge home) =====
   Estas 2 tarjetas usan "background: linear-gradient(...)" con tonos claros;
   sobreescribir solo background-color dejaría el degradado claro pintado
   ENCIMA (background-image gana visualmente sobre background-color), así que
   aquí se reemplaza el shorthand completo para quitar el degradado. */
html.dark .sc-hub-vp-card {
    background: #111827;
    border-color: #374151;
}
html.dark .sc-hub-vp-title,
html.dark .sc-hub-vp-lead,
html.dark .sc-hub-vp-item {
    color: #e5e7eb;
}
html.dark .sc-hub-vp-item::before {
    color: #6ea8fe;
}
html.dark .sc-hub-empieza-card {
    background: #111827;
    border-color: #374151;
}
html.dark .sc-hub-empieza-title {
    color: #e5e7eb;
}
html.dark .sc-hub-empieza-text {
    color: #9ca3af;
}

/* ===== hub/classes/ScHubTemplate.php — .sc-hub-* (hub principal + tester signup) ===== */
html.dark .sc-hub-sec-title {
    color: #e5e7eb;
    border-color: #374151;
}
html.dark .sc-hub-sec-desc {
    color: #9ca3af;
}
html.dark .sc-hub-card {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sc-hub-card-title {
    color: #e5e7eb;
}
html.dark .sc-hub-card-desc {
    color: #9ca3af;
}
html.dark a.sc-hub-btn-secondary,
html.dark a.sc-hub-btn-secondary:link,
html.dark a.sc-hub-btn-secondary:visited,
html.dark a.sc-hub-btn-secondary:hover,
html.dark a.sc-hub-btn-secondary:focus,
html.dark a.sc-hub-btn-secondary:active {
    background-color: #111827;
    color: #6ea8fe !important;
    border-color: #374151;
}
html.dark a.sc-hub-btn-secondary:hover,
html.dark a.sc-hub-btn-secondary:focus {
    background-color: #1f2937;
}
html.dark .sc-hub-anon,
html.dark .sc-hub-login-cta {
    color: #9ca3af;
}
html.dark .sc-hub-tester-form {
    background-color: #1f2937;
    border-color: #374151;
}
html.dark .sc-hub-tester-label {
    color: #e5e7eb;
}
html.dark .sc-hub-tester-input {
    border-color: #374151;
}
html.dark .sc-hub-hint {
    color: #9ca3af;
}
html.dark .sc-hub-tester-consent {
    background-color: #111827;
    border-color: #374151;
}
html.dark .sc-hub-tester-check {
    color: #e5e7eb;
}
html.dark .sc-hub-tester-errors {
    background-color: #331416;
    border-color: #7a2e33;
    color: #f1aeb5;
}
html.dark .sc-hub-tester-thanks {
    background-color: #0d2818;
    border-color: #1e5e34;
    color: #7ee2a8;
}

/* ===== hub/classes/ScHubModule.php — .sc-hub-bc-* (breadcrumb inyectado en todas las páginas) ===== */
/* SOLAPE: #bx-toolbar es position:fixed y su ALTO REAL lo manda el contenido (el logo lo expande por
   encima del height:3rem declarado), así que el breadcrumb (primer bloque del contenido) quedaba
   OCULTO detrás. Se despeja con el alto real del header. Va en el CSS del tema (no inline en sc_hub)
   porque el despeje es específico de ESTE tema (su header fijo). Ajustar si el logo cambia de alto. */
.sc-hub-bc {
    margin-top: 4rem;
}

/* ===== HUECO breadcrumb ↔ portada: NO duplicar el despeje del header =====
   El breadcrumb (nav.sc-hub-bc) es hijo directo de <body> y hermano ANTERIOR de
   #bx-content-with-toolbar-wrapper (ver template/_header.html:38 → _sub_header.html:3). Con su
   margin-top:4rem ya despeja el header fijo. Pero la portada que le sigue trae ADEMÁS pt-16 (4rem)
   en .bx-menu-toolbar-padding para despejar el MISMO header → 4rem de hueco redundante entre el
   breadcrumb y el banner. Cuando el breadcrumb está presente se anula ese pt-16; sin breadcrumb el
   selector no aplica y la portada conserva su despeje propio.
   Se usa :has() (no + ni ~) porque en runtime UNA envuelve la inyección del breadcrumb en divs, así
   que el nav.sc-hub-bc NO es hermano del wrapper — con :has() solo importa que exista en la página,
   sin depender de la posición exacta en el DOM. Soportado en Chrome/Safari/Firefox actuales. */
body:has(.sc-hub-bc) .bx-menu-toolbar-padding.pt-16 {
    padding-top: 0 !important;
}

/* ===== Cover VACÍO (páginas sin portada): el inner py-16 (8rem) infla el alto del banner del
   título. Se reduce cuando el cover está vacío (bx-cover-empty). ===== */
.bx-cover-empty .py-16 {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}

/* ===== Letter-avatar por defecto (usuario sin foto): el <p>.bx-base-pofile-unit-thumb se ajustaba
   al contenido (1 letra) y salía ÓVALO vertical pese al rounded-full. Forzar alto=ancho → CÍRCULO
   perfecto. (Las 2 iniciales las pone theme/js/avatar-initials.js.) ===== */
p.bx-base-pofile-unit-thumb {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    line-height: 1;
}

html.dark .sc-hub-bc {
    background-color: #111827;
    border-color: #374151;
}
html.dark .sc-hub-bc-link {
    color: #6ea8fe;
}
html.dark .sc-hub-bc-current {
    color: #9ca3af;
}

/* ===== volunteer/classes/ScVolunteerTemplate.php — .sr-vol-* (directorio de voluntarios) ===== */
html.dark .sr-vol-card {
    background-color: #1f2937;
}
html.dark .sr-vol-avatar {
    background-color: #111827;
}
html.dark .sr-vol-avatar-fallback,
html.dark .sr-vol-v {
    color: #e5e7eb;
}
html.dark .sr-vol-pill {
    /* gradiente claro (#f7fbff→#eef7ff): shorthand completo, ver nota sc-hub-vp-card */
    background: #111827;
}
html.dark .sr-vol-pager a {
    border-color: #374151;
}

/* ===== Compartido: formularios SC-A11Y (sc_hub / sc_causes / sc_volunteer usan la misma clase) ===== */
html.dark .sc-a11y-required {
    color: #f1aeb5;
}
html.dark .sc-a11y-required-txt {
    color: #9ca3af;
}
html.dark .sc-a11y-errors {
    background-color: #331416;
    border-color: #7a2e33;
}

/*--- === SOCRACI DARK-MODE FIXES: controles de formulario crudos === ---
Varios formularios socraci (config de campaña, crear causa, voluntariado…) usan
<input>/<textarea>/<select> CRUDOS sin fondo definido y etiquetas .bx-form-input-label.
En modo oscuro el navegador los pinta con su default CLARO (cajas blancas, texto
gris ilegible). color-scheme:dark hace que TODO control nativo (incl. date picker,
dropdowns, scrollbars) use el esquema oscuro del navegador — arregla también los
formularios socraci que aún no tengan CSS propio, sin whack-a-mole por formulario. ---*/
html.dark {
    color-scheme: dark;
}

/* Refuerzo explícito: los controles crudos dentro de contenedores socraci
   (por si el control trae un fondo claro heredado que color-scheme no vence). */
html.dark .sr-campaign-manage-form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
html.dark .sr-campaign-manage-form textarea,
html.dark .sr-campaign-manage-form select,
html.dark .sc-nav-dir input:not([type="submit"]):not([type="button"]),
html.dark .sc-nav-dir textarea,
html.dark .sc-nav-dir select {
    background-color: #111827 !important;
    color: #e5e7eb !important;
    border-color: #374151 !important;
}

/* Etiquetas de formulario socraci (clase UNA usada con markup crudo) */
html.dark .sr-campaign-manage-form .bx-form-input-label,
html.dark .sr-campaign-manage-form label {
    color: #e5e7eb !important;
}

/* Contenedores de formulario con fondo casi-blanco inline no cubierto antes */
html.dark [style*="background:#fcfcfc"],
html.dark [style*="background: #fcfcfc"],
html.dark [style*="background:#fdfdfd"],
html.dark [style*="background: #fdfdfd"] {
    background-color: #1f2937 !important;
}

/*--- === SOCRACI DARK-MODE FIXES: sc_location (editar/ver ubicación) === ---
Bloques del perfil (editar ubicación en Editar Perfil + vista de solo lectura +
modal). Clases .sr-loc-* con fondo blanco fijo y texto gris oscuro. ---*/
html.dark .sr-loc-edit,
html.dark .sr-loc-view,
html.dark .sr-loc-modal {
    background-color: #1f2937 !important;
    border-color: #374151 !important;
}
html.dark .sr-loc-btn {
    background-color: #111827 !important;
    border-color: #374151 !important;
    color: #e5e7eb !important;
}
html.dark .sr-loc-edit-title,
html.dark .sr-loc-view-title,
html.dark .sr-loc-view-value {
    color: #e5e7eb !important;
}
html.dark .sr-loc-edit-body,
html.dark .sr-loc-edit-label,
html.dark .sr-loc-edit-status,
html.dark .sr-loc-view-label,
html.dark .sr-loc-hint-locality,
html.dark .sr-loc-view-hint {
    color: #9ca3af !important;
}
html.dark .sr-loc-edit-select {
    background-color: #111827 !important;
    color: #e5e7eb !important;
    border-color: #374151 !important;
}
html.dark .sr-loc-hint-locality a,
html.dark .sr-loc-view a {
    color: #6ea8fe !important;
}

/*--- === SOCRACI DARK-MODE FIXES: editor Quill (descripciones) === ---
El editor de texto enriquecido Quill (perfil, causas, etc.) trae fondo blanco fijo
del tema 'snow'. En modo oscuro se veía como una caja blanca. Se adapta editor,
contenedor, barra de herramientas, placeholder e íconos SVG. ---*/
html.dark .ql-editor {
    background-color: #111827 !important;
    color: #e5e7eb !important;
}
html.dark .ql-container.ql-snow,
html.dark .ql-toolbar.ql-snow {
    border-color: #374151 !important;
}
html.dark .ql-toolbar.ql-snow {
    background-color: #1f2937 !important;
}
html.dark .ql-editor.ql-blank::before {
    color: #9ca3af !important;
}
html.dark .ql-snow .ql-stroke {
    stroke: #cbd5e1 !important;
}
html.dark .ql-snow .ql-fill,
html.dark .ql-snow .ql-stroke.ql-fill {
    fill: #cbd5e1 !important;
}
html.dark .ql-snow .ql-picker {
    color: #e5e7eb !important;
}
html.dark .ql-snow .ql-picker-options {
    background-color: #1f2937 !important;
    border-color: #374151 !important;
}
