﻿/* ItCar Modern UI v4
   Fonte sugerida: Plus Jakarta Sans
   Inclua no <head> antes deste CSS:
   <link rel="preconnect" href="https://fonts.googleapis.com">
   <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
   <link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap" rel="stylesheet">

   Depois inclua:
   <link rel="stylesheet" href="https://painel-r2cloudflare.itcar.com.br/css/itcar-modern-v4.css?v=1">
*/

/* =========================================
   FONT AWESOME 5 - COMPATIBILIDADE
========================================= */
.fa,
.fas,
.far,
.fal,
.fab,
.glyphicon,
[class^="fa-"],
[class*=" fa-"] {
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands" !important;
    font-style: normal;
}

.fa,
.fas {
    font-weight: 900 !important;
}

.far {
    font-weight: 400 !important;
}

.fal {
    font-weight: 300 !important;
}

.fab {
    font-family: "Font Awesome 5 Brands" !important;
    font-weight: 400 !important;
}

/* =========================================
   SETAS DO MENU - FA5
========================================= */
.nav > li > a > .fa.arrow,
#side-menu .fa.arrow,
.navbar-static-side .fa.arrow,
.nav > li > a > .arrow,
#side-menu .arrow,
.navbar-static-side .arrow {
    float: right;
    line-height: 1.2;
    margin-top: 2px;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}

    .nav > li > a > .fa.arrow:before,
    #side-menu .fa.arrow:before,
    .navbar-static-side .fa.arrow:before {
        content: "\f104" !important;
        font-family: "Font Awesome 5 Free" !important;
        font-weight: 900 !important;
    }

.nav > li.active > a > .fa.arrow:before,
#side-menu li.active > a > .fa.arrow:before,
.navbar-static-side li.active > a > .fa.arrow:before {
    content: "\f107" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}

/* =========================
   FONTE GLOBAL
========================= */
html, body,
button, input, select, textarea,
label, .label, .badge,
.btn, .table, .ibox-title h5, .page-heading h2,
.dropdown-menu, .dropdown-menu > li > a,
.navbar-top-links li a, .welcome-message {
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
}

    /* =========================
   MENU LATERAL
========================= */
    body,
    body.fixed-sidebar .navbar-static-side,
    body.mini-navbar .navbar-static-side,
    .navbar-static-side,
    .navbar-default,
    #side-menu,
    #side-menu.metismenu,
    .navbar-static-side .nav-header,
    .navbar-static-side .profile-element,
    .navbar-static-side .logo-element {
        font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
    }

        .navbar-static-side .nav > li > a,
        .navbar-static-side .nav > li > a span,
        .navbar-static-side .nav > li > a .nav-label,
        .navbar-static-side .nav-header,
        .navbar-static-side .nav-header a,
        .navbar-static-side .nav-header span,
        .navbar-static-side .profile-element,
        .navbar-static-side .profile-element a,
        .navbar-static-side .profile-element span,
        .navbar-static-side .profile-element .clear,
        .navbar-static-side .profile-element .font-bold,
        .navbar-static-side .logo-element,
        #side-menu > li > a,
        #side-menu > li > a span,
        #side-menu > li > a .nav-label,
        #side-menu li a,
        #side-menu li a span,
        #side-menu li .nav-label,
        #side-menu .nav-second-level li a,
        #side-menu .nav-second-level li a span,
        #side-menu .nav-third-level li a,
        #side-menu .nav-third-level li a span,
        #side-menu .label,
        .nav.metismenu > li > a,
        .nav.metismenu > li > a span,
        .nav.metismenu .nav-second-level li a,
        .nav.metismenu .nav-third-level li a {
            font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
        }

        .navbar-static-side .nav > li > a,
        #side-menu > li > a,
        #side-menu li a,
        .nav.metismenu > li > a {
            font-weight: 600;
            letter-spacing: -.01em;
        }

        .navbar-static-side .nav-header .font-bold,
        .profile-element .font-bold,
        .logo-element,
        .page-heading h2,
        .ibox-title h5 {
            font-weight: 700;
            letter-spacing: -.02em;
        }

