/*
 * TRAMA — tema visual (claro, minimalista). Se carga DESPUÉS de bootstrap.min.css y de los CSS
 * de librerías (ver app/templates/tema.php).
 *
 * Marca blanca: los valores de :root de acá son solo los por defecto. header.php y
 * publico_header.php los pisan con lo cargado en Ajustes → Marca / configuración, así que
 * cualquier estilo nuevo tiene que usar estas variables, nunca colores fijos.
 * Las variantes -rgb ("r, g, b") existen para poder usar transparencias: rgba(var(--c-primary-rgb), .1)
 */

:root {
    --c-bg: #FBF7F2;
    --c-surface: #FFFFFF;
    --c-text: #2B2227;
    --c-muted: #6E6268;
    --c-primary: #8E2F45;
    --c-primary-hover: #74263A;
    --c-accent: #C9A25E;
    --c-border: #EADFD5;
    --c-success: #6B8F71;

    --c-bg-rgb: 251, 247, 242;
    --c-surface-rgb: 255, 255, 255;
    --c-text-rgb: 43, 34, 39;
    --c-muted-rgb: 110, 98, 104;
    --c-primary-rgb: 142, 47, 69;
    --c-primary-hover-rgb: 116, 38, 58;
    --c-accent-rgb: 201, 162, 94;
    --c-border-rgb: 234, 223, 213;
    --c-success-rgb: 107, 143, 113;

    --f-title: 'Playfair Display', Georgia, serif;
    --f-body: 'Nunito Sans', Arial, sans-serif;

    --radio: 12px;
    --radio-pill: 30px;
    --sombra: 0 1px 2px rgba(var(--c-text-rgb), .04), 0 4px 16px rgba(var(--c-text-rgb), .04);
    --anillo-foco: 0 0 0 .2rem rgba(var(--c-primary-rgb), .18);
}

/* Bootstrap 5.3 toma casi todo de sus propias variables: redirigirlas alcanza para que
   no quede azul en utilidades, links, focus, checks, paginación, etc. */
:root, [data-bs-theme=light] {
    --bs-body-bg: var(--c-bg);
    --bs-body-bg-rgb: var(--c-bg-rgb);
    --bs-body-color: var(--c-text);
    --bs-body-color-rgb: var(--c-text-rgb);
    --bs-body-font-family: var(--f-body);
    --bs-emphasis-color: var(--c-text);
    --bs-emphasis-color-rgb: var(--c-text-rgb);
    --bs-heading-color: var(--c-text);
    --bs-secondary-color: var(--c-muted);
    --bs-secondary-color-rgb: var(--c-muted-rgb);
    --bs-secondary-bg: var(--c-bg);
    --bs-tertiary-color: var(--c-muted);
    --bs-tertiary-bg: var(--c-bg);
    --bs-tertiary-bg-rgb: var(--c-bg-rgb);
    --bs-border-color: var(--c-border);
    --bs-border-color-translucent: var(--c-border);
    --bs-border-radius: 8px;
    --bs-border-radius-lg: var(--radio);

    --bs-primary: var(--c-primary);
    --bs-primary-rgb: var(--c-primary-rgb);
    --bs-primary-text-emphasis: var(--c-primary-hover);
    --bs-primary-bg-subtle: rgba(var(--c-primary-rgb), .07);
    --bs-primary-border-subtle: rgba(var(--c-primary-rgb), .25);
    --bs-secondary: var(--c-muted);
    --bs-secondary-rgb: var(--c-muted-rgb);
    --bs-success: var(--c-success);
    --bs-success-rgb: var(--c-success-rgb);
    --bs-success-text-emphasis: var(--c-success);
    --bs-success-bg-subtle: rgba(var(--c-success-rgb), .1);
    --bs-success-border-subtle: rgba(var(--c-success-rgb), .3);
    --bs-info: var(--c-muted);
    --bs-info-rgb: var(--c-muted-rgb);
    --bs-info-text-emphasis: var(--c-text);
    --bs-info-bg-subtle: var(--c-bg);
    --bs-info-border-subtle: var(--c-border);

    --bs-link-color: var(--c-primary);
    --bs-link-color-rgb: var(--c-primary-rgb);
    --bs-link-hover-color: var(--c-primary-hover);
    --bs-link-hover-color-rgb: var(--c-primary-hover-rgb);
    --bs-focus-ring-color: rgba(var(--c-primary-rgb), .18);
    --bs-highlight-bg: rgba(var(--c-accent-rgb), .25);
}

