/** Custom BG Colors */
.bg-disabled {
    background-color: #e8ecef !important;
    opacity: 1;
}

:root {
    --custom-primary: #001F2B;
    --custom-secondary: #0170c1;
    --custom-success: #28a745;
    --custom-info: #17a2b8;
    --custom-warning: #ffc107;
    --custom-danger: #dc3545;
    --custom-light: #f8f9fa;
    --custom-dark: #343a40;
    --custom-gray: #BFC4C8;
}

.status-border-success {
    border-left: 5px solid #28a745 !important;
}

.status-border-warning {
    border-left: 5px solid #ffc107 !important;
}

.status-border-danger {
    border-left: 5px solid #dc3545 !important;
}

/**Sidebar Custom */
[class*=sidebar-dark-] {
    background-color: var(--custom-primary) !important;
}

.navbar-dark {
    background-color: var(--custom-primary) !important;
    border-color: #4b545c;
}

.sidebar-dark-secondary .nav-sidebar>.nav-item>.nav-link.active,
.sidebar-light-secondary .nav-sidebar>.nav-item>.nav-link.active {
    background-color: var(--custom-gray) !important;
    color: var(--custom-primary) !important;
}


/** CUSTOM LOGIN PAGE */

.login-page {
    align-items: center;
    background-color: #e9ecef;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100vh;
    -ms-flex-pack: center;
    justify-content: center;
}

.login-page .login-box .login-logo {
    background-color: #fff;
    padding: 15px 5px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    margin-bottom: -10px !important;
}

.login-page .login-box .card,
.login-page .login-box .card .card-header {
    border: none;
    box-shadow: none;
}


.login-page .login-box .card-title {
    color: #2698e9;
    font-size: 1.5em;
    font-weight: bold;
}


.company_header_image {
    max-width: 80px;
    padding: 10px
}

/** FIELDSET CUSTOM */
fieldset legend {
    padding: 0 15px;
}

.not-allowed {
    cursor: not-allowed;
}


/*
* MATRIZ DE RISCO - CONFIGURAÇÃO DA TABELA
*/

/* Risco Muito Alto */
.matrix_risk_very-high {
    background-color: #d13f3f;
    color: #fff;
    border: none;
    transition: all 200ms ease-in;
}

.matrix_risk_text_color_very-high {
    color: #ff0800 !important;
}

/* Risco Alto */
.matrix_risk_high {
    background-color: #f07d24;
    color: #fff;
    border: none;
    transition: all 200ms ease-in;
}

.matrix_risk_text_color_high {
    color: #ff6702 !important;
}

/* Risco Médio */
.matrix_risk_medium {
    background-color: #ffdf7e;
    color: #333;
    border: none;
    transition: all 200ms ease-in;
}

.matrix_risk_text_color_medium {
    color: #ffc107 !important;
}


/* Risco Baixo */
.matrix_risk_low {
    background-color: #00cc00;
    border: none;
    transition: all 200ms ease-in;
    color: #fff;
}

.matrix_risk_text_color_low {
    color: #00cc00 !important;
}



/* Risco Muito Baixo */
.matrix_risk_very-low {
    background-color: #0170c1;
    color: #fff;
    border: none;
    transition: all 200ms ease-in;
}

.matrix_risk_text_color_very-low {
    color: #2698e9 !important;
}


.matrix_risk_legend {
    background-color: #d5dce4;
    border: none;
    transition: all 200ms ease-in;
}

.matrix_risk_probability-impact {
    background-color: #171717;
    color: #fff;
    border: none;
    transition: all 200ms ease-in;
}


/* TIMELINE TERCEIROS/PARCEIROS */
.timeline-altsource {
    list-style-type: none;
    display: flex;
    align-items: center;
    justify-content: left;
    margin: 0;
    padding: 0;
}

.li {
    transition: all 200ms ease-in;
}

.status {
    margin-top: 24px;
    padding: 15px 40px 0 40px;
    display: flex;
    justify-content: center;
    border-top: 2px solid #D6DCE0;
    position: relative;
    transition: all 200ms ease-in;
    white-space: nowrap;
}

.status:before {
    content: "✓";
    color: #FFF;
    text-align: center;
    width: 25px;
    height: 25px;
    background-color: white;
    border-radius: 25px;
    border: 1px solid #ddd;
    position: absolute;
    top: -15px;
    left: 42%;
    transition: all 200ms ease-in;
}

.li p {
    padding: 0px 10px;
    font-size: 0.9em;
}

/*status complete*/
.li.complete .status {
    border-top: 2px solid #66DC71;
}

.li.complete .status:before {
    background-color: #66DC71;
    border: none;
    transition: all 200ms ease-in;
}

