section[aria-hidden="true"],main[aria-hidden="true"] { 
    display: none !important;
    visibility: hidden; 
}
.u-hidden{
  display: none !important;
}
.cursor-notallowed{
  cursor: not-allowed !important;
}

/* Pill BUY/SELL del modal "New Order" cuando la dirección no tiene margen
   disponible (ver calculatemarginsvolum en m7.marcx.js). NO aplicamos
   pointer-events:none porque queremos que el click siga flipando la dirección
   activa — el gate real de submit vive en #btncreateoperation.disabled y en
   #divbtnssellbuy.cursor-notallowed. */
[data-actionop-modal].pill-unfeasible{
  cursor: not-allowed !important;
  opacity: 0.45 !important;
  filter: grayscale(0.6);
  text-decoration: line-through;
}
[data-actionop-modal].pill-unfeasible:hover{
  opacity: 0.55 !important;
}

.ml-100{
  margin-left:30px !important;
}
.is-busy {
  position: relative;
  color: transparent !important;
  cursor: progress;
  pointer-events: none;
  user-select: none;
}

.is-busy::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20px' height='20px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3E%3Ccircle xmlns='http://www.w3.org/2000/svg' cx='50' cy='50' fill='none' stroke='%23ffffff' stroke-width='10' r='35' stroke-dasharray='164.93361431346415 56.97787143782138' transform='rotate%28276 50 50%29'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain; /* Asegura que el tamaño sea adecuado */
  animation: btn-action-busy2 1s linear infinite;
}

@keyframes btn-action-busy2 {
  from {
    transform: translateX(-50%) rotate(0deg);
  }
  to {
    transform: translateX(-50%) rotate(360deg);
  }
}


/*
 * === VARIABLES ===
 */

.global-login {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: 20px !important;
    text-align: center;
  }
  
  .global-login[aria-hidden="false"] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  
  .global-login__inner {
    position: relative;
    text-align: center;
  }
  
  .global-login__content {
    position: relative;
    display: inline-block;
    flex-direction: column;
    width: 25rem;
    padding: 1.25rem;
    padding-top: 2rem;
    margin-top: 0rem;
    clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 5%);
  }
  
  .global-login__brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
  
  .global-login__brand-link {
    position: relative;
    width: 340px;
    height: 75px;
  }
  
  .global-login__brand-image > img {
    width: 100%;
    height: 100%;
    vertical-align: middle;
  }
  
  .global-login__brand-badge {
    position: absolute;
    top: -10px;
    right: 0;
    font-size: 8px;
    font-weight: 800;
    line-height: 15px;
    letter-spacing: 1px;
    padding: 1px 5px 0;
    border-radius: 3px;
  }
  
  .global-login__description {
    display: block;
    text-align: center;
  }
  
  
  .global-login__form {
    display: flex;
    flex-direction: column;
  }
  
  .global-login__form-message {
    position: relative;
    color:rgb(190, 12, 12);
    top: 0;
    right: -1px;
    line-height: 21px;
    border-radius: 3px;
    border-bottom-right-radius: 0;
    visibility: hidden;
  }
  
  .global-login__form-control {
    position: relative;
    display: block;
    margin-bottom: 2px;
  }
  
  .global-login__form-control label {
    color: #7f858d;
    font-size: 15px;
    font-weight: 500;
    display: block;
    letter-spacing: 0.03rem;
    margin-bottom: 8px;
  }
  
  .global-login__form-control input {
    font-size: 1rem;
    border: 1px solid rgb(116, 116, 117) !important;box-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);
    border-radius: 2px;
    padding: 12px 10px;
    width: 100%;
  }
  
  .global-login__form-control input:focus {
    border: 1px solid rgb(12, 12, 88);
    box-shadow: 0 0 0 1px rgb(12, 12, 88);
    outline: none;
  }
  
  .global-login__form-control.is-errored input {
    border: 1px solid red !important;
    box-shadow: 0 0 0 1px red !important;
  }
  
  .global-login__form-control.is-errored .global-login__form-message {
    visibility: visible;
  }
  
  .global-login__form-control .control--checkbox,
  .global-login__form-control .control--checkbox + label {
    display: inline-block;
    vertical-align: middle;
    user-select: none;
  }
  
  .global-login__form-control .control--checkbox {
    margin-right: 5px;
  }
  
  .global-login__form-control .control--checkbox .control__indicator {
    background: #f7f7f7;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.2);
  }
  
  
  .global-login .btn--login > .btn__icon {
    position: relative;
    display: inline-block;
    width: 17px;
    height: 17px;
    vertical-align: middle;
    margin-top: -4px;

    transform: translateX(0px);
    transition: transform 0.2s cubic-bezier(0.1, 0.82, 0.25, 1);
  }
  
  .global-login .btn--login:hover > .btn__icon {
    transform: translateX(4px);
  }
  
  .global-login .btn--login > .btn__text {
    font-size:14px;
  }
  
  
  .global-login__footer {
    position: absolute;
    left: 0;
    width: 100%;
    font-size: 14px;
    padding: 5px;
    text-align: center;
  }
  
  .global-login__footer-link {
    color: rgb(12, 12, 88);
  }
  
  .global-login__footer-link:hover {
    text-decoration: underline;
  }
  
  .global-login__footer-link:not(:first-child)::before {
    content: "";
    position: relative;
    display: inline-block;
    width: 2px;
    height: 2px;
    line-height: 10px;
    margin: 0 5px;
    background: #fff;
    border-radius: 50%;
    vertical-align: middle;
  }
  .global-login__form-control.is-errored input {
    border: 1px solid red !important;
    box-shadow: 0 0 0 1px red !important;
}