/* ---------------------------------------------------------------------------
   Base
   --------------------------------------------------------------------------- */
body {
    background: var(--c-bg) linear-gradient(180deg, var(--c-surface) 0, var(--c-bg) 320px) no-repeat;
    color: var(--c-text);
    font-family: var(--f-body);
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--f-title);
    font-weight: 600;
    color: var(--c-text);
    letter-spacing: -.005em;
}

strong, b, .fw-bold, th { font-weight: 700; }

a { color: var(--c-primary); text-decoration-color: rgba(var(--c-primary-rgb), .35); text-underline-offset: .2em; }
a:hover, a:focus { color: var(--c-primary-hover); text-decoration-color: currentColor; }

hr { border-color: var(--c-border); opacity: 1; }
::selection { background: rgba(var(--c-primary-rgb), .15); }

.text-muted, .text-secondary, .text-body-secondary { color: var(--c-muted) !important; }
.text-primary { color: var(--c-primary) !important; }
.text-success { color: var(--c-success) !important; }
.text-accent { color: var(--c-accent) !important; }
.text-danger { color: #9c3a30 !important; }
.text-warning { color: color-mix(in srgb, var(--c-accent) 65%, black) !important; }
.bg-primary { background-color: var(--c-primary) !important; }
.bg-success { background-color: var(--c-success) !important; }
.bg-body-tertiary, .bg-light { background-color: var(--c-bg) !important; }
.border, .border-top, .border-bottom, .border-start, .border-end { border-color: var(--c-border) !important; }

/* ---------------------------------------------------------------------------
   Botones: primario en pastilla sólida, secundario con borde bordó y fondo transparente
   --------------------------------------------------------------------------- */
.btn {
    --bs-btn-font-family: var(--f-body);
    --bs-btn-font-weight: 700;
    --bs-btn-border-radius: var(--radio-pill);
    --bs-btn-padding-x: 1.25rem;
    --bs-btn-focus-box-shadow: var(--anillo-foco);
    letter-spacing: .01em;
}
.btn-sm { --bs-btn-padding-x: .85rem; --bs-btn-border-radius: var(--radio-pill); }
.btn-lg { --bs-btn-padding-x: 1.75rem; --bs-btn-border-radius: var(--radio-pill); }

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--c-primary);
    --bs-btn-border-color: var(--c-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--c-primary-hover);
    --bs-btn-hover-border-color: var(--c-primary-hover);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--c-primary-hover);
    --bs-btn-active-border-color: var(--c-primary-hover);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--c-primary);
    --bs-btn-disabled-border-color: var(--c-primary);
}

.btn-secondary, .btn-outline-primary {
    --bs-btn-color: var(--c-primary);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: var(--c-primary);
    --bs-btn-hover-color: var(--c-primary-hover);
    --bs-btn-hover-bg: rgba(var(--c-primary-rgb), .06);
    --bs-btn-hover-border-color: var(--c-primary-hover);
    --bs-btn-active-color: var(--c-primary-hover);
    --bs-btn-active-bg: rgba(var(--c-primary-rgb), .12);
    --bs-btn-active-border-color: var(--c-primary-hover);
    --bs-btn-disabled-color: var(--c-primary);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--c-primary);
}

/* Terciario / acciones chicas de tabla: neutro, para no llenar la pantalla de bordó */
.btn-outline-secondary, .btn-light, .btn-outline-light, .btn-outline-dark {
    --bs-btn-color: var(--c-text);
    --bs-btn-bg: var(--c-surface);
    --bs-btn-border-color: var(--c-border);
    --bs-btn-hover-color: var(--c-primary);
    --bs-btn-hover-bg: var(--c-surface);
    --bs-btn-hover-border-color: rgba(var(--c-primary-rgb), .45);
    --bs-btn-active-color: var(--c-primary);
    --bs-btn-active-bg: rgba(var(--c-primary-rgb), .06);
    --bs-btn-active-border-color: rgba(var(--c-primary-rgb), .45);
    --bs-btn-disabled-color: var(--c-muted);
    --bs-btn-disabled-bg: var(--c-surface);
    --bs-btn-disabled-border-color: var(--c-border);
}

