/* SuraqHub Admin Dark Mode Overlay */
@import url('inter.css');

:root {
    --primary: #3b82f6;
    --primary-hover: #2563eb;
    --action-bg: #1d4ed8;
    --action-hover: #1e40af;
    --focus-color: #60a5fa;
    --accent: #3b82f6;
    --accent-hover: #2563eb;
    --secondary: #94a3b8;
    --success: #10b981;
    --danger: #f87171;
    --warning: #fbbf24;
    --info: #60a5fa;
    --light: #334155;
    --dark: #f8fafc;
    --bg-body: #0f172a;
    --bg-card: #1e293b;
    --bg-panel: #111827;
    --bg-input: #0f172a;
    --text-main: #f1f5f9;
    --text-muted: #cbd5e1;
    --text-light: #94a3b8;
    --border-color: #64748b;
    /* Canonical design-token bridge for admin components */
    --background: var(--bg-body);
    --foreground: var(--text-main);
    --card: var(--bg-card);
    --card-foreground: var(--text-main);
    --border: var(--border-color);
    --muted: var(--bg-panel);
    --muted-foreground: var(--text-muted);
    --ring: var(--accent);
    --shadow: none;
    --shadow-lg: 0 18px 42px rgba(0, 0, 0, 0.45);
    --header-logo-color: #f8fafc;
    --header-logo-accent: #bfdbfe;
    --header-muted-color: #cbd5e1;
    --header-action-color: #cbd5e1;
    --header-action-border: #64748b;
    --header-action-bg: transparent;
    --header-action-hover-color: #ffffff;
    --header-action-hover-border: #94a3b8;
    --header-action-hover-bg: #263449;
    --focus-ring: 0 0 0 3px rgba(59, 130, 246, 0.32);
}

html.dark,
body.dark,
body {
    background: var(--bg-body) !important;
    color: var(--text-main) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
strong,
b,
.text-dark {
    color: var(--text-main) !important;
}

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

.text-primary {
    color: var(--primary) !important;
}

hr {
    border-color: var(--border-color) !important;
}

.header-bg {
    background: var(--bg-card) !important;
    border-bottom: 1px solid var(--border-color) !important;
    box-shadow: none !important;
}

.header-bg .btn-outline-light,
.btn-help-context,
.btn-outline-secondary {
    background: transparent !important;
    border-color: #64748b !important;
    color: var(--text-muted) !important;
}

.header-bg .btn-outline-light:hover,
.btn-help-context:hover,
.btn-outline-secondary:hover {
    background: #263449 !important;
    color: #ffffff !important;
}

.card,
.modal-content,
.dropdown-menu,
#search-results,
.border.rounded,
#builder-container,
#formio_render,
.preview-box,
#form-info-panel,
#inp-required-roles-container {
    background: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-main) !important;
    box-shadow: var(--shadow) !important;
}

.card-header,
.card-footer,
.modal-header,
.modal-footer,
.bg-white,
.bg-light,
.input-group-text,
.list-group-item {
    background: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-main) !important;
}

.card-header span,
.card-header b,
.card-header h5,
.card-title {
    color: var(--text-main) !important;
}

.alert-info {
    background: #164e63 !important;
    border-color: #0891b2 !important;
    color: #cffafe !important;
}

.alert-warning {
    background: #451a03 !important;
    border-color: #b45309 !important;
    color: #fde68a !important;
}

.alert-secondary {
    background: #1f2d42 !important;
    border-color: #475569 !important;
    color: #dbe4f0 !important;
}

.alert-secondary .text-muted,
.alert-secondary small,
.alert-secondary strong,
.alert-secondary b {
    color: #dbe4f0 !important;
}

.alert-secondary .fa,
.alert-secondary .fas {
    color: #93c5fd !important;
}

.alert-danger {
    background: #450a0a !important;
    border-color: #dc2626 !important;
    color: #fecaca !important;
}

.form-control,
.form-control-sm,
.form-control-lg,
.custom-select,
select,
textarea,
input[type="text"],
input[type="number"],
input[type="datetime-local"],
input[type="search"] {
    background-color: var(--bg-input) !important;
    border-color: var(--border-color) !important;
    color: var(--text-main) !important;
    box-shadow: none !important;
}

