/*
 * SPAC Research - Main Stylesheet
 * Light Theme (default) + Dark Theme
 */

/* ===========================
   CSS Custom Properties
   =========================== */

:root {
  --font-size-11: 11px;
  --font-size-12: 12px;
  --font-size-13: 13px;
  --font-size-14: 14px;
  --font-size-15: 15px;
  --font-size-16: 16px;

  --sr-header-height: 50px;
  /* Reserve space for the fixed footer so secondary sidebars do not paint over it */
  --sr-footer-block: 120px;
  --sr-sidebar-width: 220px;
  --sr-sidebar-collapsed-width: 56px;
  --sr-sidebar-current-width: 56px;

  --bg-body: #f8f9fb;
  --bg-surface: #ffffff;
  --bg-surface-raised: #ffffff;
  --bg-surface-hover: #f0f2f5;
  --bg-input: #ffffff;
  --background-color: #ffffff;

  --text-color: #1a1d23;
  --text-secondary: #5f6b7a;
  --text-muted: #9ca3b0;
  --text-hover-color: #ffffff;

  --accent: #015477;
  --hover-color: #015477;
  --accent-hover: #01405d;
  --accent-light: rgba(1, 84, 119, 0.08);

  --link-color: #015477;
  --link-hover-color: #01405d;
  --link-visited-color: #014060;

  --color-positive: #16a34a;
  --color-negative: #dc2626;
  --color-neutral: #1a1d23;
  --color-positive-bg: rgba(22, 163, 74, 0.08);
  --color-negative-bg: rgba(220, 38, 38, 0.08);

  --border-color: #d1d5db;
  --border-subtle: #e5e7eb;

  --table-header-color: #f0f2f5;
  --table-row-alt: rgba(0, 0, 0, 0.02);
  --table-row-hover: rgba(1, 84, 119, 0.04);
  --table-border: #f9fafb;

  --badge-bg: #e5e7eb;
  --badge-text: #374151;

  --nav-bg: #ffffff;
  --nav-text: #1a1d23;
  --nav-border: #e5e7eb;

  --footer-bg: #015477;
  --footer-text: #ffffff;
  --footer-link: #ffffff;

  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.04);
  --shadow-nav: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.06);

  --radius: 6px;
  --radius-lg: 8px;
  --transition-fast: 0.12s ease;
  --transition: 0.2s ease;

  --row-highlight-bg: #D4EDDA;
  --skeleton-bg: #e0e0e0;
  --skeleton-surface: #efefef;
}

[data-theme="dark"] {
  --bg-body: #0b0e14;
  --bg-surface: #131720;
  --bg-surface-raised: #1a2030;
  --bg-surface-hover: #212a3a;
  --bg-input: #1a2030;
  --background-color: #131720;

  --text-color: #e8ecf4;
  --text-secondary: #8b9cb5;
  --text-muted: #586981;
  --text-hover-color: #ffffff;

  --accent: #58a6ff;
  --hover-color: #58a6ff;
  --accent-hover: #79b8ff;
  --accent-light: rgba(88, 166, 255, 0.12);

  --link-color: #58a6ff;
  --link-hover-color: #79b8ff;
  --link-visited-color: #8b9fcc;

  --color-positive: #22c55e;
  --color-negative: #ef4444;
  --color-neutral: #e8ecf4;
  --color-positive-bg: rgba(34, 197, 94, 0.12);
  --color-negative-bg: rgba(239, 68, 68, 0.12);

  --border-color: #1e293b;
  --border-subtle: #1a2332;

  --table-header-color: #1a2030;
  --table-row-alt: rgba(255, 255, 255, 0.02);
  --table-row-hover: rgba(88, 166, 255, 0.07);
  --table-border: #1e293b;

  --badge-bg: #1e293b;
  --badge-text: #94a3b8;

  --nav-bg: #0e1219;
  --nav-text: #e8ecf4;
  --nav-border: #1e293b;

  --footer-bg: #0e1219;
  --footer-text: #c5cdd8;
  --footer-link: #8b9cb5;

  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.6);
  --shadow-nav: 0 1px 3px rgba(0, 0, 0, 0.5);

  --row-highlight-bg: rgba(34, 197, 94, 0.12);
  --skeleton-bg: #1e293b;
  --skeleton-surface: #1a2030;

  --link-hover-bg: #ffffff;
  --link-hover-text: #1a1d23;
}


/* ===========================
   Base Structure
   =========================== */

html {
  position: relative;
  min-height: 100%;
}

html[data-layout="new"] {
  scrollbar-gutter: stable;
}

body {
  padding-top: 50px;
  padding-bottom: 100px;
  background-color: var(--bg-body);
  color: var(--text-color);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bg-primary {
  background-color: var(--accent) !important;
}

.dropdown:hover>.dropdown-menu {
  display: block;
}

.roundrect {
  border-radius: 10px;
}

.border-left {
  border-left: solid 1px var(--border-subtle);
}


/* ===========================
   Navigation
   =========================== */

.navbar-nav .nav-link {
  white-space: nowrap;
  color: var(--nav-text);
  transition: color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);
  border-bottom: 2px solid transparent;
  border-radius: 4px;
}

.navbar-nav .nav-link:hover {
  color: var(--nav-text);
  background-color: var(--bg-surface-hover);
  border-bottom-color: transparent;
}

.navbar-nav .nav-item.active > .nav-link,
.navbar-nav .nav-link[aria-current="page"] {
  color: var(--accent);
  border-bottom-color: var(--accent);
  font-weight: 600;
}

.nav-header {
  background-color: var(--nav-bg);
  color: var(--nav-text);
  border-bottom: 1px solid var(--nav-border);
}

[data-theme="dark"] .nav-header {
  box-shadow: var(--shadow-nav) !important;
}

[data-theme="dark"] .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=UTF8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2230%22 height=%2230%22 viewBox=%220 0 30 30%22%3E%3Cpath stroke=%22rgba%28228,232,239,0.9%29%22 stroke-width=%222%22 d=%22M4 7h22M4 15h22M4 23h22%22/%3E%3C/svg%3E") !important;
}

[data-theme="dark"] .navbar-brand img {
  filter: none;
}

[data-theme="dark"] .navbar a[style],
[data-theme="dark"] .navbar button[style] {
  color: var(--nav-text) !important;
}


/* ===========================
   Typography
   =========================== */

.text-small {
  font-size: 10px;
}

.text-medium {
  font-size: 13px !important;
}


/* ===========================
   Autocomplete
   =========================== */

.ui-autocomplete {
  background: var(--bg-surface);
  border-radius: 10px;
  border: 1px solid var(--border-color);
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.14), 0 2px 6px rgba(0, 0, 0, 0.06);
  max-height: 320px;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 4px 0;
  max-width: 340px;
}

.ui-autocomplete::-webkit-scrollbar {
  width: 5px;
}

.ui-autocomplete::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.12);
  border-radius: 3px;
}

.ui-front {
  z-index: 9999 !important;
}

.ui-menu-item {
  list-style: none;
}

.ui-menu-item .ui-menu-item-wrapper {
  color: var(--text-color);
  padding: 0;
  margin: 0;
  border: none;
  transition: background 0.15s ease;
  cursor: pointer;
}

.ui-menu-item .ui-menu-item-wrapper.ui-state-active {
  background: var(--bg-surface-hover, rgba(0, 0, 0, 0.04)) !important;
  color: var(--text-color) !important;
  border: none;
  margin: 0;
}

.sr-search-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 14px;
}

.sr-search-name {
  font-size: 13px;
  font-weight: 500;
  color: var(--link-color, var(--accent));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}

.sr-search-ticker {
  font-size: 10px;
  font-weight: 600;
  color: var(--text-secondary, #6b7280);
  background: var(--badge-bg, rgba(0, 0, 0, 0.05));
  padding: 2px 8px;
  border-radius: 4px;
  flex-shrink: 0;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-family: 'SF Mono', 'Consolas', 'Monaco', monospace;
  white-space: nowrap;
}

[data-theme="dark"] .ui-autocomplete {
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.5), 0 2px 6px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .ui-autocomplete::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.12);
}

[data-theme="dark"] .ui-menu-item .ui-menu-item-wrapper.ui-state-active {
  background: var(--bg-surface-hover, rgba(255, 255, 255, 0.06)) !important;
}

[data-theme="dark"] .sr-search-ticker {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-muted);
}

.nav-pills .nav-link.active {
  font-weight: 550;
}


/* ===========================
   Footer
   =========================== */

.footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: auto;
  min-height: var(--sr-footer-block, 120px);
  background-color: var(--footer-bg) !important;
  color: var(--footer-text);
  /* Above .left-menu-panel (1000) so the bar spans the full content column including under the sub-menu */
  z-index: 1005;
  border-top: 1px solid var(--border-subtle);
}

.footer a {
  color: var(--footer-link);
  transition: opacity var(--transition-fast);
}

.footer a:hover {
  opacity: 0.8;
}

[data-theme="dark"] .footer .no-wrap,
[data-theme="dark"] .footer span[style*="color: black"],
[data-theme="dark"] .footer span[style*="color:black"] {
  color: var(--footer-text) !important;
}

.separator {
  padding: 0.8em;
  opacity: 0.5;
}


/* ===========================
   Badges
   =========================== */

.badge-outline {
  border: solid 1px #5b6dd8;
  color: inherit !important;
}

