/*
 * Vobis visual overrides for the admin template.
 * Keep this file small: it is loaded after Bootstrap and app.min.css.
 */

:root,
[data-bs-theme=light] {
    --vobis-primary: #0076bc;
    --vobis-primary-dark: #005f99;
    --vobis-primary-soft: #e8f5fc;
    --vobis-primary-softer: #f4fbff;
    --vobis-border-soft: #d9edf8;
    --vobis-text: #313533;
    --vobis-muted: #74788d;
    --bs-primary: #0076bc;
    --bs-primary-rgb: 0, 118, 188;
    --bs-link-color: #0076bc;
    --bs-link-hover-color: #005f99;
    --bs-menu-item-active-color: #0076bc;
    --bs-sidebar-menu-item-hover-color: #0076bc;
    --bs-sidebar-menu-item-active-color: #0076bc;
    --bs-sidebar-menu-item-active-effact-color: rgba(0, 118, 188, .18);
}

.azul-vobis,
.bg-vobis {
    background-color: #0076bc !important;
}

.border-vobis {
    border-color: #0076bc !important;
}

.text-vobis {
    color: #0076bc !important;
}

.btn-primary,
.page-item.active .page-link {
    --bs-btn-bg: #0076bc;
    --bs-btn-border-color: #0076bc;
    --bs-btn-hover-bg: #005f99;
    --bs-btn-hover-border-color: #005f99;
    --bs-btn-active-bg: #005888;
    --bs-btn-active-border-color: #005888;
}

.page-link {
    color: #0076bc;
}

.card {
    border: 1px solid #e6eef4;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(49, 53, 51, .06);
}

.card-header,
.card-footer {
    border-color: #e6eef4;
}

.form-control,
.form-select,
.btn {
    border-radius: 8px;
}

.btn-sm {
    border-radius: 7px;
}

.table-responsive {
    border-radius: 8px;
}

.dataTables_wrapper {
    color: var(--vobis-text);
}

.dataTables_wrapper > .row {
    margin-left: 0;
    margin-right: 0;
}

.dataTables_wrapper > .row > * {
    padding-left: .5rem;
    padding-right: .5rem;
}