.form-control:focus,
.custom-select:focus,
select:focus,
textarea:focus,
input:focus {
    background-color: var(--bg-input) !important;
    border-color: var(--primary) !important;
    color: var(--text-main) !important;
    box-shadow: var(--focus-ring) !important;
}

.form-control::placeholder,
textarea::placeholder,
input::placeholder {
    color: #94a3b8 !important;
}

.form-control:disabled,
.form-control[readonly],
.custom-select:disabled,
select:disabled,
textarea:disabled,
input:disabled {
    background: #111827 !important;
    color: #cbd5e1 !important;
    opacity: 1;
}

.input-group-text {
    color: var(--text-muted) !important;
}

.input-group .input-group-text,
.input-group-prepend .input-group-text,
.input-group-append .input-group-text,
#slug-prefix {
    background: #0f172a !important;
    border-color: #334155 !important;
    color: #94a3b8 !important;
}

.publication-url-group,
body.dark-mode .publication-url-group,
body.dark .publication-url-group {
    background: #0f172a !important;
    background-color: #0f172a !important;
    border: 1px solid #334155 !important;
}

body.dark-mode .publication-url-group:focus-within,
body.dark .publication-url-group:focus-within {
    border-color: #38bdf8 !important;
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.25) !important;
}

.publication-url-group #inp-slug,
.publication-url-group #inp-slug:focus,
.publication-url-group #inp-slug:active,
.publication-url-group #inp-slug:hover,
body.dark-mode .publication-url-group #inp-slug,
body.dark-mode .publication-url-group #inp-slug:focus,
body.dark-mode .publication-url-group #inp-slug:active,
body.dark-mode .publication-url-group #inp-slug:hover,
body.dark .publication-url-group #inp-slug,
body.dark .publication-url-group #inp-slug:focus {
    background: #0f172a !important;
    background-color: #0f172a !important;
    border-color: #334155 !important;
    color: #f8fafc !important;
    box-shadow: none !important;
    outline: none !important;
}

.publication-url-group #btn-visit-form,
body.dark-mode .publication-url-group #btn-visit-form,
body.dark .publication-url-group #btn-visit-form {
    background: #1e293b !important;
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #38bdf8 !important;
}

.publication-url-group #btn-visit-form:hover:not(:disabled),
body.dark-mode .publication-url-group #btn-visit-form:hover:not(:disabled),
body.dark .publication-url-group #btn-visit-form:hover:not(:disabled) {
    background: #2563eb !important;
    background-color: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
}

.publication-url-group.is-locked #slug-prefix,
.publication-url-group.is-locked #inp-slug {
    background: #0b1120 !important;
    background-color: #0b1120 !important;
    border-color: #334155 !important;
}

.publication-url-group.is-locked #slug-prefix {
    color: #cbd5e1 !important;
}

.publication-editor small.text-muted,
.publication-editor .form-text,
.publication-editor .custom-switch .custom-control-label small {
    color: #cbd5e1 !important;
}

.date-input-group .input-group-text,
.date-input-group .date-picker-trigger {
    background: #172033 !important;
    color: #bfdbfe !important;
}

.publication-schedule {
    --schedule-accent: #60a5fa;
    --schedule-accent-soft: rgba(37, 99, 235, .16);
    --schedule-border: #64748b;
    --schedule-surface: #111827;
    background:
        radial-gradient(circle at 100% 0, rgba(59, 130, 246, .14), transparent 36%),
        linear-gradient(145deg, #111827 0%, #0f172a 100%);
    border-color: #64748b;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .2);
}

.publication-schedule-heading h3 {
    color: #f1f5f9;
}

.publication-schedule-heading p {
    color: #94a3b8;
}

.publication-timezone-badge {
    border-color: #1e4f91;
    background: rgba(30, 64, 175, .18);
    color: #bfdbfe;
}

.schedule-mode-selector label {
    border-color: #64748b;
    background: rgba(23, 32, 51, .8);
    color: #94a3b8;
}

.schedule-mode-selector label:hover {
    border-color: #4f79b2;
}

.schedule-mode-selector label > i,
.schedule-mode-selector label small {
    color: #94a3b8;
}

.schedule-mode-selector label strong,
.schedule-date-card > label {
    color: #dbe7f5;
}

.schedule-mode-selector input:checked + label {
    border-color: #3b82f6;
    background: rgba(37, 99, 235, .17);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .12);
}

