:root{
  --kj-brown:#6f3a2a;
  --kj-brown-dark:#53261b;
  --kj-gold:#c49a5a;
  --kj-bg:#f7f4f1;
  --kj-card:#ffffff;
  --kj-text:#302a27;
  --kj-muted:#7a716d;
  --kj-border:#e8dfda;
  --kj-success:#2f7d53;
  --kj-danger:#b24040;
}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  background:var(--kj-bg);
  color:var(--kj-text);
}
.kj-shell{min-height:100vh}
.kj-topbar{
  height:64px;
  background:#fff;
  border-bottom:1px solid var(--kj-border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 18px;
  position:fixed;
  inset:0 0 auto 0;
  z-index:1030;
}
.kj-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--kj-text)}
.kj-brand-mark{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--kj-brown),var(--kj-gold));
  color:white;font-weight:800;font-size:19px;
}
.kj-brand-title{font-weight:700;line-height:1.05}
.kj-brand-sub{font-size:12px;color:var(--kj-muted)}
.kj-user{display:flex;align-items:center;gap:10px}
.kj-user-avatar{
  width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;background:#f1e8e2;color:var(--kj-brown);font-weight:700
}
.kj-sidebar{
  width:260px;
  position:fixed;
  left:0;top:64px;bottom:0;
  background:var(--kj-brown-dark);
  color:white;
  padding:16px 10px 24px;
  overflow:auto;
  transition:transform .2s ease;
  z-index:1025;
}
.kj-menu-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#cdbdb6;padding:10px 12px 6px}
.kj-nav a,.kj-nav button{
  width:100%;display:flex;align-items:center;gap:10px;
  text-decoration:none;border:0;background:transparent;color:#f8efeb;
  padding:10px 12px;border-radius:10px;margin:2px 0;text-align:left;
}
.kj-nav a:hover,.kj-nav button:hover,.kj-nav a.active{background:rgba(255,255,255,.11);color:#fff}
.kj-nav .submenu{padding-left:12px}
.kj-content{margin-left:260px;padding:86px 22px 32px}
.kj-page-head{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:18px}
.kj-page-title{font-size:24px;font-weight:750;margin:0}
.kj-page-sub{color:var(--kj-muted);font-size:13px;margin-top:3px}
.kj-card{
  background:var(--kj-card);
  border:1px solid var(--kj-border);
  border-radius:16px;
  box-shadow:0 6px 18px rgba(69,45,34,.05);
}
.kj-card-head{padding:16px 18px;border-bottom:1px solid var(--kj-border);font-weight:700}
.kj-card-body{padding:18px}
.form-label{font-size:12px;font-weight:650;color:#5c514c;margin-bottom:5px}
.form-control,.form-select{
  min-height:42px;border-radius:10px;border-color:#dcd2cd;
}
.form-control:focus,.form-select:focus{border-color:#b98b6e;box-shadow:0 0 0 .2rem rgba(111,58,42,.12)}
.kj-required::after{content:" *";color:var(--kj-danger)}
.btn-kj{
  background:var(--kj-brown);border-color:var(--kj-brown);color:#fff;
  border-radius:10px;padding:.58rem 1rem;font-weight:650;
}
.btn-kj:hover{background:var(--kj-brown-dark);border-color:var(--kj-brown-dark);color:#fff}
.btn-soft{background:#f3ece8;border:1px solid #e6d8d0;color:var(--kj-brown);border-radius:10px}
.kj-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}
.kj-badge.active{background:#e7f4ed;color:#2c724c}
.kj-badge.inactive{background:#f8e8e8;color:#a13f3f}
.kj-table thead th{font-size:12px;color:#685e58;background:#fbf8f6;white-space:nowrap}
.kj-table td{vertical-align:middle;font-size:13px}
.kj-empty{padding:28px;text-align:center;color:var(--kj-muted)}
.kj-mobile-toggle{display:none}
.kj-overlay{display:none}
.kj-sticky-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}
.validation-summary-errors{background:#fff1f1;border:1px solid #f3c7c7;color:#8e2f2f;padding:12px 14px;border-radius:10px;margin-bottom:14px}
.field-validation-error{color:#a63b3b;font-size:12px}
.kj-alert{padding:11px 13px;border-radius:10px;margin-bottom:14px}
.kj-alert-success{background:#eaf6ef;color:#276744;border:1px solid #cfe8da}
.kj-alert-danger{background:#fff0f0;color:#963a3a;border:1px solid #efcccc}
.kj-search{max-width:360px}

@media(max-width:991.98px){
  .kj-mobile-toggle{display:inline-flex}
  .kj-sidebar{transform:translateX(-100%);width:280px}
  .kj-sidebar.open{transform:translateX(0)}
  .kj-overlay{position:fixed;inset:64px 0 0 0;background:rgba(0,0,0,.35);z-index:1020}
  .kj-overlay.show{display:block}
  .kj-content{margin-left:0;padding:82px 14px 84px}
  .kj-brand-sub{display:none}
  .kj-page-head{align-items:flex-start;flex-direction:column}
  .kj-card-body{padding:14px}
  .kj-sticky-actions{
    position:fixed;left:0;right:0;bottom:0;z-index:1010;
    background:#fff;border-top:1px solid var(--kj-border);
    padding:10px 12px;margin:0;box-shadow:0 -8px 18px rgba(0,0,0,.05)
  }
  .kj-sticky-actions .btn{flex:1;min-height:44px}
}

.kj-logo-img{width:50px;height:50px;object-fit:contain;border-radius:50%;background:#fff}
.kj-login-logo{width:96px;height:96px;object-fit:contain;border-radius:50%;background:#fff}
.kj-action-btns{display:flex;gap:6px;flex-wrap:wrap}
.kj-rights-table th,.kj-rights-table td{text-align:center;vertical-align:middle}
.kj-rights-table th:first-child,.kj-rights-table td:first-child{text-align:left}

/* Prevent visible layout jump during ASP.NET async partial postback. */
.kj-async-busy{opacity:.72;pointer-events:none}


/* Product Master aligned master-entry row */
[id$="upProductControls"]{
    display:block;
    width:100%;
}

.kj-active-switch{
    min-height:42px;
    display:flex;
    align-items:center;
    gap:8px;
    padding-left:2.8rem;
}

.kj-active-switch .form-check-input{
    width:2.6rem;
    height:1.35rem;
    margin-top:0;
}

@media (min-width:1200px){
    [id$="upProductControls"] .row > [class*="col-"]{
        display:flex;
        flex-direction:column;
        justify-content:flex-end;
    }
}


/* Keyboard focus: keep a visible light brand shade instead of white. */
.btn-kj:focus,
.btn-kj:focus-visible{
  background:#8b5a48 !important;
  border-color:#6f3a2a !important;
  color:#fff !important;
  box-shadow:0 0 0 .22rem rgba(196,154,90,.32) !important;
}
.btn-soft:focus,
.btn-soft:focus-visible{
  background:#eaded6 !important;
  border-color:#cdb5a8 !important;
  color:#6f3a2a !important;
  box-shadow:0 0 0 .22rem rgba(196,154,90,.25) !important;
}
.btn-outline-danger:focus,
.btn-outline-danger:focus-visible{
  background:#f7dddd !important;
  color:#922f2f !important;
  box-shadow:0 0 0 .22rem rgba(178,64,64,.18) !important;
}
