
/* Unifeso Eventos - estilos base (extraído do legado) */
html, body { height: 100%; }

:root{
  --unifeso-green: #009d95;
  --unifeso-green-hover: #127e71;
  --bg-light-1: #f5f5f5;
}

.btn-success{background: var(--unifeso-green); border-color: var(--unifeso-green);}
.btn-success:hover{background: var(--unifeso-green-hover) !important; border-color: var(--unifeso-green-hover) !important;}
.btn-outline-success{border-color: var(--unifeso-green) !important; color: var(--unifeso-green);}
.btn-outline-success:hover{border-color: var(--unifeso-green-hover) !important; background: var(--unifeso-green-hover) !important; color: #fff;}

body.app-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body.app-shell > footer {
  margin-top: auto;
}

footer.fixed-bottom { left: 0; right: 0; }

/* overlays (lock) */
#lock{
  position:fixed;
  width:100%;
  height:100%;
  background-repeat:no-repeat;
  background-position:center center;
  z-index:100;
  display:none;
}

/* Login (index/cadastro) */
body.auth-shell{
  display:flex;
  align-items:center;
  padding-top:10px;
  padding-bottom:40px;
  background-color: var(--bg-light-1);
  min-height: 100vh;
  overflow-y: auto;
}

.form-signin{
  width:100%;
  max-width:350px;
  padding:15px;
  margin:auto;
}
.form-signin .checkbox{font-weight:400;}
.form-signin .form-floating:focus-within{z-index:2;}
.form-signin .form-floating input[type="email"]{margin-bottom:-1px;border-bottom-right-radius:0;border-bottom-left-radius:0;}
.form-signin .form-floating input[type="password"]{margin-bottom:10px;border-top-left-radius:0;border-top-right-radius:0;}

/* Login mais apresentável (somente tela de login) */
.login-signin{ max-width: 440px; }
.login-card{ border-radius: 14px; }
.login-logo{ width: 260px; max-width: 100%; height: auto; display:block; margin: 0 auto; }
.login-subtitle{ font-weight: 600; color: #3a3a3a; }
.login-card .form-label{ font-size: .85rem; color: #6c757d; }
.login-card .form-control{ padding: .65rem .75rem; border-radius: 8px; }

/* Modais em telas pequenas: evita cortar rodapé/botões */
@media (max-width: 576px), (max-height: 720px) {
  body.auth-shell{ align-items: flex-start; }
  .modal-dialog-centered{ align-items: flex-start; }
}

/* Ajustes de altura no menu (legado) */
@media (min-width: 1920px) { .menu{ min-height: 758px } }
@media (min-width: 1940px) { .menu{ min-height: 872px } }
@media (min-width: 1240px) { .menu{ min-height: 462px } }
