/* KLM v14 pre-deployment navigation/footer polish
   Single official navbar style across all pages. No decorative icons beside menu labels. */
.kl-navbar {
  background: linear-gradient(90deg, #0b1222 0%, #101a34 45%, #132f7a 100%) !important;
  border-bottom: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 28px rgba(2,6,23,.18);
}
.kl-navbar .container,
.kl-navbar .container-fluid { max-width: 1500px; }
.klm-brand {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
  white-space: nowrap;
  color: #fff !important;
  font-weight: 800;
  letter-spacing: .01em;
}
.klm-brand-short {
  font-size: 1.3rem;
  font-weight: 900;
}
.klm-brand-badge {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  border-radius: 999px;
  padding: .35rem .75rem;
  color: rgba(255,255,255,.92);
  font-size: .9rem;
  font-weight: 700;
  max-width: 16rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kl-navbar .navbar-nav .nav-link {
  color: rgba(255,255,255,.94) !important;
  font-weight: 700;
  padding: .72rem .9rem;
  border-radius: .85rem;
  white-space: nowrap;
}
.kl-navbar .navbar-nav .nav-link:hover,
.kl-navbar .navbar-nav .nav-link:focus {
  color: #fff !important;
  background: rgba(255,255,255,.10);
}
.kl-navbar .dropdown-menu {
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 20px 55px rgba(2, 6, 23, .25);
  padding: .55rem;
  margin-top: .55rem;
}
.kl-navbar .dropdown-item {
  border-radius: .7rem;
  padding: .6rem .8rem;
  font-weight: 600;
}
.kl-navbar .dropdown-item:hover,
.kl-navbar .dropdown-item:focus {
  background: rgba(19, 47, 122, .10);
}
.kl-navbar .dropdown-header {
  color: #64748b;
  font-weight: 800;
  font-size: .72rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.kl-navbar .kl-nav-primary { gap: .2rem; }
.kl-navbar .kl-nav-icon,
.kl-navbar i,
.kl-navbar .fa,
.kl-navbar .fas,
.kl-navbar .fa-solid,
.kl-navbar .fa-regular {
  display: none !important;
}
.klm-lang-pill,
.klm-user-pill,
.klm-register-btn {
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: .85rem !important;
}
.klm-register-btn {
  color: #fff !important;
  font-weight: 800;
  padding: .68rem 1rem;
}
.klm-register-btn:hover { background: rgba(255,255,255,.18) !important; }
.kl-footer {
  background: linear-gradient(90deg, #0b1222 0%, #101a34 45%, #132f7a 100%) !important;
  border-top: 1px solid rgba(255,255,255,.10);
}
@media (max-width: 1399px) and (min-width: 992px) {
  .kl-navbar .navbar-nav .nav-link { font-size: .92rem; padding-left: .55rem; padding-right: .55rem; }
  .klm-brand-badge { max-width: 12rem; }
}
@media (max-width: 1199px) and (min-width: 992px) {
  .klm-brand-badge { display: none; }
  .klm-brand-short { font-size: 1.15rem; }
  .kl-navbar .navbar-nav .nav-link { font-size: .86rem; padding-left: .42rem; padding-right: .42rem; }
}
@media (max-width: 991px) {
  .kl-navbar .navbar-collapse { padding-top: 1rem; }
  .kl-navbar .navbar-nav { gap: .25rem; }
  .klm-brand-badge { max-width: 11rem; }
}

/* v16 final polish: one clean navigation option for each user's landing page,
   fixed footer position on short pages, and consistent official footer style. */
html, body { min-height: 100%; }
.kl-body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.kl-page {
  flex: 1 0 auto;
  width: 100%;
}
.kl-footer {
  flex-shrink: 0;
  margin-top: auto !important;
  background: linear-gradient(90deg, #0b1222 0%, #101a34 45%, #132f7a 100%) !important;
  border-top: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 -10px 28px rgba(2,6,23,.12);
}
.kl-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  max-width: 1500px;
}
.kl-footer-copy { text-align: right; }
.klm-brand { cursor: default; }
.klm-role-nav .navbar-brand:hover { text-decoration: none; }
.kl-navbar .navbar-nav .nav-link.dropdown-toggle::after { margin-left: .35rem; }
@media (max-width: 767px) {
  .kl-footer-inner { display: block; text-align: left; }
  .kl-footer-copy { text-align: left; margin-top: 1rem; }
}

/* v16 analytics chart cards */
.klm-chart-card {
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 10px 30px rgba(15,23,42,.08);
}
.klm-chart-card .card-header {
  background: #fff;
  border-bottom: 1px solid rgba(148,163,184,.22);
  font-weight: 800;
}
.klm-risk-explainer {
  background: linear-gradient(135deg, rgba(14,165,233,.10), rgba(37,99,235,.08));
  border: 1px solid rgba(37,99,235,.18);
  border-radius: 1rem;
}
