/*
 * Tema visual do Sistema CV
 * Apenas sobrescreve cores, bordas e sombras do AdminLTE 2.
 * Não altera estrutura/posicionamento, para não interferir no JS.
 * Para desfazer: remover o <link> de css/tema.css em
 * resources/views/vendor/adminlte/master.blade.php
 */

:root {
    --cv-primaria: #1d4ed8;
    --cv-primaria-escura: #1e3a8a;
    --cv-primaria-clara: #3b82f6;
    --cv-acento: #0ea5e9;
    --cv-sidebar: #0f172a;
    --cv-sidebar-item: #1e293b;
    --cv-sidebar-texto: #cbd5e1;
    --cv-sidebar-titulo: #64748b;
    --cv-fundo: #f1f5f9;
    --cv-borda: #e2e8f0;
    --cv-texto: #1e293b;
    --cv-texto-suave: #64748b;
    --cv-sucesso: #059669;
    --cv-perigo: #dc2626;
    --cv-aviso: #d97706;
    --cv-info: #0891b2;
    --cv-raio: 8px;
    --cv-sombra: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .04);
}

body {
    color: var(--cv-texto);
}

/* ---------- Cabeçalho ---------- */
body[class*="skin-"] .main-header .logo {
    background: var(--cv-primaria-escura);
    color: #fff;
    border-bottom: 0;
    letter-spacing: .3px;
}
body[class*="skin-"] .main-header .logo:hover {
    background: #1b347c;
}
body[class*="skin-"] .main-header .navbar {
    background: linear-gradient(90deg, var(--cv-primaria) 0%, var(--cv-acento) 100%);
    box-shadow: 0 2px 6px rgba(15, 23, 42, .15);
}
body[class*="skin-"] .main-header .navbar .nav > li > a,
body[class*="skin-"] .main-header .navbar .sidebar-toggle {
    color: #fff;
}
body[class*="skin-"] .main-header .navbar .nav > li > a:hover,
body[class*="skin-"] .main-header .navbar .nav > li > a:focus,
body[class*="skin-"] .main-header .navbar .sidebar-toggle:hover {
    background: rgba(255, 255, 255, .15);
    color: #fff;
}

/* ---------- Menu lateral ---------- */
body[class*="skin-"] .wrapper,
body[class*="skin-"] .main-sidebar,
body[class*="skin-"] .left-side {
    background-color: var(--cv-sidebar);
}
body[class*="skin-"] .sidebar-menu > li.header {
    background: var(--cv-sidebar);
    color: var(--cv-sidebar-titulo);
    font-weight: 600;
    letter-spacing: .8px;
}
body[class*="skin-"] .sidebar-menu > li > a {
    color: var(--cv-sidebar-texto);
    border-left: 3px solid transparent;
}
body[class*="skin-"] .sidebar-menu > li:hover > a,
body[class*="skin-"] .sidebar-menu > li.active > a,
body[class*="skin-"] .sidebar-menu > li.menu-open > a {
    background: var(--cv-sidebar-item);
    color: #fff;
    border-left-color: var(--cv-primaria-clara);
}
body[class*="skin-"] .sidebar-menu > li > .treeview-menu {
    background: #111c33;
}
body[class*="skin-"] .sidebar-menu .treeview-menu > li > a {
    color: #94a3b8;
}
body[class*="skin-"] .sidebar-menu .treeview-menu > li.active > a,
body[class*="skin-"] .sidebar-menu .treeview-menu > li > a:hover {
    color: #fff;
}
body[class*="skin-"] .sidebar-menu > li > a > .fa,
body[class*="skin-"] .sidebar-menu > li > a > .glyphicon {
    color: #7dd3fc;
}

/* ---------- Área de conteúdo ---------- */
.content-wrapper,
.right-side {
    background-color: var(--cv-fundo);
}
.content-header > h1 {
    font-weight: 600;
    color: var(--cv-texto);
}

/* ---------- Boxes ---------- */
.box {
    border-radius: var(--cv-raio);
    border-top: 3px solid var(--cv-borda);
    box-shadow: var(--cv-sombra);
}
.box.box-primary { border-top-color: var(--cv-primaria); }
.box.box-info    { border-top-color: var(--cv-info); }
.box.box-success { border-top-color: var(--cv-sucesso); }
.box.box-danger  { border-top-color: var(--cv-perigo); }
.box.box-warning { border-top-color: var(--cv-aviso); }
.box.box-solid.box-primary > .box-header {
    background: var(--cv-primaria);
}
.box-header.with-border,
.box-footer {
    border-color: var(--cv-borda);
}
.box-footer {
    border-radius: 0 0 var(--cv-raio) var(--cv-raio);
}
.box-header .box-title {
    font-weight: 600;
}

