/* Lexxic Bootstrap 5 theme — CSS custom-property override
   Usage: load AFTER bootstrap.min.css (5.3+, which reads its own CSS vars).
   <link rel="stylesheet" href="bootstrap.min.css">
   <link rel="stylesheet" href="lexxic-bootstrap-theme.css">
*/
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap");

:root,[data-bs-theme=light]{
  --bs-font-sans-serif:"Poppins",system-ui,sans-serif;
  --bs-body-font-family:var(--bs-font-sans-serif);
  --bs-body-color:#475569;
  --bs-body-bg:#ffffff;
  --bs-emphasis-color:#0f172a;
  --bs-heading-color:#0f172a;

  --bs-primary:#4a90d9;
  --bs-primary-rgb:74,144,217;
  --bs-primary-text-emphasis:#1c3a6b;
  --bs-primary-bg-subtle:#dbeafe;
  --bs-primary-border-subtle:#a9c9ec;

  --bs-secondary:#7b4fa6;
  --bs-secondary-rgb:123,79,166;
  --bs-secondary-text-emphasis:#4f3369;
  --bs-secondary-bg-subtle:#ede4f5;
  --bs-secondary-border-subtle:#d4bfe6;

  --bs-success:#6bbd45;
  --bs-success-rgb:107,189,69;
  --bs-success-bg-subtle:#e6f4dc;
  --bs-success-text-emphasis:#3a7a20;

  --bs-warning:#f5c842;
  --bs-warning-rgb:245,200,66;
  --bs-warning-bg-subtle:#fdf6d8;
  --bs-warning-border-subtle:#f0dd8f;
  --bs-warning-text-emphasis:#8a6a08;

  --bs-danger:#e8799a;
  --bs-danger-rgb:232,121,154;
  --bs-danger-bg-subtle:#fbe3ea;
  --bs-danger-text-emphasis:#a13a5a;

  --bs-info:#64748b;
  --bs-info-rgb:100,116,139;
  --bs-info-bg-subtle:#f1f5f9;
  --bs-info-border-subtle:#cbd5e1;
  --bs-info-text-emphasis:#334155;

  --bs-dark:#1a1a1a;
  --bs-dark-rgb:26,26,26;
  --bs-light:#f8fafc;
  --bs-light-rgb:248,250,252;

  --bs-border-radius:12px;
  --bs-border-radius-sm:8px;
  --bs-border-radius-lg:20px;
  --bs-border-radius-pill:999px;
  --bs-border-color:#e2e8f0;
  --bs-box-shadow:0 1px 2px rgba(15,23,42,.05),0 8px 24px rgba(15,23,42,.06);
  --bs-box-shadow-sm:0 1px 2px rgba(15,23,42,.05);
  --bs-link-color:#4a90d9;
  --bs-link-color-rgb:74,144,217;
  --bs-link-hover-color:#1c3a6b;
  --bs-link-hover-color-rgb:28,58,107;

  --bs-nav-link-padding-y:.5rem;
  --bs-nav-link-padding-x:1rem;
  --bs-nav-link-font-size:.875rem;
  --bs-nav-link-font-weight:600;

  --bs-focus-ring-color:rgba(74,144,217,.35);

  --bs-card-border-color:#e2e8f0;
  --bs-card-border-radius:12px;
  --bs-card-box-shadow:0 1px 2px rgba(15,23,42,.05),0 8px 24px rgba(15,23,42,.06);
  --bs-card-cap-bg:#fff;

  --bs-dropdown-border-color:#e2e8f0;
  --bs-dropdown-border-radius:12px;
  --bs-dropdown-box-shadow:0 4px 8px rgba(15,23,42,.06),0 16px 32px rgba(15,23,42,.10);
  --bs-dropdown-link-active-bg:#4a90d9;
  --bs-dropdown-link-hover-bg:#f1f5f9;

  --bs-modal-border-radius:20px;
  --bs-modal-box-shadow:0 12px 40px rgba(15,23,42,.16);

  --bs-nav-tabs-link-active-border-color:#e2e8f0 #e2e8f0 #fff;
  --bs-nav-tabs-link-active-color:#4a90d9;
  --bs-nav-pills-link-active-bg:#4a90d9;
  --bs-nav-pills-border-radius:999px;

  --bs-list-group-border-color:#e2e8f0;
  --bs-list-group-active-bg:#4a90d9;
  --bs-list-group-active-border-color:#4a90d9;

  --bs-tooltip-bg:#1a1a1a;
  --bs-tooltip-border-radius:8px;

  --bs-progress-border-radius:999px;
  --bs-progress-bar-bg:#4a90d9;

  --bs-code-color:#7b4fa6;

  --bs-dark-bg-subtle:#e2e8f0;
  --bs-dark-border-subtle:#94a3b8;
  --bs-dark-text-emphasis:#1a1a1a;
}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Poppins",system-ui,sans-serif;font-weight:800;letter-spacing:-.02em}

