/* Dark mode for the X12 Local Editor and X12 JSON Converter. The class is set on <html> by the
   en-skin-mode cookie, and the editors use the matching ace/theme/edination. */

.edn-dark {
    color-scheme: dark;
}

.edn-dark body.edn-tool {
    color: #aab3c5;
    background-color: #0f1623;
}

.edn-dark a {
    color: #8f97ff;
}

.edn-dark a.btn-primary,
.edn-dark a.btn-primary:hover {
    color: #fff;
}

.edn-dark .text-muted {
    color: #8a94a6 !important;
}

/* ---------- Header ---------- */
.edn-dark .header,
.edn-dark .header .branding {
    background-color: #141c2b !important;
    border-color: #263049;
    box-shadow: 0 1px 0 #263049;
}

.edn-dark .header .site-logo .df-logo,
.edn-dark .header .site-logo .df-logo:hover,
.edn-dark .header .site-logo .df-logo:focus {
    color: #eef1f6;
}

.edn-dark .header .site-logo .df-logo span {
    color: #8f97ff;
}

.edn-dark .header .navbar .nav-link {
    color: #aab3c5;
}

.edn-dark .header .navbar .nav-link:hover,
.edn-dark .header .navbar .nav-link:focus {
    color: #eef1f6;
}

.edn-dark .header .navbar .nav-item.active > .nav-link,
.edn-dark .header .navbar .nav-link.active {
    color: #8f97ff;
}

.edn-dark .header .api-key-btn {
    color: #cdd4e0;
}

.edn-dark .header .api-key-btn:hover,
.edn-dark .header .api-key-btn:focus {
    color: #8f97ff;
}

.edn-dark .header .navbar-collapse {
    background-color: #141c2b;
    border-color: #263049;
}

.edn-dark .header .nav-menu .dropdown-item.active {
    background-color: #1f2a4a;
}

.edn-dark .header .nav-menu .theme-icon-holder {
    color: #8f97ff;
    background-color: #1f2a4a;
}

.edn-dark .header .nav-menu .logo-ef-bg {
    background-image: url("../img/edifabric-white.png");
}

.edn-dark .header .nav-menu .nav-menu-label {
    color: #eef1f6;
}

.edn-dark .header .nav-menu .dropdown-item.active .nav-menu-label {
    color: #8f97ff;
}

/* ---------- Dropdowns ---------- */
.edn-dark .dropdown-menu {
    color: #cdd4e0;
    background-color: #172032;
    border-color: #263049;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.35) !important;
}

.edn-dark .dropdown-item {
    color: #cdd4e0;
}

.edn-dark .dropdown-item:hover,
.edn-dark .dropdown-item:focus,
.edn-dark .tool-file .dropdown-item:hover,
.edn-dark .tool-file .dropdown-item:focus,
.edn-dark .tool-actions .dropdown-item:hover,
.edn-dark .tool-actions .dropdown-item:focus,
.edn-dark .header .nav-menu .dropdown-item:hover,
.edn-dark .header .nav-menu .dropdown-item:focus {
    color: #eef1f6;
    background-color: #24314d;
}

.edn-dark .dropdown-divider {
    border-color: #263049;
}

.edn-dark .dropdown-header,
.edn-dark .tool-file .dropdown-header,
.edn-dark .header .nav-menu .dropdown-header {
    color: #8a94a6;
}

/* ---------- Page ---------- */
.edn-dark .tool-page h1 {
    color: #eef1f6;
}

.edn-dark .tool-modes {
    background-color: #141c2b;
    border-color: #263049;
}

.edn-dark .tool-mode {
    color: #aab3c5;
}

.edn-dark .tool-mode:hover,
.edn-dark .tool-mode:focus {
    color: #eef1f6;
}

.edn-dark .tool-mode.active {
    color: #8f97ff;
    background-color: #1f2a4a;
    box-shadow: none;
}

.edn-dark .privacy-pill {
    color: #4ade80;
    background: rgba(74, 222, 128, 0.08);
    border-color: rgba(74, 222, 128, 0.3);
}

.edn-dark .privacy-pill:hover,
.edn-dark .privacy-pill:focus {
    color: #86efac;
    background: rgba(74, 222, 128, 0.14);
}

/* ---------- File panel ---------- */
.edn-dark .tool-file,
.edn-dark .tool-app {
    background-color: #141c2b;
    border-color: #263049;
}