.badge-light {
  color: var(--text-color) !important;
  background-color: var(--bg-surface-hover) !important;
}

.badge {
  text-align: left;
  margin-left: 1em;
  font-size: 85%;
}


/* ===========================
   Form Controls
   =========================== */

.form-control::-webkit-input-placeholder { color: var(--text-muted); opacity: 1 }
.form-control::-moz-placeholder { color: var(--text-muted); opacity: 1 }
.form-control:-ms-input-placeholder { color: var(--text-muted); opacity: 1 }
.form-control::placeholder { color: var(--text-muted); opacity: 1 }

.form-control {
  font-size: 13px !important;
  padding: 8px 16px !important;
  background-color: var(--bg-input);
  border-color: var(--border-color);
  color: var(--text-color);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.form-control:focus {
  background-color: var(--bg-input);
  border-color: var(--accent);
  color: var(--text-color);
  box-shadow: 0 0 0 2px var(--accent-light);
}

.form-check-input {
  vertical-align: top !important;
  margin-right: 3px;
  margin-top: 1px;
  vertical-align: middle;
}

.form-check-label {
  padding-left: 0.5em !important;
  white-space: nowrap;
  font-size: 12px;
  display: flex;
  align-items: center;
}


/* ===========================
   Utilities
   =========================== */

.no-wrap {
  display: block;
  white-space: nowrap !important;
}

.table-responsive {
  display: table !important;
}

.hidden {
  display: none !important;
}

.ellipsis {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.text-decoration-none {
  text-decoration: none !important;
}

.light-blue-bg {
  background-color: rgb(65, 116, 177);
}

.width-40 {
  width: 40% !important;
}
.width-30 {
  width: 30% !important;
}


/* ===========================
   Timeline
   =========================== */

#timeline-table td {
  overflow-x: hidden;
  vertical-align: middle;
  padding: 0.5em;
  white-space: nowrap !important;
}

#timeline-table tr.date-follower td {
  border-top: none;
}


/* ===========================
   Sidebar
   =========================== */

.sidebar {
  position: fixed;
  top: 51px;
  bottom: 0;
  left: 0;
  z-index: 1000;
  padding: 20px;
  overflow-x: hidden;
  overflow-y: auto;
  border-right: 1px solid var(--border-subtle);
  padding-left: 0;
  padding-right: 0;
  background-color: var(--bg-surface);
}

.sidebar .nav {
  margin-bottom: 20px;
}

.sidebar .nav-item {
  width: 100%;
}

.sidebar .nav-item + .nav-item {
  margin-left: 0;
}

.sidebar .nav-link {
  border-radius: 0;
}

/* API reference TOC (#api-nav, #doc-nav): fixed .sidebar used left:0, which sat under the app
   sidebar in modern layout. Offset by --sr-sidebar-current-width + gutter to match .container. */
#api-nav.sidebar,
#doc-nav.sidebar {
  left: calc(var(--sr-sidebar-current-width, 0px) + 15px);
  top: var(--sr-header-height, 50px);
  height: calc(100vh - var(--sr-header-height, 50px));
  transition: left 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  box-sizing: border-box;
}

@media (max-width: 991px) {
  #api-nav.sidebar,
  #doc-nav.sidebar {
    left: 15px;
  }
}

.sr-api-docs-layout {
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}

.nav-item a {
  color: var(--text-color);
  transition: color var(--transition-fast);
}

.nav-item a:hover {
  color: var(--accent);
}

.tooltip-inner {
  text-align: left;
  max-width: 50% !important;
}

a[id]:not([href]) {
  display: block;
  position: relative;
  top: -50px;
  visibility: hidden;
}


/* ===========================
   Editable Tables
   =========================== */

.CodeMirror, .CodeMirror-scroll {
  min-height: 50px !important;
}

.table-editable {
  position: relative;
}

.table-remove {
  color: var(--text-muted);
  cursor: pointer;
}

.table-up, .table-down {
  color: var(--text-muted);
  cursor: pointer;
}

.table-add {
  color: var(--text-muted);
  cursor: pointer;
}


/* ===========================
   Company Page
   =========================== */

.event {
  border: solid 1px var(--border-subtle);
  border-radius: 3px;
  background-color: var(--bg-surface);
}

.event-content {
  font-size: 0.8em;
}

.event-content p {
  margin-bottom: 0;
}


/* ===========================
   Login / Rightside
   =========================== */

.rightside-login-form {
  max-width: 450px;
  margin-left: auto;
  margin-right: auto;
  background-color: var(--bg-surface);
  padding: 1em;
  border-radius: var(--radius);
  border: 1px solid var(--border-subtle);
}

#companies-table-sticky-header-sticky-header-container > div {
  padding-left: 15px;
}

#rightside {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: var(--radius);
  background-color: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-lg);
}


/* ===========================
   Archive Table
   =========================== */

#companies-table.no-wrap td {
  white-space: nowrap !important;
}

.video-js .vjs-tech {
  background-color: var(--bg-surface);
}

.trial-hidden {
  -webkit-filter: blur(5px);
  filter: blur(5px);
}

#custom-FAQ {
  width: 75%;
}


/* ===========================
   Leagues
   =========================== */

.league-header {
  line-height: 1.5;
}

#legal-league th {
  border: none;
  white-space: normal !important;
  line-height: 100%;
}

#legal-league th .th-inner {
  line-height: 0.95rem !important;
}

#auditor-table th {
  border: none;
}


/* ===========================
   FPA Table
   =========================== */

#fpa-table .fpa-detail-text {
  padding-left: 45px;
  white-space: normal;
}

#fpa-table .fpa-detail-text ul {
  padding-left: 18px;
}


/* ===========================
   Newsletters
   =========================== */

a.buffer:before {
  content: "";
  display: block;
  height: 8em;
  margin: -8em 0 0;
}


/* ===========================
   Data Tables
   =========================== */

.data-table thead {
  color: rgba(255,255,255,.85) !important;
  background-color: #015477 !important;
}

.data-table tbody {
  white-space: nowrap;
}

.data-table-small thead {
  font-size: 0.8em !important;
  color: rgba(255,255,255,.85) !important;
  background-color: #015477 !important;
}

.data-table-small tbody {
  font-size: 0.8em;
  white-space: nowrap;
}

.data-table-small-ag thead {
  font-size: 12px !important;
  color: var(--text-color) !important;
  background-color: var(--table-header-color);
}

.data-table-small-ag thead th {
  height: 56px !important;
  vertical-align: middle !important;
  text-align: left;
  padding: 0px;
  padding-left: 0.4em;
}

.data-table-small-ag tbody {
  font-size: 12px;
  height: 36px !important;
  white-space: nowrap;
}

.data-table-small-ag td {
  padding: 0.5em !important;
  padding-left: 0.8em !important;
  padding-right: 0.8em !important;
  text-align: left;
}

.main-right-div {
  margin-right: 1em;
  max-height: 950px;
  overflow-y: auto;
}


/* ===========================
   General Tables
   =========================== */

.popover {
  background-color: var(--bg-surface-raised);
  border: 1px solid var(--border-color);
}

.table td, .table th {
  border-top: 0px solid var(--table-border);
}

.table thead th {
  border-bottom: none;
  border-top: none;
}

.table {
  color: var(--text-color);
}

.table tbody tr:hover {
  background-color: var(--table-row-hover);
}

.borderless td, .borderless th {
  border: none;
}

.selected-option {
  font-weight: 800;
  color: var(--text-color);
}

.selected-option a {
  color: var(--text-color);
  cursor: default;
}

[data-theme="dark"] .selected-option {
  background-color: var(--accent-light);
  border-left: 3px solid var(--accent);
  border-radius: 4px;
  padding: 1px 4px;
}

[data-theme="dark"] .selected-option a {
  color: #ffffff !important;
}

.has-text-grey {
  font-size: .75rem !important;
  color: var(--text-secondary) !important;
}

.left-panel {
  max-height: 950px;
  overflow-y: auto;
  padding-left: 0.4em;
  padding-right: 0.4em;
}

.right-panel {
  min-height: 750px;
  overflow-y: auto;
  transition: margin-left 0.3s ease-in-out;
}

.stock-split {
  margin-left: 4px;
  font-style: italic;
  color: var(--accent);
}

.tooltip-inner {
  max-width: 500px !important;
}


/* ===========================
   Table Data Content
   =========================== */

.table-wrapper {
  width: 100%;
  overflow-x: auto;
}

.table-data-content {
  width: 100%;
  white-space: nowrap;
  border-collapse: collapse;
}

.table-data-content th {
  padding-left: 1em;
  padding-right: 1em;
  color: var(--text-color);
  font-size: 12px;
  font-weight: 550;
  background-color: var(--table-header-color);
  border: solid 1px var(--bg-surface);
}

.table-data-content td {
  padding-left: 1em;
  padding-right: 1em;
  font-size: 12px;
  background-color: var(--bg-surface);
  border-bottom: 1px solid var(--table-border);
}

.table-data-content tbody tr:hover td {
  background-color: var(--table-row-hover);
}

.tr-border-top {
  border-top: 1.5px solid var(--border-color) !important;
}
.tr-border-bottom {
  border-top: 1.5px solid var(--border-color) !important;
}
.td-border-top {
  border-top: 1.5px solid var(--border-color) !important;
  padding-left: 10px;
  padding-right: 10px;
}

