/* =========================================================
   TRADING LIFE JOURNAL · HERRAMIENTAS
   ========================================================= */

.tlj-tools,
.tlj-tools * {
    box-sizing: border-box;
}

.tlj-tools {

    min-height: 820px;
    overflow: hidden;
    
    color: var(--tlj-color-text);
}

.tlj-tools button:where(:not(.tlj-info)),
.tlj-tools input {
    font: inherit;
}

.tlj-tools button,
.tlj-tools a,
.tlj-tools input {
    -webkit-tap-highlight-color: transparent;
}

.tlj-tools svg {
    display: block;
}

/* =========================================================
   NAVEGACIÓN / INTRO
   ========================================================= */

.tlj-tools__quick-nav {
    display: flex;
    gap: 8px;
    margin: 24px 0 16px;
    padding: 8px;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .14);
    border-radius: 11px;
    background: var(--tlj-color-surface);
}

.tlj-tools__quick-nav a {
    display: inline-flex;
    min-height: 40px;
    flex: 1 1 0;
    gap: 8px;
    align-items: center;
    justify-content: center;
    padding: 0 13px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--tlj-color-text-muted) !important;
    font-size: 14px !important;
    font-weight: 800;
    text-decoration: none !important;
    transition: color .35s ease, border-color .35s ease, background-color .35s ease;
}

.tlj-tools__quick-nav a span {
    color: var(--tlj-color-accent-text);
    
    letter-spacing: .7px;
}

.tlj-tools__quick-nav a:hover,
.tlj-tools__quick-nav a:focus-visible {
    border-color: rgba(var(--tlj-color-accent-rgb), .22);
    background: rgba(var(--tlj-color-accent-rgb), .045);
    color: var(--tlj-color-text-secondary) !important;
}

.tlj-tools__intro {
    display: grid;
    
    gap: 10px;
}

.tlj-tools__intro article {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    
    
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .13);
    border-radius: 10px;
    background: var(--tlj-color-surface-2);
}

.tlj-tools__intro article > span {
    display: grid;
    
    
    place-items: center;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .22);
    border-radius: 9px;
    color: var(--tlj-color-accent-text);
    
    font-weight: 900;
}

.tlj-tools__intro strong,
.tlj-tools__intro small {
    display: block;
}

.tlj-tools__intro strong {
    color: var(--tlj-color-input-text);
    
    font-weight: 850;
}

.tlj-tools__intro small {
    margin-top: 3px;
    color: var(--tlj-color-text-muted-2);
}

/* =========================================================
   TARJETAS
   ========================================================= */

.tlj-tools__content {
    display: grid;
}

.tlj-tools-card {
    position: relative;
    min-width: 0;
    
    scroll-margin-top: 18px;
    border: 2px solid var(--tlj-color-border-strong);
    
    background: rgba(var(--tlj-color-surface-rgb), .96);
    box-shadow: 0 22px 54px rgba(var(--tlj-color-shadow-rgb), .15);
    transition: border-color .5s ease, background-color .5s ease, box-shadow .5s ease;
}

.tlj-tools-card:hover,
.tlj-tools-card:focus-within {
    border-color: rgba(var(--tlj-color-accent-rgb), .34);
    background: var(--tlj-color-surface-2);
    box-shadow: 0 27px 62px rgba(var(--tlj-color-shadow-rgb), .24);
}

.tlj-tools-card__header.tlj-modal-header {
    position: relative;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    justify-content: space-between;
}

.tlj-tools-card__heading {
    display: flex;
    min-width: 0;
    
    align-items: center;
}

.tlj-tools-card__icon {
    display: grid;
    
    
    flex: 0 0 52px;
    place-items: center;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .24);
    
    background: linear-gradient(145deg, rgba(var(--tlj-color-accent-rgb), .12), rgba(var(--tlj-color-accent-rgb), .025));
    color: var(--tlj-color-accent-text);
}

.tlj-tools-card__icon svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.tlj-tools-card__kicker {
    display: block;
}

/* Ayudas «i»: componente global de TLJ Tema. Aquí solo los colores de la leyenda. */
.tlj-tools .tlj-info-help .is-good {
    color: var(--tlj-color-positive-text);
    font-weight: 900;
}

.tlj-tools .tlj-info-help .is-bad {
    color: var(--tlj-color-negative-text);
    font-weight: 900;
}

/* =========================================================
   CAMPOS / BOTONES
   ========================================================= */

.tlj-tools-field label,
.tlj-tools-field small {
    display: block;
}

.tlj-tools-field label {
    color: var(--tlj-color-text-secondary);
    
    font-weight: 800;
}

.tlj-tools-field small {
    margin-top: 8px;
    color: var(--tlj-color-text-muted-2);
}

.tlj-tools-money-input {
    position: relative;
}

.tlj-tools-money-input input,
.tlj-position-row input {
    width: 100% !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 42px 0 13px !important;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .25) !important;
    border-radius: 8px !important;
    outline: none !important;
    background: var(--tlj-color-field) !important;
    box-shadow: none !important;
    color: var(--tlj-color-text) !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    text-align: center;
    transition: border-color .3s ease, box-shadow .3s ease, background-color .3s ease;
}

.tlj-tools-money-input input:focus,
.tlj-position-row input:focus {
    border-color: var(--tlj-color-accent) !important;
    background: var(--tlj-color-surface) !important;
    box-shadow: 0 0 0 3px rgba(var(--tlj-color-accent-rgb), .06) !important;
}

.tlj-tools-money-input input::placeholder,
.tlj-position-row input::placeholder {
    color: var(--tlj-color-input-placeholder) !important;
    opacity: 1;
    font-weight: 600;
}

.tlj-tools-money-input > span {
    position: absolute;
    top: 50%;
    right: 14px;
    color: var(--tlj-color-accent-text);
    font-size: 13.5px;
    font-weight: 900;
    transform: translateY(-50%);
    pointer-events: none;
}

.tlj-tools-money-input--danger input {
    border-color: rgba(var(--tlj-color-negative-vivid-rgb), .23) !important;
}

.tlj-tools-money-input--danger > span {
    color: var(--tlj-color-negative-text);
}

.tlj-tools-reset,
.tlj-tools-primary,
.tlj-tools-secondary {
    display: inline-flex !important;
    
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 !important;
    
    border-radius: 8px !important;
    
    font-weight: 850 !important;
    letter-spacing: .25px;
    cursor: pointer;
    transform: none !important;
    transition: color .35s ease, border-color .35s ease, background-color .35s ease, opacity .35s ease !important;
}

.tlj-tools-reset,
.tlj-tools-secondary {
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .18) !important;
    background: var(--tlj-color-surface-2) !important;
    color: var(--tlj-color-text-muted) !important;
}

.tlj-tools-primary {
    border: 1px solid var(--tlj-color-accent) !important;
    background: rgba(var(--tlj-color-accent-rgb), .07) !important;
    color: var(--tlj-color-accent-text) !important;
}

.tlj-tools-reset:hover,
.tlj-tools-secondary:hover {
    border-color: var(--tlj-color-accent) !important;
    background: var(--tlj-color-accent) !important;
    color: var(--tlj-color-on-accent) !important;
}

.tlj-tools-primary:hover {
    border-color: var(--tlj-color-accent) !important;
    background: var(--tlj-color-surface) !important;
    color: var(--tlj-color-accent-text) !important;
}

.tlj-tools-secondary:disabled {
    opacity: .3;
    cursor: not-allowed;
}

.tlj-tools-reset svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =========================================================
   01 · RIESGO
   ========================================================= */

.tlj-risk-layout {
    display: grid;
    grid-template-columns: minmax(250px, .72fr) minmax(460px, 1.28fr);
    gap: 18px;
    align-items: start;
}

.tlj-risk-control,
.tlj-ur-input-panel,
.tlj-position-summary {
    padding: 20px;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .13);
    border-radius: 11px;
    background: var(--tlj-color-surface-2);
}

.tlj-risk-summary {
    display: flex;
    gap: 12px;
    align-items: center;
    
    
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .13);
    border-radius: 9px;
    background: rgba(var(--tlj-color-accent-rgb), .025);
}

.tlj-risk-summary__icon {
    display: grid;
    
    
    flex: 0 0 35px;
    place-items: center;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .22);
    border-radius: 50%;
    color: var(--tlj-color-accent-text);
}

.tlj-risk-summary__icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tlj-risk-summary small,
.tlj-risk-summary strong {
    display: block;
}

.tlj-risk-summary small {
    color: var(--tlj-color-accent-text);
    
    font-weight: 900;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.tlj-risk-summary strong {
    margin-top: 4px;
    color: var(--tlj-color-text-soft);
    
    font-weight: 700;
}

.tlj-risk-table-wrap {
    overflow: hidden;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .15);
    border-radius: 11px;
    background: var(--tlj-color-field);
}

.tlj-risk-table-head,
.tlj-risk-row {
    display: grid;
    grid-template-columns: .72fr .9fr 1.1fr;
    gap: 10px;
    align-items: center;
}