.edn-dark .tool-file-head,
.edn-dark .tool-tabs {
    background-color: #172032;
    border-color: #263049;
}

.edn-dark .tool-file-head h2,
.edn-dark .tool-status,
.edn-dark .tool-props dt,
.edn-dark .tool-splitter code {
    color: #eef1f6;
}

.edn-dark .tool-props dd {
    color: #aab3c5;
}

.edn-dark .tool-section,
.edn-dark .tool-actions,
.edn-dark .tool-pane:last-child,
.edn-dark .tool-resizer::after {
    border-color: #263049;
}

.edn-dark .tool-resizer::before {
    background-color: #263049;
}

.edn-dark .tool-resizer::after {
    background-color: #172032;
}

.edn-dark .tool-resizer:hover::before,
.edn-dark .tool-resizer:focus-visible::before,
.edn-dark .tool-resizer.dragging::before {
    background-color: #8f97ff;
}

.edn-dark .tool-resizer:hover::after,
.edn-dark .tool-resizer:focus-visible::after,
.edn-dark .tool-resizer.dragging::after {
    border-color: #8f97ff;
}

.edn-dark .tool-section-title,
.edn-dark .tool-tabs-note,
.edn-dark .tool-empty {
    color: #8a94a6;
}

.edn-dark .tool-empty > .fas {
    color: #3a4560;
}

/* ---------- Errors ---------- */
.edn-dark table.dataTable.errors-table td {
    color: #ff8a80;
}

.edn-dark table.dataTable.errors-table tbody tr:hover td {
    background-color: rgba(255, 138, 128, 0.08);
}

.edn-dark table.dataTable.errors-table tbody tr.selected td {
    color: #eef1f6;
    background-color: rgba(255, 138, 128, 0.2);
}

.edn-dark #errors-panel .dataTables_paginate .paginate_button {
    color: #aab3c5 !important;
}

.edn-dark #errors-panel .dataTables_paginate .paginate_button:hover {
    color: #eef1f6 !important;
    background: #1e2a40;
}

.edn-dark #errors-panel .dataTables_paginate .paginate_button.current,
.edn-dark #errors-panel .dataTables_paginate .paginate_button.current:hover {
    color: #fff !important;
    background: #4550E6;
}

.edn-dark #errors-panel .dataTables_paginate .paginate_button.disabled,
.edn-dark #errors-panel .dataTables_paginate .paginate_button.disabled:hover {
    color: #4a5570 !important;
    background: transparent;
}

/* ---------- Toolbar and tabs ---------- */
.edn-dark .tool-actions .tool-divider {
    background-color: #263049;
}

.edn-dark .btn-outline-primary {
    color: #8f97ff;
}

.edn-dark .btn-outline-secondary {
    color: #aab3c5;
}

.edn-dark .btn-outline-primary:not(:disabled):hover,
.edn-dark .btn-outline-secondary:not(:disabled):hover {
    color: #fff;
}

.edn-dark .btn-outline-secondary:not(:disabled):hover,
.edn-dark .show > .btn-outline-secondary.dropdown-toggle {
    color: #eef1f6;
    background-color: #2a3550;
    border-color: #2a3550;
}

.edn-dark .edn-tool .btn.btn-light {
    color: #cdd4e0;
    background-color: #1e2a40;
    border-color: #263049;
}

.edn-dark .edn-tool .btn.btn-light:hover,
.edn-dark .edn-tool .btn.btn-light:focus {
    color: #eef1f6;
    background-color: #2a3550;
    border-color: #2a3550;
}

.edn-dark .tool-actions .settings-input {
    color: #eef1f6;
    background-color: #0f1623;
    border-color: #3a4560;
}

.edn-dark .tool-actions .dropdown-item i {
    color: #8a94a6;
}

.edn-dark .tool-tabs .nav-link {
    color: #aab3c5;
}

.edn-dark .tool-tabs .nav-link:hover {
    border-color: transparent;
}

.edn-dark .tool-tabs .nav-link.active {
    color: #8f97ff;
    background-color: #141c2b;
    border-color: #263049 #263049 #141c2b;
}

/* ---------- Editor and tree ---------- */
.edn-dark .ace-edination .ace_marker-layer .ace_selection {
    background: #2a3a66;
}

.edn-dark .errorMarker2 {
    background: #ff5c5c;
    opacity: 0.3;
}

.edn-dark #spec-tree {
    background-color: #141c2b;
}

