/* =====================================================================
   assets/trang/dang-nhap.css — màn Đăng nhập và "Đặt mật khẩu mới" (mockup v9:
   dang-nhap, doi-mk-dau). Nạp SAU qlts.css, qlts-giao-dien.css, qlts-v2.css.
   .dang-nhap / .auth-card / .dk-mk có sẵn ở qlts-v2.css; tệp này bù phần còn thiếu
   (ô vuông logo "TP", trang không có thanh mockup ở trên nên cao đủ màn hình) và
   gỡ kiểu cũ của qlts.css (.auth-screen, .auth-card cũ).
   ===================================================================== */

body { background: var(--bg); margin: 0; }
.dang-nhap { min-height: 100vh; min-height: 100dvh; box-sizing: border-box;
  padding: calc(var(--k4) + env(safe-area-inset-top, 0px)) var(--k4) calc(var(--k4) + env(safe-area-inset-bottom, 0px)); }
.dang-nhap .khung-dn { display: grid; gap: var(--k4); width: 100%; max-width: 400px; }
.dang-nhap .khung-dn.rong { max-width: 420px; }

.auth-card { border: 0; margin: 0; }
.auth-card > div:not(.aspNetHidden) { display: grid; gap: var(--k4); }
.auth-card > .aspNetHidden { display: none; }
.auth-card .logo .mark { width: 64px; height: 64px; border-radius: 16px; background: var(--vang); color: #1e293b;
  display: grid; place-items: center; font-weight: 800; font-size: 22px; letter-spacing: -.02em; }
.auth-card .logo b { font-size: 18px; letter-spacing: .04em; color: var(--text); }
.auth-card .logo .ma { font-size: 15px; font-weight: 700; letter-spacing: .02em; }
.auth-card .btn.chinh { height: 44px; width: 100%; font-size: 14px; font-weight: 600; }
.auth-card .btn:not(.chinh) { width: 100%; }
.auth-card .no { margin: 0; }
/* qlts.css (cũ) viết hoa nhãn ô — mockup viết thường. */
.auth-card .field > label { margin: 0; text-transform: none; letter-spacing: 0; font-size: 12.5px; font-weight: 500; color: var(--text-2); }
.auth-card .goi-y, .auth-card .muted { color: var(--text-3); }
.auth-card .lien-ket { text-align: center; font-size: 12.5px; }
.auth-card .lien-ket a { color: var(--primary); }
.auth-card .alert { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border-radius: var(--r); border: 1px solid var(--err-bd); background: var(--err-bg); color: var(--err); font-size: 13px; }
.auth-card .alert.canh-bao { border-color: var(--warn-bd); background: var(--warn-bg); color: var(--warn); }
.auth-card .alert.ok { border-color: var(--ok-bd); background: var(--ok-bg); color: var(--ok); }
.auth-card code.ma { font-size: 12px; }

/* ---------------------------------------------------------------------------
   Góp ý 26/09 (màn /quan-ly/dang-nhap): logo chuẩn, tên công ty đầy đủ, ô xác minh
   Cloudflare Turnstile, chân thẻ ©. Trang luôn sáng (data-theme="light" ở DangNhap.aspx).
   Các lớp .logo/.mark phía trên vẫn giữ cho màn "Đặt mật khẩu mới" (DoiMatKhau.aspx).
   --------------------------------------------------------------------------- */
.auth-card .dau-the { display: grid; justify-items: center; gap: 6px; text-align: center; }
.auth-card .logo-tp { display: block; width: 132px; max-width: 50%; height: auto; aspect-ratio: 602 / 562; }
.auth-card .ten-cty { margin: 2px 0 0; font-size: 15px; font-weight: 700; color: var(--text); letter-spacing: .01em; line-height: 1.35; text-wrap: balance; }
.auth-card .phu-de { margin: 0; font-size: 12.5px; color: var(--text-3); }
.auth-card .input { height: 44px; font-size: 14px; }
/* Turnstile "flexible": rộng 100% khung, tối thiểu 300px, cao 65px. Giữ chỗ để thẻ không nhảy. */
.auth-card .o-xac-minh { min-height: 65px; width: 100%; display: flex; justify-content: center; }
.auth-card .o-xac-minh .cf-turnstile { width: 100%; }
.auth-card .ban-quyen { margin: 0; padding-top: var(--k3); border-top: 1px solid var(--border-light, #e2e8f0);
  text-align: center; font-size: 12px; color: var(--text-3); line-height: 1.5; }

/* Kiểm trước khi gửi (28/09, qlts-v2.js): câu báo dưới ô xác minh Turnstile — sát ô, canh giữa như ô. */
.auth-card .o-xac-minh + .loi-o { margin-top: calc(4px - var(--k4)); text-align: center; }

@media (max-width: 767px) {
  /* iOS phóng to trang khi ô nhập có chữ < 16px. */
  .auth-card .input { font-size: 16px; }
  .auth-card .logo-tp { width: 116px; }
}
@media (max-width: 400px) {
  /* 360px: khung 16 + thẻ 24 hai bên chỉ còn 280px — ô Turnstile cần tối thiểu 300px. */
  .dang-nhap { padding-left: 10px; padding-right: 10px; }
  .dang-nhap .auth-card { padding-left: 14px; padding-right: 14px; }
}
