/* Estilos globais do base.html (navbar, busca, dropdowns, atalhos). */

@font-face {
    font-family: 'Belleza';
    src: url("../documentos/fonts/Belleza.012818f01d4e.ttf") format('truetype');
    font-weight: normal;
    font-style: normal;
}
:root {
    --bs-success: var(--ns-accent);
    --bs-success-rgb: var(--ns-accent-rgb);
}
.btn-success {
    background-color: var(--ns-accent);
    border-color: var(--ns-accent);
}
.btn-success:hover {
    background-color: var(--ns-accent-hover);
    border-color: var(--ns-accent-hover);
}
.bg-success {
    background-color: var(--ns-accent) !important;
}
body { padding-top: 60px; padding-bottom: 45px; }
.navbar-brand {
    font-family: 'Belleza', sans-serif;
    font-size: 1.25rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.ns-logo-icon { flex-shrink: 0; }
/* Logo (cabeça + coluna) nas cores do tema; dentro da navbar o destaque é o --ns-accent-on-header */
.ns-logo-icon .ns-logo-cabeca { fill: rgba(var(--ns-on-header-rgb), 0.9); }
.ns-logo-icon .ns-logo-coluna { fill: var(--ns-accent); }
.ns-brand-accent { color: var(--ns-accent); }

/* ── Navbar spacing & link refinements ── */
#busca_wrapper {
    flex: 1 1 auto; min-width: 0;
    max-width: 320px;
}
@media (min-width: 1400px) { #busca_wrapper { max-width: 280px; } }
@media (max-width: 575px)  { #busca_wrapper { max-width: none; } }
#busca_wrapper .form-control {
    width: 100%;
    background: rgba(var(--ns-on-header-rgb), 0.07);
    border-color: rgba(var(--ns-on-header-rgb), 0.15);
    color: rgba(var(--ns-on-header-rgb), 0.9);
    transition: background 0.15s, border-color 0.15s;
}
#busca_wrapper .form-control::placeholder { color: rgba(var(--ns-on-header-rgb), 0.35); }
#busca_wrapper .form-control:focus {
    background: rgba(var(--ns-on-header-rgb), 0.12);
    border-color: rgba(var(--ns-accent-rgb), 0.5);
    box-shadow: 0 0 0 2px rgba(var(--ns-accent-rgb), 0.15);
    color: var(--ns-on-header);
}
.navbar-nav .nav-link {
    padding-left: 0.65rem;
    padding-right: 0.65rem;
    font-size: 0.875rem;
    letter-spacing: 0.01em;
    white-space: nowrap;
    transition: color 0.15s;
}
.navbar-nav .nav-link.active { color: var(--ns-accent) !important; }
.navbar-nav .nav-link:not(.active):hover { color: rgba(var(--ns-on-header-rgb), 0.95) !important; }
.navbar .navbar-text { white-space: nowrap; }
.navbar .user-actions { flex-shrink: 0; white-space: nowrap; }

/* ── Modo compacto (só ícone) entre 992-1399px ── */
@media (min-width: 992px) and (max-width: 1399.98px) {
    .navbar-nav .nav-link { padding-left: 0.55rem; padding-right: 0.55rem; }
    .navbar-nav .nav-link .nav-label { display: none; }
    .navbar-nav .nav-link i { font-size: 1.05rem; margin-right: 0 !important; }
    .navbar-nav .dropdown-toggle::after { display: none; }
    .user-actions .navbar-text .user-name { display: none; }
    .user-actions .btn-logout-text { display: none; }
}
/* ── Nome NEUROSINOS só em telas muito grandes (≥1600px) ── */
.ns-brand-text { display: none; }
@media (min-width: 1600px) { .ns-brand-text { display: inline; } }