.schedule-node-marker {
    border-color: #3b82f6;
    background: #111827;
    color: #93c5fd;
    box-shadow: 0 0 0 4px rgba(30, 64, 175, .2);
}

.schedule-date-card > small,
.schedule-end-input > small {
    color: #94a3b8;
}

.schedule-summary {
    border-color: rgba(52, 211, 153, .25);
    background: rgba(6, 78, 59, .22);
    color: #bbf7d0;
}

.schedule-summary.is-guidance {
    border-color: rgba(96, 165, 250, .3);
    background: rgba(30, 64, 175, .2);
    color: #bfdbfe;
}

.schedule-summary.is-error {
    border-color: rgba(248, 113, 113, .32);
    background: rgba(127, 29, 29, .22);
    color: #fecaca;
}

.publication-readiness {
    --readiness-surface: #111827;
    --readiness-surface-muted: #172033;
    --readiness-border: #64748b;
    --readiness-text: #f1f5f9;
    --readiness-muted: #cbd5e1;
    --readiness-accent: #60a5fa;
    --readiness-accent-soft: rgba(30, 64, 175, .28);
    --readiness-success: #6ee7b7;
    --readiness-success-soft: rgba(6, 78, 59, .32);
    --readiness-warning: #fbbf24;
    --readiness-warning-soft: rgba(120, 53, 15, .3);
    --readiness-danger: #fca5a5;
    --readiness-danger-soft: rgba(127, 29, 29, .3);
}

.design-guide {
    --readiness-surface: #111827;
    --readiness-surface-muted: #172033;
    --readiness-border: #64748b;
    --readiness-text: #f1f5f9;
    --readiness-muted: #cbd5e1;
    --readiness-accent: #60a5fa;
    --readiness-accent-soft: rgba(30, 64, 175, .28);
    --readiness-success: #6ee7b7;
    --readiness-success-soft: rgba(6, 78, 59, .32);
    --readiness-warning: #fbbf24;
    --readiness-warning-soft: rgba(120, 53, 15, .3);
}

.settings-section-tabs {
    background: #111827;
    border-color: #64748b;
}

.settings-section-tab {
    color: #cbd5e1;
}

.settings-section-tab:hover {
    border-color: #64748b;
    background: #172033;
    color: #f1f5f9;
}

.settings-section-tab.is-active {
    border-color: #60a5fa;
    background: rgba(30, 64, 175, .28);
    color: #93c5fd;
}

.readiness-card {
    box-shadow: 0 16px 36px rgba(0, 0, 0, .24);
}

.readiness-heading-icon {
    color: #08111f;
}

#global-pub-search {
    background: var(--bg-input) !important;
    border-color: var(--border-color) !important;
    color: var(--text-main) !important;
}

#global-pub-search:focus {
    background: var(--bg-input) !important;
    border-color: var(--focus-color) !important;
    color: var(--text-main) !important;
    box-shadow: var(--focus-ring) !important;
}

.btn-light,
.btn-outline-dark,
.btn.border.bg-white,
.btn.bg-white {
    background: #172033 !important;
    border-color: var(--border-color) !important;
    color: var(--text-main) !important;
}

.btn-light:hover,
.btn-outline-dark:hover,
.btn.border.bg-white:hover,
.btn.bg-white:hover {
    background: #263449 !important;
    color: #ffffff !important;
}

.btn-link {
    color: #93c5fd !important;
}

.btn-primary {
    background: var(--action-bg) !important;
    border-color: var(--action-bg) !important;
    color: #ffffff !important;
}

.btn-primary:hover {
    background: var(--action-hover) !important;
    border-color: var(--action-hover) !important;
}

.btn-success {
    background: #047857 !important;
    border-color: #047857 !important;
    color: #ffffff !important;
}

