/* Base tối thiểu cho Core UI */
html, body{ height:100%; }
body{ margin:0; }

/* BODY */
.ntd-body{
  min-height:100vh;
  background: radial-gradient(circle at top, #eef2ff 0%, #f8fafc 60%, #ffffff 100%);
  color:var(--ntd-ink, #0f172a);
}

/* AUTH WRAP (khi guest) */
.ntd-auth-wrap{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;

  /* NỀN CAM – NTD 2.0 ORANGE */
  background:
    radial-gradient(900px 500px at 10% 10%, rgba(255,255,255,.28), transparent 60%),
    radial-gradient(900px 500px at 90% 20%, rgba(255,255,255,.18), transparent 55%),
    linear-gradient(135deg, #ff7a18 0%, #ffb01f 45%, #ff7a18 100%);
}

/* AUTH BOX/PANEL */
.ntd-auth-box{
  width: 100%;
  max-width: 460px;
}

.ntd-auth-box.ntd-auth-register{
  max-width: 860px; /* form 2 cột */
}

.ntd-auth-panel{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 40px rgba(15,23,42,.18);
  border-radius: 18px;
  padding: 26px 26px 22px 26px;
  backdrop-filter: blur(10px);
}

/* Title/Desc */
.ntd-auth-title{
  margin: 0;
  text-align: center;
  font-weight: 800;
  letter-spacing: .6px;
  font-size: 18px;
  color: #111827;
}

.ntd-auth-desc{
  margin: 10px 0 0 0;
  text-align: center;
  font-size: 14px;
  color: rgba(17,24,39,.75);
}

/* Divider */
.ntd-auth-divider{
  height: 1px;
  background: rgba(15,23,42,.10);
  margin: 18px 0 14px 0;
}

/* Footer */
.ntd-auth-footer{
  text-align: center;
  font-size: 14px;
  color: rgba(17,24,39,.80);
}

.ntd-auth-footer a{
  color: #f97316;
  font-weight: 700;
  text-decoration: none;
}

.ntd-auth-footer a:hover{
  text-decoration: underline;
}

/* Link trong form (vd: Quên mật khẩu?) */
.ntd-auth-panel a{
  color: #ea580c;
  text-decoration: none;
  font-weight: 600;
}
.ntd-auth-panel a:hover{ text-decoration: underline; }

/* INPUT / SELECT – dùng chung cho AUTH */
.ntd-form-control{
  border-radius: 14px !important;
  border: 1px solid rgba(15,23,42,.14) !important;
  background: rgba(255,255,255,.96) !important;
  padding: 12px 14px !important;
  min-height: 46px;
  outline: none;
  box-shadow: none !important;
}

.ntd-form-control:focus{
  border-color: rgba(249,115,22,.55) !important;
  box-shadow: 0 0 0 4px rgba(249,115,22,.16) !important;
}

.form-label{
  color: rgba(17,24,39,.86);
}

/* Button primary – cam NTD */
.ntd-btn-primary{
  border-radius: 14px !important;
  border: 1px solid rgba(234,88,12,.25) !important;
  background: linear-gradient(135deg, #ff7a18 0%, #ffb01f 55%, #ff7a18 100%) !important;
  color: #111827 !important;
  font-weight: 800 !important;
  letter-spacing: .2px;
  padding: 12px 14px !important;
  box-shadow: 0 14px 24px rgba(234,88,12,.22);
}

.ntd-btn-primary:hover{
  filter: brightness(0.98);
  transform: translateY(-1px);
}

.ntd-btn-primary:active{
  transform: translateY(0px);
}

/* Checkbox (remember) */
.form-check-input{
  border-color: rgba(15,23,42,.25);
}
.form-check-input:checked{
  background-color: #f97316;
  border-color: #f97316;
}

/* INVALID */
.is-invalid{
  border-color: rgba(220,38,38,.55) !important;
}
.invalid-feedback{
  font-size: 13px;
}

/* FLASH */
.ntd-flash-wrap{ padding: 0 2px; }
.ntd-flash{
  border-radius: 14px;
  box-shadow: 0 12px 24px rgba(15,23,42,.10);
  border: 1px solid rgba(15,23,42,.08);
}
.ntd-flash--hide{
  opacity:0;
  transform: translateY(-6px);
  transition: all .25s ease;
}

/* Nút ghost giống layout cũ */
.ntd-btn-ghost{
  border-radius:999px !important;
  border: 1px solid rgba(255,255,255,.55) !important;
}

/* Responsive */
@media (max-width: 992px){
  .ntd-auth-box.ntd-auth-register{ max-width: 560px; }
}
@media (max-width: 576px){
  .ntd-auth-wrap{ padding: 14px; }
  .ntd-auth-panel{ padding: 20px 16px 18px 16px; border-radius: 16px; }
  .ntd-auth-title{ font-size: 16px; }
}