/* ── Autocomplete dropdown — dark navy, teal accent ── */
#busca_dropdown {
    background: var(--ns-header-2);
    border: 1px solid rgba(var(--ns-accent-rgb), 0.25);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(var(--ns-shadow-rgb), 0.45);
    padding: 4px 0;
}
#busca_dropdown .dropdown-item {
    color: rgba(var(--ns-on-header-rgb), 0.85);
    padding: 0.55rem 1rem;
    font-size: 0.875rem;
    border-radius: 0;
    transition: background 0.12s, color 0.12s;
}
#busca_dropdown .dropdown-item > span:first-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#busca_dropdown .dropdown-item > small {
    flex-shrink: 0;
}
#busca_dropdown .dropdown-item .text-muted {
    color: rgba(var(--ns-on-header-rgb), 0.4) !important;
}
#busca_dropdown .dropdown-item:hover {
    background: rgba(var(--ns-accent-rgb), 0.12);
    color: var(--ns-accent);
}
#busca_dropdown .dropdown-item.active {
    background: rgba(var(--ns-accent-rgb), 0.2);
    color: var(--ns-accent);
    font-weight: 500;
}
#busca_dropdown .dropdown-item.active .text-muted {
    color: rgba(var(--ns-accent-rgb), 0.6) !important;
}
/* ── Navbar dropdown menus — dark navy, teal accent ── */
.navbar .dropdown-menu {
    --bs-dropdown-bg: var(--ns-header-2);
    --bs-dropdown-border-color: rgba(var(--ns-accent-rgb), 0.2);
    --bs-dropdown-link-color: rgba(var(--ns-on-header-rgb), 0.8);
    --bs-dropdown-link-hover-bg: rgba(var(--ns-accent-rgb), 0.1);
    --bs-dropdown-link-hover-color: var(--ns-accent);
    --bs-dropdown-link-active-bg: rgba(var(--ns-accent-rgb), 0.18);
    --bs-dropdown-link-active-color: var(--ns-accent);
    --bs-dropdown-divider-bg: rgba(var(--ns-on-header-rgb), 0.08);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(var(--ns-shadow-rgb), 0.4);
    padding: 4px 0;
    margin-top: 6px;
}
.navbar .dropdown-menu {
    --bs-dropdown-header-color: rgba(var(--ns-accent-rgb), 0.75);
    max-height: calc(100vh - 80px);   /* Sistema ficou longo com as Estatísticas */
    overflow-y: auto;
}
.navbar .dropdown-header {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    padding: 0.45rem 1rem 0.25rem;
}
.navbar .dropdown-item {
    font-size: 0.875rem;
    padding: 0.5rem 1rem;
    transition: background 0.12s, color 0.12s;
}
.navbar .dropdown-item i {
    color: rgba(var(--ns-accent-rgb), 0.55);
    transition: color 0.12s;
}
.navbar .dropdown-item:hover i,
.navbar .dropdown-item:focus i { color: var(--ns-accent); }

@media (max-width: 576px) {
    .cj { height: 200px !important; }
    .stat-card .fs-2 { font-size: 1.5rem !important; }
}

/* ── Popover de atalhos de teclado ── */
.nav-shortcuts-popover { max-width: 280px; }
.nav-shortcuts-popover .popover-body { padding: 0.6rem 0.75rem; }
.ns-shortcuts-title { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.07em; font-weight: 700; color: var(--ns-muted); margin-bottom: 0.45rem; }
.ns-shortcuts-table { width: 100%; font-size: 0.82rem; }
.ns-shortcuts-table td { padding: 0.12rem 0; vertical-align: middle; }
.ns-shortcuts-table td:first-child { white-space: nowrap; padding-right: 0.9rem; }
.ns-shortcuts-table kbd { font-size: 0.72rem; padding: 0.1rem 0.35rem; }
.ns-shortcuts-note { font-size: 0.72rem; color: var(--ns-muted); margin-top: 0.5rem; padding-top: 0.45rem; border-top: 1px solid rgba(var(--ns-ink-rgb), 0.08); }
[data-bs-theme="dark"] .ns-shortcuts-note { border-top-color: rgba(var(--ns-ink-rgb), 0.12); }

/* ── Antes em style="" no template ── */
/* Navbar e rodapé fixos — gradiente navy */
.navbar.ns-navbar {
    background: linear-gradient(135deg, var(--ns-header-1) 0%, var(--ns-header-2) 50%, var(--ns-header-3) 100%);
    box-shadow: 0 2px 15px rgba(var(--ns-shadow-rgb), 0.3);
}
/* Dropdown da busca: oculto até o ns-core.js definir style.display = 'block' */
#busca_dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 9999;
    max-height: 600px;
    overflow-y: auto;
    overflow-x: hidden;
    min-width: 280px;
}
.ns-shortcuts-icon { font-size: 1.05rem; }
footer.ns-footer {
    background: linear-gradient(135deg, var(--ns-header-1), var(--ns-header-2));
    border-top: 1px solid rgba(var(--ns-accent-rgb), 0.15);
}
.ns-footer .ns-footer-text { color: rgba(var(--ns-on-header-rgb), 0.5); }
.ns-footer a.ns-footer-link { color: rgba(var(--ns-on-header-rgb), 0.4); }
