:root {
  --gov-blue: #0b3d66;
  --gov-blue-dark: #072a47;
  --gov-gold: #c9a227;
  --gov-bg: #f4f7fa;
}

body {
  font-family: 'Sarabun', sans-serif;
  background-color: var(--gov-bg);
  color: #1f2937;
}

.gov-navbar {
  background: linear-gradient(90deg, var(--gov-blue-dark), var(--gov-blue));
  border-bottom: 3px solid var(--gov-gold);
}

.gov-navbar .container {
  flex-wrap: nowrap;
}
.gov-navbar .navbar-toggler {
  flex-shrink: 0;
}
.gov-navbar .nav-link {
  color: rgba(255,255,255,.9);
  border-radius: .375rem;
  transition: background-color .15s ease, color .15s ease;
}
.gov-navbar .nav-link:hover,
.gov-navbar .nav-link:focus {
  color: #fff;
  background-color: rgba(255,255,255,.12);
}

.gov-offcanvas {
  background: linear-gradient(180deg, var(--gov-blue-dark), var(--gov-blue));
  width: 280px;
}
.gov-offcanvas .nav-link {
  color: rgba(255,255,255,.85);
  padding: .9rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.gov-offcanvas .nav-link:hover,
.gov-offcanvas .nav-link:focus {
  background: rgba(255,255,255,.08);
  color: #fff;
}

.gov-footer {
  background: var(--gov-blue-dark);
}

.footer-stat-box {
  background: rgba(255,255,255,.06);
  border-radius: .5rem;
  padding: .6rem .4rem;
  color: #fff;
}

.hero-banner {
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}

.stat-card {
  border: none;
  border-radius: 1rem;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
  transition: transform .15s ease;
}
.stat-card:hover { transform: translateY(-3px); }

.stat-card .icon-circle {
  width: 54px; height: 54px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
  color: #fff;
}

.bg-gov-blue { background: var(--gov-blue) !important; }
.bg-gov-gold { background: var(--gov-gold) !important; }

.card-section {
  border: none;
  border-radius: 1rem;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
}

.form-step-review dt { color: #6b7280; font-weight: 500; }
.form-step-review dd { font-weight: 600; }

.password-wrap { position: relative; }
.password-wrap input { padding-right: 2.5rem; }
.password-toggle {
  position: absolute;
  right: .6rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #6b7280;
  padding: 0;
  line-height: 1;
}
.password-toggle:hover { color: #374151; }

/* Admin layout */
.admin-sidebar {
  min-height: 100vh;
  background: var(--gov-blue-dark) !important;
}
.admin-sidebar .nav-link {
  color: rgba(255,255,255,.75);
  border-radius: .5rem;
  margin-bottom: .2rem;
}
.admin-sidebar .nav-link.active,
.admin-sidebar .nav-link:hover {
  background: rgba(255,255,255,.1);
  color: #fff;
}
.admin-sidebar .navbar-brand { color: #fff; }