.table-data-content-small th {
  padding-left: 0.5em;
  padding-right: 0.5em;
  color: var(--text-color);
  font-size: 11px;
  background-color: var(--table-header-color);
  border: solid 1px var(--bg-surface);
}

.table-data-content-small td {
  padding-left: 0.5em;
  padding-right: 0.5em;
  font-size: 11px;
  background-color: var(--bg-surface);
  border-bottom: 1px solid var(--table-border);
}


/* ===========================
   Filters
   =========================== */

.filter-form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  padding: 4px 2px;
  width: 100%;
}

.filters-container {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.news-filters-container {
  gap: 10px !important;
}

.news-filters-container > * {
  margin: 0 !important;
}

.search-container {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--border-color);
  padding: 5px;
  min-width: 150px;
  max-width: 150px;
  position: relative;
}

.search-container input {
  border: none;
  outline: none;
  font-size: 11px;
  width: 100%;
  padding-left: 25px;
  background-color: transparent;
  color: var(--text-color);
}

.search-container::before {
  content: "";
  position: absolute;
  left: 5px;
  width: 14px;
  height: 14px;
  background-image: url('/icons/search.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

[data-theme="dark"] .search-container::before {
  filter: invert(1);
}

.filter-dropdown select {
  background: var(--bg-surface);
  border: 1px solid var(--border-color);
  color: var(--text-color);
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 11px;
  cursor: pointer;
  display: flex;
  align-items: center;
  width: 100% !important;
  box-sizing: border-box;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z' fill='%23666666'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 5px center;
  background-size: 14px;
}

[data-theme="dark"] .filter-dropdown select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z' fill='%23e4e8ef'/%3E%3C/svg%3E");
}

.filter-dropdown {
  position: relative;
  display: inline-block;
  width: 100%;
}

.filter-dropdown::after {
  display: none;
}

.filter-dropdown select:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 2px var(--accent-light);
}


/* ===========================
   Buttons
   =========================== */

.custom-btn,
.custom-dropdown {
  background: var(--bg-surface);
  border: 1px solid var(--border-color);
  color: var(--text-color);
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 11px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  width: auto;
  transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
}

.custom-btn:hover {
  background: var(--hover-color);
  border-color: var(--hover-color);
  color: var(--text-hover-color);
}

.custom-btn:focus-visible,
.custom-dropdown:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

.custom-btn-fix {
  min-width: 150px;
  max-width: 150px;
}

.btn-reset::before,
.btn-filter::before,
.btn-columns::before,
.btn-download::before,
.btn-left::before,
.btn-right::before {
  content: "";
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  width: 14px;
  height: 14px;
}

.btn-reset::before { background-image: url('/icons/refresh.svg'); }
.btn-filter::before { background-image: url('/icons/bars-filter.svg'); }
.btn-columns::before { background-image: url('/icons/columns-3.svg'); }
.btn-download::before { background-image: url('/icons/down-to-line.svg'); }
.btn-left::before { background-image: url('/icons/angle-small-left.svg'); width: 26px; height: 26px; }
.btn-right::before { background-image: url('/icons/angle-small-right.svg'); width: 26px; height: 26px; }

.custom-btn.btn-filter,
.custom-btn.btn-columns,
.custom-btn.btn-reset {
  padding: 8px 10px;
  min-width: 36px;
  justify-content: center;
  position: relative;
}

.custom-btn.btn-filter::after,
.custom-btn.btn-columns::after,
.custom-btn.btn-reset::after {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 6px);
  transform: translateX(-50%);
  background: rgba(17, 17, 17, 0.9);
  color: #fff;
  font-size: 11px;
  line-height: 1;
  padding: 5px 7px;
  border-radius: 4px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.12s ease;
  z-index: 1000;
}

.custom-btn.btn-filter::after { content: "Filters"; }
.custom-btn.btn-columns::after { content: "Columns"; }
.custom-btn.btn-reset::after { content: "Reset"; }

.custom-btn.btn-filter:hover::after,
.custom-btn.btn-columns:hover::after,
.custom-btn.btn-reset:hover::after {
  opacity: 1;
  visibility: visible;
}

[data-theme="dark"] .btn-reset::before,
[data-theme="dark"] .btn-filter::before,
[data-theme="dark"] .btn-columns::before,
[data-theme="dark"] .btn-download::before,
[data-theme="dark"] .btn-left::before,
[data-theme="dark"] .btn-right::before {
  filter: invert(1);
}

[data-theme="dark"] .custom-btn:hover .btn-reset::before,
[data-theme="dark"] .custom-btn:hover .btn-filter::before,
[data-theme="dark"] .custom-btn:hover .btn-columns::before {
  filter: none;
}


/* ===========================
   Icons
   =========================== */

.cus-icons {
  width: 14px;
  height: 14px;
  margin: 2px;
}

[data-theme="dark"] .cus-icons {
  filter: invert(1);
}

.external-link {
  width: 12px;
  height: 12px;
  margin: 2px;
  margin-left: 4px;
}

[data-theme="dark"] .external-link {
  filter: invert(1);
}


/* ===========================
   Sign-In Button
   =========================== */

#sign-in-nav-btn {
  background: var(--bg-surface);
  border: 1px solid var(--border-color);
  color: var(--text-color);
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  width: auto;
  transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

#sign-in-nav-btn:hover {
  background: var(--hover-color);
  border-color: var(--hover-color);
  color: var(--text-hover-color);
}

#sign-in-nav-btn:hover .cus-icons {
  filter: invert(1);
}

[data-theme="dark"] #sign-in-nav-btn:hover .cus-icons {
  filter: none;
}


/* ===========================
   Chart Wrapper
   =========================== */

.chart-wrapper {
  width: 100%;
  overflow-x: auto;
  white-space: nowrap;
  padding-bottom: 10px;
}

.main-chart-section {
  font-size: 13px;
}


/* ===========================
   Social Share
   =========================== */

.sharethis-inline-share-buttons {
  position: relative !important;
  z-index: 10 !important;
}

.st-total {
  display: none !important;
}

#st-1 .st-btn {
  min-width: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  min-height: 32px !important;
}

.st-btn {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  padding: 0px 6px !important;
  margin-right: 4px !important;
}

#st-1 .st-btn > img {
  display: inline-block;
  height: 16px !important;
  width: 16px !important;
  position: relative !important;
  top: 7px !important;
  vertical-align: top !important;
}

.background-grey {
  border: solid 2px var(--border-subtle) !important;
}


/* ===========================
   Left Menu Sidebar
   =========================== */

.left-menu-panel {
  position: fixed;
  top: var(--sr-header-height, 50px);
  left: var(--sr-sidebar-current-width, 0px);
  width: 160px;
  height: calc(100vh - var(--sr-header-height, 50px) - var(--sr-footer-block, 120px));
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease-in-out, left 0.25s ease;
  z-index: 1000;
  background-color: var(--bg-surface);
  border-right: 0.5px solid var(--border-subtle);
}

.left-menu-panel.collapsed {
  transform: translateX(-100%);
}

.left-menu-toggle {
  position: absolute;
  top: 4px;
  right: -30px;
  background-color: var(--bg-surface);
  border: 1px solid var(--border-color);
  cursor: pointer;
  padding: 6px 6px;
  font-size: 18px;
  border-radius: 4px;
  z-index: 1200;
  transition: opacity 0.2s, transform 0.3s;
  color: var(--text-color);
}

.left-menu-toggle:focus,
.left-menu-toggle:active {
  outline: none !important;
  box-shadow: none !important;
  border: 1px solid var(--border-color) !important;
}

@media (max-width: 992px) {
  .left-menu-panel.collapsed + .left-menu-toggle {
    display: block !important;
  }
  .left-menu-panel.expanded + .left-menu-toggle {
    display: none !important;
  }
  .right-panel {
    margin-left: 0px !important;
  }
}

.left-nav {
  margin: 1.5em 0.5em;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

li::marker {
  content: none;
}


/* ===========================
   Numeric / Date Formatting
   =========================== */

.right-align-price {
  text-align: right;
  padding-right: 10px;
}

.decimal-left-align {
  font-size: 12px;
  white-space: pre;
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum';
}

.date-mono {
  font-size: 12px;
  white-space: pre;
  text-align: left;
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum';
}


/* ===========================
   Theme Toggle
   =========================== */

.theme-toggle {
  display: flex;
  align-items: center;
  background: var(--bg-surface-hover);
  border-radius: 20px;
  padding: 2px;
  margin-left: 12px;
  margin-right: 4px;
  border: 1px solid var(--border-subtle);
  flex-shrink: 0;
}

.theme-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  transition: all var(--transition-fast);
  font-size: 11px;
  padding: 0;
}

.theme-btn.active {
  background: var(--accent);
  color: #ffffff;
  box-shadow: var(--shadow-xs);
}

.theme-btn:hover:not(.active) {
  color: var(--text-color);
  background: var(--bg-surface);
}

.theme-btn:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}


/* ===========================
   Dark Theme - Bootstrap Overrides
   =========================== */

[data-theme="dark"] .dropdown-menu {
  background-color: var(--bg-surface-raised);
  border-color: var(--border-color);
  box-shadow: var(--shadow-lg);
}

