@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

:root {
    --bs-primary: #1D3B5E;
    --bs-primary-rgb: 29, 59, 94;
    --bs-success: #2E7D32;
    --bs-success-rgb: 46, 125, 50;
    --bs-danger: #B42318;
    --bs-danger-rgb: 180, 35, 24;
    --bs-warning: #F6B93B;
    --bs-warning-rgb: 246, 185, 59;
    --bs-body-font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --bs-body-color: #1B2733;
    --bs-body-bg: #F4F6F9;
    --bs-border-color: #E1E6EC;
    --bs-link-color: #1D3B5E;
    --bs-link-hover-color: #142B45;
}

.container {
	padding-left: 0px;
	padding-right: 0px;
	margin-top: 10px;
}

h1, h2, h3, h4, h5, h6 {
    color: inherit;
}

.bg-danger {
    background-color: #B42318 !important;
    color: #FFFFFF;
}

.btn {
    --bs-btn-font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --bs-btn-font-weight: 600;
    --bs-btn-padding-x: 1.25rem;
    --bs-btn-padding-y: 0.5rem;
    --bs-btn-border-width: 1px;
    --bs-btn-border-radius: 50rem;
    text-decoration: none;
	margin-top: 3px;
	margin-left: 3px;
}

.btn-sm {
    --bs-btn-padding-x: 0.9rem;
    --bs-btn-padding-y: 0.3rem;
    --bs-btn-font-size: 0.875rem;
    --bs-btn-border-radius: 50rem;
}

.btn-lg {
    --bs-btn-padding-x: 1.6rem;
    --bs-btn-padding-y: 0.65rem;
    --bs-btn-font-size: 1.15rem;
    --bs-btn-border-radius: 50rem;
	margin-bottom: 10px;
	margin-left: 10px;
}

.btn-xs {
    --bs-btn-padding-x: 0.8em;
    --bs-btn-padding-y: 0.1em;
    --bs-btn-font-size: 0.85rem;
	margin-bottom: 0px;
	margin-top: 0px;
}

.btn-default, .btn-info, .btn-secondary, .defaultbtn {
    --bs-btn-color: #1B2733;
    --bs-btn-bg: #FFFFFF;
    --bs-btn-border-color: #C5CED8;
    --bs-btn-hover-color: #1B2733;
    --bs-btn-hover-bg: #F1F4F8;
    --bs-btn-hover-border-color: #A9B5C2;
    --bs-btn-active-color: #1B2733;
    --bs-btn-active-bg: #E6EBF1;
    --bs-btn-active-border-color: #A9B5C2;
    --bs-btn-disabled-color: #5B6B7B;
    --bs-btn-disabled-bg: #FFFFFF;
    --bs-btn-disabled-border-color: #C5CED8;
    --bs-btn-focus-shadow-rgb: 29, 59, 94;
}

.btn-primary {
    --bs-btn-color: #FFFFFF;
    --bs-btn-bg: #1D3B5E;
    --bs-btn-border-color: #1D3B5E;
    --bs-btn-hover-color: #FFFFFF;
    --bs-btn-hover-bg: #142B45;
    --bs-btn-hover-border-color: #142B45;
    --bs-btn-active-color: #FFFFFF;
    --bs-btn-active-bg: #0E1F33;
    --bs-btn-active-border-color: #0E1F33;
    --bs-btn-disabled-color: #FFFFFF;
    --bs-btn-disabled-bg: #1D3B5E;
    --bs-btn-disabled-border-color: #1D3B5E;
    --bs-btn-focus-shadow-rgb: 29, 59, 94;
}

.btn-success {
    --bs-btn-color: #FFFFFF;
    --bs-btn-bg: #2E7D32;
    --bs-btn-border-color: #2E7D32;
    --bs-btn-hover-color: #FFFFFF;
    --bs-btn-hover-bg: #25662A;
    --bs-btn-hover-border-color: #25662A;
    --bs-btn-active-color: #FFFFFF;
    --bs-btn-active-bg: #1D5221;
    --bs-btn-active-border-color: #1D5221;
    --bs-btn-disabled-color: #FFFFFF;
    --bs-btn-disabled-bg: #2E7D32;
    --bs-btn-disabled-border-color: #2E7D32;
    --bs-btn-focus-shadow-rgb: 46, 125, 50;
}

.btn-danger {
    --bs-btn-color: #B42318;
    --bs-btn-bg: #FFFFFF;
    --bs-btn-border-color: #E4B4AE;
    --bs-btn-hover-color: #FFFFFF;
    --bs-btn-hover-bg: #B42318;
    --bs-btn-hover-border-color: #B42318;
    --bs-btn-active-color: #FFFFFF;
    --bs-btn-active-bg: #921C13;
    --bs-btn-active-border-color: #921C13;
    --bs-btn-disabled-color: #B42318;
    --bs-btn-disabled-bg: #FFFFFF;
    --bs-btn-disabled-border-color: #E4B4AE;
    --bs-btn-focus-shadow-rgb: 180, 35, 24;
}

