/* ============================================================
   Sendportal admin — dark mode
   Bootstrap 4 theme override. GitHub-dark inspired palette.
   ============================================================ */

:root {
    --sp-bg:          #0d1117;
    --sp-bg-alt:      #161b22;
    --sp-bg-hover:    #1f262e;
    --sp-bg-input:    #0a0f16;
    --sp-border:      #2a313c;
    --sp-border-soft: #21262d;
    --sp-text:        #e6edf3;
    --sp-text-dim:    #9da7b3;
    --sp-text-muted:  #6b7684;
    --sp-accent:      #2ea0f0;
    --sp-accent-hi:   #58b4ff;
    --sp-success:     #3fb950;
    --sp-warning:     #d29922;
    --sp-danger:      #f85149;
    --sp-info:        #58a6ff;
    --sp-code-bg:     #161b22;
    --sp-shadow:      0 2px 8px rgba(0,0,0,0.6);
}

/* ---- root ---- */
html, body, body html {
    background-color: var(--sp-bg) !important;
    color: var(--sp-text) !important;
}

body, p, div, span, li, dd, dt {
    color: var(--sp-text);
}

/* sendportal-specific layout wrappers (match their specificity) */
.main-wrapper, #content-wrapper, #wrapper, .content-wrapper {
    background-color: var(--sp-bg) !important;
    color: var(--sp-text) !important;
}

small, .text-muted, .small, .form-text {
    color: var(--sp-text-muted) !important;
}

/* ---- navbar (top) ---- */
.navbar {
    background-color: var(--sp-bg-alt) !important;
    border-bottom: 1px solid var(--sp-border) !important;
    box-shadow: none !important;
}

.navbar-light .navbar-brand,
.navbar-light .navbar-nav .nav-link {
    color: var(--sp-text) !important;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
    color: var(--sp-accent-hi) !important;
}

.navbar-light .navbar-toggler {
    border-color: var(--sp-border) !important;
}

.navbar-light .navbar-toggler-icon {
    filter: invert(1) brightness(1.2);
}

/* ---- sidebar (match sendportal's own deep selectors) ---- */
.sidebar, aside.sidebar {
    background-color: var(--sp-bg-alt) !important;
    border-right: 1px solid var(--sp-border) !important;
}

.sidebar .sidebar-inner { background-color: transparent !important; }

.sidebar li.nav-item {
    color: var(--sp-text) !important;
}

.sidebar li.nav-item a.nav-link {
    color: var(--sp-text) !important;
    border-left: 6px solid transparent !important;
    border-radius: 6px !important;
    background-color: transparent !important;
}

.sidebar li.nav-item a.nav-link .fas,
.sidebar li.nav-item a.nav-link .far,
.sidebar li.nav-item a.nav-link .fal,
.sidebar li.nav-item a.nav-link .fab {
    color: var(--sp-text-dim) !important;
}

.sidebar li.nav-item a.nav-link:hover {
    background-color: var(--sp-bg-hover) !important;
    border-left-color: var(--sp-bg-hover) !important;
    color: var(--sp-accent-hi) !important;
}

.sidebar li.nav-item.active a.nav-link,
.sidebar li.nav-item a.nav-link.active {
    color: var(--sp-accent-hi) !important;
    background-color: var(--sp-bg-hover) !important;
    border-left-color: var(--sp-accent) !important;
}

.sidebar li.nav-item.active a.nav-link .fas {
    color: var(--sp-accent-hi) !important;
}

.sidebar .nav-header, .sidebar .nav-title {
    color: var(--sp-text-muted) !important;
    letter-spacing: 0.05em;
    font-size: 0.75rem;
    text-transform: uppercase;
}

/* ---- cards ---- */
.card, .card.card {
    background-color: var(--sp-bg-alt) !important;
    border: 1px solid var(--sp-border) !important;
    box-shadow: var(--sp-shadow) !important;
    color: var(--sp-text) !important;
}

/* higher-specificity variants to beat sendportal's `.card .card-header` etc */
.card .card-header, .card-header, .card > .card-header {
    background-color: var(--sp-bg-alt) !important;
    border-bottom: 1px solid var(--sp-border) !important;
    color: var(--sp-text) !important;
}

.card .card-body, .card-body, .card > .card-body {
    background-color: var(--sp-bg-alt) !important;
    color: var(--sp-text) !important;
}

