/* NiftyTrader-inspired design tokens + shared chrome overrides */

:root {
  --nt-brand: #1F86F0;
  --nt-brand-hover: #236AD4;
  --nt-brand-deep: #00498E;
  --nt-brand-soft: #ECF5FE;
  --nt-brand-100: #CFE0FB;
  --nt-ink: #0F172A;
  --nt-muted: #64748B;
  --nt-soft: #F4F7FB;
  --nt-soft2: #F4F7FB;
  --nt-border: #E4EAF1;
  --nt-up: #0FB37D;
  --nt-down: #EF4444;
  --nt-white: #FFFFFF;
  --nt-hero-1: #FBF7EE;
  --nt-hero-2: #FDFBF4;
  --nt-radius: 12px;
  --nt-radius-lg: 16px;
  --nt-shadow-btn: 0 6px 16px -4px rgba(31, 134, 240, 0.45);
  --nt-shadow-card: 0 1px 2px rgba(15, 23, 42, 0.04), 0 24px 48px -12px rgba(15, 23, 42, 0.12);
  --nt-font: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --nt-header-h: 72px;
  --nt-grid-size: 48px;
  --nt-grid-line: rgba(15, 23, 42, 0.035);
  --nt-grid-accent: rgba(31, 134, 240, 0.035);
}

html {
  scroll-behavior: smooth;
}

body,
.body {
  font-family: var(--nt-font) !important;
  color: var(--nt-ink);
  -webkit-font-smoothing: antialiased;
  background-color: #f6f8fb !important;
  background-image:
    linear-gradient(var(--nt-grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--nt-grid-line) 1px, transparent 1px),
    linear-gradient(var(--nt-grid-accent) 1px, transparent 1px),
    linear-gradient(90deg, var(--nt-grid-accent) 1px, transparent 1px),
    radial-gradient(ellipse 70% 45% at 0% 0%, rgba(31, 134, 240, 0.05), transparent 55%),
    linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%) !important;
  background-size:
    var(--nt-grid-size) var(--nt-grid-size),
    var(--nt-grid-size) var(--nt-grid-size),
    calc(var(--nt-grid-size) * 4) calc(var(--nt-grid-size) * 4),
    calc(var(--nt-grid-size) * 4) calc(var(--nt-grid-size) * 4),
    auto,
    auto !important;
  background-attachment: fixed;
  background-position: 0 0, 0 0, 0 0, 0 0, 0 0, 0 0;
  min-height: 100vh;
}

a {
  color: var(--nt-brand);
}

a:hover {
  color: var(--nt-brand-hover);
}

body>.body--start,
.body.body--start {
  padding-top: calc(var(--nt-header-h) + 8px) !important;
}

/* ---- Buttons ---- */
.c-btn,
.c-btn.c-btn--bg,
a.c-btn.c-btn--bg,
button.c-btn.c-btn--bg,
.btn.c-btn.c-btn--bg,
.pricing__btn.c-btn,
.header__btn--signin {
  background: var(--nt-brand) !important;
  border: 1px solid var(--nt-brand) !important;
  color: var(--nt-white) !important;
  border-radius: var(--nt-radius) !important;
  min-height: 44px;
  padding: 0.65rem 1.35rem !important;
  font-weight: 500 !important;
  font-family: var(--nt-font) !important;
  box-shadow: var(--nt-shadow-btn);
  transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}

.c-btn:hover,
.c-btn.c-btn--bg:hover,
a.c-btn.c-btn--bg:hover,
.header__btn--signin:hover {
  background: var(--nt-brand-hover) !important;
  border-color: var(--nt-brand-hover) !important;
  color: var(--nt-white) !important;
  transform: translateY(-1px);
}