.global-login__form-control.is-errored .global-login__form-message {
    visibility: visible;
}
.marcnowrap{
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow:hidden;
}
.marcnowrap2{
display: -webkit-box;
line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
max-height: 40px;
}


#iframedatatrade{
  transition: opacity 500ms linear;
}

#iframedatatradeoffcanvas{
  width:100%;
  height:200px;
  transition: opacity 500ms linear;
}
.error_reconectandoFLOTANTE{
    position:fixed;
    z-index:99999999999999;
    left:0 !important;
    top:0 !important;
    width:100% !important;
    height:100% !important;
    color: #fff !important;
    background-color: rgba(0,0,0,0.7);
    opacity:0.7;
    user-select:none;
}
#muestromsgflota_msgaki{
  width: 100% !important;
height: 100% !important;
display: flex !important;
text-align: center;
flex-direction: column;
justify-content: space-around;
}
#btncreateoperation:disabled {
  cursor: not-allowed !important;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}

/* Para Firefox */
input[type="number"] {
appearance: textfield;
}

.tbgred{
  color:#ea4343 !important;
  font-weight:bolder;
}
.tbggreen{
  color:#00bea0 !important;
  font-weight:bolder;
}
.activeoffcanvas label.form-label{
  color:#4285F4 !important;
}
.select-none{
  user-select: none;
}
.pr-2{
  padding-right:10px !important;
}
.u-hiddencalendar{
  display:inline;
}
#calendar:not(.calendarexpand){
max-height: 80px;
overflow:hidden;
}
#calendar.calendarexpand .calendareventt{
  padding-top:10px !important;
  padding-bottom:10px !important;
}
.u-hiddencalendaryes{
display:none;
}
.page-wrapper{
margin-left:0px !important;
}
.accordion-button{
padding:10px;
}
.accordion-button i{
margin-right:10px;
}
.minancho{
  min-width:300px;
}
.minaltura{
  min-height:max-content;
}
.link:Hover{
  text-decoration: underline;
}
.float-left{
  float:left;
}
.tooltip {
  font-size: 1rem;  /* Extra large text size */
  padding: 0px 0px 0px 0px; /* Extra padding for a bigger tooltip */
  max-width: none;    /* No max-width to allow tooltip to grow */
}
.accordion .accordion-button:focus,
.accordion .accordion-button:active {
outline: none !important;
box-shadow: none !important;
}
.toast-container{
margin-top:15px;
}
.accordion-collapse {
transition: none !important;
}
#main-wrapper .imgESLOGO{
max-width:50px !important;
position:absolute;
left:15px;
top:15px;
height: auto !important;
}
/* #main-wrapper.show-sidebar .imgESLOGO{
max-width:150px !important;
} */
.u-hiddenpage{
visibility: hidden;
max-height:1px;
overflow:hidden;
display:none;
}
.positionpapage{
position:absolute;
}
.no-hover-bg:hover {
background-color: inherit !important; /* No cambiar el fondo al hacer hover */
color: inherit !important; /* No cambiar el fondo al hacer hover */
}

