/*
 * Sinapse — skin customizado sobre o AdminLTE 3 / Bootstrap 4.
 * Carregado depois do adminlte.min.css (ver resources/views/vendor/adminlte/page.blade.php),
 * então a mesma especificidade já é suficiente para sobrescrever sem !important
 * na maioria dos casos — só usamos !important onde o AdminLTE também usa.
 */

:root {
    --sinapse-primary: #4f46e5;
    --sinapse-primary-dark: #4338ca;
    --sinapse-primary-darker: #3730a3;
    --sinapse-primary-tint: #eef2ff;
    --sinapse-ink: #1e1b3a;
    --sinapse-sidebar-bg: #16162a;
    --sinapse-sidebar-bg-active: #1f1f3d;
}

/* ---------- Tipografia ---------- */

body, .wrapper {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
    color: #27272a;
    background-color: #f4f4f6;
}

h1, h2, h3, h4, h5, h6,
.card-title, .content-header h1 {
    font-weight: 600;
    letter-spacing: -0.01em;
}

.content-header h1 {
    font-size: 1.5rem;
}

/* ---------- Cor de marca (substitui o azul padrão do Bootstrap #007bff) ---------- */

a { color: var(--sinapse-primary); }
a:hover { color: var(--sinapse-primary-dark); }

.btn-primary {
    background-color: var(--sinapse-primary);
    border-color: var(--sinapse-primary);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:not(:disabled):not(.disabled):active {
    background-color: var(--sinapse-primary-dark);
    border-color: var(--sinapse-primary-dark);
}

.btn-outline-primary {
    color: var(--sinapse-primary);
    border-color: var(--sinapse-primary);
}
.btn-outline-primary:hover {
    background-color: var(--sinapse-primary);
    border-color: var(--sinapse-primary);
}

.bg-primary { background-color: var(--sinapse-primary) !important; }
.text-primary { color: var(--sinapse-primary) !important; }
.border-primary { border-color: var(--sinapse-primary) !important; }
.badge-primary { background-color: var(--sinapse-primary); }

.card.card-primary.card-outline { border-top-color: var(--sinapse-primary); }
.card-primary:not(.card-outline) > .card-header { background-color: var(--sinapse-primary); }

.page-item.active .page-link {
    background-color: var(--sinapse-primary);
    border-color: var(--sinapse-primary);
}
.page-link { color: var(--sinapse-primary); }

.custom-control-input:checked ~ .custom-control-label::before {
    border-color: var(--sinapse-primary);
    background-color: var(--sinapse-primary);
}

.form-control:focus {
    border-color: var(--sinapse-primary);
    box-shadow: 0 0 0 3px var(--sinapse-primary-tint);
}

/* ---------- Sidebar ---------- */

.main-sidebar {
    background-color: var(--sinapse-sidebar-bg);
    box-shadow: none;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link:hover {
    background-color: var(--sinapse-primary);
    color: #fff;
    border-radius: 0.375rem;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link {
    border-radius: 0.375rem;
    margin: 1px 0;
}

.brand-link {
    background-color: var(--sinapse-sidebar-bg-active);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.brand-link .brand-text {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.user-panel { border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important; }

.nav-sidebar .nav-header {
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.7rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 700;
}

/* ---------- Topbar ---------- */

.main-header.navbar {
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06);
    border-bottom: 1px solid #ececef;
}

/* ---------- Cards, caixas e componentes ---------- */

.card {
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
    border: 1px solid #ececef;
}

.card.card-outline {
    border-top-width: 3px;
}

.small-box {
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px rgba(16, 24, 40, 0.08);
}

.small-box .icon {
    opacity: 0.25;
}

.btn {
    border-radius: 0.375rem;
}

.badge {
    font-weight: 600;
    border-radius: 0.375rem;
    padding: 0.32em 0.6em;
}

.table thead th {
    border-bottom-width: 1px;
    color: #52525b;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 700;
}

.table td, .table th {
    border-color: #f0f0f2;
    vertical-align: middle;
}

.content-wrapper {
    background-color: #f4f4f6;
}

/* ---------- Tela de login/registro ---------- */

.login-page, .register-page {
    background-color: var(--sinapse-sidebar-bg);
}

.login-box .card, .register-box .card {
    border-radius: 0.75rem;
    box-shadow: 0 10px 30px rgba(16, 24, 40, 0.25);
}

.login-logo, .register-logo {
    color: #fff;
    font-weight: 700;
}