.c-btn.c-btn--border,
a.c-btn.c-btn--border,
.header__btn--signup {
  background: transparent !important;
  border: 1px solid var(--nt-border) !important;
  color: var(--nt-ink) !important;
  border-radius: var(--nt-radius) !important;
  min-height: 44px;
  padding: 0.65rem 1.25rem !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

.c-btn.c-btn--border:hover,
.header__btn--signup:hover {
  border-color: var(--nt-brand) !important;
  color: var(--nt-brand) !important;
  background: var(--nt-brand-soft) !important;
}

.btn-primary,
.btn-outline-primary {
  --bs-btn-bg: var(--nt-brand);
  --bs-btn-border-color: var(--nt-brand);
  --bs-btn-hover-bg: var(--nt-brand-hover);
  --bs-btn-hover-border-color: var(--nt-brand-hover);
  --bs-btn-active-bg: var(--nt-brand-deep);
  --bs-btn-color: #fff;
  border-radius: var(--nt-radius) !important;
}

.btn-outline-primary {
  --bs-btn-color: var(--nt-brand);
  --bs-btn-bg: transparent;
  --bs-btn-hover-color: #fff;
}

.text-primary,
.text-theme {
  color: var(--nt-brand) !important;
}

.text-success {
  color: var(--nt-up) !important;
}

.text-danger {
  color: var(--nt-down) !important;
}

/* ---- Marketing header ---- */
.header {
  position: sticky !important;
  top: 0 !important;
  height: var(--nt-header-h) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--nt-border);
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
  z-index: 1030 !important;
}

.header__wrapper,
.header .container {
  height: 100%;
}

.header .row {
  height: 100%;
  min-height: var(--nt-header-h);
}

.logotype__img {
  max-height: 40px !important;
  width: auto !important;
}

.header__nav a,
.header__nav .btn,
.header_nav .btn,
.header_nav a {
  color: var(--nt-ink) !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0.4rem 0.75rem !important;
}

.header__nav a:hover,
.header_nav .btn:hover,
.header_nav a:hover {
  color: var(--nt-brand) !important;
}

.header .btn-outline-secondary,
.header .btn-group .btn {
  color: var(--nt-ink) !important;
  border: none !important;
  background: transparent !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
}

.header .dropdown-menu {
  border: 1px solid var(--nt-border) !important;
  border-radius: var(--nt-radius) !important;
  box-shadow: var(--nt-shadow-card) !important;
  padding: 0.5rem !important;
}

.header .dropdown-item {
  border-radius: 8px;
  padding: 0.55rem 0.75rem !important;
  color: var(--nt-ink) !important;
  gap: 0.5rem;
}

.header .dropdown-item:hover {
  background: var(--nt-brand-soft) !important;
  color: var(--nt-brand) !important;
}

.header__btn-wrapper {
  gap: 0.5rem;
}

.header__btn--signin i {
  color: #fff !important;
}

/* Mobile menu drawer */
@media (max-width: 1199.98px) {
  .header__menu {
    background: var(--nt-white) !important;
    border-left: 1px solid var(--nt-border);
    box-shadow: -12px 0 40px rgba(15, 23, 42, 0.12);
  }

  .header__menu-body,
  .header__menu-footer {
    padding: 1rem !important;
  }

  .header__menu .dropdown-toggle,
  .header__menu .header__nav a {
    min-height: 44px;
    display: flex !important;
    align-items: center;
    width: 100%;
    font-size: 1rem !important;
  }

  .header__menu-footer {
    flex-direction: column !important;
    gap: 1rem;
    border-top: 1px solid var(--nt-border);
  }

  .header__menu-footer .header__btn-wrapper {
    width: 100%;
    justify-content: stretch !important;
  }

  .header__menu-footer .header__btn {
    flex: 1;
    text-align: center;
    justify-content: center;
  }
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  background-color: var(--nt-ink) !important;
}

/* ---- Ticker ---- */
.carousel-container {
  height: auto !important;
  background: var(--nt-soft) !important;
  border-bottom: 1px solid var(--nt-border);
}

.carousel-slide {
  color: var(--nt-ink) !important;
  background: transparent !important;
  gap: 0.35rem;
  padding: 0.45rem 0.75rem !important;
  font-size: 0.75rem;
  font-weight: 500;
}

/* ---- Footer ---- */
.footer {
  background-color: #0b1426 !important;
  background-image: url("/static/img/demo_images/footerImage.png") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
  border-top: none;
  color: #fff;
  padding-top: 0;
  position: relative;
  overflow: hidden;
}

.footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent linear-gradient(358deg, #000, #0068d7) 0 0 no-repeat padding-box;
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}

.footer > *,
.footer .footer_content {
  position: relative;
  z-index: 1;
}

.footer .nav__list-link,
.footer a,
.footer .footer_text a,
.footer .footer_main_head,
.footer h6,
.footer li {
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 0.9rem;
  text-decoration: none;
}