.dataTables_wrapper > .row:first-child {
    align-items: center;
    gap: .75rem 0;
    padding: 1rem 1rem .75rem;
    background: linear-gradient(180deg, #ffffff 0%, var(--vobis-primary-softer) 100%);
    border-bottom: 1px solid var(--vobis-border-soft);
    border-radius: 8px 8px 0 0;
}

.dataTables_wrapper > .row:last-child {
    align-items: center;
    padding: .875rem 1rem 1rem;
    background: #fff;
    border-top: 1px solid #eef3f7;
    border-radius: 0 0 8px 8px;
}

.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_info {
    color: var(--vobis-muted);
    font-size: .82rem;
    font-weight: 500;
}

.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
    min-height: 36px;
    border: 1px solid #d7e3ec;
    border-radius: 8px;
    background-color: #fff;
    color: var(--vobis-text);
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.dataTables_wrapper .dataTables_length select {
    min-width: 76px;
    margin: 0 .35rem;
}

.dataTables_wrapper .dataTables_filter input {
    min-width: 240px;
    margin-left: .5rem;
    padding: .45rem .75rem;
}

.dataTables_wrapper .dataTables_length select:focus,
.dataTables_wrapper .dataTables_filter input:focus {
    border-color: var(--vobis-primary);
    box-shadow: 0 0 0 .18rem rgba(0, 118, 188, .14);
}

.dataTables_wrapper table.dataTable {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0;
    overflow: hidden;
}

.dataTables_wrapper table.dataTable thead > tr > th,
.dataTables_wrapper table.dataTable thead > tr > td,
.table.dataTable > thead.table-success > tr > th {
    background: var(--vobis-primary-soft) !important;
    color: var(--vobis-primary-dark) !important;
    border-bottom: 1px solid var(--vobis-border-soft) !important;
    box-shadow: none !important;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.dataTables_wrapper table.dataTable tbody > tr > td,
.dataTables_wrapper table.dataTable tbody > tr > th {
    border-color: #edf2f6;
    padding-top: .78rem;
    padding-bottom: .78rem;
    vertical-align: middle;
}

.dataTables_wrapper table.dataTable.table-hover > tbody > tr:hover > * {
    background-color: rgba(0, 118, 188, .055) !important;
    color: var(--vobis-text);
}

.dataTables_wrapper table.dataTable tbody tr.table-warning > * {
    --bs-table-bg: #fff8e8;
    --bs-table-striped-bg: #fff3d6;
    --bs-table-hover-bg: #fff0c9;
    color: var(--vobis-text);
}

.dataTables_wrapper table.dataTable tbody tr.table-secondary > * {
    --bs-table-bg: #f5f7fa;
    --bs-table-striped-bg: #eef2f6;
    --bs-table-hover-bg: #e9eef4;
    color: var(--vobis-muted);
}

.dataTables_wrapper table.dataTable tbody tr.table-danger > * {
    --bs-table-bg: #fff1f1;
    --bs-table-striped-bg: #ffe6e6;
    --bs-table-hover-bg: #ffdede;
    color: var(--vobis-text);
}

.dataTables_wrapper table.dataTable thead .sorting::before,
.dataTables_wrapper table.dataTable thead .sorting::after,
.dataTables_wrapper table.dataTable thead .sorting_asc::before,
.dataTables_wrapper table.dataTable thead .sorting_asc::after,
.dataTables_wrapper table.dataTable thead .sorting_desc::before,
.dataTables_wrapper table.dataTable thead .sorting_desc::after {
    color: var(--vobis-primary);
    opacity: .55;
}

.dataTables_wrapper .page-link {
    min-width: 34px;
    height: 34px;
    margin: 0 2px;
    border: 1px solid transparent;
    border-radius: 8px !important;
    color: var(--vobis-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
}

.dataTables_wrapper .page-link:hover {
    background-color: var(--vobis-primary-soft);
    border-color: var(--vobis-border-soft);
    color: var(--vobis-primary-dark);
    text-decoration: none;
}

.dataTables_wrapper .page-item.active .page-link {
    background-color: var(--vobis-primary) !important;
    border-color: var(--vobis-primary) !important;
    color: #fff !important;
    box-shadow: 0 6px 14px rgba(0, 118, 188, .24);
}

.dataTables_wrapper .page-item.disabled .page-link {
    background-color: #f7f9fb;
    color: #a6b3bf;
}

.dataTables_wrapper .dtr-control::before {
    background-color: var(--vobis-primary) !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(0, 118, 188, .22);
}

.dataTables_wrapper .child ul.dtr-details {
    width: 100%;
}

.dataTables_wrapper .child ul.dtr-details > li {
    border-bottom-color: #edf2f6;
}

@media (max-width: 767.98px) {
    .dataTables_wrapper > .row:first-child,
    .dataTables_wrapper > .row:last-child {
        padding-left: .75rem;
        padding-right: .75rem;
    }

    .dataTables_wrapper .dataTables_filter {
        text-align: left;
    }

    .dataTables_wrapper .dataTables_filter input {
        min-width: 0;
        width: 100%;
        margin: .35rem 0 0;
    }

    .dataTables_wrapper .dataTables_paginate .pagination {
        justify-content: flex-start !important;
        flex-wrap: wrap;
        gap: .25rem;
        margin-top: .75rem;
    }
}

body[data-sidebar=brand] .vertical-menu,
body[data-sidebar=brand] .navbar-brand-box {
    background-color: #0076bc !important;
    border-color: #0076bc !important;
    box-shadow: 0 1px 0 #0076bc !important;
}

body[data-sidebar=brand] .navbar-brand-box .logo,
body[data-sidebar=brand] .navbar-brand-box .logo-txt,
body[data-sidebar=brand] #sidebar-menu ul li.menu-title,
body[data-sidebar=brand] #sidebar-menu ul li a,
body[data-sidebar=brand] #sidebar-menu ul li a i {
    color: rgba(255, 255, 255, .86) !important;
}

body[data-sidebar=brand] #sidebar-menu ul li a:hover,
body[data-sidebar=brand] #sidebar-menu ul li a:hover i,
body[data-sidebar=brand] #sidebar-menu .mm-active > a,
body[data-sidebar=brand] #sidebar-menu .mm-active > a i,
body[data-sidebar=brand] #sidebar-menu .mm-active .active,
body[data-sidebar=brand] #sidebar-menu .mm-active .active i {
    color: #fff !important;
}

body[data-sidebar=brand][data-sidebar-size=sm] .vertical-menu #sidebar-menu > ul > li:hover > a {
    background-color: #0a84c6 !important;
    color: #fff !important;
}

body[data-sidebar-size=sm] .vertical-menu {
    width: 70px !important;
    overflow: visible !important;
}

body[data-sidebar-size=sm] .vertical-menu #sidebar-menu {
    text-align: center;
}

body[data-sidebar-size=sm] .vertical-menu #sidebar-menu > ul > li > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 70px;
    min-height: 52px;
    padding: 0 !important;
}

