/*
 * Kmijo Solutions — RC4 Dark
 * Camada visual exclusiva do modo Kmijo Clean.
 * Mantém a estrutura e os componentes da Business Suite, mas substitui sua
 * aparência por uma interface própria, escura, responsiva e acessível.
 */

body.kmijo-dark-mode {
    --km-bg: #070a0e;
    --km-bg-soft: #0a0e13;
    --km-sidebar: #0b0f14;
    --km-surface: #10161d;
    --km-surface-2: #151c24;
    --km-surface-3: #1a232d;
    --km-surface-hover: #202b36;
    --km-line: rgba(176, 197, 216, .13);
    --km-line-strong: rgba(176, 197, 216, .22);
    --km-text: #f4f7fb;
    --km-text-soft: #ced7e0;
    --km-muted: #8e9cab;
    --km-capri: #00bfff;
    --km-capri-hover: #35ccff;
    --km-capri-dark: #008fc4;
    --km-capri-soft: rgba(0, 191, 255, .13);
    --km-orange: #f5a623;
    --km-orange-hover: #ffb840;
    --km-orange-soft: rgba(245, 166, 35, .13);
    --km-green: #34d399;
    --km-red: #fb7185;
    --km-yellow: #fbbf24;
    --km-shadow: 0 22px 55px rgba(0, 0, 0, .28);
    --km-shadow-soft: 0 12px 28px rgba(0, 0, 0, .2);
    --km-radius: 18px;
    --km-radius-sm: 12px;
    --bs-body-bg: var(--km-bg);
    --bs-body-color: var(--km-text-soft);
    --bs-border-color: var(--km-line);
    color-scheme: dark;
    background:
        radial-gradient(circle at 74% -10%, rgba(0, 191, 255, .09), transparent 32rem),
        radial-gradient(circle at 18% 102%, rgba(245, 166, 35, .055), transparent 28rem),
        var(--km-bg) !important;
    color: var(--km-text-soft);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    min-height: 100vh;
}

body.kmijo-dark-mode,
body.kmijo-dark-mode * {
    scrollbar-color: #35424f var(--km-bg-soft);
    scrollbar-width: thin;
}

body.kmijo-dark-mode *::-webkit-scrollbar {
    height: 8px;
    width: 8px;
}

body.kmijo-dark-mode *::-webkit-scrollbar-track {
    background: var(--km-bg-soft);
}

body.kmijo-dark-mode *::-webkit-scrollbar-thumb {
    background: #35424f;
    border: 2px solid var(--km-bg-soft);
    border-radius: 999px;
}

.kmijo-dark-mode a {
    color: var(--km-capri);
}

.kmijo-dark-mode a:hover {
    color: var(--km-capri-hover);
}

.kmijo-dark-mode ::selection {
    background: rgba(0, 191, 255, .28);
    color: #fff;
}

.kmijo-dark-mode :focus-visible {
    outline: 2px solid var(--km-capri);
    outline-offset: 2px;
}

/* Estrutura principal */
.kmijo-dark-mode .page-wrapper,
.kmijo-dark-mode .page-inner,
.kmijo-dark-mode .page-content-wrapper {
    background: transparent;
}

.kmijo-dark-mode .page-sidebar {
    background:
        radial-gradient(circle at 10% 3%, rgba(0, 191, 255, .1), transparent 13rem),
        linear-gradient(180deg, #0d1218 0%, #080c11 100%) !important;
    border-right: 1px solid var(--km-line);
    box-shadow: 18px 0 45px rgba(0, 0, 0, .22);
}

.kmijo-dark-mode .page-logo {
    background: transparent !important;
    border-bottom: 1px solid var(--km-line);
    box-shadow: none !important;
    min-height: 74px;
    padding: 0 20px;
}

.kmijo-dark-mode .kmijo-brand {
    align-items: center;
    color: var(--km-text) !important;
    display: flex;
    gap: 11px;
    min-width: 0;
    text-decoration: none !important;
}

.kmijo-dark-mode .kmijo-brand img {
    filter: drop-shadow(0 7px 14px rgba(0, 0, 0, .28));
    flex: 0 0 auto;
    height: 42px !important;
    max-height: 42px !important;
    max-width: 42px !important;
    object-fit: contain;
    width: 42px !important;
}

.kmijo-dark-mode .kmijo-brand-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.02;
    min-width: 0;
}

.kmijo-dark-mode .kmijo-brand-copy strong {
    color: var(--km-text);
    font-size: 1rem;
    font-weight: 760;
    letter-spacing: -.025em;
    white-space: nowrap;
}

.kmijo-dark-mode .kmijo-brand-copy small {
    color: var(--km-orange);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .18em;
    margin-top: 4px;
    text-transform: uppercase;
}