.li.complete .status h4 {
    color: #66DC71;
}

.li.complete .status p {
    background: #66DC71;
    color: #fff;
}

/* status actual*/
.li.complete .active {
    border-top: 2px solid #4484fb;
}

.li.complete .active:before {
    background-color: #4484fb;
    border: none;
    transition: all 200ms ease-in;
}

.li.complete .active p {
    background-color: #4484fb;
    color: #fff;
}

/* STATUS COLOR RISK */

/* Risco Muito Alto */
.li.very-high .status {
    border-top: 2px solid #ff3300;
}

.li.very-high .status:before {
    background-color: #ff3300;
    border: none;
    transition: all 200ms ease-in;
}

.li.very-high .status h4 {
    color: #ff3300;
}

.li.very-high .status p {
    background: #ff3300;
    color: #fff;
}

/* Risco Alto */
.li.high .status {
    border-top: 2px solid #ffc000;
}

.li.high .status:before {
    background-color: #ffc000;
    border: none;
    transition: all 200ms ease-in;
}

.li.high .status h4 {
    color: #ffc000;
}

.li.high .status p {
    background: #ffc000;
    color: #fff;
}

/* Risco Médio */
.li.medium .status {
    border-top: 2px solid #ffff00;
}

.li.medium .status:before {
    background-color: #ffff00;
    color: #333;
    border: none;
    transition: all 200ms ease-in;
}

.li.medium .status h4 {
    color: #ffff00;
}

.li.medium .status p {
    background: #ffff00;
    color: #333;
}


/* Risco Baixo */
.li.low .status {
    border-top: 2px solid #00cc00;
}

.li.low .status:before {
    background-color: #00cc00;
    border: none;
    transition: all 200ms ease-in;
}

.li.low .status h4 {
    color: #00cc00;
}

.li.low .status p {
    background: #00cc00;
    color: #fff;
}


/* Risco Muito Baixo */
.li.very-low .status {
    border-top: 2px solid #0070c0;
}

.li.very-low .status:before {
    background-color: #0070c0;
    border: none;
    transition: all 200ms ease-in;
}

.li.very-low .status h4 {
    color: #0070c0;
}

.li.very-low .status p {
    background: #0070c0;
    color: #fff;
}

@media (min-device-width: 320px) and (max-device-width: 700px) {
    .timeline-document {
        list-style-type: none;
        display: block;
    }

    .li {
        transition: all 200ms ease-in;
        display: flex;
        width: inherit;
    }

    .timestamp {
        width: 100px;
    }

    .status:before {
        left: -8%;
        top: 30%;
        transition: all 200ms ease-in;
    }
}


/* CUSTOM TABLE REPORT */
.table-report {
    width: 100%;
    border-collapse: collapse;
}


/** Texto taxado */
.text-decoration-line-through {
    text-decoration: line-through;
}

/** MatrizRaci */
.vertical-text {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-align: left;
    max-height: 150px;
    width: 15px;
}

.matriz_raci_R {
    background-color: #c9edff;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    color: #000;
}

.matriz_raci_A {
    background-color: #edffa8;
    font-weight: bold;
    text-align: center;
    color: #000;
}

.matriz_raci_C {
    background-color: #facfd6;
    font-weight: bold;
    text-align: center;
    color: #000;
}

.matriz_raci_I {
    background-color: #fff2b5;
    font-weight: bold;
    text-align: center;
    color: #000;
}


.dropdown-menu-lg {
    max-width: 420px !important;
    min-width: 380px !important;
    padding: 0;
}


.callout a {
    color: #fff !important;
    text-decoration: none !important;
}



/** LOADING */
.modal-container-loader {
    display: none;
    justify-content: center !important;
    align-items: center !important;
    background-color: rgba(0, 0, 0, .7);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    backdrop-filter: blur(10px);
    overflow: auto;
}

.modal-container-loader .img-gif {
    width: 60px;
}



/* ========================================= */
/* Estilos Customizados - Inspirado no Tailwind Dark Mode */
/* ========================================= */

/* * Variáveis de Cores (Centralizadas para fácil ajuste) */
:root {
    --tailwind-dark-bg-main: #010409;
    /* Gray-800: Fundo Principal (Content Wrapper/Body) */
    --tailwind-dark-bg-card: #0d1017;
    /* Gray-700: Fundo Secundário (Cards/Caixas) */
    --tailwind-dark-text-light: #f3f4f6;
    /* Gray-100: Texto principal */
    --tailwind-dark-border: #4b5563;
    /* Gray-600: Bordas e divisores */
    --tailwind-dark-link: #4493f8;
    /* Blue-400: Links */
    --tailwind-dark-link-hover: #1f6cd1;
    /* Blue-500: Links Hover */
}

