/* =========================================================
   TWSI COMPANY ANALYZER — COMPACT TERMINAL UI v1.2
   Replace the entire previous analyzer.css with this file.
========================================================= */

.twsi-analyzer,
.twsi-analyzer * {
    box-sizing: border-box;
}

.twsi-analyzer {
    --twsi-blue: #2547ff;
    --twsi-ink: #111318;
    --twsi-muted: #6d7179;
    --twsi-line: rgba(17, 19, 24, 0.10);
    --twsi-line-strong: rgba(17, 19, 24, 0.16);
    --twsi-panel: rgba(255, 255, 255, 0.56);
    --twsi-panel-solid: rgba(255, 255, 255, 0.82);
    --twsi-positive: #16835d;
    --twsi-negative: #d55643;
    --twsi-purple: #6e50c9;
    --twsi-orange: #df6845;

    width: min(1700px, calc(100vw - 32px)) !important;
    max-width: none !important;
    margin: 24px auto 64px !important;
    padding: 0 !important;
    color: var(--twsi-ink);
    font-variant-numeric: tabular-nums;
}

#twsi-results {
    width: 100%;
    min-width: 0;
}

.twsi-label,
.twsi-dashboard-small-label,
.twsi-kpi-label,
.twsi-capital-chart-heading {
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 1.15px !important;
    text-transform: uppercase;
}

.twsi-label {
    color: var(--twsi-blue);
}


/* =========================================================
   INTRO + SEARCH
========================================================= */

.twsi-analyzer-header {
    margin: 0 0 14px !important;
}

.twsi-analyzer-header h2 {
    max-width: 900px;
    margin: 5px 0 4px !important;
    padding: 0 !important;
    font-size: clamp(28px, 2.7vw, 43px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.035em !important;
}

.twsi-analyzer-header p {
    margin: 0 !important;
    color: var(--twsi-muted);
    font-size: 13px !important;
}

.twsi-search-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px;
    width: min(720px, 100%);
    margin: 14px 0 6px !important;
}

#twsi-ticker {
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: 0 14px;
    border: 1px solid var(--twsi-line-strong);
    border-radius: 4px;
    outline: 0;
    background: var(--twsi-panel-solid);
    color: var(--twsi-ink);
    font-size: 14px;
}

#twsi-ticker:focus {
    border-color: var(--twsi-blue);
    box-shadow: 0 0 0 2px rgba(37, 71, 255, 0.07);
}

#twsi-analyze-button {
    min-width: 112px;
    height: 44px;
    padding: 0 19px;
    border: 1px solid var(--twsi-blue);
    border-radius: 4px;
    background: var(--twsi-blue);
    color: #fff;
    font-size: 12px;
    font-weight: 750;
    cursor: pointer;
}

#twsi-analyze-button:disabled {
    opacity: 0.55;
    cursor: wait;
}

#twsi-status {
    min-height: 18px;
    margin: 5px 0 8px !important;
    color: var(--twsi-muted);
    font-size: 11px;
}


/* =========================================================
   COMPANY HEADER
========================================================= */

.twsi-dashboard-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 290px);
    gap: 1px;
    margin: 12px 0 8px !important;
    overflow: hidden;
    border: 1px solid var(--twsi-line);
    border-radius: 5px;
    background: var(--twsi-line);
}

.twsi-dashboard-company,
.twsi-dashboard-filing {
    min-width: 0;
    padding: 13px 16px !important;
    background: var(--twsi-panel-solid);
}

#twsi-company-ticker {
    display: block;
    margin: 0 0 2px !important;
    color: var(--twsi-blue);
    font-size: 9px !important;
    font-weight: 800;
    letter-spacing: 1px;
}

#twsi-company-name {
    margin: 0 0 4px !important;
    padding: 0 !important;
    font-size: clamp(23px, 2vw, 32px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.025em !important;
}

#twsi-company-description {
    max-width: 900px;
    margin: 0 !important;
    color: var(--twsi-muted);
    font-size: 10px !important;
    line-height: 1.4 !important;
}

.twsi-dashboard-filing {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.twsi-dashboard-small-label {
    color: var(--twsi-muted);
}

#twsi-latest-filing {
    display: block;
    margin: 8px 0 0 !important;
    color: var(--twsi-ink);
    font-size: 12px !important;
    line-height: 1.25 !important;
}


/* =========================================================
   KPI STRIP
========================================================= */

.twsi-kpi-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1px;
    width: 100%;
    margin: 0 0 8px !important;
    overflow: hidden;
    border: 1px solid var(--twsi-line);
    border-radius: 5px;
    background: var(--twsi-line);
}

.twsi-kpi-card {
    min-width: 0;
    min-height: 78px;
    padding: 10px 12px !important;
    background: var(--twsi-panel-solid);
}

.twsi-kpi-label {
    display: block;
    color: var(--twsi-muted);
    white-space: nowrap;
}

.twsi-kpi-card strong {
    display: block;
    margin: 8px 0 3px !important;
    color: var(--twsi-blue);
    font-size: clamp(18px, 1.5vw, 25px) !important;
    font-weight: 760 !important;
    line-height: 1 !important;
    letter-spacing: -0.025em !important;
}

.twsi-kpi-sub {
    display: block;
    overflow: hidden;
    color: var(--twsi-muted);
    font-size: 9px !important;
    line-height: 1.25 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.twsi-kpi-positive { color: var(--twsi-positive) !important; }
.twsi-kpi-negative { color: var(--twsi-negative) !important; }
.twsi-kpi-neutral { color: var(--twsi-muted) !important; }


/* =========================================================
   TERMINAL TABS
========================================================= */

.twsi-terminal-tabs {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    width: 100%;
    margin: 0 0 8px !important;
    overflow-x: auto;
    border: 1px solid var(--twsi-line);
    border-radius: 5px;
    background: rgba(247, 247, 245, 0.97);
    backdrop-filter: blur(12px);
    scrollbar-width: none;
}

.twsi-terminal-tabs::-webkit-scrollbar {
    display: none;
}

.twsi-terminal-tab {
    position: relative;
    flex: 0 0 auto;
    min-width: 112px;
    padding: 10px 15px !important;
    border: 0;
    border-right: 1px solid var(--twsi-line);
    background: transparent;
    color: var(--twsi-muted);
    font-size: 10px !important;
    font-weight: 760;
    line-height: 1.1;
    letter-spacing: 0.35px;
    cursor: pointer;
}

.twsi-terminal-tab:last-child {
    border-right: 0;
}

.twsi-terminal-tab:hover {
    color: var(--twsi-ink);
    background: rgba(37, 71, 255, 0.025);
}

.twsi-terminal-tab.is-active {
    color: var(--twsi-ink);
    background: #fff;
}

.twsi-terminal-tab.is-active::after {
    position: absolute;
    right: 13px;
    bottom: 0;
    left: 13px;
    height: 2px;
    background: var(--twsi-blue);
    content: "";
}


/* =========================================================
   TAB GRID
========================================================= */

.twsi-terminal-panel {
    display: none;
    min-width: 0;
}

.twsi-terminal-panel.is-active {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 8px;
    align-items: start;
}

.twsi-terminal-overview .twsi-span-4 {
    grid-column: span 4;
}

.twsi-terminal-overview .twsi-span-12 {
    grid-column: 1 / -1;
}

.twsi-terminal-panel[data-twsi-panel="financials"] > .twsi-financial-strength {
    grid-column: span 5;
}

.twsi-terminal-panel[data-twsi-panel="financials"] > .twsi-financial-history {
    grid-column: span 7;
}

.twsi-terminal-panel[data-twsi-panel="capital"] > *,
.twsi-terminal-panel[data-twsi-panel="shareholders"] > *,
.twsi-terminal-panel[data-twsi-panel="valuation"] > * {
    grid-column: 1 / -1;
}


/* =========================================================
   COMMON CARDS
========================================================= */

.twsi-dashboard-card,
.twsi-chart-card {
    min-width: 0;
    margin: 0 !important;
    padding: 13px !important;
    overflow: hidden;
    border: 1px solid var(--twsi-line);
    border-radius: 5px;
    background: var(--twsi-panel);
    box-shadow: none !important;
}

.twsi-dashboard-card-heading,
.twsi-chart-heading {
    margin: 0 0 9px !important;
    padding: 0 !important;
}

.twsi-chart-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.twsi-dashboard-card-heading h3,
.twsi-chart-heading h3 {
    margin: 4px 0 3px !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.012em !important;
}

.twsi-dashboard-card-heading p,
.twsi-chart-heading p {
    max-width: 680px;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--twsi-muted);
    font-size: 9.5px !important;
    line-height: 1.35 !important;
}

.twsi-chart-container {
    position: relative;
    width: 100%;
    height: 205px !important;
}


/* =========================================================
   WHAT CHANGED
========================================================= */

.twsi-changes-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    margin: 0 !important;
}

.twsi-change-card {
    position: relative;
    min-width: 0;
    min-height: 105px;
    padding: 10px 10px 10px 12px !important;
    border: 1px solid var(--twsi-line);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.46);
}

.twsi-change-card::before {
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 0;
    width: 2px;
    border-radius: 2px;
    background: #8b8e95;
    content: "";
}

.twsi-change-positive::before { background: var(--twsi-positive); }
.twsi-change-negative::before { background: var(--twsi-negative); }

.twsi-change-top {
    display: flex;
    justify-content: space-between;
    gap: 6px;
    margin: 0 0 7px !important;
}

.twsi-change-index,
.twsi-change-label {
    color: var(--twsi-muted);
    font-size: 7.5px !important;
    font-weight: 800;
}

.twsi-change-label {
    letter-spacing: 0.65px;
    text-align: right;
    text-transform: uppercase;
}

.twsi-change-metric {
    margin: 0 0 3px !important;
    color: var(--twsi-blue);
    font-size: 17px !important;
    font-weight: 760;
    line-height: 1 !important;
}

.twsi-change-negative .twsi-change-metric {
    color: var(--twsi-negative);
}

.twsi-change-card h4 {
    margin: 0 0 3px !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
}

.twsi-change-card p {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--twsi-muted);
    font-size: 8.5px !important;
    line-height: 1.35 !important;
}


/* =========================================================
   BUSINESS QUALITY
========================================================= */

.twsi-quality-overview {
    padding: 11px 13px !important;
}

.twsi-quality-overview .twsi-dashboard-card-heading {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    align-items: end;
    column-gap: 14px;
    margin-bottom: 8px !important;
}

.twsi-quality-overview .twsi-dashboard-card-heading h3 {
    margin-top: 2px !important;
}

.twsi-quality-overview .twsi-dashboard-card-heading p {
    align-self: end;
}

.twsi-quality-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 1px;
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid var(--twsi-line);
    border-radius: 4px;
    background: var(--twsi-line);
}

.twsi-quality-card {
    min-width: 0;
    min-height: 66px;
    padding: 9px !important;
    background: rgba(255, 255, 255, 0.67);
}

.twsi-quality-label {
    display: block;
    color: var(--twsi-muted);
    font-size: 7px !important;
    font-weight: 800;
    letter-spacing: 0.55px;
    text-transform: uppercase;
}

.twsi-quality-value {
    display: block;
    margin: 12px 0 0 !important;
    color: var(--twsi-blue);
    font-size: 16px !important;
    font-weight: 760;
    line-height: 1 !important;
}


/* =========================================================
   SUMMARY METRICS
========================================================= */

.twsi-capital-summary,
.twsi-strength-summary,
.twsi-shareholder-summary,
.twsi-valuation-context {
    display: grid;
    gap: 1px;
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid var(--twsi-line);
    border-radius: 4px;
    background: var(--twsi-line);
}

.twsi-capital-summary {
    grid-template-columns: 1fr;
}

.twsi-strength-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.twsi-shareholder-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.twsi-valuation-context {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.twsi-capital-metric,
.twsi-strength-metric,
.twsi-shareholder-metric,
.twsi-valuation-context-card {
    min-width: 0;
    min-height: 70px;
    padding: 9px 10px !important;
    background: rgba(255, 255, 255, 0.67);
}

.twsi-capital-metric-label,
.twsi-strength-label,
.twsi-shareholder-label,
.twsi-valuation-context-label {
    display: block;
    color: var(--twsi-muted);
    font-size: 7px !important;
    font-weight: 800;
    letter-spacing: 0.55px;
    text-transform: uppercase;
}

.twsi-capital-metric-value,
.twsi-strength-value,
.twsi-shareholder-value,
.twsi-valuation-context-value {
    display: block;
    margin: 10px 0 2px !important;
    font-size: 17px !important;
    font-weight: 760;
    line-height: 1 !important;
}

.twsi-capital-metric-share {
    display: block;
    color: var(--twsi-muted);
    font-size: 7.5px !important;
    line-height: 1.25 !important;
}

.twsi-capital-ocf .twsi-capital-metric-value { color: var(--twsi-ink); }
.twsi-capital-buybacks .twsi-capital-metric-value { color: var(--twsi-purple); }
.twsi-capital-capex .twsi-capital-metric-value,
.twsi-strength-net .twsi-strength-value,
.twsi-shareholder-buybacks .twsi-shareholder-value,
.twsi-valuation-context-value { color: var(--twsi-blue); }

.twsi-capital-dividends .twsi-capital-metric-value,
.twsi-strength-cash .twsi-strength-value,
.twsi-shareholder-eps .twsi-shareholder-value { color: var(--twsi-positive); }

.twsi-capital-acquisitions .twsi-capital-metric-value { color: var(--twsi-orange); }
.twsi-strength-debt .twsi-strength-value { color: var(--twsi-negative); }
.twsi-strength-ratio .twsi-strength-value,
.twsi-shareholder-share-change .twsi-shareholder-value { color: var(--twsi-purple); }


/* =========================================================
   FINANCIALS
========================================================= */

.twsi-financial-strength,
.twsi-financial-history {
    height: 100%;
}

.twsi-strength-chart-area {
    margin: 10px 0 0 !important;
}

.twsi-strength-chart-container {
    position: relative;
    width: 100%;
    height: 215px !important;
}


/* =========================================================
   CAPITAL — SIDE-BY-SIDE TERMINAL
========================================================= */

.twsi-capital-workspace {
    display: grid;
    grid-template-columns: minmax(210px, 0.30fr) minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
}

.twsi-capital-chart-area {
    min-width: 0;
    margin: 0 !important;
    padding: 10px;
    border: 1px solid var(--twsi-line);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.35);
}

.twsi-capital-chart-heading {
    margin: 0 0 7px !important;
    color: var(--twsi-muted);
}

.twsi-capital-chart-container {
    position: relative;
    width: 100%;
    height: 285px !important;
}


/* =========================================================
   SHAREHOLDERS
========================================================= */

.twsi-shareholder-summary {
    margin-bottom: 8px !important;
}

.twsi-shareholder-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.twsi-shareholder-panel {
    min-width: 0;
    padding: 10px !important;
    border: 1px solid var(--twsi-line);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.38);
}

.twsi-shareholder-chart-container {
    position: relative;
    width: 100%;
    height: 235px !important;
}


/* =========================================================
   VALUATION — COMPACT INSTITUTIONAL WORKSPACE
========================================================= */

.twsi-valuation > .twsi-dashboard-card-heading {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    align-items: end;
    column-gap: 18px;
    margin-bottom: 9px !important;
}

.twsi-valuation > .twsi-dashboard-card-heading h3 {
    margin-top: 3px !important;
}

.twsi-valuation > .twsi-dashboard-card-heading p {
    align-self: end;
    padding-bottom: 1px !important;
}

.twsi-valuation-workspace {
    display: grid;
    grid-template-columns: minmax(0, 0.56fr) minmax(380px, 0.44fr);
    gap: 10px;
    align-items: stretch;
}

.twsi-valuation-left {
    min-width: 0;
}

.twsi-valuation-context {
    margin-bottom: 7px !important;
}

.twsi-valuation-context-card {
    min-height: 62px;
}

.twsi-valuation-scenarios {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid var(--twsi-line);
    border-radius: 4px;
    background: var(--twsi-line);
}

.twsi-valuation-scenario {
    position: relative;
    min-width: 0;
    padding: 11px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.67) !important;
    color: var(--twsi-ink) !important;
    box-shadow: none !important;
}

/* No coloured stripes, dots or traffic-light cards. */
.twsi-valuation-scenario::before,
.twsi-valuation-scenario::after {
    display: none !important;
    content: none !important;
}

.twsi-valuation-base {
    background: rgba(37, 71, 255, 0.045) !important;
}

.twsi-valuation-base .twsi-valuation-scenario-name::after {
    content: "  ·  PRIMARY";
    color: var(--twsi-blue);
}

.twsi-valuation-scenario-name {
    display: block;
    margin: 0 0 9px !important;
    color: var(--twsi-muted) !important;
    font-size: 7.5px !important;
    font-weight: 800;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.twsi-valuation-scenario-value {
    display: block;
    margin: 0 0 10px !important;
    color: var(--twsi-ink) !important;
    font-size: 23px !important;
    font-weight: 760;
    line-height: 1 !important;
    letter-spacing: -0.03em;
}

.twsi-valuation-base .twsi-valuation-scenario-value {
    color: var(--twsi-blue) !important;
}

.twsi-valuation-scenario-assumptions {
    display: grid;
    gap: 4px;
    color: var(--twsi-muted);
    font-size: 8px !important;
}

.twsi-valuation-scenario-assumptions span {
    display: flex;
    justify-content: space-between;
    gap: 8px;
}

.twsi-valuation-scenario-assumptions em {
    font-style: normal;
    color: var(--twsi-muted);
}

.twsi-valuation-chart-area {
    min-width: 0;
    margin: 0 !important;
    padding: 10px;
    border: 1px solid var(--twsi-line);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.36);
}

.twsi-valuation-chart-container {
    position: relative;
    width: 100%;
    height: 265px !important;
}

.twsi-valuation-note {
    margin: 7px 0 0 !important;
    padding: 7px 0 0 !important;
    border-top: 1px solid var(--twsi-line);
    color: var(--twsi-muted);
    font-size: 7.5px !important;
    line-height: 1.35 !important;
}


/* =========================================================
   FINANCIAL TABLE
========================================================= */

.twsi-table-wrapper {
    width: 100%;
    max-width: 100%;
    max-height: 310px;
    overflow: auto;
    border: 1px solid var(--twsi-line);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.42);
    -webkit-overflow-scrolling: touch;
}

.twsi-financial-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
    font-size: 9px !important;
    font-variant-numeric: tabular-nums;
}

.twsi-financial-table th,
.twsi-financial-table td {
    padding: 8px 9px !important;
    border-bottom: 1px solid var(--twsi-line);
    text-align: right;
    white-space: nowrap;
}

.twsi-financial-table th:first-child,
.twsi-financial-table td:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    text-align: left;
}

.twsi-financial-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f0f1f4;
    color: var(--twsi-muted);
    font-size: 7px !important;
    font-weight: 800;
    letter-spacing: 0.35px;
    text-transform: uppercase;
}

.twsi-financial-table th:first-child {
    z-index: 4;
}

.twsi-financial-table td:first-child {
    background: #fbfbfa;
}

.twsi-financial-table tbody tr:first-child td {
    background: rgba(37, 71, 255, 0.035);
}

.twsi-financial-table tbody tr:first-child td:first-child {
    background: #f6f7ff;
}

.twsi-financial-table tbody tr:first-child td:first-child strong {
    color: var(--twsi-blue);
}

.twsi-financial-table tbody tr:last-child td {
    border-bottom: 0;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1180px) {

    .twsi-analyzer {
        width: calc(100% - 22px) !important;
    }

    .twsi-kpi-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .twsi-terminal-overview .twsi-span-4 {
        grid-column: span 6;
    }

    .twsi-quality-overview {
        grid-column: 1 / -1 !important;
    }

    .twsi-terminal-panel[data-twsi-panel="financials"] > .twsi-financial-strength,
    .twsi-terminal-panel[data-twsi-panel="financials"] > .twsi-financial-history {
        grid-column: 1 / -1;
    }

    .twsi-capital-workspace,
    .twsi-valuation-workspace {
        grid-template-columns: 1fr;
    }

    .twsi-capital-summary {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .twsi-valuation > .twsi-dashboard-card-heading {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 720px) {

    .twsi-analyzer {
        width: calc(100% - 14px) !important;
        margin-top: 14px !important;
    }

    .twsi-analyzer-header h2 {
        font-size: 29px !important;
    }

    .twsi-search-box {
        grid-template-columns: 1fr;
        width: 100%;
    }

    #twsi-analyze-button {
        width: 100%;
    }

    .twsi-dashboard-header {
        grid-template-columns: 1fr;
    }

    .twsi-dashboard-company,
    .twsi-dashboard-filing {
        padding: 12px !important;
    }

    .twsi-kpi-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .twsi-kpi-card {
        min-height: 72px;
        padding: 9px !important;
    }

    .twsi-kpi-card strong {
        font-size: 19px !important;
    }

    .twsi-terminal-tab {
        min-width: 96px;
        padding: 10px 12px !important;
        font-size: 9px !important;
    }

    .twsi-terminal-panel.is-active {
        gap: 7px;
    }

    .twsi-terminal-overview .twsi-span-4,
    .twsi-terminal-overview .twsi-span-12 {
        grid-column: 1 / -1;
    }

    .twsi-dashboard-card,
    .twsi-chart-card {
        padding: 11px !important;
    }

    .twsi-chart-container {
        height: 215px !important;
    }

    .twsi-changes-grid {
        grid-template-columns: 1fr;
    }

    .twsi-change-card {
        min-height: 96px;
    }

    .twsi-quality-overview .twsi-dashboard-card-heading {
        grid-template-columns: 1fr;
    }

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

    .twsi-quality-card {
        min-height: 62px;
    }

    .twsi-strength-summary,
    .twsi-capital-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .twsi-shareholder-summary,
    .twsi-valuation-context {
        grid-template-columns: 1fr;
    }

    .twsi-shareholder-grid {
        grid-template-columns: 1fr;
    }

    .twsi-capital-chart-container,
    .twsi-strength-chart-container,
    .twsi-shareholder-chart-container,
    .twsi-valuation-chart-container {
        height: 225px !important;
    }

    .twsi-valuation-scenarios {
        grid-template-columns: 1fr;
    }

    .twsi-valuation-scenario {
        min-height: 104px;
    }

    .twsi-table-wrapper {
        max-height: 330px;
    }

    .twsi-financial-table {
        min-width: 820px;
    }
}
/* =========================================================
   TWSI — WHAT CHANGED?
   Premium institutional research styling
========================================================= */

.twsi-change-card {
    position: relative !important;

    background: rgba(255, 255, 255, 0.18) !important;

    border: 1px solid rgba(20, 20, 20, 0.12) !important;
    border-radius: 2px !important;

    padding: 22px 24px 24px !important;

    box-shadow: none !important;

    overflow: hidden !important;
}


/* Remove old coloured side indicators */
.twsi-change-card::before,
.twsi-change-card::after {
    display: none !important;
    content: none !important;
}


/* Remove coloured borders from status classes */
.twsi-change-card.positive,
.twsi-change-card.negative,
.twsi-change-card.neutral,
.twsi-change-positive,
.twsi-change-negative,
.twsi-change-neutral {
    border-left: 1px solid rgba(20, 20, 20, 0.12) !important;
}


/* ---------------------------------------------------------
   TOP META ROW
--------------------------------------------------------- */

.twsi-change-number,
.twsi-change-index {
    font-size: 11px !important;
    font-weight: 700 !important;

    letter-spacing: 0.08em !important;

    color: #777 !important;
}


.twsi-change-label {
    font-size: 11px !important;
    font-weight: 700 !important;

    letter-spacing: 0.11em !important;
    text-transform: uppercase !important;

    color: #666 !important;
}


/* ---------------------------------------------------------
   MAIN METRIC
--------------------------------------------------------- */

.twsi-change-metric {
    margin-top: 18px !important;
    margin-bottom: 5px !important;

    font-size: 31px !important;
    line-height: 1 !important;

    font-weight: 700 !important;
    letter-spacing: -0.035em !important;

    color: #2547ff !important;
}


/* Positive = restrained institutional green */
.twsi-change-card.positive .twsi-change-metric,
.twsi-change-positive .twsi-change-metric {
    color: #167a5a !important;
}


/* Negative = restrained red */
.twsi-change-card.negative .twsi-change-metric,
.twsi-change-negative .twsi-change-metric {
    color: #d95540 !important;
}


/* Neutral / informational */
.twsi-change-card.neutral .twsi-change-metric,
.twsi-change-neutral .twsi-change-metric {
    color: #2547ff !important;
}


/* ---------------------------------------------------------
   INSIGHT TITLE
--------------------------------------------------------- */

.twsi-change-title {
    margin: 6px 0 6px !important;

    font-size: 18px !important;
    line-height: 1.22 !important;

    font-weight: 650 !important;
    letter-spacing: -0.025em !important;

    color: #111 !important;
}


/* ---------------------------------------------------------
   EXPLANATION
--------------------------------------------------------- */

.twsi-change-text {
    margin: 0 !important;

    max-width: 95% !important;

    font-size: 14px !important;
    line-height: 1.5 !important;

    font-weight: 400 !important;

    color: #6c6c6c !important;
}


/* ---------------------------------------------------------
   DESKTOP HOVER — VERY SUBTLE
--------------------------------------------------------- */

@media (hover: hover) {

    .twsi-change-card {
        transition:
            border-color 160ms ease,
            background-color 160ms ease;
    }

    .twsi-change-card:hover {
        border-color: rgba(20, 20, 20, 0.24) !important;
        background: rgba(255, 255, 255, 0.30) !important;
    }
}


/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 700px) {

    .twsi-change-card {
        padding: 18px 18px 20px !important;
    }

    .twsi-change-metric {
        font-size: 27px !important;
    }

    .twsi-change-title {
        font-size: 17px !important;
    }

    .twsi-change-text {
        font-size: 13px !important;
        max-width: 100% !important;
    }
}

/* =========================================================
   TWSI TERMINAL REFINEMENT v1.3
   Dense institutional layout; restrained colour; no decorative
   traffic-light bars, pills, glows or gradient cards.
========================================================= */

/* --- Overall density --- */

.twsi-terminal-panel.is-active {
    align-items: stretch !important;
}

.twsi-dashboard-card,
.twsi-chart-card {
    border-radius: 2px !important;
    background: rgba(255, 255, 255, 0.42) !important;
}

.twsi-dashboard-card-heading,
.twsi-chart-heading {
    min-height: 44px;
}

/* --- Overview: three balanced modules + two compact strips --- */

@media (min-width: 1181px) {

    .twsi-terminal-overview >
    .twsi-terminal-card:not(.twsi-quality-overview):not(.twsi-investor-snapshot) {
        display: flex !important;
        flex-direction: column !important;
        height: 330px !important;
        min-height: 330px !important;
        max-height: 330px !important;
    }

    .twsi-terminal-overview
    .twsi-chart-card
    .twsi-chart-container {
        flex: 1 1 auto !important;
        height: auto !important;
        min-height: 0 !important;
    }

    .twsi-quality-overview,
    .twsi-investor-snapshot {
        grid-column: 1 / -1 !important;
    }
}

/* --- What Changed: editorial research cards, no status bars --- */

.twsi-analyzer #twsi-changes-grid {
    flex: 1 1 auto;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 4px !important;
    min-height: 0;
}

.twsi-analyzer #twsi-changes-grid .twsi-change-card {
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100%;
    padding: 10px 11px !important;
    border: 1px solid rgba(17, 19, 24, 0.11) !important;
    border-left: 1px solid rgba(17, 19, 24, 0.11) !important;
    border-radius: 1px !important;
    background: rgba(255, 255, 255, 0.34) !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.twsi-analyzer #twsi-changes-grid .twsi-change-card::before,
.twsi-analyzer #twsi-changes-grid .twsi-change-card::after {
    display: none !important;
    content: none !important;
}

.twsi-analyzer #twsi-changes-grid .twsi-change-top {
    margin-bottom: 7px !important;
}

.twsi-analyzer #twsi-changes-grid .twsi-change-index,
.twsi-analyzer #twsi-changes-grid .twsi-change-label {
    color: #7a7e86 !important;
    font-size: 7px !important;
    font-weight: 800 !important;
    letter-spacing: 0.65px !important;
}

.twsi-analyzer #twsi-changes-grid .twsi-change-metric {
    margin: 0 0 4px !important;
    color: var(--twsi-blue) !important;
    font-size: 19px !important;
    font-weight: 760 !important;
    letter-spacing: -0.025em !important;
}

.twsi-analyzer #twsi-changes-grid .twsi-change-negative .twsi-change-metric {
    color: #a34a42 !important;
}

.twsi-analyzer #twsi-changes-grid .twsi-change-card h4 {
    margin: 0 0 4px !important;
    font-size: 10.5px !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
}

.twsi-analyzer #twsi-changes-grid .twsi-change-card p {
    margin: 0 !important;
    color: #737780 !important;
    font-size: 7.8px !important;
    line-height: 1.28 !important;
}

/* --- Underlying Economics: compact research strip --- */

.twsi-quality-overview {
    padding: 9px 11px !important;
}

.twsi-quality-overview .twsi-dashboard-card-heading {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 14px;
    align-items: end;
    min-height: 0;
    margin-bottom: 6px !important;
}

.twsi-quality-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    border-radius: 1px !important;
}

.twsi-quality-card {
    min-height: 57px !important;
    padding: 8px 9px !important;
}

.twsi-quality-value {
    margin-top: 9px !important;
    color: var(--twsi-ink) !important;
    font-size: 15px !important;
}

.twsi-quality-card:first-child .twsi-quality-value {
    color: var(--twsi-blue) !important;
}

/* --- Investor Snapshot: interpretive strip, no traffic-light styling --- */

.twsi-investor-snapshot {
    padding: 9px 11px !important;
}

.twsi-investor-snapshot .twsi-dashboard-card-heading {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 14px;
    align-items: end;
    min-height: 0;
    margin-bottom: 6px !important;
}

.twsi-investor-snapshot-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--twsi-line);
    border-radius: 1px;
    background: var(--twsi-line);
}

.twsi-snapshot-item {
    min-width: 0;
    min-height: 59px;
    padding: 8px 9px;
    background: rgba(255, 255, 255, 0.68);
}

.twsi-snapshot-label {
    display: block;
    color: var(--twsi-muted);
    font-size: 7px;
    font-weight: 800;
    letter-spacing: 0.55px;
    text-transform: uppercase;
}

.twsi-snapshot-value {
    display: block;
    margin-top: 8px;
    color: var(--twsi-ink);
    font-size: 14px;
    font-weight: 720;
    line-height: 1;
    letter-spacing: -0.015em;
}

.twsi-snapshot-detail {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    color: #7b7f87;
    font-size: 7.2px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Only genuine deterioration gets an alert colour. */
.twsi-snapshot-negative .twsi-snapshot-value {
    color: #a34a42;
}

/* --- Financials: tighter split workstation --- */

.twsi-terminal-panel[data-twsi-panel="financials"] {
    align-items: stretch !important;
}

.twsi-financial-strength,
.twsi-financial-history {
    height: 100%;
}

.twsi-strength-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.twsi-strength-metric {
    min-height: 60px !important;
    padding: 8px 9px !important;
}

.twsi-strength-value {
    margin-top: 8px !important;
    color: var(--twsi-ink) !important;
    font-size: 15px !important;
}

.twsi-strength-debt .twsi-strength-value {
    color: #a34a42 !important;
}

.twsi-strength-chart-container {
    height: 190px !important;
}

.twsi-table-wrapper {
    max-height: 268px !important;
    border-radius: 1px !important;
}

.twsi-financial-table th,
.twsi-financial-table td {
    padding: 7px 8px !important;
}

/* --- Capital: metrics rail beside chart --- */

.twsi-capital-workspace {
    grid-template-columns: minmax(190px, 0.26fr) minmax(0, 0.74fr) !important;
    gap: 8px !important;
}

.twsi-capital-summary {
    align-content: stretch;
}

.twsi-capital-metric {
    min-height: 54px !important;
    padding: 7px 8px !important;
}

.twsi-capital-metric-value {
    margin-top: 7px !important;
    color: var(--twsi-ink) !important;
    font-size: 15px !important;
}

.twsi-capital-buybacks .twsi-capital-metric-value {
    color: var(--twsi-blue) !important;
}

.twsi-capital-chart-area {
    border-radius: 1px !important;
}

.twsi-capital-chart-container {
    height: 264px !important;
}

/* --- Shareholders: compact metric rail + two equal charts --- */

.twsi-shareholder-summary {
    margin-bottom: 7px !important;
}

.twsi-shareholder-metric {
    min-height: 60px !important;
}

.twsi-shareholder-value {
    color: var(--twsi-ink) !important;
    font-size: 16px !important;
}

.twsi-shareholder-share-change .twsi-shareholder-value,
.twsi-shareholder-eps .twsi-shareholder-value {
    color: var(--twsi-blue) !important;
}

.twsi-shareholder-panel {
    border-radius: 1px !important;
}

.twsi-shareholder-chart-container {
    height: 215px !important;
}

/* --- Valuation: assumptions + scenarios left, implied values right --- */

.twsi-valuation > .twsi-dashboard-card-heading {
    grid-template-columns: 290px minmax(0, 1fr) !important;
    min-height: 0;
}

.twsi-valuation-workspace {
    grid-template-columns: minmax(0, 0.58fr) minmax(330px, 0.42fr) !important;
    gap: 8px !important;
}

.twsi-valuation-context-card {
    min-height: 55px !important;
    padding: 7px 8px !important;
}

.twsi-valuation-context-value {
    margin-top: 7px !important;
    color: var(--twsi-ink) !important;
    font-size: 15px !important;
}

.twsi-valuation-scenarios {
    border-radius: 1px !important;
}

.twsi-valuation-scenario {
    padding: 10px !important;
    border-radius: 0 !important;
    color: var(--twsi-ink) !important;
}

.twsi-valuation-scenario::before,
.twsi-valuation-scenario::after {
    display: none !important;
    content: none !important;
}

.twsi-valuation-bear,
.twsi-valuation-bull {
    background: rgba(255, 255, 255, 0.66) !important;
}

.twsi-valuation-base {
    background: rgba(37, 71, 255, 0.04) !important;
    box-shadow: inset 0 0 0 1px rgba(37, 71, 255, 0.13) !important;
}

.twsi-valuation-scenario-name {
    margin-bottom: 8px !important;
    color: var(--twsi-muted) !important;
    font-size: 7px !important;
}

.twsi-valuation-base .twsi-valuation-scenario-name::after {
    content: "  ·  PRIMARY";
    color: var(--twsi-blue);
}

.twsi-valuation-scenario-value {
    margin-bottom: 8px !important;
    color: var(--twsi-ink) !important;
    font-size: 21px !important;
}

.twsi-valuation-base .twsi-valuation-scenario-value {
    color: var(--twsi-blue) !important;
}

.twsi-valuation-chart-area {
    border-radius: 1px !important;
}

.twsi-valuation-chart-container {
    height: 238px !important;
}

/* --- Tablet / mobile --- */

@media (max-width: 1180px) {

    .twsi-quality-overview .twsi-dashboard-card-heading,
    .twsi-investor-snapshot .twsi-dashboard-card-heading {
        grid-template-columns: 1fr;
    }

    .twsi-investor-snapshot-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .twsi-capital-workspace,
    .twsi-valuation-workspace {
        grid-template-columns: 1fr !important;
    }

    .twsi-capital-summary {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {

    .twsi-investor-snapshot-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .twsi-snapshot-item {
        min-height: 62px;
    }

    .twsi-strength-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .twsi-capital-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .twsi-valuation > .twsi-dashboard-card-heading {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   TWSI OVERVIEW v1.7 — CLEAN TYPOGRAPHY SYSTEM
   Replaces the previous v1.5/v1.6 Overview override stacks.
========================================================= */

.twsi-terminal-overview.is-active { display:block !important; }

.twsi-overview-workspace {
    --ov-ink:#12151a;
    --ov-muted:#676d77;
    --ov-faint:#858a93;
    --ov-line:rgba(17,19,24,.13);
    --ov-soft:rgba(17,19,24,.045);
    min-width:0;
    border:1px solid var(--ov-line);
    border-radius:2px;
    background:rgba(255,255,255,.22);
    color:var(--ov-ink);
}

/* Secondary navigation — readable at normal 100% browser zoom */
.twsi-overview-functions {
    display:flex;
    align-items:center;
    gap:2px;
    min-height:42px;
    padding:0 12px;
    overflow-x:auto;
    border-bottom:1px solid var(--ov-line);
    background:rgba(249,249,247,.88);
    scrollbar-width:none;
}
.twsi-overview-functions::-webkit-scrollbar { display:none; }
.twsi-overview-functions button {
    position:relative;
    flex:0 0 auto;
    min-height:40px !important;
    padding:12px 12px 10px !important;
    border:0 !important;
    background:transparent !important;
    color:#676d77 !important;
    font:700 10.5px/1.1 inherit !important;
    letter-spacing:.01em !important;
    cursor:pointer;
}
.twsi-overview-functions button::after {
    position:absolute; right:10px; bottom:4px; left:10px;
    height:2px; background:transparent; content:"";
}
.twsi-overview-functions button:hover,
.twsi-overview-functions button.is-active { color:var(--ov-ink) !important; }
.twsi-overview-functions button.is-active::after { background:var(--twsi-blue); }

/* Snapshot ribbon */
.twsi-overview-snapshot-band { padding:0 12px !important; border-bottom:1px solid var(--ov-line); }
.twsi-overview-snapshot-band .twsi-investor-snapshot-grid {
    display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0;
    border:0 !important; border-radius:0 !important; background:transparent !important;
}
.twsi-overview-snapshot-band .twsi-snapshot-item {
    min-height:72px !important;
    padding:12px 14px 10px !important;
    border-right:1px solid rgba(17,19,24,.10);
    background:transparent !important;
}
.twsi-overview-snapshot-band .twsi-snapshot-item:last-child { border-right:0; }
.twsi-overview-snapshot-band .twsi-snapshot-label {
    color:#747a84; font-size:9px !important; font-weight:800; letter-spacing:.07em; text-transform:uppercase;
}
.twsi-overview-snapshot-band .twsi-snapshot-value {
    display:block; margin-top:8px; color:var(--ov-ink); font-size:18px !important; font-weight:740; line-height:1;
}
.twsi-overview-snapshot-band .twsi-snapshot-detail {
    display:block; margin-top:5px; color:#858a93; font-size:9px !important; line-height:1.25;
}
.twsi-overview-snapshot-band .twsi-snapshot-negative .twsi-snapshot-value { color:#b34d42 !important; }
.twsi-overview-snapshot-band .twsi-snapshot-positive .twsi-snapshot-value { color:var(--ov-ink) !important; }

/* Main matrix */
.twsi-overview-grid {
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-auto-flow:row;
    align-items:stretch;
    min-width:0;
}
.twsi-overview-module {
    min-width:0;
    padding:16px 18px 18px !important;
    border-right:1px solid var(--ov-line);
    border-bottom:1px solid var(--ov-line);
    background:rgba(255,255,255,.18) !important;
    scroll-margin-top:110px;
}
.twsi-overview-profile { grid-column:span 5 !important; }
.twsi-overview-issue { grid-column:span 3 !important; }
.twsi-overview-ratios { grid-column:span 4 !important; }
.twsi-overview-revenue { grid-column:span 6 !important; }
.twsi-overview-performance { grid-column:span 6 !important; }
.twsi-overview-changes { grid-column:span 8 !important; }
.twsi-overview-context-stack {
    grid-column:span 4; display:grid; grid-template-columns:1fr; min-width:0;
}
.twsi-overview-context-stack .twsi-overview-module { min-height:0 !important; border-right:0 !important; }
.twsi-overview-context-stack .twsi-overview-industry { border-bottom:1px solid var(--ov-line) !important; }
.twsi-overview-dividend { grid-column:span 4 !important; }
.twsi-overview-coming-data { grid-column:span 8 !important; }

/* Section headers */
.twsi-overview-module-head {
    display:flex; align-items:center; gap:10px;
    min-height:28px !important;
    margin:0 0 14px !important;
    padding:0 0 9px !important;
    border-bottom:1px solid var(--ov-line) !important;
}
.twsi-overview-module-head span {
    min-width:20px; color:var(--twsi-blue) !important;
    font-size:9.5px !important; font-weight:850 !important; letter-spacing:.05em !important;
}
.twsi-overview-module-head strong {
    color:#24282f !important; font-size:10.5px !important; font-weight:820 !important;
    letter-spacing:.10em !important; text-transform:uppercase;
}

/* Company profile */
.twsi-overview-profile-summary { min-height:112px !important; padding:1px 0 14px !important; }
.twsi-overview-profile-summary > strong {
    display:block; color:#0f1217; font-size:28px !important; font-weight:735 !important;
    line-height:1.05 !important; letter-spacing:-.025em !important;
}
.twsi-overview-profile-summary p {
    max-width:680px !important; margin:10px 0 0 !important;
    color:#5f6670 !important; font-size:11.5px !important; line-height:1.5 !important;
}

/* Data rows */
.twsi-overview-kv { min-width:0; }
.twsi-overview-kv-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; }
.twsi-overview-kv-row {
    display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:baseline;
    min-width:0; min-height:34px !important; padding:8px 0 !important;
    border-bottom:1px dotted rgba(17,19,24,.15) !important;
}
.twsi-overview-kv-row:last-child { border-bottom-color:transparent !important; }
.twsi-overview-kv-row span {
    overflow:hidden; color:#6d737d !important; font-size:10.5px !important; line-height:1.3 !important;
    text-overflow:ellipsis; white-space:nowrap;
}
.twsi-overview-kv-row strong {
    max-width:230px; overflow:hidden; color:#11151b !important;
    font-size:11.5px !important; font-weight:720 !important; line-height:1.3 !important;
    text-align:right; text-overflow:ellipsis; white-space:nowrap;
    font-variant-numeric:tabular-nums;
}
/* Ratios are compacted into two columns so the whole first row stays balanced. */
.twsi-overview-ratios #twsi-overview-ratios {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:22px;
}
.twsi-overview-ratios .twsi-overview-kv-row { min-height:38px !important; }
.twsi-overview-ratios .twsi-overview-kv-row span { font-size:10px !important; }
.twsi-overview-ratios .twsi-overview-kv-row strong { font-size:12px !important; }

.twsi-overview-empty { padding:20px 0; color:#858a93; font-size:11px !important; }
.twsi-overview-footnote {
    margin-top:10px; padding-top:9px; border-top:1px solid rgba(17,19,24,.09);
    color:#858a93; font-size:9.5px !important; line-height:1.4;
}

/* Charts */
.twsi-overview-mini-chart {
    position:relative; width:100%; height:205px !important;
    margin-top:12px !important; padding-top:12px !important;
    border-top:1px solid rgba(17,19,24,.10);
}
.twsi-overview-mini-chart-economics { height:195px !important; }

/* Business economics */
.twsi-overview-performance .twsi-quality-grid {
    display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important;
}
.twsi-overview-performance .twsi-quality-card {
    min-height:68px !important; padding:10px 12px !important;
    border-right:1px solid rgba(17,19,24,.09); border-bottom:1px solid rgba(17,19,24,.09);
    background:transparent !important;
}
.twsi-overview-performance .twsi-quality-label {
    color:#717781 !important; font-size:8.5px !important; font-weight:800 !important; letter-spacing:.07em !important;
}
.twsi-overview-performance .twsi-quality-value {
    margin-top:9px !important; color:#171a20 !important; font-size:18px !important; font-weight:735 !important;
}
.twsi-overview-performance .twsi-quality-card:first-child .twsi-quality-value { color:var(--twsi-blue) !important; }

/* TWSI Read — editorial research rows */
.twsi-overview-changes #twsi-changes-grid {
    display:grid !important; grid-template-columns:1fr !important; grid-template-rows:none !important; gap:0 !important;
}
.twsi-overview-changes #twsi-changes-grid .twsi-change-card {
    display:grid; grid-template-columns:82px minmax(190px,.75fr) minmax(0,1.35fr);
    grid-template-areas:"metric title text"; gap:16px; align-items:center;
    min-height:58px !important; padding:12px 0 !important;
    border:0 !important; border-bottom:1px solid rgba(17,19,24,.11) !important;
    border-radius:0 !important; background:transparent !important;
}
.twsi-overview-changes #twsi-changes-grid .twsi-change-card:last-child { border-bottom:0 !important; }
.twsi-overview-changes .twsi-change-top { display:none !important; }
.twsi-overview-changes .twsi-change-metric {
    grid-area:metric; margin:0 !important; color:var(--twsi-blue) !important;
    font-size:19px !important; font-weight:745 !important; line-height:1.05 !important; white-space:nowrap;
}
.twsi-overview-changes .twsi-change-negative .twsi-change-metric { color:#b34d42 !important; }
.twsi-overview-changes .twsi-change-card h4 {
    grid-area:title; margin:0 !important; color:#171a20 !important;
    font-size:12px !important; font-weight:720 !important; line-height:1.3 !important;
}
.twsi-overview-changes .twsi-change-card p {
    grid-area:text; margin:0 !important; color:#6f7580 !important;
    font-size:10.5px !important; line-height:1.45 !important;
}

/* Right context */
.twsi-overview-context-stack .twsi-overview-kv-row { min-height:31px !important; padding:7px 0 !important; }
.twsi-overview-context-stack .twsi-overview-kv-row span { font-size:10px !important; }
.twsi-overview-context-stack .twsi-overview-kv-row strong { font-size:10.8px !important; }

/* Future-data rail */
.twsi-overview-coming-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
.twsi-overview-coming-item {
    min-width:0; min-height:94px; padding:12px 16px;
    border-right:1px solid rgba(17,19,24,.10); scroll-margin-top:110px;
}
.twsi-overview-coming-item:last-child { border-right:0; }
.twsi-overview-coming-item > span {
    display:block; color:var(--twsi-blue); font-size:8.5px !important; font-weight:830; letter-spacing:.08em;
}
.twsi-overview-coming-item > strong {
    display:block; margin-top:9px; color:#22262d; font-size:13px !important; font-weight:720;
}
.twsi-overview-coming-item p {
    margin:6px 0 0 !important; color:#777d86; font-size:10px !important; line-height:1.4 !important;
}

/* Stop old Overview balancing rules from forcing artificial heights. */
@media (min-width:1181px) {
    .twsi-terminal-overview > .twsi-terminal-card { height:auto !important; min-height:0 !important; max-height:none !important; }
}

@media (max-width:1180px) {
    .twsi-overview-profile,.twsi-overview-issue,.twsi-overview-ratios,
    .twsi-overview-revenue,.twsi-overview-performance,.twsi-overview-changes,
    .twsi-overview-dividend,.twsi-overview-coming-data,.twsi-overview-context-stack {
        grid-column:span 6 !important;
    }
    .twsi-overview-ratios #twsi-overview-ratios { grid-template-columns:1fr; }
    .twsi-overview-snapshot-band .twsi-investor-snapshot-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .twsi-overview-coming-grid { grid-template-columns:1fr; }
    .twsi-overview-coming-item { border-right:0; border-bottom:1px solid rgba(17,19,24,.09); }
}

@media (max-width:700px) {
    .twsi-overview-functions { position:sticky; top:42px; z-index:22; padding:0 6px; background:rgba(249,249,247,.98); }
    .twsi-overview-functions button { min-height:42px !important; padding:12px 10px !important; font-size:10px !important; }
    .twsi-overview-snapshot-band .twsi-investor-snapshot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .twsi-overview-profile,.twsi-overview-issue,.twsi-overview-ratios,
    .twsi-overview-revenue,.twsi-overview-performance,.twsi-overview-changes,
    .twsi-overview-dividend,.twsi-overview-coming-data,.twsi-overview-context-stack {
        grid-column:1 / -1 !important; min-height:0 !important;
    }
    .twsi-overview-module { padding:15px 14px 17px !important; border-right:0; }
    .twsi-overview-profile-summary > strong { font-size:25px !important; }
    .twsi-overview-profile-summary p { font-size:11px !important; }
    .twsi-overview-kv-2,.twsi-overview-ratios #twsi-overview-ratios { grid-template-columns:1fr; }
    .twsi-overview-kv-row { min-height:36px !important; padding:8px 0 !important; }
    .twsi-overview-kv-row span { font-size:10.5px !important; }
    .twsi-overview-kv-row strong { max-width:52vw; font-size:11.5px !important; }
    .twsi-overview-mini-chart,.twsi-overview-mini-chart-economics { height:210px !important; }
    .twsi-overview-changes #twsi-changes-grid .twsi-change-card {
        grid-template-columns:72px minmax(0,1fr); grid-template-areas:"metric title" "metric text";
        gap:5px 12px; align-items:start;
    }
    .twsi-overview-changes .twsi-change-metric { font-size:17px !important; }
    .twsi-overview-changes .twsi-change-card h4 { font-size:11.5px !important; }
    .twsi-overview-changes .twsi-change-card p { font-size:10.5px !important; }
}


/* =========================================================
   TWSI OVERVIEW TRUE SUBTABS v1.8
========================================================= */

.twsi-overview-subpanel {
    display: none;
    min-width: 0;
}

.twsi-overview-subpanel.is-active {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    min-width: 0;
}

.twsi-overview-functions {
    position: sticky;
    top: 0;
    z-index: 34;
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
    background: rgba(249, 249, 247, 0.97) !important;
    backdrop-filter: blur(10px);
}

.twsi-overview-functions::-webkit-scrollbar {
    display: none;
}

.twsi-overview-functions button {
    position: relative;
    flex: 0 0 auto;
    min-height: 45px !important;
    padding: 12px 15px 11px !important;
    border: 0 !important;
    background: transparent !important;
    color: #656b75 !important;
    font-size: 11px !important;
    font-weight: 620 !important;
}

.twsi-overview-functions button.is-active {
    color: #111318 !important;
    font-weight: 740 !important;
}

.twsi-overview-functions button::after {
    position: absolute;
    right: 12px;
    bottom: 0;
    left: 12px;
    height: 2px;
    background: transparent;
    content: "";
}

.twsi-overview-functions button.is-active::after {
    background: var(--twsi-blue);
}

.twsi-overview-subpanel > .twsi-overview-module {
    grid-column: 1 / -1;
}

.twsi-overview-grid-profile {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    width: 100%;
}

.twsi-overview-grid-profile .twsi-overview-profile {
    grid-column: span 7 !important;
    min-height: 330px !important;
}

.twsi-overview-grid-profile .twsi-overview-profile-economics {
    grid-column: span 5 !important;
    min-height: 330px !important;
}

.twsi-overview-grid-profile .twsi-overview-profile-read {
    grid-column: 1 / -1 !important;
}

.twsi-overview-profile-economics .twsi-quality-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.twsi-overview-profile-economics .twsi-quality-card {
    min-height: 86px !important;
    padding: 13px 14px !important;
}

.twsi-overview-profile-economics .twsi-quality-value {
    margin-top: 12px !important;
    font-size: 19px !important;
}

.twsi-overview-profile-read #twsi-changes-grid .twsi-change-card {
    grid-template-columns: 90px minmax(220px, .75fr) minmax(0, 1.4fr) !important;
    gap: 14px !important;
    min-height: 55px !important;
    padding: 12px 0 !important;
}

.twsi-overview-profile-read .twsi-change-metric {
    font-size: 18px !important;
}

.twsi-overview-profile-read .twsi-change-card h4 {
    font-size: 11px !important;
}

.twsi-overview-profile-read .twsi-change-card p {
    font-size: 9.5px !important;
}

.twsi-overview-full-module {
    grid-column: 1 / -1 !important;
    min-height: 0 !important;
}

.twsi-overview-kv-3 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 28px !important;
}

.twsi-overview-kv-3 .twsi-overview-kv-row {
    min-height: 44px !important;
    padding: 10px 0 !important;
}

.twsi-overview-ratio-chart,
.twsi-overview-revenue-chart {
    height: 340px !important;
    margin-top: 18px !important;
}

.twsi-overview-external {
    min-height: 390px !important;
}

.twsi-overview-external-status {
    max-width: 760px;
    padding: 44px 5px 32px;
}

.twsi-overview-external-status > span {
    display: block;
    color: var(--twsi-blue);
    font-size: 8px !important;
    font-weight: 850;
    letter-spacing: 0.9px;
}

.twsi-overview-external-status > strong {
    display: block;
    margin-top: 13px;
    color: #171a20;
    font-size: 23px !important;
    font-weight: 730;
}

.twsi-overview-external-status p {
    margin: 10px 0 0 !important;
    color: #717781;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

@media (max-width: 1050px) {
    .twsi-overview-grid-profile .twsi-overview-profile,
    .twsi-overview-grid-profile .twsi-overview-profile-economics {
        grid-column: 1 / -1 !important;
        min-height: 0 !important;
    }

    .twsi-overview-kv-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .twsi-overview-functions button {
        min-height: 42px !important;
        padding: 11px 12px 10px !important;
        font-size: 10px !important;
    }

    .twsi-overview-kv-3 {
        grid-template-columns: 1fr !important;
    }

    .twsi-overview-ratio-chart,
    .twsi-overview-revenue-chart {
        height: 245px !important;
    }

    .twsi-overview-profile-read #twsi-changes-grid .twsi-change-card {
        grid-template-columns: 72px minmax(0, 1fr) !important;
    }
}

/* =========================================================
   v1.8.1 PROFILE SUBTAB WIDTH FIX
   The active subpanel must be a full-width block. Inner
   overview grids control their own column layouts.
========================================================= */

.twsi-overview-subpanel.is-active {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
}

.twsi-overview-subpanel > .twsi-overview-grid,
.twsi-overview-subpanel > .twsi-overview-module {
    width: 100% !important;
    max-width: none !important;
}

.twsi-overview-grid-profile {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

.twsi-overview-grid-profile .twsi-overview-profile {
    grid-column: span 7 !important;
}

.twsi-overview-grid-profile .twsi-overview-profile-economics {
    grid-column: span 5 !important;
}

.twsi-overview-grid-profile .twsi-overview-profile-read {
    grid-column: 1 / -1 !important;
}

@media (max-width: 1050px) {
    .twsi-overview-grid-profile .twsi-overview-profile,
    .twsi-overview-grid-profile .twsi-overview-profile-economics,
    .twsi-overview-grid-profile .twsi-overview-profile-read {
        grid-column: 1 / -1 !important;
    }
}

/* =========================================================
   TWSI PROFILE TERMINAL v1.9
   Bloomberg information architecture + TWSI editorial styling.
========================================================= */

.twsi-profile-terminal {
    width: 100%;
    min-width: 0;
    background: rgba(255, 255, 255, 0.15);
}

/* Identity header */
.twsi-profile-identity {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    min-width: 0;
    border-bottom: 1px solid rgba(17, 19, 24, 0.16);
}

.twsi-profile-identity-main {
    min-width: 0;
    padding: 22px 24px 20px;
}

.twsi-profile-filing-rail {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 20px 22px;
    border-left: 1px solid rgba(17, 19, 24, 0.13);
    background: rgba(17, 19, 24, 0.018);
}

.twsi-profile-kicker,
.twsi-profile-filing-rail > span {
    color: var(--twsi-blue);
    font-size: 8px !important;
    font-weight: 850;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

.twsi-profile-title-row {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-top: 7px;
}

#twsi-profile-company-name {
    margin: 0 !important;
    padding: 0 !important;
    color: #111318;
    font-size: clamp(26px, 2.1vw, 35px) !important;
    font-weight: 760 !important;
    line-height: 1 !important;
    letter-spacing: -0.035em !important;
}

.twsi-profile-source-badge {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 3px 7px;
    border: 1px solid rgba(37, 71, 255, 0.20);
    border-radius: 2px;
    color: var(--twsi-blue);
    background: rgba(37, 71, 255, 0.035);
    font-size: 7px !important;
    font-weight: 800;
    letter-spacing: .65px;
}

.twsi-profile-identity-line {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 9px;
}

.twsi-profile-identity-line span {
    color: #666c76;
    font-size: 10px !important;
    font-weight: 590;
}

.twsi-profile-identity-line span:not(:last-child)::after {
    margin: 0 8px;
    color: #a3a7ae;
    content: "|";
}

.twsi-profile-description {
    max-width: 1000px;
    margin: 15px 0 0 !important;
    color: #2f343c;
    font-size: 11px !important;
    line-height: 1.55 !important;
}

.twsi-profile-quick-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 14px;
}

.twsi-profile-quick-meta > span {
    display: inline-flex;
    gap: 5px;
    align-items: baseline;
    padding-right: 12px;
    margin-right: 12px;
    border-right: 1px solid rgba(17, 19, 24, 0.13);
}

.twsi-profile-quick-meta > span:last-child {
    border-right: 0;
}

.twsi-profile-quick-meta small {
    color: #858a93;
    font-size: 8px !important;
}

.twsi-profile-quick-meta strong {
    color: #4a5059;
    font-size: 8.5px !important;
    font-weight: 650;
}

.twsi-profile-filing-rail > strong {
    margin-top: 13px;
    color: #111318;
    font-size: 13px !important;
    font-weight: 730;
    line-height: 1.35;
}

.twsi-profile-filing-rail > small {
    margin-top: 7px;
    color: #797e87;
    font-size: 8.5px !important;
    line-height: 1.4;
}

/* Primary information grid */
.twsi-profile-primary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
    border-bottom: 1px solid rgba(17, 19, 24, 0.15);
}

.twsi-profile-block {
    min-width: 0;
    padding: 17px 20px 18px;
    border-right: 1px solid rgba(17, 19, 24, 0.13);
}

.twsi-profile-primary-grid .twsi-profile-block:last-child,
.twsi-profile-secondary-grid .twsi-profile-block:last-child {
    border-right: 0;
}

.twsi-profile-block-head {
    display: flex;
    gap: 8px;
    align-items: center;
    min-height: 23px;
    margin-bottom: 11px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(17, 19, 24, 0.10);
}

.twsi-profile-block-head span {
    color: var(--twsi-blue);
    font-size: 7.5px !important;
    font-weight: 850;
}

.twsi-profile-block-head strong {
    color: #262b32;
    font-size: 8px !important;
    font-weight: 820;
    letter-spacing: .78px;
}

/* Reuse generated key/value rows, but profile-specific */
.twsi-profile-data-list .twsi-overview-kv-row {
    min-height: 35px !important;
    padding: 7px 0 !important;
    border-bottom: 1px dotted rgba(17, 19, 24, 0.13) !important;
}

.twsi-profile-data-list .twsi-overview-kv-row:last-child {
    border-bottom: 0 !important;
}

.twsi-profile-data-list .twsi-overview-kv-row span {
    color: #727883 !important;
    font-size: 8.7px !important;
}

.twsi-profile-data-list .twsi-overview-kv-row strong {
    max-width: 62% !important;
    color: #111318 !important;
    font-size: 9.5px !important;
    font-weight: 690 !important;
    text-align: right;
    overflow-wrap: anywhere;
}

/* Bottom: mix + characteristics */
.twsi-profile-secondary-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    min-width: 0;
    border-bottom: 1px solid rgba(17, 19, 24, 0.14);
}

.twsi-profile-business-mix,
.twsi-profile-characteristics {
    min-height: 205px;
}

.twsi-profile-mix-row {
    padding: 7px 0;
}

.twsi-profile-mix-copy {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
}

.twsi-profile-mix-copy span {
    color: #454b54;
    font-size: 9px !important;
}

.twsi-profile-mix-copy strong {
    color: #171a20;
    font-size: 9px !important;
    font-weight: 720;
}

.twsi-profile-mix-track {
    height: 5px;
    margin-top: 7px;
    overflow: hidden;
    border-radius: 2px;
    background: rgba(17, 19, 24, 0.06);
}

.twsi-profile-mix-track > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--twsi-blue);
}

.twsi-profile-data-pending {
    max-width: 620px;
    padding: 18px 2px 4px;
}

.twsi-profile-data-pending > span {
    display: block;
    color: var(--twsi-blue);
    font-size: 7.5px !important;
    font-weight: 850;
    letter-spacing: .8px;
}

.twsi-profile-data-pending > strong {
    display: block;
    margin-top: 9px;
    color: #252a31;
    font-size: 12px !important;
    font-weight: 710;
}

.twsi-profile-data-pending p {
    margin: 7px 0 0 !important;
    color: #777c85;
    font-size: 9px !important;
    line-height: 1.5 !important;
}

.twsi-profile-characteristic {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    min-height: 39px;
    padding: 7px 0;
    border-bottom: 1px dotted rgba(17, 19, 24, 0.13);
}

.twsi-profile-characteristic:last-child {
    border-bottom: 0;
}

.twsi-profile-characteristic > div {
    min-width: 0;
}

.twsi-profile-characteristic span {
    display: block;
    color: #555b64;
    font-size: 9px !important;
}

.twsi-profile-characteristic small {
    display: block;
    margin-top: 2px;
    color: #90949b;
    font-size: 7.5px !important;
}

.twsi-profile-characteristic > strong {
    flex: 0 0 auto;
    font-size: 9px !important;
    font-weight: 820;
    letter-spacing: .25px;
}

.twsi-profile-characteristic-positive > strong {
    color: var(--twsi-positive);
}

.twsi-profile-characteristic-negative > strong {
    color: var(--twsi-negative);
}

.twsi-profile-characteristic-warning > strong {
    color: var(--twsi-orange);
}

.twsi-profile-characteristic-neutral > strong {
    color: var(--twsi-blue);
}

.twsi-profile-source-note {
    padding: 9px 20px 10px;
    color: #8a8f97;
    background: rgba(17, 19, 24, 0.012);
    font-size: 7.5px !important;
    line-height: 1.45;
}

/* Remove the old profile-grid behavior from the profile screen */
.twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-overview-grid-profile {
    display: none !important;
}

@media (max-width: 1050px) {
    .twsi-profile-identity {
        grid-template-columns: 1fr;
    }

    .twsi-profile-filing-rail {
        border-top: 1px solid rgba(17, 19, 24, 0.11);
        border-left: 0;
    }

    .twsi-profile-primary-grid {
        grid-template-columns: 1fr 1fr;
    }

    .twsi-profile-primary-grid .twsi-profile-block:nth-child(2) {
        border-right: 0;
    }

    .twsi-profile-primary-grid .twsi-profile-block:nth-child(3) {
        grid-column: 1 / -1;
        border-top: 1px solid rgba(17, 19, 24, 0.11);
    }
}

@media (max-width: 700px) {
    .twsi-profile-identity-main,
    .twsi-profile-filing-rail,
    .twsi-profile-block {
        padding-right: 14px;
        padding-left: 14px;
    }

    .twsi-profile-primary-grid,
    .twsi-profile-secondary-grid {
        grid-template-columns: 1fr;
    }

    .twsi-profile-primary-grid .twsi-profile-block,
    .twsi-profile-secondary-grid .twsi-profile-block {
        grid-column: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(17, 19, 24, 0.11);
    }

    .twsi-profile-title-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    #twsi-profile-company-name {
        font-size: 28px !important;
    }

    .twsi-profile-description {
        font-size: 10.5px !important;
    }

    .twsi-profile-quick-meta {
        display: grid;
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .twsi-profile-quick-meta > span {
        padding: 0;
        margin: 0;
        border-right: 0;
    }

    .twsi-profile-business-mix,
    .twsi-profile-characteristics {
        min-height: 0;
    }
}


/* =========================================================
   TWSI PROFILE ENGINE v2.0 — SOURCE PROVENANCE
========================================================= */

.twsi-profile-source-line {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: baseline;
    margin-top: 8px;
    color: #858a92;
    font-size: 7.5px !important;
}

.twsi-profile-source-line > span {
    color: var(--twsi-blue);
    font-size: 6.8px !important;
    font-weight: 850;
    letter-spacing: .7px;
}

.twsi-profile-source-line > strong,
.twsi-profile-source-line > a {
    color: #71767e;
    font-size: 7.7px !important;
    font-weight: 620;
    text-decoration: none;
}

.twsi-profile-source-line > a:hover {
    color: var(--twsi-blue);
    text-decoration: underline;
}

.twsi-profile-business-mix-body:not(:empty) +
.twsi-profile-source-line {
    padding-top: 7px;
    border-top: 1px solid rgba(17, 19, 24, 0.07);
}

/* =========================================================
   v2.0.1 PROFILE DATA — NO TRUNCATION
   Must remain at the very bottom of analyzer.css.
========================================================= */

.twsi-profile-terminal .twsi-profile-data-list {
    width: 100% !important;
    min-width: 0 !important;
}

.twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row {
    display: grid !important;
    grid-template-columns: minmax(105px, 0.8fr) minmax(0, 1.2fr) !important;
    gap: 16px !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
}

.twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row span,
.twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row strong {
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;

    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;

    word-break: normal !important;
    overflow-wrap: break-word !important;
}

.twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row span {
    line-height: 1.4 !important;
}

.twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row strong {
    justify-self: end !important;
    text-align: right !important;
    line-height: 1.4 !important;
}

/* Long values such as legal name, industry and HQ should get room. */
.twsi-profile-terminal .twsi-profile-primary-grid {
    grid-template-columns:
        minmax(0, 1.02fr)
        minmax(0, 1.02fr)
        minmax(0, 1.16fr) !important;
}

/* Phones/CIKs/EINs must never shrink into ellipsis. */
.twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row strong {
    font-variant-numeric: tabular-nums !important;
}

/* Mobile: let values sit below labels when space is tight. */
@media (max-width: 700px) {
    .twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row {
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }

    .twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row strong {
        justify-self: start !important;
        text-align: left !important;
    }
}

/* =========================================================
   v2.0.2 PROFILE SCALE + COMPACT ROW RHYTHM
   Larger readable typography, tighter label/value spacing,
   less "zoomed out" terminal feel.
========================================================= */

/* Overall profile scale */
.twsi-profile-terminal {
    font-size: 13px !important;
}

.twsi-profile-identity-main {
    padding: 24px 26px 22px !important;
}

.twsi-profile-kicker,
.twsi-profile-filing-rail > span {
    font-size: 10px !important;
    letter-spacing: 1px !important;
}

#twsi-profile-company-name {
    font-size: clamp(32px, 2.35vw, 42px) !important;
    line-height: 1.02 !important;
}

.twsi-profile-identity-line span {
    font-size: 12px !important;
}

.twsi-profile-description {
    max-width: 1060px !important;
    font-size: 13px !important;
    line-height: 1.58 !important;
}

.twsi-profile-quick-meta small {
    font-size: 9.5px !important;
}

.twsi-profile-quick-meta strong {
    font-size: 10px !important;
}

.twsi-profile-filing-rail > strong {
    font-size: 15px !important;
}

.twsi-profile-filing-rail > small {
    font-size: 10px !important;
}

/* Section headings */
.twsi-profile-block {
    padding: 18px 22px 20px !important;
}

.twsi-profile-block-head {
    min-height: 28px !important;
    margin-bottom: 12px !important;
    padding-bottom: 9px !important;
}

.twsi-profile-block-head span {
    font-size: 8.5px !important;
}

.twsi-profile-block-head strong {
    font-size: 10px !important;
    letter-spacing: .85px !important;
}

/*
 * IMPORTANT:
 * Keep label/value pairs visually close.
 * Do NOT distribute them to opposite sides of the panel.
 */
.twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row {
    display: grid !important;
    grid-template-columns: 150px minmax(0, 1fr) !important;
    column-gap: 18px !important;
    align-items: baseline !important;

    min-height: 42px !important;
    padding: 9px 0 !important;
}

.twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row span {
    font-size: 11px !important;
    line-height: 1.35 !important;
}

.twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row strong {
    justify-self: start !important;
    text-align: left !important;

    font-size: 11.5px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;

    max-width: 100% !important;
}

/* Give the three top data blocks a more natural workstation proportion */
.twsi-profile-terminal .twsi-profile-primary-grid {
    grid-template-columns:
        minmax(0, 0.98fr)
        minmax(0, 1.02fr)
        minmax(0, 1.08fr) !important;
}

/* Bottom panels */
.twsi-profile-business-mix,
.twsi-profile-characteristics {
    min-height: 190px !important;
}

.twsi-profile-data-pending > span {
    font-size: 8.5px !important;
}

.twsi-profile-data-pending > strong {
    font-size: 15px !important;
}

.twsi-profile-data-pending p {
    font-size: 10.5px !important;
}

.twsi-profile-characteristic {
    min-height: 47px !important;
    padding: 9px 0 !important;
}

.twsi-profile-characteristic span {
    font-size: 11px !important;
}

.twsi-profile-characteristic small {
    margin-top: 3px !important;
    font-size: 9px !important;
}

.twsi-profile-characteristic > strong {
    font-size: 10.5px !important;
}

.twsi-profile-source-line {
    font-size: 8.5px !important;
}

.twsi-profile-source-line > span {
    font-size: 7.8px !important;
}

.twsi-profile-source-line > strong,
.twsi-profile-source-line > a {
    font-size: 8.8px !important;
}

.twsi-profile-source-note {
    padding: 11px 22px 12px !important;
    font-size: 8.8px !important;
}

/* Slightly reduce excessive vertical air in the primary data region */
.twsi-profile-primary-grid,
.twsi-profile-secondary-grid {
    align-items: stretch !important;
}

/* Desktop-wide: keep value columns comfortably near labels */
@media (min-width: 1280px) {
    .twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row {
        grid-template-columns: 138px minmax(0, 1fr) !important;
        column-gap: 16px !important;
    }
}

/* Tablet */
@media (max-width: 1050px) {
    .twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row {
        grid-template-columns: 145px minmax(0, 1fr) !important;
    }
}

/* Mobile */
@media (max-width: 700px) {
    .twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row {
        grid-template-columns: 1fr !important;
        row-gap: 5px !important;
    }

    .twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row strong {
        justify-self: start !important;
        text-align: left !important;
    }

    #twsi-profile-company-name {
        font-size: 30px !important;
    }

    .twsi-profile-description {
        font-size: 12px !important;
    }
}


/* =========================================================
   v2.2 — PREMIUM ISSUE DATA TERMINAL
========================================================= */
.twsi-issue-terminal{border:1px solid var(--ov-line);background:rgba(255,255,255,.18);color:var(--ov-ink);font-size:13px}
.twsi-issue-hero{display:grid;grid-template-columns:1fr 250px;border-bottom:1px solid var(--ov-line);min-height:132px}
.twsi-issue-hero>div:first-child{padding:22px 26px}.twsi-issue-kicker{display:block;font-size:9px;font-weight:800;letter-spacing:1.1px;color:var(--twsi-blue);margin-bottom:8px}
.twsi-issue-hero h3{margin:0 0 5px!important;font-size:30px!important;line-height:1!important;letter-spacing:-.7px}.twsi-issue-hero strong{font-size:13px}.twsi-issue-hero p{margin:9px 0 0;font-size:12px;color:var(--ov-muted)}
.twsi-issue-status{border-left:1px solid var(--ov-line);padding:24px;display:flex;flex-direction:column;align-items:flex-end;gap:7px}.twsi-issue-status span{font-size:12px;font-weight:800;color:#00885a}.twsi-issue-status small{font-size:10px;color:var(--ov-muted)}
.twsi-issue-ribbon{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--ov-line);background:rgba(37,71,255,.035)}.twsi-issue-ribbon>div{padding:13px 20px;border-right:1px solid var(--ov-line)}.twsi-issue-ribbon>div:last-child{border-right:0}.twsi-issue-ribbon strong{display:block;font-size:14px;line-height:1.15}.twsi-issue-ribbon span{display:block;margin-top:5px;font-size:8px;font-weight:800;letter-spacing:.7px;color:var(--ov-muted)}
.twsi-issue-grid{display:grid;grid-template-columns:1fr 1fr}.twsi-issue-card{padding:18px 22px 20px;border-right:1px solid var(--ov-line);border-bottom:1px solid var(--ov-line);min-width:0}.twsi-issue-grid .twsi-issue-card:nth-child(2n){border-right:0}
.twsi-issue-card header{display:flex;gap:10px;align-items:center;padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--ov-line)}.twsi-issue-card header span{font-size:8px;font-weight:900;color:var(--twsi-blue)}.twsi-issue-card header strong{font-size:10px;letter-spacing:.8px}
.twsi-issue-fields{display:grid;grid-template-columns:1fr 1fr;column-gap:34px}.twsi-issue-field{padding:11px 0 10px;border-bottom:1px dotted rgba(18,24,40,.15);min-width:0}.twsi-issue-field span{display:block;font-size:9px;font-weight:700;text-transform:uppercase;color:var(--ov-muted);margin-bottom:4px}.twsi-issue-field strong{display:block;font-size:13px;line-height:1.25;overflow-wrap:anywhere}.twsi-issue-field strong.is-unavailable{color:#9aa0ad;font-weight:600}
.twsi-issue-bottom-grid{display:grid;grid-template-columns:1.45fr .85fr}.twsi-issue-bottom-grid .twsi-issue-card:last-child{border-right:0}.twsi-issue-fields-single{grid-template-columns:1fr}
.twsi-issue-history-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:12px 2px 18px}.twsi-issue-history-stats span{display:block;font-size:8px;font-weight:800;color:var(--ov-muted);margin-bottom:5px}.twsi-issue-history-stats strong{font-size:13px}.twsi-issue-timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);padding-top:22px;text-align:center}.twsi-issue-timeline i{position:absolute;left:8%;right:8%;top:9px;height:2px;background:rgba(37,71,255,.25)}.twsi-issue-timeline b{position:relative;justify-self:center;width:10px;height:10px;border-radius:50%;background:var(--twsi-blue);margin-top:-17px}.twsi-issue-timeline span{font-size:8px;font-weight:800;color:var(--ov-muted);margin-top:7px}
.twsi-issue-note{padding:10px 22px;font-size:8.5px;color:var(--ov-muted)}
@media(max-width:900px){.twsi-issue-hero{grid-template-columns:1fr}.twsi-issue-status{border-left:0;border-top:1px solid var(--ov-line);align-items:flex-start}.twsi-issue-ribbon{grid-template-columns:repeat(2,1fr)}.twsi-issue-grid,.twsi-issue-bottom-grid{grid-template-columns:1fr}.twsi-issue-card{border-right:0}.twsi-issue-fields{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.twsi-issue-fields{grid-template-columns:1fr}.twsi-issue-ribbon{grid-template-columns:1fr 1fr}.twsi-issue-hero h3{font-size:25px!important}}


/* =========================================================
   v2.3 OVERVIEW > RATIOS WORKSTATION
========================================================= */
.twsi-ratios-terminal{border:1px solid rgba(17,24,39,.15);background:rgba(255,255,255,.28)}
.twsi-ratio-snapshot,.twsi-ratio-quality,.twsi-ratio-peers{padding:20px 22px}
.twsi-ratio-section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid rgba(17,24,39,.14);padding-bottom:10px;margin-bottom:14px}
.twsi-ratio-section-head>div{display:flex;align-items:baseline;gap:10px}
.twsi-ratio-section-head span,.twsi-ratio-panel-head span{font-size:10px;font-weight:800;color:#2547ff;letter-spacing:.08em}
.twsi-ratio-section-head strong,.twsi-ratio-panel-head strong{font-size:13px;font-weight:800;letter-spacing:.07em}
.twsi-ratio-section-head small{font-size:10px;color:#777;font-weight:500;letter-spacing:0}
.twsi-ratio-section-head p{margin:0;font-size:10px;color:#777}
.twsi-ratio-snapshot-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid rgba(17,24,39,.14)}
.twsi-ratio-snapshot-item{padding:15px 12px;text-align:center;border-right:1px solid rgba(17,24,39,.12)}
.twsi-ratio-snapshot-item:last-child{border-right:0}
.twsi-ratio-snapshot-item span{display:block;min-height:28px;font-size:10px;font-weight:700;color:#555;text-transform:uppercase}
.twsi-ratio-snapshot-item strong{display:block;font-size:24px;line-height:1.15;margin:3px 0 6px;color:#111}
.twsi-ratio-snapshot-item small{display:block;font-size:11px;font-weight:700}
.twsi-ratio-snapshot-item em{display:block;margin-top:3px;font-size:9px;font-style:normal;color:#888}
.twsi-ratios-terminal .is-positive{color:#07834f!important}.twsi-ratios-terminal .is-negative{color:#d95542!important}.twsi-ratios-terminal .is-warning{color:#d97706!important}.twsi-ratios-terminal .is-neutral{color:#2547ff!important}
.twsi-ratio-panel-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(17,24,39,.14)}
.twsi-ratio-panel{padding:18px 22px 14px;border-right:1px solid rgba(17,24,39,.14);border-bottom:1px solid rgba(17,24,39,.14)}
.twsi-ratio-panel:nth-child(2n){border-right:0}
.twsi-ratio-panel-head{display:flex;gap:9px;align-items:baseline;padding-bottom:10px;border-bottom:1px solid rgba(17,24,39,.14)}
.twsi-ratio-table-head,.twsi-ratio-row{display:grid;grid-template-columns:minmax(150px,1.2fr) 90px 130px;gap:12px;align-items:center}
.twsi-ratio-table-head{padding:10px 0 6px;font-size:9px;color:#777;letter-spacing:.04em}
.twsi-ratio-table-head span:nth-child(2){text-align:right}.twsi-ratio-table-head span:nth-child(3){text-align:center}
.twsi-ratio-row{min-height:40px;border-top:1px dotted rgba(17,24,39,.14);font-size:12px}
.twsi-ratio-row:first-child{border-top:0}
.twsi-ratio-row>span{color:#343a40}.twsi-ratio-row>strong{text-align:right;font-size:14px;color:#111}
.twsi-ratio-row>div{height:29px;display:flex;align-items:center;justify-content:center}
.twsi-ratio-spark{width:118px;height:28px;overflow:visible}.twsi-ratio-spark path{fill:none;stroke:#2547ff;stroke-width:2;vector-effect:non-scaling-stroke}.twsi-ratio-spark.is-positive path{stroke:#07834f}.twsi-ratio-spark.is-warning path{stroke:#d97706}
.twsi-ratio-no-trend{font-size:11px;color:#999}
.twsi-ratio-quality{border-bottom:1px solid rgba(17,24,39,.14)}
.twsi-ratio-quality-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(17,24,39,.14)}
.twsi-ratio-quality-item{padding:14px 18px;border-right:1px solid rgba(17,24,39,.12)}
.twsi-ratio-quality-item:last-child{border-right:0}
.twsi-ratio-quality-item span{display:block;font-size:9px;color:#2547ff;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.twsi-ratio-quality-item strong{display:block;font-size:18px;margin:5px 0 7px}
.twsi-ratio-quality-item small,.twsi-ratio-quality-item em{display:block;font-size:10px;color:#777;font-style:normal}.twsi-ratio-quality-item em{margin-top:3px;font-weight:700;color:#333}
.twsi-ratio-peer-placeholder{display:flex;justify-content:space-between;gap:30px;padding:18px;border:1px dashed rgba(37,71,255,.28);background:rgba(37,71,255,.025)}
.twsi-ratio-peer-placeholder strong{font-size:13px}.twsi-ratio-peer-placeholder span{max-width:650px;font-size:10px;line-height:1.5;color:#777}
@media(max-width:1100px){.twsi-ratio-snapshot-grid{grid-template-columns:repeat(3,1fr)}.twsi-ratio-snapshot-item:nth-child(3){border-right:0}.twsi-ratio-snapshot-item:nth-child(-n+3){border-bottom:1px solid rgba(17,24,39,.12)}}
@media(max-width:820px){.twsi-ratio-panel-grid{grid-template-columns:1fr}.twsi-ratio-panel{border-right:0}.twsi-ratio-quality-grid{grid-template-columns:1fr 1fr}.twsi-ratio-quality-item:nth-child(2){border-right:0}.twsi-ratio-quality-item:nth-child(-n+2){border-bottom:1px solid rgba(17,24,39,.12)}}
@media(max-width:600px){.twsi-ratio-snapshot-grid{grid-template-columns:1fr 1fr}.twsi-ratio-snapshot-item{border-bottom:1px solid rgba(17,24,39,.12)}.twsi-ratio-snapshot-item:nth-child(2n){border-right:0}.twsi-ratio-table-head,.twsi-ratio-row{grid-template-columns:minmax(105px,1fr) 70px 100px;gap:7px}.twsi-ratio-spark{width:96px}.twsi-ratio-quality-grid{grid-template-columns:1fr}.twsi-ratio-quality-item{border-right:0;border-bottom:1px solid rgba(17,24,39,.12)}.twsi-ratio-peer-placeholder{display:block}.twsi-ratio-peer-placeholder span{display:block;margin-top:7px}}

/* =========================================================
   v2.4 REVENUE & EPS + INDUSTRY WORKSTATIONS
========================================================= */
.twsi-rev-workstation,.twsi-industry-workstation{border:1px solid rgba(17,24,39,.15);background:rgba(255,255,255,.24)}
.twsi-rev-snapshot,.twsi-industry-snapshot,.twsi-rev-external,.twsi-industry-outlook{padding:20px 22px}
.twsi-workstation-head{border-bottom:1px solid rgba(17,24,39,.14);padding-bottom:10px;margin-bottom:14px}
.twsi-workstation-head>div{display:flex;align-items:baseline;gap:10px}.twsi-workstation-head span,.twsi-work-panel-head span{font-size:10px;font-weight:800;color:#2547ff;letter-spacing:.08em}.twsi-workstation-head strong,.twsi-work-panel-head strong{font-size:13px;letter-spacing:.065em}.twsi-workstation-head small{font-size:10px;color:#777}
.twsi-rev-snapshot-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(17,24,39,.14)}
.twsi-rev-card{padding:17px;text-align:center;border-right:1px solid rgba(17,24,39,.12)}.twsi-rev-card:last-child{border-right:0}.twsi-rev-card span{display:block;font-size:10px;color:#555;text-transform:uppercase}.twsi-rev-card strong{display:block;font-size:26px;margin:7px 0}.twsi-rev-card small{display:block;font-size:11px;font-weight:800}.twsi-rev-card em{display:block;font-size:9px;color:#888;font-style:normal;margin-top:3px}
.twsi-rev-workstation .positive,.twsi-industry-workstation .positive{color:#07834f!important}.twsi-rev-workstation .negative{color:#d95542!important}.twsi-rev-workstation .muted{color:#8b8f97!important}
.twsi-rev-chart-grid,.twsi-industry-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(17,24,39,.14)}
.twsi-work-panel{padding:17px 20px;border-right:1px solid rgba(17,24,39,.14);border-bottom:1px solid rgba(17,24,39,.14);min-width:0}.twsi-work-panel:nth-child(2n){border-right:0}.twsi-work-panel-head{display:flex;gap:9px;padding-bottom:9px;border-bottom:1px solid rgba(17,24,39,.13)}
.twsi-native-chart{height:220px;padding-top:12px}.twsi-native-chart svg{width:100%;height:100%;overflow:visible}.twsi-native-chart .axis{stroke:rgba(17,24,39,.28);stroke-width:1}.twsi-native-chart .main-line{fill:none;stroke:#2547ff;stroke-width:2.4;vector-effect:non-scaling-stroke}.twsi-native-chart circle{fill:#2547ff}.twsi-native-chart text{font-size:10px;fill:#555}.twsi-chart-caption{font-size:10px;color:#777;margin-bottom:-10px}
.twsi-mini-series-table>div,.twsi-growth-matrix>div{display:grid;grid-template-columns:110px repeat(5,1fr);border-top:1px dotted rgba(17,24,39,.15);min-height:30px;align-items:center}.twsi-mini-series-table span,.twsi-growth-matrix span{font-size:10px;color:#666}.twsi-mini-series-table b,.twsi-growth-matrix b{text-align:center;font-size:10px}.twsi-cagr{margin-top:9px;font-size:10px;color:#666}.twsi-cagr strong{color:#2547ff;font-size:12px}
.twsi-driver-list>div{display:grid;grid-template-columns:145px 1fr 65px;align-items:center;gap:10px;min-height:42px;border-bottom:1px dotted rgba(17,24,39,.15);font-size:11px}.twsi-driver-list i{height:8px;background:rgba(17,24,39,.08);display:block}.twsi-driver-list u{height:100%;display:block;background:#2547ff;text-decoration:none}.twsi-driver-list strong{text-align:right}.twsi-driver-list .total{border-top:1px solid rgba(17,24,39,.35);font-weight:800}
.twsi-data-unavailable{display:flex;justify-content:space-between;gap:30px;padding:18px;border:1px dashed rgba(37,71,255,.28);background:rgba(37,71,255,.025)}.twsi-data-unavailable strong{font-size:13px}.twsi-data-unavailable span{max-width:720px;font-size:10px;color:#777;line-height:1.55}.twsi-data-unavailable.compact{display:block;margin-top:14px}.twsi-data-unavailable.compact span{display:block;margin-top:6px}
.twsi-industry-snapshot-grid{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid rgba(17,24,39,.14)}.twsi-industry-snapshot-grid>div{padding:14px;border-right:1px solid rgba(17,24,39,.12)}.twsi-industry-snapshot-grid>div:last-child{border-right:0}.twsi-industry-snapshot-grid span{display:block;font-size:9px;color:#666;text-transform:uppercase}.twsi-industry-snapshot-grid strong{display:block;font-size:15px;margin-top:6px;overflow-wrap:anywhere}
.twsi-industry-position>strong{font-size:19px}.twsi-industry-position>span{display:block;color:#777;font-size:10px;margin:3px 0 12px}.twsi-industry-position>div,.twsi-economics-list>div{display:grid;grid-template-columns:1fr 90px 110px;gap:10px;align-items:center;min-height:39px;border-top:1px dotted rgba(17,24,39,.15);font-size:11px}.twsi-industry-position>div{grid-template-columns:1fr 100px}.twsi-industry-position b,.twsi-economics-list b,.twsi-economics-list strong{text-align:right}.twsi-economics-list strong{color:#07834f;font-size:10px;text-transform:uppercase}
.twsi-chart-empty{height:100%;display:flex;align-items:center;justify-content:center;color:#888;font-size:11px}
@media(max-width:1000px){.twsi-industry-snapshot-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.twsi-rev-chart-grid,.twsi-industry-grid{grid-template-columns:1fr}.twsi-work-panel{border-right:0}.twsi-rev-snapshot-grid{grid-template-columns:1fr 1fr}.twsi-rev-card:nth-child(2){border-right:0}.twsi-industry-snapshot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.twsi-rev-snapshot-grid,.twsi-industry-snapshot-grid{grid-template-columns:1fr}.twsi-rev-card,.twsi-industry-snapshot-grid>div{border-right:0;border-bottom:1px solid rgba(17,24,39,.12)}.twsi-mini-series-table>div,.twsi-growth-matrix>div{grid-template-columns:82px repeat(5,minmax(42px,1fr))}.twsi-data-unavailable{display:block}.twsi-data-unavailable span{display:block;margin-top:7px}}


/* =========================================================
   v2.5 DENSE TERMINAL SYSTEM
========================================================= */

.twsi-analyzer-shell,
.twsi-company-analyzer,
.twsi-terminal-shell {
    max-width: 1520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.twsi-dense-terminal {
    width: 100%;
    border: 1px solid rgba(17,24,39,.16);
    background: rgba(255,255,255,.26);
    font-size: 12px;
}

.twsi-dense-header {
    min-height: 58px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:12px 16px;
    border-bottom:1px solid rgba(17,24,39,.14);
    background:rgba(17,24,39,.018);
}

.twsi-dense-header>div:first-child span {
    display:block;
    color:#2547ff;
    font-size:9px;
    font-weight:850;
    letter-spacing:.1em;
}

.twsi-dense-header>div:first-child strong {
    display:block;
    margin-top:4px;
    color:#111;
    font-size:18px;
    font-weight:760;
}

.twsi-dense-header-meta {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.twsi-dense-header-meta span {
    border:1px solid rgba(17,24,39,.13);
    padding:4px 7px;
    font-size:9px;
    color:#666;
    background:rgba(255,255,255,.34);
}

.twsi-dense-kpi-strip {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    border-bottom:1px solid rgba(17,24,39,.14);
}

.twsi-dense-kpi-strip>div {
    min-width:0;
    padding:11px 12px 10px;
    border-right:1px solid rgba(17,24,39,.11);
}
.twsi-dense-kpi-strip>div:last-child{border-right:0}
.twsi-dense-kpi-strip span {
    display:block;
    font-size:9px;
    color:#68707a;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.twsi-dense-kpi-strip strong {
    display:block;
    margin-top:5px;
    font-size:18px;
    line-height:1.1;
    color:#111;
    overflow-wrap:anywhere;
}
.twsi-dense-kpi-strip small {
    display:block;
    margin-top:4px;
    font-size:8px;
    color:#8b8f96;
}

.twsi-dense-grid {
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
}

.twsi-span-3{grid-column:span 3}
.twsi-span-4{grid-column:span 4}
.twsi-span-5{grid-column:span 5}
.twsi-span-6{grid-column:span 6}

.twsi-dense-panel {
    min-width:0;
    padding:13px 14px 12px;
    border-right:1px solid rgba(17,24,39,.13);
    border-bottom:1px solid rgba(17,24,39,.13);
}

.twsi-dense-grid>.twsi-dense-panel:last-child{border-right:0}

.twsi-dense-panel-head {
    display:flex;
    align-items:baseline;
    gap:8px;
    min-height:24px;
    padding-bottom:7px;
    border-bottom:1px solid rgba(17,24,39,.12);
}
.twsi-dense-panel-head span {
    color:#2547ff;
    font-size:9px;
    font-weight:850;
}
.twsi-dense-panel-head strong {
    font-size:11px;
    font-weight:820;
    letter-spacing:.06em;
}
.twsi-dense-panel-head small {
    margin-left:auto;
    color:#858a92;
    font-size:8px;
}

.twsi-combo-chart {
    height:205px;
    padding-top:8px;
}
.twsi-combo-chart svg {
    width:100%;
    height:100%;
    overflow:visible;
}
.twsi-combo-chart .axis {
    stroke:rgba(17,24,39,.25);
}
.twsi-combo-chart .bar {
    fill:rgba(37,71,255,.76);
}
.twsi-combo-chart .growth-line {
    fill:none;
    stroke:#e97924;
    stroke-width:2;
    vector-effect:non-scaling-stroke;
}
.twsi-combo-chart .growth-dot {
    fill:#e97924;
}
.twsi-combo-chart text {
    fill:#5f6670;
    font-size:9px;
}
.twsi-combo-chart .growth-label {
    fill:#d96a1b;
    font-weight:700;
}

.twsi-stat-rail {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid rgba(17,24,39,.11);
    margin-top:2px;
}
.twsi-stat-rail div {
    padding:8px 7px 2px;
    border-right:1px solid rgba(17,24,39,.09);
}
.twsi-stat-rail div:last-child{border-right:0}
.twsi-stat-rail span {
    display:block;
    font-size:8px;
    color:#7e848d;
}
.twsi-stat-rail strong {
    display:block;
    margin-top:3px;
    font-size:11px;
}

.twsi-diagnostic-list>div {
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    align-items:center;
    min-height:42px;
    padding:7px 0;
    border-bottom:1px dotted rgba(17,24,39,.14);
}
.twsi-diagnostic-list>div:last-child{border-bottom:0}
.twsi-diagnostic-list span {
    color:#4d535c;
    font-size:10px;
}
.twsi-diagnostic-list strong {
    color:#111;
    font-size:11px;
}
.twsi-diagnostic-list small {
    grid-column:2;
    font-size:8px;
    color:#8a8f96;
}

.twsi-dense-terminal .is-positive,
.twsi-dense-terminal .positive { color:#07834f !important; }
.twsi-dense-terminal .is-negative,
.twsi-dense-terminal .negative { color:#d95542 !important; }
.twsi-dense-terminal .is-warning { color:#d97706 !important; }
.twsi-dense-terminal .is-neutral { color:#2547ff !important; }

.twsi-compact-matrix>div,
.twsi-compact-matrix .twsi-compare-head {
    display:grid;
    grid-template-columns:62px repeat(3,1fr);
    align-items:center;
    min-height:34px;
    border-bottom:1px dotted rgba(17,24,39,.13);
}
.twsi-compact-matrix .twsi-compare-head {
    color:#777;
    font-size:8px;
}
.twsi-compact-matrix span {font-size:10px;color:#555}
.twsi-compact-matrix b,
.twsi-compact-matrix strong {text-align:right;font-size:10px}

.twsi-waterfall>div {
    display:grid;
    grid-template-columns:130px 1fr 66px;
    align-items:center;
    gap:10px;
    min-height:38px;
    border-bottom:1px dotted rgba(17,24,39,.13);
}
.twsi-waterfall span{font-size:10px}
.twsi-waterfall i {
    height:8px;
    background:rgba(17,24,39,.07);
    display:block;
}
.twsi-waterfall i u {
    display:block;
    height:100%;
    background:#2547ff;
}
.twsi-waterfall i.negative u {background:#d95542}
.twsi-waterfall strong{text-align:right;font-size:10px}
.twsi-waterfall .total {
    border-top:1px solid rgba(17,24,39,.32);
    font-weight:800;
}

.twsi-dense-footbar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:10px 14px;
    background:rgba(37,71,255,.02);
}
.twsi-dense-footbar strong {
    display:block;
    font-size:10px;
}
.twsi-dense-footbar span {
    display:block;
    margin-top:2px;
    color:#858a91;
    font-size:8px;
}
.twsi-dense-footbar em {
    color:#2547ff;
    font-size:9px;
    font-style:normal;
    font-weight:700;
}

.twsi-layer-placeholder {
    min-height:108px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:12px;
    background:rgba(37,71,255,.02);
    border:1px dashed rgba(37,71,255,.22);
}
.twsi-layer-placeholder strong{font-size:11px}
.twsi-layer-placeholder span{
    margin-top:6px;
    font-size:9px;
    color:#7d828b;
    line-height:1.45;
}

@media(max-width:1180px){
    .twsi-span-5,.twsi-span-4,.twsi-span-3,.twsi-span-6{grid-column:span 6}
    .twsi-dense-kpi-strip{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:760px){
    .twsi-span-5,.twsi-span-4,.twsi-span-3,.twsi-span-6{grid-column:1/-1}
    .twsi-dense-kpi-strip{grid-template-columns:1fr 1fr}
    .twsi-dense-header{align-items:flex-start;flex-direction:column;gap:8px}
    .twsi-combo-chart{height:220px}
}

@media(max-width:520px){
    .twsi-dense-kpi-strip{grid-template-columns:1fr}
    .twsi-stat-rail{grid-template-columns:1fr 1fr}
}

/* =========================================================
   v2.5.1 — GLOBAL TERMINAL DENSITY / SCALE FIX
   Applies across ALL Overview subsections.
========================================================= */

/* REAL working-width cap — .twsi-analyzer is the actual wrapper */
.twsi-analyzer {
    width: min(1380px, calc(100vw - 28px)) !important;
    max-width: 1380px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Slightly larger base text: density comes from layout, not tiny fonts */
.twsi-overview-workspace,
.twsi-profile-terminal,
.twsi-issue-terminal,
.twsi-ratios-terminal,
.twsi-dense-terminal {
    font-size: 13px !important;
}

/* ---------------------------------------------------------
   GLOBAL LABEL / VALUE RHYTHM
   Values no longer get pushed to the far edge of panels.
--------------------------------------------------------- */

.twsi-overview-kv-row {
    display: grid !important;
    grid-template-columns: minmax(128px, 155px) minmax(0, 1fr) !important;
    column-gap: 16px !important;
    align-items: baseline !important;
    min-height: 38px !important;
    padding: 8px 0 !important;
}

.twsi-overview-kv-row span {
    font-size: 11px !important;
    line-height: 1.35 !important;
}

.twsi-overview-kv-row strong {
    justify-self: start !important;
    width: auto !important;
    max-width: 100% !important;
    text-align: left !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

/* Profile already uses the same workstation logic; make it consistent */
.twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row {
    grid-template-columns: 145px minmax(0, 1fr) !important;
    column-gap: 14px !important;
}

.twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row span {
    font-size: 11.5px !important;
}

.twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row strong {
    justify-self: start !important;
    text-align: left !important;
    font-size: 12.5px !important;
}

/* Issue Data — increase readability while preserving its structured cards */
.twsi-issue-field span {
    font-size: 10px !important;
}

.twsi-issue-field strong {
    font-size: 13.5px !important;
}

.twsi-issue-card header strong {
    font-size: 11px !important;
}

.twsi-issue-fields {
    column-gap: 22px !important;
}

/* Ratios */
.twsi-ratio-row {
    min-height: 42px !important;
}

.twsi-ratio-row > span {
    font-size: 12px !important;
}

.twsi-ratio-row > strong {
    font-size: 14px !important;
}

/* ---------------------------------------------------------
   DENSE REVENUE / INDUSTRY PANELS
--------------------------------------------------------- */

.twsi-dense-panel {
    padding: 12px 13px 11px !important;
}

.twsi-dense-panel-head strong {
    font-size: 12px !important;
}

.twsi-dense-panel-head small {
    font-size: 9px !important;
}

.twsi-dense-kpi-strip > div {
    padding: 10px 11px 9px !important;
}

.twsi-dense-kpi-strip span {
    font-size: 9.5px !important;
}

.twsi-dense-kpi-strip strong {
    font-size: 19px !important;
}

.twsi-dense-kpi-strip small {
    font-size: 8.5px !important;
}

/* This is the main "Revenue Growth ----- 6.4%" fix */
.twsi-diagnostic-list > div {
    display: grid !important;
    grid-template-columns: minmax(135px, 175px) minmax(0, 1fr) !important;
    column-gap: 16px !important;
    align-items: center !important;
    min-height: 41px !important;
    padding: 7px 0 !important;
}

.twsi-diagnostic-list > div span {
    font-size: 11.5px !important;
}

.twsi-diagnostic-list > div strong {
    justify-self: start !important;
    text-align: left !important;
    font-size: 12.5px !important;
}

.twsi-diagnostic-list > div small {
    grid-column: 2 !important;
    justify-self: start !important;
    margin-top: -5px !important;
    font-size: 8.8px !important;
}

/* Industry economics should read as label | assessment | reported metric */
#twsi-industry-econ-dense > div {
    grid-template-columns: 150px 105px minmax(0, 1fr) !important;
}

#twsi-industry-econ-dense > div strong {
    justify-self: start !important;
}

#twsi-industry-econ-dense > div small {
    grid-column: 3 !important;
    margin-top: 0 !important;
}

/* Revenue/EPS compare: tighter terminal table */
.twsi-compact-matrix > div,
.twsi-compact-matrix .twsi-compare-head {
    grid-template-columns: 58px 72px 72px minmax(72px, 1fr) !important;
    column-gap: 8px !important;
    min-height: 36px !important;
}

.twsi-compact-matrix span,
.twsi-compact-matrix b,
.twsi-compact-matrix strong {
    font-size: 10.5px !important;
}

/* EPS bridge */
.twsi-waterfall > div {
    grid-template-columns: 132px minmax(0, 1fr) 66px !important;
    gap: 9px !important;
}

.twsi-waterfall span,
.twsi-waterfall strong {
    font-size: 10.8px !important;
}

/* Statistics below charts */
.twsi-stat-rail span {
    font-size: 8.7px !important;
}

.twsi-stat-rail strong {
    font-size: 11.5px !important;
}

/* ---------------------------------------------------------
   CHART POLISH
   Prevent default SVG black fill and make graphs terminal-like.
--------------------------------------------------------- */

.twsi-combo-chart svg path.main-line,
.twsi-combo-chart .main-line {
    fill: none !important;
    stroke: #2547ff !important;
    stroke-width: 2.2 !important;
    vector-effect: non-scaling-stroke;
}

.twsi-combo-chart svg {
    overflow: visible;
}

.twsi-combo-chart text {
    font-size: 9.5px !important;
}

.twsi-combo-chart .bar {
    fill: rgba(37, 71, 255, 0.72) !important;
}

.twsi-combo-chart .growth-line {
    fill: none !important;
    stroke: #df6845 !important;
    stroke-width: 2 !important;
}

.twsi-combo-chart .growth-dot {
    fill: #df6845 !important;
}

/* Compact chart height: Bloomberg-like information density */
.twsi-combo-chart {
    height: 188px !important;
}

.twsi-native-chart {
    height: 188px !important;
}

/* ---------------------------------------------------------
   BLANK / FUTURE-DATA MODULES
   Do not waste half a page just saying data isn't connected.
--------------------------------------------------------- */

.twsi-layer-placeholder {
    min-height: 78px !important;
    padding: 10px 12px !important;
}

.twsi-layer-placeholder strong {
    font-size: 11.5px !important;
}

.twsi-layer-placeholder span {
    font-size: 9.5px !important;
}

.twsi-dense-footbar {
    padding: 9px 13px !important;
}

/* ---------------------------------------------------------
   GENERAL SECTION HEADERS
--------------------------------------------------------- */

.twsi-overview-module-head strong,
.twsi-profile-block-head strong,
.twsi-ratio-section-head strong,
.twsi-workstation-head strong {
    font-size: 11.5px !important;
}

.twsi-overview-module-head span,
.twsi-profile-block-head span,
.twsi-ratio-section-head span,
.twsi-workstation-head span {
    font-size: 8.5px !important;
}

/* Keep subsection navigation readable */
.twsi-overview-functions button {
    font-size: 11.5px !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
}

/* Desktop: fewer giant panels, more workstation feel */
@media (min-width: 1181px) {
    .twsi-rev-top-grid .twsi-span-5 {
        grid-column: span 5 !important;
    }

    .twsi-rev-top-grid .twsi-span-4 {
        grid-column: span 4 !important;
    }

    .twsi-rev-top-grid .twsi-span-3 {
        grid-column: span 3 !important;
    }
}

/* Tablet/mobile */
@media (max-width: 760px) {
    .twsi-analyzer {
        width: min(100% - 18px, 1380px) !important;
    }

    .twsi-diagnostic-list > div,
    #twsi-industry-econ-dense > div {
        grid-template-columns: 1fr !important;
        row-gap: 3px !important;
    }

    .twsi-diagnostic-list > div small,
    #twsi-industry-econ-dense > div small {
        grid-column: 1 !important;
    }

    .twsi-overview-kv-row {
        grid-template-columns: 1fr !important;
        row-gap: 4px !important;
    }
}

/* =========================================================
   v2.5.2 — COMPACT WORKSTATION GRID
   Fixes oversized boxes: modules now size to the information
   they contain instead of staying artificially equal-width.
========================================================= */

/* Slightly narrower overall workstation */
.twsi-analyzer {
    width: min(1280px, calc(100vw - 32px)) !important;
    max-width: 1280px !important;
}

/* Industry: compact data columns + larger chart */
.twsi-industry-terminal .twsi-dense-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

.twsi-industry-position-panel {
    grid-column: span 3 !important;
}

.twsi-industry-economics-panel {
    grid-column: span 3 !important;
}

.twsi-industry-trend-panel {
    grid-column: span 6 !important;
}

/* Four source/data layers fit in one dense row */
.twsi-industry-secondary-panel {
    grid-column: span 3 !important;
    min-height: 150px !important;
}

/* Remove the artificial empty horizontal field inside data modules */
.twsi-industry-position-panel .twsi-diagnostic-list > div {
    grid-template-columns: 132px auto !important;
    column-gap: 12px !important;
}

.twsi-industry-economics-panel .twsi-diagnostic-list > div {
    grid-template-columns: 125px auto !important;
    column-gap: 12px !important;
}

#twsi-industry-econ-dense > div {
    grid-template-columns: 125px 92px !important;
    column-gap: 10px !important;
}

#twsi-industry-econ-dense > div small {
    grid-column: 2 !important;
    justify-self: start !important;
    margin-top: -5px !important;
}

/* Compact placeholders: no huge empty boxes */
.twsi-industry-secondary-panel .twsi-layer-placeholder {
    min-height: 94px !important;
    padding: 10px 11px !important;
}

.twsi-industry-secondary-panel .twsi-layer-placeholder strong {
    font-size: 10.8px !important;
    line-height: 1.3 !important;
}

.twsi-industry-secondary-panel .twsi-layer-placeholder span {
    font-size: 9px !important;
    line-height: 1.42 !important;
}

/* Revenue: keep charts substantial, tighten the diagnostic side panels */
.twsi-rev-terminal .twsi-rev-top-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

.twsi-rev-terminal .twsi-rev-bottom-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

.twsi-rev-terminal .twsi-rev-top-grid > .twsi-span-5 {
    grid-column: span 5 !important;
}
.twsi-rev-terminal .twsi-rev-top-grid > .twsi-span-4 {
    grid-column: span 4 !important;
}
.twsi-rev-terminal .twsi-rev-top-grid > .twsi-span-3 {
    grid-column: span 3 !important;
}

/* General data modules: don't stretch values into dead space */
.twsi-diagnostic-list {
    max-width: 100% !important;
}

.twsi-diagnostic-list > div {
    grid-template-columns: 145px auto !important;
    justify-content: start !important;
}

.twsi-diagnostic-list > div strong {
    justify-self: start !important;
}

/* Kicker strips should be dense rather than oversized */
.twsi-dense-kpi-strip > div {
    min-height: 74px !important;
}

/* Compact section vertical rhythm */
.twsi-dense-panel {
    min-height: 0 !important;
}

.twsi-combo-chart {
    height: 174px !important;
}

.twsi-native-chart {
    height: 174px !important;
}

/* All Overview key/value modules: content-sized value column */
.twsi-overview-kv-row {
    grid-template-columns: minmax(120px, 145px) auto !important;
    justify-content: start !important;
}

.twsi-overview-kv-row strong {
    justify-self: start !important;
}

/* Ratio tables: less dead space in value column */
.twsi-ratio-table-head,
.twsi-ratio-row {
    grid-template-columns: minmax(135px, 1fr) 78px 112px !important;
}

/* Profile data: slightly tighter columns */
.twsi-profile-terminal .twsi-profile-data-list .twsi-overview-kv-row {
    grid-template-columns: 132px auto !important;
}

/* Issue Data fields: keep values closer to labels */
.twsi-issue-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.twsi-issue-field {
    min-width: 0 !important;
}

/* Desktop-only: secondary modules stay dense */
@media (min-width: 1181px) {
    .twsi-industry-secondary-panel {
        grid-column: span 3 !important;
    }
}

@media (max-width: 1180px) {
    .twsi-industry-position-panel,
    .twsi-industry-economics-panel,
    .twsi-industry-secondary-panel {
        grid-column: span 6 !important;
    }

    .twsi-industry-trend-panel {
        grid-column: span 12 !important;
    }
}

@media (max-width: 760px) {
    .twsi-analyzer {
        width: calc(100% - 18px) !important;
    }

    .twsi-industry-position-panel,
    .twsi-industry-economics-panel,
    .twsi-industry-trend-panel,
    .twsi-industry-secondary-panel {
        grid-column: 1 / -1 !important;
    }

    .twsi-diagnostic-list > div,
    #twsi-industry-econ-dense > div,
    .twsi-overview-kv-row {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   v2.6 RATIOS — BLOOMBERG-DENSITY, TWSI VISUAL SYSTEM
========================================================= */

.twsi-ratios-bloomberg {
    width:100%;
    border:1px solid rgba(17,24,39,.22);
    background:#fbfaf7;
    color:#111318;
    font-family:inherit;
}

.twsi-rb-section-head,
.twsi-rb-panel-head {
    display:flex;
    align-items:center;
    min-height:32px;
    border-bottom:1px solid rgba(17,24,39,.18);
}

.twsi-rb-section-head {
    justify-content:space-between;
    padding:0 10px;
}

.twsi-rb-section-head>div,
.twsi-rb-panel-head {
    gap:6px;
}

.twsi-rb-section-head span,
.twsi-rb-panel-head span {
    color:#2547ff;
    font-size:10px;
    font-weight:850;
}

.twsi-rb-section-head strong,
.twsi-rb-panel-head strong {
    color:#20242a;
    font-size:12px;
    font-weight:760;
    letter-spacing:.025em;
}

.twsi-rb-section-head small {
    color:#858a92;
    font-size:9px;
    font-weight:500;
}

.twsi-rb-section-head em {
    color:#777d85;
    font-size:9px;
    font-style:normal;
}

.twsi-rb-snapshot {
    border-bottom:1px solid rgba(17,24,39,.2);
}

.twsi-rb-snapshot-grid {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
}

.twsi-rb-snapshot-item {
    min-height:112px;
    padding:12px 8px 10px;
    text-align:center;
    border-right:1px solid rgba(17,24,39,.18);
}

.twsi-rb-snapshot-item:last-child {
    border-right:0;
}

.twsi-rb-snapshot-item>span {
    display:block;
    color:#d97706;
    font-size:10px;
    font-weight:760;
    text-transform:uppercase;
}

.twsi-rb-snapshot-item>strong {
    display:block;
    margin-top:8px;
    color:#16191e;
    font-size:24px;
    font-weight:520;
    line-height:1.05;
}

.twsi-rb-snapshot-item>small {
    display:block;
    margin-top:7px;
    font-size:11px;
    font-weight:700;
}

.twsi-rb-snapshot-item>em {
    display:block;
    margin-top:5px;
    color:#7e838a;
    font-size:9px;
    font-style:normal;
}

.twsi-ratios-bloomberg .is-positive { color:#07834f !important; }
.twsi-ratios-bloomberg .is-negative { color:#d95542 !important; }
.twsi-ratios-bloomberg .is-warning { color:#d97706 !important; }
.twsi-ratios-bloomberg .is-neutral { color:#2547ff !important; }

.twsi-rb-body {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(300px,.96fr);
    min-width:0;
}

.twsi-rb-main-column,
.twsi-rb-side-column {
    min-width:0;
    border-right:1px solid rgba(17,24,39,.2);
}

.twsi-rb-side-column {
    border-right:0;
}

.twsi-rb-table-panel {
    min-width:0;
    border-bottom:1px solid rgba(17,24,39,.2);
}

.twsi-rb-panel-head {
    padding:0 9px;
}

.twsi-rb-panel-head small {
    margin-left:auto;
    color:#7f848c;
    font-size:8px;
}

.twsi-rb-table-head,
.twsi-rb-ratio-row,
.twsi-rb-peer-median-row {
    display:grid;
    grid-template-columns:minmax(105px,1.25fr) 72px 98px 88px;
    gap:5px;
    align-items:center;
}

.twsi-rb-table-head {
    min-height:27px;
    padding:0 9px;
    color:#747a83;
    font-size:8.5px;
    border-bottom:1px solid rgba(17,24,39,.16);
}

.twsi-rb-table-head span:nth-child(n+2) {
    text-align:right;
}

.twsi-rb-ratio-row,
.twsi-rb-peer-median-row {
    min-height:37px;
    padding:0 9px;
    border-bottom:1px solid rgba(17,24,39,.10);
}

.twsi-rb-ratio-row>span,
.twsi-rb-peer-median-row>span {
    font-size:11px;
    color:#252a30;
}

.twsi-rb-ratio-row>strong,
.twsi-rb-peer-median-row>strong {
    text-align:right;
    font-size:12px;
    font-weight:650;
}

.twsi-rb-ratio-row>div {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    height:25px;
}

.twsi-rb-ratio-row>em,
.twsi-rb-peer-median-row>em {
    text-align:right;
    color:#9a9ea5;
    font-size:10px;
    font-style:normal;
}

.twsi-rb-peer-median-row {
    min-height:39px;
    background:rgba(17,24,39,.018);
}

.twsi-rb-peer-median-row>span {
    color:#646a72;
}

.twsi-rb-spark {
    width:88px;
    height:23px;
    overflow:visible;
}

.twsi-rb-spark path {
    fill:none !important;
    stroke:#2547ff;
    stroke-width:1.5;
    vector-effect:non-scaling-stroke;
}

.twsi-rb-spark.favorable path {
    stroke:#07834f;
}

.twsi-rb-spark.unfavorable path {
    stroke:#d97706;
}

.twsi-rb-no-data {
    color:#9da1a7;
    font-size:10px;
}

.twsi-rb-peer-head,
.twsi-rb-peer-row {
    display:grid;
    grid-template-columns:minmax(90px,1.25fr) repeat(4,minmax(48px,.72fr));
    gap:5px;
    align-items:center;
    padding:0 8px;
}

.twsi-rb-peer-head {
    min-height:27px;
    color:#747a83;
    font-size:8px;
    border-bottom:1px solid rgba(17,24,39,.16);
}

.twsi-rb-peer-head span:not(:first-child) {
    text-align:right;
}

.twsi-rb-peer-row {
    min-height:38px;
    border-bottom:1px solid rgba(17,24,39,.11);
}

.twsi-rb-peer-row strong {
    font-size:10.5px;
}

.twsi-rb-peer-row span {
    text-align:right;
    font-size:10.5px;
}

.twsi-rb-peer-row.selected {
    background:rgba(37,71,255,.10);
    box-shadow:inset 2px 0 0 #2547ff;
}

.twsi-rb-peer-row.median {
    background:rgba(17,24,39,.018);
}

.twsi-rb-peer-pending {
    min-height:113px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:10px;
    border-bottom:1px solid rgba(17,24,39,.12);
}

.twsi-rb-peer-pending strong {
    font-size:10.5px;
}

.twsi-rb-peer-pending span {
    max-width:290px;
    margin-top:5px;
    color:#858a92;
    font-size:8.5px;
    line-height:1.45;
}

.twsi-rb-quality-summary {
    padding:8px 9px 10px;
}

.twsi-rb-quality-row {
    display:grid;
    grid-template-columns:105px 92px minmax(80px,1fr);
    gap:7px;
    align-items:center;
    min-height:39px;
    border-bottom:1px solid rgba(17,24,39,.10);
}

.twsi-rb-quality-row>span {
    font-size:10.5px;
}

.twsi-rb-quality-row>strong {
    text-align:right;
    font-size:10.5px;
    color:#07834f;
}

.twsi-rb-quality-bar {
    position:relative;
    height:10px;
    overflow:hidden;
    background:
        repeating-linear-gradient(
            to right,
            rgba(17,24,39,.07) 0,
            rgba(17,24,39,.07) calc(20% - 1px),
            rgba(17,24,39,.18) calc(20% - 1px),
            rgba(17,24,39,.18) 20%
        );
}

.twsi-rb-quality-bar i {
    display:block;
    height:100%;
    background:linear-gradient(
        90deg,
        rgba(37,71,255,.78),
        rgba(7,131,79,.84)
    );
}

.twsi-rb-quality-row.overall {
    margin-top:4px;
    border-top:1px solid rgba(17,24,39,.24);
    border-bottom:0;
    font-weight:760;
}

.twsi-rb-footer {
    display:grid;
    grid-template-columns:180px 1fr 1fr;
    min-height:42px;
    border-top:1px solid rgba(17,24,39,.22);
}

.twsi-rb-footer>* {
    display:flex;
    align-items:center;
    padding:0 10px;
    border-right:1px solid rgba(17,24,39,.15);
}

.twsi-rb-footer>*:last-child {
    border-right:0;
}

.twsi-rb-footer strong {
    color:#d97706;
    font-size:11px;
}

.twsi-rb-footer span {
    color:#5e646d;
    font-size:10px;
}

@media(max-width:1150px) {
    .twsi-rb-body {
        grid-template-columns:1fr 1fr;
    }

    .twsi-rb-side-column {
        grid-column:1/-1;
        display:grid;
        grid-template-columns:1fr 1fr;
        border-top:1px solid rgba(17,24,39,.2);
    }

    .twsi-rb-side-column>.twsi-rb-table-panel:first-child {
        border-right:1px solid rgba(17,24,39,.2);
    }
}

@media(max-width:800px) {
    .twsi-rb-snapshot-grid {
        grid-template-columns:repeat(3,1fr);
    }

    .twsi-rb-body,
    .twsi-rb-side-column {
        grid-template-columns:1fr;
    }

    .twsi-rb-main-column {
        border-right:0;
    }

    .twsi-rb-side-column>.twsi-rb-table-panel:first-child {
        border-right:0;
    }

    .twsi-rb-footer {
        grid-template-columns:1fr;
    }

    .twsi-rb-footer>* {
        min-height:38px;
        border-right:0;
        border-bottom:1px solid rgba(17,24,39,.12);
    }
}

@media(max-width:560px) {
    .twsi-rb-snapshot-grid {
        grid-template-columns:1fr 1fr;
    }

    .twsi-rb-table-head,
    .twsi-rb-ratio-row,
    .twsi-rb-peer-median-row {
        grid-template-columns:minmax(95px,1fr) 64px 82px;
    }

    .twsi-rb-table-head span:last-child,
    .twsi-rb-ratio-row em,
    .twsi-rb-peer-median-row em {
        display:none;
    }
}

/* =========================================================
   v2.7 RATIOS — TRUE BLACK TERMINAL MODE
   Activated only while Overview > Ratios is selected.
========================================================= */

/* Stronger than the old Additional CSS width overrides. */
body.page-id-2604 .twsi-analyzer.is-ratios-terminal,
.twsi-analyzer.is-ratios-terminal {
    width: min(1240px, calc(100vw - 24px)) !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    color: #f4f5f7 !important;
    background: #030507 !important;
    border: 1px solid #31363d !important;
    box-shadow: 0 18px 60px rgba(0,0,0,.25);
}

/* Make the analyzer region itself read as one black workstation. */
.twsi-analyzer.is-ratios-terminal #twsi-results,
.twsi-analyzer.is-ratios-terminal .twsi-terminal-panel[data-twsi-panel="overview"],
.twsi-analyzer.is-ratios-terminal .twsi-overview-workspace,
.twsi-analyzer.is-ratios-terminal .twsi-overview-subpanels,
.twsi-analyzer.is-ratios-terminal .twsi-overview-subpanel[data-twsi-overview-panel="ratios"] {
    background: #030507 !important;
    color: #f4f5f7 !important;
}

/* Header / KPI strip / main navigation become terminal-black too. */
.twsi-analyzer.is-ratios-terminal .twsi-dashboard-header,
.twsi-analyzer.is-ratios-terminal .twsi-kpi-strip,
.twsi-analyzer.is-ratios-terminal .twsi-terminal-tabs,
.twsi-analyzer.is-ratios-terminal .twsi-overview-functions,
.twsi-analyzer.is-ratios-terminal .twsi-overview-snapshot-band {
    background: #030507 !important;
    color: #f4f5f7 !important;
    border-color: #30353c !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-dashboard-header *,
.twsi-analyzer.is-ratios-terminal .twsi-kpi-strip *,
.twsi-analyzer.is-ratios-terminal .twsi-terminal-tabs *,
.twsi-analyzer.is-ratios-terminal .twsi-overview-functions * {
    border-color: #30353c !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-dashboard-company h2,
.twsi-analyzer.is-ratios-terminal .twsi-dashboard-filing strong,
.twsi-analyzer.is-ratios-terminal .twsi-kpi-card strong {
    color: #f7f7f7 !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-dashboard-company p,
.twsi-analyzer.is-ratios-terminal .twsi-dashboard-small-label,
.twsi-analyzer.is-ratios-terminal .twsi-kpi-label,
.twsi-analyzer.is-ratios-terminal .twsi-kpi-sub {
    color: #aeb4bd !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-terminal-tabs button,
.twsi-analyzer.is-ratios-terminal .twsi-overview-functions button {
    color: #c8ccd2 !important;
    background: #06090c !important;
    border-color: #30353c !important;
    font-size: 13px !important;
    min-height: 38px !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-terminal-tabs button.is-active,
.twsi-analyzer.is-ratios-terminal .twsi-overview-functions button.is-active {
    color: #ffad28 !important;
    background: #101317 !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-overview-functions button.is-active::after,
.twsi-analyzer.is-ratios-terminal .twsi-terminal-tabs button.is-active::after {
    background: #ff9f1c !important;
}

/* =========================================================
   Ratios workstation surface
========================================================= */

.twsi-analyzer.is-ratios-terminal .twsi-ratios-bloomberg {
    border: 0 !important;
    background: #030507 !important;
    color: #f4f5f7 !important;
    font-size: 13px !important;
}

/* Borders should be visible but restrained, like a real terminal. */
.twsi-analyzer.is-ratios-terminal .twsi-rb-section-head,
.twsi-analyzer.is-ratios-terminal .twsi-rb-panel-head,
.twsi-analyzer.is-ratios-terminal .twsi-rb-snapshot,
.twsi-analyzer.is-ratios-terminal .twsi-rb-main-column,
.twsi-analyzer.is-ratios-terminal .twsi-rb-side-column,
.twsi-analyzer.is-ratios-terminal .twsi-rb-table-panel,
.twsi-analyzer.is-ratios-terminal .twsi-rb-table-head,
.twsi-analyzer.is-ratios-terminal .twsi-rb-ratio-row,
.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-median-row,
.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-head,
.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-row,
.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-pending,
.twsi-analyzer.is-ratios-terminal .twsi-rb-quality-row,
.twsi-analyzer.is-ratios-terminal .twsi-rb-footer,
.twsi-analyzer.is-ratios-terminal .twsi-rb-footer > * {
    border-color: #343941 !important;
}

/* Headings larger — density must not mean microscopic text. */
.twsi-analyzer.is-ratios-terminal .twsi-rb-section-head {
    min-height: 38px !important;
    padding: 0 10px !important;
    background: #050709 !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-section-head span,
.twsi-analyzer.is-ratios-terminal .twsi-rb-panel-head span {
    color: #ff9f1c !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-section-head strong,
.twsi-analyzer.is-ratios-terminal .twsi-rb-panel-head strong {
    color: #f5f5f5 !important;
    font-size: 14px !important;
    font-weight: 620 !important;
    letter-spacing: .01em !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-section-head small,
.twsi-analyzer.is-ratios-terminal .twsi-rb-section-head em,
.twsi-analyzer.is-ratios-terminal .twsi-rb-panel-head small {
    color: #9ea4ad !important;
    font-size: 11px !important;
}

/* Snapshot: compact, readable, orange labels + green/red changes. */
.twsi-analyzer.is-ratios-terminal .twsi-rb-snapshot-grid {
    background: #020304 !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-snapshot-item {
    min-height: 105px !important;
    padding: 11px 7px 9px !important;
    border-color: #3a3f46 !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-snapshot-item > span {
    color: #ff9f1c !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .01em !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-snapshot-item > strong {
    color: #f3f3f3 !important;
    margin-top: 7px !important;
    font-size: 27px !important;
    font-weight: 430 !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-snapshot-item > small {
    font-size: 13px !important;
    margin-top: 7px !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-snapshot-item > em {
    color: #a8adb5 !important;
    font-size: 10.5px !important;
}

/* Exact Bloomberg-like 33 / 33 / 34 body, but much tighter. */
.twsi-analyzer.is-ratios-terminal .twsi-rb-body {
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr)
        minmax(330px, 1fr) !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-panel-head {
    min-height: 34px !important;
    padding: 0 9px !important;
    background: #050709 !important;
}

/* Table columns: information close together, no dead horizontal desert. */
.twsi-analyzer.is-ratios-terminal .twsi-rb-table-head,
.twsi-analyzer.is-ratios-terminal .twsi-rb-ratio-row,
.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-median-row {
    grid-template-columns:
        minmax(112px, 1.28fr)
        70px
        94px
        82px !important;
    gap: 5px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-table-head {
    min-height: 28px !important;
    color: #aab0b9 !important;
    background: #030507 !important;
    font-size: 10px !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-ratio-row,
.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-median-row {
    min-height: 38px !important;
    background: #030507 !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-ratio-row:hover {
    background: #0a0e12 !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-ratio-row > span,
.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-median-row > span {
    color: #e2e4e7 !important;
    font-size: 12.5px !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-ratio-row > strong,
.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-median-row > strong {
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 560 !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-ratio-row > em,
.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-median-row > em {
    color: #6f7781 !important;
    font-size: 11px !important;
}

/* Bloomberg-style thin white sparkline by default. */
.twsi-analyzer.is-ratios-terminal .twsi-rb-spark {
    width: 88px !important;
    height: 22px !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-spark path,
.twsi-analyzer.is-ratios-terminal .twsi-rb-spark.favorable path,
.twsi-analyzer.is-ratios-terminal .twsi-rb-spark.unfavorable path {
    fill: none !important;
    stroke: #eeeeee !important;
    stroke-width: 1.25 !important;
}

/* Peer table */
.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-head {
    min-height: 28px !important;
    color: #aab0b9 !important;
    background: #030507 !important;
    font-size: 9.5px !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-row {
    min-height: 38px !important;
    background: #030507 !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-row strong,
.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-row span {
    color: #f0f1f2 !important;
    font-size: 11.5px !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-row.selected {
    background: linear-gradient(
        90deg,
        rgba(37,71,255,.58),
        rgba(37,71,255,.25)
    ) !important;
    box-shadow: inset 3px 0 0 #2f6fff !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-row.median,
.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-median-row {
    background: #080b0e !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-pending {
    min-height: 94px !important;
    background: #030507 !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-pending strong {
    color: #f2f2f2 !important;
    font-size: 11.5px !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-pending span {
    color: #8e959f !important;
    font-size: 9.5px !important;
}

/* Quality summary */
.twsi-analyzer.is-ratios-terminal .twsi-rb-quality-summary {
    background: #030507 !important;
    padding: 7px 9px 9px !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-quality-row {
    grid-template-columns: 105px 94px minmax(85px,1fr) !important;
    min-height: 39px !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-quality-row > span {
    color: #ededed !important;
    font-size: 11.5px !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-quality-row > strong {
    color: #43d675 !important;
    font-size: 11.5px !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-quality-bar {
    height: 11px !important;
    background:
        repeating-linear-gradient(
            to right,
            #11161b 0,
            #11161b calc(20% - 1px),
            #38404a calc(20% - 1px),
            #38404a 20%
        ) !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-quality-bar i {
    background: linear-gradient(
        90deg,
        #2f6fff,
        #42cc67
    ) !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-quality-row.overall {
    border-top-color: #555d67 !important;
}

/* Footer */
.twsi-analyzer.is-ratios-terminal .twsi-rb-footer {
    min-height: 40px !important;
    background: #020304 !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-footer strong {
    color: #ff9f1c !important;
    font-size: 12px !important;
}

.twsi-analyzer.is-ratios-terminal .twsi-rb-footer span {
    color: #b0b5bd !important;
    font-size: 11px !important;
}

/* Status colors */
.twsi-analyzer.is-ratios-terminal .is-positive {
    color: #46d66d !important;
}

.twsi-analyzer.is-ratios-terminal .is-negative {
    color: #ff6048 !important;
}

.twsi-analyzer.is-ratios-terminal .is-warning {
    color: #ff9f1c !important;
}

.twsi-analyzer.is-ratios-terminal .is-neutral {
    color: #7c9cff !important;
}

/* Make outer whitespace dark on the analyzer page while Ratios is open. */
body.twsi-ratios-active.page-id-2604 .site-content,
body.twsi-ratios-active.page-id-2604 .content-area,
body.twsi-ratios-active.page-id-2604 .site-main,
body.twsi-ratios-active.page-id-2604 article,
body.twsi-ratios-active.page-id-2604 .entry-content,
body.twsi-ratios-active.page-id-2604 .container-narrow {
    background: #030507 !important;
}

/* No rounded-card/dashboard feeling. */
.twsi-analyzer.is-ratios-terminal .twsi-ratios-bloomberg,
.twsi-analyzer.is-ratios-terminal .twsi-rb-table-panel,
.twsi-analyzer.is-ratios-terminal .twsi-rb-snapshot,
.twsi-analyzer.is-ratios-terminal .twsi-rb-peer-row,
.twsi-analyzer.is-ratios-terminal .twsi-rb-quality-bar {
    border-radius: 0 !important;
}

/* Responsive */
@media(max-width:1150px) {
    body.page-id-2604 .twsi-analyzer.is-ratios-terminal,
    .twsi-analyzer.is-ratios-terminal {
        width: calc(100vw - 16px) !important;
        max-width: none !important;
    }
}

@media(max-width:800px) {
    .twsi-analyzer.is-ratios-terminal .twsi-rb-snapshot-grid {
        grid-template-columns: repeat(3,1fr) !important;
    }

    .twsi-analyzer.is-ratios-terminal .twsi-rb-body {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   v2.8.2 — TERMINAL THEME ENGINE
   IMPORTANT:
   This version starts from stable v2.7 and changes the ROOT
   TWSI variables first. Existing components therefore inherit
   the dark theme correctly instead of being painted over.
========================================================= */

/* Analyzer page itself is the terminal canvas */
body.page-id-2604 {
    background: #020304 !important;
}

/* WordPress wrapper must not create the visible white "page box" */
body.page-id-2604 .site-content,
body.page-id-2604 .content-area,
body.page-id-2604 .site-main,
body.page-id-2604 article,
body.page-id-2604 .entry-content,
body.page-id-2604 .container,
body.page-id-2604 .container-narrow,
body.page-id-2604 article.page-body {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: #020304 !important;
    border: 0 !important;
    box-shadow: none !important;
}

/*
 * THIS IS THE KEY FIX:
 * Existing plugin components use these variables everywhere.
 * We theme the system here instead of forcing random children black.
 */
body.page-id-2604 .twsi-analyzer,
.twsi-analyzer {
    --twsi-blue: #2f6fff !important;
    --twsi-ink: #f2f3f5 !important;
    --twsi-muted: #9ca3ad !important;
    --twsi-line: #2f353d !important;
    --twsi-line-strong: #454c56 !important;
    --twsi-panel: #020304 !important;
    --twsi-panel-solid: #050709 !important;
    --twsi-positive: #42d867 !important;
    --twsi-negative: #ff5d48 !important;
    --twsi-purple: #9a7cff !important;
    --twsi-orange: #ff9f1c !important;

    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: none !important;
    margin: 0 0 34px !important;
    padding: 12px 14px 24px !important;
    transform: translateX(-50%) !important;

    background: #020304 !important;
    color: var(--twsi-ink) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Keep content readable on ultra-wide monitors while still feeling full-screen */
.twsi-analyzer > * {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}

/* =========================================================
   COMMAND AREA
========================================================= */

.twsi-analyzer-header {
    padding: 9px 10px 4px !important;
    margin: 0 !important;
    border: 1px solid var(--twsi-line) !important;
    border-bottom: 0 !important;
    background: #020304 !important;
}

.twsi-analyzer-header .twsi-label {
    color: var(--twsi-orange) !important;
    font-size: 10px !important;
}

.twsi-analyzer-header h2 {
    color: var(--twsi-ink) !important;
    font-size: clamp(22px, 2vw, 31px) !important;
    font-weight: 520 !important;
}

.twsi-analyzer-header p {
    color: var(--twsi-muted) !important;
    font-size: 11px !important;
}

.twsi-search-box {
    grid-template-columns: minmax(300px, 560px) 94px !important;
    gap: 5px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 7px 10px 9px !important;
    border: 1px solid var(--twsi-line) !important;
    border-top: 0 !important;
    background: #020304 !important;
}

#twsi-ticker {
    height: 35px !important;
    border-radius: 0 !important;
    border-color: var(--twsi-line-strong) !important;
    background: #050709 !important;
    color: var(--twsi-orange) !important;
    font-size: 12px !important;
}

#twsi-ticker:focus {
    border-color: var(--twsi-orange) !important;
    box-shadow: none !important;
}

#twsi-analyze-button {
    height: 35px !important;
    min-width: 94px !important;
    border-radius: 0 !important;
    border-color: #805005 !important;
    background: #130c01 !important;
    color: var(--twsi-orange) !important;
    font-size: 11px !important;
}

/* =========================================================
   TERMINAL SHELL
========================================================= */

#twsi-results,
.twsi-dashboard-header,
.twsi-kpi-strip,
.twsi-terminal-tabs,
.twsi-terminal-panel,
.twsi-overview-workspace,
.twsi-overview-subpanels,
.twsi-overview-subpanel {
    background: #020304 !important;
    color: var(--twsi-ink) !important;
}

.twsi-dashboard-header,
.twsi-kpi-strip,
.twsi-terminal-tabs,
.twsi-overview-functions,
.twsi-dashboard-card,
.twsi-chart-card,
.twsi-profile-terminal,
.twsi-issue-terminal,
.twsi-ratios-bloomberg,
.twsi-dense-terminal {
    border-color: var(--twsi-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Company header */
.twsi-dashboard-header {
    margin-top: 7px !important;
    background: #020304 !important;
}

.twsi-dashboard-company,
.twsi-dashboard-filing {
    background: #020304 !important;
}

.twsi-dashboard-company > span,
.twsi-dashboard-small-label {
    color: var(--twsi-orange) !important;
}

.twsi-dashboard-company h2,
.twsi-dashboard-filing strong {
    color: #fff !important;
}

.twsi-dashboard-company p {
    color: #aab1ba !important;
}

/* KPI strip */
.twsi-kpi-strip {
    margin-top: 6px !important;
    background: #020304 !important;
}

.twsi-kpi-card {
    background: #020304 !important;
    border-color: var(--twsi-line) !important;
}

.twsi-kpi-label {
    color: var(--twsi-orange) !important;
}

.twsi-kpi-card strong {
    color: #fff !important;
}

.twsi-kpi-sub {
    color: var(--twsi-muted) !important;
}

/* Main navigation */
.twsi-terminal-tabs,
.twsi-overview-functions {
    background: #020304 !important;
}

.twsi-terminal-tab,
.twsi-overview-functions button {
    min-height: 39px !important;
    border-color: var(--twsi-line) !important;
    border-radius: 0 !important;
    background: #020304 !important;
    color: #d5d8dd !important;
    font-size: 12.5px !important;
}

.twsi-terminal-tab.is-active,
.twsi-overview-functions button.is-active {
    background: #0a0d10 !important;
    color: var(--twsi-orange) !important;
    box-shadow: inset 0 -2px 0 var(--twsi-orange) !important;
}

/* Snapshot band was invisible because it inherited old dark text.
   Root variables now fix that; these rules strengthen hierarchy. */
.twsi-overview-snapshot-band,
.twsi-overview-snapshot-band > * {
    background: #020304 !important;
    border-color: var(--twsi-line) !important;
}

.twsi-overview-snapshot-band span {
    color: #939ba6 !important;
}

.twsi-overview-snapshot-band strong {
    color: #f3f4f5 !important;
}

/* =========================================================
   GENERIC COMPONENTS — explicit light backgrounds removed
========================================================= */

.twsi-dashboard-card,
.twsi-chart-card,
.twsi-change-card,
.twsi-quality-overview,
.twsi-profile-block,
.twsi-profile-identity,
.twsi-profile-filing-rail,
.twsi-issue-card,
.twsi-issue-ribbon,
.twsi-issue-identity,
.twsi-ratio-panel,
.twsi-dense-panel,
.twsi-work-panel,
.twsi-layer-placeholder,
.twsi-data-unavailable {
    background: #020304 !important;
    color: var(--twsi-ink) !important;
    border-color: var(--twsi-line) !important;
    border-radius: 0 !important;
}

/* headings */
.twsi-dashboard-card-heading,
.twsi-chart-heading,
.twsi-profile-block-head,
.twsi-ratio-panel-head,
.twsi-ratio-section-head,
.twsi-workstation-head,
.twsi-dense-panel-head,
.twsi-dense-header {
    border-color: var(--twsi-line) !important;
}

.twsi-dashboard-card-heading .twsi-label,
.twsi-profile-block-head span,
.twsi-ratio-panel-head span,
.twsi-ratio-section-head span,
.twsi-workstation-head span,
.twsi-dense-panel-head span,
.twsi-dense-header > div:first-child span {
    color: var(--twsi-orange) !important;
}

.twsi-dashboard-card-heading h3,
.twsi-chart-heading h3,
.twsi-profile-block-head strong,
.twsi-ratio-panel-head strong,
.twsi-ratio-section-head strong,
.twsi-workstation-head strong,
.twsi-dense-panel-head strong,
.twsi-dense-header > div:first-child strong {
    color: #f4f5f6 !important;
}

.twsi-dashboard-card-heading p,
.twsi-chart-heading p {
    color: var(--twsi-muted) !important;
}

/* =========================================================
   PROFILE
========================================================= */

.twsi-profile-identity,
.twsi-profile-primary-grid,
.twsi-profile-secondary-grid,
.twsi-profile-filing-rail {
    background: #020304 !important;
    border-color: var(--twsi-line) !important;
}

#twsi-profile-company-name {
    color: #fff !important;
}

.twsi-profile-description,
.twsi-profile-identity-line span,
.twsi-profile-source-note {
    color: #aab1ba !important;
}

.twsi-profile-data-list .twsi-overview-kv-row,
.twsi-profile-characteristic {
    border-color: var(--twsi-line-soft) !important;
}

.twsi-profile-data-list .twsi-overview-kv-row span,
.twsi-profile-characteristic span,
.twsi-profile-characteristic small {
    color: #aeb5be !important;
}

.twsi-profile-data-list .twsi-overview-kv-row strong {
    color: #f5f5f5 !important;
}

.twsi-profile-source-badge,
.twsi-profile-source-line > span {
    color: var(--twsi-orange) !important;
}

/* Reporting status specifically */
.twsi-profile-filing-rail > span {
    color: var(--twsi-orange) !important;
}

.twsi-profile-filing-rail > strong {
    color: #f4f5f6 !important;
}

.twsi-profile-filing-rail > small {
    color: #929aa4 !important;
}

/* =========================================================
   ISSUE DATA
========================================================= */

.twsi-issue-card,
.twsi-issue-ribbon,
.twsi-issue-identity {
    background: #020304 !important;
    border-color: var(--twsi-line) !important;
}

.twsi-issue-field span {
    color: #aab1ba !important;
}

.twsi-issue-field strong {
    color: #f5f5f5 !important;
}

/* =========================================================
   FINANCIALS
========================================================= */

.twsi-strength-summary,
.twsi-capital-summary,
.twsi-shareholder-summary,
.twsi-valuation-context,
.twsi-valuation-scenarios {
    gap: 1px !important;
    background: var(--twsi-line) !important;
    border-color: var(--twsi-line) !important;
    border-radius: 0 !important;
}

.twsi-strength-metric,
.twsi-capital-metric,
.twsi-shareholder-metric,
.twsi-valuation-context-card {
    background: #020304 !important;
}

.twsi-strength-label,
.twsi-capital-metric-label,
.twsi-capital-metric-share,
.twsi-shareholder-label,
.twsi-valuation-context-label {
    color: #9ea6b0 !important;
}

.twsi-strength-value,
.twsi-capital-metric-value,
.twsi-shareholder-value,
.twsi-valuation-context-value {
    color: #f5f5f5 !important;
}

.twsi-table-wrapper {
    background: #020304 !important;
    border-color: var(--twsi-line) !important;
    border-radius: 0 !important;
}

.twsi-financial-table {
    background: #020304 !important;
    color: #e9ebee !important;
    font-size: 10.5px !important;
}

.twsi-financial-table th {
    background: #050709 !important;
    color: var(--twsi-orange) !important;
    border-color: var(--twsi-line) !important;
}

.twsi-financial-table td,
.twsi-financial-table td:first-child,
.twsi-financial-table tbody tr:first-child td,
.twsi-financial-table tbody tr:first-child td:first-child {
    background: #020304 !important;
    color: #e9ebee !important;
    border-color: var(--twsi-line-soft) !important;
}

/* =========================================================
   CAPITAL + SHAREHOLDERS
========================================================= */

.twsi-capital-workspace,
.twsi-capital-chart-area,
.twsi-capital-chart-container,
.twsi-shareholder-grid,
.twsi-shareholder-panel,
.twsi-shareholder-chart-container {
    background: #020304 !important;
}

.twsi-capital-chart-area,
.twsi-shareholder-panel {
    border-color: var(--twsi-line) !important;
    border-radius: 0 !important;
}

.twsi-capital-chart-heading {
    color: var(--twsi-orange) !important;
}

/* =========================================================
   VALUATION
========================================================= */

.twsi-valuation,
.twsi-valuation-workspace,
.twsi-valuation-left,
.twsi-valuation-chart-area,
.twsi-valuation-chart-container {
    background: #020304 !important;
}

.twsi-valuation-scenario,
.twsi-valuation-base {
    background: #020304 !important;
    color: var(--twsi-ink) !important;
}

.twsi-valuation-scenario-name,
.twsi-valuation-scenario-assumptions,
.twsi-valuation-scenario-assumptions em {
    color: #9da5af !important;
}

.twsi-valuation-scenario-value {
    color: #f5f5f5 !important;
}

.twsi-valuation-base .twsi-valuation-scenario-value,
.twsi-valuation-base .twsi-valuation-scenario-name::after {
    color: var(--twsi-blue) !important;
}

.twsi-valuation-chart-area {
    border-color: var(--twsi-line) !important;
    border-radius: 0 !important;
}

.twsi-valuation-note {
    color: #959da7 !important;
    border-color: var(--twsi-line) !important;
}

/* =========================================================
   REVENUE / EPS + INDUSTRY
========================================================= */

.twsi-dense-header,
.twsi-dense-kpi-strip,
.twsi-dense-footbar,
.twsi-stat-rail,
.twsi-layer-placeholder,
.twsi-data-unavailable {
    background: #020304 !important;
    border-color: var(--twsi-line) !important;
}

.twsi-dense-kpi-strip > div,
.twsi-stat-rail > div {
    border-color: var(--twsi-line) !important;
}

.twsi-dense-kpi-strip span,
.twsi-stat-rail span,
.twsi-layer-placeholder span,
.twsi-data-unavailable span {
    color: #9ca4ae !important;
}

.twsi-dense-kpi-strip strong,
.twsi-stat-rail strong,
.twsi-layer-placeholder strong,
.twsi-data-unavailable strong {
    color: #f3f4f5 !important;
}

/* =========================================================
   RATIOS
========================================================= */

.twsi-ratios-bloomberg,
.twsi-rb-snapshot,
.twsi-rb-snapshot-grid,
.twsi-rb-table-panel,
.twsi-rb-peer-content,
.twsi-rb-quality-summary,
.twsi-rb-footer {
    background: #020304 !important;
    color: var(--twsi-ink) !important;
    border-color: var(--twsi-line) !important;
}

.twsi-rb-section-head,
.twsi-rb-panel-head {
    background: #050709 !important;
    border-color: var(--twsi-line) !important;
}

.twsi-rb-section-head span,
.twsi-rb-panel-head span,
.twsi-rb-snapshot-item > span,
.twsi-rb-footer strong {
    color: var(--twsi-orange) !important;
}

.twsi-rb-section-head strong,
.twsi-rb-panel-head strong,
.twsi-rb-snapshot-item > strong,
.twsi-rb-ratio-row > span,
.twsi-rb-ratio-row > strong {
    color: #f3f4f5 !important;
}

.twsi-rb-spark path,
.twsi-rb-spark.favorable path,
.twsi-rb-spark.unfavorable path {
    fill: none !important;
    stroke: #eef0f2 !important;
}

/* =========================================================
   CHARTS
========================================================= */

.twsi-analyzer canvas {
    background: transparent !important;
}

.twsi-combo-chart .axis,
.twsi-native-chart .axis {
    stroke: #444b54 !important;
}

.twsi-combo-chart .bar {
    fill: rgba(47,111,255,.78) !important;
}

.twsi-combo-chart .main-line,
.twsi-native-chart .main-line {
    fill: none !important;
    stroke: var(--twsi-blue) !important;
}

.twsi-combo-chart .growth-line {
    fill: none !important;
    stroke: var(--twsi-orange) !important;
}

.twsi-combo-chart .growth-dot {
    fill: var(--twsi-orange) !important;
}

.twsi-combo-chart text,
.twsi-native-chart text {
    fill: #c4c9d0 !important;
}

/* =========================================================
   SEMANTIC COLOUR SYSTEM
========================================================= */

.twsi-analyzer .is-positive,
.twsi-analyzer .positive {
    color: var(--twsi-positive) !important;
}

.twsi-analyzer .is-negative,
.twsi-analyzer .negative {
    color: var(--twsi-negative) !important;
}

.twsi-analyzer .is-warning {
    color: var(--twsi-orange) !important;
}

.twsi-analyzer .is-neutral {
    color: #7898ff !important;
}

/* selected rows / focus */
.twsi-rb-peer-row.selected,
.twsi-analyzer .selected,
.twsi-analyzer .is-selected {
    background: linear-gradient(
        90deg,
        rgba(47,111,255,.58),
        rgba(47,111,255,.20)
    ) !important;
}

/* no rounded modern dashboard cards */
.twsi-analyzer .twsi-dashboard-card,
.twsi-analyzer .twsi-chart-card,
.twsi-analyzer .twsi-change-card,
.twsi-analyzer .twsi-issue-card,
.twsi-analyzer .twsi-profile-block,
.twsi-analyzer .twsi-dense-panel,
.twsi-analyzer .twsi-layer-placeholder {
    border-radius: 0 !important;
}

@media (max-width: 1000px) {
    body.page-id-2604 .twsi-analyzer {
        width: 100vw !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
}

@media (max-width: 720px) {
    .twsi-analyzer > * {
        max-width: none !important;
    }
}

/* v2.9 — exact compact Overview workstation */
.twsi-overview-subpanel[data-twsi-overview-panel="profile"]{background:#000!important;padding:0!important}
.twsi-ovx-terminal{width:min(1020px,100%)!important;max-width:1020px!important;margin:0 auto!important;background:#000!important;color:#ececec!important;border:1px solid #4a4a4a!important;border-radius:0!important;font-family:Arial,Helvetica,sans-serif!important;font-variant-numeric:tabular-nums}
.twsi-ovx-security-strip{display:grid;grid-template-columns:minmax(250px,1.35fr) minmax(280px,1fr) 175px;min-height:56px;border-bottom:1px solid #4a4a4a;background:#000}
.twsi-ovx-security-strip>div{padding:7px 9px;border-right:1px solid #353535}.twsi-ovx-security-strip>div:last-child{border-right:0}
.twsi-ovx-security-strip>div:first-child strong{display:block;color:#21c7d9;font-size:17px;font-weight:500;line-height:1.05}.twsi-ovx-security-strip>div:first-child span{display:block;margin-top:5px;color:#bdbdbd;font-size:10px}
.twsi-ovx-security-stats{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.twsi-ovx-security-stats span{color:#d0d0d0;font-size:10px}.twsi-ovx-security-stats b{margin-right:3px;color:#ff9f1c;font-weight:500}.twsi-ovx-security-id{display:flex;justify-content:flex-end;align-items:center;color:#ededed;font-size:14px}
.twsi-ovx-grid{display:grid;grid-template-columns:2fr 1fr;background:#000}.twsi-ovx-panel{min-width:0;background:#000;border-right:1px solid #4a4a4a;border-bottom:1px solid #4a4a4a}.twsi-ovx-panel:nth-child(2n){border-right:0}
.twsi-ovx-panel-head{height:28px;display:flex;align-items:center;gap:4px;padding:0 7px;border-bottom:1px solid #343434;background:#030303}.twsi-ovx-panel-head span,.twsi-ovx-panel-head strong{color:#cfcfcf;font-size:11px;font-weight:500}.twsi-ovx-panel-head span{color:#8d8d8d}
.twsi-ovx-description,.twsi-ovx-price{min-height:160px}.twsi-ovx-description-body{display:grid;grid-template-columns:minmax(0,1.78fr) minmax(188px,.92fr);min-height:130px}.twsi-ovx-description-body>div{padding:7px 8px}.twsi-ovx-description-body>div:first-child{border-right:1px solid #2f2f2f}.twsi-ovx-description-body p{margin:0;color:#d6d6d6;font-size:10px;line-height:1.48}.twsi-ovx-source{display:flex;gap:5px;margin-top:6px;font-size:9px}.twsi-ovx-source span,.twsi-ovx-source a,.twsi-ovx-source strong{color:#ff9f1c}
.twsi-ovx-facts{display:grid;align-content:start}.twsi-ovx-facts>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:6px;min-height:24px;align-items:center;border-bottom:1px solid #1f1f1f}.twsi-ovx-facts>div:last-child{border-bottom:0}.twsi-ovx-facts span{color:#ff9f1c;font-size:9.5px}.twsi-ovx-facts strong{color:#d8d8d8;font-size:9.5px;font-weight:400;overflow-wrap:anywhere}
.twsi-ovx-price-body{display:grid;grid-template-columns:104px 1fr;min-height:130px}.twsi-ovx-price-returns{padding:6px 7px;border-right:1px solid #2e2e2e}.twsi-ovx-price-returns>div{display:flex;justify-content:space-between;gap:6px;min-height:22px;align-items:center;font-size:9.5px}.twsi-ovx-price-returns span{color:#bdbdbd}.twsi-ovx-price-returns strong{color:#42d867;font-weight:400}.twsi-ovx-price-placeholder{min-height:130px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(#151515 1px,transparent 1px),linear-gradient(90deg,#151515 1px,transparent 1px);background-size:26px 24px}.twsi-ovx-price-placeholder strong{color:#ff9f1c;font-size:11px;font-weight:500}.twsi-ovx-price-placeholder span{margin-top:3px;color:#777;font-size:9px}
.twsi-ovx-segments,.twsi-ovx-metrics{min-height:190px}.twsi-ovx-metric-list{padding:5px 8px}.twsi-ovx-metric-list>div{grid-template-columns:120px 1fr}.twsi-ovx-metric-list strong{text-align:right}
.twsi-ovx-mix-table{padding:4px 7px 7px}.twsi-ovx-mix-table>div{display:grid;grid-template-columns:minmax(130px,1fr) 90px 62px;gap:7px;min-height:27px;align-items:center;border-bottom:1px solid #252525}.twsi-ovx-mix-table>div:last-child{border-bottom:0}.twsi-ovx-mix-table .head{min-height:23px}.twsi-ovx-mix-table .head span{color:#999;font-size:8.5px}.twsi-ovx-mix-table strong{color:#ff9f1c;font-size:9.5px;font-weight:400}.twsi-ovx-mix-table span{color:#d1d1d1;font-size:9.5px;text-align:right}
.twsi-ovx-geography{min-height:190px}.twsi-ovx-products{min-height:95px}.twsi-ovx-identifiers{min-height:150px}.twsi-ovx-products-list{padding:6px 8px}.twsi-ovx-products-list>div{display:grid;grid-template-columns:12px 1fr 48px;gap:5px;min-height:25px;align-items:center;border-bottom:1px solid #232323}.twsi-ovx-products-list>div:last-child{border-bottom:0}.twsi-ovx-products-list>div>span{color:#ff9f1c}.twsi-ovx-products-list strong{color:#d8d8d8;font-size:9.5px;font-weight:400}.twsi-ovx-products-list em{color:#d8d8d8;font-size:9px;font-style:normal;text-align:right}
.twsi-ovx-unavailable{min-height:120px;display:flex;flex-direction:column;justify-content:center;padding:10px}.twsi-ovx-unavailable strong{color:#ff9f1c;font-size:10px;font-weight:500}.twsi-ovx-unavailable span{max-width:330px;margin-top:4px;color:#777;font-size:9px;line-height:1.4}
.twsi-ovx-description{grid-column:1;grid-row:1}.twsi-ovx-price{grid-column:2;grid-row:1}.twsi-ovx-segments{grid-column:1;grid-row:2}.twsi-ovx-metrics{grid-column:2;grid-row:2}.twsi-ovx-geography{grid-column:1;grid-row:3/span 2}.twsi-ovx-products{grid-column:2;grid-row:3}.twsi-ovx-identifiers{grid-column:2;grid-row:4}
@media(max-width:860px){.twsi-ovx-terminal{width:100%!important}.twsi-ovx-security-strip,.twsi-ovx-grid{grid-template-columns:1fr}.twsi-ovx-security-strip>div{border-right:0;border-bottom:1px solid #343434}.twsi-ovx-description,.twsi-ovx-price,.twsi-ovx-segments,.twsi-ovx-metrics,.twsi-ovx-geography,.twsi-ovx-products,.twsi-ovx-identifiers{grid-column:1!important;grid-row:auto!important;border-right:0}}

/* =========================================================
   v2.9.1 — OVERVIEW WIDTH + TYPOGRAPHY ALIGNMENT
   Top shell now aligns exactly with the compact 1020px
   Overview workstation below. Fonts enlarged throughout.
========================================================= */

/* Only while viewing the Overview panel, keep the full terminal shell compact */
.twsi-analyzer:has(.twsi-terminal-tab[data-tab="overview"].is-active) .twsi-dashboard-header,
.twsi-analyzer:has(.twsi-terminal-tab[data-tab="overview"].is-active) .twsi-kpi-strip,
.twsi-analyzer:has(.twsi-terminal-tab[data-tab="overview"].is-active) .twsi-terminal-tabs,
.twsi-analyzer:has(.twsi-terminal-tab[data-tab="overview"].is-active) .twsi-overview-workspace {
    width: min(1020px, 100%) !important;
    max-width: 1020px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Search/header area aligned too, so the screen reads as one workstation */
.twsi-analyzer:has(.twsi-terminal-tab[data-tab="overview"].is-active) .twsi-analyzer-header,
.twsi-analyzer:has(.twsi-terminal-tab[data-tab="overview"].is-active) .twsi-search-box,
.twsi-analyzer:has(.twsi-terminal-tab[data-tab="overview"].is-active) #twsi-status {
    width: min(1020px, 100%) !important;
    max-width: 1020px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* =========================================================
   TOP SECTION — bigger readable terminal typography
========================================================= */

.twsi-dashboard-company > span,
.twsi-dashboard-small-label {
    font-size: 11px !important;
}

.twsi-dashboard-company h2 {
    font-size: 28px !important;
    line-height: 1.05 !important;
}

.twsi-dashboard-company p {
    font-size: 11.5px !important;
}

.twsi-dashboard-filing strong {
    font-size: 13.5px !important;
}

.twsi-kpi-card {
    min-height: 82px !important;
    padding: 11px 12px !important;
}

.twsi-kpi-label {
    font-size: 10.5px !important;
}

.twsi-kpi-card strong {
    font-size: 24px !important;
    line-height: 1.05 !important;
}

.twsi-kpi-sub {
    font-size: 9.5px !important;
    margin-top: 3px !important;
}

.twsi-terminal-tab,
.twsi-overview-functions button {
    min-height: 43px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    font-size: 14px !important;
}

/* Snapshot band under sub-navigation */
.twsi-overview-snapshot-band span {
    font-size: 9.5px !important;
}

.twsi-overview-snapshot-band strong {
    font-size: 17px !important;
}

/* =========================================================
   LOWER OVERVIEW — increase all terminal fonts without
   changing the compact proportions.
========================================================= */

.twsi-ovx-terminal {
    font-size: 12px !important;
}

/* Security strip */
.twsi-ovx-security-strip > div:first-child strong {
    font-size: 21px !important;
}

.twsi-ovx-security-strip > div:first-child span {
    font-size: 11.5px !important;
}

.twsi-ovx-security-stats span {
    font-size: 11.5px !important;
}

.twsi-ovx-security-id {
    font-size: 16px !important;
}

/* Panel headers */
.twsi-ovx-panel-head {
    height: 32px !important;
}

.twsi-ovx-panel-head span,
.twsi-ovx-panel-head strong {
    font-size: 12.5px !important;
}

/* Description */
.twsi-ovx-description-body p {
    font-size: 11.5px !important;
    line-height: 1.5 !important;
}

.twsi-ovx-source {
    font-size: 10px !important;
}

/* Facts + metrics */
.twsi-ovx-facts > div {
    min-height: 27px !important;
}

.twsi-ovx-facts span,
.twsi-ovx-facts strong {
    font-size: 10.8px !important;
}

/* Price panel */
.twsi-ovx-price-returns > div {
    min-height: 25px !important;
    font-size: 10.8px !important;
}

.twsi-ovx-price-placeholder strong {
    font-size: 12px !important;
}

.twsi-ovx-price-placeholder span {
    font-size: 10px !important;
}

/* Segment/geography tables */
.twsi-ovx-mix-table .head span {
    font-size: 9.5px !important;
}

.twsi-ovx-mix-table strong,
.twsi-ovx-mix-table span {
    font-size: 10.8px !important;
}

/* Products */
.twsi-ovx-products-list strong {
    font-size: 10.8px !important;
}

.twsi-ovx-products-list em {
    font-size: 10px !important;
}

/* unavailable states */
.twsi-ovx-unavailable strong {
    font-size: 11.5px !important;
}

.twsi-ovx-unavailable span {
    font-size: 10px !important;
}

/* =========================================================
   Slightly tighter top vertical rhythm to match reference
========================================================= */

.twsi-dashboard-header {
    margin-top: 5px !important;
}

.twsi-kpi-strip,
.twsi-terminal-tabs,
.twsi-overview-functions {
    margin-top: 5px !important;
}

/* Prevent top area from feeling wider than Profile terminal */
.twsi-overview-workspace {
    overflow: visible !important;
}

/* Fallback for browsers without :has support:
   the actual Overview sub-workspace and lower terminal remain aligned. */
@supports not selector(:has(*)) {
    .twsi-dashboard-header,
    .twsi-kpi-strip,
    .twsi-terminal-tabs,
    .twsi-overview-workspace,
    .twsi-analyzer-header,
    .twsi-search-box,
    #twsi-status {
        width: min(1020px, 100%) !important;
        max-width: 1020px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

@media (max-width: 860px) {
    .twsi-dashboard-header,
    .twsi-kpi-strip,
    .twsi-terminal-tabs,
    .twsi-overview-workspace,
    .twsi-analyzer-header,
    .twsi-search-box {
        width: 100% !important;
        max-width: none !important;
    }
}

/* =========================================================
   v2.9.2 — OVERVIEW WIDTH FIX
   Previous selector used data-tab instead of data-twsi-tab,
   so the top shell never received the 1020px constraint.
========================================================= */

/* Correct selector: align EVERY visible Overview shell element
   to the exact same width as the Profile workstation. */
.twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-analyzer-header,
.twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-search-box,
.twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) #twsi-status,
.twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-dashboard-header,
.twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-kpi-strip,
.twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-terminal-tabs,
.twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-terminal-panel[data-twsi-panel="overview"],
.twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-overview-workspace,
.twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-overview-functions,
.twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-overview-snapshot-band,
.twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-overview-subpanels {
    width: min(1020px, 100%) !important;
    max-width: 1020px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* The active Overview panel is a grid in the base plugin.
   Force it to one full-width column so it cannot expand wider. */
.twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active)
.twsi-terminal-panel[data-twsi-panel="overview"].is-active {
    display: block !important;
}

/* Lower terminal must share exactly the same outer edges. */
.twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-terminal {
    width: 100% !important;
    max-width: 1020px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* =========================================================
   ACTIVE TAB INDICATOR
   Remove the old blue pseudo-element completely.
   One orange line only — no blue + orange double indicator.
========================================================= */

.twsi-terminal-tab.is-active,
.twsi-overview-functions button.is-active {
    box-shadow: none !important;
}

.twsi-terminal-tab.is-active::after,
.twsi-overview-functions button.is-active::after,
.twsi-analyzer.is-ratios-terminal .twsi-terminal-tabs button.is-active::after,
.twsi-analyzer.is-ratios-terminal .twsi-overview-functions button.is-active::after {
    background: #ff9f1c !important;
    height: 2px !important;
}

/* Keep active text orange consistently. */
.twsi-terminal-tab.is-active,
.twsi-overview-functions button.is-active {
    color: #ff9f1c !important;
}

/* =========================================================
   READABILITY PASS
========================================================= */

/* Main navigation */
.twsi-terminal-tab {
    font-size: 14.5px !important;
    min-height: 44px !important;
}

.twsi-overview-functions button {
    font-size: 13.5px !important;
    min-height: 42px !important;
}

/* Investor snapshot */
.twsi-overview-snapshot-band span {
    font-size: 10px !important;
}

.twsi-overview-snapshot-band strong {
    font-size: 18px !important;
    line-height: 1.1 !important;
}

/* Compact terminal body */
.twsi-ovx-panel-head span,
.twsi-ovx-panel-head strong {
    font-size: 13px !important;
}

.twsi-ovx-description-body p {
    font-size: 12px !important;
    line-height: 1.5 !important;
}

.twsi-ovx-facts span,
.twsi-ovx-facts strong {
    font-size: 11.3px !important;
}

.twsi-ovx-price-returns > div,
.twsi-ovx-mix-table strong,
.twsi-ovx-mix-table span,
.twsi-ovx-products-list strong {
    font-size: 11.2px !important;
}

/* Desktop only: the 1020px workstation is intentionally fixed
   and should not inherit the outer full-screen analyzer width. */
@media (min-width: 861px) {
    .twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active)
    .twsi-terminal-panel[data-twsi-panel="overview"] {
        min-width: 0 !important;
    }
}

@media (max-width: 860px) {
    .twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-analyzer-header,
    .twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-search-box,
    .twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-dashboard-header,
    .twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-kpi-strip,
    .twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-terminal-tabs,
    .twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-terminal-panel[data-twsi-panel="overview"],
    .twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-overview-workspace,
    .twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-overview-functions,
    .twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-overview-snapshot-band,
    .twsi-analyzer:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-overview-subpanels {
        width: 100% !important;
        max-width: none !important;
    }
}


/* =========================================================
   v3.0 — SEGMENT INTELLIGENCE PROVENANCE
========================================================= */
.twsi-ovx-evidence{min-height:24px;display:flex;align-items:center;gap:7px;padding:4px 7px;border-top:1px solid #252525;background:#030303;font-size:8.5px;white-space:nowrap;overflow:hidden}
.twsi-ovx-evidence span{color:#42d867;font-weight:700}.twsi-ovx-evidence strong{color:#c6c6c6;font-weight:400}.twsi-ovx-evidence em{color:#7f858c;font-style:normal}.twsi-ovx-evidence a{margin-left:auto;color:#ff9f1c;text-decoration:none}
.twsi-ovx-mix-table.has-op-income>div,.twsi-ovx-mix-table.has-op-income .head{grid-template-columns:minmax(130px,1fr) 88px 58px 88px}
.twsi-ovx-mix-table.has-op-income>div>span:nth-child(n+2){text-align:right}
.twsi-ovx-segments,.twsi-ovx-geography,.twsi-ovx-products{display:flex;flex-direction:column}.twsi-ovx-segments>[id$="-body"],.twsi-ovx-geography>[id$="-body"],.twsi-ovx-products>[id$="-body"]{flex:1}
@media(max-width:860px){.twsi-ovx-evidence{white-space:normal;flex-wrap:wrap}.twsi-ovx-evidence a{margin-left:0}}


/* =========================================================
   v3.2 — NO-KEY NASDAQ PRICE FEED
========================================================= */

.twsi-ovx-price .twsi-ovx-panel-head {
    justify-content: flex-start;
}

.twsi-ovx-price .twsi-ovx-panel-head em {
    margin-left: auto;
    color: #ff9f1c;
    font-size: 8px;
    font-style: normal;
    letter-spacing: .03em;
}

.twsi-ovx-price-quote {
    height: 31px;
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 5px 7px 3px;
    border-bottom: 1px solid #292929;
    background: #000;
}

.twsi-ovx-price-quote > strong {
    color: #f3f3f3;
    font-size: 17px;
    font-weight: 500;
    line-height: 1;
}

.twsi-ovx-price-quote > span {
    font-size: 10.5px;
}

.twsi-ovx-price-quote > em {
    margin-left: auto;
    color: #888;
    font-size: 8.5px;
    font-style: normal;
}

.twsi-ovx-price-body {
    min-height: 128px !important;
    grid-template-columns: 106px minmax(0, 1fr) !important;
}

.twsi-ovx-price-chart {
    position: relative;
    min-width: 0;
    height: 128px;
    overflow: hidden;
    background: #000;
}

.twsi-ovx-price-chart > svg {
    width: 100%;
    height: 100%;
    display: block;
}

.twsi-ovx-price-chart .grid line {
    stroke: #1a1a1a;
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}

.twsi-ovx-price-chart .price-line {
    fill: none;
    stroke: #ff9f1c;
    stroke-width: 1.45;
    vector-effect: non-scaling-stroke;
}

.twsi-ovx-price-chart .price-dot {
    fill: #ff9f1c;
}

.twsi-ovx-price-chart text {
    fill: #777;
    font-size: 8px;
    font-family: Arial, Helvetica, sans-serif;
}

.twsi-ovx-price-chart > strong,
.twsi-ovx-price-chart > span {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.twsi-ovx-price-chart > strong {
    top: 49px;
    color: #ff9f1c;
    font-size: 10.5px;
    font-weight: 500;
}

.twsi-ovx-price-chart > span {
    top: 68px;
    color: #777;
    font-size: 8.5px;
}

.twsi-ovx-price-meta {
    min-height: 25px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 4px 7px;
    border-top: 1px solid #292929;
    background: #030303;
    overflow: hidden;
    white-space: nowrap;
}

.twsi-ovx-price-meta > span {
    color: #777;
    font-size: 8px;
}

.twsi-ovx-price-meta strong {
    margin-left: 3px;
    color: #d4d4d4;
    font-weight: 400;
}

.twsi-ovx-price-meta a {
    margin-left: 3px;
    color: #ff9f1c;
    text-decoration: none;
}

.twsi-ovx-price-returns > div strong.is-positive,
.twsi-ovx-price-quote > span.is-positive {
    color: #42d867 !important;
}

.twsi-ovx-price-returns > div strong.is-negative,
.twsi-ovx-price-quote > span.is-negative {
    color: #ff5d48 !important;
}

.twsi-ovx-price-returns > div strong.is-neutral,
.twsi-ovx-price-quote > span.is-neutral {
    color: #d1d1d1 !important;
}

@media (max-width: 860px) {
    .twsi-ovx-price-meta {
        flex-wrap: wrap;
        white-space: normal;
    }
}


/* =========================================================
   v3.4 — ISSUE DATA COMPACT TERMINAL
========================================================= */

.twsi-overview-subpanel[data-twsi-overview-panel="issue"] {
    background: #000 !important;
    padding: 0 !important;
}

.twsi-ix-terminal {
    width: min(1020px, 100%) !important;
    max-width: 1020px !important;
    margin: 0 auto !important;
    background: #000 !important;
    color: #d8d8d8 !important;
    border: 1px solid #444 !important;
    border-radius: 0 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-variant-numeric: tabular-nums;
}

.twsi-ix-security-bar {
    display: grid;
    grid-template-columns: 1fr auto 235px;
    min-height: 31px;
    align-items: center;
    border-bottom: 1px solid #424242;
}

.twsi-ix-security-left,
.twsi-ix-security-quote,
.twsi-ix-security-id {
    padding: 4px 7px;
}

.twsi-ix-security-left strong {
    color: #20c8d7;
    font-size: 15px;
    font-weight: 500;
}

.twsi-ix-security-quote {
    display: flex;
    gap: 12px;
    align-items: baseline;
    font-size: 13px;
}

.twsi-ix-security-quote strong {
    color: #d8d8d8;
    font-size: 16px;
    font-weight: 400;
}

.twsi-ix-security-quote .is-positive {
    color: #42d867 !important;
}

.twsi-ix-security-quote .is-negative {
    color: #ff5d48 !important;
}

.twsi-ix-security-id {
    text-align: right;
    color: #e4e4e4;
    font-size: 13px;
}

.twsi-ix-market-bar {
    min-height: 23px;
    display: flex;
    justify-content: center;
    gap: 14px;
    align-items: center;
    border-bottom: 1px solid #333;
    color: #b8b8b8;
    font-size: 9.5px;
}

.twsi-ix-market-bar b {
    color: #ff9f1c;
    font-weight: 400;
}

.twsi-ix-title {
    min-height: 30px;
    display: flex;
    align-items: center;
    padding: 0 4px;
    border-bottom: 1px solid #3e3e3e;
    color: #d6d6d6;
    font-size: 13px;
}

.twsi-ix-grid {
    display: grid;
    grid-template-columns: 27% 37% 36%;
    grid-template-rows: 195px 145px 205px;
    background: #000;
}

.twsi-ix-panel {
    min-width: 0;
    background: #000;
    border-right: 1px solid #484848;
    border-bottom: 1px solid #484848;
    overflow: hidden;
}

.twsi-ix-panel header {
    height: 27px;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 5px;
    border-bottom: 1px solid #313131;
    background: #020202;
}

.twsi-ix-panel header span,
.twsi-ix-panel header strong {
    color: #cfcfcf;
    font-size: 10.5px;
    font-weight: 400;
}

.twsi-ix-security-details {
    grid-column: 1;
    grid-row: 1 / span 2;
}

.twsi-ix-issue-history {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.twsi-ix-share-class {
    grid-column: 3;
    grid-row: 1;
    border-right: 0;
}

.twsi-ix-capitalization {
    grid-column: 3;
    grid-row: 2;
    border-right: 0;
}

.twsi-ix-dividend {
    grid-column: 1;
    grid-row: 3;
}

.twsi-ix-price-history {
    grid-column: 2;
    grid-row: 3;
}

.twsi-ix-trading {
    grid-column: 3;
    grid-row: 3;
    border-right: 0;
}

.twsi-ix-kv {
    padding: 5px 7px;
}

.twsi-ix-kv > div {
    display: grid;
    grid-template-columns: minmax(105px, 1fr) minmax(95px, 1fr);
    gap: 7px;
    min-height: 22px;
    align-items: center;
}

.twsi-ix-kv span {
    color: #ff9f1c;
    font-size: 9.5px;
}

.twsi-ix-kv strong {
    color: #cfcfcf;
    font-size: 9.5px;
    font-weight: 400;
    overflow-wrap: anywhere;
}

.twsi-ix-history-head,
.twsi-ix-history-row {
    display: grid;
    grid-template-columns: 90px 100px minmax(0, 1fr) 80px;
    gap: 0;
}

.twsi-ix-history-head {
    height: 25px;
    align-items: center;
    border-bottom: 1px solid #303030;
    background: #080808;
}

.twsi-ix-history-head span {
    padding: 0 5px;
    color: #aaa;
    font-size: 8.5px;
    border-right: 1px solid #242424;
}

.twsi-ix-history-row {
    min-height: 27px;
    align-items: center;
    border-bottom: 1px solid #202020;
}

.twsi-ix-history-row span {
    padding: 0 5px;
    color: #c8c8c8;
    font-size: 9px;
}

.twsi-ix-history-row span:nth-child(2) {
    color: #d0d0d0;
}

.twsi-ix-history-empty {
    min-height: 130px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 12px;
}

.twsi-ix-history-empty strong {
    color: #ff9f1c;
    font-size: 10px;
    font-weight: 400;
}

.twsi-ix-history-empty span {
    margin-top: 5px;
    color: #777;
    font-size: 9px;
}

.twsi-ix-share-head,
.twsi-ix-share-row {
    display: grid;
    grid-template-columns: minmax(120px, 1.25fr) 1fr .8fr;
    align-items: center;
}

.twsi-ix-share-head {
    min-height: 22px;
    border-bottom: 1px solid #292929;
}

.twsi-ix-share-head span {
    color: #aaa;
    font-size: 8.5px;
    text-align: center;
}

.twsi-ix-share-row {
    min-height: 20px;
}

.twsi-ix-share-row span {
    color: #ff9f1c;
    font-size: 9px;
    padding-left: 6px;
}

.twsi-ix-share-row strong,
.twsi-ix-share-row em {
    color: #cfcfcf;
    font-size: 9px;
    font-weight: 400;
    font-style: normal;
    text-align: center;
}

.twsi-ix-share-row em {
    color: #777;
}

.twsi-ix-cap-head,
.twsi-ix-cap-row {
    display: grid;
    grid-template-columns: minmax(145px, 1.25fr) 1fr 90px;
    align-items: center;
}

.twsi-ix-cap-head {
    min-height: 22px;
    border-bottom: 1px solid #292929;
}

.twsi-ix-cap-head span {
    color: #aaa;
    font-size: 8.5px;
    text-align: center;
}

.twsi-ix-cap-row {
    min-height: 20px;
}

.twsi-ix-cap-row span {
    color: #ff9f1c;
    padding-left: 6px;
    font-size: 9px;
}

.twsi-ix-cap-row strong,
.twsi-ix-cap-row em {
    color: #cfcfcf;
    font-size: 9px;
    font-weight: 400;
    font-style: normal;
    text-align: right;
    padding-right: 6px;
}

.twsi-ix-cap-row em {
    color: #aaa;
    font-size: 8.5px;
}

.twsi-ix-chart-toolbar {
    height: 27px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 8px;
    border-bottom: 1px solid #292929;
}

.twsi-ix-chart-toolbar span {
    color: #aaa;
    font-size: 8.5px;
}

.twsi-ix-chart-toolbar strong {
    padding: 2px 14px;
    border: 1px solid #555;
    color: #ddd;
    font-size: 9px;
    font-weight: 400;
}

.twsi-ix-price-chart {
    height: 150px;
    background: #000;
}

.twsi-ix-price-chart svg {
    width: 100%;
    height: 100%;
    display: block;
}

.twsi-ix-price-chart .grid line {
    stroke: #171717;
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}

.twsi-ix-price-chart .line {
    fill: none;
    stroke: #ff9f1c;
    stroke-width: 1.35;
    vector-effect: non-scaling-stroke;
}

.twsi-ix-price-chart text {
    fill: #878787;
    font-size: 8px;
}

.twsi-ix-chart-empty {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #777;
    font-size: 9px;
}

@media (max-width: 860px) {
    .twsi-ix-terminal {
        width: 100% !important;
    }

    .twsi-ix-security-bar {
        grid-template-columns: 1fr;
    }

    .twsi-ix-security-id {
        text-align: left;
    }

    .twsi-ix-grid {
        display: block;
    }

    .twsi-ix-panel {
        min-height: 180px;
        border-right: 0;
    }
}


/* =========================================================
   v3.5 — INTERACTIVE SHARE PRICE HISTORY
========================================================= */

.twsi-ix-chart-toolbar {
    height: 34px !important;
    gap: 7px !important;
    padding: 0 8px !important;
}

.twsi-ix-chart-toolbar label {
    color: #aaa;
    font-size: 9.5px;
}

.twsi-ix-select {
    min-width: 66px;
    height: 25px;
    padding: 0 24px 0 8px;
    border: 1px solid #555;
    border-radius: 0;
    outline: 0;
    background: #050505;
    color: #f0f0f0;
    font: inherit;
    font-size: 10px;
    cursor: pointer;
}

.twsi-ix-select:hover,
.twsi-ix-select:focus {
    border-color: #ff9f1c;
}

.twsi-ix-select option {
    background: #070707;
    color: #f0f0f0;
}

.twsi-ix-chart-meta {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    font-size: 8.5px;
}

.twsi-ix-chart-meta strong {
    border: 0 !important;
    padding: 0 !important;
    color: #aaa !important;
    font-size: 8.5px !important;
}

.twsi-ix-chart-meta span {
    color: #d0d0d0;
}

.twsi-ix-chart-meta .is-positive {
    color: #42d867 !important;
}

.twsi-ix-chart-meta .is-negative {
    color: #ff5d48 !important;
}

.twsi-ix-chart-meta em {
    color: #747b84;
    font-style: normal;
}

.twsi-ix-price-chart {
    height: 178px !important;
    border-top: 0;
}

.twsi-ix-price-chart svg {
    overflow: visible;
}

.twsi-ix-price-chart .grid line {
    stroke: #222 !important;
    stroke-width: 1 !important;
    vector-effect: non-scaling-stroke;
}

.twsi-ix-price-chart .line {
    stroke: #ff9f1c !important;
    stroke-width: 1.45 !important;
    vector-effect: non-scaling-stroke;
    fill: none !important;
}

.twsi-ix-price-chart .last-dot {
    fill: #ff9f1c;
}

.twsi-ix-price-chart text {
    font-family: Arial, Helvetica, sans-serif;
}

.twsi-ix-price-chart .axis-y {
    fill: #919191 !important;
    font-size: 8.5px !important;
}

.twsi-ix-price-chart .axis-x {
    fill: #8b8b8b !important;
    font-size: 8.5px !important;
}

.twsi-ix-price-chart .last-price {
    fill: #ff9f1c !important;
    font-size: 9px !important;
    font-weight: 600;
}

/* Give the price-history panel enough vertical room for real axes. */
.twsi-ix-grid {
    grid-template-rows: 195px 145px 230px !important;
}

@media (max-width: 860px) {
    .twsi-ix-chart-toolbar {
        height: auto !important;
        min-height: 42px;
        flex-wrap: wrap;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }

    .twsi-ix-chart-meta {
        width: 100%;
        margin-left: 0;
    }
}


/* =========================================================
   v3.6 — LIVE PUBLIC QUOTE POLLING
========================================================= */

.twsi-live-pulse,
.twsi-ix-live-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    height: 18px;
    padding: 0 6px;
    margin-left: 6px;
    color: #777;
    font-size: 8px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .035em;
    white-space: nowrap;
}

.twsi-live-pulse.is-live,
.twsi-ix-live-state.is-live {
    color: #42d867;
}

.twsi-live-pulse.is-live::before,
.twsi-ix-live-state.is-live::before {
    content: "";
    width: 5px;
    height: 5px;
    margin-right: 5px;
    border-radius: 50%;
    background: #42d867;
    animation: twsi-market-pulse 1.7s infinite;
}

.twsi-live-pulse.is-closed,
.twsi-ix-live-state.is-closed {
    color: #858585;
}

.twsi-live-pulse.is-refreshing,
.twsi-ix-live-state.is-refreshing {
    color: #ff9f1c;
}

.twsi-live-pulse.is-error,
.twsi-ix-live-state.is-error {
    color: #ff5d48;
}

.twsi-ix-security-bar {
    grid-template-columns:
        minmax(200px, 1fr)
        auto
        76px
        190px !important;
}

@keyframes twsi-market-pulse {
    0% {
        opacity: 1;
        box-shadow:
            0 0 0 0
            rgba(66,216,103,.35);
    }

    70% {
        opacity: .8;
        box-shadow:
            0 0 0 6px
            rgba(66,216,103,0);
    }

    100% {
        opacity: 1;
        box-shadow:
            0 0 0 0
            rgba(66,216,103,0);
    }
}

@media (max-width: 860px) {

    .twsi-ix-security-bar {
        grid-template-columns:
            1fr !important;
    }

    .twsi-ix-live-state {
        justify-content: flex-start;
        margin-left: 0;
    }
}


/* v3.7 terminal hover inspection */
.twsi-ix-price-chart .hover-capture{cursor:crosshair}
.twsi-ix-price-chart .crosshair-x,.twsi-ix-price-chart .crosshair-y{stroke:#666!important;stroke-width:.8!important;stroke-dasharray:3 3;opacity:.95;vector-effect:non-scaling-stroke;pointer-events:none}
.twsi-ix-price-chart .hover-dot{fill:#000;stroke:#ff9f1c;stroke-width:1.6;vector-effect:non-scaling-stroke;pointer-events:none}
.twsi-ix-price-chart .hover-tooltip{pointer-events:none}
.twsi-ix-price-chart .hover-tooltip-bg{fill:#050505;stroke:#ff9f1c;stroke-width:.85;vector-effect:non-scaling-stroke}
.twsi-ix-price-chart .hover-tooltip-date{fill:#9ca3ab!important;font-size:8.5px!important}
.twsi-ix-price-chart .hover-tooltip-price{fill:#fff!important;font-size:11px!important;font-weight:700}

/* v3.8 — Overview/Profile Price Performance hover inspection */
.twsi-ovx-price-chart .front-hover-capture{cursor:crosshair}
.twsi-ovx-price-chart .front-crosshair-x,.twsi-ovx-price-chart .front-crosshair-y{stroke:#666!important;stroke-width:.7!important;stroke-dasharray:3 3;opacity:.95;vector-effect:non-scaling-stroke;pointer-events:none}
.twsi-ovx-price-chart .front-hover-dot{fill:#000;stroke:#ff9f1c;stroke-width:1.4;vector-effect:non-scaling-stroke;pointer-events:none}
.twsi-ovx-price-chart .front-hover-tooltip{pointer-events:none}
.twsi-ovx-price-chart .front-hover-tooltip-bg{fill:#050505;stroke:#ff9f1c;stroke-width:.75;vector-effect:non-scaling-stroke}
.twsi-ovx-price-chart .front-hover-tooltip-date{fill:#9ca3ab!important;font-size:7px!important}
.twsi-ovx-price-chart .front-hover-tooltip-price{fill:#fff!important;font-size:9px!important;font-weight:700}

/* =========================================================
   v3.9 — OVERVIEW RATIOS: 9-PANEL TERMINAL GRID
========================================================= */
.twsi-overview-subpanel[data-twsi-overview-panel="ratios"]{background:#000!important;padding:0!important}
.twsi-rx-terminal{width:min(1020px,100%)!important;max-width:1020px!important;margin:0 auto!important;background:#000;color:#d8d8d8;border:1px solid #414141;font-family:Arial,Helvetica,sans-serif;font-variant-numeric:tabular-nums}
.twsi-rx-titlebar{height:28px;display:flex;align-items:center;gap:10px;padding:0 6px;border-bottom:1px solid #3a3a3a}.twsi-rx-titlebar strong{font-size:13px;font-weight:400;color:#ddd}.twsi-rx-titlebar span{font-size:9px;color:#20c8d7}
.twsi-rx-controls{height:31px;display:flex;align-items:center;gap:18px;padding:0 6px;border-bottom:1px solid #3b3b3b;color:#a8a8a8;font-size:8.5px}.twsi-rx-controls label{display:flex;align-items:center;gap:6px}.twsi-rx-controls select{height:22px;min-width:82px;padding:0 22px 0 5px;border:1px solid #666;border-radius:0;background:#050505;color:#ddd;font-size:8.5px}.twsi-rx-order-label{margin-left:auto}
.twsi-rx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#000}
.twsi-rx-panel{min-width:0;min-height:158px;border-right:1px solid #4b4b4b;border-bottom:1px solid #4b4b4b;background:#000}.twsi-rx-panel:nth-child(3n){border-right:0}
.twsi-rx-panel-head{height:25px;display:flex;align-items:center;gap:4px;padding:0 5px;border-bottom:1px solid #333;background:#020202}.twsi-rx-panel-head span,.twsi-rx-panel-head strong{font-size:9px;font-weight:400;color:#bdbdbd}.twsi-rx-panel-head span{color:#777}
.twsi-rx-table-head,.twsi-rx-row{display:grid;grid-template-columns:minmax(108px,1.45fr) repeat(5,31px) 92px;align-items:center}.twsi-rx-table-head{height:22px;border-bottom:1px solid #252525}.twsi-rx-table-head span{font-size:7.5px;color:#8f8f8f;text-align:right;padding-right:3px}.twsi-rx-table-head span:first-child{text-align:left}.twsi-rx-table-head .latest{color:#ff9f1c}
.twsi-rx-row{min-height:20px;border-bottom:1px solid #181818}.twsi-rx-row:last-child{border-bottom:0}.twsi-rx-row>span{font-size:8.2px}.twsi-rx-row .label{color:#c9c9c9;padding-left:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.twsi-rx-row .value{color:#c8c8c8;text-align:right;padding-right:3px}.twsi-rx-row .value.latest{color:#7fdc32}.twsi-rx-row .trend{display:flex;align-items:center;justify-content:center}
.twsi-rx-spark{position:relative;width:86px;height:40px}.twsi-rx-spark svg{width:86px;height:40px;display:block;overflow:visible}.twsi-rx-spark path{fill:none;stroke:#57a8ff;stroke-width:1.1;vector-effect:non-scaling-stroke}.twsi-rx-spark circle{fill:#57a8ff}.twsi-rx-spark .hover-v{stroke:#ff9f1c;stroke-width:.8;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.twsi-rx-spark .hover-dot{fill:#000;stroke:#ff9f1c;stroke-width:1.2}.twsi-rx-spark .capture{cursor:crosshair}
.twsi-rx-tip{display:none;position:absolute;z-index:5;top:-22px;min-width:74px;padding:3px 5px;border:1px solid #ff9f1c;background:#050505;color:#fff;font-size:8px;white-space:nowrap;pointer-events:none}.twsi-rx-no-trend{color:#666;font-size:9px}
.twsi-rx-footer{min-height:25px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 6px;color:#707070;font-size:7.5px;border-top:1px solid #333}
@media(max-width:860px){.twsi-rx-terminal{width:100%!important}.twsi-rx-grid{grid-template-columns:1fr}.twsi-rx-panel{border-right:0}.twsi-rx-controls{height:auto;min-height:38px;flex-wrap:wrap;padding:5px 6px}.twsi-rx-order-label{margin-left:0}.twsi-rx-table-head,.twsi-rx-row{grid-template-columns:minmax(105px,1.3fr) repeat(5,34px) 88px}}


/* =========================================================
   v3.9.1 — RATIOS READABILITY + GRID GEOMETRY FIX
   Match Issue Data workstation proportions.
========================================================= */

/*
 * The old ratios theme forced the WHOLE analyzer to 1240px and added
 * its own border. That is the large outside rectangle visible around
 * the actual 1020px ratios workstation. Remove that extra shell.
 */
.twsi-analyzer.is-ratios-terminal {
    width: min(1020px, 100%) !important;
    max-width: 1020px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #000 !important;
}

/* Remove inherited outside borders around the active ratios workspace. */
.twsi-analyzer.is-ratios-terminal
.twsi-terminal-panel[data-twsi-panel="overview"],
.twsi-analyzer.is-ratios-terminal
.twsi-overview-workspace,
.twsi-analyzer.is-ratios-terminal
.twsi-overview-subpanels,
.twsi-analyzer.is-ratios-terminal
.twsi-overview-subpanel[data-twsi-overview-panel="ratios"] {
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
}

/* Actual workstation stays exactly Issue-Data width. */
.twsi-rx-terminal {
    width: 100% !important;
    max-width: 1020px !important;
    margin: 0 auto !important;
    border: 1px solid #414141 !important;
    overflow: hidden !important;
}

/* Title / control typography: readable without zooming. */
.twsi-rx-titlebar {
    height: 32px !important;
    padding: 0 8px !important;
}

.twsi-rx-titlebar strong {
    font-size: 15px !important;
}

.twsi-rx-titlebar span {
    font-size: 10px !important;
}

.twsi-rx-controls {
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 8px !important;
    gap: 20px !important;
    font-size: 9.5px !important;
}

.twsi-rx-controls select {
    height: 25px !important;
    min-width: 100px !important;
    font-size: 9.5px !important;
}

/*
 * Panels need enough real row-height for a sparkline.
 * Previously each row was ~20px while the chart itself was 40px,
 * which is why lines crossed through adjacent rows/panels.
 */
.twsi-rx-panel {
    min-height: 218px !important;
    overflow: hidden !important;
}

.twsi-rx-panel-head {
    height: 30px !important;
    padding: 0 7px !important;
}

.twsi-rx-panel-head span,
.twsi-rx-panel-head strong {
    font-size: 10.5px !important;
}

/* Give the label a little more room and enlarge every data cell. */
.twsi-rx-table-head,
.twsi-rx-row {
    grid-template-columns:
        minmax(128px, 1.55fr)
        repeat(5, 35px)
        102px !important;
}

.twsi-rx-table-head {
    height: 27px !important;
}

.twsi-rx-table-head span {
    font-size: 8.8px !important;
    padding-right: 4px !important;
}

.twsi-rx-row {
    min-height: 30px !important;
    height: 30px !important;
    overflow: hidden !important;
}

.twsi-rx-row > span {
    font-size: 9.8px !important;
    line-height: 1.15 !important;
}

.twsi-rx-row .label {
    padding-left: 7px !important;
    padding-right: 5px !important;
    font-size: 10px !important;
}

.twsi-rx-row .value {
    padding-right: 4px !important;
    font-size: 9.6px !important;
}

/*
 * Sparkline now lives INSIDE its row:
 * 96×24 instead of 86×40.
 */
.twsi-rx-row .trend {
    height: 30px !important;
    overflow: hidden !important;
    position: relative !important;
}

.twsi-rx-spark {
    position: relative !important;
    width: 96px !important;
    height: 24px !important;
    max-width: 96px !important;
    max-height: 24px !important;
    overflow: visible !important;
}

.twsi-rx-spark svg {
    width: 96px !important;
    height: 24px !important;
    max-width: 96px !important;
    max-height: 24px !important;
    display: block !important;
    overflow: hidden !important;
}

.twsi-rx-spark path {
    stroke-width: 1.2 !important;
}

.twsi-rx-spark circle {
    r: 1.6;
}

/* Hover tooltip stays above the sparkline but inside the panel. */
.twsi-rx-tip {
    top: -1px !important;
    transform: translateY(-100%) !important;
    min-width: 78px !important;
    padding: 3px 5px !important;
    font-size: 8.5px !important;
    z-index: 30 !important;
}

/* Let tooltip be visible without allowing the SVG itself to spill. */
.twsi-rx-row,
.twsi-rx-rows,
.twsi-rx-panel {
    position: relative !important;
}

.twsi-rx-row:hover {
    background: #050505 !important;
}

/* Slightly larger footer. */
.twsi-rx-footer {
    min-height: 28px !important;
    padding: 0 8px !important;
    font-size: 8.5px !important;
}

/* Maintain proper three-column workstation on desktop. */
@media (min-width: 861px) {
    .twsi-rx-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Mobile keeps the existing single-column behavior. */
@media (max-width: 860px) {
    .twsi-analyzer.is-ratios-terminal,
    .twsi-rx-terminal {
        width: 100% !important;
        max-width: none !important;
    }

    .twsi-rx-table-head,
    .twsi-rx-row {
        grid-template-columns:
            minmax(120px, 1.5fr)
            repeat(5, 36px)
            100px !important;
    }
}


/* =========================================================
   v3.9.2 — RATIOS COLUMN / SPARKLINE CONTAINMENT
   - FY21 removed from table columns
   - FY22–FY25 enlarged
   - sparkline still uses full 5Y history
   - trend can never escape its panel
========================================================= */

.twsi-rx-panel {
    min-width: 0 !important;
    overflow: hidden !important;
}

.twsi-rx-table-head,
.twsi-rx-row {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;

    /* label + four FYs + dedicated trend column */
    grid-template-columns:
        minmax(116px, 1fr)
        repeat(4, 34px)
        102px !important;
}

.twsi-rx-table-head {
    min-height: 29px !important;
    height: 29px !important;
}

.twsi-rx-table-head span {
    font-size: 9.4px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}

.twsi-rx-table-head span.latest {
    font-size: 9.8px !important;
}

.twsi-rx-row {
    min-height: 32px !important;
    height: 32px !important;
    overflow: hidden !important;
}

.twsi-rx-row .label {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    padding-left: 7px !important;
    padding-right: 5px !important;
    font-size: 10.3px !important;
}

.twsi-rx-row .value {
    min-width: 0 !important;
    padding: 0 2px !important;
    text-align: right !important;
    font-size: 10.1px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}

.twsi-rx-row .value.latest {
    font-size: 10.4px !important;
    font-weight: 700 !important;
}

.twsi-rx-row .trend {
    width: 102px !important;
    max-width: 102px !important;
    min-width: 0 !important;
    height: 32px !important;
    padding: 3px 2px 3px 2px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.twsi-rx-spark {
    width: 98px !important;
    max-width: 98px !important;
    height: 26px !important;
    max-height: 26px !important;
    overflow: hidden !important;
    flex: 0 0 98px !important;
}

.twsi-rx-spark svg {
    width: 98px !important;
    max-width: 98px !important;
    height: 26px !important;
    max-height: 26px !important;
    overflow: hidden !important;
    display: block !important;
}

/*
 * Critical containment: even hover/crosshair elements remain inside
 * the final trend cell rather than spilling across panel borders.
 */
.twsi-rx-rows,
.twsi-rx-row,
.twsi-rx-row .trend,
.twsi-rx-spark,
.twsi-rx-spark svg {
    clip-path: inset(0) !important;
}

/* Tooltip sits inside the trend cell. */
.twsi-rx-tip {
    top: 1px !important;
    left: auto !important;
    right: 2px !important;
    transform: none !important;
    max-width: 96px !important;
    min-width: 70px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    z-index: 40 !important;
}

/* Keep each of the three panels truly equal-width. */
.twsi-rx-grid {
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 860px) {
    .twsi-rx-table-head,
    .twsi-rx-row {
        grid-template-columns:
            minmax(116px, 1fr)
            repeat(4, 36px)
            104px !important;
    }
}


/* =========================================================
   v3.9.3 — FINAL SPARKLINE FIT
   Root cause fix: total row columns now fit INSIDE each 1/3 panel.
========================================================= */

.twsi-rx-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.twsi-rx-panel {
    min-width: 0 !important;
    overflow: hidden !important;
}

/*
 * 108 label + 4×30 FY + 76 trend = 304px.
 * This leaves safe room for borders/padding inside a ~340px panel.
 */
.twsi-rx-table-head,
.twsi-rx-row {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns:
        minmax(108px, 1fr)
        repeat(4, 30px)
        76px !important;
    column-gap: 0 !important;
    box-sizing: border-box !important;
}

.twsi-rx-table-head {
    height: 28px !important;
    min-height: 28px !important;
}

.twsi-rx-table-head span {
    min-width: 0 !important;
    padding: 0 1px !important;
    font-size: 8.8px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: clip !important;
}

.twsi-rx-table-head span:last-child {
    text-align: center !important;
    font-size: 8.5px !important;
}

.twsi-rx-row {
    height: 31px !important;
    min-height: 31px !important;
    overflow: hidden !important;
}

.twsi-rx-row .label {
    min-width: 0 !important;
    padding-left: 7px !important;
    padding-right: 4px !important;
    font-size: 9.9px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.twsi-rx-row .value {
    min-width: 0 !important;
    padding: 0 1px !important;
    font-size: 9.4px !important;
    text-align: right !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}

.twsi-rx-row .value.latest {
    font-size: 9.8px !important;
    font-weight: 700 !important;
}

.twsi-rx-row .trend {
    width: 76px !important;
    max-width: 76px !important;
    min-width: 76px !important;
    height: 31px !important;
    padding: 4px 3px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.twsi-rx-spark {
    width: 70px !important;
    max-width: 70px !important;
    min-width: 70px !important;
    height: 22px !important;
    max-height: 22px !important;
    min-height: 22px !important;
    flex: 0 0 70px !important;
    overflow: hidden !important;
}

.twsi-rx-spark svg {
    width: 70px !important;
    max-width: 70px !important;
    height: 22px !important;
    max-height: 22px !important;
    display: block !important;
    overflow: hidden !important;
}

.twsi-rx-spark path {
    stroke-width: 1.15 !important;
}

.twsi-rx-tip {
    max-width: 70px !important;
    min-width: 62px !important;
    right: 0 !important;
    left: auto !important;
    font-size: 8px !important;
    padding: 2px 4px !important;
}

/* hard containment at every level */
.twsi-rx-panel,
.twsi-rx-rows,
.twsi-rx-row,
.twsi-rx-row .trend,
.twsi-rx-spark,
.twsi-rx-spark svg {
    overflow: hidden !important;
}

@media (max-width: 860px) {
    .twsi-rx-table-head,
    .twsi-rx-row {
        grid-template-columns:
            minmax(104px, 1fr)
            repeat(4, 30px)
            74px !important;
    }

    .twsi-rx-row .trend {
        width: 74px !important;
        min-width: 74px !important;
        max-width: 74px !important;
    }
}


/* =========================================================
   v3.10.0 — REVENUE & EPS / COMPACT TERMINAL
========================================================= */
.twsi-rev2-terminal{background:#000;color:#f2f4f7;border:1px solid #3b4148;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.2;width:100%;box-sizing:border-box}
.twsi-rev2-titlebar{height:34px;border-bottom:1px solid #343a40;display:flex;align-items:center;padding:0 6px;gap:12px;box-sizing:border-box}
.twsi-rev2-titlebar strong{font-size:15px;font-weight:500}
.twsi-rev2-titlebar span{color:#18d9e6;font-size:12px}
.twsi-rev2-titlebar small{margin-left:auto;color:#aeb7c2;font-size:9px}
.twsi-rev2-section{border-right:1px solid #3a3f44;border-bottom:1px solid #3a3f44;background:#000;min-width:0;box-sizing:border-box}
.twsi-rev2-section-head{height:27px;border-bottom:1px solid #30353a;display:flex;align-items:center;gap:5px;padding:0 5px;box-sizing:border-box}
.twsi-rev2-section-head span{color:#aeb7c2}
.twsi-rev2-section-head strong{font-size:10px;font-weight:500}
.twsi-rev2-section-head small{margin-left:auto;color:#8d96a0;font-size:8px}
.twsi-rev2-snapshot{border-right:0}
.twsi-rev2-kpis{height:82px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.twsi-rev2-kpis>div{border-right:1px solid #383d42;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:4px;min-width:0}
.twsi-rev2-kpis>div:last-child{border-right:0}
.twsi-rev2-kpis span{font-size:8px;color:#d8dce1}
.twsi-rev2-kpis strong{font-size:18px;font-weight:400;margin:7px 0 5px;white-space:nowrap}
.twsi-rev2-kpis small{font-size:8px;color:#79d82d}
.twsi-rev2-main-grid{display:grid;grid-template-columns:32% 32% 36%;min-height:292px}
.twsi-rev2-right-stack{display:grid;grid-template-rows:1fr 1fr;min-width:0}
.twsi-rev2-revenue,.twsi-rev2-eps{min-height:292px}
.twsi-rev2-legend{height:25px;padding:6px 8px 0;box-sizing:border-box;color:#c9cfd6;font-size:8px}
.twsi-rev2-legend i{display:inline-block;vertical-align:middle;margin:0 4px 0 9px}
.twsi-rev2-legend i:first-child{margin-left:0}
.twsi-rev2-legend .rev-box{width:8px;height:8px;background:#0753c8}
.twsi-rev2-legend .growth-line{width:15px;height:2px;background:#ff9700;position:relative}
.twsi-rev2-legend .growth-line:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#ff9700;left:5px;top:-2px}
.twsi-rev2-chart{height:154px;position:relative;overflow:hidden}
.twsi-rev2-chart svg{display:block;width:100%;height:100%}
.twsi-rev2-chart .grid{stroke:#20262b;stroke-width:.7}
.twsi-rev2-chart .bar{fill:#0646ae}
.twsi-rev2-chart .growth{fill:none;stroke:#ff9700;stroke-width:1.6}
.twsi-rev2-chart .gdot{fill:#ff9700}
.twsi-rev2-chart text{fill:#aeb7c2;font-size:7px}
.twsi-rev2-chart .capture{fill:transparent;pointer-events:all}
.twsi-rev2-chart .hoverline{stroke:#e8edf2;stroke-width:.6;stroke-dasharray:2 2}
.twsi-rev2-tip{display:none;position:absolute;top:7px;background:#0b0e11;border:1px solid #66717c;padding:4px 6px;min-width:86px;z-index:8;pointer-events:none}
.twsi-rev2-tip b,.twsi-rev2-tip span,.twsi-rev2-tip em{display:block;font-style:normal;font-size:8px}
.twsi-rev2-tip span{font-size:11px;color:#fff;margin:2px 0}.twsi-rev2-tip em{color:#7cdd32}
.twsi-rev2-mini-table{border-top:1px solid #343a40}
.twsi-rev2-mini-table>div{display:grid;grid-template-columns:82px repeat(5,minmax(0,1fr));min-height:25px;align-items:center;border-bottom:1px solid #24292e}
.twsi-rev2-mini-table span{padding-left:5px;color:#b8c0c8;font-size:8px}
.twsi-rev2-mini-table b{text-align:center;font-size:8px;font-weight:400}.twsi-rev2-mini-table .pos{color:#68d42d}.twsi-rev2-mini-table .neg{color:#ff5b45}
.twsi-rev2-compare>div{display:grid;grid-template-columns:100px repeat(5,minmax(0,1fr));min-height:25px;align-items:center;border-bottom:1px solid #292e33}
.twsi-rev2-compare span{padding-left:6px;font-size:8px}.twsi-rev2-compare b{text-align:center;font-size:8px;font-weight:400}
.twsi-rev2-compare .head b{color:#aab2bb}.twsi-rev2-compare .yes{color:#66dc32;font-size:12px}.twsi-rev2-compare .no{color:#ff6548;font-size:12px}
.twsi-rev2-drivers{padding:5px 7px}
.twsi-rev2-drivers>div{display:grid;grid-template-columns:105px 1fr 42px;align-items:center;min-height:20px;gap:5px}
.twsi-rev2-drivers span{font-size:8px}.twsi-rev2-drivers i{height:8px;background:#11161a;display:block;position:relative}.twsi-rev2-drivers u{display:block;height:100%;text-decoration:none}.twsi-rev2-drivers u.pos{background:#3d982d}.twsi-rev2-drivers u.neg{background:#ef7f18}.twsi-rev2-drivers b{text-align:right;font-size:8px;font-weight:400}
.twsi-rev2-bottom-grid{display:grid;grid-template-columns:45% 55%}
.twsi-rev2-consensus-empty{min-height:118px;padding:18px 12px;display:flex;flex-direction:column;justify-content:center}
.twsi-rev2-consensus-empty strong{font-size:10px;color:#ff9700;margin-bottom:6px}.twsi-rev2-consensus-empty span{font-size:9px;color:#8d96a0;max-width:520px}
.twsi-rev2-empty{height:100%;display:flex;align-items:center;justify-content:center;color:#7f8993;font-size:9px}
.twsi-rev2-footer{height:25px;display:flex;align-items:center;justify-content:space-between;padding:0 6px;color:#7f8993;font-size:8px}
@media(max-width:900px){.twsi-rev2-main-grid{grid-template-columns:1fr}.twsi-rev2-right-stack{grid-template-rows:auto}.twsi-rev2-bottom-grid{grid-template-columns:1fr}.twsi-rev2-kpis{grid-template-columns:repeat(3,1fr);height:auto}.twsi-rev2-kpis>div{min-height:70px}.twsi-rev2-titlebar small{display:none}}


/* =========================================================
   v3.11.0 — INDUSTRY OVERVIEW TERMINAL
========================================================= */
.twsi-overview-subpanel[data-twsi-overview-panel="industry"]{background:#000!important;padding:0!important}
.twsi-ind2-terminal{width:100%;max-width:1020px;margin:0 auto;background:#000;color:#e8ebef;border:1px solid #3c4248;font-family:Arial,Helvetica,sans-serif;font-size:10px;line-height:1.2;box-sizing:border-box;overflow:hidden}
.twsi-ind2-topbar{height:31px;border-bottom:1px solid #353b40;display:flex;align-items:center;padding:0 6px;gap:12px}
.twsi-ind2-topbar strong{color:#18d9e6;font-size:14px;font-weight:500}.twsi-ind2-topbar span{margin-left:auto;font-size:13px}.twsi-ind2-topbar span b{font-weight:400}.twsi-ind2-topbar span .pos{color:#42d867}.twsi-ind2-topbar span .neg{color:#ff5d48}.twsi-ind2-topbar small{color:#9aa3ad;font-size:8px;margin-left:10px}
.twsi-ind2-title{height:30px;display:flex;align-items:center;border-bottom:1px solid #363c42;padding:0 5px;font-size:13px;color:#cdd3da}
.twsi-ind2-grid{display:grid;grid-template-columns:34% 34% 32%;grid-template-rows:196px 235px 148px}
.twsi-ind2-panel{position:relative;min-width:0;overflow:hidden;border-right:1px solid #40464b;border-bottom:1px solid #40464b;background:#000}
.twsi-ind2-panel header{height:27px;display:flex;align-items:center;gap:4px;padding:0 5px;border-bottom:1px solid #30363b}.twsi-ind2-panel header span,.twsi-ind2-panel header strong{font-size:9.5px;font-weight:400;color:#cbd1d7}.twsi-ind2-panel header small{margin-left:auto;font-size:7.5px;color:#8c959e}
.twsi-ind2-snapshot{grid-column:1;grid-row:1}.twsi-ind2-competitive{grid-column:2;grid-row:1}.twsi-ind2-economics{grid-column:3;grid-row:1;border-right:0}.twsi-ind2-trends{grid-column:1;grid-row:2}.twsi-ind2-landscape{grid-column:2;grid-row:2}.twsi-ind2-market{grid-column:3;grid-row:2;border-right:0}.twsi-ind2-drivers{grid-column:1 / span 2;grid-row:3}.twsi-ind2-valuation{grid-column:3;grid-row:3;border-right:0}
#twsi-ind2-snapshot-body{padding:6px 8px 3px;border-bottom:1px solid #2d3237}#twsi-ind2-snapshot-body>div{display:grid;grid-template-columns:88px 1fr;min-height:20px;align-items:center}#twsi-ind2-snapshot-body span{color:#a9b0b7;font-size:8.5px}#twsi-ind2-snapshot-body strong{color:#ff9f1c;font-size:8.5px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.twsi-ind2-snapshot-kpis{display:grid;grid-template-columns:repeat(4,1fr);height:64px}.twsi-ind2-snapshot-kpis>div{border-right:1px solid #34393e;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.twsi-ind2-snapshot-kpis span{font-size:7px;color:#aeb6bf}.twsi-ind2-snapshot-kpis strong{margin-top:6px;color:#73dc35;font-size:13px;font-weight:400}
.twsi-ind2-table{font-size:8px}.twsi-ind2-row{display:grid;grid-template-columns:1.45fr .8fr .8fr .8fr .7fr .65fr;align-items:center;min-height:23px;border-bottom:1px solid #292e33}.twsi-ind2-row>*{padding:0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;font-weight:400}.twsi-ind2-row>*:first-child{text-align:left}.twsi-ind2-row.head{color:#9ba4ad;background:#050607}.twsi-ind2-row.selected{background:#123f91;color:#fff}.twsi-ind2-peer-placeholder{padding:13px 8px;color:#77818b}.twsi-ind2-peer-placeholder strong{display:block;color:#ff9f1c;font-size:9px;margin-bottom:5px}.twsi-ind2-peer-placeholder span{font-size:8px}
.twsi-ind2-econ-list{padding:4px 6px}.twsi-ind2-econ-list>div{display:grid;grid-template-columns:100px 62px 80px 48px;align-items:center;min-height:29px;border-bottom:1px solid #24292e}.twsi-ind2-econ-list span{font-size:8.5px}.twsi-ind2-econ-list strong{font-size:8px;font-weight:400}.twsi-ind2-econ-list strong.pos{color:#6cdd32}.twsi-ind2-econ-list strong.neg{color:#ff5f49}.twsi-ind2-econ-list strong.neutral{color:#ffb000}.twsi-ind2-econ-list small{text-align:right;color:#9aa3ad;font-size:7px}
.twsi-ind2-micro{position:relative;width:78px;height:18px;display:block}.twsi-ind2-micro svg{width:78px;height:18px;display:block}.twsi-ind2-micro path{fill:none;stroke:#3f9cff;stroke-width:1}.twsi-ind2-micro circle{fill:#3f9cff}.twsi-ind2-micro-tip{display:none;position:absolute;right:0;top:-17px;background:#080a0c;border:1px solid #59626b;color:#fff;padding:2px 4px;font-size:7px;font-style:normal;z-index:5}
.twsi-ind2-trend-split{display:grid;grid-template-columns:1fr 1fr;height:135px}.twsi-ind2-trend-split>div{border-right:1px solid #30363b;min-width:0}.twsi-ind2-trend-split>div:last-child{border-right:0}.twsi-ind2-trend-split small{display:block;padding:5px 7px 0;font-size:7px;color:#afb7c0}.twsi-ind2-chart{height:112px;position:relative}.twsi-ind2-chart svg{width:100%;height:100%;display:block}.twsi-ind2-chart .grid{stroke:#22282e;stroke-width:.7}.twsi-ind2-chart .line{fill:none;stroke:#3f9cff;stroke-width:1.3}.twsi-ind2-chart .dot{fill:#3f9cff}.twsi-ind2-chart text{fill:#8f99a4;font-size:6.5px}.twsi-ind2-chart .capture{fill:transparent;pointer-events:all}.twsi-ind2-chart .hoverline{stroke:#e6edf3;stroke-width:.6;stroke-dasharray:2 2}.twsi-ind2-tip{display:none;position:absolute;top:8px;background:#07090b;border:1px solid #55616c;padding:3px 5px;min-width:60px}.twsi-ind2-tip b,.twsi-ind2-tip span{display:block;font-size:7px;font-weight:400}.twsi-ind2-tip span{font-size:9px;color:#fff}
.twsi-ind2-company-vs-industry>div{display:grid;grid-template-columns:1.25fr repeat(4,1fr);align-items:center;min-height:23px;border-top:1px solid #292f34}.twsi-ind2-company-vs-industry span,.twsi-ind2-company-vs-industry b{font-size:7.5px;padding:0 5px;font-weight:400;text-align:center}.twsi-ind2-company-vs-industry span{text-align:left}.twsi-ind2-company-vs-industry .head{color:#99a3ad}.twsi-ind2-company-vs-industry .selected{background:#0c2a55;color:#fff}
.twsi-ind2-landscape-body{height:calc(100% - 27px);position:relative}.twsi-ind2-axis-map{position:absolute;left:36px;right:12px;top:18px;bottom:36px;border-left:1px solid #56616b;border-bottom:1px solid #56616b}.twsi-ind2-axis-map .v,.twsi-ind2-axis-map .h{position:absolute;background:#49525b;opacity:.55}.twsi-ind2-axis-map .v{width:1px;top:0;bottom:0;left:50%}.twsi-ind2-axis-map .h{height:1px;left:0;right:0;top:50%}.twsi-ind2-axis-map .axis-y{position:absolute;left:-34px;top:43%;transform:rotate(-90deg);font-size:7px;color:#65aaff}.twsi-ind2-axis-map .axis-x{position:absolute;bottom:-22px;left:45%;font-size:7px;color:#65aaff}.twsi-ind2-axis-map .company-dot{position:absolute;left:68%;top:24%;padding:3px 5px;background:#0d4ab5;border-radius:50%;font-size:7px;font-weight:400}.twsi-ind2-layer-note{position:absolute;left:7px;bottom:5px;color:#737c86;font-size:7px}
.twsi-ind2-market-body{padding:7px}.twsi-ind2-market-title{font-size:8px;color:#c6ccd2;margin-bottom:12px}.twsi-ind2-market-empty{height:130px;border:1px dashed #343b42;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px}.twsi-ind2-market-empty strong{font-size:9px;color:#ff9f1c;margin-bottom:6px}.twsi-ind2-market-empty span{font-size:8px;color:#7e8790}
.twsi-ind2-drivers-body>div{display:grid;grid-template-columns:1.3fr .65fr .65fr 1.2fr;align-items:center;min-height:20px;border-bottom:1px solid #282e33}.twsi-ind2-drivers-body span,.twsi-ind2-drivers-body b,.twsi-ind2-drivers-body em{padding:0 7px;font-size:8px;font-weight:400;font-style:normal}.twsi-ind2-drivers-body b{color:#69db31}.twsi-ind2-drivers-body em{color:#89929b}.twsi-ind2-drivers-body .head{color:#a2abb4}
.twsi-ind2-valuation-body>div{display:grid;grid-template-columns:1fr .8fr .9fr 1.1fr;align-items:center;min-height:20px;border-bottom:1px solid #282e33}.twsi-ind2-valuation-body span,.twsi-ind2-valuation-body b,.twsi-ind2-valuation-body em{padding:0 6px;font-size:8px;font-weight:400;font-style:normal}.twsi-ind2-valuation-body b,.twsi-ind2-valuation-body em{text-align:right}.twsi-ind2-valuation-body em{color:#6fda32}.twsi-ind2-valuation-body .head{color:#9ba4ae}
.twsi-ind2-footer{height:24px;display:flex;align-items:center;justify-content:space-between;padding:0 6px;color:#77818a;font-size:7.5px}
@media(max-width:900px){.twsi-ind2-grid{display:block}.twsi-ind2-panel{min-height:180px;border-right:0}.twsi-ind2-drivers,.twsi-ind2-valuation{min-height:150px}.twsi-ind2-topbar small{display:none}}


/* =========================================================
   v3.12.0 — CORPORATE OVERVIEW TERMINAL
========================================================= */
.twsi-overview-subpanel[data-twsi-overview-panel="corporate"]{background:#000!important;padding:0!important}
.twsi-corp2-terminal{width:100%;max-width:1020px;margin:0 auto;background:#000;color:#e8edf2;border:1px solid #3d4349;font-family:Arial,Helvetica,sans-serif;font-size:9px;line-height:1.25;box-sizing:border-box;overflow:hidden}
.twsi-corp2-topbar{height:31px;border-bottom:1px solid #363c42;display:flex;align-items:center;padding:0 6px;gap:12px}
.twsi-corp2-topbar strong{color:#1ed6e2;font-size:14px;font-weight:500}.twsi-corp2-topbar span{margin-left:auto;font-size:13px}.twsi-corp2-topbar span b{font-weight:400}.twsi-corp2-topbar span .pos{color:#42d867}.twsi-corp2-topbar span .neg{color:#ff5d48}.twsi-corp2-topbar small{color:#98a2ac;font-size:8px;margin-left:10px}
.twsi-corp2-title{height:30px;display:flex;align-items:center;padding:0 5px;border-bottom:1px solid #383e44;font-size:13px;color:#d0d6dc}
.twsi-corp2-grid{display:grid;grid-template-columns:29% 29% 42%;grid-template-rows:221px 178px 171px}
.twsi-corp2-panel{min-width:0;overflow:hidden;border-right:1px solid #40464c;border-bottom:1px solid #40464c;background:#000;position:relative}
.twsi-corp2-panel header{height:27px;display:flex;align-items:center;gap:4px;padding:0 5px;border-bottom:1px solid #30363c}.twsi-corp2-panel header span,.twsi-corp2-panel header strong{font-size:9px;font-weight:400;color:#cbd2d9}.twsi-corp2-panel header small{margin-left:auto;font-size:7.5px;color:#8d97a1}
.twsi-corp2-description{grid-column:1;grid-row:1}.twsi-corp2-info{grid-column:2;grid-row:1}.twsi-corp2-segments{grid-column:3;grid-row:1;height:122px}.twsi-corp2-highlights{grid-column:3;grid-row:1;margin-top:122px;height:99px;border-right:0}
.twsi-corp2-board{grid-column:1;grid-row:2}.twsi-corp2-executives{grid-column:2;grid-row:2}.twsi-corp2-ownership{grid-column:3;grid-row:2;border-right:0}
.twsi-corp2-holders{grid-column:1;grid-row:3}.twsi-corp2-insiders{grid-column:2;grid-row:3}.twsi-corp2-capital{grid-column:3;grid-row:3;border-right:0}
.twsi-corp2-description-body{padding:7px 8px;height:calc(100% - 27px);box-sizing:border-box;overflow:hidden}.twsi-corp2-description-body p{margin:0;color:#c8ced4;font-size:8.7px;line-height:1.45}
.twsi-corp2-kv{padding:5px 7px}.twsi-corp2-kv>div{display:grid;grid-template-columns:132px 1fr;align-items:center;min-height:20px;border-bottom:1px solid #22282d}.twsi-corp2-kv span{color:#ff9f1c;font-size:8.5px}.twsi-corp2-kv strong{color:#d1d7dd;font-size:8.5px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.twsi-corp2-table{font-size:7.8px}.twsi-corp2-row{display:grid;grid-template-columns:1.5fr .8fr .65fr .8fr .65fr;align-items:center;min-height:19px;border-bottom:1px solid #272d32}.twsi-corp2-row>*{padding:0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;font-weight:400}.twsi-corp2-row>*:first-child{text-align:left}.twsi-corp2-row.head{color:#a3acb5;background:#050607}.twsi-corp2-row.two{grid-template-columns:1.1fr 1.5fr}.twsi-corp2-row.five{grid-template-columns:1.7fr .65fr .72fr .65fr .65fr}.twsi-corp2-row.six{grid-template-columns:1.1fr 1.15fr .75fr .65fr .65fr .75fr}
.twsi-corp2-highlights-body{padding:5px 9px}.twsi-corp2-highlights-body ul{margin:0;padding-left:13px}.twsi-corp2-highlights-body li{margin:0 0 5px;color:#c7cdd3;font-size:8px}.twsi-corp2-highlights-body li::marker{color:#ff9f1c}
.twsi-corp2-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;height:calc(100% - 20px);padding:10px;color:#78828c}.twsi-corp2-empty.compact{min-height:85px;height:auto}.twsi-corp2-empty strong{color:#ff9f1c;font-size:8.5px;margin-bottom:5px}.twsi-corp2-empty span{font-size:7.5px;max-width:90%}
.twsi-corp2-donut-wrap{display:grid;grid-template-columns:118px 1fr;gap:11px;padding:9px 11px 3px;align-items:center}.twsi-corp2-donut{width:92px;height:92px;border-radius:50%;margin:auto}.twsi-corp2-donut.placeholder{background:conic-gradient(#0b57c8 0 73%,#ff9f1c 73% 86%,#7547ae 86% 90%,#178a99 90% 100%);position:relative;opacity:.45}.twsi-corp2-donut.placeholder:after{content:"";position:absolute;inset:28px;background:#000;border-radius:50%}.twsi-corp2-own-legend>div{display:grid;grid-template-columns:10px 1fr 40px;align-items:center;min-height:22px}.twsi-corp2-own-legend i{width:8px;height:8px;background:#155dc9}.twsi-corp2-own-legend div:nth-child(2) i{background:#ff9f1c}.twsi-corp2-own-legend div:nth-child(3) i{background:#7547ae}.twsi-corp2-own-legend div:nth-child(4) i{background:#178a99}.twsi-corp2-own-legend span,.twsi-corp2-own-legend b{font-size:7.5px;font-weight:400}.twsi-corp2-own-legend b{text-align:right;color:#aab2bb}.twsi-corp2-layer-note{text-align:center;color:#707982;font-size:7px;margin-top:3px}
.twsi-corp2-footer{height:24px;display:flex;align-items:center;justify-content:space-between;padding:0 6px;color:#77818a;font-size:7.5px}
@media(max-width:900px){.twsi-corp2-grid{display:block}.twsi-corp2-panel,.twsi-corp2-segments,.twsi-corp2-highlights{height:auto;min-height:160px;margin-top:0;border-right:0}.twsi-corp2-topbar small{display:none}}


/* =========================================================
   v3.12.1 — CORPORATE READABILITY FIX
   Larger terminal typography without changing the layout.
========================================================= */

.twsi-corp2-terminal{
    font-size:11px!important;
    line-height:1.3!important;
}

/* top bars */
.twsi-corp2-topbar strong{
    font-size:16px!important;
}
.twsi-corp2-topbar span{
    font-size:14px!important;
}
.twsi-corp2-topbar small{
    font-size:9.5px!important;
}
.twsi-corp2-title{
    font-size:15px!important;
}

/* panel headers */
.twsi-corp2-panel header span,
.twsi-corp2-panel header strong{
    font-size:10.8px!important;
}
.twsi-corp2-panel header small{
    font-size:8.8px!important;
}

/* company description */
.twsi-corp2-description-body p{
    font-size:10.7px!important;
    line-height:1.5!important;
}

/* corporate information + capital structure */
.twsi-corp2-kv>div{
    min-height:24px!important;
}
.twsi-corp2-kv span{
    font-size:10.3px!important;
}
.twsi-corp2-kv strong{
    font-size:10.3px!important;
}

/* all tabular panels */
.twsi-corp2-table{
    font-size:9.8px!important;
}
.twsi-corp2-row{
    min-height:23px!important;
}
.twsi-corp2-row>*{
    font-size:9.6px!important;
}

/* business highlights */
.twsi-corp2-highlights-body li{
    font-size:9.8px!important;
    line-height:1.35!important;
}

/* unavailable / source messages */
.twsi-corp2-empty strong{
    font-size:10px!important;
}
.twsi-corp2-empty span{
    font-size:9px!important;
    line-height:1.35!important;
}

/* ownership legend */
.twsi-corp2-own-legend span,
.twsi-corp2-own-legend b{
    font-size:9.3px!important;
}
.twsi-corp2-layer-note{
    font-size:8.5px!important;
}

/* footer */
.twsi-corp2-footer{
    font-size:8.8px!important;
}

/* Slightly more room for rows so bigger text never feels cramped */
.twsi-corp2-grid{
    grid-template-rows:245px 198px 190px!important;
}

.twsi-corp2-segments{
    height:138px!important;
}
.twsi-corp2-highlights{
    margin-top:138px!important;
    height:107px!important;
}

/* Keep the terminal width identical to Issue Data / Ratios */
.twsi-corp2-terminal{
    width:100%!important;
    max-width:1020px!important;
    margin:0 auto!important;
}



/* =========================================================
   v3.13 — DIVIDEND / ESTIMATES / MANAGEMENT TERMINALS
========================================================= */
.twsi-overview-subpanel[data-twsi-overview-panel="dividend"],
.twsi-overview-subpanel[data-twsi-overview-panel="estimates"],
.twsi-overview-subpanel[data-twsi-overview-panel="management"]{background:#000!important;padding:0!important}
.twsi-div2-terminal,.twsi-est2-terminal,.twsi-mgt2-terminal{width:100%;max-width:1020px;margin:0 auto;background:#000;color:#e9edf1;border:1px solid #3b4147;font-family:Arial,Helvetica,sans-serif;font-size:10px;line-height:1.25;overflow:hidden;box-sizing:border-box}
.twsi-dem-topbar{height:31px;border-bottom:1px solid #373d43;display:flex;align-items:center;padding:0 6px;gap:12px}.twsi-dem-topbar strong{color:#1dd6e2;font-size:15px;font-weight:500}.twsi-dem-topbar>span{margin-left:auto;font-size:13px}.twsi-dem-topbar>span b{font-weight:400}.twsi-dem-topbar .pos{color:#42d867}.twsi-dem-topbar .neg{color:#ff5d48}.twsi-dem-topbar small{color:#98a2ac;font-size:8.5px;margin-left:10px}
.twsi-dem-title{height:29px;border-bottom:1px solid #373d43;display:flex;align-items:center;padding:0 5px;color:#d1d7dd;font-size:13px}
.twsi-dem-panel{min-width:0;position:relative;overflow:hidden;background:#000;border-right:1px solid #40464c;border-bottom:1px solid #40464c}.twsi-dem-panel header{height:27px;display:flex;align-items:center;gap:4px;padding:0 5px;border-bottom:1px solid #30363c}.twsi-dem-panel header span,.twsi-dem-panel header strong{font-size:9.5px;font-weight:400;color:#cbd2d9}.twsi-dem-panel header small{margin-left:auto;font-size:7.5px;color:#8e97a0}
.twsi-div2-grid{display:grid;grid-template-columns:23% 39% 18% 20%;grid-template-rows:235px 216px 130px}.twsi-div2-grid>section:nth-child(1){grid-column:1;grid-row:1}.twsi-div2-grid>section:nth-child(2){grid-column:2;grid-row:1}.twsi-div2-grid>section:nth-child(3){grid-column:3;grid-row:1}.twsi-div2-grid>section:nth-child(4){grid-column:4;grid-row:1;border-right:0}.twsi-div2-grid>section:nth-child(5){grid-column:1 / span 2;grid-row:2}.twsi-div2-grid>section:nth-child(6){grid-column:3;grid-row:2}.twsi-div2-grid>section:nth-child(7){grid-column:4;grid-row:2;border-right:0}.twsi-div2-grid>section:nth-child(8){grid-column:1;grid-row:3}.twsi-div2-grid>section:nth-child(9){grid-column:2 / span 2;grid-row:3}.twsi-div2-grid>section:nth-child(10){grid-column:4;grid-row:3;border-right:0}
.twsi-est2-grid{display:grid;grid-template-columns:23% 34% 43%;grid-template-rows:180px 190px 180px}.twsi-est2-grid>section:nth-child(1){grid-column:1;grid-row:1}.twsi-est2-grid>section:nth-child(2){grid-column:2;grid-row:1}.twsi-est2-grid>section:nth-child(3){grid-column:3;grid-row:1;border-right:0}.twsi-est2-grid>section:nth-child(4){grid-column:1;grid-row:2}.twsi-est2-grid>section:nth-child(5){grid-column:2;grid-row:2}.twsi-est2-grid>section:nth-child(6){grid-column:3;grid-row:2;border-right:0}.twsi-est2-grid>section:nth-child(7){grid-column:1;grid-row:3}.twsi-est2-grid>section:nth-child(8){grid-column:2;grid-row:3}.twsi-est2-grid>section:nth-child(9){grid-column:3;grid-row:3;border-right:0}
.twsi-mgt2-grid{display:grid;grid-template-columns:42% 24% 34%;grid-template-rows:183px 218px 155px}.twsi-mgt2-grid>section:nth-child(1){grid-column:1;grid-row:1}.twsi-mgt2-grid>section:nth-child(2){grid-column:2;grid-row:1}.twsi-mgt2-grid>section:nth-child(3){grid-column:3;grid-row:1;border-right:0}.twsi-mgt2-grid>section:nth-child(4){grid-column:3;grid-row:2;border-right:0}.twsi-mgt2-grid>section:nth-child(5){grid-column:1;grid-row:2}.twsi-mgt2-grid>section:nth-child(6){grid-column:2;grid-row:2}.twsi-mgt2-grid>section:nth-child(7){grid-column:1;grid-row:3}.twsi-mgt2-grid>section:nth-child(8){grid-column:2;grid-row:3}.twsi-mgt2-grid>section:nth-child(9){grid-column:3;grid-row:3;border-right:0}
.twsi-dem-kv{padding:5px 7px}.twsi-dem-kv>div{display:grid;grid-template-columns:minmax(115px,1fr) minmax(58px,.75fr);align-items:center;min-height:21px;border-bottom:1px solid #23292e}.twsi-dem-kv span{font-size:8.8px;color:#c8ced4}.twsi-dem-kv strong{font-size:8.8px;font-weight:400;text-align:right}.twsi-dem-kv strong.pos{color:#70dc31}.twsi-dem-kv strong.neg{color:#ff5d48}
.twsi-dem-unavailable{height:calc(100% - 27px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px;box-sizing:border-box}.twsi-dem-unavailable strong{color:#ff9f1c;font-size:10px;margin-bottom:6px}.twsi-dem-unavailable span{color:#7f8993;font-size:8.5px;line-height:1.35;max-width:88%}
.twsi-dem-legend{height:23px;padding:5px 7px 0;box-sizing:border-box;color:#aeb7c0;font-size:8px}.twsi-dem-legend i,.twsi-dem-legend b{display:inline-block;width:10px;height:7px;background:#0753c8;margin:0 5px}.twsi-dem-legend b{width:14px;height:2px;background:#ff9700;vertical-align:middle}
.twsi-dem-chart{height:153px;position:relative;overflow:hidden}.twsi-dem-chart svg{width:100%;height:100%;display:block}.twsi-dem-chart .grid line{stroke:#23292e;stroke-width:.7}.twsi-dem-chart .bar{fill:#0753c8}.twsi-dem-chart .growth{fill:none;stroke:#ff9700;stroke-width:1.5}.twsi-dem-chart .gdot{fill:#ff9700}.twsi-dem-chart text{fill:#8f99a3;font-size:6.6px}.twsi-dem-chart .hover{stroke:#e8edf2;stroke-width:.7;stroke-dasharray:2 2}.twsi-dem-chart .cap{pointer-events:all}.twsi-dem-tip{display:none;position:absolute;top:8px;background:#07090b;border:1px solid #5a646e;padding:3px 5px;min-width:76px;z-index:5}.twsi-dem-tip b,.twsi-dem-tip span,.twsi-dem-tip em{display:block;font-style:normal;font-size:7px}.twsi-dem-tip span{font-size:10px;color:#fff}.twsi-dem-tip em{color:#73dc34}
.twsi-dem-strip-table>div{display:grid;grid-template-columns:76px repeat(10,minmax(0,1fr));align-items:center;min-height:23px;border-top:1px solid #282e33}.twsi-dem-strip-table span{padding-left:5px;font-size:7.5px;color:#aab2bb}.twsi-dem-strip-table b{text-align:center;font-size:7.5px;font-weight:400}.twsi-dem-strip-table b.pos{color:#70dc31}
.twsi-dem-policy{padding:9px}.twsi-dem-policy p{margin:0;font-size:9px;color:#c6ccd2;line-height:1.45}
.twsi-mgt2-discipline{padding:6px 8px}.twsi-mgt2-discipline>div{display:grid;grid-template-columns:22px 150px 1fr;align-items:center;min-height:26px;border-bottom:1px solid #262c31}.twsi-mgt2-discipline b{color:#ff9f1c;font-weight:400}.twsi-mgt2-discipline span{font-size:9px}.twsi-mgt2-discipline em{font-size:8px;color:#a2abb4;font-style:normal}
.twsi-mgt2-track>div{display:grid;grid-template-columns:1.2fr .75fr 1fr;align-items:center;min-height:24px;border-bottom:1px solid #262c31}.twsi-mgt2-track span,.twsi-mgt2-track b,.twsi-mgt2-track em{padding:0 7px;font-size:8.5px;font-weight:400;font-style:normal}.twsi-mgt2-track b{text-align:right;color:#70dc31}.twsi-mgt2-track em{text-align:right;color:#89939c}.twsi-mgt2-track .head{color:#a2abb4}
.twsi-dem-footer{height:24px;display:flex;align-items:center;justify-content:space-between;padding:0 6px;color:#77818a;font-size:7.5px}
@media(max-width:900px){.twsi-div2-grid,.twsi-est2-grid,.twsi-mgt2-grid{display:block}.twsi-dem-panel{min-height:150px;border-right:0}.twsi-dem-topbar small{display:none}}


/* =========================================================
   v3.14 — FINANCIALS / INCOME STATEMENT TERMINAL
========================================================= */

.twsi-terminal-panel[data-twsi-panel="financials"]{
    background:#000!important;
    padding:0!important;
}

.twsi-fin2-terminal{
    width:100%;
    max-width:1020px;
    margin:0 auto;
    background:#000;
    color:#e8edf2;
    border:1px solid #3d4349;
    font-family:Arial,Helvetica,sans-serif;
    font-size:10px;
    line-height:1.22;
    box-sizing:border-box;
    overflow:hidden;
}

.twsi-fin2-topbar{
    height:31px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 6px;
    border-bottom:1px solid #373d43;
}

.twsi-fin2-topbar>strong{
    color:#1ed6e2;
    font-size:15px;
    font-weight:500;
}

.twsi-fin2-topbar>span{
    margin-left:auto;
    font-size:13px;
}

.twsi-fin2-topbar>span b{
    font-weight:400;
}

.twsi-fin2-topbar .pos{color:#45da4e}
.twsi-fin2-topbar .neg{color:#ff5d48}

.twsi-fin2-topbar small{
    min-width:125px;
    text-align:right;
    color:#d3d8de;
    font-size:10px;
}

.twsi-fin2-title-row{
    min-height:37px;
    display:flex;
    align-items:center;
    padding:0 6px;
    border-bottom:1px solid #3a4046;
    gap:18px;
}

.twsi-fin2-title-row>strong{
    font-size:14px;
    font-weight:400;
    color:#d8dde2;
}

.twsi-fin2-title-row>small{
    margin-left:auto;
    color:#9ca5ae;
    font-size:9px;
}

.twsi-fin2-view{
    display:flex;
    align-items:center;
    gap:4px;
}

.twsi-fin2-view>span{
    color:#9da6af;
    font-size:9px;
    margin-right:3px;
}

.twsi-fin2-view button{
    appearance:none;
    border:0;
    border-bottom:2px solid transparent;
    background:transparent;
    color:#9ea7b0;
    height:28px;
    padding:0 11px;
    font:inherit;
    font-size:9.5px;
    cursor:pointer;
}

.twsi-fin2-view button:hover{
    color:#fff;
}

.twsi-fin2-view button.active{
    color:#ff9f1c;
    border-bottom-color:#ff9f1c;
}

.twsi-fin2-statement-wrap{
    overflow-x:auto;
    border-bottom:1px solid #41474d;
}

.twsi-fin2-statement{
    min-width:920px;
}

.twsi-fin2-headrow,
.twsi-fin2-row{
    display:grid;
    grid-template-columns:
        250px
        repeat(5,minmax(105px,1fr))
        102px;
}

.twsi-fin2-headrow{
    height:48px;
    border-bottom:1px solid #30363c;
}

.twsi-fin2-period{
    padding:8px 8px;
    border-right:1px solid #33393f;
}

.twsi-fin2-period strong,
.twsi-fin2-period span{
    display:block;
    font-size:9px;
    font-weight:400;
    color:#aeb6bf;
}

.twsi-fin2-period span{
    margin-top:8px;
    color:#7f8992;
}

.twsi-fin2-year{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-right:1px solid #33393f;
}

.twsi-fin2-year strong{
    font-size:12px;
    font-weight:400;
    color:#cfd5db;
}

.twsi-fin2-year.latest strong{
    color:#ff9f1c;
}

.twsi-fin2-year span,
.twsi-fin2-year small{
    font-size:7.7px;
    color:#848e98;
    margin-top:2px;
}

.twsi-fin2-growth-head{
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-align:center;
}

.twsi-fin2-growth-head strong{
    font-size:9px;
    font-weight:400;
}

.twsi-fin2-growth-head span{
    color:#7d8790;
    font-size:7.5px;
    margin-top:3px;
}

.twsi-fin2-row{
    min-height:24px;
    border-bottom:1px solid #20262b;
    align-items:stretch;
}

.twsi-fin2-row:hover{
    background:#040607;
}

.twsi-fin2-label{
    display:flex;
    align-items:center;
    min-width:0;
    padding:0 7px;
    border-right:1px solid #2b3136;
    color:#cbd1d7;
    font-size:9.6px;
}

.twsi-fin2-row.child-row .twsi-fin2-label{
    color:#9fa8b1;
    padding-left:24px;
}

.twsi-fin2-expand{
    width:15px;
    min-width:15px;
    height:18px;
    padding:0;
    margin-right:4px;
    border:0;
    background:transparent;
    color:#ff9f1c;
    font-size:13px;
    line-height:18px;
    cursor:pointer;
}

.twsi-fin2-indent{
    display:inline-block;
    width:15px;
    min-width:15px;
    margin-right:4px;
}

.twsi-fin2-cell,
.twsi-fin2-change{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    padding:0 8px;
    border-right:1px solid #2b3136;
    color:#cbd1d7;
    font-size:9.5px;
    white-space:nowrap;
}

.twsi-fin2-cell.latest{
    color:#f0f4f7;
}

.twsi-fin2-change{
    border-right:0;
    font-size:9px;
}

.twsi-fin2-change.pos{color:#69db31}
.twsi-fin2-change.neg{color:#ff5d48}

.twsi-fin2-charts{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    height:190px;
}

.twsi-fin2-charts>section{
    min-width:0;
    border-right:1px solid #40464c;
}

.twsi-fin2-charts>section:last-child{
    border-right:0;
}

.twsi-fin2-charts header{
    height:27px;
    display:flex;
    align-items:center;
    padding:0 6px;
    border-bottom:1px solid #30363c;
    color:#cdd3d9;
    font-size:9.5px;
}

.twsi-fin2-charts header small{
    color:#89939d;
    font-size:7.5px;
    margin-left:4px;
}

.twsi-fin2-chart{
    height:161px;
    position:relative;
    overflow:hidden;
}

.twsi-fin2-chart svg{
    display:block;
    width:100%;
    height:100%;
}

.twsi-fin2-chart .grid{
    stroke:#242a2f;
    stroke-width:.7;
}

.twsi-fin2-chart .line{
    fill:none;
    stroke:#ff9700;
    stroke-width:1.5;
}

.twsi-fin2-chart .dot{
    fill:#ff9700;
}

.twsi-fin2-chart .revbar{
    fill:#0b49b7;
}

.twsi-fin2-chart .nibar{
    fill:#e57f00;
}

.twsi-fin2-chart text{
    fill:#8f99a3;
    font-size:7px;
}

.twsi-fin2-chart .cap{
    pointer-events:all;
}

.twsi-fin2-chart .hover{
    stroke:#dce2e8;
    stroke-width:.6;
    stroke-dasharray:2 2;
}

.twsi-fin2-tip{
    display:none;
    position:absolute;
    top:7px;
    min-width:70px;
    padding:4px 6px;
    background:#07090b;
    border:1px solid #59636d;
    z-index:5;
    pointer-events:none;
}

.twsi-fin2-tip b,
.twsi-fin2-tip span,
.twsi-fin2-tip em{
    display:block;
    font-size:7.5px;
    font-style:normal;
    font-weight:400;
}

.twsi-fin2-tip span{
    color:#fff;
    font-size:9px;
    margin-top:2px;
}

.twsi-fin2-tip em{
    color:#ff9f1c;
    margin-top:2px;
}

.twsi-fin2-empty{
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#7f8993;
    font-size:9px;
}

.twsi-fin2-footer{
    height:25px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 6px;
    color:#7d8791;
    font-size:8px;
}

@media(max-width:900px){
    .twsi-fin2-charts{
        display:block;
        height:auto;
    }

    .twsi-fin2-charts>section{
        height:190px;
        border-right:0;
        border-bottom:1px solid #40464c;
    }

    .twsi-fin2-title-row{
        flex-wrap:wrap;
        padding-top:4px;
        padding-bottom:4px;
    }
}


/* =========================================================
   v3.14.1 — FINANCIALS HOTFIX
   1) Full-width panel instead of one 12-column grid cell.
   2) Prevent inherited grid sizing from crushing the terminal.
========================================================= */

.twsi-terminal-panel[data-twsi-panel="financials"].is-active {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    gap: 0 !important;
}

.twsi-terminal-panel[data-twsi-panel="financials"] > .twsi-fin2-terminal {
    display: block !important;
    grid-column: 1 / -1 !important;
    width: min(1020px, 100%) !important;
    max-width: 1020px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Make sure no old Financials card/grid rule can constrain the new terminal. */
.twsi-terminal-panel[data-twsi-panel="financials"] .twsi-fin2-statement-wrap,
.twsi-terminal-panel[data-twsi-panel="financials"] .twsi-fin2-charts,
.twsi-terminal-panel[data-twsi-panel="financials"] .twsi-fin2-title-row,
.twsi-terminal-panel[data-twsi-panel="financials"] .twsi-fin2-topbar {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Desktop statement proportions: readable and contained. */
@media (min-width: 901px) {
    .twsi-fin2-statement {
        min-width: 0 !important;
        width: 100% !important;
    }

    .twsi-fin2-headrow,
    .twsi-fin2-row {
        grid-template-columns:
            245px
            repeat(5, minmax(105px, 1fr))
            105px !important;
    }
}

/* Keep horizontal scrolling available only on genuinely small screens. */
@media (max-width: 900px) {
    .twsi-fin2-statement {
        min-width: 900px !important;
    }

    .twsi-fin2-statement-wrap {
        overflow-x: auto !important;
    }
}



/* =========================================================
   v3.15 — FINANCIALS SUBSECTIONS + WIDTH ALIGNMENT
========================================================= */

/* Financials itself behaves like the Overview workstation. */
.twsi-terminal-panel[data-twsi-panel="financials"].is-active {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    background: #000 !important;
}

.twsi-financials-workspace {
    width: min(1020px, 100%) !important;
    max-width: 1020px !important;
    margin: 0 auto !important;
    background: #000 !important;
    box-sizing: border-box !important;
}

/* Financials subsection navigation */
.twsi-fin-subnav {
    width: 100% !important;
    display: grid !important;
    grid-template-columns:
        1.12fr
        1fr
        .92fr
        1.02fr
        .78fr
        .82fr
        1fr
        .76fr
        1.15fr
        1.08fr
        1.15fr
        1.1fr !important;
    border: 1px solid #3b4147 !important;
    border-bottom: 0 !important;
    background: #000 !important;
    box-sizing: border-box !important;
}

.twsi-fin-subnav-btn {
    appearance: none !important;
    border: 0 !important;
    border-right: 1px solid #2f353b !important;
    border-bottom: 2px solid transparent !important;
    background: #000 !important;
    color: #d6dbe0 !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 6px 5px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9.6px !important;
    line-height: 1.15 !important;
    text-align: center !important;
    cursor: pointer !important;
    white-space: normal !important;
}

.twsi-fin-subnav-btn:last-child {
    border-right: 0 !important;
}

.twsi-fin-subnav-btn:hover {
    color: #ffffff !important;
    background: #050607 !important;
}

.twsi-fin-subnav-btn.active {
    color: #ff9f1c !important;
    border-bottom-color: #ff9f1c !important;
    background: #050607 !important;
}

.twsi-fin-subpanels {
    width: 100% !important;
    min-width: 0 !important;
}

.twsi-fin-subpanel {
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
}

.twsi-fin-subpanel.active {
    display: block !important;
}

/* Income terminal must align exactly with subnav. */
.twsi-fin-subpanel[data-twsi-fin-subpanel="income"] > .twsi-fin2-terminal {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Placeholder subsections preserve the terminal footprint. */
.twsi-fin-placeholder-terminal {
    min-height: 360px !important;
    border: 1px solid #3b4147 !important;
    background: #000 !important;
    color: #e8edf2 !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

.twsi-fin-placeholder-head {
    height: 34px !important;
    padding: 0 8px !important;
    border-bottom: 1px solid #343a40 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.twsi-fin-placeholder-head strong {
    font-size: 13px !important;
    font-weight: 400 !important;
}

.twsi-fin-placeholder-head span {
    color: #ff9f1c !important;
    font-size: 9px !important;
}

.twsi-fin-placeholder-body {
    min-height: 300px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 20px !important;
}

.twsi-fin-placeholder-body strong {
    color: #ff9f1c !important;
    font-size: 15px !important;
    margin-bottom: 8px !important;
}

.twsi-fin-placeholder-body span {
    color: #8b949d !important;
    font-size: 11px !important;
    max-width: 520px !important;
    line-height: 1.45 !important;
}

/*
 * CRITICAL WIDTH ALIGNMENT:
 * while Financials is active, constrain the upper company header,
 * KPI strip and primary navigation to the same 1020px workstation.
 * This removes the wide "top vs narrow bottom" mismatch.
 */
.twsi-analyzer.is-financials-terminal {
    width: min(1020px, 100%) !important;
    max-width: 1020px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.twsi-analyzer.is-financials-terminal .twsi-company-header,
.twsi-analyzer.is-financials-terminal .twsi-company-hero,
.twsi-analyzer.is-financials-terminal .twsi-kpi-strip,
.twsi-analyzer.is-financials-terminal .twsi-terminal-tabs,
.twsi-analyzer.is-financials-terminal .twsi-primary-tabs,
.twsi-analyzer.is-financials-terminal .twsi-overview-header,
.twsi-analyzer.is-financials-terminal .twsi-analyzer-head {
    width: 100% !important;
    max-width: 1020px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Mobile / narrow screens */
@media (max-width: 1100px) {
    .twsi-fin-subnav {
        display: flex !important;
        overflow-x: auto !important;
        scrollbar-width: thin !important;
    }

    .twsi-fin-subnav-btn {
        flex: 0 0 132px !important;
    }
}



/* =========================================================
   v3.16 — FINANCIALS: BALANCE SHEET / CASH FLOW / RATIOS
========================================================= */

.twsi-fs-terminal,
.twsi-fr2-terminal{
    width:100%;
    max-width:1020px;
    margin:0 auto;
    background:#000;
    color:#e8edf2;
    border:1px solid #3d4349;
    font-family:Arial,Helvetica,sans-serif;
    font-size:10px;
    line-height:1.2;
    overflow:hidden;
    box-sizing:border-box;
}
.twsi-fs-topbar{height:31px;display:flex;align-items:center;gap:12px;padding:0 6px;border-bottom:1px solid #373d43}
.twsi-fs-topbar>strong{font-size:15px;color:#1ed6e2;font-weight:500}
.twsi-fs-topbar>span{margin-left:auto;font-size:13px}.twsi-fs-topbar>span b{font-weight:400}.twsi-fs-topbar .pos{color:#45da4e}.twsi-fs-topbar .neg{color:#ff5d48}
.twsi-fs-topbar>small{min-width:120px;text-align:right;font-size:9px;color:#a9b2bb}
.twsi-fs-title-row{min-height:37px;display:flex;align-items:center;gap:18px;padding:0 6px;border-bottom:1px solid #3a4046}
.twsi-fs-title-row>strong{font-size:14px;font-weight:400;color:#d8dde2}.twsi-fs-title-row>small{margin-left:auto;color:#9ca5ae;font-size:9px}
.twsi-fs-view{display:flex;align-items:center;gap:4px}.twsi-fs-view>span{font-size:9px;color:#9da6af}
.twsi-fs-view button{border:0;border-bottom:2px solid transparent;background:transparent;color:#9ea7b0;height:28px;padding:0 10px;font:inherit;font-size:9.5px;cursor:pointer}
.twsi-fs-view button.active{color:#ff9f1c;border-bottom-color:#ff9f1c}
.twsi-fs-statement{width:100%;overflow:hidden}
.twsi-fs-headrow,.twsi-fs-row,.twsi-fs-section-row{display:grid;grid-template-columns:250px repeat(5,minmax(105px,1fr)) 85px}
.twsi-fs-headrow{height:49px;border-bottom:1px solid #30363c}
.twsi-fs-headrow>div{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #33393f}
.twsi-fs-headrow>div:first-child{align-items:flex-start;padding-left:8px}.twsi-fs-headrow strong{font-size:10px;font-weight:400}.twsi-fs-headrow span,.twsi-fs-headrow small{font-size:7.6px;color:#87919a;margin-top:2px}.twsi-fs-headrow .latest strong{color:#ff9f1c}
.twsi-fs-section-row{min-height:22px;align-items:center;border-bottom:1px solid #242a2f;background:#020304;color:#339cff}
.twsi-fs-section-row>div{padding-left:7px;font-size:8.7px}.twsi-fs-section-row>span{height:100%;border-left:1px solid #242a2f}
.twsi-fs-expand{border:0;background:transparent;color:#ff9f1c;width:16px;padding:0;font-size:12px;cursor:pointer}
.twsi-fs-row{min-height:23px;border-bottom:1px solid #20262b}.twsi-fs-row:hover{background:#040607}
.twsi-fs-label,.twsi-fs-cell,.twsi-fs-change{display:flex;align-items:center;border-right:1px solid #2b3136;padding:0 7px;font-size:9.2px}
.twsi-fs-label{color:#cbd1d7}.twsi-fs-row.child .twsi-fs-label{padding-left:22px;color:#a5aeb7}
.twsi-fs-cell,.twsi-fs-change{justify-content:flex-end;white-space:nowrap}.twsi-fs-cell.latest{color:#f2f5f7}.twsi-fs-change{border-right:0;color:#7f8993}
.twsi-fs-charts{display:grid;height:188px;border-top:1px solid #40464c}.twsi-fs-charts.three{grid-template-columns:repeat(3,1fr)}
.twsi-fs-charts>section,.twsi-fr2-charts>section{min-width:0;border-right:1px solid #40464c}.twsi-fs-charts>section:last-child,.twsi-fr2-charts>section:last-child{border-right:0}
.twsi-fs-charts header,.twsi-fr2-charts header{height:27px;display:flex;align-items:center;padding:0 6px;border-bottom:1px solid #30363c;font-size:9.3px;color:#cdd3d9}
.twsi-fs-charts header small{font-size:7.4px;color:#89939d;margin-left:4px}
.twsi-fs-chart{height:160px;position:relative;overflow:hidden}.twsi-fs-chart svg{width:100%;height:100%;display:block}
.twsi-fs-chart .grid{stroke:#242a2f;stroke-width:.7}.twsi-fs-chart .line{fill:none;stroke:#348cf0;stroke-width:1.5}.twsi-fs-chart .line.orange{stroke:#ff9700}.twsi-fs-chart .dot{fill:#348cf0}.twsi-fs-chart .dot.orange{fill:#ff9700}
.twsi-fs-chart .bar{fill:#0b49b7}.twsi-fs-chart .bar.b1{fill:#df8200}.twsi-fs-chart text{fill:#8f99a3;font-size:7px}
.twsi-fs-chart .cap{pointer-events:all}.twsi-fs-chart .hover{stroke:#dce2e8;stroke-width:.6;stroke-dasharray:2 2}
.twsi-fs-tip{display:none;position:absolute;top:7px;min-width:72px;padding:4px 6px;background:#07090b;border:1px solid #59636d;z-index:5;pointer-events:none}
.twsi-fs-tip b,.twsi-fs-tip span{display:block;font-size:7.5px;font-weight:400}.twsi-fs-tip span{font-size:9px;color:#fff;margin-top:2px}
.twsi-fs-empty{height:100%;display:flex;align-items:center;justify-content:center;color:#7f8993;font-size:9px}
.twsi-fs-footer{height:25px;display:flex;align-items:center;justify-content:space-between;padding:0 6px;color:#7d8791;font-size:8px}

/* Financial Ratios */
.twsi-fr2-body{min-height:360px}
.twsi-fr2-group{border-bottom:1px solid #343a40}
.twsi-fr2-group>header{height:24px;display:flex;align-items:center;padding:0 7px;color:#369cff;font-size:9px}
.twsi-fr2-row{display:grid;grid-template-columns:215px 45px repeat(5,1fr);min-height:23px;border-top:1px solid #20262b}
.twsi-fr2-row>span,.twsi-fr2-row>em,.twsi-fr2-row>b{display:flex;align-items:center;padding:0 7px;font-size:9px;font-style:normal;font-weight:400}
.twsi-fr2-row>em{justify-content:center;color:#8c969f}.twsi-fr2-row>b{justify-content:flex-end;border-left:1px solid #292f34}
.twsi-fr2-glance{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.twsi-fr2-glance>div{min-height:92px;border-right:1px solid #343a40;border-bottom:1px solid #343a40;padding:12px;display:flex;flex-direction:column;justify-content:center}
.twsi-fr2-glance span{font-size:9px;color:#b8c0c7}.twsi-fr2-glance strong{font-size:18px;font-weight:400;margin:8px 0;color:#fff}.twsi-fr2-glance small{font-size:7px;color:#369cff}
.twsi-fr2-charts{display:grid;grid-template-columns:repeat(4,1fr);height:175px;border-top:1px solid #40464c}
.twsi-fr2-charts .twsi-fs-chart{height:147px}

@media(max-width:900px){
    .twsi-fs-statement{overflow-x:auto}
    .twsi-fs-headrow,.twsi-fs-row,.twsi-fs-section-row{min-width:900px}
    .twsi-fs-charts.three,.twsi-fr2-charts{display:block;height:auto}
    .twsi-fs-charts>section,.twsi-fr2-charts>section{height:188px;border-right:0;border-bottom:1px solid #40464c}
    .twsi-fr2-row{min-width:820px}
    .twsi-fr2-body{overflow-x:auto}
}



/* =========================================================
   v3.16.1 — FINANCIALS SUBNAV CLICKABILITY HOTFIX
========================================================= */
.twsi-fin-subnav{
    position:relative!important;
    z-index:50!important;
    pointer-events:auto!important;
}

.twsi-fin-subnav-btn{
    position:relative!important;
    z-index:51!important;
    pointer-events:auto!important;
    cursor:pointer!important;
}

.twsi-fin-subpanels{
    position:relative!important;
    z-index:1!important;
}

.twsi-fin-subpanel{
    pointer-events:none!important;
}

.twsi-fin-subpanel.active{
    pointer-events:auto!important;
}



/* =========================================================
   v3.16.2 — HARD FINANCIAL SUBNAV VISIBILITY / CLICK FIX
========================================================= */

.twsi-financials-workspace .twsi-fin-subnav {
    position: relative !important;
    z-index: 200 !important;
    pointer-events: auto !important;
}

.twsi-financials-workspace [data-twsi-fin-panel] {
    pointer-events: auto !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 201 !important;
    user-select: none !important;
}

.twsi-financials-workspace [data-twsi-fin-subpanel] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.twsi-financials-workspace [data-twsi-fin-subpanel].active {
    display: block !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.twsi-financials-workspace [data-twsi-fin-subpanel][hidden] {
    display: none !important;
}



/* v3.17 — deeper financial drill-down + Excel export */
.twsi-fin-export{margin-left:6px!important;border:1px solid #59616a!important;background:#050607!important;color:#ff9f1c!important;height:26px!important;padding:0 9px!important;font:inherit!important;font-size:9px!important;cursor:pointer!important;white-space:nowrap!important}
.twsi-fin-export:hover{background:#111!important;color:#fff!important;border-color:#ff9f1c!important}
.twsi-fin2-view button[data-fin2-view="full"],.twsi-fs-view button[data-bs2-view="full"],.twsi-fs-view button[data-cf2-view="full"]{color:#c8ced4}
.twsi-fin2-row.child-row .twsi-fin2-label,.twsi-fs-row.child .twsi-fs-label{border-left:2px solid #1a2228}
.twsi-fin2-row.child-row .twsi-fin2-label:before,.twsi-fs-row.child .twsi-fs-label:before{content:"·";color:#5c6872;margin-right:4px}


/* =========================================================
   v3.18 — FILING INTELLIGENCE / LIVE GOVERNANCE TABLES
========================================================= */

.twsi-mgt2-live-table{
    height:calc(100% - 27px);
    overflow:auto;
    background:#000;
    color:#d7dde3;
    font-family:Arial,Helvetica,sans-serif;
}

.twsi-mgt2-live-table>div{
    display:grid;
    grid-template-columns:1fr 1.55fr 44px;
    min-height:24px;
    align-items:center;
    border-bottom:1px solid #252b30;
}

.twsi-mgt2-live-table.insider>div{
    grid-template-columns:1.25fr 1fr .7fr;
}

.twsi-mgt2-live-table span{
    padding:0 7px;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9.2px;
}

.twsi-mgt2-live-head{
    color:#9ea8b2;
    background:#050607;
}

.twsi-mgt2-live-head span{
    font-size:8.3px;
}

.twsi-corp2-row .pos{
    color:#69dc32!important;
}

.twsi-corp2-row .neg{
    color:#ff5d48!important;
}


/* =========================================================
   v3.19 — DATA QUALITY / ONTOLOGY DIAGNOSTICS
========================================================= */
.twsi-data-quality-badge{
    display:inline-flex;
    align-items:center;
    gap:5px;
    height:18px;
    padding:0 6px;
    margin-left:6px;
    border:1px solid #30363b;
    color:#8f99a3;
    background:#050607;
    font-size:8px;
    font-weight:600;
    letter-spacing:.02em;
    white-space:nowrap;
}
.twsi-data-quality-badge.good{color:#67db31}
.twsi-data-quality-badge.review{color:#ff9f1c}
.twsi-data-quality-badge.weak{color:#ff5d48}


/* =========================================================
   v3.22 — QUARTERLY / RESTATEMENT INTELLIGENCE
========================================================= */
.twsi-qfi-table>div,
.twsi-restatement-table>div{
    display:grid;
    grid-template-columns:1.25fr 1fr 1fr .9fr .8fr;
    min-height:27px;
    align-items:center;
    border-bottom:1px solid #272d32;
}
.twsi-qfi-table span,
.twsi-qfi-table b,
.twsi-restatement-table span,
.twsi-restatement-table b{
    padding:0 8px;
    min-width:0;
    font-size:9.5px;
    font-weight:400;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.twsi-qfi-table b,
.twsi-restatement-table b{
    text-align:right;
}
.twsi-qfi-table .head,
.twsi-restatement-table .head{
    color:#9ba5ae;
    background:#050607;
}
.twsi-restatement-table .pos{
    color:#6bdc32;
}
.twsi-restatement-table .neg{
    color:#ff5d48;
}
.twsi-restatement-table .empty{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    min-height:180px;
    grid-template-columns:none;
}
.twsi-restatement-table .empty strong{
    color:#6bdc32;
    font-size:11px;
    font-weight:400;
    margin-bottom:6px;
}
.twsi-restatement-table .empty span{
    color:#818b95;
    font-size:9px;
}


/* =========================================================
   v3.23 — CORPORATE / PROFILE INTELLIGENCE
========================================================= */
.twsi-cpi-source{
    display:inline-flex;
    align-items:center;
    gap:4px;
    color:#7f8993;
    font-size:7.5px;
    white-space:nowrap;
}
.twsi-cpi-confidence{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    height:15px;
    border:1px solid #31373d;
    font-size:7px;
    color:#9ba5ae;
}
.twsi-cpi-confidence.high{color:#69db31}
.twsi-cpi-confidence.medium{color:#ff9f1c}
.twsi-cpi-confidence.low{color:#ff5d48}


/* =========================================================
   v3.24.2 — TERMINAL PANEL UX / OVERFLOW / EXPAND
========================================================= */

/* Keep dense terminal content readable without destroying the grid. */
.twsi-corp2-panel,
.twsi-dem-panel,
.twsi-profile-panel,
.twsi-ratios-panel,
.twsi-fin-panel,
.twsi-ind2-panel,
.twsi-rev2-panel{
    min-width:0!important;
}

.twsi-corp2-panel > :not(header),
.twsi-dem-panel > :not(header){
    min-width:0;
}

/* Rows with long names remain compact, but hovering exposes full text. */
.twsi-corp2-row span,
.twsi-corp2-row b,
.twsi-mgt2-live-table span,
.twsi-fin-terminal td,
.twsi-fin-terminal th{
    min-width:0!important;
}

/* Make genuinely dense bodies scroll inside their own terminal panel. */
.twsi-corp2-panel,
.twsi-dem-panel{
    overflow:hidden!important;
}

.twsi-corp2-panel > [id$="-body"],
.twsi-corp2-panel > .twsi-corp2-body,
.twsi-mgt2-live-table{
    overflow:auto!important;
    scrollbar-width:thin;
    scrollbar-color:#59636d #090b0d;
}

.twsi-corp2-panel > [id$="-body"]{
    max-height:100%;
}

.twsi-corp2-panel::-webkit-scrollbar,
.twsi-dem-panel::-webkit-scrollbar,
.twsi-mgt2-live-table::-webkit-scrollbar,
.twsi-panel-modal-body::-webkit-scrollbar,
.twsi-panel-expanded-clone::-webkit-scrollbar{
    width:7px;
    height:7px;
}

.twsi-corp2-panel::-webkit-scrollbar-track,
.twsi-dem-panel::-webkit-scrollbar-track,
.twsi-mgt2-live-table::-webkit-scrollbar-track,
.twsi-panel-modal-body::-webkit-scrollbar-track,
.twsi-panel-expanded-clone::-webkit-scrollbar-track{
    background:#090b0d;
}

.twsi-corp2-panel::-webkit-scrollbar-thumb,
.twsi-dem-panel::-webkit-scrollbar-thumb,
.twsi-mgt2-live-table::-webkit-scrollbar-thumb,
.twsi-panel-modal-body::-webkit-scrollbar-thumb,
.twsi-panel-expanded-clone::-webkit-scrollbar-thumb{
    background:#59636d;
    border-radius:0;
}

/* Expand affordance: terminal-like, intentionally subtle. */
.twsi-expandable-panel{
    position:relative!important;
}

.twsi-expandable-panel > header,
.twsi-expandable-panel > .twsi-corp2-title,
.twsi-expandable-panel > .twsi-fin-panel-title{
    position:relative!important;
    padding-right:30px!important;
}

.twsi-panel-expand-btn{
    position:absolute;
    right:5px;
    top:50%;
    transform:translateY(-50%);
    width:20px;
    height:18px;
    padding:0;
    border:1px solid transparent;
    background:transparent;
    color:#7f8993;
    font:700 12px/16px Arial,Helvetica,sans-serif;
    cursor:pointer;
    opacity:.42;
    z-index:6;
}

.twsi-expandable-panel:hover .twsi-panel-expand-btn,
.twsi-panel-expand-btn:focus{
    opacity:1;
    color:#ff9f00;
    border-color:#3b4146;
    background:#07090a;
    outline:none;
}

.twsi-panel-modal{
    position:fixed;
    inset:0;
    z-index:999999;
    display:none;
}

.twsi-panel-modal.open{
    display:block;
}

.twsi-panel-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.80);
    backdrop-filter:blur(2px);
}

.twsi-panel-modal-shell{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:min(94vw,1500px);
    height:min(90vh,920px);
    display:flex;
    flex-direction:column;
    border:1px solid #58616a;
    background:#000;
    box-shadow:0 24px 90px rgba(0,0,0,.82);
}

.twsi-panel-modal-topbar{
    flex:0 0 50px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 12px;
    border-bottom:1px solid #343a40;
    background:#030405;
    color:#fff;
}

.twsi-panel-modal-topbar > div:first-child{
    display:flex;
    align-items:baseline;
    gap:12px;
    min-width:0;
}

.twsi-panel-modal-kicker{
    color:#ff9f00;
    font-size:9px;
    font-weight:700;
    letter-spacing:.08em;
}

#twsi-panel-modal-title{
    color:#f4f6f7;
    font-size:17px;
    font-weight:500;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.twsi-panel-modal-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.twsi-panel-modal-hint{
    color:#737d86;
    font-size:8px;
}

.twsi-panel-modal-close{
    width:30px;
    height:30px;
    border:1px solid #343a40;
    background:#050607;
    color:#cfd4d8;
    font-size:19px;
    line-height:26px;
    cursor:pointer;
}

.twsi-panel-modal-close:hover{
    color:#ff9f00;
    border-color:#ff9f00;
}

.twsi-panel-modal-body{
    flex:1;
    min-height:0;
    overflow:auto;
    padding:10px;
    background:#000;
}

.twsi-panel-expanded-clone{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:100%!important;
    overflow:visible!important;
    grid-column:auto!important;
    grid-row:auto!important;
    position:relative!important;
    border-color:#4a5259!important;
}

/* Expanded panel intentionally removes truncation. */
.twsi-panel-expanded-clone span,
.twsi-panel-expanded-clone b,
.twsi-panel-expanded-clone td,
.twsi-panel-expanded-clone th,
.twsi-panel-expanded-clone p{
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
}

/* Bigger readable terminal typography inside expanded view. */
.twsi-panel-expanded-clone .twsi-corp2-row span,
.twsi-panel-expanded-clone .twsi-corp2-row b,
.twsi-panel-expanded-clone .twsi-mgt2-live-table span{
    font-size:12px!important;
    line-height:1.35!important;
    padding:7px 9px!important;
}

.twsi-panel-expanded-clone .twsi-corp2-row{
    min-height:34px!important;
}

.twsi-panel-expanded-clone header{
    min-height:34px!important;
    font-size:13px!important;
}

html.twsi-modal-open,
html.twsi-modal-open body{
    overflow:hidden!important;
}

/* Accessible keyboard focus. */
.twsi-panel-expand-btn:focus-visible,
.twsi-panel-modal-close:focus-visible{
    outline:1px solid #ff9f00!important;
    outline-offset:1px;
}

@media (max-width:768px){
    .twsi-panel-modal-shell{
        width:98vw;
        height:94vh;
    }

    .twsi-panel-modal-topbar{
        padding:0 8px;
    }

    .twsi-panel-modal-kicker,
    .twsi-panel-modal-hint{
        display:none;
    }

    #twsi-panel-modal-title{
        font-size:14px;
    }
}


/* =========================================================
   v3.25 — GROWTH / MARGINS / PER SHARE / SEGMENTS TERMINALS
========================================================= */
.twsi-fx-terminal{
    width:100%;
    max-width:none;
    background:#000;
    color:#e6e8ea;
    border:1px solid #42484e;
    font-family:Arial,Helvetica,sans-serif;
    font-size:10px;
    line-height:1.2;
    overflow:hidden;
}
.twsi-fx-topbar{
    height:34px;
    display:grid;
    grid-template-columns:1fr auto 180px;
    align-items:center;
    border-bottom:1px solid #343a40;
    padding:0 8px;
}
.twsi-fx-topbar>strong{
    color:#00d9e8;
    font-size:13px;
    font-weight:400;
}
.twsi-fx-topbar>span{
    font-size:14px;
}
.twsi-fx-topbar>span b{font-weight:400}
.twsi-fx-topbar .pos,.twsi-fx-row .pos{color:#50e900}
.twsi-fx-topbar .neg,.twsi-fx-row .neg{color:#ff4638}
.twsi-fx-topbar>small{text-align:right;font-size:11px;color:#e2e4e6}
.twsi-fx-titlebar{
    min-height:31px;
    display:grid;
    grid-template-columns:160px 1fr auto;
    align-items:center;
    gap:12px;
    padding:0 8px;
    border-bottom:1px solid #343a40;
}
.twsi-fx-titlebar>strong{font-size:13px;font-weight:400}
.twsi-fx-titlebar>small{color:#9da5ac;font-size:8px}
.twsi-fx-view{display:flex;align-items:center;gap:4px}
.twsi-fx-view>span{color:#9da5ac;margin-right:3px;font-size:8px}
.twsi-fx-view button{
    appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;
    color:#8e959b;padding:7px 10px 5px;font-size:8px;cursor:pointer
}
.twsi-fx-view button:hover{color:#fff}
.twsi-fx-view button.active{color:#ff9f00;border-bottom-color:#ff9f00}
.twsi-fx-body{min-height:420px;background:#000}
.twsi-fx-table{border-bottom:1px solid #343a40}
.twsi-fx-head,.twsi-fx-row{
    display:grid;
    grid-template-columns:minmax(200px,1.8fr) repeat(5,minmax(62px,.75fr)) minmax(65px,.65fr) minmax(65px,.65fr);
    min-height:24px;align-items:center
}
.twsi-fx-table.ps .twsi-fx-head,.twsi-fx-table.ps .twsi-fx-row{
    grid-template-columns:minmax(200px,1.65fr) 50px repeat(5,minmax(62px,.7fr)) 72px;
}
.twsi-fx-head{min-height:33px;color:#9aa2aa;border-bottom:1px solid #3a4045}
.twsi-fx-head span,.twsi-fx-head b,.twsi-fx-head em,
.twsi-fx-row span,.twsi-fx-row b,.twsi-fx-row em{
    padding:0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:normal;font-weight:400
}
.twsi-fx-head b,.twsi-fx-row b,.twsi-fx-head em,.twsi-fx-row em{text-align:right}
.twsi-fx-table section{border-bottom:1px solid #353b40}
.twsi-fx-table section>header{
    height:20px;display:flex;align-items:center;padding:0 7px;color:#2ca4f3;font-size:8px;font-weight:400
}
.twsi-fx-row{border-top:1px solid #1d2226}
.twsi-fx-row:hover{background:#07101a}
.twsi-fx-row b{color:#d6d8da}
.twsi-fx-row b.pos,.twsi-fx-row em.pos{color:#64e62c}
.twsi-fx-row b.neg,.twsi-fx-row em.neg{color:#ff5544}
.twsi-fx-charts{display:grid;border-bottom:1px solid #343a40}
.twsi-fx-charts.four{grid-template-columns:repeat(4,1fr)}
.twsi-fx-charts.five{grid-template-columns:repeat(5,1fr)}
.twsi-fx-charts>section{min-width:0;border-right:1px solid #343a40}
.twsi-fx-charts>section:last-child{border-right:0}
.twsi-fx-charts header,.twsi-seg-charts header{
    height:25px;display:flex;align-items:center;padding:0 7px;color:#aeb4b9;font-size:8px;font-weight:400
}
.twsi-fx-chart{height:155px;position:relative;padding:0 3px}
.twsi-fx-chart svg{width:100%;height:100%;overflow:visible}
.twsi-fx-chart .grid{stroke:#1f252a;stroke-width:1}
.twsi-fx-chart .axis{fill:#7e878e;font-size:8px}
.twsi-fx-chart .series{fill:none;stroke-width:2}
.twsi-fx-chart .series.blue{stroke:#2f7df6}.twsi-fx-chart .point.blue{fill:#2f7df6}
.twsi-fx-chart .series.orange{stroke:#f28a00}.twsi-fx-chart .point.orange{fill:#f28a00}
.twsi-fx-chart .series.green{stroke:#45b93b}.twsi-fx-chart .point.green{fill:#45b93b}
.twsi-fx-chart .series.purple{stroke:#8d55a5}.twsi-fx-chart .point.purple{fill:#8d55a5}
.twsi-fx-chart .series.cyan{stroke:#00b8cc}.twsi-fx-chart .point.cyan{fill:#00b8cc}
.twsi-fx-chart .bar.blue{fill:#145ccb}.twsi-fx-chart .bar.orange{fill:#da7400}
.twsi-fx-chart .bar.green{fill:#3d9c38}.twsi-fx-chart .bar.purple{fill:#77448a}.twsi-fx-chart .bar.cyan{fill:#008ea2}
.twsi-fx-chart .cross{stroke:#89929a;stroke-width:.8;stroke-dasharray:2 2;pointer-events:none}
.twsi-fx-tooltip{
    display:none;position:absolute;top:7px;z-index:20;min-width:135px;padding:6px 7px;
    border:1px solid #687078;background:#050607;color:#dfe2e4;font-size:8px;box-shadow:0 7px 20px rgba(0,0,0,.6)
}
.twsi-fx-tooltip strong{display:block;color:#ff9f00;margin-bottom:4px}
.twsi-fx-tooltip span{display:flex;gap:5px;align-items:center;justify-content:space-between;white-space:nowrap}
.twsi-fx-tooltip span i{width:6px;height:6px;display:inline-block}
.twsi-fx-tooltip i.blue{background:#2f7df6}.twsi-fx-tooltip i.orange{background:#f28a00}
.twsi-fx-tooltip i.green{background:#45b93b}.twsi-fx-tooltip i.purple{background:#8d55a5}.twsi-fx-tooltip i.cyan{background:#00b8cc}
.twsi-fx-bottom{display:grid;grid-template-columns:1.25fr .92fr;border-bottom:1px solid #343a40}
.twsi-fx-bottom.margins{grid-template-columns:1.35fr .65fr}
.twsi-fx-summary,.twsi-fx-takeaways{min-height:84px;padding:0 8px}
.twsi-fx-summary{border-right:1px solid #343a40;display:grid;grid-template-columns:repeat(4,1fr)}
.twsi-fx-summary>header,.twsi-fx-takeaways>header{grid-column:1/-1;height:24px;display:flex;align-items:center;color:#aeb4b9;font-size:8px}
.twsi-fx-summary>div{text-align:center;border-right:1px solid #2c3237;padding:2px 5px 7px}
.twsi-fx-summary>div:last-child{border-right:0}
.twsi-fx-summary span{display:block;color:#8f979d;font-size:8px}
.twsi-fx-summary strong{display:block;color:#2f7df6;font-size:14px;font-weight:400;margin-top:3px}
.twsi-fx-summary small{display:block;color:#5bd52c;font-size:8px;margin-top:2px}
.twsi-fx-takeaways ul{margin:0;padding:0 0 7px 15px;color:#9ba3a9;font-size:8px}
.twsi-fx-takeaways li{margin:3px 0}.twsi-fx-takeaways li::marker{color:#54dc29}
.twsi-fx-footer{height:25px;display:flex;align-items:center;justify-content:space-between;padding:0 7px;color:#7f878d;font-size:8px}
.twsi-fx-empty{height:100%;display:flex;align-items:center;justify-content:center;color:#7f878d;font-size:9px}
.twsi-fx-empty.large{min-height:360px;text-align:center;padding:30px}
.twsi-fx-quarter-grid{display:grid;grid-template-columns:repeat(2,1fr);min-height:390px}
.twsi-fx-quarter-grid.one{grid-template-columns:1fr}
.twsi-fx-quarter-grid section{border-right:1px solid #343a40;border-bottom:1px solid #343a40}
.twsi-fx-quarter-grid header{height:28px;padding:0 8px;display:flex;align-items:center;color:#2ca4f3;border-bottom:1px solid #343a40}
.twsi-fx-qrow{display:grid;grid-template-columns:1fr 1fr .9fr;min-height:28px;align-items:center;border-bottom:1px solid #1e2327;padding:0 8px}
.twsi-fx-qrow b,.twsi-fx-qrow em{text-align:right;font-style:normal;font-weight:400}
.twsi-fx-qrow em{color:#7d868d;font-size:8px}

/* Segments */
.twsi-seg-table{border-bottom:1px solid #343a40}
.twsi-seg-head,.twsi-seg-row{display:grid;grid-template-columns:minmax(210px,1.7fr) repeat(4,minmax(85px,.75fr));align-items:center}
.twsi-seg-head{height:31px;color:#9ca4aa;border-bottom:1px solid #343a40}
.twsi-seg-table>header{height:26px;padding:0 7px;display:flex;align-items:center;color:#aeb4b9;font-weight:400}
.twsi-seg-table>header small{margin-left:8px;color:#777f86}
.twsi-seg-head span,.twsi-seg-head b,.twsi-seg-row span,.twsi-seg-row b{padding:0 7px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.twsi-seg-head b,.twsi-seg-row b{text-align:right}
.twsi-seg-row{min-height:28px;border-top:1px solid #1f2428}
.twsi-seg-row:hover{background:#07101a}
.twsi-seg-row.total{color:#2ca4f3}
.twsi-seg-charts{display:grid;grid-template-columns:1fr 1fr 1.15fr;min-height:210px;border-bottom:1px solid #343a40}
.twsi-seg-charts>section{border-right:1px solid #343a40;min-width:0}
.twsi-seg-charts>section:last-child{border-right:0}
.twsi-seg-chart{height:180px;display:grid;grid-template-columns:120px 1fr;align-items:center;padding:5px 8px}
.twsi-seg-donut{width:95px;height:95px;border-radius:50%;position:relative;margin:auto}
.twsi-seg-donut i{position:absolute;inset:31px;border-radius:50%;background:#000}
.twsi-seg-legend{min-width:0}
.twsi-seg-legend>div{display:grid;grid-template-columns:8px 1fr auto;gap:5px;align-items:center;min-height:25px;padding:0 3px;border-bottom:1px solid #1b2024}
.twsi-seg-legend>div.active{background:#101820;color:#fff}
.twsi-seg-legend i{width:7px;height:7px}
.twsi-seg-legend span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px}
.twsi-seg-legend b{font-size:8px;font-weight:400;color:#cdd1d4}

@media(max-width:1000px){
    .twsi-fx-charts.five{grid-template-columns:repeat(3,1fr)}
    .twsi-fx-charts.four{grid-template-columns:repeat(2,1fr)}
    .twsi-fx-summary{grid-template-columns:repeat(2,1fr)}
    .twsi-fx-bottom{grid-template-columns:1fr}
    .twsi-fx-summary{border-right:0;border-bottom:1px solid #343a40}
    .twsi-seg-charts{grid-template-columns:1fr}
    .twsi-seg-charts>section{border-right:0;border-bottom:1px solid #343a40}
}
@media(max-width:760px){
    .twsi-fx-topbar{grid-template-columns:1fr auto}
    .twsi-fx-topbar>small{display:none}
    .twsi-fx-titlebar{grid-template-columns:1fr}
    .twsi-fx-titlebar>small{display:none}
    .twsi-fx-view{overflow-x:auto}
    .twsi-fx-table{overflow-x:auto}
    .twsi-fx-head,.twsi-fx-row{min-width:760px}
    .twsi-fx-charts.five,.twsi-fx-charts.four{grid-template-columns:1fr}
    .twsi-fx-quarter-grid{grid-template-columns:1fr}
    .twsi-seg-table{overflow-x:auto}
    .twsi-seg-head,.twsi-seg-row{min-width:720px}
}


/* =========================================================
   v3.26 — RESTATEMENTS / ACCOUNTING & FILING DATA
   Larger terminal typography; dense but readable.
========================================================= */
.twsi-rf-terminal{width:100%;background:#000;color:#e7eaec;border:1px solid #41484e;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.28;overflow:hidden}
.twsi-rf-topbar{height:38px;display:grid;grid-template-columns:1fr auto 190px;align-items:center;padding:0 10px;border-bottom:1px solid #3a4146}
.twsi-rf-topbar>strong{font-size:15px;font-weight:400;color:#00d6e5}
.twsi-rf-topbar>span{font-size:15px}.twsi-rf-topbar>span b{font-weight:400}
.twsi-rf-topbar .pos,.twsi-rf-table .pos,.twsi-rf-summary4 .pos{color:#51e928}
.twsi-rf-topbar .neg,.twsi-rf-table .neg,.twsi-rf-summary4 .neg{color:#ff4c3c}
.twsi-rf-topbar>small{text-align:right;font-size:12px}
.twsi-rf-titlebar{min-height:35px;display:grid;grid-template-columns:230px 1fr auto;align-items:center;gap:12px;padding:0 10px;border-bottom:1px solid #3a4146}
.twsi-rf-titlebar>strong{font-size:14px;font-weight:400}
.twsi-rf-titlebar>small{font-size:9px;color:#a0a8ae}
.twsi-rf-view{display:flex;align-items:center;gap:3px;min-width:0}
.twsi-rf-view>span{color:#9aa2a8;font-size:9px;margin-right:4px}
.twsi-rf-view button{border:0;border-bottom:2px solid transparent;background:transparent;color:#929aa0;font-size:9px;padding:8px 10px 6px;cursor:pointer;white-space:nowrap}
.twsi-rf-view button:hover{color:#fff}.twsi-rf-view button.active{color:#ff9f00;border-bottom-color:#ff9f00}
.twsi-rf-body{min-height:480px;background:#000}
.twsi-rf-block,.twsi-rf-card{border-bottom:1px solid #3a4146}
.twsi-rf-block>header,.twsi-rf-card>header{height:30px;display:flex;align-items:center;padding:0 10px;color:#28a6f0;font-size:10px;font-weight:400;border-bottom:1px solid #33393e}
.twsi-rf-summary4{display:grid;grid-template-columns:repeat(4,1fr);min-height:72px}
.twsi-rf-summary4>div{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #343a40;text-align:center}
.twsi-rf-summary4>div:last-child{border-right:0}
.twsi-rf-summary4 span{color:#a3aab0;font-size:10px}.twsi-rf-summary4 strong{font-size:18px;font-weight:400;color:#2f7df6;margin:3px 0}.twsi-rf-summary4 small{font-size:9px;color:#8a9298}
.twsi-rf-table{overflow:auto}
.twsi-rf-table .head,.twsi-rf-table>div:not(.head):not(.empty){display:grid;align-items:center;min-height:32px;border-bottom:1px solid #242a2e}
.twsi-rf-table.rest .head,.twsi-rf-table.rest>div:not(.head):not(.empty){grid-template-columns:110px 120px 150px minmax(250px,1.8fr) 110px 110px 100px}
.twsi-rf-table.adjusted .head,.twsi-rf-table.adjusted>div:not(.head):not(.empty){grid-template-columns:minmax(180px,1.3fr) 130px repeat(4,minmax(120px,.8fr))}
.twsi-rf-table.filings .head,.twsi-rf-table.filings>div:not(.head):not(.empty){grid-template-columns:100px 160px 150px minmax(180px,1fr) 80px 80px}
.twsi-rf-table .head{color:#a3abb1;min-height:38px}
.twsi-rf-table span,.twsi-rf-table b,.twsi-rf-table strong,.twsi-rf-table em{padding:0 9px;font-style:normal;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.twsi-rf-table b,.twsi-rf-table em{text-align:right}.twsi-rf-table strong{color:#bcc2c6}
.twsi-rf-table a{color:#2f80ff;text-decoration:underline}.twsi-rf-table>div:not(.head):not(.empty):hover{background:#07111a}
.twsi-rf-table .empty{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#879198}
.twsi-rf-table .empty strong{font-size:13px;color:#65dd31;margin-bottom:7px}.twsi-rf-table .empty span{font-size:10px;white-space:normal}
.twsi-rf-grid2{display:grid;grid-template-columns:1fr 1fr}
.twsi-rf-grid2>*:first-child{border-right:1px solid #3a4146}
.twsi-rf-cards{display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid #3a4146}
.twsi-rf-cards.four{grid-template-columns:repeat(4,1fr)}
.twsi-rf-cards.three{grid-template-columns:1.3fr 1fr}
.twsi-rf-cards.xbrl{grid-template-columns:1fr 1fr 1fr}
.twsi-rf-card{min-height:205px;border-right:1px solid #3a4146;border-bottom:0}
.twsi-rf-card:last-child{border-right:0}.twsi-rf-card.wide{min-height:165px}
.twsi-rf-kv{padding:8px 10px}
.twsi-rf-kv>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:28px;align-items:center;border-bottom:1px solid #20262a}
.twsi-rf-kv span{color:#a1a8ae}.twsi-rf-kv b{text-align:right;font-weight:400;color:#e2e5e7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.twsi-rf-notes{padding:12px 14px;color:#b0b6bb;font-size:11px}.twsi-rf-notes p{margin:0 0 12px}
.twsi-rf-bullets{margin:0;padding:12px 18px 12px 28px;color:#aeb5ba;font-size:11px}.twsi-rf-bullets li{margin:6px 0}.twsi-rf-bullets li::marker{color:#3fd528}
.twsi-rf-nature{min-height:135px;display:grid;grid-template-columns:145px 1fr;align-items:center;padding:8px 12px}
.twsi-rf-ring{width:105px;height:105px;border-radius:50%;margin:auto;background:conic-gradient(#175fcb 0 45%,#ed8700 45% 78%,#4d8d42 78% 100%);position:relative}.twsi-rf-ring i{position:absolute;inset:36px;border-radius:50%;background:#000}
.twsi-rf-nature p{margin:6px 0;color:#9fa7ad}.twsi-rf-nature b{color:#fff;font-weight:400}
.twsi-rf-footer{height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;color:#808990;font-size:9px;border-top:1px solid #30363b}
@media(max-width:1050px){.twsi-rf-cards.four{grid-template-columns:repeat(2,1fr)}.twsi-rf-cards.xbrl{grid-template-columns:1fr}.twsi-rf-summary4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.twsi-rf-topbar{grid-template-columns:1fr auto}.twsi-rf-topbar>small{display:none}.twsi-rf-titlebar{grid-template-columns:1fr;gap:0;padding-top:6px}.twsi-rf-view{overflow-x:auto}.twsi-rf-cards,.twsi-rf-cards.four,.twsi-rf-cards.three,.twsi-rf-grid2{grid-template-columns:1fr}.twsi-rf-card{border-right:0;border-bottom:1px solid #3a4146}.twsi-rf-table.rest,.twsi-rf-table.adjusted,.twsi-rf-table.filings{overflow-x:auto}.twsi-rf-table.rest .head,.twsi-rf-table.rest>div:not(.head):not(.empty){min-width:1050px}.twsi-rf-table.adjusted .head,.twsi-rf-table.adjusted>div:not(.head):not(.empty){min-width:900px}.twsi-rf-table.filings .head,.twsi-rf-table.filings>div:not(.head):not(.empty){min-width:820px}}

/* v3.27 CAPITAL TERMINALS — full Financials-style width */
.twsi-terminal-panel--capital{width:100%!important;max-width:none!important}
.twsi-cap-subnav{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));width:100%;background:#000;border:1px solid #3c444a;border-bottom:0}
.twsi-cap-subnav button{min-height:52px;background:#000;color:#fff;border:0;border-right:1px solid #333b41;border-bottom:2px solid transparent;font-size:11px;cursor:pointer}.twsi-cap-subnav button.active{color:#ff9d00;border-bottom-color:#ff9d00}.twsi-cap-subnav button:hover{background:#071018}
.twsi-cap-terminal{width:100%;background:#000;color:#d7dbde;border:1px solid #3c444a;font:11px/1.25 Arial,Helvetica,sans-serif;overflow:hidden}
.twsi-cap-top{height:42px;display:grid;grid-template-columns:250px 1fr 300px;align-items:center;padding:0 9px;border-bottom:1px solid #353d42}.twsi-cap-top strong{color:#00d4df;font-size:15px;font-weight:400}.twsi-cap-top>span{font-size:14px}.twsi-cap-top small{text-align:right;font-size:15px}.twsi-cap-top i{font-style:normal}.twsi-cap-top .pos,.twsi-cap-box .pos{color:#23e63d}.twsi-cap-top .neg{color:#ff4136}
.twsi-cap-view{height:28px;padding:0 9px;display:flex;align-items:center;color:#9aa1a6;border-bottom:1px solid #343b40}.twsi-cap-view>span{margin-left:45px;margin-right:6px}.twsi-cap-view button{height:28px;padding:0 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:#9aa1a6;font-size:10px;cursor:pointer}.twsi-cap-view button.active{color:#ff9d00;border-bottom-color:#ff9d00}
.twsi-cap-metrics{display:grid;grid-template-columns:repeat(7,1fr);min-height:83px;border-bottom:1px solid #3b4348}.twsi-cap-metrics>div{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #353d42;text-align:center;padding:5px}.twsi-cap-metrics span{color:#b7bdc1}.twsi-cap-metrics strong{color:#10a6ee;font-size:18px;font-weight:400;margin:6px 0 2px}.twsi-cap-metrics small{color:#999fa4;font-size:10px}
.twsi-cap-grid2{display:grid;grid-template-columns:1fr 1fr}.twsi-cap-grid3{display:grid;grid-template-columns:1.1fr .9fr .9fr}.twsi-cap-box{min-height:235px;border-right:1px solid #3a4247;border-bottom:1px solid #3a4247}.twsi-cap-box>header{height:32px;display:flex;align-items:center;padding:0 9px;color:#0b9eea;font-size:11px;border-bottom:1px solid #333a3f}.twsi-cap-box.chart{min-height:245px}
.twsi-cap-donut-wrap{height:195px;display:grid;grid-template-columns:42% 58%;align-items:center}.twsi-cap-donut{width:150px;height:150px;border-radius:50%;margin:auto;position:relative}.twsi-cap-donut i{position:absolute;inset:50px;border-radius:50%;background:#000}.twsi-cap-legend{padding-right:15px}.twsi-cap-legend p{display:grid;grid-template-columns:12px 1fr auto;gap:7px;align-items:center;margin:10px 0}.twsi-cap-legend em{width:10px;height:10px}.twsi-cap-legend b{font-weight:400;color:#aeb4b8}
.twsi-cap-bars{height:195px;display:flex;align-items:flex-end;justify-content:space-around;padding:25px 20px 22px;border-left:1px solid #222}.twsi-cap-bars>div{height:145px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;border-bottom:1px solid #333;cursor:crosshair}.twsi-cap-bars i{display:block;width:45%;max-width:54px;background:#1559c7;min-height:3px}.twsi-cap-bars>div:hover i{filter:brightness(1.35)}.twsi-cap-bars b{font-size:9px;font-weight:400;color:#a9afb3}
.twsi-cap-table{padding:7px 10px}.twsi-cap-table p{min-height:29px;margin:0;display:grid;grid-template-columns:1.5fr 1fr 1fr;align-items:center;border-bottom:1px solid #242a2e}.twsi-cap-table p span{color:#aeb4b8}.twsi-cap-table p b,.twsi-cap-table p em{text-align:right;font-style:normal;font-weight:400}.twsi-cap-table a{color:#159cf0}.twsi-cap-notes{padding:15px;color:#aab1b5}.twsi-cap-notes p{margin:0 0 14px}.twsi-cap-bullets{padding:15px 25px;color:#aeb4b8}.twsi-cap-bullets li{margin:10px 0}.twsi-cap-bullets li::marker{color:#167ff0}.twsi-cap-empty{height:185px;display:flex;align-items:center;justify-content:center;text-align:center;color:#7e878d;padding:20px}
@media(max-width:1000px){.twsi-cap-metrics{grid-template-columns:repeat(3,1fr)}.twsi-cap-grid2,.twsi-cap-grid3{grid-template-columns:1fr}.twsi-cap-subnav{overflow-x:auto;display:flex}.twsi-cap-subnav button{min-width:180px}.twsi-cap-top{grid-template-columns:1fr auto}.twsi-cap-top>span{display:none}}


/* =========================================================
   v3.27.1 — CAPITAL WIDTH ALIGNMENT
   Match Overview / Financials terminal width exactly.
========================================================= */

/* The previous Capital build forced 100% width, which made the panel
   stretch wider than the Financials / Overview workspace. */
.twsi-terminal-panel--capital{
    width:auto!important;
    max-width:none!important;
}

/* Reuse the same content width behavior as Financials. */
[data-twsi-panel="capital"]{
    width:100%!important;
    max-width:1276px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
}

/* Capital's subsection nav and terminal should never exceed their parent. */
[data-twsi-panel="capital"] .twsi-cap-subnav,
[data-twsi-panel="capital"] .twsi-cap-terminal{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
}

/* Prevent the inner grids/charts from creating accidental horizontal growth. */
[data-twsi-panel="capital"] .twsi-cap-metrics,
[data-twsi-panel="capital"] .twsi-cap-grid2,
[data-twsi-panel="capital"] .twsi-cap-grid3,
[data-twsi-panel="capital"] .twsi-cap-box{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
}

/* Keep the desktop terminal compact like the Financials screens. */
@media (min-width:1100px){
    [data-twsi-panel="capital"]{
        max-width:1276px!important;
    }
}


/* =========================================================
   v3.27.2 — CAPITAL EXACTLY MATCH FINANCIALS WIDTH
========================================================= */
.twsi-terminal-panel[data-twsi-panel="capital"].is-active{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    background:#000!important;
}

.twsi-terminal-panel[data-twsi-panel="capital"] > .twsi-cap-subnav,
.twsi-terminal-panel[data-twsi-panel="capital"] > .twsi-cap-terminal{
    width:min(1020px,100%)!important;
    max-width:1020px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
}

/* Override the earlier 1276px rule completely. */
[data-twsi-panel="capital"]{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
}

@media (min-width:1100px){
    [data-twsi-panel="capital"]{
        max-width:none!important;
    }
    .twsi-terminal-panel[data-twsi-panel="capital"] > .twsi-cap-subnav,
    .twsi-terminal-panel[data-twsi-panel="capital"] > .twsi-cap-terminal{
        max-width:1020px!important;
    }
}


/* =========================================================
   v3.29 — LIVE VISUAL INTELLIGENCE
========================================================= */
.twsi-live-command-zone{width:min(1020px,100%);margin:7px auto 0;background:#000;border:1px solid #30383e;border-bottom:0}
.twsi-live-command{height:35px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;padding:0 8px;border-bottom:1px solid #30383e}
.twsi-live-command-mark{color:#ff9b00;font:700 11px/1 monospace}.twsi-live-command input{height:25px;background:#030506;border:1px solid #30383e;color:#e7ebee;padding:0 8px;font:11px monospace;outline:none}.twsi-live-command input:focus{border-color:#ff9b00}.twsi-live-command button{height:25px;background:#0b1116;border:1px solid #3b444a;color:#29a9f3;font-size:9px;cursor:pointer}.twsi-live-command small{color:#707a82;font-size:8px}
.twsi-investor-lens-strip{display:grid;grid-template-columns:repeat(6,1fr);min-height:52px}
.twsi-investor-lens-strip button{background:#000;border:0;border-right:1px solid #292f34;color:#cbd0d4;padding:7px 8px;text-align:left;cursor:pointer;min-width:0}.twsi-investor-lens-strip button:last-child{border-right:0}.twsi-investor-lens-strip button:hover{background:#07111a}.twsi-investor-lens-strip span,.twsi-investor-lens-strip strong,.twsi-investor-lens-strip em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.twsi-investor-lens-strip span{font-size:8px;color:#8d969d}.twsi-investor-lens-strip strong{font-size:13px;font-weight:400;margin:2px 0}.twsi-investor-lens-strip em{font-size:7px;color:#ff9b00;font-style:normal}.twsi-investor-lens-strip .pos strong{color:#55e32e}.twsi-investor-lens-strip .neg strong{color:#ff5547}
.twsi-terminal-tab--live{color:#ff9b00!important}
.twsi-terminal-live{background:#000!important;padding:0!important}.twsi-live-workspace{width:min(1020px,100%);margin:0 auto;border-left:1px solid #394147;border-right:1px solid #394147;border-bottom:1px solid #394147;background:#000;color:#dbe0e3;font:10px/1.3 Arial,Helvetica,sans-serif}
.twsi-live-headbar{height:43px;display:grid;grid-template-columns:1fr auto 300px;align-items:center;padding:0 9px;border-bottom:1px solid #374046}.twsi-live-headbar>div:first-child strong,.twsi-live-headbar>div:first-child span{display:block}.twsi-live-headbar strong{font-weight:400}.twsi-live-headbar>div:first-child strong{color:#00d6e4;font-size:14px}.twsi-live-headbar>div:first-child span{font-size:9px;color:#89939a}.twsi-live-quote{font-size:14px}.twsi-live-quote b{font-weight:400}.twsi-live-quote span{margin-left:8px}.twsi-live-quote .pos{color:#52e329}.twsi-live-quote .neg{color:#ff5145}
.twsi-live-controls{display:flex;justify-content:flex-end;align-items:center;gap:4px}.twsi-live-controls button{height:25px;background:#050708;border:1px solid #374046;color:#b9c0c5;font-size:9px;cursor:pointer}.twsi-live-controls button:hover{color:#ff9b00;border-color:#ff9b00}.twsi-live-controls strong{min-width:60px;text-align:center;color:#ff9b00}
.twsi-live-nav{display:flex;overflow-x:auto;height:33px;border-bottom:1px solid #374046}.twsi-live-nav button{min-width:max-content;padding:0 13px;background:#000;border:0;border-bottom:2px solid transparent;color:#939ca3;font-size:9px;cursor:pointer}.twsi-live-nav button.active{color:#ff9b00;border-bottom-color:#ff9b00}
.twsi-live-view{display:none}.twsi-live-view.active{display:block}.twsi-live-section-title{height:33px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border-bottom:1px solid #333b40}.twsi-live-section-title strong{font-size:11px;color:#1ba4ef;font-weight:400}.twsi-live-section-title span{font-size:8px;color:#838c93}
.twsi-live-dashboard-grid{display:grid;grid-template-columns:1fr 1fr}.twsi-live-box{min-height:260px;border-right:1px solid #343c41;border-bottom:1px solid #343c41;min-width:0}.twsi-live-box.wide{grid-column:1/-1;min-height:auto}.twsi-live-box>header,.twsi-quality-grid section>header,.twsi-expectation-box>header{height:30px;display:flex;align-items:center;padding:0 9px;color:#1ca7ef;border-bottom:1px solid #333b40;font-size:10px}
.twsi-what-changed{display:grid;grid-template-columns:repeat(6,1fr)}.twsi-what-changed button{min-height:80px;background:#000;border:0;border-right:1px solid #292f34;color:#cfd4d8;cursor:pointer}.twsi-what-changed button:hover{background:#07111a}.twsi-what-changed span,.twsi-what-changed strong,.twsi-what-changed em{display:block}.twsi-what-changed strong{font-size:15px;font-weight:400;margin:5px 0}.twsi-what-changed .pos{color:#54e12e}.twsi-what-changed .neg{color:#ff5547}.twsi-what-changed em{color:#ff9b00;font-size:8px;font-style:normal}
.twsi-live-chart{height:220px;position:relative;padding:2px 5px}.twsi-live-chart.large{height:240px}.twsi-live-chart svg{width:100%;height:100%}.twsi-live-chart .grid{stroke:#20272c;stroke-width:1}.twsi-live-chart .axis{fill:#7f8990;font-size:8px}.twsi-live-chart .series{fill:none;stroke-width:2}.twsi-live-chart .series.blue{stroke:#277cf5}.twsi-live-chart .series.orange{stroke:#f18b00}.twsi-live-chart .series.green{stroke:#4bad43}.twsi-live-chart .series.purple{stroke:#8e56a6}.twsi-live-chart .series.cyan{stroke:#00acbf}.twsi-live-chart .point.blue{fill:#277cf5}.twsi-live-chart .point.orange{fill:#f18b00}.twsi-live-chart .point.green{fill:#4bad43}.twsi-live-chart .point.purple{fill:#8e56a6}.twsi-live-chart .point.cyan{fill:#00acbf}.twsi-live-chart .bar.blue{fill:#145cc7}.twsi-live-chart .bar.orange{fill:#dd7800}.twsi-live-chart .cross{stroke:#a8b0b5;stroke-dasharray:2 2}.twsi-live-chart-tip{display:none;position:absolute;top:8px;z-index:20;min-width:145px;padding:6px 8px;border:1px solid #69737a;background:#030506;box-shadow:0 8px 24px #000;color:#dce1e4}.twsi-live-chart-tip strong{display:block;color:#ff9b00;margin-bottom:4px}.twsi-live-chart-tip span{display:flex;justify-content:space-between;gap:10px}
.twsi-growth-profit{height:230px;position:relative;background-image:linear-gradient(#20272c 1px,transparent 1px),linear-gradient(90deg,#20272c 1px,transparent 1px);background-size:25% 25%;margin:12px}.twsi-growth-profit:before,.twsi-growth-profit:after{content:"";position:absolute;background:#4c555c}.twsi-growth-profit:before{left:50%;top:0;bottom:0;width:1px}.twsi-growth-profit:after{top:50%;left:0;right:0;height:1px}.twsi-growth-profit button{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);background:transparent;border:0;color:#aeb5ba;cursor:pointer}.twsi-growth-profit button i{display:block;width:9px;height:9px;border-radius:50%;background:#277cf5;margin:auto;box-shadow:0 0 0 3px rgba(39,124,245,.15)}.twsi-growth-profit button span{font-size:8px}.twsi-growth-profit button em{display:none;position:absolute;left:12px;top:-5px;width:140px;padding:5px;background:#050708;border:1px solid #545d64;font-size:8px;font-style:normal}.twsi-growth-profit button:hover em{display:block}
.twsi-playback-years{display:grid;grid-template-columns:repeat(7,1fr);padding:10px}.twsi-playback-years button{height:34px;background:#050708;border:1px solid #30383e;color:#929ca3;cursor:pointer}.twsi-playback-years button.active,.twsi-playback-years button:hover{color:#ff9b00;border-color:#ff9b00;background:#0b1014}.twsi-live-note{padding:9px 11px;color:#838d94;border-top:1px solid #282f34;font-size:9px}
.twsi-fin-flow{display:flex;align-items:center;justify-content:center;gap:12px;min-height:165px;padding:18px}.twsi-fin-flow.second{border-top:1px solid #30383e}.twsi-fin-flow>i{font-style:normal;font-size:25px;color:#68727a}.twsi-flow-node{min-width:160px;padding:18px 12px;border:1px solid #3b444a;background:#040607;text-align:center;transition:.25s}.twsi-flow-node:hover{transform:translateY(-3px);border-color:#ff9b00}.twsi-flow-node span,.twsi-flow-node strong{display:block}.twsi-flow-node span{color:#9ba4aa}.twsi-flow-node strong{font-size:18px;font-weight:400;margin-top:7px}.twsi-flow-node.blue strong{color:#2785f7}.twsi-flow-node.cyan strong{color:#00c5d8}.twsi-flow-node.orange strong{color:#f18b00}.twsi-flow-node.green strong{color:#58d33a}
.twsi-flow-bars{padding:10px 15px 16px}.twsi-flow-bars>div{display:grid;grid-template-columns:160px 1fr 70px;align-items:center;gap:8px;min-height:27px}.twsi-flow-bars i{height:6px;background:#151b1f}.twsi-flow-bars u{display:block;height:100%;background:#277cf5}.twsi-flow-bars b{text-align:right;font-weight:400}
.twsi-cap-flow-source{width:220px;margin:25px auto 10px;padding:15px;text-align:center;border:1px solid #2d8ee9}.twsi-cap-flow-source span,.twsi-cap-flow-source strong{display:block}.twsi-cap-flow-source strong{font-size:19px;font-weight:400;color:#2d8ee9;margin-top:5px}.twsi-cap-flow-lines{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:25px 12px}.twsi-cap-flow-lines>div{text-align:center;position:relative;padding-top:30px}.twsi-cap-flow-lines i{position:absolute;top:0;left:50%;width:1px;height:24px;background:#555}.twsi-cap-flow-lines span,.twsi-cap-flow-lines strong,.twsi-cap-flow-lines em{display:block}.twsi-cap-flow-lines strong{font-size:15px;font-weight:400;margin:6px 0}.twsi-cap-flow-lines em{font-size:8px;color:#8e989f;font-style:normal}.twsi-cap-flow-lines .orange strong{color:#f18b00}.twsi-cap-flow-lines .blue strong{color:#2d84f6}.twsi-cap-flow-lines .green strong{color:#52d23b}.twsi-cap-flow-lines .purple strong{color:#a267be}.twsi-cap-flow-lines .cyan strong{color:#00b5c5}
.twsi-segment-intel{display:grid;grid-template-columns:1.25fr 1fr;min-height:430px}.twsi-segment-list{border-right:1px solid #333b40}.twsi-segment-list button{width:100%;min-height:38px;display:grid;grid-template-columns:1fr 120px 80px;align-items:center;background:#000;border:0;border-bottom:1px solid #242a2e;color:#d1d6d9;text-align:left;padding:0 9px;cursor:pointer}.twsi-segment-list button:hover,.twsi-segment-list button.active{background:#07111a}.twsi-segment-list strong,.twsi-segment-list em{text-align:right;font-weight:400;font-style:normal}.twsi-segment-list em{color:#2e8fee}.twsi-segment-detail{padding:25px}.twsi-segment-detail strong,.twsi-segment-detail span,.twsi-segment-detail small{display:block}.twsi-segment-detail strong{font-size:18px;color:#00cbd8;font-weight:400;margin-bottom:18px}.twsi-segment-detail span{padding:9px 0;border-bottom:1px solid #242a2e}.twsi-segment-detail small{margin-top:16px;color:#7f8990}
.twsi-event-timeline{padding:15px 20px;max-height:360px;overflow:auto}.twsi-event-timeline>div{min-height:36px;display:grid;grid-template-columns:18px 110px 1fr 80px;align-items:center;border-bottom:1px solid #252b2f}.twsi-event-timeline i{width:8px;height:8px;border-radius:50%;background:#2d83f5}.twsi-event-timeline time{color:#8d969d}.twsi-event-timeline strong{font-weight:400}.twsi-event-timeline a{color:#2b90f3}.twsi-expectation-box{margin:0 15px 15px;border:1px solid #343c41}.twsi-expectation-box>strong,.twsi-expectation-box>p{display:block;margin:12px}.twsi-expectation-box>strong{color:#f18b00;font-weight:400}
.twsi-valuation-grid{display:grid;grid-template-columns:repeat(2,1fr)}.twsi-valuation-grid section{border-right:1px solid #343c41;border-bottom:1px solid #343c41;min-width:0}.twsi-valuation-grid section>header{height:29px;padding:0 8px;display:flex;align-items:center;color:#1ba4ef}.twsi-valuation-grid footer{height:28px;display:flex;justify-content:space-around;align-items:center;color:#89939a}.twsi-valuation-grid footer b{color:#dbe0e3;font-weight:400}
.twsi-quality-grid{display:grid;grid-template-columns:.9fr 1.4fr;min-height:440px}.twsi-quality-grid>section{border-right:1px solid #343c41}.twsi-quality-radar{padding:15px}.twsi-quality-radar>div{display:grid;grid-template-columns:110px 1fr 38px;gap:8px;align-items:center;min-height:42px}.twsi-quality-radar i{height:8px;background:#151b1f}.twsi-quality-radar u{display:block;height:100%;background:linear-gradient(90deg,#155fc8,#16a9d8)}.twsi-quality-radar b{text-align:right;font-weight:400}.twsi-quality-radar small{display:block;margin-top:18px;color:#778189}
.twsi-live-empty{min-height:150px;display:flex;align-items:center;justify-content:center;color:#7f8990;text-align:center;padding:20px}
[data-twsi-year].twsi-year-focus{filter:brightness(1.65)!important;text-shadow:0 0 8px rgba(255,157,0,.75)}svg [data-twsi-year].twsi-year-focus{stroke:#ff9b00!important;fill:#ff9b00!important}.twsi-live-flash{animation:twsiLiveFlash .42s ease}@keyframes twsiLiveFlash{0%{background:rgba(42,153,255,.25)}100%{background:transparent}}
.twsi-why-drawer{display:none;position:fixed;inset:0;z-index:1000000}.twsi-why-drawer.open{display:block}.twsi-why-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}.twsi-why-shell{position:absolute;right:0;top:0;bottom:0;width:min(440px,94vw);background:#000;border-left:1px solid #59636a;color:#dce1e4;box-shadow:-20px 0 60px #000}.twsi-why-shell header{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #343c41;color:#ff9b00}.twsi-why-shell header button{background:none;border:0;color:#fff;font-size:22px;cursor:pointer}.twsi-why-shell>div{padding:18px}.twsi-why-shell h3{font-size:18px;font-weight:400}.twsi-why-shell h3 b{float:right}.twsi-why-shell h3 .pos{color:#53e231}.twsi-why-shell h3 .neg{color:#ff5547}.twsi-why-shell p{color:#afb6bb;line-height:1.55}.twsi-why-evidence{margin-top:20px;padding:12px;border:1px solid #343c41}.twsi-why-evidence span,.twsi-why-evidence strong,.twsi-why-evidence small{display:block}.twsi-why-evidence span{color:#1ba4ef;font-size:9px}.twsi-why-evidence strong{font-weight:400;margin:6px 0}.twsi-why-evidence small{color:#7f8990}.twsi-why-go{margin-top:15px;height:30px;background:#0a1116;border:1px solid #2d83f5;color:#2d90f4;cursor:pointer}

@media(max-width:900px){.twsi-investor-lens-strip{grid-template-columns:repeat(3,1fr)}.twsi-live-dashboard-grid,.twsi-quality-grid,.twsi-segment-intel{grid-template-columns:1fr}.twsi-live-box.wide{grid-column:auto}.twsi-what-changed{grid-template-columns:repeat(3,1fr)}.twsi-cap-flow-lines{grid-template-columns:repeat(2,1fr)}.twsi-valuation-grid{grid-template-columns:1fr}.twsi-live-headbar{grid-template-columns:1fr auto}.twsi-live-controls{grid-column:1/-1;justify-content:center;padding-bottom:5px}.twsi-live-headbar{height:auto;min-height:58px}.twsi-fin-flow{overflow-x:auto;justify-content:flex-start}.twsi-flow-node{min-width:140px}}
@media(max-width:600px){.twsi-live-command{grid-template-columns:auto 1fr auto}.twsi-live-command small{display:none}.twsi-investor-lens-strip{grid-template-columns:repeat(2,1fr)}.twsi-what-changed{grid-template-columns:repeat(2,1fr)}.twsi-playback-years{display:flex;overflow-x:auto}.twsi-playback-years button{min-width:70px}.twsi-cap-flow-lines{grid-template-columns:1fr}.twsi-live-nav button{padding:0 10px}.twsi-live-chart{height:190px}}


/* =========================================================
   v3.30 — LIVE INTELLIGENCE DEEPENING
========================================================= */
.twsi-investor-lens-strip .warn strong,.twsi-what-changed .warn{color:#ff9f00}
.twsi-change-ranking{display:grid;grid-template-columns:130px repeat(5,1fr);border-top:1px solid #30383e}
.twsi-change-ranking>span{display:flex;align-items:center;padding:0 8px;color:#7f8990;font-size:8px}
.twsi-change-ranking button{min-height:46px;background:#000;border:0;border-left:1px solid #292f34;color:#d7dcdf;display:grid;grid-template-columns:20px 1fr;grid-template-rows:1fr 1fr;text-align:left;padding:5px 7px;cursor:pointer}
.twsi-change-ranking button:hover{background:#07111a}.twsi-change-ranking button>b{grid-row:1/3;color:#ff9b00;font-weight:400}.twsi-change-ranking button>strong{font-size:8px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.twsi-change-ranking button>em{font-size:9px;font-style:normal}.twsi-change-ranking button>small{font-size:7px;color:#768087}.twsi-change-ranking .pos{color:#54df32}.twsi-change-ranking .neg{color:#ff5547}.twsi-change-ranking .warn{color:#ff9b00}
.twsi-event-price-chart{height:310px;position:relative;padding:8px 10px;border-bottom:1px solid #343c41}.twsi-event-price-chart svg{width:100%;height:100%}.twsi-event-price-chart .price-line{fill:none;stroke:#2d83f5;stroke-width:2}.twsi-event-price-chart .event-line{stroke:#f18b00;stroke-width:.8;stroke-dasharray:3 3;opacity:.55}.twsi-event-price-chart .event-marker circle{fill:#f18b00;stroke:#000;stroke-width:1}.twsi-event-price-chart .event-marker text{fill:#f18b00;font-size:7px}.twsi-event-price-chart .event-marker{cursor:crosshair}.twsi-event-price-chart .axis{fill:#7d878e;font-size:8px}.twsi-event-tip{display:none;position:absolute;top:15px;right:18px;z-index:20;min-width:175px;padding:7px 9px;background:#030506;border:1px solid #59636a;color:#dce1e4;box-shadow:0 9px 25px #000}.twsi-event-tip strong,.twsi-event-tip span{display:flex;justify-content:space-between;gap:12px}.twsi-event-tip strong{display:block;color:#ff9b00;margin-bottom:5px}.twsi-event-tip .pos{color:#55df33}.twsi-event-tip .neg{color:#ff5547}
.twsi-event-reaction-table{overflow:auto;border-bottom:1px solid #343c41}.twsi-event-reaction-table>.head,.twsi-event-reaction-table>div:not(.head):not(.empty){display:grid;grid-template-columns:120px 80px 120px 85px 85px 80px;align-items:center;min-height:31px;border-bottom:1px solid #22292d;padding:0 8px}.twsi-event-reaction-table>.head{color:#929ca3}.twsi-event-reaction-table span,.twsi-event-reaction-table b,.twsi-event-reaction-table em,.twsi-event-reaction-table strong{font-weight:400;font-style:normal;padding:0 6px}.twsi-event-reaction-table b,.twsi-event-reaction-table em{text-align:right}.twsi-event-reaction-table a{color:#2d8cf3}.twsi-event-reaction-table .pos{color:#54df32}.twsi-event-reaction-table .neg{color:#ff5547}.twsi-event-reaction-table .empty{padding:20px;color:#7f8990}
.twsi-consensus-gate{padding:20px}.twsi-consensus-gate strong{display:block;color:#ff9b00;font-size:13px;font-weight:400}.twsi-consensus-gate p{color:#a9b0b5;max-width:760px;line-height:1.5}.twsi-consensus-gate span{display:inline-block;margin-top:8px;padding:4px 7px;border:1px solid #4a535a;color:#7f8990;font-size:8px}
.twsi-consensus-table{overflow:auto}.twsi-consensus-table>.head,.twsi-consensus-table>div:not(.head){display:grid;grid-template-columns:90px repeat(6,1fr);align-items:center;min-width:850px;min-height:31px;border-bottom:1px solid #242a2e;padding:0 7px}.twsi-consensus-table>.head{color:#8f989f}.twsi-consensus-table span,.twsi-consensus-table b,.twsi-consensus-table em{font-weight:400;font-style:normal;padding:0 5px}.twsi-consensus-table b,.twsi-consensus-table em{text-align:right}.twsi-consensus-table .pos{color:#54df32}.twsi-consensus-table .neg{color:#ff5547}
.twsi-live-quote i{font-style:normal;font-size:7px;color:#737d84;margin-left:8px}.twsi-live-quote.tick-up{animation:twsiTickUp .55s ease}.twsi-live-quote.tick-down{animation:twsiTickDown .55s ease}@keyframes twsiTickUp{0%{background:rgba(64,222,65,.28)}100%{background:transparent}}@keyframes twsiTickDown{0%{background:rgba(255,65,54,.28)}100%{background:transparent}}
.twsi-terminal-tab--live.heartbeat{animation:twsiHeartbeat .45s ease}@keyframes twsiHeartbeat{50%{text-shadow:0 0 11px #23d9e6;color:#fff!important}}.twsi-terminal-tab--live.new-filing:after{content:"NEW";margin-left:5px;color:#ff9b00;font-size:6px;vertical-align:top}
@media(max-width:900px){.twsi-change-ranking{display:flex;overflow-x:auto}.twsi-change-ranking>span{min-width:120px}.twsi-change-ranking button{min-width:165px}.twsi-event-reaction-table>.head,.twsi-event-reaction-table>div:not(.head):not(.empty){min-width:650px}}


/* =========================================================
   v3.30.1 — LIVE LENS DESKTOP LAYOUT HOTFIX
   Fixes collapsed left-column / crushed chart regression.
========================================================= */

/* Main Live Lens panel must behave exactly like the other terminal workspaces. */
.twsi-terminal-panel[data-twsi-panel="live"]{
    display:none;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    box-sizing:border-box!important;
    background:#000!important;
}

.twsi-terminal-panel[data-twsi-panel="live"].is-active{
    display:block!important;
}

/* Keep the live workspace aligned to the same 1020px terminal width used by Financials/Capital. */
.twsi-terminal-panel[data-twsi-panel="live"] > .twsi-live-workspace,
.twsi-live-command-zone{
    width:min(1020px, 100%)!important;
    max-width:1020px!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
}

/* Prevent inherited flex/grid shrink from collapsing the whole workspace. */
.twsi-live-workspace,
.twsi-live-workspace *,
.twsi-live-command-zone,
.twsi-live-command-zone *{
    box-sizing:border-box;
}

.twsi-live-headbar{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:minmax(260px,1fr) minmax(210px,auto) minmax(270px,340px)!important;
}

.twsi-live-nav{
    width:100%!important;
    min-width:0!important;
}

.twsi-live-view{
    width:100%!important;
    min-width:0!important;
}

.twsi-live-view.active{
    display:block!important;
}

/* Dashboard must fill the workspace and use two balanced columns on desktop. */
.twsi-live-dashboard-grid{
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:stretch!important;
}

.twsi-live-box{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    overflow:hidden!important;
}

.twsi-live-box.wide{
    grid-column:1 / -1!important;
}

/* WHAT CHANGED: spread cards across full width instead of squeezing into a left stack. */
.twsi-what-changed{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
}

.twsi-what-changed button{
    min-width:0!important;
    width:100%!important;
    padding:10px 8px!important;
    overflow:hidden!important;
}

.twsi-what-changed span,
.twsi-what-changed strong,
.twsi-what-changed em{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
}

/* Intelligence ranking becomes a proper horizontal strip. */
.twsi-change-ranking{
    width:100%!important;
    display:grid!important;
    grid-template-columns:135px repeat(5,minmax(0,1fr))!important;
    min-width:0!important;
    overflow:hidden!important;
}

.twsi-change-ranking button{
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
}

/* Charts get real usable width/height and cannot collapse. */
.twsi-live-chart,
.twsi-live-chart.large,
.twsi-event-price-chart,
.twsi-growth-profit{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
}

.twsi-live-chart{
    min-height:230px!important;
    height:230px!important;
}

.twsi-live-chart.large{
    min-height:260px!important;
    height:260px!important;
}

.twsi-growth-profit{
    min-height:255px!important;
    height:255px!important;
}

.twsi-live-chart svg,
.twsi-event-price-chart svg{
    width:100%!important;
    height:100%!important;
    display:block!important;
    overflow:visible!important;
}

/* Keep the two dashboard visual panels aligned. */
.twsi-live-dashboard-grid > .twsi-live-box:not(.wide){
    min-height:315px!important;
}

/* Growth × Profitability labels should not force panel expansion. */
.twsi-growth-profit button em{
    z-index:30!important;
}

/* Other Live Lens views also use full workspace width. */
.twsi-fin-flow,
.twsi-flow-bars,
.twsi-cap-flow-lines,
.twsi-segment-intel,
.twsi-event-timeline,
.twsi-event-reaction-table,
.twsi-valuation-grid,
.twsi-quality-grid,
.twsi-consensus-table{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
}

/* Financial-flow cards: don't let them make the whole page overflow. */
.twsi-fin-flow{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
}

.twsi-flow-node{
    flex:0 0 min(190px, 22vw)!important;
    min-width:150px!important;
}

/* Segment / quality layouts need actual horizontal room. */
.twsi-segment-intel{
    grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)!important;
}

.twsi-quality-grid{
    grid-template-columns:minmax(300px,.9fr) minmax(0,1.4fr)!important;
}

/* Event panel. */
.twsi-event-price-chart{
    min-height:320px!important;
    height:320px!important;
}

/* Valuation charts: stable two-column layout. */
.twsi-valuation-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.twsi-valuation-grid section{
    min-width:0!important;
    overflow:hidden!important;
}

/* The global Investor Lens / command area must not define the width of the whole terminal. */
.twsi-live-command-zone{
    display:block!important;
}

.twsi-live-command{
    width:100%!important;
    min-width:0!important;
}

.twsi-investor-lens-strip{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
}

.twsi-investor-lens-strip button{
    min-width:0!important;
    overflow:hidden!important;
}

/* Desktop safeguard: force sane workspace behavior at the viewport shown in the screenshot. */
@media (min-width: 901px){
    .twsi-terminal-panel[data-twsi-panel="live"] > .twsi-live-workspace,
    .twsi-live-command-zone{
        width:min(1020px,calc(100vw - 40px))!important;
        max-width:1020px!important;
    }

    .twsi-live-dashboard-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .twsi-what-changed{
        grid-template-columns:repeat(6,minmax(0,1fr))!important;
    }
}

/* Tablet */
@media (max-width:900px){
    .twsi-live-dashboard-grid{
        grid-template-columns:1fr!important;
    }

    .twsi-live-box.wide{
        grid-column:auto!important;
    }

    .twsi-what-changed{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }

    .twsi-change-ranking{
        display:flex!important;
        overflow-x:auto!important;
    }

    .twsi-change-ranking > span{
        min-width:130px!important;
    }

    .twsi-change-ranking button{
        min-width:165px!important;
    }

    .twsi-quality-grid,
    .twsi-segment-intel{
        grid-template-columns:1fr!important;
    }

    .twsi-valuation-grid{
        grid-template-columns:1fr!important;
    }
}

/* Mobile */
@media (max-width:600px){
    .twsi-terminal-panel[data-twsi-panel="live"] > .twsi-live-workspace,
    .twsi-live-command-zone{
        width:100%!important;
        max-width:100%!important;
    }

    .twsi-what-changed{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .twsi-investor-lens-strip{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .twsi-live-chart,
    .twsi-live-chart.large,
    .twsi-growth-profit{
        height:210px!important;
        min-height:210px!important;
    }
}


/* =========================================================
   v3.31 — COMPARE SECURITIES
========================================================= */
.twsi-terminal-tab--compare{color:#dfe3e6}
.twsi-terminal-panel[data-twsi-panel="compare"]{display:none;width:100%!important;max-width:none!important;padding:0!important;background:#000!important}
.twsi-terminal-panel[data-twsi-panel="compare"].is-active{display:block!important}
.twsi-compare-workspace{width:min(1020px,100%);max-width:1020px;margin:0 auto;background:#000;color:#dce1e4;border:1px solid #3b4349;font:10px/1.25 Arial,Helvetica,sans-serif;box-sizing:border-box;overflow:hidden}
.twsi-compare-header{height:43px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border-bottom:1px solid #363e44}
.twsi-compare-header>div:first-child strong,.twsi-compare-header>div:first-child span{display:block}.twsi-compare-header>div:first-child strong{color:#00d4e3;font-size:14px;font-weight:400}.twsi-compare-header>div:first-child span{font-size:9px;color:#9ba3a9}
.twsi-compare-mode{display:flex}.twsi-compare-mode button,.twsi-compare-rangebar button,.twsi-compare-presets button,.twsi-compare-add button{background:#050708;border:1px solid #343c42;color:#aab2b8;cursor:pointer;font-size:9px;height:27px}.twsi-compare-mode button{padding:0 12px}.twsi-compare-mode button.active,.twsi-compare-rangebar button.active{color:#ff9c00;border-color:#ff9c00}
.twsi-compare-controls{display:grid;grid-template-columns:1fr 360px;gap:10px;align-items:center;min-height:46px;padding:6px 9px;border-bottom:1px solid #343c42}
.twsi-compare-presets{display:flex;align-items:center;gap:5px}.twsi-compare-presets>span{color:#ff9c00;margin-right:4px}.twsi-compare-presets button{padding:0 8px}.twsi-compare-presets button:hover{color:#fff;border-color:#657078}
.twsi-compare-add{display:grid;grid-template-columns:1fr 54px;gap:5px}.twsi-compare-add input{height:27px;background:#020304;border:1px solid #3a4349;color:#e3e7ea;padding:0 7px;font:10px monospace;outline:0}.twsi-compare-add input:focus{border-color:#ff9c00}.twsi-compare-add button{color:#ff9c00}
.twsi-compare-rangebar{min-height:39px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:5px 9px;border-bottom:1px solid #343c42}
.twsi-compare-periods,.twsi-compare-frequency,.twsi-compare-tools{display:flex;align-items:center;gap:3px}.twsi-compare-periods>span,.twsi-compare-frequency>span{color:#929ba2;margin-right:4px}.twsi-compare-periods button{width:37px}.twsi-compare-frequency select{height:27px;background:#050708;border:1px solid #3b444a;color:#e0e4e7;padding:0 20px 0 7px;font-size:9px}.twsi-compare-tools button{padding:0 8px}
.twsi-compare-status{min-height:0;padding:0 9px;color:#8f989e;transition:.2s}.twsi-compare-status.loading,.twsi-compare-status.error{min-height:25px;display:flex;align-items:center;border-bottom:1px solid #30373c}.twsi-compare-status.error{color:#ff5548}
.twsi-compare-table{overflow:auto;border-bottom:1px solid #3a4247}.twsi-compare-table>.head,.twsi-compare-table>div:not(.head){display:grid;grid-template-columns:minmax(210px,1.5fr) 70px repeat(4,minmax(105px,.8fr)) 55px;align-items:center;min-width:900px;min-height:34px;border-bottom:1px solid #242a2f;padding:0 7px}.twsi-compare-table>.head{color:#8f989f;background:#030506}.twsi-compare-table>div.primary{background:#07111b}.twsi-compare-table span{display:grid;grid-template-columns:8px 55px 1fr;gap:6px;align-items:center}.twsi-compare-table span>i{width:7px;height:7px}.twsi-compare-table span>strong{font-weight:400;color:#fff}.twsi-compare-table span>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9aa3a9}.twsi-compare-table b{font-weight:400;text-align:right}.twsi-compare-table em{text-align:right;font-style:normal;color:#667078;font-size:7px}.twsi-compare-table em button{width:20px;height:20px;border:1px solid #3c454b;background:#050708;color:#9da5ab;cursor:pointer}.twsi-compare-table .pos{color:#51df32}.twsi-compare-table .neg{color:#ff5548}
.twsi-compare-chart-shell{position:relative;background:#000;min-height:475px}.twsi-compare-legend{position:absolute;left:13px;top:13px;z-index:8;min-width:205px;padding:8px;background:rgba(2,3,4,.88);border:1px solid #454e55}.twsi-compare-legend span{display:grid;grid-template-columns:8px 48px 1fr;gap:6px;align-items:center;min-height:22px}.twsi-compare-legend i{width:7px;height:7px}.twsi-compare-legend b{font-weight:400;color:#a6aeb4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.twsi-compare-chart{height:475px;position:relative;padding:4px}.twsi-compare-chart svg{display:block;width:100%;height:100%;overflow:visible}.twsi-compare-chart .grid{stroke:#242a2f;stroke-width:1;stroke-dasharray:2 2}.twsi-compare-chart .base100{stroke:#586169;stroke-width:1;stroke-dasharray:4 3}.twsi-compare-chart .axis{fill:#939ca3;font-size:8px}.twsi-compare-chart .series{fill:none;stroke-width:1.8}.twsi-compare-chart .end-dot{stroke:#000;stroke-width:1}.twsi-compare-chart .right-label text{fill:#050607;font-size:8px;font-weight:700}.twsi-compare-chart .cross{stroke:#afb6bb;stroke-width:.8;stroke-dasharray:2 2;pointer-events:none}.twsi-compare-tooltip{display:none;position:absolute;top:15px;z-index:15;min-width:155px;padding:7px 8px;background:#030506;border:1px solid #657078;color:#dfe3e6;box-shadow:0 9px 25px #000}.twsi-compare-tooltip strong{display:block;color:#ff9c00;margin-bottom:5px}.twsi-compare-tooltip span{display:grid;grid-template-columns:8px 1fr auto;gap:5px;align-items:center;min-height:19px}.twsi-compare-tooltip i{width:7px;height:7px}.twsi-compare-tooltip b{font-weight:400}
.twsi-compare-empty{height:100%;display:flex;align-items:center;justify-content:center;color:#7f8990}.twsi-compare-footer{height:29px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border-top:1px solid #30373c;color:#7d878e;font-size:8px}
@media(max-width:900px){.twsi-compare-controls{grid-template-columns:1fr}.twsi-compare-rangebar{grid-template-columns:1fr}.twsi-compare-periods{overflow-x:auto}.twsi-compare-chart{height:390px}.twsi-compare-chart-shell{min-height:390px}}
@media(max-width:600px){.twsi-compare-workspace{width:100%;max-width:100%}.twsi-compare-presets{overflow-x:auto}.twsi-compare-presets button{min-width:max-content}.twsi-compare-add{grid-template-columns:1fr 50px}.twsi-compare-chart{height:340px}.twsi-compare-chart-shell{min-height:340px}.twsi-compare-footer{height:auto;min-height:35px;gap:10px}}

/* v3.32 Charts Hub */
.twsi-charts-hub{width:100%;background:#000;color:#dce1e4;border:1px solid #384148;box-sizing:border-box;font:10px/1.25 Arial,sans-serif}.twsi-charts-head{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid #394148}.twsi-charts-head strong{display:block;color:#00d2df;font-size:14px;font-weight:400}.twsi-charts-head span{color:#89939a;font-size:8px}.twsi-charts-head nav{display:flex;height:100%}.twsi-charts-head nav button{min-width:125px;background:#020304;border:0;border-left:1px solid #30383e;color:#aeb6bb;cursor:pointer;font-size:10px}.twsi-charts-head nav button.active{color:#ff9a00;border-bottom:2px solid #ff9a00}.twsi-charts-view{display:none}.twsi-charts-view.active{display:block}.twsi-charts-view .twsi-compare-workspace{border:0;width:100%;max-width:none}.twsi-pricechart-controls,.twsi-overlay-toolbar{height:39px;display:flex;align-items:center;gap:4px;padding:0 9px;border-bottom:1px solid #343c42}.twsi-pricechart-controls button,.twsi-overlay-toolbar button,.twsi-pricechart-controls select,.twsi-overlay-toolbar select{height:25px;background:#050708;border:1px solid #364047;color:#aeb6bb;font-size:9px;padding:0 8px;cursor:pointer}.twsi-pricechart-controls button.active,.twsi-overlay-toolbar button.active{color:#ff9a00;border-color:#ff9a00}.twsi-pricechart-periods,.twsi-overlay-periods{display:flex;gap:3px;flex:1}.twsi-overlay-toolbar label{margin-left:auto;color:#aeb6bb}.twsi-pricechart-quote{height:42px;display:flex;align-items:center;gap:15px;padding:0 10px;border-bottom:1px solid #2d353b}.twsi-pricechart-quote strong{font-size:20px;font-weight:400}.twsi-pricechart-quote .pos,.twsi-overlay-summary .pos{color:#40e232}.twsi-pricechart-quote .neg{color:#ff4f45}.twsi-hub-chart{height:450px;position:relative;padding:4px;background:#000}.twsi-hub-chart svg{width:100%;height:100%;display:block}.twsi-hub-chart .grid{stroke:#252c31;stroke-width:1;stroke-dasharray:2 2}.twsi-hub-chart .series{fill:none;stroke-width:1.8}.twsi-hub-chart .axis{fill:#90999f;font-size:8px}.twsi-hub-chart .cross{stroke:#aeb5ba;stroke-width:.8;stroke-dasharray:2 2}.twsi-hub-chart .annotation{stroke:#ff9a00;stroke-width:1;stroke-dasharray:3 3}.twsi-hub-chart .annotation-text{fill:#ff9a00;font-size:8px}.twsi-chart-tooltip{display:none;position:absolute;top:12px;z-index:20;min-width:170px;background:#020304;border:1px solid #657078;padding:7px}.twsi-chart-tooltip strong{display:block;color:#ff9a00;margin-bottom:5px}.twsi-chart-tooltip span{display:grid;grid-template-columns:8px 1fr auto;gap:5px;min-height:19px;align-items:center}.twsi-chart-tooltip i{width:7px;height:7px}.twsi-chart-tooltip b{font-weight:400}.twsi-pricechart-stats{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #343c42}.twsi-pricechart-stats div{padding:8px 10px;border-right:1px solid #2d353b}.twsi-pricechart-stats span{display:block;color:#89939a}.twsi-pricechart-stats b{font-size:13px;font-weight:400}.twsi-overlay-layout{display:grid;grid-template-columns:205px 1fr}.twsi-overlay-layout aside{border-right:1px solid #3b4349;padding:9px}.twsi-overlay-layout aside>strong{display:block;color:#00bff0;font-size:11px;margin-bottom:12px}.twsi-overlay-layout aside>small{display:block;color:#89939a;margin:10px 0 5px}.twsi-overlay-layout aside label{display:flex;align-items:center;gap:5px;min-height:24px}.twsi-overlay-layout aside label.unavailable{opacity:.55}.twsi-overlay-layout aside i,.twsi-overlay-legend i,.twsi-overlay-summary i{width:8px;height:8px;display:inline-block}.twsi-overlay-layout aside select{margin-left:auto;background:#050708;border:1px solid #384148;color:#cbd1d5;font-size:8px}.twsi-overlay-layout main{min-width:0}.twsi-overlay-legend{height:30px;display:flex;align-items:center;gap:16px;padding:0 10px;border-bottom:1px solid #2f373d}.twsi-overlay-legend span{display:flex;align-items:center;gap:5px}.twsi-overlay-summary{border-top:1px solid #3a4247}.twsi-overlay-summary>div{display:grid;grid-template-columns:1.4fr repeat(5,1fr);min-height:30px;align-items:center;border-bottom:1px solid #252c31;padding:0 8px}.twsi-overlay-summary .head{color:#89939a}.twsi-overlay-summary span{display:flex;align-items:center;gap:6px}.twsi-overlay-summary b{font-weight:400;text-align:right}.twsi-chart-empty{height:100%;display:flex;align-items:center;justify-content:center;color:#7e888f}@media(max-width:800px){.twsi-charts-head{height:auto;align-items:stretch;flex-direction:column}.twsi-charts-head>div{padding:8px}.twsi-charts-head nav button{min-width:0;flex:1;height:38px}.twsi-overlay-layout{grid-template-columns:1fr}.twsi-overlay-layout aside{border-right:0;border-bottom:1px solid #3b4349}.twsi-hub-chart{height:360px}.twsi-pricechart-controls,.twsi-overlay-toolbar{height:auto;min-height:39px;overflow-x:auto}.twsi-pricechart-periods,.twsi-overlay-periods{min-width:max-content}.twsi-pricechart-stats{grid-template-columns:repeat(2,1fr)}}


/* =========================================================
   v3.32.1 — METRIC OVERLAY MULTI-AXIS FIX
========================================================= */
.twsi-overlay-toolbar #twsi-overlay-track.active{
    color:#ff9a00;
    border-color:#ff9a00;
}
.twsi-hub-chart.overlay{
    height:500px;
    overflow:visible;
}
.twsi-hub-chart.overlay svg{
    overflow:visible;
}
.twsi-hub-chart.overlay .overlay-series{
    stroke-width:1.9;
    vector-effect:non-scaling-stroke;
}
.twsi-hub-chart.overlay .overlay-axis-value{
    fill:#b6bdc2;
    font-size:8px;
}
.twsi-hub-chart.overlay .overlay-axis-title{
    font-size:7px;
    font-weight:700;
}
.twsi-hub-chart.overlay .overlay-axis-title.L1{fill:#ff9700}
.twsi-hub-chart.overlay .overlay-axis-title.L2{fill:#1769ff}
.twsi-hub-chart.overlay .overlay-axis-title.L3{fill:#a744dc}
.twsi-hub-chart.overlay .overlay-axis-title.R1{fill:#f1f3f4}
.twsi-hub-chart.overlay .overlay-axis-title.normalized{fill:#ff9a00}
.twsi-hub-chart.overlay .overlay-edge-label text{
    fill:#050607;
    font-size:7px;
    font-weight:700;
}
.twsi-overlay-legend span small{
    color:#727c83;
    font-size:7px;
    margin-left:2px;
}
.twsi-overlay-summary b small{
    display:block;
    color:#6f7980;
    font-size:7px;
    font-weight:400;
    margin-top:2px;
}
.twsi-overlay-layout aside select:disabled{
    opacity:.65;
}
.twsi-overlay-layout aside label:first-child{
    color:#f1f3f4;
}
.twsi-overlay-layout aside label input:disabled{
    accent-color:#fff;
}
.twsi-chart-tooltip.overlay-tip{
    min-width:205px;
}
@media(max-width:800px){
    .twsi-hub-chart.overlay{
        height:410px;
        overflow-x:auto;
    }
}


/* =========================================================
   v3.32.2 — SMART UNIT-AWARE METRIC OVERLAY
========================================================= */
#twsi-overlay-axes{
    display:flex;
    flex-direction:column;
    gap:0;
}
.twsi-smart-axis-title{
    color:#81909a;
    font-size:9px;
    letter-spacing:.08em;
    padding:8px 0 6px;
}
.twsi-smart-axis-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
    padding:7px 0;
    border-bottom:1px solid #182127;
    font-size:11px;
}
.twsi-smart-axis-row span{
    min-width:0;
    color:#e8edf0;
    white-space:normal;
    line-height:1.25;
}
.twsi-smart-axis-row b{
    color:#ff9a00;
    font-size:9px;
    font-weight:600;
    white-space:nowrap;
}
.twsi-smart-axis-note{
    margin-top:9px;
    padding:8px;
    border:1px solid #253039;
    color:#8fa0aa;
    font-size:9px;
    line-height:1.45;
    background:#050708;
}
.twsi-overlay-layout aside select[data-axis-for]{
    display:none!important;
}


/* =========================================================
   v3.32.3 — METRIC OVERLAY FINAL ARCHITECTURE
   One fundamental family + price in absolute mode.
   Mixed families automatically use indexed comparison.
========================================================= */
.twsi-hub-chart.overlay{
    padding-left:0!important;
    padding-right:0!important;
}
.twsi-hub-chart.overlay .overlay-axis-value{
    font-size:9px!important;
    fill:#9da8af!important;
}
.twsi-hub-chart.overlay .overlay-axis-title{
    font-size:8px!important;
    letter-spacing:.04em;
}
.twsi-hub-chart.overlay .overlay-axis-title.L1{
    fill:#ff9a00!important;
}
.twsi-hub-chart.overlay .overlay-axis-title.R1{
    fill:#f1f3f4!important;
}
.twsi-hub-chart.overlay .overlay-axis-title.normalized{
    fill:#ff9a00!important;
}
.twsi-smart-axis-note.forced{
    border-color:#8c5a00;
    color:#e7b45e;
    background:#100b02;
}
.twsi-smart-axis-row b{
    text-align:right;
}
.twsi-overlay-toolbar label{
    white-space:nowrap;
}
.twsi-overlay-toolbar #twsi-overlay-normalize{
    accent-color:#ff9a00;
}


/* =========================================================
   v3.33 — DATE-ALIGNED METRIC OVERLAY
========================================================= */

/* Independent axes are represented as compact colour-coded rulers above
   the plot, avoiding the unreadable stack of 5-8 physical Y axes. */
.twsi-overlay-axis-strip{
    min-height:42px;
    display:flex;
    align-items:stretch;
    gap:0;
    overflow-x:auto;
    border-bottom:1px solid #2d353a;
    background:#020304;
}
.twsi-overlay-axis-strip>span{
    position:relative;
    min-width:145px;
    flex:1 0 145px;
    display:grid;
    grid-template-columns:8px 1fr;
    grid-template-rows:1fr 1fr;
    gap:1px 6px;
    align-items:center;
    padding:5px 7px;
    border-right:1px solid #242b30;
    color:#cdd3d7;
}
.twsi-overlay-axis-strip>span>i{
    grid-row:1/3;
    width:7px;
    height:24px;
}
.twsi-overlay-axis-strip>span>strong{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9px;
    font-weight:600;
}
.twsi-overlay-axis-strip>span>b{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#8d989f;
    font-size:8px;
    font-weight:400;
}
.twsi-overlay-axis-strip>span.invalid{
    opacity:.65;
}
.twsi-overlay-axis-strip>span.invalid em{
    position:absolute;
    right:5px;
    top:5px;
    color:#ff9a00;
    font-style:normal;
    font-weight:700;
}

/* Series metadata replaces opaque manual axis assignments. */
.twsi-series-meta{
    display:grid;
    grid-template-columns:1fr auto;
    gap:3px 8px;
    padding:8px 0;
    border-bottom:1px solid #20272c;
}
.twsi-series-meta>span{
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
    color:#f0f3f5;
    font-size:10px;
}
.twsi-series-meta>span i{
    width:7px;
    height:7px;
    flex:0 0 7px;
}
.twsi-series-meta>b{
    color:#ff9a00;
    font-size:8px;
    font-weight:500;
    text-align:right;
}
.twsi-series-meta>small,
.twsi-series-meta>em{
    grid-column:1/-1;
    color:#77838b;
    font-size:8px;
    line-height:1.35;
    font-style:normal;
}
.twsi-series-meta>em{
    color:#5f707b;
}

/* The chart now has a top axis-ruler row + the SVG below it. */
.twsi-hub-chart.overlay{
    height:auto!important;
    min-height:500px;
    overflow:visible!important;
}
.twsi-hub-chart.overlay>svg{
    height:440px!important;
    width:100%!important;
    display:block;
}
.twsi-hub-chart.overlay .overlay-series{
    stroke-width:1.8!important;
    vector-effect:non-scaling-stroke;
}
.twsi-hub-chart.overlay .overlay-axis-value{
    font-size:8px!important;
    fill:#aeb6bb!important;
}
.twsi-hub-chart.overlay .overlay-axis-title{
    font-size:8px!important;
    letter-spacing:.03em;
}
.twsi-chart-tooltip.overlay-tip{
    min-width:245px!important;
    max-width:310px;
}
.twsi-chart-tooltip.overlay-tip>span{
    grid-template-columns:8px minmax(120px,1fr) auto!important;
}
.twsi-chart-tooltip.overlay-tip>span>span{
    min-width:0;
    display:flex;
    flex-direction:column;
}
.twsi-chart-tooltip.overlay-tip small{
    display:block;
    color:#65727a;
    font-size:7px;
    margin-top:1px;
}
.twsi-overlay-layout aside label.unavailable{
    opacity:.45;
}
.twsi-overlay-layout aside label.unavailable input{
    cursor:not-allowed;
}
@media(max-width:800px){
    .twsi-overlay-axis-strip>span{
        flex-basis:130px;
        min-width:130px;
    }
    .twsi-hub-chart.overlay>svg{
        min-width:760px;
    }
    .twsi-hub-chart.overlay{
        overflow-x:auto!important;
    }
}


/* =========================================================
   v3.34 — POINT-IN-TIME FUNDAMENTAL MODES
========================================================= */
.twsi-overlay-fundamental-mode{
    height:27px;
    display:flex;
    align-items:center;
    border:1px solid #354048;
    background:#020405;
}
.twsi-overlay-fundamental-mode>span{
    padding:0 7px;
    color:#7f8b93;
    font-size:8px;
    white-space:nowrap;
}
.twsi-overlay-fundamental-mode button{
    height:25px!important;
    min-width:34px;
    padding:0 7px!important;
    border:0!important;
    border-left:1px solid #2d353a!important;
    background:#050708!important;
    color:#aab2b8!important;
    font-size:8px!important;
}
.twsi-overlay-fundamental-mode button.active{
    color:#ff9a00!important;
    background:#120b01!important;
}
.twsi-overlay-axis-strip>span b{
    color:#9ca7ad!important;
}


/* =========================================================
   v3.35 — SYNCHRONIZED MULTI-PANEL OVERLAY
========================================================= */
.twsi-overlay-mode-banner{
    min-height:35px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:0 9px;
    border-bottom:1px solid #313a40;
    background:#020405;
}
.twsi-overlay-mode-banner strong{
    color:#ff9a00;
    font-size:9px;
    font-weight:600;
}
.twsi-overlay-mode-banner span{
    color:#82909a;
    font-size:8px;
}
.twsi-multipanel-wrap{
    width:100%;
    background:#000;
}
.twsi-sync-panel{
    width:100%;
    border-bottom:1px solid #30383e;
    background:#000;
}
.twsi-sync-panel>header{
    height:26px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 9px;
    border-bottom:1px solid #20272c;
}
.twsi-sync-panel>header strong{
    color:#1aa9f0;
    font-size:9px;
    font-weight:500;
}
.twsi-sync-panel>header span{
    color:#76838b;
    font-size:8px;
}
.twsi-sync-panel svg{
    display:block;
    width:100%;
    height:155px;
}
.twsi-sync-panel .panel-axis-value{
    fill:#9da7ad;
    font-size:8px;
}
.twsi-sync-panel .overlay-series{
    stroke-width:1.8!important;
    vector-effect:non-scaling-stroke;
}
.twsi-sync-panel .shared-cross,
.twsi-normalized-overlay-svg .shared-cross{
    stroke:#c1c7cb;
    stroke-width:.8;
    stroke-dasharray:3 3;
    pointer-events:none;
}
.twsi-normalized-overlay-svg{
    display:block;
    width:100%;
    height:470px!important;
}
.twsi-normalization-warnings{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    padding:6px 9px;
    border-bottom:1px solid #342b1c;
    background:#0c0802;
}
.twsi-normalization-warnings span{
    color:#d6a453;
    font-size:8px;
}
.twsi-normalization-warnings i{
    display:inline-block;
    width:7px;
    height:7px;
    margin-right:5px;
}
.twsi-hub-chart.overlay{
    min-height:0!important;
    height:auto!important;
}
.twsi-hub-chart.overlay .twsi-chart-tooltip.overlay-tip{
    position:absolute;
    z-index:40;
}
@media(max-width:800px){
    .twsi-sync-panel svg,
    .twsi-normalized-overlay-svg{
        min-width:760px;
    }
    .twsi-multipanel-wrap{
        overflow-x:auto;
    }
}


/* =========================================================
   v3.36 — TWSI LIVE MARKET LANDING
========================================================= */
.twsi-market-hidden{display:none!important}
.twsi-market-landing{
    width:min(1160px,100%);
    margin:0 auto 18px;
    border:1px solid #343c42;
    background:#000;
    color:#dce1e4;
    font:10px/1.25 Arial,Helvetica,sans-serif;
    position:relative;
}
.twsi-market-topbar,.twsi-market-subbar,.twsi-market-footer{
    display:flex;align-items:center;justify-content:space-between
}
.twsi-market-topbar{height:42px;padding:0 10px;border-bottom:1px solid #343c42}
.twsi-market-brand strong{display:block;color:#ff9a00;font-size:12px;letter-spacing:.08em}
.twsi-market-brand span{display:block;color:#76828a;font-size:8px;margin-top:2px}
.twsi-market-clock{display:flex;align-items:center;gap:7px}
.twsi-market-clock i{width:7px;height:7px;border-radius:50%;background:#777}
.twsi-market-clock i.open{background:#39d353;box-shadow:0 0 8px #39d353}
.twsi-market-clock i.closed{background:#ff9a00}
.twsi-market-clock strong{font-size:9px;font-weight:500}.twsi-market-clock span{color:#78838a}
.twsi-market-nav{height:33px;display:flex;align-items:stretch;overflow-x:auto;border-bottom:1px solid #30383e}
.twsi-market-nav button,.twsi-market-view-controls button,.twsi-market-subbar button{
    background:#020405;border:0;border-right:1px solid #252c31;color:#aab2b8;padding:0 11px;font-size:9px;cursor:pointer;white-space:nowrap
}
.twsi-market-nav button.active,.twsi-market-view-controls button.active{color:#ff9a00;background:#0b0b0b;border-bottom:2px solid #ff9a00}
.twsi-market-command{display:grid;grid-template-columns:1fr auto;gap:10px;padding:7px 9px;border-bottom:1px solid #30383e}
.twsi-market-search{display:grid;grid-template-columns:1fr 96px;gap:5px}
.twsi-market-search input{height:29px;background:#020405;border:1px solid #3b444a;color:#fff;padding:0 8px;outline:0;font:10px monospace}
.twsi-market-search input:focus{border-color:#ff9a00}
.twsi-market-search button{background:#130c00;border:1px solid #8e5c00;color:#ff9a00;font-size:9px;cursor:pointer}
.twsi-market-view-controls{display:flex;align-items:center;gap:4px}
.twsi-market-view-controls select{height:29px;background:#020405;border:1px solid #3b444a;color:#dbe0e3;padding:0 7px;font-size:9px}
.twsi-market-view-controls button{height:29px;border:1px solid #343d43}
.twsi-market-index-strip{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid #30383e}
.twsi-market-index-strip button{min-width:0;height:65px;background:#000;border:0;border-right:1px solid #252c31;color:#fff;text-align:left;padding:7px;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto 25px}
.twsi-market-index-strip button>span{color:#8e989f;font-size:8px}.twsi-market-index-strip button>strong{font-size:12px;font-weight:400}.twsi-market-index-strip button>b{text-align:right;font-weight:400}.twsi-market-index-strip button>em{grid-column:1/-1;height:24px}
.twsi-market-subbar{height:34px;padding:0 9px;border-bottom:1px solid #30383e}
.twsi-market-subbar>div{display:flex;align-items:center;gap:9px}.twsi-market-subbar strong{font-size:9px}.twsi-market-subbar span{color:#758089;font-size:8px}.twsi-market-subbar button{height:24px;border:1px solid #343d43}
.twsi-market-table-wrap{min-height:475px}
.twsi-market-table{width:100%;overflow:auto}
.twsi-market-table>.head,.twsi-market-table>.row{display:grid;grid-template-columns:32px 62px minmax(190px,1.6fr) 82px 72px 72px 78px 72px 120px 100px;align-items:center;min-width:970px}
.twsi-market-table>.head{height:30px;background:#050708;border-bottom:1px solid #343c42;color:#8b959c}
.twsi-market-table>.head button{background:transparent;border:0;color:#8b959c;text-align:left;font-size:8px;cursor:pointer}
.twsi-market-table>.row{height:31px;border-bottom:1px solid #20262b}
.twsi-market-table>.row:hover{background:#071018}
.twsi-market-table>.row>*{padding:0 7px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.twsi-market-table .ticker,.twsi-market-table .company{border:0;background:transparent;text-align:left;cursor:pointer}
.twsi-market-table .ticker{color:#ff9a00;font-weight:600}.twsi-market-table .company{color:#d8dde0}
.twsi-market-table strong{font-weight:400;text-align:right}.twsi-market-table .pos,.twsi-market-index-strip .pos{color:#4ddd39}.twsi-market-table .neg,.twsi-market-index-strip .neg{color:#ff5047}
.twsi-market-spark{width:92px;height:24px}.twsi-market-spark polyline{fill:none;stroke-width:1.2}.twsi-market-spark.up polyline{stroke:#47d13f}.twsi-market-spark.down polyline{stroke:#ff4f45}.twsi-market-no-trace{font-size:7px;color:#515c63}
.twsi-market-heatmap{display:none;grid-template-columns:repeat(8,1fr);gap:2px;padding:4px}
.twsi-market-heatmap button{aspect-ratio:1.35;background:#06130a;border:1px solid #26332a;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center}
.twsi-market-heatmap button.down{background:#180706;border-color:#3a1c19}.twsi-market-heatmap strong{font-size:12px}.twsi-market-heatmap span{font-size:10px;margin-top:2px}.twsi-market-heatmap small{font-size:7px;color:#9ca4a9;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.twsi-market-board{display:none;grid-template-columns:repeat(5,1fr);gap:1px;background:#20262b;padding:1px}
.twsi-market-board button{height:70px;background:#000;border:0;color:#fff;padding:7px;text-align:left;display:grid;grid-template-columns:1fr auto;cursor:pointer}.twsi-market-board strong{color:#ff9a00}.twsi-market-board b{font-weight:400}.twsi-market-board span{grid-column:2;text-align:right}.twsi-market-board small{grid-column:1/-1;height:24px}
.twsi-market-footer{height:28px;padding:0 9px;border-top:1px solid #30383e;color:#6f7a81;font-size:8px}
.twsi-market-menu{position:fixed;z-index:99999;width:160px;background:#050708;border:1px solid #566169;box-shadow:0 10px 35px #000;padding:3px}
.twsi-market-menu button{display:block;width:100%;height:28px;border:0;background:#050708;color:#dce1e4;text-align:left;padding:0 8px;font-size:9px;cursor:pointer}.twsi-market-menu button:hover{background:#101820;color:#ff9a00}
.twsi-back-to-market{position:absolute;right:10px;top:8px;z-index:4;height:25px;background:#020405;border:1px solid #3c454b;color:#ff9a00;font-size:8px;cursor:pointer}
.twsi-dashboard-header{position:relative}
@media(max-width:900px){.twsi-market-command{grid-template-columns:1fr}.twsi-market-index-strip{grid-template-columns:repeat(3,1fr)}.twsi-market-heatmap{grid-template-columns:repeat(4,1fr)}.twsi-market-board{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.twsi-market-index-strip{grid-template-columns:repeat(2,1fr)}.twsi-market-view-controls{overflow-x:auto}.twsi-market-heatmap{grid-template-columns:repeat(2,1fr)}.twsi-market-board{grid-template-columns:repeat(2,1fr)}.twsi-market-footer{height:auto;min-height:36px;gap:8px}}
\n\n/* =========================================================\n   v3.36.1 — LIVE MARKET COLOR CONTRAST\n   Stronger terminal green/red for immediate direction reading.\n========================================================= */\n.twsi-market-table .pos,\n.twsi-market-index-strip .pos,\n.twsi-market-board .up>span{\n    color:#20e83a!important;\n    text-shadow:0 0 5px rgba(32,232,58,.18);\n}\n.twsi-market-table .neg,\n.twsi-market-index-strip .neg,\n.twsi-market-board .down>span{\n    color:#ff3b32!important;\n    text-shadow:0 0 5px rgba(255,59,50,.16);\n}\n.twsi-market-spark.up polyline{stroke:#24df3b!important}\n.twsi-market-spark.down polyline{stroke:#ff4037!important}\n\n.twsi-market-heatmap button.up{\n    background:#092811!important;\n    border-color:#1d6d2d!important;\n    box-shadow:inset 0 0 18px rgba(31,190,62,.05);\n}\n.twsi-market-heatmap button.down{\n    background:#32100f!important;\n    border-color:#8c2b27!important;\n    box-shadow:inset 0 0 18px rgba(224,54,46,.06);\n}\n.twsi-market-heatmap button.up span{color:#28ed42!important}\n.twsi-market-heatmap button.down span{color:#ff4339!important}\n.twsi-market-heatmap button.up:hover{\n    background:#0d3b19!important;\n    border-color:#2aa747!important;\n}\n.twsi-market-heatmap button.down:hover{\n    background:#451513!important;\n    border-color:#c13b34!important;\n}\n.twsi-market-board button.up{border-left:2px solid #1edb39!important}\n.twsi-market-board button.down{border-left:2px solid #ff3f36!important}\n

/* =========================================================
   v3.36.2 — HEATMAP INTENSITY
   Saturated red/green cells with magnitude-driven intensity.
   0% remains dark; larger moves approach full terminal colour.
========================================================= */
.twsi-market-heatmap button.up{
    background:rgba(0, 138, 46, var(--heat-alpha, .55))!important;
    border-color:rgba(0, 255, 82, var(--heat-border, .70))!important;
    box-shadow:
        inset 0 0 26px rgba(0,255,82,calc(var(--mag, .4) * .20)),
        0 0 0 1px rgba(0,255,82,.04)!important;
}
.twsi-market-heatmap button.down{
    background:rgba(178, 22, 22, var(--heat-alpha, .55))!important;
    border-color:rgba(255, 58, 48, var(--heat-border, .70))!important;
    box-shadow:
        inset 0 0 26px rgba(255,40,32,calc(var(--mag, .4) * .18)),
        0 0 0 1px rgba(255,40,32,.04)!important;
}
.twsi-market-heatmap button.up span{
    color:#39ff68!important;
    font-weight:700;
    text-shadow:0 0 7px rgba(0,255,80,.28);
}
.twsi-market-heatmap button.down span{
    color:#ff5148!important;
    font-weight:700;
    text-shadow:0 0 7px rgba(255,48,40,.25);
}
.twsi-market-heatmap button.up:hover{
    background:rgba(0, 170, 52, .92)!important;
    border-color:#22ff67!important;
}
.twsi-market-heatmap button.down:hover{
    background:rgba(205, 25, 25, .92)!important;
    border-color:#ff5148!important;
}
.twsi-market-heatmap button strong{
    text-shadow:0 1px 2px rgba(0,0,0,.85);
}
.twsi-market-heatmap button small{
    color:#d3d9dc!important;
    text-shadow:0 1px 2px rgba(0,0,0,.9);
}


/* =========================================================
   v3.36.3 — NEAR-LIVE HEATMAP + NON-DESTRUCTIVE HOVER
========================================================= */

/*
 * Heatmap colour = market move, never hover state.
 * Hover keeps the exact tile fill and only adds an outline.
 */
.twsi-market-heatmap button.up:hover,
.twsi-market-heatmap button.down:hover{
    background:inherit!important;
    filter:none!important;
    transform:none!important;
    outline:2px solid rgba(255,255,255,.72)!important;
    outline-offset:-2px!important;
}

/* Override inherited earlier hover fills while preserving magnitude variables. */
.twsi-market-heatmap button.up,
.twsi-market-heatmap button.up:hover{
    background:rgba(0,150,48,var(--heat-alpha,.60))!important;
    border-color:rgba(20,255,92,var(--heat-border,.74))!important;
}
.twsi-market-heatmap button.down,
.twsi-market-heatmap button.down:hover{
    background:rgba(190,24,22,var(--heat-alpha,.60))!important;
    border-color:rgba(255,67,55,var(--heat-border,.74))!important;
}

/* Brief quote-change flash only when price actually changes. */
.twsi-market-heatmap button.market-tick-up,
.twsi-market-table .row.market-tick-up{
    animation:twsiMarketTickUp .52s ease;
}
.twsi-market-heatmap button.market-tick-down,
.twsi-market-table .row.market-tick-down{
    animation:twsiMarketTickDown .52s ease;
}
@keyframes twsiMarketTickUp{
    0%{box-shadow:inset 0 0 0 2px #67ff82,0 0 18px rgba(30,255,78,.42)}
    100%{box-shadow:inset 0 0 0 0 rgba(30,255,78,0),0 0 0 rgba(30,255,78,0)}
}
@keyframes twsiMarketTickDown{
    0%{box-shadow:inset 0 0 0 2px #ff7168,0 0 18px rgba(255,60,45,.42)}
    100%{box-shadow:inset 0 0 0 0 rgba(255,60,45,0),0 0 0 rgba(255,60,45,0)}
}


/* =========================================================
   v3.37 — GLOBAL MARKET SESSIONS
========================================================= */
.twsi-market-sessions{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-bottom:1px solid #30383e;
    background:#020405;
}
.twsi-market-sessions button{
    min-height:42px;
    border:0;
    border-right:1px solid #2b3338;
    background:#020405;
    color:#9aa4aa;
    cursor:pointer;
    padding:6px 10px;
    text-align:left;
}
.twsi-market-sessions button:last-child{border-right:0}
.twsi-market-sessions button strong{
    display:block;
    font-size:10px;
    font-weight:500;
    letter-spacing:.04em;
}
.twsi-market-sessions button span{
    display:block;
    margin-top:3px;
    font-size:8px;
    color:#68757d;
}
.twsi-market-sessions button span.open{color:#48df42}
.twsi-market-sessions button.active{
    background:#0b0b0b;
    color:#ff9a00;
    box-shadow:inset 0 -2px 0 #ff9a00;
}
.twsi-market-sessions button.active span.open{color:#48df42}
.twsi-market-sessions button.active span.closed{color:#9aa4aa}
.twsi-market-coverage-toast{
    position:absolute;
    left:50%;
    bottom:42px;
    transform:translateX(-50%);
    width:min(520px,calc(100% - 24px));
    z-index:80;
    padding:10px 12px;
    border:1px solid #805700;
    background:#120d03;
    box-shadow:0 12px 28px rgba(0,0,0,.55);
}
.twsi-market-coverage-toast strong{
    display:block;
    color:#ff9a00;
    font-size:10px;
    margin-bottom:4px;
}
.twsi-market-coverage-toast span{
    color:#c2c9cd;
    font-size:9px;
    line-height:1.45;
}
@media(max-width:600px){
    .twsi-market-sessions button{padding:6px}
    .twsi-market-sessions button strong{font-size:9px}
    .twsi-market-sessions button span{font-size:7px}
}


/* =========================================================
   v3.38 — GLOBAL SECURITY MASTER SEARCH
========================================================= */
.twsi-market-search{position:relative}
.twsi-global-directory-results{
    position:absolute;left:0;right:101px;top:32px;z-index:120;
    max-height:330px;overflow-y:auto;border:1px solid #505a61;
    background:#020405;box-shadow:0 16px 34px rgba(0,0,0,.72)
}
.twsi-global-directory-results button{
    width:100%;min-height:43px;display:grid;
    grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:8px;
    padding:5px 8px;border:0;border-bottom:1px solid #20282d;
    background:#020405;color:#dce1e4;text-align:left;cursor:pointer
}
.twsi-global-directory-results button:hover{background:#0a1116}
.twsi-global-directory-results strong{color:#ff9a00;font-size:10px}
.twsi-global-directory-results span{
    min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:9px
}
.twsi-global-directory-results small{color:#738089;font-size:8px;white-space:nowrap}
@media(max-width:700px){
    .twsi-global-directory-results{right:0}
    .twsi-global-directory-results button{grid-template-columns:72px 1fr}
    .twsi-global-directory-results small{grid-column:2}
}

.twsi-directory-loading{
    min-height:42px;
    display:flex;
    align-items:center;
    padding:0 10px;
    color:#ff9a00;
    font-size:8px;
    letter-spacing:.05em;
}

.twsi-global-directory-results:not([hidden]){
    display:block!important;
}
.twsi-directory-loading{
    min-height:42px;
    display:flex;
    align-items:center;
    padding:0 10px;
    color:#ff9a00;
    font-size:8px;
    letter-spacing:.04em;
}

.twsi-global-directory-results::before{
    content:"LOCAL GLOBAL SECURITY MASTER";
    display:block;height:22px;line-height:22px;padding:0 8px;
    color:#65737c;font-size:7px;letter-spacing:.08em;
    border-bottom:1px solid #20282d;background:#000;
}


/* =========================================================
   v4.0 — FULLSCREEN / APP-LIKE TERMINAL SHELL
========================================================= */

.twsi-terminal-shellbar{
    width:min(1160px,100%);
    margin:0 auto 8px;
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 10px;
    border:1px solid #323a40;
    background:#020405;
    box-sizing:border-box;
}
.twsi-terminal-shellbrand strong{
    display:block;
    color:#ff9a00;
    font-size:10px;
    letter-spacing:.08em;
}
.twsi-terminal-shellbrand span{
    display:block;
    margin-top:2px;
    color:#68757d;
    font-size:7px;
}
.twsi-terminal-shellactions{
    display:flex;
    align-items:center;
    gap:5px;
}
.twsi-terminal-shellactions button{
    height:26px;
    padding:0 10px;
    border:1px solid #3a444a;
    background:#020405;
    color:#d9dfe2;
    font-size:8px;
    cursor:pointer;
}
.twsi-terminal-shellactions button:hover{
    border-color:#ff9a00;
    color:#ff9a00;
}

/*
 * App shell takeover.
 * Hide common WordPress/theme chrome without requiring theme-specific PHP.
 */
html.twsi-terminal-mode,
body.twsi-terminal-mode{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#000!important;
}
body.twsi-terminal-mode > *:not(.site):not(#page):not(.wp-site-blocks),
body.twsi-terminal-mode .site-header,
body.twsi-terminal-mode header.site-header,
body.twsi-terminal-mode #masthead,
body.twsi-terminal-mode .site-footer,
body.twsi-terminal-mode footer.site-footer,
body.twsi-terminal-mode #colophon,
body.twsi-terminal-mode .entry-header,
body.twsi-terminal-mode .page-header,
body.twsi-terminal-mode .site-breadcrumbs,
body.twsi-terminal-mode .breadcrumbs{
    display:none!important;
}

/*
 * Support classic themes, block themes, and arbitrary page wrappers:
 * make wrappers transparent/full-height and let the analyzer occupy viewport.
 */
body.twsi-terminal-mode #page,
body.twsi-terminal-mode .site,
body.twsi-terminal-mode .site-content,
body.twsi-terminal-mode #content,
body.twsi-terminal-mode .content-area,
body.twsi-terminal-mode main,
body.twsi-terminal-mode .entry-content,
body.twsi-terminal-mode .wp-site-blocks{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    background:#000!important;
}

.twsi-analyzer.twsi-terminal-workspace{
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#000!important;
    display:flex!important;
    flex-direction:column!important;
    box-sizing:border-box!important;
}

/* Shellbar becomes fixed workspace command strip. */
.twsi-analyzer.twsi-terminal-workspace .twsi-terminal-shellbar{
    flex:0 0 38px;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    border-width:0 0 1px!important;
    z-index:20;
}

/*
 * Live Market is a full workspace pane. No document-level scroll.
 * The data area owns its own overflow.
 */
.twsi-analyzer.twsi-terminal-workspace .twsi-market-landing{
    flex:1 1 auto;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
}
.twsi-analyzer.twsi-terminal-workspace .twsi-market-table-wrap{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:auto!important;
}
.twsi-analyzer.twsi-terminal-workspace .twsi-market-table,
.twsi-analyzer.twsi-terminal-workspace .twsi-market-heatmap,
.twsi-analyzer.twsi-terminal-workspace .twsi-market-board{
    min-height:100%;
}

/*
 * Company terminal view: when Live Market is hidden, the company dashboard
 * becomes the scroll container instead of the browser page.
 */
.twsi-analyzer.twsi-terminal-workspace > .twsi-analyzer-header,
.twsi-analyzer.twsi-terminal-workspace > .twsi-search-box{
    flex:0 0 auto;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
}
.twsi-analyzer.twsi-terminal-workspace #twsi-results{
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    overflow:hidden!important;
}
.twsi-analyzer.twsi-terminal-workspace #twsi-dashboard{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
}
.twsi-analyzer.twsi-terminal-workspace .twsi-dashboard-header,
.twsi-analyzer.twsi-terminal-workspace .twsi-summary-strip,
.twsi-analyzer.twsi-terminal-workspace .twsi-main-tabs,
.twsi-analyzer.twsi-terminal-workspace .twsi-sub-tabs,
.twsi-analyzer.twsi-terminal-workspace .twsi-overview-tabs,
.twsi-analyzer.twsi-terminal-workspace .twsi-financial-tabs,
.twsi-analyzer.twsi-terminal-workspace .twsi-capital-tabs{
    flex:0 0 auto!important;
}
.twsi-analyzer.twsi-terminal-workspace .twsi-dashboard-body,
.twsi-analyzer.twsi-terminal-workspace .twsi-tab-content,
.twsi-analyzer.twsi-terminal-workspace .twsi-overview-content,
.twsi-analyzer.twsi-terminal-workspace .twsi-financial-content,
.twsi-analyzer.twsi-terminal-workspace .twsi-capital-content{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:auto!important;
}

/* Prevent wide components from growing the document. */
.twsi-analyzer.twsi-terminal-workspace *{
    box-sizing:border-box;
}
.twsi-analyzer.twsi-terminal-workspace table{
    max-width:100%;
}

/* Fullscreen API mode uses same workspace behavior. */
.twsi-analyzer:fullscreen{
    width:100vw!important;
    height:100vh!important;
    max-width:none!important;
    margin:0!important;
    background:#000!important;
}
.twsi-analyzer:fullscreen .twsi-terminal-shellbar{
    width:100%!important;
    max-width:none!important;
}

/* Smaller screens keep terminal app behavior with internal scrolling. */
@media(max-width:900px){
    .twsi-analyzer.twsi-terminal-workspace .twsi-terminal-shellbrand span{
        display:none;
    }
    .twsi-analyzer.twsi-terminal-workspace .twsi-terminal-shellactions button{
        padding:0 7px;
    }
}

/* v4.0.1 shell-control visibility/cache fix */
.twsi-terminal-shellbar{
    display:flex!important;
    font-family:Arial,Helvetica,sans-serif!important;
}
.twsi-terminal-shellactions button{
    appearance:none!important;
    -webkit-appearance:none!important;
    border-radius:0!important;
    background:#050708!important;
    border:1px solid #48545c!important;
    color:#f3f5f6!important;
    font:600 9px/1 Arial,Helvetica,sans-serif!important;
    letter-spacing:.03em!important;
}
.twsi-terminal-shellactions button:hover{
    color:#ff9a00!important;
    border-color:#ff9a00!important;
}


/* =========================================================
   v4.0.2 — SINGLE VIEWPORT TERMINAL LAYOUT
========================================================= */
html.twsi-terminal-mode,
body.twsi-terminal-mode{
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
}

body.twsi-terminal-mode .twsi-analyzer.twsi-terminal-workspace{
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    background:#020405!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
}

/* Shell bar is fixed-height terminal chrome, not page content. */
.twsi-terminal-workspace .twsi-terminal-shellbar{
    flex:0 0 54px!important;
    min-height:54px!important;
    height:54px!important;
    margin:0!important;
    padding:7px 14px!important;
    box-sizing:border-box!important;
}

/* Market and company are separate screens. */
.twsi-terminal-workspace.twsi-workspace-market #twsi-market-landing{
    display:flex!important;
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    overflow:hidden!important;
    flex-direction:column!important;
    margin:0!important;
}
.twsi-terminal-workspace.twsi-workspace-company #twsi-market-landing{
    display:none!important;
}

/* Hide the old landing/search block once a company is opened. */
.twsi-terminal-workspace.twsi-workspace-company > .twsi-analyzer-header,
.twsi-terminal-workspace.twsi-workspace-company > .twsi-search-box{
    display:none!important;
}

/* Company result area owns every pixel below terminal chrome. */
.twsi-terminal-workspace.twsi-workspace-company .twsi-results{
    display:flex!important;
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    overflow:hidden!important;
    flex-direction:column!important;
    margin:0!important;
    padding:0 14px 10px!important;
    box-sizing:border-box!important;
}

/* Compact company identity/KPI/navigation chrome so content fits in one screen. */
.twsi-terminal-workspace.twsi-workspace-company .twsi-company-header,
.twsi-terminal-workspace.twsi-workspace-company .twsi-company-hero{
    flex:0 0 auto!important;
    margin-top:0!important;
}
.twsi-terminal-workspace.twsi-workspace-company .twsi-company-header{
    padding-top:8px!important;
    padding-bottom:8px!important;
}
.twsi-terminal-workspace.twsi-workspace-company .twsi-kpi-strip,
.twsi-terminal-workspace.twsi-workspace-company .twsi-company-metrics{
    flex:0 0 auto!important;
    margin-top:8px!important;
    margin-bottom:6px!important;
}
.twsi-terminal-workspace.twsi-workspace-company .twsi-terminal-tabs{
    flex:0 0 auto!important;
    margin:0!important;
    position:relative!important;
    z-index:4!important;
}

/* The active research panel is the ONLY vertical scrolling surface. */
.twsi-terminal-workspace.twsi-workspace-company .twsi-terminal-panels,
.twsi-terminal-workspace.twsi-workspace-company .twsi-terminal-content,
.twsi-terminal-workspace.twsi-workspace-company .twsi-company-workspace{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:hidden!important;
}
.twsi-terminal-workspace.twsi-workspace-company .twsi-terminal-panel.active:not([hidden]){
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
}

/* Hidden panels must not reserve page height. */
.twsi-terminal-workspace .twsi-terminal-panel[hidden],
.twsi-terminal-workspace [hidden]{
    display:none!important;
}

/* Market internals scroll instead of the browser/page. */
.twsi-terminal-workspace.twsi-workspace-market .twsi-market-body,
.twsi-terminal-workspace.twsi-workspace-market .twsi-market-results,
.twsi-terminal-workspace.twsi-workspace-market .twsi-market-table-wrap,
.twsi-terminal-workspace.twsi-workspace-market .twsi-market-grid{
    min-height:0!important;
}
.twsi-terminal-workspace.twsi-workspace-market .twsi-market-table-wrap,
.twsi-terminal-workspace.twsi-workspace-market .twsi-market-grid{
    overflow:auto!important;
    overscroll-behavior:contain!important;
}

/* Prevent legacy min-heights/margins from turning the terminal back into a webpage. */
.twsi-terminal-workspace .twsi-results,
.twsi-terminal-workspace .twsi-terminal-panel,
.twsi-terminal-workspace #twsi-market-landing{
    max-width:none!important;
    box-sizing:border-box!important;
}

/* Keep charts responsive to their panel viewport. */
.twsi-terminal-workspace canvas{
    max-width:100%!important;
}



/* =========================================================
   v4.1.0 — TRUE APPLICATION SHELL
   One persistent shell. One active workspace. Zero document scroll.
========================================================= */

:root{
    --twsi-shell-h:46px;
    --twsi-security-h:50px;
    --twsi-primary-nav-h:44px;
}

/* Entry controls remain normal webpage elements until terminal is launched. */
.twsi-analyzer:not(.twsi-terminal-workspace) .twsi-terminal-shellbar{
    width:min(1160px,100%);
}

/* Once launched, WordPress/the theme ceases to own layout. */
html.twsi-terminal-mode,
body.twsi-terminal-mode{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    overscroll-behavior:none!important;
    background:#000!important;
}

body.twsi-terminal-mode .site-header,
body.twsi-terminal-mode #masthead,
body.twsi-terminal-mode header:not(.twsi-security-bar),
body.twsi-terminal-mode .site-footer,
body.twsi-terminal-mode #colophon,
body.twsi-terminal-mode footer,
body.twsi-terminal-mode .entry-header,
body.twsi-terminal-mode .page-header,
body.twsi-terminal-mode .breadcrumbs,
body.twsi-terminal-mode .site-breadcrumbs{
    display:none!important;
}

body.twsi-terminal-mode #page,
body.twsi-terminal-mode .site,
body.twsi-terminal-mode #content,
body.twsi-terminal-mode .site-content,
body.twsi-terminal-mode .content-area,
body.twsi-terminal-mode main,
body.twsi-terminal-mode article,
body.twsi-terminal-mode .entry-content,
body.twsi-terminal-mode .wp-site-blocks{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#000!important;
}

.twsi-analyzer.twsi-terminal-workspace{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    z-index:2147483000!important;
    display:grid!important;
    grid-template-rows:var(--twsi-shell-h) minmax(0,1fr)!important;
    overflow:hidden!important;
    background:#020405!important;
    font-family:Arial,Helvetica,sans-serif!important;
}

/* Persistent terminal chrome. */
.twsi-terminal-workspace .twsi-terminal-shellbar{
    grid-row:1!important;
    width:100%!important;
    max-width:none!important;
    height:var(--twsi-shell-h)!important;
    min-height:var(--twsi-shell-h)!important;
    margin:0!important;
    padding:5px 12px!important;
    border:0!important;
    border-bottom:1px solid #344047!important;
    background:#020405!important;
    box-sizing:border-box!important;
    z-index:100!important;
}

.twsi-terminal-workspace .twsi-terminal-shellbrand span{
    font-size:7px!important;
}
.twsi-terminal-workspace .twsi-terminal-shellactions button{
    height:26px!important;
    padding:0 9px!important;
}

/* Legacy webpage analyser is NEVER part of terminal workspace. */
.twsi-terminal-workspace .twsi-legacy-analyzer-entry,
.twsi-terminal-workspace #twsi-status{
    display:none!important;
}

/* Both application screens occupy the SAME grid cell. They can never stack. */
.twsi-terminal-workspace > .twsi-app-screen{
    grid-row:2!important;
    grid-column:1!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-width:none!important;
    margin:0!important;
    overflow:hidden!important;
    background:#020405!important;
    box-sizing:border-box!important;
}

.twsi-terminal-workspace.twsi-workspace-market #twsi-market-landing{
    display:flex!important;
}
.twsi-terminal-workspace.twsi-workspace-market #twsi-results{
    display:none!important;
}
.twsi-terminal-workspace.twsi-workspace-company #twsi-market-landing{
    display:none!important;
}
.twsi-terminal-workspace.twsi-workspace-company #twsi-results{
    display:grid!important;
}

/* -------------------- LIVE MARKET WORKSPACE -------------------- */
.twsi-terminal-workspace #twsi-market-landing{
    flex-direction:column!important;
    border:0!important;
}
.twsi-terminal-workspace .twsi-market-topbar,
.twsi-terminal-workspace .twsi-market-sessions,
.twsi-terminal-workspace .twsi-market-nav,
.twsi-terminal-workspace .twsi-market-command,
.twsi-terminal-workspace .twsi-market-index-strip,
.twsi-terminal-workspace .twsi-market-subbar,
.twsi-terminal-workspace .twsi-market-footer{
    flex:0 0 auto!important;
}
.twsi-terminal-workspace .twsi-market-table-wrap{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
}

/* -------------------- COMPANY WORKSPACE -------------------- */
.twsi-terminal-workspace #twsi-results{
    grid-template-rows:
        var(--twsi-security-h)
        auto
        auto
        var(--twsi-primary-nav-h)
        minmax(0,1fr)!important;
    min-height:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
}

/* Old large company hero is replaced by a compact security bar. */
.twsi-security-bar{
    grid-row:1;
    min-width:0;
    display:grid;
    grid-template-columns:auto minmax(260px,1fr) auto auto;
    align-items:center;
    gap:12px;
    height:var(--twsi-security-h);
    padding:5px 12px;
    border-bottom:1px solid #313a40;
    background:#020405;
    box-sizing:border-box;
}
.twsi-security-bar .twsi-back-to-market{
    height:28px;
    padding:0 9px;
    border:1px solid #455159;
    background:#020405;
    color:#ff9a00;
    font-size:8px;
    cursor:pointer;
}
.twsi-security-identity{
    min-width:0;
    display:grid;
    grid-template-columns:auto minmax(0,auto);
    align-items:baseline;
    column-gap:8px;
}
.twsi-security-identity strong{
    color:#ff9a00;
    font-size:13px;
    letter-spacing:.04em;
}
.twsi-security-identity span{
    color:#f2f4f5;
    font-size:13px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.twsi-security-identity small{
    grid-column:1/-1;
    color:#7e8a91;
    font-size:7px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.twsi-security-live{
    display:grid;
    grid-template-columns:auto auto;
    gap:2px 8px;
    align-items:baseline;
    text-align:right;
}
.twsi-security-live strong{
    color:#fff;
    font-size:14px;
}
.twsi-security-live span{
    font-size:10px;
}
.twsi-security-live span.positive{color:#20ef55}
.twsi-security-live span.negative{color:#ff4b45}
.twsi-security-live small{
    grid-column:1/-1;
    color:#7e8a91;
    font-size:7px;
}
.twsi-security-filing{
    text-align:right;
}
.twsi-security-filing span{
    display:block;
    color:#ff9a00;
    font-size:7px;
}
.twsi-security-filing strong{
    color:#e9edf0;
    font-size:8px;
}

/* KPI strip stays compact instead of becoming another webpage section. */
.twsi-terminal-workspace #twsi-results > .twsi-kpi-strip{
    grid-row:2!important;
    min-height:58px!important;
    margin:0!important;
    padding:0 8px!important;
    border-left:0!important;
    border-right:0!important;
}
.twsi-terminal-workspace .twsi-kpi-card{
    min-height:56px!important;
    padding:7px 10px!important;
}
.twsi-terminal-workspace .twsi-kpi-card strong{
    font-size:18px!important;
}
.twsi-terminal-workspace .twsi-kpi-label,
.twsi-terminal-workspace .twsi-kpi-sub{
    font-size:7px!important;
}

/* Command/lens becomes a thin terminal command strip, not a tall module. */
.twsi-terminal-workspace #twsi-results > .twsi-live-command-zone{
    grid-row:3!important;
    min-height:35px!important;
    max-height:56px!important;
    overflow:hidden!important;
    margin:0!important;
    padding:3px 8px!important;
}
.twsi-terminal-workspace .twsi-live-command{
    min-height:28px!important;
}
.twsi-terminal-workspace .twsi-investor-lens-strip{
    max-height:24px!important;
    overflow:hidden!important;
}

/* Primary company navigation is persistent. */
.twsi-terminal-workspace #twsi-results > .twsi-terminal-tabs{
    grid-row:4!important;
    height:var(--twsi-primary-nav-h)!important;
    min-height:var(--twsi-primary-nav-h)!important;
    margin:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    border-left:0!important;
    border-right:0!important;
    scrollbar-width:thin;
}
.twsi-terminal-workspace .twsi-terminal-tabs .twsi-terminal-tab{
    min-width:112px!important;
    height:100%!important;
    padding:0 12px!important;
    font-size:10px!important;
}

/* Every primary panel occupies exactly the SAME content row. */
.twsi-terminal-workspace #twsi-results > .twsi-terminal-panel{
    grid-row:5!important;
    grid-column:1!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#020405!important;
    box-sizing:border-box!important;
}
.twsi-terminal-workspace #twsi-results > .twsi-terminal-panel:not(.is-active),
.twsi-terminal-workspace #twsi-results > .twsi-terminal-panel[hidden]{
    display:none!important;
}
.twsi-terminal-workspace #twsi-results > .twsi-terminal-panel.is-active:not([hidden]){
    display:block!important;
}

/* Secondary workspaces use their own fixed header + internal content scroll. */
.twsi-terminal-workspace .twsi-overview-workspace,
.twsi-terminal-workspace .twsi-financials-workspace,
.twsi-terminal-workspace .twsi-capital-workspace,
.twsi-terminal-workspace .twsi-live-workspace,
.twsi-terminal-workspace .twsi-shareholders-workspace,
.twsi-terminal-workspace .twsi-valuation-workspace{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    margin:0!important;
}
.twsi-terminal-workspace .twsi-overview-functions,
.twsi-terminal-workspace .twsi-financial-functions,
.twsi-terminal-workspace .twsi-capital-functions,
.twsi-terminal-workspace .twsi-live-nav{
    flex:0 0 auto!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
}
.twsi-terminal-workspace .twsi-overview-snapshot-band{
    flex:0 0 auto!important;
    max-height:64px!important;
    overflow:hidden!important;
}
.twsi-terminal-workspace .twsi-overview-subpanels,
.twsi-terminal-workspace .twsi-financial-subpanels,
.twsi-terminal-workspace .twsi-capital-subpanels,
.twsi-terminal-workspace .twsi-live-view.active{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
}

/* Only the active subsection exists in layout. */
.twsi-terminal-workspace .twsi-overview-subpanel:not(.is-active),
.twsi-terminal-workspace .twsi-financial-subpanel:not(.active),
.twsi-terminal-workspace .twsi-capital-subpanel:not(.active),
.twsi-terminal-workspace .twsi-live-view:not(.active){
    display:none!important;
}

/* Financial terminal: table area can scroll both axes while terminal stays fixed. */
.twsi-terminal-workspace .twsi-financial-subpanel.active,
.twsi-terminal-workspace .twsi-capital-subpanel.active,
.twsi-terminal-workspace .twsi-overview-subpanel.is-active{
    min-height:0!important;
    max-height:none!important;
    overflow:auto!important;
}

/* Skeleton appears OVER company content rather than pushing it downward. */
.twsi-company-skeleton{
    position:absolute;
    inset:0;
    z-index:80;
    padding:18px;
    background:#020405;
    box-sizing:border-box;
}
.twsi-company-skeleton[hidden]{display:none!important}
.twsi-skeleton-line,
.twsi-skeleton-nav,
.twsi-skeleton-grid i{
    display:block;
    background:linear-gradient(90deg,#0a0e11,#151b1f,#0a0e11);
    background-size:240% 100%;
    animation:twsiSkeleton 1.1s linear infinite;
}
.twsi-skeleton-line{height:16px;width:55%;margin-bottom:10px}
.twsi-skeleton-line--short{width:18%}
.twsi-skeleton-nav{height:38px;margin:18px 0}
.twsi-skeleton-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.twsi-skeleton-grid i{height:140px}
@keyframes twsiSkeleton{to{background-position:-240% 0}}

/* News is a normal application panel. */
.twsi-news-shell{
    height:100%;
    display:flex;
    flex-direction:column;
}
.twsi-module-head{
    flex:0 0 38px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 10px;
    border-bottom:1px solid #2d363c;
}
.twsi-module-head strong{color:#00dff0;font-size:9px}
.twsi-module-head span{color:#78858c;font-size:7px}
.twsi-company-news-stream{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    padding:10px;
}
.twsi-module-empty{
    border:1px solid #252d31;
    padding:16px;
    color:#7c898f;
    font-size:9px;
}

/* Browser fullscreen is the same app shell, not a second layout. */
.twsi-analyzer:fullscreen{
    width:100vw!important;
    height:100dvh!important;
    max-width:none!important;
    background:#020405!important;
}

/* Responsive: collapse chrome instead of shrinking the desktop terminal blindly. */
@media(max-width:900px){
    :root{
        --twsi-shell-h:42px;
        --twsi-security-h:44px;
        --twsi-primary-nav-h:40px;
    }
    .twsi-security-bar{
        grid-template-columns:auto minmax(0,1fr) auto;
        gap:6px;
        padding:4px 7px;
    }
    .twsi-security-filing{display:none!important}
    .twsi-security-identity small{display:none}
    .twsi-terminal-workspace #twsi-results > .twsi-kpi-strip{
        overflow-x:auto!important;
        display:flex!important;
    }
    .twsi-terminal-workspace .twsi-kpi-card{
        min-width:145px!important;
    }
    .twsi-terminal-workspace #twsi-results > .twsi-live-command-zone{
        display:none!important;
    }
    .twsi-terminal-workspace #twsi-results{
        grid-template-rows:
            var(--twsi-security-h)
            auto
            0
            var(--twsi-primary-nav-h)
            minmax(0,1fr)!important;
    }
}

@media(max-width:620px){
    .twsi-terminal-shellbrand span{display:none!important}
    .twsi-security-live{display:none!important}
    .twsi-security-bar{
        grid-template-columns:auto minmax(0,1fr);
    }
    .twsi-terminal-workspace .twsi-market-index-strip{
        overflow-x:auto!important;
    }
}



/* =========================================================
   v4.1.1 — FULL-WIDTH / NO-CROP TERMINAL CORRECTION
   Legacy 1020px workstation caps remain on the normal webpage only.
   Once terminal mode is active, EVERY active module uses the viewport.
========================================================= */

:root{
    --twsi-shell-h:48px;
    --twsi-security-h:60px;
    --twsi-kpi-h:62px;
    --twsi-command-h:67px;
    --twsi-primary-nav-h:44px;
}

/* Terminal root must win over every historical width-cap rule. */
html.twsi-terminal-mode body .twsi-analyzer.twsi-terminal-workspace,
html.twsi-terminal-mode body .twsi-analyzer.twsi-terminal-workspace.is-ratios-terminal,
html.twsi-terminal-mode body .twsi-analyzer.twsi-terminal-workspace.is-financials-terminal{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    min-width:0!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}

/* Company screen: explicit rows — nothing is allowed to overlap/crop the row above it. */
.twsi-terminal-workspace #twsi-results{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:
        var(--twsi-security-h)
        var(--twsi-kpi-h)
        var(--twsi-command-h)
        var(--twsi-primary-nav-h)
        minmax(0,1fr)!important;
    overflow:hidden!important;
}

/* Header gets enough real height for name + description. No clipping. */
.twsi-terminal-workspace .twsi-security-bar{
    width:100%!important;
    max-width:none!important;
    height:var(--twsi-security-h)!important;
    min-height:var(--twsi-security-h)!important;
    overflow:hidden!important;
    padding:7px 13px!important;
}
.twsi-terminal-workspace .twsi-security-identity{
    align-self:center!important;
    line-height:1.12!important;
}
.twsi-terminal-workspace .twsi-security-identity strong,
.twsi-terminal-workspace .twsi-security-identity span{
    line-height:1.12!important;
}
.twsi-terminal-workspace .twsi-security-identity small{
    margin-top:4px!important;
    line-height:1.2!important;
}

/* KPI row uses a fixed row height but its contents FIT inside it. */
.twsi-terminal-workspace #twsi-results > .twsi-kpi-strip{
    grid-row:2!important;
    width:100%!important;
    max-width:none!important;
    height:var(--twsi-kpi-h)!important;
    min-height:var(--twsi-kpi-h)!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
    overflow:hidden!important;
}
.twsi-terminal-workspace .twsi-kpi-card{
    height:100%!important;
    min-height:0!important;
    padding:7px 12px!important;
}
.twsi-terminal-workspace .twsi-kpi-card strong{
    margin:5px 0 2px!important;
    font-size:18px!important;
}

/* Command + investor-lens strip are no longer clipped by max-height. */
.twsi-terminal-workspace #twsi-results > .twsi-live-command-zone{
    grid-row:3!important;
    width:100%!important;
    max-width:none!important;
    height:var(--twsi-command-h)!important;
    min-height:var(--twsi-command-h)!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border-left:0!important;
    border-right:0!important;
}
.twsi-terminal-workspace .twsi-live-command{
    height:34px!important;
    min-height:34px!important;
}
.twsi-terminal-workspace .twsi-investor-lens-strip{
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
}
.twsi-terminal-workspace .twsi-investor-lens-strip button{
    padding:4px 8px!important;
}
.twsi-terminal-workspace .twsi-investor-lens-strip strong{
    font-size:10px!important;
    margin:1px 0!important;
}

/* Primary tabs use entire viewport width. */
.twsi-terminal-workspace #twsi-results > .twsi-terminal-tabs{
    grid-row:4!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:var(--twsi-primary-nav-h)!important;
    min-height:var(--twsi-primary-nav-h)!important;
    margin:0!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
}
.twsi-terminal-workspace .twsi-terminal-tab{
    flex:1 0 105px!important;
    min-width:105px!important;
}

/* Active primary panel owns every remaining pixel. */
.twsi-terminal-workspace #twsi-results > .twsi-terminal-panel.is-active:not([hidden]){
    grid-row:5!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}

/* ---------------------------------------------------------
   REMOVE LEGACY 1020PX CAPS — TERMINAL MODE ONLY
--------------------------------------------------------- */
.twsi-terminal-workspace .twsi-overview-workspace,
.twsi-terminal-workspace .twsi-overview-snapshot-band,
.twsi-terminal-workspace .twsi-overview-subpanels,
.twsi-terminal-workspace .twsi-overview-subpanel,
.twsi-terminal-workspace .twsi-ovx-terminal,
.twsi-terminal-workspace .twsi-ix-terminal,
.twsi-terminal-workspace .twsi-rx-terminal,
.twsi-terminal-workspace .twsi-rev2-terminal,
.twsi-terminal-workspace .twsi-financials-workspace,
.twsi-terminal-workspace .twsi-capital-workspace,
.twsi-terminal-workspace .twsi-cap-subnav,
.twsi-terminal-workspace .twsi-cap-terminal,
.twsi-terminal-workspace .twsi-live-command-zone,
.twsi-terminal-workspace .twsi-live-workspace,
.twsi-terminal-workspace .twsi-compare-workspace,
.twsi-terminal-workspace .twsi-charts-workspace,
.twsi-terminal-workspace .twsi-chart-workspace,
.twsi-terminal-workspace .twsi-price-chart-workspace,
.twsi-terminal-workspace .twsi-overlay-workspace{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
}

/* Old :has() rules capped Overview itself. Override them at higher specificity. */
html.twsi-terminal-mode .twsi-analyzer.twsi-terminal-workspace:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-overview-workspace,
html.twsi-terminal-mode .twsi-analyzer.twsi-terminal-workspace:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-overview-snapshot-band,
html.twsi-terminal-mode .twsi-analyzer.twsi-terminal-workspace:has(.twsi-terminal-tab[data-twsi-tab="overview"].is-active) .twsi-overview-subpanels{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
}

/* Secondary nav is full width; active subsection is the internal scroll surface. */
.twsi-terminal-workspace .twsi-overview-workspace,
.twsi-terminal-workspace .twsi-financials-workspace,
.twsi-terminal-workspace .twsi-capital-workspace,
.twsi-terminal-workspace .twsi-live-workspace{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
}
.twsi-terminal-workspace .twsi-overview-functions,
.twsi-terminal-workspace .twsi-financial-functions,
.twsi-terminal-workspace .twsi-capital-functions,
.twsi-terminal-workspace .twsi-live-nav{
    width:100%!important;
    max-width:none!important;
    flex:0 0 auto!important;
    margin:0!important;
}
.twsi-terminal-workspace .twsi-overview-subpanels,
.twsi-terminal-workspace .twsi-financial-subpanels,
.twsi-terminal-workspace .twsi-capital-subpanels{
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
    max-width:none!important;
    overflow:hidden!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel.is-active,
.twsi-terminal-workspace .twsi-financial-subpanel.active,
.twsi-terminal-workspace .twsi-capital-subpanel.active,
.twsi-terminal-workspace .twsi-live-view.active{
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    height:100%!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
}

/* Ratio workstation now uses the WHOLE SCREEN, not the old 1020px Bloomberg-mock width. */
.twsi-terminal-workspace .twsi-rx-terminal{
    border-left:0!important;
    border-right:0!important;
}
.twsi-terminal-workspace .twsi-rx-grid{
    width:100%!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.twsi-terminal-workspace .twsi-rx-panel{
    min-width:0!important;
}

/* Financials / Capital full viewport. */
.twsi-terminal-workspace .twsi-financials-workspace,
.twsi-terminal-workspace .twsi-capital-workspace{
    border-left:0!important;
    border-right:0!important;
}

/* Charts must size from current viewport instead of their historical 1020px wrapper. */
.twsi-terminal-workspace .twsi-chart-shell,
.twsi-terminal-workspace .twsi-charts-shell,
.twsi-terminal-workspace [data-charts-panel],
.twsi-terminal-workspace [data-twsi-charts-panel]{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
}
.twsi-terminal-workspace svg,
.twsi-terminal-workspace canvas{
    max-width:100%!important;
}

/* Market screen also consumes all remaining width/height. */
.twsi-terminal-workspace #twsi-market-landing{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
}

/* Desktop widths: use space instead of leaving a giant black dead area. */
@media(min-width:1181px){
    .twsi-terminal-workspace .twsi-rx-panel{
        min-height:150px!important;
    }
}

/* Smaller desktop / tablet: still app-like, but switch dense 3-col ratios to 2-col. */
@media(max-width:1180px){
    .twsi-terminal-workspace .twsi-rx-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .twsi-terminal-workspace .twsi-rx-panel:nth-child(3n){
        border-right:1px solid #4b4b4b!important;
    }
    .twsi-terminal-workspace .twsi-rx-panel:nth-child(2n){
        border-right:0!important;
    }
}

@media(max-width:720px){
    :root{
        --twsi-shell-h:42px;
        --twsi-security-h:48px;
        --twsi-kpi-h:58px;
        --twsi-command-h:0px;
        --twsi-primary-nav-h:40px;
    }
    .twsi-terminal-workspace #twsi-results > .twsi-live-command-zone{
        display:none!important;
    }
    .twsi-terminal-workspace .twsi-rx-grid{
        grid-template-columns:1fr!important;
    }
}


/* =========================================================
   v4.1.2 — CLEAN LAUNCH GATE
   Before launch: ONE option only. No market DOM is visually laid out.
========================================================= */
.twsi-analyzer.twsi-launch-gate,
.twsi-analyzer:not(.twsi-terminal-workspace){
    width:100%!important;
    max-width:none!important;
    min-height:320px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:transparent!important;
    border:0!important;
    overflow:visible!important;
}

/* Do not merely squeeze the market screen: remove every application screen
   from layout until the user explicitly launches the terminal. */
.twsi-analyzer:not(.twsi-terminal-workspace) > .twsi-app-screen,
.twsi-analyzer:not(.twsi-terminal-workspace) > #twsi-results,
.twsi-analyzer:not(.twsi-terminal-workspace) .twsi-legacy-analyzer-entry,
.twsi-analyzer:not(.twsi-terminal-workspace) #twsi-status{
    display:none!important;
}

/* The pre-launch shell becomes a single centered CTA, not terminal chrome. */
.twsi-analyzer:not(.twsi-terminal-workspace) .twsi-terminal-shellbar{
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    display:block!important;
}
.twsi-analyzer:not(.twsi-terminal-workspace) .twsi-terminal-shellbrand{
    display:none!important;
}
.twsi-analyzer:not(.twsi-terminal-workspace) .twsi-terminal-shellactions{
    display:block!important;
}
.twsi-analyzer:not(.twsi-terminal-workspace) #twsi-terminal-launch{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:220px!important;
    height:54px!important;
    padding:0 28px!important;
    border:1px solid #ff9d00!important;
    background:#050708!important;
    color:#ff9d00!important;
    font:700 13px/1 Arial,Helvetica,sans-serif!important;
    letter-spacing:.08em!important;
    cursor:pointer!important;
}
.twsi-analyzer:not(.twsi-terminal-workspace) #twsi-terminal-launch:hover{
    background:#ff9d00!important;
    color:#000!important;
}
.twsi-analyzer:not(.twsi-terminal-workspace) #twsi-terminal-browser-fullscreen,
.twsi-analyzer:not(.twsi-terminal-workspace) #twsi-terminal-exit{
    display:none!important;
}

/* Once launched, normal terminal chrome and screens return. */
.twsi-analyzer.twsi-terminal-workspace > .twsi-app-screen{
    min-width:0!important;
}



/* =========================================================
   v4.2.0 — COMPANY FUNCTION RIBBON / ONE-SCREEN WORKSPACE
   Company terminal becomes:
   shell -> compact security line -> primary function ribbon ->
   active subnavigation -> one fitted function canvas.
========================================================= */

:root{
    --twsi-shell-h:36px;
    --twsi-security-h:42px;
    --twsi-primary-nav-h:34px;
    --twsi-secondary-nav-h:34px;
}

/* The application header becomes intentionally small. */
.twsi-terminal-workspace .twsi-terminal-shellbar{
    height:var(--twsi-shell-h)!important;
    min-height:var(--twsi-shell-h)!important;
    padding:3px 10px!important;
}
.twsi-terminal-workspace .twsi-terminal-shellbrand strong{
    font-size:8px!important;
}
.twsi-terminal-workspace .twsi-terminal-shellbrand span{
    display:none!important;
}
.twsi-terminal-workspace .twsi-terminal-shellactions button{
    height:24px!important;
    font-size:7px!important;
}

/* Company screen has ONLY three vertical layers. */
.twsi-terminal-workspace.twsi-workspace-company #twsi-results{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:
        var(--twsi-security-h)
        var(--twsi-primary-nav-h)
        minmax(0,1fr)!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
}

/* Remove the sticky dashboard strips from the company workspace.
   Their data remains available inside the relevant functions. */
.twsi-terminal-workspace.twsi-workspace-company #twsi-results > .twsi-context-strip,
.twsi-terminal-workspace.twsi-workspace-company #twsi-results > .twsi-kpi-strip,
.twsi-terminal-workspace.twsi-workspace-company #twsi-results > .twsi-live-command-zone,
.twsi-terminal-workspace.twsi-workspace-company .twsi-overview-snapshot-band{
    display:none!important;
}

/* Compact one-line security identity, like terminal security chrome. */
.twsi-terminal-workspace .twsi-security-bar{
    grid-row:1!important;
    height:var(--twsi-security-h)!important;
    min-height:var(--twsi-security-h)!important;
    display:grid!important;
    grid-template-columns:auto minmax(180px,1fr) auto auto!important;
    gap:10px!important;
    padding:3px 10px!important;
    border-bottom:1px solid #334048!important;
    overflow:hidden!important;
}
.twsi-terminal-workspace .twsi-security-bar .twsi-back-to-market{
    height:25px!important;
    padding:0 8px!important;
    font-size:7px!important;
}
.twsi-terminal-workspace .twsi-security-identity{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
}
.twsi-terminal-workspace .twsi-security-identity strong{
    font-size:10px!important;
    flex:0 0 auto!important;
}
.twsi-terminal-workspace .twsi-security-identity span{
    font-size:12px!important;
    font-weight:700!important;
}
.twsi-terminal-workspace .twsi-security-identity small{
    display:block!important;
    margin:0!important;
    color:#72808a!important;
    font-size:7px!important;
    white-space:nowrap!important;
}
.twsi-terminal-workspace .twsi-security-live strong{
    font-size:11px!important;
}
.twsi-terminal-workspace .twsi-security-live span{
    font-size:8px!important;
}
.twsi-terminal-workspace .twsi-security-live small,
.twsi-terminal-workspace .twsi-security-filing span{
    font-size:6px!important;
}
.twsi-terminal-workspace .twsi-security-filing strong{
    font-size:7px!important;
}

/* Primary functions are the persistent small navigation ribbon. */
.twsi-terminal-workspace #twsi-results > .twsi-function-ribbon,
.twsi-terminal-workspace #twsi-results > .twsi-terminal-tabs{
    grid-row:2!important;
    display:flex!important;
    width:100%!important;
    height:var(--twsi-primary-nav-h)!important;
    min-height:var(--twsi-primary-nav-h)!important;
    margin:0!important;
    padding:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    border:0!important;
    border-bottom:1px solid #344047!important;
    background:#030607!important;
    scrollbar-width:none!important;
}
.twsi-terminal-workspace #twsi-results > .twsi-terminal-tabs::-webkit-scrollbar{
    display:none!important;
}
.twsi-terminal-workspace .twsi-terminal-tab{
    flex:1 0 auto!important;
    min-width:92px!important;
    height:100%!important;
    padding:0 10px!important;
    border:0!important;
    border-right:1px solid #293238!important;
    background:#030607!important;
    color:#d8dee1!important;
    font-size:8px!important;
    font-weight:700!important;
    line-height:1!important;
}
.twsi-terminal-workspace .twsi-terminal-tab.is-active,
.twsi-terminal-workspace .twsi-terminal-tab:hover{
    color:#ff9c00!important;
    background:#070b0d!important;
    box-shadow:inset 0 -2px #ff9c00!important;
}

/* One function at a time, occupying every remaining pixel. */
.twsi-terminal-workspace #twsi-results > .twsi-terminal-panel{
    grid-row:3!important;
    grid-column:1!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}
.twsi-terminal-workspace #twsi-results > .twsi-terminal-panel.is-active:not([hidden]){
    display:block!important;
}
.twsi-terminal-workspace #twsi-results > .twsi-terminal-panel:not(.is-active),
.twsi-terminal-workspace #twsi-results > .twsi-terminal-panel[hidden]{
    display:none!important;
}

/* Every function workspace: subnavigation + a single content canvas. */
.twsi-terminal-workspace .twsi-overview-workspace,
.twsi-terminal-workspace .twsi-financials-workspace,
.twsi-terminal-workspace .twsi-live-workspace,
.twsi-terminal-workspace [data-twsi-panel="capital"],
.twsi-terminal-workspace [data-twsi-panel="shareholders"],
.twsi-terminal-workspace [data-twsi-panel="valuation"],
.twsi-terminal-workspace [data-twsi-panel="news"]{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-width:none!important;
    margin:0!important;
    overflow:hidden!important;
}

/* Small second-level function navigation. */
.twsi-terminal-workspace .twsi-overview-functions,
.twsi-terminal-workspace .twsi-fin-subnav,
.twsi-terminal-workspace .twsi-cap-subnav,
.twsi-terminal-workspace .twsi-live-nav{
    width:100%!important;
    max-width:none!important;
    height:var(--twsi-secondary-nav-h)!important;
    min-height:var(--twsi-secondary-nav-h)!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:stretch!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    border:0!important;
    border-bottom:1px solid #2f383d!important;
    background:#020405!important;
    scrollbar-width:none!important;
}
.twsi-terminal-workspace .twsi-overview-functions::-webkit-scrollbar,
.twsi-terminal-workspace .twsi-fin-subnav::-webkit-scrollbar,
.twsi-terminal-workspace .twsi-cap-subnav::-webkit-scrollbar,
.twsi-terminal-workspace .twsi-live-nav::-webkit-scrollbar{
    display:none!important;
}
.twsi-terminal-workspace .twsi-overview-functions button,
.twsi-terminal-workspace .twsi-fin-subnav button,
.twsi-terminal-workspace .twsi-cap-subnav button,
.twsi-terminal-workspace .twsi-live-nav button{
    flex:1 0 auto!important;
    min-width:92px!important;
    min-height:var(--twsi-secondary-nav-h)!important;
    height:var(--twsi-secondary-nav-h)!important;
    padding:0 9px!important;
    border:0!important;
    border-right:1px solid #222b30!important;
    background:#020405!important;
    color:#d2d8dc!important;
    font-size:8px!important;
    line-height:1!important;
}
.twsi-terminal-workspace .twsi-overview-functions button.is-active,
.twsi-terminal-workspace .twsi-fin-subnav button.active,
.twsi-terminal-workspace .twsi-cap-subnav button.active,
.twsi-terminal-workspace .twsi-live-nav button.active{
    color:#ff9c00!important;
    box-shadow:inset 0 -2px #ff9c00!important;
}

/* Content region gets exactly the remaining area beneath its subnav. */
.twsi-terminal-workspace .twsi-overview-workspace{
    display:grid!important;
    grid-template-rows:var(--twsi-secondary-nav-h) minmax(0,1fr)!important;
}
.twsi-terminal-workspace .twsi-overview-functions{grid-row:1!important}
.twsi-terminal-workspace .twsi-overview-subpanels{
    grid-row:2!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
}

.twsi-terminal-workspace .twsi-financials-workspace{
    display:grid!important;
    grid-template-rows:var(--twsi-secondary-nav-h) minmax(0,1fr)!important;
}
.twsi-terminal-workspace .twsi-fin-subnav{grid-row:1!important}
.twsi-terminal-workspace .twsi-fin-subpanels{
    grid-row:2!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
}

.twsi-terminal-workspace .twsi-live-workspace{
    display:grid!important;
    grid-template-rows:var(--twsi-secondary-nav-h) minmax(0,1fr)!important;
}
.twsi-terminal-workspace .twsi-live-headbar{
    display:none!important;
}
.twsi-terminal-workspace .twsi-live-nav{
    grid-row:1!important;
}
.twsi-terminal-workspace .twsi-live-views{
    grid-row:2!important;
    min-height:0!important;
    overflow:hidden!important;
}

/* Remove redundant security/title strips inside functions.
   The global security bar already supplies this information. */
.twsi-terminal-workspace .twsi-ovx-security-strip,
.twsi-terminal-workspace .twsi-fin2-topbar,
.twsi-terminal-workspace .twsi-fs-topbar,
.twsi-terminal-workspace .twsi-cap-top{
    display:none!important;
}

/* Active subfunction is a non-scrolling fitted canvas. */
.twsi-terminal-workspace .twsi-overview-subpanel.is-active,
.twsi-terminal-workspace .twsi-fin-subpanel.active:not([hidden]),
.twsi-terminal-workspace .twsi-cap-terminal:not([hidden]),
.twsi-terminal-workspace .twsi-live-view.active{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    overflow:hidden!important;
    scrollbar-width:none!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel.is-active::-webkit-scrollbar,
.twsi-terminal-workspace .twsi-fin-subpanel.active::-webkit-scrollbar,
.twsi-terminal-workspace .twsi-cap-terminal::-webkit-scrollbar,
.twsi-terminal-workspace .twsi-live-view.active::-webkit-scrollbar{
    display:none!important;
}

/* The fit engine uses CSS zoom on the direct module, keeping the entire
   function visible without page/subsection scrolling. */
.twsi-terminal-workspace .twsi-fit-scaled{
    overflow:hidden!important;
}

/* Remove margins/borders that waste terminal pixels. */
.twsi-terminal-workspace .twsi-ovx-terminal,
.twsi-terminal-workspace .twsi-rx-terminal,
.twsi-terminal-workspace .twsi-rev2-terminal,
.twsi-terminal-workspace .twsi-ix-terminal,
.twsi-terminal-workspace .twsi-fin2-terminal,
.twsi-terminal-workspace .twsi-fs-terminal,
.twsi-terminal-workspace .twsi-cap-terminal{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
    box-sizing:border-box!important;
}

/* Capital uses the same two-level terminal flow. */
.twsi-terminal-workspace [data-twsi-panel="capital"].is-active{
    display:grid!important;
    grid-template-rows:var(--twsi-secondary-nav-h) minmax(0,1fr)!important;
}
.twsi-terminal-workspace [data-twsi-panel="capital"] > .twsi-cap-subnav{
    grid-row:1!important;
}
.twsi-terminal-workspace [data-twsi-panel="capital"] > .twsi-cap-terminal{
    grid-row:2!important;
}

/* At common laptop resolutions the terminal remains dense and readable. */
@media(max-height:820px){
    :root{
        --twsi-shell-h:32px;
        --twsi-security-h:38px;
        --twsi-primary-nav-h:31px;
        --twsi-secondary-nav-h:31px;
    }
    .twsi-terminal-workspace .twsi-security-identity small,
    .twsi-terminal-workspace .twsi-security-filing span{
        display:none!important;
    }
}

@media(max-width:900px){
    .twsi-terminal-workspace .twsi-security-bar{
        grid-template-columns:auto minmax(0,1fr) auto!important;
    }
    .twsi-terminal-workspace .twsi-security-filing{
        display:none!important;
    }
    .twsi-terminal-workspace .twsi-terminal-tab{
        flex:0 0 100px!important;
    }
}



/* =========================================================
   v4.2.1 — LEFT-ALIGNED FUNCTION RIBBON
   Bloomberg-inspired workflow only: compact functions begin at left,
   use uppercase labels, larger readable type and content-based widths.
========================================================= */

:root{
    --twsi-primary-nav-h:38px;
    --twsi-secondary-nav-h:36px;
}

/* PRIMARY FUNCTIONS ------------------------------------------------ */
.twsi-terminal-workspace #twsi-results > .twsi-function-ribbon,
.twsi-terminal-workspace #twsi-results > .twsi-terminal-tabs{
    justify-content:flex-start!important;
    align-items:stretch!important;
    text-align:left!important;
    padding-left:8px!important;
    padding-right:8px!important;
    gap:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
}

.twsi-terminal-workspace #twsi-results > .twsi-terminal-tabs .twsi-terminal-tab{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:var(--twsi-primary-nav-h)!important;
    padding:0 18px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:left!important;
    white-space:nowrap!important;
    text-transform:uppercase!important;
    letter-spacing:.045em!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1!important;
    color:#e2e7ea!important;
    border-right:1px solid #283137!important;
}

.twsi-terminal-workspace #twsi-results > .twsi-terminal-tabs .twsi-terminal-tab:first-child{
    padding-left:12px!important;
}

.twsi-terminal-workspace #twsi-results > .twsi-terminal-tabs .twsi-terminal-tab.is-active,
.twsi-terminal-workspace #twsi-results > .twsi-terminal-tabs .twsi-terminal-tab:hover{
    color:#ff9c00!important;
    background:#070a0c!important;
    box-shadow:inset 0 -3px #ff9c00!important;
}

/* SECONDARY FUNCTIONS ---------------------------------------------- */
.twsi-terminal-workspace .twsi-overview-functions,
.twsi-terminal-workspace .twsi-fin-subnav,
.twsi-terminal-workspace .twsi-cap-subnav,
.twsi-terminal-workspace .twsi-live-nav{
    justify-content:flex-start!important;
    align-items:stretch!important;
    text-align:left!important;
    padding-left:8px!important;
    padding-right:8px!important;
    gap:0!important;
}

.twsi-terminal-workspace .twsi-overview-functions button,
.twsi-terminal-workspace .twsi-fin-subnav button,
.twsi-terminal-workspace .twsi-cap-subnav button,
.twsi-terminal-workspace .twsi-live-nav button{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:var(--twsi-secondary-nav-h)!important;
    min-height:var(--twsi-secondary-nav-h)!important;
    padding:0 15px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:left!important;
    white-space:nowrap!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:10.5px!important;
    font-weight:700!important;
    line-height:1!important;
    color:#cfd6da!important;
    border-right:1px solid #242d32!important;
}

.twsi-terminal-workspace .twsi-overview-functions button:first-child,
.twsi-terminal-workspace .twsi-fin-subnav button:first-child,
.twsi-terminal-workspace .twsi-cap-subnav button:first-child,
.twsi-terminal-workspace .twsi-live-nav button:first-child{
    padding-left:12px!important;
}

.twsi-terminal-workspace .twsi-overview-functions button.is-active,
.twsi-terminal-workspace .twsi-fin-subnav button.active,
.twsi-terminal-workspace .twsi-cap-subnav button.active,
.twsi-terminal-workspace .twsi-live-nav button.active,
.twsi-terminal-workspace .twsi-overview-functions button:hover,
.twsi-terminal-workspace .twsi-fin-subnav button:hover,
.twsi-terminal-workspace .twsi-cap-subnav button:hover,
.twsi-terminal-workspace .twsi-live-nav button:hover{
    color:#ff9c00!important;
    background:#070a0c!important;
    box-shadow:inset 0 -3px #ff9c00!important;
}

/* Keep horizontal scrolling unobtrusive when functions exceed viewport. */
.twsi-terminal-workspace #twsi-results > .twsi-terminal-tabs,
.twsi-terminal-workspace .twsi-overview-functions,
.twsi-terminal-workspace .twsi-fin-subnav,
.twsi-terminal-workspace .twsi-cap-subnav,
.twsi-terminal-workspace .twsi-live-nav{
    scrollbar-width:none!important;
}
.twsi-terminal-workspace #twsi-results > .twsi-terminal-tabs::-webkit-scrollbar,
.twsi-terminal-workspace .twsi-overview-functions::-webkit-scrollbar,
.twsi-terminal-workspace .twsi-fin-subnav::-webkit-scrollbar,
.twsi-terminal-workspace .twsi-cap-subnav::-webkit-scrollbar,
.twsi-terminal-workspace .twsi-live-nav::-webkit-scrollbar{
    display:none!important;
}

/* Slightly denser laptops while keeping labels readable. */
@media(max-width:1200px){
    .twsi-terminal-workspace #twsi-results > .twsi-terminal-tabs .twsi-terminal-tab{
        padding-left:14px!important;
        padding-right:14px!important;
        font-size:11px!important;
    }
    .twsi-terminal-workspace .twsi-overview-functions button,
    .twsi-terminal-workspace .twsi-fin-subnav button,
    .twsi-terminal-workspace .twsi-cap-subnav button,
    .twsi-terminal-workspace .twsi-live-nav button{
        padding-left:12px!important;
        padding-right:12px!important;
        font-size:10px!important;
    }
}



/* =========================================================
   v4.2.2 — PROFILE FULL-SCREEN TERMINAL WORKSPACE
   Uses the entire remaining viewport with larger readable type.
========================================================= */

/* Profile owns the complete active function canvas. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"].is-active{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#000!important;
}

/* Do not let the generic fit engine shrink the dedicated Profile layout. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"].is-active > .twsi-ovx-terminal{
    zoom:1!important;
    transform:none!important;
}

/* Remove legacy narrow/full-page behavior. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-terminal{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    overflow:hidden!important;
    background:#000!important;
}

/* Global security bar already shows ticker/name/price, so this duplicate strip
   should not consume Profile workspace height. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-security-strip{
    display:none!important;
}

/* Bloomberg-like dense full-screen matrix:
   row 1: Description | Price | Metrics
   row 2: Segments | Geography | Products | Identifiers
*/
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-grid{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:
        minmax(0,1.55fr)
        minmax(0,1.25fr)
        minmax(0,.95fr)
        minmax(0,.95fr)!important;
    grid-template-rows:
        minmax(0,1.12fr)
        minmax(0,.88fr)!important;
    gap:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    background:#000!important;
}

/* Exact panel placement. */
.twsi-terminal-workspace .twsi-ovx-description{
    grid-column:1!important;
    grid-row:1!important;
}
.twsi-terminal-workspace .twsi-ovx-price{
    grid-column:2 / span 2!important;
    grid-row:1!important;
}
.twsi-terminal-workspace .twsi-ovx-metrics{
    grid-column:4!important;
    grid-row:1!important;
}
.twsi-terminal-workspace .twsi-ovx-segments{
    grid-column:1!important;
    grid-row:2!important;
}
.twsi-terminal-workspace .twsi-ovx-geography{
    grid-column:2!important;
    grid-row:2!important;
}
.twsi-terminal-workspace .twsi-ovx-products{
    grid-column:3!important;
    grid-row:2!important;
}
.twsi-terminal-workspace .twsi-ovx-identifiers{
    grid-column:4!important;
    grid-row:2!important;
}

/* Every module fills its assigned rectangle; no vertical page flow. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-panel{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    border-right:1px solid #353d42!important;
    border-bottom:1px solid #353d42!important;
    background:#000!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
}

/* Stronger readable section titles. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-panel-head{
    height:31px!important;
    min-height:31px!important;
    padding:0 9px!important;
    gap:5px!important;
    background:#020405!important;
    border-bottom:1px solid #30383d!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-panel-head span,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-panel-head strong{
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:11.5px!important;
    font-weight:700!important;
    line-height:1!important;
    color:#e5eaed!important;
    letter-spacing:.015em!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-panel-head span{
    color:#9ba4aa!important;
}

/* Company description is materially larger and more readable. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-description-body{
    height:calc(100% - 31px)!important;
    min-height:0!important;
    grid-template-columns:minmax(0,1.55fr) minmax(175px,.95fr)!important;
    overflow:hidden!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-description-body>div{
    min-height:0!important;
    padding:8px 9px!important;
    overflow:hidden!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-description-body p{
    margin:0!important;
    font-size:10.5px!important;
    line-height:1.44!important;
    color:#e0e4e7!important;
}

/* Facts / labels. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-facts{
    padding:5px 7px!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-facts>div{
    min-height:25px!important;
    padding:3px 1px!important;
    font-size:9.7px!important;
    line-height:1.2!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-facts span{
    font-size:9.5px!important;
    color:#ff9c00!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-facts strong{
    font-size:9.7px!important;
    color:#edf1f3!important;
}

/* Price panel gets a larger quote and graph area. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price{
    min-height:0!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-quote{
    min-height:38px!important;
    padding:4px 8px!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-quote>strong{
    font-size:21px!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-quote>span,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-quote>em{
    font-size:10px!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-body{
    height:calc(100% - 69px)!important;
    min-height:0!important;
    grid-template-columns:118px minmax(0,1fr)!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-returns{
    padding:5px 8px!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-returns>div{
    min-height:21px!important;
    font-size:9.7px!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-chart{
    min-height:0!important;
    height:100%!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-chart>svg{
    width:100%!important;
    height:100%!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-meta{
    min-height:0!important;
    padding:3px 7px!important;
    font-size:8.5px!important;
}

/* Bottom-row table/content typography. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-segments,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-geography,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-products,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-identifiers{
    min-height:0!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] table{
    width:100%!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] th,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] td{
    height:22px!important;
    padding:3px 6px!important;
    font-size:9.2px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] th{
    color:#aeb7bc!important;
    font-weight:500!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] td{
    color:#edf1f3!important;
}

/* Product/service rows larger and cleaner. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-products-list{
    padding:4px 7px!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-products-list>div{
    min-height:24px!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-products-list strong,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-products-list em{
    font-size:9.4px!important;
}

/* Evidence/source text stays subtle. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-source,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-evidence{
    font-size:7.5px!important;
    line-height:1.15!important;
}

/* Mid-size desktop remains one-screen. */
@media(max-width:1400px){
    .twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-grid{
        grid-template-columns:
            minmax(0,1.45fr)
            minmax(0,1.15fr)
            minmax(0,.9fr)
            minmax(0,.9fr)!important;
    }
    .twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-description-body p{
        font-size:9.8px!important;
    }
}

/* Smaller screens collapse panels instead of microscopic scaling. */
@media(max-width:980px){
    .twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"]{
        overflow:auto!important;
    }
    .twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-terminal{
        height:auto!important;
        overflow:visible!important;
    }
    .twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-grid{
        height:auto!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-template-rows:auto!important;
    }
    .twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-panel{
        grid-column:auto!important;
        grid-row:auto!important;
        min-height:210px!important;
    }
}


/* =========================================================
   v4.2.3 — OVERVIEW SUBNAV LEFT ALIGN + PROFILE FONT BOOST
========================================================= */
.twsi-terminal-workspace .twsi-overview-functions{
    justify-content:flex-start!important;
    align-items:stretch!important;
    text-align:left!important;
    padding-left:8px!important;
    padding-right:8px!important;
    gap:0!important;
    width:100%!important;
    max-width:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
}
.twsi-terminal-workspace .twsi-overview-functions button{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:0 16px!important;
    justify-content:flex-start!important;
    text-align:left!important;
    text-transform:uppercase!important;
    font-size:11px!important;
    font-weight:700!important;
    letter-spacing:.035em!important;
}
.twsi-terminal-workspace .twsi-overview-functions button:first-child{padding-left:12px!important;}

/* Profile data fonts enlarged while preserving existing box geometry. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-identifiers th,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-identifiers td{
    height:22px!important;min-height:22px!important;padding:2px 7px!important;
    font-size:10.6px!important;line-height:1.05!important;vertical-align:middle!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-identifiers th{
    color:#ff9c00!important;font-weight:700!important;width:40%!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-identifiers td{
    color:#f4f6f7!important;font-weight:600!important;width:60%!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-metrics table th,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-metrics table td{
    height:23px!important;min-height:23px!important;padding:2px 7px!important;
    font-size:10.5px!important;line-height:1.05!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-metrics table th{color:#ff9c00!important;font-weight:700!important;}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-metrics table td{color:#f2f5f6!important;font-weight:600!important;}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-segments th,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-segments td,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-geography th,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-geography td{
    height:22px!important;min-height:22px!important;padding:2px 6px!important;
    font-size:10.2px!important;line-height:1.05!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-segments td:first-child,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-geography td:first-child{color:#ff9c00!important;font-weight:600!important;}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-products-list>div{min-height:23px!important;padding:2px 6px!important;}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-products-list strong{font-size:10.4px!important;font-weight:700!important;line-height:1.05!important;}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-products-list em{font-size:10.2px!important;font-weight:600!important;line-height:1.05!important;}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-facts>div{min-height:24px!important;padding:2px 1px!important;}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-facts span{font-size:10.2px!important;font-weight:700!important;}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-facts strong{font-size:10.5px!important;font-weight:600!important;}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-description-body p{font-size:11px!important;line-height:1.36!important;}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-returns>div{min-height:21px!important;font-size:10.3px!important;line-height:1.05!important;}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-meta{font-size:9.2px!important;}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-panel-head span,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-panel-head strong{font-size:12px!important;line-height:1!important;}
@media(max-width:1400px){
  .twsi-terminal-workspace .twsi-overview-functions button{padding-left:13px!important;padding-right:13px!important;font-size:10.5px!important;}
  .twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-identifiers th,
  .twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-identifiers td,
  .twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-metrics table th,
  .twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-metrics table td{font-size:10px!important;}
}

/* =========================================================
   v4.2.4 — TERMINAL-SCALE PROFILE TYPOGRAPHY
   Actual rendered Profile DOM selectors. Larger Bloomberg-like
   information scale without increasing module/card dimensions.
========================================================= */

/* Overview function ribbon: pack from the LEFT, never distribute across viewport. */
.twsi-terminal-workspace .twsi-overview-functions{
    display:flex!important;
    flex-flow:row nowrap!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    text-align:left!important;
    width:100%!important;
    padding-left:10px!important;
    padding-right:10px!important;
    gap:0!important;
}
.twsi-terminal-workspace .twsi-overview-functions > button{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    max-width:none!important;
    margin:0!important;
    padding:0 18px!important;
    text-align:left!important;
    justify-content:flex-start!important;
    font-size:13px!important;
    font-weight:800!important;
    letter-spacing:.025em!important;
    text-transform:uppercase!important;
}
.twsi-terminal-workspace .twsi-overview-functions > button:first-child{padding-left:10px!important;}

/* Profile panel headings: visibly larger, same 31px header geometry. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-panel-head span,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-panel-head strong{
    font-size:13.5px!important;
    font-weight:800!important;
    line-height:1!important;
}

/* Company description: larger editorial body, panel dimensions unchanged. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-description-body p{
    font-size:13px!important;
    line-height:1.34!important;
    font-weight:500!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-source,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-source span,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-source a,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-source strong{
    font-size:10px!important;
    line-height:1!important;
}

/* REAL fact rows used by Company Description, Key Metrics and Identifiers. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-facts > div{
    min-height:25px!important;
    height:25px!important;
    padding:1px 5px!important;
    grid-template-columns:minmax(92px,42%) minmax(0,58%)!important;
    gap:7px!important;
    line-height:1!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-facts > div > span{
    font-size:12px!important;
    line-height:1!important;
    font-weight:800!important;
    white-space:nowrap!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-facts > div > strong{
    font-size:12.5px!important;
    line-height:1!important;
    font-weight:700!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
/* Identifiers are a key terminal reference block: make values especially legible. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] #twsi-ovx-identifiers-body > div > span{
    font-size:12.5px!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] #twsi-ovx-identifiers-body > div > strong{
    font-size:13px!important;
    font-weight:800!important;
}
/* Key metrics: same compact rows, larger numbers. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] #twsi-ovx-key-metrics > div > span{
    font-size:12px!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] #twsi-ovx-key-metrics > div > strong{
    font-size:13px!important;
    font-weight:800!important;
}

/* Segment/geography rows are DIV grids, not HTML tables. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-mix-table{
    padding:3px 7px 5px!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-mix-table > div{
    min-height:27px!important;
    height:27px!important;
    gap:7px!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-mix-table .head span{
    font-size:10.5px!important;
    line-height:1!important;
    font-weight:700!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-mix-table strong{
    font-size:12.5px!important;
    line-height:1!important;
    font-weight:700!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-mix-table span{
    font-size:12px!important;
    line-height:1!important;
    font-weight:600!important;
    white-space:nowrap!important;
}

/* Products/services rows. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-products-list > div{
    min-height:25px!important;
    height:25px!important;
    padding:1px 7px!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-products-list strong{
    font-size:12.5px!important;
    line-height:1!important;
    font-weight:700!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-products-list em{
    font-size:12px!important;
    line-height:1!important;
    font-weight:700!important;
}

/* Missing-data messages should not look microscopic. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-unavailable strong{
    font-size:12.5px!important;
    font-weight:700!important;
}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-unavailable span{
    font-size:11.5px!important;
    line-height:1.3!important;
}

/* Price panel non-hover typography — hover is intentionally not the only large text. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-quote > strong{font-size:24px!important;font-weight:700!important;}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-quote > span,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-quote > em{font-size:12px!important;font-weight:700!important;}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-returns > div{font-size:11.5px!important;font-weight:600!important;}
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-price-meta{font-size:10px!important;}

/* Source/evidence strip remains secondary, but readable. */
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-evidence,
.twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-evidence *{
    font-size:9px!important;
    line-height:1!important;
}

/* Preserve fit on common 1366–1599px desktop widths without shrinking back to micro-type. */
@media (min-width:1100px) and (max-width:1599px){
    .twsi-terminal-workspace .twsi-overview-functions > button{font-size:12px!important;padding-left:13px!important;padding-right:13px!important;}
    .twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-description-body p{font-size:12px!important;}
    .twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-facts > div > span{font-size:11px!important;}
    .twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-facts > div > strong{font-size:11.5px!important;}
    .twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-mix-table strong{font-size:11.5px!important;}
    .twsi-terminal-workspace .twsi-overview-subpanel[data-twsi-overview-panel="profile"] .twsi-ovx-mix-table span{font-size:11px!important;}
}

/* =========================================================
   v4.2.5 — LIVE MARKET LAUNCH BACKDROP
   Lightweight canvas ambience only; the real terminal/data engine
   remains unmounted visually until LAUNCH TERMINAL is pressed.
========================================================= */
.twsi-analyzer:not(.twsi-terminal-workspace){
    position:relative!important;
    isolation:isolate!important;
    min-height:clamp(520px,72vh,820px)!important;
    overflow:hidden!important;
    background:#020405!important;
}
.twsi-launch-live-bg{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
    pointer-events:none;
    background:
      radial-gradient(circle at 50% 42%,rgba(255,157,0,.055),transparent 34%),
      linear-gradient(180deg,#030506 0%,#010203 100%);
}
.twsi-launch-live-bg::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.16;
    background-image:
      linear-gradient(rgba(116,142,156,.18) 1px,transparent 1px),
      linear-gradient(90deg,rgba(116,142,156,.14) 1px,transparent 1px);
    background-size:100% 56px,88px 100%;
    mask-image:linear-gradient(to bottom,transparent 2%,#000 18%,#000 86%,transparent 100%);
}
#twsi-launch-market-canvas{
    width:100%;
    height:100%;
    display:block;
    opacity:.58;
    filter:saturate(.95);
}
.twsi-launch-live-tape{
    position:absolute;
    left:0; right:0; bottom:20px;
    display:flex;
    gap:42px;
    width:max-content;
    white-space:nowrap;
    color:#aeb8c0;
    opacity:.38;
    font:700 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
    letter-spacing:.05em;
    animation:twsiLaunchTape 28s linear infinite;
}
.twsi-launch-live-tape b{color:#dce5ea;font-weight:700}
.twsi-launch-live-tape .up{color:#22d85a}.twsi-launch-live-tape .down{color:#ff4d3d}
@keyframes twsiLaunchTape{to{transform:translateX(-50%)}}
.twsi-analyzer:not(.twsi-terminal-workspace) .twsi-terminal-shellbar{
    position:relative!important;
    z-index:3!important;
}
.twsi-analyzer:not(.twsi-terminal-workspace) #twsi-terminal-launch{
    position:relative!important;
    z-index:4!important;
    min-width:240px!important;
    height:58px!important;
    background:rgba(3,6,7,.88)!important;
    box-shadow:0 0 0 1px rgba(255,157,0,.08),0 14px 50px rgba(0,0,0,.48)!important;
    backdrop-filter:blur(5px);
}
.twsi-terminal-workspace > .twsi-launch-live-bg{display:none!important}
@media (prefers-reduced-motion:reduce){
    .twsi-launch-live-tape{animation:none!important}
    #twsi-launch-market-canvas{opacity:.28}
}


/* =========================================================
   v4.2.6 — SUPER-INTERACTIVE PROFILE PRICE CHART
========================================================= */
.twsi-terminal-workspace .twsi-ovx-price-chart{
    position:relative!important;
    overflow:hidden!important;
    background:#000!important;
}
.twsi-pc-shell{
    width:100%;
    height:100%;
    min-height:0;
    display:grid;
    grid-template-rows:34px minmax(0,1fr) 22px;
    background:#000;
}
.twsi-pc-toolbar{
    display:flex;
    align-items:center;
    min-width:0;
    gap:5px;
    padding:3px 6px;
    border-bottom:1px solid #283136;
    background:#020405;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
}
.twsi-pc-toolbar::-webkit-scrollbar{display:none}
.twsi-pc-group{
    flex:0 0 auto;
    display:flex;
    gap:2px;
    padding-right:5px;
    border-right:1px solid #283136;
}
.twsi-pc-toolbar button{
    height:25px;
    min-width:31px;
    padding:0 7px;
    border:1px solid #313b40;
    background:#030607;
    color:#aeb8bd;
    font:700 8px/1 Arial,Helvetica,sans-serif;
    letter-spacing:.02em;
    cursor:pointer;
}
.twsi-pc-toolbar button:hover,
.twsi-pc-toolbar button.active{
    color:#ff9c00;
    border-color:#ff9c00;
    background:#0a0c0d;
}
.twsi-pc-colors{
    flex:0 0 auto;
    display:flex;
    gap:4px;
    align-items:center;
    padding-left:1px;
}
.twsi-pc-colors button{
    width:16px!important;
    height:16px!important;
    min-width:16px!important;
    padding:0!important;
    border-radius:50%!important;
    border:2px solid #30383d!important;
    background:var(--pc-color)!important;
}
.twsi-pc-colors button.active{
    box-shadow:0 0 0 2px #fff!important;
}
.twsi-pc-stage{
    min-height:0;
    position:relative;
    overflow:hidden;
}
.twsi-pc-stage svg{
    display:block;
    width:100%!important;
    height:100%!important;
}
.twsi-pc-grid line{
    stroke:#1b2226;
    stroke-width:.75;
    vector-effect:non-scaling-stroke;
}
.twsi-pc-grid text{
    fill:#6f7c83;
    font:8px Arial,sans-serif;
}
.twsi-pc-line{
    fill:none;
    stroke-width:2.1;
    vector-effect:non-scaling-stroke;
}
.twsi-pc-area{
    stroke-width:2;
    vector-effect:non-scaling-stroke;
}
.twsi-pc-bar{
    opacity:.86;
}
.twsi-pc-candle line,
.twsi-pc-candle rect{
    vector-effect:non-scaling-stroke;
    stroke-width:1.1;
}
.twsi-pc-last-dot{
    stroke:#000;
    stroke-width:1.3;
    vector-effect:non-scaling-stroke;
}
.twsi-pc-cross-v,
.twsi-pc-cross-h{
    stroke:#78858d;
    stroke-width:.8;
    stroke-dasharray:3 3;
    vector-effect:non-scaling-stroke;
}
.twsi-pc-hover-dot{
    stroke:#000;
    stroke-width:1.3;
    vector-effect:non-scaling-stroke;
}
.twsi-pc-tip rect{
    fill:#050708;
    stroke:#ff9c00;
    stroke-width:1;
    vector-effect:non-scaling-stroke;
}
.twsi-pc-tip-date{
    fill:#9bb8cb;
    font:10px Arial,sans-serif;
}
.twsi-pc-tip-close{
    fill:#fff;
    font:700 14px Arial,sans-serif;
}
.twsi-pc-tip-ohlc{
    fill:#adb8bd;
    font:8px Arial,sans-serif;
}
.twsi-pc-date-axis{
    fill:#89959b;
    font:10px Arial,sans-serif;
}
.twsi-pc-status{
    display:flex;
    align-items:center;
    gap:13px;
    padding:0 7px;
    border-top:1px solid #20282c;
    background:#020405;
    color:#69777e;
    font:7px Arial,sans-serif;
    white-space:nowrap;
    overflow:hidden;
}
.twsi-pc-status span:first-child{
    color:#ff9c00;
    font-weight:700;
}
.twsi-price-empty{
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:4px;
    color:#829098;
}
.twsi-price-empty strong{color:#ff9c00}

/* Keep the controls compact in the Profile panel. */
@media(max-width:1300px){
    .twsi-pc-periods button:nth-child(2),
    .twsi-pc-periods button:nth-child(3),
    .twsi-pc-periods button:nth-child(8){
        display:none;
    }
    .twsi-pc-toolbar button{
        padding-left:5px;
        padding-right:5px;
    }
}