.tlj-risk-table-head {
    padding: 0 13px;
    border-bottom: 1px solid rgba(var(--tlj-color-accent-rgb), .18);
    background: var(--tlj-color-surface-2);
    color: var(--tlj-color-accent-text);
    
    font-weight: 900;
    letter-spacing: .7px;
    text-align: center;
    text-transform: uppercase;
}

.tlj-risk-table {
    padding: 6px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.tlj-risk-row {
    margin-bottom: 5px;
    padding: 0 8px;
    border: 1px solid var(--tlj-color-divider);
    border-radius: 7px;
    background: var(--tlj-color-surface-2);
    text-align: center;
}

.tlj-risk-row:last-child { margin-bottom: 0; }

.tlj-risk-row span,
.tlj-risk-row strong {
    font-weight: 800;
}

.tlj-risk-stop { color: var(--tlj-color-text-muted); }
.tlj-risk-shares { color: var(--tlj-color-text-secondary); }
.tlj-risk-value { color: var(--tlj-color-text-muted); }

.tlj-risk-row.is-ok {
    border-color: rgba(var(--tlj-color-positive-vivid-rgb), .16);
    background: rgba(var(--tlj-color-positive-vivid-rgb), .025);
}

.tlj-risk-row.is-ok .tlj-risk-value { color: var(--tlj-color-positive-text); }

.tlj-risk-row.is-alert {
    border-color: rgba(var(--tlj-color-negative-vivid-rgb), .17);
    background: rgba(var(--tlj-color-negative-vivid-rgb), .028);
}

.tlj-risk-row.is-alert .tlj-risk-value { color: var(--tlj-color-negative-text); }

/* =========================================================
   02 · UNIDADES DE RIESGO
   ========================================================= */

.tlj-ur-layout {
    display: grid;
    grid-template-columns: minmax(265px, .72fr) minmax(520px, 1.28fr);
    gap: 18px;
    align-items: stretch;
}

.tlj-ur-input-panel {
    display: grid;
}

.tlj-ur-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .13);
    border-radius: 9px;
    background: rgba(var(--tlj-color-accent-rgb), .025);
}

.tlj-ur-result small,
.tlj-ur-result strong {
    display: block;
}

.tlj-ur-result small {
    color: var(--tlj-color-text-muted-2);
    
    font-weight: 850;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.tlj-ur-result strong {
    margin-top: 5px;
    color: var(--tlj-color-text);
    
    font-weight: 900;
}

.tlj-ur-mode {
    display: inline-flex;
    min-width: 76px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--tlj-color-border);
    border-radius: 7px;
    background: var(--tlj-color-surface-2);
    color: var(--tlj-color-text-muted-2);
    
    font-weight: 900;
    letter-spacing: .8px;
}

.tlj-ur-mode[data-mode="long"] {
    border-color: rgba(var(--tlj-color-positive-vivid-rgb), .24);
    background: rgba(var(--tlj-color-positive-vivid-rgb), .055);
    color: var(--tlj-color-positive-text);
}

.tlj-ur-mode[data-mode="short"] {
    border-color: rgba(var(--tlj-color-negative-vivid-rgb), .24);
    background: rgba(var(--tlj-color-negative-vivid-rgb), .055);
    color: var(--tlj-color-negative-text);
}

.tlj-ur-projections {
    display: grid;
}

.tlj-ur-side {
    border: 1px solid var(--tlj-color-divider);
    border-radius: 10px;
    background: var(--tlj-color-surface-2);
}

.tlj-ur-side--positive { border-color: rgba(var(--tlj-color-positive-vivid-rgb), .13); }
.tlj-ur-side--negative { border-color: rgba(var(--tlj-color-negative-vivid-rgb), .13); }

.tlj-ur-side__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.tlj-ur-side__head span {
    color: var(--tlj-color-text-muted-2);
    font-size: 10.5px;
    font-weight: 900;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.tlj-ur-side__head strong {
    font-weight: 850;
}

.tlj-ur-side--positive .tlj-ur-side__head strong { color: var(--tlj-color-positive-text); }
.tlj-ur-side--negative .tlj-ur-side__head strong { color: var(--tlj-color-negative-text); }

.tlj-ur-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.tlj-ur-grid > div {
    border: 1px solid var(--tlj-color-divider);
    border-radius: 8px;
    background: var(--tlj-color-field);
    text-align: center;
}

.tlj-ur-grid small,
.tlj-ur-grid strong {
    display: block;
}

.tlj-ur-grid small {
    font-weight: 900;
    letter-spacing: .5px;
}

.tlj-ur-grid strong {
    color: var(--tlj-color-text-secondary);
    
    font-weight: 850;
}

.tlj-ur-side--positive .tlj-ur-grid small { color: var(--tlj-color-positive-text); }
.tlj-ur-side--negative .tlj-ur-grid small { color: var(--tlj-color-negative-text); }

/* =========================================================
   03 · GESTIÓN DE POSICIONES
   ========================================================= */

.tlj-position-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 15px;
    padding: 13px 15px;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .12);
    border-radius: 10px;
    background: var(--tlj-color-surface-2);
}

.tlj-position-toolbar strong,
.tlj-position-toolbar span {
    display: block;
}

.tlj-position-toolbar strong {
    color: var(--tlj-color-text-secondary);
    
    font-weight: 850;
}

.tlj-position-toolbar > div:first-child > span {
    margin-top: 3px;
    color: var(--tlj-color-text-muted-2);
}

.tlj-position-toolbar__actions {
    display: flex;
    gap: 7px;
}

.tlj-position-toolbar__actions button > span {
    font-size: 15px;
    line-height: 1;
}

.tlj-position-layout {
    display: grid;
    grid-template-columns: minmax(410px, 1.08fr) minmax(420px, .92fr);
    gap: 16px;
    align-items: start;
}

.tlj-position-table {
    overflow: hidden;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .14);
    border-radius: 11px;
    background: var(--tlj-color-field);
}

.tlj-position-table__head,
.tlj-position-row {
    display: grid;
    grid-template-columns: minmax(100px, .9fr) minmax(120px, 1fr) minmax(105px, .8fr);
    gap: 8px;
    align-items: center;
}

.tlj-position-table__head {
    padding: 0 11px;
    border-bottom: 1px solid rgba(var(--tlj-color-accent-rgb), .18);
    background: var(--tlj-color-surface-2);
    color: var(--tlj-color-accent-text);
    
    font-weight: 900;
    letter-spacing: .6px;
    text-align: center;
    text-transform: uppercase;
}

.tlj-position-rows {
    overflow-y: auto;
}

.tlj-position-row:last-child { margin-bottom: 0; }

.tlj-position-row__label {
    display: flex;
    
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .12);
    border-radius: 8px;
    background: rgba(var(--tlj-color-accent-rgb), .025);
    color: var(--tlj-color-text-muted);
    
    font-weight: 850;
}

.tlj-position-row input {
    padding: 0 10px !important;
}

.tlj-position-summary {
    display: grid;
}

.tlj-position-main-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.tlj-position-main-stats > div {
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .13);
    border-radius: 9px;
    background: var(--tlj-color-field);
    text-align: center;
}

.tlj-position-main-stats span,
.tlj-position-main-stats strong {
    display: block;
}

.tlj-position-main-stats span {
    color: var(--tlj-color-text-muted-2);
    
    font-weight: 850;
}

.tlj-position-main-stats strong {
    color: var(--tlj-color-accent-text);
    
    font-weight: 900;
}

.tlj-position-scenarios {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tlj-position-scenario {
    overflow: hidden;
    border: 1px solid var(--tlj-color-divider);
    border-radius: 9px;
    background: var(--tlj-color-field);
}

.tlj-position-scenario header,
.tlj-position-scenario > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.tlj-position-scenario header {
    min-height: 39px;
    padding: 0 11px;
    border-bottom: 1px solid var(--tlj-color-divider);
}

.tlj-position-scenario header span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
}

.tlj-position-scenario header strong {
    font-weight: 900;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.tlj-position-scenario > div {
    padding: 0 11px;
    border-bottom: 1px solid rgba(var(--tlj-color-contrast-rgb), .035);
}

.tlj-position-scenario > div:last-child { border-bottom: 0; }

.tlj-position-scenario > div span {
    color: var(--tlj-color-text-muted-2);
    
    font-weight: 750;
}

.tlj-position-scenario > div strong {
    color: var(--tlj-color-text-secondary);
    
    font-weight: 850;
}

.tlj-position-scenario .is-total {
    background: var(--tlj-color-surface-2);
}

.tlj-position-scenario--long { border-color: rgba(var(--tlj-color-positive-vivid-rgb), .12); }
.tlj-position-scenario--long header span { background: rgb(var(--tlj-color-positive-vivid-rgb)); box-shadow: 0 0 10px rgba(var(--tlj-color-positive-vivid-rgb), .25); }
.tlj-position-scenario--long header strong,
.tlj-position-scenario--long .is-total strong { color: var(--tlj-color-positive-text); }

.tlj-position-scenario--short { border-color: rgba(var(--tlj-color-negative-vivid-rgb), .12); }
.tlj-position-scenario--short header span { background: rgb(var(--tlj-color-negative-vivid-rgb)); box-shadow: 0 0 10px rgba(var(--tlj-color-negative-vivid-rgb), .22); }
.tlj-position-scenario--short header strong,
.tlj-position-scenario--short .is-total strong { color: var(--tlj-color-negative-text); }

/* =========================================================
   FOOTER
   ========================================================= */

.tlj-tools__footer {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-top: 25px;
    padding: 16px 18px;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .12);
    border-radius: 11px;
    background: var(--tlj-color-surface-2);
}