:root[data-bs-theme="dark"] .ag-center-cols-viewport{
color: #f0f0f0;
}
:root[data-bs-theme="dark"] .ag-overlay-no-rows-center{
color: #f0f0f0;
}
/* :root[data-bs-theme="dark"] .page-wrapper,:root[data-bs-theme="dark"] .topbar{
background: #1a2335;
} */
:root[data-bs-theme="dark"] .ag-theme-custom {
  --ag-background-color: #1f2836;
  --ag-header-foreground-color: #FFF;
  --ag-border-color: #2b3748;
  --ag-odd-row-background-color: #232f3f;
  --ag-even-row-background-color: #1f2836;
  --ag-font-size: 14px;
}
:root[data-bs-theme="dark"] .ag-cell,
:root[data-bs-theme="dark"] .ag-icon,
:root[data-bs-theme="dark"] .ag-picker-field-display, 
:root[data-bs-theme="dark"] .ag-label, 
 :root[data-bs-theme="dark"] .ag-text-field, 
 :root[data-bs-theme="dark"] .ag-picker-field-wrapper, 
 :root[data-bs-theme="dark"] .ag-text-option, 
 :root[data-bs-theme="dark"] .ag-text-field-input, 
 :root[data-bs-theme="dark"] .ag-popup{
  color:#fff;
}

:root[data-bs-theme="dark"] .custom-header {
  background-color: #1f2836;
  color: #fff;
}


button:disabled {
cursor: not-allowed !important;
}
#toolbarresponsivebottom{
position:fixed; bottom:0px;left:0px;width:100%;display:none;
background: var(--bs-body-bg);
}
.uhiddenvisibleresponsive {
visibility: visible;
max-height: none;
overflow: none;
display: block !important; /* Visible solo cuando el atributo data-pageis tiene el valor "positions" */
}
  .u-hiddenendeskop{
    display: none;
  }
  
  .offcanvas .nav li .nav-link{
    padding:5px !important;
    margin:5px !important;
  }
  #iframedatatradeoffcanvas{
    margin-top:0px;
    height:300px;
  }
  @media (min-width: 768px) {
    .vh100{
      min-height:70vh;
    }
    .vh100graf{
      max-height:100vh;
      min-height:70vh;
    }
    .offcanvas.offcanvas-end.show{
      width:768px !important;
    }

  }

  @media (max-width: 1268px) {
    #tableyesresultspositions{
      padding-bottom:200px;
    }

  }
@media (max-width: 768px) {
#iframedatatrade{
display:none !important;
}
body{
margin-bottom:62px !important;
}

  .u-hiddenendeskop{
    display: block;
  }
  .u-hiddenmobile{
    display: none;
  }
  .uhiddenvisibleresponsive{
visibility: hidden;
max-height:1px;
overflow:hidden;
display:none;
}

#toolbarresponsivebottom{
position:fixed; bottom:0px;left:0px;width:100%;display:inline;
}
.searchtopnavv {
    display: none !important;
}

.container-fluid{
transition: none !important;
padding:0px !important;
}
.sinmarginresponsive{
margin:0px !important;
padding:0px !important;
}
.accordion-item{
border-radius: 0px !important;
}

.offcanvas.offcanvas-end.show{
  width:100% !important;
}

.row{
  margin-left:0px !important;
  margin-right:0px !important;
}
}




.global-login{
  opacity:0;
  animation: globalloginhidden 200ms linear 1;
  animation-fill-mode: forwards; /* Mantiene el último estado de la animación */
  
}
@keyframes globalloginhidden {
0% {
    opacity: 0;
    zoom:1;
}
100% {
    opacity: 1;
}
}
@keyframes btn-action-busy {
0% {
    opacity: 0;
}
70% {
    opacity: 0;
}
100% {
    opacity: 1;
}
}
@keyframes showcharts {
0% {
    opacity: 0;
}
70% {
    opacity: 0;
}
100% {
    opacity: 1;
}
}
.cursor-pointer{
  cursor:pointer !important;
}
.bg-hover-light-black .cursor-pointer{
  cursor:default;
}
.offcanvas{
  width: 768px !important; 
}
@media (max-width: 450px) {
.offcanvas{
  min-width: 100% !important; 
}
}

  @media (min-width: 769px) {
  
.accordion-collapse:not(#calendar){
  max-height:calc(100vh - 410px) !important;
  overflow-x:hidden !important;
}

.accordion-collapse{
  max-height: calc(100vh - 310px);
  overflow-x:hidden !important;
}
.hnsidebarm{
  height:calc(100vh - 75px);
}
}