.btn-warning, .btn-amber {
    --bs-btn-color: #3B2A05;
    --bs-btn-bg: #F6B93B;
    --bs-btn-border-color: #F6B93B;
    --bs-btn-hover-color: #3B2A05;
    --bs-btn-hover-bg: #EAA820;
    --bs-btn-hover-border-color: #EAA820;
    --bs-btn-active-color: #3B2A05;
    --bs-btn-active-bg: #D99A12;
    --bs-btn-active-border-color: #D99A12;
    --bs-btn-disabled-color: #3B2A05;
    --bs-btn-disabled-bg: #F6B93B;
    --bs-btn-disabled-border-color: #F6B93B;
    --bs-btn-focus-shadow-rgb: 246, 185, 59;
}

.btn-unsaved {
    --bs-btn-color: #FFFFFF;
    --bs-btn-bg: #B42318;
    --bs-btn-border-color: #B42318;
    --bs-btn-hover-color: #FFFFFF;
    --bs-btn-hover-bg: #921C13;
    --bs-btn-hover-border-color: #921C13;
    --bs-btn-active-color: #FFFFFF;
    --bs-btn-active-bg: #7A170F;
    --bs-btn-active-border-color: #7A170F;
    --bs-btn-focus-shadow-rgb: 180, 35, 24;
}

.btn-purple {
    --bs-btn-color: #6B3FA0;
    --bs-btn-bg: #FFFFFF;
    --bs-btn-border-color: #C9B3E6;
    --bs-btn-hover-color: #FFFFFF;
    --bs-btn-hover-bg: #6B3FA0;
    --bs-btn-hover-border-color: #6B3FA0;
    --bs-btn-active-color: #FFFFFF;
    --bs-btn-active-bg: #56327F;
    --bs-btn-active-border-color: #56327F;
    --bs-btn-focus-shadow-rgb: 107, 63, 160;
}

.navbar {
	background-color: #FFFFFF;
	box-shadow: 0 1px 0 #E1E6EC, 0 2px 8px rgba(16, 24, 40, 0.04);
}

/* Every DrawNavbar redraw runs FadeIn() -> SetAnimation_SlideIn(), which leaves a
   lingering inline transform on #NavBar (anime.js does not clean it up). A non-none
   transform creates a new stacking context, and without an explicit z-index here that
   context loses to #FullWindow (same animation, but later in the DOM), so the
   navbar dropdown menus were rendering underneath the page content instead of on top. */
#NavBar {
	position: relative;
	z-index: 1050;
}

.navbar-light .navbar-nav .nav-link {
	color: #33475B;
}

/* Navbar menu buttons are "btn btn-navbar" with no style class (z_src/z_navbar.php). */
.navbar .btn-navbar {
    --bs-btn-color: #33475B;
    --bs-btn-hover-color: #1B2733;
    --bs-btn-hover-bg: #EEF2F7;
    --bs-btn-active-color: #1B2733;
    --bs-btn-active-bg: #E3E9F0;
    --bs-btn-focus-shadow-rgb: 29, 59, 94;
    --bs-btn-font-weight: 500;
}

.btn-navbar {
	margin-top: 0px;
}

.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-menu {
    --bs-dropdown-border-color: #E1E6EC;
    --bs-dropdown-border-radius: 8px;
    --bs-dropdown-link-active-bg: #1D3B5E;
    box-shadow: 0 4px 16px rgba(16, 24, 40, 0.08);
}

.card {
    --bs-card-border-color: #E1E6EC;
    --bs-card-border-radius: 8px;
    --bs-card-inner-border-radius: 7px;
    --bs-card-cap-bg: #FFFFFF;
    --bs-card-bg: #FFFFFF;
	margin-bottom: 1em;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
}

.infoform-card-header {
    background-color: #FFFFFF;
    color: #1B2733;
}

.card-header .card-title {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 0;
}

.modal-content {
    border: 1px solid #E1E6EC;
    border-radius: 8px;
}

.modal-title {
    font-size: 1.25rem;
    font-weight: 600;
}

.table {
    --bs-table-border-color: #E8ECF1;
    --bs-table-striped-bg: #FAFBFC;
    --bs-table-hover-bg: #F1F4F8;
	font-size: 0.8rem;
	margin-bottom: 0;
    font-variant-numeric: tabular-nums;
}

.table td, .table th {
	padding: 0.35rem 0.5rem;
    vertical-align: middle;
}

.table > thead th, .table > tfoot th {
    background-color: #F1F4F8;
    color: #3B4C5E;
    font-weight: 600;
    font-size: 0.78rem;
}

.table-bordered > :not(caption) > * > * {
    border-color: #E8ECF1;
}

label {
	margin-bottom: 0.25rem;
	margin-top: 0.6em;
    font-weight: 500;
}

.formtitles {
    font-weight: 500;
    color: #1B2733;
}

span.input-group-text {
	background-color: #F1F4F8;
    border-color: #C3CCD6;
    color: #1B2733;
}