.btn-link {
    --bs-btn-color: var(--c-primary);
    --bs-btn-hover-color: var(--c-primary-hover);
    --bs-btn-active-color: var(--c-primary-hover);
    --bs-btn-disabled-color: var(--c-muted);
    font-weight: 700;
}

.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--c-success);
    --bs-btn-border-color: var(--c-success);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: color-mix(in srgb, var(--c-success) 85%, black);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--c-success) 85%, black);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: color-mix(in srgb, var(--c-success) 80%, black);
    --bs-btn-active-border-color: color-mix(in srgb, var(--c-success) 80%, black);
    --bs-btn-disabled-bg: var(--c-success);
    --bs-btn-disabled-border-color: var(--c-success);
}
.btn-outline-success {
    --bs-btn-color: var(--c-success);
    --bs-btn-border-color: var(--c-success);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--c-success);
    --bs-btn-hover-border-color: var(--c-success);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--c-success);
    --bs-btn-active-border-color: var(--c-success);
}
.btn-info, .btn-outline-info {
    --bs-btn-color: var(--c-text);
    --bs-btn-bg: var(--c-surface);
    --bs-btn-border-color: var(--c-border);
    --bs-btn-hover-color: var(--c-primary);
    --bs-btn-hover-bg: var(--c-surface);
    --bs-btn-hover-border-color: rgba(var(--c-primary-rgb), .45);
}

.btn:disabled, .btn.disabled, fieldset:disabled .btn { --bs-btn-disabled-opacity: .45; }

/* Grupos de botones: las pastillas se unen sin cortes raros */
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.btn-group > .btn:nth-child(n+2), .btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.btn-check:checked + .btn-outline-secondary,
.btn-check:checked + .btn-outline-primary { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }

/* ---------------------------------------------------------------------------
   Navbar: fondo blanco, sin borde, línea inferior fina
   --------------------------------------------------------------------------- */
.navbar.app-navbar {
    --bs-navbar-color: var(--c-muted);
    --bs-navbar-hover-color: var(--c-text);
    --bs-navbar-active-color: var(--c-primary);
    --bs-navbar-brand-color: var(--c-text);
    --bs-navbar-brand-hover-color: var(--c-primary);
    --bs-navbar-toggler-border-color: var(--c-border);
    --bs-navbar-toggler-focus-width: 0;
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2843, 34, 39, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    background: var(--c-surface);
    border: 0;
    box-shadow: 0 1px 0 var(--c-border);
    padding-top: .6rem;
    padding-bottom: .6rem;
}
.app-navbar .navbar-brand {
    font-family: var(--f-title);
    font-weight: 600;
    font-size: 1.35rem;
    letter-spacing: .01em;
    display: flex;
    align-items: center;
    gap: .5rem;
}
.app-navbar .navbar-brand img { height: 30px; width: auto; }
.app-navbar .nav-link { font-weight: 400; font-size: .95rem; padding-left: .75rem !important; padding-right: .75rem !important; }
.app-navbar .nav-link i { opacity: .55; margin-right: .2rem; }
.app-navbar .nav-link.active, .app-navbar .show > .nav-link { font-weight: 700; }
.app-navbar .nav-link.active i { opacity: 1; }
@media (min-width: 992px) {
    .app-navbar .nav-link.active { box-shadow: inset 0 -2px 0 var(--c-primary); }
}
.app-navbar .navbar-usuario { color: var(--c-muted); font-size: .9rem; }

/* ---------------------------------------------------------------------------
   Dropdowns
   --------------------------------------------------------------------------- */
