:root {
  --kx-green-900: #00154d; --kx-green-700: #0a2472; --kx-green-500: #1c4ed8; --kx-lime: #fecd03;
  --kx-orange: #fd6001; --kx-orange-soft: #fff1e6; --kx-ink: #0d1633; --kx-muted: #5f6a85; --kx-line: #e6eaf4; --kx-bg: #f4f6fc;
  --bs-primary: #0a2472; --bs-primary-rgb: 10, 36, 114; --bs-link-color: #0a2472; --bs-link-color-rgb: 10, 36, 114; --bs-link-hover-color: #00154d; --bs-link-hover-color-rgb: 0, 21, 77;
  --bs-body-font-family: "Segoe UI", system-ui, -apple-system, "Noto Sans Devanagari", sans-serif;
  --bs-body-color: #0d1633; --bs-body-bg: #f4f6fc; --bs-border-color: #e6eaf4;
}
.btn-primary { --bs-btn-bg: #0a2472; --bs-btn-border-color: #0a2472; --bs-btn-hover-bg: #00154d; --bs-btn-hover-border-color: #00154d; --bs-btn-active-bg: #00154d; --bs-btn-active-border-color: #00154d; --bs-btn-disabled-bg: #0a2472; --bs-btn-disabled-border-color: #0a2472; }
.btn-accent { --bs-btn-color: #fff; --bs-btn-bg: #fd6001; --bs-btn-border-color: #fd6001; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #d14a00; --bs-btn-hover-border-color: #d14a00; --bs-btn-active-color: #fff; --bs-btn-active-bg: #d14a00; font-weight: 600; }
.btn-outline-primary { --bs-btn-color: #0a2472; --bs-btn-border-color: #0a2472; --bs-btn-hover-bg: #0a2472; --bs-btn-hover-border-color: #0a2472; --bs-btn-active-bg: #0a2472; --bs-btn-active-border-color: #0a2472; }
.form-control, .form-select { background-color: #fff; }
.form-control:focus, .form-select:focus { border-color: #1c4ed8; box-shadow: 0 0 0 .2rem rgba(28,78,216,.15); }
.form-check-input:checked { background-color: #0a2472; border-color: #0a2472; }
.page-link { color: #0a2472; } .active > .page-link { background: #0a2472; border-color: #0a2472; }

.kx-shell { display: flex; min-height: 100vh; }
.kx-sidebar { width: 248px; flex: 0 0 248px; background: linear-gradient(180deg, #00154d, #0a2472 70%, #002c8a); color: #fff; position: sticky; top: 0; height: 100vh; overflow-y: auto; display: flex; flex-direction: column; }
.kx-brand { padding: 12px 14px; margin: 14px; background: #fff; border-radius: 16px; text-align: center; }
.kx-brand img { max-height: 44px; max-width: 100%; }
.kx-nav { padding: 4px 12px; flex: 1; }
.kx-nav .kx-group { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; opacity: .6; padding: 14px 12px 6px; }
.kx-nav a { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 10px; color: rgba(255,255,255,.88); text-decoration: none; font-weight: 500; font-size: 14.5px; margin-bottom: 2px; }
.kx-nav a:hover { background: rgba(255,255,255,.1); color: #fff; }
.kx-nav a.active { background: #fff; color: #00154d; font-weight: 600; }
.kx-nav .kx-pill { margin-left: auto; background: #fd6001; color: #fff; border-radius: 999px; font-size: 11.5px; font-weight: 700; padding: 1px 8px; }
.kx-main { flex: 1; min-width: 0; }
.kx-topbar { background: #fff; border-bottom: 1px solid var(--kx-line); padding: 12px 24px; display: flex; align-items: center; gap: 12px; position: sticky; top: 0; z-index: 10; }
.kx-topbar h1 { font-size: 19px; font-weight: 700; margin: 0; }
.kx-content { padding: 24px; max-width: 1400px; }
.kx-card { background: #fff; border: 1px solid var(--kx-line); border-radius: 14px; box-shadow: 0 1px 2px rgba(0,21,77,.06); }
.kx-card-head { padding: 14px 18px; border-bottom: 1px solid var(--kx-line); font-weight: 650; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.kx-card-body { padding: 18px; }
.kx-stat { padding: 16px 18px; height: 100%; }
.kx-stat .label { color: var(--kx-muted); font-size: 13px; font-weight: 500; }
.kx-stat .value { font-size: 26px; font-weight: 750; font-variant-numeric: tabular-nums; line-height: 1.25; margin-top: 2px; }
.kx-stat .hint { color: var(--kx-muted); font-size: 12.5px; }
.kx-stat.is-accent { background: linear-gradient(135deg, #00154d, #002c8a); color: #fff; border: 0; }
.kx-stat.is-accent .label, .kx-stat.is-accent .hint { color: rgba(255,255,255,.82); }
.kx-stat.is-warm { background: var(--kx-orange-soft); border-color: #ffd9bf; }
.kx-stat.is-warm .value { color: #c84d00; }
.table { --bs-table-border-color: var(--kx-line); margin: 0; font-size: 14px; }
.table thead th { color: var(--kx-muted); font-weight: 600; font-size: 12.5px; text-transform: uppercase; letter-spacing: .03em; white-space: nowrap; background: #f8faff; }
.table td, .table th { padding: 11px 14px; vertical-align: middle; }
.num { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.badge-soft-green { background: #e2f6ee; color: #0b8a5b; } .badge-soft-red { background: #fde8e8; color: #b42318; }
.badge-soft-orange { background: var(--kx-orange-soft); color: #c84d00; } .badge-soft-grey { background: #eef1f8; color: #4d5c53; }
.badge { font-weight: 600; }
.kx-tabs .nav-link { color: var(--kx-muted); font-weight: 600; } .kx-tabs .nav-link.active { color: var(--kx-green-700); border-bottom: 2px solid var(--kx-green-700); }
.kx-thumb { width: 40px; height: 40px; object-fit: cover; border-radius: 8px; background: #eef1f8; display: inline-flex; align-items: center; justify-content: center; color: #93a199; }
.kx-login { min-height: 100vh; display: grid; place-items: center; background: radial-gradient(1000px 500px at 80% -10%, rgba(253,96,1,.28), transparent), linear-gradient(135deg, #00154d, #002c8a); padding: 16px; }
.kx-login-card { background: #fff; border-radius: 22px; padding: 32px; width: 100%; max-width: 410px; box-shadow: 0 24px 60px rgba(0,0,0,.25); }
.kx-menu-toggle { display: none; }
@media (max-width: 991px) {
  .kx-sidebar { position: fixed; left: -260px; z-index: 40; transition: left .2s; }
  .kx-sidebar.open { left: 0; }
  .kx-menu-toggle { display: inline-flex; }
  .kx-content { padding: 16px; }
}

.btn-accent { background-image: linear-gradient(90deg, #ff9500, #fd6001); border: 0; box-shadow: 0 8px 18px rgba(253,96,1,.28); }
.kx-card { box-shadow: 0 6px 18px rgba(0,21,77,.05); }
.kx-card:hover { box-shadow: 0 8px 22px rgba(0,21,77,.08); }
