/*
 RunXpert Premium Bootstrap 5 Light Theme
 Load after bootstrap.min.css. Keep existing markup, IDs, data-bs-* attributes,
 event handlers and Tabulator configuration unchanged.
*/
:root {
  color-scheme: light;
  --rx-ink:#182b49; --rx-ink-soft:#334765; --rx-muted:#71819a;
  --rx-primary:#2463eb; --rx-primary-hover:#194fc4;
  --rx-border:#e5ebf4; --rx-border-strong:#d7e0ed;
  --rx-page:#f5f7fb; --rx-surface:#fff; --rx-surface-soft:#f8faff;
  --rx-radius-sm:10px; --rx-radius:14px; --rx-radius-lg:20px;
  --rx-shadow-sm:0 2px 8px rgba(24,43,73,.045);
  --rx-shadow:0 8px 24px rgba(24,43,73,.055);
  --rx-shadow-lg:0 16px 42px rgba(24,43,73,.09);
  --rx-focus:0 0 0 .22rem rgba(36,99,235,.14);
}
body { color:var(--rx-ink-soft); background:var(--rx-page); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
::selection { color:var(--rx-ink); background:rgba(36,99,235,.16); }
.text-muted { color:var(--rx-muted)!important; }
hr { border-color:var(--rx-border); opacity:1; }
:focus-visible { outline:3px solid rgba(36,99,235,.32); outline-offset:2px; }

/* Type */
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 { color:var(--rx-ink); letter-spacing:-.025em; }
h1,.h1 { font-weight:700; } h2,.h2 { font-weight:680; }
h3,.h3 { font-weight:550; } h4,.h4,h5,.h5,h6,.h6 { font-weight:500; }

/* Cards and surfaces */
.card { color:var(--rx-ink-soft); border-color:var(--rx-border); border-radius:var(--rx-radius-lg); background:#fff; box-shadow:var(--rx-shadow-sm); }
.card-header,.card-footer { border-color:var(--rx-border); background:#fff; }
.card-header { padding:1rem 1.25rem; font-weight:700; }
.card-footer { padding:.9rem 1.25rem; }
.card-body { min-width:0; }
.card.shadow,.card.shadow-sm { box-shadow:var(--rx-shadow)!important; }
.card.shadow-lg { box-shadow:var(--rx-shadow-lg)!important; }
.border,.border-top,.border-end,.border-bottom,.border-start { border-color:var(--rx-border)!important; }
.bg-white { background:#fff!important; }
.bg-light { background:var(--rx-surface-soft)!important; }
.rounded-3 { border-radius:var(--rx-radius-sm)!important; }
.rounded-4 { border-radius:var(--rx-radius-lg)!important; }

/* Buttons */
.btn { --bs-btn-font-weight:650; --bs-btn-border-radius:11px; --bs-btn-padding-x:1rem; --bs-btn-padding-y:.62rem; min-height:40px; font-size:.875rem; letter-spacing:-.005em; transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.btn:hover:not(:disabled):not(.disabled) { transform:translateY(-1px); }
.btn:active:not(:disabled):not(.disabled) { transform:translateY(0); }
.btn:focus,.btn:focus-visible { box-shadow:var(--rx-focus); }
.btn-primary { --bs-btn-bg:var(--rx-primary); --bs-btn-border-color:var(--rx-primary); --bs-btn-hover-bg:var(--rx-primary-hover); --bs-btn-hover-border-color:var(--rx-primary-hover); --bs-btn-active-bg:var(--rx-primary-hover); --bs-btn-active-border-color:var(--rx-primary-hover); --bs-btn-disabled-bg:#91aff4; --bs-btn-disabled-border-color:#91aff4; box-shadow:0 3px 9px rgba(36,99,235,.16); }
.btn-primary:hover:not(:disabled) { box-shadow:0 6px 15px rgba(36,99,235,.22); }
.btn-secondary { --bs-btn-bg:#64748b; --bs-btn-border-color:#64748b; --bs-btn-hover-bg:#526176; --bs-btn-hover-border-color:#526176; }
.btn-success { --bs-btn-bg:#16845b; --bs-btn-border-color:#16845b; --bs-btn-hover-bg:#106d4a; --bs-btn-hover-border-color:#106d4a; }
.btn-danger { --bs-btn-bg:#d64550; --bs-btn-border-color:#d64550; --bs-btn-hover-bg:#bd3540; --bs-btn-hover-border-color:#bd3540; }
.btn-dark { --bs-btn-bg:#203451; --bs-btn-border-color:#203451; --bs-btn-hover-bg:#152640; --bs-btn-hover-border-color:#152640; }
.btn-light { --bs-btn-bg:#f5f8fd; --bs-btn-border-color:var(--rx-border); --bs-btn-color:var(--rx-ink-soft); --bs-btn-hover-bg:#eaf0f8; --bs-btn-hover-border-color:var(--rx-border-strong); }
.btn-outline-primary { --bs-btn-color:var(--rx-primary); --bs-btn-border-color:#c9d8fb; --bs-btn-hover-bg:var(--rx-primary); --bs-btn-hover-border-color:var(--rx-primary); }
.btn-outline-secondary { --bs-btn-color:#5f7088; --bs-btn-border-color:var(--rx-border-strong); }
.btn-link { text-decoration:none; font-weight:650; }
.btn-link:hover { text-decoration:underline; }
.btn.rounded-pill { border-radius:999px!important; }

/* Forms */
.form-control,.form-select,.input-group-text { min-height:42px; border-color:var(--rx-border-strong); border-radius:var(--rx-radius-sm); background-color:#fff; color:var(--rx-ink); font-size:.875rem; box-shadow:none; }
textarea.form-control { min-height:100px; }
.form-control::placeholder { color:#9aa7b9; }
.form-control:focus,.form-select:focus { border-color:#9ab8fb; box-shadow:var(--rx-focus); }
.form-control:disabled,.form-control[readonly],.form-select:disabled { background:#f3f6fa; color:#8290a4; }
.form-label,.col-form-label { margin-bottom:.45rem; color:#435570; font-size:.82rem; font-weight:700; }
.form-text { color:var(--rx-muted); font-size:.78rem; }
.form-check-input { border-color:#c5d0df; cursor:pointer; }
.form-check-input:checked { border-color:var(--rx-primary); background-color:var(--rx-primary); }
.form-check-input:focus { border-color:#9ab8fb; box-shadow:var(--rx-focus); }
.input-group-text { background:#f6f8fc; color:#60718a; }

/* Bootstrap navigation and tabs: IDs and data attributes remain untouched */
.nav-link { transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease; }
.nav-pills { gap:.35rem; }
.nav-pills .nav-link { border:1px solid transparent; border-radius:11px; color:#667790; font-size:.875rem; font-weight:650; }
.nav-pills .nav-link:hover:not(.active) { background:#f1f5fc; color:var(--rx-primary); }
.nav-pills .nav-link.active,.nav-pills .show>.nav-link { color:#1d55ce; border-color:#dce7ff; background:#edf3ff; box-shadow:inset 0 0 0 1px rgba(36,99,235,.015); }
.nav-tabs { border-bottom-color:var(--rx-border); }
.nav-tabs .nav-link { margin-bottom:-1px; border-color:transparent; border-radius:10px 10px 0 0; color:#6d7d94; font-weight:650; }
.nav-tabs .nav-link:hover { border-color:#edf1f7 #edf1f7 var(--rx-border); color:var(--rx-primary); }
.nav-tabs .nav-link.active { color:var(--rx-primary); border-color:var(--rx-border) var(--rx-border) #fff; background:#fff; }
.tab-content { min-width:0; }

/* Dropdowns */
.dropdown-menu { padding:.45rem; border:1px solid var(--rx-border); border-radius:13px; background:#fff; box-shadow:var(--rx-shadow-lg); }
.dropdown-item { padding:.62rem .8rem; border-radius:8px; color:var(--rx-ink-soft); font-size:.875rem; transition:background-color .15s ease,color .15s ease; }
.dropdown-item:hover,.dropdown-item:focus { background:#f0f5ff; color:var(--rx-primary-hover); }
.dropdown-item.active,.dropdown-item:active { color:#fff; background:var(--rx-primary); }
.dropdown-divider { border-top-color:var(--rx-border); }

/* Badges and alerts */
.badge { font-weight:700; letter-spacing:.005em; }
.badge.bg-primary { background:var(--rx-primary)!important; }
.badge.bg-light { color:#52647d!important; border-color:var(--rx-border)!important; }
.alert { border:1px solid transparent; border-radius:var(--rx-radius); font-size:.9rem; }
.alert-primary { color:#214fa9; border-color:#d9e6ff; background:#f0f5ff; }
.alert-success { color:#126a4b; border-color:#ccebdc; background:#effaf4; }
.alert-warning { color:#85580c; border-color:#f2e2b7; background:#fff9e9; }
.alert-danger { color:#a42f3a; border-color:#f3d3d6; background:#fff3f4; }

/* Lists */
.list-group { border-radius:var(--rx-radius); }
.list-group-item { border-color:var(--rx-border); background:#fff; color:var(--rx-ink-soft); }
.list-group-item-action { transition:background-color .16s ease,color .16s ease; }
.list-group-item-action:hover { background:#f7f9fd; color:var(--rx-ink); }
.list-group-item.active { color:#fff; border-color:var(--rx-primary); background:var(--rx-primary); }

/* Standard Bootstrap tables only. Tabulator remains controlled by its own CSS. */
.table { --bs-table-color:var(--rx-ink-soft); --bs-table-bg:transparent; --bs-table-border-color:var(--rx-border); margin-bottom:0; vertical-align:middle; }
.table>:not(caption)>*>* { padding:.85rem 1rem; border-bottom-color:var(--rx-border); }
.table thead th { color:#71819a; background:#f8faff; font-size:.72rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; white-space:nowrap; }
.table tbody tr { transition:background-color .14s ease; }
.table tbody tr:hover>* { --bs-table-bg:#f8faff; }
.table-responsive { border-radius:var(--rx-radius); }

/* Pagination */
.pagination { gap:4px; }
.page-link { display:inline-flex; min-width:38px; min-height:38px; align-items:center; justify-content:center; border-color:var(--rx-border); border-radius:10px!important; color:#52647d; background:#fff; font-size:.85rem; font-weight:650; }
.page-link:hover { color:var(--rx-primary); border-color:#d4e1ff; background:#f1f5ff; }
.page-item.active .page-link { border-color:var(--rx-primary); color:#fff; background:var(--rx-primary); }
.page-item.disabled .page-link { color:#a2adbd; background:#f7f9fc; }

/* Modals */
.modal-content { overflow:hidden; border:1px solid var(--rx-border); border-radius:26px !important; background:#fff; box-shadow:0 24px 75px rgba(14,31,57,.2); }
.modal-header,.modal-footer { border-color:var(--rx-border); }
.modal-header { padding:1.2rem 1.35rem; background:linear-gradient(120deg,#fff,#f9fbff); }
.modal-title { color:var(--rx-ink); font-weight:800; letter-spacing:-.02em; }
.modal-body { padding:1.35rem; }
.modal-footer { padding:1rem 1.35rem; background:#fcfdff; }
.btn-close { border-radius:9px; }
.btn-close:focus { box-shadow:var(--rx-focus); }

/* Toasts, popovers, tooltips */
.toast { border:1px solid var(--rx-border); border-radius:13px; box-shadow:var(--rx-shadow-lg); }
.toast-header { border-bottom-color:var(--rx-border); background:#f9fbff; }
.popover { border-color:var(--rx-border); border-radius:13px; box-shadow:var(--rx-shadow); }
.popover-header { border-bottom-color:var(--rx-border); background:#f8faff; color:var(--rx-ink); font-weight:750; }
.tooltip-inner { padding:.45rem .65rem; border-radius:8px; font-size:.75rem; }

/* Progress and accordion */
.progress { overflow:hidden; border-radius:999px; background:#eaf0f7; }
.progress-bar { border-radius:999px; }
.spinner-border,.spinner-grow { color:var(--rx-primary); }
.accordion { --bs-accordion-border-color:var(--rx-border); --bs-accordion-border-radius:var(--rx-radius); --bs-accordion-inner-border-radius:calc(var(--rx-radius) - 1px); --bs-accordion-btn-color:var(--rx-ink); --bs-accordion-active-color:var(--rx-primary-hover); --bs-accordion-active-bg:#f2f6ff; --bs-accordion-btn-focus-box-shadow:var(--rx-focus); }
.accordion-item { overflow:hidden; border-color:var(--rx-border); background:#fff; }
.accordion-button { padding:1rem 1.1rem; font-size:.92rem; font-weight:700; }
.accordion-body { color:var(--rx-ink-soft); line-height:1.7; }

/* Offcanvas and breadcrumbs */
.offcanvas { border-color:var(--rx-border); background:#fff; }
.offcanvas-header { border-bottom:1px solid var(--rx-border); }
.offcanvas-title { color:var(--rx-ink); font-weight:800; }
.breadcrumb { font-size:.82rem; }
.breadcrumb-item a { color:var(--rx-muted); text-decoration:none; }
.breadcrumb-item a:hover { color:var(--rx-primary); }
.breadcrumb-item.active { color:var(--rx-ink); font-weight:650; }

/* Mobile refinements; no responsive-table behavior is imposed */
@media (max-width:767.98px) {
  .card { border-radius:16px; }
  .card-header { padding:.9rem 1rem; }
  .card-footer { padding:.8rem 1rem; }
  .card-body { padding:1rem; }
  .modal-dialog { margin:.65rem; }
  .modal-content { border-radius:0px!important; }
  .modal-header,.modal-body,.modal-footer { padding:1rem; }
  .btn { min-height:40px; }
  .nav-pills .nav-link { padding:.55rem .7rem; font-size:.8rem; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}