.dropdown-menu {
    --bs-dropdown-bg: var(--c-surface);
    --bs-dropdown-color: var(--c-text);
    --bs-dropdown-border-color: var(--c-border);
    --bs-dropdown-border-radius: 10px;
    --bs-dropdown-link-color: var(--c-text);
    --bs-dropdown-link-hover-color: var(--c-primary);
    --bs-dropdown-link-hover-bg: rgba(var(--c-primary-rgb), .05);
    --bs-dropdown-link-active-color: var(--c-primary);
    --bs-dropdown-link-active-bg: rgba(var(--c-primary-rgb), .08);
    --bs-dropdown-divider-bg: var(--c-border);
    --bs-dropdown-header-color: var(--c-muted);
    --bs-dropdown-box-shadow: var(--sombra);
    box-shadow: var(--sombra);
    padding: .4rem;
}
.dropdown-item { border-radius: 6px; padding: .45rem .75rem; }

/* ---------------------------------------------------------------------------
   Cards, modales, list-group
   --------------------------------------------------------------------------- */
.card {
    --bs-card-bg: var(--c-surface);
    --bs-card-color: var(--c-text);
    --bs-card-border-color: var(--c-border);
    --bs-card-border-radius: var(--radio);
    --bs-card-inner-border-radius: calc(var(--radio) - 1px);
    --bs-card-cap-bg: transparent;
    --bs-card-cap-color: var(--c-text);
    --bs-card-cap-padding-y: .9rem;
    --bs-card-spacer-x: 1.25rem;
    box-shadow: var(--sombra);
}
.card-header { font-weight: 700; font-size: .95rem; border-bottom-color: var(--c-border); padding-top: 1rem; padding-bottom: 1rem; }
.card-header > i, .card-header > span > i { color: var(--c-muted); margin-right: .35rem; }
.card-footer { border-top-color: var(--c-border); }
.card-title { font-family: var(--f-title); font-weight: 600; }

.modal {
    --bs-modal-bg: var(--c-surface);
    --bs-modal-color: var(--c-text);
    --bs-modal-border-color: var(--c-border);
    --bs-modal-border-radius: var(--radio);
    --bs-modal-header-border-color: var(--c-border);
    --bs-modal-footer-border-color: var(--c-border);
}
.modal-title { font-family: var(--f-title); font-weight: 600; }
.modal-backdrop { --bs-backdrop-bg: var(--c-text); --bs-backdrop-opacity: .35; }
.offcanvas { --bs-offcanvas-bg: var(--c-surface); --bs-offcanvas-color: var(--c-text); --bs-offcanvas-border-color: var(--c-border); }

.list-group {
    --bs-list-group-bg: var(--c-surface);
    --bs-list-group-color: var(--c-text);
    --bs-list-group-border-color: var(--c-border);
    --bs-list-group-action-hover-bg: var(--c-bg);
    --bs-list-group-action-hover-color: var(--c-text);
    --bs-list-group-active-bg: var(--c-primary);
    --bs-list-group-active-border-color: var(--c-primary);
    --bs-list-group-active-color: #fff;
}

.list-group-item { padding: .85rem 1.25rem; }
.list-group-item-action { transition: background-color .15s ease; }
.card > .list-group:last-child > .list-group-item:last-child { border-bottom-left-radius: var(--bs-card-inner-border-radius); border-bottom-right-radius: var(--bs-card-inner-border-radius); }

.btn-close:focus { box-shadow: var(--anillo-foco); }

/* ---------------------------------------------------------------------------
   Formularios
   --------------------------------------------------------------------------- */
.form-label { font-weight: 700; font-size: .9rem; color: var(--c-text); margin-bottom: .35rem; }
.form-text { color: var(--c-muted); }

.form-control, .form-select {
    background-color: var(--c-surface);
    border-color: var(--c-border);
    color: var(--c-text);
    border-radius: 8px;
}
.form-control::placeholder { color: rgba(var(--c-muted-rgb), .7); }
.form-control:focus, .form-select:focus, .form-check-input:focus {
    background-color: var(--c-surface);
    color: var(--c-text);
    border-color: rgba(var(--c-primary-rgb), .55);
    box-shadow: var(--anillo-foco);
}
.form-control:disabled, .form-select:disabled, .form-control[readonly] { background-color: var(--c-bg); color: var(--c-muted); }
.form-control-color { padding: .3rem; height: 2.6rem; }

.input-group-text { background-color: var(--c-bg); border-color: var(--c-border); color: var(--c-muted); }

