/*
 * Identidade visual MPS Turismo.
 * Paleta extraída da logo/artes da agência: azul-marinho + azul-céu.
 * O sistema interno usa fundo neutro (é ferramenta de trabalho, não
 * peça de marketing) — a cor de marca entra como destaque: cabeçalho,
 * botões, links, badges de status.
 */

:root {
    --mps-navy: #0e2340;
    --mps-navy-dark: #081527;
    --mps-blue: #2fa6de;
    --mps-blue-dark: #1f8dc4;
    --mps-blue-tint: #eaf6fc;
    --mps-bg: #f4f6f8;
    --mps-surface: #ffffff;
    --mps-border: #e1e5ea;
    --mps-text: #1b2430;
    --mps-text-muted: #64707d;

    /* Sobrescreve as variáveis do Bootstrap 5.3 pra usar a marca */
    --bs-primary: var(--mps-navy);
    --bs-primary-rgb: 14, 35, 64;
    --bs-body-bg: var(--mps-bg);
    --bs-body-color: var(--mps-text);
    --bs-border-color: var(--mps-border);
    --bs-link-color: var(--mps-blue-dark);
    --bs-link-hover-color: var(--mps-navy);
    --bs-link-color-rgb: 31, 141, 196;
    --bs-link-hover-color-rgb: 14, 35, 64;
}

body {
    font-family: "Inter", system-ui, sans-serif;
}

h1, h2, h3, h4, h5, h6, .navbar-brand, .brand-wordmark {
    font-family: "Poppins", "Inter", system-ui, sans-serif;
}

/* Cabeçalho */
.navbar-mps {
    background: var(--mps-navy);
}

.brand-wordmark {
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: -0.01em;
    color: #fff;
}

.brand-wordmark .brand-suffix {
    font-weight: 600;
    font-size: 0.7em;
    color: var(--mps-blue);
    letter-spacing: 0.12em;
    margin-left: 0.15em;
}

.navbar-mps .nav-link {
    color: rgba(255, 255, 255, 0.82);
    font-weight: 500;
}

.navbar-mps .nav-link:hover,
.navbar-mps .nav-link:focus {
    color: #fff;
}

.navbar-mps .nav-link.active {
    color: var(--mps-blue);
}

/* Botões primários na cor da marca */
.btn-primary {
    --bs-btn-bg: var(--mps-navy);
    --bs-btn-border-color: var(--mps-navy);
    --bs-btn-hover-bg: var(--mps-navy-dark);
    --bs-btn-hover-border-color: var(--mps-navy-dark);
    --bs-btn-active-bg: var(--mps-navy-dark);
    --bs-btn-active-border-color: var(--mps-navy-dark);
    --bs-btn-focus-shadow-rgb: 14, 35, 64;
}

.btn-outline-primary {
    --bs-btn-color: var(--mps-navy);
    --bs-btn-border-color: var(--mps-navy);
    --bs-btn-hover-bg: var(--mps-navy);
    --bs-btn-hover-border-color: var(--mps-navy);
    --bs-btn-active-bg: var(--mps-navy);
    --bs-btn-active-border-color: var(--mps-navy);
}

/* Destaque secundário (período selecionado, links de navegação interna) */
.btn-accent {
    --bs-btn-bg: var(--mps-blue);
    --bs-btn-border-color: var(--mps-blue);
    --bs-btn-color: #fff;
    --bs-btn-hover-bg: var(--mps-blue-dark);
    --bs-btn-hover-border-color: var(--mps-blue-dark);
    --bs-btn-hover-color: #fff;
}

.card {
    border-color: var(--mps-border);
}

.stat-tile .stat-label {
    font-size: 0.8rem;
    color: var(--mps-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.stat-tile .stat-value {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: 1.5rem;
    color: var(--mps-navy);
}

.auth-shell {
    min-height: 100vh;
    background: linear-gradient(160deg, var(--mps-navy) 0%, var(--mps-navy) 45%, var(--mps-blue-tint) 45%);
}

/* Linha de tabela clicável (data-href) -- ver static/js/row-link.js */
tr[data-href] {
    cursor: pointer;
}

.entity-picker-results {
    display: none;
    position: absolute;
    z-index: 1050;
    width: 100%;
    max-height: 260px;
    overflow-y: auto;
    box-shadow: 0 4px 12px rgba(14, 35, 64, 0.15);
}