:focus-visible {
    outline-color: var(--focus-color) !important;
    box-shadow: 0 0 0 5px rgba(96, 165, 250, 0.35) !important;
}

body.dark-mode .swal2-popup,
body.dark .swal2-popup,
html.dark .swal2-popup,
.swal2-popup {
    background: #0f172a !important;
    color: #f8fafc !important;
    border: 1px solid #334155 !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6) !important;
}

body.dark-mode .swal2-title,
body.dark .swal2-title,
html.dark .swal2-title,
.swal2-title {
    color: #f8fafc !important;
}

body.dark-mode .swal2-html-container,
body.dark .swal2-html-container,
html.dark .swal2-html-container,
.swal2-html-container {
    color: #94a3b8 !important;
}

body.dark-mode .swal2-popup .form-group label,
body.dark .swal2-popup .form-group label,
html.dark .swal2-popup .form-group label {
    color: #94a3b8 !important;
}

body.dark-mode .swal2-popup .form-control,
body.dark-mode .swal2-popup .custom-select,
body.dark .swal2-popup .form-control,
body.dark .swal2-popup .custom-select,
html.dark .swal2-popup .form-control,
html.dark .swal2-popup .custom-select {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #f1f5f9 !important;
}

body.dark-mode .swal2-popup .form-control:focus,
body.dark-mode .swal2-popup .custom-select:focus,
body.dark .swal2-popup .form-control:focus,
body.dark .swal2-popup .custom-select:focus,
html.dark .swal2-popup .form-control:focus,
html.dark .swal2-popup .custom-select:focus {
    border-color: #38bdf8 !important;
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2) !important;
}

body.dark-mode .swal2-popup select[multiple],
body.dark .swal2-popup select[multiple],
html.dark .swal2-popup select[multiple] {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #f1f5f9 !important;
}

body.dark-mode .swal2-popup select[multiple] option,
body.dark .swal2-popup select[multiple] option,
html.dark .swal2-popup select[multiple] option {
    background-color: #1e293b !important;
    color: #f1f5f9 !important;
}

body.dark-mode .swal2-popup select[multiple] option:checked,
body.dark .swal2-popup select[multiple] option:checked,
html.dark .swal2-popup select[multiple] option:checked {
    background-color: #2563eb !important;
    color: #ffffff !important;
}

body.dark-mode select[multiple],
body.dark select[multiple],
html.dark select[multiple],
.swal2-popup select[multiple] {
    scrollbar-width: thin;
    scrollbar-color: #475569 #1e293b;
}

body.dark-mode select[multiple]::-webkit-scrollbar,
body.dark select[multiple]::-webkit-scrollbar,
html.dark select[multiple]::-webkit-scrollbar,
.swal2-popup select[multiple]::-webkit-scrollbar {
    width: 6px;
}

body.dark-mode select[multiple]::-webkit-scrollbar-track,
body.dark select[multiple]::-webkit-scrollbar-track,
html.dark select[multiple]::-webkit-scrollbar-track,
.swal2-popup select[multiple]::-webkit-scrollbar-track {
    background: #1e293b;
    border-radius: 4px;
}

body.dark-mode select[multiple]::-webkit-scrollbar-thumb,
body.dark select[multiple]::-webkit-scrollbar-thumb,
html.dark select[multiple]::-webkit-scrollbar-thumb,
.swal2-popup select[multiple]::-webkit-scrollbar-thumb {
    background: #475569;
    border-radius: 4px;
}

body.dark-mode .swal2-popup .custom-switch .custom-control-label,
body.dark .swal2-popup .custom-switch .custom-control-label,
html.dark .swal2-popup .custom-switch .custom-control-label {
    color: #f1f5f9 !important;
}

body.dark-mode .swal2-popup .swal2-validation-message,
body.dark .swal2-popup .swal2-validation-message,
html.dark .swal2-popup .swal2-validation-message,
.swal2-popup .swal2-validation-message {
    background-color: rgba(239, 68, 68, 0.15) !important;
    background: rgba(239, 68, 68, 0.15) !important;
    color: #fca5a5 !important;
    border: 1px solid rgba(239, 68, 68, 0.35) !important;
    border-radius: 8px !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    margin-top: 1.25rem !important;
    padding: 0.65rem 1rem !important;
}