body[data-sidebar-size=sm] .vertical-menu #sidebar-menu > ul > li > a > i {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 70px !important;
    width: 70px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    color: rgba(255, 255, 255, .9) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-sidebar-size=sm] .vertical-menu #sidebar-menu > ul > li > a > span,
body[data-sidebar-size=sm] .vertical-menu #sidebar-menu > ul > li > a.has-arrow::after {
    display: none !important;
}

body[data-sidebar-size=sm] .vertical-menu #sidebar-menu > ul > li:hover > a {
    width: 260px !important;
    justify-content: flex-start;
    padding-left: 0 !important;
}

body[data-sidebar-size=sm] .vertical-menu #sidebar-menu > ul > li:hover > a > i {
    min-width: 70px !important;
    width: 70px !important;
    color: #fff !important;
}

body[data-sidebar-size=sm] .vertical-menu #sidebar-menu > ul > li:hover > a > span {
    display: inline-block !important;
    color: #fff !important;
    padding-left: 0 !important;
}

body[data-sidebar-size=sm] .vertical-menu #sidebar-menu > ul > li:hover > ul {
    display: block !important;
    left: 70px !important;
    position: absolute !important;
    top: 52px;
    width: 210px !important;
    z-index: 1006 !important;
}

.navbar-brand-box .logo {
    line-height: 70px;
    white-space: nowrap;
}

.navbar-brand-box .logo img {
    display: inline-block;
    width: auto;
    max-width: none;
    vertical-align: middle;
    object-fit: contain;
}

.navbar-brand-box .logo-sm img {
    height: 30px !important;
}

.navbar-brand-box .logo-lg img {
    height: 30px !important;
}

.navbar-brand-box .logo-txt {
    font-weight: 800;
    letter-spacing: .01em;
}

#sidebar-toggle-btn {
    position: fixed;
    left: 238px;
    top: 86px;
    z-index: 1005;
    width: 26px;
    height: 44px;
    border-radius: 0 12px 12px 0;
    background: #0076bc;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .16);
    cursor: pointer;
    transition: left .2s ease, background-color .2s ease;
}

#sidebar-toggle-btn:hover {
    background: #005f99;
}

body[data-sidebar-size=sm] #sidebar-toggle-btn {
    left: 58px;
}

.cnpj-autofill {
    transition: border-color .15s ease, box-shadow .15s ease;
}

.border-table {
    border-left: thin solid #eff0f4 !important;
    border-bottom: thin solid #eff0f4 !important;
    border-color: #eff0f4 !important;
}

.azul-menu {
    background-color: #f4f6fa !important;
}

.ml-15 { margin-left: 3.75rem !important; }
.ml-n1 { margin-left: -.25rem !important; }
.ml-n2 { margin-left: -.5rem !important; }
.ml-n3 { margin-left: -.75rem !important; }
.ml-n4 { margin-left: -1rem !important; }
.ml-n5 { margin-left: -1.25rem !important; }
.ml-n6 { margin-left: -1.5rem !important; }
.ml-n10 { margin-left: -2.5rem !important; }
.ml-n15 { margin-left: -3.75rem !important; }
.mt-n1 { margin-top: -.25rem !important; }
.mt-n2 { margin-top: -.5rem !important; }
.mt-n3 { margin-top: -.75rem !important; }
.mt-n4 { margin-top: -1rem !important; }
.mt-n5 { margin-top: -1.25rem !important; }
.mt-n6 { margin-top: -1.5rem !important; }

.w-25px { width: 25px !important; }
.w-50px { width: 50px !important; }
.w-75px { width: 75px !important; }
.w-100px { width: 100px !important; }
.w-110px { width: 110px !important; }
.w-120px { width: 120px !important; }
.w-130px { width: 130px !important; }
.w-140px { width: 140px !important; }
.w-150px { width: 150px !important; }
.w-350px { width: 350px !important; }
.w-500px { width: 500px !important; }

.h-30px { height: 30px !important; }
.h-31px { height: 31px !important; }
.h-32px { height: 32px !important; }
.h-33px { height: 33px !important; }
.h-34px { height: 34px !important; }
.h-35px { height: 35px !important; }
.h-40px { height: 40px !important; }
.h-45px { height: 45px !important; }

.mw-200px { max-width: 200px !important; }
.mw-250px { max-width: 250px !important; }
.mw-94 { max-width: 94% !important; }
.mh-94 { max-height: 94% !important; }
.ms-27 { margin-left: 6.75rem !important; }

.fw-bold { font-weight: 500 !important; }
.fw-bolder { font-weight: 600 !important; }
.fw-boldest { font-weight: 700 !important; }
.fw-900 { font-weight: 900 !important; }
