:root {
    --sn-bg: #050b10;
    --sn-bg-elevated: #08131a;
    --sn-panel: rgba(11, 25, 34, .88);
    --sn-panel-solid: #0b1922;
    --sn-panel-soft: #0e202a;
    --sn-border: rgba(132, 187, 203, .18);
    --sn-border-strong: rgba(87, 230, 212, .4);
    --sn-text: #e8f3f6;
    --sn-muted: #8fa9b2;
    --sn-cyan: #59e6d5;
    --sn-cyan-bright: #80fff0;
    --sn-green: #7be495;
    --sn-red: #ff7b92;
    --sn-amber: #f6c76f;
    --sn-blue: #6ca8ff;
    --sn-shadow: 0 22px 60px rgba(0, 0, 0, .28);
    --sn-radius: 18px;
    --app-border: var(--sn-border);
    --bs-primary: #35cdbb;
    --bs-primary-rgb: 53, 205, 187;
    --bs-link-color: #79e9dc;
    --bs-link-hover-color: #a4fff5;
    --bs-body-bg: var(--sn-bg);
    --bs-body-color: var(--sn-text);
    --bs-secondary-color: var(--sn-muted);
    --bs-border-color: var(--sn-border);
    --bs-tertiary-bg: var(--sn-panel-soft);
    --bs-emphasis-color: #ffffff;
    --bs-card-bg: var(--sn-panel);
    --bs-card-border-color: var(--sn-border);
}

