/* Identidade visual */
:root { --brand-color: #003da6; --minas-blue-dark: #003f71; --minas-blue: #0083c0; --minas-blue-light: #30b2ef; }

body {
  font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;
}

/* Header-auth estrutura básica */
.header-auth .navbar-top { position: relative; }
.header-auth .header { position: absolute; top: 0; left: 0; right: 0; height: 70vh; min-height: 400px; }

/* Header e gradiente */
.bg-minas-blue-dark { background-color: var(--minas-blue-dark) !important; }
.text-minas-blue-light { color: var(--minas-blue-light) !important; }
.minas-gradient-bg-esportes-blue-light { background: linear-gradient(135deg, var(--minas-blue) 0%, var(--minas-blue-light) 100%); }

/* Separador e empilhamento */
.separator { position: relative; height: 100.1%; }
.separator .fill-minas-blue-dark { fill: var(--minas-blue-dark); }
.separator.separator-bottom svg { display: block; width: 100%; height: auto; }
.zindex-100 { position: relative; z-index: 100; }

/* Main-content conforme referência */
.main-content { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 100vh; max-height: 100vh; overflow-y: auto; }

/* Trazer conteúdo principal acima do separador (sobreposição adicional) */
.main-content > .container { position: relative; z-index: 200; }

/* Navbar simplificada */
.navbar-top.navbar-horizontal.navbar-dark .nav-link { color: #fff; }
.navbar-top .navbar-toggler { border: 0; }

/* Card de login */
.login-card { max-width: 920px; width: 100%; border-radius: 16px; }
.brand-pane { background: linear-gradient(135deg, var(--brand-color) 0%, #0c4fd3 100%); }
.brand-logo { filter: drop-shadow(0 4px 12px rgba(0,0,0,.25)); }

/* Botões tema Minas */
.btn-minas-blue-dark { background-color: var(--minas-blue-dark); color: #fff; border-color: var(--minas-blue-dark); }
.btn-minas-blue-dark:hover { background-color: #002f57; border-color: #002f57; color: #fff; }

/* Links */
.link-primary, .text-minas-blue-light a { color: var(--minas-blue-light); }
.link-primary:hover { color: #1b9ad9; }

/* Form inputs */
.form-control:focus { box-shadow: 0 0 0 .25rem rgba(0,61,166,.15); border-color: #6fa2ff; }
.input-group-text { background: #fff; }

/* Footer */
footer .copyright { font-size: .9rem; }

@media (max-width: 991.98px) {
  .login-card { max-width: 540px; }
}