.form-check-input { border-color: rgba(var(--c-muted-rgb), .45); }
.form-check-input:checked { background-color: var(--c-primary); border-color: var(--c-primary); }
.form-check-input[type=checkbox]:indeterminate { background-color: var(--c-primary); border-color: var(--c-primary); }
.form-switch .form-check-input:focus {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28142, 47, 69, 0.5%29'/%3e%3c/svg%3e");
}
.form-range::-webkit-slider-thumb { background-color: var(--c-primary); }
.form-range::-moz-range-thumb { background-color: var(--c-primary); }
.form-range::-webkit-slider-thumb:active { background-color: var(--c-primary-hover); }

.was-validated .form-control:valid, .form-control.is-valid { border-color: var(--c-success); }

/* ---------------------------------------------------------------------------
   Tablas
   --------------------------------------------------------------------------- */
.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--c-text);
    --bs-table-border-color: var(--c-border);
    --bs-table-striped-bg: rgba(var(--c-text-rgb), .02);
    --bs-table-striped-color: var(--c-text);
    --bs-table-hover-bg: rgba(var(--c-primary-rgb), .035);
    --bs-table-hover-color: var(--c-text);
    --bs-table-active-bg: rgba(var(--c-primary-rgb), .06);
}
.table > thead th {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    border-bottom-width: 1px;
    white-space: nowrap;
}
.table > :not(caption) > * > * { padding-top: .7rem; padding-bottom: .7rem; }

/* ---------------------------------------------------------------------------
   Badges, alerts, progress
   --------------------------------------------------------------------------- */