.tlj-tools__footer-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .22);
    border-radius: 9px;
    color: var(--tlj-color-accent-text);
}

.tlj-tools__footer-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
}

.tlj-tools__footer strong,
.tlj-tools__footer span {
    display: block;
}

.tlj-tools__footer strong {
    color: var(--tlj-color-text-secondary);
    
    font-weight: 850;
}

.tlj-tools__footer div > span {
    margin-top: 3px;
    color: var(--tlj-color-text-muted-2);
}

.tlj-tools-login-notice {
    max-width: 760px;
    margin: 70px auto;
    padding: 22px;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .22);
    border-radius: 12px;
    background: var(--tlj-color-surface);
    color: var(--tlj-color-text-secondary);
    text-align: center;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    .tlj-risk-layout,
    .tlj-ur-layout,
    .tlj-position-layout {
        grid-template-columns: 1fr;
    }

    .tlj-position-summary {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {

    .tlj-tools__quick-nav,
    .tlj-tools__intro {
        grid-template-columns: 1fr;
    }

    .tlj-tools__quick-nav {
        display: grid;
    }

    .tlj-tools__intro {
        display: grid;
    }

    .tlj-tools-card {
        padding: 22px;
    }

    .tlj-ur-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tlj-ur-grid > div:last-child {
        grid-column: span 2;
    }
}

@media (max-width: 600px) {

    .tlj-tools-card {
        padding: 18px 14px;
        border-radius: 12px;
    }

    .tlj-tools-card__heading {
        gap: 10px;
    }

    .tlj-tools-card__icon {
        width: 43px;
        height: 43px;
        flex-basis: 43px;
    }

    .tlj-tools-card__icon svg {
        width: 26px;
        height: 26px;
    }

    .tlj-tools-card__header.tlj-modal-header {
        margin: -18px -14px 18px;
    }

    .tlj-risk-control,
    .tlj-ur-input-panel,
    .tlj-position-summary {
        padding: 14px;
    }

    .tlj-risk-table-head,
    .tlj-risk-row {
        grid-template-columns: .65fr .8fr 1fr;
        gap: 5px;
    }

    

    .tlj-position-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .tlj-position-toolbar__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .tlj-position-table {
        overflow-x: auto;
    }

    .tlj-position-table__head,
    .tlj-position-row {
        min-width: 390px;
    }

    .tlj-position-scenarios {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   HERRAMIENTAS 1.1 · ESCALA DE TEXTO
   Aumenta el contenido sin tocar los títulos de cabecera.
   ========================================================= */

/* Cabeceras: se mantienen intencionadamente sin cambios
   .tlj-tools__hero h1
   .tlj-tools-card h2
   .tlj-tools-card__kicker
*/

.tlj-tools__quick-nav a span { font-size: 14px; }

.tlj-tools__intro article > span { font-size: 11.5px; }
.tlj-tools__intro strong { font-size: 13.5px; }
.tlj-tools__intro small { font-size: 11.5px; line-height: 1.5; }

.tlj-tools-field small { font-size: 11.5px; line-height: 1.5; }
.tlj-tools-field input,
.tlj-position-row input { font-size: 14px !important; }
.tlj-tools-field input::placeholder,
.tlj-position-row input::placeholder { font-size: 13.5px !important; }

.tlj-tools-reset,
.tlj-position-toolbar__actions button { font-size: 11.5px; }

.tlj-risk-summary small { font-size: 11px; }
.tlj-risk-summary strong { font-size: 13.5px; line-height: 1.45; }
.tlj-risk-table-head { font-size: 11.5px; }
.tlj-risk-row span,
.tlj-risk-row strong { font-size: 12.5px; }

.tlj-ur-result small { font-size: 11px; }

.tlj-ur-mode { font-size: 12.5px; }
.tlj-ur-side__head strong { font-size: 12.5px; }
.tlj-ur-grid small { font-size: 11px; }
.tlj-ur-grid strong { font-size: 13.5px; }

.tlj-position-toolbar strong { font-size: 13.5px; }
.tlj-position-toolbar > div:first-child > span { font-size: 11.5px; line-height: 1.5; }
.tlj-position-table__head { font-size: 11.5px; }
.tlj-position-row__label { font-size: 12.5px; }
.tlj-position-main-stats span { font-size: 11.5px; }

.tlj-position-scenario header strong { font-size: 11.5px; }
.tlj-position-scenario > div span { font-size: 11.5px; }
.tlj-position-scenario > div strong { font-size: 12.5px; }
.tlj-position-scenario .is-total strong { font-size: 13.5px; }

.tlj-tools__footer strong { font-size: 13.5px; }
.tlj-tools__footer div > span { font-size: 11.5px; line-height: 1.55; }

@media (max-width: 600px) {
    .tlj-tools__quick-nav a { font-size: 12.5px; }
    .tlj-tools__intro strong { font-size: 13.5px; }
    .tlj-tools__intro small { font-size: 11.5px; }
    .tlj-risk-row span,
    .tlj-risk-row strong { font-size: 11.5px; }
}

/* =========================================================
   HERRAMIENTAS 2.0 · CUADRÍCULA COMPACTA 2 x 2
   ========================================================= */

.tlj-tools__intro {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tlj-tools__intro article {
    min-height: 68px;
    padding: 11px 13px;
}

.tlj-tools__intro article > span {
    width: 36px;
    height: 36px;
}

.tlj-tools__content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

.tlj-tools-card {
    height: 100%;
    padding: 20px;
    border-width: 1px;
    border-radius: 13px;
}

.tlj-tools-card__header.tlj-modal-header {
    margin: -20px -20px 18px;
}

.tlj-tools-card__heading {
    gap: 11px;
}

.tlj-tools-card__icon {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    border-radius: 10px;
}

.tlj-tools-card__icon svg {
    width: 27px;
    height: 27px;
}

/* Campos compactos y legibles */
.tlj-tools-field label {
    margin-bottom: 6px;
    font-size: 11.5px;
}

.tlj-tools-money-input input,
.tlj-position-row input,
.tlj-tools-field select {
    width: 100% !important;
    height: 42px !important;
    margin: 0 !important;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .24) !important;
    border-radius: 8px !important;
    outline: none !important;
    background: var(--tlj-color-field) !important;
    box-shadow: none !important;
    color: var(--tlj-color-text) !important;
    font-family: inherit !important;
    font-size: 13.5px !important;
    font-weight: 750 !important;
    text-align: center;
    transition: border-color .3s ease, background-color .3s ease, box-shadow .3s ease;
}

.tlj-tools-field select {
    padding: 0 30px 0 10px !important;
    appearance: auto;
    cursor: pointer;
}

.tlj-tools-field select:focus,
.tlj-tools-money-input input:focus,
.tlj-position-row input:focus {
    border-color: var(--tlj-color-accent) !important;
    background: var(--tlj-color-surface) !important;
    box-shadow: 0 0 0 3px rgba(var(--tlj-color-accent-rgb), .055) !important;
}

.tlj-tools-field select option {
    background: var(--tlj-color-surface-2);
    color: var(--tlj-color-text);
}

.tlj-tools-reset,
.tlj-tools-primary,
.tlj-tools-secondary {
    min-height: 36px;
    padding: 0 11px !important;
    font-size: 11px !important;
}

/* =========================================================
   01 · TAMAÑO Y RIESGO
   ========================================================= */

.tlj-risk-compact {
    display: grid;
    gap: 12px;
}

.tlj-risk-control {
    padding: 14px;
}

.tlj-risk-input-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.tlj-risk-result-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    margin-top: 12px;
}

.tlj-risk-result-grid > div {
    min-width: 0;
    padding: 10px 7px;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .12);
    border-radius: 8px;
    background: var(--tlj-color-field);
    text-align: center;
}

.tlj-risk-result-grid span,
.tlj-risk-result-grid strong {
    display: block;
}

.tlj-risk-result-grid span {
    margin-bottom: 5px;
    color: var(--tlj-color-text-muted-2);
    font-size: 10.5px;
    font-weight: 800;
}

.tlj-risk-result-grid strong {
    overflow: hidden;
    color: var(--tlj-color-text);
    font-size: 14px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tlj-risk-summary {
    margin: 12px 0 0;
    padding: 11px;
}

.tlj-risk-summary__icon {
    width: 31px;
    height: 31px;
    flex-basis: 31px;
}

.tlj-risk-table {
    max-height: 238px;
}

.tlj-risk-table-head {
    min-height:58px;
}

.tlj-risk-row {
    min-height: 32px;
}

.tlj-tools-reset--bottom {
    margin-top: 12px !important;
}

/* =========================================================
   02 · GESTIÓN DE POSICIONES · COMPACTA
   ========================================================= */

.tlj-position-toolbar--compact {
    margin-bottom: 11px;
    padding: 10px 12px;
}

.tlj-position-layout--compact {
    grid-template-columns: 1fr;
    gap: 10px;
}

.tlj-position-rows {
    padding: 6px;
}

.tlj-position-row {
    min-height: 42px;
    margin-bottom: 5px;
}

.tlj-position-row__label {
    height: 40px;
}

.tlj-position-table__head {
    min-height: 36px;
}

.tlj-position-summary {
    gap: 9px;
    padding: 12px;
}

.tlj-position-main-stats > div {
    min-height: 62px;
    padding: 9px;
}

.tlj-position-main-stats span {
    margin-bottom: 5px;
}

.tlj-position-main-stats strong {
    font-size: 18px;
}

.tlj-position-scenarios {
    gap: 7px;
}

.tlj-position-scenario {
    padding: 9px;
}

.tlj-position-scenario > div {
    min-height: 29px;
}

/* =========================================================
   03 · UNIDADES DE RIESGO · COMPACTA
   ========================================================= */

.tlj-ur-layout--compact {
    grid-template-columns: 1fr;
    gap: 11px;
}

.tlj-ur-input-panel {
    gap: 10px;
    padding: 13px;
}

.tlj-ur-inputs-inline {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.tlj-ur-result {
    padding: 10px 12px;
}

.tlj-ur-result strong {
    font-size: 18px;
}

.tlj-ur-projections {
    gap: 8px;
}

.tlj-ur-side {
    padding: 10px;
}

.tlj-ur-side__head {
    margin-bottom: 7px;
}

.tlj-ur-grid {
    gap: 5px;
}

.tlj-ur-grid > div {
    min-height: 58px;
    padding: 8px 4px;
}

.tlj-ur-grid small {
    margin-bottom: 5px;
}

/* =========================================================
   04 · SEMÁFORO DE OPERACIÓN
   ========================================================= */

.tlj-tools-card__icon--gate svg circle:nth-of-type(1) { fill: rgba(var(--tlj-color-negative-vivid-rgb), .2); stroke: var(--tlj-color-negative-text); }
.tlj-tools-card__icon--gate svg circle:nth-of-type(2) { fill: rgba(var(--tlj-color-warning-vivid-rgb), .2); stroke: var(--tlj-color-warning-text); }
.tlj-tools-card__icon--gate svg circle:nth-of-type(3) { fill: rgba(var(--tlj-color-positive-vivid-rgb), .2); stroke: var(--tlj-color-positive-text); }

.tlj-gate-layout {
    display: grid;
    gap: 11px;
}

.tlj-gate-form,
.tlj-gate-result {
    padding: 13px;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .13);
    border-radius: 10px;
    background: var(--tlj-color-surface-2);
}

.tlj-gate-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.tlj-tools-field--wide {
    grid-column: 1 / -1;
}

.tlj-gate-synced {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-top: 10px;
}

.tlj-gate-synced > div {
    padding: 9px 6px;
    border: 1px solid var(--tlj-color-divider);
    border-radius: 7px;
    background: var(--tlj-color-field);
    text-align: center;
}

.tlj-gate-synced span,
.tlj-gate-synced strong {
    display: block;
}

.tlj-gate-synced span {
    margin-bottom: 4px;
    color: var(--tlj-color-text-muted-2);
    font-size: 10.5px;
    font-weight: 800;
}

.tlj-gate-synced strong {
    color: var(--tlj-color-text-secondary);
    font-size: 12.5px;
    font-weight: 900;
}

.tlj-gate-status {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-bottom: 10px;
    padding: 11px;
    border: 1px solid var(--tlj-color-divider);
    border-radius: 9px;
    background: var(--tlj-color-field);
}

.tlj-gate-light {
    display: grid;
    gap: 4px;
    width: 32px;
    padding: 5px;
    border: 1px solid var(--tlj-color-border);
    border-radius: 10px;
    background: var(--tlj-color-page);
}

.tlj-gate-light i {
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--tlj-color-border);
    box-shadow: inset 0 0 0 1px rgba(var(--tlj-color-contrast-rgb), .04);
}

.tlj-gate-status[data-state="fail"] .tlj-gate-light i:nth-child(1) { background: rgb(var(--tlj-color-negative-vivid-rgb)); box-shadow: 0 0 14px rgba(var(--tlj-color-negative-vivid-rgb), .28); }
.tlj-gate-status[data-state="warn"] .tlj-gate-light i:nth-child(2) { background: rgb(var(--tlj-color-warning-vivid-rgb)); box-shadow: 0 0 14px rgba(var(--tlj-color-warning-vivid-rgb), .25); }
.tlj-gate-status[data-state="pass"] .tlj-gate-light i:nth-child(3) { background: rgb(var(--tlj-color-positive-vivid-rgb)); box-shadow: 0 0 14px rgba(var(--tlj-color-positive-vivid-rgb), .25); }

.tlj-gate-status small,
.tlj-gate-status strong,
.tlj-gate-status p {
    display: block;
    margin: 0;
}

.tlj-gate-status small {
    margin-bottom: 3px;
    color: var(--tlj-color-accent-text);
    font-size: 10.5px;
    font-weight: 900;
    letter-spacing: .9px;
}

.tlj-gate-status strong {
    color: var(--tlj-color-input-text);
    font-size: 14px;
    font-weight: 900;
}

.tlj-gate-status p {
    margin-top: 4px;
    color: var(--tlj-color-text-muted-2);
    font-size: 11px;
    line-height: 1.45;
}

.tlj-gate-status[data-state="fail"] strong { color: var(--tlj-color-negative-text); }
.tlj-gate-status[data-state="warn"] strong { color: var(--tlj-color-warning-text); }
.tlj-gate-status[data-state="pass"] strong { color: var(--tlj-color-positive-text); }

.tlj-gate-checks {
    display: grid;
    
    
    margin-bottom: 10px;
    
    overflow-y: auto;
}

.tlj-gate-check {
    display: grid;
    grid-template-columns: 9px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    padding: 8px 9px;
    border: 1px solid var(--tlj-color-divider);
    border-radius: 7px;
    background: var(--tlj-color-surface-2);
}

.tlj-gate-check > i {
    width: 7px;
    height: 7px;
    margin-top: 4px;
    border-radius: 50%;
    background: var(--tlj-color-text-disabled);
}

.tlj-gate-check.is-pass > i { background: rgb(var(--tlj-color-positive-vivid-rgb)); }
.tlj-gate-check.is-fail > i { background: rgb(var(--tlj-color-negative-vivid-rgb)); }
.tlj-gate-check.is-warn > i { background: rgb(var(--tlj-color-warning-vivid-rgb)); }
.tlj-gate-check.is-pending > i { background: var(--tlj-color-text-muted-2); }

.tlj-gate-check strong,
.tlj-gate-check span {
    display: block;
}

.tlj-gate-check strong {
    color: var(--tlj-color-text-secondary);
    font-size: 11px;
    font-weight: 850;
}

.tlj-gate-check span {
    margin-top: 2px;
    color: var(--tlj-color-text-muted-2);
    font-size: 10.5px;
    line-height: 1.4;
}

/* =========================================================
   RESPONSIVE DE LA CUADRÍCULA NUEVA
   ========================================================= */

@media (max-width: 1080px) {
    .tlj-tools__content {
        grid-template-columns: 1fr;
    }

    .tlj-tools__intro {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .tlj-risk-input-grid,
    .tlj-ur-inputs-inline,
    .tlj-gate-field-grid,
    .tlj-gate-synced {
        grid-template-columns: 1fr;
    }

    .tlj-tools-field--wide {
        grid-column: auto;
    }

    .tlj-risk-result-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tlj-tools__intro {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   HERRAMIENTAS 2.1 · AJUSTES DE DISTRIBUCIÓN Y SCROLL
   ========================================================= */

/* Capital del Plan: visible pero no editable desde Herramientas. */
.tlj-tools-money-input input[data-risk-capital][readonly] {
    cursor: default;
    border-color: rgba(var(--tlj-color-accent-rgb), .34) !important;
    background: rgba(var(--tlj-color-accent-rgb), .035) !important;
    color: var(--tlj-color-text) !important;
}

/* Gestión Avanzada: el scroll de la lista no se propaga a la página. */
.tlj-position-rows {
    overscroll-behavior: contain;
}

/* Semáforo: controles esenciales y comprobaciones en dos columnas. */
.tlj-gate-checks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    max-height: none;
    padding-right: 0;
    overflow: visible;
}

.tlj-gate-check {
    min-width: 0;
    height: 100%;
}

@media (max-width: 700px) {
    .tlj-gate-checks {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   HERRAMIENTAS 2.2 · AJUSTES DE ORDEN Y ALTURA
   ========================================================= */

/* Apertura + 4 adiciones caben completas sin scroll vertical. */
.tlj-position-rows {
    max-height: 260px;
}

/* La fila explicativa aparece antes de la navegación rápida. */
.tlj-tools__intro {
    margin-bottom: 10px;
}

.tlj-tools__quick-nav {
    margin-top: 0;
}

/* =========================================================
   HERRAMIENTAS 2.2.1 · AJUSTES UR / TOOLTIPS
   ========================================================= */

/* Solo aumenta el contenido de las cajas de proyección UR. */
.tlj-tools-card--ur .tlj-ur-grid small {
    font-size: 11.5px !important;
    line-height: 1.25 !important;
}

.tlj-tools-card--ur .tlj-ur-grid strong {
    font-size: 15px !important;
    line-height: 1.25 !important;
}

/* Identifica visualmente en el selector los símbolos que siguen seleccionables
   aunque estén en cuarentena. El color final de <option> depende del navegador,
   pero el texto CUARENTENA siempre permanece. */
.tlj-tools-card--gate select option[data-quarantine="1"] {
    color: var(--tlj-color-negative-text);
    font-weight: 800;
}

/* Centrado real del escudo/check de “Valida antes de ejecutar”. */
.tlj-tools__footer-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 0 !important;
}

.tlj-tools__footer-icon svg {
    position: relative !important;
    left: 0 !important;
    display: block !important;
    margin: 0 !important;
    transform: none !important;
}

/* =========================================================
   HERRAMIENTAS 2.2.5 · GESTIÓN AVANZADA · DESPLEGABLES TLJ
   ========================================================= */

/* Selector propio de tipo para evitar los colores azules del selector nativo
   y mantener el mismo comportamiento visual que el resto de TLJ. */
.tlj-tools .tlj-position-type-picker {
    position: relative;
    width: 100%;
    min-width: 0;
}

.tlj-tools .tlj-position-row__type {
    position: relative;
    display: flex !important;
    width: 100% !important;
    height: 40px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 28px !important;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .16) !important;
    border-radius: 8px !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: var(--tlj-color-input-bg) !important;
    color: var(--tlj-color-text-secondary) !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 12.5px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: pointer;
    transform: none !important;
    transition: border-color .25s ease, background-color .25s ease, color .25s ease, box-shadow .25s ease;
}

.tlj-tools .tlj-position-row__type:hover,
.tlj-tools .tlj-position-type-picker.is-open .tlj-position-row__type {
    border-color: rgba(var(--tlj-color-accent-rgb), .48) !important;
    background: var(--tlj-color-hover) !important;
    color: var(--tlj-color-text) !important;
}

.tlj-tools .tlj-position-row__type:focus-visible {
    border-color: var(--tlj-color-accent) !important;
    background: var(--tlj-color-surface) !important;
    color: var(--tlj-color-text) !important;
    box-shadow: 0 0 0 3px rgba(var(--tlj-color-accent-rgb), .06) !important;
}

.tlj-tools .tlj-position-row__type > [data-position-type-label] {
    display: block;
    width: 100%;
    text-align: center !important;
    pointer-events: none;
}

.tlj-tools .tlj-position-row__chevron {
    position: absolute;
    top: 50%;
    right: 11px;
    width: 6px;
    height: 6px;
    margin-top: -4px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    opacity: .72;
    transform: rotate(45deg);
    transform-origin: center;
    transition: transform .2s ease, margin-top .2s ease, opacity .2s ease;
    pointer-events: none;
}

.tlj-tools .tlj-position-type-picker.is-open .tlj-position-row__chevron {
    margin-top: 0;
    opacity: 1;
    transform: rotate(225deg);
}

.tlj-tools .tlj-position-row.is-addition .tlj-position-row__type {
    border-color: rgba(var(--tlj-color-positive-vivid-rgb), .42) !important;
    background: rgba(var(--tlj-color-positive-vivid-rgb), .055) !important;
    color: var(--tlj-color-positive-text) !important;
}

.tlj-tools .tlj-position-row.is-exit .tlj-position-row__type {
    border-color: rgba(var(--tlj-color-negative-vivid-rgb), .38) !important;
    background: rgba(var(--tlj-color-negative-vivid-rgb), .045) !important;
    color: var(--tlj-color-negative-text) !important;
}

/* Menú emergente del selector Gestión. Se posiciona por JS para que no quede
   recortado por el área con scroll de las filas. */
.tlj-position-type-menu {
    position: fixed;
    z-index: 99999;
    display: grid;
    gap: 4px;
    padding: 5px;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .28);
    border-radius: 9px;
    background: var(--tlj-color-surface);
    box-shadow: var(--tlj-effect-shadow-md);
}

.tlj-position-type-menu[hidden] {
    display: none !important;
}

.tlj-position-type-menu > button {
    display: flex !important;
    width: 100% !important;
    min-height: 36px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: transparent !important;
    color: var(--tlj-color-text-secondary) !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 12.5px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: pointer;
    transform: none !important;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease !important;
}

.tlj-position-type-menu > button:hover,
.tlj-position-type-menu > button:focus-visible {
    border-color: rgba(var(--tlj-color-accent-rgb), .28) !important;
    background: var(--tlj-color-hover) !important;
    color: var(--tlj-color-accent-strong) !important;
}

.tlj-position-type-menu > button[aria-selected="true"] {
    border-color: rgba(var(--tlj-color-accent-rgb), .22) !important;
    background: rgba(var(--tlj-color-accent-rgb), .055) !important;
    color: var(--tlj-color-accent-text) !important;
}

.tlj-position-type-menu > button[data-position-type-option="addition"][aria-selected="true"] {
    border-color: rgba(var(--tlj-color-positive-vivid-rgb), .3) !important;
    background: rgba(var(--tlj-color-positive-vivid-rgb), .07) !important;
    color: var(--tlj-color-positive-text) !important;
}

.tlj-position-type-menu > button[data-position-type-option="exit"][aria-selected="true"] {
    border-color: rgba(var(--tlj-color-negative-vivid-rgb), .28) !important;
    background: rgba(var(--tlj-color-negative-vivid-rgb), .06) !important;
    color: var(--tlj-color-negative-text) !important;
}

.tlj-tools .tlj-position-row__label.is-opening {
    height: 40px;
    border-color: rgba(var(--tlj-color-accent-rgb), .24);
    background: rgba(var(--tlj-color-accent-rgb), .045);
    color: var(--tlj-color-accent-text);
}

/* Las cuatro filas fijas permanecen visibles, pero hasta elegir Adición o
   Salida sus campos no se pueden rellenar, evitando movimientos ambiguos. */
.tlj-tools .tlj-position-row input:disabled {
    border-color: var(--tlj-color-border) !important;
    background: var(--tlj-color-surface-2) !important;
    color: var(--tlj-color-text-disabled) !important;
    opacity: .62;
    cursor: not-allowed;
}

/* Menú del botón Añadir. */
.tlj-tools .tlj-position-add-wrap {
    position: relative;
}

.tlj-tools .tlj-position-add-menu {
    position: absolute;
    z-index: 80;
    top: calc(100% + 8px);
    right: 0;
    width: 198px;
    padding: 6px;
    border: 1px solid var(--tlj-color-border-strong);
    border-radius: 10px;
    background: var(--tlj-color-surface);
    box-shadow: var(--tlj-effect-shadow-md);
}

.tlj-tools .tlj-position-add-menu[hidden] {
    display: none !important;
}

.tlj-tools .tlj-position-add-menu > button {
    display: grid !important;
    width: 100% !important;
    min-height: 50px !important;
    grid-template-columns: 11px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    margin: 0 !important;
    padding: 7px 9px !important;
    border: 1px solid transparent !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: var(--tlj-color-text-secondary) !important;
    text-align: left !important;
    cursor: pointer;
    transform: none !important;
    transition: border-color .22s ease, background-color .22s ease, color .22s ease !important;
}

.tlj-tools .tlj-position-add-menu > button + button {
    margin-top: 3px !important;
}

.tlj-tools .tlj-position-add-menu > button:hover,
.tlj-tools .tlj-position-add-menu > button:focus-visible {
    border-color: var(--tlj-color-border-strong) !important;
    background: var(--tlj-color-hover) !important;
    color: var(--tlj-color-accent-strong) !important;
    outline: none !important;
}

.tlj-tools .tlj-position-add-menu > button > span:last-child,
.tlj-tools .tlj-position-add-menu strong,
.tlj-tools .tlj-position-add-menu small {
    display: block;
}

.tlj-tools .tlj-position-add-menu strong {
    color: var(--tlj-color-text);
    font-size: 13.5px;
    font-weight: 900;
}

.tlj-tools .tlj-position-add-menu small {
    margin-top: 3px;
    color: var(--tlj-color-text-muted);
    font-size: 11px;
    font-weight: 700;
}

.tlj-tools .tlj-position-add-menu__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(var(--tlj-color-contrast-rgb), .025);
}

.tlj-tools .tlj-position-add-menu__dot.is-addition { background: rgb(var(--tlj-color-positive-vivid-rgb)); }
.tlj-tools .tlj-position-add-menu__dot.is-exit { background: rgb(var(--tlj-color-negative-vivid-rgb)); }

@media (max-width: 700px) {
    .tlj-tools .tlj-position-add-menu {
        right: 0;
        width: min(198px, calc(100vw - 38px));
    }
}

/* =========================================================
   HERRAMIENTAS 2.3.0 · R:R / PRESUPUESTO / GESTIÓN INTELIGENTE
   ========================================================= */

/* Calculadora de riesgo: objetivo, R:R y niveles 1:1 / 1:2 / 1:3. */

.tlj-tools .tlj-risk-result-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tlj-tools .tlj-risk-result-grid strong[data-state="good"] { color: var(--tlj-color-positive-text); }
.tlj-tools .tlj-risk-result-grid strong[data-state="warn"] { color: var(--tlj-color-warning-text); }
.tlj-tools .tlj-risk-result-grid strong[data-state="bad"] { color: var(--tlj-color-negative-text); }

.tlj-tools .tlj-risk-levels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-top: 8px;
}

