:root{
  --auth-primary:#37506f;
  --auth-primary-hover:#405d80;
  --auth-primary-active:#2f455f;
  --auth-page:#ecedf0;
  --auth-text:#0F172A;
  --auth-strong:#0F172A;
  --auth-border:#d8d8d8;
  --auth-danger:#b94a48;
}

*{box-sizing:border-box}
html{font-size:10px;background:var(--auth-page)}
body{margin:0}
body.login-page{
  background:var(--auth-page);
  color:var(--auth-text);
  font-family:Tahoma,"Segoe UI",Arial,sans-serif;
  font-size:13px;
  line-height:22px;
  min-height:100vh;
}

/* Behin Bazaar sign-in geometry, adapted from the supplied theme. */
.body-sign{
  display:table;
  height:100vh;
  margin:0 auto;
  max-width:500px;
  padding:0 15px;
  width:100%;
}
.body-sign .center-sign{
  display:table-cell;
  padding-top:50px;
  vertical-align:middle;
}

.login-logo{
  display:inline-block;
  height:54px;
  margin:0 0 18px 0;
  text-decoration:none;
  vertical-align:middle;
}
.login-logo-mask{
  display:block;
  height:54px;
  max-width:230px;
}
.login-logo-mask img{
  display:block;
  height:54px;
  max-width:230px;
  object-fit:contain;
  object-position:left center;
  transform:none;
  filter:none;
}

.panel{background:transparent;border:0;box-shadow:none;margin:0}
.panel-sign{background:transparent}
.panel-title-sign{
  display:flex;
  justify-content:flex-end;
  min-height:46px;
  text-align:right;
}
.panel-title-sign .title{
  align-items:center;
  background:var(--auth-primary);
  border-radius:5px 5px 0 0;
  color:#fff;
  display:inline-flex;
  font-size:1.2rem;
  font-weight:700;
  gap:7px;
  letter-spacing:normal;
  line-height:2rem;
  margin:0;
  padding:13px 17px;
  text-transform:none;
  vertical-align:bottom;
}
.title-user-icon{
  fill:currentColor;
  height:15px;
  width:15px;
}

.panel-sign .panel-body{
  background:#fff;
  border-radius:5px 0 5px 5px;
  border-top:5px solid var(--auth-primary);
  box-shadow:0 1px 2px rgba(0,0,0,.10);
  padding:33px 33px 23px;
}

.form-group{margin:0 0 20px}
.form-group label{
  color:#0F172A;
  display:block;
  font-size:13px;
  font-weight:400;
  margin:0 0 6px;
}
.input-group{display:block;position:relative;width:100%}
.form-control{
  background:#fff;
  border:1px solid #ccc;
  border-radius:4px;
  box-shadow:inset 0 1px 1px rgba(0,0,0,.075);
  color:#0F172A;
  display:block;
  font:inherit;
  height:46px;
  line-height:1.3333333;
  padding:10px 16px;
  transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  width:100%;
}
.form-control:focus{
  border-color:#2DBC82;
  box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 0 3px rgba(45,188,130,.14);
  outline:0;
}

.login-actions-row{
  align-items:center;
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(110px,1fr);
  gap:15px;
  margin-top:4px;
}
.remember-column{min-width:0}
.button-column{text-align:right}

.checkbox-custom{
  margin:8px 0 0;
  padding:0 0 0 25px;
  position:relative;
}
.checkbox-custom input[type="checkbox"]{
  cursor:pointer;
  left:3px;
  margin:-6px 0 0;
  opacity:0;
  position:absolute;
  top:50%;
  z-index:2;
}
.checkbox-custom label{
  color:#0F172A;
  cursor:pointer;
  display:block;
  font-size:13px;
  font-weight:400;
  line-height:18px;
  margin:0;
  position:relative;
  width:100%;
}
.checkbox-custom label::before{
  background:#fff;
  border:1px solid #bbb;
  border-radius:2px;
  content:"";
  display:inline-block;
  height:18px;
  left:-25px;
  position:absolute;
  top:0;
  width:19px;
}
.checkbox-custom input[type="checkbox"]:checked + label::after{
  color:#2DBC82;
  content:"✓";
  font-family:Arial,sans-serif;
  font-size:14px;
  font-weight:700;
  left:-22px;
  line-height:18px;
  position:absolute;
  top:-1px;
}

