/* page-security — dựng theo ceoacc client/security (đo getComputedStyle 13/10/2026).
   Giá trị px là CSS px trước zoom .86 của body. Mọi luật gói trong #page-security. */
#page-security {
  --sec-label: #213446;
  --sec-heading-font: "Plus Jakarta Sans", sans-serif;
}
/* Khoảng cách ceoacc viết bằng rem giữ đơn vị rem: base.css hạ cỡ gốc html xuống 15.5px khi ≤767.98px như ceoacc. */
.cg-dark #page-security {
  --sec-label: var(--cg-text);
}

/* Thẻ kính ceoacc */
#page-security .sec-card {
  position: relative; display: flex; flex-direction: column; min-width: 0;
  margin-bottom: 30px;
  color: var(--cg-text);
  background: linear-gradient(155deg, var(--cg-surface) 65%, var(--cg-soft));
  border: 1px solid var(--cg-line);
  border-radius: 24px;
  box-shadow: var(--cg-shadow);
  font-size: 14px; line-height: 1.6;
}
#page-security .sec-card-header {
  display: flex; justify-content: space-between; padding: 16px 20px 0;
  background: var(--cg-surface); border-radius: 23px 23px 0 0;
}
#page-security .sec-card-title { margin: 0; color: var(--cg-text); font-family: var(--sec-heading-font); font-size: 17px; font-weight: 700; line-height: 1.5; }
#page-security .sec-title-icon { display: inline-block; width: 30px; height: 30px; margin-right: .3125rem; vertical-align: middle; }
/* Hai lớp thân thẻ lồng nhau như ceoacc: nội dung cách mép thẻ 40px */
#page-security .sec-card-body { flex: 1 1 auto; padding: 20px; }
#page-security .sec-card-footer {
  padding: 14px 20px;
  background: var(--cg-soft); border-radius: 0 0 23px 23px;
}

/* Hàng biểu mẫu: nhãn 1/3, ô nhập 2/3 từ 992px */
#page-security .sec-form-row { display: flex; flex-wrap: wrap; margin: 0 -15px 1rem; }
#page-security .sec-label { flex: 0 0 100%; max-width: 100%; margin: 0; padding: calc(.625rem + 1px) 15px; color: var(--sec-label); font-size: 14px; font-weight: 500; line-height: 1.5; }
#page-security .sec-field { flex: 0 0 100%; max-width: 100%; padding: 0 15px; }
@media (min-width: 992px) {
  #page-security .sec-label { flex-basis: 33.333333%; max-width: 33.333333%; }
  #page-security .sec-field { flex-basis: 66.666667%; max-width: 66.666667%; }
}
#page-security .sec-field i { font-style: italic; }
#page-security .sec-input {
  display: block; width: 100%; height: 46px; padding: .625rem 1.25rem;
  color: var(--cg-text); background: var(--cg-surface);
  border: 1px solid var(--cg-line-strong); border-radius: 12px;
  font-family: inherit; font-size: 14px; line-height: 45px; /* như .form-control gốc */
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
#page-security .sec-input::placeholder { color: var(--cg-muted); opacity: 1; }
#page-security .sec-input:focus { outline: 0; border-color: var(--cg-primary); box-shadow: 0 0 0 2px var(--cg-field-ring); }
#page-security .sec-input[readonly] { background: var(--cg-soft); color: var(--cg-muted); }
#page-security .sec-qr { display: inline; width: 200px; height: 200px; vertical-align: middle; }

/* Nút: primary rê chuột KHÔNG đổi màu (luật ceo-glass), danger đậm hơn */
#page-security .sec-btn {
  display: inline-block; padding: .625rem 1.25rem; border: 1px solid transparent; border-radius: 12px;
  color: #fff; font-family: inherit; font-size: 14px; font-weight: 500; line-height: 21px;
  text-align: center; vertical-align: middle; cursor: pointer; box-shadow: 0 4px 8px 0 rgba(255,255,255,.05);
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
/* Hai nút cách nhau đúng một khoảng trắng giữa hai thẻ inline-block (3.8px) như gốc, không thêm margin */
/* Vòng focus bàn phím lấy từ luật chung (base.css); nút chỉ bỏ bóng khi focus như ceoacc */
#page-security .sec-btn:focus-visible { box-shadow: none; }
#page-security .sec-btn:disabled { opacity: .65; cursor: default; }
#page-security .sec-btn-primary,
#page-security .sec-btn-primary:hover { background: #2465bd; border-color: #2465bd; color: #fff; }
#page-security .sec-btn-danger { background: #f42b3d; border-color: #f42b3d; font-family: var(--sec-heading-font); }
#page-security .sec-btn-danger:hover,
#page-security .sec-btn-danger:focus { background: #ec0c20; border-color: #e00c1f; }
/* Nhấn giữ: primary xanh sáng, danger đỏ đậm, bỏ bóng (Bootstrap :active của gốc) */
#page-security .sec-btn-primary:active { background: #0056ff; border-color: #0052f2; box-shadow: none; }
#page-security .sec-btn-danger:active { background: #e00c1f; border-color: #d40b1d; box-shadow: none; }

/* Khổ hẹp như ceoacc (≤600px) */
@media (max-width: 600px) {
  #page-security .sec-card { border-radius: 20px; }
  #page-security .sec-card-header { border-radius: 19px 19px 0 0; padding: 14px 16px 0; }
  #page-security .sec-card > .sec-card-body { padding: 16px; }
  #page-security .sec-card-footer { border-radius: 0 0 19px 19px; padding: 12px 16px; }
  #page-security .sec-input { font-size: 16px; }
}

/* Bước 4 — thẻ "Phiên đăng nhập": bảng trong thẻ kính, cuộn ngang trong thẻ (không bao giờ cả trang) */
#page-security .sec-sessions-wrap { overflow-x: auto; }
#page-security .sec-sessions { width: 100%; min-width: 560px; border-collapse: collapse; color: var(--cg-text); font-size: 14px; line-height: 1.5; }
#page-security .sec-sessions th { padding: .625rem .75rem; border-bottom: 1px solid var(--cg-line-strong); color: var(--sec-label); font-weight: 500; text-align: left; white-space: nowrap; }
#page-security .sec-sessions td { padding: .625rem .75rem; border-bottom: 1px solid var(--cg-line); vertical-align: middle; word-break: break-word; }
#page-security .sec-sessions tbody tr:last-child td { border-bottom: 0; }
#page-security .sec-session-current { display: inline-block; margin-left: .5rem; padding: 0 .5rem; border-radius: 8px; background: var(--cg-soft); color: var(--cg-primary); font-size: 12px; font-weight: 600; white-space: nowrap; }