.footer .nav__list-link:hover,
.footer a:hover,
.footer .footer_text a:hover {
  color: #fff !important;
}

.footer .copyright__text {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.85rem;
  padding: 1.25rem 0;
}

.footer__line {
  background: rgba(255, 255, 255, 0.2) !important;
}

.social__link {
  color: var(--nt-muted) !important;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: var(--nt-white);
  border: 1px solid var(--nt-border);
}

.social__link:hover {
  color: var(--nt-brand) !important;
  border-color: var(--nt-brand);
}

/* ---- Shared marketing accents ---- */
.c-title,
.do__title,
.pricing__title,
.partners__title,
.help__title,
.features__title {
  color: var(--nt-ink) !important;
  font-family: var(--nt-font) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em;
}

.main__title {
  color: var(--nt-ink) !important;
  font-family: var(--nt-font) !important;
}

.main__desc,
.pricing__desc,
.card-text,
.help__text {
  color: var(--nt-muted) !important;
}

.card__link,
.card__link span {
  color: var(--nt-brand) !important;
  font-weight: 500;
}

/* Legacy blue remaps */
.do .card-img,
.features .card-img {
  background: linear-gradient(135deg, var(--nt-brand), var(--nt-brand-hover)) !important;
}

/* Modals */
.modal-content {
  border-radius: var(--nt-radius-lg) !important;
  border: 1px solid var(--nt-border) !important;
  font-family: var(--nt-font);
}

.modal-title {
  color: var(--nt-ink);
  font-weight: 600;
}

.form-control:focus {
  border-color: var(--nt-brand) !important;
  box-shadow: 0 0 0 0.2rem rgba(31, 134, 240, 0.2) !important;
}

/* Spinner */
.spinner-border.text-primary,
#spinner .spinner-border {
  color: var(--nt-brand) !important;
  border-color: var(--nt-brand);
  border-right-color: transparent;
}

/* ---- Dashboard shell ---- */
.btn-primary {
  background-color: var(--nt-brand) !important;
  border-color: var(--nt-brand) !important;
}

.btn:hover.btn-primary,
.btn-primary:hover {
  background-color: var(--nt-brand-hover) !important;
  border-color: var(--nt-brand-hover) !important;
  color: #fff !important;
}

.active_dash {
  color: var(--nt-brand) !important;
  border-left-color: var(--nt-brand) !important;
}

.list-group-item-action:focus,
.list-group-item-action:hover {
  color: var(--nt-brand) !important;
}

#sidebarToggle {
  color: var(--nt-brand) !important;
}

.navbar,
header.navbar,
.navbar.sticky-top,
nav.navbar {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid var(--nt-border) !important;
}

.offcanvas,
.offcanvas-lg,
#Algo_trade_mobile_nav {
  background: var(--nt-white) !important;
}

.offcanvas-header {
  border-bottom: 1px solid var(--nt-border);
}

.offcanvas .nav-link,
.offcanvas a {
  color: var(--nt-ink);
}

.offcanvas .nav-link:hover,
.offcanvas a:hover {
  color: var(--nt-brand);
}

body,
body * {
  font-family: inherit;
}

body {
  font-family: var(--nt-font) !important;
}

/* ---- Dashboard header / nav accents ---- */
#dashboard_nav {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid var(--nt-border);
}

#dashboard_nav .shadow_header,
#dashboard_nav .header.shadow_header {
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04) !important;
  background: #fff !important;
  border-bottom: 1px solid var(--nt-border);
}

#dashboard_nav a,
#dashboard_nav_dropdown,
.quick_glances_dropdown,
.futures_dropdown,
.option_dropdown,
.resources_btn,
.services_dropdown {
  color: var(--nt-ink) !important;
  font-family: var(--nt-font) !important;
  font-weight: 500;
}

#dashboard_nav a:hover,
#dashboard_nav_dropdown:hover,
.quick_glances_dropdown:hover {
  color: var(--nt-brand) !important;
}

#dashboard_nav .btns,
#dashboard_nav .btns_two,
button.btns,
button.btns_two {
  border-radius: var(--nt-radius) !important;
  font-family: var(--nt-font) !important;
  font-weight: 500 !important;
  min-height: 40px;
  padding: 0.4rem 1rem !important;
}

#dashboard_nav .btns,
button.btns {
  background: var(--nt-brand) !important;
  border: 1px solid var(--nt-brand) !important;
  color: #fff !important;
  box-shadow: var(--nt-shadow-btn);
}