.card .card-footer, .card-footer, .card > .card-footer {
    background-color: var(--sp-bg-alt) !important;
    border-top: 1px solid var(--sp-border) !important;
    color: var(--sp-text) !important;
}

.card .card-header .h5, .card .card-header h5,
.card .card-header .h4, .card .card-header h4,
.card .card-header .h3, .card .card-header h3 {
    color: var(--sp-text) !important;
}

.card-title, .card-subtitle {
    color: var(--sp-text) !important;
}

.card-subtitle {
    color: var(--sp-text-dim) !important;
}

/* ---- jumbotron / hero sections ---- */
.jumbotron {
    background-color: var(--sp-bg-alt) !important;
    color: var(--sp-text) !important;
    border: 1px solid var(--sp-border) !important;
}

/* ---- tables (match sendportal's `.table th` compound selectors) ---- */
.table, .card-table .table {
    background-color: transparent !important;
    color: var(--sp-text) !important;
}

.table thead th, .table th, table.table th {
    background-color: var(--sp-bg) !important;
    color: var(--sp-text-dim) !important;
    border-color: var(--sp-border) !important;
    border-bottom: 1px solid var(--sp-border) !important;
    border-top: 1px solid var(--sp-border) !important;
    text-transform: uppercase;
    font-size: 0.78em;
    letter-spacing: 0.04em;
    font-weight: 600;
}

.table td, .table tbody th, table.table td {
    background-color: var(--sp-bg-alt) !important;
    border-top: 1px solid var(--sp-border-soft) !important;
    color: var(--sp-text) !important;
    vertical-align: middle;
}

.table-bordered, .table-bordered td, .table-bordered th {
    border-color: var(--sp-border) !important;
}

.table-striped tbody tr:nth-of-type(odd),
body .table-striped tbody tr:nth-of-type(odd),
body tr:nth-of-type(odd) {
    background-color: #12181f !important;
}

.table tbody tr, .table-hover tbody tr {
    background-color: var(--sp-bg-alt) !important;
}

.table-hover tbody tr:hover,
body .table-hover tbody tr:hover,
body tr:hover {
    background-color: var(--sp-bg-hover) !important;
}

.table a {
    color: var(--sp-accent) !important;
}

.table a:hover {
    color: var(--sp-accent-hi) !important;
}

/* fix sendportal's "bold td" styling */
.table tr.bold td, .table tr.bold th {
    color: var(--sp-text) !important;
}

/* ---- forms ---- */
.form-control, .custom-select, textarea, input[type="text"],
input[type="email"], input[type="password"], input[type="search"],
input[type="url"], input[type="tel"], input[type="number"], input[type="date"],
input[type="datetime-local"], select,
.form-control.datepicker {
    background-color: var(--sp-bg-input) !important;
    border: 1px solid var(--sp-border) !important;
    color: var(--sp-text) !important;
    box-shadow: none !important;
}

.form-control:focus, .custom-select:focus, textarea:focus,
input:focus, select:focus {
    background-color: var(--sp-bg-hover) !important;
    border-color: var(--sp-accent) !important;
    color: var(--sp-text) !important;
    box-shadow: 0 0 0 0.2rem rgba(46,160,240,0.25) !important;
    outline: none !important;
}

.form-control::placeholder, textarea::placeholder {
    color: var(--sp-text-muted) !important;
    opacity: 1;
}

.form-control:disabled, .form-control[readonly] {
    background-color: var(--sp-bg) !important;
    color: var(--sp-text-muted) !important;
}

label, .form-group label, .col-form-label {
    color: var(--sp-text-dim) !important;
}

.form-check-label { color: var(--sp-text) !important; }

.form-check-input[type="checkbox"], .form-check-input[type="radio"] {
    background-color: var(--sp-bg-input);
    border-color: var(--sp-border);
}

.input-group-text {
    background-color: var(--sp-bg-hover) !important;
    border-color: var(--sp-border) !important;
    color: var(--sp-text) !important;
}

.custom-file-label {
    background-color: var(--sp-bg-input) !important;
    border-color: var(--sp-border) !important;
    color: var(--sp-text) !important;
}

.custom-file-label::after {
    background-color: var(--sp-bg-hover) !important;
    color: var(--sp-text) !important;
    border-left: 1px solid var(--sp-border);
}

.custom-switch .custom-control-label::before {
    background-color: var(--sp-bg-hover) !important;
    border-color: var(--sp-border) !important;
}

.custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--sp-accent) !important;
    border-color: var(--sp-accent) !important;
}

.invalid-feedback { color: var(--sp-danger) !important; }

.is-invalid { border-color: var(--sp-danger) !important; }

/* ---- buttons ---- */
.btn {
    border-color: var(--sp-border);
}

.btn-primary {
    background-color: var(--sp-accent) !important;
    border-color: var(--sp-accent) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus:not(.active):not(:active) {
    background-color: var(--sp-accent-hi) !important;
    border-color: var(--sp-accent-hi) !important;
    box-shadow: 0 0 0 0.2rem rgba(46,160,240,0.4) !important;
    color: #fff !important;
}

/* Pressed / toggled active state: use a darker shade with stronger contrast */
.btn-primary:active,
.btn-primary.active,
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus,
.show > .btn-primary.dropdown-toggle {
    background-color: #1a6fb8 !important;       /* darker cyan for pressed/toggled */
    border-color: #1a6fb8 !important;
    color: #fff !important;
    box-shadow: 0 0 0 0.2rem rgba(46,160,240,0.5) !important;
}

/* btn-group toggled state */
.btn-group .btn-primary,
.btn-group > .btn-primary.active {
    color: #fff !important;
}

/* btn-group inactive buttons need dark-friendly default too */
.btn-group .btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info) {
    background-color: var(--sp-bg-hover) !important;
    border: 1px solid var(--sp-border) !important;
    color: var(--sp-text) !important;
}
.btn-group .btn:not(.btn-primary):hover {
    background-color: #2b333d !important;
    color: var(--sp-accent-hi) !important;
}

.btn-secondary {
    background-color: var(--sp-bg-hover) !important;
    border-color: var(--sp-border) !important;
    color: var(--sp-text) !important;
}

.btn-secondary:hover {
    background-color: #2b333d !important;
    border-color: var(--sp-accent) !important;
    color: var(--sp-text) !important;
}

.btn-success {
    background-color: var(--sp-success) !important;
    border-color: var(--sp-success) !important;
    color: #fff !important;
}

.btn-warning {
    background-color: var(--sp-warning) !important;
    border-color: var(--sp-warning) !important;
    color: #0d1117 !important;
}

.btn-danger {
    background-color: var(--sp-danger) !important;
    border-color: var(--sp-danger) !important;
    color: #fff !important;
}

.btn-info {
    background-color: var(--sp-info) !important;
    border-color: var(--sp-info) !important;
    color: #fff !important;
}

.btn-light {
    background-color: var(--sp-bg-hover) !important;
    border-color: var(--sp-border) !important;
    color: var(--sp-text) !important;
}

.btn-dark {
    background-color: var(--sp-bg) !important;
    border-color: var(--sp-border) !important;
    color: var(--sp-text) !important;
}

.btn-outline-primary {
    color: var(--sp-accent) !important;
    border-color: var(--sp-accent) !important;
    background-color: transparent !important;
}

.btn-outline-primary:hover {
    background-color: var(--sp-accent) !important;
    color: #fff !important;
}

.btn-outline-secondary {
    color: var(--sp-text-dim) !important;
    border-color: var(--sp-border) !important;
    background-color: transparent !important;
}

.btn-outline-secondary:hover {
    background-color: var(--sp-bg-hover) !important;
    color: var(--sp-text) !important;
    border-color: var(--sp-border) !important;
}

.btn-outline-danger {
    color: var(--sp-danger) !important;
    border-color: var(--sp-danger) !important;
}

.btn-outline-danger:hover {
    background-color: var(--sp-danger) !important;
    color: #fff !important;
}

.btn:disabled, .btn.disabled { opacity: 0.45; }

.btn-link { color: var(--sp-accent) !important; }
.btn-link:hover { color: var(--sp-accent-hi) !important; }

/* ---- alerts ---- */
.alert {
    border: 1px solid var(--sp-border);
}

.alert-success {
    background-color: #0f3d1f !important;
    color: #c6f0d4 !important;
    border-color: var(--sp-success) !important;
}

.alert-danger {
    background-color: #4a1216 !important;
    color: #ffd3d5 !important;
    border-color: var(--sp-danger) !important;
}

.alert-warning {
    background-color: #443309 !important;
    color: #f5e0a7 !important;
    border-color: var(--sp-warning) !important;
}

