/* GoAppsFW theme: G-Archive Blue On Frost Segoeui 13
   Naming rule: color-on-color-<font>-<font size>
   Install: copy to /goappsFW/assets/themes/
*/
:root,
[data-bs-theme="light"],
[data-bs-theme="dark"] {
  --go-theme-font-family: "Segoe UI", Arial, sans-serif;
  --go-theme-font-size: 13px;
  --go-theme-text: #10233d;
  --go-theme-muted: #52657d;
  --go-theme-soft: #eef6ff;
  --go-theme-primary-dark: #084aa6;
  --go-theme-primary-soft: #dbeeff;
  --go-theme-bg: #f7faff;
  --go-theme-surface: #ffffff;
  --go-theme-border: #d8e4f2;
  --go-theme-primary: #0d6efd;
  --go-theme-radius: 14px;
  --go-theme-shadow: 0 8px 24px rgba(16,35,61,.08);
  --go-sidebar-bg: #ffffff;
  --go-navbar-bg: #0047b8;
}
html, body {
  background: var(--go-theme-bg) !important;
  color: var(--go-theme-text) !important;
  font-family: var(--go-theme-font-family) !important;
  font-size: var(--go-theme-font-size) !important;
}
body, .app-wrapper, .main-content, .content-wrapper, main {
  background-color: var(--go-theme-bg) !important;
}
.navbar.bg-dark, .navbar, .go-topnav, .topnav {
  background-color: var(--go-navbar-bg) !important;
  border-color: var(--go-theme-border) !important;
}
.navbar .navbar-brand, .navbar .nav-link, .navbar .dropdown-toggle, .go-topnav a, .topnav a {
  color: #ffffff !important;
}
.sidebar, .go-sidebar, .offcanvas, .list-group, .dropdown-menu {
  background-color: var(--go-sidebar-bg) !important;
  color: var(--go-theme-text) !important;
  border-color: var(--go-theme-border) !important;
}
.sidebar a, .go-sidebar a, .list-group-item, .dropdown-item {
  color: var(--go-theme-text) !important;
  font-family: var(--go-theme-font-family) !important;
  font-size: calc(var(--go-theme-font-size) - 1px) !important;
}
.card, .gfw-card, .module-card, .modal-content, .toast, .alert, .accordion-item {
  background-color: var(--go-theme-surface) !important;
  color: var(--go-theme-text) !important;
  border: 1px solid var(--go-theme-border) !important;
  border-radius: var(--go-theme-radius) !important;
  box-shadow: var(--go-theme-shadow) !important;
}
.card-header, .modal-header, .accordion-button {
  background-color: #f1f7ff !important;
  color: var(--go-theme-text) !important;
  border-color: var(--go-theme-border) !important;
  font-family: var(--go-theme-font-family) !important;
}
.card-body, .modal-body {
  padding: .9rem !important;
}
h1,h2,h3,h4,h5,h6,.page-title,.module-title {
  font-family: var(--go-theme-font-family) !important;
  color: var(--go-theme-text) !important;
  letter-spacing: .01em;
}
.form-label,.form-text,.input-group-text {
  font-family: var(--go-theme-font-family) !important;
}
.form-control,.form-select,.input-group-text,textarea,select,input {
  background-color: #ffffff !important;
  color: var(--go-theme-text) !important;
  border-color: var(--go-theme-border) !important;
  border-radius: calc(var(--go-theme-radius) / 1.7) !important;
  font-family: var(--go-theme-font-family) !important;
  font-size: var(--go-theme-font-size) !important;
  padding-top: .25rem !important;
  padding-bottom: .25rem !important;
}
.form-control:focus,.form-select:focus {
  border-color: var(--go-theme-primary) !important;
  box-shadow: 0 0 0 .2rem rgba(13,110,253,.22) !important;
}
.btn {
  border-radius: calc(var(--go-theme-radius) / 1.5) !important;
  font-family: var(--go-theme-font-family) !important;
  font-size: var(--go-theme-font-size) !important;
  padding: .38rem .85rem !important;
}
.btn-primary,.btn-dark {
  background-color: var(--go-theme-primary) !important;
  border-color: var(--go-theme-primary) !important;
  color: #ffffff !important;
}
.btn-outline-primary {
  color: var(--go-theme-primary) !important;
  border-color: var(--go-theme-primary) !important;
}
.table {
  color: var(--go-theme-text) !important;
  border-color: var(--go-theme-border) !important;
  font-family: var(--go-theme-font-family) !important;
  font-size: var(--go-theme-font-size) !important;
}
.table > :not(caption) > * > * {
  background-color: var(--go-theme-surface) !important;
  color: var(--go-theme-text) !important;
  border-color: var(--go-theme-border) !important;
  padding: .45rem .6rem !important;
}
.table thead th,.table-light th,.table-dark th {
  background-color: #0b4ea2 !important;
  color: #ffffff !important;
  border-color: var(--go-theme-border) !important;
  font-weight: 700 !important;
}
.badge,.page-link {
  font-family: var(--go-theme-font-family) !important;
}
.page-link {
  color: var(--go-theme-primary) !important;
  border-color: var(--go-theme-border) !important;
  background-color: var(--go-theme-surface) !important;
}
.page-item.active .page-link {
  background-color: var(--go-theme-primary) !important;
  border-color: var(--go-theme-primary) !important;
  color: #ffffff !important;
}
code,pre,.font-monospace {
  color: var(--go-theme-primary) !important;
}