#dashboard_nav .btns:hover,
button.btns:hover {
  background: var(--nt-brand-hover) !important;
  border-color: var(--nt-brand-hover) !important;
  color: #fff !important;
}

#dashboard_nav .btns_two,
button.btns_two {
  background: transparent !important;
  border: 1px solid var(--nt-border) !important;
  color: var(--nt-ink) !important;
  box-shadow: none !important;
}

#dashboard_nav .btns_two:hover,
button.btns_two:hover {
  border-color: var(--nt-brand) !important;
  color: var(--nt-brand) !important;
  background: var(--nt-brand-soft) !important;
}

#Algo_trade_mobile_nav {
  font-family: var(--nt-font);
}

#Algo_trade_mobile_nav .offcanvas-header {
  background: var(--nt-soft);
}

#Algo_trade_mobile_nav a {
  color: var(--nt-ink);
  min-height: 44px;
  display: flex;
  align-items: center;
}

#Algo_trade_mobile_nav a:hover,
#Algo_trade_mobile_nav .active_navigations {
  color: var(--nt-brand) !important;
}

.megamenu,
.dropdown-menu.megamenu {
  border: 1px solid var(--nt-border) !important;
  border-radius: var(--nt-radius) !important;
  box-shadow: var(--nt-shadow-card) !important;
}

.main_title_stock_stats,
.megamenu h5,
.megamenu h6 {
  color: var(--nt-ink) !important;
}

.other_services_nav_main:hover,
.active_navigations {
  color: var(--nt-brand) !important;
}

/* Dashboard top ticker */
#swiper-container {
  background: linear-gradient(90deg, var(--nt-brand-deep), var(--nt-brand), var(--nt-brand-hover)) !important;
}

#swiper-container .swiper-button-pause-resume {
  background: var(--nt-brand-deep) !important;
}

/* Secondary marketing pages */
.nt-marketing-page .main--features,
.nt-marketing-page .main,
.p-useCases .main {
  background:
    radial-gradient(900px 500px at 88% 18%, rgba(31, 134, 240, 0.1), transparent 60%),
    linear-gradient(180deg, var(--nt-hero-1), #fff) !important;
}

.nt-marketing-page .main__title,
.nt-marketing-page .main__subtitle,
.p-useCases .main__title,
.broker__title,
.help__contacts-title {
  color: var(--nt-ink) !important;
  font-family: var(--nt-font) !important;
}

.nt-marketing-page .main__desc,
.p-useCases .main__desc {
  color: var(--nt-muted) !important;
}

.help__contacts,
.help__wrapper-1 {
  background: var(--nt-soft) !important;
}

.help__contacts-title {
  font-weight: 600;
  font-size: 1.5rem;
}

.help .form-control,
.help__contacts .form-control {
  border-radius: var(--nt-radius) !important;
  border-color: var(--nt-border) !important;
  min-height: 44px;
}

.help .c-btn,
.help__contacts .c-btn {
  min-height: 48px;
}

.p-home .main--features,
.p-home .main {
  background:
    radial-gradient(900px 500px at 88% 18%, rgba(31, 134, 240, 0.1), transparent 60%),
    linear-gradient(180deg, var(--nt-hero-1), #fff) !important;
}

.p-home .main__title,
.p-home .main__subtitle,
.broker__title,
.help__contacts-title {
  color: var(--nt-ink) !important;
  font-family: var(--nt-font) !important;
}

/* Mobile marketing refinements */
@media (max-width: 575.98px) {
  .header {
    --nt-header-h: 64px;
  }

  .logotype__img {
    max-height: 32px !important;
  }

  .header__btn-wrapper {
    flex-wrap: wrap;
  }

  .footer .col-4 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .footer .nav__list {
    margin-bottom: 1rem;
  }
}

@media (max-width: 767.98px) {
  .c-btn,
  .header__btn {
    min-height: 44px;
  }

  #dashboard_nav .header.shadow_header {
    padding: 0.35rem 0.5rem !important;
  }
}

/* =========================================================
   Dashboard polish — shared across dashboard pages
   ========================================================= */

.nifty_main,
.card,
.shadow,
.info_card,
.card_one_section,
.card_two_upper,
.card_two_lower,
.center_card {
  backdrop-filter: blur(6px);
}

.nifty_main {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0;
  display: flex !important;
  flex-direction: column;
  gap: 0.7rem;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid var(--nt-border) !important;
  border-radius: var(--nt-radius-lg) !important;
  padding: 0.9rem 0.85rem 0.8rem !important;
  box-shadow: var(--nt-shadow-card) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.nifty_main:hover {
  transform: translateY(-2px);
  border-color: rgba(31, 134, 240, 0.35) !important;
  box-shadow: 0 14px 30px -18px rgba(31, 134, 240, 0.45) !important;
}

.nitfy_fin_bank_main {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  justify-content: stretch;
  align-items: stretch;
  margin-top: 0.75rem;
  width: 100%;
}

#marketDiv:not(.is-hidden) {
  display: grid !important;
}

#marketDiv.is-hidden,
#tables-container.is-hidden {
  display: none !important;
}

