@charset "UTF-8";

/* Tenant branding tokens */
:root {
  --brand-primary: #1A4378;
  --brand-accent: #009FDF;
  --brand-focus: #1A4378;
  --focus-ring: rgba(26, 67, 120, 0.18);

  /* login layout tuning */
  --login-left-offset: 0px;
  --login-max: 420px;
  --footer-max: 430px;
}

/* Header/nav */
#header,
.header-link,
.light-version#logo {
  background-color: var(--brand-primary, #1A4378);
}

.header-link:hover,
#wrapper,
#side-menu,
.panel-group .panel-heading {
  background-color: #fff;
}

.navbar.navbar-static-top a,
.nav.navbar-nav li a {
  color: var(--brand-accent, #009FDF);
}

.navbar-nav > li > a:hover,
.navbar-nav > li > a:focus,
.navbar-nav .open > a,
.navbar-nav .open > a:hover,
.navbar-nav .open > a:focus {
  color: var(--brand-primary, #1A4378);
  background-color: var(--brand-accent, #009FDF);
}

.color-line {
  background: var(--brand-primary, #1A4378);
  background-image: none;
  height: 6px;
}

/* Buttons (global legacy) */
.btn-success,
.btn-default,
.btn-primary {
  background-color: var(--brand-primary, #1A4378);
  border-color: var(--brand-primary, #1A4378);
  color: #fff;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success,
.btn-success:focus:active,
.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default,
.btn-default:active:focus,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary,
.btn-primary:active:focus {
  color: #fff;
  background-color: var(--brand-accent, #009FDF);
  border-color: var(--brand-accent, #009FDF);
}

.btn-success.btn-outline {
  color: #fff;
}

/* Buttons (always include modern-admin coverage) */
.modern-admin .btn-success,
.modern-admin a.btn-success,
.modern-admin .btn-default,
.modern-admin a.btn-default,
.modern-admin .btn-primary,
.modern-admin a.btn-primary {
  background-color: var(--brand-primary, #1A4378) !important;
  border-color: var(--brand-primary, #1A4378) !important;
  color: #fff !important;
}

.modern-admin .btn-success:hover,
.modern-admin .btn-success:focus,
.modern-admin .btn-success:active,
.modern-admin .btn-success.active,
.modern-admin .btn-default:hover,
.modern-admin .btn-default:focus,
.modern-admin .btn-default:active,
.modern-admin .btn-default.active,
.modern-admin .btn-primary:hover,
.modern-admin .btn-primary:focus,
.modern-admin .btn-primary:active,
.modern-admin .btn-primary.active,
.modern-admin .btn-group.open .dropdown-toggle.btn-success,
.modern-admin .btn-group.open .dropdown-toggle.btn-default,
.modern-admin .btn-group.open .dropdown-toggle.btn-primary {
  background-color: var(--brand-accent, #009FDF) !important;
  border-color: var(--brand-accent, #009FDF) !important;
  color: #fff !important;
}

.modern-admin .btn-success.btn-outline,
.modern-admin .btn-default.btn-outline,
.modern-admin .btn-primary.btn-outline {
  background: transparent !important;
  border-color: var(--brand-primary, #1A4378) !important;
  color: var(--brand-primary, #1A4378) !important;
}

.modern-admin .btn-success.btn-outline:hover,
.modern-admin .btn-default.btn-outline:hover,
.modern-admin .btn-primary.btn-outline:hover {
  background-color: var(--brand-primary, #1A4378) !important;
  color: #fff !important;
}

/* Text/menu states */
.text-success {
  color: var(--brand-accent, #009FDF);
}

a.text-success:hover,
#side-menu li a,
#side-menu li .nav-second-level li a {
  color: var(--brand-primary, #1A4378);
}

#side-menu li.active a,
#side-menu li:hover a,
#side-menu li .nav-second-level li.active a,
.text-logo,
a.text-logo:hover {
  color: var(--brand-accent, #009FDF);
}

/* Pagination (always primary bg + border) */
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  background-color: var(--brand-primary, #1A4378);
  border-color: var(--brand-primary, #1A4378);
  color: #fff;
}

/* Panels/tables/modals */
.hpanel.hgreen .panel-body {
  border-top: 2px solid var(--brand-accent, #009FDF);
}

.hmodal-success .color-line {
  background: var(--brand-accent, #009FDF);
}

.hmodal-success h4.modal-title {
  color: var(--brand-accent, #009FDF);
}

.fixed-table-container.table-no-bordered {
  border-top: 3px solid var(--brand-accent, #009FDF);
}

table thead,
table tbody {
  border-bottom: 3px solid var(--brand-accent, #009FDF);
}

/* Misc */
.LogoImage {
  height: auto;
  width: 90%;
  position: relative;
  top: -15px;
  left: -2px;
}

.msg-success {
  border-color: var(--brand-accent, #009FDF);
}

body.blank {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.login-logo {
  display: block;
  margin: 0 auto;
  width: 40%;
}

.hpanel.panel-collapse > .panel-heading,
.hpanel .hbuilt {
  background: transparent;
  border-color: #e4e5e7;
  border: 1px solid transparent;
  border-bottom: 1px solid rgb(228, 229, 231);
  padding: 10px;
  border-radius: 2px;
}


/* Focus/accessibility for modern admin */
.modern-admin input[type="checkbox"],
.modern-admin input[type="radio"] {
  accent-color: var(--brand-focus, #1A4378);
}

.modern-admin .form-control:focus {
  border-color: var(--brand-focus, #1A4378) !important;
  box-shadow: 0 0 0 3px var(--focus-ring, rgba(26, 67, 120, 0.18)) !important;
  -webkit-box-shadow: 0 0 0 3px var(--focus-ring, rgba(26, 67, 120, 0.18)) !important;
}

.modern-admin .select2-container.select2-container-active .select2-choice,
.modern-admin .select2-container.select2-dropdown-open .select2-choice,
.modern-admin .select2-container-multi.select2-container-active .select2-choices {
  border-color: var(--brand-focus, #1A4378) !important;
  box-shadow: 0 0 0 3px var(--focus-ring, rgba(26, 67, 120, 0.18)) !important;
  -webkit-box-shadow: 0 0 0 3px var(--focus-ring, rgba(26, 67, 120, 0.18)) !important;
}

.select2-drop.select2-drop-active {
  border-color: var(--brand-focus, #1A4378) !important;
}

.modern-admin .transfer-step.active .step-icon {
  background: var(--brand-focus, #1A4378);
  border-color: var(--brand-focus, #1A4378);
  color: #fff;
}

.modern-admin .transfer-step-btn:focus {
  outline: 3px solid var(--brand-focus, #1A4378);
  outline-offset: 2px;
}

/* Responsive login layout tuning */
.login-container,
.LoginFooter {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--login-max);
}

.login-container {
  margin-left: auto;
  margin-right: auto;
  padding-top: clamp(80px, 16vh, 220px);
}

.LoginFooter {
  float: none;
  max-width: var(--footer-max);
  margin: 16px auto 0;
  text-align: center;
}

@media (max-width: 992px) {
  .login-container {
    padding-top: clamp(70px, 13vh, 180px);
  }
}

@media (max-width: 768px) {
  .login-container {
    padding-left: 16px;
    padding-right: 16px;
    max-width: calc(var(--login-max) + 32px);
  }

  .LoginFooter {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 380px) {
  .login-container,
  .LoginFooter {
    padding-left: 12px;
    padding-right: 12px;
  }
}