.tlj-tools .tlj-risk-levels > div {
    min-width: 0;
    padding: 9px 7px;
    border: 1px solid rgba(var(--tlj-color-positive-vivid-rgb), .13);
    border-radius: 8px;
    background: rgba(var(--tlj-color-positive-vivid-rgb), .025);
    text-align: center;
}

.tlj-tools .tlj-risk-levels span,
.tlj-tools .tlj-risk-levels strong {
    display: block;
}

.tlj-tools .tlj-risk-levels span {
    margin-bottom: 4px;
    color: var(--tlj-color-positive-text);
    font-size: 11px;
    font-weight: 900;
}

.tlj-tools .tlj-risk-levels strong {
    overflow: hidden;
    color: var(--tlj-color-text-secondary);
    font-size: 12.5px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Semáforo: presupuesto diario/semanal y capacidad restante. */
.tlj-tools .tlj-gate-budget {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-top: 7px;
}

.tlj-tools .tlj-gate-budget > div {
    min-width: 0;
    padding: 10px 6px;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .12);
    border-radius: 7px;
    background: rgba(var(--tlj-color-accent-rgb), .022);
    text-align: center;
}

.tlj-tools .tlj-gate-budget span,
.tlj-tools .tlj-gate-budget strong {
    display: block;
}