body.dark-mode .swal2-popup .swal2-validation-message:empty,
body.dark .swal2-popup .swal2-validation-message:empty,
.swal2-popup .swal2-validation-message:empty,
.swal2-popup .swal2-validation-message[style*="display: none"],
.swal2-popup .swal2-validation-message:not([style*="display: flex"]) {
    display: none !important;
}

body.dark-mode .swal2-styled.swal2-cancel,
body.dark-mode .swal2-styled.swal2-deny,
body.dark .swal2-styled.swal2-cancel,
body.dark .swal2-styled.swal2-deny,
html.dark .swal2-styled.swal2-cancel,
html.dark .swal2-styled.swal2-deny,
.swal2-styled.swal2-cancel,
.swal2-styled.swal2-deny {
    background-color: #1e293b !important;
    background: #1e293b !important;
    border: 1px solid #475569 !important;
    color: #f1f5f9 !important;
    box-shadow: none !important;
}

body.dark-mode .swal2-styled.swal2-cancel:hover,
body.dark-mode .swal2-styled.swal2-deny:hover,
body.dark .swal2-styled.swal2-cancel:hover,
body.dark .swal2-styled.swal2-deny:hover,
html.dark .swal2-styled.swal2-cancel:hover,
html.dark .swal2-styled.swal2-deny:hover,
.swal2-styled.swal2-cancel:hover,
.swal2-styled.swal2-deny:hover {
    background-color: #334155 !important;
    background: #334155 !important;
    border-color: #64748b !important;
    color: #ffffff !important;
}

body.dark-mode .table,
body.dark .table,
html.dark .table,
.table {
    color: var(--text-main, #f1f5f9) !important;
    background-color: transparent !important;
}

body.dark-mode .table th,
body.dark-mode .table td,
body.dark-mode .thead-light th,
body.dark .table th,
body.dark .table td,
body.dark .thead-light th,
.table th,
.table td,
.thead-light th {
    background-color: #0f172a !important;
    border-color: #334155 !important;
    color: #f1f5f9 !important;
}

body.dark-mode .table th,
body.dark-mode .thead-light th,
body.dark .table th,
body.dark .thead-light th,
.table th,
.thead-light th {
    background-color: #1e293b !important;
    color: #94a3b8 !important;
    border-bottom: 1px solid #334155 !important;
}

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

body.dark-mode .table-striped tbody tr:nth-of-type(odd) td,
body.dark .table-striped tbody tr:nth-of-type(odd) td {
    background-color: #162032 !important;
}

body.dark-mode .table-striped tbody tr:nth-of-type(even),
body.dark .table-striped tbody tr:nth-of-type(even) {
    background-color: #0f172a !important;
}

body.dark-mode .table-striped tbody tr:nth-of-type(even) td,
body.dark .table-striped tbody tr:nth-of-type(even) td {
    background-color: #0f172a !important;
}

body.dark-mode .table-hover tbody tr:hover,
body.dark-mode .table-hover tbody tr:hover td,
body.dark .table-hover tbody tr:hover,
body.dark .table-hover tbody tr:hover td,
.search-item:hover,
.search-item[aria-selected="true"] {
    background-color: #1e293b !important;
    color: #ffffff !important;
}

.table-primary,
.table-primary > th,
.table-primary > td {
    background: rgba(59, 130, 246, 0.18) !important;
    color: #bfdbfe !important;
}

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

.dropdown-item:hover,
.dropdown-item.active {
    background: #263449 !important;
    color: #ffffff !important;
}

body.dark-mode .nav-tabs,
body.dark .nav-tabs,
html.dark .nav-tabs,
.nav-tabs {
    border-color: #334155 !important;
}

body.dark-mode .nav-tabs .nav-link,
body.dark .nav-tabs .nav-link,
html.dark .nav-tabs .nav-link,
.nav-tabs .nav-link {
    color: #94a3b8 !important;
    border: 1px solid transparent !important;
    background: transparent !important;
}

body.dark-mode .nav-tabs .nav-link:hover,
body.dark .nav-tabs .nav-link:hover,
html.dark .nav-tabs .nav-link:hover {
    color: #f1f5f9 !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: transparent !important;
}

body.dark-mode .nav-tabs .nav-link.active,
body.dark .nav-tabs .nav-link.active,
html.dark .nav-tabs .nav-link.active {
    color: #38bdf8 !important;
    background-color: #1e293b !important;
    border-color: #334155 #334155 #1e293b !important;
    font-weight: 600 !important;
}

.nav-tabs .nav-link:hover {
    border-color: var(--border-color) !important;
    color: var(--text-main) !important;
}

.nav-tabs .nav-link.active {
    background: var(--bg-card) !important;
    border-color: var(--border-color) var(--border-color) transparent !important;
    color: #93c5fd !important;
}

.sidebar-column {
    background: var(--bg-card) !important;
    border-right: 1px solid var(--border-color);
}

.sidebar-column .card {
    background: transparent !important;
    border: none !important;
}

.sidebar-column .list-group-item {
    background: transparent !important;
    border-color: transparent !important;
    color: var(--text-light) !important;
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 46px;
}

.sidebar-column .list-group-item i {
    width: 22px;
    min-width: 22px;
    margin-right: 0 !important;
    line-height: 1;
    text-align: center;
}

.sidebar-column .list-group-item span {
    min-width: 0;
    line-height: 1.25;
}

.sidebar-column .list-group-item:hover:not(.active) {
    background: #263449 !important;
    color: #ffffff !important;
}

.sidebar-column .list-group-item.active {
    background: rgba(59, 130, 246, 0.16) !important;
    box-shadow: inset 3px 0 0 var(--primary);
    color: #dbeafe !important;
}

.sidebar-column .list-group-item.active i {
    color: #bfdbfe !important;
}

.custom-control-label {
    color: var(--text-main) !important;
}

/* Контролы BS4-шимы (чекбоксы/свитчи) в тёмной теме. Светлый трек #e2e8f0
   здесь запрещён: он давал белую «таблетку» с невидимым белым бегунком
   (контраст бегунка ~1.2:1). #334155 + граница #64748b дают границу ~3.3:1
   к карточке, белый бегунок — ~10:1 к треку (WCAG 1.4.11). */
.custom-control-label::before {
    background: #334155 !important;
    border-color: #64748b !important;
}

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

.custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: var(--focus-ring) !important;
}