#tables-container:not(.is-hidden) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
  margin-top: 0.85rem;
}

.filterBtn {
  margin: 0 !important;
  padding: 0.45rem 0.95rem !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  color: var(--nt-muted) !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.filterBtn:hover {
  color: var(--nt-ink) !important;
  background: rgba(255, 255, 255, 0.75) !important;
  border-color: var(--nt-border) !important;
}

.filterBtn.active {
  color: #fff !important;
  background: var(--nt-brand) !important;
  border-color: var(--nt-brand) !important;
  box-shadow: 0 8px 18px -10px rgba(31, 134, 240, 0.7);
}

/* Markets card internals */
.title_nifty {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--nt-border);
  margin: 0 !important;
}

.title_nifty h5 {
  margin: 0 !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  color: var(--nt-ink) !important;
  letter-spacing: 0.01em;
}

.title_nifty h5[id$="_value"] {
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.04);
  white-space: nowrap;
}

.title_nifty h5[id$="_value"].text-success {
  background: rgba(15, 179, 125, 0.12) !important;
  color: var(--nt-up) !important;
}

.title_nifty h5[id$="_value"].text-danger {
  background: rgba(239, 68, 68, 0.12) !important;
  color: var(--nt-down) !important;
}

.middle_nifty {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
}

.traded_icons {
  display: flex !important;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
}

.traded_icons h4,
.middle_nifty h4 {
  margin: 0 !important;
  font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
  font-weight: 700 !important;
  color: var(--nt-ink) !important;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

#nifty_icons,
#niftybank_icons,
#finnity_icons {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 1.35rem;
}

#nifty_icons.is-up,
#niftybank_icons.is-up,
#finnity_icons.is-up,
#nifty_icons:has(.text-success),
#niftybank_icons:has(.text-success),
#finnity_icons:has(.text-success) {
  background: rgba(15, 179, 125, 0.12);
  color: var(--nt-up);
}

#nifty_icons.is-down,
#niftybank_icons.is-down,
#finnity_icons.is-down,
#nifty_icons:has(.text-danger),
#niftybank_icons:has(.text-danger),
#finnity_icons:has(.text-danger) {
  background: rgba(239, 68, 68, 0.12);
  color: var(--nt-down);
}

.high_low_nifty {
  display: flex !important;
  gap: 0.4rem !important;
  align-items: stretch !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
}

.high_low_nifty .high,
.high_low_nifty .low {
  min-width: 4.2rem;
  padding: 0.32rem 0.45rem;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid var(--nt-border);
  text-align: right;
}

.high_low_nifty .high span,
.high_low_nifty .low span,
.high_low_nifty .high p:first-child,
.high_low_nifty .low p:first-child {
  display: block;
  margin: 0 0 0.15rem !important;
  color: var(--nt-muted) !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.high_low_nifty .high p:last-child,
.high_low_nifty .low p:last-child,
.high_low_nifty strong {
  margin: 0 !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
}

.nifty_main hr {
  display: none !important;
}

.bottom_card {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0.2rem !important;
  align-items: center;
  justify-content: space-between !important;
  overflow: visible !important;
  white-space: nowrap !important;
  padding-top: 0.65rem;
  margin-top: auto;
  border-top: 1px solid var(--nt-border);
  width: 100%;
}

.bottom_card a,
#market_top {
  text-decoration: none !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  color: var(--nt-brand) !important;
  padding: 0.22rem 0.42rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(31, 134, 240, 0.2) !important;
  background: rgba(236, 245, 254, 0.65) !important;
  position: relative;
  flex: 0 0 auto !important;
  min-width: auto !important;
  max-width: none !important;
  width: auto !important;
  text-align: center;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  letter-spacing: -0.01em;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.bottom_card a::after,
#market_top::after {
  display: none !important;
}