/* ---------- Botões ---------- */
.btn {
    border-radius: 6px;
    transition: background-color .15s, border-color .15s, box-shadow .15s;
}
.btn-primary {
    background-color: var(--cv-primaria);
    border-color: var(--cv-primaria);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.btn-primary.active, .open > .dropdown-toggle.btn-primary {
    background-color: var(--cv-primaria-escura);
    border-color: var(--cv-primaria-escura);
}
.btn-success {
    background-color: var(--cv-sucesso);
    border-color: var(--cv-sucesso);
}
.btn-success:hover, .btn-success:focus, .btn-success:active {
    background-color: #047857;
    border-color: #047857;
}
.btn-info {
    background-color: var(--cv-info);
    border-color: var(--cv-info);
}
.btn-info:hover, .btn-info:focus, .btn-info:active {
    background-color: #0e7490;
    border-color: #0e7490;
}
.btn-danger {
    background-color: var(--cv-perigo);
    border-color: var(--cv-perigo);
}
.btn-danger:hover, .btn-danger:focus, .btn-danger:active {
    background-color: #b91c1c;
    border-color: #b91c1c;
}
.btn-warning {
    background-color: var(--cv-aviso);
    border-color: var(--cv-aviso);
}
.btn-warning:hover, .btn-warning:focus, .btn-warning:active {
    background-color: #b45309;
    border-color: #b45309;
}

/* ---------- Formulários ---------- */
.form-control {
    border-radius: 6px;
    border-color: #cbd5e1;
}
.form-control:focus {
    border-color: var(--cv-primaria-clara);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .15);
}
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    border-radius: 6px;
    border-color: #cbd5e1;
}
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: var(--cv-primaria-clara);
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--cv-primaria);
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--cv-primaria);
    border-color: var(--cv-primaria-escura);
    color: #fff;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #fff;
}

/* ---------- Tabelas ---------- */
.table > thead > tr > th {
    background: #f8fafc;
    color: #334155;
    border-bottom: 2px solid var(--cv-borda);
}
.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #f8fafc;
}
.table-hover > tbody > tr:hover {
    background-color: #eff6ff;
}
.pagination > .active > a,
.pagination > .active > a:hover,
.pagination > .active > a:focus,
.pagination > .active > span {
    background-color: var(--cv-primaria);
    border-color: var(--cv-primaria);
}
.pagination > li > a {
    color: var(--cv-primaria);
}

/* ---------- Links, alertas, abas ---------- */
a {
    color: var(--cv-primaria);
}
a:hover, a:focus {
    color: var(--cv-primaria-escura);
}
.alert {
    border-radius: var(--cv-raio);
}
.nav-tabs-custom {
    border-radius: var(--cv-raio);
    box-shadow: var(--cv-sombra);
}
.nav-tabs-custom > .nav-tabs > li.active {
    border-top-color: var(--cv-primaria);
}
.label-primary, .bg-light-blue { background-color: var(--cv-primaria) !important; }

/* ---------- Login ---------- */
.login-page, .register-page {
    background: linear-gradient(135deg, var(--cv-primaria-escura) 0%, var(--cv-acento) 100%);
}
.login-page .login-logo a, .register-page .register-logo a {
    color: #fff;
}
.login-box-body, .register-box-body {
    border-radius: var(--cv-raio);
    box-shadow: 0 10px 30px rgba(15, 23, 42, .25);
}

/* ---------- DataTables ---------- */
.dataTables_wrapper {
    color: var(--cv-texto);
}
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
    margin-bottom: 14px;
    color: var(--cv-texto-suave);
}
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label {
    font-weight: 600;
}
.dataTables_wrapper .dataTables_length select {
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 5px 8px;
    margin: 0 6px;
    background: #fff;
    outline: none;
}
.dataTables_wrapper .dataTables_filter input {
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    padding: 7px 14px 7px 34px;
    min-width: 260px;
    margin-left: 8px;
    outline: none;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 12px center;
    transition: border-color .15s, box-shadow .15s;
}
.dataTables_wrapper .dataTables_filter input:focus,
.dataTables_wrapper .dataTables_length select:focus {
    border-color: var(--cv-primaria-clara);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .15);
}

table.dataTable {
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--cv-borda);
    border-radius: var(--cv-raio);
    overflow: hidden;
}
table.dataTable thead th,
table.dataTable thead td {
    background-color: #f8fafc;
    color: #475569;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    padding: 12px 14px;
    border-bottom: 2px solid var(--cv-borda);
}
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
    color: var(--cv-primaria);
    background-color: #eff6ff;
}
table.dataTable tbody td {
    padding: 11px 14px;
    vertical-align: middle;
    border-top: 1px solid #f1f5f9;
}
table.dataTable tbody tr {
    background-color: #fff;
    transition: background-color .12s;
}
table.dataTable tbody tr.odd,
table.dataTable.stripe tbody tr.odd,
table.dataTable.display tbody tr.odd,
table.dataTable.table-striped tbody tr:nth-of-type(odd) {
    background-color: #e9eef5;
}
table.dataTable tbody tr:hover,
table.dataTable.display tbody tr:hover,
table.dataTable.hover tbody tr:hover {
    background-color: #dbeafe;
}
table.dataTable tbody tr:hover > td:first-child {
    box-shadow: inset 3px 0 0 var(--cv-primaria);
}
table.dataTable.no-footer {
    border-bottom: 1px solid var(--cv-borda);
}
table.dataTable.display tbody tr > .sorting_1,
table.dataTable.order-column tbody tr > .sorting_1 {
    background-color: transparent;
}