.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    background: #475569 !important;
    border-color: #64748b !important;
}

.custom-control-input:disabled ~ .custom-control-label {
    color: var(--text-muted) !important;
}

.custom-control-input:disabled ~ .custom-control-label::before {
    background: var(--bg-card) !important;
    border-color: #475569 !important;
}

.custom-switch .custom-control-input:disabled ~ .custom-control-label::after {
    background-color: #64748b !important;
}

/* Нативные BS5-контролы (радио импорта справочников) — та же тёмная схема */
.form-check-input {
    background-color: #334155 !important;
    border-color: #64748b !important;
}

.form-check-input:checked {
    background-color: var(--accent) !important;
    border-color: var(--accent) !important;
}

.badge-light,
.badge-secondary {
    background: #334155 !important;
    color: #e2e8f0 !important;
}

.badge-info {
    background: #1e3a8a !important;
    color: #bfdbfe !important;
}

.badge-success {
    background: #064e3b !important;
    color: #a7f3d0 !important;
}

.badge-warning {
    background: #78350f !important;
    color: #fde68a !important;
}

.badge-danger {
    background: #7f1d1d !important;
    color: #fecaca !important;
}

.translation-input,
#translations-table textarea {
    min-height: 58px;
    background: var(--bg-input) !important;
    color: var(--text-main) !important;
}

#translations-table {
    background: var(--bg-card) !important;
}

#translations-table .form-control {
    border-color: #64748b !important;
}

#report-fields-select option {
    background: var(--bg-input);
    color: var(--text-main);
}

#builder-container,
#builder,
.suraqhub-builder-workspace,
.formbuilder,
.formarea,
.formcomponents {
    background: var(--bg-card) !important;
    color: var(--text-main) !important;
}