.bottom_card a:hover,
#market_top:hover {
  background: var(--nt-brand) !important;
  border-color: var(--nt-brand) !important;
  color: #fff !important;
}

.market-tabs {
  margin-bottom: 0.15rem;
}

/* ---- Market Action panel ---- */
.main_stocks_details {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid var(--nt-border) !important;
  border-radius: var(--nt-radius-lg) !important;
  box-shadow: var(--nt-shadow-card) !important;
  padding: 1.15rem 1.25rem 1.35rem !important;
  margin-top: 1.25rem !important;
  margin-bottom: 1.5rem !important;
}

.main_stocks_filter {
  gap: 0.55rem !important;
  flex-wrap: wrap !important;
  margin-bottom: 0.85rem !important;
}

.main_stocks_filter h4 {
  margin: 0 !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  color: var(--nt-brand) !important;
  background: #fff !important;
  border: 1px solid rgba(31, 134, 240, 0.35) !important;
  border-radius: 999px !important;
  padding: 0.55rem 1rem !important;
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
  white-space: nowrap;
}

.main_stocks_filter h4:hover {
  background: var(--nt-brand-soft) !important;
  border-color: var(--nt-brand) !important;
}

.main_stocks_filter h4.market_action_active {
  background: var(--nt-brand) !important;
  border-color: var(--nt-brand) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px -10px rgba(31, 134, 240, 0.7);
}

.description_usage {
  margin-top: 0.75rem !important;
  margin-bottom: 0 !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.head_desc_usage {
  justify-content: flex-start !important;
  margin-bottom: 0.85rem !important;
}

.inner_head_desc_usage {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0.35rem !important;
  overflow-x: auto !important;
  border-bottom: 1px solid var(--nt-border) !important;
  width: 100% !important;
  padding-bottom: 0 !important;
}

.inner_head_desc_usage .chart-header,
.chart-header {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: var(--nt-muted) !important;
  padding: 0.55rem 0.85rem !important;
  margin: 0 !important;
  border-bottom: 2px solid transparent !important;
  white-space: nowrap !important;
  transition: color 0.15s ease, border-color 0.15s ease;
}

.inner_head_desc_usage .chart-header:hover,
.chart-header:hover {
  color: var(--nt-brand) !important;
}

.desc_usage_active,
.inner_head_desc_usage .desc_usage_active,
.chart-header.desc_usage_active {
  color: var(--nt-brand) !important;
  border-bottom: 2px solid var(--nt-brand) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
}

.market-action-table-wrap,
#chartContainer {
  height: auto !important;
  min-height: 360px;
  max-height: 460px;
  overflow: auto !important;
  border: 1px solid var(--nt-border);
  border-radius: 12px;
  background: #fff;
  padding: 0.25rem 0.35rem 0.5rem;
}

.main_stocks_details .table {
  margin-bottom: 0.5rem;
  --bs-table-hover-bg: rgba(31, 134, 240, 0.04);
}

.main_stocks_details .table thead,
.main_stocks_details .table thead th {
  background: #f1f5fa !important;
  color: var(--nt-ink) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  border-bottom: 1px solid var(--nt-border) !important;
  white-space: nowrap;
  position: sticky;
  top: 0;
  z-index: 1;
}

.main_stocks_details .table td {
  font-size: 0.86rem;
  vertical-align: middle;
  border-color: #eef2f7 !important;
}

#market_action_view_more {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  color: var(--nt-brand) !important;
}

#market_action_view_more:hover {
  color: var(--nt-brand-hover) !important;
}

.bi-graph-up {
  border: 1px solid var(--nt-brand) !important;
  color: var(--nt-brand) !important;
  border-radius: 8px !important;
}

.bi-graph-up:hover {
  background: var(--nt-brand) !important;
  color: #fff !important;
  border-color: var(--nt-brand) !important;
}

.future_active,
#OI_gainer.future_active,
#OI_loser.future_active,
#OI_volume_buzzers.future_active {
  color: var(--nt-brand) !important;
  border-bottom: 2px solid var(--nt-brand) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
}