.tlj-tools .tlj-gate-budget span {
    margin-bottom: 4px;
    color: var(--tlj-color-text-muted-2);
    font-size: 10.5px;
    font-weight: 800;
}

.tlj-tools .tlj-gate-budget strong {
    overflow: hidden;
    color: var(--tlj-color-accent-text);
    font-size: 12.5px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tlj-tools .tlj-gate-budget-note {
    margin: 7px 1px 0;
    color: var(--tlj-color-text-muted-2);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
}

.tlj-tools .tlj-gate-budget-note[data-state="good"] { color: var(--tlj-color-positive-text); }
.tlj-tools .tlj-gate-budget-note[data-state="bad"] { color: var(--tlj-color-negative-text); }

/* Gestión avanzada: total acumulado, acciones restantes y estado. */
.tlj-tools .tlj-position-main-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tlj-tools .tlj-position-health {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 9px 11px;
    border: 1px solid var(--tlj-color-divider);
    border-radius: 8px;
    background: var(--tlj-color-field);
}

.tlj-tools .tlj-position-health > i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--tlj-color-text-muted-2);
}

.tlj-tools .tlj-position-health strong,
.tlj-tools .tlj-position-health span {
    display: block;
}

.tlj-tools .tlj-position-health strong {
    color: var(--tlj-color-text-secondary);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .25px;
}