/* 1. Fundo Principal (Body e Content Wrapper) */
body.dark-mode,
.dark-mode .content-wrapper {
    background-color: var(--tailwind-dark-bg-main) !important;
    color: var(--tailwind-dark-text-light);
}

/* 2. Customização dos Cards (Caixas) no Dark Mode */
.dark-mode .card {
    /* Fundo dos Cards - Gray-700 */
    background-color: var(--tailwind-dark-bg-card) !important;
    border: 1px solid var(--tailwind-dark-border);
    /* Borda visível */
    color: var(--tailwind-dark-text-light);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    /* Sombra suave */
}

/* Títulos, Body e Footer dos Cards */
.dark-mode .card-header>.card-title,
.dark-mode .card-body,
.dark-mode .card-footer {
    color: var(--tailwind-dark-text-light);
}

.dark-mode .card-secondary.card-outline {
    border-top: 3px solid #3b3f42 !important;
}

/* Cabeçalho e Borda dos Cards */
.dark-mode .card-header {
    border-bottom: 1px solid var(--tailwind-dark-border);
}

/* Botões de Ação do Card Header (Collapse/Remove) */
.dark-mode .card-tools .btn {
    color: var(--tailwind-dark-text-light);
}

/* 3. Elementos Comuns DENTRO dos Cards */

/* Tabelas (se estiverem dentro de um card) */
.dark-mode .card table.table {
    color: var(--tailwind-dark-text-light);
}

.dark-mode .card table.table th {
    border-bottom-color: var(--tailwind-dark-border);
}

.dark-mode .card table.table td {
    border-top-color: #4b556350;
    /* Uma borda de célula mais clara */
}

/* Badges e Tags */
.dark-mode .card .badge:not(.bg-*) {
    /* Badges sem cor específica (padrão) */
    background-color: #4b5563;
    /* Gray-600 */
    color: var(--tailwind-dark-text-light);
}

/* Elementos de Formulário dentro do Card */
.dark-mode .card .form-control,
.dark-mode .card .input-group-text,
.dark-mode .card .custom-select {
    background-color: var(--tailwind-dark-bg-main);
    /* Fundo um pouco mais escuro que o card */
    border-color: var(--tailwind-dark-border);
    color: var(--tailwind-dark-text-light);
}

.dark-mode .card .form-control::placeholder {
    color: #9ca3af;
    /* Gray-400 */
}

/* Linhas de Divisão dentro do Card */
.dark-mode .card hr {
    border-top-color: var(--tailwind-dark-border);
}


/* 4. Links e Textos Específicos */
.dark-mode .text-primary {
    color: var(--tailwind-dark-link) !important;
    /* Blue-400 */
}

.dark-mode .link-primary {
    color: var(--tailwind-dark-link) !important;
}

.dark-mode .link-primary:hover {
    color: var(--tailwind-dark-link-hover) !important;
    /* Blue-500 */
}




/* 5. Formulários - Inputs, Textareas, Selects */
.dark-mode .form-control,
.dark-mode .input-group-text,
.dark-mode .custom-select {
    background-color: var(--tailwind-dark-bg-main) !important;
    border-color: var(--tailwind-dark-border);
    color: var(--tailwind-dark-text-light);
}

.dark-mode .form-control::placeholder {
    color: #9ca3af;
    /* Gray-400 */
}

/** Select2 */
.dark-mode .select2-container--default .select2-selection--single {
    background-color: var(--tailwind-dark-bg-main);
    border-color: var(--tailwind-dark-border);
    color: var(--tailwind-dark-text-light);
}

.dark-mode .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--tailwind-dark-text-light);
}

.dark-mode .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--tailwind-dark-border);
    color: var(--tailwind-dark-text-light);
}

.dark-mode .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #4b5563;
    /* Gray-600 */
    color: var(--tailwind-dark-text-light);
    border-color: #374151;
    /* Gray-700 */
}

.dark-mode .select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[aria-selected]:hover {
    background-color: var(--tailwind-dark-border);
    color: var(--tailwind-dark-text-light);
}


/* 6. Modais */
.dark-mode .modal-content {
    background-color: var(--tailwind-dark-bg-card);
    color: var(--tailwind-dark-text-light);
    border: 1px solid var(--tailwind-dark-border);
}

/* 7 Badges */
.dark-mode .badge-success {
    background-color: #147037;
    /* Green-600 */
    color: var(--tailwind-dark-text-light);
}

.dark-mode .badge-danger {
    background-color: #b91c1c;
    /* Red-700 */
    color: var(--tailwind-dark-text-light);
}