[data-theme="dark"] .filter-dropdown .dropdown-menu {
  background-color: #ffffff;
  border: 1px solid #d1d5db;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .filter-dropdown .dropdown-menu label,
[data-theme="dark"] .filter-dropdown .dropdown-menu span {
  color: #374151;
}

[data-theme="dark"] .filter-dropdown .dropdown-menu .form-check-input {
  background-color: #ffffff;
  border-color: #9ca3af;
}

[data-theme="dark"] .filter-dropdown .dropdown-menu li:hover {
  background-color: #f3f4f6;
}

[data-theme="dark"] .dropdown-item {
  color: var(--text-color);
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
  background-color: var(--bg-surface-hover);
  color: var(--text-color);
}

[data-theme="dark"] .modal-content {
  background-color: var(--bg-surface);
  border-color: var(--border-color);
  color: var(--text-color);
}

[data-theme="dark"] .modal-header {
  border-bottom-color: var(--border-color);
}

[data-theme="dark"] .modal-footer {
  border-top-color: var(--border-color);
}

[data-theme="dark"] .close {
  color: var(--text-color);
  text-shadow: none;
  opacity: 0.7;
}

[data-theme="dark"] .close:hover {
  color: var(--text-color);
  opacity: 1;
}

[data-theme="dark"] .alert-success {
  background-color: var(--color-positive-bg);
  color: var(--color-positive);
  border-color: rgba(34, 197, 94, 0.25);
}

[data-theme="dark"] .alert-info {
  background-color: rgba(88, 166, 255, 0.12);
  color: #79b8ff;
  border-color: rgba(88, 166, 255, 0.25);
}

[data-theme="dark"] .btn-secondary {
  background-color: var(--bg-surface-raised);
  border-color: var(--border-color);
  color: var(--text-color);
}

[data-theme="dark"] .btn-secondary:hover {
  background-color: var(--bg-surface-hover);
  border-color: var(--border-color);
}

[data-theme="dark"] .btn-success {
  background-color: #16a34a;
  border-color: #16a34a;
  color: #ffffff;
}

[data-theme="dark"] .btn-success:hover {
  background-color: #15803d;
  border-color: #15803d;
}

[data-theme="dark"] .btn-link {
  color: var(--link-color);
}

[data-theme="dark"] a {
  color: var(--link-color);
}

[data-theme="dark"] a:hover {
  color: var(--link-hover-color);
}

[data-theme="dark"] a:visited {
  color: var(--link-visited-color);
}

[data-theme="dark"] a:visited:hover {
  color: var(--link-hover-color);
}

[data-theme="dark"] .nav-tabs .nav-link.disabled {
  color: var(--text-muted);
}

[data-theme="dark"] code {
  color: #f0abfc;
  background-color: rgba(240, 171, 252, 0.1);
}

[data-theme="dark"] .popover-body {
  color: var(--text-color);
}

[data-theme="dark"] .text-info {
  color: var(--link-color) !important;
}

[data-theme="dark"] .text-primary {
  color: var(--accent) !important;
}

[data-theme="dark"] .text-muted {
  color: var(--text-muted) !important;
}

[data-theme="dark"] .text-secondary {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .text-success {
  color: var(--color-positive) !important;
}

[data-theme="dark"] .text-danger {
  color: var(--color-negative) !important;
}


/* ===========================
   Dark Theme - Inline Style Overrides
   =========================== */

[data-theme="dark"] .container-fluid {
  background-color: transparent;
}

[data-theme="dark"] .div-max .row {
  background-color: var(--bg-surface) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4) !important;
}

[data-theme="dark"] .feature-label {
  background-color: #dc5429;
}

[data-theme="dark"] .bootstrap-table .fixed-table-container {
  background-color: var(--bg-surface);
}

[data-theme="dark"] .bootstrap-table .fixed-table-container .table thead th {
  background-color: var(--table-header-color);
  color: var(--text-color);
  border-bottom-color: var(--border-color);
}

[data-theme="dark"] .bootstrap-table .fixed-table-container .table td {
  background-color: var(--bg-surface);
  color: var(--text-color);
  border-color: var(--table-border);
}

[data-theme="dark"] .fixed-table-toolbar .btn {
  background-color: var(--bg-surface-raised);
  border-color: var(--border-color);
  color: var(--text-color);
}

[data-theme="dark"] .card {
  background-color: var(--bg-surface);
  border-color: var(--border-color);
  color: var(--text-color);
}

[data-theme="dark"] .list-group-item {
  background-color: var(--bg-surface);
  border-color: var(--border-color);
  color: var(--text-color);
}

[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="date"],
[data-theme="dark"] textarea,
[data-theme="dark"] select {
  background-color: var(--bg-input);
  border-color: var(--border-color);
  color: var(--text-color);
}

[data-theme="dark"] .ui-widget-content {
  background: var(--bg-surface);
  border-color: var(--border-color);
  color: var(--text-color);
}

[data-theme="dark"] .ui-widget-header {
  background: var(--bg-surface-raised);
  border-color: var(--border-color);
  color: var(--text-color);
}

[data-theme="dark"] #calendar li {
  background-color: var(--bg-surface);
  border-color: var(--border-color);
}

[data-theme="dark"] #calendar ul.weekdays li {
  background-color: var(--bg-surface) !important;
  border-top-color: var(--border-color) !important;
  color: var(--text-color);
}

[data-theme="dark"] #calendar .date {
  color: var(--text-color);
}

[data-theme="dark"] #calendar .today {
  background-color: var(--accent-light) !important;
}

[data-theme="dark"] .badge-default {
  color: var(--text-color) !important;
}

[data-theme="dark"] .month-year {
  color: var(--text-color);
}

[data-theme="dark"] .toggle-label {
  background-color: var(--border-color);
}

[data-theme="dark"] .rightside-login-form {
  background-color: var(--bg-surface);
}

[data-theme="dark"] .data-table-small-ag tbody,
[data-theme="dark"] .data-table-small-ag td {
  color: var(--text-color);
}

[data-theme="dark"] .data-table tbody {
  color: var(--text-color);
  background-color: var(--bg-surface);
}

[data-theme="dark"] .data-table-small tbody {
  color: var(--text-color);
  background-color: var(--bg-surface);
}

[data-theme="dark"] .table-data th {
  background-color: var(--table-header-color) !important;
  border-color: var(--border-color) !important;
  color: var(--text-color);
}

[data-theme="dark"] .table-data td {
  background-color: var(--bg-surface) !important;
  border-bottom-color: var(--table-border) !important;
  color: var(--text-color);
}

[data-theme="dark"] .table-data-content thead {
  background: var(--table-header-color);
}

[data-theme="dark"] .table-data-content th,
[data-theme="dark"] .table-data-content-small th {
  border-color: var(--table-border);
}

[data-theme="dark"] .icon-link {
  color: var(--text-color);
}

[data-theme="dark"] .nav-link.active {
  color: var(--accent) !important;
}

[data-theme="dark"] .navbar-nav .nav-link {
  color: var(--text-secondary);
}

[data-theme="dark"] .navbar-nav .nav-link:hover {
  color: var(--text-color);
  background-color: rgba(88, 166, 255, 0.08);
}

[data-theme="dark"] .navbar-nav .nav-item.active > .nav-link,
[data-theme="dark"] .navbar-nav .nav-link[aria-current="page"] {
  color: var(--text-color);
  background-color: rgba(88, 166, 255, 0.14);
  border-bottom-color: var(--accent);
}

[data-theme="dark"] .anchor-background {
  background: var(--bg-surface-hover) !important;
}

[data-theme="dark"] .slider {
  background-color: var(--border-color);
}

[data-theme="dark"] .slider:before {
  background-color: var(--bg-surface);
}

[data-theme="dark"] div.tab-pane-header {
  border-bottom-color: var(--border-color);
}

[data-theme="dark"] .dim-head,
[data-theme="dark"] .table th[scope=row] {
  color: var(--text-secondary);
}

[data-theme="dark"] .container-fluid[style],
[data-theme="dark"] .container[style] {
  color: var(--text-color);
}

[data-theme="dark"] .data-table thead,
[data-theme="dark"] .data-table-small thead {
  background-color: var(--bg-surface-hover) !important;
  color: var(--text-color) !important;
}

[data-theme="dark"] span[style*="color: black"],
[data-theme="dark"] span[style*="color:black"],
[data-theme="dark"] p[style*="color: #333"],
[data-theme="dark"] p[style*="color:#333"],
[data-theme="dark"] a[style*="color: black"],
[data-theme="dark"] a[style*="color:black"] {
  color: var(--text-color) !important;
}

[data-theme="dark"] div[style*="background-color: #f5f5f5"],
[data-theme="dark"] div[style*="background-color:#f5f5f5"] {
  background-color: var(--bg-surface-raised) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] span[style*="color:#0275d8"],
[data-theme="dark"] span[style*="color: #0275d8"] {
  color: var(--accent) !important;
}

[data-theme="dark"] .bootstrap-table .fixed-table-pagination .page-item.active .page-link {
  background-color: var(--accent);
  border-color: var(--accent);
}

[data-theme="dark"] .bootstrap-table .fixed-table-pagination .page-link {
  background-color: var(--bg-surface);
  border-color: var(--border-color);
  color: var(--text-color);
}

[data-theme="dark"] .bootstrap-table .fixed-table-pagination .page-item.disabled .page-link {
  background-color: var(--bg-surface);
  border-color: var(--border-color);
  color: var(--text-muted);
}

[data-theme="dark"] select option {
  background-color: var(--bg-surface);
  color: var(--text-color);
}