.alert-info, .alert-primary {
    background-color: #0d3a5e !important;
    color: #dceefb !important;
    border-color: var(--sp-accent) !important;
}

.alert-secondary, .alert-light {
    background-color: var(--sp-bg-alt) !important;
    color: var(--sp-text) !important;
    border-color: var(--sp-border) !important;
}

/* ---- badges ---- */
.badge {
    font-weight: 500;
}

.badge-primary {
    background-color: var(--sp-accent) !important;
    color: #fff !important;
}

.badge-secondary {
    background-color: var(--sp-bg-hover) !important;
    color: var(--sp-text) !important;
    border: 1px solid var(--sp-border);
}

.badge-success {
    background-color: var(--sp-success) !important;
    color: #fff !important;
}

.badge-warning {
    background-color: var(--sp-warning) !important;
    color: #0d1117 !important;
}

.badge-danger {
    background-color: var(--sp-danger) !important;
    color: #fff !important;
}

.badge-info {
    background-color: var(--sp-info) !important;
    color: #fff !important;
}

.badge-light {
    background-color: var(--sp-bg-hover) !important;
    color: var(--sp-text) !important;
}

.badge-dark {
    background-color: var(--sp-bg) !important;
    color: var(--sp-text) !important;
}

/* ---- list-group ---- */
.list-group-item {
    background-color: var(--sp-bg-alt) !important;
    border-color: var(--sp-border) !important;
    color: var(--sp-text) !important;
}

.list-group-item:hover {
    background-color: var(--sp-bg-hover) !important;
}

.list-group-item.active {
    background-color: var(--sp-accent) !important;
    border-color: var(--sp-accent) !important;
    color: #fff !important;
}

.list-group-item-action:hover, .list-group-item-action:focus {
    background-color: var(--sp-bg-hover) !important;
    color: var(--sp-accent-hi) !important;
}

/* ---- dropdowns ---- */
.dropdown-menu {
    background-color: var(--sp-bg-alt) !important;
    border: 1px solid var(--sp-border) !important;
    box-shadow: var(--sp-shadow) !important;
}

.dropdown-item {
    color: var(--sp-text) !important;
}

.dropdown-item:hover, .dropdown-item:focus {
    background-color: var(--sp-bg-hover) !important;
    color: var(--sp-accent-hi) !important;
}

.dropdown-item.active, .dropdown-item:active {
    background-color: var(--sp-accent) !important;
    color: #fff !important;
}

.dropdown-divider {
    border-top-color: var(--sp-border) !important;
}

.dropdown-header {
    color: var(--sp-text-muted) !important;
}

/* ---- modals ---- */
.modal-content {
    background-color: var(--sp-bg-alt) !important;
    border: 1px solid var(--sp-border) !important;
    color: var(--sp-text) !important;
}

.modal-header, .modal-footer {
    border-color: var(--sp-border) !important;
}

.modal-title { color: var(--sp-text) !important; }

.modal-backdrop.show { opacity: 0.75 !important; }

.close {
    color: var(--sp-text) !important;
    text-shadow: none !important;
    opacity: 0.7;
}

.close:hover {
    color: var(--sp-accent-hi) !important;
    opacity: 1;
}

/* ---- tabs / nav-pills ---- */
.nav-tabs {
    border-bottom-color: var(--sp-border) !important;
}

.nav-tabs .nav-link {
    color: var(--sp-text-dim) !important;
    border: 1px solid transparent !important;
}

.nav-tabs .nav-link:hover {
    border-color: var(--sp-border-soft) var(--sp-border-soft) var(--sp-border) !important;
    color: var(--sp-text) !important;
    background-color: transparent !important;
}

.nav-tabs .nav-link.active {
    background-color: var(--sp-bg-alt) !important;
    border-color: var(--sp-border) var(--sp-border) var(--sp-bg-alt) !important;
    color: var(--sp-accent-hi) !important;
}

.nav-pills .nav-link {
    color: var(--sp-text) !important;
}

.nav-pills .nav-link:hover {
    background-color: var(--sp-bg-hover) !important;
    color: var(--sp-accent-hi) !important;
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    background-color: var(--sp-accent) !important;
    color: #fff !important;
}

/* ---- pagination ---- */
.pagination .page-link {
    background-color: var(--sp-bg-alt) !important;
    border-color: var(--sp-border) !important;
    color: var(--sp-text) !important;
}