.form-control, .form-select {
    background-color: #FFFFFF;
    color: #1B2733;
    border-color: #C3CCD6;
    border-radius: 6px;
    font-size: 0.95rem;
}

.form-control:focus, .form-select:focus {
    border-color: #1D3B5E;
    box-shadow: 0 0 0 0.25rem rgba(29, 59, 94, 0.28);
}

/* Disabled fields are often used to display information (fit_layout.php), so keep the text dark. */
.form-control:disabled, .form-select:disabled {
    background-color: #EEF1F4;
    color: #1B2733;
}

.form-check-input {
	width: 2em;
	height: 2em;
	margin-left: 1em;
	margin-right: 1em;
    border-color: #C3CCD6;
}

.form-check-input:focus {
    border-color: #1D3B5E;
    box-shadow: 0 0 0 0.25rem rgba(29, 59, 94, 0.28);
}

.form-check-input:checked {
    background-color: #1D3B5E;
    border-color: #1D3B5E;
}

.cardinfoform
{
	padding: 1em;
}

.blobinfoform
{
	min-height: 100px !important;
}

.bg-clickify-blue-fade
{
	background-color: #E6EDF5 !important;   /* pale navy */
	color: #1B2733;
	--bs-table-accent-bg: rgba(0, 0, 0, 0);
}

.bg-clickify-yellow-fade
{
	background-color: #FFF3C4 !important;   /* pale yellow */
	color: #5C4700;
	--bs-table-accent-bg: rgba(0, 0, 0, 0);
}

.bg-clickify-red-fade
{
	background-color: #F8D7D3 !important;   /* pale red */
	color: #7A1810;
	--bs-table-accent-bg: rgba(0, 0, 0, 0);
}

.bg-clickify-green-fade
{
	background-color: #DDF3E2 !important;   /* pale green */
	color: #1E5B2A;
	--bs-table-accent-bg: rgba(0, 0, 0, 0);
}

body {
    margin: 0;
}

.body-splash {
	background-image: url(images/business-01.jpg);
	background-color: #1D3B5E;
}

.body-plain {
	background-image: none;
	background-color: #F4F6F9;
}

a {
    text-decoration: none;
}

b {
    font-weight: 400;
}

.nav {
    background-color: #F9FAFB;
    padding: 20px 0px 20px 0px;
    text-align: center;
}

.navbar-brand {
    float: none;
    height: 50px;
    padding: 15px 15px;
    font-size: 18px;
    line-height: 20px;
}


.modal-container {
  margin: 60px auto;
  padding-top: 0px;
  position: relative;
  width: 160px;
}

.modal-container .modal-btn {
  display: block;
  margin: 0 auto;
  color: #fff;
  width: 160px;
  height: 50px;
  line-height: 50px;
  background: #446CB3;
  font-size: 22px;
  border: 0;
  border-radius: 3px;
  cursor: pointer;
  text-align: center;
  box-shadow: 0 5px 5px -5px #333;
  transition: background 0.3s ease-in;
}

.modal-container .modal-btn:hover {
  background: #365690;
}

.modal-container .modal-content,
.modal-container .modal-backdrop {
  height: 0;
  width: 0;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  cursor: pointer;
  transition: opacity 0.2s ease-in;
}

.modal-container .modal-close {
  color: #aaa;
  position: absolute;
  right: 5px;
  top: 5px;
  padding-top: 3px;
  background: #fff;
  font-size: 16px;
  width: 25px;
  height: 25px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
}

.modal-container .modal-close:hover {
  color: #333;
}

.modal-container .modal-content-btn {
  position: absolute;
  text-align: center;
  cursor: pointer;
  bottom: 20px;
  right: 30px;
  background: #446CB3;
  color: #fff;
  width: 50px;
  border-radius: 2px;
  font-size: 14px;
  height: 32px;
  padding-top: 9px;
  font-weight: normal;
}

.modal-container .modal-content-btn:hover {
  color: #fff;
  background: #365690;
}

.modal-container #modal-toggle {
  display: none;
}

.modal-container #modal-toggle.active ~ .modal-backdrop, .modal-container #modal-toggle:checked ~ .modal-backdrop {
  background-color: rgba(0, 0, 0, 0.6);
  width: 100vw;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9;
  visibility: visible;
  opacity: 1;
  transition: opacity 0.2s ease-in;
}

.modal-container #modal-toggle.active ~ .modal-content, .modal-container #modal-toggle:checked ~ .modal-content {
  opacity: 1;
  background-color: #fff;
  max-width: 400px;
  width: 400px;
  height: 280px;
  padding: 10px 30px;
  position: fixed;
  left: calc(50% - 200px);
  top: 12%;
  border-radius: 4px;
  z-index: 999;
  pointer-events: auto;
  cursor: auto;
  visibility: visible;
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.6);
}

@media (max-width: 400px) {
  .modal-container #modal-toggle.active ~ .modal-content, .modal-container #modal-toggle:checked ~ .modal-content {
    left: 0;
  }
}