/* Navegação lateral */
.kmijo-dark-mode .primary-nav {
    padding: 16px 12px 28px;
}

.kmijo-dark-mode .nav-menu {
    background: transparent;
}

.kmijo-dark-mode .nav-menu li,
.kmijo-dark-mode .nav-menu li > ul {
    background: transparent;
}

.kmijo-dark-mode .nav-menu li > a {
    border: 1px solid transparent;
    border-radius: 11px;
    color: #8f9dac;
    font-size: .88rem;
    font-weight: 590;
    letter-spacing: -.01em;
    margin: 3px 0;
    min-height: 44px;
    padding: 10px 13px;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.kmijo-dark-mode .nav-menu li > a:hover,
.kmijo-dark-mode .nav-menu li > a:focus {
    background: rgba(255, 255, 255, .045);
    border-color: rgba(255, 255, 255, .055);
    color: var(--km-text);
    transform: translateX(2px);
}

.kmijo-dark-mode .nav-menu li > a i,
.kmijo-dark-mode .nav-menu li > a svg {
    color: #738596;
    margin-right: 11px;
    transition: color .18s ease;
}

.kmijo-dark-mode .nav-menu svg [fill] {
    fill: currentColor !important;
}

.kmijo-dark-mode .nav-menu li.active > a,
.kmijo-dark-mode .nav-menu li.open > a {
    background: linear-gradient(100deg, rgba(0, 191, 255, .18), rgba(0, 191, 255, .07));
    border-color: rgba(0, 191, 255, .22);
    box-shadow: inset 3px 0 0 var(--km-capri), 0 9px 24px rgba(0, 0, 0, .13);
    color: #fff;
}

.kmijo-dark-mode .nav-menu li.active > a i,
.kmijo-dark-mode .nav-menu li.open > a i,
.kmijo-dark-mode .nav-menu li.active > a svg,
.kmijo-dark-mode .nav-menu li.open > a svg {
    color: var(--km-capri);
}

.kmijo-dark-mode .nav-menu li > ul {
    margin: 2px 0 8px;
    padding: 3px 0 4px 15px;
}

.kmijo-dark-mode .nav-menu li > ul li > a {
    color: #7f8d9c;
    font-size: .8rem;
    min-height: 36px;
    padding-bottom: 7px;
    padding-left: 36px;
    padding-top: 7px;
}

.kmijo-dark-mode .nav-menu li > ul li > a::before {
    background: #455463;
}

.kmijo-dark-mode .nav-menu li > ul li > a:hover,
.kmijo-dark-mode .nav-menu li > ul li.active > a {
    background: rgba(0, 191, 255, .07);
    color: var(--km-capri-hover);
}

.kmijo-dark-mode .info-card {
    background: linear-gradient(135deg, rgba(0, 191, 255, .12), rgba(245, 166, 35, .06));
    border: 1px solid var(--km-line);
    border-radius: 14px;
    box-shadow: none;
    margin: 0 0 15px;
    overflow: hidden;
    padding: 13px;
}

.kmijo-dark-mode .info-card .cover {
    display: none;
}

.kmijo-dark-mode .info-card-text {
    color: var(--km-text);
    text-shadow: none;
}

.kmijo-dark-mode .clx-avatar {
    align-items: center;
    background: linear-gradient(135deg, var(--km-capri-dark), var(--km-capri));
    border: 2px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
}

/* Topo */
.kmijo-dark-mode .page-header {
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    background: rgba(10, 14, 19, .86) !important;
    border-bottom: 1px solid var(--km-line);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .15);
    min-height: 74px;
    padding-left: 18px;
    padding-right: 20px;
}

.kmijo-dark-mode .page-header .page-logo {
    border: 0;
    min-height: 74px;
    padding: 0;
}

