/*
 * Migrated page component styles.
 * Inline <style> blocks from runtime PHP pages were moved here so the
 * Bootstrap 5 police admin theme can be controlled from shared assets.
 */

/* Shared legacy app shell adjustments. */
body.kv2-app.sidebar-collapse .main-sidebar {
  display: none !important;
}

/* KV2 feature center */
body.kv2-police-admin .feature-admin-page {
  color: #0b2035;
}

body.kv2-police-admin .feature-title-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-end;
  padding: 18px 4px 8px;
}

body.kv2-police-admin .feature-title-row h1 {
  margin: 8px 0 8px;
  font-size: 34px;
  font-weight: 900;
  color: #061a2f;
}

body.kv2-police-admin .feature-title-row p {
  margin: 0;
  max-width: 760px;
  color: #536b84;
  font-size: 16px;
  line-height: 1.6;
}

body.kv2-police-admin .feature-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0f86a6;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}

body.kv2-police-admin .feature-title-actions,
body.kv2-police-admin .feature-panel-head > div {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

body.kv2-police-admin .feature-module-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

body.kv2-police-admin .feature-module-tabs a,
body.kv2-police-admin .feature-overview-card,
body.kv2-police-admin .feature-function-card,
body.kv2-police-admin .feature-link-grid a {
  display: block;
  color: #0b2035;
  text-decoration: none;
  border: 1px solid #cde0ed;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(8, 32, 51, .08);
}

body.kv2-police-admin .feature-module-tabs a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 10px 12px;
  font-weight: 900;
}

body.kv2-police-admin .feature-module-tabs a i {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  color: #0f86a6;
  background: #e8f7fb;
}

body.kv2-police-admin .feature-module-tabs a.active {
  color: #fff;
  border-color: #0f86a6;
  background: linear-gradient(135deg, #0f86a6, #0a786c);
}

body.kv2-police-admin .feature-module-tabs a.active i {
  color: #fff;
  background: rgba(255,255,255,.18);
}

body.kv2-police-admin .feature-summary-grid,
body.kv2-police-admin .feature-report-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

body.kv2-police-admin .feature-summary-grid > div,
body.kv2-police-admin .feature-report-grid > div {
  min-height: 92px;
  padding: 16px;
  border: 1px solid #cde0ed;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(8, 32, 51, .08);
}

body.kv2-police-admin .feature-summary-grid span,
body.kv2-police-admin .feature-report-grid span,
body.kv2-police-admin .feature-report-grid small {
  display: block;
  color: #5c7187;
  font-weight: 800;
}

body.kv2-police-admin .feature-summary-grid strong,
body.kv2-police-admin .feature-report-grid strong {
  display: block;
  margin-top: 8px;
  color: #061a2f;
  font-size: 28px;
  line-height: 1;
  font-weight: 900;
}

body.kv2-police-admin .feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}

body.kv2-police-admin .feature-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.kv2-police-admin .feature-overview-card {
  min-height: 168px;
  padding: 18px;
}

body.kv2-police-admin .feature-overview-card i {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 14px;
  border-radius: 10px;
  color: #0f86a6;
  background: #e8f7fb;
}

body.kv2-police-admin .feature-overview-card strong,
body.kv2-police-admin .feature-function-card strong,
body.kv2-police-admin .feature-link-grid strong {
  display: block;
  color: #061a2f;
  font-size: 17px;
  font-weight: 900;
}

body.kv2-police-admin .feature-overview-card span,
body.kv2-police-admin .feature-overview-card small,
body.kv2-police-admin .feature-function-card span,
body.kv2-police-admin .feature-function-card small,
body.kv2-police-admin .feature-link-grid span {
  display: block;
  margin-top: 8px;
  color: #597089;
  font-weight: 700;
  line-height: 1.45;
}

body.kv2-police-admin .feature-panel {
  margin-bottom: 16px;
  padding: 18px;
  border: 1px solid #cde0ed;
  border-radius: 12px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 44px rgba(8, 32, 51, .09);
}

body.kv2-police-admin .feature-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

body.kv2-police-admin .feature-panel-head h3 {
  margin: 0;
  color: #061a2f;
  font-size: 20px;
  font-weight: 900;
}

body.kv2-police-admin .feature-panel-head > span,
body.kv2-police-admin .feature-muted {
  color: #5b7188;
  font-weight: 700;
  line-height: 1.65;
}

body.kv2-police-admin .feature-function-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

body.kv2-police-admin .feature-function-card {
  min-height: 136px;
  padding: 14px;
  border-left: 4px solid #0f86a6;
}

body.kv2-police-admin .feature-function-card.disabled {
  opacity: .55;
  pointer-events: none;
}

body.kv2-police-admin .feature-filter-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

body.kv2-police-admin .feature-filter-form label {
  display: block;
  margin: 0;
  color: #0b2035;
  font-weight: 900;
}

body.kv2-police-admin .feature-filter-form label span {
  display: block;
  margin-bottom: 7px;
}

body.kv2-police-admin .feature-filter-form input,
body.kv2-police-admin .feature-filter-form select {
  width: 100%;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #b9d0e2;
  border-radius: 9px;
  background: #fff;
  color: #061a2f;
  font-weight: 700;
}

body.kv2-police-admin .feature-neighborhood-filter {
  grid-template-columns: minmax(260px, 1fr) auto;
  margin-bottom: 12px;
}

body.kv2-police-admin .feature-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

body.kv2-police-admin .feature-filter-form .select2-container {
  width: 100% !important;
}

body.kv2-police-admin .feature-filter-form .select2-container--default .select2-selection--single {
  min-height: 44px;
  border: 1px solid #b9d0e2;
  border-radius: 9px;
  background: #fff;
}

body.kv2-police-admin .feature-filter-form .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 42px;
  color: #061a2f;
  font-weight: 800;
}

body.kv2-police-admin .feature-filter-form .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 42px;
}

body.kv2-police-admin .feature-filter-form .feature-check {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
}

body.kv2-police-admin .feature-filter-form .feature-check input {
  width: 18px;
  min-height: 18px;
}

body.kv2-police-admin .feature-stat-list,
body.kv2-police-admin .feature-mini-list {
  display: grid;
  gap: 10px;
}

body.kv2-police-admin .feature-stat-list a,
body.kv2-police-admin .feature-mini-list div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  color: #0b2035;
  text-decoration: none;
  border: 1px solid #d8e8f2;
  border-radius: 10px;
  background: #f8fcff;
}

body.kv2-police-admin .feature-stat-list strong,
body.kv2-police-admin .feature-mini-list strong {
  color: #061a2f;
  font-weight: 900;
}

body.kv2-police-admin .feature-mini-list span {
  color: #60758b;
  font-weight: 700;
  text-align: right;
}

body.kv2-police-admin .feature-table-wrap {
  overflow-x: auto;
}

body.kv2-police-admin .feature-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #cde0ed;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

body.kv2-police-admin .feature-table th,
body.kv2-police-admin .feature-table td {
  padding: 12px;
  border-bottom: 1px solid #e2edf5;
  color: #0b2035;
  vertical-align: top;
}

body.kv2-police-admin .feature-table th {
  color: #0b5f80;
  background: #eef8fc;
  font-weight: 900;
}

body.kv2-police-admin .feature-empty {
  padding: 14px;
  border-radius: 10px;
  color: #526a82;
  background: #f3f8fb;
  font-weight: 800;
}

body.kv2-police-admin .feature-timeline {
  display: grid;
  gap: 12px;
  position: relative;
}

body.kv2-police-admin .feature-timeline div {
  padding: 14px 14px 14px 18px;
  border-left: 4px solid #0f86a6;
  border-radius: 10px;
  background: #f8fcff;
}

body.kv2-police-admin .feature-timeline span,
body.kv2-police-admin .feature-timeline small {
  display: block;
  color: #62778e;
  font-weight: 700;
}

body.kv2-police-admin .feature-timeline strong {
  display: block;
  margin: 5px 0;
  color: #061a2f;
  font-size: 18px;
  font-weight: 900;
}

body.kv2-police-admin .feature-family-tree {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body.kv2-police-admin .feature-family-tree div {
  padding: 12px;
  border: 1px solid #d8e8f2;
  border-radius: 10px;
  background: #f8fcff;
}

body.kv2-police-admin .feature-family-tree strong,
body.kv2-police-admin .feature-family-tree span,
body.kv2-police-admin .feature-family-tree small {
  display: block;
}

body.kv2-police-admin .feature-family-tree span,
body.kv2-police-admin .feature-family-tree small {
  margin-top: 5px;
  color: #63788d;
}

body.kv2-police-admin .feature-bar-list {
  display: grid;
  gap: 10px;
}

body.kv2-police-admin .feature-bar-list div {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) minmax(90px, 3fr) 62px;
  gap: 10px;
  align-items: center;
}

body.kv2-police-admin .feature-bar-list span {
  color: #0b2035;
  font-weight: 800;
}

body.kv2-police-admin .feature-bar-list b {
  display: block;
  min-width: 8px;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0f86a6, #0a786c);
}

body.kv2-police-admin .feature-bar-list strong {
  color: #061a2f;
  text-align: right;
}

body.kv2-police-admin .feature-ui-controls,
body.kv2-police-admin .feature-link-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

body.kv2-police-admin .feature-link-grid a {
  min-height: 124px;
  padding: 16px;
}

body.kv2-police-admin .feature-link-grid i {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-bottom: 12px;
  color: #0f86a6;
  border-radius: 10px;
  background: #e8f7fb;
}

body.kv2-police-admin .feature-qr-box {
  display: grid;
  place-items: center;
  min-height: 220px;
  border: 10px solid #061a2f;
  border-radius: 12px;
  background:
    linear-gradient(90deg, rgba(6,26,47,.08) 50%, transparent 0) 0 0/24px 24px,
    linear-gradient(rgba(15,134,166,.08) 50%, transparent 0) 0 0/24px 24px,
    #fff;
}

body.kv2-police-admin .feature-qr-box strong {
  padding: 10px 14px;
  color: #fff;
  border-radius: 8px;
  background: #061a2f;
}

body.kv2-police-admin .feature-qr-box span,
body.kv2-police-admin .feature-qr-box small {
  color: #061a2f;
  font-weight: 900;
}

body.kv2-feature-dark {
  background: #102235 !important;
}

body.kv2-feature-dark .content-wrapper {
  background: #102235 !important;
}

body.kv2-feature-dark.kv2-police-admin .feature-panel,
body.kv2-feature-dark.kv2-police-admin .feature-summary-grid > div,
body.kv2-feature-dark.kv2-police-admin .feature-report-grid > div,
body.kv2-feature-dark.kv2-police-admin .feature-module-tabs a,
body.kv2-feature-dark.kv2-police-admin .feature-overview-card,
body.kv2-feature-dark.kv2-police-admin .feature-function-card,
body.kv2-feature-dark.kv2-police-admin .feature-link-grid a {
  background: #172d43;
  border-color: #2a4a63;
}

body.kv2-feature-dark.kv2-police-admin .feature-title-row h1,
body.kv2-feature-dark.kv2-police-admin .feature-panel-head h3,
body.kv2-feature-dark.kv2-police-admin .feature-overview-card strong,
body.kv2-feature-dark.kv2-police-admin .feature-function-card strong,
body.kv2-feature-dark.kv2-police-admin .feature-link-grid strong,
body.kv2-feature-dark.kv2-police-admin .feature-summary-grid strong,
body.kv2-feature-dark.kv2-police-admin .feature-report-grid strong {
  color: #fff;
}

body.kv2-feature-dark.kv2-police-admin .feature-title-row p,
body.kv2-feature-dark.kv2-police-admin .feature-overview-card span,
body.kv2-feature-dark.kv2-police-admin .feature-overview-card small,
body.kv2-feature-dark.kv2-police-admin .feature-function-card span,
body.kv2-feature-dark.kv2-police-admin .feature-function-card small {
  color: #c9d8e4;
}

body.kv2-feature-large {
  font-size: 17px;
}

body.kv2-feature-compact .feature-table th,
body.kv2-feature-compact .feature-table td {
  padding: 8px 10px;
}

