/* Estilos premium para páginas de autenticação (tema-aware) */
:root[data-theme] .auth-bg {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  background: radial-gradient(1200px 600px at 10% -10%, rgba(59,130,246,0.12), transparent 60%),
              radial-gradient(1000px 500px at 110% 10%, rgba(16,185,129,0.10), transparent 60%),
              linear-gradient(180deg, var(--bs-body-bg), var(--bs-body-bg));
}

/* Quando a página de login usa o layout padrão (header.php), esconda a sidebar e cabeçalho,
   e centralize o conteúdo principal igual ao fundo de auth */
:root[data-theme] .main-content > header { display: none !important; }
:root[data-theme] .sidebar { display: none !important; }
:root[data-theme] .main-content {
  margin-left: 0 !important;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  background: radial-gradient(1200px 600px at 10% -10%, rgba(59,130,246,0.12), transparent 60%),
              radial-gradient(1000px 500px at 110% 10%, rgba(16,185,129,0.10), transparent 60%),
              linear-gradient(180deg, var(--bs-body-bg), var(--bs-body-bg));
}

.auth-card {
  width: 100%;
  max-width: 440px;
  background: var(--bs-card-bg);
  border: 1px solid var(--bs-card-border-color);
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.12);
  overflow: hidden;
}

.auth-card-header {
  padding: 1.5rem 1.5rem 0.75rem 1.5rem;
  text-align: center;
}
.auth-brand {
  display: flex; flex-direction: column; align-items: center; gap: .75rem;
}
.auth-brand img { max-height: 64px; }
.auth-brand h1 { font-size: 1.25rem; margin: 0; color: var(--bs-heading-color); }

.auth-card-body { padding: 1.5rem; }

.auth-title { font-weight: 700; margin-bottom: .25rem; color: var(--bs-heading-color); }
.auth-subtitle { color: var(--gray-500); margin-bottom: 1rem; }

.input-group-text { background: var(--bs-card-bg); color: var(--bs-body-color); border-color: var(--bs-border-color); }
.form-control { background: var(--bs-card-bg); color: var(--bs-body-color); border-color: var(--bs-border-color); }
.form-control:focus { border-color: var(--secondary-color); box-shadow: 0 0 0 0.25rem rgba(37, 99, 235, 0.25); }

.btn-gradient {
  background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
  border: none;
  color: #fff;
}
.btn-gradient:hover { filter: brightness(1.05); }

.auth-links { display: flex; justify-content: space-between; align-items: center; margin-top: .75rem; }
.auth-links a { color: var(--secondary-color); text-decoration: none; }
.auth-links a:hover { text-decoration: underline; }

/* Botão de tema no topo da página de auth */
.auth-theme-toggle { position: fixed; top: 16px; right: 16px; z-index: 10; }

/* Responsivo */
@media (max-width: 480px) {
  .auth-card { max-width: 94vw; }
}