[data-theme="dark"] .breadcrumb {
  background-color: var(--bg-surface);
}

[data-theme="dark"] .breadcrumb-item.active {
  color: var(--text-secondary);
}

[data-theme="dark"] .breadcrumb-item + .breadcrumb-item::before {
  color: var(--text-muted);
}

[data-theme="dark"] .form-check-input {
  background-color: var(--bg-input);
  border-color: var(--border-color);
}

[data-theme="dark"] .page-item .page-link {
  background-color: var(--bg-surface);
  border-color: var(--border-color);
  color: var(--text-color);
}

[data-theme="dark"] .page-item.active .page-link {
  background-color: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

[data-theme="dark"] .page-item.disabled .page-link {
  background-color: var(--bg-surface);
  border-color: var(--border-color);
  color: var(--text-muted);
}

[data-theme="dark"] .offering-details {
  background-color: var(--bg-surface) !important;
  color: var(--text-color) !important;
}

[data-theme="dark"] .product-title {
  color: var(--text-color) !important;
}

[data-theme="dark"] .product-container {
  background-color: var(--bg-surface) !important;
}

[data-theme="dark"] hr {
  border-top-color: var(--border-color);
}

[data-theme="dark"] #api-nav ul ul.nav a.nav-link.active {
  background-color: var(--bg-surface-hover) !important;
  color: var(--text-color) !important;
}

[data-theme="dark"] .highcharts-background {
  fill: var(--bg-surface);
}

[data-theme="dark"] .highcharts-title,
[data-theme="dark"] .highcharts-subtitle {
  fill: var(--text-color) !important;
}

[data-theme="dark"] .highcharts-axis-labels text,
[data-theme="dark"] .highcharts-axis-title {
  fill: var(--text-secondary) !important;
}

[data-theme="dark"] .highcharts-grid-line {
  stroke: var(--border-color);
}

[data-theme="dark"] .highcharts-tick {
  stroke: var(--border-color);
}

[data-theme="dark"] .highcharts-legend-item text {
  fill: var(--text-color) !important;
}

[data-theme="dark"] .highcharts-label text,
[data-theme="dark"] .highcharts-data-label text {
  fill: var(--text-color) !important;
}

[data-theme="dark"] .highcharts-data-label-box {
  fill: var(--bg-surface) !important;
  stroke: var(--border-color) !important;
}

/* Light theme tooltip styles */
.highcharts-tooltip-box {
  fill: #ffffff !important;
  stroke: #cccccc !important;
  filter: none !important;
}

.highcharts-tooltip text,
.highcharts-tooltip tspan {
  fill: #000000 !important;
  opacity: 1 !important;
}

.highcharts-tooltip > span {
  color: #000000 !important;
  opacity: 1 !important;
}

[data-theme="dark"] .highcharts-tooltip-box {
  fill: #ffffff !important;
  stroke: #e5e7eb !important;
  filter: none !important;
}

[data-theme="dark"] .highcharts-tooltip text,
[data-theme="dark"] .highcharts-tooltip tspan {
  fill: #000000 !important;
  opacity: 1 !important;
}

[data-theme="dark"] .highcharts-tooltip > span {
  color: #000000 !important;
  opacity: 1 !important;
}

[data-theme="dark"] .highcharts-credits {
  fill: var(--text-muted) !important;
}

/* ===========================
   Dark Theme - Highcharts Range Selector
   =========================== */