/* G-Archive sales-demo shell tuning.
   Matches the appendix screenshots: white frost canvas, navy text, royal-blue action shell,
   compact Segoe UI, soft SaaS cards, and clean table output. */
.text-muted,
.small.text-muted,
.form-text {
  color: var(--go-theme-muted) !important;
}

.navbar.bg-dark,
.navbar,
.go-topnav,
.topnav {
  background: linear-gradient(90deg, #003b98 0%, #075ed8 100%) !important;
  box-shadow: 0 3px 14px rgba(0, 71, 184, .18) !important;
}

.sidebar,
.go-sidebar,
.offcanvas {
  box-shadow: 4px 0 18px rgba(16, 35, 61, .04) !important;
}

.sidebar .nav-link,
.go-sidebar .nav-link,
.sidebar a,
.go-sidebar a,
.list-group-item,
.dropdown-item {
  border-radius: .65rem !important;
}

.sidebar .nav-link:hover,
.go-sidebar .nav-link:hover,
.sidebar a:hover,
.go-sidebar a:hover,
.list-group-item:hover,
.dropdown-item:hover {
  background-color: var(--go-theme-primary-soft) !important;
  color: var(--go-theme-primary-dark) !important;
}

.sidebar .nav-link.active,
.go-sidebar .nav-link.active,
.sidebar a.active,
.go-sidebar a.active,
.list-group-item.active {
  background-color: var(--go-theme-primary) !important;
  border-color: var(--go-theme-primary) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 16px rgba(13, 110, 253, .18) !important;
}

.card,
.gfw-card,
.module-card {
  overflow: hidden;
}

.card-header,
.modal-header,
.accordion-button {
  background: linear-gradient(180deg, #ffffff 0%, #f1f7ff 100%) !important;
  font-weight: 700 !important;
}

.btn-primary,
.btn-dark {
  background: linear-gradient(180deg, #1479ff 0%, #0d5fd3 100%) !important;
  border-color: #0d5fd3 !important;
  box-shadow: 0 5px 14px rgba(13, 110, 253, .18) !important;
}

.btn-primary:hover,
.btn-dark:hover {
  background: linear-gradient(180deg, #0d6efd 0%, #084aa6 100%) !important;
  border-color: #084aa6 !important;
}

.btn-outline-primary:hover {
  background-color: var(--go-theme-primary) !important;
  color: #ffffff !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: #f8fbff !important;
}

.table-hover > tbody > tr:hover > * {
  background-color: #edf5ff !important;
}

.alert-info,
.text-bg-info {
  background-color: #e8f3ff !important;
  border-color: #b9d9ff !important;
  color: #0b3f79 !important;
}

.badge.text-bg-primary,
.badge.bg-primary {
  background-color: var(--go-theme-primary) !important;
}

/* GoAppsFW form-check visibility fix: keep checkbox square, radio circular, and checked mark visible. */
.form-check-input {
  width: 1.05em !important;
  height: 1.05em !important;
  padding: 0 !important;
  margin-top: .2em !important;
  background-color: var(--go-theme-surface) !important;
  border: 2px solid var(--go-theme-primary) !important;
  box-shadow: none !important;
  vertical-align: top !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 75% 75% !important;
  print-color-adjust: exact !important;
  -webkit-print-color-adjust: exact !important;
}
.form-check-input[type="checkbox"] {
  border-radius: .22em !important;
}
.form-check-input[type="radio"] {
  border-radius: 50% !important;
}
.form-check-input:checked {
  background-color: var(--go-theme-primary) !important;
  border-color: var(--go-theme-primary) !important;
}
.form-check-input[type="checkbox"]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 10.5l4 4 8-9'/%3e%3c/svg%3e") !important;
}
.form-check-input[type="radio"]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2.6' fill='%23ffffff'/%3e%3c/svg%3e") !important;
  background-size: 58% 58% !important;
}
.form-check-input:focus {
  border-color: var(--go-theme-primary) !important;
  box-shadow: 0 0 0 .18rem rgba(13, 110, 253, .24) !important;
}
.form-check-input:disabled {
  opacity: .55 !important;
}
.form-check-label {
  color: var(--go-theme-text) !important;
}
.form-switch .form-check-input {
  width: 2.15em !important;
  height: 1.15em !important;
  border-radius: 2em !important;
  background-size: 45% 45% !important;
}
.form-switch .form-check-input:checked {
  background-position: right center !important;
}

/* GoAppsFW dashboard-used card radius/edge correction v6.
   Scope follows dashboard.cfm classes: .card.shadow-sm, direct .card-header,
   direct table/scroll/card-body last child, and .border.rounded inside the card.
   No layout or stacking behavior is changed. */
.card.shadow-sm:not(.border-primary):not(.border-secondary):not(.border-success):not(.border-danger):not(.border-warning):not(.border-info):not(.border-light):not(.border-dark):not(.border-white):not(.border-black) {
  border-color: #c7d8eb !important;
  box-shadow: 0 .35rem .9rem rgba(0,0,0,.10) !important;
}
.card.shadow-sm:not(.border-primary):not(.border-secondary):not(.border-success):not(.border-danger):not(.border-warning):not(.border-info):not(.border-light):not(.border-dark):not(.border-white):not(.border-black) > .card-header {
  border-bottom-color: #d8e4f2 !important;
}
.card.shadow-sm > .card-header:first-child {
  border-top-left-radius: calc(var(--go-theme-radius) - 1px) !important;
  border-top-right-radius: calc(var(--go-theme-radius) - 1px) !important;
}
.card.shadow-sm > .card-footer:last-child,
.card.shadow-sm > .table-responsive:last-child,
.card.shadow-sm > .table-responsive.mb-scroll:last-child,
.card.shadow-sm > .mb-scroll-table-wrap:last-child,
.card.shadow-sm > .card-body:last-child {
  border-bottom-left-radius: calc(var(--go-theme-radius) - 1px) !important;
  border-bottom-right-radius: calc(var(--go-theme-radius) - 1px) !important;
}
.card.shadow-sm .border.rounded:not(.border-primary):not(.border-secondary):not(.border-success):not(.border-danger):not(.border-warning):not(.border-info):not(.border-light):not(.border-dark):not(.border-white):not(.border-black),
.card.shadow-sm .rounded.border:not(.border-primary):not(.border-secondary):not(.border-success):not(.border-danger):not(.border-warning):not(.border-info):not(.border-light):not(.border-dark):not(.border-white):not(.border-black) {
  border-color: #c7d8eb !important;
}
.card.shadow-sm.border-warning {
  border-color: rgba(255, 193, 7, .85) !important;
}
.card.shadow-sm.border-warning > .card-header {
  border-bottom-color: rgba(255, 193, 7, .38) !important;
}