/* Ícones já tratados no bloco de compatibilidade do Font Awesome 5 */

/* =========================
   TOKENS
========================= */
:root {
    --itc-primary: #1ab394;
    --itc-primary-dark: #15967d;
    --itc-border: #d9e1ea;
    --itc-border-strong: #cbd5e1;
    --itc-text: #26323f;
    --itc-text-soft: #6b7280;
    --itc-shadow-sm: 0 4px 14px rgba(15,23,42,.06);
    --itc-shadow-md: 0 10px 28px rgba(15,23,42,.10);
    --itc-focus: 0 0 0 3px rgba(26,179,148,.10);
}

/* =========================
   BASE
========================= */
body {
    color: var(--itc-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    transition: color .18s ease, opacity .18s ease;
}

    a:hover,
    a:focus {
        text-decoration: none;
    }

/* =========================
   FORMULÁRIOS
========================= */
.form-control,
.single-line {
    height: 38px;
    padding: 6px 12px;
    font-size: 14px;
    color: #374151;
    background: #ffffff;
    border: 1px solid var(--itc-border);
    border-radius: 8px;
    box-shadow: none;
    -webkit-box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

    .form-control:hover,
    .single-line:hover {
        border-color: var(--itc-border-strong);
    }

    .form-control:focus,
    .single-line:focus {
        border-color: var(--itc-primary) !important;
        box-shadow: var(--itc-focus);
        -webkit-box-shadow: var(--itc-focus);
        outline: none;
    }

    .form-control::-webkit-input-placeholder {
        color: #9aa4b2;
    }

    .form-control:-ms-input-placeholder {
        color: #9aa4b2;
    }

    .form-control::-ms-input-placeholder {
        color: #9aa4b2;
    }

textarea.form-control {
    min-height: 90px;
    height: auto;
    resize: vertical;
}

select.form-control {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 34px;
    background-image: linear-gradient(45deg, transparent 50%, #6b7280 50%), linear-gradient(135deg, #6b7280 50%, transparent 50%);
    background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.input-group-addon {
    background: #ffffff;
    border: 1px solid var(--itc-border);
    color: var(--itc-text-soft);
    border-radius: 8px 0 0 8px;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.input-group .form-control {
    border-radius: 0 8px 8px 0;
}

.input-group:focus-within .input-group-addon {
    border-color: var(--itc-primary);
    box-shadow: var(--itc-focus);
}

/* =========================
   BOTÕES
========================= */
.btn {
    border-radius: 8px;
    transition: all .18s ease;
    background-image: none !important;
    text-shadow: none !important;
    font-weight: 700;
    letter-spacing: -.01em;
}

.btn-xs {
    border-radius: 6px;
}

.btn-sm {
    border-radius: 7px;
}

.btn-primary,
.btn-success,
.btn-info {
    box-shadow: 0 6px 16px rgba(26,179,148,.18);
}

    .btn-primary:hover,
    .btn-success:hover,
    .btn-info:hover,
    .btn-primary:focus,
    .btn-success:focus,
    .btn-info:focus {
        box-shadow: 0 10px 22px rgba(26,179,148,.24);
    }

.btn-default,
.btn-white {
    background: #ffffff;
    border-color: var(--itc-border);
    color: #475569;
    box-shadow: 0 3px 10px rgba(15,23,42,.05);
}

    .btn-default:hover,
    .btn-default:focus,
    .btn-default:active,
    .btn-default.active,
    .open > .dropdown-toggle.btn-default,
    .btn-white:hover,
    .btn-white:focus,
    .btn-white:active,
    .btn-white.active,
    .open > .dropdown-toggle.btn-white {
        background: #f8fafc;
        border-color: var(--itc-border-strong);
        color: #1f2937;
        box-shadow: 0 8px 18px rgba(15,23,42,.10);
    }

/* =========================
   LABELS / BADGES
========================= */
label,
.label,
.badge {
    font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
}

.label {
    display: inline-block;
    border-radius: 6px;
    padding: 5px 10px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -.01em;
}

/* =========================
   IBOX
========================= */
.ibox {
    border-radius: 12px;
    box-shadow: var(--itc-shadow-sm);
    transition: none;
    overflow: hidden;
}

    .ibox:hover {
        transform: none;
        box-shadow: var(--itc-shadow-sm);
    }

.ibox-title {
    border-top-width: 1px;
    padding: 16px 18px 10px;
}

    .ibox-title h5 {
        font-size: 15px;
    }

.ibox-content {
    border-top: 0;
}

/* =========================
   IBOX SEM SOMBRA
========================= */
.ibox-plain {
    border-radius: 12px;
    background: #fff;
    border: 1px solid var(--itc-border);
    box-shadow: none;
    overflow: visible;
}

/* =========================
   DROPDOWN
========================= */
.dropdown-menu {
    box-shadow: 0 14px 30px rgba(15,23,42,.12);
    border-radius: 10px;
    border: 1px solid #e5eaf0;
    padding: 6px;
}

    .dropdown-menu > li > a {
        border-radius: 8px;
        margin: 2px 0;
        padding: 8px 12px;
    }

        .dropdown-menu > li > a:hover,
        .dropdown-menu > li > a:focus {
            background: #f4fbfa;
            color: #0f766a;
        }

/* =========================
   TABELAS
========================= */
.table > thead > tr > th {
    background: #f8fafc;
    border-bottom: 1px solid #e5e7eb;
    color: #64748b;
    font-weight: 700;
    letter-spacing: -.01em;
}

.table > tbody > tr > td,
.table > tbody > tr > th {
    padding: 10px 8px;
}

.table-hover > tbody > tr {
    transition: none;
}

    .table-hover > tbody > tr:hover {
        background: #f9fbfd;
        transform: none;
    }

/* =========================
   LISTAS
========================= */
.small-list li {
    transition: none;
    border-radius: 8px;
    padding: 8px;
}

    .small-list li:hover {
        background: #f4f8fb;
        transform: none;
    }

/* =========================
   ALERTAS
========================= */
.alert {
    box-shadow: 0 4px 12px rgba(15,23,42,.06);
    border-radius: 10px;
}

/* =========================
   CHOSEN
========================= */
.chosen-container {
    width: 100% !important;
    font-size: 14px;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
}

.chosen-container-single .chosen-single {
    height: 38px;
    line-height: 36px;
    padding: 0 12px;
    background: #ffffff;
    background-image: none !important;
    border: 1px solid var(--itc-border);
    border-radius: 8px;
    box-shadow: none;
    color: #374151;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
}

    .chosen-container-single .chosen-single span,
    .chosen-container .chosen-results li,
    .chosen-container-single .chosen-search input[type="text"] {
        font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
    }

    .chosen-container-single .chosen-single div {
        right: 10px;
    }

        .chosen-container-single .chosen-single div b {
            background: none !important;
            position: relative;
        }

            .chosen-container-single .chosen-single div b:after {
                content: "";
                display: block;
                width: 6px;
                height: 6px;
                margin-top: 14px;
                margin-left: 4px;
                border-right: 2px solid #6b7280;
                border-bottom: 2px solid #6b7280;
                transform: rotate(45deg);
            }

.chosen-container-active.chosen-with-drop .chosen-single,
.chosen-container-active .chosen-single {
    border-color: var(--itc-primary);
    box-shadow: var(--itc-focus);
}

.chosen-container-single .chosen-drop {
    margin-top: 6px;
    border: 1px solid var(--itc-border);
    border-radius: 10px;
    box-shadow: 0 14px 30px rgba(15,23,42,.12);
    overflow: hidden;
}

.chosen-container .chosen-results {
    margin: 0;
    padding: 6px;
}

    .chosen-container .chosen-results li {
        padding: 8px 10px;
        border-radius: 8px;
        color: #374151;
        transition: background-color .15s ease, color .15s ease;
    }

        .chosen-container .chosen-results li.highlighted {
            background: #f0fdfa !important;
            background-image: none !important;
            color: #0f766a !important;
        }

.chosen-container-single .chosen-search {
    padding: 8px;
}

    .chosen-container-single .chosen-search input[type="text"] {
        height: 34px;
        padding: 6px 10px;
        border: 1px solid var(--itc-border);
        border-radius: 8px;
        background: #ffffff !important;
        box-shadow: none !important;
        font-size: 14px;
    }

.chosen-container-multi .chosen-choices {
    min-height: 38px;
    padding: 3px 8px;
    background: #ffffff;
    background-image: none !important;
    border: 1px solid var(--itc-border);
    border-radius: 8px;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.chosen-container-active .chosen-choices {
    border-color: var(--itc-primary) !important;
    box-shadow: var(--itc-focus) !important;
}

.chosen-container-multi .chosen-choices li.search-choice {
    background: #f3f4f6;
    background-image: none !important;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    box-shadow: none;
    color: #374151;
    padding: 5px 22px 5px 10px;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
}

    .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
        top: 5px;
        right: 8px;
        background: none !important;
    }

        .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:after {
            content: "×";
            color: #6b7280;
            font-size: 14px;
            line-height: 14px;
        }

.chosen-container-single .chosen-default {
    color: #9aa4b2;
}

/* =========================
   TOPO / TÍTULOS
========================= */
.page-heading h2 {
    font-size: 20px;
}

.navbar-top-links li a,
.dropdown-menu > li > a {
    font-weight: 600;
}

/* =========================
   TOOLTIP / POPOVER
========================= */
.tooltip,
.popover {
    z-index: 1070 !important;
}

a[title],
button[title],
input[title] {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* =========================
   ITC CARD
========================= */
.itc-card {
    padding-top: 10px;
    padding-bottom: 0;
    border: 0;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(15,23,42,.06);
    background: #fff;
}

/* =========================
   CORREÇÃO — BOTÃO "ATUALIZAR VEÍCULO"
   div.row com height:0px inline no ASP colapsa
   o contêiner e esconde o botão.
========================= */
.row[style*="height:0"] {
    height: auto !important;
    overflow: visible !important;
}

/* =========================================
   MODAL MODERNA - ITCAR v2
   Compatível com Bootstrap 3 + iframes +
   chosen + modal dentro de modal com scroll
========================================= */

/* Camada externa — overflow-y:scroll (não auto)
   garante scroll da modal principal sem bloquear
   o scroll de modais internas carregadas via iframe */
.modal {
    overflow-x: hidden !important;
    overflow-y: scroll !important;
}

.modal-dialog {
    z-index: 1051;
}

/* overflow:hidden é obrigatório para border-radius
   aparecer nos cantos — chosen/dropdowns sobem via z-index */
.modal-content {
    border: 1px solid var(--itc-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 60px rgba(15,23,42,.22) !important;
    overflow: hidden !important;
    background: #ffffff !important;
    padding: 0 !important;
}

/* Cabeçalho */
.modal-header {
    border-bottom: 1px solid #eef2f7 !important;
    padding: 18px 22px 14px !important;
    border-radius: 16px 16px 0 0 !important;
}

.modal-title {
    font-weight: 600 !important;
    font-size: 15px !important;
    color: #1f2937 !important;
}

/* Botão fechar redondo — usa line-height + text-align
   (compatível com <button> do Bootstrap 3, sem flex) */
.modal-header .close {
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    border: 1px solid var(--itc-border) !important;
    background: #f8fafc !important;
    float: right !important;
    opacity: 1 !important;
    font-size: 16px !important;
    line-height: 30px !important;
    text-align: center !important;
    color: #6b7280 !important;
    text-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: background .18s ease, border-color .18s ease;
}

    .modal-header .close:hover,
    .modal-header .close:focus {
        background: #f1f5f9 !important;
        border-color: var(--itc-border-strong) !important;
        opacity: 1 !important;
        outline: none !important;
    }

/* Corpo — overflow:auto permite scroll interno
   quando o conteúdo é maior que a tela */
.modal-body {
    padding: 20px 22px !important;
    background: #ffffff !important;
    overflow: auto !important;
    max-height: 75vh !important;
}

/* Rodapé */
.modal-footer {
    border-top: 1px solid #eef2f7 !important;
    padding: 14px 22px 18px !important;
    border-radius: 0 0 16px 16px !important;
}

/* Chosen e dropdowns sobem via z-index */
.modal .chosen-container-single .chosen-drop,
.modal .chosen-container .chosen-drop,
.modal .dropdown-menu {
    z-index: 1065 !important;
}

/* Elementos que precisam de overflow visível */
.modal .form-group,
.modal .input-group,
.modal .dropdown,
.modal .chosen-container,
.modal .chosen-drop {
    overflow: visible !important;
}

/* Neutraliza ibox carregado via .load() dentro do modal */
.modal .ibox {
    box-shadow: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

.modal .ibox-content {
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.modal .ibox-title,
.modal .page-heading,
.modal .breadcrumb,
.modal .wrapper,
.modal .wrapper-content,
.modal .content,
.modal .content-page,
.modal .container,
.modal .container-fluid {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    min-height: auto !important;
}

.modal-body > .wrapper,
.modal-body > .wrapper-content,
.modal-body > .ibox,
.modal-body > .ibox-content,
.modal-body > .content,
.modal-body > .container,
.modal-body > .container-fluid,
.modal-body > form {
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Grid Bootstrap dentro do modal */
.modal-body .row {
    margin-left: -10px !important;
    margin-right: -10px !important;
}

.modal-body [class*="col-"] {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

/* Formulários */
.modal .form-control,
.modal .single-line,
.modal .chosen-container {
    width: 100% !important;
    max-width: 100% !important;
}

.modal textarea.form-control {
    min-height: 96px;
}

/* Botões */
.modal .btn {
    min-height: 38px;
}

    .modal a[disabled],
    .modal .btn[disabled],
    .modal .btn.disabled {
        opacity: .65;
    }

/* Tabelas e listas */
.modal .table {
    margin-bottom: 0;
}

.modal .small-list,
.modal .small-list li {
    margin-bottom: 0;
}

.modal .label,
.modal .badge {
    vertical-align: middle;
}

/* =========================================
   MENU LATERAL FINAL - LIMPO E CONSOLIDADO
   FA5 + MENU NORMAL + MINI NAVBAR + TOPO
========================================= */

/* Sidebar base */
.navbar-static-side,
.navbar-default.navbar-static-side,
body.canvas-menu nav.navbar-static-side {
    background: #24384b !important;
    border-right: 0 !important;
    box-shadow: none !important;
}

/* =========================================
   TOPO DO MENU
   efeito em toda a área, sem sub-borda
   full bleed real
========================================= */
#side-menu {
    padding: 0 0 18px !important;
    margin: 0 !important;
    background: transparent !important;
}

    #side-menu > li.nav-header,
    .nav-header {
        position: relative !important;
        padding: 10px 0 4px !important;
        margin: 0 !important;
        border: 0 !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
        background: radial-gradient(circle at 16% 24%, rgba(26,179,148,.16) 0%, rgba(26,179,148,.06) 20%, transparent 44%), radial-gradient(circle at 82% 8%, rgba(59,130,246,.12) 0%, rgba(59,130,246,.04) 18%, transparent 36%), linear-gradient(135deg, rgba(255,255,255,.028) 0%, rgba(255,255,255,.01) 46%, rgba(255,255,255,.015) 100%), linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,.003)) !important;
        overflow: hidden !important;
    }

        .nav-header:before {
            content: "";
            position: absolute;
            left: -52px;
            top: -60px;
            width: 175px;
            height: 175px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(26,179,148,.14) 0%, rgba(26,179,148,.05) 40%, transparent 72%);
            z-index: 0;
            pointer-events: none;
        }

        .nav-header:after {
            content: "";
            position: absolute;
            right: -74px;
            top: -28px;
            width: 230px;
            height: 150px;
            background: linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,0));
            transform: rotate(12deg);
            z-index: 0;
            pointer-events: none;
            border: 0 !important;
            box-shadow: none !important;
        }

        .nav-header > * {
            position: relative;
            z-index: 2;
        }

        .nav-header .profile-element {
            margin: 0 !important;
            padding: 8px 14px 2px !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
            outline: none !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
        }

            .nav-header .profile-element a,
            .nav-header .dropdown-toggle,
            .nav-header .clear,
            .nav-header span {
                border: 0 !important;
                box-shadow: none !important;
                background: transparent !important;
            }

            .nav-header .profile-element img,
            .nav-header img.img-responsive {
                max-width: 145px !important;
                margin-bottom: 6px !important;
                border: 0 !important;
                box-shadow: none !important;
                outline: none !important;
                filter: drop-shadow(0 8px 18px rgba(0,0,0,.16));
            }

        .nav-header .font-bold {
            font-size: 13px !important;
            line-height: 1.1 !important;
            margin-bottom: 2px !important;
            color: #ffffff !important;
        }

        .nav-header .text-muted,
        .nav-header .text-xs {
            font-size: 12px !important;
            line-height: 1.1 !important;
            color: rgba(255,255,255,.68) !important;
        }

        .nav-header .caret {
            border-top-color: rgba(255,255,255,.62) !important;
        }

    /* padding lateral só nos itens do menu, não no topo */
    #side-menu > li:not(.nav-header) {
        margin-left: 12px !important;
        margin-right: 12px !important;
    }

    #side-menu > li:first-child {
        margin-top: 0 !important;
    }

/* Menu normal */
.nav > li.active {
    border-left: 0 !important;
    background: transparent !important;
}

#side-menu > li {
    margin-bottom: 6px !important;
}

    #side-menu > li > a,
    .navbar-static-side .nav > li > a {
        min-height: 44px !important;
        padding: 11px 14px !important;
        border-radius: 12px !important;
        background: transparent !important;
        border: 0 !important;
        color: rgba(255,255,255,.84) !important;
        font-weight: 600 !important;
        box-shadow: none !important;
        transition: background-color .18s ease, color .18s ease, transform .18s ease !important;
    }

        #side-menu > li > a:hover,
        #side-menu > li > a:focus,
        .navbar-static-side .nav > li > a:hover,
        .navbar-static-side .nav > li > a:focus {
            background: rgba(255,255,255,.06) !important;
            color: #ffffff !important;
            transform: translateX(2px);
        }

        #side-menu > li > a > i,
        .navbar-static-side .nav > li > a > i {
            width: 18px !important;
            text-align: center !important;
            margin-right: 10px !important;
            color: rgba(255,255,255,.72) !important;
            transition: color .18s ease !important;
        }

        #side-menu > li > a:hover > i,
        .navbar-static-side .nav > li > a:hover > i {
            color: #b7fff0 !important;
        }

    /* Microajuste no ativo */
    #side-menu > li.active > a,
    .navbar-static-side .nav > li.active > a {
        background: linear-gradient(180deg, rgba(26,179,148,.18), rgba(26,179,148,.11)) !important;
        color: #ffffff !important;
        border: 0 !important;
        box-shadow: inset 0 0 0 1px rgba(26,179,148,.22) !important, 0 6px 14px rgba(8,145,122,.12) !important;
    }

        #side-menu > li.active > a > i,
        .navbar-static-side .nav > li.active > a > i {
            color: #8df6dc !important;
        }

#side-menu .fa.arrow,
#side-menu .arrow,
.navbar-static-side .fa.arrow,
.navbar-static-side .arrow {
    color: rgba(255,255,255,.54) !important;
}

.nav-second-level {
    margin: 4px 0 6px 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

    .nav-second-level li,
    .nav-third-level li {
        margin: 0 0 3px 0 !important;
        background: transparent !important;
    }

        .nav-second-level li a,
        .navbar-static-side .nav-second-level li a {
            padding: 9px 12px 9px 28px !important;
            margin: 0 0 0 8px !important;
            border-radius: 10px !important;
            background: transparent !important;
            border: 0 !important;
            color: rgba(255,255,255,.72) !important;
            font-size: 13px !important;
            font-weight: 600 !important;
            position: relative !important;
            transition: background-color .18s ease, color .18s ease, transform .18s ease !important;
        }

            .nav-second-level li a:before {
                content: "";
                position: absolute;
                left: 14px;
                top: 50%;
                width: 7px;
                height: 1px;
                background: rgba(255,255,255,.16);
                transform: translateY(-50%);
            }

            .nav-second-level li a:hover,
            .navbar-static-side .nav-second-level li a:hover {
                background: rgba(255,255,255,.05) !important;
                color: #ffffff !important;
                transform: translateX(2px);
            }

        .nav-second-level li.active > a,
        .navbar-static-side .nav-second-level li.active > a {
            background: rgba(255,255,255,.05) !important;
            color: #c7fff4 !important;
            box-shadow: inset 0 0 0 1px rgba(26,179,148,.15) !important;
        }

        .nav-third-level li a,
        .navbar-static-side .nav-third-level li a {
            padding: 8px 12px 8px 40px !important;
            margin-left: 8px !important;
            border-radius: 10px !important;
            background: transparent !important;
            border: 0 !important;
            color: rgba(255,255,255,.62) !important;
            font-size: 12px !important;
        }

            .nav-third-level li a:hover,
            .navbar-static-side .nav-third-level li a:hover {
                background: rgba(255,255,255,.04) !important;
                color: #ffffff !important;
            }

#side-menu .label,
.navbar-static-side .label {
    padding: 2px 7px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    background: rgba(255,255,255,.10) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: none !important;
}

/* Mini navbar */
body.mini-navbar .navbar-static-side {
    width: 78px !important;
    overflow: visible !important;
    z-index: 2001 !important;
}

body.mini-navbar .sidebar-collapse,
body.mini-navbar #side-menu,
body.mini-navbar #side-menu > li,
body.mini-navbar .nav.metismenu,
body.mini-navbar .slimScrollDiv {
    overflow: visible !important;
}

body.mini-navbar .nav-header {
    padding: 12px 0 !important;
    overflow: hidden !important;
}

body.mini-navbar .logo-element {
    display: block !important;
    padding: 18px 0 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
}

body.mini-navbar #side-menu > li {
    position: relative !important;
}

    body.mini-navbar #side-menu > li > a,
    body.mini-navbar .navbar-default .nav > li > a {
        width: 54px !important;
        height: 54px !important;
        min-height: 54px !important;
        margin: 0 auto 10px auto !important;
        padding: 0 !important;
        border-radius: 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        border: 0 !important;
        box-shadow: none !important;
    }

        body.mini-navbar #side-menu > li > a > i,
        body.mini-navbar .navbar-default .nav > li > a > i {
            margin: 0 !important;
            width: auto !important;
            font-size: 18px !important;
        }

        body.mini-navbar .nav-label,
        body.mini-navbar #side-menu > li > a .label,
        body.mini-navbar #side-menu > li > a .arrow {
            display: none !important;
        }

body.mini-navbar .nav-second-level {
    display: none;
    position: absolute !important;
    left: 74px !important;
    top: 0 !important;
    min-width: 230px !important;
    max-width: 260px !important;
    padding: 10px !important;
    margin: 0 !important;
    background: #2a4054 !important;
    border: 1px solid rgba(255,255,255,.06) !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 36px rgba(0,0,0,.24) !important;
    z-index: 9999 !important;
    overflow: hidden !important;
}

body.mini-navbar #side-menu > li:hover > .nav-second-level,
body.mini-navbar #side-menu > li:focus-within > .nav-second-level,
body.mini-navbar #side-menu > li.active > .nav-second-level {
    display: block !important;
}

