/**
 * INVARIABLY DIGITAL - OMNI APPLICATION STYLES
 * invdg-omni.css
 *
 * Google Workspace / Material You inspired theme.
 * Primary app stylesheet — loads LAST in index.html after Material Dashboard.
 *
 * Light: clean white surfaces, Google Blue (#1a73e8) primary,
 *        #202124 text, #dadce0 borders
 * Dark:  warm dark grey (#1f1f1f), light blue (#8ab4f8) accents,
 *        #e8eaed text, #3c4043 borders
 *
 * Previous theme preserved in invdg-omni-prev.css (Zoho-inspired neutral grey).
 */

/* ================================================
   DESIGN TOKEN OVERRIDES — Google Light
   ================================================ */
:root {
  /* Neutrals — Google grey scale */
  --omni-neutral-0: #ffffff;
  --omni-neutral-50: #f8f9fa;
  --omni-neutral-100: #f1f3f4;
  --omni-neutral-200: #e8eaed;
  --omni-neutral-300: #dadce0;
  --omni-neutral-600: #5f6368;
  --omni-neutral-700: #3c4043;
  --omni-neutral-900: #202124;

  /* Brand — Google Blue */
  --omni-brand-primary: #1a73e8;
  --omni-brand-primary-hover: #1765cc;
  --omni-brand-accent-gold: #f9ab00;
  --omni-brand-accent-gold-soft: #fef7e0;
  --omni-brand-accent-cyan: #1a73e8;

  /* Semantic */
  --omni-semantic-success: #1e8e3e;
  --omni-semantic-warning: #f9ab00;
  --omni-semantic-error: #d93025;
  --omni-semantic-info: #1a73e8;

  /* Inputs */
  --omni-input-border-default: #dadce0;
  --omni-input-border-focus: #1a73e8;
  --omni-input-border-required-empty: #f9ab00;
  --omni-input-border-error: #d93025;
  --omni-input-bg-disabled: #f1f3f4;

  /* Section accents — Google product colors */
  --omni-section-pos: #1e8e3e;
  --omni-section-inventory: #1a73e8;
  --omni-section-billing: #f9ab00;
  --omni-section-b2b: #1a73e8;
  --omni-section-crm: #a142f4;
  --omni-section-support: #f9ab00;
  --omni-section-settings: #5f6368;

  /* Surfaces */
  --omni-surface-subtle: #f8f9fa;
  --omni-surface-muted: #f1f3f4;
  --omni-surface-divider: #dadce0;

  /* Text */
  --omni-text-primary: #202124;
  --omni-text-secondary: #5f6368;
  --omni-text-tertiary: #80868b;
  --omni-text-placeholder: #9aa0a6;

  /* Overlay */
  --omni-overlay-backdrop: rgba(32, 33, 36, 0.4);

  /* Data viz — Material palette (slightly warmer than current) */
  --omni-viz-teal: #00897b;
  --omni-viz-blue: #1a73e8;
  --omni-viz-green: #1e8e3e;
  --omni-viz-gold: #f9ab00;
  --omni-viz-coral: #d93025;
  --omni-viz-purple: #a142f4;
  --omni-viz-orange: #e8710a;
  --omni-viz-slate: #80868b;

  /* State */
  --omni-state-dirty-bg: #fef7e0;
  --omni-state-warning-bg: #fef7e0;
  --omni-state-diff-add: #e6f4ea;
  --omni-state-diff-remove: #fce8e6;
  --omni-state-active-indicator: #1a73e8;

  /* Transitions */
  --omni-transition-fast: 100ms;
  --omni-transition-medium: 200ms;
  --omni-transition-slow: 250ms;

  /* Bootstrap overrides */
  --bs-primary: #1a73e8 !important;
  --bs-primary-rgb: 26, 115, 232 !important;
  --bs-btn-color: #ffffff !important;
  --bs-btn-bg: #1a73e8 !important;
  --bs-btn-border-color: #1a73e8 !important;
  --bs-btn-hover-bg: #1765cc !important;
  --bs-btn-hover-border-color: #1765cc !important;
  --bs-btn-active-bg: #1765cc !important;
  --bs-btn-active-border-color: #1765cc !important;
  --bs-btn-disabled-bg: #dadce0 !important;
  --bs-btn-disabled-border-color: #dadce0 !important;
  --bs-link-color: #1a73e8 !important;
  --bs-link-hover-color: #1765cc !important;

  /* Google Sans-inspired font stack */
  --omni-font-family: 'Google Sans', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
}

/* Apply Google font globally */
body,
.main-content,
.sidenav,
.navbar,
.card,
.modal-content,
.dropdown-menu {
  font-family: var(--omni-font-family) !important;
}

/* Slightly more rounded corners (Google style) */
.card {
  border-radius: 8px !important;
  box-shadow: 0 1px 2px 0 rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15) !important;
  border: none !important;
}

.card .card-header {
  border-radius: 8px 8px 0 0 !important;
}

.btn {
  border-radius: 4px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
}

.badge {
  border-radius: 4px !important;
}

/* ================================================
   INPUT OVERRIDES — Google style
   Thin grey borders, blue focus ring
   ================================================ */
input.form-control,
textarea.form-control,
select.form-control,
.form-control,
.input-group-outline .form-control,
.input-group-outline input.form-control,
.input-group-outline textarea.form-control,
.input-group-outline select.form-control,
.input-group-outline input,
.input-group-outline textarea,
.input-group-outline select {
  border: 1px solid #dadce0 !important;
  border-top-color: transparent !important;
  box-shadow: inset 1px 0 #dadce0, inset -1px 0 #dadce0, inset 0 -1px #dadce0 !important;
  border-radius: 4px !important;
}

.input-group-outline .form-control:hover:not(:focus),
.input-group-outline input.form-control:hover:not(:focus),
.input-group-outline textarea.form-control:hover:not(:focus),
.input-group-outline select.form-control:hover:not(:focus) {
  border-color: #202124 !important;
}

.input-group-outline .form-control:focus,
.input-group-outline input.form-control:focus,
.input-group-outline textarea.form-control:focus,
.input-group-outline select.form-control:focus {
  border-color: #1a73e8 !important;
  box-shadow: 0 0 0 1px rgba(26, 115, 232, 0.2) !important;
}

.input-group-outline .form-label,
.input-group-outline label.form-label,
.input-group-static label.form-label,
.input-group-static label {
  color: #5f6368 !important;
}

.input-group-outline.is-focused .form-label,
.input-group-outline.is-focused label.form-label {
  color: #1a73e8 !important;
}

.form-control.is-invalid,
input.form-control.is-invalid,
.input-group-outline .form-control.is-invalid {
  border-color: #d93025 !important;
}

.form-control.is-valid,
input.form-control.is-valid,
.input-group-outline .form-control.is-valid {
  border-color: #1e8e3e !important;
}

.form-control:disabled,
input.form-control:disabled,
textarea.form-control:disabled,
select.form-control:disabled {
  border-color: #e8eaed !important;
  background-color: #f1f3f4 !important;
  opacity: 0.65;
}

.pagination-controls input.form-control,
.pagination-controls input[type="number"],
input.form-control[type="number"] {
  border: 1px solid #dadce0 !important;
  border-top-color: #dadce0 !important;
}

.pagination-controls input.form-control:focus,
.pagination-controls input[type="number"]:focus,
input.form-control[type="number"]:focus {
  border-color: #1a73e8 !important;
  box-shadow: 0 0 0 1px rgba(26, 115, 232, 0.2) !important;
}

/* Material Dashboard adjacent sibling overrides */
.input-group.input-group-outline.is-focused .form-label+.form-control,
.input-group.input-group-outline.is-focused .form-label+input.form-control,
.input-group.input-group-outline.is-focused .form-label+textarea.form-control,
.input-group.input-group-outline.is-focused .form-label+select.form-control {
  border-color: #1a73e8 !important;
  border-top-color: transparent !important;
  box-shadow: inset 1px 0 #1a73e8, inset -1px 0 #1a73e8, inset 0 -1px #1a73e8 !important;
  outline: none !important;
}

input.form-control:focus,
textarea.form-control:focus,
select.form-control:focus,
.form-control:focus {
  border-color: #1a73e8 !important;
  outline: none !important;
}