@media (max-width: 768px) {
  

.hnsidebarm{
  height:calc(100vh - 75px) !important;
}

#calendar:not(.calendarexpand){
  max-height: 40px;
  overflow:hidden;
  }
.accordion-collapse{
  max-height:calc(100vh - 520px);
  overflow-x:hidden !important;
}
}

.bggreen,.bgred{
  min-height:65px !important;
  min-width: 100% !important;
}
#iframedatatrade{
  background:transparent !important;
  width:100%;
  height: 100%;
}

/* Estilos mejorados para la tabla de posiciones */

#active-positions{
  overflow:auto;
  max-width:100%;
}
.positions-table {
width: 100%;
border-radius: var(--bs-border-radius-lg);
overflow: hidden;
padding: 10px;
background: var(--bs-body-bg);
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

.ticker-row{
  
}
.tickerstotsscroll{
  overflow:auto;
}

.scrollbar {
  /* Si quieres forzar un ancho/alto fijo y permitir el scroll, asegúrate de tener overflow */
  overflow-y: auto;
}

/* Estilos del scrollbar en navegadores basados en WebKit */
.scrollbar::-webkit-scrollbar {
  width: 9px;             /* Ancho del scrollbar */
  height: 9px;             /* Ancho del scrollbar */
}
.scrollbar::-webkit-scrollbar-track {
  background: transparent;    /* Fondo del track o "canal" del scrollbar */
}
.scrollbar::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.3); /* Color de la barra de desplazamiento */
  border-radius: 5px;        /* Redondeado para que se vea más elegante */
}
/* Encabezado con efecto elegante */
.ticker-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px;
background: var(--bs-accordion-btn-bg);
color: var(--bs-accordion-color);
font-weight: bold;
cursor: pointer;
overflow:hidden;
transition: background 0.3s ease, transform 0.2s ease;
}

.ticker-header:hover {
background-color: var(--bs-light-bg-subtle) !important;
}

/* Icono de desplegar con animación */
.toggle-icon {
transition: transform 0.3s ease;
}

.ticker-header.active {
background-color: var(--bs-light-bg-subtle) !important;
}
.ticker-header.active .toggle-icon {
transform: rotate(90deg);
}

/* Contenedor con animación de apertura */
.positions-content {
display: table; 
background: var(--bs-accordion-bg);
color: var(--text-dark);
border-radius: var(--bs-border-radius-sm);
box-shadow: inset 0px 0px 8px rgba(0, 0, 0, 0.1);
overflow-x: auto;
display: flex;
flex-direction: column; /* Alinea los elementos en columna */
align-items: center; /* Centra horizontalmente */
justify-content: flex-start; /* Alinea desde arriba */
width: 100%; /* Para ocupar todo el ancho disponible */
}

/* Diseño mejorado para las filas de datos */
.position-row {
  display: table-row;
align-items: center; /* Centra horizontalmente */
text-align: center;
padding: 8px;
font-size: 0.9rem;
font-weight: 500;
white-space: nowrap;
justify-content: space-between;
padding: 4px;
color: var(--text-dark);
background: var(--ag-background-color);
transition: background 0.3s ease, transform 0.2s ease;
}

.position-row:not(.sinhoverrow):hover {
background: var(--bs-light-bg-subtle);
}

.tomoney{
  flex: 1;
  text-align: right;
  margin-right: 20px;
}

/* Estilos para las celdas */
.position-cell {
  display: table-cell;
text-align: center;
padding: 8px;
font-size: 0.9rem;
font-weight: 500;
white-space: nowrap;
}

/* Estilos de texto para valores positivos y negativos */
.text-success {
color: var(--bs-success);
font-weight: bold;
}