.tlj-tools .tlj-position-health span {
    margin-top: 2px;
    color: var(--tlj-color-text-muted-2);
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.4;
}

.tlj-tools .tlj-position-health[data-state="open"] {
    border-color: rgba(var(--tlj-color-accent-rgb), .17);
    background: rgba(var(--tlj-color-accent-rgb), .025);
}
@keyframes tlj-position-open-pulse {
    0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 7px rgba(var(--tlj-color-accent-rgb), .28); }
    50% { opacity: .28; transform: scale(.82); box-shadow: 0 0 13px rgba(var(--tlj-color-accent-rgb), .52); }
}

.tlj-tools .tlj-position-health[data-state="open"] > i {
    background: var(--tlj-color-accent);
    box-shadow: 0 0 10px rgba(var(--tlj-color-accent-rgb), .35);
    animation: tlj-position-open-pulse 2.6s ease-in-out infinite;
    transform-origin: center;
}

.tlj-tools .tlj-position-health[data-state="open"] strong { color: var(--tlj-color-accent-text); }

.tlj-tools .tlj-position-health[data-state="closed"] {
    border-color: rgba(var(--tlj-color-positive-vivid-rgb), .2);
    background: rgba(var(--tlj-color-positive-vivid-rgb), .035);
}
.tlj-tools .tlj-position-health[data-state="closed"] > i { background: rgb(var(--tlj-color-positive-vivid-rgb)); box-shadow: 0 0 10px rgba(var(--tlj-color-positive-vivid-rgb), .35); }
.tlj-tools .tlj-position-health[data-state="closed"] strong { color: var(--tlj-color-positive-text); }

.tlj-tools .tlj-position-health[data-state="bad"] {
    border-color: rgba(var(--tlj-color-negative-vivid-rgb), .24);
    background: rgba(var(--tlj-color-negative-vivid-rgb), .035);
}
.tlj-tools .tlj-position-health[data-state="bad"] > i { background: rgb(var(--tlj-color-negative-vivid-rgb)); box-shadow: 0 0 10px rgba(var(--tlj-color-negative-vivid-rgb), .3); }
.tlj-tools .tlj-position-health[data-state="bad"] strong,
.tlj-tools .tlj-position-health[data-state="bad"] span { color: var(--tlj-color-negative-text); }

.tlj-tools .tlj-position-row.is-over-exit {
    padding: 2px;
    border: 1px solid rgba(var(--tlj-color-negative-vivid-rgb), .52);
    border-radius: 9px;
    background: rgba(var(--tlj-color-negative-vivid-rgb), .04);
}

.tlj-tools .tlj-position-row.is-over-exit [data-position-shares] {
    border-color: var(--tlj-color-negative-base) !important;
    color: var(--tlj-color-negative-text) !important;
    box-shadow: 0 0 0 2px rgba(var(--tlj-color-negative-vivid-rgb), .05) !important;
}

/* Simulador ¿Qué pasa si...? */
.tlj-tools .tlj-position-simulator {
    padding: 11px;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .14);
    border-radius: 9px;
    background: rgba(var(--tlj-color-accent-rgb), .018);
}

.tlj-tools .tlj-position-simulator__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.tlj-tools .tlj-position-simulator__head small,
.tlj-tools .tlj-position-simulator__head strong {
    display: block;
}

.tlj-tools .tlj-position-simulator__head small {
    color: var(--tlj-color-accent-text);
    font-size: 10.5px;
    font-weight: 900;
    letter-spacing: .8px;
}

.tlj-tools .tlj-position-simulator__head strong {
    margin-top: 2px;
    color: var(--tlj-color-input-text);
    font-size: 12.5px;
    font-weight: 900;
}

.tlj-tools .tlj-position-sim-type {
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(64px, 1fr));
    gap: 4px;
    padding: 3px;
    border: 1px solid var(--tlj-color-border);
    border-radius: 8px;
    background: var(--tlj-color-field);
}

.tlj-tools .tlj-position-sim-type button {
    min-height: 29px !important;
    margin: 0 !important;
    padding: 0 9px !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: var(--tlj-color-text-muted-2) !important;
    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    cursor: pointer;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease !important;
}

.tlj-tools .tlj-position-sim-type button:hover {
    border-color: rgba(var(--tlj-color-accent-rgb), .25) !important;
    background: rgba(var(--tlj-color-accent-rgb), .06) !important;
    color: var(--tlj-color-button-hover-text) !important;
}

.tlj-tools .tlj-position-sim-type button[data-position-sim-type="addition"].is-active {
    border-color: rgba(var(--tlj-color-positive-vivid-rgb), .28) !important;
    background: rgba(var(--tlj-color-positive-vivid-rgb), .075) !important;
    color: var(--tlj-color-positive-text) !important;
}

.tlj-tools .tlj-position-sim-type button[data-position-sim-type="exit"].is-active {
    border-color: rgba(var(--tlj-color-negative-vivid-rgb), .28) !important;
    background: rgba(var(--tlj-color-negative-vivid-rgb), .065) !important;
    color: var(--tlj-color-negative-text) !important;
}

.tlj-tools .tlj-position-sim-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.tlj-tools .tlj-position-sim-fields > .tlj-tools-field > input {
    width: 100% !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .14) !important;
    border-radius: 8px !important;
    outline: none !important;
    background: var(--tlj-color-field) !important;
    color: var(--tlj-color-text-muted-2) !important;
    -webkit-text-fill-color: var(--tlj-color-text-muted-2) !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 13.5px !important;
    font-weight: 750 !important;
    text-align: center !important;
}

.tlj-tools .tlj-position-sim-fields > .tlj-tools-field > input:focus {
    border-color: var(--tlj-color-accent) !important;
    background: var(--tlj-color-surface) !important;
    box-shadow: 0 0 0 3px rgba(var(--tlj-color-accent-rgb), .06) !important;
}