html { background: var(--sn-bg); }
body.app-body {
    min-height: 100vh;
    color: var(--sn-text);
    background:
        radial-gradient(circle at 12% 10%, rgba(53, 205, 187, .10), transparent 32rem),
        radial-gradient(circle at 88% 18%, rgba(108, 168, 255, .08), transparent 34rem),
        linear-gradient(180deg, #061017 0%, var(--sn-bg) 55%, #04080c 100%);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: -.01em;
}
body.app-body::selection { background: rgba(89, 230, 213, .28); color: #fff; }
.ambient-grid {
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: .26;
    background-image:
        linear-gradient(rgba(120, 205, 214, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 205, 214, .055) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), transparent 82%);
}
a { text-underline-offset: .2em; }
main.app-main { min-height: calc(100vh - 190px); }
.text-secondary { color: var(--sn-muted) !important; }
.text-success { color: var(--sn-green) !important; }
.text-danger { color: var(--sn-red) !important; }
.text-warning { color: var(--sn-amber) !important; }
.text-body { color: var(--sn-text) !important; }

/* Navigation and brand */
.app-navbar {
    min-height: 72px;
    background: rgba(4, 11, 16, .86);
    border-bottom: 1px solid var(--sn-border);
    backdrop-filter: blur(18px) saturate(140%);
    box-shadow: 0 10px 35px rgba(0, 0, 0, .22);
}
.app-brand { display: inline-flex; align-items: center; gap: .8rem; color: #fff; }
.app-brand:hover { color: #fff; }
.brand-mark { filter: drop-shadow(0 0 16px rgba(89, 230, 213, .22)); }
.brand-copy { display: flex; flex-direction: column; line-height: 1.05; }
.brand-copy strong,
.brand-wordmark { font-size: 1rem; font-weight: 700; letter-spacing: .16em; line-height: 1.05; }
.brand-copy small { color: var(--sn-muted); font-size: .66rem; letter-spacing: .06em; margin-top: .3rem; }
.app-nav-links { gap: .18rem; margin-left: 1.4rem; }
.app-nav-links .nav-link {
    color: #9bb0b8;
    border: 1px solid transparent;
    border-radius: 10px;
    padding: .55rem .72rem;
    font-size: .92rem;
}
.app-nav-links .nav-link:hover { color: #fff; background: rgba(255,255,255,.035); }
.app-nav-links .nav-link.active {
    color: var(--sn-cyan-bright);
    border-color: rgba(89,230,213,.18);
    background: rgba(89,230,213,.075);
}
.user-chip {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .45rem .65rem;
    border: 1px solid var(--sn-border);
    border-radius: 10px;
    background: rgba(255,255,255,.025);
    color: #dce9ec;
    font-size: .85rem;
}
.user-chip small { color: var(--sn-cyan); border-left: 1px solid var(--sn-border); padding-left: .45rem; }
.status-dot { display: inline-block; width: .48rem; height: .48rem; border-radius: 999px; background: var(--sn-green); box-shadow: 0 0 12px rgba(123,228,149,.55); flex: 0 0 auto; }

/* Buttons */
.btn {
    border-radius: 10px;
    font-weight: 650;
    letter-spacing: .01em;
    transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn[data-processing="true"] {
    cursor: wait;
    transform: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.btn-primary {
    --bs-btn-color: #03100e;
    --bs-btn-bg: var(--sn-cyan);
    --bs-btn-border-color: var(--sn-cyan);
    --bs-btn-hover-color: #020b0a;
    --bs-btn-hover-bg: var(--sn-cyan-bright);
    --bs-btn-hover-border-color: var(--sn-cyan-bright);
    --bs-btn-active-bg: #43cbbb;
    --bs-btn-active-border-color: #43cbbb;
    --bs-btn-disabled-color: #06231f;
    --bs-btn-disabled-bg: #4daf9f;
    --bs-btn-disabled-border-color: #4daf9f;
    box-shadow: 0 0 0 1px rgba(89,230,213,.08), 0 10px 30px rgba(53,205,187,.12);
}
.btn-ghost,
.btn-outline-secondary,
.btn-outline-light,
.btn-outline-primary {
    --bs-btn-color: #d8e7ea;
    --bs-btn-border-color: rgba(145,185,197,.28);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgba(89,230,213,.08);
    --bs-btn-hover-border-color: rgba(89,230,213,.45);
    --bs-btn-active-bg: rgba(89,230,213,.14);
    --bs-btn-active-border-color: rgba(89,230,213,.52);
    background: rgba(255,255,255,.018);
}

/* Shared panels and typography */
.card,
.filter-panel,
.tracker-table-wrap,
.list-group-item,
.auth-panel,
.intel-callout {
    background: linear-gradient(180deg, rgba(14, 31, 41, .9), rgba(8, 20, 28, .9));
    border-color: var(--sn-border);
}
.card {
    border-radius: var(--sn-radius);
    box-shadow: 0 14px 34px rgba(0,0,0,.12);
    overflow: hidden;
}
.card-header,
.card-footer { border-color: var(--sn-border); }
.card:hover { border-color: rgba(128, 211, 218, .27); }
h1, h2, h3, h4, h5, h6 { color: #f3fafb; letter-spacing: -.035em; }
h1 { font-weight: 730; }
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--sn-cyan);
    font-size: .72rem;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .15em;
}
.eyebrow::before { content: ""; width: 1.15rem; height: 1px; background: var(--sn-cyan); box-shadow: 0 0 8px rgba(89,230,213,.45); }
.section-heading h2 { margin: .45rem 0 .4rem; font-size: clamp(1.7rem, 2.8vw, 2.55rem); }
.section-heading p { color: var(--sn-muted); margin: 0; max-width: 760px; }
.text-link { font-weight: 650; text-decoration: none; }

/* Hero */
.hero-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
    min-height: 600px;
    padding: clamp(2rem, 5vw, 5.5rem);
    border: 1px solid var(--sn-border);
    border-radius: 28px;
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(120deg, rgba(8,23,31,.97), rgba(6,15,22,.9)),
        radial-gradient(circle at 80% 20%, rgba(89,230,213,.18), transparent 25rem);
    box-shadow: var(--sn-shadow);
}
.hero-panel::before {
    content: "";
    position: absolute;
    width: 430px;
    height: 430px;
    right: -130px;
    top: -170px;
    border: 1px solid rgba(89,230,213,.16);
    border-radius: 50%;
    box-shadow: 0 0 0 55px rgba(89,230,213,.022), 0 0 0 110px rgba(89,230,213,.015);
}
.hero-copy { position: relative; z-index: 1; }
.hero-copy h1 { font-size: clamp(2.35rem, 5vw, 4.45rem); line-height: .98; margin: .7rem 0 1.25rem; max-width: 780px; }
.hero-trace {
    color: var(--sn-cyan-bright); /* readable fallback when text-stroke is unavailable */
    text-shadow: 0 0 26px rgba(89,230,213,.08);
}
@supports (-webkit-text-stroke: 1px currentColor) {
    .hero-trace {
        color: transparent;
        -webkit-text-fill-color: transparent;
        -webkit-text-stroke: 1.35px rgba(128,255,240,.78);
        paint-order: stroke fill;
    }
}
.hero-lead { max-width: 760px; color: #a8bcc3; font-size: clamp(1.05rem, 1.8vw, 1.28rem); line-height: 1.7; }
.live-chip {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .35rem .58rem;
    border: 1px solid rgba(123,228,149,.22);
    border-radius: 999px;
    color: #b9efc7;
    background: rgba(123,228,149,.055);
    font-size: .73rem;
}
.hero-stats { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .8rem; margin-top: 2.1rem; max-width: 720px; }
.hero-stats > div { padding: 1rem; border-top: 1px solid var(--sn-border); }
.hero-stats strong { display: block; color: #fff; font-size: .95rem; }
.hero-stats span { display: block; color: var(--sn-muted); font-size: .78rem; margin-top: .35rem; }
.signal-console {
    position: relative;
    z-index: 1;
    padding: 1.25rem;
    border: 1px solid rgba(89,230,213,.25);
    border-radius: 18px;
    background: rgba(3, 12, 17, .78);
    box-shadow: 0 28px 70px rgba(0,0,0,.35), inset 0 0 45px rgba(89,230,213,.025);
}
.console-topbar { display: flex; justify-content: space-between; align-items: center; padding-bottom: .9rem; border-bottom: 1px solid var(--sn-border); }
.console-topbar > span { display: flex; gap: .35rem; }
.console-topbar i { width: .48rem; height: .48rem; border-radius: 50%; background: rgba(143,169,178,.45); }
.console-topbar i:first-child { background: var(--sn-cyan); }
.console-topbar small { color: #68848d; letter-spacing: .14em; font-size: .63rem; }
.console-symbol-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.3rem 0; }
.console-symbol-row > div { display: grid; }
.console-kicker { color: var(--sn-muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; }
.console-symbol-row strong { font-size: 2.35rem; line-height: 1; margin: .35rem 0; }
.console-symbol-row small { color: var(--sn-muted); }
.signal-state { padding: .45rem .6rem; border-radius: 8px; font-size: .72rem; font-weight: 700; }
.signal-state.positive { background: rgba(123,228,149,.09); border: 1px solid rgba(123,228,149,.25); color: #9af0ad; }
.featured-console-symbol {
    display: block;
    color: #ffffff;
    font-size: 2.35rem;
    font-weight: 760;
    line-height: 1;
    text-decoration: none;
    letter-spacing: -.04em;
}
.featured-console-symbol:hover { color: var(--sn-cyan-bright); }
.signal-card-teaser { position: relative; }
.signal-card-teaser::after {
    content: "Preview";
    position: absolute;
    top: .8rem;
    right: .8rem;
    padding: .22rem .42rem;
    border: 1px solid rgba(89,230,213,.24);
    border-radius: 6px;
    color: var(--sn-cyan);
    background: rgba(5,14,20,.86);
    font-size: .62rem;
    font-weight: 760;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.signal-card-teaser .card-body { padding-top: 2.85rem; }
.signal-preview-lock { color: var(--sn-cyan); font-weight: 650; }
.signal-teaser-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border: 1px solid var(--sn-border);
    border-radius: 12px;
    background: rgba(8,19,26,.72);
    color: var(--sn-muted);
}
.console-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.console-grid > div { padding: .85rem; border: 1px solid var(--sn-border); border-radius: 10px; background: rgba(255,255,255,.018); }
.console-grid span { display: block; color: var(--sn-muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }
.console-grid strong { display: block; margin-top: .35rem; font-size: .95rem; }
.range-visual { margin: 1.2rem 0; }
.range-labels { display: flex; justify-content: space-between; color: #6f8b94; font-size: .63rem; text-transform: uppercase; letter-spacing: .06em; }
.range-track { height: 5px; position: relative; margin-top: .65rem; border-radius: 999px; background: linear-gradient(90deg, rgba(255,123,146,.55), rgba(246,199,111,.65), rgba(123,228,149,.8)); }
.range-track span { position: absolute; top: 50%; width: 13px; height: 13px; border: 3px solid #071118; border-radius: 50%; background: #fff; transform: translate(-50%,-50%); box-shadow: 0 0 14px rgba(255,255,255,.45); }
.console-foot { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--sn-border); padding-top: .85rem; color: var(--sn-muted); font-size: .72rem; }
.console-foot strong { color: var(--sn-cyan); }
.feature-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--sn-border); border-radius: 16px; overflow: hidden; background: rgba(8,19,26,.72); }
.feature-strip > div { padding: 1.2rem; border-right: 1px solid var(--sn-border); }
.feature-strip > div:last-child { border-right: 0; }
.feature-index { color: var(--sn-cyan); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .68rem; }
.feature-strip strong { display: block; margin: .45rem 0 .25rem; }
.feature-strip small { color: var(--sn-muted); line-height: 1.45; }
.intel-callout { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 1.3rem 1.5rem; border: 1px solid var(--sn-border); border-left: 3px solid var(--sn-cyan); border-radius: 12px; }
.intel-callout p { margin: .25rem 0 0; color: var(--sn-muted); }
.pricing-card { position: relative; }
.pricing-featured { border-color: rgba(89,230,213,.48); box-shadow: 0 20px 55px rgba(53,205,187,.08); }
.pricing-tag { color: var(--sn-cyan); font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; }
.min-plan-description { min-height: 4.5rem; }
.compact-plan-feature-list { font-size: .86rem; color: var(--sn-muted); }
.compact-plan-feature-list li + li,
.plan-feature-list li + li { margin-top: .45rem; }
.plan-savings { color: var(--sn-green); font-weight: 700; }
.home-public-access-note { justify-content: center; text-align: center; }
.plan-comparison-table-wrap { border: 1px solid var(--sn-border); border-radius: 14px; overflow: hidden; }
.plan-comparison-table { margin-bottom: 0; }
.plan-comparison-table th:first-child { min-width: 220px; }
.plan-comparison-table thead th { white-space: nowrap; }
.plan-comparison-table tbody th { color: var(--sn-text); font-weight: 650; }


/* Forms and authentication */
.form-label { color: #c9dade; font-size: .82rem; font-weight: 650; }
.form-control,
.form-select {
    color: #f2f8f9;
    background-color: rgba(2, 10, 14, .62);
    border-color: rgba(139,181,192,.24);
    border-radius: 10px;
    min-height: 44px;
}
.form-control:focus,
.form-select:focus {
    color: #fff;
    background-color: rgba(4, 14, 19, .9);
    border-color: var(--sn-cyan);
    box-shadow: 0 0 0 .2rem rgba(89,230,213,.10);
}
.form-control::placeholder { color: #5f7981; }
.form-text { color: #738f98; }
.form-check-input { background-color: #071118; border-color: rgba(143,169,178,.42); }
.form-check-input:checked { background-color: var(--sn-cyan); border-color: var(--sn-cyan); }
.auth-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,520px); gap: clamp(2rem,7vw,7rem); align-items: center; min-height: 660px; }
.auth-grid-compact { min-height: 560px; }
.auth-intro h1 { font-size: clamp(2.4rem,5vw,4.8rem); line-height: 1.02; margin: .75rem 0 1rem; max-width: 850px; }
.auth-intro > p { color: #9fb4bb; font-size: 1.08rem; line-height: 1.7; max-width: 720px; }
.auth-proof-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; margin-top: 2rem; }
.auth-proof-grid > div { border-top: 1px solid var(--sn-border); padding-top: 1rem; }
.auth-proof-grid strong { display: block; font-size: .86rem; color: #e9f5f7; }
.auth-proof-grid span { display: block; color: var(--sn-muted); font-size: .75rem; margin-top: .35rem; line-height: 1.45; }
.auth-panel { border: 1px solid rgba(89,230,213,.22); border-radius: 20px; padding: clamp(1.4rem,3vw,2.2rem); box-shadow: var(--sn-shadow); position: relative; overflow: hidden; }
.auth-panel::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 2px; background: linear-gradient(90deg, transparent, var(--sn-cyan), transparent); opacity: .8; }
.auth-panel-header { margin-bottom: 1.4rem; }
.auth-panel-header h2 { margin: .6rem 0 .35rem; font-size: 2rem; }
.auth-panel-header p { color: var(--sn-muted); margin: 0; }
.status-line { display: inline-flex; align-items: center; gap: .45rem; color: #92c9c2; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; }
.auth-form { padding-top: .25rem; }
.turnstile-panel { margin: 1rem 0 1.15rem; padding: .8rem; border: 1px solid rgba(89,230,213,.16); border-radius: 10px; background: rgba(3,12,17,.55); }
.security-label { color: #dce9ec; font-size: .74rem; font-weight: 700; }
.security-status { color: #708b94; font-size: .68rem; }
.cf-turnstile { width: 100%; min-height: 1px; }

/* Alerts, lists, navigation pills, pagination */
.alert { color: #d9e7ea; background: rgba(16,33,43,.9); border-color: var(--sn-border); border-radius: 12px; }
.alert-success { border-left: 3px solid var(--sn-green); }
.alert-danger { border-left: 3px solid var(--sn-red); }
.alert-warning { border-left: 3px solid var(--sn-amber); }
.alert-info { border-left: 3px solid var(--sn-blue); }

/* Quiet persistent guidance: use alerts only for actionable/transient states. */
.context-note {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    padding: .72rem .88rem;
    border: 1px solid var(--sn-border);
    border-radius: 10px;
    background: rgba(255,255,255,.018);
    color: var(--sn-muted);
    font-size: .88rem;
    line-height: 1.5;
}
.context-note-plan { border-left: 2px solid var(--sn-border-strong); }
.context-note-compact { padding: .55rem .7rem; font-size: .82rem; }
.context-note a,
.context-details a { font-weight: 650; }
.context-details {
    border-top: 1px solid var(--sn-border);
    border-bottom: 1px solid var(--sn-border);
    padding: .65rem 0;
}
.context-details summary {
    cursor: pointer;
    color: var(--sn-muted);
    font-size: .88rem;
    font-weight: 650;
}
.context-details[open] summary { color: var(--sn-text); }
.context-details-body {
    max-width: 980px;
    padding-top: .65rem;
    color: var(--sn-muted);
    font-size: .88rem;
    line-height: 1.55;
}
.context-details-body p { margin: 0 0 .55rem; }
.context-details-body p:last-child { margin-bottom: 0; }
.empty-state {
    padding: 1rem;
    border: 1px dashed var(--sn-border);
    border-radius: 10px;
    color: var(--sn-muted);
    background: rgba(255,255,255,.012);
}
.alert-secondary, .alert-light { border-left: 3px solid #67828a; }
.btn-close { filter: invert(1) grayscale(1); }
.list-group { border-radius: 14px; overflow: hidden; }
.list-group-item { color: var(--sn-text); border-color: var(--sn-border); }
.list-group-item-action:hover { color: #fff; background: rgba(89,230,213,.055); }
.nav-pills { gap: .45rem; }
.nav-pills .nav-link { color: #9cb1b8; border: 1px solid var(--sn-border); border-radius: 9px; }
.nav-pills .nav-link.active { color: #04110f; background: var(--sn-cyan); border-color: var(--sn-cyan); }
.page-link { color: #c7dade; background: rgba(10,23,31,.86); border-color: var(--sn-border); }
.page-link:hover { color: #fff; background: rgba(89,230,213,.08); border-color: rgba(89,230,213,.35); }
.active > .page-link { color: #04110f; background: var(--sn-cyan); border-color: var(--sn-cyan); }
.disabled > .page-link { color: #526a72; background: rgba(7,16,22,.65); border-color: var(--sn-border); }
.badge { border-radius: 7px; font-weight: 700; letter-spacing: .015em; }
.text-bg-success { color: #c6f7d0 !important; background: rgba(123,228,149,.12) !important; border: 1px solid rgba(123,228,149,.23); }
.text-bg-danger { color: #ffc1cc !important; background: rgba(255,123,146,.11) !important; border: 1px solid rgba(255,123,146,.24); }
.text-bg-secondary { color: #c3d2d6 !important; background: rgba(143,169,178,.10) !important; border: 1px solid rgba(143,169,178,.2); }
.text-bg-primary { color: #b9fff7 !important; background: rgba(89,230,213,.10) !important; border: 1px solid rgba(89,230,213,.23); }

/* Dashboard and admin metrics */
.metric-card { background: linear-gradient(180deg, rgba(13,30,40,.92), rgba(8,19,26,.92)); border-color: var(--sn-border) !important; border-radius: 14px !important; position: relative; overflow: hidden; }
.metric-card::after { content: ""; position: absolute; inset: auto 0 0 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(89,230,213,.42), transparent); }
.metric-card .fs-3 { color: #fff; }

/* Tracker */
.filter-panel { position: relative; z-index: 2; border-radius: 16px; border-color: var(--sn-border); }
.filter-submit { min-width: 0; }
.filter-submit .btn { width: 100%; min-width: 0; padding-left: .4rem; padding-right: .4rem; }
.tracker-file-date { color: var(--sn-text); font-weight: 760; }
.tracker-observed-date { color: var(--sn-muted); font-weight: 500; }
.tracker-table-wrap { border: 1px solid var(--sn-border); border-radius: 15px; background: rgba(5,14,20,.85); overflow: hidden; }
.tracker-table { margin-bottom: 0; min-width: 1320px; color: var(--sn-text); --bs-table-color: var(--sn-text); --bs-table-bg: transparent; --bs-table-hover-color: #fff; --bs-table-hover-bg: rgba(89,230,213,.035); }
.sticky-table-head { position: static; }
.sticky-table-head th {
    position: sticky;
    top: 72px;
    z-index: 10;
    color: #8fa7af;
    background: #091820;
    border-color: var(--sn-border);
    box-shadow: inset 0 -1px 0 var(--sn-border);
    font-size: .69rem;
    text-transform: uppercase;
    letter-spacing: .065em;
    white-space: nowrap;
}
.tracker-table td { border-color: rgba(127,171,182,.12); }
.tracker-summary { cursor: pointer; }
.tracker-summary:focus-within { outline: 2px solid rgba(89,230,213,.35); outline-offset: -2px; }
.tracker-detail td { background: rgba(10,25,34,.88); font-size: .92rem; }
.table-success {
    --bs-table-color: var(--sn-text);
    --bs-table-striped-color: var(--sn-text);
    --bs-table-active-color: #ffffff;
    --bs-table-hover-color: #ffffff;
    --bs-table-bg: rgba(123,228,149,.055);
    --bs-table-hover-bg: rgba(123,228,149,.085);
}
.table-danger {
    --bs-table-color: var(--sn-text);
    --bs-table-striped-color: var(--sn-text);
    --bs-table-active-color: #ffffff;
    --bs-table-hover-color: #ffffff;
    --bs-table-bg: rgba(255,123,146,.05);
    --bs-table-hover-bg: rgba(255,123,146,.08);
}
/* Bootstrap table variants carry their own dark text color. Guard themed rows explicitly. */
.tracker-table tbody tr.table-success > *,
.tracker-table tbody tr.table-danger > * { color: var(--sn-text); }
.issuer-cell { max-width: 260px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.issuer-cell-wide { min-width: 280px; max-width: 380px; }
.issuer-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.group-toggle-button { color: inherit; }
.direction-icon::before { content: "▸"; display: inline-block; transition: transform .15s ease; color: var(--sn-cyan); }
.tracker-summary[aria-expanded="true"] .direction-icon::before { transform: rotate(90deg); }
.tracker-summary-expandable { cursor: pointer; }
.signal-badge-list { display: flex; flex-wrap: wrap; gap: .35rem; }
.signal-badge-list .badge { white-space: normal; text-align: left; }
.tracker-history-limit td { background: rgba(246,199,111,.07); color: #e8ce9d; font-size: .88rem; }
.tracker-group-expanded > td:first-child { border-left: 2px solid var(--sn-cyan) !important; }
.tracker-group-expanded > td:last-child { border-right: 2px solid var(--sn-cyan) !important; }
.tracker-group-first.tracker-group-expanded > td { border-top: 2px solid var(--sn-cyan) !important; }
.tracker-group-last.tracker-group-expanded > td { border-bottom: 2px solid var(--sn-cyan) !important; }
.mobile-signal-card { border: 1px solid var(--sn-border); }
.mobile-signal-card .card-body { padding: 1rem; }
.mobile-metrics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.mobile-metrics-grid > div { padding: .75rem; border: 1px solid rgba(130,174,185,.12); border-radius: 9px; background: rgba(255,255,255,.018); min-width: 0; }
.metric-label { display: block; color: var(--sn-muted); font-size: .72rem; margin-bottom: .18rem; text-transform: uppercase; letter-spacing: .045em; }
.range-progress { height: .55rem; background: #142832; }
.progress-bar { background: linear-gradient(90deg, var(--sn-cyan), var(--sn-green)); }
.history-details summary { cursor: pointer; font-weight: 650; color: var(--sn-cyan); }
.min-w-0 { min-width: 0; }

/* Tables and corporate action review */
.table { --bs-table-color: var(--sn-text); --bs-table-bg: transparent; --bs-table-border-color: rgba(127,171,182,.14); }
.table > :not(caption) > * > * { padding: .82rem .7rem; }
.table thead th { color: #86a0a9; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; }
.corporate-review-form { width: min(100%, 300px); flex: 0 0 auto; background: rgba(2,10,14,.38); border-color: var(--sn-border) !important; }

/* Footer */
.app-footer { border-top: 1px solid var(--sn-border); background: rgba(3,9,13,.72); }

/* Mobile navigation */
.mobile-nav-toggle,
.mobile-nav-close {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--sn-text);
}
.mobile-nav-toggle {
    width: 44px;
    height: 44px;
    flex-direction: column;
    gap: 5px;
    border: 1px solid rgba(145,185,197,.22);
    border-radius: 13px;
    background: rgba(255,255,255,.025);
}
.mobile-nav-close {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border: 1px solid rgba(145,185,197,.16);
    border-radius: 999px;
    background: rgba(255,255,255,.018);
}
.mobile-nav-toggle > span {
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform .16s ease, width .16s ease;
}
.mobile-nav-toggle > span:nth-child(2) { width: 13px; margin-left: 5px; }
.mobile-nav-toggle:hover,
.mobile-nav-toggle:focus-visible,
.mobile-nav-close:hover,
.mobile-nav-close:focus-visible {
    color: var(--sn-cyan-bright);
    border-color: rgba(89,230,213,.42);
    background: rgba(89,230,213,.075);
    outline: 0;
    box-shadow: 0 0 0 .2rem rgba(89,230,213,.10);
}
.app-mobile-nav {
    --bs-offcanvas-width: min(390px, 91vw);
    color: var(--sn-text);
    background:
        radial-gradient(circle at 90% 0%, rgba(53,205,187,.11), transparent 18rem),
        #071118;
    border-left: 1px solid rgba(123,171,183,.20);
    box-shadow: -30px 0 80px rgba(0,0,0,.38);
}
.app-mobile-nav-header {
    position: relative;
    min-height: 88px;
    padding: 1.15rem 4.65rem 1rem 1.15rem;
    border-bottom: 1px solid var(--sn-border);
}
.app-mobile-nav-header .mobile-nav-close {
    position: absolute;
    top: 50%;
    right: 1.15rem;
    z-index: 2;
    transform: translateY(-50%);
}
.mobile-nav-close span {
    position: absolute;
    width: 14px;
    height: 1.5px;
    border-radius: 999px;
    background: currentColor;
}
.mobile-nav-close span:first-child { transform: rotate(45deg); }
.mobile-nav-close span:last-child { transform: rotate(-45deg); }
.app-mobile-nav-body {
    display: flex;
    flex-direction: column;
    padding: 1rem 1.15rem 1.25rem;
}
.mobile-nav-section-label {
    margin: .15rem .4rem .55rem;
    color: var(--sn-muted);
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.mobile-nav-links { display: grid; gap: .4rem; }
.mobile-nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 64px;
    padding: .78rem .9rem;
    color: var(--sn-text);
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 13px;
    background: rgba(255,255,255,.018);
}
.mobile-nav-link > span:first-child { display: flex; flex-direction: column; min-width: 0; }
.mobile-nav-link strong { font-size: .96rem; font-weight: 700; }
.mobile-nav-link small { margin-top: .15rem; color: var(--sn-muted); font-size: .75rem; }
.mobile-nav-link > span:last-child { color: var(--sn-muted); font-size: 1.45rem; line-height: 1; }
.mobile-nav-link:hover,
.mobile-nav-link:focus-visible {
    color: var(--sn-text);
    border-color: rgba(89,230,213,.20);
    background: rgba(89,230,213,.055);
    outline: 0;
}
.mobile-nav-link.active {
    color: var(--sn-cyan-bright);
    border-color: rgba(89,230,213,.24);
    background: rgba(89,230,213,.085);
}
.mobile-nav-link.active small { color: #a5c5c7; }
.mobile-nav-account {
    display: grid;
    gap: .7rem;
    padding-top: 1.15rem;
    margin-top: auto !important;
    border-top: 1px solid var(--sn-border);
}
.mobile-user-card {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .75rem .85rem;
    border: 1px solid var(--sn-border);
    border-radius: 13px;
    background: rgba(255,255,255,.022);
}
.mobile-user-card > span:last-child { display: flex; flex-direction: column; }
.mobile-user-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mobile-user-card small { color: var(--sn-cyan); }
.footer-copyright {
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    gap: .42rem;
    flex-wrap: wrap;
    min-width: 0;
    max-width: 100%;
}
.footer-copyright-wordmark { font-size: .72rem; }

/* Responsive */
@media (min-width: 992px) {
    .app-nav-links {
        flex-direction: row;
        align-items: center;
        flex-wrap: nowrap;
    }
    .app-nav-links .nav-item { flex: 0 0 auto; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .tracker-table-wrap { overflow-x: auto; }
    .sticky-table-head th { position: static; }
    .app-nav-links { margin-left: .5rem; }
}
@media (max-width: 991.98px) {
    .hero-panel { grid-template-columns: 1fr; min-height: 0; }
    .signal-console { max-width: 680px; }
    .feature-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .feature-strip > div:nth-child(2) { border-right: 0; }
    .feature-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--sn-border); }
    .auth-grid { grid-template-columns: 1fr; min-height: 0; gap: 1.35rem; }
    .auth-panel { order: 1; }
    .auth-intro { order: 2; max-width: 760px; padding-top: .35rem; }
}
@media (max-width: 767.98px) {
    .signal-teaser-cta { align-items: stretch; flex-direction: column; }
    .hero-panel { padding: 2rem 1.25rem; border-radius: 18px; }
    .hero-copy h1 { font-size: clamp(2.15rem, 12vw, 3.65rem); }
    .hero-stats { grid-template-columns: 1fr; }
    .auth-proof-grid { display: none; }
    .feature-strip { grid-template-columns: 1fr; }
    .feature-strip > div { border-right: 0; border-bottom: 1px solid var(--sn-border); }
    .feature-strip > div:last-child { border-bottom: 0; }
    .intel-callout { align-items: stretch; flex-direction: column; }
    .auth-intro h1 { font-size: clamp(2rem, 9vw, 2.6rem); margin-top: .5rem; }
    .auth-intro > p { font-size: .96rem; line-height: 1.55; }
}
@media (max-width: 575.98px) {
    .app-footer .text-lg-end {
        text-align: left;
        min-width: 0;
        max-width: 100%;
    }

    .footer-copyright {
        justify-content: flex-start;
        width: 100%;
        row-gap: .3rem;
    }
    main.container-xl { padding-left: .75rem; padding-right: .75rem; }
    .brand-copy small { display: none; }
    .brand-copy strong, .brand-wordmark { font-size: .88rem; }
    .signal-console { padding: 1rem; }
    .console-symbol-row { align-items: flex-start; flex-direction: column; }
    .console-grid { grid-template-columns: 1fr; }
    .mobile-metrics-grid { gap: .5rem; }
    .mobile-metrics-grid > div { padding: .65rem; }
    .filter-panel .btn { min-height: 44px; }
    .auth-panel { padding: 1.2rem; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
.table-light { --bs-table-bg: #091820; --bs-table-color: #9bb2ba; --bs-table-border-color: var(--sn-border); }
.text-bg-light { color: #dbe8eb !important; background: rgba(143,169,178,.09) !important; border-color: rgba(143,169,178,.22) !important; }
.text-dark { color: #dbe8eb !important; }

/* Product update Markdown output. Raw HTML remains escaped by the renderer. */
.update-body { color: var(--sn-text); line-height: 1.72; }
.update-body > :first-child { margin-top: 0; }
.update-body > :last-child { margin-bottom: 0; }
.update-body p { margin: 0 0 1.15rem; }
.update-body h2,
.update-body h3 { margin: 1.75rem 0 .7rem; color: #f3fafb; }
.update-body h2 { font-size: 1.55rem; }
.update-body h3 { font-size: 1.22rem; }
.update-body ul,
.update-body ol { margin: 0 0 1.2rem; padding-left: 1.4rem; }
.update-body li + li { margin-top: .38rem; }
.update-body strong { color: #ffffff; }
.update-body code {
    padding: .12rem .32rem;
    border: 1px solid var(--sn-border);
    border-radius: 5px;
    background: rgba(255,255,255,.045);
    color: var(--sn-cyan-bright);
    font-size: .9em;
}
.update-body blockquote {
    margin: 0 0 1.2rem;
    padding: .2rem 0 .2rem 1rem;
    border-left: 2px solid var(--sn-border-strong);
    color: var(--sn-muted);
}
.update-body a { font-weight: 650; }

/* Learn / educational SEO cluster */
.learn-hero {
    max-width: 850px;
    padding-top: .4rem;
}
.learn-card,
.learn-related-card {
    transition: transform .16s ease, border-color .16s ease, background-color .16s ease;
}
.learn-card:hover,
.learn-card:focus-within,
.learn-related-card:hover,
.learn-related-card:focus-visible {
    transform: translateY(-2px);
    border-color: var(--sn-border-strong);
}
.learn-article { line-height: 1.72; }
.learn-article-body {
    display: grid;
    gap: 2rem;
}
.learn-article-body section {
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--sn-border);
}
.learn-article-body section:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}
.learn-article-body h2 {
    margin: 0 0 .8rem;
    font-size: clamp(1.35rem, 2.2vw, 1.75rem);
}
.learn-article-body p { margin: 0 0 1rem; color: var(--sn-text); }
.learn-article-body p:last-child { margin-bottom: 0; }
.learn-article-body ul { margin: 0; padding-left: 1.3rem; }
.learn-article-body li + li { margin-top: .45rem; }
.learn-takeaway {
    padding: 1rem 1.1rem;
    border: 1px solid rgba(89,230,213,.22);
    border-left: 3px solid var(--sn-cyan);
    border-radius: 12px;
    background: rgba(89,230,213,.045);
}
.learn-takeaway > span {
    display: block;
    margin-bottom: .35rem;
    color: var(--sn-cyan-bright);
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.learn-comparison-table th,
.learn-comparison-table td { vertical-align: top; }
.learn-comparison-table tbody th { min-width: 150px; }
.learn-source-note {
    padding-top: 1.5rem;
    border-top: 1px solid var(--sn-border);
}
.learn-source-note li + li { margin-top: .35rem; }

/* Theme selector */
.btn-theme {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-width: 112px;
    color: var(--sn-text);
    background: rgba(127, 171, 182, .06);
    border: 1px solid var(--sn-border);
}
.btn-theme:hover,
.btn-theme:focus-visible {
    color: var(--sn-text);
    background: rgba(89, 230, 213, .09);
    border-color: var(--sn-border-strong);
}
.theme-toggle-icon {
    display: inline-grid;
    place-items: center;
    width: 1.1rem;
    height: 1.1rem;
    font-size: .98rem;
    line-height: 1;
}

/* Light mode is the default when no theme cookie exists. */
html[data-bs-theme="light"] {
    --sn-bg: #f3f7f9;
    --sn-bg-elevated: #ffffff;
    --sn-panel: rgba(255, 255, 255, .94);
    --sn-panel-solid: #ffffff;
    --sn-panel-soft: #edf4f6;
    --sn-border: rgba(35, 75, 88, .16);
    --sn-border-strong: rgba(0, 126, 115, .44);
    --sn-text: #10252d;
    --sn-muted: #5d747d;
    --sn-cyan: #008f82;
    --sn-cyan-bright: #006f65;
    --sn-green: #208a48;
    --sn-red: #c53d58;
    --sn-amber: #9a6812;
    --sn-blue: #276fbd;
    --sn-shadow: 0 20px 55px rgba(36, 67, 78, .12);
    --bs-primary: #008f82;
    --bs-primary-rgb: 0, 143, 130;
    --bs-link-color: #00796f;
    --bs-link-hover-color: #005e56;
    --bs-body-bg: var(--sn-bg);
    --bs-body-color: var(--sn-text);
    --bs-secondary-color: var(--sn-muted);
    --bs-border-color: var(--sn-border);
    --bs-tertiary-bg: var(--sn-panel-soft);
    --bs-emphasis-color: #08191f;
    --bs-card-bg: var(--sn-panel);
    --bs-card-border-color: var(--sn-border);
}
html[data-bs-theme="light"] body.app-body {
    color: var(--sn-text);
    background:
        radial-gradient(circle at 12% 9%, rgba(0, 143, 130, .09), transparent 33rem),
        radial-gradient(circle at 90% 16%, rgba(39, 111, 189, .07), transparent 34rem),
        linear-gradient(180deg, #fbfdfe 0%, #f3f7f9 54%, #edf3f5 100%);
}
html[data-bs-theme="light"] body.app-body::selection { background: rgba(0, 143, 130, .2); color: #06191d; }
html[data-bs-theme="light"] .ambient-grid {
    opacity: .3;
    background-image:
        linear-gradient(rgba(30, 100, 112, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(30, 100, 112, .055) 1px, transparent 1px);
}
html[data-bs-theme="light"] .app-navbar {
    background: rgba(250, 253, 254, .9);
    box-shadow: 0 10px 32px rgba(45, 76, 87, .1);
}
html[data-bs-theme="light"] .app-brand,
html[data-bs-theme="light"] .app-brand:hover { color: #0b2027; }
html[data-bs-theme="light"] .brand-mark { filter: drop-shadow(0 8px 18px rgba(0, 143, 130, .16)); }
html[data-bs-theme="light"] .app-nav-links .nav-link { color: #536c75; }
html[data-bs-theme="light"] .app-nav-links .nav-link:hover { color: #0a232a; background: rgba(15, 73, 82, .055); }
html[data-bs-theme="light"] .app-nav-links .nav-link.active {
    color: #006e65;
    border-color: rgba(0, 143, 130, .2);
    background: rgba(0, 143, 130, .08);
}
html[data-bs-theme="light"] .user-chip {
    color: #17333b;
    background: rgba(255, 255, 255, .72);
}
html[data-bs-theme="light"] .status-dot { box-shadow: 0 0 10px rgba(32, 138, 72, .34); }
html[data-bs-theme="light"] .btn-primary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #008f82;
    --bs-btn-border-color: #008f82;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #00776d;
    --bs-btn-hover-border-color: #00776d;
    --bs-btn-active-bg: #00685f;
    --bs-btn-active-border-color: #00685f;
    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: #4a9c91;
    --bs-btn-disabled-border-color: #4a9c91;
    box-shadow: 0 10px 26px rgba(0, 143, 130, .16);
}
html[data-bs-theme="light"] .btn-ghost,
html[data-bs-theme="light"] .btn-outline-secondary,
html[data-bs-theme="light"] .btn-outline-light,
html[data-bs-theme="light"] .btn-outline-primary {
    --bs-btn-color: #284851;
    --bs-btn-border-color: rgba(39, 82, 94, .25);
    --bs-btn-hover-color: #06252a;
    --bs-btn-hover-bg: rgba(0, 143, 130, .08);
    --bs-btn-hover-border-color: rgba(0, 143, 130, .42);
    --bs-btn-active-bg: rgba(0, 143, 130, .14);
    --bs-btn-active-border-color: rgba(0, 143, 130, .48);
    background: rgba(255, 255, 255, .74);
}
html[data-bs-theme="light"] .btn-theme { background: rgba(255, 255, 255, .78); }
html[data-bs-theme="light"] .update-body { color: #17323a; }
html[data-bs-theme="light"] .update-body h2,
html[data-bs-theme="light"] .update-body h3,
html[data-bs-theme="light"] .update-body strong { color: #0d252d; }
html[data-bs-theme="light"] .update-body code { color: #006e65; background: rgba(0,143,130,.055); }
html[data-bs-theme="light"] .update-body blockquote { color: #526d75; }
html[data-bs-theme="light"] .learn-takeaway {
    border-color: rgba(0,143,130,.18);
    border-left-color: #008f82;
    background: rgba(0,143,130,.045);
}
html[data-bs-theme="light"] .learn-takeaway > span { color: #006e65; }

html[data-bs-theme="light"] .card,
html[data-bs-theme="light"] .filter-panel,
html[data-bs-theme="light"] .tracker-table-wrap,
html[data-bs-theme="light"] .list-group-item,
html[data-bs-theme="light"] .auth-panel,
html[data-bs-theme="light"] .intel-callout {
    background: linear-gradient(180deg, rgba(255, 255, 255, .97), rgba(247, 251, 252, .95));
}
html[data-bs-theme="light"] .card { box-shadow: 0 14px 35px rgba(35, 69, 81, .08); }
html[data-bs-theme="light"] .card:hover { border-color: rgba(0, 143, 130, .24); }
html[data-bs-theme="light"] h1,
html[data-bs-theme="light"] h2,
html[data-bs-theme="light"] h3,
html[data-bs-theme="light"] h4,
html[data-bs-theme="light"] h5,
html[data-bs-theme="light"] h6 { color: #0d252d; }
html[data-bs-theme="light"] .eyebrow::before { box-shadow: none; }
html[data-bs-theme="light"] .hero-panel {
    background:
        linear-gradient(120deg, rgba(255, 255, 255, .98), rgba(242, 249, 250, .94)),
        radial-gradient(circle at 80% 20%, rgba(0, 143, 130, .12), transparent 25rem);
    box-shadow: 0 22px 58px rgba(42, 78, 89, .1);
}
html[data-bs-theme="light"] .hero-panel::before {
    border-color: rgba(0, 143, 130, .14);
    box-shadow: 0 0 0 55px rgba(0, 143, 130, .02), 0 0 0 110px rgba(0, 143, 130, .012);
}
html[data-bs-theme="light"] .hero-trace {
    color: #007f74; /* readable fallback when text-stroke is unavailable */
    text-shadow: 0 1px 0 rgba(255,255,255,.8), 0 3px 12px rgba(0, 93, 84, .10);
}
@supports (-webkit-text-stroke: 1px currentColor) {
    html[data-bs-theme="light"] .hero-trace {
        color: transparent;
        -webkit-text-fill-color: transparent;
        -webkit-text-stroke: 1.55px #00756b;
        paint-order: stroke fill;
    }
}
html[data-bs-theme="light"] .hero-lead { color: #506a73; }
html[data-bs-theme="light"] .live-chip {
    color: #226e3c;
    background: rgba(32, 138, 72, .07);
    border-color: rgba(32, 138, 72, .2);
}
html[data-bs-theme="light"] .hero-stats strong { color: #102a32; }
html[data-bs-theme="light"] .signal-console {
    background: rgba(255, 255, 255, .93);
    box-shadow: 0 28px 65px rgba(42, 78, 89, .16), inset 0 0 45px rgba(0, 143, 130, .018);
}
html[data-bs-theme="light"] .console-topbar small,
html[data-bs-theme="light"] .range-labels { color: #668089; }
html[data-bs-theme="light"] .console-symbol-row strong,
html[data-bs-theme="light"] .featured-console-symbol { color: #0d252d; }
html[data-bs-theme="light"] .featured-console-symbol:hover { color: #006f65; }
html[data-bs-theme="light"] .signal-card-teaser::after {
    color: #006f65;
    background: rgba(255,255,255,.94);
    border-color: rgba(0,143,130,.26);
}
html[data-bs-theme="light"] .signal-teaser-cta { background: rgba(255,255,255,.9); }
html[data-bs-theme="light"] .signal-preview-lock { color: #006f65; }
html[data-bs-theme="light"] .signal-state.positive { color: #1c7138; background: rgba(32, 138, 72, .08); border-color: rgba(32, 138, 72, .22); }
html[data-bs-theme="light"] .console-grid > div,
html[data-bs-theme="light"] .mobile-metrics-grid > div { background: rgba(233, 244, 246, .58); }
html[data-bs-theme="light"] .range-track span { border-color: #ffffff; box-shadow: 0 0 0 1px rgba(31, 67, 78, .18), 0 4px 10px rgba(31, 67, 78, .18); }
html[data-bs-theme="light"] .feature-strip { background: rgba(255, 255, 255, .86); }
html[data-bs-theme="light"] .form-label,
html[data-bs-theme="light"] .security-label { color: #294750; }
html[data-bs-theme="light"] .form-control,
html[data-bs-theme="light"] .form-select {
    color: #10252d;
    background-color: rgba(255, 255, 255, .96);
    border-color: rgba(41, 83, 94, .22);
}
html[data-bs-theme="light"] .form-control:focus,
html[data-bs-theme="light"] .form-select:focus {
    color: #0b2027;
    background-color: #ffffff;
    box-shadow: 0 0 0 .2rem rgba(0, 143, 130, .11);
}
html[data-bs-theme="light"] .form-control::placeholder { color: #81959c; }
html[data-bs-theme="light"] .form-text { color: #667d85; }
html[data-bs-theme="light"] .form-check-input { background-color: #ffffff; border-color: rgba(42, 83, 94, .36); }
html[data-bs-theme="light"] .auth-intro > p { color: #526c75; }
html[data-bs-theme="light"] .auth-proof-grid strong { color: #17323a; }
html[data-bs-theme="light"] .auth-panel { box-shadow: 0 25px 60px rgba(38, 75, 87, .13); }
html[data-bs-theme="light"] .turnstile-panel { background: rgba(238, 247, 248, .7); }
html[data-bs-theme="light"] .security-status { color: #698089; }
html[data-bs-theme="light"] .alert { color: #1e3b44; background: rgba(255, 255, 255, .96); }
html[data-bs-theme="light"] .context-note,
html[data-bs-theme="light"] .empty-state {
    color: #5a727a;
    background: rgba(255,255,255,.72);
}
html[data-bs-theme="light"] .context-details summary,
html[data-bs-theme="light"] .context-details-body { color: #5a727a; }
html[data-bs-theme="light"] .context-details[open] summary { color: #17323a; }
html[data-bs-theme="light"] .btn-close { filter: none; }
html[data-bs-theme="light"] .list-group-item-action:hover { color: #09242a; background: rgba(0, 143, 130, .055); }
html[data-bs-theme="light"] .nav-pills .nav-link { color: #526d75; }
html[data-bs-theme="light"] .nav-pills .nav-link.active { color: #ffffff; background: #008f82; border-color: #008f82; }
html[data-bs-theme="light"] .page-link { color: #33535c; background: rgba(255, 255, 255, .92); }
html[data-bs-theme="light"] .page-link:hover { color: #06252a; background: rgba(0, 143, 130, .08); }
html[data-bs-theme="light"] .active > .page-link { color: #ffffff; background: #008f82; border-color: #008f82; }
html[data-bs-theme="light"] .disabled > .page-link { color: #8a9ba0; background: rgba(238, 244, 246, .88); }
html[data-bs-theme="light"] .text-bg-success { color: #176c34 !important; background: rgba(32, 138, 72, .09) !important; }
html[data-bs-theme="light"] .text-bg-danger { color: #a92d47 !important; background: rgba(197, 61, 88, .08) !important; }
html[data-bs-theme="light"] .text-bg-secondary { color: #46616a !important; background: rgba(93, 116, 125, .08) !important; }
html[data-bs-theme="light"] .text-bg-primary { color: #006e65 !important; background: rgba(0, 143, 130, .08) !important; }
html[data-bs-theme="light"] .metric-card { background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(243,249,250,.96)); }
html[data-bs-theme="light"] .metric-card .fs-3 { color: #102a32; }
html[data-bs-theme="light"] .tracker-table-wrap { background: rgba(255, 255, 255, .93); }
html[data-bs-theme="light"] .tracker-table {
    --bs-table-color: #17323a;
    --bs-table-hover-color: #071f25;
    --bs-table-hover-bg: rgba(0, 143, 130, .04);
}
html[data-bs-theme="light"] .sticky-table-head th { color: #526d75; background: #edf5f6; }
html[data-bs-theme="light"] .tracker-table td { border-color: rgba(47, 91, 103, .12); }
html[data-bs-theme="light"] .tracker-detail td { background: rgba(240, 247, 248, .9); }
html[data-bs-theme="light"] .table-success {
    --bs-table-color: #17323a;
    --bs-table-striped-color: #17323a;
    --bs-table-active-color: #071f25;
    --bs-table-hover-color: #071f25;
    --bs-table-bg: rgba(32, 138, 72, .045);
    --bs-table-hover-bg: rgba(32, 138, 72, .075);
}
html[data-bs-theme="light"] .table-danger {
    --bs-table-color: #17323a;
    --bs-table-striped-color: #17323a;
    --bs-table-active-color: #071f25;
    --bs-table-hover-color: #071f25;
    --bs-table-bg: rgba(197, 61, 88, .04);
    --bs-table-hover-bg: rgba(197, 61, 88, .07);
}
html[data-bs-theme="light"] .tracker-table tbody tr.table-success > *,
html[data-bs-theme="light"] .tracker-table tbody tr.table-danger > * { color: #17323a; }
html[data-bs-theme="light"] .tracker-history-limit td { background: rgba(154, 104, 18, .07); color: #765116; }
html[data-bs-theme="light"] .tracker-file-date { color: #12333b; }
html[data-bs-theme="light"] .tracker-observed-date { color: #6b8289; }
html[data-bs-theme="light"] .range-progress { background: #dbe8eb; }
html[data-bs-theme="light"] .table {
    --bs-table-color: #17323a;
    --bs-table-border-color: rgba(47, 91, 103, .13);
}
html[data-bs-theme="light"] .table thead th { color: #557078; }
html[data-bs-theme="light"] .corporate-review-form { background: rgba(239, 247, 248, .72); }
html[data-bs-theme="light"] .app-mobile-nav {
    color: #17323a;
    background:
        radial-gradient(circle at 90% 0%, rgba(0,143,130,.08), transparent 18rem),
        #f7fbfc;
    border-left-color: rgba(41,83,94,.16);
    box-shadow: -30px 0 80px rgba(38,75,87,.16);
}
html[data-bs-theme="light"] .mobile-nav-toggle { color: #17323a; background: rgba(255,255,255,.82); border-color: rgba(41,83,94,.20); }
html[data-bs-theme="light"] .mobile-nav-close { color: #314e57; background: rgba(255,255,255,.58); border-color: rgba(41,83,94,.14); }
html[data-bs-theme="light"] .mobile-nav-link { color: #17323a; background: rgba(255,255,255,.58); }
html[data-bs-theme="light"] .mobile-nav-link:hover,
html[data-bs-theme="light"] .mobile-nav-link:focus-visible { color: #08262d; background: rgba(0,143,130,.055); }
html[data-bs-theme="light"] .mobile-nav-link.active { color: #006e65; border-color: rgba(0,143,130,.18); background: rgba(0,143,130,.075); }
html[data-bs-theme="light"] .mobile-nav-link.active small { color: #557078; }
html[data-bs-theme="light"] .mobile-user-card { background: rgba(255,255,255,.72); }
html[data-bs-theme="light"] .app-footer { background: rgba(247, 251, 252, .86); }
html[data-bs-theme="light"] .table-light { --bs-table-bg: #edf5f6; --bs-table-color: #526d75; }
html[data-bs-theme="light"] .text-bg-light { color: #3f5b64 !important; background: rgba(93,116,125,.08) !important; }
html[data-bs-theme="light"] .text-dark { color: #17323a !important; }
html[data-bs-theme="light"] .input-group-text { color: #45616a; background: #edf5f6; border-color: rgba(41, 83, 94, .22); }

@media (max-width: 991.98px) {
    .btn-theme { width: 100%; }
}


/* Light-mode control visibility, tracker overflow, and visible Turnstile status */
.form-check-input {
    width: 1.08em;
    height: 1.08em;
    border-width: 1.5px;
    box-shadow: none;
}
.form-switch .form-check-input {
    width: 2.25em;
    height: 1.2em;
}
.form-check-input:focus {
    border-color: var(--sn-cyan);
    box-shadow: 0 0 0 .2rem rgba(89, 230, 213, .14);
}
html[data-bs-theme="light"] .form-check-input {
    background-color: #ffffff;
    border-color: rgba(30, 70, 82, .58);
}
html[data-bs-theme="light"] .form-check-input:checked,
html[data-bs-theme="light"] .form-switch .form-check-input:checked {
    background-color: #008f82;
    border-color: #007f74;
}
html[data-bs-theme="light"] .form-check-input:focus {
    border-color: #008f82;
    box-shadow: 0 0 0 .2rem rgba(0, 143, 130, .18);
}
html[data-bs-theme="light"] .form-check-input:disabled {
    background-color: #e4ecef;
    border-color: rgba(67, 99, 108, .34);
    opacity: .72;
}
html[data-bs-theme="light"] .form-check-input:checked:disabled {
    background-color: #4d9f96;
    border-color: #4d9f96;
}

.tracker-table-wrap {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}
.tracker-table {
    width: 100%;
    min-width: 1720px;
}
.sticky-table-head th {
    position: static;
    top: auto;
}
.tracker-table-wrap::-webkit-scrollbar { height: 12px; }
.tracker-table-wrap::-webkit-scrollbar-track { background: rgba(127, 171, 182, .08); }
.tracker-table-wrap::-webkit-scrollbar-thumb {
    background: rgba(89, 230, 213, .38);
    border: 3px solid transparent;
    border-radius: 999px;
    background-clip: padding-box;
}
html[data-bs-theme="light"] .tracker-table-wrap::-webkit-scrollbar-track { background: rgba(47, 91, 103, .08); }
html[data-bs-theme="light"] .tracker-table-wrap::-webkit-scrollbar-thumb { background-color: rgba(0, 143, 130, .45); }

.turnstile-panel {
    overflow: visible;
}
.turnstile-widget-frame {
    min-height: 65px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.turnstile-widget-frame .cf-turnstile {
    width: 100%;
    min-height: 65px;
}
.security-status {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    min-height: 1.2rem;
}
.security-status::before {
    content: "";
    width: .72rem;
    height: .72rem;
    flex: 0 0 auto;
    border: 2px solid rgba(112, 139, 148, .34);
    border-top-color: currentColor;
    border-radius: 50%;
    opacity: 0;
}
.security-status[data-state="loading"]::before,
.security-status[data-state="checking"]::before,
.security-status[data-state="expired"]::before,
.security-status[data-state="error"]::before {
    opacity: 1;
    animation: stocknode-turnstile-spin .8s linear infinite;
}
.security-status[data-state="ready"] {
    color: var(--sn-green);
}
.security-status[data-state="ready"]::before {
    content: "✓";
    display: inline-grid;
    place-items: center;
    border: 0;
    width: .9rem;
    height: .9rem;
    opacity: 1;
    animation: none;
    font-weight: 800;
}
.security-status[data-state="error"] { color: var(--sn-red); }
.turnstile-help {
    color: var(--sn-muted);
    font-size: .72rem;
    line-height: 1.45;
}
@keyframes stocknode-turnstile-spin {
    to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
    .security-status::before { animation: none !important; }
}

/* Synchronized tracker scrollbar: keep horizontal navigation available above long tables. */
.tracker-scroll-shell {
    min-width: 0;
}
.tracker-top-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    height: 16px;
    margin: 0 .45rem .45rem;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}
.tracker-top-scroll-spacer {
    height: 1px;
}
.tracker-top-scroll::-webkit-scrollbar { height: 12px; }
.tracker-top-scroll::-webkit-scrollbar-track { background: rgba(127, 171, 182, .08); }
.tracker-top-scroll::-webkit-scrollbar-thumb {
    background: rgba(89, 230, 213, .38);
    border: 3px solid transparent;
    border-radius: 999px;
    background-clip: padding-box;
}
html[data-bs-theme="light"] .tracker-top-scroll::-webkit-scrollbar-track { background: rgba(47, 91, 103, .08); }
html[data-bs-theme="light"] .tracker-top-scroll::-webkit-scrollbar-thumb { background-color: rgba(0, 143, 130, .45); }

/* Institutional Research: cross-institution breadth and comparison charts. */
.institutional-research-section {
    scroll-margin-top: 6rem;
}
.research-freshness-pill {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .15rem;
    padding: .7rem .9rem;
    border: 1px solid var(--sn-border);
    border-radius: 12px;
    background: rgba(255,255,255,.025);
}
.research-freshness-pill span {
    color: var(--sn-muted);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.research-freshness-pill strong { font-size: .95rem; }
.research-overview-card {
    border-color: rgba(89,230,213,.24);
    background:
        radial-gradient(circle at 12% 24%, rgba(89,230,213,.09), transparent 22rem),
        linear-gradient(180deg, rgba(14,31,41,.96), rgba(8,20,28,.94));
}
.research-gauge-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.research-gauge {
    width: min(100%, 250px);
    min-height: 150px;
}
.research-gauge svg,
.research-svg-chart svg {
    width: 100%;
    height: auto;
    display: block;
}
.research-gauge-base,
.research-gauge-segment {
    fill: none;
    stroke-width: 24;
    stroke-linecap: butt;
}
.research-gauge-base { stroke: rgba(132,187,203,.12); }
.research-gauge-segment.negative { stroke: var(--sn-red); }
.research-gauge-segment.neutral { stroke: var(--sn-amber); }
.research-gauge-segment.positive { stroke: var(--sn-green); }
.research-gauge-needle {
    stroke: var(--sn-text);
    stroke-width: 3;
    stroke-linecap: round;
    filter: drop-shadow(0 2px 5px rgba(0,0,0,.45));
}
.research-gauge-hub {
    fill: var(--sn-text);
    stroke: var(--sn-panel-solid);
    stroke-width: 3;
}
.research-gauge-score {
    fill: var(--sn-text);
    font-size: 15px;
    font-weight: 800;
}
.research-gauge-caption {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    margin-top: -.35rem;
}
.research-gauge-caption span {
    color: var(--sn-muted);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .1em;
}
.research-gauge-caption strong { font-size: 1.15rem; }
.research-gauge-caption small { color: var(--sn-muted); }
.research-stat-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .65rem;
}
.research-stat {
    padding: .8rem;
    border: 1px solid var(--sn-border);
    border-radius: 12px;
    background: rgba(255,255,255,.022);
}
.research-stat span {
    display: block;
    color: var(--sn-muted);
    font-size: .72rem;
}
.research-stat strong {
    display: block;
    margin-top: .15rem;
    font-size: 1.35rem;
}
.research-stat.positive strong { color: var(--sn-green); }
.research-stat.negative strong { color: var(--sn-red); }
.research-stat.neutral strong { color: var(--sn-amber); }
.research-chart-card { min-height: 430px; }
.research-svg-chart {
    width: 100%;
    min-height: 260px;
    overflow: hidden;
}
.research-chart-grid {
    stroke: rgba(132,187,203,.14);
    stroke-width: 1;
}
.research-chart-baseline {
    stroke: rgba(132,187,203,.34);
    stroke-width: 1.4;
}
.research-chart-axis,
.research-chart-legend,
.research-chart-count {
    fill: var(--sn-muted);
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 11px;
}
.research-chart-legend { fill: var(--sn-text); font-size: 11px; }
.research-chart-count { font-weight: 750; }
.research-chart-count.positive,
.research-chart-axis.positive { fill: var(--sn-green); }
.research-chart-count.negative,
.research-chart-axis.negative { fill: var(--sn-red); }
.research-chart-series {
    fill: none;
    stroke-width: 2.5;
    stroke-linejoin: round;
    stroke-linecap: round;
}
.research-chart-point {
    stroke: var(--sn-panel-solid);
    stroke-width: 1.5;
}
.research-series-0 { stroke: #59e6d5; }
.research-series-1 { stroke: #7be495; }
.research-series-2 { stroke: #6ca8ff; }
.research-series-3 { stroke: #f6c76f; }
.research-series-4 { stroke: #c98cff; }
.research-series-5 { stroke: #ff9f73; }
.research-chart-point.research-series-0 { fill: #59e6d5; }
.research-chart-point.research-series-1 { fill: #7be495; }
.research-chart-point.research-series-2 { fill: #6ca8ff; }
.research-chart-point.research-series-3 { fill: #f6c76f; }
.research-chart-point.research-series-4 { fill: #c98cff; }
.research-chart-point.research-series-5 { fill: #ff9f73; }
.research-activity-bar.positive { fill: var(--sn-green); }
.research-activity-bar.negative { fill: var(--sn-red); }
.research-empty-state {
    min-height: 220px;
    display: grid;
    place-items: center;
    padding: 2rem;
    border: 1px dashed var(--sn-border);
    border-radius: 14px;
    color: var(--sn-muted);
    text-align: center;
    background: rgba(255,255,255,.015);
}
.institution-comparison-list {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}
.institution-comparison-row {
    display: grid;
    grid-template-columns: minmax(190px, 1.15fr) minmax(180px, 1fr) minmax(140px, .7fr);
    gap: 1rem;
    align-items: center;
    padding: .8rem 0;
    border-top: 1px solid var(--sn-border);
}
.institution-comparison-row:first-child { border-top: 0; }
.institution-comparison-name strong,
.institution-comparison-value strong { display: block; }
.institution-comparison-name span,
.institution-comparison-value span {
    display: block;
    color: var(--sn-muted);
    font-size: .75rem;
    margin-top: .15rem;
}
.institution-comparison-meter {
    position: relative;
    height: 16px;
    border-radius: 999px;
    background: rgba(132,187,203,.08);
    overflow: hidden;
}
.institution-comparison-meter .meter-midpoint {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(132,187,203,.42);
    z-index: 2;
}
.institution-comparison-meter .meter-bar {
    position: absolute;
    top: 3px;
    bottom: 3px;
    width: var(--research-bar-width);
    border-radius: 999px;
}
.institution-comparison-meter .meter-bar.positive {
    left: 50%;
    background: var(--sn-green);
}
.institution-comparison-meter .meter-bar.negative {
    right: 50%;
    background: var(--sn-red);
}
.institution-comparison-value { text-align: right; }
.institution-comparison-value.positive strong { color: var(--sn-green); }
.institution-comparison-value.negative strong { color: var(--sn-red); }
.institution-comparison-value.neutral strong { color: var(--sn-amber); }
.research-price-track {
    position: relative;
    height: 12px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(123,228,149,.72), rgba(246,199,111,.72) 52%, rgba(255,123,146,.72));
}
.research-price-marker {
    position: absolute;
    top: 50%;
    width: 18px;
    height: 18px;
    border: 3px solid var(--sn-panel-solid);
    border-radius: 50%;
    background: var(--sn-text);
    transform: translate(-50%, -50%);
    box-shadow: 0 0 0 1px rgba(255,255,255,.25), 0 4px 12px rgba(0,0,0,.35);
}
.research-latest-price,
.research-total-position {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    padding: .9rem;
    border: 1px solid var(--sn-border);
    border-radius: 12px;
    background: rgba(255,255,255,.02);
}
.research-latest-price span,
.research-total-position span,
.research-total-position small { color: var(--sn-muted); font-size: .75rem; }
.research-latest-price strong,
.research-total-position strong { font-size: 1.15rem; }
.research-locked-card {
    border-color: rgba(89,230,213,.22);
    background:
        linear-gradient(100deg, rgba(89,230,213,.06), transparent 50%),
        linear-gradient(180deg, rgba(14,31,41,.94), rgba(8,20,28,.92));
}

html[data-bs-theme="light"] .research-freshness-pill,
html[data-bs-theme="light"] .research-stat,
html[data-bs-theme="light"] .research-latest-price,
html[data-bs-theme="light"] .research-total-position {
    background: rgba(238,247,248,.72);
}
html[data-bs-theme="light"] .research-overview-card {
    background:
        radial-gradient(circle at 12% 24%, rgba(0,143,130,.08), transparent 22rem),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(241,248,249,.96));
}
html[data-bs-theme="light"] .research-gauge-base { stroke: rgba(47,91,103,.14); }
html[data-bs-theme="light"] .research-gauge-needle { stroke: #17323a; }
html[data-bs-theme="light"] .research-gauge-hub { fill: #17323a; stroke: #ffffff; }
html[data-bs-theme="light"] .research-gauge-score,
html[data-bs-theme="light"] .research-chart-legend { fill: #17323a; }
html[data-bs-theme="light"] .research-chart-grid { stroke: rgba(47,91,103,.15); }
html[data-bs-theme="light"] .research-chart-baseline { stroke: rgba(47,91,103,.35); }
html[data-bs-theme="light"] .research-empty-state { background: rgba(238,247,248,.56); }
html[data-bs-theme="light"] .institution-comparison-meter { background: rgba(47,91,103,.09); }
html[data-bs-theme="light"] .institution-comparison-meter .meter-midpoint { background: rgba(47,91,103,.4); }
html[data-bs-theme="light"] .research-price-marker {
    border-color: #ffffff;
    background: #17323a;
}
html[data-bs-theme="light"] .research-locked-card {
    background:
        linear-gradient(100deg, rgba(0,143,130,.06), transparent 50%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(241,248,249,.96));
}

@media (max-width: 991.98px) {
    .research-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .institution-comparison-row {
        grid-template-columns: 1fr;
        gap: .5rem;
    }
    .institution-comparison-value { text-align: left; }
    .institution-comparison-meter { max-width: 520px; }
}

@media (max-width: 575.98px) {
    .research-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .research-freshness-pill { align-items: flex-start; }
    .research-chart-card { min-height: 0; }
    .research-svg-chart { min-height: 210px; overflow-x: auto; }
    .research-svg-chart svg { min-width: 620px; }
}

/* Homepage institutional research spotlight */
.home-research-card {
    overflow: hidden;
}

.home-research-security .console-kicker {
    display: block;
    margin-bottom: .35rem;
}

.home-research-symbol {
    color: var(--bs-body-color);
    font-size: clamp(2rem, 5vw, 3.65rem);
    font-weight: 800;
    letter-spacing: -.06em;
    line-height: .95;
    text-decoration: none;
}

.home-research-symbol:hover,
.home-research-symbol:focus {
    color: var(--app-accent-strong, #0a7a52);
}

.home-research-gauge-wrap {
    max-width: 340px;
}

.home-research-holder-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-research-holder {
    align-items: center;
    background: color-mix(in srgb, var(--bs-body-bg) 88%, var(--bs-border-color));
    border: 1px solid var(--bs-border-color);
    border-left-width: 4px;
    border-radius: .8rem;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    min-width: 0;
    padding: .85rem 1rem;
}

.home-research-holder > div {
    min-width: 0;
}

.home-research-holder strong,
.home-research-holder small {
    display: block;
}

.home-research-holder strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-research-holder small {
    color: var(--bs-secondary-color);
    margin-top: .2rem;
}

.home-research-holder > span {
    font-size: .8rem;
    font-weight: 700;
    white-space: nowrap;
}

.home-research-holder.positive {
    border-left-color: var(--bs-success);
}

.home-research-holder.negative {
    border-left-color: var(--bs-danger);
}

.home-research-holder.neutral {
    border-left-color: var(--bs-secondary-color);
}

.home-research-range .research-price-track {
    min-height: 9px;
}

@media (max-width: 767.98px) {
    .home-research-holder-grid {
        grid-template-columns: 1fr;
    }
}

/* Compact institutional research gauge in the tracker. */
.tracker-table { min-width: 1830px; }
.tracker-research-column,
.tracker-research-cell {
    width: 112px;
    min-width: 112px;
    text-align: center;
    vertical-align: middle;
}
.tracker-research-link {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: .05rem;
    color: inherit;
    text-decoration: none;
}
.tracker-research-link:hover .tracker-research-label { text-decoration: underline; }
.research-gauge.tracker-research-gauge {
    width: 88px;
    min-height: 57px;
    margin: 0 auto;
}
.tracker-research-gauge .research-gauge-base,
.tracker-research-gauge .research-gauge-segment { stroke-width: 19; }
.tracker-research-gauge .research-gauge-needle { stroke-width: 4; }
.tracker-research-gauge .research-gauge-score { font-size: 20px; }
.tracker-research-label {
    display: block;
    max-width: 104px;
    font-size: .68rem;
    font-weight: 760;
    line-height: 1.15;
}
.tracker-research-breadth,
.tracker-research-unavailable {
    display: block;
    max-width: 104px;
    color: var(--sn-muted);
    font-size: .62rem;
    line-height: 1.2;
}
.tracker-research-detail-mark {
    color: var(--sn-muted);
    font-size: 1rem;
}
.mobile-research-summary {
    width: 108px;
    flex: 0 0 108px;
}
.mobile-research-summary .tracker-research-gauge { width: 82px; }

/* Anonymous tracker research preview. Only the gauge is synthetic and blurred. */
.tracker-research-locked-link {
    display: flex;
    width: 100%;
    min-height: 57px;
    align-items: center;
    justify-content: center;
    color: inherit;
    text-decoration: none;
}
.tracker-placeholder-visual {
    display: block;
    filter: blur(3.2px);
    opacity: .62;
}
.tracker-placeholder-gauge {
    position: relative;
    width: 76px;
    height: 39px;
    margin: 0 auto;
    border: 10px solid rgba(89, 230, 213, .24);
    border-bottom: 0;
    border-radius: 80px 80px 0 0;
}
.tracker-placeholder-gauge::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -2px;
    width: 27px;
    height: 3px;
    border-radius: 999px;
    background: rgba(221, 239, 242, .42);
    transform: translateX(-3px) rotate(-24deg);
    transform-origin: left center;
}
html[data-bs-theme="light"] .tracker-placeholder-gauge {
    border-color: rgba(0, 111, 91, .24);
}
html[data-bs-theme="light"] .tracker-placeholder-gauge::after {
    background: rgba(23, 50, 58, .4);
}

@media (max-width: 575.98px) {
    .mobile-research-summary {
        width: 94px;
        flex-basis: 94px;
    }
    .mobile-research-summary .tracker-research-gauge { width: 74px; }
}

/* Tracker usability: pinned identity columns, persistent column choices, and cleaner mobile hierarchy. */
.tracker-table-toolbar {
    position: relative;
    z-index: 35;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .45rem;
}
.tracker-column-picker {
    position: relative;
    flex: 0 0 auto;
}
.tracker-column-picker > summary {
    list-style: none;
    cursor: pointer;
}
.tracker-column-picker > summary::-webkit-details-marker { display: none; }
.tracker-column-picker > summary::after {
    content: "▾";
    margin-left: .45rem;
    font-size: .72rem;
}
.tracker-column-picker[open] > summary::after { content: "▴"; }
.tracker-column-picker-panel {
    position: absolute;
    top: calc(100% + .45rem);
    right: 0;
    z-index: 45;
    width: 250px;
    padding: .9rem 1rem;
    border: 1px solid var(--sn-border);
    border-radius: 12px;
    background: #0a1820;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .28);
}
.tracker-column-picker-panel .form-check {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: .55rem;
}
.tracker-column-picker-panel .form-check-input { margin: 0; }
.tracker-column-default-hidden,
.tracker-column-hidden {
    display: none !important;
}
.tracker-table {
    --tracker-research-width: 124px;
    --tracker-security-width: 268px;
    --tracker-holder-width: 184px;
    min-width: 1460px;
    table-layout: auto;
}
.tracker-table th,
.tracker-table td {
    vertical-align: middle;
}
.tracker-table [data-column="signal"] { min-width: 190px; }
.tracker-table [data-column="change"] { min-width: 150px; }
.tracker-table [data-column="ownership"] { min-width: 128px; }
.tracker-table [data-column="dates"] { min-width: 145px; }
.tracker-table [data-column="price-context"] { min-width: 170px; }
.tracker-table [data-column="observation-price"],
.tracker-table [data-column="filing-price"],
.tracker-table [data-column="since-filing"] { min-width: 122px; }
.tracker-sticky-col {
    position: sticky !important;
    z-index: 7;
    background: #07151c !important;
    background-clip: padding-box !important;
}
.tracker-sticky-research {
    left: 0;
    width: var(--tracker-research-width);
    min-width: var(--tracker-research-width);
    max-width: var(--tracker-research-width);
}
.tracker-sticky-security {
    left: var(--tracker-research-width);
    width: var(--tracker-security-width);
    min-width: var(--tracker-security-width);
    max-width: var(--tracker-security-width);
}
.tracker-sticky-holder {
    left: calc(var(--tracker-research-width) + var(--tracker-security-width));
    width: var(--tracker-holder-width);
    min-width: var(--tracker-holder-width);
    max-width: var(--tracker-holder-width);
    border-right: 1px solid rgba(89, 230, 213, .22) !important;
    box-shadow: 9px 0 16px -14px rgba(0, 0, 0, .95);
}
.sticky-table-head .tracker-sticky-col {
    z-index: 18;
    background: #091820 !important;
}
.tracker-summary.table-success .tracker-sticky-col { background: #0c211c !important; }
.tracker-summary.table-danger .tracker-sticky-col { background: #25151a !important; }
.tracker-detail .tracker-sticky-col { background: #0a1922 !important; }
.tracker-summary:hover .tracker-sticky-col { background: #0b1c24 !important; }
.tracker-summary.table-success:hover .tracker-sticky-col { background: #102b23 !important; }
.tracker-summary.table-danger:hover .tracker-sticky-col { background: #301a20 !important; }
.tracker-security-cell,
.tracker-holder-cell {
    overflow: hidden;
}
.tracker-security-link {
    display: block;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}
.tracker-security-link:hover .tracker-security-name { text-decoration: underline; }
.tracker-security-symbol {
    display: block;
    color: var(--sn-cyan);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .015em;
}
.tracker-security-name {
    display: block;
    overflow: hidden;
    margin-top: .08rem;
    color: var(--sn-text);
    font-size: .83rem;
    font-weight: 650;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.tracker-evidence-count,
.tracker-holder-name {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.tracker-evidence-count {
    margin-top: .25rem;
    color: var(--sn-muted);
    font-size: .69rem;
}
.tracker-holder-name { font-weight: 650; }
.tracker-activity {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    font-size: .78rem;
    font-weight: 750;
    line-height: 1.25;
}
.tracker-activity::before {
    content: "";
    width: .52rem;
    height: .52rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #789099;
    box-shadow: 0 0 0 3px rgba(120, 144, 153, .12);
}
.tracker-activity[data-direction="increase"] { color: var(--sn-green); }
.tracker-activity[data-direction="increase"]::before {
    background: var(--sn-green);
    box-shadow: 0 0 0 3px rgba(123, 228, 149, .13);
}
.tracker-activity[data-direction="decrease"],
.tracker-activity[data-direction="exit"] { color: var(--sn-red); }
.tracker-activity[data-direction="decrease"]::before,
.tracker-activity[data-direction="exit"]::before {
    background: var(--sn-red);
    box-shadow: 0 0 0 3px rgba(255, 123, 146, .13);
}
.tracker-change-value {
    margin-top: .18rem;
    font-size: .78rem;
    font-weight: 700;
}
.tracker-range-position {
    margin-top: .16rem;
    color: var(--sn-cyan);
    font-size: .72rem;
    font-weight: 700;
}
.tracker-signal-badges .badge {
    padding: .28rem .38rem;
    font-size: .62rem;
    font-weight: 650;
}
.mobile-signal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.mobile-security-symbol {
    color: var(--sn-cyan);
    font-size: 1.12rem;
    font-weight: 800;
    text-decoration: none;
}
.mobile-security-name {
    display: block;
    overflow: hidden;
    color: var(--sn-text);
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mobile-security-name:hover { text-decoration: underline; }
.mobile-key-metrics > div { min-height: 88px; }
.mobile-filing-details {
    border-top: 1px solid rgba(127, 171, 182, .14);
    padding-top: .8rem;
}
.mobile-filing-details summary {
    cursor: pointer;
    color: var(--sn-cyan);
    font-size: .85rem;
    font-weight: 700;
}
.mobile-signal-badges .badge {
    padding: .3rem .42rem;
    font-size: .64rem;
    font-weight: 650;
}
html[data-bs-theme="light"] .tracker-column-picker-panel {
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(25, 55, 65, .16);
}
html[data-bs-theme="light"] .tracker-sticky-col {
    background: #ffffff !important;
}
html[data-bs-theme="light"] .sticky-table-head .tracker-sticky-col {
    background: #edf5f6 !important;
}
html[data-bs-theme="light"] .tracker-summary.table-success .tracker-sticky-col { background: #eef9f1 !important; }
html[data-bs-theme="light"] .tracker-summary.table-danger .tracker-sticky-col { background: #fff1f3 !important; }
html[data-bs-theme="light"] .tracker-detail .tracker-sticky-col { background: #f0f7f8 !important; }
html[data-bs-theme="light"] .tracker-summary:hover .tracker-sticky-col { background: #f3f8f9 !important; }
html[data-bs-theme="light"] .tracker-summary.table-success:hover .tracker-sticky-col { background: #e7f6eb !important; }
html[data-bs-theme="light"] .tracker-summary.table-danger:hover .tracker-sticky-col { background: #fce9ed !important; }
html[data-bs-theme="light"] .tracker-security-symbol,
html[data-bs-theme="light"] .mobile-security-symbol { color: #007f74; }
html[data-bs-theme="light"] .tracker-security-name,
html[data-bs-theme="light"] .mobile-security-name { color: #12333b; }
html[data-bs-theme="light"] .tracker-range-position { color: #007f74; }

@media (max-width: 1199.98px) {
    .tracker-table {
        --tracker-research-width: 116px;
        --tracker-security-width: 238px;
        --tracker-holder-width: 166px;
    }
}

@media (max-width: 575.98px) {
    .mobile-signal-header { gap: .65rem; }
    .mobile-signal-card .card-body { padding: .9rem; }
    .mobile-key-metrics > div { min-height: 80px; }
}

/* Public security teasers and tracker research sorting */
.tracker-sort-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem .65rem;
}
.tracker-sort-links a {
    color: var(--sn-muted);
    text-decoration: none;
}
.tracker-sort-links a:hover,
.tracker-sort-links a.active {
    color: var(--sn-green);
    text-decoration: underline;
    text-underline-offset: .18rem;
}
.tracker-research-sort-link {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: inherit;
    text-decoration: none;
}
.tracker-research-sort-link:hover {
    color: var(--sn-green);
}

.research-public-preview-card {
    border-color: rgba(89, 230, 213, .24);
}
.research-public-gauge-wrap {
    min-height: 188px;
}
.research-public-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.public-holder-list {
    display: grid;
    gap: .65rem;
}
.public-holder-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem .85rem;
    border: 1px solid rgba(127, 171, 182, .15);
    border-radius: 10px;
    background: rgba(127, 171, 182, .04);
}
.public-holder-row strong {
    min-width: 0;
}
.public-holder-row span {
    color: var(--sn-muted);
    white-space: nowrap;
    font-size: .875rem;
}
.research-detail-teaser {
    overflow: hidden;
}
.research-synthetic-preview {
    max-width: 520px;
    padding: .9rem;
    border: 1px solid rgba(127, 171, 182, .15);
    border-radius: 12px;
    background: rgba(127, 171, 182, .035);
    filter: blur(3px);
    user-select: none;
    pointer-events: none;
}
.research-synthetic-line {
    display: block;
    height: 10px;
    margin-bottom: .55rem;
    border-radius: 999px;
    background: rgba(127, 171, 182, .25);
}
.research-synthetic-line.wide { width: 88%; }
.research-synthetic-line.medium { width: 66%; }
.research-synthetic-line.short { width: 44%; }
.research-synthetic-bars {
    display: flex;
    align-items: end;
    gap: .5rem;
    height: 52px;
    margin-top: .85rem;
}
.research-synthetic-bars span {
    display: block;
    width: 18%;
    border-radius: 5px 5px 2px 2px;
    background: rgba(89, 230, 213, .22);
}
.research-synthetic-bars span:nth-child(1) { height: 32%; }
.research-synthetic-bars span:nth-child(2) { height: 72%; }
.research-synthetic-bars span:nth-child(3) { height: 48%; }
.research-synthetic-bars span:nth-child(4) { height: 86%; }
.security-discovery-section {
    padding-bottom: 1rem;
}
.security-discovery-list {
    display: grid;
    gap: .55rem;
}
.security-discovery-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem .9rem;
    border: 1px solid rgba(127, 171, 182, .14);
    border-radius: 10px;
    color: var(--sn-text);
    text-decoration: none;
    background: rgba(127, 171, 182, .035);
}
.security-discovery-item:hover {
    border-color: rgba(89, 230, 213, .36);
    background: rgba(89, 230, 213, .055);
}
.security-discovery-identity,
.security-discovery-research {
    display: grid;
    min-width: 0;
}
.security-discovery-identity strong,
.security-discovery-research strong {
    color: var(--sn-text);
}
.security-discovery-identity small,
.security-discovery-research small {
    color: var(--sn-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.security-discovery-research {
    text-align: right;
    flex: 0 0 auto;
}

html[data-bs-theme="light"] .public-holder-row,
html[data-bs-theme="light"] .research-synthetic-preview,
html[data-bs-theme="light"] .security-discovery-item {
    background: rgba(47, 91, 103, .035);
    border-color: rgba(47, 91, 103, .14);
}
html[data-bs-theme="light"] .security-discovery-item:hover {
    border-color: rgba(0, 143, 130, .3);
    background: rgba(0, 143, 130, .045);
}

@media (max-width: 767.98px) {
    .research-public-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .public-holder-row,
    .security-discovery-item {
        align-items: flex-start;
    }
    .public-holder-row {
        flex-direction: column;
        gap: .2rem;
    }
    .public-holder-row span {
        white-space: normal;
    }
    .security-discovery-research {
        max-width: 45%;
    }
}

/* Portfolio / user-entered purchase tracking */
.portfolio-empty-copy { max-width: 42rem; }
.portfolio-position-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.portfolio-position-card { overflow: hidden; }
.portfolio-symbol {
    color: var(--sn-text);
    font-size: 1.55rem;
    font-weight: 750;
    letter-spacing: -.025em;
    text-decoration: none;
}
.portfolio-symbol:hover { color: var(--sn-cyan-bright); }
.portfolio-metric-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
}
.portfolio-metric-grid > div {
    min-width: 0;
    padding: .72rem .78rem;
    border: 1px solid var(--sn-border);
    border-radius: 12px;
    background: rgba(127, 171, 182, .035);
}
.portfolio-metric-grid span,
.portfolio-research-strip span,
.portfolio-price-context span {
    display: block;
    color: var(--sn-muted);
    font-size: .72rem;
    font-weight: 650;
    letter-spacing: .025em;
    text-transform: uppercase;
}
.portfolio-metric-grid strong,
.portfolio-research-strip strong,
.portfolio-price-context strong {
    display: block;
    margin-top: .14rem;
    color: var(--sn-text);
    font-size: 1rem;
}
.portfolio-metric-grid small,
.portfolio-research-strip small,
.portfolio-price-context small {
    display: block;
    margin-top: .12rem;
    color: var(--sn-muted);
}
.portfolio-metric-grid .positive strong,
.portfolio-metric-grid .positive small { color: var(--sn-green); }
.portfolio-metric-grid .negative strong,
.portfolio-metric-grid .negative small { color: var(--sn-red); }
.portfolio-research-strip {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: .8rem;
    padding-top: .95rem;
    border-top: 1px solid var(--sn-border);
}
.portfolio-research-strip > div { min-width: 0; }
.portfolio-research-strip small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.portfolio-lots-table { min-width: 1050px; }
.portfolio-history-table { min-width: 1180px; }
.portfolio-security-context {
    padding: 1rem;
    border: 1px solid var(--sn-border);
    border-radius: 16px;
    background: rgba(89, 230, 213, .025);
}
.portfolio-holding-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
}
.portfolio-holding-grid > div {
    min-width: 0;
    padding: .72rem .78rem;
    border: 1px solid var(--sn-border);
    border-radius: 12px;
    background: rgba(127, 171, 182, .035);
}
.portfolio-holding-grid span {
    display: block;
    color: var(--sn-muted);
    font-size: .72rem;
    font-weight: 650;
    letter-spacing: .025em;
    text-transform: uppercase;
}
.portfolio-holding-grid strong {
    display: block;
    margin-top: .14rem;
    color: var(--sn-text);
    font-size: 1rem;
}
.portfolio-holding-grid small {
    display: block;
    margin-top: .12rem;
    color: var(--sn-muted);
}
.portfolio-transaction-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.5rem;
    padding: .25rem .5rem;
    border: 1px solid var(--sn-border);
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.portfolio-transaction-badge.buy {
    border-color: rgba(72, 215, 159, .3);
    color: var(--sn-green);
    background: rgba(72, 215, 159, .06);
}
.portfolio-transaction-badge.sale {
    border-color: rgba(255, 120, 120, .3);
    color: var(--sn-red);
    background: rgba(255, 120, 120, .06);
}
.portfolio-lot-issuer {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.portfolio-notes-preview {
    display: block;
    max-width: 230px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.portfolio-form-card { border-color: rgba(89, 230, 213, .2); }
.portfolio-price-context {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: .15rem 1rem;
    padding: .85rem 1rem;
    border: 1px solid var(--sn-border);
    border-radius: 12px;
    background: rgba(89, 230, 213, .035);
}
.portfolio-price-context small {
    grid-column: 1 / -1;
}
html[data-bs-theme="light"] .portfolio-metric-grid > div,
html[data-bs-theme="light"] .portfolio-holding-grid > div,
html[data-bs-theme="light"] .portfolio-price-context,
html[data-bs-theme="light"] .portfolio-security-context {
    background: rgba(47, 91, 103, .035);
}
@media (max-width: 991.98px) {
    .portfolio-position-grid { grid-template-columns: 1fr; }
    .portfolio-holding-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .portfolio-metric-grid,
    .portfolio-holding-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .portfolio-research-strip { grid-template-columns: 1fr; }
}

/* Price / position alert management */
.alert-reference-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}
.alert-reference-grid .card-body {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}
.alert-reference-grid span {
    color: var(--sn-muted);
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.alert-reference-grid strong {
    font-size: 1.2rem;
}
.alert-reference-grid small {
    color: var(--sn-muted);
}
.security-alert-table td,
.security-alert-table th {
    vertical-align: middle;
}
@media (max-width: 767.98px) {
    .alert-reference-grid {
        grid-template-columns: 1fr;
    }
}

/* Account settings / timezone preference */
.user-chip:hover,
.user-chip:focus-visible,
.user-chip.active {
    color: var(--sn-text);
    border-color: rgba(89,230,213,.32);
    background: rgba(89,230,213,.07);
    outline: 0;
}
.mobile-user-card:hover,
.mobile-user-card:focus-visible,
.mobile-user-card.active {
    color: var(--sn-text);
    border-color: rgba(89,230,213,.28);
    background: rgba(89,230,213,.06);
    outline: 0;
}
.account-summary-card,
.account-settings-card { border-color: rgba(89,230,213,.18); }
.account-summary-list { display: grid; gap: 0; }
.account-summary-list > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 0;
    border-top: 1px solid var(--sn-border);
}
.account-summary-list dt {
    color: var(--sn-muted);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.account-summary-list dd {
    margin: 0;
    text-align: right;
    overflow-wrap: anywhere;
}
.account-settings-card .form-select { min-height: 46px; }
html[data-bs-theme="light"] .user-chip:hover,
html[data-bs-theme="light"] .user-chip:focus-visible,
html[data-bs-theme="light"] .user-chip.active,
html[data-bs-theme="light"] .mobile-user-card:hover,
html[data-bs-theme="light"] .mobile-user-card:focus-visible,
html[data-bs-theme="light"] .mobile-user-card.active {
    color: #0b2c33;
    border-color: rgba(0,143,130,.25);
    background: rgba(0,143,130,.075);
}
@media (max-width: 575.98px) {
    .account-summary-list > div { align-items: flex-start; }
    .account-summary-list dd { max-width: 62%; }
}

/* Private security-account context and sale-metric editor. */
.security-account-context {
    border-color: rgba(89, 230, 213, .2);
    overflow: hidden;
}
.security-account-metrics,
.portfolio-sale-preview {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .65rem;
}
.security-account-metrics > div,
.portfolio-sale-preview > div {
    min-width: 0;
    padding: .8rem .85rem;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: .75rem;
    background: rgba(15, 23, 42, .24);
}
.security-account-metrics span,
.portfolio-sale-preview span {
    display: block;
    color: var(--bs-secondary-color);
    font-size: .75rem;
    line-height: 1.25;
    margin-bottom: .25rem;
}
.security-account-metrics strong,
.portfolio-sale-preview strong {
    display: block;
    font-size: .95rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}
.security-account-metrics small {
    display: block;
    margin-top: .15rem;
}
.portfolio-trade-metrics {
    padding: 1rem;
    border: 1px solid rgba(89, 230, 213, .22);
    border-radius: .9rem;
    background: rgba(15, 23, 42, .2);
}
.portfolio-trade-metrics .sale-metric-input[data-auto="0"] {
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, .45);
}
html[data-bs-theme="light"] .security-account-metrics > div,
html[data-bs-theme="light"] .portfolio-sale-preview > div,
html[data-bs-theme="light"] .portfolio-trade-metrics {
    background: #f8fafc;
    border-color: #dfe7ef;
}
@media (max-width: 1199.98px) {
    .security-account-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .portfolio-sale-preview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .security-account-metrics,
    .portfolio-sale-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Watchlist research dashboard */
.watchlist-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .75rem;
}
.watchlist-summary-stat {
    min-width: 0;
    padding: 1rem 1.05rem;
    border: 1px solid var(--sn-border);
    border-radius: 1rem;
    background: var(--sn-panel);
    box-shadow: var(--sn-shadow-soft);
}
.watchlist-summary-stat span,
.watchlist-panel-label,
.watchlist-consensus-copy > span,
.watchlist-no-score > span,
.watchlist-metric-grid span {
    display: block;
    color: var(--sn-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.watchlist-summary-stat strong {
    display: block;
    margin-top: .1rem;
    font-size: 1.65rem;
    line-height: 1.1;
}
.watchlist-summary-stat small { color: var(--sn-muted); }
.watchlist-filter-card { border-color: rgba(89,230,213,.16); }
.watchlist-research-card {
    overflow: hidden;
    border-color: rgba(89,230,213,.14);
}
.watchlist-research-card:hover { border-color: rgba(89,230,213,.34); }
.watchlist-security-symbol {
    color: var(--sn-text);
    font-size: 1.6rem;
    font-weight: 850;
    letter-spacing: -.025em;
}
.watchlist-security-symbol:hover { color: var(--sn-primary); }
.watchlist-research-gauge {
    width: 100%;
    min-height: 88px;
}
.watchlist-consensus-copy strong {
    display: block;
    margin-top: .15rem;
    font-size: 1.05rem;
}
.watchlist-consensus-copy small { color: var(--sn-muted); }
.watchlist-no-score {
    display: flex;
    min-height: 88px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px dashed var(--sn-border);
    border-radius: .85rem;
}
.watchlist-no-score strong { font-size: 1.5rem; }
.watchlist-no-score small { color: var(--sn-muted); font-size: .72rem; }
.watchlist-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
}
.watchlist-metric-grid > div {
    min-width: 0;
    padding: .75rem;
    border: 1px solid var(--sn-border);
    border-radius: .8rem;
    background: rgba(255,255,255,.015);
}
.watchlist-metric-grid strong,
.watchlist-metric-grid small { display: block; }
.watchlist-metric-grid strong { margin-top: .1rem; font-size: .93rem; }
.watchlist-metric-grid small { color: var(--sn-muted); font-size: .72rem; }
.watchlist-event-panel,
.watchlist-position-panel {
    padding: .85rem .95rem;
    border: 1px solid var(--sn-border);
    border-radius: .85rem;
    background: rgba(89,230,213,.035);
}
.watchlist-position-panel { background: rgba(111,166,255,.045); }
.watchlist-tag-list { display: flex; flex-wrap: wrap; gap: .35rem; }
.watchlist-note-preview {
    padding: .75rem .85rem;
    border-left: 3px solid rgba(89,230,213,.45);
    border-radius: 0 .65rem .65rem 0;
    background: rgba(89,230,213,.035);
    color: var(--sn-muted);
}
.watchlist-notes-editor .context-details-body { padding-top: 1rem; }
.watchlist-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .8rem 1rem;
}
html[data-bs-theme="light"] .watchlist-metric-grid > div,
html[data-bs-theme="light"] .watchlist-event-panel,
html[data-bs-theme="light"] .watchlist-note-preview { background: rgba(24,90,104,.025); }
html[data-bs-theme="light"] .watchlist-position-panel { background: rgba(31,86,158,.035); }

@media (max-width: 1199.98px) {
    .watchlist-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .watchlist-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .watchlist-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 479.98px) {
    .watchlist-summary-grid { grid-template-columns: 1fr 1fr; gap: .55rem; }
    .watchlist-summary-stat { padding: .8rem; }
    .watchlist-summary-stat strong { font-size: 1.35rem; }
    .watchlist-card-actions .btn { flex: 1 1 auto; }
}

/* Institutional ownership discovery */
.ownership-hero {
    max-width: 900px;
    padding: clamp(1rem, 2vw, 1.5rem) 0;
}
.ownership-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    max-width: 680px;
}
.ownership-card,
.ownership-guide-card {
    transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.ownership-card:hover,
.ownership-card:focus-within,
.ownership-guide-card:hover,
.ownership-guide-card:focus-visible {
    transform: translateY(-2px);
    border-color: var(--sn-border-strong);
}
.ownership-symbol {
    color: var(--sn-accent);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: .3rem;
}
.ownership-form-badge {
    white-space: nowrap;
    font-weight: 700;
}
.ownership-filing-facts {
    display: grid;
    gap: .7rem;
}
.ownership-filing-facts > div {
    display: grid;
    grid-template-columns: minmax(108px, .8fr) minmax(0, 1.2fr);
    gap: .75rem;
    align-items: baseline;
}
.ownership-filing-facts dt {
    color: var(--sn-text-muted);
    font-size: .78rem;
    font-weight: 650;
}
.ownership-filing-facts dd {
    margin: 0;
    font-size: .9rem;
    text-align: right;
    overflow-wrap: anywhere;
}
@media (max-width: 575.98px) {
    .ownership-search { grid-template-columns: 1fr; }
    .ownership-filing-facts > div { grid-template-columns: 1fr; gap: .12rem; }
    .ownership-filing-facts dd { text-align: left; }
}
