/* =========================
   Login Page Styles
   ========================= */

body{
  margin: 0;
  background: #ffffff;
  color: #222;
  overflow-y: auto;
}

.login-wrap{
  width:100%;

  display:flex;
  justify-content:center;
  align-items:flex-start;

  padding:40px 16px;
}

/* 모바일에선 살짝만 추가 */
/* 모바일 */
@media (max-width: 900px){
  .login-wrap{
    padding-bottom: 30px;
  }
}

.login-page{
    flex:1;
    min-height:calc(100vh - 180px);
}
.login-card .card-body.p-4{
  padding: 48px 28px !important;
}
.login-page {
  min-height: calc(100vh - 180px);
  display: flex;
  flex-direction: column;
}

.login-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.login-card{
  width:100%;
  max-width:420px;
  background:linear-gradient(180deg,#111f3b,#0f1b32);
  border:1px solid rgba(122,167,255,.18);
  border-radius:18px;
  box-shadow:
    0 20px 60px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.04);
  color: #e8eefc;
}

.login-card h3{
  text-align:center;
  font-weight:800;
  letter-spacing:.4px;
  margin-bottom:8px;
  color: #e8eefc;
}

.login-desc{
  text-align:center;
  font-size:14px;
  color: #a9b6da;
  margin-bottom:22px;
}

.login-card .form-label{
  font-size:13px;
  color: #a9b6da;
  margin-bottom:6px;
}

.login-card .form-control{
  background:#0b1220;
  border:1px solid #2a3a63;
  border-radius:12px;
  color: #e8eefc;
  padding:12px;
}

.login-card .form-control::placeholder{
  color: rgba(233, 238, 252, .45);
}

.login-card .form-control:focus{
  background:#0b1220;
  border-color:#7aa7ff;
  box-shadow:0 0 0 2px rgba(122,167,255,.15);
  color: #e8eefc;
}

.login-btn{
  margin-top:8px;
  border-radius:14px;
  padding:12px;
  font-weight:800;
  letter-spacing:.4px;
  background:linear-gradient(135deg,#7aa7ff,#2dd4bf);
  border:none;
  color:#0b1220;
  box-shadow:0 10px 30px rgba(122,167,255,.35);
}

.login-footer{
  margin-top:16px;
  text-align:center;
  font-size:13px;
  color: #a9b6da;
}

.login-footer a{
  color:#7aa7ff;
  text-decoration:none;
  font-weight:600;
}

.login-footer a:hover{
  text-decoration:underline;
}


html,
body{
  min-height:100vh;
}

body{
  display:flex !important;
  flex-direction:column !important;
}

.layout-main{
  flex:1 0 auto !important;
  width:100%;
  display:flex !important;
  justify-content:center;
  align-items:center;
  padding:0 !important;
}

.login-page{
  flex:1 0 auto !important;
  width:100%;
  min-height:100%;
  display:flex !important;
  align-items:center;
  justify-content:center;
}

.login-wrap{
  flex:0 0 auto !important;
  padding:40px 16px !important;
}

.foot{
  margin-top:auto !important;
}