/* Buttons — full pill, bold Poppins label, brand hover/press language
   (padding/font-weight/border-radius are compiled Sass values in Bootstrap's CSS, not var-driven — set directly) */
.btn{font-family:"Poppins",system-ui,sans-serif;font-weight:600;border-radius:999px;padding:.65rem 1.4rem;transition:filter .12s ease,transform .12s ease}
.btn-sm,.btn-group-sm>.btn{font-weight:500;padding:.4rem .9rem}
.btn-xs,.btn-group-xs>.btn{font-weight:500;padding:.2rem .6rem;font-size:.75rem}
.btn:hover{filter:brightness(.92)}
.btn:active{transform:scale(.97)}
.btn:disabled,.btn.disabled{opacity:.55;filter:grayscale(.2)}
.btn-primary{--bs-btn-bg:#4a90d9;--bs-btn-border-color:#4a90d9;--bs-btn-hover-bg:#3f7dc0;--bs-btn-hover-border-color:#3f7dc0;--bs-btn-active-bg:#1c3a6b;--bs-btn-active-border-color:#1c3a6b}
.btn-dark{--bs-btn-bg:#1a1a1a;--bs-btn-border-color:#1a1a1a}
.btn-secondary{--bs-btn-bg:#7b4fa6;--bs-btn-border-color:#7b4fa6;--bs-btn-hover-bg:#6a4390;--bs-btn-hover-border-color:#6a4390;--bs-btn-active-bg:#4f3369;--bs-btn-active-border-color:#4f3369}
.btn-success{--bs-btn-bg:#6bbd45;--bs-btn-border-color:#6bbd45;--bs-btn-hover-bg:#5da33b;--bs-btn-hover-border-color:#5da33b;--bs-btn-active-bg:#3a7a20;--bs-btn-active-border-color:#3a7a20}
.btn-info{--bs-btn-bg:#64748b;--bs-btn-border-color:#64748b;--bs-btn-color:#fff;--bs-btn-hover-bg:#586477;--bs-btn-hover-border-color:#586477;--bs-btn-hover-color:#fff;--bs-btn-active-bg:#334155;--bs-btn-active-border-color:#334155;--bs-btn-active-color:#fff}
.btn-warning{--bs-btn-bg:#f5c842;--bs-btn-border-color:#f5c842;--bs-btn-color:#1a1a1a;--bs-btn-hover-bg:#ddb43a;--bs-btn-hover-border-color:#ddb43a;--bs-btn-hover-color:#1a1a1a;--bs-btn-active-bg:#8a6a08;--bs-btn-active-border-color:#8a6a08;--bs-btn-active-color:#fff}
.btn-danger{--bs-btn-bg:#e8799a;--bs-btn-border-color:#e8799a;--bs-btn-color:#fff;--bs-btn-hover-bg:#d1698a;--bs-btn-hover-border-color:#d1698a;--bs-btn-hover-color:#fff;--bs-btn-active-bg:#a13a5a;--bs-btn-active-border-color:#a13a5a;--bs-btn-active-color:#fff}
.btn-light{--bs-btn-bg:#f8fafc;--bs-btn-border-color:#e2e8f0;--bs-btn-color:#0f172a}
.btn-outline-primary{--bs-btn-color:#0f172a;--bs-btn-border-color:#4a90d9;--bs-btn-hover-bg:#4a90d9;--bs-btn-hover-border-color:#4a90d9;--bs-btn-hover-color:#fff;--bs-btn-active-bg:#4a90d9;--bs-btn-active-border-color:#4a90d9;--bs-btn-active-color:#fff}
.btn-outline-secondary{--bs-btn-color:#0f172a;--bs-btn-border-color:#7b4fa6;--bs-btn-hover-bg:#7b4fa6;--bs-btn-hover-border-color:#7b4fa6;--bs-btn-hover-color:#fff;--bs-btn-active-bg:#7b4fa6;--bs-btn-active-border-color:#7b4fa6;--bs-btn-active-color:#fff}
.btn-outline-success{--bs-btn-color:#0f172a;--bs-btn-border-color:#6bbd45;--bs-btn-hover-bg:#6bbd45;--bs-btn-hover-border-color:#6bbd45;--bs-btn-hover-color:#fff;--bs-btn-active-bg:#6bbd45;--bs-btn-active-border-color:#6bbd45;--bs-btn-active-color:#fff}
.btn-outline-info{--bs-btn-color:#0f172a;--bs-btn-border-color:#64748b;--bs-btn-hover-bg:#64748b;--bs-btn-hover-border-color:#64748b;--bs-btn-hover-color:#fff;--bs-btn-active-bg:#64748b;--bs-btn-active-border-color:#64748b;--bs-btn-active-color:#fff}
.btn-outline-warning{--bs-btn-color:#0f172a;--bs-btn-border-color:#f5c842;--bs-btn-hover-bg:#f5c842;--bs-btn-hover-border-color:#f5c842;--bs-btn-hover-color:#1a1a1a;--bs-btn-active-bg:#f5c842;--bs-btn-active-border-color:#f5c842;--bs-btn-active-color:#1a1a1a}
.btn-outline-danger{--bs-btn-color:#0f172a;--bs-btn-border-color:#e8799a;--bs-btn-hover-bg:#e8799a;--bs-btn-hover-border-color:#e8799a;--bs-btn-hover-color:#fff;--bs-btn-active-bg:#e8799a;--bs-btn-active-border-color:#e8799a;--bs-btn-active-color:#fff}
.btn-outline-dark{--bs-btn-color:#0f172a;--bs-btn-border-color:#1a1a1a;--bs-btn-hover-bg:#1a1a1a;--bs-btn-hover-border-color:#1a1a1a;--bs-btn-hover-color:#fff;--bs-btn-active-bg:#1a1a1a;--bs-btn-active-border-color:#1a1a1a;--bs-btn-active-color:#fff}
[class*="btn-outline-"]{border-width:2px}
.btn-group>[class*="btn-outline-"]:not(:first-child){margin-left:-2px}
.btn-outline-primary.active,.btn-check:checked+.btn-outline-primary{background-color:#4a90d9;border-color:#4a90d9;color:#fff}
.btn-group>.btn.active,.btn-group>.btn:active,.btn-group-vertical>.btn.active{background-color:#4a90d9!important;border-color:#4a90d9!important;color:#fff!important}
.btn-group>.btn,.btn-group-vertical>.btn{border-radius:var(--bs-border-radius-sm)}
.btn-group>.btn:first-child{border-top-left-radius:var(--bs-border-radius-sm);border-bottom-left-radius:var(--bs-border-radius-sm)}
.btn-group>.btn:last-child{border-top-right-radius:var(--bs-border-radius-sm);border-bottom-right-radius:var(--bs-border-radius-sm)}
.btn-group-vertical>.btn:first-child{border-top-left-radius:var(--bs-border-radius-sm);border-top-right-radius:var(--bs-border-radius-sm)}
.btn-group-vertical>.btn:last-child{border-bottom-left-radius:var(--bs-border-radius-sm);border-bottom-right-radius:var(--bs-border-radius-sm)}

/* Badges — eyebrow-pill style */
.badge{font-family:"Poppins",system-ui,sans-serif;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--bs-border-radius-pill);font-size:.65rem;padding:.7em .85em .5em}
.text-bg-info{color:#fff!important}

/* Cards — thin border, soft shadow, optional colored top accent via .card-accent-* (base card styling now driven by --bs-card-* vars above) */
.card-header{background-color:#fff}
.card-footer{background-color:#fff}
.table{border-radius:var(--bs-border-radius)}
.table thead:first-child tr:first-child th:first-child,.table tbody:first-child tr:first-child td:first-child{border-top-left-radius:var(--bs-border-radius)}
.table thead:first-child tr:first-child th:last-child,.table tbody:first-child tr:first-child td:last-child{border-top-right-radius:var(--bs-border-radius)}
.table tr:last-child td:first-child{border-bottom-left-radius:var(--bs-border-radius)}
.table tr:last-child td:last-child{border-bottom-right-radius:var(--bs-border-radius)}
.table-bordered{border-color:#e2e8f0}
.card-accent-primary{border-top:3px solid #4a90d9}
.card-accent-secondary{border-top:3px solid #7b4fa6}
.card-accent-success{border-top:3px solid #6bbd45}
.card-accent-info{border-top:3px solid #64748b}
.card-accent-danger{border-top:3px solid #e8799a}
.card-accent-warning{border-top:3px solid #f5c842}

/* Forms (--bs-form-* vars not exposed by Bootstrap for these, kept as direct rules) */
.form-control,.form-select{border-radius:var(--bs-border-radius-sm);border-color:#e2e8f0}
.form-control:focus,.form-select:focus{border-color:#4a90d9;box-shadow:0 0 0 3px rgba(74,144,217,.35)}
.form-check-input:checked{background-color:#4a90d9;border-color:#4a90d9}

/* Range slider — brand blue thumb/track instead of stock Bootstrap blue */
.form-range::-webkit-slider-thumb{background-color:#4a90d9}
.form-range::-moz-range-thumb{background-color:#4a90d9}
.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 3px rgba(74,144,217,.35)}
.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 3px rgba(74,144,217,.35)}

/* Navbar / footer dark surfaces */
.navbar-dark,.bg-dark{background-color:#1a1a1a!important}

/* Alerts — .alert-info uses the same neutral grey as card headers rather than
   a saturated category color, for a calmer informational tone. */
.alert-info{--bs-alert-color:#334155;--bs-alert-bg:#f1f5f9;--bs-alert-border-color:#cbd5e1}

/* Component-scoped overrides: Bootstrap compiles some --bs-* vars onto the
   component's own selector (not just :root), so a global var alone won't
   apply — redeclare on the same selector Bootstrap uses. */
.list-group{--bs-list-group-border-color:#e2e8f0;--bs-list-group-active-bg:#4a90d9;--bs-list-group-active-border-color:#4a90d9;--bs-list-group-action-hover-bg:#f1f5f9}
.list-group-item.active,.list-group-item-action.active{background-color:#4a90d9!important;border-color:#4a90d9!important;color:#fff!important}
.dropdown-menu{--bs-dropdown-link-active-bg:#4a90d9;--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-hover-bg:#f1f5f9}
.dropdown-item.active,.dropdown-item:active{background-color:#4a90d9!important;color:#fff!important}
.pagination{--bs-pagination-color:#4a90d9;--bs-pagination-hover-color:#1c3a6b;--bs-pagination-active-bg:#4a90d9;--bs-pagination-active-border-color:#4a90d9}
.progress-bar{background-color:#4a90d9}
.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background-color:#4a90d9}

/* 5-dot cycling loader — brand dot palette, dots fade/scale in and out in sequence */
.lexxic-dots{display:inline-flex;gap:6px}
.lexxic-dots span{width:9px;height:9px;border-radius:50%;display:inline-block;animation:lexxic-dot-pulse 1.2s ease-in-out infinite}
.lexxic-dots span:nth-child(1){background:#e8799a;animation-delay:0s}
.lexxic-dots span:nth-child(2){background:#7b4fa6;animation-delay:.12s}
.lexxic-dots span:nth-child(3){background:#4a90d9;animation-delay:.24s}
.lexxic-dots span:nth-child(4){background:#f5832a;animation-delay:.36s}
.lexxic-dots span:nth-child(5){background:#6bbd45;animation-delay:.48s}
@keyframes lexxic-dot-pulse{0%,80%,100%{transform:scale(.4);opacity:.35}40%{transform:scale(1);opacity:1}}

/* Dark mode — Bootstrap 5.3's [data-bs-theme=dark] scope. A first pass:
   dark surfaces/text follow the brand's ink/slate scale, brand accent hues
   stay the same (already high-contrast on dark), subtle tints darken and
   text-emphasis colors lighten so bg-subtle/text-emphasis pairs stay legible. */
[data-bs-theme=dark]{
  --bs-body-color:#cbd5e1;
  --bs-body-bg:#0f172a;
  --bs-emphasis-color:#f8fafc;
  --bs-heading-color:#f8fafc;
  --bs-border-color:#334155;
  --bs-secondary-color:#94a3b8;
  --bs-tertiary-bg:#1e293b;

  --bs-primary-text-emphasis:#8fbde6;
  --bs-primary-bg-subtle:#16293f;
  --bs-primary-border-subtle:#1c3a6b;

  --bs-secondary-text-emphasis:#c9b3e0;
  --bs-secondary-bg-subtle:#2a2036;
  --bs-secondary-border-subtle:#4f3369;

  --bs-success-text-emphasis:#a8dd8e;
  --bs-success-bg-subtle:#1e2e17;
  --bs-success-border-subtle:#3a7a20;

  --bs-warning-text-emphasis:#f5dd8e;
  --bs-warning-bg-subtle:#332a10;
  --bs-warning-border-subtle:#8a6a08;

  --bs-danger-text-emphasis:#f3aec2;
  --bs-danger-bg-subtle:#331b23;
  --bs-danger-border-subtle:#a13a5a;

  --bs-info-text-emphasis:#cbd5e1;
  --bs-info-bg-subtle:#1e293b;
  --bs-info-border-subtle:#475569;

  --bs-dark-bg-subtle:#1e293b;
  --bs-dark-border-subtle:#475569;
  --bs-dark-text-emphasis:#f8fafc;

  --bs-card-border-color:#334155;
  --bs-card-cap-bg:#1e293b;
  --bs-dropdown-border-color:#334155;
  --bs-dropdown-link-hover-bg:#1e293b;
  --bs-list-group-border-color:#334155;
  --bs-list-group-action-hover-bg:#1e293b;
}
[data-bs-theme=dark] .form-control,[data-bs-theme=dark] .form-select{border-color:#334155}
[data-bs-theme=dark] .btn-light{--bs-btn-bg:#1e293b;--bs-btn-border-color:#334155;--bs-btn-color:#f8fafc}
[data-bs-theme=dark] .btn-outline-primary,[data-bs-theme=dark] .btn-outline-secondary,[data-bs-theme=dark] .btn-outline-success,[data-bs-theme=dark] .btn-outline-info,[data-bs-theme=dark] .btn-outline-warning,[data-bs-theme=dark] .btn-outline-danger,[data-bs-theme=dark] .btn-outline-dark{--bs-btn-color:#f8fafc;--bs-btn-border-color:#475569}
[data-bs-theme=dark] .btn-outline-dark{--bs-btn-hover-bg:#f8fafc;--bs-btn-hover-color:#0f172a}
[data-bs-theme=dark] .navbar-dark,[data-bs-theme=dark] .bg-dark{background-color:#000!important}
[data-bs-theme=dark] .alert-info{--bs-alert-color:#cbd5e1;--bs-alert-bg:#1e293b;--bs-alert-border-color:#475569}