.tlj-tools .tlj-position-sim-results {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px;
    margin-top: 9px;
}

.tlj-tools .tlj-position-sim-results > div {
    min-width: 0;
    padding: 8px 5px;
    border: 1px solid var(--tlj-color-divider);
    border-radius: 7px;
    background: var(--tlj-color-field);
    text-align: center;
}

.tlj-tools .tlj-position-sim-results span,
.tlj-tools .tlj-position-sim-results strong { display: block; }
.tlj-tools .tlj-position-sim-results span { margin-bottom: 4px; color: var(--tlj-color-text-muted-2); font-size: 10.5px; font-weight: 800; }
.tlj-tools .tlj-position-sim-results strong { overflow: hidden; color: var(--tlj-color-text-secondary); font-size: 11.5px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }

.tlj-tools .tlj-position-sim-note {
    margin: 8px 1px 0;
    color: var(--tlj-color-text-muted-2);
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
}
.tlj-tools .tlj-position-sim-note[data-state="good"] { color: var(--tlj-color-positive-text); }
.tlj-tools .tlj-position-sim-note[data-state="bad"] { color: var(--tlj-color-negative-text); }

.tlj-tools .tlj-position-sim-actions {
    display: flex;
    justify-content: flex-end;
    gap: 7px;
    margin-top: 8px;
}

.tlj-tools .tlj-position-sim-actions .tlj-tools-primary:disabled {
    opacity: .34;
    cursor: not-allowed;
    pointer-events: none;
}

@media (max-width: 700px) {
    .tlj-tools .tlj-risk-input-grid .tlj-tools-field--target { grid-column: auto; }
    .tlj-tools .tlj-risk-result-grid,
    .tlj-tools .tlj-position-main-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tlj-tools .tlj-position-main-stats > div:last-child { grid-column: 1 / -1; }
    .tlj-tools .tlj-gate-budget,
    .tlj-tools .tlj-position-sim-fields { grid-template-columns: 1fr; }
    .tlj-tools .tlj-position-sim-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tlj-tools .tlj-position-sim-results > div:last-child { grid-column: 1 / -1; }
    .tlj-tools .tlj-position-simulator__head { align-items: flex-start; flex-direction: column; }
    .tlj-tools .tlj-position-sim-type { width: 100%; }
}

/* =========================================================
   HERRAMIENTAS 2.4.0 · RIESGO % / DINERO + BLOQUE DE ACCIONES
   ========================================================= */

/* La tarjeta de riesgo aprovecha toda la altura disponible de su fila. */
.tlj-tools .tlj-tools-card--risk {
    display: flex;
    flex-direction: column;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-compact {
    display: grid;
    flex: 1 1 auto;
    grid-template-rows: auto minmax(330px, 1fr);
    gap: 14px;
    min-height: 0;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-table-wrap {
    display: flex;
    min-height: 0;
    flex-direction: column;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-table {
    flex: 1 1 auto;
    max-height: none;
    min-height: 0;
}

/* Selector TLJ para elegir riesgo en porcentaje o en dinero. */
.tlj-tools .tlj-risk-mode-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 13px;
    padding: 10px 11px;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .15);
    border-radius: 9px;
    background: rgba(var(--tlj-color-accent-rgb), .022);
}

.tlj-tools .tlj-risk-mode-row > span {
    color: var(--tlj-color-text-soft);
    font-size: 13.5px;
    font-weight: 850;
}

.tlj-tools .tlj-risk-mode-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(98px, 1fr));
    gap: 5px;
    padding: 4px;
    border: 1px solid var(--tlj-color-divider);
    border-radius: 8px;
    background: var(--tlj-color-page);
}

.tlj-tools .tlj-risk-mode-switch button {
    min-height: 34px;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tlj-color-text-muted) !important;
    font-family: inherit !important;
    font-size: 13.5px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: pointer;
    transition: transform .2s ease, color .2s ease, border-color .2s ease, background-color .2s ease;
}

.tlj-tools .tlj-risk-mode-switch button:hover {
    border-color: rgba(var(--tlj-color-accent-rgb), .24) !important;
    background: rgba(var(--tlj-color-accent-rgb), .055) !important;
    color: var(--tlj-color-text) !important;
    transform: scale(1.02);
}

.tlj-tools .tlj-risk-mode-switch button.is-active {
    border-color: rgba(var(--tlj-color-positive-vivid-rgb), .32) !important;
    background: rgba(var(--tlj-color-positive-vivid-rgb), .1) !important;
    color: var(--tlj-color-positive-text) !important;
}

/* Textos más grandes y respiración más uniforme en toda la herramienta. */

.tlj-tools .tlj-tools-card--risk .tlj-tools-field label {
    font-size: 13.5px;
}

.tlj-tools .tlj-tools-card--risk .tlj-tools-money-input input {
    font-size: 14px !important;
}