body.mini-navbar .nav-second-level,
body.mini-navbar .nav-second-level li,
body.mini-navbar .nav-second-level li a {
    border-left: 0 !important;
    background-image: none !important;
}

    body.mini-navbar .nav-second-level li {
        margin: 0 0 4px 0 !important;
    }

        body.mini-navbar .nav-second-level li:last-child {
            margin-bottom: 0 !important;
        }

        body.mini-navbar .nav-second-level li a {
            display: block !important;
            padding: 11px 14px !important;
            margin: 0 !important;
            border-radius: 12px !important;
            background: transparent !important;
            border: 0 !important;
            color: rgba(255,255,255,.82) !important;
            font-size: 13px !important;
            font-weight: 600 !important;
            white-space: normal !important;
        }

            body.mini-navbar .nav-second-level li a:before {
                display: none !important;
            }

            body.mini-navbar .nav-second-level li a:hover,
            body.mini-navbar .nav-second-level li.active > a {
                background: rgba(255,255,255,.06) !important;
                color: #ffffff !important;
                box-shadow: none !important;
            }

body.mini-navbar #side-menu > li > a:hover {
    background: rgba(255,255,255,.08) !important;
}

body.mini-navbar .nav > li.active {
    border-left: 0 !important;
    background: transparent !important;
}

