/* Trang đăng ký CÔNG KHAI. Tách khỏi `shell.css`/`giao-dien.css` của vỏ quản trị: trang này đứng
   một mình, người xem chưa đăng nhập, và không có thanh điều hướng nào.

   Màu lấy từ biến của `theme.css` để trang tự đúng ở cả nền sáng lẫn nền tối — đặt màu cứng ở đây
   thì người bật nền tối thấy một trang trắng loá giữa các trang tối. */

.trang-dang-ky {
  margin: 0;
  background: var(--nen, #f6f7f9);
  color: var(--chu, #16191d);
  font-family: inherit;
  line-height: 1.55;
}

.dk-header {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .9rem 1.25rem;
  background: var(--nen-noi, #fff);
  border-bottom: 1px solid var(--vien, #d9dde3);
}
.dk-logo { height: 40px; width: auto; }
.dk-header strong { display: block; font-size: 1.02rem; }
.dk-header span { display: block; font-size: .85rem; opacity: .75; }

.dk-main {
  max-width: 52rem;
  margin: 0 auto;
  padding: 1.5rem 1.25rem 3rem;
}
.dk-main h1 { font-size: 1.5rem; margin: .5rem 0 .35rem; }
.dk-dan { margin: 0 0 1.25rem; opacity: .88; }

.dk-buoc {
  margin: 0 0 1.75rem;
  padding: .9rem 1rem .9rem 2.2rem;
  background: var(--nen-noi, #fff);
  border: 1px solid var(--vien, #d9dde3);
  border-radius: 8px;
}
.dk-buoc li + li { margin-top: .35rem; }

fieldset {
  margin: 0 0 1.25rem;
  padding: 1rem 1.1rem 1.15rem;
  background: var(--nen-noi, #fff);
  border: 1px solid var(--vien, #d9dde3);
  border-radius: 8px;
}
legend { padding: 0 .4rem; font-weight: 600; }

.dk-truong { margin-bottom: .9rem; }
.dk-truong:last-child { margin-bottom: 0; }
.dk-truong label,
.dk-nhan { display: block; margin-bottom: .3rem; font-weight: 500; }
.dk-truong small { display: block; margin-top: .3rem; font-size: .84rem; opacity: .72; }
.dk-bat-buoc { color: #c0392b; }

/* Hai cột trên màn rộng, một cột trên điện thoại — biểu mẫu này sẽ được điền trên cả hai. */
.dk-hang { display: grid; gap: 0 1rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 34rem) { .dk-hang { grid-template-columns: 1fr; } }

input, select, textarea {
  width: 100%;
  box-sizing: border-box;
  padding: .5rem .6rem;
  font: inherit;
  color: inherit;
  background: var(--nen, #fff);
  border: 1px solid var(--vien, #c8cdd5);
  border-radius: 6px;
}
input[type="file"] { padding: .4rem; }
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus {
  outline: 2px solid var(--nhan, #1a6fc4);
  outline-offset: 1px;
}

.dk-hop-chon { display: flex; flex-wrap: wrap; gap: .5rem .9rem; }
.dk-chon { display: inline-flex; align-items: center; gap: .35rem; font-weight: 400; }
.dk-chon input { width: auto; }

.dk-hanh-dong { display: flex; align-items: center; gap: .8rem; margin-top: 1.25rem; }
button {
  padding: .55rem 1.1rem;
  font: inherit;
  color: #fff;
  background: var(--nhan, #1a6fc4);
  border: 1px solid transparent;
  border-radius: 6px;
  cursor: pointer;
}
button:disabled { opacity: .55; cursor: progress; }
button.dk-phu { color: var(--chu, #16191d); background: transparent; border-color: var(--vien, #c8cdd5); }

.dk-loi {
  margin-top: .9rem;
  padding: .6rem .8rem;
  color: #7d241a;
  background: #fdecea;
  border: 1px solid #f5c6c0;
  border-radius: 6px;
}

.dk-xong {
  padding: 1.1rem 1.2rem;
  background: var(--nen-noi, #fff);
  border: 1px solid var(--vien, #d9dde3);
  border-left: 4px solid #1e8e5a;
  border-radius: 8px;
}
.dk-ket-qua { display: grid; grid-template-columns: max-content 1fr; gap: .4rem .9rem; margin: .9rem 0; }
.dk-ket-qua dt { font-weight: 600; }
.dk-ket-qua dd { margin: 0; }
.dk-ket-qua code { padding: .15rem .4rem; background: var(--nen, #eef0f3); border-radius: 4px; word-break: break-all; }

.dk-canh-bao {
  padding: .6rem .8rem;
  background: #fff6e0;
  border: 1px solid #f0d9a0;
  border-radius: 6px;
  color: #6b4c12;
}

.dk-tra-cuu { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--vien, #d9dde3); }
.dk-tra-cuu h2 { font-size: 1.15rem; }
.dk-kq-tra-cuu {
  margin-top: .9rem;
  padding: .8rem 1rem;
  background: var(--nen-noi, #fff);
  border: 1px solid var(--vien, #d9dde3);
  border-radius: 8px;
}
.dk-kq-tra-cuu dl { display: grid; grid-template-columns: max-content 1fr; gap: .35rem .9rem; margin: 0; }
.dk-kq-tra-cuu dt { font-weight: 600; }
.dk-kq-tra-cuu dd { margin: 0; }

.dk-footer {
  padding: 1.25rem;
  text-align: center;
  font-size: .88rem;
  opacity: .78;
  border-top: 1px solid var(--vien, #d9dde3);
}

/* Khối điều khoản cam kết. Cuộn được trong khung riêng: bộ điều khoản sẽ dài ra ở bản đầy đủ, và
   một khối dài đẩy nút Nộp xuống dưới màn hình thì người dùng tưởng trang hỏng. */
.dk-dieu-khoan {
  max-height: 16rem;
  overflow-y: auto;
  padding: 0.75rem 1rem;
  border: 1px solid var(--vien, #d0d7de);
  border-radius: 6px;
  background: var(--nen-phu, #f6f8fa);
  font-size: 0.95rem;
  line-height: 1.55;
}
.dk-dieu-khoan ol { margin: 0; padding-left: 1.25rem; }
.dk-dieu-khoan li { margin-bottom: 0.5rem; }
.dk-dong-y { margin-top: 0.75rem; display: flex; gap: 0.5rem; align-items: flex-start; }