.kmijo-dark-mode .header-btn,
.kmijo-dark-mode .header-icon {
    align-items: center;
    background: var(--km-surface-2) !important;
    border: 1px solid var(--km-line) !important;
    border-radius: 11px !important;
    box-shadow: none !important;
    color: #9eacba !important;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    margin: 0 4px;
    min-width: 42px;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.kmijo-dark-mode .header-btn:hover,
.kmijo-dark-mode .header-icon:hover {
    background: var(--km-capri-soft) !important;
    border-color: rgba(0, 191, 255, .3) !important;
    color: var(--km-capri-hover) !important;
    transform: translateY(-1px);
}

.kmijo-dark-mode .page-header svg,
.kmijo-dark-mode .page-header .svg-icon {
    color: currentColor !important;
}

.kmijo-dark-mode .page-header svg [fill] {
    fill: currentColor !important;
}

.kmijo-dark-mode .page-header .profile-image,
.kmijo-dark-mode .page-header .clx-avatar {
    height: 36px;
    width: 36px;
}

/* Conteúdo */
.kmijo-dark-mode .page-content {
    background:
        radial-gradient(circle at 92% 2%, rgba(0, 191, 255, .045), transparent 25rem),
        transparent !important;
    color: var(--km-text-soft);
    min-height: calc(100vh - 74px);
    padding: 28px 30px 42px;
}

.kmijo-dark-mode h1,
.kmijo-dark-mode h2,
.kmijo-dark-mode h3,
.kmijo-dark-mode h4,
.kmijo-dark-mode h5,
.kmijo-dark-mode h6,
.kmijo-dark-mode .h1,
.kmijo-dark-mode .h2,
.kmijo-dark-mode .h3,
.kmijo-dark-mode .h4,
.kmijo-dark-mode .h5,
.kmijo-dark-mode .h6,
.kmijo-dark-mode .text-dark {
    color: var(--km-text) !important;
}

.kmijo-dark-mode p,
.kmijo-dark-mode label,
.kmijo-dark-mode .form-label {
    color: var(--km-text-soft);
}

.kmijo-dark-mode .text-muted,
.kmijo-dark-mode .text-muted-green,
.kmijo-dark-mode small {
    color: var(--km-muted) !important;
}

.kmijo-dark-mode hr,
.kmijo-dark-mode .hr-line-dashed {
    border-color: var(--km-line) !important;
}

/* Cartões e painéis legados */
.kmijo-dark-mode .card,
.kmijo-dark-mode .panel,
.kmijo-dark-mode .well,
.kmijo-dark-mode .jumbotron {
    background: linear-gradient(145deg, rgba(21, 28, 36, .98), rgba(15, 21, 28, .98)) !important;
    border: 1px solid var(--km-line) !important;
    border-radius: var(--km-radius) !important;
    box-shadow: var(--km-shadow-soft);
    color: var(--km-text-soft);
}

.kmijo-dark-mode .card-header,
.kmijo-dark-mode .card-footer,
.kmijo-dark-mode .panel-hdr,
.kmijo-dark-mode .panel-container,
.kmijo-dark-mode .panel-content {
    background: transparent !important;
    border-color: var(--km-line) !important;
    color: var(--km-text-soft);
}

.kmijo-dark-mode .panel-hdr {
    border-radius: var(--km-radius) var(--km-radius) 0 0;
    min-height: 58px;
}

.kmijo-dark-mode .panel-hdr h2,
.kmijo-dark-mode .card-title {
    color: var(--km-text) !important;
}

.kmijo-dark-mode .card-header:first-child {
    border-radius: var(--km-radius) var(--km-radius) 0 0;
}

/* Botões */
.kmijo-dark-mode .btn {
    border-radius: 11px;
    font-weight: 680;
    min-height: 40px;
    transition: box-shadow .18s ease, transform .18s ease, background-color .18s ease, border-color .18s ease;
}

.kmijo-dark-mode .btn:hover {
    transform: translateY(-1px);
}

.kmijo-dark-mode .btn-primary,
.kmijo-dark-mode .btn-info {
    background: linear-gradient(135deg, var(--km-capri-dark), var(--km-capri)) !important;
    border-color: var(--km-capri) !important;
    box-shadow: 0 9px 22px rgba(0, 191, 255, .18) !important;
    color: #03131a !important;
}

.kmijo-dark-mode .btn-primary:hover,
.kmijo-dark-mode .btn-info:hover {
    background: linear-gradient(135deg, #00a8e5, var(--km-capri-hover)) !important;
    box-shadow: 0 11px 25px rgba(0, 191, 255, .25) !important;
}

.kmijo-dark-mode .btn-warning,
.kmijo-dark-mode .kmijo-btn-primary {
    background: linear-gradient(135deg, #e9900c, var(--km-orange)) !important;
    border-color: var(--km-orange) !important;
    box-shadow: 0 9px 22px rgba(245, 166, 35, .18) !important;
    color: #160d01 !important;
}

.kmijo-dark-mode .btn-warning:hover,
.kmijo-dark-mode .kmijo-btn-primary:hover {
    background: linear-gradient(135deg, var(--km-orange), var(--km-orange-hover)) !important;
}

.kmijo-dark-mode .btn-secondary,
.kmijo-dark-mode .btn-default,
.kmijo-dark-mode .btn-light,
.kmijo-dark-mode .btn-outline-secondary {
    background: var(--km-surface-3) !important;
    border-color: var(--km-line-strong) !important;
    box-shadow: none !important;
    color: var(--km-text-soft) !important;
}

.kmijo-dark-mode .btn-secondary:hover,
.kmijo-dark-mode .btn-default:hover,
.kmijo-dark-mode .btn-light:hover,
.kmijo-dark-mode .btn-outline-secondary:hover {
    background: var(--km-surface-hover) !important;
    border-color: rgba(0, 191, 255, .27) !important;
    color: var(--km-text) !important;
}

.kmijo-dark-mode .btn-danger {
    background: #be3651 !important;
    border-color: #d84a64 !important;
}

.kmijo-dark-mode .btn-success {
    background: #14805c !important;
    border-color: #25a979 !important;
}

.kmijo-dark-mode .btn-link {
    color: var(--km-capri) !important;
}

/* Formulários */
.kmijo-dark-mode .form-control,
.kmijo-dark-mode .form-select,
.kmijo-dark-mode select,
.kmijo-dark-mode textarea,
.kmijo-dark-mode .input-group-text,
.kmijo-dark-mode .custom-select {
    background-color: #0c1218 !important;
    border: 1px solid var(--km-line-strong) !important;
    border-radius: 11px;
    color: var(--km-text) !important;
}

.kmijo-dark-mode .form-control,
.kmijo-dark-mode .form-select,
.kmijo-dark-mode select,
.kmijo-dark-mode .custom-select {
    min-height: 42px;
}

.kmijo-dark-mode .form-control::placeholder,
.kmijo-dark-mode textarea::placeholder {
    color: #657381 !important;
    opacity: 1;
}

.kmijo-dark-mode .form-control:focus,
.kmijo-dark-mode .form-select:focus,
.kmijo-dark-mode select:focus,
.kmijo-dark-mode textarea:focus,
.kmijo-dark-mode .custom-select:focus {
    background-color: #0e161e !important;
    border-color: rgba(0, 191, 255, .7) !important;
    box-shadow: 0 0 0 .2rem rgba(0, 191, 255, .12) !important;
    color: #fff !important;
}

.kmijo-dark-mode input:-webkit-autofill,
.kmijo-dark-mode input:-webkit-autofill:hover,
.kmijo-dark-mode input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #0c1218 inset !important;
    -webkit-text-fill-color: var(--km-text) !important;
    caret-color: var(--km-text);
}

.kmijo-dark-mode input[type="checkbox"],
.kmijo-dark-mode input[type="radio"] {
    accent-color: var(--km-capri);
}

.kmijo-dark-mode .input-group > .form-control:not(:last-child),
.kmijo-dark-mode .input-group > .custom-select:not(:last-child) {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

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

.kmijo-dark-mode .custom-control-label::before {
    background: #0c1218;
    border-color: var(--km-line-strong);
}

/* Select2 */
.kmijo-dark-mode .select2-container--default .select2-selection--single,
.kmijo-dark-mode .select2-container--default .select2-selection--multiple {
    background: #0c1218 !important;
    border: 1px solid var(--km-line-strong) !important;
    border-radius: 11px !important;
    min-height: 42px;
}

.kmijo-dark-mode .select2-container--default .select2-selection--single .select2-selection__rendered,
.kmijo-dark-mode .select2-container--default .select2-selection--multiple .select2-selection__choice,
.kmijo-dark-mode .select2-container--default .select2-search--dropdown .select2-search__field {
    color: var(--km-text) !important;
}

.kmijo-dark-mode .select2-dropdown,
.kmijo-dark-mode .select2-results,
.kmijo-dark-mode .select2-container--default .select2-search--dropdown .select2-search__field {
    background: var(--km-surface-2) !important;
    border-color: var(--km-line-strong) !important;
}

.kmijo-dark-mode .select2-container--default .select2-results__option[aria-selected="true"] {
    background: var(--km-surface-3) !important;
}

.kmijo-dark-mode .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: rgba(0, 191, 255, .16) !important;
    color: #fff !important;
}

/* Tabelas */
.kmijo-dark-mode .table,
.kmijo-dark-mode table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--km-text-soft);
    --bs-table-border-color: var(--km-line);
    color: var(--km-text-soft) !important;
}