#OI_gainer,
#OI_loser,
#OI_volume_buzzers,
#OI_volume_1,
#OI_volume_2 {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--nt-muted) !important;
  padding: 0.45rem 0.7rem !important;
}

.claims_heading {
  margin: 1.75rem 0 1rem !important;
}

.claims_heading h4 {
  font-size: clamp(1.45rem, 2.2vw, 1.85rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--nt-ink) !important;
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: 28ch;
}

.cards_section {
  gap: 1rem !important;
  padding: 0 0 1.5rem !important;
}

.card_one_section,
.card_two_upper,
.card_two_lower,
.center_card,
.info_card {
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid var(--nt-border) !important;
  border-radius: var(--nt-radius-lg) !important;
  box-shadow: var(--nt-shadow-card) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.card_one_section {
  background: linear-gradient(165deg, #e8f3fc 0%, #f7fbff 55%, #ffffff 100%) !important;
}

.info_card:hover,
.card_one_section:hover,
.card_two_upper:hover,
.card_two_lower:hover,
.center_card:hover {
  transform: translateY(-2px);
  border-color: rgba(31, 134, 240, 0.35) !important;
  box-shadow: 0 16px 34px -20px rgba(31, 134, 240, 0.45) !important;
}

.text-txt-menu {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--nt-ink) !important;
  letter-spacing: -0.01em;
}

.text-txt-cl {
  font-size: 0.88rem !important;
  font-weight: 450 !important;
  line-height: 1.55 !important;
  color: var(--nt-muted) !important;
}

.p-6 {
  padding: 1.1rem 1.15rem !important;
}

.redirect_icon i {
  background: var(--nt-brand) !important;
  opacity: 0.9;
}

.card_two_section,
.card_three_section {
  gap: 1rem !important;
}

/* Floating help dock */
.floating-menu,
.float_menu,
.side_float,
.help-float {
  filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.12));
}

/* ---- Global Markets ---- */
.global-region {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--nt-border);
  border-radius: var(--nt-radius-lg);
  box-shadow: var(--nt-shadow-card);
  padding: 0.95rem 1rem 1rem;
  min-width: 0;
}

.global-region__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--nt-border);
}

.global-region__head h5 {
  margin: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--nt-ink) !important;
  letter-spacing: 0.02em;
}

.refresh_global {
  all: unset;
  cursor: pointer;
  width: 34px;
  height: 34px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 10px !important;
  border: 1px solid rgba(31, 134, 240, 0.35) !important;
  background: #fff !important;
  color: var(--nt-brand) !important;
  transition: 0.18s ease;
}

.refresh_global:hover {
  background: var(--nt-brand) !important;
  color: #fff !important;
  border-color: var(--nt-brand) !important;
}

.global-index-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  margin-bottom: 0.65rem;
  padding: 0.7rem 0.8rem;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--nt-border);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.global-index-card:last-child {
  margin-bottom: 0;
}

.global-index-card:hover {
  transform: translateY(-1px);
  border-color: rgba(31, 134, 240, 0.35);
  box-shadow: 0 10px 22px -16px rgba(31, 134, 240, 0.4);
}

.global-index-card__left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.global-index-card__icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  flex: 0 0 auto;
}

.global-index-card__icon.is-up {
  background: rgba(15, 179, 125, 0.12);
  color: var(--nt-up);
}

.global-index-card__icon.is-down {
  background: rgba(239, 68, 68, 0.12);
  color: var(--nt-down);
}

.global-index-card__meta h5 {
  margin: 0 !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: var(--nt-ink) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 11rem;
}

.global-index-card__meta .price {
  margin: 0.15rem 0 0 !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--nt-muted) !important;
}

.global-index-card__right {
  text-align: right;
  flex: 0 0 auto;
}

.global-index-card__right .chg-pct,
.global-index-card__right .chg-abs {
  margin: 0 !important;
  font-size: 0.86rem !important;
  font-weight: 700 !important;
}

.global-index-card__right .chg-abs {
  margin-top: 0.15rem !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  opacity: 0.9;
}

@media (max-width: 991.98px) {
  .nitfy_fin_bank_main,
  #tables-container:not(.is-hidden) {
    grid-template-columns: 1fr !important;
  }

  .cards_section {
    gap: 0.85rem !important;
  }
}