.badge { font-weight: 700; letter-spacing: .02em; border-radius: var(--radio-pill); padding: .38em .75em; }
.badge.bg-secondary, .badge.text-bg-secondary, .badge.bg-light, .badge.text-bg-light,
.badge.bg-info, .badge.text-bg-info, .badge.bg-dark, .badge.text-bg-dark {
    background-color: var(--c-bg) !important;
    color: var(--c-muted) !important;
    border: 1px solid var(--c-border);
}
.badge.bg-primary, .badge.text-bg-primary { background-color: rgba(var(--c-primary-rgb), .1) !important; color: var(--c-primary) !important; }
.badge.bg-success, .badge.text-bg-success { background-color: rgba(var(--c-success-rgb), .14) !important; color: var(--c-success) !important; }
.badge.bg-warning, .badge.text-bg-warning { background-color: rgba(var(--c-accent-rgb), .18) !important; color: color-mix(in srgb, var(--c-accent) 55%, black) !important; }
.badge.bg-danger, .badge.text-bg-danger { background-color: rgba(176, 69, 58, .12) !important; color: #9c3a30 !important; }

.alert {
    --bs-alert-border-radius: 10px;
    border-width: 0 0 0 3px;
    background-color: var(--c-surface);
    color: var(--c-text);
    box-shadow: var(--sombra);
}
.alert-primary, .alert-info, .alert-secondary, .alert-light { border-color: var(--c-muted); }
.alert-success { border-color: var(--c-success); }
.alert-warning { border-color: var(--c-accent); }
.alert-danger { border-color: #b0453a; }
.alert .alert-link { color: var(--c-primary); }

.progress { --bs-progress-bg: var(--c-border); --bs-progress-bar-bg: var(--c-primary); --bs-progress-border-radius: var(--radio-pill); }

/* ---------------------------------------------------------------------------
   Navegación: tabs, pills, paginación
   --------------------------------------------------------------------------- */
.nav-tabs {
    --bs-nav-tabs-border-color: var(--c-border);
    --bs-nav-tabs-link-hover-border-color: transparent;
    --bs-nav-tabs-link-active-color: var(--c-primary);
    --bs-nav-tabs-link-active-bg: transparent;
    --bs-nav-tabs-link-active-border-color: transparent;
    gap: .25rem;
}
.nav-tabs .nav-link { color: var(--c-muted); border: 0; border-bottom: 2px solid transparent; font-weight: 700; }
.nav-tabs .nav-link:hover { color: var(--c-text); }
.nav-tabs .nav-link.active { border-bottom-color: var(--c-primary); }

.nav-pills {
    --bs-nav-pills-border-radius: var(--radio-pill);
    --bs-nav-pills-link-active-bg: var(--c-primary);
    --bs-nav-pills-link-active-color: #fff;
}
.nav-link { color: var(--c-muted); }
.nav-link:hover, .nav-link:focus { color: var(--c-primary); }
.nav-link:focus-visible { box-shadow: var(--anillo-foco); }

.pagination {
    --bs-pagination-color: var(--c-text);
    --bs-pagination-bg: var(--c-surface);
    --bs-pagination-border-color: var(--c-border);
    --bs-pagination-hover-color: var(--c-primary);
    --bs-pagination-hover-bg: var(--c-bg);
    --bs-pagination-hover-border-color: var(--c-border);
    --bs-pagination-focus-color: var(--c-primary);
    --bs-pagination-focus-bg: var(--c-bg);
    --bs-pagination-focus-box-shadow: var(--anillo-foco);
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: var(--c-primary);
    --bs-pagination-active-border-color: var(--c-primary);
    --bs-pagination-disabled-color: var(--c-muted);
    --bs-pagination-disabled-bg: var(--c-surface);
    --bs-pagination-disabled-border-color: var(--c-border);
}

/* ---------------------------------------------------------------------------
   Librerías: DataTables, bootstrap-select, SweetAlert2, Flatpickr, Summernote
   --------------------------------------------------------------------------- */
div.dt-container .dt-search input, div.dt-container .dt-length select { border-color: var(--c-border); background-color: var(--c-surface); }
div.dt-container .dt-info { color: var(--c-muted); font-size: .88rem; }
table.dataTable > tbody > tr.selected > * { box-shadow: inset 0 0 0 9999px rgba(var(--c-primary-rgb), .08); color: var(--c-text); }
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control:before { border-left-color: var(--c-muted); }
table.dataTable.dtr-inline.collapsed > tbody > tr.dtr-expanded > td.dtr-control:before { border-top-color: var(--c-primary); }

.bootstrap-select > .dropdown-toggle, .bootstrap-select > .dropdown-toggle.bs-placeholder {
    background-color: var(--c-surface) !important;
    border: 1px solid var(--c-border) !important;
    color: var(--c-text) !important;
    border-radius: 8px;
    font-weight: 400;
    padding-left: .75rem;
}
.bootstrap-select > .dropdown-toggle.bs-placeholder { color: var(--c-muted) !important; }
.bootstrap-select .dropdown-menu li a.active, .bootstrap-select .dropdown-menu li a:active { background: rgba(var(--c-primary-rgb), .08); color: var(--c-primary); }

.swal2-popup { font-family: var(--f-body); border-radius: var(--radio); color: var(--c-text); }
.swal2-title { font-family: var(--f-title); font-weight: 600; color: var(--c-text); }
.swal2-html-container { color: var(--c-muted); }
.swal2-styled { border-radius: var(--radio-pill) !important; font-weight: 700 !important; }
.swal2-styled.swal2-confirm { background-color: var(--c-primary) !important; }
.swal2-styled.swal2-cancel { background-color: transparent !important; color: var(--c-text) !important; border: 1px solid var(--c-border) !important; }
.swal2-styled:focus { box-shadow: var(--anillo-foco) !important; }
.swal2-icon.swal2-warning { border-color: var(--c-accent); color: var(--c-accent); }
.swal2-icon.swal2-success { border-color: var(--c-success); color: var(--c-success); }
.swal2-icon.swal2-success [class^=swal2-success-line] { background-color: var(--c-success); }
.swal2-icon.swal2-success .swal2-success-ring { border-color: rgba(var(--c-success-rgb), .3); }

.flatpickr-calendar { font-family: var(--f-body); border-radius: 10px; box-shadow: var(--sombra); }
.flatpickr-day.selected, .flatpickr-day.selected:hover, .flatpickr-day.startRange, .flatpickr-day.endRange {
    background: var(--c-primary); border-color: var(--c-primary);
}
.flatpickr-day.today { border-color: var(--c-accent); }
.flatpickr-day.inRange { background: rgba(var(--c-primary-rgb), .08); border-color: transparent; box-shadow: none; }

.note-editor.note-frame { border-color: var(--c-border) !important; border-radius: 8px; }
.note-editor .note-toolbar { background: var(--c-bg); border-bottom: 1px solid var(--c-border); }