.kmijo-dark-mode .table > :not(caption) > * > *,
.kmijo-dark-mode .table td,
.kmijo-dark-mode .table th,
.kmijo-dark-mode table td,
.kmijo-dark-mode table th {
    background: transparent !important;
    border-color: var(--km-line) !important;
    color: inherit;
}

.kmijo-dark-mode .table thead th,
.kmijo-dark-mode .thead-light th,
.kmijo-dark-mode table thead th {
    background: rgba(255, 255, 255, .025) !important;
    border-bottom-color: var(--km-line-strong) !important;
    color: #8fa0b0 !important;
    font-size: .72rem;
    font-weight: 760;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.kmijo-dark-mode .table-striped > tbody > tr:nth-of-type(odd) > *,
.kmijo-dark-mode .table-striped tbody tr:nth-of-type(odd) {
    --bs-table-accent-bg: rgba(255, 255, 255, .018);
    background: rgba(255, 255, 255, .018) !important;
    color: var(--km-text-soft) !important;
}

.kmijo-dark-mode .table-hover tbody tr:hover,
.kmijo-dark-mode .table tbody tr:hover {
    background: rgba(0, 191, 255, .035) !important;
}

.kmijo-dark-mode .table-responsive {
    border-radius: 0 0 var(--km-radius) var(--km-radius);
}

.kmijo-dark-mode .dataTables_wrapper .dataTables_info,
.kmijo-dark-mode .dataTables_wrapper .dataTables_length,
.kmijo-dark-mode .dataTables_wrapper .dataTables_filter {
    color: var(--km-muted) !important;
}

/* Menus, modais e abas */
.kmijo-dark-mode .dropdown-menu,
.kmijo-dark-mode .modal-content,
.kmijo-dark-mode .popover,
.kmijo-dark-mode .tooltip-inner {
    background: #131a22 !important;
    border: 1px solid var(--km-line-strong) !important;
    border-radius: 14px;
    box-shadow: var(--km-shadow);
    color: var(--km-text-soft);
}

.kmijo-dark-mode .dropdown-header,
.kmijo-dark-mode .bg-trans-gradient,
.kmijo-dark-mode .bg-brand-gradient {
    background: linear-gradient(135deg, rgba(0, 191, 255, .2), rgba(245, 166, 35, .1)) !important;
    border-color: var(--km-line) !important;
}

.kmijo-dark-mode .dropdown-item,
.kmijo-dark-mode .list-group-item {
    background: transparent !important;
    border-color: var(--km-line) !important;
    color: var(--km-text-soft) !important;
}

.kmijo-dark-mode .dropdown-item:hover,
.kmijo-dark-mode .dropdown-item:focus,
.kmijo-dark-mode .list-group-item-action:hover,
.kmijo-dark-mode .list-group-item-action:focus {
    background: rgba(0, 191, 255, .08) !important;
    color: #fff !important;
}

.kmijo-dark-mode .modal-header,
.kmijo-dark-mode .modal-footer {
    border-color: var(--km-line) !important;
}

.kmijo-dark-mode .modal-backdrop.show {
    opacity: .72;
}

.kmijo-dark-mode .nav-tabs {
    border-color: var(--km-line) !important;
}

.kmijo-dark-mode .nav-tabs .nav-link {
    background: transparent;
    border-color: transparent;
    color: var(--km-muted);
}

.kmijo-dark-mode .nav-tabs .nav-link:hover,
.kmijo-dark-mode .nav-tabs .nav-link.active {
    background: rgba(0, 191, 255, .07) !important;
    border-color: transparent transparent var(--km-capri) !important;
    color: var(--km-text) !important;
}

.kmijo-dark-mode .pagination .page-link {
    background: var(--km-surface-2);
    border-color: var(--km-line);
    color: var(--km-muted);
}

.kmijo-dark-mode .pagination .page-item.active .page-link {
    background: var(--km-capri-dark);
    border-color: var(--km-capri);
    color: #fff;
}

/* Estados e utilitários */
.kmijo-dark-mode .badge,
.kmijo-dark-mode .label {
    border-radius: 999px;
}

.kmijo-dark-mode .badge-light,
.kmijo-dark-mode .badge-secondary,
.kmijo-dark-mode .bg-light {
    background: var(--km-surface-3) !important;
    color: var(--km-text-soft) !important;
}

.kmijo-dark-mode .alert {
    background: var(--km-surface-2);
    border-color: var(--km-line-strong);
    border-radius: 13px;
    color: var(--km-text-soft);
}

.kmijo-dark-mode .alert-info {
    background: rgba(0, 191, 255, .09);
    border-color: rgba(0, 191, 255, .22);
}

.kmijo-dark-mode .alert-warning {
    background: rgba(245, 166, 35, .09);
    border-color: rgba(245, 166, 35, .23);
}

.kmijo-dark-mode .alert-success {
    background: rgba(52, 211, 153, .09);
    border-color: rgba(52, 211, 153, .22);
}

.kmijo-dark-mode .alert-danger {
    background: rgba(251, 113, 133, .09);
    border-color: rgba(251, 113, 133, .22);
}

.kmijo-dark-mode .progress {
    background: #080d12;
    border: 1px solid var(--km-line);
    border-radius: 999px;
}

.kmijo-dark-mode .close,
.kmijo-dark-mode .btn-close {
    color: #fff;
    filter: invert(1) grayscale(1);
    opacity: .7;
}

/* Calendários e editores comuns */
.kmijo-dark-mode .daterangepicker,
.kmijo-dark-mode .datepicker,
.kmijo-dark-mode .ui-datepicker,
.kmijo-dark-mode .note-editor,
.kmijo-dark-mode .note-editing-area,
.kmijo-dark-mode .note-editable {
    background: var(--km-surface-2) !important;
    border-color: var(--km-line-strong) !important;
    color: var(--km-text-soft) !important;
}

.kmijo-dark-mode .daterangepicker .calendar-table,
.kmijo-dark-mode .daterangepicker td.off,
.kmijo-dark-mode .datepicker table tr td.day:hover,
.kmijo-dark-mode .note-toolbar {
    background: var(--km-surface-2) !important;
    border-color: var(--km-line) !important;
}

/* Componentes próprios Kmijo */
.kmijo-dark-mode .kmijo-shell {
    --kmijo-ink: var(--km-text);
    --kmijo-muted: var(--km-muted);
    --kmijo-line: var(--km-line);
    --kmijo-primary: var(--km-capri);
    --kmijo-capri: var(--km-capri);
    --kmijo-primary-soft: var(--km-capri-soft);
    --kmijo-gold: var(--km-orange);
    --kmijo-danger: var(--km-red);
    color: var(--km-text-soft);
}

.kmijo-dark-mode .kmijo-heading {
    margin-bottom: 1.65rem;
}

.kmijo-dark-mode .kmijo-heading h1,
.kmijo-dark-mode .kmijo-section-title,
.kmijo-dark-mode .kmijo-stat-value,
.kmijo-dark-mode .kmijo-work-name,
.kmijo-dark-mode .kmijo-work-card h2,
.kmijo-dark-mode .kmijo-clock,
.kmijo-dark-mode .kmijo-meta-value {
    color: var(--km-text) !important;
}

.kmijo-dark-mode .kmijo-eyebrow {
    color: var(--km-orange);
}

.kmijo-dark-mode .kmijo-heading p,
.kmijo-dark-mode .kmijo-stat-label,
.kmijo-dark-mode .kmijo-stat-note,
.kmijo-dark-mode .kmijo-subtle,
.kmijo-dark-mode .kmijo-meta-label,
.kmijo-dark-mode .kmijo-file small,
.kmijo-dark-mode .kmijo-flow-grid small,
.kmijo-dark-mode .kmijo-geo-intro span,
.kmijo-dark-mode .kmijo-geo-form-status,
.kmijo-dark-mode .kmijo-geo-event span,
.kmijo-dark-mode .kmijo-geo-event small {
    color: var(--km-muted) !important;
}

.kmijo-dark-mode .kmijo-card {
    background: linear-gradient(145deg, rgba(22, 30, 39, .98), rgba(14, 20, 27, .98));
    border-color: var(--km-line);
    box-shadow: var(--km-shadow-soft);
    color: var(--km-text-soft);
}

.kmijo-dark-mode a.kmijo-card:hover {
    background: linear-gradient(145deg, rgba(26, 36, 46, .99), rgba(16, 23, 31, .99));
    border-color: rgba(0, 191, 255, .32);
    box-shadow: 0 17px 38px rgba(0, 0, 0, .27), 0 0 0 1px rgba(0, 191, 255, .05);
    color: var(--km-text);
}

.kmijo-dark-mode .kmijo-stat::after {
    background: radial-gradient(circle, rgba(0, 191, 255, .19), rgba(0, 191, 255, .02));
}

.kmijo-dark-mode .kmijo-quick,
.kmijo-dark-mode .kmijo-clock-card {
    background:
        radial-gradient(circle at 88% 12%, rgba(245, 166, 35, .14), transparent 18rem),
        radial-gradient(circle at 6% 85%, rgba(0, 191, 255, .15), transparent 20rem),
        linear-gradient(145deg, #141d26, #0d131a);
    border-color: rgba(0, 191, 255, .2);
    color: var(--km-text-soft);
}

.kmijo-dark-mode .kmijo-quick h3,
.kmijo-dark-mode .kmijo-quick p {
    color: inherit;
}

.kmijo-dark-mode .kmijo-quick .form-control {
    background: rgba(7, 11, 15, .82) !important;
    border: 1px solid var(--km-line-strong) !important;
}

.kmijo-dark-mode .kmijo-table thead th,
.kmijo-dark-mode .kmijo-table tbody td,
.kmijo-dark-mode .kmijo-meta-item,
.kmijo-dark-mode .kmijo-review {
    border-color: var(--km-line) !important;
}

.kmijo-dark-mode .kmijo-badge-active {
    background: rgba(0, 191, 255, .13);
    color: var(--km-capri-hover);
}

.kmijo-dark-mode .kmijo-badge-finished,
.kmijo-dark-mode .kmijo-geo-badge {
    background: rgba(148, 163, 184, .11);
    color: #b6c1cc;
}

.kmijo-dark-mode .kmijo-badge-warning {
    background: var(--km-orange-soft);
    color: #ffc663;
}

.kmijo-dark-mode .kmijo-positive {
    color: var(--km-green);
}

.kmijo-dark-mode .kmijo-negative {
    color: var(--km-red);
}

.kmijo-dark-mode .kmijo-notice {
    background: var(--km-orange-soft);
    border-color: rgba(245, 166, 35, .22);
    color: #ffd083;
}

.kmijo-dark-mode .kmijo-timeline li,
.kmijo-dark-mode .kmijo-timeline-item {
    border-color: rgba(0, 191, 255, .2);
}

.kmijo-dark-mode .kmijo-timeline li::before,
.kmijo-dark-mode .kmijo-timeline-item::before {
    border-color: var(--km-surface);
    box-shadow: 0 0 0 1px var(--km-line-strong);
}

.kmijo-dark-mode .kmijo-tabs {
    border-color: var(--km-line);
}

.kmijo-dark-mode .kmijo-tabs .nav-link.active {
    color: var(--km-text);
}

.kmijo-dark-mode .kmijo-stage,
.kmijo-dark-mode .kmijo-flow-grid > div,
.kmijo-dark-mode .kmijo-geofence-editor {
    background:
        radial-gradient(circle at 95% 0, rgba(0, 191, 255, .09), transparent 12rem),
        var(--km-surface-2);
    border-color: var(--km-line);
}

.kmijo-dark-mode .kmijo-file,
.kmijo-dark-mode .kmijo-geo-event {
    background: rgba(7, 12, 17, .62);
    border-color: var(--km-line);
    color: var(--km-text-soft);
}

.kmijo-dark-mode .kmijo-file:hover,
.kmijo-dark-mode .kmijo-geo-event:hover {
    background: rgba(0, 191, 255, .055);
    border-color: rgba(0, 191, 255, .3);
    color: var(--km-capri-hover);
}

.kmijo-dark-mode .kmijo-audit-json {
    background: #090e13;
    border: 1px solid var(--km-line);
    color: #b9c9d8;
}

.kmijo-dark-mode .kmijo-geo-intro {
    background: linear-gradient(135deg, rgba(0, 191, 255, .1), rgba(0, 143, 196, .035));
    border-color: rgba(0, 191, 255, .2);
}

.kmijo-dark-mode .kmijo-geo-intro span.is-success,
.kmijo-dark-mode .kmijo-geo-form-status.is-success,
.kmijo-dark-mode .kmijo-geo-badge.is-inside {
    color: var(--km-green);
}

.kmijo-dark-mode .kmijo-geo-intro span.is-error,
.kmijo-dark-mode .kmijo-geo-form-status.is-error,
.kmijo-dark-mode .kmijo-geo-badge.is-outside {
    color: var(--km-red);
}

.kmijo-dark-mode .kmijo-geo-badge.is-attention {
    color: var(--km-yellow);
}

.kmijo-dark-mode .kmijo-geo-badge.is-inside {
    background: rgba(52, 211, 153, .1);
}

.kmijo-dark-mode .kmijo-geo-badge.is-outside {
    background: rgba(251, 113, 133, .1);
}

.kmijo-dark-mode .kmijo-geo-badge.is-attention {
    background: rgba(251, 191, 36, .1);
}

.kmijo-dark-mode .kmijo-period-list .list-group-item.active {
    background: linear-gradient(135deg, var(--km-capri-dark), var(--km-capri)) !important;
    border-color: var(--km-capri) !important;
    color: #04151c !important;
}

/* Autenticação */
.kmijo-dark-mode .kmijo-auth-layout {
    background:
        radial-gradient(circle at 12% 22%, rgba(0, 191, 255, .11), transparent 26rem),
        radial-gradient(circle at 90% 86%, rgba(245, 166, 35, .08), transparent 25rem),
        var(--km-bg) !important;
    min-height: 100vh;
}

.kmijo-dark-mode .kmijo-auth-topbar {
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    background: rgba(10, 14, 19, .78) !important;
    border-bottom: 1px solid var(--km-line);
    box-shadow: none !important;
}

.kmijo-dark-mode .kmijo-brand-full {
    align-items: center;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 13px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
    display: inline-flex;
    padding: 5px 11px;
}

.kmijo-dark-mode .kmijo-brand-full img {
    height: 46px;
    max-height: 46px;
    max-width: 170px;
    object-fit: contain;
    width: auto;
}

.kmijo-dark-mode .kmijo-auth-layout .card {
    box-shadow: 0 30px 75px rgba(0, 0, 0, .34) !important;
    overflow: hidden;
    position: relative;
}

.kmijo-dark-mode .kmijo-auth-layout .card::before {
    background: linear-gradient(90deg, var(--km-capri), var(--km-orange));
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.kmijo-dark-mode .kmijo-auth-layout .form-control-lg {
    font-size: 1rem;
    min-height: 50px;
}

.kmijo-dark-mode .kmijo-auth-layout .btn-lg {
    min-height: 50px;
}

.kmijo-dark-mode .kmijo-auth-welcome {
    color: var(--km-muted);
    font-size: .88rem;
    margin-bottom: 1.35rem;
    text-align: center;
}

/* Rodapé e sobreposições */
.kmijo-dark-mode .page-footer {
    background: rgba(10, 14, 19, .86) !important;
    border-top: 1px solid var(--km-line);
    color: var(--km-muted);
}

.kmijo-dark-mode .page-content-overlay {
    background: rgba(0, 0, 0, .72);
}

/* Tablet e celular */
@media (max-width: 991.98px) {
    .kmijo-dark-mode .page-sidebar {
        box-shadow: 25px 0 60px rgba(0, 0, 0, .48);
        width: min(86vw, 290px);
    }

    .kmijo-dark-mode .page-header {
        min-height: 66px;
        padding: 0 12px;
    }

    .kmijo-dark-mode .page-header .page-logo {
        min-height: 66px;
    }

    .kmijo-dark-mode .page-content {
        min-height: calc(100vh - 66px);
        padding: 20px 18px 34px;
    }

    .kmijo-dark-mode .header-btn,
    .kmijo-dark-mode .header-icon {
        height: 40px;
        min-width: 40px;
    }
}

@media (max-width: 767.98px) {
    .kmijo-dark-mode .page-content {
        padding: 17px 14px 30px;
    }

    .kmijo-dark-mode .kmijo-heading {
        gap: .8rem;
        margin-bottom: 1.2rem;
    }

    .kmijo-dark-mode .kmijo-heading h1 {
        font-size: 1.55rem;
    }

    .kmijo-dark-mode .kmijo-heading > div:last-child,
    .kmijo-dark-mode .kmijo-heading > a,
    .kmijo-dark-mode .kmijo-heading > button {
        width: 100%;
    }

    .kmijo-dark-mode .kmijo-heading .btn {
        justify-content: center;
        width: 100%;
    }

    .kmijo-dark-mode .kmijo-card,
    .kmijo-dark-mode .card,
    .kmijo-dark-mode .panel {
        border-radius: 15px !important;
    }

    .kmijo-dark-mode .table-responsive {
        margin-left: -1px;
        margin-right: -1px;
        width: calc(100% + 2px);
    }

    .kmijo-dark-mode .kmijo-clock-actions .btn {
        min-height: 48px;
        width: 100%;
    }

    .kmijo-dark-mode .modal-dialog {
        margin: 12px;
    }
}

@media (max-width: 575.98px) {
    .kmijo-dark-mode .page-header .kmijo-brand-copy {
        display: none;
    }

    .kmijo-dark-mode .page-header .kmijo-brand img {
        height: 36px !important;
        max-height: 36px !important;
        max-width: 36px !important;
        width: 36px !important;
    }

    .kmijo-dark-mode .page-header .header-icon {
        margin-left: 2px;
        margin-right: 2px;
    }

    .kmijo-dark-mode .kmijo-auth-layout .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .kmijo-dark-mode .kmijo-brand-full img {
        height: 39px;
        max-height: 39px;
        max-width: 145px;
    }

    .kmijo-dark-mode .kmijo-auth-layout .card {
        padding: 1.25rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kmijo-dark-mode *,
    .kmijo-dark-mode *::before,
    .kmijo-dark-mode *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

@media print {
    body.kmijo-dark-mode {
        background: #fff !important;
        color: #111 !important;
    }

    .kmijo-dark-mode .page-content,
    .kmijo-dark-mode .card,
    .kmijo-dark-mode .panel,
    .kmijo-dark-mode .kmijo-card {
        background: #fff !important;
        box-shadow: none !important;
        color: #111 !important;
    }

    .kmijo-dark-mode h1,
    .kmijo-dark-mode h2,
    .kmijo-dark-mode h3,
    .kmijo-dark-mode h4,
    .kmijo-dark-mode h5,
    .kmijo-dark-mode h6,
    .kmijo-dark-mode p,
    .kmijo-dark-mode td,
    .kmijo-dark-mode th {
        color: #111 !important;
    }
}
