/* ===== LTI Solutions – Modern Login (GLPI 10.x) ===== */
body { font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }

/* Fundo com gradiente + textura leve */
body, body.login, body#login {
  min-height: 100vh;
  background: linear-gradient(135deg,#0a2458 0%, #1a4ea1 100%);
  background-attachment: fixed;
}
body::before {
  content: ""; position: fixed; inset: 0;
  background: url("/pics/custom/login-bg.jpg") center/cover no-repeat;
  opacity: .12; pointer-events: none;
}

/* Remover topo e card do layout base (garantia adicional) */
.page-card-notlogged .navbar, .page_card_notlogged .navbar,
.page-card-notlogged .brand,  .page_card_notlogged .brand,
header .navbar, header .brand, .auth-logo, .login-logo { display:none !important; }
.page-card-notlogged .card, .page_card_notlogged .card { background:transparent !important; box-shadow:none !important; border:0 !important; padding:0 !important; }
.page-card-notlogged .container, .page_card_notlogged .container { padding-top:0 !important; padding-bottom:0 !important; min-height:100vh; display:flex; align-items:center; justify-content:center; }

/* Wrapper */
.lti-login-page { display:flex; align-items:center; justify-content:center; min-height:calc(100vh - 40px); padding:16px; }

/* Card responsivo */
.lti-card {
  width: clamp(340px, 92vw, 560px);
  background:#fff; border-radius:24px;
  box-shadow: 0 18px 40px rgba(13,45,87,.18);
  overflow:hidden; margin:16px 0;
}
@media (min-width: 992px){ .lti-card{ width: 680px; } }
@media (min-width: 1440px){ .lti-card{ width: 760px; } }

/* Cabeçalho */
.lti-card-header { padding:20px 24px 8px; text-align:center; }
.lti-logo { width:170px; height:52px; margin:0 auto 8px;
  background:url("/pics/custom/lti-logo.png") center/contain no-repeat; }
.lti-title { font:800 22px/1.2 "Inter"; color:#0d2d57; margin:0; }
@media (min-width: 768px){ .lti-title{ font-size:24px; } }

/* Corpo */
.lti-card-body { padding:18px 22px 10px; }
@media (min-width: 768px){ .lti-card-body{ padding:22px 28px 12px; } }

/* Campos */
.lti-card-body .form-label { font-weight:600; color:#0d2d57; }
.lti-card-body .form-control, .lti-card-body select.form-select {
  width:100%; height:46px; border-radius:12px; border:1px solid #E5E7EB;
  transition: box-shadow .2s, border-color .2s;
}
.lti-card-body .form-control:focus, .lti-card-body select.form-select:focus {
  border-color:#99B6E6; box-shadow:0 0 0 4px rgba(26,78,161,.12);
}

/* Remember */
.lti-remember { margin-top:4px; }

/* Botão */
.lti-btn-primary {
  width:100%; height:48px; border:0; border-radius:12px;
  background: linear-gradient(90deg,#1a4ea1,#0a2458);
  color:#fff; font-weight:700; transition: transform .08s ease, filter .2s ease;
}
.lti-btn-primary:hover { filter:brightness(1.05); }
.lti-btn-primary:active { transform:translateY(1px); }

/* Links */
.lti-links {
  display:flex; gap:16px; justify-content:center;
  padding:12px 0 6px; border-top:1px solid #EEF2F6; margin-top:10px;
}
.lti-links a { color:#1a4ea1; font-weight:600; text-decoration:none; }
.lti-links a:hover { text-decoration:underline; }

/* Rodapé */
.lti-footer { text-align:center; color:#9AA4B2; font-size:.9rem; margin-top:18px; padding-bottom:8px; }