.dataTables_wrapper .dataTables_info {
    color: var(--cv-texto-suave);
    padding-top: 16px;
}
.dataTables_wrapper .dataTables_paginate {
    padding-top: 12px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    padding: 5px 12px !important;
    margin-left: 3px;
    color: #475569 !important;
    background: transparent !important;
    transition: background-color .12s, color .12s;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: #eff6ff !important;
    border-color: #bfdbfe !important;
    color: var(--cv-primaria) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--cv-primaria) !important;
    border-color: var(--cv-primaria) !important;
    color: #fff !important;
    box-shadow: 0 2px 6px rgba(29, 78, 216, .35);
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    color: #cbd5e1 !important;
    background: transparent !important;
    border-color: transparent !important;
}
.dataTables_wrapper .dataTables_processing {
    border-radius: var(--cv-raio);
    box-shadow: var(--cv-sombra);
    background: #fff;
}

/* Botões dentro das tabelas */
table.dataTable .btn {
    padding: 4px 12px;
    font-size: 13px;
}
.btn-default {
    background: #fff;
    border-color: #cbd5e1;
    color: #334155;
}
.btn-default:hover, .btn-default:focus, .btn-default:active {
    background: #eff6ff;
    border-color: var(--cv-primaria-clara);
    color: var(--cv-primaria);
}

@media (max-width: 767px) {
    .dataTables_wrapper .dataTables_filter input {
        min-width: 0;
        width: 100%;
        margin-left: 0;
    }
}

/* Coluna "Opções" centralizada (classe aplicada via JS no master) */
table.dataTable th.dt-center,
table.dataTable td.dt-center {
    text-align: center;
}

/* Links de ação no topo das telas (ex.: "Nova Pessoa", "Voltar a Lista...") com aparência de botão */
.content .nav-pills {
    margin-bottom: 12px;
}
.content .nav-pills > li > a:not([data-toggle]) {
    background: var(--cv-primaria);
    color: #fff;
    border: 1px solid var(--cv-primaria);
    border-radius: 6px;
    padding: 7px 16px;
    margin: 0 8px 6px 0;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(29, 78, 216, .3);
    transition: background-color .15s, box-shadow .15s, transform .15s;
}
.content .nav-pills > li > a:not([data-toggle]):hover,
.content .nav-pills > li > a:not([data-toggle]):focus,
.content .nav-pills > li.active > a:not([data-toggle]) {
    background: var(--cv-primaria-escura);
    border-color: var(--cv-primaria-escura);
    color: #fff;
    box-shadow: 0 4px 12px rgba(29, 78, 216, .4);
    transform: translateY(-1px);
}

/* Ícone do logo (capelo) */
.main-header .logo .fa-graduation-cap {
    color: #7dd3fc;
    margin-right: 4px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, .3);
}
.main-header .logo .logo-mini .fa-graduation-cap {
    margin-right: 0;
    font-size: 20px;
}
.login-logo .fa-graduation-cap,
.register-logo .fa-graduation-cap {
    color: #7dd3fc;
}

/* Logo alinhado à esquerda (o mini, com menu recolhido, continua centralizado) */
.main-header .logo .logo-lg {
    text-align: left;
    padding-left: 5px;
}

/* Abas das telas de Solicitação e Vaga com aparência de botões coloridos */
.content .nav-tabs {
    border-bottom: 0;
    margin-bottom: 8px;
}
.content .nav-tabs > li {
    margin: 0 6px 6px 0;
}
.content .nav-tabs > li > a {
    background: #e0e7ff;
    color: var(--cv-primaria-escura);
    border: 1px solid #c7d2fe;
    border-radius: 6px;
    margin-right: 0;
    padding: 8px 16px;
    font-weight: 600;
    box-shadow: 0 2px 4px rgba(15, 23, 42, .08);
    transition: background-color .15s, color .15s, box-shadow .15s, transform .15s;
}
.content .nav-tabs > li > a:hover,
.content .nav-tabs > li > a:focus {
    background: #c7d2fe;
    border-color: #a5b4fc;
    color: var(--cv-primaria-escura);
    transform: translateY(-1px);
}
.content .nav-tabs > li.active > a,
.content .nav-tabs > li.active > a:hover,
.content .nav-tabs > li.active > a:focus {
    background: var(--cv-primaria);
    border-color: var(--cv-primaria);
    color: #fff;
    box-shadow: 0 4px 12px rgba(29, 78, 216, .4);
}
/* Aba de cancelamento em vermelho, para chamar atenção */
.content .nav-tabs > li > a[href="#cancelar"] {
    background: #fee2e2;
    border-color: #fecaca;
    color: #b91c1c;
}
.content .nav-tabs > li > a[href="#cancelar"]:hover {
    background: #fecaca;
    border-color: #fca5a5;
    color: #991b1b;
}
.content .nav-tabs > li.active > a[href="#cancelar"] {
    background: var(--cv-perigo);
    border-color: var(--cv-perigo);
    color: #fff;
    box-shadow: 0 4px 12px rgba(220, 38, 38, .4);
}