.tlj-tools .tlj-tools-card--risk .tlj-tools-money-input > span {
    font-size: 12.5px;
    font-weight: 850;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-summary {
    margin-top: 13px;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-table-head {
    min-height: 48px;
    font-size: 12.5px;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-row {
    min-height: 36px;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-row span,
.tlj-tools .tlj-tools-card--risk .tlj-risk-row strong {
    font-size: 13.5px;
}

.tlj-tools .tlj-tools-card--risk .tlj-tools-reset--bottom {
    margin-top: 14px !important;
}

@media (max-width: 700px) {
    .tlj-tools .tlj-risk-mode-row {
        align-items: stretch;
        flex-direction: column;
    }

    .tlj-tools .tlj-risk-mode-switch {
        width: 100%;
    }

    .tlj-tools .tlj-tools-card--risk .tlj-risk-compact {
        grid-template-rows: auto auto;
    }

    .tlj-tools .tlj-tools-card--risk .tlj-risk-table {
        max-height: 420px;
    }
}

/* =========================================================
   HERRAMIENTAS 2.4.1 · ALTURAS / OBJETIVO / UR ±6
   ========================================================= */

/* En la fila inferior, Gestión Avanzada marca la altura disponible.
   La calculadora se adapta a esa altura y mantiene su tabla con scroll,
   evitando que las 25 filas de stops hagan crecer toda la pareja. */
@media (min-width: 1081px) {
    .tlj-tools .tlj-tools-card--risk {
        min-height: 0;
    }
}

/* Stop inicial y Objetivo comparten la misma fila. */
.tlj-tools .tlj-risk-input-grid .tlj-tools-field--target {
    grid-column: auto;
}

/* Gestión de Unidades de Riesgo: +1...+6 y -1...-6.
   Se distribuyen 3 x 2 para aprovechar el hueco vertical sin ensanchar
   ni aumentar deliberadamente la tarjeta. */
.tlj-tools .tlj-tools-card--ur .tlj-ur-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 820px) {
    .tlj-tools .tlj-tools-card--ur .tlj-ur-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tlj-tools .tlj-tools-card--ur .tlj-ur-grid > div:last-child {
        grid-column: auto;
    }
}

/* =========================================================
   HERRAMIENTAS 2.4.2 · AJUSTES DE ALTURA / UR / SEMÁFORO
   ========================================================= */

/* Unidades de Riesgo: aprovechar el alto existente sin hacer crecer
   la tarjeta y dejar Reiniciar al pie, igual que en el resto. */
.tlj-tools .tlj-tools-card--ur {
    display: flex;
    flex-direction: column;
}

.tlj-tools .tlj-tools-card--ur .tlj-ur-layout--compact {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
}

.tlj-tools .tlj-tools-card--ur .tlj-ur-projections {
    display: grid;
    min-height: 0;
    flex: 1 1 auto;
    grid-template-rows: repeat(2, minmax(0, 1fr));
}

.tlj-tools .tlj-tools-card--ur .tlj-ur-side {
    display: flex;
    min-height: 0;
    flex-direction: column;
    padding: 12px;
}

.tlj-tools .tlj-tools-card--ur .tlj-ur-grid {
    min-height: 0;
    flex: 1 1 auto;
    grid-auto-rows: minmax(58px, 1fr);
    gap: 7px;
}

.tlj-tools .tlj-tools-card--ur .tlj-ur-grid > div {
    display: flex;
    min-height: 58px;
    flex-direction: column;
    justify-content: center;
    padding: 9px 5px;
}

.tlj-tools .tlj-tools-card--ur .tlj-ur-grid small {
    margin-bottom: 5px;
    font-size: 11px;
}

.tlj-tools .tlj-tools-card--ur .tlj-ur-grid strong {
    font-size: 14px;
}

.tlj-tools .tlj-tools-card--ur .tlj-ur-reset--bottom {
    width: 100% !important;
    flex: 0 0 auto;
    margin-top: 12px !important;
}

/* Semáforo: el botón de reinicio ocupa todo el ancho del bloque. */
.tlj-tools .tlj-tools-card--gate [data-gate-reset] {
    width: 100% !important;
    margin-top: 10px !important;
}

/* Lectura rápida: tipografía compacta y siempre en una sola línea. */
.tlj-tools .tlj-tools-card--risk .tlj-risk-summary {
    min-width: 0;
    gap: 9px;
    padding: 10px 11px;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-summary > div {
    min-width: 0;
    flex: 1 1 auto;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-summary small {
    font-size: 10.5px;
    line-height: 1.1;
    white-space: nowrap;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-summary strong {
    margin-top: 3px;
    overflow: hidden;
    font-size: 11.5px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Riesgo: compactar solo el espacio vertical, manteniendo textos legibles. */
.tlj-tools .tlj-tools-card--risk .tlj-risk-control {
    padding: 12px;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-mode-row {
    margin-bottom: 9px;
    padding: 7px 9px;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-mode-switch button {
    min-height: 30px;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-input-grid {
    gap: 8px 10px;
}

.tlj-tools .tlj-tools-card--risk .tlj-tools-field label {
    margin-bottom: 5px;
}

.tlj-tools .tlj-tools-card--risk .tlj-tools-money-input input {
    height: 40px !important;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-result-grid {
    gap: 7px;
    margin-top: 10px;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-result-grid > div {
    min-height: 54px;
    padding: 8px 6px;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-result-grid span {
    margin-bottom: 4px;
    font-size: 11px;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-result-grid strong {
    font-size: 14px;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-levels {
    gap: 7px;
    margin-top: 8px;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-levels > div {
    min-height: 46px;
    padding: 7px 6px;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-levels span {
    font-size: 11px;
}

.tlj-tools .tlj-tools-card--risk .tlj-risk-levels strong {
    font-size: 13.5px;
}

/* En escritorio las dos tarjetas inferiores dejan de estirarse mutuamente.
   JS toma la altura natural de Gestión Avanzada y la aplica a Riesgo. */
@media (min-width: 1081px) {
    .tlj-tools .tlj-tools-card--positions,
    .tlj-tools .tlj-tools-card--risk {
        height: auto;
        align-self: start;
    }

    .tlj-tools .tlj-tools-card--risk {
        overflow: hidden;
    }

    .tlj-tools .tlj-tools-card--risk .tlj-risk-compact {
        display: grid;
        min-height: 0;
        flex: 1 1 auto;
        grid-template-rows: auto minmax(135px, 1fr);
        gap: 10px;
        overflow: hidden;
    }

    .tlj-tools .tlj-tools-card--risk .tlj-risk-table-wrap {
        min-height: 135px;
        overflow: hidden;
    }

    .tlj-tools .tlj-tools-card--risk .tlj-risk-table-head {
        min-height: 40px;
    }

    .tlj-tools .tlj-tools-card--risk .tlj-risk-table {
        height: 100%;
        min-height: 0;
        max-height: none;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .tlj-tools .tlj-tools-card--risk .tlj-risk-row {
        min-height: 34px;
    }

    .tlj-tools .tlj-tools-card--risk .tlj-tools-reset--bottom {
        width: 100% !important;
        flex: 0 0 auto;
        margin-top: 10px !important;
    }
}

@media (max-width: 1080px) {
    .tlj-tools .tlj-tools-card--risk .tlj-risk-summary strong {
        font-size: 10.5px;
        white-space: nowrap;
    }
}

/* =========================================================
   HERRAMIENTAS 2.5.1 · SEMÁFORO · SELECTOR DE SÍMBOLO TLJ
   Sustituye visualmente el <select> nativo para controlar hover,
   centrado y scroll con el lenguaje visual turquesa de TLJ.
   ========================================================= */
.tlj-tools .tlj-tools-field--symbol {
    min-width: 0;
}

.tlj-tools .tlj-gate-symbol-picker {
    position: relative;
    width: 100%;
    min-width: 0;
}

.tlj-tools .tlj-gate-symbol-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.tlj-tools .tlj-gate-symbol-trigger {
    position: relative;
    display: flex !important;
    width: 100% !important;
    height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 32px !important;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .24) !important;
    border-radius: 8px !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: var(--tlj-color-field) !important;
    color: var(--tlj-color-text-muted-2) !important;
    -webkit-text-fill-color: var(--tlj-color-text-muted-2) !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 42px !important;
    text-align: center !important;
    cursor: pointer;
    transition: border-color .24s ease, background-color .24s ease, color .24s ease, box-shadow .24s ease !important;
}

.tlj-tools .tlj-gate-symbol-trigger > [data-gate-symbol-label] {
    display: block;
    width: 100%;
    overflow: hidden;
    text-align: center !important;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
}

.tlj-tools .tlj-gate-symbol-trigger:hover,
.tlj-tools .tlj-gate-symbol-picker.is-open .tlj-gate-symbol-trigger {
    border-color: rgba(var(--tlj-color-accent-rgb), .52) !important;
    background: rgba(var(--tlj-color-accent-rgb), .075) !important;
    color: var(--tlj-color-button-hover-text) !important;
}

.tlj-tools .tlj-gate-symbol-trigger:focus-visible {
    border-color: var(--tlj-color-accent) !important;
    background: var(--tlj-color-surface) !important;
    box-shadow: 0 0 0 3px rgba(var(--tlj-color-accent-rgb), .06) !important;
}

.tlj-tools .tlj-gate-symbol-picker.has-value:not(.is-quarantine) .tlj-gate-symbol-trigger {
    color: var(--tlj-color-accent-text) !important;
}

.tlj-tools .tlj-gate-symbol-picker.is-quarantine .tlj-gate-symbol-trigger {
    border-color: rgba(var(--tlj-color-negative-vivid-rgb), .34) !important;
    color: var(--tlj-color-negative-text) !important;
}

.tlj-tools .tlj-gate-symbol-chevron {
    position: absolute;
    top: 50%;
    right: 12px;
    width: 6px;
    height: 6px;
    margin-top: -4px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    opacity: .72;
    transform: rotate(45deg);
    transform-origin: center;
    transition: transform .2s ease, margin-top .2s ease, opacity .2s ease;
    pointer-events: none;
}

.tlj-tools .tlj-gate-symbol-picker.is-open .tlj-gate-symbol-chevron {
    margin-top: 0;
    opacity: 1;
    transform: rotate(225deg);
}

/* Panel y opciones: piel común de TLJ Tema (.tlj-dropdown); aquí solo geometría. */
.tlj-tools .tlj-gate-symbol-menu {
    --tlj-dropdown-border: rgba(var(--tlj-color-accent-rgb), .30);
    --tlj-dropdown-option: var(--tlj-color-text-secondary);
    position: absolute;
    z-index: 10020;
    top: calc(100% + 6px);
    left: 0;
    display: grid;
    width: 100%;
    max-height: 220px;
    gap: 3px;
    overflow-x: hidden;
    overflow-y: auto;
}

.tlj-tools .tlj-gate-symbol-menu > button {
    display: flex;
    width: 100%;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 10px;
    appearance: none;
    -webkit-appearance: none;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
}

html[data-tlj-theme="dark"] .tlj-tools .tlj-gate-symbol-menu > button[data-quarantine="1"] {
    --tlj-dropdown-option: var(--tlj-color-negative-text);
}

html[data-tlj-theme="dark"] .tlj-tools .tlj-gate-symbol-menu > button[data-quarantine="1"][aria-selected="true"] {
    border-color: rgba(var(--tlj-color-negative-vivid-rgb), .28);
    background: rgba(var(--tlj-color-negative-vivid-rgb), .055);
    color: var(--tlj-color-negative-text);
}

/* =========================================================
   HERRAMIENTAS 2.11.0 · FASE 4.14 · MULTI-MARKET + CRIPTO
   Selector global + selectores de instrumento compartidos.
   ========================================================= */
.tlj-tools [hidden] {
    display: none !important;
}

.tlj-tools .tlj-tools-market-instrument {
    display: grid;
    min-width: 0;
    gap: 6px;
    margin-bottom: 11px;
}

.tlj-tools .tlj-tools-market-instrument > label {
    margin: 0 !important;
    color: var(--tlj-color-text-muted) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .45px;
    line-height: 1.15 !important;
    text-transform: uppercase;
}

.tlj-tools .tlj-tools-market-instrument > small {
    display: block;
    min-height: 12px;
    color: var(--tlj-color-text-muted-2);
    font-size: 10.5px;
    font-weight: 650;
    line-height: 1.4;
    text-align: center;
}

.tlj-tools .tlj-tools-instrument-picker {
    width: 100%;
}

.tlj-tools .tlj-tools-instrument-picker [data-tools-instrument-label] {
    display: block;
    width: 100%;
    overflow: hidden;
    text-align: center !important;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
}

.tlj-tools .tlj-tools-market-instrument--risk {
    grid-column: 1 / -1;
}

.tlj-tools .tlj-tools-market-instrument--position {
    margin: 0 0 10px;
}

/* =========================================================
   PRE-4.3 · HOMOGENEIZACIÓN VISUAL + LIMPIEZA HERRAMIENTAS
   ========================================================= */

/* Las descripciones viven ahora dentro de cada herramienta. */
.tlj-tools-card__heading>div{min-width:0;}

/* PRE-4.3.2 · AJUSTES FINALES */