.input-group.input-group-outline.is-filled .form-label+.form-control,
.input-group.input-group-outline.is-filled .form-label+input.form-control,
.input-group.input-group-outline.is-filled .form-label+textarea.form-control,
.input-group.input-group-outline.is-filled .form-label+select.form-control {
  border-color: #dadce0 !important;
  border-top-color: transparent !important;
  box-shadow: inset 1px 0 #dadce0, inset -1px 0 #dadce0, inset 0 -1px #dadce0 !important;
}

.input-group-outline.is-focused .form-label,
.input-group-outline.is-focused .form-label:before,
.input-group-outline.is-focused .form-label:after {
  color: #1a73e8 !important;
  border-top-color: #1a73e8 !important;
  box-shadow: inset 0 1px #1a73e8 !important;
}

/* ================================================
   BUTTON STYLES — Google
   ================================================ */
.btn-primary,
.btn.bg-gradient-primary,
button.btn-primary,
a.btn-primary {
  background-color: #1a73e8 !important;
  background-image: none !important;
  border-color: #1a73e8 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.btn-primary:hover,
.btn.bg-gradient-primary:hover,
button.btn-primary:hover,
a.btn-primary:hover {
  background-color: #1765cc !important;
  background-image: none !important;
  border-color: #1765cc !important;
  box-shadow: 0 1px 3px 1px rgba(26, 115, 232, 0.25) !important;
}

.btn-primary:focus,
.btn-primary:active,
.btn.bg-gradient-primary:focus,
.btn.bg-gradient-primary:active {
  background-color: #1765cc !important;
  border-color: #1765cc !important;
}

.btn-outline-primary {
  color: #1a73e8 !important;
  border-color: #dadce0 !important;
  background-color: transparent !important;
}

.btn-outline-primary:hover {
  background-color: #e8f0fe !important;
  border-color: #dadce0 !important;
  color: #1765cc !important;
}

.btn-icon.btn-primary {
  background-color: #1a73e8 !important;
  border-color: #1a73e8 !important;
}

.btn-icon.btn-primary:hover {
  background-color: #1765cc !important;
  border-color: #1765cc !important;
}

/* OMNI button classes */
.omni-btn-primary {
  background-color: var(--omni-brand-primary, #1a73e8) !important;
  border: 1px solid var(--omni-brand-primary, #1a73e8) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.omni-btn-primary:hover {
  background-color: var(--omni-brand-primary-hover, #1765cc) !important;
  border: 1px solid var(--omni-brand-primary-hover, #1765cc) !important;
  box-shadow: 0 1px 3px 1px rgba(26, 115, 232, 0.25) !important;
}

.omni-btn-secondary {
  background-color: #ffffff !important;
  border: 1px solid #dadce0 !important;
  color: var(--omni-brand-primary, #1a73e8) !important;
  box-shadow: none !important;
}

.omni-btn-secondary:hover {
  background-color: #f8f9fa !important;
  border: 1px solid #dadce0 !important;
  box-shadow: 0 1px 3px 1px rgba(60, 64, 67, 0.15) !important;
}

.omni-btn-search {
  background-color: transparent !important;
  background-image: none !important;
  border: 1px solid #adb5bd !important;
  color: #6c757d !important;
}

.omni-btn-search:hover {
  background-color: var(--omni-brand-primary, #1a73e8) !important;
  background-image: none !important;
  border: 1px solid var(--omni-brand-primary, #1a73e8) !important;
  color: #ffffff !important;
}

.btn-filter-neutral,
.btn-outline-secondary.btn-icon {
  background-color: transparent !important;
  border: 1px solid #dadce0 !important;
  color: #5f6368 !important;
}

.btn-filter-neutral:hover,
.btn-outline-secondary.btn-icon:hover {
  background-color: #f1f3f4 !important;
  border: 1px solid #dadce0 !important;
  color: #202124 !important;
}

.omni-btn-destructive {
  background-color: #d93025 !important;
  border: 1px solid #d93025 !important;
  color: #ffffff !important;
}

.omni-btn-destructive:hover {
  background-color: #c5221f !important;
  border: 1px solid #c5221f !important;
}

/* Links — Google Blue */
a,
.btn-link,
.omni-btn-link {
  color: #1a73e8 !important;
}

/* Link hover — slightly darker blue (standard anchor behavior) */
a:hover {
  color: #1765cc !important;
}

/* Button-link hover — subtle background highlight (Google Workspace style) */
.btn-link:hover,
.omni-btn-link:hover {
  color: #1a73e8 !important;
  background-color: rgba(60, 64, 67, 0.08) !important;
  border-radius: 4px;
}
.btn-link:active,
.omni-btn-link:active {
  background-color: rgba(60, 64, 67, 0.12) !important;
}

/* omni-btn-link: allows text color utilities to override the default blue.
   Use omni-btn-link with text-danger/text-secondary/etc for colored inline actions. */
.omni-btn-link.text-danger { color: var(--bs-danger) !important; }
.omni-btn-link.text-danger:hover { color: var(--bs-danger) !important; background-color: rgba(217, 48, 37, 0.08) !important; }
.omni-btn-link.text-success { color: var(--bs-success) !important; }
.omni-btn-link.text-success:hover { color: var(--bs-success) !important; background-color: rgba(52, 168, 83, 0.08) !important; }
.omni-btn-link.text-secondary { color: var(--bs-secondary) !important; }
.omni-btn-link.text-secondary:hover { color: var(--bs-secondary) !important; background-color: rgba(60, 64, 67, 0.08) !important; }
.omni-btn-link.text-dark { color: var(--bs-dark) !important; }
.omni-btn-link.text-dark:hover { color: var(--bs-dark) !important; background-color: rgba(60, 64, 67, 0.08) !important; }
.omni-btn-link.text-info { color: var(--bs-info) !important; }
.omni-btn-link.text-info:hover { color: var(--bs-info) !important; background-color: rgba(26, 115, 232, 0.08) !important; }
.omni-btn-link.text-warning { color: var(--bs-warning) !important; }
.omni-btn-link.text-warning:hover { color: var(--bs-warning) !important; background-color: rgba(251, 188, 4, 0.08) !important; }
.omni-btn-link.text-muted { color: #6c757d !important; }
.omni-btn-link.text-muted:hover { color: #6c757d !important; background-color: rgba(60, 64, 67, 0.08) !important; }

/* Sidebar section toggle */
.sidenav .nav-item .section-toggle {
  background: transparent !important;
  border: none;
  cursor: pointer;
}
.sidenav .nav-item .section-toggle:hover h6 {
  opacity: 0.8 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Remove grey hover box on sidebar nav items */
.navbar-vertical .nav-item:hover .nav-link {
  background-color: transparent !important;
}

/* Master-detail layout */
.master-detail-master { position: relative; }
.master-detail-master-inner { padding-right: 0.75rem; padding-left: 0.75rem; }
@media (max-width: 991.98px) {
  .master-detail-master-inner { max-height: 320px; overflow-y: auto; border-bottom: 1px solid #dadce0; margin-bottom: 1rem; padding-bottom: 0.5rem; }
  .master-detail-detail { min-height: unset !important; }
}
@media (min-width: 992px) {
  .master-detail-master-inner { position: absolute; top: 0; left: 0; right: 0; bottom: 0; overflow-y: auto; }
}

.dropdown-toggle::after { color: currentColor !important; }

/* ================================================
   GRADIENT OVERRIDES — Google Blue
   ================================================ */
.bg-gradient-primary {
  background-image: none !important;
  background-color: #1a73e8 !important;
}

.bg-gradient-secondary {
  background-image: linear-gradient(195deg, #5f6368 0%, #3c4043 100%) !important;
}

.bg-gradient-faded-secondary-vertical {
  background-image: linear-gradient(180deg, rgba(26, 115, 232, 0.15) 0%, transparent 100%) !important;
}

.card.card-background.card-background-mask-primary:after {
  background-image: linear-gradient(195deg, rgba(26, 115, 232, 0.85) 0%, rgba(23, 101, 204, 0.85) 100%) !important;
}

/* ================================================
   SIDENAV ACTIVE — Google style
   ================================================ */
.sidenav[data-color=primary] .navbar-nav > .nav-item .nav-link.active {
  background-color: #e8f0fe !important;
  color: #1a73e8 !important;
  border-radius: 0 24px 24px 0;
}

.sidenav.bg-white .navbar-nav > .nav-item .nav-link.active .icon i,
.sidenav.bg-white .navbar-nav > .nav-item .nav-link.active .icon .material-symbols-rounded,
.sidenav.bg-transparent .navbar-nav > .nav-item .nav-link.active .icon i,
.sidenav.bg-transparent .navbar-nav > .nav-item .nav-link.active .icon .material-symbols-rounded {
  color: #1a73e8 !important;
}

.sidenav.bg-gradient-primary .navbar-nav > .nav-item .nav-link.active,
.sidenav.bg-gradient-dark .navbar-nav > .nav-item .nav-link.active {
  background-color: rgba(255, 255, 255, 0.15) !important;
}

.navbar-vertical .lavalamp-object { background: #1a73e8 !important; }

/* ================================================
   TEXT GRADIENT — Google Blue
   ================================================ */
.text-gradient.text-primary { background-image: linear-gradient(195deg, #4285f4 0%, #1a73e8 100%) !important; }
.text-gradient.text-info { background-image: linear-gradient(195deg, #4fc3f7 0%, #039be5 100%) !important; }
.text-gradient.text-secondary { background-image: linear-gradient(195deg, #80868b 0%, #5f6368 100%) !important; }

svg.text-primary .color-background { fill: #1a73e8 !important; }
svg.text-secondary .color-foreground { fill: #5f6368 !important; }

/* ================================================
   PAGINATION — Google Blue
   ================================================ */
.pagination .page-item.active > .page-link,
.pagination-primary .page-item.active > .page-link { background-color: #1a73e8 !important; border-color: #1a73e8 !important; color: #ffffff !important; }
.pagination .page-item .page-link:hover { color: #1a73e8 !important; }
.pagination .page-item .page-link:focus { color: #1a73e8 !important; }

.progress-bar { background-color: #1a73e8 !important; }
.list-group-item.active { background-color: #1a73e8 !important; border-color: #1a73e8 !important; }

.nav.nav-pills .nav-link.active { background-color: #1a73e8 !important; background-image: none !important; color: #ffffff !important; }

/* ================================================
   ALERTS — Google subtle tinted backgrounds
   Override Material Dashboard bold gradients
   ================================================ */
.alert {
  background-image: none !important;
  border-radius: 4px !important;
  border-width: 1px !important;
  border-style: solid !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

.alert-primary {
  background-color: #e8f0fe !important;
  background-image: none !important;
  border-color: #d2e3fc !important;
  color: #174ea6 !important;
}
.alert-primary .alert-link { color: #174ea6 !important; }

.alert-secondary {
  background-color: #e8eaed !important;
  background-image: none !important;
  border-color: #dadce0 !important;
  color: #3c4043 !important;
}
.alert-secondary .alert-link { color: #3c4043 !important; }

.alert-success {
  background-color: #e6f4ea !important;
  background-image: none !important;
  border-color: #ceead6 !important;
  color: #137333 !important;
}
.alert-success .alert-link { color: #137333 !important; }

.alert-info {
  background-color: #e8f0fe !important;
  background-image: none !important;
  border-color: #d2e3fc !important;
  color: #174ea6 !important;
}
.alert-info .alert-link { color: #174ea6 !important; }

.alert-warning {
  background-color: #fef7e0 !important;
  background-image: none !important;
  border-color: #fde293 !important;
  color: #7c4d12 !important;
}
.alert-warning .alert-link { color: #7c4d12 !important; }

.alert-danger {
  background-color: #fce8e6 !important;
  background-image: none !important;
  border-color: #f5c6c2 !important;
  color: #a50e0e !important;
}
.alert-danger .alert-link { color: #a50e0e !important; }

.alert-light {
  background-color: #f8f9fa !important;
  background-image: none !important;
  border-color: #e8eaed !important;
  color: #3c4043 !important;
}

.alert-dark {
  background-color: #3c4043 !important;
  background-image: none !important;
  border-color: #5f6368 !important;
  color: #f1f3f4 !important;
}

/* Alert icon color should match text */
.alert .material-symbols-rounded,
.alert i { color: inherit !important; }

/* ================================================
   BACKGROUND UTILITIES — flat Google colors
   Preferred classes for all new code.
   ================================================ */
.bg-success { background-image: none !important; background-color: #1e8e3e !important; }
/* Ensure white text on dark-toned semantic buttons (MD defaults to #0a0a0a) */
.btn.bg-success, .btn-success { color: #fff !important; --bs-btn-color: #fff; --bs-btn-hover-color: #fff; --bs-btn-active-color: #fff; }
.btn.bg-danger, .btn-danger { color: #fff !important; --bs-btn-color: #fff; --bs-btn-hover-color: #fff; --bs-btn-active-color: #fff; }
.bg-info    { background-image: none !important; background-color: #1a73e8 !important; }
.bg-warning { background-image: none !important; background-color: #f9ab00 !important; }
.bg-danger  { background-image: none !important; background-color: #d93025 !important; }
.bg-dark    { background-image: none !important; background-color: #5f6368 !important; }

/* ================================================
   BADGE — Google subtle tinted backgrounds
   ================================================ */
.badge.bg-success   { background-color: #e6f4ea !important; color: #137333 !important; }
.badge.bg-info      { background-color: #e8f0fe !important; color: #174ea6 !important; }
.badge.bg-warning   { background-color: #fef7e0 !important; color: #7c4d12 !important; }
.badge.bg-danger    { background-color: #fce8e6 !important; color: #a50e0e !important; }
.badge.bg-secondary { background-color: #e8eaed !important; color: #3c4043 !important; }
.badge.bg-primary   { background-color: #e8f0fe !important; color: #174ea6 !important; }
.badge.bg-dark      { background-color: #3c4043 !important; color: #f1f3f4 !important; }
.badge.bg-light     { background-color: #f1f3f4 !important; color: #3c4043 !important; }

/* Non-badge solid fills (headers, icon boxes, timeline steps) */
.card-header.bg-success, .icon.bg-success, .timeline-step.bg-success { background-color: #1e8e3e !important; color: #fff !important; }
.card-header.bg-info,    .icon.bg-info,    .timeline-step.bg-info    { background-color: #1a73e8 !important; color: #fff !important; }
.card-header.bg-warning, .icon.bg-warning, .timeline-step.bg-warning { background-color: #f9ab00 !important; color: #202124 !important; }
.card-header.bg-danger,  .icon.bg-danger,  .timeline-step.bg-danger  { background-color: #d93025 !important; color: #fff !important; }
.card-header.bg-dark,    .icon.bg-dark,    .timeline-step.bg-dark    { background-color: #5f6368 !important; color: #fff !important; }

/* ================================================
   LEGACY bg-gradient-* OVERRIDES (Material Dashboard internals)
   Keep these so any MD widget markup still renders flat.
   Do NOT use bg-gradient-* in application code — use bg-* above.
   ================================================ */
.bg-gradient-success { background-image: none !important; background-color: #1e8e3e !important; }
.bg-gradient-info    { background-image: none !important; background-color: #1a73e8 !important; }
.bg-gradient-warning { background-image: none !important; background-color: #f9ab00 !important; }
.bg-gradient-danger  { background-image: none !important; background-color: #d93025 !important; }
.bg-gradient-dark    { background-image: none !important; background-color: #5f6368 !important; }

.badge.bg-gradient-success   { background-color: #e6f4ea !important; color: #137333 !important; }
.badge.bg-gradient-info      { background-color: #e8f0fe !important; color: #174ea6 !important; }
.badge.bg-gradient-warning   { background-color: #fef7e0 !important; color: #7c4d12 !important; }
.badge.bg-gradient-danger    { background-color: #fce8e6 !important; color: #a50e0e !important; }
.badge.bg-gradient-secondary { background-color: #e8eaed !important; color: #3c4043 !important; }
.badge.bg-gradient-primary   { background-color: #e8f0fe !important; color: #174ea6 !important; }

.card-header.bg-gradient-success, .icon.bg-gradient-success, .timeline-step.bg-gradient-success { background-color: #1e8e3e !important; color: #fff !important; }
.card-header.bg-gradient-info,    .icon.bg-gradient-info,    .timeline-step.bg-gradient-info    { background-color: #1a73e8 !important; color: #fff !important; }
.card-header.bg-gradient-warning, .icon.bg-gradient-warning, .timeline-step.bg-gradient-warning { background-color: #f9ab00 !important; color: #202124 !important; }
.card-header.bg-gradient-danger,  .icon.bg-gradient-danger,  .timeline-step.bg-gradient-danger  { background-color: #d93025 !important; color: #fff !important; }
.card-header.bg-gradient-dark,    .icon.bg-gradient-dark,    .timeline-step.bg-gradient-dark    { background-color: #5f6368 !important; color: #fff !important; }

/* ================================================
   FORM CONTROLS — Google Blue accents
   ================================================ */
.form-check-input:checked { background-color: #1a73e8 !important; border-color: #1a73e8 !important; }
.form-check-input:focus { border-color: #1a73e8 !important; box-shadow: 0 0 0 0.2rem rgba(26, 115, 232, 0.25) !important; }
/* Checkbox: match MD specificity to override pink #e91e63 */
.form-check:not(.form-switch) .form-check-input[type="checkbox"]:checked,
.form-check-input:checked[type="checkbox"] { background-color: #1a73e8 !important; border-color: #1a73e8 !important; }
.form-check:not(.form-switch) .form-check-input[type="checkbox"]:checked::after { color: #fff !important; }
.form-switch .form-check-input:checked { background-color: #1a73e8 !important; border-color: #1a73e8 !important; }

/* ── Material Design 3 Radio Buttons ────────────────────────────
   Outer ring + inner dot pattern (not Material Dashboard's pink gradient).
   Uses .form-check:not(.form-switch) to match MD's specificity, and kills
   the ::after pseudo-element that MD uses for its gradient inner dot.
   ─────────────────────────────────────────────────────────────── */
.form-check:not(.form-switch) .form-check-input[type="radio"],
.form-check-input[type="radio"] {
  width: 20px !important;
  height: 20px !important;
  border: 2px solid #5f6368 !important;
  background-color: transparent !important;
  background-image: none !important;
  padding: 0 !important;
  cursor: pointer;
  transition: border-color 150ms ease, box-shadow 150ms ease;
  position: relative;
  flex-shrink: 0;
}
/* Kill Material Dashboard's ::after pink gradient dot */
.form-check:not(.form-switch) .form-check-input[type="radio"]::after,
.form-check-input[type="radio"]::after {
  content: none !important;
  display: none !important;
}
.form-check:not(.form-switch) .form-check-input[type="radio"]:hover,
.form-check-input[type="radio"]:hover {
  border-color: #202124 !important;
  box-shadow: 0 0 0 8px rgba(26, 115, 232, 0.08) !important;
}
.form-check:not(.form-switch) .form-check-input[type="radio"]:focus,
.form-check-input[type="radio"]:focus {
  border-color: #1a73e8 !important;
  box-shadow: 0 0 0 8px rgba(26, 115, 232, 0.12) !important;
}
.form-check:not(.form-switch) .form-check-input[type="radio"]:checked,
.form-check-input[type="radio"]:checked {
  border-color: #1a73e8 !important;
  background-color: transparent !important;
  background-image: none !important;
  padding: 0 !important;
  /* Inner dot via inset box-shadow — replaces MD's ::after gradient */
  box-shadow: inset 0 0 0 4px #1a73e8 !important;
}
.form-check:not(.form-switch) .form-check-input[type="radio"]:checked:hover,
.form-check-input[type="radio"]:checked:hover {
  box-shadow: inset 0 0 0 4px #1a73e8, 0 0 0 8px rgba(26, 115, 232, 0.08) !important;
}
.form-check:not(.form-switch) .form-check-input[type="radio"]:checked:focus,
.form-check-input[type="radio"]:checked:focus {
  box-shadow: inset 0 0 0 4px #1a73e8, 0 0 0 8px rgba(26, 115, 232, 0.12) !important;
}
.form-check:not(.form-switch) .form-check-input[type="radio"]:active,
.form-check-input[type="radio"]:active {
  box-shadow: 0 0 0 10px rgba(26, 115, 232, 0.15) !important;
  transition: box-shadow 50ms ease !important;
}
.form-check:not(.form-switch) .form-check-input[type="radio"]:disabled,
.form-check-input[type="radio"]:disabled {
  border-color: #dadce0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  opacity: 0.38;
  cursor: not-allowed;
}
.form-check:not(.form-switch) .form-check-input[type="radio"]:disabled:checked,
.form-check-input[type="radio"]:disabled:checked {
  box-shadow: inset 0 0 0 4px #dadce0 !important;
}
/* Align label vertically with the slightly larger radio */
.form-check:has(.form-check-input[type="radio"]) .form-check-label {
  padding-top: 1px;
}
.form-switch .form-check-input:focus { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%231a73e8'/%3e%3c/svg%3e") !important; border-color: #1a73e8 !important; }
input[type="range"]::-webkit-slider-thumb { background: #1a73e8 !important; }
input[type="range"]::-moz-range-thumb { background: #1a73e8 !important; }
input[type="range"]::-webkit-slider-runnable-track { background: #dadce0 !important; }
input[type="range"]::-moz-range-track { background: #dadce0 !important; }
input[type="file"]::file-selector-button { background-color: #1a73e8 !important; border-color: #1a73e8 !important; color: #ffffff !important; }
input[type="file"]::file-selector-button:hover { background-color: #1765cc !important; }
input[type="color"]:focus { border-color: #1a73e8 !important; }
select:focus { border-color: #1a73e8 !important; box-shadow: 0 0 0 0.2rem rgba(26, 115, 232, 0.25) !important; }
input:not([type="submit"]):not([type="button"]):not([type="reset"]) { accent-color: #1a73e8 !important; }

/* Magenta catch-all */
*[style*="#e91e63"], *[style*="rgb(233, 30, 99)"] { border-color: #1a73e8 !important; }

/* Delete icon hover */
.btn-link.text-danger:hover, .btn-link.text-gradient.text-danger:hover { background-color: #d93025 !important; border-radius: 4px; }
.btn-link.text-danger:hover i, .btn-link.text-gradient.text-danger:hover i,
.btn-link.text-danger:hover .material-symbols-rounded, .btn-link.text-gradient.text-danger:hover .material-symbols-rounded { color: #ffffff !important; background: transparent !important; }

/* Nuclear input overrides */
.input-group.input-group-outline .form-label+.form-control { border-color: #dadce0 !important; }
.input-group.input-group-outline.is-filled .form-label+.form-control { border-color: #dadce0 !important; }
.input-group.input-group-outline.is-focused .form-label+.form-control { border-color: #1a73e8 !important; }
.input-group.input-group-outline.is-focused .form-label, .input-group.input-group-outline.is-filled .form-label { color: #1a73e8 !important; }
.input-group.input-group-outline.is-filled .form-label:before, .input-group.input-group-outline.is-filled .form-label:after,
.input-group.input-group-outline.is-focused .form-label:before, .input-group.input-group-outline.is-focused .form-label:after { border-top-color: #1a73e8 !important; box-shadow: inset 0 1px #1a73e8 !important; }
*[style*="border-color: rgb(233, 30, 99)"], *[style*="border-color:#e91e63"], *[style*="border-color: #e91e63"] { border-color: #1a73e8 !important; }

/* ================================================
   TAB NAVIGATION — Google style
   ================================================ */
.nav.nav-tabs .nav-link:hover, .nav.nav-tabs .nav-item .nav-link:hover,
.nav.nav-tabs button.nav-link:hover, button.nav-link.mb-0:hover:not(.active) {
  background-color: #f1f3f4 !important;
  background-image: none !important;
  border-color: transparent transparent #dadce0 transparent !important;
  color: #5f6368 !important;
  box-shadow: none !important;
}

.nav.nav-tabs .nav-link.active, .nav.nav-tabs .nav-item .nav-link.active,
.nav.nav-tabs button.nav-link.active, button.nav-link.mb-0.active {
  color: #1a73e8 !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent transparent #1a73e8 transparent !important;
  border-bottom: 3px solid #1a73e8 !important;
  box-shadow: none !important;
}

.nav-tabs .nav-link:hover {
  background-color: #f1f3f4 !important;
  color: #5f6368 !important;
}

/* ================================================
   INPUT GROUP, FORM VALIDATION, BADGES, etc.
   (same structure as original, Google colors)
   ================================================ */
.input-group > .btn, .input-group > .form-control { margin-left: 0 !important; margin-right: 0 !important; }
.input-group > .btn:not(:last-child) { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.input-group > .btn:not(:first-child) { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
.input-group > .form-control:not(:first-child) { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
.input-group > .form-control:not(:last-child) { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.input-group { display: flex !important; flex-wrap: nowrap !important; align-items: stretch !important; }
.input-group > * { flex-shrink: 0 !important; }

.input-group.input-group-outline.is-error .form-control { border-color: #d93025 !important; }
.input-group.input-group-outline.is-error.is-focused .form-control { border-color: #d93025 !important; box-shadow: 0 0 0 2px rgba(217, 48, 37, 0.15) !important; }
.input-group.input-group-outline.is-error .form-label { color: #d93025 !important; }
.input-group.input-group-outline.is-error.is-focused .form-label:before, .input-group.input-group-outline.is-error.is-focused .form-label:after,
.input-group.input-group-outline.is-error.is-filled .form-label:before, .input-group.input-group-outline.is-error.is-filled .form-label:after { border-top-color: #d93025 !important; box-shadow: inset 0 1px #d93025 !important; }

.input-group.input-group-outline.is-warning .form-control { border-color: #f9ab00 !important; }
.input-group.input-group-outline.is-warning.is-focused .form-control { border-color: #f9ab00 !important; box-shadow: 0 0 0 2px rgba(249, 171, 0, 0.15) !important; }
.input-group.input-group-outline.is-warning .form-label { color: #e37400 !important; }

.badge-primary, .badge.bg-gradient-primary { background-color: #1a73e8 !important; background-image: none !important; color: #ffffff !important; }

.badge, .badge-sm, span.badge {
  padding: 0.35rem 0.65rem !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  min-height: auto !important;
}

.flatpickr-calendar .flatpickr-day.selected, .flatpickr-calendar .flatpickr-day.today { background: #1a73e8 !important; border-color: #1a73e8 !important; color: #ffffff !important; }

/* Slider controls */
.noUi-handle, .noUi-draggable { background: #1a73e8 !important; border-color: #1a73e8 !important; }

/* Carousel indicators */
.bullets ul li .active { background-color: #1a73e8 !important; }

.gradient-animation { background-image: none !important; background-color: #1a73e8 !important; }

/* ================================================
   PRINT STYLES
   ================================================ */
.print-only-template { position: absolute !important; left: -9999px !important; top: 0 !important; }
@media print {
  .print-only-template { position: static !important; left: auto !important; top: auto !important; }
  @page { size: 80mm auto; margin: 0; }
  body { margin: 0; padding: 0; }
  body > *:not(.print-only-template) { display: none !important; }
  .print-only-template { display: block !important; width: 80mm !important; margin: 0 !important; padding: 0 !important; }
  .print-only-template.barcode-label-print-root { width: auto !important; }
}

/* Barcode labels */
.barcode-label-sheet { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.barcode-label { width: 2.625in; height: 1in; padding: 0.05in 0.1in; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; border: 1px dashed #dadce0; page-break-inside: avoid; }
.barcode-label .label-item-name { font-size: 8pt; font-weight: 600; text-align: center; line-height: 1.1; max-height: 1.1em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.barcode-label .label-sku { font-size: 6pt; color: #5f6368; text-align: center; }
.barcode-label .label-price { font-size: 8pt; font-weight: 700; text-align: center; }
.barcode-label .label-variant { font-size: 6pt; color: #5f6368; text-align: center; }
@media print { .barcode-label { border: none; } }

/* Text sizes */
.text-xl  { font-size: 1.25rem !important; }
.text-2xl { font-size: 1.5rem !important; }
.text-3xl { font-size: 2rem !important; }
.text-4xl { font-size: 2.5rem !important; }
.text-5xl { font-size: 3rem !important; }
.text-6xl { font-size: 4rem !important; }

/* ================================================
   DARK MODE — Google Dark
   Warm dark grey (#1f1f1f), not pure black.
   Surfaces layer up: #1f1f1f → #282a2c → #303134
   ================================================ */

.dark-version,
.dark-version .main-content {
  background-color: #1f1f1f !important;
}

/* Buttons */
.dark-version .omni-btn-primary { background-color: #8ab4f8 !important; border-color: #8ab4f8 !important; color: #202124 !important; }
.dark-version .omni-btn-primary:hover { background-color: #aecbfa !important; border-color: #aecbfa !important; color: #202124 !important; }

.dark-version .omni-btn-secondary { background-color: #303134 !important; border: 1px solid #5f6368 !important; color: #8ab4f8 !important; }
.dark-version .omni-btn-secondary:hover { background-color: #3c4043 !important; border: 1px solid #5f6368 !important; color: #aecbfa !important; }

.dark-version .omni-btn-search { background-color: transparent !important; border-color: #5f6368 !important; color: #9aa0a6 !important; }
.dark-version .omni-btn-search:hover { background-color: #8ab4f8 !important; border-color: #8ab4f8 !important; color: #202124 !important; }

.dark-version .btn-filter-neutral, .dark-version .btn-outline-secondary.btn-icon { background-color: transparent !important; border: 1px solid #5f6368 !important; color: #9aa0a6 !important; }
.dark-version .btn-filter-neutral:hover, .dark-version .btn-outline-secondary.btn-icon:hover { background-color: #303134 !important; border: 1px solid #5f6368 !important; color: #e8eaed !important; }
.dark-version .btn-outline-secondary { border-color: #5f6368 !important; color: #9aa0a6 !important; }
.dark-version .btn-outline-secondary:hover { background-color: #303134 !important; color: #e8eaed !important; }

/* Text */
.dark-version .main-content { color: #e8eaed !important; }

.dark-version h1, .dark-version h2, .dark-version h3,
.dark-version h4, .dark-version h5, .dark-version h6 { color: #e8eaed !important; }

.dark-version .text-dark { color: #e8eaed !important; }
.dark-version .text-body { color: #e8eaed !important; }
.dark-version .text-muted, .dark-version .text-secondary { color: #9aa0a6 !important; }
.dark-version .text-sm, .dark-version .text-xs { color: #bdc1c6 !important; }
.dark-version p, .dark-version span:not(.badge):not(.material-symbols-rounded):not([class*="bg-"]) { color: inherit; }
.dark-version .fw-bold, .dark-version .font-weight-bold, .dark-version .font-weight-bolder { color: #e8eaed !important; }

/* Cards — Google Dark elevated surface */
.dark-version .card {
  background-color: #282a2c !important;
  border: 1px solid #3c4043 !important;
  color: #e8eaed !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3), 0 4px 8px 3px rgba(0, 0, 0, 0.15) !important;
}

.dark-version .card .card-header { background-color: #282a2c !important; color: #e8eaed !important; }
.dark-version .card .card-header h5, .dark-version .card .card-header h6 { color: #e8eaed !important; }
.dark-version .card .card-body { color: #e8eaed !important; }
.dark-version .card .card-footer { color: #bdc1c6 !important; border-top-color: #3c4043 !important; }

.dark-version .bg-gray-100 { background-color: #303134 !important; }

/* Breadcrumb / Navbar */
.dark-version .breadcrumb-item, .dark-version .breadcrumb-item a, .dark-version .breadcrumb-item + .breadcrumb-item::before { color: #9aa0a6 !important; }
.dark-version .breadcrumb-item.active { color: #e8eaed !important; }
.dark-version .navbar-main .nav-link.text-body, .dark-version .navbar-main .nav-link { color: #e8eaed !important; }
.dark-version .navbar-main .nav-link i, .dark-version .navbar-main .nav-link .material-symbols-rounded { color: #e8eaed !important; }

/* Form elements */
.dark-version label, .dark-version .form-label, .dark-version .form-check-label { color: #bdc1c6 !important; }
.dark-version .form-select { color: #e8eaed !important; background-color: #303134 !important; border-color: #5f6368 !important; }

.dark-version .badge.bg-light { background-color: #303134 !important; color: #bdc1c6 !important; }

/* Pagination */
.dark-version .pagination .page-link { color: #bdc1c6 !important; background-color: transparent !important; border-color: #3c4043 !important; }
.dark-version .pagination .page-item.active > .page-link { color: #202124 !important; background-color: #8ab4f8 !important; border-color: #8ab4f8 !important; }
.dark-version .pagination .page-item.disabled > .page-link { color: #5f6368 !important; }

/* Borders */
.dark-version .border-bottom { border-bottom-color: #3c4043 !important; }
.dark-version .border-top { border-top-color: #3c4043 !important; }
.dark-version code { color: #c58af9 !important; }

/* Form inputs */
.dark-version .form-control, .dark-version .input-group-outline .form-control,
.dark-version input.form-control, .dark-version textarea.form-control, .dark-version select.form-control {
  border-color: #5f6368 !important;
  color: #e8eaed !important;
  background-color: transparent !important;
  box-shadow: inset 1px 0 #5f6368, inset -1px 0 #5f6368, inset 0 -1px #5f6368 !important;
}

.dark-version .input-group-outline .form-control:focus,
.dark-version input.form-control:focus, .dark-version textarea.form-control:focus, .dark-version select.form-control:focus {
  border-color: #8ab4f8 !important;
  box-shadow: 0 0 0 1px rgba(138, 180, 248, 0.3) !important;
}

.dark-version .input-group-outline .form-label { color: #9aa0a6 !important; }
.dark-version .input-group-outline.is-focused .form-label { color: #8ab4f8 !important; }

.dark-version .input-group.input-group-outline.is-focused .form-label+.form-control { border-color: #8ab4f8 !important; border-top-color: transparent !important; box-shadow: inset 1px 0 #8ab4f8, inset -1px 0 #8ab4f8, inset 0 -1px #8ab4f8 !important; }
.dark-version .input-group.input-group-outline.is-filled .form-label+.form-control { border-color: #5f6368 !important; border-top-color: transparent !important; box-shadow: inset 1px 0 #5f6368, inset -1px 0 #5f6368, inset 0 -1px #5f6368 !important; }
.dark-version .input-group.input-group-outline.is-focused .form-label:before, .dark-version .input-group.input-group-outline.is-focused .form-label:after { border-top-color: #8ab4f8 !important; box-shadow: inset 0 1px #8ab4f8 !important; }
.dark-version .input-group.input-group-outline.is-filled .form-label:before, .dark-version .input-group.input-group-outline.is-filled .form-label:after { border-top-color: #5f6368 !important; box-shadow: inset 0 1px #5f6368 !important; }

.dark-version .form-control:disabled, .dark-version input.form-control:disabled { background-color: #1f1f1f !important; border-color: #3c4043 !important; color: #5f6368 !important; }

/* Tabs */
.dark-version .nav.nav-tabs .nav-link:hover:not(.active), .dark-version button.nav-link.mb-0:hover:not(.active) { background-color: #303134 !important; color: #bdc1c6 !important; }
.dark-version .nav.nav-tabs .nav-link, .dark-version button.nav-link.mb-0 { color: #9aa0a6 !important; }
.dark-version .nav.nav-tabs .nav-link.active, .dark-version button.nav-link.mb-0.active { color: #8ab4f8 !important; border-bottom-color: #8ab4f8 !important; }

/* Tables */
.dark-version .table th { color: #9aa0a6 !important; }
.dark-version .table td { color: #bdc1c6 !important; border-bottom-color: #3c4043 !important; }

/* Links */
.dark-version a:not(.btn):not(.nav-link):not(.dropdown-item), .dark-version .btn-link, .dark-version .omni-btn-link { color: #8ab4f8 !important; }
.dark-version a:not(.btn):not(.nav-link):not(.dropdown-item):hover { color: #aecbfa !important; }
.dark-version .btn-link:hover, .dark-version .omni-btn-link:hover { color: #8ab4f8 !important; background-color: rgba(232, 234, 237, 0.08) !important; border-radius: 4px; }
.dark-version .btn-link:active, .dark-version .omni-btn-link:active { background-color: rgba(232, 234, 237, 0.12) !important; }
.dark-version .omni-btn-link.text-danger { color: #f28b82 !important; }
.dark-version .omni-btn-link.text-success { color: #81c995 !important; }
.dark-version .omni-btn-link.text-secondary { color: #9aa0a6 !important; }
.dark-version .omni-btn-link.text-dark { color: #e8eaed !important; }
.dark-version .omni-btn-link.text-muted { color: #9aa0a6 !important; }

/* Horizontal rules */
.dark-version hr.horizontal.dark { background-image: linear-gradient(to right, transparent, #3c4043, transparent) !important; }

/* List group, dropdown, modal */
.dark-version .list-group-item { background-color: #282a2c !important; border-color: #3c4043 !important; color: #bdc1c6 !important; }
.dark-version .list-group-item:hover { background-color: #303134 !important; }
.dark-version .dropdown-menu { background-color: #303134 !important; border-color: #3c4043 !important; border-radius: 8px !important; box-shadow: 0 4px 8px 3px rgba(0, 0, 0, 0.25) !important; }
.dark-version .dropdown-item { color: #bdc1c6 !important; }
.dark-version .dropdown-item:hover { background-color: #3c4043 !important; color: #e8eaed !important; }
.dark-version .modal-content { background-color: #282a2c !important; color: #e8eaed !important; }

/* Sidenav */
.dark-version .sidenav { background-color: #282a2c !important; border-color: #3c4043 !important; }
.dark-version .sidenav.bg-transparent { background-color: transparent !important; border-color: transparent !important; }
.dark-version .sidenav .navbar-nav .nav-link .nav-link-text, .dark-version .sidenav .navbar-nav .nav-link i,
.dark-version .sidenav .navbar-nav .nav-link .material-symbols-rounded { color: #e8eaed !important; }

/* Sidenav active state — dark mode */
.dark-version .sidenav .navbar-nav > .nav-item .nav-link.active {
  background-color: rgba(138, 180, 248, 0.15) !important;
  color: #8ab4f8 !important;
}
.dark-version .sidenav .navbar-nav > .nav-item .nav-link.active .icon i,
.dark-version .sidenav .navbar-nav > .nav-item .nav-link.active .icon .material-symbols-rounded {
  color: #8ab4f8 !important;
}
.dark-version .sidenav .navbar-nav > .nav-item .nav-link.active .nav-link-text {
  color: #8ab4f8 !important;
}

/* Colored text */
.dark-version .text-primary { color: #8ab4f8 !important; }
.dark-version .text-info { color: #78d9ec !important; }
.dark-version .text-success { color: #81c995 !important; }
.dark-version .text-warning { color: #fdd663 !important; }
.dark-version .text-danger { color: #f28b82 !important; }

/* SVG icons */
.dark-version svg path { fill: #e8eaed !important; }
.dark-version svg.text-success path { fill: #81c995 !important; }
.dark-version svg.text-danger path { fill: #f28b82 !important; }
.dark-version svg.text-warning path { fill: #fdd663 !important; }
.dark-version svg.text-info path { fill: #78d9ec !important; }
.dark-version svg.text-primary path { fill: #8ab4f8 !important; }

/* Alerts — dark subtle tinted backgrounds */
.dark-version .alert-primary { background-color: rgba(138, 180, 248, 0.12) !important; border-color: rgba(138, 180, 248, 0.2) !important; color: #8ab4f8 !important; }
.dark-version .alert-secondary { background-color: rgba(154, 160, 166, 0.12) !important; border-color: rgba(154, 160, 166, 0.2) !important; color: #bdc1c6 !important; }
.dark-version .alert-success { background-color: rgba(129, 201, 149, 0.12) !important; border-color: rgba(129, 201, 149, 0.2) !important; color: #81c995 !important; }
.dark-version .alert-info { background-color: rgba(138, 180, 248, 0.12) !important; border-color: rgba(138, 180, 248, 0.2) !important; color: #8ab4f8 !important; }
.dark-version .alert-warning { background-color: rgba(253, 214, 99, 0.12) !important; border-color: rgba(253, 214, 99, 0.2) !important; color: #fdd663 !important; }
.dark-version .alert-danger { background-color: rgba(242, 139, 130, 0.12) !important; border-color: rgba(242, 139, 130, 0.2) !important; color: #f28b82 !important; }
.dark-version .alert-light { background-color: rgba(232, 234, 237, 0.08) !important; border-color: rgba(232, 234, 237, 0.15) !important; color: #bdc1c6 !important; }
.dark-version .alert-dark { background-color: rgba(232, 234, 237, 0.15) !important; border-color: rgba(232, 234, 237, 0.2) !important; color: #e8eaed !important; }
.dark-version .alert .alert-link { color: inherit !important; text-decoration: underline !important; }

/* Dark mode bg-* overrides */
.dark-version .bg-success { background-image: none !important; background-color: #81c995 !important; color: #202124 !important; }
.dark-version .bg-info    { background-image: none !important; background-color: #8ab4f8 !important; color: #202124 !important; }
.dark-version .bg-warning { background-image: none !important; background-color: #fdd663 !important; color: #202124 !important; }
.dark-version .bg-danger  { background-image: none !important; background-color: #f28b82 !important; color: #202124 !important; }

.dark-version .badge.bg-success   { background-color: rgba(129, 201, 149, 0.15) !important; color: #81c995 !important; }
.dark-version .badge.bg-info      { background-color: rgba(138, 180, 248, 0.15) !important; color: #8ab4f8 !important; }
.dark-version .badge.bg-warning   { background-color: rgba(253, 214, 99, 0.15) !important; color: #fdd663 !important; }
.dark-version .badge.bg-danger    { background-color: rgba(242, 139, 130, 0.15) !important; color: #f28b82 !important; }
.dark-version .badge.bg-secondary { background-color: rgba(154, 160, 166, 0.15) !important; color: #bdc1c6 !important; }
.dark-version .badge.bg-primary   { background-color: rgba(138, 180, 248, 0.15) !important; color: #8ab4f8 !important; }
.dark-version .badge.bg-dark      { background-color: rgba(154, 160, 166, 0.15) !important; color: #bdc1c6 !important; }

.dark-version .card-header.bg-success, .dark-version .icon.bg-success, .dark-version .timeline-step.bg-success { background-color: #81c995 !important; color: #202124 !important; }
.dark-version .card-header.bg-info,    .dark-version .icon.bg-info,    .dark-version .timeline-step.bg-info    { background-color: #8ab4f8 !important; color: #202124 !important; }
.dark-version .card-header.bg-warning, .dark-version .icon.bg-warning, .dark-version .timeline-step.bg-warning { background-color: #fdd663 !important; color: #202124 !important; }
.dark-version .card-header.bg-danger,  .dark-version .icon.bg-danger,  .dark-version .timeline-step.bg-danger  { background-color: #f28b82 !important; color: #202124 !important; }
.dark-version .card-header.bg-dark,    .dark-version .icon.bg-dark,    .dark-version .timeline-step.bg-dark    { background-color: #9aa0a6 !important; color: #202124 !important; }

/* LEGACY bg-gradient-* dark overrides (Material Dashboard internals) */
.dark-version .bg-gradient-success { background-image: none !important; background-color: #81c995 !important; color: #202124 !important; }
.dark-version .bg-gradient-info    { background-image: none !important; background-color: #8ab4f8 !important; color: #202124 !important; }
.dark-version .bg-gradient-warning { background-image: none !important; background-color: #fdd663 !important; color: #202124 !important; }
.dark-version .bg-gradient-danger  { background-image: none !important; background-color: #f28b82 !important; color: #202124 !important; }

.dark-version .badge.bg-gradient-success   { background-color: rgba(129, 201, 149, 0.15) !important; color: #81c995 !important; }
.dark-version .badge.bg-gradient-info      { background-color: rgba(138, 180, 248, 0.15) !important; color: #8ab4f8 !important; }
.dark-version .badge.bg-gradient-warning   { background-color: rgba(253, 214, 99, 0.15) !important; color: #fdd663 !important; }
.dark-version .badge.bg-gradient-danger    { background-color: rgba(242, 139, 130, 0.15) !important; color: #f28b82 !important; }
.dark-version .badge.bg-gradient-secondary { background-color: rgba(154, 160, 166, 0.15) !important; color: #bdc1c6 !important; }
.dark-version .badge.bg-gradient-primary   { background-color: rgba(138, 180, 248, 0.15) !important; color: #8ab4f8 !important; }

.dark-version .card-header.bg-gradient-success, .dark-version .icon.bg-gradient-success, .dark-version .timeline-step.bg-gradient-success { background-color: #81c995 !important; color: #202124 !important; }
.dark-version .card-header.bg-gradient-info,    .dark-version .icon.bg-gradient-info,    .dark-version .timeline-step.bg-gradient-info    { background-color: #8ab4f8 !important; color: #202124 !important; }
.dark-version .card-header.bg-gradient-warning, .dark-version .icon.bg-gradient-warning, .dark-version .timeline-step.bg-gradient-warning { background-color: #fdd663 !important; color: #202124 !important; }
.dark-version .card-header.bg-gradient-danger,  .dark-version .icon.bg-gradient-danger,  .dark-version .timeline-step.bg-gradient-danger  { background-color: #f28b82 !important; color: #202124 !important; }
.dark-version .card-header.bg-gradient-dark,    .dark-version .icon.bg-gradient-dark,    .dark-version .timeline-step.bg-gradient-dark    { background-color: #9aa0a6 !important; color: #202124 !important; }

/* Accordion */
.dark-version .accordion-button { background-color: #282a2c !important; color: #e8eaed !important; border-color: #3c4043 !important; }
.dark-version .accordion-button::after { filter: invert(1) !important; }
.dark-version .accordion-body { background-color: #282a2c !important; color: #bdc1c6 !important; }

.dark-version .bg-gradient-dark { background-image: none !important; background-color: #9aa0a6 !important; color: #202124 !important; }
.dark-version .bg-dark { background-image: none !important; background-color: #9aa0a6 !important; color: #202124 !important; }

/* Drawers */
.dark-version .position-fixed.bg-white { background-color: #282a2c !important; border-color: #3c4043 !important; color: #e8eaed !important; }
.dark-version .position-fixed.bg-white .border-bottom { border-bottom-color: #3c4043 !important; }
.dark-version .position-fixed.bg-white h6, .dark-version .position-fixed.bg-white .text-dark { color: #e8eaed !important; }
.dark-version .position-fixed.bg-white .text-secondary, .dark-version .position-fixed.bg-white .text-muted { color: #9aa0a6 !important; }
.dark-version .position-fixed.bg-white.shadow-lg { box-shadow: -4px 0 24px rgba(0, 0, 0, 0.4) !important; }
.dark-version .card-header.bg-white { background-color: #282a2c !important; }
.dark-version .position-fixed.bg-white .bg-white { background-color: #282a2c !important; }

/* ── OmniGrid Enhancements ── */

/* Subtle grey header background */
.table thead th {
  background-color: #f8f9fa;
  border-bottom: 2px solid #e9ecef;
}

/* Zebra-striped rows */
.table tbody tr:nth-child(even) {
  background-color: #fafbfc;
}
.table tbody tr:nth-child(even):hover {
  background-color: #f0f2f5;
}

/* Row hover */
.omni-grid-row:hover {
  background-color: #f0f2f5;
}

/* Pagination layout — 3-column: showing text | page numbers | rows-per-page */
.omni-grid-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  border-top: 1px solid #e9ecef;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.omni-grid-pagination-info {
  font-size: 0.8125rem;
  color: #6c757d;
  white-space: nowrap;
}
.omni-grid-pagination-pages {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.omni-grid-pagination-pages .omni-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 0.375rem;
  border: 1px solid transparent;
  border-radius: 0.375rem;
  background: none;
  font-size: 0.8125rem;
  color: #344767;
  cursor: pointer;
  transition: background-color var(--omni-transition-fast, 150ms), border-color var(--omni-transition-fast, 150ms);
}
.omni-grid-pagination-pages .omni-page-btn:hover {
  background-color: #f0f2f5;
  border-color: #dee2e6;
}
.omni-grid-pagination-pages .omni-page-btn.active {
  background-color: var(--omni-primary, #344767);
  color: #fff;
  border-color: var(--omni-primary, #344767);
  font-weight: 600;
}
.omni-grid-pagination-pages .omni-page-btn:disabled {
  opacity: 0.4;
  cursor: default;
}
.omni-grid-pagination-pages .omni-page-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  font-size: 0.8125rem;
  color: #6c757d;
  user-select: none;
}
.omni-grid-page-size {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  color: #6c757d;
  white-space: nowrap;
}
.omni-grid-page-size select {
  padding: 0.25rem 1.5rem 0.25rem 0.5rem;
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
  background-color: #fff;
  font-size: 0.8125rem;
  color: #344767;
  cursor: pointer;
  appearance: auto;
}

/* OmniGrid dark mode overrides */
.dark-version .table tbody tr:nth-child(even) { background-color: #1e2022 !important; }
.dark-version .table tbody tr:nth-child(even):hover { background-color: #303134 !important; }
.dark-version .omni-grid-row:hover { background-color: #303134 !important; }
.dark-version .omni-grid-link { color: #8ab4f8 !important; }

/* OmniGrid table wrapper — overrides #fff from design-tokens.css */
.dark-version .omni-grid-table-wrapper {
  background-color: #282a2c !important;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 3px rgba(0, 0, 0, 0.5) !important;
}

/* Column headers — override opacity-7 that makes text nearly invisible */
.dark-version .table th.opacity-7 { opacity: 1 !important; }

/* Non-sticky th background */
.dark-version .table thead th {
  background-color: #282a2c !important;
  border-bottom-color: #3c4043 !important;
}

/* Table body row borders */
.dark-version .table tbody tr { border-bottom-color: #3c4043 !important; }

/* OmniGrid icon buttons */
.dark-version .omni-grid-icon-btn:hover,
.dark-version .omni-grid-icon-btn:focus-visible { background-color: #3c4043 !important; color: #e8eaed !important; }
.dark-version .omni-grid-icon-btn:hover i,
.dark-version .omni-grid-icon-btn:focus-visible i { color: #e8eaed !important; }

/* Expanded row content area */
.dark-version .omni-grid-expanded .bg-white { background-color: #303134 !important; }

/* Bulk selection bar surface */
.dark-version .card-body [style*="--omni-surface-subtle"] { background-color: #303134 !important; }

/* Column resize handle */
.dark-version th:hover .omni-grid-resize-handle,
.dark-version .omni-grid-resize-handle.active { background-color: #9aa0a6 !important; }

/* Saved views active state */
.dark-version .omni-list-active.list-group-item.active { background-color: #303134 !important; color: #e8eaed !important; border-color: #3c4043 !important; }
.dark-version .omni-list-active.list-group-item.active:hover,
.dark-version .omni-list-active.list-group-item.active:focus { background-color: #3c4043 !important; color: #e8eaed !important; }

/* Sticky header dark background */
.dark-version .omni-grid-sticky-header thead th { background-color: #282a2c !important; }

/* Pagination dark mode */
.dark-version .omni-grid-pagination-info { color: #9aa0a6; }
.dark-version .omni-grid-pagination-pages .omni-page-btn {
  background-color: #303134;
  border-color: #3c4043;
  color: #bdc1c6;
}
.dark-version .omni-grid-pagination-pages .omni-page-btn:hover {
  background-color: #3c4043;
  border-color: #5f6368;
}
.dark-version .omni-grid-pagination-pages .omni-page-btn.active {
  background-color: #8ab4f8;
  color: #202124;
  border-color: #8ab4f8;
}
.dark-version .omni-grid-pagination-pages .omni-page-ellipsis { color: #9aa0a6; }
.dark-version .omni-grid-page-size { color: #9aa0a6; }
.dark-version .omni-grid-page-size select {
  background-color: #303134;
  border-color: #3c4043;
  color: #bdc1c6;
}

/* Misc dark fixes */
.dark-version ::placeholder { color: #5f6368; }
.dark-version .form-check-input { background-color: #303134; border-color: #5f6368; }
.dark-version .form-check-input:checked { background-color: #8ab4f8; border-color: #8ab4f8; }
/* Dark mode radio — ring + dot pattern */
/* Dark mode radio — ring + dot pattern (matches specificity of MD overrides) */
.dark-version .form-check:not(.form-switch) .form-check-input[type="radio"],
.dark-version .form-check-input[type="radio"] { background-color: transparent !important; border-color: #9aa0a6 !important; }
.dark-version .form-check:not(.form-switch) .form-check-input[type="radio"]::after,
.dark-version .form-check-input[type="radio"]::after { content: none !important; display: none !important; }
.dark-version .form-check:not(.form-switch) .form-check-input[type="radio"]:hover,
.dark-version .form-check-input[type="radio"]:hover { border-color: #e8eaed !important; box-shadow: 0 0 0 8px rgba(138, 180, 248, 0.08) !important; }
.dark-version .form-check:not(.form-switch) .form-check-input[type="radio"]:focus,
.dark-version .form-check-input[type="radio"]:focus { border-color: #8ab4f8 !important; box-shadow: 0 0 0 8px rgba(138, 180, 248, 0.12) !important; }
.dark-version .form-check:not(.form-switch) .form-check-input[type="radio"]:checked,
.dark-version .form-check-input[type="radio"]:checked { border-color: #8ab4f8 !important; background-color: transparent !important; padding: 0 !important; box-shadow: inset 0 0 0 4px #8ab4f8 !important; }
.dark-version .form-check:not(.form-switch) .form-check-input[type="radio"]:checked:hover,
.dark-version .form-check-input[type="radio"]:checked:hover { box-shadow: inset 0 0 0 4px #8ab4f8, 0 0 0 8px rgba(138, 180, 248, 0.08) !important; }
.dark-version .form-check:not(.form-switch) .form-check-input[type="radio"]:checked:focus,
.dark-version .form-check-input[type="radio"]:checked:focus { box-shadow: inset 0 0 0 4px #8ab4f8, 0 0 0 8px rgba(138, 180, 248, 0.12) !important; }
.dark-version .form-check:not(.form-switch) .form-check-input[type="radio"]:disabled,
.dark-version .form-check-input[type="radio"]:disabled { border-color: #5f6368 !important; box-shadow: none !important; }
.dark-version .form-check:not(.form-switch) .form-check-input[type="radio"]:disabled:checked,
.dark-version .form-check-input[type="radio"]:disabled:checked { box-shadow: inset 0 0 0 4px #5f6368 !important; }
.dark-version .modal-header, .dark-version .modal-footer { background-color: #282a2c; border-color: #3c4043; }
.dark-version .Toastify__toast { background-color: #303134; color: #e8eaed; border: 1px solid #3c4043; }
.dark-version .Toastify__close-button { color: #9aa0a6; }
.dark-version .Toastify__progress-bar { background: #8ab4f8; }
.dark-version .input-group-text { background-color: #303134; color: #e8eaed; border-color: #5f6368; }
.dark-version .progress { background-color: #303134; }
.dark-version .offcanvas { background-color: #1f1f1f; color: #e8eaed; }
.dark-version .bg-white { background-color: #1f1f1f !important; }
.dark-version .bg-gray-200 { background-color: #1f1f1f !important; }
.dark-version .card.z-index-0 { background-color: #282a2c; border: 1px solid #3c4043; }
.dark-version .bg-gray-200 .input-group .form-control { background-color: #1f1f1f; color: #e8eaed; border-color: #5f6368; }
.dark-version .bg-gray-200 .text-dark { color: #e8eaed !important; }
.dark-version .bg-gray-200 a { color: #8ab4f8; }
.dark-version .sidenav .nav-item .section-toggle:hover h6 { opacity: 0.9 !important; }

/* Design token dark overrides */
.dark-version {
  /* Neutral scale — Google Dark grey */
  --omni-neutral-0: #1f1f1f;
  --omni-neutral-50: #282a2c;
  --omni-neutral-100: #303134;
  --omni-neutral-200: #3c4043;
  --omni-neutral-300: #5f6368;
  --omni-neutral-400: #9aa0a6;
  --omni-neutral-500: #9aa0a6;
  --omni-neutral-600: #bdc1c6;
  --omni-neutral-700: #e8eaed;
  --omni-neutral-900: #e8eaed;

  /* Brand */
  --omni-brand-primary: #8ab4f8;
  --omni-brand-primary-hover: #aecbfa;

  /* Surfaces & text */
  --omni-surface-subtle: #282a2c;
  --omni-surface-muted: #303134;
  --omni-surface-divider: #3c4043;
  --omni-text-primary: #e8eaed;
  --omni-text-secondary: #bdc1c6;
  --omni-text-tertiary: #9aa0a6;
  --omni-text-placeholder: #5f6368;
  --omni-overlay-backdrop: rgba(0, 0, 0, 0.5);
  --omni-state-dirty-bg: rgba(249, 171, 0, 0.08);
  --omni-state-warning-bg: rgba(249, 171, 0, 0.08);
  --omni-state-diff-add: rgba(30, 142, 62, 0.08);
  --omni-state-diff-remove: rgba(217, 48, 37, 0.08);
  --omni-state-active-indicator: #8ab4f8;
}

/* ================================================
   ACCESSIBILITY
   ================================================ */
:focus-visible { outline: 2px solid var(--omni-brand-primary, #1a73e8) !important; outline-offset: 2px; }
:focus:not(:focus-visible) { outline: none !important; }

/* WCAG 1.4.1 — in-content links must be distinguishable by more than color */
.card-body a:not(.btn):not(.badge):not(.nav-link):not(.dropdown-item),
.modal-body a:not(.btn):not(.badge):not(.nav-link):not(.dropdown-item),
p a:not(.btn):not(.badge) {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.card-body a:not(.btn):not(.badge):not(.nav-link):not(.dropdown-item):hover,
.modal-body a:not(.btn):not(.badge):not(.nav-link):not(.dropdown-item):hover,
p a:not(.btn):not(.badge):hover {
  text-decoration-thickness: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