.text-danger {
color: var(--bs-danger);
font-weight: bold;
}

/* Scroll responsivo con mejor visualización */
@media (max-width: 768px) {
.positions-content {
    overflow-x: auto;
    display: block;
    white-space: nowrap;
    padding: 10px;
}
}


/* .body-wrapper{
    padding-top:90px;
} */
.u-hiddeniframe{
  opacity:0.08;
  transition:none !important;
}
.u-hidden,.u-hiddencotizacion{
    display: none !important;
}

@media (max-width: 575.98px) {
.convertiraw100 {
width: 100% !important; /* Cambia el ancho a 100% */
}
}
.app-chat .chat-users {
    height: calc(100vh - 495px) !important;
}
.marcnowrap3{
display: -webkit-box;
line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
max-height: 30px;
}
.marcnowrap {
overflow: hidden !important;
text-overflow: ellipsis !important;
white-space: nowrap !important; /* Evita el salto de línea */
}

.bard-hello {
  font-family: 'Google Sans', sans-serif; 
  font-size: 2em; 
  font-weight: normal;
  /* Degradado de colores */
  background-image: linear-gradient(to right, #4285F4, #5d26b1, #D96570);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent; 
  text-align: center;
}

.bard-hello-name {
  font-weight: bold; 
}

.flagv2 {
margin-top:4px;
margin-bottom:4px;
width: 22px;
height: 22px;
border-radius: 5px;
background-size: cover; /* Cambia a cover para llenar el contenedor */
background-repeat: no-repeat;
background-position: center;
background-image: var(--flag-url);
}
.impact-indicators {
display: flex;
}

.indicator {
width: 8px;
height: 8px;
background-color: rgba(255,255,255,0.2); /* Color gris para indicadores inactivos */
margin-right: 4px;
}
.indicator.low {
background-color: #28a745 !important; /* Color verde de Bootstrap para el activo */
}
.indicator.medium {
background-color: #cf6f2f !important; /* Color verde de Bootstrap para el activo */
}
.indicator.high {
background-color: #b32f2f !important; /* Color verde de Bootstrap para el activo */
}
:root[data-bs-theme="light"] .indicator {
background-color: rgba(0,0,0,0.2); /* Color gris para indicadores inactivos */
}



.flages1{
  width:15px !important;height:15px !important;position:absolute; margin-top:-4px; margin-left:-4px; 
}
.flages2{
  width:15px !important;
  height:15px !important;
  margin-top:4px; margin-left:4px; 
}
/* ÉXITO (verde) - Rebote sutil */
.textanim-success {
display: inline-block;
/* animation: [nombre] [duración] [función de tiempo] [delay] */
animation: success-bounce 1s ease-out 0.5s;
}

@keyframes success-bounce {
0%, 100% {
transform: scale(1);
}
50% {
transform: scale(1.05); /* Rebote muy leve */
}
}

/* PÉRDIDA (rojo) - Vibración leve */
.textanim-danger {
display: inline-block;
/* animation: [nombre] [duración] [función de tiempo] [delay] */
animation: danger-shake 1s ease-in-out 0.5s;
}

@keyframes danger-shake {
0%, 100% {
transform: translateX(0);
}
25% {
transform: translateX(-1px);
}
50% {
transform: translateX(1px);
}
75% {
transform: translateX(-1px);
}
}
.btnfavs{
  font-size: 1.2rem;
}
.ti-star-full {
    color: #f39c12; /* Color dorado para estrellas rellenadas */
}
.ti-star-full {
  font-size: 1.2rem;
  color: transparent;
  background: linear-gradient(90deg, #f39c12 50%, rgb(255, 198, 9) 50%);
  -webkit-background-clip: text;
  background-clip: text;
}
#botonmoreoptionstrade[aria-expanded="true"]{
  display:none;
}

/* =====================================================================
 * MARC MODERN LAYER — additive visual refresh
 * Mantiene TODOS los colores existentes (#ea4343, #00bea0, #4285F4,
 * #1f2836, #232f3f, #2b3748). Solo mejora radios, sombras, transiciones,
 * estados hover/focus y densidad. No cambia estructura ni colores base.
 * ===================================================================== */

:root{
  --marc-accent: #4285F4;
  --marc-accent-soft: rgba(66,133,244,0.16);
  --marc-buy: #00bea0;
  --marc-buy-soft: rgba(0,190,160,0.16);
  --marc-sell: #ea4343;
  --marc-sell-soft: rgba(234,67,67,0.16);
  --marc-surface-1: #1f2836;
  --marc-surface-2: #232f3f;
  --marc-surface-3: #2b3748;
  --marc-border: rgba(255,255,255,0.06);
  --marc-border-strong: rgba(255,255,255,0.12);
  --marc-radius-sm: 8px;
  --marc-radius: 12px;
  --marc-radius-lg: 16px;
  --marc-shadow-sm: 0 1px 2px rgba(0,0,0,0.18), 0 1px 1px rgba(0,0,0,0.12);
  --marc-shadow: 0 6px 20px -8px rgba(0,0,0,0.45), 0 2px 6px rgba(0,0,0,0.22);
  --marc-shadow-lg: 0 20px 40px -12px rgba(0,0,0,0.55), 0 6px 16px rgba(0,0,0,0.28);
  --marc-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* Transiciones globales suaves */
.btn,
.form-control,
.form-select,
.nav-link,
.accordion-button,
.card,
.offcanvas,
.position-row,
.ticker-header,
.dropdown-item{
  transition: background-color .18s var(--marc-ease),
              border-color .18s var(--marc-ease),
              color .18s var(--marc-ease),
              box-shadow .18s var(--marc-ease),
              transform .18s var(--marc-ease) !important;
}

/* -------- Botones -------- */
.btn{
  border-radius: var(--marc-radius-sm) !important;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.btn:not(.btn-link):not(.is-busy):hover{
  transform: translateY(-1px);
  box-shadow: var(--marc-shadow-sm);
}
.btn:not(.btn-link):active{
  transform: translateY(0);
  box-shadow: none;
}
.btn-primary,
.btn-outline-primary:hover{
  background-image: linear-gradient(180deg, #5a97f6 0%, #4285F4 100%);
  border-color: #4285F4;
}
.btn-outline-primary{
  border-color: rgba(66,133,244,0.6);
  color: #8fb8ff;
}
.btn-outline-primary:hover{
  color: #fff;
}
.btn-success,
.bggreen .btn,
.btn.bggreen{
  background-image: linear-gradient(180deg, #1bd5b4 0%, #00bea0 100%);
  border-color: #00bea0;
}
.btn-danger,
.bgred .btn,
.btn.bgred{
  background-image: linear-gradient(180deg, #ff5c5c 0%, #ea4343 100%);
  border-color: #ea4343;
}
.bggreen,.bgred{
  border-radius: var(--marc-radius) !important;
  box-shadow: var(--marc-shadow-sm);
}
.bggreen:hover{ box-shadow: 0 8px 24px -10px rgba(0,190,160,0.55); }
.bgred:hover{   box-shadow: 0 8px 24px -10px rgba(234,67,67,0.55); }

/* -------- Inputs y form fields -------- */
.form-control,
.form-select{
  border-radius: var(--marc-radius-sm) !important;
  border-color: var(--marc-border-strong) !important;
}
.form-control:focus,
.form-select:focus{
  border-color: var(--marc-accent) !important;
  box-shadow: 0 0 0 3px var(--marc-accent-soft) !important;
}
:root[data-bs-theme="dark"] .form-control,
:root[data-bs-theme="dark"] .form-select{
  background-color: var(--marc-surface-1);
}
.input-group .btn.border{
  border-color: var(--marc-border-strong) !important;
}

/* -------- Tarjetas / page surfaces -------- */
.card,
.accordion-item,
.modal-content{
  border-radius: var(--marc-radius) !important;
  border-color: var(--marc-border) !important;
  box-shadow: var(--marc-shadow-sm);
}
.modal-content{
  box-shadow: var(--marc-shadow-lg);
}

/* -------- Topbar / navbar -------- */
.topbar,
.app-header,
header.topbar{
  backdrop-filter: saturate(140%) blur(6px);
}
:root[data-bs-theme="dark"] .topbar,
:root[data-bs-theme="dark"] .app-header{
  background: linear-gradient(180deg, rgba(31,40,54,0.96) 0%, rgba(31,40,54,0.88) 100%) !important;
  border-bottom: 1px solid var(--marc-border);
}
.topbar .nav-link{
  border-radius: var(--marc-radius-sm);
}
.topbar .nav-link:hover{
  background: rgba(255,255,255,0.04);
}

/* -------- Account summary strip -------- */
[data-accequityd],
[data-accbalanced],
[data-accprofitd],
[data-accmarginleveld]{
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}

/* -------- Accordion / positions -------- */
.accordion-button{
  border-radius: var(--marc-radius-sm) !important;
}
.accordion-button:not(.collapsed){
  background: rgba(66,133,244,0.08);
  color: inherit;
}
.accordion-item{
  margin-bottom: 6px;
  overflow: hidden;
}

.positions-table{
  border-radius: var(--marc-radius) !important;
  box-shadow: var(--marc-shadow-sm) !important;
  padding: 8px !important;
}
.ticker-header{
  border-radius: var(--marc-radius-sm);
  padding: 12px 14px !important;
}
.ticker-header:hover{
  transform: translateY(-1px);
  box-shadow: var(--marc-shadow-sm);
}
:root[data-bs-theme="dark"] .ticker-header{
  background: linear-gradient(180deg, var(--marc-surface-2) 0%, var(--marc-surface-1) 100%) !important;
  border: 1px solid var(--marc-border);
}
:root[data-bs-theme="dark"] .ticker-header.active,
:root[data-bs-theme="dark"] .ticker-header:hover{
  background: linear-gradient(180deg, #2a3648 0%, #232f3f 100%) !important;
  border-color: var(--marc-border-strong) !important;
}
.position-row{
  border-bottom: 1px solid var(--marc-border);
}
.position-row:last-child{
  border-bottom: none;
}
:root[data-bs-theme="dark"] .position-row:not(.sinhoverrow):hover{
  background: rgba(66,133,244,0.06) !important;
}

/* -------- AG Grid refinamiento -------- */
:root[data-bs-theme="dark"] .ag-theme-custom{
  --ag-header-background-color: #1a2230;
  --ag-row-hover-color: rgba(66,133,244,0.08);
  --ag-selected-row-background-color: rgba(66,133,244,0.14);
  --ag-border-radius: 10px;
  --ag-wrapper-border-radius: 12px;
  --ag-header-column-separator-display: none;
  --ag-cell-horizontal-padding: 14px;
}
:root[data-bs-theme="dark"] .ag-theme-custom .ag-root-wrapper{
  border-radius: var(--marc-radius) !important;
  border-color: var(--marc-border) !important;
  box-shadow: var(--marc-shadow-sm);
  overflow: hidden;
}
:root[data-bs-theme="dark"] .ag-theme-custom .ag-header{
  border-bottom: 1px solid var(--marc-border-strong);
}
:root[data-bs-theme="dark"] .ag-theme-custom .ag-row{
  border-bottom-color: var(--marc-border) !important;
}

/* -------- Offcanvas (trading drawer) -------- */
.offcanvas{
  border: none !important;
}
:root[data-bs-theme="dark"] .offcanvas{
  background: linear-gradient(180deg, #222d3d 0%, #1b2431 100%) !important;
  box-shadow: -24px 0 60px -20px rgba(0,0,0,0.6);
}
.offcanvas-header{
  border-bottom: 1px solid var(--marc-border);
}
.offcanvas .nav-underline .nav-link.active{
  border-bottom-color: var(--marc-accent) !important;
  color: var(--marc-accent) !important;
}

/* -------- Progress bar (free funds indicator) -------- */
.progress{
  border-radius: 999px !important;
  overflow: hidden;
  background: rgba(255,255,255,0.06);
}
.progress-bar{
  border-radius: inherit !important;
  background-image: linear-gradient(90deg, #4285F4 0%, #00bea0 100%);
}

/* -------- Alerts -------- */
.alert{
  border-radius: var(--marc-radius) !important;
  border: 1px solid var(--marc-border);
}
.alert.alert-light-danger,
.alert.bg-danger-subtle{
  border-color: rgba(234,67,67,0.35);
}

/* -------- Toasts -------- */
.toast,
#toast-container > div{
  border-radius: var(--marc-radius) !important;
  box-shadow: var(--marc-shadow) !important;
}

/* -------- Badges / pills -------- */
.badge{
  border-radius: 999px !important;
  letter-spacing: 0.02em;
  padding: 0.35em 0.7em;
}

/* -------- Scrollbars refinados -------- */
:root[data-bs-theme="dark"] .scrollbar::-webkit-scrollbar-thumb,
:root[data-bs-theme="dark"] .accordion-collapse::-webkit-scrollbar-thumb,
:root[data-bs-theme="dark"] .offcanvas-body::-webkit-scrollbar-thumb{
  background-color: rgba(255,255,255,0.12);
  border-radius: 999px;
}
:root[data-bs-theme="dark"] .scrollbar::-webkit-scrollbar-thumb:hover,
:root[data-bs-theme="dark"] .accordion-collapse::-webkit-scrollbar-thumb:hover,
:root[data-bs-theme="dark"] .offcanvas-body::-webkit-scrollbar-thumb:hover{
  background-color: rgba(255,255,255,0.22);
}
.accordion-collapse::-webkit-scrollbar,
.offcanvas-body::-webkit-scrollbar{
  width: 9px;
  height: 9px;
}

/* -------- Tablas generales -------- */
.table{
  --bs-table-border-color: var(--marc-border);
}
.table > :not(caption) > * > *{
  padding: 0.7rem 0.85rem;
}

/* -------- Dropdown / menus -------- */
.dropdown-menu{
  border-radius: var(--marc-radius) !important;
  border-color: var(--marc-border) !important;
  box-shadow: var(--marc-shadow) !important;
  padding: 6px;
}
.dropdown-item{
  border-radius: var(--marc-radius-sm);
  padding: 0.5rem 0.75rem;
}
.dropdown-item:hover,
.dropdown-item:focus{
  background: rgba(66,133,244,0.1);
  color: inherit;
}

/* -------- Login screen -------- */
.global-login__content{
  border-radius: var(--marc-radius-lg);
  box-shadow: var(--marc-shadow-lg);
  background: linear-gradient(180deg, rgba(35,47,63,0.96) 0%, rgba(27,36,49,0.96) 100%);
  clip-path: none;
  padding: 2rem 1.75rem 1.75rem !important;
}
.global-login__form-control input{
  border-radius: var(--marc-radius-sm) !important;
  padding: 12px 14px !important;
  background: rgba(255,255,255,0.04) !important;
  color: #eaeef5;
}
.global-login__form-control input:focus{
  border-color: var(--marc-accent) !important;
  box-shadow: 0 0 0 3px var(--marc-accent-soft) !important;
}
.global-login__form-control label{
  color: #a9b1bd;
  font-weight: 600;
  font-size: 13px;
}
.global-login .btn--login{
  border-radius: var(--marc-radius-sm) !important;
  padding: 12px 16px;
  background-image: linear-gradient(180deg, #5a97f6 0%, #4285F4 100%);
  border: none;
  color: #fff;
  box-shadow: 0 6px 20px -10px rgba(66,133,244,0.7);
}
.global-login .btn--login:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 26px -10px rgba(66,133,244,0.85);
}

/* -------- Text weight for monetary values (nunca cambia el color) -------- */
[data-accequity],[data-accbalance],[data-accprofit],[data-accmarginfree],
[data-accequityd],[data-accbalanced],[data-accprofitd],[data-accmarginleveld]{
  font-variant-numeric: tabular-nums;
}

/* -------- Focus visible accesible -------- */
.btn:focus-visible,
.form-control:focus-visible,
.nav-link:focus-visible{
  outline: 2px solid var(--marc-accent) !important;
  outline-offset: 2px;
}

/* -------- Tooltips -------- */
.tooltip .tooltip-inner{
  border-radius: var(--marc-radius-sm);
  box-shadow: var(--marc-shadow);
  padding: 6px 10px;
}

/* -------- Modal backdrop más limpio -------- */
.modal-backdrop.show{
  opacity: 0.55;
  backdrop-filter: blur(2px);
}

/* -------- Responsive: padding del positions-table -------- */
@media (max-width: 768px){
  .positions-table{
    border-radius: var(--marc-radius-sm) !important;
    padding: 4px !important;
  }
  .ticker-header{
    padding: 10px 12px !important;
  }
}
/* =====================================================================
 * FIN MARC MODERN LAYER
 * ===================================================================== */