.pagination .page-link:hover {
    background-color: var(--sp-bg-hover) !important;
    border-color: var(--sp-border) !important;
    color: var(--sp-accent-hi) !important;
}

.pagination .page-item.active .page-link {
    background-color: var(--sp-accent) !important;
    border-color: var(--sp-accent) !important;
    color: #fff !important;
}

.pagination .page-item.disabled .page-link {
    background-color: var(--sp-bg) !important;
    border-color: var(--sp-border) !important;
    color: var(--sp-text-muted) !important;
}

/* ---- breadcrumbs ---- */
.breadcrumb {
    background-color: transparent !important;
    padding-left: 0;
}

.breadcrumb-item a {
    color: var(--sp-text-dim) !important;
}

.breadcrumb-item a:hover {
    color: var(--sp-accent-hi) !important;
}

.breadcrumb-item.active {
    color: var(--sp-text) !important;
}

.breadcrumb-item + .breadcrumb-item::before {
    color: var(--sp-text-muted) !important;
}

/* ---- progress bars ---- */
.progress {
    background-color: var(--sp-bg-hover) !important;
}

.progress-bar {
    background-color: var(--sp-accent) !important;
}

/* ---- tooltips / popovers ---- */
.tooltip-inner {
    background-color: #000 !important;
    color: var(--sp-text) !important;
}

.popover {
    background-color: var(--sp-bg-alt) !important;
    border-color: var(--sp-border) !important;
}

.popover-header {
    background-color: var(--sp-bg) !important;
    border-color: var(--sp-border) !important;
    color: var(--sp-text) !important;
}

.popover-body { color: var(--sp-text) !important; }

/* ---- links ---- */
a, a:visited { color: var(--sp-accent) !important; }
a:hover { color: var(--sp-accent-hi) !important; }

/* sendportal uses #0056b3 for body links */
body a, body a:active { color: var(--sp-accent) !important; }
body a:hover { color: var(--sp-accent-hi) !important; }

/* sendportal purple branding colors — remap to accent */
.text-primary, a.color-purple-500, .color-purple-500 { color: var(--sp-accent) !important; }
.bg-purple-100 { background-color: var(--sp-bg-alt) !important; }
.bg-purple-500 { background-color: var(--sp-accent) !important; }

/* Keep email preview / WYSIWYG iframes light-themed */
iframe[src*="preview"], iframe.preview, .email-preview iframe {
    background-color: #fff !important;
}

/* ---- summernote editor (rich text) ---- */
.note-editor, .note-editor .note-editing-area,
.note-editor .note-toolbar, .note-editor .note-statusbar {
    background-color: var(--sp-bg-alt) !important;
    border-color: var(--sp-border) !important;
    color: var(--sp-text) !important;
}

.note-editor .note-btn, .note-btn-group .note-btn {
    background-color: var(--sp-bg-hover) !important;
    border-color: var(--sp-border) !important;
    color: var(--sp-text) !important;
}

.note-editor .note-btn:hover {
    background-color: var(--sp-bg) !important;
    color: var(--sp-accent-hi) !important;
}

.note-editable {
    background-color: #fff !important;
    color: #000 !important;
}
/* Editing area stays light — that's what the email will look like */

/* ---- code / pre ---- */
code, pre, kbd {
    background-color: var(--sp-code-bg) !important;
    color: #e6edf3 !important;
    border: 1px solid var(--sp-border);
    border-radius: 3px;
    padding: 0.1em 0.3em;
}

pre { padding: 1em; }

/* ---- hr ---- */
hr {
    border-top-color: var(--sp-border) !important;
}