@media (max-width: 1200px) {
  body.kv2-police-admin .feature-module-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.kv2-police-admin .feature-function-grid,
  body.kv2-police-admin .feature-summary-grid,
  body.kv2-police-admin .feature-report-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body.kv2-police-admin .feature-title-row,
  body.kv2-police-admin .feature-panel-head {
    align-items: stretch;
    flex-direction: column;
  }

  body.kv2-police-admin .feature-title-row h1 {
    font-size: 26px;
  }

  body.kv2-police-admin .feature-module-tabs,
  body.kv2-police-admin .feature-summary-grid,
  body.kv2-police-admin .feature-report-grid,
  body.kv2-police-admin .feature-grid,
  body.kv2-police-admin .feature-grid.two,
  body.kv2-police-admin .feature-function-grid,
  body.kv2-police-admin .feature-filter-form,
  body.kv2-police-admin .feature-family-tree,
  body.kv2-police-admin .feature-ui-controls,
  body.kv2-police-admin .feature-link-grid {
    grid-template-columns: 1fr;
  }

  body.kv2-police-admin .feature-panel {
    padding: 14px;
    border-radius: 10px;
  }

  body.kv2-police-admin .feature-stat-list a,
  body.kv2-police-admin .feature-mini-list div,
  body.kv2-police-admin .feature-bar-list div {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  body.kv2-police-admin .feature-mini-list span,
  body.kv2-police-admin .feature-bar-list strong {
    text-align: left;
  }

  body.kv2-police-admin .feature-table thead {
    display: none;
  }

  body.kv2-police-admin .feature-table,
  body.kv2-police-admin .feature-table tbody,
  body.kv2-police-admin .feature-table tr,
  body.kv2-police-admin .feature-table td {
    display: block;
    width: 100%;
  }

  body.kv2-police-admin .feature-table tr {
    padding: 12px;
    border-bottom: 1px solid #d8e8f2;
  }

  body.kv2-police-admin .feature-table td {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border: 0;
    padding: 8px 0;
    word-break: break-word;
  }

  body.kv2-police-admin .feature-table td::before {
    content: attr(data-label);
    flex: 0 0 42%;
    color: #58708a;
    font-weight: 900;
  }
}

@media print {
  body.kv2-police-admin .main-header,
  body.kv2-police-admin .kv2-side-nav,
  body.kv2-police-admin .feature-module-tabs,
  body.kv2-police-admin .feature-title-actions,
  body.kv2-police-admin .main-footer {
    display: none !important;
  }

  body.kv2-police-admin .content-wrapper {
    margin: 0 !important;
    background: #fff !important;
  }

  body.kv2-police-admin .feature-panel {
    box-shadow: none;
    break-inside: avoid;
  }
}

body.kv2-app.sidebar-collapse .content-wrapper,
body.kv2-app.sidebar-collapse .right-side,
body.kv2-app.sidebar-collapse .main-footer {
  margin-left: 0 !important;
}

/* ===== pages/12so-hsct.php :: style block 1 ===== */
html, body { font-family:"Inter","Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif; font-size:14.5px; }
  .searchbar{ display:flex; align-items:center; gap:10px; margin:10px 0 14px; flex-wrap:wrap; }
  .search-input{ position:relative; display:flex; align-items:center; background:#fff; border:1px solid #e5e7eb; border-radius:999px; padding:10px 44px 10px 36px; min-width:240px; width:100%; }
  .search-input > i{ position:absolute; left:12px; color:#9ca3af; }
  .search-input input{ border:0; outline:0; width:100%; background:transparent; }
  .btn-search{ display:inline-flex; align-items:center; gap:10px; background:#3b82f6; border:1px solid #3b82f6; color:#fff; padding:12px 20px; border-radius:12px; font-weight:700; }
  .btn-primary{ background:#3b82f6; border-color:#3b82f6; }
  .btn-primary:hover{ background:#2563eb; border-color:#2563eb; }
  .cell-ellipsis{ max-width:280px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .cell-mono{ font-family: ui-monospace, Menlo, Consolas, monospace; }

/* ===== pages/chuyen-khau-cong-dan.php :: style block 1 ===== */
/* =========================================================
   KV2 SYNC THEME (NO PURPLE) - Đồng bộ với header KV2
   + FIX MODAL TRẮNG BOOTSTRAP (chữ bị nhạt phải bôi đen mới thấy)
   Dựa trên biến :root --kv2-* đã có trong header.php
   ========================================================= */

.content-wrapper{
  background:
    radial-gradient(900px circle at 12% 12%, rgba(56,189,248,0.08), transparent 55%),
    radial-gradient(800px circle at 90% 20%, rgba(14,165,164,0.10), transparent 55%),
    var(--kv2-bg);
  color: var(--kv2-text-main);
  padding: 10px 10px 20px;
  font-family: "Times New Roman", Times, serif;
}

/* Header title + breadcrumb */
.content-header h1{
  color: var(--kv2-text-main);
  font-weight: 900;
  letter-spacing: .02em;
  font-size: 20px;
  margin: 0 0 8px;
}
.breadcrumb{
  background: transparent;
  padding: 0;
  margin: 0;
}
.breadcrumb > li > a{ color: var(--kv2-text-muted); }
.breadcrumb > .active{ color: rgba(248,250,252,0.92); }

/* Box đồng bộ */
.box{
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 14px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.55);
}
.box-header.with-border{
  border-bottom: 1px solid rgba(255,255,255,0.10);
  background: linear-gradient(135deg, rgba(14,165,164,0.10), rgba(56,189,248,0.06));
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}
.box-title{
  color: rgba(248,250,252,0.95);
  font-weight: 900;
}
.box-body{ color: rgba(248,250,252,0.92); }

/* Form controls */
.form-control{
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: rgba(248,250,252,0.95) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
.form-control:focus{
  border-color: rgba(14,165,164,0.55) !important;
  box-shadow: 0 0 0 4px rgba(14,165,164,0.12) !important;
}
label{ color: rgba(248,250,252,0.92); font-weight: 900; }

/* Select option (một số browser cần) */
select.form-control option{ color: #0b1220; }

/* Buttons */
.btn{
  border-radius: 12px !important;
  font-weight: 900;
  transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.35);
}
.btn-primary{
  background: linear-gradient(135deg, var(--kv2-primary), var(--kv2-primary-dark)) !important;
  border: none !important;
}
.btn-default{
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: rgba(248,250,252,0.92) !important;
}

/* Alerts nhìn hợp theme */
.alert{
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(5,12,22,0.75);
  color: rgba(248,250,252,0.92);
}
.alert-success{ border-color: rgba(34,197,94,0.35); }
.alert-danger{ border-color: rgba(239,68,68,0.35); }
.alert-warning{ border-color: rgba(245,158,11,0.35); }

/* =========================
   FIX MODAL TRẮNG (Bootstrap)
   ========================= */

/* Backdrop tối hơn cho rõ */
.modal-backdrop.in{
  opacity: .65 !important;
  background-color: #000 !important;
}

/* Modal nền tối + chữ sáng */
.modal-content{
  background: rgba(5,12,22,0.98) !important;
  color: rgba(248,250,252,0.92) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 16px !important;
  box-shadow: 0 25px 60px rgba(0,0,0,0.65) !important;
  overflow: hidden !important;
}

/* Header modal */
.modal-header{
  background: linear-gradient(135deg, var(--kv2-primary), var(--kv2-primary-dark)) !important;
  border-bottom: 1px solid rgba(255,255,255,0.12) !important;
  color: #fff !important;
}
.modal-title{
  font-weight: 900 !important;
  color: #fff !important;
}

/* Nút X */
.modal-header .close{
  color: #fff !important;
  opacity: .85 !important;
  text-shadow: none !important;
}
.modal-header .close:hover{ opacity: 1 !important; }

/* Body + Footer */
.modal-body{ background: transparent !important; }
.modal-footer{
  border-top: 1px solid rgba(255,255,255,0.10) !important;
  background: rgba(255,255,255,0.02) !important;
}

/* Label + help text trong modal */
.modal-body label{
  color: rgba(248,250,252,0.92) !important;
  font-weight: 900 !important;
}
.modal-body .help-block{
  color: rgba(248,250,252,0.65) !important;
}

/* Form-control trong modal (đè mạnh) */
.modal-body .form-control{
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: rgba(248,250,252,0.95) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
.modal-body .form-control::placeholder{
  color: rgba(248,250,252,0.65) !important;
}
.modal-body .form-control:focus{
  border-color: rgba(14,165,164,0.55) !important;
  box-shadow: 0 0 0 4px rgba(14,165,164,0.12) !important;
}

/* Nút lịch (input-group-btn) */
.modal-body .input-group-btn .btn.btn-default{
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: rgba(248,250,252,0.92) !important;
  border-radius: 12px !important;
}
.modal-body .input-group-btn .btn.btn-default:hover{
  background: rgba(14,165,164,0.15) !important;
}

/* ===== pages/danh-sach-chuyen-khau.php :: style block 1 ===== */
.content-wrapper{
    background:
      radial-gradient(circle at top left, rgba(56,189,248,0.06), transparent 60%),
      radial-gradient(circle at bottom right, rgba(14,165,164,0.08), transparent 60%),
      #07111e !important;
    color:#f8fafc;
    min-height:calc(100vh - 100px);
  }

  .ck-page{
    padding:18px 15px 30px;
  }

  .content-header > h1{
    color:#f8fafc !important;
    font-weight:900;
    letter-spacing:.02em;
  }

  .breadcrumb{
    background:transparent !important;
  }

  .breadcrumb > li,
  .breadcrumb > li > a,
  .breadcrumb > .active{
    color:rgba(248,250,252,.72) !important;
  }

  .breadcrumb > li + li:before{
    color:rgba(248,250,252,.4) !important;
  }

  .box{
    background:rgba(255,255,255,.04) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:14px !important;
    box-shadow:0 18px 45px rgba(0,0,0,.35) !important;
    overflow:hidden;
  }

  .box-header.with-border{
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    background:linear-gradient(135deg, rgba(14,165,164,.10), rgba(56,189,248,.05)) !important;
  }

  .box-title{
    color:#f8fafc !important;
    font-weight:900 !important;
  }

  .filter-box{
    margin-bottom:14px;
  }

  .filter-form{
    display:grid;
    grid-template-columns:repeat(5, minmax(0,1fr)) auto auto;
    gap:10px;
  }

  .form-control{
    background:rgba(255,255,255,.06) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    color:#f8fafc !important;
    border-radius:12px !important;
    box-shadow:none !important;
    height:40px;
  }

  .form-control::placeholder{
    color:rgba(248,250,252,.55) !important;
  }

  .form-control:focus{
    border-color:rgba(14,165,164,.55) !important;
    box-shadow:0 0 0 4px rgba(14,165,164,.12) !important;
  }

  .btn{
    border-radius:12px !important;
    font-weight:800;
    transition:all .18s ease;
  }

  .btn:hover{
    transform:translateY(-1px);
  }

  .btn-primary{
    background:linear-gradient(135deg,#0ea5a4,#0b7d7c) !important;
    border:none !important;
  }

  .btn-default{
    background:rgba(255,255,255,.06) !important;
    color:#f8fafc !important;
    border:1px solid rgba(255,255,255,.12) !important;
  }

  .table-responsive{
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    overflow:auto;
  }

  .table{
    margin-bottom:0 !important;
    color:#f8fafc !important;
  }

  .table > thead > tr > th{
    background:rgba(255,255,255,.05);
    border-bottom:1px solid rgba(255,255,255,.10) !important;
    color:#f8fafc !important;
    font-weight:800;
    white-space:nowrap;
  }

  .table > tbody > tr > td{
    border-top:1px solid rgba(255,255,255,.06) !important;
    color:rgba(248,250,252,.90) !important;
    vertical-align:middle !important;
  }

  .table-striped > tbody > tr:nth-of-type(odd){
    background:rgba(255,255,255,.015) !important;
  }

  .table-bordered{
    border:0 !important;
  }

  .table-bordered > thead > tr > th,
  .table-bordered > tbody > tr > td{
    border-left:0 !important;
    border-right:0 !important;
  }

  .empty-row{
    text-align:center;
    color:rgba(248,250,252,.62);
    padding:18px 10px !important;
  }

  .card-list{
    display:none;
  }

  .citizen-card{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;
    padding:14px;
    margin-bottom:12px;
    box-shadow:0 12px 28px rgba(0,0,0,.20);
  }

  .citizen-card h4{
    margin:0 0 10px;
    font-size:16px;
    font-weight:900;
    color:#f8fafc;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }

  .status-badge{
    display:inline-flex;
    align-items:center;
    padding:4px 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    background:rgba(14,165,164,.18);
    border:1px solid rgba(14,165,164,.30);
    color:#d9fffb;
    white-space:nowrap;
  }

  .citizen-info{
    font-size:13px;
    margin-bottom:7px;
    color:rgba(248,250,252,.88);
    line-height:1.55;
  }

  .citizen-info span{
    font-weight:800;
    color:rgba(248,250,252,.62);
    display:inline-block;
    min-width:115px;
  }

  .box-footer{
    background:transparent !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
  }

  .pagination > li > a,
  .pagination > li > span{
    background:rgba(255,255,255,.05) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    color:#f8fafc !important;
  }

  .pagination > li.active > a,
  .pagination > li.active > span{
    background:linear-gradient(135deg,#0ea5a4,#0b7d7c) !important;
    border-color:transparent !important;
    color:#fff !important;
  }

  .pagination > li.disabled > a,
  .pagination > li.disabled > span{
    background:rgba(255,255,255,.03) !important;
    color:rgba(248,250,252,.38) !important;
  }

  @media (max-width: 1199px){
    .filter-form{
      grid-template-columns:repeat(2, minmax(0,1fr));
    }
  }

  @media (max-width: 767px) {
    .ck-page{
      padding:14px 10px 24px;
    }

    .filter-form{
      grid-template-columns:1fr;
    }

    .table-responsive{
      display:none;
    }

    .card-list{
      display:block;
    }

    .content-header > h1{
      font-size:24px;
    }

    .citizen-info span{
      min-width:105px;
    }
  }

/* ===== pages/danh-sach-cong-dan.php :: style block 1 ===== */
.content-wrapper{
  background:
    radial-gradient(900px circle at 12% 12%, rgba(56,189,248,0.08), transparent 55%),
    radial-gradient(800px circle at 90% 20%, rgba(14,165,164,0.10), transparent 55%),
    var(--kv2-bg);
  color: var(--kv2-text-main);
  padding: 10px 8px 20px;
  font-family: "Times New Roman", Times, serif;
}
.content-header h1{
  color: var(--kv2-text-main);
  font-size: 20px;
  margin-bottom: 6px;
  font-weight: 900;
}
.breadcrumb > li > a,
.content-header small{
  color: var(--kv2-text-muted);
}

/* ====== Filter nâng cao ====== */
.filter-adv{
  border-radius: 16px;
  padding: 16px 18px 14px;
  background:
    radial-gradient(circle at top left, rgba(56,189,248,0.10), transparent 55%),
    radial-gradient(circle at bottom right, rgba(14,165,164,0.12), transparent 60%),
    rgba(5,12,22,0.96);
  border: 1px solid var(--kv2-border);
  box-shadow: var(--kv2-shadow);
}

.filter-adv .fa-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 14px;
}
@media (max-width: 991px){
  .filter-adv .fa-grid{grid-template-columns:1fr;}
}

.fa-field{ position:relative; }
.fa-field i{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  color: rgba(56,189,248,0.95);
  font-size:14px;
}

.fa-field input,
.fa-field select{
  width:100%;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  padding:9px 44px 9px 34px;
  font-size:13px;
  background: rgba(255,255,255,0.06);
  color: rgba(248,250,252,0.95);
  box-shadow: none;
  transition:border-color .18s ease, box-shadow .18s ease, transform .12s ease;
}
.fa-field input::placeholder{ color: rgba(248,250,252,0.72); }
.fa-field input:focus,
.fa-field select:focus{
  outline:none;
  border-color: rgba(14,165,164,0.55);
  box-shadow: 0 0 0 4px rgba(14,165,164,0.12);
  transform:translateY(-1px);
}

.fa-clear{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  border:none;
  background:transparent;
  color:#e5e7eb;
  font-size:15px;
  cursor:pointer;
  opacity:.7;
  transition:opacity .15s ease, transform .12s ease;
}
.fa-clear:hover{
  opacity:1;
  transform:translateY(-50%) scale(1.1);
}

.fa-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.filter-adv .btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:7px 18px;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: var(--kv2-text-main);
  transition:transform .12s ease, box-shadow .2s ease, background .2s ease;
}
.filter-adv .btn:hover{
  transform: translateY(-1px);
  box-shadow: var(--kv2-shadow-soft);
}
.filter-adv .btn-primary{
  background: linear-gradient(135deg, var(--kv2-primary), var(--kv2-primary-dark)) !important;
  border: none !important;
}
.filter-adv .btn-danger{
  background: linear-gradient(135deg,#ef4444,#b91c1c) !important;
  border: none !important;
}
.filter-adv .btn-soft{
  background: rgba(255,255,255,0.06);
}

.fa-badges{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.badge-chip{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 10px;
  font-size:11px;
  background: rgba(255,255,255,0.06);
  color: rgba(248,250,252,0.92);
  border:1px solid rgba(14,165,164,0.30);
  box-shadow: 0 0 12px rgba(14,165,164,0.15);
}
.badge-chip button{
  margin-left:6px;
  border:none;
  background:transparent;
  color:#e5e7eb;
  cursor:pointer;
}

/* ====== Bảng dữ liệu ====== */
.table-responsive{
  margin-top:16px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.10);
  overflow:hidden;
  box-shadow: var(--kv2-shadow);
}
.table{
  margin-bottom:0;
  background-color: rgba(255,255,255,0.04);
  color: var(--kv2-text-main);
  font-size:13px;
}
.table thead tr th{
  background: rgba(255,255,255,0.04);
  color: rgba(248,250,252,0.95);
  border-bottom:2px solid rgba(255,255,255,0.12);
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.06em;
}
.table td, .table th{
  border:1px solid rgba(255,255,255,0.08) !important;
  vertical-align:middle !important;
}
.table tbody tr:nth-child(odd){ background-color: rgba(255,255,255,0.02); }
.table tbody tr:nth-child(even){ background-color: rgba(255,255,255,0.04); }
.table tbody tr:hover{ background-color: rgba(14,165,164,0.10) !important; }

.table .btn{
  border-radius:999px;
  padding:4px 8px;
  font-size:11px;
  box-shadow:none;
}
.table .btn-primary{
  background:linear-gradient(135deg,#22d3ee,#0ea5e9);
  border:none;
}
.table .btn-warning{
  background:linear-gradient(135deg,#facc15,#eab308);
  border:none;
  color:#111827;
}
.table .btn-danger{
  background:linear-gradient(135deg,#ef4444,#b91c1c);
  border:none;
}
.btn-kv2{
  background: linear-gradient(135deg, var(--kv2-primary), var(--kv2-primary-dark));
  border: none;
  color: #fff;
}
.table .btn i{ font-size:12px; }

/* ====== Mobile cards ====== */
.card-list{ margin-top:16px; }
.citizen-card{
  background: rgba(255,255,255,0.04);
  border-radius:14px;
  padding:12px 14px;
  color: var(--kv2-text-main);
  border:1px solid rgba(255,255,255,0.10);
  box-shadow: var(--kv2-shadow-soft);
  margin-bottom: 12px;
}
.citizen-card h4{
  margin-top:0;
  margin-bottom:6px;
  font-weight:900;
}
.citizen-info{ font-size:13px; color: rgba(248,250,252,0.90); }
.citizen-info span{ font-weight:900; color: rgba(248,250,252,0.95); }
.citizen-actions .btn{ margin-top:4px; }

.date-combo{ display:flex; align-items:center; }
.visually-hidden-date{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  opacity:0;
  border:0;
  padding:0;
}

/* ====== MOBILE APP BAR ====== */
.mobile-app-nav{
  display:none;
}

@media (max-width: 767px) {
  .table-responsive { display: none; }
  .card-list { display: block; }

  .content-wrapper{
    padding-bottom: 110px;
  }

  .mobile-app-nav{
    display:flex;
    align-items:center;
    justify-content:space-around;
    gap:6px;
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:9999;
    padding:12px 8px calc(12px + env(safe-area-inset-bottom));
    border-radius:22px;
    background: rgba(7,17,30,0.94);
    border:1px solid rgba(255,255,255,0.12);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 18px 35px rgba(0,0,0,0.30);
  }

  .mobile-app-nav a{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    text-decoration:none;
    color:rgba(248,250,252,0.82);
    padding:8px 4px;
    border-radius:14px;
    transition:.18s ease;
  }

  .mobile-app-nav a:active{
    transform:scale(.98);
  }

  .mobile-app-nav a.active{
    background: linear-gradient(135deg, rgba(14,165,164,0.22), rgba(56,189,248,0.18));
    color:#fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
  }

  .mobile-app-nav a i{
    font-size:18px;
    line-height:1;
  }

  .mobile-app-nav a span{
    font-size:11px;
    font-weight:800;
    line-height:1.15;
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:100%;
  }
}
@media (min-width: 768px) {
  .card-list { display: none; }
}

/* ===== pages/danh-sach-congdan-chet.php :: style block 1 ===== */
@media (max-width: 767px) {
  .table-responsive { display: none; }
  .card-list { display: block; }
  .citizen-card { background:#fff;border-radius:10px;padding:15px;margin-bottom:15px;box-shadow:0 2px 6px rgba(0,0,0,0.1);}
  .citizen-card h4 { margin:0 0 8px;font-size:16px;font-weight:bold;color:#333; }
  .citizen-info { font-size:14px;margin-bottom:5px; }
  .citizen-info span { font-weight:bold;color:#555; }
  .citizen-actions { margin-top:10px; }
  .citizen-actions .btn { margin:3px 3px 0 0; }
}
@media (min-width: 768px) { .card-list { display: none; } }

.filter-adv{border:1px solid #e5e7eb;border-radius:12px;padding:14px;background:#fff}
.filter-adv .fa-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:767px){.filter-adv .fa-grid{grid-template-columns:1fr}}
.filter-adv .fa-field{position:relative}
.filter-adv .fa-field input{width:100%;border:1px solid #e5e7eb;border-radius:10px;padding:10px 34px 10px 34px}
.filter-adv .fa-field i{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#9ca3af}
.filter-adv .fa-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#9ca3af}
.filter-adv .fa-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.filter-adv .btn-soft{border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:6px 10px}
.filter-adv .btn-soft:hover{background:#f3f4f6}
.filter-adv .fa-badges{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.filter-adv .badge-chip{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca;border-radius:999px;padding:4px 8px;font-size:12px}
.filter-adv .badge-chip button{margin-left:6px;border:0;background:transparent;color:#b91c1c;font-weight:bold}

/* ===== pages/danh-sach-so-hsct.php :: style block 1 ===== */
html, body {
      font-family: "Inter","Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
      font-size: 14.5px; line-height: 1.55; color:#1f2937;
      -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
    }
    .content-header h1 { font-weight:600; letter-spacing:.2px; }

    .box .box-header { padding:14px 16px; }
    .box .box-title { font-weight:600; font-size:16px; }

    .table { background:#fff; }
    .table thead th {
      position: sticky; top: 0; z-index: 2;
      background:#f8fafc; border-bottom:1px solid #e5e7eb;
      font-weight:600; color:#111827;
    }
    .table.table-condensed > tbody > tr > td,
    .table.table-condensed > thead > tr > th {
      padding:8px 10px;
    }
    .table-hover > tbody > tr:hover { background:#f3f4f6; }
    .table-striped > tbody > tr:nth-of-type(odd) { background-color:#fcfdff; }

    .cell-ellipsis {
      max-width:280px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    }
    .cell-mono { font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace; letter-spacing:.3px; }
    .badge-soft { display:inline-block; padding:3px 8px; border-radius:999px; background:#eef2ff; color:#4338ca; font-weight:600; font-size:12px; }

    .pagination { margin: 8px 0 0; }
    .text-muted { color:#6b7280; }

/* ===== pages/danh-sach-tam-tru.php :: style block 1 ===== */
.content-wrapper{
  background: radial-gradient(circle at top left, rgba(168,85,247,0.12), transparent 55%),
              radial-gradient(circle at bottom right, rgba(56,189,248,0.12), transparent 55%),
              var(--kv2-bg);
  color: var(--kv2-text-main);
  padding: 10px 8px 20px;
  font-family: "Times New Roman", Times, serif;
}
.table-responsive{
  margin-top:16px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,0.6);
  overflow:hidden;
  box-shadow:0 18px 45px rgba(15,23,42,0.95);
}
.table{
  margin-bottom:0;
  background-color:#020617;
  color:var(--kv2-text-main);
  font-size:13px;
}
.table thead tr th{
  background:#020617;
  color:#f9fafb;
  border-bottom:2px solid rgba(148,163,184,0.9);
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.06em;
}
.table td, .table th{
  border:1px solid rgba(148,163,184,0.35);
  vertical-align:middle !important;
}
.table tbody tr:nth-child(odd){ background-color:#020617; }
.table tbody tr:nth-child(even){ background-color:#0b1120; }
.table tbody tr:hover{ background-color:#111827; }

.badge-status{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
}
.badge-on{ background:#10b981; color:#042f2e; }
.badge-off{ background:#f59e0b; color:#3b1f05; }

.filter-adv{
  border-radius: 16px;
  padding: 16px 18px 14px;
  background: radial-gradient(circle at top left, rgba(129,140,248,.25), transparent 55%),
              radial-gradient(circle at bottom right, rgba(56,189,248,.18), transparent 60%),
              rgba(15,23,42,0.96);
  border: 1px solid rgba(148,163,184,0.65);
  box-shadow: 0 16px 40px rgba(15,23,42,0.95);
}
.filter-adv .fa-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 14px; }
@media (max-width: 991px){ .filter-adv .fa-grid{grid-template-columns:1fr;} }
.fa-field{ position:relative; }
.fa-field i{
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  color:#a5b4fc; font-size:14px;
}
.fa-field input, .fa-field select{
  width:100%;
  border-radius:999px;
  border:1px solid rgba(148,163,184,0.9);
  padding:9px 18px 9px 34px;
  font-size:13px;
  background: radial-gradient(circle at top left,rgba(129,140,248,0.30),transparent 55%),
              linear-gradient(135deg,#020617,#0b1120);
  color:var(--kv2-text-main);
  box-shadow:0 0 0 1px rgba(15,23,42,1),0 0 18px rgba(129,140,248,0.55);
}
.fa-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.filter-adv .btn{
  display:inline-flex; align-items:center; gap:6px;
  border-radius:999px; padding:7px 18px; font-size:13px; font-weight:600;
}

/* ===== pages/doi-chu-ho.php :: style block 1 ===== */
:root{
    --bg:#050816;
    --card:#020617;
    --bd:#312e81;
    --text:#e5e7eb;
    --muted:#9ca3af;
    --line:#1f2937;
    --pri:#a855f7;
    --pri-600:#7c3aed;
    --chip:#020617;
    --ibox-bg:#020617;
    --warn:#f59e0b;
  }

  html,body{
    font-family:"Times New Roman",Times,"Liberation Serif","Nimbus Roman",serif;
    font-size:13px;
    font-variant-ligatures:none;
    background: radial-gradient(circle at top, #1e1b4b 0, #020617 45%, #020617 100%);
    color:var(--text);
  }

  .content-wrapper{
    background:transparent;
    color:var(--text);
  }

  .content-header h1{
    font-size:18px;
    margin:8px 0 4px;
    letter-spacing:.25px;
    font-weight:700;
    color:#f9fafb;
  }
  .content-header .muted{color:var(--muted);}

  .wrap{ padding:10px; }

  .box{
    border-radius:16px;
    border:1px solid rgba(148,163,255,0.7);
    background:
      radial-gradient(circle at top left, rgba(79,70,229,0.32), transparent 55%),
      radial-gradient(circle at bottom right, rgba(236,72,153,0.28), transparent 60%),
      linear-gradient(135deg,#020617,#020617);
    color:var(--text);
    box-shadow:0 18px 50px rgba(15,23,42,0.98);
    margin-bottom:12px;
  }

  .box-header{
    padding:10px 12px;
    border-bottom:1px solid rgba(30,64,175,0.9);
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:linear-gradient(90deg,#111827 0,#020617 80%);
    letter-spacing:.2px;
    color:#e5e7eb;
  }

  .box-body{
    padding:10px;
    background:transparent;
  }

  .muted{ color:var(--muted); }

  .input{
    width:100%;
    border-radius:12px;
    padding:8px 10px;
    min-height:38px;
    background:#020617;
    color:var(--text);
    border:1px solid rgba(51,65,85,0.95);
    box-shadow:inset 0 0 0 1px rgba(15,23,42,0.85);
  }
  .input::placeholder{ color:#6b7280; }

  .btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    border-radius:999px;
    padding:7px 12px;
    font-weight:700;
    border:1px solid rgba(148,163,255,0.7);
    background:
      radial-gradient(circle at 0 0, rgba(248,250,252,0.06), transparent 60%),
      linear-gradient(135deg, rgba(15,23,42,0.95), rgba(15,23,42,0.98));
    color:#e5e7eb;
    text-decoration:none;
    cursor:pointer;
    box-shadow:0 12px 32px rgba(15,23,42,0.95);
    font-family:"Times New Roman",Times,serif;
    font-size:13px;
    transition:.16s ease-in-out;
  }

  .btn:hover{
    border-color:rgba(196,181,253,1);
    box-shadow:0 0 0 1px rgba(129,140,248,0.7), 0 18px 40px rgba(15,23,42,1);
    transform:translateY(-0.5px);
  }

  .btn-primary{
    background:linear-gradient(120deg,#a855f7 0%,#ec4899 40%,#f97316 100%);
    border-color:rgba(244,114,182,0.95);
    color:#020617;
    text-shadow:0 0 8px rgba(248,250,252,0.85);
  }
  .btn-primary:hover{
    filter:brightness(1.05);
  }

  .btn-ghost{
    background:transparent;
    border-color:rgba(75,85,99,0.9);
    box-shadow:none;
    color:var(--text);
  }
  .btn-ghost:hover{
    border-color:rgba(148,163,255,0.9);
    box-shadow:0 0 0 1px rgba(129,140,248,0.5);
  }

  .tag{
    display:inline-block;
    background:#020617;
    border:1px solid rgba(148,163,255,0.9);
    padding:3px 8px;
    border-radius:999px;
    font-size:11px;
    color:#e5e7eb;
  }

  .highlight{
    border-radius:12px;
    border:1px solid rgba(249,115,22,0.9);
    background:
      radial-gradient(circle at top left, rgba(251,191,36,0.2), transparent 60%),
      linear-gradient(135deg,#0f172a,#020617);
  }

  .ellipsis{
    max-width:320px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  /* Alert */
  .alert{
    border-radius:12px;
    padding:8px 10px;
    border:1px solid rgba(30,64,175,0.9);
    background:#111827;
    color:#e5e7eb;
    margin-bottom:0;
  }
  .alert-danger{
    background:#7f1d1d;
    color:#fee2e2;
    border-color:#fecaca;
  }
  .alert-success{
    background:#064e3b;
    color:#d1fae5;
    border-color:#6ee7b7;
  }

  /* Modal */
  .modal-kv2 .modal-content{
    border-radius:16px;
    overflow:hidden;
    background:
      radial-gradient(circle at top left, rgba(79,70,229,0.32), transparent 55%),
      linear-gradient(135deg,#020617,#020617);
    color:var(--text);
    border:1px solid rgba(148,163,255,0.85);
    box-shadow:0 24px 70px rgba(0,0,0,.65);
  }
  .modal-kv2 .modal-header,
  .modal-kv2 .modal-footer{
    padding:10px 12px;
    border-color:rgba(30,64,175,0.9);
    background:linear-gradient(90deg,#111827 0,#020617 80%);
    color:#e5e7eb;
  }
  .modal-kv2 .modal-title{ font-weight:800; }
  .modal-kv2 .modal-body{ padding:0; }

  .result-table{
    width:100%;
    border-collapse:collapse;
  }
  .result-table th,
  .result-table td{
    border-bottom:1px solid rgba(30,64,175,0.9);
    padding:8px 6px;
    text-align:left;
    vertical-align:top;
    background:#020617;
    color:#e5e7eb;
  }
  .result-table thead th{
    position:sticky;
    top:0;
    background:linear-gradient(90deg,#111827 0,#020617 80%);
    z-index:1;
    font-size:11.5px;
    text-transform:uppercase;
    letter-spacing:.3px;
  }
  .table-wrap{
    max-height:60vh;
    overflow:auto;
    background:#020617;
  }

  /* Close button của modal */
  .modal-kv2 .close span{
    color:#e5e7eb;
  }
  .modal-kv2 .close:hover span{
    color:#f97316;
  }

/* ===== pages/index_taikhoan.php :: style block 1 ===== */
.kv2-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:18px; margin:18px;
}
.kv2-card{
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  background:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.35);
  border-radius:18px;
  padding:20px;
  box-shadow:0 8px 22px rgba(0,0,0,.08), inset 0 0 18px rgba(255,255,255,.35);
  transition:transform .25s ease, box-shadow .25s ease;
}
.kv2-card:hover{
  transform:translateY(-5px);
  box-shadow:0 12px 32px rgba(0,0,0,.15), inset 0 0 22px rgba(255,255,255,.45);
}
.kv2-card h4{ font-size:14px; font-weight:600; color:#4b5563; margin:0 0 8px; }
.kv2-card .num{ font-size:28px; font-weight:800; color:#111; letter-spacing:-0.5px; }

.table-kv2-avatar{
  width:56px; height:56px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid rgba(255,255,255,.45);
  box-shadow:0 4px 14px rgba(0,0,0,.12), 0 0 20px rgba(109,169,255,.25);
  transition:.3s;
}
.table-kv2-avatar:hover{
  transform:scale(1.15) rotate(2deg);
  box-shadow:0 8px 24px rgba(0,0,0,.2), 0 0 28px rgba(142,197,255,.5);
  cursor:pointer;
}

:root{
  --on1:#00ffa6; --on2:#0affd9; --on3:#c0fff1;
}
.status-icon{
  --s:20px; width:var(--s); height:var(--s);
  display:inline-block; border-radius:50%;
  position:relative; margin-right:8px;
}

.icon-online{
  background:
    radial-gradient(circle at 30% 30%,var(--on3),transparent 55%),
    radial-gradient(circle at 50% 50%,var(--on2),var(--on1));
  box-shadow:0 0 12px var(--on2), 0 0 22px rgba(0,255,200,.55), inset 0 0 10px rgba(255,255,255,.35);
  animation:neonPulse 1.7s infinite ease-in-out;
}
.icon-online::before{
  content:""; position:absolute; inset:-6px; border-radius:50%;
  border:2px solid rgba(0,255,200,.35);
  filter:blur(4px);
  animation:haloSpin 6s infinite linear;
}
.icon-online::after{
  content:""; position:absolute; inset:-10px; border-radius:50%;
  border:2px solid rgba(0,255,200,.28);
  animation:ripple 1.7s infinite ease-out;
}
@keyframes neonPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.15);}}
@keyframes haloSpin{from{transform:rotate(0);}to{transform:rotate(360deg);}}
@keyframes ripple{0%{transform:scale(.5);opacity:.7;}70%{transform:scale(1.35);opacity:0;}100%{opacity:0;}}

.icon-offline{
  background:#d1d5db;
  border:2px solid rgba(255,255,255,.4);
  box-shadow:inset 0 0 4px rgba(0,0,0,.1);
}
.icon-offline::after{
  content:""; position:absolute; width:2px; height:22px;
  background:linear-gradient(#ff7b7b,#ff3c3c);
  left:50%; top:50%;
  transform:translate(-50%,-50%) rotate(45deg); border-radius:2px;
}

.col-lastseen{ font-size:13px; color:#334155; font-weight:500; }

table.dataTable thead th{
  background:rgba(255,255,255,.65)!important;
  backdrop-filter:blur(12px);
  font-weight:700; color:#1f2937!important;
  border-bottom:2px solid #e5e7eb!important;
}
table.dataTable tbody td{
  font-size:13px; color:#111; vertical-align:middle!important;
}

.profile-popup{
  position:fixed; top:50%; left:50%;
  transform:translate(-50%,-50%) scale(.7);
  opacity:0; pointer-events:none;
  width:320px; padding:24px;
  border-radius:20px;
  background:rgba(255,255,255,.75);
  backdrop-filter:blur(25px) saturate(180%);
  box-shadow:0 12px 32px rgba(0,0,0,.3);
  transition:.3s; z-index:99999;
}
.profile-popup.active{
  opacity:1; transform:translate(-50%,-50%) scale(1); pointer-events:auto;
}
.profile-popup img{
  width:92px; height:92px; border-radius:50%;
  display:block; margin:auto;
  border:3px solid rgba(255,255,255,.6);
  box-shadow:0 0 20px rgba(0,255,200,.35);
}
.profile-popup h3{ text-align:center; margin-top:12px; font-size:20px; }
.popup-close{ position:absolute; top:10px; right:14px; font-size:22px; cursor:pointer; opacity:.7; }
.popup-close:hover{ opacity:1; }

/* ===== pages/lich-su-cap-nhat-ho-khau.php :: style block 1 ===== */
.page-title {
    text-align:center;
    font-weight:700;
    font-size:20px;
    margin:15px 0 10px;
}
.filter-card{
    background:#fff;
    border-radius:10px;
    border:1px solid #e5e7eb;
    padding:15px;
    margin-bottom:15px;
}
.table th, .table td{font-size:12.5px;}
.badge-mode{
    display:inline-block;
    padding:2px 6px;
    border-radius:999px;
    font-size:11px;
    font-weight:600;
}
.badge-mode.all{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;}
.badge-mode.selected{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;}
.pagination-simple{
    margin-top:10px;
    text-align:right;
    font-size:13px;
}
.pagination-simple a{
    display:inline-block;
    padding:4px 8px;
    border:1px solid #e5e7eb;
    margin-left:4px;
    border-radius:4px;
    text-decoration:none;
}
.pagination-simple span.current{
    display:inline-block;
    padding:4px 8px;
    border:1px solid #e5e7eb;
    margin-left:4px;
    border-radius:4px;
    background:#111827;
    color:#fff;
}

/* ===== pages/so-hsct.php :: style block 1 ===== */
:root{
      --bg:#050816;
      --card:#020617;
      --card-soft:#020617;
      --bd:#312e81;
      --bd-soft:#1f2937;
      --text:#e5e7eb;
      --muted:#9ca3af;
      --line:#1f2937;
      --pri:#a855f7;
      --pri-600:#7c3aed;
      --chip:#020617;
      --ibox-bg:#020617;
      --glow-bg:#1e293b;
      --glow-bd:#fbbf24;
      --overlay:rgba(15,23,42,.85);
    }

    html,body{
      font-family:"Times New Roman",Times,"Liberation Serif","Nimbus Roman",serif;
      font-size:13px;
      font-variant-ligatures:none;
      color:var(--text);
    }
    body{
      background: radial-gradient(circle at top, #1e1b4b 0, #020617 45%, #020617 100%);
    }
    .content-wrapper{ background:transparent; }
    .content-header h1{
      font-size:18px;
      margin:8px 0 4px;
      letter-spacing:.25px;
      font-weight:700;
      color:#f9fafb;
    }
    .content-header .muted{color:var(--muted);}

    .searchbar{
      position:sticky;
      top:0;
      z-index:5;
      background:
        radial-gradient(circle at 0 0, rgba(168,85,247,0.22), transparent 55%),
        radial-gradient(circle at 100% 100%, rgba(236,72,153,0.18), transparent 60%),
        linear-gradient(135deg,rgba(15,23,42,0.98),rgba(15,23,42,0.98));
      border:1px solid rgba(148,163,255,0.7);
      padding:10px;
      border-radius:18px;
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      align-items:center;
      box-shadow:0 20px 55px rgba(15,23,42,0.98);
    }

    .input{
      flex:1 1 220px;
      display:flex;
      align-items:center;
      gap:8px;
      border-radius:999px;
      padding:7px 11px;
      border:1px solid rgba(148,163,255,0.75);
      background:
        radial-gradient(circle at top left, rgba(30,64,175,0.55), transparent 55%),
        linear-gradient(135deg,#020617,#020617);
      color:var(--text);
      box-shadow:inset 0 0 0 1px rgba(15,23,42,0.9);
    }
    .input span{font-size:13px;}
    .input input{
      border:0; outline:0; width:100%;
      background:transparent; color:var(--text);
      font-family:"Times New Roman",Times,serif; font-size:13px;
    }
    .input input::placeholder{ color:#6b7280; }

    .btn{
      display:inline-flex;
      align-items:center;
      gap:6px;
      border-radius:999px;
      padding:7px 12px;
      font-weight:700;
      border:1px solid rgba(148,163,255,0.7);
      text-decoration:none;
      cursor:pointer;
      background:
        radial-gradient(circle at 0 0, rgba(248,250,252,0.06), transparent 60%),
        linear-gradient(135deg, rgba(15,23,42,0.95), rgba(15,23,42,0.98));
      color:#e5e7eb;
      box-shadow:0 12px 32px rgba(15,23,42,0.95);
      transition:.16s ease-in-out;
      font-family:"Times New Roman",Times,serif;
      font-size:13px;
    }
    .btn:hover{
      border-color:rgba(196,181,253,1);
      box-shadow:0 0 0 1px rgba(129,140,248,0.7), 0 18px 40px rgba(15,23,42,1);
      transform:translateY(-0.5px);
    }
    .btn-primary{
      background:linear-gradient(120deg,#a855f7 0%,#ec4899 40%,#f97316 100%);
      border-color:rgba(244,114,182,0.95);
      color:#020617;
      text-shadow:0 0 8px rgba(248,250,252,0.85);
    }
    .btn-ghost{
      background:transparent;
      border-color:rgba(75,85,99,0.9);
      box-shadow:none;
      color:var(--text);
    }
    .btn-ghost:hover{
      border-color:rgba(148,163,255,0.9);
      box-shadow:0 0 0 1px rgba(129,140,248,0.5);
    }

    .muted{ color:var(--muted); }

    .chips{ display:flex; gap:6px; flex-wrap:wrap; margin:6px 0 0; }
    .chip{
      background:#020617;
      border:1px solid rgba(148,163,255,0.7);
      padding:3px 8px;
      border-radius:999px;
      font-size:11px;
      color:#e5e7eb;
    }

    .box{
      border-radius:16px;
      border:1px solid rgba(148,163,255,0.7);
      background:
        radial-gradient(circle at top left, rgba(79,70,229,0.32), transparent 55%),
        radial-gradient(circle at bottom right, rgba(236,72,153,0.28), transparent 60%),
        linear-gradient(135deg,#020617,#020617);
      box-shadow:0 18px 50px rgba(15,23,42,0.98);
    }
    .box-header{
      padding:10px 12px;
      border-bottom:1px solid rgba(30,64,175,0.9);
      font-weight:700;
      letter-spacing:.2px;
      color:#e5e7eb;
    }
    .box-body{ padding:8px; }

    .table-wrap{ overflow:auto; }
    table{ width:100%; border-collapse:collapse; }
    th,td{
      border-bottom:1px solid rgba(30,64,175,0.9);
      padding:8px 6px;
      text-align:left;
      vertical-align:top;
    }
    thead th{
      position:sticky;
      top:0;
      background:linear-gradient(90deg,#111827 0,#020617 80%);
      color:#e5e7eb;
      font-size:11.5px;
      text-transform:uppercase;
      letter-spacing:.3px;
      z-index:2;
    }
    tbody tr:nth-child(odd){ background:rgba(15,23,42,0.9); }
    tbody tr:nth-child(even){ background:rgba(15,23,42,0.97); }
    tbody tr:hover{ background:rgba(30,64,175,0.65); }

    .mono{ font-family:"Times New Roman",Times,serif; }
    .ellipsis{
      max-width:320px;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .val-box{
      display:inline-block;
      border:1px solid rgba(51,65,85,0.95);
      background:var(--ibox-bg);
      border-radius:8px;
      padding:3px 6px;
      max-width:100%;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }

    @media (max-width: 768px){
      .table-desktop{ display:none; }
      .cards{ display:grid; grid-template-columns:1fr; gap:8px; }
      .card{
        border-radius:14px;
        border:1px solid rgba(148,163,255,0.7);
        background:
          radial-gradient(circle at top left, rgba(79,70,229,0.32), transparent 55%),
          linear-gradient(135deg,#020617,#020617);
        padding:10px;
        box-shadow:0 14px 40px rgba(15,23,42,0.98);
      }
      .card .row{
        display:flex;
        gap:8px;
        font-size:12px;
        align-items:flex-start;
        margin-top:2px;
      }
      .card .label{ min-width:80px; color:var(--muted); }
      .card .val-box{ white-space:normal; word-wrap:break-word; word-break:break-word; }
      .actions{ display:flex; gap:8px; margin-top:8px; flex-wrap:wrap; }
    }
    @media (min-width: 769px){ .cards{ display:none; } }

    .pagination{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      list-style:none;
      padding:0;
      margin:10px 0 0;
    }
    .pagination a{
      display:inline-block;
      padding:6px 10px;
      border-radius:999px;
      border:1px solid rgba(148,163,255,0.65);
      text-decoration:none;
      color:#e5e7eb;
      background:rgba(15,23,42,0.96);
      font-family:"Times New Roman",Times,serif;
    }
    .pagination a:hover{
      border-color:rgba(196,181,253,1);
      box-shadow:0 0 0 1px rgba(129,140,248,0.7);
    }
    .pagination .active a{
      background:linear-gradient(120deg,#a855f7 0%,#ec4899 40%,#f97316 100%);
      border-color:rgba(244,114,182,0.95);
      color:#020617;
    }

    .modal-backdrop{ position:fixed; inset:0; background:var(--overlay); display:none; z-index:1000; }
    .modal{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; z-index:1001; }
    .modal.open, .modal-backdrop.open{ display:flex; }
    .modal-card{
      width:min(960px, 92vw);
      max-height:88vh;
      overflow:auto;
      background:
        radial-gradient(circle at top left, rgba(79,70,229,0.32), transparent 55%),
        linear-gradient(135deg,#020617,#020617);
      border:1px solid rgba(148,163,255,0.8);
      border-radius:14px;
      box-shadow:0 24px 70px rgba(0,0,0,.65);
    }
    .modal-hd{
      padding:10px 12px;
      border-bottom:1px solid rgba(30,64,175,0.9);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
      color:#e5e7eb;
    }
    .modal-tt{ font-weight:700; }
    .modal-bd{ padding:8px; }
    .modal-close{
      border-radius:999px;
      border:1px solid rgba(148,163,255,0.7);
      padding:6px 10px;
      background:transparent;
      color:#e5e7eb;
      cursor:pointer;
      font-family:"Times New Roman",Times,serif;
      font-size:13px;
    }
    .modal-close:hover{
      border-color:rgba(196,181,253,1);
      box-shadow:0 0 0 1px rgba(129,140,248,0.6);
    }

/* ===== pages/so-hsct.php :: style block 2 ===== */
.grid{
      display:grid;
      grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
      gap:8px;
    }
    .muted{ color:var(--muted); }
    .val-box{
      display:inline-block;
      border:1px solid rgba(51,65,85,0.95);
      background:var(--ibox-bg);
      border-radius:8px;
      padding:3px 6px;
      max-width:100%;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .mono{font-family:"Times New Roman",Times,serif;}
    .table-wrap{ overflow:auto; }
    table{ width:100%; border-collapse:collapse; }
    th,td{
      border-bottom:1px solid rgba(30,64,175,0.9);
      padding:6px 6px;
      text-align:left;
      vertical-align:top;
    }
    thead th{
      background:linear-gradient(90deg,#111827 0,#020617 80%);
      color:#e5e7eb;
      font-size:11.5px;
      text-transform:uppercase;
      letter-spacing:.3px;
    }

/* ===== pages/so-hsct.php :: style block 3 ===== */
:root{
      --bg:#050816;
      --card:#020617;
      --bd:#312e81;
      --text:#e5e7eb;
      --muted:#9ca3af;
      --line:#1f2937;
      --ibox-bg:#020617;
    }
    html,body{
      font-family:"Times New Roman",Times,"Liberation Serif","Nimbus Roman",serif;
      font-size:13px;
      font-variant-ligatures:none;
      color:var(--text);
    }
    body{
      background: radial-gradient(circle at top, #1e1b4b 0, #020617 45%, #020617 100%);
    }
    .content-wrapper{ background:transparent; }
    .content-header h1{
      font-size:18px;
      margin:8px 0 4px;
      letter-spacing:.25px;
      font-weight:700;
      color:#f9fafb;
    }
    .muted{color:var(--muted);}

    .section{
      border-radius:16px;
      border:1px solid rgba(148,163,255,0.7);
      background:
        radial-gradient(circle at top left, rgba(79,70,229,0.32), transparent 55%),
        radial-gradient(circle at bottom right, rgba(236,72,153,0.28), transparent 60%),
        linear-gradient(135deg,#020617,#020617);
      margin-top:10px;
      box-shadow:0 18px 50px rgba(15,23,42,0.98);
    }
    .section .hd{
      padding:10px 12px;
      border-bottom:1px solid rgba(30,64,175,0.9);
      font-weight:700;
      letter-spacing:.2px;
      color:#e5e7eb;
    }
    .section .bd{ padding:8px; }

    .btn{
      display:inline-flex;
      align-items:center;
      gap:6px;
      border-radius:999px;
      padding:7px 12px;
      font-weight:700;
      border:1px solid rgba(148,163,255,0.7);
      text-decoration:none;
      cursor:pointer;
      background:
        radial-gradient(circle at 0 0, rgba(248,250,252,0.06), transparent 60%),
        linear-gradient(135deg, rgba(15,23,42,0.95), rgba(15,23,42,0.98));
      color:#e5e7eb;
      box-shadow:0 12px 32px rgba(15,23,42,0.95);
      font-family:"Times New Roman",Times,serif;
      font-size:13px;
    }
    .btn:hover{
      border-color:rgba(196,181,253,1);
      box-shadow:0 0 0 1px rgba(129,140,248,0.7), 0 18px 40px rgba(15,23,42,1);
      transform:translateY(-0.5px);
    }

/* ===== pages/sua-cong-dan.php :: style block 1 ===== */
:root{
  --bg:#050816;
  --soft:#020617;
  --card:#020617;
  --text:#e5e7eb;
  --muted:#9ca3af;
  --border:#1f2937;
  --brand:#a855f7;
  --brand-600:#7c3aed;
  --success:#22c55e;
  --warning:#f97316;
  --danger:#ef4444;
  --focus:#6366f1;
}

* { box-sizing: border-box; }

html, body{
  background: radial-gradient(circle at top, #1e1b4b 0, #020617 45%, #020617 100%);
  color: var(--text);
  font-family:"Times New Roman",Times,"Liberation Serif","Nimbus Roman",serif;
  font-size:13px;
}

.content-wrapper{
  background: transparent;
  color: var(--text);
}

.content-wrapper .box{
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(15,23,42,0.96), #020617);
  border: 1px solid rgba(129,140,248,0.7);
  box-shadow: 0 20px 60px rgba(15,23,42,0.9);
}

.box-header .box-title{
  font-weight: 800;
  color: #e5e7eb;
}

/* ==== SECTION / CARD ==== */
.section{
  background:
    radial-gradient(circle at top left, rgba(79,70,229,0.32), transparent 55%),
    radial-gradient(circle at bottom right, rgba(236,72,153,0.28), transparent 60%),
    linear-gradient(135deg,#020617,#020617);
  border:1px solid rgba(148,163,255,0.7);
  border-radius:16px;
  margin-bottom:16px;
  box-shadow:0 18px 45px rgba(15,23,42,0.95);
}
.section .head{
  padding:12px 14px;
  font-weight:800;
  border-bottom:1px solid rgba(55,65,81,0.85);
  display:flex; align-items:center; gap:10px;
  background:linear-gradient(90deg,#111827 0,#020617 75%);
  color:#e5e7eb;
}
.section .head .kicker{
  font-size:11px;
  font-weight:700;
  color:#9ca3af;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.section .body{ padding:14px 16px; }

/* ==== GRID / FORM LAYOUT ==== */
.form-grid{ display:grid; gap:14px; grid-template-columns:1fr; }
@media (min-width: 768px){
  .form-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (min-width: 1200px){
  .form-grid.form-grid--3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
.form-group{ display:flex; flex-direction:column; gap:6px; }

.label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.label-row .label{
  font-weight:700;
  color:#e5e7eb;
  display:flex;
  align-items:center;
  gap:8px;
}
.label-row .req::after{
  content:" *";
  color: var(--danger);
  font-weight:800;
}

/* ==== INPUT / SELECT ==== */
.form-control,
.form-select{
  width:100%;
  border:1px solid rgba(75,85,99,0.95);
  border-radius:10px;
  background:#020617;
  color:var(--text);
  height:40px;
  padding:8px 12px;
  line-height:24px;
  transition: box-shadow .15s, border-color .15s, background .15s;
}
textarea.form-control{
  min-height:88px;
  resize:none;
}
.form-control::placeholder{
  color:#6b7280;
}
.form-control:focus,
.form-select:focus{
  outline:0;
  border-color: var(--focus);
  box-shadow:0 0 0 1px rgba(129,140,248,0.7);
  background:#020617;
}

/* help text / counter */
.help-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.help-block{
  color:var(--muted);
  font-size:12.5px;
}
.field-counter{
  color:var(--muted);
  font-size:12px;
  margin-left:auto;
}

/* chips */
.chips{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.chip{
  padding:2px 8px;
  border-radius:999px;
  border:1px dashed rgba(148,163,255,0.6);
  font-size:11px;
  color:#cbd5f5;
  background:rgba(15,23,42,0.9);
}

/* input + button ngang hàng */
.input-with-btn{
  display:flex;
  gap:8px;
  align-items:center;
}
.input-with-btn .btn{
  white-space:nowrap;
}

/* ==== BUTTONS ==== */
.btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:7px 12px;
  font-weight:700;
  border:1px solid rgba(148,163,255,0.8);
  background:
    radial-gradient(circle at 0 0, rgba(248,250,252,0.06), transparent 60%),
    linear-gradient(135deg, rgba(15,23,42,0.98), rgba(15,23,42,1));
  color:#e5e7eb;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 14px 36px rgba(15,23,42,1);
  font-family:"Times New Roman",Times,serif;
  font-size:13px;
  transition:.16s ease-in-out;
}
.btn:hover{
  border-color:rgba(196,181,253,1);
  box-shadow:0 0 0 1px rgba(129,140,248,0.7), 0 18px 42px rgba(15,23,42,1);
  transform:translateY(-0.5px);
}

.btn-ghost{
  background:transparent;
  border-color:rgba(75,85,99,0.9);
  box-shadow:none;
}
.btn-ghost:hover{
  border-color:rgba(148,163,255,0.9);
  box-shadow:0 0 0 1px rgba(129,140,248,0.5);
}

.btn-success{
  background:linear-gradient(120deg,#22c55e 0%,#4ade80 40%,#a7f3d0 100%);
  color:#022c22;
  border-color:#22c55e;
  text-shadow:0 0 6px rgba(240,253,250,0.8);
}
.btn-warning{
  background:linear-gradient(120deg,#f97316 0%,#facc15 50%,#fed7aa 100%);
  color:#7c2d12;
  border-color:#f97316;
  text-shadow:0 0 6px rgba(255,247,237,0.9);
}

/* ==== ACTION BAR (cuối form) ==== */
.action-bar{
  position:sticky;
  bottom:0;
  z-index:5;
  background:linear-gradient(180deg,rgba(15,23,42,0.94),#020617);
  border-top:1px solid rgba(30,64,175,0.9);
  padding:10px 12px;
  display:flex;
  gap:10px;
  justify-content:flex-end;
  backdrop-filter:blur(12px);
}

/* ô bị auto-lock */
.locked{
  background:#020617 !important;
  color:#9ca3af !important;
  border-style:dashed;
}

/* Thu nhỏ Nơi sinh & Quê quán */
.textarea-compact{
  min-height:40px;
  padding-top:6px;
  padding-bottom:6px;
}

/* ==== ERROR HIGHLIGHT ==== */
.is-error .form-control,
.is-error .form-select{
  border-color:var(--danger);
}
.is-error .help-block{
  color:#fecaca;
}

/* ==== ALERT (Bootstrap) TÔNG DARK ==== */
.alert{
  border-radius:12px;
  border:1px solid rgba(148,163,255,0.8);
  background:#020617;
  color:#e5e7eb;
}
.alert-danger{
  border-color:#fecaca;
  background:#7f1d1d;
  color:#fee2e2;
}
.alert-warning{
  border-color:#fbbf24;
  background:#78350f;
  color:#fef9c3;
}

/* ==== COMPACT MODE (chế độ gọn) ==== */
:root{
  --compact-font: 13px;
  --compact-gap: 6px;
  --compact-pad: 9px;
  --compact-input-h: 34px;
}

body.compact .section{
  border-radius:12px;
  margin-bottom:10px;
  box-shadow:none;
}
body.compact .section .head{
  padding:8px var(--compact-pad);
}
body.compact .section .body{
  padding: var(--compact-pad);
}
body.compact .form-grid{
  gap: var(--compact-gap);
}
body.compact .form-group{
  gap: 4px;
}
body.compact,
body.compact .box-title,
body.compact label,
body.compact .help-block{
  font-size: var(--compact-font);
}
body.compact .form-control,
body.compact .form-select{
  height: var(--compact-input-h);
  padding:5px 9px;
  border-radius:8px;
}
body.compact textarea.form-control{
  min-height:34px;
}
body.compact .action-bar{
  padding:8px var(--compact-pad);
}
body.compact .btn{
  padding:6px 10px;
  border-radius:8px;
}
body.compact .help-row,
body.compact .chips,
body.compact .badge-inline,
body.compact small.help-block{
  display:none !important;
}
body.compact .label-row{
  justify-content:flex-start;
  gap:6px;
}
body.compact .form-control:focus,
body.compact .form-select:focus{
  box-shadow:0 0 0 1px rgba(148,163,255,0.6);
}

/* badge nhỏ bên label */
.badge-inline{
  font-size:11px;
  color:#0f172a;
  background:#e2e8f0;
  border-radius:999px;
  padding:2px 8px;
  font-weight:700;
}

/* ===== pages/sua-so-hsct.php :: style block 1 ===== */
:root{
    --bg:#0b1220; --text:#e5e7eb; --muted:#9aa4b2; --line:#1f2937;
    --card:#0f172a; --card-2:#0c1424;
    --pri:#60a5fa; --pri-600:#3b82f6; --pri-700:#2563eb;
    --accent:#22d3ee; --ok:#34d399; --warn:#f59e0b; --err:#ef4444;
    --chip:#111827; --ibox:#111827; --shadow:0 10px 24px rgba(0,0,0,.35);
  }
  @media (prefers-color-scheme: light){
    :root{
      --bg:#f7f9fc; --text:#0f172a; --muted:#64748b; --line:#e2e8f0;
      --card:#ffffff; --card-2:#f9fafb;
      --pri:#2563eb; --pri-600:#1d4ed8; --pri-700:#1e40af;
      --accent:#0ea5e9; --ok:#059669; --warn:#d97706; --err:#dc2626;
      --chip:#f1f5f9; --ibox:#ffffff; --shadow:0 10px 24px rgba(2,6,23,.10);
    }
  }
  *{ box-sizing:border-box }
  html,body{ font-family: system-ui, -apple-system, "Segoe UI", Roboto, Inter, Arial, "Noto Sans", sans-serif; font-size:14px; background:var(--bg); color:var(--text); }
  .content-header { margin: 8px 0 14px; background: linear-gradient(135deg, rgba(37,99,235,.18), rgba(34,211,238,.12)); border:1px solid var(--line); border-radius:14px; padding:12px 14px; box-shadow: var(--shadow); }
  .content-header h1{ font-size:18px; margin:0 0 6px; display:flex; align-items:center; gap:8px; }
  .content-header .breadcrumb{ margin:0; background:transparent; padding:0; color:var(--muted); }
  .panel{ border:1px solid var(--line); border-radius:16px; background:var(--card); box-shadow: var(--shadow); overflow:hidden; }
  .panel-hd{ padding:12px 14px; background: linear-gradient(135deg, rgba(96,165,250,.16), rgba(34,211,238,.10)); border-bottom:1px solid var(--line); font-weight:700; display:flex; align-items:center; gap:10px; }
  .panel-bd{ padding:14px; }
  .summary{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:10px; }
  .chip{ display:flex; align-items:center; gap:8px; background:var(--chip); border:1px solid var(--line); padding:8px 10px; border-radius:999px; font-weight:600; white-space:nowrap; }
  .chip .k{ opacity:.7; font-weight:500 }
  .grid{ display:grid; grid-template-columns: repeat(12,1fr); gap:12px; }
  .col-12{ grid-column: span 12; } .col-6{ grid-column: span 6; } .col-4{ grid-column: span 4; }
  .field{ position:relative; }
  .label{ font-weight:700; margin-bottom:6px; display:flex; align-items:center; gap:6px; color:var(--muted) }
  .ibox{ border:1px solid var(--line); background:var(--ibox); border-radius:12px; min-height:42px; padding:10px 12px; display:flex; align-items:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .edit-wrap{ position:relative; border:1px solid var(--line); background:var(--ibox); border-radius:12px; min-height:48px; padding:16px 12px 8px 40px; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
  .edit-wrap::before{ content:"🏷️"; position:absolute; left:10px; top:12px; font-size:16px; opacity:.75; }
  .edit-wrap input, .edit-wrap textarea{ border:0; outline:0; background:transparent; width:100%; color:#000 !important; font-size:14px !important; line-height:1.4; caret-color:#000; resize:vertical; }
  .edit-wrap textarea{ min-height:64px; }
  .edit-wrap input::placeholder, .edit-wrap textarea::placeholder{ color:#9ca3af; opacity:1; }
  .float-label{ position:absolute; left:40px; top:10px; font-size:12px; color:var(--muted); transform-origin:left top; transition: all .15s ease; pointer-events:none; opacity:.9; }
  .edit-wrap:focus-within{ background:rgba(250,250,210,.35); border-color:var(--warn); box-shadow:0 0 0.55rem rgba(245,158,11,.45); }
  .edit-wrap input:focus + .float-label,
  .edit-wrap input:not(:placeholder-shown) + .float-label,
  .edit-wrap textarea:focus + .float-label,
  .edit-wrap textarea:not(:placeholder-shown) + .float-label{ transform: translateY(-9px) scale(.92); opacity:.9; }
  .edit-wrap:focus-within input,
  .edit-wrap input:not(:placeholder-shown),
  .edit-wrap:focus-within textarea,
  .edit-wrap textarea:not(:placeholder-shown){ font-weight:700; }
  .actions-sticky{ position:sticky; bottom:0; z-index:5; margin-top:14px; background: linear-gradient(180deg, transparent, rgba(0,0,0,.05)) , var(--card-2); border:1px solid var(--line); border-radius:14px; padding:10px; display:flex; justify-content:space-between; align-items:center; gap:10px; box-shadow: var(--shadow); }
  .hint{ color:var(--muted); font-size:12px; }
  .btn{ display:inline-flex; align-items:center; gap:8px; border-radius:12px; padding:10px 14px; font-weight:700; border:1px solid var(--line); background:transparent; color:var(--text); text-decoration:none; cursor:pointer; transition: transform .06s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease; }
  .btn:hover{ transform: translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.18); }
  .btn-primary{ background:var(--pri); color:#fff; border-color:var(--pri); }
  .btn-primary:hover{ background:var(--pri-600); border-color:var(--pri-600); }
  .btn-ghost{ background:transparent; }
  .btn-ghost:hover{ border-color:var(--pri); color:var(--pri); }

  .alert{ border-radius:12px; padding:10px 12px; border:1px solid var(--line); }
  .alert.error{ background:rgba(239,68,68,.10); border-color:rgba(239,68,68,.45); color:#fecaca; }

  /* SUCCESS xanh nổi bật + icon ✔ + đổ bóng, hỗ trợ dark/light */
  .alert.success{
    --ok-bg: rgba(16,185,129,.15);   /* #10b981 @ 15% */
    --ok-bd: rgba(16,185,129,.9);
    --ok-tx: #d1fae5;
    background: var(--ok-bg);
    border-color: var(--ok-bd);
    color: var(--ok-tx);
    box-shadow: 0 6px 20px rgba(16,185,129,.25), inset 0 0 0 1px rgba(16,185,129,.3);
    position: relative;
    padding-left: 40px;
  }
  .alert.success::before{
    content: "✔";
    position: absolute;
    left: 12px; top: 50%;
    transform: translateY(-50%);
    font-weight: 900;
    opacity: .95;
  }
  @media (prefers-color-scheme: light){
    .alert.success{
      --ok-bg: rgba(16,185,129,.12);
      --ok-bd: rgba(5,150,105,.9);   /* #059669 */
      --ok-tx: #065f46;
      color: var(--ok-tx);
    }
  }

  @media (max-width:768px){
    .grid{ grid-template-columns:1fr; }
    .ibox{ white-space:normal; word-wrap:break-word; word-break:break-word; }
    .chip{ font-size:13px }
  }
  .glow-once{ animation: glowPulse 1.6s ease-out 0s 1; }
  @keyframes glowPulse{
    0% { box-shadow:0 0 0 rgba(0,0,0,0); }
    50%{ box-shadow:0 0 0.55rem rgba(96,165,250,.55); }
    100%{ box-shadow:0 0 0 rgba(0,0,0,0); }
  }

/* ===== pages/sua-tam-tru.php :: style block 1 ===== */
.content-wrapper{
  background: radial-gradient(circle at top left, rgba(168,85,247,0.12), transparent 55%),
              radial-gradient(circle at bottom right, rgba(56,189,248,0.12), transparent 55%),
              var(--kv2-bg);
  color: var(--kv2-text-main);
  padding: 10px 8px 20px;
  font-family: "Times New Roman", Times, serif;
}
.box{ background: rgba(15,23,42,0.92) !important; border-color: rgba(148,163,184,0.45) !important; }
.box-title{ color:#e5e7eb !important; }
.form-control{
  background:#0b1120 !important;
  border:1px solid rgba(148,163,184,0.75) !important;
  color:#fff !important;
  border-radius: 10px !important;
}
.btn{ border-radius: 999px !important; }
.help-block{ color: rgba(226,232,240,0.85); }

/* ===== pages/ta-ts-cap-nhat.php :: style block 1 ===== */
:root{
  --bg:#050816;
  --card:#020617;
  --card-soft:#020617;
  --bd:#312e81;
  --bd-soft:#1f2937;
  --text:#e5e7eb;
  --muted:#9ca3af;
  --accent:#a855f7;
  --accent-soft:#1f2937;
  --accent-strong:#c084fc;
  --danger:#f97373;
}

/* Toàn trang dùng Times New Roman (đồng bộ header) */
html, body,
.content-wrapper, .section,
h1,h2,h3,h4,h5,h6,p,
span,td,th,label,input,textarea,button,a {
  font-family:"Times New Roman",Times,"Liberation Serif","Nimbus Roman",serif !important;
  font-variant-ligatures:none;
  font-size:14px;
  color:var(--text);
}
*{box-sizing:border-box}

body{
  background: radial-gradient(circle at top, #1e1b4b 0, #020617 45%, #020617 100%);
}
.content-wrapper{
  background:transparent;
  padding-bottom:40px;
}

/* Giữ icon font */
.fa { font-family:"FontAwesome" !important; }
.glyphicon { font-family:"Glyphicons Halflings" !important; }

/* SECTION / CARD */
.section{
  background:
    radial-gradient(circle at top left, rgba(168,85,247,0.22), transparent 52%),
    radial-gradient(circle at bottom right, rgba(236,72,153,0.18), transparent 55%),
    linear-gradient(135deg,#020617 0,#020617 100%);
  border:1px solid rgba(148,163,255,0.45);
  border-radius:16px;
  padding:14px 16px;
  margin:14px 0;
  box-shadow:
    0 0 0 1px rgba(15,23,42,0.85),
    0 18px 45px rgba(15,23,42,0.95);
  backdrop-filter:blur(14px);
}
.section-header{
  font-weight:700;
  margin-bottom:10px;
  display:flex;
  align-items:center;
  gap:8px;
  letter-spacing:.2px;
  color:#f9fafb;
}
.section-header span.icon{
  width:28px;height:28px;border-radius:999px;
  background:radial-gradient(circle at 0 0, rgba(244,114,182,0.55), transparent 60%),
             radial-gradient(circle at 100% 100%, rgba(56,189,248,0.55), transparent 60%);
  display:flex;align-items:center;justify-content:center;
  color:#fefce8;
  box-shadow:0 0 22px rgba(129,140,248,0.8);
}

/* PAGE TITLE + BREADCRUMB */
.content-header h1{
  color:#f9fafb;
  letter-spacing:.3px;
}
.breadcrumb{
  background:transparent;
  padding:0;
  margin:2px 0 4px;
}
.breadcrumb a{color:var(--muted);}
.breadcrumb>.active{color:var(--text);}

/* FORM LAYOUT */
.form-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:8px;
}
.form-row .field{
  flex:1 1 240px;
}
label{
  display:block;
  font-weight:600;
  margin-bottom:3px;
  color:var(--muted);
}

/* INPUTS */
.input, textarea{
  width:100%;
  border-radius:10px;
  padding:7px 9px;
  border:1px solid rgba(148,163,255,0.6);
  background:radial-gradient(circle at top left, rgba(30,64,175,0.35), transparent 60%),
             linear-gradient(135deg,#020617,#020617);
  color:var(--text);
  outline:none;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,0.85);
}
.input::placeholder, textarea::placeholder{
  color:#6b7280;
}
.input:focus, textarea:focus{
  border-color:rgba(196,181,253,1);
  box-shadow:
    0 0 0 1px rgba(129,140,248,0.85),
    0 0 0 4px rgba(79,70,229,0.35);
}
textarea{
  min-height:120px;
  resize:vertical;
}

/* BUTTONS */
.btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(148,163,255,0.55);
  background:
    radial-gradient(circle at 0 0, rgba(248,250,252,0.06), transparent 60%),
    linear-gradient(135deg, rgba(15,23,42,0.95), rgba(15,23,42,0.98));
  color:#e5e7eb;
  text-decoration:none;
  font-weight:600;
  box-shadow:0 8px 26px rgba(15,23,42,0.9);
  transition:.16s ease-in-out;
}
.btn:hover{
  border-color:rgba(196,181,253,1);
  box-shadow:0 0 0 1px rgba(129,140,248,0.5), 0 16px 38px rgba(15,23,42,1);
  transform:translateY(-0.5px);
}
.btn-primary{
  background:linear-gradient(120deg,#a855f7 0%,#ec4899 42%,#f97316 100%);
  border-color:rgba(244,114,182,0.95);
  color:#020617;
  text-shadow:0 0 8px rgba(248,250,252,0.85);
}
.btn-primary:hover{
  filter:brightness(1.05);
}
.btn i{font-size:14px;}

/* TABLE */
.table-wrap{
  overflow:auto;
  border-radius:14px;
  border:1px solid rgba(148,163,255,0.6);
  background:radial-gradient(circle at top,#0b1120 0,#020617 45%,#020617 100%);
  box-shadow:0 16px 40px rgba(15,23,42,0.95);
  margin-top:6px;
}
table{
  width:100%;
  border-collapse:collapse;
}
th,td{
  border-bottom:1px solid rgba(51,65,85,0.9);
  padding:7px 8px;
  text-align:left;
}
thead th{
  background:linear-gradient(90deg,#111827 0,#020617 80%);
  color:#e5e7eb;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.35px;
}
tbody tr:nth-child(odd){
  background:rgba(15,23,42,0.86);
}
tbody tr:nth-child(even){
  background:rgba(15,23,42,0.97);
}
tbody tr:hover{
  background:rgba(30,64,175,0.58);
}

/* BADGE */
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid rgba(148,163,255,0.9);
  font-size:12px;
  color:#e5e7eb;
  background:rgba(15,23,42,0.95);
}
.badge[data-state="empty"]{
  border-color:rgba(148,163,255,0.6);
  background:rgba(30,64,175,0.55);
  color:#e5e7eb;
}

/* ALERTS */
.alert{
  border-radius:12px;
  padding:8px 10px;
  margin-bottom:8px;
}
.alert-danger{
  background:rgba(248,113,113,0.12);
  border:1px solid rgba(252,165,165,0.92);
  color:#fecaca;
}
.alert-success{
  background:rgba(16,185,129,0.12);
  border:1px solid rgba(110,231,183,0.9);
  color:#bbf7d0;
}

/* RESPONSIVE */
@media (max-width:768px){
  .form-row{flex-direction:column;}
  .section{padding:12px;}
  th,td{padding:6px;}
}

/* ===== pages/ta-ts-danh-sach.php :: style block 1 ===== */
/* ✅ Chỉ thêm chút “pro”, không đè theme */
.ta-ts-preview{
  max-width: 520px;
  max-height: 3.2em;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  white-space: normal;
}
.table td, .table th { vertical-align: top; }
.col-actions { white-space: nowrap; }
.help-hint { margin: 6px 0 0; color:#777; font-style: italic; }

/* ===== pages/tao-so-hsct.php :: style block 1 ===== */
html, body { font-family:"Inter","Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif; font-size:14.5px; }
  .form-group label { font-weight:600; margin-bottom:6px; }
  .input-icon { position:relative; }
  .input-icon > i{ position:absolute; left:10px; top:50%; transform:translateY(-50%); color:#9ca3af; }
  .input-icon > input{ padding-left:32px; }
  .btn-primary{ background:#3b82f6; border-color:#3b82f6; }
  .btn-primary:hover{ background:#2563eb; border-color:#2563eb; }

/* ===== pages/them-cong-dan.php :: style block 1 ===== */
/* =========================================
     ĐỒNG BỘ GIAO DIỆN VỚI HEADER KV2
     ========================================= */

  .content-wrapper{
    background:
      radial-gradient(circle at top left, rgba(56,189,248,0.06), transparent 60%),
      radial-gradient(circle at bottom right, rgba(14,165,164,0.08), transparent 60%),
      #07111e !important;
    color: #f8fafc;
    min-height: calc(100vh - 100px);
  }

  .content-header > h1{
    color: #f8fafc !important;
    font-weight: 900;
    letter-spacing: .02em;
  }

  .breadcrumb{
    background: transparent !important;
  }

  .breadcrumb > li,
  .breadcrumb > li > a,
  .breadcrumb > .active{
    color: rgba(248,250,252,0.78) !important;
  }

  .breadcrumb > li + li:before{
    color: rgba(248,250,252,0.45) !important;
  }

  .alert{
    border: 1px solid rgba(255,255,255,0.10) !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.30);
  }

  .alert-danger{
    background: rgba(220,53,69,0.14) !important;
    color: #ffe5e8 !important;
    border-color: rgba(220,53,69,0.32) !important;
  }

  .alert-success{
    background: rgba(14,165,164,0.14) !important;
    color: #ddfffb !important;
    border-color: rgba(14,165,164,0.34) !important;
  }

  .alert h4,
  .alert i,
  .alert li{
    color: inherit !important;
  }

  .box{
    background: rgba(255,255,255,0.04) !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    box-shadow: 0 18px 45px rgba(0,0,0,0.45) !important;
    overflow: visible !important;
  }

  .box.box-solid{
    border: 1px solid rgba(255,255,255,0.10) !important;
  }

  .box-header{
    border-top-left-radius: 14px !important;
    border-top-right-radius: 14px !important;
  }

  .box-header.with-border{
    border-bottom: 1px solid rgba(255,255,255,0.10) !important;
  }

  .box-title{
    color: rgba(248,250,252,0.96) !important;
    font-weight: 900 !important;
    letter-spacing: .01em;
  }

  .box.box-solid .box-header .box-title i{
    margin-right: 8px;
  }

  .box-body{
    color: rgba(248,250,252,0.90) !important;
  }

  .box-primary > .box-header{
    background: linear-gradient(135deg, rgba(14,165,164,0.22), rgba(56,189,248,0.10)) !important;
    color: #fff !important;
  }

  .box-info > .box-header{
    background: linear-gradient(135deg, rgba(56,189,248,0.20), rgba(14,165,164,0.10)) !important;
    color: #fff !important;
  }

  .box-success > .box-header{
    background: linear-gradient(135deg, rgba(16,185,129,0.20), rgba(14,165,164,0.10)) !important;
    color: #fff !important;
  }

  .box-warning > .box-header{
    background: linear-gradient(135deg, rgba(245,158,11,0.20), rgba(251,191,36,0.10)) !important;
    color: #fff !important;
  }

  .box-danger > .box-header{
    background: linear-gradient(135deg, rgba(239,68,68,0.20), rgba(248,113,113,0.10)) !important;
    color: #fff !important;
  }

  .box-default > .box-header{
    background: linear-gradient(135deg, rgba(148,163,184,0.12), rgba(255,255,255,0.05)) !important;
    color: #fff !important;
  }

  label{
    color: rgba(248,250,252,0.93) !important;
    font-weight: 800;
    margin-bottom: 7px;
  }

  .form-control{
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    color: rgba(248,250,252,0.96) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    height: 40px;
  }

  textarea.form-control{
    height: auto;
    min-height: 100px;
    resize: vertical;
  }

  .form-control:focus{
    border-color: rgba(14,165,164,0.55) !important;
    box-shadow: 0 0 0 4px rgba(14,165,164,0.12) !important;
  }

  .form-control::placeholder{
    color: rgba(248,250,252,0.55) !important;
  }

  select.form-control option{
    color: #111827;
    background: #ffffff;
  }

  .input-group-addon{
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    color: rgba(248,250,252,0.88) !important;
    border-radius: 12px 0 0 12px !important;
    min-width: 42px;
  }

  .input-group .form-control{
    border-left: 0 !important;
  }

  .input-group .form-control:first-child,
  .input-group-addon:first-child{
    border-right: 0 !important;
  }

  .input-group .btn-success{
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: 12px !important;
    border-bottom-right-radius: 12px !important;
    height: 40px !important;
    font-weight: 700;
    border: none !important;
    background: linear-gradient(135deg, #0ea5a4, #0b7d7c) !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  .input-group .btn-success:hover,
  .input-group .btn-success:focus{
    background: linear-gradient(135deg, #14b8a6, #0f766e) !important;
    color: #fff !important;
  }

  .btn-primary{
    background: linear-gradient(135deg, #0ea5a4, #0b7d7c) !important;
    border: none !important;
    border-radius: 12px !important;
    font-weight: 800;
    padding: 10px 18px;
    box-shadow: 0 10px 24px rgba(0,0,0,0.28);
  }

  .btn-primary:hover,
  .btn-primary:focus{
    background: linear-gradient(135deg, #14b8a6, #0f766e) !important;
    transform: translateY(-1px);
  }

  .help-note{
    color: rgba(248,250,252,0.68) !important;
    font-size: 12px;
    margin-top: 6px;
    display: block;
  }

  .hint{
    color: #93c5fd !important;
    font-size: 12px;
    margin-top: 6px;
    min-height: 18px;
  }

  .addr-preview{
    font-size: 12.5px;
    color: rgba(248,250,252,0.82) !important;
    margin-top: 6px;
  }

  .addr-preview .lbl{
    color: rgba(248,250,252,0.56) !important;
    margin-right: 4px;
  }

  .form-group textarea.form-control{
    padding-top: 10px;
  }

  .form-group{
    margin-bottom: 16px;
  }

  input:-webkit-autofill,
  textarea:-webkit-autofill,
  select:-webkit-autofill{
    -webkit-text-fill-color: rgba(248,250,252,0.96) !important;
    box-shadow: 0 0 0px 1000px rgba(5,12,22,0.98) inset !important;
    transition: background-color 9999s ease-in-out 0s;
  }

  @media (max-width: 768px){
    .content-header > h1{
      font-size: 24px;
    }

    .box-title{
      font-size: 16px;
      line-height: 1.5;
    }

    .input-group .btn-success{
      padding-left: 12px;
      padding-right: 12px;
    }

    .btn-primary{
      width: 100%;
    }
  }

/* ===== pages/thong-bao.php :: style block 1 ===== */
:root{ --bd:#e5e7ef; --muted:#64748b; --title:#111827; --accent:#4f46e5; --ok:#065f46; }
.section{ background:#fff; border:1px solid var(--bd); border-radius:12px; padding:16px; margin:16px 0; }
.section-title{ font-weight:700; color:var(--title); margin-bottom:12px; display:flex; align-items:center; gap:8px; }
.actions{ margin-left:auto; display:flex; gap:10px; } /* không dùng nữa nhưng giữ lại CSS cũng không sao */
.btn{ display:inline-flex; gap:8px; align-items:center; padding:10px 14px; border-radius:10px; border:1px solid var(--bd); background:#fff; text-decoration:none; font-weight:600; }
.btn.primary{ background:var(--accent); border-color:var(--accent); color:#fff; }
.notice{ border:1px solid var(--bd); border-radius:12px; padding:12px; margin:12px 0; background:#fff; }
.notice .title{ font-weight:800; font-size:16px; margin-bottom:6px; display:flex; align-items:center; gap:8px; }
.badge{ display:inline-flex; align-items:center; gap:6px; padding:3px 8px; border-radius:999px; font-size:12px; border:1px solid var(--bd); color:#334155; background:#f8fafc; }
.badge.pin{ color:#3730a3; border-color:#c7d2fe; background:#eef2ff; }
.meta{ color:var(--muted); font-size:12.5px; margin-top:4px; }
.alert-ok{ border-radius:10px; padding:10px 12px; margin-bottom:12px; background:#ecfdf5; color:var(--ok); border:1px solid #a7f3d0; }

/* ===== pages/thong-tin-cong-dan.php :: style block 1 ===== */
:root{
    --kv2-bg:#07111e;
    --kv2-bg-2:#0b1628;
    --kv2-surface:rgba(255,255,255,.045);
    --kv2-surface-2:rgba(255,255,255,.06);
    --kv2-border:rgba(255,255,255,.10);
    --kv2-border-soft:rgba(255,255,255,.07);
    --kv2-primary:#0ea5a4;
    --kv2-primary-2:#0b7d7c;
    --kv2-accent:#38bdf8;
    --kv2-text:#f8fafc;
    --kv2-text-soft:rgba(248,250,252,.72);
    --kv2-text-faint:rgba(248,250,252,.56);
    --kv2-shadow:0 18px 45px rgba(0,0,0,.42);
    --kv2-shadow-soft:0 10px 24px rgba(0,0,0,.26);
    --kv2-radius:16px;
  }

  .content-wrapper{
    background:
      radial-gradient(circle at 8% 8%, rgba(56,189,248,.08), transparent 38%),
      radial-gradient(circle at 92% 12%, rgba(14,165,164,.10), transparent 35%),
      radial-gradient(circle at 90% 90%, rgba(59,130,246,.06), transparent 28%),
      var(--kv2-bg) !important;
    color:var(--kv2-text);
    min-height:calc(100vh - 100px);
  }

  .citizen-page{
    max-width:1320px;
    margin:0 auto;
    padding:22px 16px 34px;
  }

  .page-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
    margin-bottom:18px;
  }

  .title-wrap{
    flex:1 1 420px;
  }

  .page-title{
    margin:0;
    color:var(--kv2-text);
    font-size:30px;
    font-weight:900;
    letter-spacing:.02em;
    text-transform:uppercase;
    line-height:1.2;
  }

  .page-sub{
    margin-top:6px;
    color:var(--kv2-text-soft);
    font-size:14px;
    letter-spacing:.02em;
  }

  .breadcrumb{
    background:transparent !important;
    margin:10px 0 0;
    padding:0;
  }

  .breadcrumb > li,
  .breadcrumb > li > a,
  .breadcrumb > .active{
    color:rgba(248,250,252,.72) !important;
  }

  .breadcrumb > li + li:before{
    color:rgba(248,250,252,.34) !important;
  }

  .top-summary{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:12px;
    margin-bottom:18px;
  }

  .summary-card{
    background:linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
    border:1px solid var(--kv2-border);
    border-radius:14px;
    padding:14px 15px;
    box-shadow:var(--kv2-shadow-soft);
    position:relative;
    overflow:hidden;
  }

  .summary-card:before{
    content:"";
    position:absolute;
    inset:auto -30px -30px auto;
    width:90px;
    height:90px;
    background:radial-gradient(circle, rgba(14,165,164,.18), transparent 70%);
    pointer-events:none;
  }

  .summary-card .s-label{
    color:var(--kv2-text-faint);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:700;
    margin-bottom:6px;
  }

  .summary-card .s-value{
    color:var(--kv2-text);
    font-size:18px;
    font-weight:900;
    line-height:1.35;
    word-break:break-word;
  }

  .head-actions{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
    justify-content:flex-end;
    flex:0 1 560px;
  }

  .btn-kv2{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 14px;
    border-radius:12px;
    border:1px solid var(--kv2-border);
    background:linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
    color:var(--kv2-text) !important;
    text-decoration:none !important;
    font-weight:800;
    transition:all .18s ease;
    box-shadow:0 8px 18px rgba(0,0,0,.18);
  }

  .btn-kv2:hover{
    background:rgba(14,165,164,.14);
    transform:translateY(-1px);
    box-shadow:0 14px 28px rgba(0,0,0,.28);
  }

  .btn-kv2.primary{
    background:linear-gradient(135deg,var(--kv2-primary),var(--kv2-primary-2));
    border:none;
  }

  .btn-kv2.primary:hover{
    filter:brightness(1.06);
  }

  .alert{
    border-radius:14px !important;
    border:1px solid var(--kv2-border) !important;
    margin-bottom:16px;
  }

  .alert-success{
    background:rgba(14,165,164,.14) !important;
    color:#ddfffb !important;
    border-color:rgba(14,165,164,.34) !important;
    box-shadow:var(--kv2-shadow-soft);
  }

  .panel-controls{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:14px;
  }

  .panel-kv2{
    background:linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.03));
    border:1px solid var(--kv2-border);
    border-radius:var(--kv2-radius);
    box-shadow:var(--kv2-shadow);
    overflow:hidden;
    margin-bottom:16px;
    position:relative;
  }

  .panel-kv2:before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:180px;
    height:180px;
    background:radial-gradient(circle, rgba(56,189,248,.08), transparent 70%);
    pointer-events:none;
  }

  .panel-kv2 .panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:15px 17px;
    background:linear-gradient(135deg, rgba(14,165,164,.12), rgba(56,189,248,.06));
    border-bottom:1px solid var(--kv2-border-soft);
    cursor:pointer;
  }

  .panel-kv2 .panel-title{
    color:var(--kv2-text);
    font-size:18px;
    font-weight:900;
    margin:0;
    display:flex;
    align-items:center;
    gap:10px;
    letter-spacing:.01em;
  }

  .panel-kv2 .panel-title i{
    width:28px;
    height:28px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.08);
    color:#c8f7f6;
  }

  .panel-kv2 .panel-body{
    padding:17px;
  }

  .panel-kv2 .toggle-icon{
    color:rgba(248,250,252,.7);
    transition:transform .18s ease;
  }

  .panel-kv2.collapsed .toggle-icon{
    transform:rotate(-90deg);
  }

  .panel-kv2.collapsed .panel-body{
    display:none;
  }

  .info-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:13px;
  }

  .info-item{
    background:linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.025));
    border:1px solid var(--kv2-border-soft);
    border-radius:13px;
    padding:13px 14px;
    min-height:82px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  }

  .info-item.hero{
    background:
      radial-gradient(circle at top left, rgba(14,165,164,.12), transparent 45%),
      linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.03));
  }

  .info-item .label{
    display:block;
    color:var(--kv2-text-faint);
    font-size:11.5px;
    text-transform:uppercase;
    letter-spacing:.09em;
    margin-bottom:7px;
    font-weight:700;
  }

  .info-item .value{
    color:var(--kv2-text);
    font-size:16px;
    font-weight:700;
    line-height:1.55;
    word-break:break-word;
  }

  .info-item .value.name{
    font-size:22px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.02em;
  }

  .badge-kv2{
    display:inline-block;
    padding:4px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.08);
    color:var(--kv2-text);
  }

  .badge-kv2.success{
    background:rgba(16,185,129,.18);
    border-color:rgba(16,185,129,.35);
    color:#d1fae5;
  }

  .badge-kv2.warn{
    background:rgba(245,158,11,.18);
    border-color:rgba(245,158,11,.35);
    color:#fef3c7;
  }

  .chip-kv2{
    display:inline-flex;
    align-items:center;
    padding:4px 10px;
    border-radius:999px;
    margin:0 6px 6px 0;
    font-size:12px;
    font-weight:800;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.08);
    color:var(--kv2-text);
    box-shadow:0 6px 16px rgba(0,0,0,.14);
  }

  .chip-wrap{
    margin-top:12px;
  }

  .table-wrap{
    overflow:auto;
    border:1px solid var(--kv2-border-soft);
    border-radius:13px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
  }

  .table{
    margin:0;
    color:var(--kv2-text);
    background:transparent;
  }

  .table > thead > tr > th{
    background:rgba(255,255,255,.05);
    border-bottom:1px solid var(--kv2-border) !important;
    color:var(--kv2-text);
    font-weight:800;
    white-space:nowrap;
    letter-spacing:.02em;
  }

  .table > tbody > tr > td{
    border-top:1px solid rgba(255,255,255,.06) !important;
    color:rgba(248,250,252,.9);
    vertical-align:middle !important;
    background:transparent;
  }

  .table > tbody > tr:hover > td{
    background:rgba(14,165,164,.05);
  }

  .table > tbody > tr.current-row > td{
    background:rgba(14,165,164,.08);
  }

  .empty-note{
    color:var(--kv2-text-soft);
    line-height:1.75;
    padding:2px 0;
  }

  .note-box{
    background:linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.03));
    border:1px solid var(--kv2-border-soft);
    border-radius:13px;
    padding:15px;
    line-height:1.75;
    white-space:pre-wrap;
    color:var(--kv2-text);
  }

  .muted-line{
    color:var(--kv2-text-soft);
    margin-top:12px;
    line-height:1.65;
  }

  .link-soft{
    color:#7dd3fc !important;
    text-decoration:none;
    font-weight:700;
  }

  .link-soft:hover{
    color:#bae6fd !important;
    text-decoration:underline;
  }

  .mobile-actionbar{display:none;}

  @media (max-width: 1100px){
    .top-summary{
      grid-template-columns:repeat(2, minmax(0,1fr));
    }
  }

  @media (max-width: 768px){
    .citizen-page{padding:14px 10px 24px;}
    .page-title{font-size:22px;}
    .head-actions{width:100%;justify-content:flex-start;}
    .info-grid{grid-template-columns:1fr;}
    .top-summary{grid-template-columns:1fr;}
    .btn-kv2{width:100%;justify-content:center;}
  }

  @media (max-width:640px){
    .content-wrapper{padding-bottom:76px;}
    .mobile-actionbar{
      display:block;
      position:fixed;
      left:0; right:0; bottom:0;
      z-index:9999;
      background:linear-gradient(90deg,#07111e,#0b1322,#07111e);
      border-top:1px solid rgba(255,255,255,.12);
      box-shadow:0 -12px 30px rgba(0,0,0,.45);
      padding-bottom:env(safe-area-inset-bottom);
      backdrop-filter:blur(10px);
    }
    .mobile-actionbar .bar{
      display:grid;
      grid-template-columns:repeat(6,1fr);
    }
    .mobile-actionbar a{
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      padding:9px 6px;
      text-decoration:none;
      color:#e5e7eb;
      font-weight:700;
      font-size:12px;
      border-right:1px solid rgba(255,255,255,.08);
    }
    .mobile-actionbar a:last-child{border-right:none;}
    .mobile-actionbar a .ico{
      font-size:18px;
      line-height:1;
      margin-bottom:4px;
      color:#38bdf8;
    }
    .mobile-actionbar a.back .ico{color:#e5e7eb;}
    .mobile-actionbar a.disabled{
      pointer-events:none;
      opacity:.45;
    }
  }

/* ===== pages/tra-cuu-cong-dan.php :: style block 1 ===== */
:root{
  --kv2-card-bg: rgba(255,255,255,0.04);
  --kv2-card-bg-2: rgba(255,255,255,0.06);
  --kv2-card-border: rgba(255,255,255,0.10);
  --kv2-card-border-soft: rgba(255,255,255,0.08);
}

.content-wrapper{
  background:
    radial-gradient(circle at top left, rgba(56,189,248,0.06), transparent 55%),
    radial-gradient(circle at bottom right, rgba(14,165,164,0.08), transparent 55%),
    var(--kv2-bg);
  color: var(--kv2-text-main);
  padding: 12px 10px 18px;
  font-family: "Times New Roman", Times, serif;
}

section.content-header h1{
  font-size: 22px;
  margin-bottom: 4px;
  color: var(--kv2-text-main);
  font-weight: 900;
  letter-spacing: .02em;
}
section.content-header .breadcrumb{
  background: transparent;
  color: var(--kv2-text-muted);
}
section.content-header .breadcrumb a{
  color: var(--kv2-text-muted);
}
section.content-header .breadcrumb a:hover{
  color: var(--kv2-text-main);
}

.card{
  background: var(--kv2-card-bg);
  border: 1px solid var(--kv2-card-border);
  border-radius: 14px;
  box-shadow: var(--kv2-shadow);
  overflow: hidden;
}
.card-header{
  padding: 12px 16px;
  border-bottom: 1px solid var(--kv2-card-border-soft);
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
  background: linear-gradient(135deg, rgba(14,165,164,0.08), rgba(56,189,248,0.05));
}
.card-header strong{
  font-size: 15px;
  color: var(--kv2-text-main);
  font-weight: 900;
}
.card-body{
  padding: 14px 16px;
}

.form-row{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}
.form-row .form-group{
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.form-group label{
  font-weight: 800;
  color: var(--kv2-text-main);
  font-size: 13px;
}
.form-group small.hint,
.hint{
  color: var(--kv2-text-muted);
  font-size: 12px;
}

/* input */
.form-group input{
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--kv2-text-main);
  border-radius: 12px;
  padding: 10px 12px;
  outline: none;
  width: 100%;
  height: 48px;
}
.form-group input:focus{
  border-color: rgba(14,165,164,0.55);
  box-shadow: 0 0 0 4px rgba(14,165,164,0.12);
}
.form-group input::placeholder{
  color: rgba(248,250,252,0.55);
}

/* select đẹp hơn */
.select-wrap{
  position: relative;
  width: 100%;
}
.select-wrap::after{
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(248,250,252,0.8);
  border-bottom: 2px solid rgba(248,250,252,0.8);
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
  transition: transform .18s ease;
}
.select-wrap:focus-within::after{
  transform: translateY(-35%) rotate(225deg);
}

.form-group select,
select[name="sort"]{
  width: 100%;
  height: 48px;
  padding: 10px 42px 10px 12px;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  outline: none;
  color: #f8fafc !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.03)),
    #1e293b !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.05),
    0 6px 18px rgba(0,0,0,0.20);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  transition: all .18s ease;
  cursor: pointer;
  color-scheme: dark;
}

.form-group select:hover,
select[name="sort"]:hover{
  border-color: rgba(56,189,248,0.35) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.05),
    0 8px 22px rgba(0,0,0,0.25);
}

.form-group select:focus,
select[name="sort"]:focus{
  border-color: rgba(14,165,164,0.55) !important;
  box-shadow:
    0 0 0 4px rgba(14,165,164,0.12),
    inset 0 1px 0 rgba(255,255,255,0.05);
}

/* option */
.form-group select option,
select[name="sort"] option{
  background: #0f172a !important;
  color: #f8fafc !important;
}

.form-group select option:checked,
select[name="sort"] option:checked{
  background: #0ea5a4 !important;
  color: #ffffff !important;
}

/* Buttons */
.btn{
  border-radius: 12px !important;
  font-weight: 800;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.05);
  color: var(--kv2-text-main);
  padding: 9px 14px;
  text-decoration: none;
  transition: all .18s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 48px;
}
.btn:hover{
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}
.btn.primary{
  background: linear-gradient(135deg, var(--kv2-primary), var(--kv2-primary-dark));
  border: none;
  color: #fff;
}

/* sort select cùng style button */
.sort-wrap{
  position: relative;
  display: inline-block;
}
.sort-wrap::after{
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 2px solid rgba(248,250,252,0.85);
  border-bottom: 2px solid rgba(248,250,252,0.85);
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
}
.sort-wrap select.btn{
  padding-right: 38px !important;
  min-width: 145px;
}

.badge{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(14,165,164,0.18);
  color: #ccfbf1;
  border: 1px solid rgba(14,165,164,0.40);
  font-size: 12px;
}

.table-wrapper{
  padding: 0;
}
.table-responsive{
  width: 100%;
  overflow-x: auto;
}
.table{
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  min-width: 1000px;
  color: rgba(248,250,252,0.90);
}
.table th,
.table td{
  padding: 8px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  vertical-align: top;
}
.table thead th{
  background: rgba(5,12,22,0.95);
  color: rgba(248,250,252,0.95);
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .03em;
  position: sticky;
  top: 0;
  z-index: 1;
}
.table tbody tr:nth-child(odd){
  background: rgba(255,255,255,0.015);
}
.table tbody tr:nth-child(even){
  background: rgba(255,255,255,0.03);
}
.table tbody tr:hover{
  background: rgba(14,165,164,0.10);
}
.table td a{
  color: #e2e8f0;
  text-decoration: underline;
}
.table td a:hover{
  color: var(--kv2-accent);
}

.col-address{
  min-width: 260px;
}
.col-parent{
  min-width: 180px;
}

.pager{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 12px;
  padding: 0 16px 16px;
}
.pager a{
  padding: 6px 10px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 999px;
  text-decoration: none;
  color: var(--kv2-text-main);
  font-size: 12px;
  background: rgba(255,255,255,0.04);
}
.pager a.active{
  background: linear-gradient(135deg, var(--kv2-primary), var(--kv2-primary-dark));
  color: #fff;
  border-color: var(--kv2-primary);
}

@media (max-width: 768px){
  .card-header{
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}

/* ===== pages/viet-thong-bao.php :: style block 1 ===== */
:root{ --bd:#e5e7ef; --muted:#64748b; --title:#111827; --accent:#4f46e5; --card:#fff; }
.section{ background:var(--card); border:1px solid var(--bd); border-radius:12px; padding:16px; margin:16px 0; }
.section-title{ font-weight:700; color:var(--title); margin-bottom:12px; display:flex; align-items:center; gap:8px; }
.form-row{ display:grid; grid-template-columns: 180px 1fr; gap:10px; margin-bottom:12px; }
.form-row label{ color:var(--muted); padding-top:8px; }
input[type=text], textarea, input[type=date]{
  width:100%; padding:10px 12px; border:1px solid var(--bd); border-radius:10px;
}
textarea{ min-height:160px; line-height:1.6; }
.actions{ display:flex; gap:10px; }
.btn{ display:inline-flex; gap:8px; align-items:center; padding:10px 14px; border-radius:10px;
  border:1px solid var(--bd); background:#fff; text-decoration:none; font-weight:600; }
.btn.primary{ background:var(--accent); border-color:var(--accent); color:#fff; }
.alert{ border-radius:10px; padding:10px 12px; margin:10px 0; }
.alert.err{ background:#fef2f2; border:1px solid #fecaca; color:#991b1b; }

/* ===== pages/tim-kiem-ho-khau-cap-nhat.php :: style block 1 ===== */
/* ===== STYLE TRANG (giữ nguyên của bạn) ===== */
.content-wrapper{ background:#f3f4f6; color:#111827; }
.page-title { text-align:center;font-weight:700;font-size:22px;margin:10px 0 6px; }
.page-subtitle{ text-align:center;color:#6b7280;font-size:13px;margin-bottom:12px; }
.step-badges{ display:flex; flex-wrap:wrap; gap:6px; justify-content:center; margin-bottom:10px; }
.step-badge{ display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; background:#e5e7eb; color:#111827; font-size:12px; }
.step-badge .num{ width:18px;height:18px;border-radius:999px;background:#111827;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:11px; }
.search-card { background:#ffffff;border-radius:10px;border:1px solid #e5e7eb;padding:15px 15px 10px;margin-bottom:18px;box-shadow:0 1px 3px rgba(15,23,42,.08); }
.search-card .box-title{ font-weight:600;margin-bottom:10px;font-size:14px;color:#111827; }
.search-card .hint{ font-size:12px;color:#6b7280;margin-top:6px; }
.search-card .form-control{ background:#ffffff;border-radius:8px;border:1px solid #d1d5db;color:#111827; }
.search-card .form-control:focus{ border-color:#2563eb; box-shadow:0 0 0 1px rgba(37,99,235,.5); }
.search-card .form-control::placeholder{ color:#9ca3af; }
.alert-soft-success{ background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46;border-radius:8px;padding:8px 10px;margin-bottom:10px; }
.box.box-primary, .box.box-warning{ background:#ffffff;border-radius:10px;border:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(15,23,42,.08); }
.box-header.with-border{ border-bottom:1px solid #e5e7eb !important; }
.box-title{ color:#111827; }
.household-summary{ padding:8px 12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:12.5px;display:flex;flex-wrap:wrap;gap:10px;align-items:center; }
.household-summary .tag{ display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:#e5e7eb;color:#111827; }
.household-summary .tag.warn{ background:#fef3c7;color:#92400e; }
.hsct-results .box-body{ background:#ffffff; }
.hsct-results .table{ background:transparent;margin-bottom:0; }
.hsct-results .table > thead > tr > th{ background:#111827;color:#f9fafb;border-color:#111827;text-transform:uppercase;font-size:11px;letter-spacing:.04em; }
.hsct-results .table > tbody > tr:nth-child(odd) > td{ background:#ffffff; }
.hsct-results .table > tbody > tr:nth-child(even) > td{ background:#f9fafb; }
.hsct-results .table > tbody > tr:hover > td{ background:#dbeafe !important; }
.hsct-results .table > tbody > tr.row-selected > td{ background:#bfdbfe !important; }
.hsct-results .table td, .hsct-results .table th{ color:#111827; }
.tr-head > td{ background:#fef3c7 !important;border-top:2px solid #f59e0b !important;border-bottom:2px solid #f59e0b !important; }
.tr-head .label-head{ display:inline-block;font-size:11px;padding:2px 6px;border-radius:999px;background:#fde68a;color:#92400e;border:1px solid #fbbf24;margin-left:6px; }
.cell-select, .cell-head-select{ text-align:center; vertical-align:middle !important; }
.chk-pill, .radio-pill, .chk-all-pill{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:3px 10px;border-radius:999px;border:1px solid #d1d5db;background:#ffffff;font-size:12px;
  cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;
  transition: background .15s ease, transform .12s ease, border-color .15s ease;color:#111827;
}
.chk-pill:active, .radio-pill:active, .chk-all-pill:active{ transform: scale(.98); }
.chk-pill:hover, .chk-all-pill:hover{ background:#eff6ff; }
.radio-pill:hover{ background:#ecfdf5; }
.chk-native, .radio-native{ width:18px;height:18px; }
.chk-native{ accent-color:#2563eb; }
.radio-native{ accent-color:#16a34a; }
@media (min-width: 769px){
  .chk-pill .chk-native,.chk-all-pill .chk-native,.radio-pill .radio-native{ position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer; }
  .chk-pill span,.chk-all-pill span,.radio-pill span{ position:relative;padding-left:22px;line-height:18px;display:inline-flex;align-items:center;gap:4px; }
  .chk-pill span::before,.chk-all-pill span::before{
    content:"";position:absolute;left:0;top:50%;width:16px;height:16px;transform:translateY(-50%);
    border-radius:4px;border:1px solid #9ca3af;background:#fff;transition:.15s;
  }
  .chk-pill span::after,.chk-all-pill span::after{
    content:"";position:absolute;left:5px;top:50%;width:6px;height:10px;border-right:2px solid #fff;border-bottom:2px solid #fff;
    transform: translateY(-60%) rotate(45deg) scale(.2);opacity:0;transition:.18s;
  }
  .chk-pill input.chk-native:checked + span::before,.chk-all-pill input.chk-native:checked + span::before{
    background:#2563eb;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15);
  }
  .chk-pill input.chk-native:checked + span::after,.chk-all-pill input.chk-native:checked + span::after{
    opacity:1;transform: translateY(-60%) rotate(45deg) scale(1);
  }
  .radio-pill span::before{
    content:"";position:absolute;left:0;top:50%;width:16px;height:16px;transform:translateY(-50%);
    border-radius:999px;border:1px solid #9ca3af;background:#fff;transition:.15s;
  }
  .radio-pill span::after{
    content:"";position:absolute;left:4px;top:50%;width:8px;height:8px;transform:translateY(-50%) scale(.2);
    opacity:0;border-radius:999px;background:#16a34a;transition:.18s;
  }
  .radio-pill input.radio-native:checked + span::before{ border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.12); }
  .radio-pill input.radio-native:checked + span::after{ opacity:1;transform: translateY(-50%) scale(1); }
}
.apply-mode-wrap{ margin-top:5px;padding:10px 12px;border-radius:8px;border:1px dashed #d1d5db;background:#f9fafb;font-size:13px;color:#111827; }
.apply-mode-wrap .desc{ margin-top:6px;font-size:12px;color:#6b7280; }
.field-note{ font-size:12px;color:#6b7280;margin-top:4px; }
.box-warning .form-control{ background:#ffffff;border-radius:8px;border:1px solid #d1d5db;color:#111827; }
.box-warning .form-control:focus{ border-color:#2563eb;box-shadow:0 0 0 1px rgba(37,99,235,.5); }
.box-warning .form-control::placeholder{ color:#9ca3af; }
.box-warning .box-footer{ border-top:1px solid #e5e7eb; }
@media (max-width:768px){ .household-summary{flex-direction:column;align-items:flex-start;} }

/* ===== Shared Bootstrap 5 police admin theme ===== */

/*
 * KV2 Police Admin UI for Bootstrap 5.
 * This file is loaded after the legacy AdminLTE styles so the menu/data
 * structure can stay intact while the interface gets a modern management UI.
 */

:root {
  --kv2-ink: #102033;
  --kv2-muted: #607084;
  --kv2-page: #eef3f8;
  --kv2-panel: #ffffff;
  --kv2-line: #d8e0ea;
  --kv2-navy: #0b1f35;
  --kv2-navy-2: #123656;
  --kv2-command: #175f9c;
  --kv2-command-2: #0f7f7a;
  --kv2-red: #b91c1c;
  --kv2-gold: #d59b1b;
  --kv2-green: #147a45;
  --kv2-shadow: 0 14px 34px rgba(16, 32, 51, .12);
  --kv2-shadow-soft: 0 8px 20px rgba(16, 32, 51, .09);
  --kv2-radius: 8px;
  --kv2-font: "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* Legacy aliases used by older page-level styles. */
  --kv2-bg: var(--kv2-page);
  --kv2-bg-dark: #dfe8f2;
  --kv2-bg-2: #e6edf5;
  --kv2-surface: var(--kv2-panel);
  --kv2-surface-2: #f7fafc;
  --kv2-primary: var(--kv2-command);
  --kv2-primary-dark: #124f82;
  --kv2-primary-2: var(--kv2-command-2);
  --kv2-accent: var(--kv2-command-2);
  --kv2-text: var(--kv2-ink);
  --kv2-text-main: var(--kv2-ink);
  --kv2-text-muted: var(--kv2-muted);
  --kv2-text-soft: var(--kv2-muted);
  --kv2-text-faint: #7c8ba0;
  --kv2-border: var(--kv2-line);
  --kv2-border-2: #c8dceb;
  --kv2-border-soft: #e5ebf2;
  --kv2-card-bg: var(--kv2-panel);
  --kv2-card-bg-2: #f7fafc;
  --kv2-card-border: var(--kv2-line);
  --kv2-card-border-soft: #e5ebf2;
}

html {
  background: var(--kv2-page);
}

body.kv2-police-admin,
body.kv2-auth-page,
body.kv2-doc-page,
body.kv2-standalone-admin {
  color: var(--kv2-ink);
  background: var(--kv2-page);
  font-family: var(--kv2-font) !important;
  letter-spacing: 0;
}

body.kv2-police-admin h1,
body.kv2-police-admin h2,
body.kv2-police-admin h3,
body.kv2-police-admin h4,
body.kv2-police-admin h5,
body.kv2-police-admin h6,
body.kv2-police-admin .btn,
body.kv2-police-admin .table,
body.kv2-police-admin input,
body.kv2-police-admin select,
body.kv2-police-admin textarea,
body.kv2-police-admin label {
  font-family: var(--kv2-font) !important;
}

body.kv2-police-admin .wrapper {
  background: var(--kv2-page);
}

body.kv2-police-admin .main-header {
  position: sticky;
  top: 0;
  z-index: 1040;
  box-shadow: 0 10px 24px rgba(11, 31, 53, .18);
}

body.kv2-police-admin .main-header::after {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--kv2-red), var(--kv2-gold), var(--kv2-command-2));
}

body.kv2-police-admin .main-header .logo {
  height: 54px;
  line-height: 54px;
  background: linear-gradient(135deg, var(--kv2-navy), var(--kv2-navy-2)) !important;
  border: 0;
  color: #fff !important;
  font-weight: 800;
  letter-spacing: .02em;
}

body.kv2-police-admin .main-header .navbar {
  min-height: 54px;
  background: linear-gradient(135deg, #0d253f, #102e4a) !important;
  border: 0;
  box-shadow: none;
}

body.kv2-police-admin .main-header .navbar .nav > li > a {
  color: #eef6ff !important;
  min-height: 38px;
  margin: 8px 5px;
  padding: 9px 12px;
  border-radius: 6px !important;
  font-weight: 650;
  text-decoration: none;
}

body.kv2-police-admin .main-header .navbar .nav > li > a:hover,
body.kv2-police-admin .main-header .navbar .nav > li > a:focus,
body.kv2-police-admin .main-header .navbar .open > a {
  background: rgba(255, 255, 255, .12) !important;
  transform: none;
}

body.kv2-police-admin .main-header .user-image {
  width: 28px;
  height: 28px;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, .62);
}

body.kv2-police-admin .navbar-nav > .user-menu > .dropdown-menu {
  min-width: 280px;
  background: #fff !important;
  border: 1px solid var(--kv2-line) !important;
  border-radius: var(--kv2-radius) !important;
  box-shadow: var(--kv2-shadow) !important;
}

body.kv2-police-admin .navbar-nav > .user-menu > .dropdown-menu > li.user-header {
  background: linear-gradient(135deg, var(--kv2-navy), var(--kv2-navy-2)) !important;
}

body.kv2-police-admin .navbar-nav > .user-menu > .dropdown-menu > li.user-header p,
body.kv2-police-admin .navbar-nav > .user-menu > .dropdown-menu > li.user-header small {
  color: #fff !important;
}

body.kv2-police-admin .kv2-hnav,
body.kv2-police-admin .kv2-menubar {
  position: sticky;
  top: 57px;
  z-index: 1030;
  background: #fff !important;
  border-top: 0;
  border-bottom: 1px solid var(--kv2-line);
  box-shadow: var(--kv2-shadow-soft);
}

body.kv2-police-admin .kv2-hnav-list,
body.kv2-police-admin .kv2-hmenu {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 4px;
  min-height: 48px;
  margin: 0;
  padding: 6px 10px;
  list-style: none;
}

body.kv2-police-admin .kv2-hnav-list > li,
body.kv2-police-admin .kv2-hmenu > li {
  position: relative;
}

body.kv2-police-admin .kv2-hnav-list > li > a,
body.kv2-police-admin .kv2-hmenu > li > a {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 8px 11px;
  color: #16314f !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.25;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

body.kv2-police-admin .kv2-hnav-list > li > a:hover,
body.kv2-police-admin .kv2-hmenu > li > a:hover,
body.kv2-police-admin .kv2-hnav-list > li.is-open > a,
body.kv2-police-admin .kv2-hmenu > li.is-open > a {
  color: var(--kv2-command) !important;
  background: #eaf3fb !important;
  border-color: #c8dceb !important;
}

body.kv2-police-admin .kv2-hnav-list > li.active > a,
body.kv2-police-admin .kv2-hmenu > li.active > a {
  color: #fff !important;
  background: linear-gradient(135deg, var(--kv2-command), var(--kv2-command-2)) !important;
  border-color: transparent !important;
  box-shadow: 0 6px 14px rgba(23, 95, 156, .2);
}

body.kv2-police-admin .kv2-hnav-list > li.kv2-dropdown > a::after {
  content: "";
  width: 0;
  height: 0;
  margin-left: 1px;
  border-top: 4px solid currentColor;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  opacity: .75;
}

body.kv2-police-admin .caret {
  border-top-color: currentColor;
}

body.kv2-police-admin .kv2-dropdown-menu,
body.kv2-police-admin .kv2-hmenu .dropdown-menu {
  min-width: 282px;
  margin-top: 4px;
  padding: 6px;
  background: #fff !important;
  border: 1px solid var(--kv2-line) !important;
  border-radius: var(--kv2-radius) !important;
  box-shadow: var(--kv2-shadow) !important;
}

body.kv2-police-admin .kv2-dropdown:hover > .kv2-dropdown-menu,
body.kv2-police-admin .kv2-dropdown.is-open > .kv2-dropdown-menu,
body.kv2-police-admin .kv2-hmenu > li.dropdown:hover > .dropdown-menu,
body.kv2-police-admin .kv2-hmenu > li.dropdown.is-open > .dropdown-menu {
  display: block;
}

body.kv2-police-admin .kv2-dropdown-menu > li > a,
body.kv2-police-admin .kv2-hmenu .dropdown-menu > li > a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  color: var(--kv2-ink) !important;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}

body.kv2-police-admin .kv2-dropdown-menu > li > a:hover,
body.kv2-police-admin .kv2-dropdown-menu > li.active > a,
body.kv2-police-admin .kv2-hmenu .dropdown-menu > li > a:hover,
body.kv2-police-admin .kv2-hmenu .dropdown-menu > li.active > a {
  color: var(--kv2-command) !important;
  background: #eaf3fb !important;
}

body.kv2-police-admin .kv2-dropdown-menu i.fa,
body.kv2-police-admin .kv2-hmenu .dropdown-menu i.fa {
  width: 15px;
  color: var(--kv2-command-2);
}

body.kv2-police-admin .content-wrapper,
body.kv2-police-admin .right-side,
body.kv2-police-admin .main-footer {
  margin-left: 0 !important;
  background: var(--kv2-page) !important;
  color: var(--kv2-ink) !important;
}

body.kv2-police-admin .content-wrapper {
  min-height: calc(100vh - 105px);
  padding-top: 14px;
}

body.kv2-police-admin .content {
  padding: 14px;
}

body.kv2-police-admin .content-header {
  margin: 0 14px 10px;
  padding: 14px 0 4px;
}

body.kv2-police-admin .content-header > h1,
body.kv2-police-admin .page-title {
  color: var(--kv2-ink) !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

body.kv2-police-admin .content-header small,
body.kv2-police-admin .page-subtitle {
  color: var(--kv2-muted) !important;
}

body.kv2-police-admin .breadcrumb {
  background: transparent;
  padding: 0;
  margin: 6px 0 0;
  color: var(--kv2-muted);
}

body.kv2-police-admin .box,
body.kv2-police-admin .card,
body.kv2-police-admin .search-card,
body.kv2-standalone-admin .container {
  background: var(--kv2-panel) !important;
  border: 1px solid var(--kv2-line) !important;
  border-radius: var(--kv2-radius) !important;
  box-shadow: var(--kv2-shadow-soft) !important;
  color: var(--kv2-ink) !important;
}

body.kv2-police-admin .box {
  overflow: visible;
}

body.kv2-police-admin .box-header.with-border,
body.kv2-police-admin .card-header {
  background: #f7fafc !important;
  border-bottom: 1px solid var(--kv2-line) !important;
  border-radius: var(--kv2-radius) var(--kv2-radius) 0 0;
}

body.kv2-police-admin .box-title,
body.kv2-police-admin .card-title {
  color: var(--kv2-ink) !important;
  font-size: 16px;
  font-weight: 800;
}

body.kv2-police-admin .box-body,
body.kv2-police-admin .box-footer {
  color: var(--kv2-ink);
}

body.kv2-police-admin .box-footer,
body.kv2-police-admin .main-footer {
  border-top: 1px solid var(--kv2-line);
}

body.kv2-police-admin .main-footer {
  padding: 12px 16px;
  color: var(--kv2-muted) !important;
}

body.kv2-police-admin .table {
  width: 100%;
  color: var(--kv2-ink) !important;
  background: #fff;
  margin-bottom: 0;
}

body.kv2-police-admin .table > thead > tr > th,
body.kv2-police-admin .table thead th {
  color: #fff !important;
  background: linear-gradient(180deg, #173a5c, #102f4c) !important;
  border-color: #274d72 !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .01em;
  vertical-align: middle;
}

body.kv2-police-admin .table > tbody > tr > td,
body.kv2-police-admin .table tbody td {
  color: var(--kv2-ink) !important;
  border-color: #e5ebf2 !important;
  vertical-align: middle;
}

body.kv2-police-admin .table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: #fbfdff !important;
}

body.kv2-police-admin .table-hover > tbody > tr:hover > * {
  background-color: #eaf3fb !important;
}

body.kv2-police-admin .table-responsive {
  border: 0;
  border-radius: var(--kv2-radius);
}

body.kv2-police-admin .form-control,
body.kv2-police-admin .select2-container--default .select2-selection--single,
body.kv2-standalone-admin .form-control {
  min-height: 38px;
  color: var(--kv2-ink) !important;
  background: #fff !important;
  border: 1px solid #cbd7e4 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

body.kv2-police-admin textarea.form-control {
  min-height: auto;
}

body.kv2-police-admin .form-control:focus,
body.kv2-standalone-admin .form-control:focus {
  border-color: var(--kv2-command) !important;
  box-shadow: 0 0 0 3px rgba(23, 95, 156, .14) !important;
}

body.kv2-police-admin label,
body.kv2-police-admin .control-label {
  color: #1f344d !important;
  font-weight: 700;
}

body.kv2-police-admin .help-block,
body.kv2-police-admin .field-note,
body.kv2-police-admin .hint {
  color: var(--kv2-muted) !important;
}

body.kv2-police-admin .btn {
  border-radius: 6px !important;
  font-weight: 750;
  letter-spacing: 0;
  transform: none !important;
  box-shadow: none !important;
}

body.kv2-police-admin .btn-primary,
body.kv2-auth-page .btn-primary,
body.kv2-doc-page .btn-primary,
body.kv2-standalone-admin .btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, var(--kv2-command), #124f82) !important;
  border-color: #124f82 !important;
}

body.kv2-police-admin .btn-success {
  background: var(--kv2-green) !important;
  border-color: var(--kv2-green) !important;
}

body.kv2-police-admin .btn-warning {
  color: #1f2937 !important;
  background: #f4b740 !important;
  border-color: #e0a328 !important;
}

body.kv2-police-admin .btn-danger {
  background: var(--kv2-red) !important;
  border-color: var(--kv2-red) !important;
}

body.kv2-police-admin .btn-default,
body.kv2-police-admin .btn-outline-secondary {
  color: #1f344d !important;
  background: #f8fafc !important;
  border-color: #cbd7e4 !important;
}

body.kv2-police-admin .label,
body.kv2-police-admin .badge {
  border-radius: 999px;
  font-weight: 800;
}

body.kv2-police-admin .small-box,
body.kv2-police-admin .info-box,
body.kv2-police-admin .stat-card,
body.kv2-police-admin .chart-card {
  border-radius: var(--kv2-radius) !important;
  border: 1px solid var(--kv2-line);
  box-shadow: var(--kv2-shadow-soft);
}

body.kv2-police-admin .modal-content {
  color: var(--kv2-ink) !important;
  background: #fff !important;
  border: 1px solid var(--kv2-line) !important;
  border-radius: var(--kv2-radius) !important;
  box-shadow: var(--kv2-shadow) !important;
}

body.kv2-police-admin .modal.in .modal-dialog .modal-content,
body.kv2-police-admin .modal.show .modal-dialog .modal-content {
  color: var(--kv2-ink) !important;
  background: #fff !important;
  border: 1px solid var(--kv2-line) !important;
  border-radius: var(--kv2-radius) !important;
  box-shadow: var(--kv2-shadow) !important;
}

body.kv2-police-admin .modal-header,
body.kv2-police-admin .modal.in .modal-dialog .modal-header,
body.kv2-police-admin .modal.show .modal-dialog .modal-header {
  color: #fff !important;
  background: linear-gradient(135deg, var(--kv2-navy), var(--kv2-navy-2)) !important;
  border-bottom: 3px solid var(--kv2-gold) !important;
}

body.kv2-police-admin .modal-title,
body.kv2-police-admin .modal-header h4 {
  color: #fff !important;
  font-weight: 800 !important;
}

body.kv2-police-admin .modal-body,
body.kv2-police-admin .modal-footer,
body.kv2-police-admin .modal.in .modal-dialog .modal-body,
body.kv2-police-admin .modal.in .modal-dialog .modal-footer,
body.kv2-police-admin .modal.show .modal-dialog .modal-body,
body.kv2-police-admin .modal.show .modal-dialog .modal-footer {
  color: var(--kv2-ink) !important;
  background: #fff !important;
}

body.kv2-police-admin .modal-header .close {
  color: #fff !important;
  opacity: .9;
}

body.kv2-police-admin .pagination > li > a,
body.kv2-police-admin .pagination > li > span {
  color: var(--kv2-command);
  border-color: var(--kv2-line);
}

body.kv2-police-admin .pagination > .active > a,
body.kv2-police-admin .pagination > .active > span {
  color: #fff;
  background: var(--kv2-command);
  border-color: var(--kv2-command);
}

body.kv2-auth-page {
  min-height: 100vh;
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.78)),
    linear-gradient(135deg, #0b1f35, #175f9c) !important;
}

body.kv2-auth-page .auth-shell,
body.kv2-auth-page .auth-container,
body.kv2-auth-page .auth-card {
  background: #fff !important;
  border-radius: var(--kv2-radius) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow: 0 24px 70px rgba(11, 31, 53, .22) !important;
}

body.kv2-auth-page .auth-inner,
body.kv2-auth-page .form-side,
body.kv2-auth-page .form-wrap,
body.kv2-auth-page .auth-body {
  background: #fff !important;
  color: var(--kv2-ink) !important;
}

body.kv2-auth-page .hero-side,
body.kv2-auth-page .hero,
body.kv2-auth-page .auth-header {
  background: linear-gradient(135deg, var(--kv2-navy), var(--kv2-command)) !important;
  color: #fff !important;
}

body.kv2-auth-page .hero-side *,
body.kv2-auth-page .hero *,
body.kv2-auth-page .auth-header,
body.kv2-auth-page .auth-header * {
  color: #fff !important;
}

body.kv2-auth-page .auth-title,
body.kv2-auth-page .form-label {
  color: var(--kv2-ink) !important;
}

body.kv2-auth-page .form-side .auth-title,
body.kv2-auth-page .auth-body .auth-title,
body.kv2-auth-page .form-wrap .auth-title,
body.kv2-auth-page .form-side .form-label,
body.kv2-auth-page .auth-body .form-label,
body.kv2-auth-page .form-wrap .form-label {
  color: var(--kv2-ink) !important;
}

body.kv2-auth-page .form-control {
  border-radius: 6px !important;
}

body.kv2-auth-page .auth-shell {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}

body.kv2-auth-page .auth-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  overflow: hidden;
  border-radius: var(--kv2-radius);
}

body.kv2-auth-page .hero-side {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 540px;
  padding: 30px;
  border-right: 1px solid rgba(255,255,255,.18);
}

body.kv2-auth-page .hero-badge,
body.kv2-auth-page .hero-badge-tenant {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  padding: 6px 12px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  font-size: 12px;
  font-weight: 750;
}

body.kv2-auth-page .hero-badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--kv2-gold);
  box-shadow: 0 0 0 4px rgba(213,155,27,.18);
}

body.kv2-auth-page .hero-title {
  margin: 18px 0 10px;
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 850;
  line-height: 1.06;
  letter-spacing: 0;
}

body.kv2-auth-page .hero-kv {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 22px;
}

body.kv2-auth-page .hero-kv .kv-pill {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  font-size: 12px;
  font-weight: 750;
}

body.kv2-auth-page .hero-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.kv2-auth-page .hero-list li {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: start;
}

body.kv2-auth-page .hero-list-icon,
body.kv2-auth-page .hero-logo-mini,
body.kv2-auth-page .brand .dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-weight: 850;
}

body.kv2-auth-page .hero-footer {
  margin-top: 28px;
}

body.kv2-auth-page .form-side,
body.kv2-auth-page .auth-body,
body.kv2-auth-page .form-wrap {
  padding: 28px;
}

body.kv2-auth-page .form-brand,
body.kv2-auth-page .brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
}

body.kv2-auth-page .form-brand-text-title,
body.kv2-auth-page .auth-title {
  color: var(--kv2-ink) !important;
  font-size: 22px;
  font-weight: 850;
}

body.kv2-auth-page .form-brand-text-sub,
body.kv2-auth-page .auth-sub,
body.kv2-auth-page .helper,
body.kv2-auth-page .copyright,
body.kv2-auth-page footer.small,
body.kv2-auth-page .small-muted {
  color: var(--kv2-muted) !important;
}

body.kv2-auth-page .auth-container,
body.kv2-auth-page .auth-card {
  width: 100%;
  max-width: 880px;
  margin: 48px auto;
  overflow: hidden;
}

body.kv2-auth-page .auth-container {
  max-width: 430px;
}

body.kv2-auth-page .auth-header {
  padding: 20px 22px;
}

body.kv2-auth-page .input-wrap,
body.kv2-auth-page .input-icon {
  position: relative;
}

body.kv2-auth-page .input-wrap .fa,
body.kv2-auth-page .input-icon > i:first-child {
  position: absolute;
  top: 50%;
  left: 12px;
  z-index: 3;
  transform: translateY(-50%);
  color: var(--kv2-muted) !important;
  pointer-events: none;
}

body.kv2-auth-page .input-wrap .form-control,
body.kv2-auth-page .input-icon .form-control {
  padding-left: 38px;
}

body.kv2-auth-page .toggle-pass,
body.kv2-auth-page .pw-toggle,
body.kv2-auth-page .toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 38px;
  color: var(--kv2-command) !important;
  background: #eef5fb !important;
  border: 1px solid #cbd7e4 !important;
  border-radius: 6px !important;
  cursor: pointer;
}

body.kv2-auth-page .pw-toggle {
  position: absolute;
  top: 50%;
  right: 8px;
  z-index: 4;
  transform: translateY(-50%);
}

body.kv2-auth-page .captcha-box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

body.kv2-auth-page .captcha-img {
  min-width: 128px;
  min-height: 44px;
  object-fit: contain;
  border: 1px solid #cbd7e4;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
}

body.kv2-auth-page .strength {
  height: 8px;
  overflow: hidden;
  background: #e5ebf2;
  border-radius: 999px;
}

body.kv2-auth-page .strength > div {
  height: 100%;
  width: 0;
  transition: width .25s ease;
}

body.kv2-police-admin .form-inline .form-group {
  margin-right: 10px;
  margin-bottom: 8px;
}

body.kv2-police-admin .avatar {
  width: 34px;
  height: 34px;
  object-fit: cover;
  border: 1px solid #d8e0ea;
  border-radius: 50%;
  background: #f3f6f9;
}

body.kv2-police-admin .badge.ok {
  color: #065f46;
  border: 1px solid #a7f3d0;
  background: #ecfdf5;
}

body.kv2-police-admin .badge.no {
  color: #7f1d1d;
  border: 1px solid #fecaca;
  background: #fef2f2;
}

body.kv2-police-admin .help {
  margin-top: 4px;
  color: var(--kv2-muted);
  font-size: 12px;
}

body.kv2-police-admin .modal > .panel {
  width: 560px;
  max-width: 94vw;
  margin: 7vh auto;
  padding: 16px;
  color: var(--kv2-ink);
  background: #fff;
  border: 1px solid var(--kv2-line);
  border-radius: var(--kv2-radius);
  box-shadow: var(--kv2-shadow);
}

body.kv2-police-admin .modal > .panel h3 {
  margin: 0 0 12px;
  color: var(--kv2-ink);
  font-weight: 850;
}

body.kv2-police-admin .modal > .panel .row {
  display: flex;
  gap: 10px;
}

body.kv2-police-admin .modal > .panel .row .col {
  flex: 1;
}

body.kv2-police-admin .modal > .panel .actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 12px;
}

@media (max-width: 820px) {
  body.kv2-auth-page .auth-inner {
    grid-template-columns: 1fr;
  }

  body.kv2-auth-page .hero-side {
    min-height: auto;
    padding: 24px;
  }
}

@media (max-width: 560px) {
  body.kv2-auth-page .form-side,
  body.kv2-auth-page .auth-body,
  body.kv2-auth-page .form-wrap {
    padding: 20px;
  }

  body.kv2-police-admin .modal > .panel .row {
    display: block;
  }
}

body.kv2-doc-page {
  background: var(--kv2-page) !important;
}

body.kv2-doc-page .card,
body.kv2-doc-page .card-doc {
  border: 1px solid var(--kv2-line) !important;
  border-radius: var(--kv2-radius) !important;
  box-shadow: var(--kv2-shadow-soft) !important;
}

body.kv2-standalone-admin {
  padding: 24px 12px;
}

body.kv2-standalone-admin .container {
  max-width: 1180px;
  padding: 18px;
}

body.kv2-police-admin .kv2-ui-scroll-shadow {
  box-shadow: 0 8px 24px rgba(11, 31, 53, .18);
}

@media (max-width: 991.98px) {
  body.kv2-police-admin .main-header {
    position: relative;
  }

  body.kv2-police-admin .kv2-hnav,
  body.kv2-police-admin .kv2-menubar {
    top: 0;
    overflow-x: auto;
  }

  body.kv2-police-admin .kv2-hnav-list,
  body.kv2-police-admin .kv2-hmenu {
    flex-wrap: nowrap;
    min-width: max-content;
    padding-bottom: 8px;
  }

  body.kv2-police-admin .kv2-dropdown-menu,
  body.kv2-police-admin .kv2-hmenu .dropdown-menu {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: auto !important;
    min-width: 0;
    max-height: 70vh;
    overflow: auto;
  }

  body.kv2-police-admin .content {
    padding: 10px;
  }

  body.kv2-police-admin .content-header {
    margin: 0 10px 8px;
  }
}

@media (max-width: 767.98px) {
  body.kv2-police-admin .main-header .logo,
  body.kv2-police-admin .main-header .navbar {
    width: 100% !important;
    margin-left: 0 !important;
  }

  body.kv2-police-admin .main-header .navbar-custom-menu {
    float: none;
  }

  body.kv2-police-admin .main-header .navbar .nav > li > a {
    margin: 6px 3px;
    padding: 8px 9px;
  }
}

/* ===== KV2 police vertical sidebar ===== */
:root {
  --kv2-sidebar-width: 292px;
  --kv2-topbar-height: 57px;
  --kv2-sidebar-bg: #071727;
  --kv2-sidebar-bg-2: #0c253c;
  --kv2-sidebar-line: rgba(217, 183, 92, .24);
}

body.kv2-police-admin.kv2-sidebar-layout .main-header {
  position: sticky !important;
  top: 0;
  z-index: 1060;
}

body.kv2-police-admin.kv2-sidebar-layout .main-header .logo {
  width: var(--kv2-sidebar-width) !important;
  height: 54px;
  line-height: 54px;
  padding: 0 18px;
  text-align: left;
  background:
    linear-gradient(135deg, #071727 0%, #0e2a44 62%, #133857 100%) !important;
  box-shadow: inset 0 -3px 0 var(--kv2-gold);
}

body.kv2-police-admin.kv2-sidebar-layout .main-header .logo .logo-lg {
  font-weight: 850;
  letter-spacing: 0;
}

body.kv2-police-admin.kv2-sidebar-layout .main-header .navbar {
  display: flex;
  align-items: center;
  min-height: 54px;
  margin-left: var(--kv2-sidebar-width) !important;
  padding: 0 12px;
}

body.kv2-police-admin.kv2-sidebar-layout .main-header .navbar-custom-menu {
  float: none;
  margin-left: auto;
}

body.kv2-police-admin.kv2-sidebar-layout .main-header .navbar-nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-sidebar-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-right: 10px;
  color: #fff !important;
  background: rgba(255, 255, 255, .12) !important;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  text-decoration: none;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-sidebar-toggle:hover,
body.kv2-police-admin.kv2-sidebar-layout .kv2-sidebar-toggle:focus {
  background: rgba(255, 255, 255, .2) !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-topbar-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  color: #fff;
  line-height: 1.15;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-topbar-kicker {
  color: #ffd98a;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-topbar-title strong {
  max-width: 44vw;
  overflow: hidden;
  color: #f8fbff;
  font-size: 15px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-nav {
  position: fixed;
  top: var(--kv2-topbar-height);
  bottom: 0;
  left: 0;
  z-index: 1045;
  display: flex;
  flex-direction: column;
  width: var(--kv2-sidebar-width);
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .06), transparent 130px),
    linear-gradient(180deg, var(--kv2-sidebar-bg-2), var(--kv2-sidebar-bg) 62%, #06111e);
  border-right: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 14px 0 34px rgba(6, 17, 30, .22);
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 16px 14px;
  color: #fff;
  border-bottom: 1px solid var(--kv2-sidebar-line);
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-emblem {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  color: #10243a;
  font-size: 14px;
  font-weight: 900;
  background: linear-gradient(145deg, #fff2c2, var(--kv2-gold));
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, .08);
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-brand strong,
body.kv2-police-admin.kv2-sidebar-layout .kv2-side-brand span {
  display: block;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-brand strong {
  font-size: 16px;
  font-weight: 850;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-brand span {
  margin-top: 2px;
  color: rgba(255, 236, 190, .82);
  font-size: 12px;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu {
  display: block !important;
  flex: 1 1 auto;
  min-height: 0;
  margin: 0;
  padding: 10px 10px 14px;
  overflow-x: hidden;
  overflow-y: auto;
  list-style: none;
  scrollbar-color: rgba(217, 183, 92, .55) transparent;
  scrollbar-width: thin;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu::-webkit-scrollbar {
  width: 8px;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu::-webkit-scrollbar-thumb {
  background: rgba(217, 183, 92, .5);
  border-radius: 999px;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li {
  position: relative;
  display: block;
  margin: 4px 0;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li > a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 8px 12px 8px 10px;
  color: #eaf4ff !important;
  background: rgba(255, 255, 255, .045) !important;
  border: 1px solid rgba(255, 255, 255, .07) !important;
  border-radius: 8px !important;
  text-decoration: none;
  box-shadow: none !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li > a > i.fa:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  color: #ffd98a !important;
  background: rgba(217, 183, 92, .12);
  border: 1px solid rgba(217, 183, 92, .18);
  border-radius: 8px;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li > a span {
  flex: 1 1 auto;
  min-width: 0;
  color: inherit;
  font-size: 13px;
  font-weight: 760;
  line-height: 1.25;
  white-space: normal;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li > a:hover,
body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li > a:focus,
body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li.is-open > a {
  color: #fff !important;
  background: rgba(255, 255, 255, .105) !important;
  border-color: rgba(217, 183, 92, .34) !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li.active > a {
  color: #fff !important;
  background:
    linear-gradient(135deg, rgba(132, 24, 31, .98), rgba(183, 39, 48, .96)) !important;
  border-color: rgba(255, 214, 124, .45) !important;
  box-shadow: 0 10px 22px rgba(132, 24, 31, .28) !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li.active > a > i.fa:first-child {
  color: #10243a !important;
  background: linear-gradient(145deg, #fff4cb, var(--kv2-gold));
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li.kv2-dropdown > a::after {
  content: "\f105";
  width: auto;
  height: auto;
  margin-left: 4px;
  color: rgba(255, 236, 190, .8);
  font-family: FontAwesome;
  font-size: 13px;
  border: 0;
  transform: none;
  transition: transform .18s ease;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li.active > a::after,
body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li.is-open > a::after {
  transform: rotate(90deg);
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu .kv2-dropdown-menu {
  position: static !important;
  display: none !important;
  min-width: 0 !important;
  margin: 5px 0 8px 42px !important;
  padding: 5px !important;
  background: rgba(2, 11, 22, .34) !important;
  border: 1px solid rgba(255, 255, 255, .07) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  list-style: none;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li.active > .kv2-dropdown-menu,
body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li.is-open > .kv2-dropdown-menu {
  display: block !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu .kv2-dropdown-menu > li > a {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 9px;
  color: rgba(239, 247, 255, .86) !important;
  background: transparent !important;
  border-radius: 6px;
  font-size: 12.5px;
  line-height: 1.25;
  text-decoration: none;
  white-space: normal;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu .kv2-dropdown-menu > li > a i.fa {
  width: 15px;
  flex: 0 0 15px;
  color: rgba(255, 217, 138, .9) !important;
  padding-top: 1px;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu .kv2-dropdown-menu > li > a:hover,
body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu .kv2-dropdown-menu > li.active > a {
  color: #fff !important;
  background: rgba(255, 255, 255, .1) !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-foot {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 14px;
  color: rgba(255, 236, 190, .82);
  font-size: 12px;
  border-top: 1px solid var(--kv2-sidebar-line);
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-foot i {
  color: var(--kv2-gold);
}

body.kv2-police-admin.kv2-sidebar-layout .content-wrapper,
body.kv2-police-admin.kv2-sidebar-layout .right-side,
body.kv2-police-admin.kv2-sidebar-layout .main-footer {
  margin-left: var(--kv2-sidebar-width) !important;
}

body.kv2-police-admin.kv2-sidebar-layout .content-wrapper {
  min-height: calc(100vh - var(--kv2-topbar-height));
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-sidebar-backdrop {
  display: none;
}

@media (max-width: 991.98px) {
  body.kv2-police-admin.kv2-sidebar-layout .main-header {
    position: sticky !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .logo,
  body.kv2-police-admin.kv2-sidebar-layout .main-header .navbar {
    width: 100% !important;
    margin-left: 0 !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .logo {
    float: none;
    height: 50px;
    line-height: 50px;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .navbar {
    min-height: 52px;
  }

  body.kv2-police-admin.kv2-sidebar-layout .kv2-sidebar-toggle {
    display: inline-flex;
    flex: 0 0 38px;
  }

  body.kv2-police-admin.kv2-sidebar-layout .kv2-topbar-title strong {
    max-width: 52vw;
  }

  body.kv2-police-admin.kv2-sidebar-layout .kv2-side-nav {
    top: 0;
    width: min(86vw, 320px);
    z-index: 1120;
    transform: translateX(-104%);
    transition: transform .22s ease;
  }

  body.kv2-police-admin.kv2-sidebar-layout.kv2-sidebar-open .kv2-side-nav {
    transform: translateX(0);
  }

  body.kv2-police-admin.kv2-sidebar-layout .kv2-sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1110;
    display: block;
    pointer-events: none;
    background: rgba(2, 11, 22, .58);
    opacity: 0;
    transition: opacity .2s ease;
  }

  body.kv2-police-admin.kv2-sidebar-layout.kv2-sidebar-open .kv2-sidebar-backdrop {
    pointer-events: auto;
    opacity: 1;
  }

  body.kv2-police-admin.kv2-sidebar-layout.kv2-sidebar-open {
    overflow: hidden;
  }

  body.kv2-police-admin.kv2-sidebar-layout .content-wrapper,
  body.kv2-police-admin.kv2-sidebar-layout .right-side,
  body.kv2-police-admin.kv2-sidebar-layout .main-footer {
    margin-left: 0 !important;
  }
}

@media (max-width: 767.98px) {
  body.kv2-police-admin.kv2-sidebar-layout .main-header .navbar-custom-menu {
    flex: 1 1 auto;
    min-width: 0;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .navbar-nav {
    justify-content: flex-end;
    width: 100%;
  }

  body.kv2-police-admin.kv2-sidebar-layout .kv2-topbar-title {
    display: none;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .navbar .nav > li > a {
    margin: 6px 2px;
    padding: 8px 8px;
  }
}

/* ===== KV2 dashboard notifications and operational stats ===== */
body.kv2-police-admin .dashboard-notice-panel {
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-left: 4px solid #14b8a6;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(8, 47, 73, .92), rgba(15, 23, 42, .95));
  box-shadow: 0 14px 32px rgba(2, 6, 23, .28);
  color: #e5f3ff;
}

body.kv2-police-admin .dashboard-notice-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

body.kv2-police-admin .dashboard-notice-head h4 {
  margin: 0 0 4px;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 0;
  color: #f8fafc;
}

body.kv2-police-admin .dashboard-notice-head p {
  margin: 0;
  color: #b6c7d8;
}

body.kv2-police-admin .dashboard-notice-actions {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

body.kv2-police-admin .dashboard-notice-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

body.kv2-police-admin .dashboard-notice-item,
body.kv2-police-admin .dashboard-notice-empty {
  display: flex;
  gap: 10px;
  min-height: 88px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .20);
  border-radius: 8px;
  background: rgba(255, 255, 255, .055);
  color: #e5f3ff;
  text-decoration: none;
}

body.kv2-police-admin .dashboard-notice-item:hover {
  border-color: rgba(45, 212, 191, .55);
  background: rgba(20, 184, 166, .12);
  color: #fff;
}

body.kv2-police-admin .dashboard-notice-empty {
  grid-column: 1 / -1;
  align-items: center;
  color: #cbd5e1;
}

body.kv2-police-admin .notice-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: #0ea5e9;
  color: #fff;
}

body.kv2-police-admin .notice-dot.is-pinned {
  background: #f59e0b;
  color: #111827;
}

body.kv2-police-admin .notice-copy {
  min-width: 0;
}

body.kv2-police-admin .notice-copy strong {
  display: block;
  margin-bottom: 4px;
  overflow: hidden;
  color: #f8fafc;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.kv2-police-admin .notice-copy span,
body.kv2-police-admin .notice-copy small,
body.kv2-police-admin .notice-time {
  display: block;
  color: #b6c7d8;
}

body.kv2-police-admin .notice-time {
  margin-top: 6px;
  font-size: 12px;
}

body.kv2-police-admin .ops-stats-row .stat-card {
  min-height: 132px;
  border-left: 4px solid #0ea5e9;
}

body.kv2-police-admin .ops-stats-row .stat-col:nth-child(2) .stat-card {
  border-left-color: #f59e0b;
}

body.kv2-police-admin .ops-stats-row .stat-col:nth-child(3) .stat-card {
  border-left-color: #22c55e;
}

body.kv2-police-admin .ops-stats-row .stat-col:nth-child(4) .stat-card {
  border-left-color: #38bdf8;
}

body.kv2-police-admin .ops-stats-row .stat-col:nth-child(5) .stat-card {
  border-left-color: #ef4444;
}

body.kv2-police-admin .ops-stats-row .stat-col:nth-child(6) .stat-card {
  border-left-color: #6366f1;
}

body.kv2-police-admin .notifications-menu .dropdown-menu {
  width: min(360px, 92vw);
  padding: 0;
  border: 1px solid rgba(148, 163, 184, .25);
  border-radius: 8px;
  box-shadow: 0 18px 45px rgba(2, 6, 23, .26);
}

body.kv2-police-admin .notifications-menu .dropdown-menu > .header {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(148, 163, 184, .18);
  color: #0f172a;
  font-weight: 800;
}

body.kv2-police-admin .notifications-menu .dropdown-menu .menu > li > a {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 58px;
  padding: 10px 14px;
  white-space: normal;
}

body.kv2-police-admin .notifications-menu .dropdown-menu .menu > li > a > i {
  margin-top: 3px;
}

body.kv2-police-admin .notifications-menu .dropdown-menu .menu > li > a span {
  display: block;
  min-width: 0;
  color: #0f172a;
}

body.kv2-police-admin .notifications-menu .dropdown-menu .menu > li > a strong,
body.kv2-police-admin .notifications-menu .dropdown-menu .menu > li > a small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.kv2-police-admin .notifications-menu .dropdown-menu .menu > li > a strong {
  color: #0f172a;
  font-size: 13px;
  white-space: nowrap;
}

body.kv2-police-admin .notifications-menu .dropdown-menu .menu > li > a small {
  margin-top: 3px;
  color: #64748b;
  font-size: 12px;
  white-space: normal;
}

body.kv2-police-admin .notifications-menu .dropdown-menu > .footer {
  display: flex;
  border-top: 1px solid rgba(148, 163, 184, .18);
}

body.kv2-police-admin .notifications-menu .dropdown-menu > .footer a {
  flex: 1 1 0;
  padding: 10px 12px;
  color: #0369a1;
  font-weight: 700;
}

@media (max-width: 1199.98px) {
  body.kv2-police-admin .dashboard-notice-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  body.kv2-police-admin .dashboard-notice-head {
    display: block;
  }

  body.kv2-police-admin .dashboard-notice-actions {
    justify-content: flex-start;
    margin-top: 10px;
  }

  body.kv2-police-admin .dashboard-notice-list {
    grid-template-columns: 1fr;
  }
}

/* ===== Unified police administration surfaces ===== */
body.kv2-police-admin.kv2-sidebar-layout .content-wrapper,
body.kv2-police-admin.kv2-sidebar-layout .right-side {
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.72)),
    linear-gradient(135deg, #e8f0f7 0%, #f6f9fc 48%, #eaf3fb 100%) !important;
  color: var(--kv2-ink) !important;
}

body.kv2-police-admin .dashboard-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: stretch;
  margin: 8px 0 18px;
  padding: 18px 20px;
  position: relative;
  overflow: hidden;
  color: #f8fafc !important;
  background:
    linear-gradient(135deg, rgba(11,31,53,.96), rgba(23,95,156,.92)),
    #0b1f35 !important;
  border: 1px solid rgba(17, 74, 121, .42) !important;
  border-radius: var(--kv2-radius) !important;
  box-shadow: var(--kv2-shadow-soft) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.kv2-police-admin .dashboard-hero::before {
  display: none !important;
}

body.kv2-police-admin .dashboard-hero-left h3 {
  color: #fff !important;
  font-family: var(--kv2-font) !important;
  font-size: clamp(20px, 2.2vw, 28px);
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

body.kv2-police-admin .dashboard-hero-left p {
  max-width: 720px;
  color: #d8e9f8 !important;
  font-family: var(--kv2-font) !important;
}

body.kv2-police-admin .dashboard-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  align-content: center;
  align-items: center;
}

body.kv2-police-admin .hero-badge {
  color: #0f2f4f !important;
  background: #fff !important;
  border: 1px solid rgba(203, 215, 228, .9) !important;
  border-radius: var(--kv2-radius) !important;
  box-shadow: 0 8px 18px rgba(2, 6, 23, .14) !important;
}

body.kv2-police-admin .hero-badge i {
  color: var(--kv2-command) !important;
}

body.kv2-police-admin .hero-badge-link:hover,
body.kv2-police-admin .hero-badge-link:focus {
  color: #0f2f4f !important;
  background: #f1f7fc !important;
  transform: translateY(-1px) !important;
}

body.kv2-police-admin .dashboard-notice-panel {
  color: var(--kv2-ink) !important;
  background: #fff !important;
  border: 1px solid var(--kv2-line) !important;
  border-left: 4px solid var(--kv2-command-2) !important;
  border-radius: var(--kv2-radius) !important;
  box-shadow: var(--kv2-shadow-soft) !important;
}

body.kv2-police-admin .dashboard-notice-head h4 {
  color: var(--kv2-ink) !important;
}

body.kv2-police-admin .dashboard-notice-head p,
body.kv2-police-admin .dashboard-notice-head small {
  color: var(--kv2-muted) !important;
}

body.kv2-police-admin .dashboard-notice-item,
body.kv2-police-admin .dashboard-notice-empty {
  color: var(--kv2-ink) !important;
  background: #f8fbfe !important;
  border: 1px solid #d9e5f1 !important;
  border-radius: var(--kv2-radius) !important;
}

body.kv2-police-admin .dashboard-notice-item:hover {
  background: #eaf3fb !important;
  border-color: #b8d4ea !important;
}

body.kv2-police-admin .notice-copy strong {
  color: var(--kv2-ink) !important;
}

body.kv2-police-admin .notice-copy span,
body.kv2-police-admin .notice-copy small,
body.kv2-police-admin .notice-time {
  color: var(--kv2-muted) !important;
}

body.kv2-police-admin .section-title {
  margin: 22px 0 12px;
}

body.kv2-police-admin .section-title h4 {
  color: var(--kv2-ink) !important;
  font-family: var(--kv2-font) !important;
  font-size: 18px !important;
  letter-spacing: 0 !important;
}

body.kv2-police-admin .section-title .section-note {
  color: var(--kv2-muted) !important;
  font-family: var(--kv2-font) !important;
}

body.kv2-police-admin .stats-row {
  display: flex;
  flex-wrap: wrap;
}

body.kv2-police-admin .stat-col {
  display: flex;
  margin-bottom: 18px;
}

body.kv2-police-admin .stat-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  min-height: 184px;
  padding: 20px 18px 16px;
  position: relative;
  overflow: hidden;
  color: var(--kv2-ink) !important;
  background: #fff !important;
  border: 1px solid var(--kv2-line) !important;
  border-radius: var(--kv2-radius) !important;
  box-shadow: var(--kv2-shadow-soft) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.kv2-police-admin .stat-card::before {
  display: none !important;
}

body.kv2-police-admin .stat-card::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background: var(--line-color, linear-gradient(90deg, var(--kv2-command), var(--kv2-command-2)));
}

body.kv2-police-admin .stat-card:hover {
  transform: translateY(-2px) !important;
  border-color: #b8d4ea !important;
  box-shadow: var(--kv2-shadow) !important;
}

body.kv2-police-admin .card-top,
body.kv2-police-admin .stat-footer {
  position: relative;
  z-index: 1;
}

body.kv2-police-admin .card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

body.kv2-police-admin .stat-label {
  margin-bottom: 10px;
  color: #55708b !important;
  font-family: var(--kv2-font) !important;
  letter-spacing: 0 !important;
}

body.kv2-police-admin .stat-value {
  color: #0b1f35 !important;
  font-family: var(--kv2-font) !important;
  font-size: clamp(30px, 3vw, 40px);
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

body.kv2-police-admin .stat-sub {
  margin-top: 8px;
  color: #64748b !important;
  font-family: var(--kv2-font) !important;
}

body.kv2-police-admin .stat-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  background: #eaf3fb !important;
  border: 1px solid #cfe1f1 !important;
  border-radius: var(--kv2-radius) !important;
  box-shadow: none !important;
}

body.kv2-police-admin .stat-icon {
  color: var(--kv2-command) !important;
}

body.kv2-police-admin .stat-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  color: #17466f !important;
  background: #eef6fb !important;
  border: 1px solid #d4e4f1 !important;
  border-radius: 999px !important;
}

body.kv2-police-admin .stat-link {
  color: var(--kv2-command) !important;
  font-family: var(--kv2-font) !important;
  letter-spacing: 0 !important;
}

body.kv2-police-admin .stat-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 16px;
}

body.kv2-police-admin .tone-cyan {
  --line-color: linear-gradient(90deg, #38bdf8, #175f9c);
}

body.kv2-police-admin .tone-teal {
  --line-color: linear-gradient(90deg, #14b8a6, #147a45);
}

body.kv2-police-admin .tone-gold {
  --line-color: linear-gradient(90deg, #f4b740, #d59b1b);
}

body.kv2-police-admin .tone-rose {
  --line-color: linear-gradient(90deg, #ef4444, #a8202c);
}

body.kv2-police-admin .chart-card {
  margin-top: 18px;
  padding: 18px;
  position: relative;
  overflow: hidden;
  color: var(--kv2-ink) !important;
  background: #fff !important;
  border: 1px solid var(--kv2-line) !important;
  border-radius: var(--kv2-radius) !important;
  box-shadow: var(--kv2-shadow-soft) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.kv2-police-admin .chart-card::before {
  display: none !important;
}

body.kv2-police-admin .chart-head h4 {
  color: var(--kv2-ink) !important;
  font-family: var(--kv2-font) !important;
}

body.kv2-police-admin .chart-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

body.kv2-police-admin .chart-head small {
  color: var(--kv2-muted) !important;
}

body.kv2-police-admin .chart-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 11px;
  color: #17466f !important;
  background: #eef6fb !important;
  border: 1px solid #d4e4f1 !important;
  border-radius: 999px !important;
}

body.kv2-police-admin .chart-wrap {
  position: relative;
  width: 100%;
  min-height: 300px;
}

body.kv2-police-admin .chart-wrap.chart-sm {
  min-height: 260px;
}

body.kv2-police-admin .chart-wrap canvas {
  width: 100% !important;
  height: 100% !important;
}

body.kv2-police-admin .mobile-app-nav {
  display: none;
  background: rgba(7, 23, 39, .96) !important;
  border: 1px solid rgba(217, 183, 92, .28) !important;
  border-radius: var(--kv2-radius) !important;
}

body.kv2-police-admin .mobile-app-nav a {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 8px 4px;
  color: rgba(248,250,252,.84) !important;
  text-decoration: none !important;
  border-radius: 7px;
}

body.kv2-police-admin .mobile-app-nav a.active {
  color: #fff !important;
  background: rgba(255,255,255,.12) !important;
}

body.kv2-police-admin .mobile-app-nav a span {
  max-width: 100%;
  overflow: hidden;
  font-size: 11px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  body.kv2-police-admin .dashboard-hero {
    flex-direction: column;
  }

  body.kv2-police-admin .dashboard-hero-badges {
    justify-content: flex-start;
  }

  body.kv2-police-admin .section-title {
    display: block;
  }

  body.kv2-police-admin .section-title .section-note {
    margin-top: 4px;
  }

  body.kv2-police-admin .stat-card {
    min-height: auto;
  }

  body.kv2-police-admin.kv2-sidebar-layout .content-wrapper {
    padding-bottom: 92px;
  }

  body.kv2-police-admin .mobile-app-nav {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 6px;
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 9998;
    padding: 10px 8px calc(10px + env(safe-area-inset-bottom));
  }
}

body.kv2-auth-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 24px;
  color: var(--kv2-ink) !important;
  background:
    radial-gradient(900px circle at 10% 15%, rgba(23, 95, 156, .18), transparent 45%),
    linear-gradient(135deg, #edf4fa 0%, #f8fbfe 50%, #dfeaf4 100%) !important;
}

body.kv2-auth-page .auth-shell {
  width: min(1224px, 100%);
  max-width: 1224px;
  margin: 0 auto !important;
}

body.kv2-auth-page .auth-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  overflow: hidden;
  background: #fff !important;
  border: 1px solid rgba(203, 215, 228, .95);
  border-radius: 10px !important;
  box-shadow: 0 24px 70px rgba(11, 31, 53, .18) !important;
}

body.kv2-auth-page .hero-side {
  min-height: 620px;
  padding: 38px;
  color: #fff !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0)),
    linear-gradient(135deg, #0b1f35, #175f9c) !important;
}

body.kv2-auth-page .hero-side .hero-title {
  color: #fff !important;
  font-family: var(--kv2-font) !important;
  font-size: clamp(30px, 4.4vw, 48px);
  line-height: 1.08;
}

body.kv2-auth-page .hero-side .hero-list li,
body.kv2-auth-page .hero-side .hero-kv,
body.kv2-auth-page .hero-side .hero-footer {
  color: #f1f7fc !important;
}

body.kv2-auth-page .form-side,
body.kv2-auth-page .auth-body,
body.kv2-auth-page .form-wrap {
  padding: 42px 36px;
  color: var(--kv2-ink) !important;
  background: #fff !important;
}

body.kv2-auth-page .form-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 30px;
}

body.kv2-auth-page .form-title,
body.kv2-auth-page .form-brand-text-title,
body.kv2-auth-page .auth-title {
  color: #0b1f35 !important;
  font-family: var(--kv2-font) !important;
  font-size: clamp(24px, 2.2vw, 30px);
  font-weight: 850;
  letter-spacing: 0 !important;
}

body.kv2-auth-page .form-subtitle,
body.kv2-auth-page .form-brand-text-sub,
body.kv2-auth-page .auth-sub,
body.kv2-auth-page .form-text,
body.kv2-auth-page .helper,
body.kv2-auth-page footer.small {
  color: #64748b !important;
}

body.kv2-auth-page .form-label {
  color: #102033 !important;
  font-weight: 750;
}

body.kv2-auth-page .env-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  color: #17466f !important;
  background: #eef6fb !important;
  border: 1px solid #d4e4f1 !important;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 750;
}

body.kv2-auth-page .env-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--kv2-green);
}

body.kv2-auth-page .form-control,
body.kv2-auth-page .input-group .form-control {
  min-height: 48px;
  color: #0f172a !important;
  background: #fff !important;
  border: 1px solid #cbd7e4 !important;
  border-radius: 7px !important;
  box-shadow: none !important;
}

body.kv2-auth-page .form-control::placeholder {
  color: #94a3b8 !important;
}

body.kv2-auth-page .form-control:focus {
  border-color: var(--kv2-command) !important;
  box-shadow: 0 0 0 3px rgba(23, 95, 156, .14) !important;
}

body.kv2-auth-page .toggle-btn,
body.kv2-auth-page .btn-outline-secondary {
  color: var(--kv2-command) !important;
  background: #eef6fb !important;
  border: 1px solid #cbd7e4 !important;
  box-shadow: none !important;
}

body.kv2-auth-page .btn-primary {
  min-height: 48px;
  border-radius: 7px !important;
  box-shadow: 0 12px 24px rgba(23, 95, 156, .18) !important;
}

body.kv2-auth-page .captcha-img {
  background: #fff !important;
  border: 1px solid #cbd7e4 !important;
  box-shadow: none !important;
}

@media (max-width: 820px) {
  body.kv2-auth-page {
    padding: 14px;
  }

  body.kv2-auth-page .auth-inner {
    grid-template-columns: 1fr;
  }

  body.kv2-auth-page .hero-side {
    min-height: auto;
  }
}

/* ===== UI3 readable light theme polish ===== */
body.kv2-police-admin.kv2-sidebar-layout .content-wrapper,
body.kv2-police-admin.kv2-sidebar-layout .right-side,
body.kv2-police-admin.kv2-sidebar-layout .content {
  color: #0b1f35 !important;
}

body.kv2-police-admin.kv2-sidebar-layout .content-wrapper {
  background:
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.86)),
    linear-gradient(135deg, #dceaf6 0%, #f8fbfe 46%, #eaf4fb 100%) !important;
}

body.kv2-police-admin .content-wrapper .box,
body.kv2-police-admin .content-wrapper .section,
body.kv2-police-admin .content-wrapper .panel,
body.kv2-police-admin .content-wrapper .card,
body.kv2-police-admin .content-wrapper .search-card,
body.kv2-police-admin .content-wrapper .notice,
body.kv2-police-admin .content-wrapper .callout,
body.kv2-police-admin .content-wrapper .alert {
  color: #0f172a !important;
  background: #ffffff !important;
  border-color: #cbd7e4 !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .08) !important;
}

body.kv2-police-admin .content-wrapper h1,
body.kv2-police-admin .content-wrapper h2,
body.kv2-police-admin .content-wrapper h3,
body.kv2-police-admin .content-wrapper h4,
body.kv2-police-admin .content-wrapper h5,
body.kv2-police-admin .content-wrapper h6,
body.kv2-police-admin .content-wrapper .title,
body.kv2-police-admin .content-wrapper .box-title,
body.kv2-police-admin .content-wrapper .section-title {
  color: #0b1f35 !important;
  text-shadow: none !important;
}

body.kv2-police-admin .content-wrapper p,
body.kv2-police-admin .content-wrapper small,
body.kv2-police-admin .content-wrapper .meta,
body.kv2-police-admin .content-wrapper .muted,
body.kv2-police-admin .content-wrapper .text-muted,
body.kv2-police-admin .content-wrapper .help-block,
body.kv2-police-admin .content-wrapper .form-text {
  color: #475569 !important;
}

body.kv2-police-admin .content-wrapper .form-control,
body.kv2-police-admin .content-wrapper input,
body.kv2-police-admin .content-wrapper select,
body.kv2-police-admin .content-wrapper textarea {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background-color: #fff !important;
  border-color: #94a3b8 !important;
}

body.kv2-police-admin .content-wrapper .form-control::placeholder,
body.kv2-police-admin .content-wrapper input::placeholder,
body.kv2-police-admin .content-wrapper textarea::placeholder {
  color: #64748b !important;
  opacity: 1 !important;
}

body.kv2-police-admin .content-wrapper label,
body.kv2-police-admin .content-wrapper .control-label {
  color: #102033 !important;
  font-weight: 800 !important;
}

body.kv2-police-admin .content-wrapper .btn-default,
body.kv2-police-admin .content-wrapper .btn-outline-secondary,
body.kv2-police-admin .content-wrapper .btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning) {
  color: #0f2f4f !important;
  background: #ffffff !important;
  border-color: #9fb2c8 !important;
}

body.kv2-police-admin .content-wrapper .table {
  color: #0f172a !important;
  background: #fff !important;
}

body.kv2-police-admin .content-wrapper .table tbody td {
  color: #0f172a !important;
}

body.kv2-login-page {
  align-items: flex-start;
  padding: clamp(16px, 3vh, 34px) 18px;
  background:
    radial-gradient(900px circle at 8% 10%, rgba(23,95,156,.16), transparent 42%),
    radial-gradient(760px circle at 92% 12%, rgba(20,184,166,.12), transparent 38%),
    linear-gradient(135deg, #e9f2fa 0%, #f8fbfe 52%, #eef6fb 100%) !important;
}

body.kv2-login-page .auth-shell {
  width: min(1180px, 100%);
  max-width: 1180px;
}

body.kv2-login-page .auth-inner {
  grid-template-columns: minmax(300px, .72fr) minmax(460px, 1.28fr);
  min-height: min(700px, calc(100vh - 36px));
  background: #fff !important;
  border: 1px solid #b9cadd !important;
  border-radius: 12px !important;
  box-shadow: 0 26px 70px rgba(11,31,53,.20) !important;
}

body.kv2-login-page .hero-side {
  min-height: 0;
  padding: clamp(26px, 3vw, 40px);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0)),
    linear-gradient(135deg, #0b1f35 0%, #124f82 58%, #175f9c 100%) !important;
}

body.kv2-login-page .hero-badge,
body.kv2-login-page .hero-badge-tenant {
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.38) !important;
}

body.kv2-login-page .hero-title {
  max-width: 520px;
  margin: 20px 0 14px !important;
  font-size: clamp(30px, 3.25vw, 44px) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

body.kv2-login-page .hero-kv {
  align-items: center;
  margin-bottom: 24px !important;
  color: #e8f4ff !important;
  font-size: 15px;
}

body.kv2-login-page .hero-list {
  gap: 14px;
}

body.kv2-login-page .hero-list li {
  grid-template-columns: 34px 1fr;
  color: #f3f8fd !important;
  font-size: 15px;
  line-height: 1.55;
}

body.kv2-login-page .hero-list-icon {
  width: 34px;
  height: 34px;
  background: rgba(255,255,255,.2) !important;
  border: 1px solid rgba(255,255,255,.2);
}

body.kv2-login-page .form-side {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 3.5vw, 48px);
}

body.kv2-login-page .form-header {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 16px;
  margin-bottom: 24px;
}

body.kv2-login-page .form-brand {
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 0;
}

body.kv2-login-page .form-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  color: #fff !important;
  background: linear-gradient(135deg, var(--kv2-command), #0b1f35);
  border-radius: 10px;
  font-weight: 900;
}

body.kv2-login-page .form-brand-text-title {
  color: #06172a !important;
  font-size: clamp(26px, 2.25vw, 32px) !important;
  line-height: 1.16;
  word-break: normal;
}

body.kv2-login-page .form-brand-text-sub {
  margin-top: 8px;
  color: #334155 !important;
  font-size: 16px;
}

body.kv2-login-page .env-pill {
  justify-self: end;
  min-width: 156px;
  padding: 10px 13px;
  color: #0a3622 !important;
  background: #eaf8f0 !important;
  border-color: #a7e1bf !important;
  border-radius: 999px;
  opacity: 1 !important;
  white-space: nowrap;
}

body.kv2-login-page .env-pill span {
  opacity: 1 !important;
}

body.kv2-login-page .login-form-panel {
  max-width: 680px;
}

body.kv2-login-page .form-title {
  margin: 0 0 8px;
  color: #06172a !important;
  font-size: clamp(23px, 2vw, 30px) !important;
  line-height: 1.18;
}

body.kv2-login-page .form-subtitle {
  margin-bottom: 24px;
  color: #334155 !important;
  font-size: 15px;
  line-height: 1.65;
}

body.kv2-login-page .form-label {
  margin-bottom: 8px;
  color: #07192d !important;
  font-size: 15px;
  font-weight: 850;
}

body.kv2-login-page .form-text,
body.kv2-login-page .helper,
body.kv2-login-page footer.small {
  color: #475569 !important;
  font-size: 13px;
}

body.kv2-login-page .form-control,
body.kv2-login-page .input-group .form-control {
  min-height: 52px;
  padding: 12px 15px;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background: #fff !important;
  border: 1.5px solid #9fb2c8 !important;
  border-radius: 9px !important;
  font-size: 15px;
  font-weight: 650;
}

body.kv2-login-page .input-group {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  width: 100%;
}

body.kv2-login-page .input-group .form-control {
  flex: 1 1 auto !important;
  width: 1% !important;
  min-width: 0;
  border-left: 1.5px solid #9fb2c8 !important;
  border-right: 0 !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

body.kv2-login-page .form-control::placeholder {
  color: #64748b !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #64748b !important;
}

body.kv2-login-page input:-webkit-autofill,
body.kv2-login-page input:-webkit-autofill:hover,
body.kv2-login-page input:-webkit-autofill:focus {
  -webkit-text-fill-color: #0f172a !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
}

body.kv2-login-page .toggle-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 52px !important;
  min-width: 52px;
  min-height: 52px;
  color: #0b5f96 !important;
  background: #eaf3fb !important;
  border: 1.5px solid #9fb2c8 !important;
  border-left: 0 !important;
  border-radius: 0 9px 9px 0 !important;
}

body.kv2-login-page .captcha-box {
  align-items: stretch;
  gap: 12px;
}

body.kv2-login-page .captcha-img {
  min-width: 190px;
  min-height: 54px;
  border: 1.5px solid #9fb2c8 !important;
  border-radius: 9px !important;
}

body.kv2-login-page .btn-outline-secondary {
  min-height: 54px;
  padding: 0 18px;
  color: #0f2f4f !important;
  background: #eef6fb !important;
  border: 1.5px solid #9fb2c8 !important;
  border-radius: 9px !important;
  font-weight: 800;
}

body.kv2-login-page .btn-primary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 54px;
  margin-top: 10px !important;
  border-radius: 9px !important;
  font-size: 15px;
  font-weight: 850;
  box-shadow: 0 14px 28px rgba(23,95,156,.20) !important;
}

body.kv2-login-page footer.small {
  margin-top: 16px;
  line-height: 1.5;
}

@media (max-width: 1040px) {
  body.kv2-login-page .auth-inner {
    grid-template-columns: 1fr;
  }

  body.kv2-login-page .hero-side {
    min-height: auto;
  }
}

@media (min-width: 1041px) and (max-height: 760px) {
  body.kv2-login-page .auth-inner {
    min-height: calc(100vh - 28px);
  }

  body.kv2-login-page .hero-title {
    font-size: clamp(28px, 3vw, 40px) !important;
  }

  body.kv2-login-page .hero-list {
    gap: 10px;
  }

  body.kv2-login-page .form-side {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  body.kv2-login-page .form-subtitle {
    margin-bottom: 18px;
  }
}

@media (max-width: 640px) {
  body.kv2-login-page {
    padding: 10px;
  }

  body.kv2-login-page .hero-side {
    display: none !important;
  }

  body.kv2-login-page .form-side {
    padding: 24px 18px;
  }

  body.kv2-login-page .form-header {
    grid-template-columns: 1fr;
  }

  body.kv2-login-page .env-pill {
    justify-self: start;
  }

  body.kv2-login-page .captcha-img {
    width: 100%;
  }
}

@media (max-width: 520px) {
  body.kv2-login-page .form-brand {
    align-items: center;
  }
}

/* ===== UI4 direction C: light minimal blue administration theme ===== */
:root {
  --kv2-ink: #102033;
  --kv2-muted: #5d7086;
  --kv2-page: #f3f8fc;
  --kv2-panel: #ffffff;
  --kv2-line: #d7e5f0;
  --kv2-navy: #102a43;
  --kv2-navy-2: #17466f;
  --kv2-command: #1d6fa5;
  --kv2-command-2: #0f8b8d;
  --kv2-red: #b4232a;
  --kv2-gold: #c99524;
  --kv2-green: #16834d;
  --kv2-shadow: 0 16px 36px rgba(31, 62, 91, .12);
  --kv2-shadow-soft: 0 8px 22px rgba(31, 62, 91, .08);
  --kv2-bg: var(--kv2-page);
  --kv2-bg-dark: #e5eff7;
  --kv2-bg-2: #edf5fb;
  --kv2-surface: var(--kv2-panel);
  --kv2-surface-2: #f8fbfd;
  --kv2-primary: var(--kv2-command);
  --kv2-primary-dark: #175b89;
  --kv2-primary-2: var(--kv2-command-2);
  --kv2-accent: var(--kv2-command-2);
  --kv2-text: var(--kv2-ink);
  --kv2-text-main: var(--kv2-ink);
  --kv2-text-muted: var(--kv2-muted);
  --kv2-text-soft: var(--kv2-muted);
  --kv2-border: var(--kv2-line);
  --kv2-card-bg: var(--kv2-panel);
  --kv2-card-bg-2: #f8fbfd;
  --kv2-card-border: var(--kv2-line);
  --kv2-sidebar-bg: #f8fbfd;
  --kv2-sidebar-bg-2: #eef6fb;
  --kv2-sidebar-line: #d8e8f3;
}

body.kv2-police-admin,
body.kv2-police-admin .wrapper {
  background:
    linear-gradient(180deg, #f8fbfd 0%, #f1f7fb 44%, #eef6fb 100%) !important;
}

body.kv2-police-admin .main-header {
  box-shadow: 0 8px 22px rgba(30, 58, 85, .10) !important;
}

body.kv2-police-admin .main-header::after {
  height: 2px;
  background: linear-gradient(90deg, #d7e5f0, #8fc8e8, #d7e5f0) !important;
}

body.kv2-police-admin.kv2-sidebar-layout .main-header .logo,
body.kv2-police-admin .main-header .logo {
  color: #12314d !important;
  background: linear-gradient(180deg, #ffffff, #f3f8fc) !important;
  border-right: 1px solid #d8e8f3 !important;
  box-shadow: inset 0 -2px 0 rgba(29, 111, 165, .18) !important;
}

body.kv2-police-admin.kv2-sidebar-layout .main-header .logo .logo-lg,
body.kv2-police-admin .main-header .logo .logo-lg,
body.kv2-police-admin.kv2-sidebar-layout .main-header .logo .logo-mini,
body.kv2-police-admin .main-header .logo .logo-mini {
  color: #12314d !important;
}

body.kv2-police-admin.kv2-sidebar-layout .main-header .navbar,
body.kv2-police-admin .main-header .navbar {
  background: rgba(255, 255, 255, .96) !important;
  border-bottom: 1px solid #d8e8f3 !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-topbar-title,
body.kv2-police-admin .main-header .navbar .nav > li > a {
  color: #12314d !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-topbar-kicker {
  color: #1d6fa5 !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-topbar-title strong {
  color: #102033 !important;
}

body.kv2-police-admin .main-header .navbar .nav > li > a:hover,
body.kv2-police-admin .main-header .navbar .nav > li > a:focus,
body.kv2-police-admin .main-header .navbar .open > a {
  color: #0f5f8f !important;
  background: #edf7fc !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-sidebar-toggle {
  color: #12314d !important;
  background: #edf7fc !important;
  border-color: #c9dfed !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-nav {
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,253,.98)),
    linear-gradient(180deg, var(--kv2-sidebar-bg-2), var(--kv2-sidebar-bg)) !important;
  border-right: 1px solid #d7e5f0 !important;
  box-shadow: 12px 0 30px rgba(30, 58, 85, .08) !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-brand {
  color: #102033 !important;
  border-bottom-color: #d7e5f0 !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-brand span {
  color: #5d7086 !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-emblem {
  color: #fff !important;
  background: linear-gradient(145deg, #1d6fa5, #0f8b8d) !important;
  box-shadow: 0 0 0 5px rgba(29, 111, 165, .10) !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu {
  scrollbar-color: rgba(29, 111, 165, .32) transparent;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu::-webkit-scrollbar-thumb {
  background: rgba(29, 111, 165, .28) !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li > a {
  color: #1c3348 !important;
  background: rgba(255, 255, 255, .78) !important;
  border-color: #dbe8f2 !important;
  box-shadow: none !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li > a > i.fa:first-child {
  color: #1d6fa5 !important;
  background: #edf7fc !important;
  border-color: #c9dfed !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li > a:hover,
body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li > a:focus,
body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li.is-open > a {
  color: #0f4d76 !important;
  background: #eef8fc !important;
  border-color: #b8d9eb !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li.active > a {
  color: #0b3553 !important;
  background: linear-gradient(135deg, #e8f6fc, #ffffff) !important;
  border-color: #94cbe5 !important;
  box-shadow: inset 4px 0 0 #1d6fa5, 0 10px 22px rgba(29, 111, 165, .10) !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li.active > a > i.fa:first-child {
  color: #fff !important;
  background: linear-gradient(145deg, #1d6fa5, #0f8b8d) !important;
  border-color: transparent !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu > li.kv2-dropdown > a::after {
  color: #7b90a5 !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu .kv2-dropdown-menu {
  background: #f3f9fd !important;
  border-color: #dbe8f2 !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu .kv2-dropdown-menu > li > a {
  color: #41566b !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu .kv2-dropdown-menu > li > a i.fa {
  color: #1d6fa5 !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu .kv2-dropdown-menu > li > a:hover,
body.kv2-police-admin.kv2-sidebar-layout .kv2-side-menu .kv2-dropdown-menu > li.active > a {
  color: #0f4d76 !important;
  background: #e6f3fa !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-foot {
  color: #52687d !important;
  border-top-color: #d7e5f0 !important;
}

body.kv2-police-admin.kv2-sidebar-layout .kv2-side-foot i {
  color: #1d6fa5 !important;
}

body.kv2-police-admin.kv2-sidebar-layout .content-wrapper,
body.kv2-police-admin.kv2-sidebar-layout .right-side,
body.kv2-police-admin.kv2-sidebar-layout .content {
  background:
    radial-gradient(780px circle at 8% 0%, rgba(29,111,165,.10), transparent 42%),
    linear-gradient(180deg, #f8fbfd 0%, #f3f8fc 100%) !important;
}

/* ===== KV2 topbar dropdown safety: hidden by default, opened only by JS/Bootstrap state ===== */
body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.notifications-menu > .dropdown-menu,
body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.user-menu > .dropdown-menu {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.notifications-menu.open > .dropdown-menu,
body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.notifications-menu.show > .dropdown-menu,
body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.notifications-menu > .dropdown-menu.show,
body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.user-menu.open > .dropdown-menu,
body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.user-menu.show > .dropdown-menu,
body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.user-menu > .dropdown-menu.show {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.kv2-police-admin .content-header,
body.kv2-police-admin .dashboard-hero,
body.kv2-police-admin .box,
body.kv2-police-admin .panel,
body.kv2-police-admin .card,
body.kv2-police-admin .chart-card,
body.kv2-police-admin .stat-card,
body.kv2-police-admin .notice,
body.kv2-police-admin .table-responsive {
  color: #102033 !important;
  background: rgba(255,255,255,.94) !important;
  border-color: #d7e5f0 !important;
  box-shadow: var(--kv2-shadow-soft) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.kv2-police-admin .dashboard-hero {
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(237,247,252,.96)) !important;
  border-left: 4px solid #1d6fa5 !important;
}

body.kv2-police-admin .dashboard-hero h1,
body.kv2-police-admin .content-header h1,
body.kv2-police-admin .section-title,
body.kv2-police-admin .box-title,
body.kv2-police-admin .chart-head h4 {
  color: #102033 !important;
}

body.kv2-police-admin .dashboard-hero p,
body.kv2-police-admin .dashboard-hero small,
body.kv2-police-admin .section-note,
body.kv2-police-admin .box-body,
body.kv2-police-admin .chart-head small {
  color: #5d7086 !important;
}

body.kv2-police-admin .stat-card {
  border-left: 4px solid var(--line-color, #1d6fa5) !important;
  background: linear-gradient(180deg, #ffffff, #f8fbfd) !important;
}

body.kv2-police-admin .stat-card::before,
body.kv2-police-admin .chart-card::before {
  display: none !important;
}

body.kv2-police-admin .stat-card .stat-icon,
body.kv2-police-admin .chart-tag,
body.kv2-police-admin .badge,
body.kv2-police-admin .label {
  background: #edf7fc !important;
  border-color: #c9dfed !important;
}

body.kv2-police-admin .table,
body.kv2-police-admin table {
  color: #102033 !important;
  background: #fff !important;
}

body.kv2-police-admin .table > thead > tr > th,
body.kv2-police-admin table thead th {
  color: #14334f !important;
  background: #eef6fb !important;
  border-color: #d7e5f0 !important;
}

body.kv2-police-admin .table > tbody > tr > td,
body.kv2-police-admin table tbody td {
  color: #23384d !important;
  border-color: #e2ecf4 !important;
}

body.kv2-police-admin .table-striped > tbody > tr:nth-of-type(odd),
body.kv2-police-admin .table tbody tr:nth-child(odd) {
  background: #fbfdff !important;
}

body.kv2-police-admin .table tbody tr:hover {
  background: #eef8fc !important;
}

body.kv2-police-admin .form-control,
body.kv2-police-admin select,
body.kv2-police-admin textarea,
body.kv2-police-admin .select2-selection {
  color: #102033 !important;
  background: #fff !important;
  border-color: #bfd6e6 !important;
}

body.kv2-police-admin .form-control::placeholder {
  color: #70849a !important;
}

body.kv2-police-admin .form-control:focus,
body.kv2-police-admin select:focus,
body.kv2-police-admin textarea:focus {
  border-color: #1d6fa5 !important;
  box-shadow: 0 0 0 3px rgba(29,111,165,.14) !important;
}

body.kv2-police-admin .btn-primary,
body.kv2-auth-page .btn-primary,
body.kv2-doc-page .btn-primary,
body.kv2-standalone-admin .btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, #1d6fa5, #0f8b8d) !important;
  border-color: #1d6fa5 !important;
  box-shadow: 0 10px 22px rgba(29,111,165,.18) !important;
}

body.kv2-police-admin .btn-default,
body.kv2-police-admin .btn-outline-secondary,
body.kv2-police-admin .content-wrapper .btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning) {
  color: #14334f !important;
  background: #fff !important;
  border-color: #bfd6e6 !important;
}

body.kv2-police-admin .mobile-app-nav {
  background: rgba(255,255,255,.96) !important;
  border-color: #d7e5f0 !important;
  box-shadow: 0 14px 30px rgba(30,58,85,.15) !important;
}

body.kv2-police-admin .mobile-app-nav a {
  color: #52687d !important;
}

body.kv2-police-admin .mobile-app-nav a.active {
  color: #0f4d76 !important;
  background: #e6f3fa !important;
}

body.kv2-login-page,
body.kv2-auth-page {
  background:
    radial-gradient(780px circle at 10% 8%, rgba(29,111,165,.16), transparent 45%),
    linear-gradient(135deg, #f8fbfd 0%, #eef6fb 100%) !important;
}

body.kv2-login-page .auth-inner {
  border-color: #cfe0ec !important;
  box-shadow: 0 24px 64px rgba(30,58,85,.16) !important;
}

body.kv2-login-page .hero-side,
body.kv2-auth-page .hero-side {
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.03)),
    linear-gradient(135deg, #16496f 0%, #1d6fa5 62%, #0f8b8d 100%) !important;
}

body.kv2-login-page .form-side,
body.kv2-auth-page .form-side,
body.kv2-auth-page .auth-body,
body.kv2-auth-page .form-wrap {
  background: #fff !important;
}

body.kv2-login-page .form-logo {
  background: linear-gradient(135deg, #1d6fa5, #0f8b8d) !important;
}

body.kv2-login-page .env-pill,
body.kv2-auth-page .env-pill {
  color: #0f5132 !important;
  background: #edf8f3 !important;
  border-color: #bfe7d2 !important;
}

body.kv2-login-page .form-control,
body.kv2-login-page .input-group .form-control,
body.kv2-auth-page .form-control,
body.kv2-auth-page .input-group .form-control {
  border-color: #bfd6e6 !important;
  background: #fff !important;
}

body.kv2-login-page .toggle-btn,
body.kv2-login-page .btn-outline-secondary,
body.kv2-auth-page .toggle-btn,
body.kv2-auth-page .btn-outline-secondary {
  color: #1d6fa5 !important;
  background: #edf7fc !important;
  border-color: #bfd6e6 !important;
}

/* UI4 compact dashboard layout, matched to direction C */
body.kv2-police-admin.kv2-sidebar-layout .content-wrapper,
body.kv2-police-admin.kv2-sidebar-layout .content,
body.kv2-police-admin.kv2-sidebar-layout .box,
body.kv2-police-admin.kv2-sidebar-layout .box-body {
  font-family: var(--kv2-font) !important;
}

body.kv2-police-admin.kv2-sidebar-layout .content {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding: 14px 18px 28px;
}

body.kv2-police-admin.kv2-sidebar-layout .content-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  max-width: 1500px;
  margin: 0 auto;
  padding: 14px 18px 8px;
  color: #102033 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.kv2-police-admin.kv2-sidebar-layout .content-header h1 {
  margin: 0;
  color: #102033 !important;
  font-size: 22px;
  font-weight: 850;
  line-height: 1.15;
}

body.kv2-police-admin.kv2-sidebar-layout .content-header small {
  color: #5d7086 !important;
  font-size: 13px;
  font-weight: 650;
}

body.kv2-police-admin .dashboard-hero {
  display: inline-flex !important;
  width: calc(58% - 8px);
  min-height: 166px;
  margin: 0 12px 14px 0 !important;
  padding: 16px !important;
  vertical-align: top;
}

body.kv2-police-admin .dashboard-hero-left {
  min-width: 0;
}

body.kv2-police-admin .dashboard-hero-left h3 {
  margin: 0 0 8px;
  color: #102033 !important;
  font-size: clamp(19px, 1.65vw, 24px) !important;
  line-height: 1.18;
}

body.kv2-police-admin .dashboard-hero-left p {
  max-width: 760px;
  margin: 0;
  color: #52687d !important;
  font-size: 13.5px;
  line-height: 1.58;
}

body.kv2-police-admin .dashboard-hero-badges {
  flex: 0 0 220px;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 8px !important;
}

body.kv2-police-admin .hero-badge {
  justify-content: flex-start;
  min-height: 38px;
  padding: 8px 10px !important;
  color: #14334f !important;
  background: #fff !important;
  border-color: #d7e5f0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

body.kv2-police-admin .hero-badge span {
  color: #14334f !important;
  text-decoration: none !important;
}

body.kv2-police-admin .dashboard-notice-panel {
  display: inline-flex !important;
  flex-direction: column;
  width: calc(42% - 8px);
  min-height: 166px;
  margin: 0 0 14px !important;
  padding: 14px !important;
  vertical-align: top;
  border-left: 4px solid #0f8b8d !important;
}

body.kv2-police-admin .dashboard-notice-head {
  gap: 10px;
  margin-bottom: 10px;
}

body.kv2-police-admin .dashboard-notice-head h4 {
  margin: 0 0 2px;
  color: #102033 !important;
  font-size: 16px !important;
  font-weight: 850;
}

body.kv2-police-admin .dashboard-notice-head small {
  color: #5d7086 !important;
}

body.kv2-police-admin .dashboard-notice-actions {
  flex-wrap: nowrap;
  gap: 6px;
}

body.kv2-police-admin .dashboard-notice-actions .btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  height: 34px;
  min-width: 96px;
  padding: 7px 10px;
  border-radius: 7px !important;
  line-height: 1.2;
  white-space: nowrap;
}

body.kv2-police-admin .dashboard-notice-list {
  display: grid;
  grid-template-columns: 1fr !important;
  gap: 8px;
  max-height: 196px;
  overflow: auto;
  padding-right: 2px;
}

body.kv2-police-admin .dashboard-notice-item,
body.kv2-police-admin .dashboard-notice-empty {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 58px !important;
  padding: 9px 10px !important;
  text-decoration: none !important;
}

body.kv2-police-admin .dashboard-notice-empty {
  grid-template-columns: 34px minmax(0, 1fr);
}

body.kv2-police-admin .notice-dot {
  width: 32px;
  height: 32px;
  color: #1d6fa5 !important;
  background: #edf7fc !important;
  border: 1px solid #c9dfed !important;
}

body.kv2-police-admin .notice-copy strong,
body.kv2-police-admin .notice-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.kv2-police-admin .notice-time {
  white-space: nowrap;
}

body.kv2-police-admin .section-title {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 6px 0 10px !important;
  padding: 0 2px;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.kv2-police-admin .section-title h4 {
  margin: 0 !important;
  color: #102033 !important;
  font-size: 16px !important;
  font-weight: 850;
}

body.kv2-police-admin .section-title .section-note {
  color: #6b7f94 !important;
  font-size: 12.5px;
  text-align: right;
}

body.kv2-police-admin .stats-row {
  margin-right: -6px;
  margin-left: -6px;
}

body.kv2-police-admin .stat-col {
  margin-bottom: 12px !important;
  padding-right: 6px;
  padding-left: 6px;
}

body.kv2-police-admin .stat-card {
  min-height: 152px !important;
  padding: 14px !important;
  border-radius: 8px !important;
  border-left: 4px solid #1d6fa5 !important;
}

body.kv2-police-admin .stat-card::after {
  display: none !important;
}

body.kv2-police-admin .stat-label {
  margin-bottom: 6px !important;
  color: #5d7086 !important;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

body.kv2-police-admin .stat-value {
  margin: 0;
  color: #102033 !important;
  font-size: clamp(26px, 2.4vw, 34px) !important;
  line-height: 1.05;
}

body.kv2-police-admin .stat-sub {
  display: -webkit-box;
  margin-top: 8px !important;
  overflow: hidden;
  color: #667b91 !important;
  font-size: 12.5px;
  line-height: 1.45;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

body.kv2-police-admin .stat-icon-wrap {
  flex-basis: 44px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 8px !important;
}

body.kv2-police-admin .stat-footer {
  margin-top: 12px !important;
}

body.kv2-police-admin .stat-chip {
  padding: 5px 8px !important;
  font-size: 12px;
  font-weight: 750;
}

body.kv2-police-admin .ops-stats-row .stat-card {
  min-height: 126px !important;
}

body.kv2-police-admin .ops-stats-row .stat-value {
  font-size: clamp(24px, 2vw, 30px) !important;
}

body.kv2-police-admin .ops-stats-row .stat-sub {
  -webkit-line-clamp: 1;
}

body.kv2-police-admin .chart-card {
  margin-top: 8px !important;
  margin-bottom: 12px;
  padding: 14px !important;
  border-radius: 8px !important;
}

body.kv2-police-admin .chart-head {
  margin-bottom: 10px !important;
}

body.kv2-police-admin .chart-head h4 {
  margin: 0 0 2px;
  font-size: 16px;
  font-weight: 850;
}

body.kv2-police-admin .chart-tag {
  padding: 5px 9px !important;
  color: #0f5f8f !important;
  background: #edf7fc !important;
  border-color: #c9dfed !important;
  font-size: 12px;
  font-weight: 800;
}

body.kv2-police-admin .chart-wrap {
  min-height: 270px !important;
}

body.kv2-police-admin .chart-wrap.chart-sm {
  min-height: 218px !important;
}

@media (max-width: 1199.98px) {
  body.kv2-police-admin .dashboard-hero,
  body.kv2-police-admin .dashboard-notice-panel {
    display: flex !important;
    width: 100%;
    margin-right: 0 !important;
  }

  body.kv2-police-admin .dashboard-hero-badges {
    flex: 0 0 210px;
  }
}

@media (max-width: 767.98px) {
  body.kv2-police-admin.kv2-sidebar-layout .content {
    padding: 12px 10px 92px;
  }

  body.kv2-police-admin.kv2-sidebar-layout .content-header {
    display: block;
    padding: 12px 10px 6px;
  }

  body.kv2-police-admin .dashboard-hero {
    display: block !important;
    min-height: 0;
  }

  body.kv2-police-admin .dashboard-hero-badges {
    margin-top: 12px;
  }

  body.kv2-police-admin .dashboard-notice-head,
  body.kv2-police-admin .section-title {
    display: block !important;
  }

  body.kv2-police-admin .dashboard-notice-actions {
    margin-top: 10px;
  }

  body.kv2-police-admin .section-title .section-note {
    margin-top: 4px;
    text-align: left;
  }

  body.kv2-police-admin .dashboard-notice-item {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  body.kv2-police-admin .notice-time {
    grid-column: 2;
  }
}

/* UI5 final sync: keep legacy pages on the same light admin surface. */
body.kv2-police-admin.kv2-sidebar-layout .content-wrapper {
  min-height: calc(100vh - 57px) !important;
  background:
    radial-gradient(circle at top left, rgba(29, 111, 165, 0.08), transparent 34%),
    linear-gradient(180deg, #f7fbfe 0%, #eef6fb 100%) !important;
  color: #102033 !important;
}

body.kv2-police-admin .kv2-menubar {
  display: none !important;
}

body.kv2-police-admin .main-header .navbar,
body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li > a,
body.kv2-police-admin .main-header .kv2-topbar-title,
body.kv2-police-admin .main-header .kv2-topbar-title strong {
  color: #102033 !important;
}

body.kv2-police-admin .main-header .kv2-topbar-title span,
body.kv2-police-admin .main-header .navbar-custom-menu small,
body.kv2-police-admin .main-header .navbar-custom-menu .hidden-xs span {
  color: #5d7086 !important;
}

body.kv2-police-admin .content-header {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.kv2-police-admin .content-header h1,
body.kv2-police-admin .content-header .page-title {
  margin: 0 !important;
  color: #102033 !important;
  font-size: clamp(22px, 2vw, 28px) !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

body.kv2-police-admin .content-header .page-subtitle,
body.kv2-police-admin .content-header .breadcrumb {
  color: #53687e !important;
}

body.kv2-police-admin .content .box,
body.kv2-police-admin .content .panel,
body.kv2-police-admin .content .card,
body.kv2-police-admin .content .section,
body.kv2-police-admin .content .search-card,
body.kv2-police-admin .content .filter-adv,
body.kv2-police-admin .content .table-wrap,
body.kv2-police-admin .content .household-summary {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid #cfe0ec !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 34px rgba(16, 32, 51, 0.08) !important;
  color: #102033 !important;
}

body.kv2-police-admin .content .box,
body.kv2-police-admin .content .section,
body.kv2-police-admin .content .search-card,
body.kv2-police-admin .content .filter-adv {
  padding: 18px !important;
}

body.kv2-police-admin .content .box .box-body,
body.kv2-police-admin .content .box .box-footer {
  background: transparent !important;
  border-color: #d7e5f0 !important;
  color: #102033 !important;
}

body.kv2-police-admin .content .box-header,
body.kv2-police-admin .content .section-header {
  min-height: 48px !important;
  margin: -18px -18px 16px !important;
  padding: 13px 18px !important;
  background: linear-gradient(90deg, #eaf6fb 0%, #f7fbfe 100%) !important;
  border: 0 !important;
  border-bottom: 1px solid #d7e5f0 !important;
  border-radius: 8px 8px 0 0 !important;
  color: #102033 !important;
  box-shadow: none !important;
}

body.kv2-police-admin .content .section-header,
body.kv2-police-admin .content .box-header .box-title,
body.kv2-police-admin .content .box-title,
body.kv2-police-admin .content legend,
body.kv2-police-admin .content label {
  color: #102033 !important;
  font-weight: 800 !important;
}

body.kv2-police-admin .content .section-header span,
body.kv2-police-admin .content .section-header i {
  color: #102033 !important;
}

body.kv2-police-admin .content .section-header .icon,
body.kv2-police-admin .content .search-card .box-title i,
body.kv2-police-admin .content .filter-adv .fa-field i {
  color: #1d6fa5 !important;
}

body.kv2-police-admin .content .form-control,
body.kv2-police-admin .content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.kv2-police-admin .content select,
body.kv2-police-admin .content textarea,
body.kv2-police-admin .content .input,
body.kv2-police-admin .content .filter-adv .fa-field input,
body.kv2-police-admin .content .filter-adv .fa-field select {
  min-height: 44px !important;
  background: #ffffff !important;
  border: 1px solid #bfd6e6 !important;
  border-radius: 7px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  color: #102033 !important;
  font-size: 14px !important;
}

body.kv2-police-admin .content textarea,
body.kv2-police-admin .content textarea.form-control {
  min-height: 82px !important;
}

body.kv2-police-admin .content .form-control::placeholder,
body.kv2-police-admin .content input::placeholder,
body.kv2-police-admin .content textarea::placeholder {
  color: #7f93a8 !important;
  opacity: 1 !important;
}

body.kv2-police-admin .content .form-control:focus,
body.kv2-police-admin .content input:not([type="checkbox"]):not([type="radio"]):focus,
body.kv2-police-admin .content select:focus,
body.kv2-police-admin .content textarea:focus,
body.kv2-police-admin .content .input:focus {
  background: #ffffff !important;
  border-color: #1d6fa5 !important;
  box-shadow: 0 0 0 3px rgba(29, 111, 165, 0.16) !important;
  color: #102033 !important;
  outline: 0 !important;
}

body.kv2-police-admin .content .filter-adv .fa-clear {
  color: #6b7f94 !important;
}

body.kv2-police-admin .content .fa-actions,
body.kv2-police-admin .content .box-footer,
body.kv2-police-admin .content .form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

body.kv2-police-admin .content .btn {
  min-height: 40px;
  border-radius: 7px !important;
  font-weight: 800 !important;
}

body.kv2-police-admin .content .btn-primary,
body.kv2-police-admin .content .btn-info {
  border-color: #168aa0 !important;
  background: linear-gradient(135deg, #1d6fa5 0%, #0e9f92 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(29, 111, 165, 0.18) !important;
}

body.kv2-police-admin .content .btn-danger {
  border-color: #bd2431 !important;
  background: #c82333 !important;
  color: #ffffff !important;
}

body.kv2-police-admin .content .btn-default,
body.kv2-police-admin .content .btn-soft,
body.kv2-police-admin .content .btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info) {
  border: 1px solid #bfd6e6 !important;
  background: #ffffff !important;
  color: #12324a !important;
  box-shadow: none !important;
}

body.kv2-police-admin .content .table-responsive,
body.kv2-police-admin .content .table-wrap {
  overflow-x: auto !important;
}

body.kv2-police-admin .content table,
body.kv2-police-admin .content .table {
  width: 100% !important;
  margin-bottom: 0 !important;
  background: #ffffff !important;
  border-color: #d7e5f0 !important;
  color: #102033 !important;
}

body.kv2-police-admin .content table thead th,
body.kv2-police-admin .content .table thead th {
  background: #eaf6fb !important;
  border-color: #d7e5f0 !important;
  color: #102033 !important;
  font-weight: 850 !important;
}

body.kv2-police-admin .content table tbody td,
body.kv2-police-admin .content .table tbody td {
  border-color: #e0ecf4 !important;
  color: #102033 !important;
  vertical-align: middle !important;
}

body.kv2-police-admin .content .table-striped > tbody > tr:nth-of-type(odd),
body.kv2-police-admin .content table tbody tr:nth-child(odd) {
  background: #fbfdff !important;
}

body.kv2-police-admin .content .table-striped > tbody > tr:nth-of-type(even),
body.kv2-police-admin .content table tbody tr:nth-child(even) {
  background: #ffffff !important;
}

body.kv2-police-admin .content .table tbody tr:hover,
body.kv2-police-admin .content table tbody tr:hover {
  background: #eef8fc !important;
}

body.kv2-police-admin .content a {
  color: #126da0 !important;
}

body.kv2-police-admin .content .hint,
body.kv2-police-admin .content .field-note,
body.kv2-police-admin .content .help-block,
body.kv2-police-admin .content .text-muted,
body.kv2-police-admin .content .desc {
  color: #5d7086 !important;
}

body.kv2-police-admin .content .badge,
body.kv2-police-admin .content .badge-chip,
body.kv2-police-admin .content .tag,
body.kv2-police-admin .content .label-head {
  border: 1px solid #bfe0ef !important;
  background: #edf7fc !important;
  color: #0f5f8f !important;
}

body.kv2-police-admin .content .step-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

body.kv2-police-admin .content .step-badge {
  border: 1px solid #cfe0ec !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #102033 !important;
}

body.kv2-police-admin .content .step-badge .num {
  background: #12324a !important;
  color: #ffffff !important;
}

body.kv2-police-admin .content .alert,
body.kv2-police-admin .content .alert-soft-success {
  border-radius: 8px !important;
  color: #102033 !important;
}

body.kv2-police-admin .content .alert-danger {
  border-color: #f3b5bd !important;
  background: #fff5f6 !important;
  color: #8a1c28 !important;
}

body.kv2-police-admin .content .alert-success,
body.kv2-police-admin .content .alert-soft-success {
  border-color: #abd9c4 !important;
  background: #f0fbf5 !important;
  color: #17643b !important;
}

@media (max-width: 991.98px) {
  body.kv2-police-admin .content .box,
  body.kv2-police-admin .content .section,
  body.kv2-police-admin .content .search-card,
  body.kv2-police-admin .content .filter-adv {
    padding: 14px !important;
  }

  body.kv2-police-admin .content .box-header,
  body.kv2-police-admin .content .section-header {
    margin: -14px -14px 14px !important;
    padding: 12px 14px !important;
  }
}

/* UI6 dashboard metrics: four compact cards per row. */
body.kv2-police-admin .dashboard-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px !important;
}

body.kv2-police-admin .dashboard-stat-grid::before,
body.kv2-police-admin .dashboard-stat-grid::after {
  display: none !important;
  content: none !important;
}

body.kv2-police-admin .dashboard-stat-grid .stat-col {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

body.kv2-police-admin .dashboard-stat-grid .stat-card {
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  min-height: 132px !important;
  padding: 12px !important;
  border-radius: 8px !important;
  border-left-width: 3px !important;
  box-shadow: 0 10px 24px rgba(16, 32, 51, 0.07) !important;
}

body.kv2-police-admin .dashboard-stat-grid .card-top {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 38px;
  gap: 10px;
  align-items: start;
}

body.kv2-police-admin .dashboard-stat-grid .stat-label {
  margin-bottom: 4px !important;
  font-size: 11px !important;
  line-height: 1.25;
  letter-spacing: 0 !important;
}

body.kv2-police-admin .dashboard-stat-grid .stat-value {
  font-size: clamp(24px, 2vw, 32px) !important;
  line-height: 1.05 !important;
}

body.kv2-police-admin .dashboard-stat-grid .stat-sub {
  display: block !important;
  margin-top: 6px !important;
  overflow: visible !important;
  color: #5d7086 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
}

body.kv2-police-admin .dashboard-stat-grid .stat-icon-wrap {
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 8px !important;
}

body.kv2-police-admin .dashboard-stat-grid .stat-icon {
  font-size: 16px !important;
}

body.kv2-police-admin .dashboard-stat-grid .stat-footer {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 10px !important;
  padding-top: 8px;
  border-top: 1px solid #e0ecf4;
}

body.kv2-police-admin .dashboard-stat-grid .stat-chip,
body.kv2-police-admin .dashboard-stat-grid .stat-link {
  white-space: nowrap;
  font-size: 12px !important;
}

body.kv2-police-admin .dashboard-stat-grid .stat-link {
  margin-left: auto;
}

body.kv2-police-admin .ops-stats-row.dashboard-stat-grid .stat-card {
  min-height: 122px !important;
}

body.kv2-police-admin .ops-stats-row.dashboard-stat-grid .stat-value {
  font-size: clamp(23px, 1.8vw, 30px) !important;
}

body.kv2-police-admin .ops-stats-row.dashboard-stat-grid .stat-sub {
  font-size: 11.8px !important;
}

@media (max-width: 1199.98px) {
  body.kv2-police-admin .dashboard-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  body.kv2-police-admin .dashboard-stat-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.kv2-police-admin .dashboard-stat-grid .stat-card,
  body.kv2-police-admin .ops-stats-row.dashboard-stat-grid .stat-card {
    min-height: 0 !important;
  }
}

/* UI7 HSCT list sync: remove old dark panels and make mobile readable. */
body.kv2-police-admin .content .searchbar {
  display: grid !important;
  grid-template-columns: minmax(180px, 1.15fr) minmax(160px, 0.8fr) minmax(220px, 1.35fr) minmax(250px, 1.35fr);
  gap: 10px !important;
  align-items: stretch !important;
  margin: 10px 0 14px !important;
  padding: 14px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid #cfe0ec !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 34px rgba(16, 32, 51, 0.08) !important;
  color: #102033 !important;
}

body.kv2-police-admin .content .searchbar .input {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  background: #ffffff !important;
  border: 1px solid #bfd6e6 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: #102033 !important;
}

body.kv2-police-admin .content .searchbar .input > span {
  flex: 0 0 auto;
  min-width: 18px;
  color: #1d6fa5 !important;
  opacity: 1 !important;
}

body.kv2-police-admin .content .searchbar .input input {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 4px 2px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #102033 !important;
  font-size: 14px !important;
  outline: 0 !important;
}

body.kv2-police-admin .content .searchbar .input input::placeholder {
  color: #6f8499 !important;
  opacity: 1 !important;
}

body.kv2-police-admin .content .searchbar label {
  color: #53687e !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: nowrap;
}

body.kv2-police-admin .content .searchbar input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-height: 0 !important;
  accent-color: #1d6fa5;
}

body.kv2-police-admin .content .searchbar .btn {
  width: 100% !important;
  min-height: 52px !important;
  justify-content: center !important;
  margin: 0 !important;
}

body.kv2-police-admin .content .searchbar .chips {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

body.kv2-police-admin .content .searchbar .chip {
  display: inline-flex !important;
  align-items: center;
  min-height: 36px;
  padding: 7px 10px !important;
  border: 1px solid #cfe0ec !important;
  border-radius: 999px !important;
  background: #edf7fc !important;
  color: #12324a !important;
  font-size: 12px !important;
  font-weight: 750 !important;
}

body.kv2-police-admin .content .pagination {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 !important;
  padding: 0 !important;
}

body.kv2-police-admin .content .pagination > li > a,
body.kv2-police-admin .content .pagination > li > span {
  min-width: 38px;
  min-height: 38px;
  padding: 8px 11px !important;
  border: 1px solid #cfe0ec !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #12324a !important;
  font-weight: 800 !important;
  text-align: center;
}

body.kv2-police-admin .content .pagination > .active > a,
body.kv2-police-admin .content .pagination > .active > span {
  border-color: #168aa0 !important;
  background: linear-gradient(135deg, #1d6fa5 0%, #0e9f92 100%) !important;
  color: #ffffff !important;
}

body.kv2-police-admin .content .val-box,
body.kv2-police-admin .content a.val-box {
  display: inline-flex !important;
  align-items: center;
  max-width: 100%;
  min-height: 28px;
  padding: 4px 8px !important;
  border: 1px solid #bfe0ef !important;
  border-radius: 7px !important;
  background: #edf7fc !important;
  color: #102033 !important;
  font-weight: 800 !important;
  line-height: 1.25;
  white-space: normal !important;
  word-break: break-word;
}

body.kv2-police-admin .content a.val-box {
  color: #0f5f8f !important;
  text-decoration: none !important;
}

body.kv2-police-admin .content .table-wrap table td,
body.kv2-police-admin .content .table-wrap table th {
  min-width: 0;
  white-space: normal !important;
}

body.kv2-police-admin .content .table-wrap table td.ellipsis,
body.kv2-police-admin .content .table-wrap table .ellipsis {
  max-width: 260px;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body.kv2-police-admin .content .table-desktop {
  border-radius: 8px !important;
}

body.kv2-police-admin .content .cards {
  display: none;
}

body.kv2-police-admin .content .cards .card {
  width: 100%;
  margin: 0;
  padding: 12px !important;
  border: 1px solid #cfe0ec !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 24px rgba(16, 32, 51, 0.07) !important;
  color: #102033 !important;
}

body.kv2-police-admin .content .cards .row {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  margin: 8px 0 0 !important;
}

body.kv2-police-admin .content .cards .label {
  color: #53687e !important;
  font-size: 12px;
  font-weight: 850;
}

body.kv2-police-admin .content .cards .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

body.kv2-police-admin .content .cards .actions .btn {
  flex: 1 1 130px;
  justify-content: center;
}

body.kv2-police-admin .modal,
body.kv2-police-admin .modal-card,
body.kv2-police-admin .modal-bd {
  color: #102033 !important;
}

body.kv2-police-admin .modal-card {
  border-radius: 8px !important;
  border: 1px solid #cfe0ec !important;
  background: #ffffff !important;
}

body.kv2-police-admin .modal-hd {
  background: #eaf6fb !important;
  border-bottom: 1px solid #d7e5f0 !important;
  color: #102033 !important;
}

body.kv2-police-admin .modal-close {
  border: 1px solid #bfd6e6 !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #12324a !important;
  font-weight: 800 !important;
}

@media (min-width: 1400px) {
  body.kv2-police-admin .content .searchbar {
    grid-template-columns: minmax(180px, 1.1fr) minmax(150px, 0.75fr) minmax(220px, 1.25fr) minmax(340px, 1.45fr) minmax(150px, 0.75fr) minmax(92px, 0.45fr) minmax(210px, 0.9fr);
  }
}

@media (max-width: 1199.98px) {
  body.kv2-police-admin .content .searchbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  body.kv2-police-admin.kv2-sidebar-layout .main-header {
    min-height: 56px !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .logo {
    width: 58px !important;
    min-width: 58px !important;
    padding: 0 !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .logo .logo-lg {
    display: none !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .logo .logo-mini {
    display: block !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .navbar {
    margin-left: 58px !important;
    min-height: 56px !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .kv2-topbar-title {
    max-width: calc(100vw - 118px);
    overflow: hidden;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .kv2-topbar-title span {
    display: none !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .kv2-topbar-title strong {
    display: block;
    overflow: hidden;
    font-size: 13px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .navbar-custom-menu {
    display: none !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .content-wrapper {
    margin-left: 0 !important;
    padding: 8px !important;
  }

  body.kv2-police-admin .content {
    padding: 10px 8px 84px !important;
  }

  body.kv2-police-admin .content-header {
    padding: 12px 8px 6px !important;
  }

  body.kv2-police-admin .content-header h1,
  body.kv2-police-admin .content-header .page-title {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }

  body.kv2-police-admin .content .searchbar {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin: 8px 0 10px !important;
    padding: 10px !important;
  }

  body.kv2-police-admin .content .searchbar .input,
  body.kv2-police-admin .content .searchbar .btn {
    min-height: 48px !important;
  }

  body.kv2-police-admin .content .searchbar,
  body.kv2-police-admin .content .searchbar * {
    max-width: 100%;
  }

  body.kv2-police-admin .content .searchbar .input {
    flex-wrap: wrap !important;
    overflow: hidden;
  }

  body.kv2-police-admin .content .searchbar .input input {
    flex: 1 1 120px !important;
    width: auto !important;
  }

  body.kv2-police-admin .content .searchbar .input label {
    flex: 0 1 auto;
    margin: 0 0 0 4px !important;
  }

  body.kv2-police-admin .content .searchbar .chips {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.kv2-police-admin .content .searchbar .chip {
    justify-content: center;
    width: 100%;
  }

  body.kv2-police-admin .content .table-desktop {
    display: none !important;
  }

  body.kv2-police-admin .content .cards {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.kv2-police-admin .content .box {
    padding: 10px !important;
  }

  body.kv2-police-admin .content .box-header {
    margin: -10px -10px 10px !important;
    padding: 12px 10px !important;
    font-size: 15px !important;
  }

  body.kv2-police-admin .content .val-box,
  body.kv2-police-admin .content a.val-box {
    width: auto;
    min-height: 30px;
    font-size: 13px !important;
  }

  body.kv2-police-admin .modal {
    padding: 8px !important;
  }

  body.kv2-police-admin .modal-card {
    width: min(100%, 720px) !important;
    max-height: calc(100vh - 18px) !important;
  }

  body.kv2-police-admin .modal-bd {
    max-height: calc(100vh - 90px) !important;
    overflow: auto !important;
  }
}

/* UI8 full mobile sync across legacy admin pages. */
@media (max-width: 991.98px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body.kv2-police-admin.kv2-sidebar-layout {
    min-width: 0 !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .wrapper {
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    background: #eef6fb !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1030 !important;
    display: flex !important;
    align-items: stretch !important;
    min-height: 58px !important;
    border-bottom: 1px solid #b7d7e9 !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .08) !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .logo {
    position: static !important;
    width: 68px !important;
    min-width: 68px !important;
    height: 58px !important;
    line-height: 58px !important;
    padding: 0 !important;
    border-right: 1px solid #cde3f1 !important;
    background: #ffffff !important;
    color: #0b3559 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .logo .logo-lg {
    display: none !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .logo .logo-mini {
    display: inline !important;
    font-size: 17px !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .navbar {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 58px !important;
    min-height: 58px !important;
    margin-left: 0 !important;
    padding: 0 10px !important;
    background: #ffffff !important;
    color: #102033 !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .kv2-sidebar-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 8px 0 0 !important;
    border: 1px solid #b7d7e9 !important;
    border-radius: 12px !important;
    background: #eaf7fc !important;
    color: #126f91 !important;
    text-decoration: none !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .kv2-topbar-title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #102033 !important;
    line-height: 1.25 !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .kv2-topbar-title .kv2-topbar-kicker,
  body.kv2-police-admin.kv2-sidebar-layout .kv2-topbar-title span {
    display: block !important;
    overflow: hidden !important;
    color: #167aa1 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-overflow: ellipsis !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .kv2-topbar-title strong {
    display: block !important;
    overflow: hidden !important;
    color: #102033 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .navbar-custom-menu {
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .navbar-custom-menu > .nav {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .navbar-custom-menu > .nav > li > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 38px !important;
    height: 42px !important;
    padding: 0 8px !important;
    border-radius: 12px !important;
    color: #102033 !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .kv2-clock-item,
  body.kv2-police-admin.kv2-sidebar-layout .navbar-custom-menu > .nav > li.hidden-xs {
    display: none !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .kv2-side-nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 1045 !important;
    width: min(86vw, 320px) !important;
    max-width: 320px !important;
    height: 100vh !important;
    margin: 0 !important;
    padding-top: 0 !important;
    overflow-y: auto !important;
    transform: translateX(-104%) !important;
    transition: transform .22s ease !important;
    box-shadow: 20px 0 46px rgba(15, 23, 42, .22) !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout.kv2-sidebar-open .kv2-side-nav,
  body.kv2-police-admin.kv2-sidebar-open .kv2-side-nav {
    transform: translateX(0) !important;
  }

  body.kv2-police-admin .kv2-sidebar-backdrop {
    display: none !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout.kv2-sidebar-open .kv2-sidebar-backdrop,
  body.kv2-police-admin.kv2-sidebar-open .kv2-sidebar-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1040 !important;
    display: block !important;
    background: rgba(15, 23, 42, .42) !important;
    backdrop-filter: blur(2px) !important;
  }

  body.kv2-police-admin.kv2-sidebar-open {
    overflow: hidden !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .content-wrapper,
  body.kv2-police-admin.kv2-sidebar-layout .right-side,
  body.kv2-police-admin.kv2-sidebar-layout .main-footer {
    width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .content-wrapper,
  body.kv2-police-admin.kv2-sidebar-layout .right-side {
    padding-top: 0 !important;
    overflow-x: hidden !important;
  }
}

@media (max-width: 767.98px) {
  :root {
    --kv2-mobile-page-x: 10px;
    --kv2-mobile-card-pad: 12px;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header {
    min-height: 56px !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .logo {
    width: 56px !important;
    min-width: 56px !important;
    height: 56px !important;
    line-height: 56px !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .main-header .navbar {
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 8px !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .kv2-sidebar-toggle {
    flex-basis: 40px !important;
    width: 40px !important;
    height: 40px !important;
    margin-right: 7px !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .kv2-topbar-title strong {
    font-size: 13px !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .navbar-custom-menu > .nav > li:not(.notifications-menu):not(.user-menu) {
    display: none !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .navbar-custom-menu > .nav > li.user-menu .hidden-xs,
  body.kv2-police-admin.kv2-sidebar-layout .navbar-custom-menu > .nav > li.user-menu span {
    display: none !important;
  }

  body.kv2-police-admin.kv2-sidebar-layout .content-wrapper {
    padding: 0 0 calc(82px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.kv2-police-admin .content,
  body.kv2-police-admin .content-wrapper > .content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px var(--kv2-mobile-page-x) !important;
    margin: 0 !important;
    overflow-x: hidden !important;
  }

  body.kv2-police-admin .content-header,
  body.kv2-police-admin .page-header,
  body.kv2-police-admin .page-title,
  body.kv2-police-admin .content > .title-row,
  body.kv2-police-admin .section-heading {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px var(--kv2-mobile-page-x) 8px !important;
    margin: 0 !important;
  }

  body.kv2-police-admin .content h1,
  body.kv2-police-admin .content h2,
  body.kv2-police-admin .content h3,
  body.kv2-police-admin .content-header h1,
  body.kv2-police-admin .content-header h2,
  body.kv2-police-admin .content-header h3 {
    max-width: 100% !important;
    margin: 0 0 12px !important;
    color: #081b2d !important;
    font-size: clamp(22px, 7vw, 30px) !important;
    line-height: 1.14 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;
    text-shadow: none !important;
  }

  body.kv2-police-admin .breadcrumb,
  body.kv2-police-admin .content-header .breadcrumb {
    position: static !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    color: #53667a !important;
  }

  body.kv2-police-admin .content .row,
  body.kv2-police-admin .content-wrapper .row {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.kv2-police-admin .content [class^="col-"],
  body.kv2-police-admin .content [class*=" col-"],
  body.kv2-police-admin .content-wrapper [class^="col-"],
  body.kv2-police-admin .content-wrapper [class*=" col-"] {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.kv2-police-admin .content .box,
  body.kv2-police-admin .content .panel,
  body.kv2-police-admin .content .section,
  body.kv2-police-admin .content .card,
  body.kv2-police-admin .content .kv2-card,
  body.kv2-police-admin .content .filter-adv,
  body.kv2-police-admin .content .filter-box,
  body.kv2-police-admin .content .filter-form,
  body.kv2-police-admin .content .search-card,
  body.kv2-police-admin .content .searchbar,
  body.kv2-police-admin .content .toolbar,
  body.kv2-police-admin .content .well,
  body.kv2-police-admin .content .callout,
  body.kv2-police-admin .content .alert {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 12px !important;
    padding: var(--kv2-mobile-card-pad) !important;
    border: 1px solid #c7dbe9 !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .98) !important;
    color: #102033 !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .07) !important;
    overflow: hidden !important;
  }

  body.kv2-police-admin .content .box-header,
  body.kv2-police-admin .content .panel-heading,
  body.kv2-police-admin .content .card-header,
  body.kv2-police-admin .content .section-title {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    margin: calc(var(--kv2-mobile-card-pad) * -1) calc(var(--kv2-mobile-card-pad) * -1) 12px !important;
    padding: 12px var(--kv2-mobile-card-pad) !important;
    border-bottom: 1px solid #d8e8f2 !important;
    background: #edf8fc !important;
    color: #081b2d !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    text-shadow: none !important;
  }

  body.kv2-police-admin .content .box-title,
  body.kv2-police-admin .content .panel-title,
  body.kv2-police-admin .content .card-title {
    width: 100% !important;
    color: #081b2d !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  body.kv2-police-admin .content p,
  body.kv2-police-admin .content small,
  body.kv2-police-admin .content .help-block,
  body.kv2-police-admin .content .form-text,
  body.kv2-police-admin .content .text-muted,
  body.kv2-police-admin .content .muted,
  body.kv2-police-admin .content .meta {
    color: #4b6177 !important;
    line-height: 1.5 !important;
    text-shadow: none !important;
  }

  body.kv2-police-admin .content form,
  body.kv2-police-admin .content .form-inline,
  body.kv2-police-admin .content .form-row,
  body.kv2-police-admin .content .form-grid,
  body.kv2-police-admin .content .form-grid--3,
  body.kv2-police-admin .content .fa-grid,
  body.kv2-police-admin .content .filter-adv .fa-grid,
  body.kv2-police-admin .content .filter-form,
  body.kv2-police-admin .content .searchbar,
  body.kv2-police-admin .content .search-card form,
  body.kv2-police-admin .content .edit-wrap {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.kv2-police-admin .content .form-group,
  body.kv2-police-admin .content .field,
  body.kv2-police-admin .content .fa-field,
  body.kv2-police-admin .content .input,
  body.kv2-police-admin .content .input-group,
  body.kv2-police-admin .content .input-icon,
  body.kv2-police-admin .content .select2,
  body.kv2-police-admin .content .select2-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.kv2-police-admin .content label,
  body.kv2-police-admin .content .control-label,
  body.kv2-police-admin .content .fa-label {
    display: block !important;
    margin: 0 0 6px !important;
    color: #102033 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    text-shadow: none !important;
  }

  body.kv2-police-admin .content input,
  body.kv2-police-admin .content select,
  body.kv2-police-admin .content textarea,
  body.kv2-police-admin .content .form-control,
  body.kv2-police-admin .content .select2-selection {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    border: 1px solid #a9c3d9 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: #102033 !important;
    -webkit-text-fill-color: #102033 !important;
    box-shadow: none !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  body.kv2-police-admin .content input::placeholder,
  body.kv2-police-admin .content textarea::placeholder {
    color: #65788c !important;
    opacity: 1 !important;
  }

  body.kv2-police-admin .content input[type="checkbox"],
  body.kv2-police-admin .content input[type="radio"] {
    display: inline-block !important;
    width: 18px !important;
    max-width: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    height: 18px !important;
    margin: 0 6px 0 0 !important;
  }

  body.kv2-police-admin .content .checkbox,
  body.kv2-police-admin .content .radio {
    display: flex !important;
    align-items: center !important;
    min-height: 32px !important;
  }

  body.kv2-police-admin .content .btn,
  body.kv2-police-admin .content button,
  body.kv2-police-admin .content input[type="submit"],
  body.kv2-police-admin .content input[type="button"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    white-space: normal !important;
    line-height: 1.25 !important;
    gap: 7px !important;
  }

  body.kv2-police-admin .content .table .btn,
  body.kv2-police-admin .content td .btn,
  body.kv2-police-admin .content .btn.btn-xs,
  body.kv2-police-admin .content .btn.btn-sm,
  body.kv2-police-admin .content .btn-icon {
    width: auto !important;
    min-width: 40px !important;
    min-height: 38px !important;
    padding: 8px 10px !important;
    white-space: nowrap !important;
  }

  body.kv2-police-admin .content .btn-primary,
  body.kv2-police-admin .content .btn-info,
  body.kv2-police-admin .content .btn-success,
  body.kv2-police-admin .content .btn-search {
    border-color: #0f8c9d !important;
    background: linear-gradient(135deg, #1976a7, #0f9b92) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(14, 116, 144, .18) !important;
  }

  body.kv2-police-admin .content .btn-default,
  body.kv2-police-admin .content .btn-outline,
  body.kv2-police-admin .content .btn-outline-secondary {
    border-color: #b7d2e5 !important;
    background: #ffffff !important;
    color: #0b3559 !important;
    -webkit-text-fill-color: #0b3559 !important;
  }

  body.kv2-police-admin .content .table-responsive,
  body.kv2-police-admin .content .table-wrap,
  body.kv2-police-admin .content .dataTables_wrapper,
  body.kv2-police-admin .content .result-table-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
    border: 1px solid #d8e8f2 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
  }

  body.kv2-police-admin .content table,
  body.kv2-police-admin .content .table,
  body.kv2-police-admin .content .result-table {
    width: max-content !important;
    min-width: 760px !important;
    max-width: none !important;
    margin: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
    color: #102033 !important;
  }

  body.kv2-police-admin .content th,
  body.kv2-police-admin .content td,
  body.kv2-police-admin .content .table th,
  body.kv2-police-admin .content .table td {
    color: #102033 !important;
    background: #ffffff !important;
    border-color: #dbe9f2 !important;
    vertical-align: middle !important;
    white-space: normal !important;
  }

  body.kv2-police-admin .content thead th,
  body.kv2-police-admin .content .table thead th {
    background: #eaf7fc !important;
    color: #0b3559 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }

  body.kv2-police-admin .content .cards,
  body.kv2-police-admin .content .card-list,
  body.kv2-police-admin .content .mobile-cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body.kv2-police-admin .content .citizen-card,
  body.kv2-police-admin .content .cards > .card,
  body.kv2-police-admin .content .card-list > .card,
  body.kv2-police-admin .content .mobile-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 12px !important;
    border: 1px solid #c7dbe9 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #102033 !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .07) !important;
  }

  body.kv2-police-admin .content .citizen-card *,
  body.kv2-police-admin .content .cards > .card *,
  body.kv2-police-admin .content .card-list > .card * {
    text-shadow: none !important;
  }

  body.kv2-police-admin .content .val-box,
  body.kv2-police-admin .content a.val-box,
  body.kv2-police-admin .content .badge,
  body.kv2-police-admin .content .label,
  body.kv2-police-admin .content .chip,
  body.kv2-police-admin .content .tag {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 100% !important;
    min-height: 30px !important;
    padding: 5px 9px !important;
    border: 1px solid #b7d7e9 !important;
    border-radius: 999px !important;
    background: #edf8fc !important;
    color: #0b3559 !important;
    -webkit-text-fill-color: #0b3559 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }

  body.kv2-police-admin .content .dashboard-hero,
  body.kv2-police-admin .content .dashboard-notice-panel,
  body.kv2-police-admin .content .summary-card,
  body.kv2-police-admin .content .stat-card,
  body.kv2-police-admin .content .small-box,
  body.kv2-police-admin .content .chart-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 12px !important;
    padding: 12px !important;
    border: 1px solid #c7dbe9 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #102033 !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .07) !important;
  }

  body.kv2-police-admin .content .dashboard-stat-grid,
  body.kv2-police-admin .content .dashboard-ops-grid,
  body.kv2-police-admin .content .stats-grid,
  body.kv2-police-admin .content .quick-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.kv2-police-admin .content .dashboard-notice-actions,
  body.kv2-police-admin .content .box-tools,
  body.kv2-police-admin .content .tools,
  body.kv2-police-admin .content .actions,
  body.kv2-police-admin .content .form-actions,
  body.kv2-police-admin .content .pagination,
  body.kv2-police-admin .content .pager {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 0 !important;
  }

  body.kv2-police-admin .content .pagination > li > a,
  body.kv2-police-admin .content .pagination > li > span {
    min-width: 38px !important;
    min-height: 38px !important;
    border-radius: 10px !important;
  }

  body.kv2-police-admin .main-footer {
    padding: 12px var(--kv2-mobile-page-x) calc(86px + env(safe-area-inset-bottom, 0px)) !important;
    color: #53667a !important;
    background: #ffffff !important;
    border-top: 1px solid #cde3f1 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  body.kv2-police-admin .mobile-app-nav {
    position: fixed !important;
    right: 10px !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    left: 10px !important;
    z-index: 1035 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 8px !important;
    border: 1px solid rgba(18, 111, 145, .25) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .18) !important;
    backdrop-filter: blur(12px) !important;
  }

  body.kv2-police-admin .mobile-app-nav a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 46px !important;
    padding: 6px 4px !important;
    border-radius: 12px !important;
    color: #0b3559 !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-decoration: none !important;
  }

  body.kv2-police-admin .mobile-app-nav a.active,
  body.kv2-police-admin .mobile-app-nav a:hover {
    background: #e3f4fb !important;
    color: #0f8c9d !important;
  }

  body.kv2-police-admin .mobile-app-nav a span {
    display: block !important;
    overflow: hidden !important;
    width: 100% !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.kv2-police-admin .modal,
  body.kv2-police-admin .modal-open .modal {
    padding: 8px !important;
  }

  body.kv2-police-admin .modal-dialog,
  body.kv2-police-admin .modal-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body.kv2-police-admin .modal-content,
  body.kv2-police-admin .modal-card {
    max-height: calc(100vh - 16px) !important;
    overflow: auto !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #102033 !important;
  }
}

@media (max-width: 640px) {
  body.kv2-auth-page {
    min-height: 100vh !important;
    padding: 10px !important;
    background:
      radial-gradient(680px circle at 8% 8%, rgba(27, 119, 167, .18), transparent 40%),
      linear-gradient(135deg, #eff7fc 0%, #ffffff 54%, #edf8fc 100%) !important;
  }

  body.kv2-auth-page .auth-shell,
  body.kv2-auth-page .auth-card,
  body.kv2-auth-page .auth-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.kv2-auth-page .auth-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  body.kv2-auth-page .hero-side {
    min-height: auto !important;
    padding: 24px 20px !important;
  }

  body.kv2-auth-page .hero-side h1 {
    font-size: clamp(30px, 10vw, 44px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
  }

  body.kv2-auth-page .hero-points {
    display: grid !important;
    gap: 10px !important;
  }

  body.kv2-auth-page .form-side {
    width: 100% !important;
    min-width: 0 !important;
    padding: 24px 20px !important;
    background: #ffffff !important;
    color: #102033 !important;
  }

  body.kv2-auth-page .form-side h1,
  body.kv2-auth-page .form-side h2,
  body.kv2-auth-page .form-side h3 {
    color: #081b2d !important;
    font-size: clamp(28px, 9vw, 38px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
  }

  body.kv2-auth-page .form-side p,
  body.kv2-auth-page .form-side small,
  body.kv2-auth-page .form-side .muted,
  body.kv2-auth-page .form-side .help-block {
    color: #53667a !important;
  }

  body.kv2-auth-page .form-side input,
  body.kv2-auth-page .form-side select,
  body.kv2-auth-page .form-side textarea,
  body.kv2-auth-page .form-side .form-control {
    width: 100% !important;
    min-height: 48px !important;
    background: #ffffff !important;
    color: #102033 !important;
    -webkit-text-fill-color: #102033 !important;
    border: 1px solid #a9c3d9 !important;
    border-radius: 10px !important;
  }

  body.kv2-auth-page .form-side input::placeholder,
  body.kv2-auth-page .form-side textarea::placeholder {
    color: #65788c !important;
    opacity: 1 !important;
  }

  body.kv2-auth-page .captcha-row,
  body.kv2-auth-page .captcha-wrap,
  body.kv2-auth-page .input-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body.kv2-auth-page .btn,
  body.kv2-auth-page button,
  body.kv2-auth-page input[type="submit"] {
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
  }

  body.kv2-standalone-admin,
  body.kv2-doc-page {
    padding: 10px !important;
    background: #eff7fc !important;
    color: #102033 !important;
  }

  body.kv2-standalone-admin .container,
  body.kv2-doc-page .container,
  body.kv2-standalone-admin .box,
  body.kv2-doc-page .box,
  body.kv2-standalone-admin .card,
  body.kv2-doc-page .card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    padding: 12px !important;
    border-radius: 14px !important;
  }

  body.kv2-standalone-admin .table-responsive,
  body.kv2-doc-page .table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

@media (max-width: 767.98px) {
  body.kv2-police-admin .content .table-responsive:has(+ .card-list),
  body.kv2-police-admin .content .table-responsive:has(~ .card-list),
  body.kv2-police-admin .content .table-wrap.table-desktop,
  body.kv2-police-admin .content .desktop-table {
    display: none !important;
  }
}

/* UI9 mobile readability guard: neutralize legacy white text on light panels. */
@media (max-width: 991.98px) {
  body.kv2-police-admin .content-wrapper,
  body.kv2-police-admin .content,
  body.kv2-police-admin .content .box,
  body.kv2-police-admin .content .box-body,
  body.kv2-police-admin .content .panel,
  body.kv2-police-admin .content .panel-body,
  body.kv2-police-admin .content .section,
  body.kv2-police-admin .content .card,
  body.kv2-police-admin .content .kv2-card,
  body.kv2-police-admin .content .filter-adv,
  body.kv2-police-admin .content .filter-box,
  body.kv2-police-admin .content .filter-form,
  body.kv2-police-admin .content .search-card,
  body.kv2-police-admin .content .searchbar,
  body.kv2-police-admin .content .table-responsive,
  body.kv2-police-admin .content .table-wrap,
  body.kv2-police-admin .content .citizen-card,
  body.kv2-police-admin .content .dashboard-hero,
  body.kv2-police-admin .content .dashboard-notice-panel,
  body.kv2-police-admin .content .summary-card,
  body.kv2-police-admin .content .stat-card,
  body.kv2-police-admin .content .small-box,
  body.kv2-police-admin .content .chart-card,
  body.kv2-police-admin .modal-content,
  body.kv2-police-admin .modal-body,
  body.kv2-police-admin .modal-footer {
    color: #102033 !important;
    -webkit-text-fill-color: #102033 !important;
    text-shadow: none !important;
  }

  body.kv2-police-admin .content .box *,
  body.kv2-police-admin .content .panel *,
  body.kv2-police-admin .content .section *,
  body.kv2-police-admin .content .card *,
  body.kv2-police-admin .content .kv2-card *,
  body.kv2-police-admin .content .filter-adv *,
  body.kv2-police-admin .content .filter-box *,
  body.kv2-police-admin .content .filter-form *,
  body.kv2-police-admin .content .search-card *,
  body.kv2-police-admin .content .searchbar *,
  body.kv2-police-admin .content .table-responsive *,
  body.kv2-police-admin .content .table-wrap *,
  body.kv2-police-admin .content .citizen-card *,
  body.kv2-police-admin .content .dashboard-hero *,
  body.kv2-police-admin .content .dashboard-notice-panel *,
  body.kv2-police-admin .content .summary-card *,
  body.kv2-police-admin .content .stat-card *,
  body.kv2-police-admin .content .small-box *,
  body.kv2-police-admin .content .chart-card *,
  body.kv2-police-admin .modal-body *,
  body.kv2-police-admin .modal-footer * {
    color: #102033 !important;
    -webkit-text-fill-color: #102033 !important;
    text-shadow: none !important;
  }

  body.kv2-police-admin .content h1,
  body.kv2-police-admin .content h2,
  body.kv2-police-admin .content h3,
  body.kv2-police-admin .content h4,
  body.kv2-police-admin .content h5,
  body.kv2-police-admin .content h6,
  body.kv2-police-admin .content .box-title,
  body.kv2-police-admin .content .section-title,
  body.kv2-police-admin .content .card-title,
  body.kv2-police-admin .content .dashboard-title,
  body.kv2-police-admin .content .stat-value,
  body.kv2-police-admin .content strong {
    color: #081b2d !important;
    -webkit-text-fill-color: #081b2d !important;
  }

  body.kv2-police-admin .content p,
  body.kv2-police-admin .content small,
  body.kv2-police-admin .content .help-block,
  body.kv2-police-admin .content .form-text,
  body.kv2-police-admin .content .text-muted,
  body.kv2-police-admin .content .muted,
  body.kv2-police-admin .content .meta,
  body.kv2-police-admin .content .subtle,
  body.kv2-police-admin .content .description {
    color: #53667a !important;
    -webkit-text-fill-color: #53667a !important;
    opacity: 1 !important;
  }

  body.kv2-police-admin .content a:not(.btn),
  body.kv2-police-admin .content a:not(.btn) * {
    color: #0f6fa6 !important;
    -webkit-text-fill-color: #0f6fa6 !important;
  }

  body.kv2-police-admin .content input,
  body.kv2-police-admin .content select,
  body.kv2-police-admin .content textarea,
  body.kv2-police-admin .content .form-control,
  body.kv2-police-admin .content .select2-selection,
  body.kv2-auth-page .form-side input,
  body.kv2-auth-page .form-side select,
  body.kv2-auth-page .form-side textarea,
  body.kv2-auth-page .form-side .form-control {
    color: #102033 !important;
    -webkit-text-fill-color: #102033 !important;
    background: #ffffff !important;
    border-color: #a9c3d9 !important;
    opacity: 1 !important;
  }

  body.kv2-police-admin .content input::placeholder,
  body.kv2-police-admin .content textarea::placeholder,
  body.kv2-auth-page .form-side input::placeholder,
  body.kv2-auth-page .form-side textarea::placeholder {
    color: #65788c !important;
    -webkit-text-fill-color: #65788c !important;
    opacity: 1 !important;
  }

  body.kv2-police-admin .content .btn-primary,
  body.kv2-police-admin .content .btn-primary *,
  body.kv2-police-admin .content .btn-info,
  body.kv2-police-admin .content .btn-info *,
  body.kv2-police-admin .content .btn-success,
  body.kv2-police-admin .content .btn-success *,
  body.kv2-police-admin .content .btn-danger,
  body.kv2-police-admin .content .btn-danger *,
  body.kv2-police-admin .content .btn-kv2,
  body.kv2-police-admin .content .btn-kv2 *,
  body.kv2-police-admin .content .btn-search,
  body.kv2-police-admin .content .btn-search *,
  body.kv2-auth-page .btn-primary,
  body.kv2-auth-page .btn-primary * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: none !important;
  }

  body.kv2-police-admin .content .btn-default,
  body.kv2-police-admin .content .btn-default *,
  body.kv2-police-admin .content .btn-outline,
  body.kv2-police-admin .content .btn-outline *,
  body.kv2-police-admin .content .btn-outline-secondary,
  body.kv2-police-admin .content .btn-outline-secondary *,
  body.kv2-police-admin .content .btn-warning,
  body.kv2-police-admin .content .btn-warning * {
    color: #0b3559 !important;
    -webkit-text-fill-color: #0b3559 !important;
  }

  body.kv2-police-admin .content .badge,
  body.kv2-police-admin .content .badge *,
  body.kv2-police-admin .content .label,
  body.kv2-police-admin .content .label *,
  body.kv2-police-admin .content .chip,
  body.kv2-police-admin .content .chip *,
  body.kv2-police-admin .content .tag,
  body.kv2-police-admin .content .tag *,
  body.kv2-police-admin .content .status-badge,
  body.kv2-police-admin .content .status-badge *,
  body.kv2-police-admin .content .val-box,
  body.kv2-police-admin .content .val-box * {
    color: #0b3559 !important;
    -webkit-text-fill-color: #0b3559 !important;
  }

  body.kv2-police-admin .content .label-danger,
  body.kv2-police-admin .content .label-danger *,
  body.kv2-police-admin .content .badge-danger,
  body.kv2-police-admin .content .badge-danger *,
  body.kv2-police-admin .content .bg-red,
  body.kv2-police-admin .content .bg-red *,
  body.kv2-police-admin .content .text-bg-danger,
  body.kv2-police-admin .content .text-bg-danger * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body.kv2-police-admin .modal-header,
  body.kv2-police-admin .modal-header * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: none !important;
  }

  body.kv2-police-admin .modal-header {
    border-bottom-color: rgba(255,255,255,.16) !important;
    background: linear-gradient(135deg, #1d6fa5, #0f8b8d) !important;
  }

  body.kv2-auth-page .form-side,
  body.kv2-auth-page .form-side * {
    color: #102033 !important;
    -webkit-text-fill-color: #102033 !important;
    text-shadow: none !important;
  }

  body.kv2-auth-page .hero-side,
  body.kv2-auth-page .hero-side *,
  body.kv2-auth-page .hero,
  body.kv2-auth-page .hero * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body.kv2-auth-page .form-side .btn-primary,
  body.kv2-auth-page .form-side .btn-primary * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
}

@media (max-width: 991.98px) {
  body.kv2-police-admin .content .modal-header,
  body.kv2-police-admin .content .modal-header *,
  body.kv2-police-admin .content .modal-header h1,
  body.kv2-police-admin .content .modal-header h2,
  body.kv2-police-admin .content .modal-header h3,
  body.kv2-police-admin .content .modal-header h4,
  body.kv2-police-admin .content .modal-header h5,
  body.kv2-police-admin .content .modal-header h6,
  body.kv2-police-admin .content .modal-header .modal-title {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: none !important;
  }
}

/* UI10 citizen profile display: professional light information layout. */
body.kv2-police-admin .citizen-page {
  width: min(100%, 1480px) !important;
  max-width: 1480px !important;
  margin: 0 auto !important;
  padding: 22px 22px 42px !important;
  color: #102033 !important;
  -webkit-text-fill-color: initial !important;
}

body.kv2-police-admin .citizen-page,
body.kv2-police-admin .citizen-page * {
  text-shadow: none !important;
  letter-spacing: 0 !important;
}

body.kv2-police-admin .citizen-page .page-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  margin: 0 0 18px !important;
  padding: 18px !important;
  border: 1px solid #c8deeb !important;
  border-radius: 16px !important;
  background:
    linear-gradient(90deg, rgba(29, 111, 165, .10), rgba(15, 139, 141, .07)),
    #ffffff !important;
  box-shadow: 0 14px 34px rgba(16, 32, 51, .08) !important;
}

body.kv2-police-admin .citizen-page .title-wrap {
  min-width: 0;
}

body.kv2-police-admin .citizen-page .page-title {
  margin: 0 !important;
  color: #081b2d !important;
  -webkit-text-fill-color: #081b2d !important;
  font-size: clamp(25px, 2.2vw, 34px) !important;
  font-weight: 900 !important;
  line-height: 1.14 !important;
  text-transform: none !important;
}

body.kv2-police-admin .citizen-page .page-sub {
  margin: 7px 0 0 !important;
  color: #53667a !important;
  -webkit-text-fill-color: #53667a !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body.kv2-police-admin .citizen-page .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.kv2-police-admin .citizen-page .breadcrumb > li,
body.kv2-police-admin .citizen-page .breadcrumb > li > a,
body.kv2-police-admin .citizen-page .breadcrumb > .active {
  color: #5f7185 !important;
  -webkit-text-fill-color: #5f7185 !important;
  font-size: 13px !important;
}

body.kv2-police-admin .citizen-page .breadcrumb > li + li:before {
  color: #9aaabd !important;
  -webkit-text-fill-color: #9aaabd !important;
}

body.kv2-police-admin .citizen-page .head-actions,
body.kv2-police-admin .citizen-page .panel-controls {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
}

body.kv2-police-admin .citizen-page .head-actions {
  max-width: 620px;
}

body.kv2-police-admin .citizen-page .panel-controls {
  justify-content: flex-start !important;
  margin: 0 0 14px !important;
}

body.kv2-police-admin .citizen-page .btn-kv2 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 40px !important;
  padding: 9px 13px !important;
  border: 1px solid #bdd7e7 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #0b3559 !important;
  -webkit-text-fill-color: #0b3559 !important;
  box-shadow: 0 8px 18px rgba(16, 32, 51, .06) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

body.kv2-police-admin .citizen-page .btn-kv2:hover {
  border-color: #8bbfd9 !important;
  background: #edf8fc !important;
  color: #0f6fa6 !important;
  -webkit-text-fill-color: #0f6fa6 !important;
  transform: translateY(-1px);
}

body.kv2-police-admin .citizen-page .btn-kv2.primary {
  border-color: #0f8c9d !important;
  background: linear-gradient(135deg, #1d6fa5, #0f8b8d) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(29, 111, 165, .18) !important;
}

body.kv2-police-admin .citizen-page .btn-kv2.primary * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.kv2-police-admin .citizen-page .alert {
  border-radius: 12px !important;
  border: 1px solid #abd9c4 !important;
  background: #f0fbf5 !important;
  color: #17643b !important;
  -webkit-text-fill-color: #17643b !important;
  box-shadow: 0 10px 24px rgba(16, 32, 51, .06) !important;
}

body.kv2-police-admin .citizen-page .panel-kv2 {
  position: relative !important;
  overflow: hidden !important;
  margin: 0 0 14px !important;
  border: 1px solid #c8deeb !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 34px rgba(16, 32, 51, .08) !important;
}

body.kv2-police-admin .citizen-page .panel-kv2:before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 4px !important;
  height: 100% !important;
  background: linear-gradient(180deg, #1d6fa5, #0f8b8d) !important;
  pointer-events: none !important;
}

body.kv2-police-admin .citizen-page .panel-kv2 .panel-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 58px !important;
  padding: 14px 18px 14px 20px !important;
  border-bottom: 1px solid #dbeaf3 !important;
  background: linear-gradient(90deg, #edf8fc 0%, #ffffff 100%) !important;
  cursor: pointer !important;
}

body.kv2-police-admin .citizen-page .panel-kv2 .panel-title {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  color: #081b2d !important;
  -webkit-text-fill-color: #081b2d !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

body.kv2-police-admin .citizen-page .panel-kv2 .panel-title i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  border: 1px solid #bdddf0 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #168aa0 !important;
  -webkit-text-fill-color: #168aa0 !important;
  box-shadow: 0 8px 18px rgba(16, 32, 51, .06) !important;
}

body.kv2-police-admin .citizen-page .panel-kv2 .toggle-icon {
  color: #60758b !important;
  -webkit-text-fill-color: #60758b !important;
  transition: transform .18s ease;
}

body.kv2-police-admin .citizen-page .panel-kv2.collapsed .toggle-icon {
  transform: rotate(-90deg);
}

body.kv2-police-admin .citizen-page .panel-kv2.collapsed .panel-body {
  display: none !important;
}

body.kv2-police-admin .citizen-page .panel-kv2 .panel-body {
  padding: 18px 18px 18px 22px !important;
  background: #ffffff !important;
}

body.kv2-police-admin .citizen-page .info-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.kv2-police-admin .citizen-page .info-item {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 92px !important;
  padding: 13px 14px !important;
  border: 1px solid #d8e8f2 !important;
  border-radius: 12px !important;
  background: #f8fcfe !important;
  color: #102033 !important;
  -webkit-text-fill-color: #102033 !important;
  box-shadow: none !important;
}

body.kv2-police-admin .citizen-page .info-item.hero {
  grid-column: span 2;
  min-height: 110px !important;
  border-color: #b9d8ea !important;
  background:
    linear-gradient(135deg, rgba(29, 111, 165, .12), rgba(15, 139, 141, .07)),
    #ffffff !important;
}

body.kv2-police-admin .citizen-page .info-item .label {
  display: block !important;
  margin: 0 0 7px !important;
  color: #5f7185 !important;
  -webkit-text-fill-color: #5f7185 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

body.kv2-police-admin .citizen-page .info-item .value {
  color: #102033 !important;
  -webkit-text-fill-color: #102033 !important;
  font-size: 15px !important;
  font-weight: 760 !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.kv2-police-admin .citizen-page .info-item .value.name {
  color: #081b2d !important;
  -webkit-text-fill-color: #081b2d !important;
  font-size: clamp(24px, 2.1vw, 34px) !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
}

body.kv2-police-admin .citizen-page .badge-kv2,
body.kv2-police-admin .citizen-page .chip-kv2 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: 100% !important;
  min-height: 28px !important;
  padding: 5px 10px !important;
  border: 1px solid #b7d7e9 !important;
  border-radius: 999px !important;
  background: #edf8fc !important;
  color: #0b3559 !important;
  -webkit-text-fill-color: #0b3559 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
}

body.kv2-police-admin .citizen-page .badge-kv2.success {
  border-color: #9ddfc5 !important;
  background: #eafaf2 !important;
  color: #16623f !important;
  -webkit-text-fill-color: #16623f !important;
}

body.kv2-police-admin .citizen-page .badge-kv2.warn {
  border-color: #f3d28b !important;
  background: #fff8e6 !important;
  color: #7c530b !important;
  -webkit-text-fill-color: #7c530b !important;
}

body.kv2-police-admin .citizen-page .chip-kv2 {
  margin: 0 6px 6px 0 !important;
}

body.kv2-police-admin .citizen-page .chip-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 4px !important;
  margin: 12px 0 0 !important;
}

body.kv2-police-admin .citizen-page .table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  border: 1px solid #d8e8f2 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  -webkit-overflow-scrolling: touch !important;
}

body.kv2-police-admin .citizen-page .table {
  width: 100% !important;
  min-width: 780px;
  margin: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #ffffff !important;
  color: #102033 !important;
}

body.kv2-police-admin .citizen-page .table > thead > tr > th {
  padding: 12px 13px !important;
  border-color: #d8e8f2 !important;
  background: #eaf7fc !important;
  color: #0b3559 !important;
  -webkit-text-fill-color: #0b3559 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.kv2-police-admin .citizen-page .table > tbody > tr > td {
  padding: 12px 13px !important;
  border-color: #e1edf5 !important;
  background: #ffffff !important;
  color: #102033 !important;
  -webkit-text-fill-color: #102033 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  vertical-align: top !important;
}

body.kv2-police-admin .citizen-page .table > tbody > tr:nth-child(odd) > td {
  background: #fbfdff !important;
}

body.kv2-police-admin .citizen-page .table > tbody > tr:hover > td,
body.kv2-police-admin .citizen-page .table > tbody > tr.current-row > td {
  background: #eef8fc !important;
}

body.kv2-police-admin .citizen-page .table > tbody > tr.current-row > td:first-child {
  box-shadow: inset 4px 0 0 #168aa0 !important;
}

body.kv2-police-admin .citizen-page .link-soft,
body.kv2-police-admin .citizen-page .link-soft * {
  color: #0f6fa6 !important;
  -webkit-text-fill-color: #0f6fa6 !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

body.kv2-police-admin .citizen-page .link-soft:hover {
  color: #0b5c8e !important;
  -webkit-text-fill-color: #0b5c8e !important;
  text-decoration: underline !important;
}

body.kv2-police-admin .citizen-page .empty-note,
body.kv2-police-admin .citizen-page .muted-line {
  margin: 0 !important;
  color: #53667a !important;
  -webkit-text-fill-color: #53667a !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

body.kv2-police-admin .citizen-page .note-box {
  min-height: 68px !important;
  padding: 14px !important;
  border: 1px solid #d8e8f2 !important;
  border-radius: 12px !important;
  background: #f8fcfe !important;
  color: #102033 !important;
  -webkit-text-fill-color: #102033 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  white-space: pre-wrap !important;
}

body.kv2-police-admin .mobile-actionbar {
  display: none;
}

@media (max-width: 1199.98px) {
  body.kv2-police-admin .citizen-page .page-head {
    grid-template-columns: 1fr !important;
  }

  body.kv2-police-admin .citizen-page .head-actions {
    max-width: none !important;
    justify-content: flex-start !important;
  }

  body.kv2-police-admin .citizen-page .info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767.98px) {
  body.kv2-police-admin .citizen-page {
    padding: 12px 10px calc(86px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.kv2-police-admin .citizen-page .page-head {
    gap: 12px !important;
    padding: 14px !important;
    border-radius: 14px !important;
  }

  body.kv2-police-admin .citizen-page .page-title {
    font-size: 23px !important;
  }

  body.kv2-police-admin .citizen-page .page-sub {
    font-size: 13px !important;
  }

  body.kv2-police-admin .citizen-page .head-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
  }

  body.kv2-police-admin .citizen-page .head-actions .btn-kv2,
  body.kv2-police-admin .citizen-page .panel-controls .btn-kv2 {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.kv2-police-admin .citizen-page .panel-controls {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  body.kv2-police-admin .citizen-page .panel-kv2 {
    border-radius: 14px !important;
    margin-bottom: 12px !important;
  }

  body.kv2-police-admin .citizen-page .panel-kv2 .panel-head {
    min-height: 54px !important;
    padding: 12px 13px 12px 16px !important;
  }

  body.kv2-police-admin .citizen-page .panel-kv2 .panel-title {
    font-size: 16px !important;
  }

  body.kv2-police-admin .citizen-page .panel-kv2 .panel-title i {
    flex-basis: 30px !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 9px !important;
  }

  body.kv2-police-admin .citizen-page .panel-kv2 .panel-body {
    padding: 12px 12px 12px 16px !important;
  }

  body.kv2-police-admin .citizen-page .info-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.kv2-police-admin .citizen-page .info-item,
  body.kv2-police-admin .citizen-page .info-item.hero {
    grid-column: auto !important;
    min-height: auto !important;
    padding: 12px !important;
  }

  body.kv2-police-admin .citizen-page .info-item .value.name {
    font-size: 25px !important;
  }

  body.kv2-police-admin .citizen-page .table {
    min-width: 720px !important;
  }

  body.kv2-police-admin .mobile-actionbar {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 1035 !important;
    display: block !important;
    padding: 0 !important;
    border: 1px solid rgba(18, 111, 145, .24) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .18) !important;
    backdrop-filter: blur(12px) !important;
  }

  body.kv2-police-admin .mobile-actionbar .bar {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 4px !important;
    padding: 7px !important;
  }

  body.kv2-police-admin .mobile-actionbar a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 6px 3px !important;
    border: 0 !important;
    border-radius: 12px !important;
    color: #0b3559 !important;
    -webkit-text-fill-color: #0b3559 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-decoration: none !important;
  }

  body.kv2-police-admin .mobile-actionbar a .ico {
    margin: 0 0 4px !important;
    color: #168aa0 !important;
    -webkit-text-fill-color: #168aa0 !important;
    font-size: 16px !important;
  }

  body.kv2-police-admin .mobile-actionbar a.back {
    background: #edf8fc !important;
  }

  body.kv2-police-admin .mobile-actionbar a span {
    display: block !important;
    overflow: hidden !important;
    width: 100% !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.kv2-police-admin .mobile-actionbar a.disabled {
    opacity: .45 !important;
    pointer-events: none !important;
  }
}

@media (max-width: 480px) {
  body.kv2-police-admin .citizen-page .head-actions {
    grid-template-columns: 1fr !important;
  }

  body.kv2-police-admin .citizen-page .panel-controls {
    grid-template-columns: 1fr !important;
  }

  body.kv2-police-admin .mobile-actionbar .bar {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* UI11: thêm công dân - hiển thị Vợ/Chồng theo giới tính và hôn nhân */
body.kv2-police-admin #spouseBox .spouse-state-note {
  display: flex;
  align-items: center;
  min-height: 44px;
  margin: 0 0 16px;
  padding: 11px 14px;
  border: 1px solid rgba(21, 128, 151, .22);
  border-radius: 10px;
  background: #eef9fb;
  color: #0b3559;
  font-weight: 800;
  line-height: 1.45;
}

body.kv2-police-admin #spouseBox.spouse-hidden .spouse-state-note {
  border-color: rgba(100, 116, 139, .22);
  background: #f8fafc;
  color: #475569;
}

body.kv2-police-admin #spouseBox .spouse-side[hidden] {
  display: none !important;
}

body.kv2-police-admin #spouseBox .spouse-side {
  animation: kv2SpouseFade .18s ease-out;
}

body.kv2-police-admin #spouseBox input:disabled,
body.kv2-police-admin #spouseBox button:disabled {
  cursor: not-allowed;
}

@keyframes kv2SpouseFade {
  from {
    opacity: .35;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 767px) {
  body.kv2-police-admin #spouseBox .spouse-state-note {
    align-items: flex-start;
    margin-bottom: 12px;
    padding: 10px 12px;
    font-size: 13px;
  }
}

/* UI12: thêm công dân - form nhập liệu gọn và đồng bộ */
body.kv2-police-admin .kv2-add-citizen-page {
  padding: 18px;
  background:
    radial-gradient(circle at 0 0, rgba(21, 128, 151, .10), transparent 34%),
    linear-gradient(180deg, #f5fbff 0%, #eef6fb 100%);
}

body.kv2-police-admin .kv2-add-citizen-form {
  max-width: 1500px;
  margin: 0 auto;
}

body.kv2-police-admin .kv2-add-citizen-form .box {
  overflow: hidden;
  margin-bottom: 14px;
  border: 1px solid rgba(14, 91, 124, .16) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 14px 32px rgba(15, 23, 42, .08);
}

body.kv2-police-admin .kv2-add-citizen-form .box.box-solid > .box-header {
  padding: 12px 16px;
  border-bottom: 1px solid rgba(14, 91, 124, .12);
  background: linear-gradient(90deg, #e9f7fb 0%, #ffffff 100%) !important;
  color: #06233f !important;
}

body.kv2-police-admin .kv2-add-citizen-form .box-title {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #06233f;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: 0;
}

body.kv2-police-admin .kv2-add-citizen-form .box-title .fa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: #e1f4fb;
  color: #08708f;
}

body.kv2-police-admin .kv2-add-citizen-form .box-body {
  padding: 14px 16px 16px;
}

body.kv2-police-admin .kv2-add-citizen-form .box-body > .row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px 14px;
  margin: 0;
}

body.kv2-police-admin .kv2-add-citizen-form .box-body > .row > [class*="col-md-"] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(225px, 1fr));
  gap: 12px;
  align-content: start;
  width: auto !important;
  min-width: 0;
  padding: 0 !important;
  float: none !important;
}

body.kv2-police-admin .kv2-add-citizen-form .box-body > .row > .col-md-6 {
  grid-column: span 6;
}

body.kv2-police-admin .kv2-add-citizen-form .box-body > .row > .col-md-4 {
  grid-column: span 4;
}

body.kv2-police-admin .kv2-add-citizen-form .box-body > .row > .col-md-12 {
  grid-column: span 12;
}

body.kv2-police-admin .kv2-add-citizen-form .form-group {
  min-width: 0;
  margin: 0;
}

body.kv2-police-admin .kv2-add-citizen-form label {
  display: block;
  min-height: 18px;
  margin-bottom: 6px;
  color: #0b263f;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.35;
}

body.kv2-police-admin .kv2-add-citizen-form label span[style] {
  color: #dc2626 !important;
  -webkit-text-fill-color: #dc2626 !important;
}

body.kv2-police-admin .kv2-add-citizen-form .input-group {
  width: 100%;
  border-collapse: separate;
}

body.kv2-police-admin .kv2-add-citizen-form .input-group-addon {
  min-width: 42px;
  border-color: #c7deec;
  border-radius: 10px 0 0 10px;
  background: #edf8fc;
  color: #0b7d9b;
}

body.kv2-police-admin .kv2-add-citizen-form .input-group .form-control,
body.kv2-police-admin .kv2-add-citizen-form .form-control {
  min-height: 42px;
  border-color: #c7deec;
  border-radius: 10px;
  background: #ffffff;
  color: #061a2f;
  font-size: 14px;
  font-weight: 650;
  box-shadow: none;
}

body.kv2-police-admin .kv2-add-citizen-form .input-group .form-control:not(:first-child):not(:last-child),
body.kv2-police-admin .kv2-add-citizen-form .input-group .form-control:last-child {
  border-radius: 0 10px 10px 0;
}

body.kv2-police-admin .kv2-add-citizen-form .input-group-btn .btn {
  min-height: 42px;
  border-color: #0f87a3;
  border-radius: 0 10px 10px 0;
  background: linear-gradient(135deg, #157ca5, #0f9f93);
  color: #fff;
  font-weight: 850;
}

body.kv2-police-admin .kv2-add-citizen-form select.form-control {
  padding-right: 28px;
}

body.kv2-police-admin .kv2-add-citizen-form textarea.form-control {
  min-height: 92px;
  resize: vertical;
}

body.kv2-police-admin .kv2-add-citizen-form .form-control:focus {
  border-color: #0f8ca8;
  box-shadow: 0 0 0 3px rgba(15, 140, 168, .14);
}

body.kv2-police-admin .kv2-add-citizen-form .help-note,
body.kv2-police-admin .kv2-add-citizen-form .hint,
body.kv2-police-admin .kv2-add-citizen-form .addr-preview {
  display: block;
  margin-top: 6px;
  color: #52677c;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

body.kv2-police-admin .kv2-add-citizen-form .addr-preview {
  padding: 8px 10px;
  border: 1px dashed rgba(14, 91, 124, .22);
  border-radius: 10px;
  background: #f7fbfe;
}

body.kv2-police-admin .kv2-add-citizen-form .addr-preview .lbl {
  margin-right: 5px;
  color: #0b7d9b;
  font-weight: 900;
}

body.kv2-police-admin .kv2-add-citizen-form #spouseBox .spouse-state-note {
  min-height: 40px;
  margin-bottom: 12px;
  border-radius: 10px;
}

body.kv2-police-admin .kv2-add-citizen-form .kv2-form-actions {
  position: sticky;
  bottom: 10px;
  z-index: 20;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 12px;
  padding: 10px;
  border: 1px solid rgba(14, 91, 124, .16);
  border-radius: 14px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 16px 34px rgba(15, 23, 42, .12);
  backdrop-filter: blur(10px);
}

body.kv2-police-admin .kv2-add-citizen-form .kv2-form-actions .btn {
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 10px;
  font-weight: 900;
}

body.kv2-police-admin .kv2-add-citizen-form .kv2-form-actions .btn-primary {
  border-color: #0f87a3;
  background: linear-gradient(135deg, #157ca5, #0f9f93);
}

@media (max-width: 1199px) {
  body.kv2-police-admin .kv2-add-citizen-form .box-body > .row > .col-md-4 {
    grid-column: span 6;
  }
}

@media (max-width: 767px) {
  body.kv2-police-admin .kv2-add-citizen-page {
    padding: 10px;
  }

  body.kv2-police-admin .kv2-add-citizen-form .box {
    margin-bottom: 12px;
    border-radius: 12px !important;
  }

  body.kv2-police-admin .kv2-add-citizen-form .box.box-solid > .box-header {
    padding: 11px 12px;
  }

  body.kv2-police-admin .kv2-add-citizen-form .box-title {
    font-size: 15px;
  }

  body.kv2-police-admin .kv2-add-citizen-form .box-body {
    padding: 12px;
  }

  body.kv2-police-admin .kv2-add-citizen-form .box-body > .row {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  body.kv2-police-admin .kv2-add-citizen-form .box-body > .row > [class*="col-md-"] {
    grid-column: 1 / -1 !important;
    grid-template-columns: 1fr;
  }

  body.kv2-police-admin .kv2-add-citizen-form label {
    font-size: 12.5px;
  }

  body.kv2-police-admin .kv2-add-citizen-form .input-group .form-control,
  body.kv2-police-admin .kv2-add-citizen-form .form-control,
  body.kv2-police-admin .kv2-add-citizen-form .input-group-addon,
  body.kv2-police-admin .kv2-add-citizen-form .input-group-btn .btn {
    min-height: 44px;
  }

  body.kv2-police-admin .kv2-add-citizen-form .kv2-form-actions {
    left: 10px;
    right: 10px;
    bottom: calc(76px + env(safe-area-inset-bottom, 0px));
    justify-content: stretch;
  }

  body.kv2-police-admin .kv2-add-citizen-form .kv2-form-actions .btn {
    flex: 1 1 0;
    min-width: 0;
    padding: 10px 8px;
  }
}

/* UI13: danh sách công dân - sửa nhập liệu mobile và thêm lọc năm sinh */
body.kv2-police-admin .citizen-list-page .filter-adv {
  position: relative;
  overflow: visible !important;
}

body.kv2-police-admin .citizen-list-page .filter-adv .fa-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
}

body.kv2-police-admin .citizen-list-page .filter-adv .fa-field {
  position: relative;
  min-width: 0;
  overflow: visible !important;
}

body.kv2-police-admin .citizen-list-page .filter-adv .fa-field > i {
  pointer-events: none;
  z-index: 2;
}

body.kv2-police-admin .citizen-list-page .filter-adv .fa-field input,
body.kv2-police-admin .citizen-list-page .filter-adv .fa-field select {
  position: relative;
  z-index: 1;
  min-height: 42px;
  padding-right: 44px !important;
  touch-action: manipulation;
  -webkit-user-select: text;
  user-select: text;
}

body.kv2-police-admin .citizen-list-page .filter-adv .fa-clear {
  position: absolute !important;
  top: 50% !important;
  right: 8px !important;
  left: auto !important;
  z-index: 4 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  max-width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  line-height: 1 !important;
  pointer-events: auto !important;
}

body.kv2-police-admin .citizen-list-page .filter-adv .fa-actions .btn {
  width: auto !important;
}

body.kv2-police-admin .citizen-list-page .filter-adv .badge-chip button {
  display: inline-flex !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin-left: 6px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  line-height: 1 !important;
}

@media (max-width: 1199px) {
  body.kv2-police-admin .citizen-list-page .filter-adv .fa-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body.kv2-police-admin .citizen-list-page .filter-adv {
    padding: 12px !important;
  }

  body.kv2-police-admin .citizen-list-page .filter-adv .fa-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.kv2-police-admin .citizen-list-page .filter-adv .fa-field {
    display: block !important;
  }

  body.kv2-police-admin .citizen-list-page .filter-adv .fa-field input,
  body.kv2-police-admin .citizen-list-page .filter-adv .fa-field select {
    width: 100% !important;
    min-height: 46px !important;
    padding: 11px 44px 11px 38px !important;
    font-size: 15px !important;
  }

  body.kv2-police-admin .citizen-list-page .filter-adv .fa-field > i {
    position: absolute !important;
    left: 13px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  body.kv2-police-admin .citizen-list-page .filter-adv .fa-clear {
    width: 34px !important;
    max-width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    right: 6px !important;
  }

  body.kv2-police-admin .citizen-list-page .filter-adv .fa-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body.kv2-police-admin .citizen-list-page .filter-adv .fa-actions .btn {
    width: 100% !important;
  }
}

/* UI14: trang admin phân quyền 136 đầu mục nâng cấp */
body.kv2-police-admin .permission-admin-page {
  padding: 18px;
  background:
    radial-gradient(circle at 0 0, rgba(21, 128, 151, .10), transparent 32%),
    linear-gradient(180deg, #f5fbff 0%, #eef6fb 100%);
}

body.kv2-police-admin .permission-admin-page .alert {
  max-width: 1500px;
  margin: 0 auto 14px;
  border-radius: 12px;
  font-weight: 800;
}

body.kv2-police-admin .perm-summary,
body.kv2-police-admin .perm-grid {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}

body.kv2-police-admin .perm-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

body.kv2-police-admin .perm-stat {
  padding: 16px;
  border: 1px solid rgba(14, 91, 124, .16);
  border-radius: 14px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

body.kv2-police-admin .perm-stat span {
  display: block;
  color: #52677c;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

body.kv2-police-admin .perm-stat strong {
  display: block;
  margin-top: 4px;
  color: #061a2f;
  font-size: 30px;
  font-weight: 950;
}

body.kv2-police-admin .perm-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
  gap: 14px;
  align-items: start;
}

body.kv2-police-admin .perm-panel {
  overflow: hidden;
  border: 1px solid rgba(14, 91, 124, .16);
  border-radius: 16px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 16px 34px rgba(15, 23, 42, .09);
}

body.kv2-police-admin .perm-panel-head {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(14, 91, 124, .12);
  background: linear-gradient(90deg, #e9f7fb 0%, #ffffff 100%);
}

body.kv2-police-admin .perm-panel-head h3 {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 0;
  color: #06233f;
  font-size: 18px;
  font-weight: 950;
}

body.kv2-police-admin .perm-panel-head p {
  margin: 5px 0 0;
  color: #52677c;
  font-weight: 700;
}

body.kv2-police-admin .perm-role-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 16px 0;
}

body.kv2-police-admin .perm-role-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid #c7deec;
  border-radius: 999px;
  background: #f8fcff;
  color: #0b3559;
  font-weight: 900;
}

body.kv2-police-admin .perm-role-tabs a.active {
  border-color: #0f87a3;
  background: linear-gradient(135deg, #157ca5, #0f9f93);
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.kv2-police-admin .perm-form {
  padding: 16px;
}

body.kv2-police-admin .perm-form.compact {
  border-top: 1px solid rgba(14, 91, 124, .12);
}

body.kv2-police-admin .perm-selected-title,
body.kv2-police-admin .perm-user-card {
  display: grid;
  gap: 3px;
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid #d6e7f1;
  border-radius: 12px;
  background: #f8fcff;
}

body.kv2-police-admin .perm-selected-title strong,
body.kv2-police-admin .perm-user-card strong {
  color: #061a2f;
  font-size: 16px;
  font-weight: 950;
}

body.kv2-police-admin .perm-selected-title span,
body.kv2-police-admin .perm-user-card span,
body.kv2-police-admin .perm-user-card em,
body.kv2-police-admin .perm-muted {
  color: #52677c;
  font-size: 13px;
  font-weight: 750;
}

body.kv2-police-admin .perm-account-select {
  padding: 14px 16px 0;
}

body.kv2-police-admin .perm-account-select select,
body.kv2-police-admin .perm-override-options select {
  width: 100%;
  min-height: 42px;
  border: 1px solid #c7deec;
  border-radius: 10px;
  background: #fff;
  color: #061a2f;
  font-weight: 800;
}

body.kv2-police-admin .perm-user-card {
  margin: 14px 16px;
}

body.kv2-police-admin .perm-mini-title {
  margin-bottom: 8px;
  color: #06233f;
  font-size: 15px;
  font-weight: 950;
}

body.kv2-police-admin .perm-group {
  margin-bottom: 10px;
  border: 1px solid #d6e7f1;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

body.kv2-police-admin .perm-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 13px;
  cursor: pointer;
  background: #f1f8fc;
  color: #06233f;
  font-weight: 950;
}

body.kv2-police-admin .perm-group summary em {
  color: #52677c;
  font-size: 12px;
  font-style: normal;
}

body.kv2-police-admin .perm-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
}

body.kv2-police-admin .perm-check,
body.kv2-police-admin .perm-role-assign label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  min-width: 0;
  margin: 0;
  padding: 10px;
  border: 1px solid #e0edf5;
  border-radius: 10px;
  background: #fbfdff;
  color: #0b3559;
}

body.kv2-police-admin .perm-check input,
body.kv2-police-admin .perm-role-assign input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 2px;
}

body.kv2-police-admin .perm-check strong {
  display: block;
  color: #061a2f;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.3;
}

body.kv2-police-admin .perm-check small {
  display: block;
  margin-top: 3px;
  color: #6b7f91;
  font-family: Consolas, Menlo, monospace;
  font-size: 11px;
}

body.kv2-police-admin .perm-role-assign {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

body.kv2-police-admin .perm-override-list {
  display: grid;
  gap: 8px;
  padding: 12px;
}

body.kv2-police-admin .perm-override-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid #e0edf5;
  border-radius: 10px;
  background: #fbfdff;
}

body.kv2-police-admin .perm-override-row strong {
  display: block;
  color: #061a2f;
  font-weight: 900;
}

body.kv2-police-admin .perm-override-row small {
  color: #6b7f91;
  font-family: Consolas, Menlo, monospace;
}

body.kv2-police-admin .perm-override-options {
  display: grid;
  gap: 6px;
}

body.kv2-police-admin .perm-override-options span {
  display: inline-flex;
  justify-content: center;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

body.kv2-police-admin .perm-override-options span.ok {
  background: #dcfce7;
  color: #166534;
}

body.kv2-police-admin .perm-override-options span.no {
  background: #fee2e2;
  color: #991b1b;
}

body.kv2-police-admin .perm-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}

body.kv2-police-admin .perm-actions .btn {
  min-height: 42px;
  border-radius: 10px;
  font-weight: 900;
}

body.kv2-police-admin .perm-lock-note {
  color: #52677c;
  font-weight: 850;
}

@media (max-width: 1199px) {
  body.kv2-police-admin .perm-grid,
  body.kv2-police-admin .perm-summary {
    grid-template-columns: 1fr 1fr;
  }

  body.kv2-police-admin .perm-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  body.kv2-police-admin .permission-admin-page {
    padding: 10px;
  }

  body.kv2-police-admin .perm-summary,
  body.kv2-police-admin .perm-check-grid,
  body.kv2-police-admin .perm-role-assign,
  body.kv2-police-admin .perm-override-row {
    grid-template-columns: 1fr;
  }

  body.kv2-police-admin .perm-stat {
    padding: 12px;
  }

  body.kv2-police-admin .perm-stat strong {
    font-size: 24px;
  }

  body.kv2-police-admin .perm-role-tabs {
    display: grid;
    grid-template-columns: 1fr;
  }

  body.kv2-police-admin .perm-actions,
  body.kv2-police-admin .perm-actions .btn {
    width: 100%;
  }
}

/* UI15: trang hệ thống, audit, backup, health check, update database */
body.kv2-police-admin .system-admin-page {
  color: #082033;
  padding-bottom: 32px;
}

body.kv2-police-admin .system-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

body.kv2-police-admin .system-summary > div,
body.kv2-police-admin .system-panel,
body.kv2-police-admin .system-filter-card {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid #c8dceb;
  border-radius: 14px;
  box-shadow: 0 18px 42px rgba(15, 52, 77, 0.08);
}

body.kv2-police-admin .system-summary > div,
body.kv2-police-admin .system-panel {
  padding: 18px;
}

body.kv2-police-admin .system-summary span,
body.kv2-police-admin .system-muted {
  color: #58708a;
}

body.kv2-police-admin .system-summary strong {
  display: block;
  margin-top: 8px;
  font-size: 28px;
  line-height: 1.1;
}

body.kv2-police-admin .system-grid {
  display: grid;
  gap: 18px;
  margin-bottom: 18px;
}

body.kv2-police-admin .system-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.kv2-police-admin .system-panel {
  margin-bottom: 18px;
}

body.kv2-police-admin .system-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

body.kv2-police-admin .system-panel-head h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 800;
}

body.kv2-police-admin .system-panel-head span {
  color: #58708a;
  font-weight: 700;
}

body.kv2-police-admin .system-filter-card {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr 150px 150px auto;
  gap: 12px;
  align-items: end;
  padding: 16px;
  margin-bottom: 18px;
}

body.kv2-police-admin .system-filter-card label {
  display: block;
  margin-bottom: 6px;
  font-weight: 800;
}

body.kv2-police-admin .system-filter-actions {
  display: flex;
  gap: 8px;
}

body.kv2-police-admin .system-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e8f6fb;
  color: #0c6f8b;
  font-weight: 800;
}

body.kv2-police-admin .system-check-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
}

body.kv2-police-admin ul.system-check-list {
  padding-left: 18px;
}

body.kv2-police-admin .system-check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  border: 1px solid #d8e8f2;
  border-radius: 12px;
  background: #f7fbfe;
}

body.kv2-police-admin .system-check i {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 9px;
  background: #e8f6fb;
  color: #0f86a6;
}

body.kv2-police-admin .system-check.bad i {
  background: #fff0ee;
  color: #c13b2f;
}

body.kv2-police-admin .system-check.skip i {
  background: #fff8de;
  color: #a97900;
}

body.kv2-police-admin .system-check strong,
body.kv2-police-admin .system-check span {
  display: block;
}

body.kv2-police-admin .system-check span {
  color: #58708a;
}

body.kv2-police-admin .system-quality-list {
  display: grid;
  gap: 10px;
}

body.kv2-police-admin .system-quality-list > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid #d8e8f2;
  border-radius: 12px;
  background: #f7fbfe;
}

body.kv2-police-admin .system-quality-list.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.kv2-police-admin .system-quality-list strong {
  font-size: 20px;
}

body.kv2-police-admin .system-pagination {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 14px;
}

body.kv2-police-admin .system-pagination a {
  min-width: 34px;
  padding: 7px 10px;
  border: 1px solid #c8dceb;
  border-radius: 10px;
  text-align: center;
  font-weight: 800;
  color: #0b5f80;
  background: #fff;
}

body.kv2-police-admin .system-pagination a.active {
  color: #fff;
  background: #0f86a6;
  border-color: #0f86a6;
}

@media (max-width: 1100px) {
  body.kv2-police-admin .system-filter-card {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body.kv2-police-admin .system-summary,
  body.kv2-police-admin .system-grid.two,
  body.kv2-police-admin .system-filter-card,
  body.kv2-police-admin .system-quality-list.compact {
    grid-template-columns: 1fr;
  }

  body.kv2-police-admin .system-panel,
  body.kv2-police-admin .system-filter-card {
    padding: 14px;
    border-radius: 12px;
  }

  body.kv2-police-admin .system-panel-head {
    align-items: flex-start;
    flex-direction: column;
  }

  body.kv2-police-admin .system-filter-actions {
    flex-wrap: wrap;
  }

  body.kv2-police-admin .system-admin-page .kv2-data-table thead {
    display: none;
  }

  body.kv2-police-admin .system-admin-page .kv2-data-table,
  body.kv2-police-admin .system-admin-page .kv2-data-table tbody,
  body.kv2-police-admin .system-admin-page .kv2-data-table tr,
  body.kv2-police-admin .system-admin-page .kv2-data-table td {
    display: block;
    width: 100%;
  }

  body.kv2-police-admin .system-admin-page .kv2-data-table tr {
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid #d8e8f2;
    border-radius: 12px;
    background: #fff;
  }

  body.kv2-police-admin .system-admin-page .kv2-data-table td {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border: 0;
    padding: 8px 0;
    white-space: normal;
    word-break: break-word;
  }

  body.kv2-police-admin .system-admin-page .kv2-data-table td::before {
    content: attr(data-label);
    flex: 0 0 42%;
    color: #58708a;
    font-weight: 800;
  }
}

/* Final guard: topbar notification/account panels must never stay visible after page load. */
body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.notifications-menu:not(.open):not(.show) > .dropdown-menu:not(.show),
body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.user-menu:not(.open):not(.show) > .dropdown-menu:not(.show) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.notifications-menu.open > .dropdown-menu,
body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.notifications-menu.show > .dropdown-menu,
body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.notifications-menu > .dropdown-menu.show,
body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.user-menu.open > .dropdown-menu,
body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.user-menu.show > .dropdown-menu,
body.kv2-police-admin .main-header .navbar-custom-menu > .nav > li.user-menu > .dropdown-menu.show {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