[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button rect,
[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button path,
[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button .highcharts-button-box {
  fill: #1e293b !important;
  stroke: #2d3a4f !important;
}

[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button text {
  fill: #8b9cb5 !important;
}

[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button-hover rect,
[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button-hover path,
[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button-hover .highcharts-button-box {
  fill: #283548 !important;
  stroke: #3d4f6a !important;
}

[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button-hover text {
  fill: #e8ecf4 !important;
}

[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button-pressed rect,
[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button-pressed path,
[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button-pressed .highcharts-button-box {
  fill: #1a3a5c !important;
  stroke: #2a5a8c !important;
}

[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button-pressed text {
  fill: #58a6ff !important;
}

[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button-disabled rect,
[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button-disabled path,
[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button-disabled .highcharts-button-box {
  fill: #131720 !important;
}

[data-theme="dark"] .highcharts-range-selector-buttons .highcharts-button-disabled text {
  fill: #586981 !important;
}

[data-theme="dark"] .highcharts-range-label text {
  fill: var(--text-secondary) !important;
}

[data-theme="dark"] .highcharts-range-input rect,
[data-theme="dark"] .highcharts-range-input path {
  fill: var(--bg-surface-hover) !important;
  stroke: var(--border-color) !important;
}

[data-theme="dark"] .highcharts-range-input text {
  fill: var(--text-color) !important;
}

[data-theme="dark"] input.highcharts-range-selector {
  background-color: var(--bg-surface-hover) !important;
  color: var(--text-color) !important;
  border-color: var(--border-color) !important;
}

/* ===========================
   Dark Theme - Newsletter / Reports
   =========================== */

[data-theme="dark"] .left-nav a[style*="color:black"],
[data-theme="dark"] .left-nav a[style*="color: black"] {
  color: var(--text-color) !important;
}

[data-theme="dark"] .left-nav a:hover {
  color: var(--accent) !important;
  background-color: transparent;
  text-decoration: none;
}

[data-theme="dark"] .left-nav .table tbody tr:hover td {
  background-color: transparent !important;
}

[data-theme="dark"] .left-menu-toggle img {
  filter: brightness(0) invert(1);
}

[data-theme="dark"] .main-overflow {
  color: var(--text-color);
}

[data-theme="dark"] .main-overflow table {
  color: var(--text-color);
}

[data-theme="dark"] .main-overflow td,
[data-theme="dark"] .main-overflow th {
  color: var(--text-color) !important;
  border-color: var(--table-border) !important;
}

[data-theme="dark"] .main-overflow a {
  color: var(--accent);
}

[data-theme="dark"] .main-overflow td[style*="background-color"],
[data-theme="dark"] .main-overflow th[style*="background-color"] {
  background-color: var(--bg-surface-raised) !important;
}

[data-theme="dark"] .main-overflow tr[style*="background-color"] {
  background-color: var(--bg-surface-raised) !important;
}

[data-theme="dark"] .main-overflow span[style*="color"],
[data-theme="dark"] .main-overflow p[style*="color"],
[data-theme="dark"] .main-overflow div[style*="color"],
[data-theme="dark"] .main-overflow font[color] {
  color: var(--text-color) !important;
}

[data-theme="dark"] .main-overflow h1,
[data-theme="dark"] .main-overflow h2,
[data-theme="dark"] .main-overflow h3,
[data-theme="dark"] .main-overflow h4,
[data-theme="dark"] .main-overflow h5,
[data-theme="dark"] .main-overflow h6 {
  color: var(--text-color);
}

[data-theme="dark"] .main-overflow img {
  max-width: 100%;
}


/* ===========================
   Dark Theme - Watchlist / Portfolio
   =========================== */

[data-theme="dark"] a[style*="color: #015477"],
[data-theme="dark"] a[style*="color:#015477"] {
  color: var(--link-color) !important;
}

[data-theme="dark"] span[style*="color:#015477"],
[data-theme="dark"] span[style*="color: #015477"],
[data-theme="dark"] td[style*="color:#015477"],
[data-theme="dark"] td[style*="color: #015477"] {
  color: var(--link-color) !important;
}

[data-theme="dark"] .badge[style*="background-color: #015477"],
[data-theme="dark"] .badge[style*="background-color:#015477"],
[data-theme="dark"] span.badge[style*="background-color: #015477"],
[data-theme="dark"] span.badge[style*="background-color:#015477"] {
  background-color: var(--accent-light) !important;
  color: var(--link-color) !important;
}

[data-theme="dark"] .bg-light {
  background-color: var(--bg-surface-raised) !important;
  color: var(--text-color);
}


/* ===========================
   Dark Theme - White Hover for Interactive Links
   =========================== */

[data-theme="dark"] .table-frame a:hover,
[data-theme="dark"] .table-data a:hover,
[data-theme="dark"] .table-data-content a:hover,
[data-theme="dark"] .table-data-content-small a:hover,
[data-theme="dark"] .data-table a:hover,
[data-theme="dark"] .data-table-small a:hover,
[data-theme="dark"] .data-table-small-ag a:hover,
[data-theme="dark"] .offering h5 a:hover,
[data-theme="dark"] .info-box a:hover,
[data-theme="dark"] .tab-pane a:hover,
[data-theme="dark"] .main-overflow a:hover,
[data-theme="dark"] .event-content a:hover,
[data-theme="dark"] .card-body .table a:hover {
  background-color: var(--link-hover-bg);
  color: var(--link-hover-text) !important;
  text-decoration: none;
  border-radius: 2px;
}


/* ===========================
   Value Color Utilities
   =========================== */

.text-positive { color: var(--color-positive); }
.text-negative { color: var(--color-negative); }
.text-neutral  { color: var(--color-neutral); }

.bg-positive  { background-color: var(--color-positive-bg); }
.bg-negative  { background-color: var(--color-negative-bg); }

.badge-pill-positive {
  background-color: var(--color-positive-bg);
  color: var(--color-positive);
  border: 1px solid var(--color-positive);
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
}

.badge-pill-negative {
  background-color: var(--color-negative-bg);
  color: var(--color-negative);
  border: 1px solid var(--color-negative);
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
}


/* ===========================
   Dark Theme - Inline Color Fixes
   =========================== */

[data-theme="dark"] span[style*="color: green"],
[data-theme="dark"] span[style*="color:green"],
[data-theme="dark"] td[style*="color: green"],
[data-theme="dark"] td[style*="color:green"] {
  color: var(--color-positive) !important;
}

[data-theme="dark"] span[style*="color: red"],
[data-theme="dark"] span[style*="color:red"],
[data-theme="dark"] td[style*="color: red"],
[data-theme="dark"] td[style*="color:red"] {
  color: var(--color-negative) !important;
}

[data-theme="dark"] span[style*="color: grey"],
[data-theme="dark"] span[style*="color:grey"],
[data-theme="dark"] td[style*="color: grey"],
[data-theme="dark"] td[style*="color:grey"] {
  color: var(--text-muted) !important;
}

[data-theme="dark"] span[style*="color: black"],
[data-theme="dark"] span[style*="color:black"],
[data-theme="dark"] td[style*="color: black"],
[data-theme="dark"] td[style*="color:black"] {
  color: var(--text-color) !important;
}

[data-theme="dark"] .badge,
[data-theme="dark"] .badge-default {
  background-color: var(--badge-bg);
  color: var(--badge-text) !important;
}

[data-theme="dark"] .badge-light {
  background-color: var(--bg-surface-hover) !important;
  color: var(--text-color) !important;
}

[data-theme="dark"] .label,
[data-theme="dark"] .tag {
  background-color: var(--badge-bg);
  color: var(--badge-text);
}

[data-theme="dark"] .table tbody tr:hover td {
  background-color: var(--table-row-hover) !important;
}

[data-theme="dark"] .table-data-content-small tbody tr:hover {
  background-color: var(--bg-surface-hover);
}

[data-theme="dark"] .table-data-content-small tbody tr:hover td {
  background-color: transparent !important;
}

[data-theme="dark"] .table tbody > tr:hover > td:has(.table-data-content-small) {
  background-color: var(--bg-surface) !important;
}

[data-theme="dark"] .table-data-content-small {
  background-color: var(--bg-surface);
}

[data-theme="dark"] .table-frame {
  background-color: var(--bg-surface);
  border: 1px solid var(--border-color);
}

[data-theme="dark"] .offering {
  border-color: var(--border-color);
  background-color: var(--bg-surface);
}

[data-theme="dark"] .offering:hover {
  border-color: var(--accent);
  background-color: var(--bg-surface-raised);
}

[data-theme="dark"] .offering p {
  color: var(--text-secondary);
}


/* ===========================
   Global Header
   =========================== */

.sr-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--sr-header-height);
  background: var(--nav-bg);
  border-bottom: 1px solid var(--nav-border);
  display: flex;
  align-items: center;
  padding: 0 16px;
  z-index: 1030;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
  gap: 12px;
}

[data-theme="dark"] .sr-header {
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
}

.sr-header-menu-btn {
  display: none;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  color: var(--text-color);
  font-size: 18px;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: var(--radius);
  transition: background var(--transition-fast), color var(--transition-fast);
  flex-shrink: 0;
}

@media (min-width: 992px) {
  [data-layout="new"] .sr-header-menu-btn {
    display: flex;
  }
}

.sr-header-menu-btn:hover {
  background: var(--bg-surface-hover);
}

.sr-header-brand {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}

.sr-header-brand img {
  height: 24px;
}

[data-theme="dark"] .sr-header-brand img {
  filter: none;
}

.sr-header-search {
  display: flex;
  align-items: center;
  flex: 1;
  max-width: 380px;
  position: relative;
  margin: 0 12px;
}

.sr-header-quicklinks {
  display: none;
  align-items: center;
  flex-shrink: 0;
  gap: 2px;
  margin: 0 4px 0 0;
}

[data-layout="new"] .sr-header-quicklinks {
  display: flex;
}

[data-layout="old"] .sr-header-quicklinks {
  display: none !important;
}

.sr-header-quicklink {
  display: inline-flex;
  align-items: center;
  padding: 6px 8px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
  text-decoration: none;
  white-space: nowrap;
  border-radius: var(--radius);
  transition: background var(--transition-fast), color var(--transition-fast);
}

.sr-header-quicklink:hover {
  background: var(--bg-surface-hover);
  color: var(--text-color);
  text-decoration: none;
}

.sr-header-quicklink:visited {
  color: var(--text-secondary);
}

.sr-header-quicklink:visited:hover {
  color: var(--text-color);
}

.sr-search-icon {
  position: absolute;
  left: 10px;
  color: var(--text-muted);
  font-size: 12px;
  pointer-events: none;
  z-index: 1;
}

.sr-search-input {
  width: 100%;
  padding: 7px 12px 7px 30px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-input);
  color: var(--text-color);
  font-size: 12px;
  font-family: inherit;
  outline: none;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.sr-search-input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px var(--accent-light);
}

.sr-search-input::placeholder {
  color: var(--text-muted);
}

.sr-header-actions {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
  margin-left: auto;
}

.sr-header-action {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 8px;
  border-radius: var(--radius);
  background: none;
  border: none;
  color: var(--text-color);
  cursor: pointer;
  text-decoration: none;
  transition: background var(--transition-fast);
}

.sr-header-action:hover {
  background: var(--bg-surface-hover);
  text-decoration: none;
  color: var(--text-color);
}

[data-theme="dark"] .sr-header-action {
  color: var(--nav-text);
}

.sr-header-logout {
  display: inline;
  margin: 0;
  padding: 0;
}

.sr-header-signin {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: var(--radius);
  border: 1px solid var(--border-color);
  background: var(--bg-surface);
  color: var(--text-color);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
  white-space: nowrap;
}

.sr-header-signin:hover {
  background: var(--hover-color);
  border-color: var(--hover-color);
  color: var(--text-hover-color);
  text-decoration: none;
}

.sr-header-signin:hover .cus-icons {
  filter: invert(1);
}

[data-theme="dark"] .sr-header-signin:hover .cus-icons {
  filter: none;
}


/* ===========================
   Global Sidebar
   =========================== */

.sr-sidebar {
  position: fixed;
  top: var(--sr-header-height);
  left: 0;
  bottom: 0;
  width: var(--sr-sidebar-width);
  box-sizing: border-box;
  background: var(--nav-bg);
  border-right: 1px solid var(--nav-border);
  display: flex;
  flex-direction: column;
  z-index: 1020;
  transition: width 0.28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.28s ease;
  overflow: hidden;
}

.sr-sidebar.collapsed {
  width: var(--sr-sidebar-collapsed-width);
}

[data-theme="dark"] .sr-sidebar {
  box-shadow: 1px 0 4px rgba(0, 0, 0, 0.25);
}

.sr-sidebar-nav {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 8px 0;
}

.sr-sidebar-nav::-webkit-scrollbar {
  width: 3px;
}

.sr-sidebar-nav::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.1);
  border-radius: 2px;
}

[data-theme="dark"] .sr-sidebar-nav::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.08);
}

.sr-sidebar-link {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 40px;
  padding: 10px 16px;
  color: var(--text-color);
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
  gap: 12px;
  font-size: 13px;
  font-weight: 400;
  border-left: 3px solid transparent;
  position: relative;
}

.sr-sidebar-link:visited {
  color: var(--text-color);
}

.sr-sidebar-link:hover {
  background: var(--bg-surface-hover);
  color: var(--text-color);
  text-decoration: none;
}

.sr-sidebar-link.active {
  background: var(--accent-light);
  color: var(--accent);
  border-left-color: var(--accent);
  font-weight: 600;
  box-shadow: inset 0 0 0 1px rgba(1, 84, 119, 0.12);
}

[data-theme="dark"] .sr-sidebar-link {
  color: var(--text-secondary);
}

[data-theme="dark"] .sr-sidebar-link:visited {
  color: var(--text-secondary);
}

[data-theme="dark"] .sr-sidebar-link:hover {
  background: rgba(88, 166, 255, 0.08);
  color: var(--text-color);
}

[data-theme="dark"] .sr-sidebar-link.active {
  background: rgba(88, 166, 255, 0.2);
  color: #79b8ff;
  border-left-color: #58a6ff;
  box-shadow: inset 0 0 0 1px rgba(88, 166, 255, 0.35);
}

.sr-sidebar-icon {
  width: 20px;
  min-width: 20px;
  text-align: center;
  font-size: 14px;
  flex-shrink: 0;
  color: var(--text-muted);
  transition: color var(--transition-fast), transform 0.2s ease;
}

.sr-sidebar-link:hover .sr-sidebar-icon {
  color: var(--text-color);
}

.sr-sidebar-link.active .sr-sidebar-icon {
  color: var(--accent);
}

[data-theme="dark"] .sr-sidebar-link.active .sr-sidebar-icon {
  color: #58a6ff;
}

.sr-sidebar-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: opacity 0.2s ease, width 0.2s ease;
}

.sr-sidebar.collapsed .sr-sidebar-label {
  opacity: 0;
  width: 0;
  overflow: hidden;
}

.sr-sidebar.collapsed .sr-sidebar-link {
  justify-content: center;
  min-height: 40px;
  padding: 10px 0;
  border-left-width: 0;
}

.sr-sidebar.collapsed .sr-sidebar-link.active {
  background: var(--accent-light);
  border-left-width: 0;
  border-radius: 6px;
  margin: 0 4px;
  min-height: 40px;
  padding: 10px 0;
  box-shadow: 0 0 0 2px rgba(1, 84, 119, 0.35), inset 0 0 0 1px rgba(1, 84, 119, 0.15);
}

.sr-sidebar.collapsed .sr-sidebar-link.active .sr-sidebar-icon {
  color: var(--accent);
  transform: none;
}

[data-theme="dark"] .sr-sidebar.collapsed .sr-sidebar-link.active {
  background: rgba(88, 166, 255, 0.22);
  box-shadow: 0 0 0 2px rgba(88, 166, 255, 0.55), inset 0 0 0 1px rgba(88, 166, 255, 0.25);
}

[data-theme="dark"] .sr-sidebar.collapsed .sr-sidebar-link.active .sr-sidebar-icon {
  color: #79b8ff;
}

/* Tooltip flyout when collapsed (not while peek-hover expanded) */
.sr-sidebar.collapsed:not(.sr-sidebar--peek) .sr-sidebar-link:hover::after {
  content: attr(data-title);
  position: absolute;
  left: calc(var(--sr-sidebar-collapsed-width) - 4px);
  top: 50%;
  transform: translateY(-50%);
  background: var(--bg-surface-raised);
  color: var(--text-color);
  padding: 5px 10px;
  border-radius: var(--radius);
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  box-shadow: var(--shadow-md);
  z-index: 1050;
  border: 1px solid var(--border-subtle);
  pointer-events: none;
}

[data-theme="dark"] .sr-sidebar.collapsed:not(.sr-sidebar--peek) .sr-sidebar-link:hover::after {
  background: var(--bg-surface-raised);
  border-color: var(--border-color);
  box-shadow: var(--shadow-lg);
}

.sr-sidebar-divider {
  height: 1px;
  background: var(--border-subtle);
  margin: 8px 16px;
}

.sr-sidebar.collapsed .sr-sidebar-divider {
  margin: 8px 10px;
}

.sr-sidebar-section-title {
  padding: 10px 16px 4px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--text-muted);
  letter-spacing: 0.06em;
  white-space: nowrap;
  overflow: hidden;
}

.sr-sidebar.collapsed .sr-sidebar-section-title {
  height: 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

/* Hover peek: temporarily show full labels without changing pinned state */
.sr-sidebar.collapsed.sr-sidebar--peek {
  width: var(--sr-sidebar-width);
  z-index: 1024;
  box-shadow: 4px 0 20px rgba(10, 37, 64, 0.1);
}

[data-theme="dark"] .sr-sidebar.collapsed.sr-sidebar--peek {
  box-shadow: 4px 0 24px rgba(0, 0, 0, 0.45);
}

.sr-sidebar.collapsed.sr-sidebar--peek .sr-sidebar-label {
  opacity: 1;
  width: auto;
  max-width: none;
}

.sr-sidebar.collapsed.sr-sidebar--peek .sr-sidebar-link {
  justify-content: flex-start;
  min-height: 40px;
  padding: 10px 16px;
  border-left-width: 3px;
  margin: 0;
}

.sr-sidebar.collapsed.sr-sidebar--peek .sr-sidebar-link.active {
  margin: 0;
  min-height: 40px;
  padding: 10px 16px;
  border-radius: 0;
  border-left-width: 3px;
  box-shadow: inset 0 0 0 1px rgba(1, 84, 119, 0.12);
}

[data-theme="dark"] .sr-sidebar.collapsed.sr-sidebar--peek .sr-sidebar-link.active {
  box-shadow: inset 0 0 0 1px rgba(88, 166, 255, 0.35);
}

.sr-sidebar.collapsed.sr-sidebar--peek .sr-sidebar-link.active .sr-sidebar-icon {
  transform: none;
}

.sr-sidebar.collapsed.sr-sidebar--peek .sr-sidebar-divider {
  margin: 8px 16px;
}

.sr-sidebar.collapsed.sr-sidebar--peek .sr-sidebar-section-title {
  height: auto;
  padding: 10px 16px 4px;
  margin: 0;
  overflow: visible;
}

.sr-sidebar.collapsed.sr-sidebar--peek .sr-sidebar-section-title .sr-sidebar-label {
  opacity: 1;
  width: auto;
}

.sr-sidebar-top {
  flex-shrink: 0;
  padding: 6px 8px 8px;
  border-bottom: 1px solid var(--border-subtle);
}

[data-layout="new"] .sr-sidebar-top {
  display: none !important;
}

.sr-sidebar-collapse-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  background: transparent;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  border-radius: var(--radius);
  transition: background var(--transition-fast), color var(--transition-fast);
  font-size: 14px;
}

.sr-sidebar-collapse-btn:hover {
  background: var(--bg-surface-hover);
  color: var(--text-color);
}

.sr-sidebar-collapse-btn:focus {
  outline: none;
}


/* ===========================
   Sidebar Overlay (Mobile)
   =========================== */

.sr-sidebar-overlay {
  display: none;
  position: fixed;
  top: var(--sr-header-height);
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1015;
  transition: opacity 0.2s ease;
}

.sr-sidebar-overlay.active {
  display: block;
}

[data-theme="dark"] .sr-sidebar-overlay.active {
  background: rgba(0, 0, 0, 0.65);
}


/* ===========================
   Content Wrapper
   =========================== */

.sr-content-wrapper {
  margin-left: var(--sr-sidebar-current-width, var(--sr-sidebar-width));
  transition: margin-left 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 100vh;
  position: relative;
  box-sizing: border-box;
}


/* ===========================
   Responsive
   =========================== */

@media (max-width: 991px) {
  .sr-sidebar {
    transform: translateX(-100%);
    width: var(--sr-sidebar-width);
    z-index: 1025;
    box-shadow: none;
  }

  .sr-sidebar.mobile-open {
    transform: translateX(0);
    box-shadow: 4px 0 16px rgba(0, 0, 0, 0.15);
  }

  [data-theme="dark"] .sr-sidebar.mobile-open {
    box-shadow: 4px 0 16px rgba(0, 0, 0, 0.5);
  }

  .sr-content-wrapper {
    margin-left: 0 !important;
  }

  .sr-header-menu-btn {
    display: flex;
  }

  .sr-sidebar-top {
    display: none;
  }

  .sr-sidebar.mobile-open {
    width: var(--sr-sidebar-width) !important;
  }

  .left-menu-panel {
    left: 0 !important;
  }

  .footer {
    left: 0 !important;
  }
}

@media (max-width: 768px) {
  .div-max {
    width: 300%;
  }
  .footer.expand-width {
    width: 300%;
  }
  .container {
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
    box-sizing: border-box;
  }
  .filter-form {
    flex-wrap: wrap;
  }
  .search-container, .filter-dropdown, .filter-dropdown select, .reset-button {
    width: 100%;
  }
  form .d-flex {
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 1em;
  }
}

@media (max-width: 575px) {
  .sr-header {
    padding: 0 10px;
    gap: 8px;
  }

  .sr-header-search {
    max-width: none;
    margin: 0 6px;
    flex: 1;
    min-width: 0;
  }

  .sr-header-signin {
    padding: 5px 10px;
    font-size: 12px;
  }
}


/* ===========================
   Layout Toggle Switch
   =========================== */

.layout-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-right: 4px;
  flex-shrink: 0;
}

.layout-toggle-label {
  font-size: 11px;
  font-weight: 500;
  color: var(--text-muted);
  white-space: nowrap;
  user-select: none;
  transition: color var(--transition-fast);
}

.layout-toggle-switch {
  position: relative;
  width: 40px;
  height: 22px;
  background: var(--border-color);
  border: none;
  border-radius: 11px;
  cursor: pointer;
  padding: 0;
  transition: background var(--transition);
  flex-shrink: 0;
}

.layout-toggle-switch.active {
  background: var(--accent);
}

.layout-toggle-knob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: transform var(--transition);
}

.layout-toggle-switch.active .layout-toggle-knob {
  transform: translateX(18px);
}

.layout-toggle-switch:not(.active) ~ .layout-label-old {
  color: var(--text-color);
  font-weight: 600;
}

.layout-toggle-switch.active ~ .layout-label-new,
.layout-toggle .layout-label-new {
  color: var(--text-muted);
}

[data-layout="new"] .layout-label-new {
  color: var(--accent) !important;
  font-weight: 600;
}

[data-layout="old"] .layout-label-old {
  color: var(--accent) !important;
  font-weight: 600;
}


/* ===========================
   Classic top nav (embedded in header)
   =========================== */

.sr-topnav {
  display: none;
  position: fixed;
  top: var(--sr-header-height);
  left: 0;
  right: 0;
  z-index: 1020;
  background: var(--nav-bg);
  border-bottom: 1px solid var(--nav-border);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
  height: 42px;
  overflow: visible;
}

.sr-topnav-scroll {
  min-width: 0;
  flex: 1 1 auto;
}

.sr-topnav-inner {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 16px;
  gap: 2px;
}

.sr-topnav-link {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 400;
  color: var(--text-color);
  text-decoration: none;
  white-space: nowrap;
  border-radius: var(--radius);
  border-bottom: 2px solid transparent;
  transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
  cursor: pointer;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
}

.sr-topnav-link:visited {
  color: var(--text-color);
}

.sr-topnav-link:hover {
  background: var(--bg-surface-hover);
  color: var(--text-color);
  text-decoration: none;
}

.sr-topnav-link.active {
  color: var(--accent);
  border-bottom-color: var(--accent);
  font-weight: 600;
}

.sr-topnav-link i {
  font-size: 13px;
  color: var(--text-muted);
  transition: color var(--transition-fast);
}

.sr-topnav-link:hover i,
.sr-topnav-link.active i {
  color: inherit;
}

.sr-topnav-more {
  position: relative;
}

.sr-topnav-more-btn {
  border-bottom-color: transparent !important;
  font-family: inherit;
}

.sr-topnav-chevron {
  font-size: 10px;
  margin-left: 3px;
  opacity: 0.75;
}

.sr-topnav-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 200px;
  background: var(--bg-surface);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  padding: 6px 0;
  z-index: 1050;
  margin-top: 4px;
}

.sr-topnav-dropdown.show {
  display: block;
}

.sr-topnav-dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  font-size: 13px;
  color: var(--text-color);
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--transition-fast);
}

.sr-topnav-dropdown-item:visited {
  color: var(--text-color);
}

.sr-topnav-dropdown-item:hover {
  background: var(--bg-surface-hover);
  text-decoration: none;
  color: var(--text-color);
}

.sr-topnav-dropdown-item.active {
  color: var(--accent);
  font-weight: 600;
}

.sr-topnav-dropdown-item i {
  width: 18px;
  text-align: center;
  font-size: 13px;
  color: var(--text-muted);
}

.sr-topnav-dropdown-item:hover i,
.sr-topnav-dropdown-item.active i {
  color: inherit;
}


/* ===========================
   Layout Switching Rules
   =========================== */

html[data-layout="old"] {
  --sr-header-height: 56px;
}

html[data-layout="old"] body {
  padding-top: 56px;
}

/* --- Classic: single white bar, light-teal top accent, text nav like reference --- */
[data-layout="old"] .sr-header {
  background: #ffffff;
  border-top: 3px solid #5ec8bc;
  border-bottom: 1px solid #d8dee6;
  box-shadow: none;
  min-height: 56px;
  height: auto;
  flex-wrap: nowrap;
  align-items: center;
}

[data-layout="old"] .sr-header-brand {
  flex-shrink: 0;
  margin-right: 4px;
}

[data-layout="old"] .sr-topnav {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  position: static;
  flex: 1 1 auto;
  min-width: 0;
  top: auto;
  left: auto;
  right: auto;
  height: auto;
  background: transparent;
  border: none;
  box-shadow: none;
  z-index: auto;
  overflow: visible;
}

[data-layout="old"] .sr-topnav-scroll {
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  display: flex;
  align-items: center;
  min-height: 56px;
  scrollbar-width: thin;
}

[data-layout="old"] .sr-topnav-scroll::-webkit-scrollbar {
  height: 4px;
}

[data-layout="old"] .sr-topnav-scroll::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 2px;
}