/* ---- scrollbar (webkit) ---- */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--sp-bg); }
::-webkit-scrollbar-thumb { background: var(--sp-border); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #3a4250; }

/* ---- bg-* utilities Bootstrap helpers ---- */
.bg-white { background-color: var(--sp-bg-alt) !important; }
.bg-light { background-color: var(--sp-bg-alt) !important; }
.bg-dark { background-color: var(--sp-bg) !important; }
.bg-body { background-color: var(--sp-bg) !important; }

.text-dark { color: var(--sp-text) !important; }
.text-light { color: var(--sp-text) !important; }
.text-white { color: var(--sp-text) !important; }
.text-black { color: var(--sp-text) !important; }
.text-primary { color: var(--sp-accent) !important; }
.text-secondary { color: var(--sp-text-dim) !important; }
.text-success { color: var(--sp-success) !important; }
.text-warning { color: var(--sp-warning) !important; }
.text-danger { color: var(--sp-danger) !important; }
.text-info { color: var(--sp-info) !important; }

.border { border-color: var(--sp-border) !important; }
.border-top { border-top-color: var(--sp-border) !important; }
.border-right { border-right-color: var(--sp-border) !important; }
.border-bottom { border-bottom-color: var(--sp-border) !important; }
.border-left { border-left-color: var(--sp-border) !important; }

/* ---- sendportal-specific overrides ---- */

/* nav-pills active underline */
.nav-pills a.nav-link { color: var(--sp-text) !important; }
.nav-pills a.nav-link.active,
.nav-pills a.nav-link:hover {
    border-bottom: 4px solid var(--sp-accent) !important;
    color: var(--sp-accent-hi) !important;
}

/* pagination (sendportal uses #1e2442) */
ul.pagination .page-item.active .page-link {
    background-color: var(--sp-accent) !important;
    border-color: var(--sp-accent) !important;
    color: #fff !important;
}
ul.pagination .page-link { color: var(--sp-accent) !important; }

/* badge color overrides (sendportal tints) */
.badge-success {
    background-color: #0f3d1f !important;
    color: #c6f0d4 !important;
}
.badge-danger {
    background-color: #4a1216 !important;
    color: #ffd3d5 !important;
}
.badge-warning {
    background-color: #443309 !important;
    color: #f5e0a7 !important;
}
.badge-info {
    background-color: #0d3a5e !important;
    color: #dceefb !important;
}
.badge-light {
    background-color: var(--sp-bg-hover) !important;
    color: var(--sp-text) !important;
}

/* bg-success tint used inline */
.bg-success {
    background-color: #0f3d1f !important;
    color: #c6f0d4 !important;
}

/* widget cards (dashboard) */
.widget {
    background-color: var(--sp-bg-alt) !important;
    border-bottom: 3px solid var(--sp-accent) !important;
    color: var(--sp-text) !important;
}
.widget .fal, .widget .fas {
    color: var(--sp-text-dim) !important;
}

/* empty-table message */
.empty-table-text { color: var(--sp-text-muted) !important; }

/* select2 (used in tag pickers) */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    background-color: var(--sp-bg-input) !important;
    border: 1px solid var(--sp-border) !important;
    color: var(--sp-text) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--sp-text) !important; }
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--sp-text-muted) !important; }
.select2-dropdown {
    background-color: var(--sp-bg-alt) !important;
    border: 1px solid var(--sp-border) !important;
    color: var(--sp-text) !important;
}
.select2-results__option { color: var(--sp-text) !important; }
.select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--sp-accent) !important;
    color: #fff !important;
}
.select2-search--dropdown .select2-search__field {
    background-color: var(--sp-bg-input) !important;
    border: 1px solid var(--sp-border) !important;
    color: var(--sp-text) !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--sp-accent) !important;
    border-color: var(--sp-accent) !important;
    color: #fff !important;
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border: 1px solid var(--sp-accent) !important;
    box-shadow: 0 0 0 0.2rem rgba(46,160,240,0.25) !important;
}

/* bootstrap-select */
.bootstrap-select > .dropdown-toggle {
    background-color: var(--sp-bg-input) !important;
    border-color: var(--sp-border) !important;
    color: var(--sp-text) !important;
}
.filter-option-inner-inner { color: var(--sp-text) !important; }

/* summernote rich-text editor toolbar (body area stays white for email editing) */
.note-editor.note-frame {
    border: 1px solid var(--sp-border) !important;
}
.note-editor.note-frame .note-toolbar {
    background-color: var(--sp-bg-alt) !important;
    border-bottom: 1px solid var(--sp-border) !important;
}
.note-editor.note-frame .note-statusbar {
    background-color: var(--sp-bg-alt) !important;
    border-top: 1px solid var(--sp-border) !important;
}

/* sendportal checkbox/radio replacements (abc-checkbox) */
.abc-checkbox label:before, .abc-radio label:before {
    background-color: var(--sp-bg-input) !important;
    border: 1px solid var(--sp-border) !important;
}
.abc-checkbox-primary input[type=checkbox]:checked + label:before,
.abc-checkbox-primary input[type=radio]:checked + label:before {
    background-color: var(--sp-accent) !important;
    border-color: var(--sp-accent) !important;
}