.btn{
  border:1px solid transparent;
  border-radius:4px;
  cursor:pointer;
  display:inline-block;
  font-family:inherit;
  font-size:13px;
  font-weight:400;
  line-height:1.42857143;
  padding:6px 14px;
  text-align:center;
  vertical-align:middle;
  white-space:normal;
}
.btn-primary{
  background-color:var(--auth-primary);
  border-color:var(--auth-primary) var(--auth-primary) var(--auth-primary-active);
  color:#fff;
  text-shadow:0 -1px 0 rgba(0,0,0,.25);
}
.btn-primary:hover{background:var(--auth-primary-hover);border-color:var(--auth-primary-hover)}
.btn-primary:active,.btn-primary:focus{background:var(--auth-primary-active);border-color:var(--auth-primary-active);outline:0}
.login-submit{min-width:86px}

.login-error{
  background:#f2dede;
  border:1px solid #ebccd1;
  border-radius:4px;
  color:var(--auth-danger);
  margin:0 0 20px;
  padding:10px 13px;
}
.login-copyright{
  color:#64748B;
  font-size:11px;
  margin-top:14px;
  text-align:center;
}

/* Keep the existing setup/access-denied pages functional. */
.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:#ecedf0;color:#0f172a;font-family:Tahoma,"Segoe UI",Arial,sans-serif}
.auth-shell{width:min(980px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border:1px solid #e2e8f0;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(15,23,42,.09)}
.auth-brand-panel{padding:52px;display:flex;flex-direction:column;justify-content:space-between;min-height:540px;background:#37506f;color:#fff}
.auth-logo{width:180px;height:auto;object-fit:contain}.auth-logo.compact{width:150px;margin-bottom:28px}.auth-kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#cbd5e1;font-weight:700;margin-bottom:12px}.auth-brand-panel h1{font-size:36px;line-height:1.1;margin:0 0 16px}.auth-brand-panel p{color:#e2e8f0;line-height:1.65;max-width:440px}
.auth-card{padding:48px;background:#fff}.auth-card-head h2,.auth-card h2{font-size:28px;margin:14px 0 8px}.auth-card-head p,.auth-card>p{margin:0 0 24px;color:#64748b;line-height:1.55}.auth-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef2f7;color:#37506f;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.auth-form{display:grid;gap:16px;margin-top:24px}.auth-form label{display:grid;gap:7px;font-size:11px;font-weight:800;letter-spacing:.05em;color:#334155}.auth-form input{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:12px 13px;font:inherit;color:#0f172a;outline:none;background:#fff}.auth-form input:focus{border-color:#37506f;box-shadow:0 0 0 3px rgba(55,80,111,.12)}.auth-form small{font-weight:500;color:#64748b;letter-spacing:0}.auth-form button,.auth-link-btn{border:0;border-radius:8px;background:#37506f;color:white;font-weight:800;padding:13px 16px;cursor:pointer;text-decoration:none;text-align:center;font-size:14px}.auth-error{margin-top:18px;padding:11px 13px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:13px}.auth-foot{margin-top:26px;padding-top:20px;border-top:1px solid #e2e8f0;font-size:11px;color:#64748b;line-height:1.5}.auth-single{width:min(520px,100%)}.auth-single .auth-card{border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 20px 60px rgba(15,23,42,.08)}code{background:#f1f5f9;padding:2px 5px;border-radius:4px}

@media(max-width:767px){
  .body-sign{height:auto;min-height:100vh;padding:0 15px}
  .body-sign .center-sign{display:block;padding:50px 0 30px}
  .panel-sign .panel-body{padding:28px 24px 24px}
  .login-actions-row{grid-template-columns:1fr}
  .button-column{text-align:stretch}
  .login-submit{font-size:16px;padding:11px 14px;width:100%}
  .login-logo{margin-bottom:16px}
  .auth-page{padding:16px}.auth-shell{grid-template-columns:1fr}.auth-brand-panel{min-height:auto;padding:32px}.auth-brand-panel h1{font-size:28px}.auth-card{padding:32px}.auth-logo{width:150px;margin-bottom:48px}
}