[data-layout="old"] .sr-topnav-inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  width: max-content;
  box-sizing: border-box;
  padding: 0 4px 0 8px;
  gap: 0;
  min-height: 56px;
  height: auto;
}

[data-layout="old"] .sr-topnav-more {
  flex-shrink: 0;
}

[data-layout="old"] a.sr-topnav-link > i {
  display: none;
}

[data-layout="old"] .sr-topnav-link {
  padding: 8px 11px;
  font-size: 14px;
  font-weight: 500;
  color: #2d3748;
  border-bottom: none;
  border-radius: 4px;
}

[data-layout="old"] .sr-topnav-link:hover {
  background: rgba(1, 84, 119, 0.06);
  color: #1a202c;
}

[data-layout="old"] .sr-topnav-link.active {
  color: #015477;
  font-weight: 600;
  background: transparent;
  border-bottom: none;
}

[data-layout="old"] .sr-topnav-more-btn {
  font-size: 14px;
  font-weight: 500;
  color: #2d3748;
}

[data-layout="old"] .sr-topnav-more-btn.active {
  color: #015477;
  font-weight: 600;
}

[data-layout="old"] .sr-topnav-dropdown {
  background: #ffffff;
  border: 1px solid #d8dee6;
  box-shadow: 0 8px 24px rgba(10, 37, 64, 0.12);
}