.edn-dark .jstree-default .jstree-anchor {
    color: #cdd4e0;
}

.edn-dark .jstree-default .jstree-hovered {
    background: #1e2a40;
}

.edn-dark .jstree-default .jstree-clicked {
    color: #eef1f6;
    background: #1f2a4a;
}

.edn-dark .jsTreeS, .edn-dark .jsTreeL, .edn-dark .jsTreeA, .edn-dark .jsTreeM,
.edn-dark .jsTreeE, .edn-dark .jsTreeC, .edn-dark .jsTreeCS {
    filter: brightness(1.6);
}

/* ---------- Dialogs and notifications ---------- */
.edn-dark .modal-content {
    color: #aab3c5;
    background-color: #141c2b;
    border-color: #263049;
}

.edn-dark .modal-header,
.edn-dark .modal-footer,
.edn-dark .settings-list .custom-control {
    border-color: #263049;
}

.edn-dark .edn-tool .modal-title,
.edn-dark .settings-list .custom-control-label,
.edn-dark .custom-control-label {
    color: #eef1f6;
}

.edn-dark .tool-modal-note,
.edn-dark .settings-list .custom-control-label small {
    color: #8a94a6;
}

.edn-dark .close {
    color: #cdd4e0;
    text-shadow: none;
}

.edn-dark .form-control {
    color: #eef1f6;
    background-color: #0f1623;
    border-color: #3a4560;
}

.edn-dark .form-control:focus {
    border-color: #6b74f0;
}

.edn-dark .custom-control-label::before {
    background-color: #0f1623;
    border-color: #4a5570;
}

.edn-dark .custom-switch .custom-control-label::after {
    background-color: #8a94a6;
}

.edn-dark .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #4550E6;
    border-color: #4550E6;
}

.edn-dark .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: #fff;
}

.edn-dark #ack-editor {
    border-color: #263049;
}

.edn-dark .irs--flat .irs-line {
    background-color: #263049;
}

.edn-dark .irs--flat .irs-min,
.edn-dark .irs--flat .irs-max {
    color: #aab3c5;
    background-color: #1e2a40;
}

.edn-dark .irs--flat .irs-grid-text {
    color: #8a94a6;
}

.edn-dark .irs--flat .irs-grid-pol {
    background-color: #3a4560;
}

.edn-dark .toast {
    background-color: #172032;
    border-color: #263049;
}

.edn-dark .tool-toast .toast-body {
    color: #cdd4e0;
    background-color: #172032;
}

.edn-dark .tool-toast.bg-toast .toast-header {
    color: #ff8a80;
    background-color: #2a1c24;
}

.edn-dark .tool-toast.bg-toast-success .toast-header {
    color: #4ade80;
    background-color: #16291f;
}

/* ---------- Content below the tool ---------- */
.edn-dark .edn-tool .edn-seo {
    color: #aab3c5;
    background-color: #141c2b;
    border-color: #263049;
}

.edn-dark .edn-seo h2,
.edn-dark .edn-seo h3,
.edn-dark .edn-tool .faq-section h3 {
    color: #eef1f6;
}

.edn-dark .edn-seo a {
    color: #8f97ff;
}

.edn-dark .edn-seo code {
    color: #eef1f6;
    background-color: #1e2a40;
}

.edn-dark .edn-seo pre {
    background-color: #0b111c;
    border: 1px solid #263049;
}

.edn-dark .edn-seo pre code {
    color: inherit;
    background: transparent;
}

.edn-dark .edn-tool .edn-seo .edn-cta {
    background-color: #172032;
    border-color: #2b3560;
}

.edn-dark .faq-accordion .card {
    background-color: transparent;
}

.edn-dark .faq-accordion .card-header,
.edn-dark .faq-accordion .theme-bg-light {
    background-color: #172032 !important;
}

.edn-dark .faq-accordion .card-body,
.edn-dark .faq-accordion .bg-white {
    color: #aab3c5;
    background-color: #141c2b !important;
}

.edn-dark .faq-accordion .card-title,
.edn-dark .faq-accordion .card-toggle {
    color: #eef1f6;
}

.edn-dark .footer {
    color: #8a94a6;
    background-color: #0f1623;
    border-top: 1px solid #263049;
}

.edn-dark .footer .col-heading {
    color: #eef1f6;
}

.edn-dark .footer a {
    color: #aab3c5;
}

.edn-dark .footer a:hover {
    color: #eef1f6;
}