#builder .formarea {
    background: #111827 !important;
    border-color: #3b82f6 !important;
}

#builder .formio-component-panel,
#builder .component-settings,
#builder .card,
#builder .card-body,
#builder .card-header,
#builder .panel,
#builder .panel-body,
#builder .list-group-item {
    background: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-main) !important;
}

#builder .builder-sidebar_search,
#builder .builder-sidebar .form-control,
#builder .form-control,
#builder .custom-select {
    background: var(--bg-input) !important;
    border-color: var(--border-color) !important;
    color: var(--text-main) !important;
}

#builder .builder-group-button,
#builder .component-btn-group .btn,
#builder .btn-light,
#builder .btn-default {
    background: #1f2d42 !important;
    border-color: #3b82f6 !important;
    color: #93c5fd !important;
}

#builder .builder-group-button:hover,
#builder .component-btn-group .btn:hover {
    background: #263449 !important;
    color: #dbeafe !important;
}

#builder .formio-component,
#builder .formio-component label,
#builder .formio-component .control-label,
#builder .builder-component,
#builder .component-label {
    color: var(--text-main) !important;
}

#builder .formio-builder-form,
#builder .formio-builder-form .card,
#builder .formio-builder-form .card-body {
    background: #1f2d42 !important;
}

.apexcharts-canvas text,
.apexcharts-text,
.apexcharts-xaxis-label,
.apexcharts-yaxis-label,
.apexcharts-legend-text {
    fill: var(--text-muted) !important;
    color: var(--text-muted) !important;
}

.apexcharts-gridline,
.apexcharts-xaxis-tick,
.apexcharts-yaxis line,
.apexcharts-xaxis line {
    stroke: #64748b !important;
}

/* Стилизация панели инструментов и меню экспорта ApexCharts в темной теме */
.apexcharts-toolbar {
    z-index: 11 !important;
}

.apexcharts-toolbar svg {
    fill: #94a3b8 !important;
    transition: fill 0.2s ease !important;
}

.apexcharts-toolbar svg:hover {
    fill: #38bdf8 !important;
}

.apexcharts-menu {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5) !important;
    border-radius: 8px !important;
    padding: 6px 0 !important;
    min-width: 140px !important;
    color: #f1f5f9 !important;
}

.apexcharts-menu-item {
    color: #cbd5e1 !important;
    font-size: 0.85rem !important;
    padding: 8px 16px !important;
    transition: background 0.15s ease, color 0.15s ease !important;
}

.apexcharts-menu-item:hover {
    background: #2563eb !important;
    color: #ffffff !important;
}

.ace_editor,
.ace_gutter,
.ace_scroller {
    border-color: var(--border-color) !important;
}

.flatpickr-calendar {
    background: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    box-shadow: var(--shadow-lg) !important;
    color: var(--text-main) !important;
}

.flatpickr-calendar .flatpickr-months .flatpickr-prev-month,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month {
    color: #dbeafe !important;
    fill: currentColor !important;
}

.flatpickr-calendar .flatpickr-months .flatpickr-prev-month svg,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month svg,
.flatpickr-calendar .flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month svg path {
    fill: currentColor !important;
}

.flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover,
.flatpickr-calendar .flatpickr-months .flatpickr-prev-month:focus-visible,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month:focus-visible {
    color: #ffffff !important;
}

.flatpickr-calendar .flatpickr-months .flatpickr-prev-month:focus-visible,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month:focus-visible {
    outline: 2px solid var(--focus-color) !important;
    outline-offset: -2px;
    border-radius: 4px;
}

.flatpickr-day,
.flatpickr-weekday,
.flatpickr-current-month,
.flatpickr-monthDropdown-months,
.numInput {
    color: var(--text-main) !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year,
.flatpickr-time input,
.flatpickr-time .flatpickr-am-pm {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--text-main) !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    color-scheme: dark !important;
    background-color: var(--bg-card) !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months option {
    color-scheme: dark !important;
    background: var(--bg-card) !important;
    color: var(--text-main) !important;
}

.flatpickr-time input:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time .flatpickr-am-pm:focus {
    background: #263449 !important;
}

.flatpickr-day:hover,
.flatpickr-day:focus {
    background: #263449 !important;
}

/* Settings tab hardening: AA contrast and native-control polish in dark mode. */
#form-system-settings label,
#form-system-settings .font-weight-bold.text-muted {
    color: #e5edf8 !important;
}