.dark-mode .badge-warning {
    background-color: #b45309;
    /* Yellow-700 */
    color: var(--tailwind-dark-text-light);
}

.dark-mode .badge-info {
    background-color: #1e4394;
    /* Blue-600 */
    color: var(--tailwind-dark-text-light);
}

.dark-mode .badge-primary {
    background-color: #3b82f6;
    /* Blue-500 */
    color: var(--tailwind-dark-text-light);
}

.dark-mode .badge-secondary {
    background-color: #6b7280;
    /* Gray-500 */
    color: var(--tailwind-dark-text-light);
}

.dark-mode .badge-light {
    background-color: #d1d5db;
    /* Gray-300 */
    color: #1f2937;
    /* Gray-800 */
}

.dark-mode .badge-dark {
    background-color: #111827;
    /* Gray-900 */
    color: var(--tailwind-dark-text-light);
}


/** Navs e Tabs */
.dark-mode .nav-tabs .nav-item.show .nav-link,
.dark-mode .nav-tabs .nav-link.active {
    background-color: var(--tailwind-dark-bg-card) !important;
    border-color: var(--tailwind-dark-border) var(--tailwind-dark-border) #1f2937;
    /* Gray-800 */
    color: var(--tailwind-dark-text-light);
}


/** Alerts */
.dark-mode .alert-success {
    background-color: #14532d !important;
    /* Green-800 */
    border-color: var(--tailwind-dark-border);
    color: var(--tailwind-dark-text-light);
}

.dark-mode .alert-danger {
    background-color: #691212 !important;
    /* Red-900 */
    border-color: #4d1111 !important;
    color: var(--tailwind-dark-text-light);
}

.dark-mode .alert-warning {
    background-color: #78350f !important;
    /* Yellow-900 */
    border-color: var(--tailwind-dark-border);
    color: var(--tailwind-dark-text-light);
}

.dark-mode .alert-info {
    background-color: #0eb9b5 !important;
    /* Blue-900 */
    border-color: #087977 !important;
    color: var(--tailwind-dark-text-light);
}

.dark-mode .alert-primary {
    background-color: #1e40af !important;
    /* Blue-800 */
    border-color: #1c5297 !important;
    color: var(--tailwind-dark-text-light);
}

.dark-mode .alert-secondary {
    background-color: #4b5563 !important;
    /* Gray-600 */
    border-color: var(--tailwind-dark-border);
    color: var(--tailwind-dark-text-light);
}

.dark-mode .alert-light {
    background-color: #d1d5db !important;
    /* Gray-300 */
    border-color: var(--tailwind-dark-border);
    color: #1f2937;
    /* Gray-800 */
}

.dark-mode .alert-dark {
    background-color: #111827 !important;
    /* Gray-900 */
    border-color: var(--tailwind-dark-border);
    color: var(--tailwind-dark-text-light);
}


/** Timeline */
.dark-mode .li.complete .status {
    border-top: 2px solid #27772f;
}

.dark-mode .li.complete .status:before {
    background-color: #27772f;
}

.dark-mode .li.complete .status p {
    background: #27772f;
    color: #fff;
}

.dark-mode .li.complete .active {
    border-top: 2px solid #2a5bb8;
}

.dark-mode .li.complete .active:before {
    background-color: #2a5bb8;
}

.dark-mode .li.complete .active p {
    background-color: #2a5bb8;
}


/** Botões */
.dark-mode .btn-primary {
    background-color: #3b82f6;
    /* Blue-500 */
    border-color: #2563eb;
    /* Blue-600 */
    color: var(--tailwind-dark-text-light);
}

.dark-mode .btn-primary:hover {
    background-color: #2563eb;
    /* Blue-600 */
    border-color: #1d4ed8;
    /* Blue-700 */
    color: var(--tailwind-dark-text-light);
}

.dark-mode .btn-secondary {
    background-color: #6b7280;
    /* Gray-500 */
    border-color: #4b5563;
    /* Gray-600 */
    color: var(--tailwind-dark-text-light);
}

.dark-mode .btn-secondary:hover {
    background-color: #4b5563;
    /* Gray-600 */
    border-color: #374151;
    /* Gray-700 */
    color: var(--tailwind-dark-text-light);
}

.dark-mode .btn-success {
    background-color: #10b981;
    /* Green-500 */
    border-color: #059669;
    /* Green-600 */
    color: var(--tailwind-dark-text-light);
}

.dark-mode .btn-success:hover {
    background-color: #059669 !important;
    /* Green-600 */
    border-color: #047857 !important;
    /* Green-700 */
    color: var(--tailwind-dark-text-light) !important;
}