[data-layout="old"] .sr-topnav-dropdown-item > i {
  display: none;
}

[data-layout="old"] .sr-topnav-dropdown-item {
  padding-left: 18px;
  padding-right: 18px;
}

[data-layout="old"] .sr-header-search {
  flex: 0 0 150px;
  width: 150px;
  min-width: 150px;
  max-width: 150px;
  margin: 0 10px 0 8px;
}

[data-layout="old"] .sr-search-input {
  border: 1px solid #c5ccd6;
  border-radius: 8px;
  background: #ffffff;
  font-size: 13px;
  padding-top: 8px;
  padding-bottom: 8px;
}

[data-layout="old"] .sr-header-actions {
  flex-shrink: 0;
  margin-left: 0;
  gap: 2px;
}

[data-layout="old"] .sr-header-action,
[data-layout="old"] .sr-header-signin {
  color: #2d3748;
}

[data-layout="old"] .layout-toggle {
  border-left: 1px solid #e8ecf1;
  padding-left: 8px;
  margin-left: 4px;
  margin-right: 0;
}

[data-layout="old"] .sr-sidebar,
[data-layout="old"] .sr-sidebar-overlay {
  display: none !important;
}

[data-layout="old"] .sr-header-menu-btn {
  display: none !important;
}

[data-layout="old"] .sr-content-wrapper {
  margin-left: 0 !important;
  padding-top: 0 !important;
}

[data-layout="old"] body,
[data-layout="old"].sr-sidebar-expanded,
[data-layout="old"].sr-sidebar-collapsed {
  --sr-sidebar-current-width: 0px;
}

[data-layout="old"] .theme-toggle {
  display: none !important;
}

/* --- New layout: hide embedded top nav --- */
[data-layout="new"] .sr-topnav {
  display: none;
}


/* ===========================
   Layout Toggle Responsive
   =========================== */

@media (max-width: 991px) {
  [data-layout="old"] .sr-header {
    flex-wrap: wrap;
    align-content: flex-start;
    row-gap: 0;
    padding-top: 6px;
    padding-bottom: 0;
  }

  [data-layout="old"] .sr-header-brand {
    order: 1;
  }

  [data-layout="old"] .sr-header-search {
    order: 2;
    flex: 0 0 150px;
    width: 150px;
    min-width: 150px;
    max-width: 150px;
    margin: 0 8px;
  }

  [data-layout="old"] .sr-header-actions {
    order: 3;
    margin-left: auto;
  }

  [data-layout="old"] .sr-topnav {
    order: 10;
    flex: 1 1 100%;
    min-width: 100%;
    border-top: 1px solid #eef2f6;
    margin: 6px -16px 0;
    padding: 0 16px;
    width: calc(100% + 32px);
  }

  [data-layout="old"] .sr-topnav-scroll {
    min-height: 44px;
  }

  [data-layout="old"] .sr-topnav-inner {
    min-height: 44px;
    padding-left: 0;
    padding-right: 0;
  }

  html[data-layout="old"] {
    --sr-header-height: 106px;
  }

  html[data-layout="old"] body {
    padding-top: 106px;
  }

  .sr-topnav-link {
    padding: 8px 10px;
    font-size: 12px;
  }
}

@media (max-width: 575px) {
  .layout-toggle-label {
    display: none;
  }

  .sr-topnav-link {
    padding: 6px 8px;
    font-size: 11px;
    gap: 4px;
  }

  .sr-topnav-link i {
    font-size: 11px;
  }

  [data-layout="old"] .sr-header-search {
    flex: 0 0 150px;
    width: 150px;
    min-width: 150px;
    max-width: 150px;
  }
}

/* ===========================
   Post-login notification (under header / Classic-Modern toggle)
   =========================== */
.sr-login-notice {
  position: fixed;
  top: calc(var(--sr-header-height, 56px) + 8px);
  right: 16px;
  width: 360px;
  max-width: calc(100vw - 32px);
  z-index: 1029;
  background: var(--bg-surface, #ffffff);
  color: var(--text-color, #0f172a);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  pointer-events: none;
}

.sr-login-notice.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.sr-login-notice[hidden] {
  display: none !important;
}

.sr-login-notice-content {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
}

.sr-login-notice-icon {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--accent, #015477);
  font-size: 16px;
  line-height: 1.4;
}

.sr-login-notice-text {
  flex: 1 1 auto;
  min-width: 0;
}

.sr-login-notice-title {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 2px;
  color: var(--text-color, #0f172a);
}

.sr-login-notice-body {
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-secondary, #475569);
}

.sr-login-notice-dismiss {
  flex-shrink: 0;
  align-self: center;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-color, #0f172a);
  background: var(--bg-surface-hover, #f1f5f9);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 6px;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.sr-login-notice-dismiss:hover,
.sr-login-notice-dismiss:focus-visible {
  background: var(--accent, #015477);
  border-color: var(--accent, #015477);
  color: #ffffff;
  outline: none;
}

@media (max-width: 768px) {
  .sr-login-notice {
    top: calc(var(--sr-header-height, 56px) + 4px);
    left: 8px;
    right: 8px;
    width: auto;
    max-width: none;
  }

  .sr-login-notice-content {
    padding: 10px 12px;
    gap: 8px;
  }
}