/* =========================================
   CORREÇÃO DO DROPDOWN DO PERFIL
========================================= */

/* não pode cortar o dropdown */
#side-menu > li.nav-header,
.nav-header {
    overflow: visible !important;
}

    /* o container do dropdown precisa virar referência */
    .nav-header .profile-element,
    .nav-header .dropdown {
        position: relative !important;
        overflow: visible !important;
    }

    /* menu do perfil */
    .nav-header .dropdown-menu {
        position: absolute !important;
        top: 100% !important;
        left: 14px !important;
        right: auto !important;
        min-width: 220px !important;
        margin-top: 8px !important;
        z-index: 99999 !important;
        overflow: visible !important;
    }

    /* bootstrap 3 abre com .open */
    .nav-header .open > .dropdown-menu,
    .nav-header .dropdown.open > .dropdown-menu {
        display: block !important;
    }

/* no mini menu também */
body.mini-navbar .nav-header {
    overflow: visible !important;
}

/* ibox com dropdown sem cortar menu */
.ibox-dropdown-fix,
.ibox-dropdown-fix .ibox-title,
.ibox-dropdown-fix .ibox-content,
.ibox-dropdown-fix .ibox-tools,
.ibox-dropdown-fix .btn-group,
.ibox-dropdown-fix .dropdown,
.ibox-dropdown-fix .dropup {
    overflow: visible !important;
    position: relative;
}

.ibox-dropdown-fix {
    border-radius: 12px;
    box-shadow: var(--itc-shadow-sm);
    transition: none;
    background: transparent;
    z-index: 1;
}

    .ibox-dropdown-fix > .ibox-title {
        border-radius: 12px 12px 0 0;
        background: #fff;
    }

    .ibox-dropdown-fix > .ibox-content {
        border-radius: 0 0 12px 12px;
        background: #fff;
    }

        .ibox-dropdown-fix > .ibox-content:first-child {
            border-radius: 12px;
        }

    .ibox-dropdown-fix .dropdown-menu {
        z-index: 99999 !important;
    }

    .ibox-dropdown-fix .table-actions-menu {
        right: 0 !important;
        left: auto !important;
        min-width: 220px;
    }

/* área interna com scroll */
.ibox-scroll-area {
    max-height: 420px;
    overflow-y: auto;
    overflow-x: auto;
}

.ibox-scroll-area-sm {
    max-height: 300px;
    overflow-y: auto;
    overflow-x: auto;
}