#form-system-settings small.text-muted,
#form-system-settings .form-text,
#form-system-settings [aria-describedby] + small {
    color: #cbd5e1 !important;
}

#form-system-settings .form-control,
#form-system-settings .custom-select,
#form-system-settings select {
    background-color: #0f172a !important;
    border-color: #7c8da6 !important;
    color: #f8fafc !important;
}

#form-system-settings .form-control:focus,
#form-system-settings .custom-select:focus,
#form-system-settings select:focus {
    border-color: #60a5fa !important;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.45) !important;
}

#form-system-settings .input-group-text {
    background: #172033 !important;
    border-color: #7c8da6 !important;
    color: #dbeafe !important;
}

#form-system-settings #set-timezone {
    color-scheme: dark;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-position: right 1.1rem center !important;
    background-repeat: no-repeat !important;
    background-size: 16px 16px !important;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23e5edf8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

#form-system-settings #set-timezone option {
    background: #0f172a;
    color: #f8fafc;
}

#btn-download-diagnostics {
    color: #67e8f9 !important;
    border-color: #22d3ee !important;
}

#btn-download-diagnostics:hover,
#btn-download-diagnostics:focus {
    background: #164e63 !important;
    color: #ffffff !important;
    border-color: #67e8f9 !important;
}

/* --- Empty State & Dashed Containers in Dark Mode --- */
.border-dashed {
    background: linear-gradient(180deg, rgba(23, 32, 51, 0.85) 0%, rgba(15, 23, 42, 0.95) 100%) !important;
    border: 2px dashed #475569 !important;
    border-radius: 14px !important;
    color: var(--text-main) !important;
}

#form-selector-panel .border-dashed {
    background: linear-gradient(180deg, rgba(23, 32, 51, 0.92) 0%, rgba(15, 23, 42, 0.98) 100%) !important;
    border: 2px dashed #475569 !important;
    border-radius: 14px !important;
    box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.25) !important;
}

#form-selector-panel .border-dashed h4,
#form-selector-panel .border-dashed h4 span {
    color: #f1f5f9 !important;
    font-weight: 600;
}

#form-selector-panel .border-dashed h4 i {
    color: #60a5fa !important;
    margin-right: 6px;
}

#form-selector-panel .border-dashed p {
    color: #94a3b8 !important;
    font-size: 0.95rem;
    margin-top: 0.5rem;
    margin-bottom: 1.75rem;
}

.btn-outline-primary {
    color: #93c5fd !important;
    border-color: #3b82f6 !important;
    background-color: rgba(59, 130, 246, 0.08) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    color: #ffffff !important;
    background-color: #2563eb !important;
    border-color: #2563eb !important;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35) !important;
}

/* --- Dark Mode Branding Sub-tabs & Code Editors --- */
body.dark-mode .branding-subtabs,
body.dark .branding-subtabs {
    border-bottom: 1px solid #334155 !important;
}

body.dark-mode .branding-subtabs .nav-link,
body.dark .branding-subtabs .nav-link {
    color: #94a3b8 !important;
    background: transparent !important;
    border: 1px solid transparent !important;
}

body.dark-mode .branding-subtabs .nav-link:hover,
body.dark .branding-subtabs .nav-link:hover {
    color: #f1f5f9 !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: transparent !important;
}

body.dark-mode .branding-subtabs .nav-link.active,
body.dark .branding-subtabs .nav-link.active {
    color: #38bdf8 !important;
    background-color: #172033 !important;
    border-color: #334155 #334155 #172033 !important;
}

body.dark-mode .branding-section .preview-box,
body.dark .branding-section .preview-box {
    background-color: #0f172a !important;
    border-color: #334155 !important;
    color: #f8fafc !important;
}

body.dark-mode .branding-section .code-editor,
body.dark .branding-section .code-editor {
    background-color: #0f172a !important;
    border-color: #334155 !important;
    color: #f8fafc !important;
}
