/*
 * Dividend product system — search-first and data-dense, inspired by the useful
 * product patterns of dividend research platforms while retaining our evidence-led identity.
 */
.user-body {
    --ink: #12213a;
    --deep: #0b1830;
    --paper: #f5f7fb;
    --paper-2: #eaf0f8;
    --gold: #d99a32;
    --red: #bf3e4b;
    --line: rgba(20, 47, 86, .14);
    --muted: #64748b;
    --product-blue: #245bd7;
    --product-indigo: #29109b;
    --product-cyan: #197fc5;
    background: #f5f7fb;
    color: var(--deep);
    overflow-x: clip;
}
.user-body .paper-grain { display: none; }
.user-body .site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    max-width: none;
    min-height: 68px;
    padding: 0 32px;
    border-bottom: 1px solid rgba(15, 41, 77, .12);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 2px 10px rgba(20, 47, 86, .05);
    backdrop-filter: blur(12px);
}
.user-body .brand { flex: 0 0 auto; margin: 0 34px 0 0; gap: 9px; }
.user-body .brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--product-indigo), var(--product-blue));
    font: 700 18px/1 "Noto Sans SC", sans-serif;
}
.user-body .brand strong {
    font: 700 18px/1.1 "Noto Sans SC", sans-serif;
    letter-spacing: -.03em;
    color: #18366a;
}
.user-body .brand small { color: #718096; font-size: 8px; letter-spacing: .12em; }
.user-body .user-primary-nav { flex: 0 0 auto; gap: 3px; margin: 0 20px 0 0; }
.user-body .user-primary-nav > a {
    display: block;
    padding: 24px 14px 21px;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    color: #42526a;
}
.user-body .user-primary-nav > a b { font: 600 14px "Noto Sans SC", sans-serif; }
.user-body .user-primary-nav > a.active {
    color: var(--product-blue);
    background: transparent;
    border-bottom-color: var(--product-blue);
}
.user-body .user-primary-nav > a.active::after { display: none; }
.header-company-search {
    display: flex;
    align-items: center;
    width: min(250px, 20vw);
    height: 38px;
    margin-right: 16px;
    border: 1px solid #d9e1ec;
    border-radius: 20px;
    background: #f7f9fc;
}
.header-company-search span { padding-left: 13px; color: #7c8da5; font-size: 20px; }
.header-company-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    padding: 8px 12px 8px 7px;
    background: transparent;
    color: var(--deep);
}
.user-body .header-account-zone { margin-left: auto; }
.user-body .notification-bell {
    width: 32px;
    height: 32px;
    border-color: #d7e0ec;
    border-radius: 7px;
    background: #fff;
    color: #607089;
}
.user-body .notification-bell:hover {
    border-color: #a9c4e8;
    background: #f3f7fc;
    color: var(--product-blue);
}
.user-body .notification-bell svg { width: 15px; height: 15px; }
.user-body .plan-chip { min-height: 30px; padding: 5px 9px; }
.user-body .user-menu summary { min-height: 34px; }
.user-body .user-avatar { width: 27px; height: 27px; border-radius: 7px; }
.user-body .source-badge { display: none; }
.user-body .site-shell { background: #f5f7fb; }
.user-body .user-main { max-width: 1280px; padding: 32px 32px 72px; }
.user-body footer {
    background: #fff;
    border-top-color: #dce4ee;
    color: #7b8798;
}

.market-search-hero {
    display: grid;
    grid-template-columns: minmax(0, 760px) 330px;
    justify-content: center;
    gap: 45px;
    width: 100vw;
    min-height: 310px;
    margin: -32px 0 0 50%;
    padding: 56px max(32px, calc((100vw - 1280px) / 2 + 32px));
    transform: translateX(-50%);
    color: #fff;
    background:
        radial-gradient(circle at 78% 20%, rgba(102, 196, 255, .28), transparent 24%),
        linear-gradient(118deg, #2b0798 0%, #244ec4 50%, #1782c6 100%);
}
.market-search-copy > p,
.research-product-hero > div > p {
    margin: 0 0 10px;
    font: 600 11px/1.4 "IBM Plex Mono", monospace;
    letter-spacing: .16em;
    opacity: .75;
}
.market-search-copy h1 {
    margin: 0;
    font: 650 clamp(38px, 4vw, 58px)/1.18 "Noto Sans SC", sans-serif;
    letter-spacing: -.045em;
}
.market-search-copy form,
.research-product-hero form {
    display: flex;
    align-items: center;
    max-width: 620px;
    height: 48px;
    margin-top: 24px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(7, 22, 61, .18);
    overflow: hidden;
}
.market-search-copy form > span,
.research-product-hero form > span { padding-left: 16px; color: #718096; font-size: 20px; }
.market-search-copy form input,
.research-product-hero form input {
    flex: 1;
    min-width: 0;
    border: 0;
    outline: 0;
    padding: 12px 10px;
    color: #172b4d;
    font-size: 15px;
}
.market-search-copy form button,
.research-product-hero form button {
    align-self: stretch;
    border: 0;
    min-width: 86px;
    padding: 0 20px;
    background: #102a59;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}
.market-search-copy > small { display: block; margin-top: 12px; color: rgba(255,255,255,.72); }
.market-coverage-meter {
    align-self: stretch;
    padding: 26px;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(7, 25, 77, .22);
    backdrop-filter: blur(8px);
}
.market-coverage-meter > span { font-size: 12px; color: rgba(255,255,255,.75); }
.market-coverage-meter > strong { display: block; margin: 18px 0 8px; font: 600 42px "IBM Plex Mono", monospace; }
.market-coverage-meter > strong small { font-size: 16px; opacity: .6; }
.market-coverage-meter p { min-height: 60px; margin: 0; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.75; }
.market-coverage-meter > div { height: 5px; margin-top: 22px; background: rgba(255,255,255,.2); overflow: hidden; }
.market-coverage-meter > div i { display: block; height: 100%; background: #7bd7ff; }

.market-facts-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 0 0 26px;
    border: 1px solid #dce4ee;
    border-top: 0;
    background: #fff;
}
.market-facts-strip > div { min-width: 0; padding: 19px 22px; border-left: 1px solid #e3e9f1; }
.market-facts-strip > div:first-child { border-left: 0; }
.market-facts-strip span,
.personal-income-ribbon span,
.market-panel-head span,
.home-side-panel > a span { display: block; color: #68758a; font-size: 11px; }
.market-facts-strip strong { display: block; margin: 7px 0 2px; color: #13294f; font: 600 24px "IBM Plex Mono", monospace; }
.market-facts-strip strong small { font-size: 12px; color: #8290a3; }
.market-facts-strip small { color: #8a96a7; font-size: 10px; }

.personal-income-ribbon {
    display: grid;
    grid-template-columns: 1.25fr repeat(3, .75fr) auto;
    align-items: stretch;
    margin-bottom: 26px;
    border: 1px solid #dce4ee;
    background: #fff;
}
.personal-income-ribbon > div { padding: 20px; border-left: 1px solid #e2e8f0; }
.personal-income-ribbon > div:first-child { border-left: 0; background: #f0f5ff; }
.personal-income-ribbon strong { display: block; margin: 8px 0 3px; color: #102a59; font: 600 22px "IBM Plex Mono", monospace; }
.personal-income-ribbon .personal-income-main strong { font-size: 29px; }
.personal-income-ribbon small { color: #7c899b; font-size: 10px; }
.personal-income-ribbon > a {
    display: grid;
    place-items: center;
    padding: 18px;
    color: #fff;
    background: var(--product-blue);
    font-size: 12px;
}
.empty-portfolio-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 26px;
    padding: 24px 28px;
    border: 1px solid #d9e2ef;
    background: #fff;
}
.empty-portfolio-callout span { color: var(--product-blue); font-size: 11px; }
.empty-portfolio-callout strong { display: block; margin-top: 5px; font-size: 18px; }
.empty-portfolio-callout p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.empty-portfolio-callout > a { padding: 12px 20px; color: #fff; background: var(--product-blue); white-space: nowrap; }

.home-market-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 20px; margin-bottom: 20px; }
.market-panel,
.user-body .ledger-card {
    border: 1px solid #dce4ee;
    background: #fff;
    box-shadow: 0 5px 16px rgba(20, 47, 86, .035);
}
.market-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 1px solid #e3e9f1; }
.market-panel-head h2 { margin: 3px 0 0; color: #152b4e; font: 650 19px "Noto Sans SC", sans-serif; }
.market-panel-head > a { color: var(--product-blue); font-size: 12px; }
.market-event-head,
.market-event-row {
    display: grid;
    grid-template-columns: 1.25fr .8fr .7fr .6fr .6fr .5fr;
    align-items: center;
    gap: 12px;
    padding: 11px 18px;
}
.market-event-head { color: #778397; background: #f7f9fc; font-size: 10px; text-transform: uppercase; }
.market-event-row { min-height: 60px; border-top: 1px solid #edf1f6; color: #42526a; font-size: 12px; }
.market-event-row:hover,
.featured-company-row:hover { background: #f5f8ff; }
.market-event-row strong,
.featured-company-row strong { display: block; color: #18366a; }
.market-event-row small,
.featured-company-row small { color: #8290a3; }
.market-event-row b { color: #172b4d; font-family: "IBM Plex Mono", monospace; }
.home-side-panel > a { display: grid; grid-template-columns: 1fr auto; gap: 3px 12px; padding: 19px 22px; border-bottom: 1px solid #e5ebf2; }
.home-side-panel > a strong { color: #173766; font: 600 26px "IBM Plex Mono", monospace; }
.home-side-panel > a small { grid-column: 1 / -1; color: var(--product-blue); font-size: 11px; }
.data-boundary-note { margin: 18px; padding: 16px; background: #f3f6fb; }
.data-boundary-note b { color: #25446f; font-size: 12px; }
.data-boundary-note p { margin: 7px 0 0; color: #718096; font-size: 11px; line-height: 1.7; }
.featured-company-panel { margin-bottom: 20px; }
.featured-company-head,
.featured-company-row {
    display: grid;
    grid-template-columns: 1.5fr repeat(4, .75fr);
    align-items: center;
    gap: 15px;
    padding: 12px 22px;
}
.featured-company-head { color: #778397; background: #f7f9fc; font-size: 10px; }
.featured-company-row { min-height: 65px; border-top: 1px solid #e9eef4; color: #475569; font-size: 12px; }
.featured-company-row b { color: #13294f; font-family: "IBM Plex Mono", monospace; }

.research-product-hero {
    display: grid;
    grid-template-columns: 1fr minmax(360px, .8fr);
    align-items: center;
    gap: 38px;
    width: 100vw;
    margin: -32px 0 20px 50%;
    padding: 30px max(48px, calc((100vw - 1180px) / 2));
    transform: translateX(-50%);
    color: #fff;
    background: linear-gradient(115deg, #2a0798, #2457ce 56%, #197fc5);
}
.research-product-hero h1 { margin: 0; font: 650 34px "Noto Sans SC", sans-serif; letter-spacing: -.035em; }
.research-product-hero > div > span { display: block; max-width: 620px; margin-top: 8px; color: rgba(255,255,255,.72); font-size: 13px; }
.research-product-hero form { width: 100%; max-width: 500px; margin: 0 0 0 auto; height: 46px; }
.user-body .research-scope-tabs,
.user-body .holding-navigation {
    border-color: #dce4ee;
    background: #fff;
}
.user-body .research-scope-tabs.compact {
    display: inline-flex;
    width: auto;
    min-width: 470px;
    margin-bottom: 16px;
    border-radius: 8px;
    overflow: hidden;
}
.user-body .research-scope-tabs a,
.user-body .holding-navigation a { border-color: #e3e9f1; }
.user-body .research-scope-tabs.compact a {
    min-width: 220px;
    padding: 10px 16px;
}
.user-body .research-scope-tabs a.active,
.user-body .holding-navigation a.active {
    background: #edf4ff;
    color: #194f9c;
    box-shadow: inset 0 -2px 0 var(--product-blue);
}
.user-body .research-scope-tabs a.active small,
.user-body .holding-navigation a.active small { color: #607ba5; }
.user-body .research-filter-panel { border-color: #dce4ee; background: #fff; }
.security-ai-panel {
    margin: 14px 0 18px;
    padding: 18px 20px 0;
    border: 1px solid #d7e3f2;
    background: #fff;
}
.security-ai-head { display: flex; align-items: center; justify-content: space-between; gap: 26px; padding-bottom: 18px; }
.security-ai-head > div:first-child { min-width: 0; }
.security-ai-head > div:first-child > span { display: block; color: #1768dc; font: 650 11px/1.4 "IBM Plex Mono", monospace; letter-spacing: .08em; }
.security-ai-head strong { display: block; margin: 6px 0 4px; color: #10264a; font-size: 16px; }
.security-ai-head small { display: block; color: #667892; line-height: 1.55; }
.security-ai-action { flex: 0 0 200px; text-align: right; }
.security-ai-action button { min-width: 150px; border: 0; border-radius: 7px; padding: 10px 16px; background: #153968; color: #fff; font-weight: 700; cursor: pointer; }
.security-ai-action button:disabled { cursor: not-allowed; opacity: .55; }
.security-ai-action small { margin-top: 6px; font-size: 10px; }
.security-ai-progress { display: none; padding: 14px 0 16px; border-top: 1px solid #e5ebf3; }
.security-ai-progress.is-visible { display: block; }
.security-ai-progress > div { display: flex; justify-content: space-between; gap: 20px; color: #233b5f; font-size: 11px; }
.security-ai-progress > div span { color: #1768dc; font: 650 11px "IBM Plex Mono", monospace; }
.security-ai-progress > i { display: block; height: 6px; margin-top: 9px; overflow: hidden; border-radius: 10px; background: #e2eaf4; }
.security-ai-progress > i b { display: block; height: 100%; border-radius: inherit; background: #2378de; transition: width .35s ease; }
.security-ai-progress p { margin: 7px 0 0; color: #75849a; font-size: 10px; }
.security-ai-panel > .ai-evidence-copy { padding: 17px 0 19px; border-top: 1px solid #e5ebf3; border-bottom: 0; }
.ai-evidence-copy { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 15px; align-items: start; padding: 17px 0; border-bottom: 1px solid var(--line); }
.ai-evidence-copy > span { display: grid; place-items: center; width: 40px; height: 28px; border-radius: 999px; background: var(--blue-soft); color: var(--blue); font: 650 10px/1 ui-monospace, monospace; }
.ai-evidence-copy strong, .ai-evidence-copy small { display: block; }
.ai-evidence-copy strong { color: var(--deep); font-size: 16px; }
.ai-evidence-copy p { margin: 8px 0; color: #475467; line-height: 1.8; white-space: pre-line; }
.ai-evidence-copy small { color: var(--muted); font-size: 10px; }
.research-company-table-head {
    display: grid;
    grid-template-columns: 190px minmax(100px, .7fr) minmax(180px, 1.2fr) minmax(100px, .7fr) minmax(95px, .7fr) 210px;
    padding: 0;
    color: #52637a;
    background: #eef3f9;
    font-size: 12px;
    font-weight: 700;
}
.research-company-table-head > span {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 12px 16px;
}
.user-body .research-company-grid { display: block; border: 1px solid #dce4ee; background: #fff; }
.user-body .research-company-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 210px;
    min-height: 0;
    padding: 0;
    border: 0;
    border-top: 1px solid #e5ebf2;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    transform: none;
}
.user-body .research-company-card:hover {
    border-color: #e5ebf2;
    background: #f9fbfe;
    box-shadow: none;
    transform: none;
}
.user-body .research-company-table-head + .research-company-card { border-top: 0; }
.user-body .research-company-main {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 0;
    align-items: center;
    min-height: 116px;
    padding: 0;
}
.user-body .research-company-name { padding: 14px 16px; }
.user-body .research-company-name h2 { margin: 8px 0 5px; font: 650 16px "Noto Sans SC", sans-serif; color: #173766; }
.user-body .research-company-main dl {
    display: grid;
    grid-template-columns: minmax(100px, .7fr) minmax(180px, 1.2fr) minmax(100px, .7fr) minmax(95px, .7fr);
    align-items: stretch;
    margin: 0;
    border: 0;
}
.user-body .research-company-main dl > div {
    display: flex;
    min-height: 116px;
    flex-direction: column;
    justify-content: center;
    padding: 14px 16px;
    border: 0;
    border-left: 1px solid #e4eaf1;
}
.user-body .research-company-main dt { font-size: 9px; }
.user-body .research-company-main dd { margin-top: 7px; font-size: 12px; }
.user-body .research-company-main dd small {
    display: block;
    margin-top: 6px;
    color: #7b8798;
    font: 9px/1.45 "Noto Sans SC", sans-serif;
}
.user-body .research-company-actions {
    align-items: center;
    justify-content: center;
    align-content: center;
    padding: 14px 16px;
    border-left: 1px solid #e5ebf2;
}
.user-body .research-card-action { color: var(--product-blue); }
.user-body .watchlist-form { margin-left: 0; }
.user-body .watchlist-form button {
    min-width: 84px;
    border: 1px solid #b8c9ed;
    border-radius: 6px;
    background: #fff;
    color: var(--product-blue);
}
.user-body .watchlist-form button:hover,
.user-body .watchlist-form button:focus-visible {
    border-color: #7da8e4;
    background: #edf4ff;
    color: #174da8;
}
.user-body .research-sync-progress { grid-column: 1 / -1; }

.company-product-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(220px, .8fr) minmax(0, 1.7fr) auto;
    gap: 18px;
    width: 100vw;
    min-height: 164px;
    margin: -32px 0 0 50%;
    padding: 28px max(42px, calc((100vw - 1180px) / 2)) 22px;
    transform: translateX(-50%);
    color: #fff;
    background:
        radial-gradient(circle at 82% 10%, rgba(123, 215, 255, .25), transparent 23%),
        linear-gradient(115deg, #2b0798, #244fc5 55%, #167dc1);
}
.company-product-title > span { color: rgba(255,255,255,.68); font: 10px "IBM Plex Mono", monospace; letter-spacing: .12em; }
.company-product-title h1 { margin: 9px 0 5px; font: 650 30px "Noto Sans SC", sans-serif; letter-spacing: -.03em; }
.company-product-title p { margin: 0; font: 600 20px "IBM Plex Mono", monospace; }
.company-product-hero > dl { display: grid; grid-template-columns: repeat(5, 1fr); align-self: center; margin: 0; }
.company-product-hero > dl > div { min-width: 0; padding: 3px 15px; border-left: 1px solid rgba(255,255,255,.23); }
.company-product-hero dt { color: rgba(255,255,255,.65); font-size: 10px; }
.company-product-hero dd { margin: 7px 0 3px; font: 600 20px "IBM Plex Mono", monospace; white-space: nowrap; }
.company-product-hero dl small { color: rgba(255,255,255,.62); font-size: 9px; }
.company-product-actions {
    position: static;
    display: flex;
    align-self: start;
    justify-self: end;
    gap: 8px;
}
.company-product-actions form { margin: 0; }
.company-product-actions button,
.company-product-actions a {
    display: block;
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 3px;
    padding: 8px 12px;
    color: #fff;
    background: rgba(7,24,71,.18);
    font: 12px "Noto Sans SC", sans-serif;
    cursor: pointer;
}
.company-freshness {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 12px 16px;
    align-items: center;
    margin: -4px 0 18px;
    padding: 11px 14px;
    border: 1px solid #dce5f0;
    border-left: 3px solid #6f87a6;
    border-radius: 6px;
    background: rgba(255,255,255,.68);
}
.company-freshness form { display: none; }
.company-freshness-state { color: #5d718d; font-size: 11px; font-weight: 700; }
.company-freshness strong,
.company-freshness small { display: block; }
.company-freshness strong { color: #17345d; font-size: 12px; }
.company-freshness small { margin-top: 3px; color: #718096; font-size: 10px; }
.company-freshness-percent { color: #58708f; font: 650 11px "IBM Plex Mono", monospace; }
.company-freshness > i { grid-column: 2 / -1; display: block; height: 3px; overflow: hidden; background: #e2e9f2; }
.company-freshness > i b { display: block; height: 100%; background: #6f87a6; transition: width .35s ease; }
.company-freshness.is-running { border-left-color: #1768dc; }
.company-freshness.is-running .company-freshness-state,
.company-freshness.is-running .company-freshness-percent { color: #1768dc; }
.company-freshness.is-running > i b { background: #2378de; }
.company-freshness.is-failed { border-left-color: #b65a4b; }
.company-freshness.is-waiting { border-left-color: #b98536; }
.company-freshness.is-partial { border-left-color: #b98536; }
.company-freshness.is-partial .company-freshness-state,
.company-freshness.is-partial .company-freshness-percent { color: #8b651f; }
.company-freshness.is-partial > i b { background: #c39442; }
.user-body .company-tabs {
    position: sticky;
    top: 68px;
    z-index: 40;
    width: 100vw;
    margin: 0 0 0 50%;
    padding: 0 max(40px, calc((100vw - 1180px) / 2));
    transform: translateX(-50%);
    border: 0;
    border-bottom: 1px solid #dce4ee;
    background: rgba(255,255,255,.97);
    box-shadow: 0 3px 9px rgba(20,47,86,.05);
    backdrop-filter: blur(10px);
}
.user-body .company-tabs a {
    min-width: 0;
    padding: 12px 18px 11px;
    border-radius: 0;
    color: #53627a;
    background: transparent;
    border-bottom: 2px solid transparent;
}
.user-body .company-tabs a:hover {
    color: var(--product-blue);
    background: #f3f7fc;
}
.user-body .company-tabs a.active,
.user-body .company-tabs a.active:hover {
    color: #174da8;
    background: transparent;
    border-bottom-color: var(--product-blue);
}
.user-body .company-tabs small { color: #6d82a2; opacity: 1; }
.company-breadcrumb { margin: 17px 0 22px; color: #7c899b; font-size: 11px; }
.user-body .company-overview-grid { gap: 0; border: 1px solid #dce4ee; background: #fff; }
.user-body .company-fact-card {
    min-height: 118px;
    padding: 18px 20px;
    border: 0;
    border-left: 1px solid #e4eaf1;
    box-shadow: none;
}
.user-body .company-fact-card strong { margin-top: 9px; font-size: 19px; }
.user-body .company-fact-card p { margin-top: 9px; }
.user-body .company-fact-card:first-child { border-left: 0; }
.user-body .analysis-ribbon {
    border-color: #d5e0ed;
    background: #fff;
}
.user-body .analysis-ribbon > div {
    color: #142d52;
    background: #fff;
    border-color: #e1e8f0;
}
.user-body .analysis-ribbon > div:first-child {
    color: #fff;
    background: #216bdc;
}
.user-body .analysis-ribbon > div:not(:first-child) > span,
.user-body .analysis-ribbon > div:not(:first-child) > small {
    color: #687991;
}
.user-body .analysis-ribbon > div:not(:first-child) b {
    color: #102a59;
}
.user-body .analysis-ribbon > div:not(:first-child) b small {
    color: #687991;
}
.user-body .yield-identity-card { border-color: #dce4ee; background: #fff; }
.user-body .pro-gate {
    border-color: #c9d9ee;
    border-left: 4px solid var(--product-blue);
    background: #fff;
    box-shadow: 0 4px 14px rgba(20,47,86,.04);
}
.user-body .pro-gate-copy { padding: 30px 32px; }
.user-body .pro-gate-copy > span { color: var(--product-blue); }
.user-body .pro-gate-copy h2 { margin: 11px 0; color: #142d52; font: 650 25px/1.45 "Noto Sans SC", sans-serif; }
.user-body .pro-gate-copy p { color: #64748b; }
.user-body .pro-gate-copy a { color: var(--product-blue); }
.user-body .locked-diagnostics {
    border-color: #dbe5f1;
    background: #f3f7fc;
    filter: none;
}
.user-body .locked-diagnostics > div { min-height: 104px; padding: 20px; border-color: #dbe5f1; }
.user-body .locked-diagnostics span { color: #607089; }
.user-body .locked-diagnostics b { color: #8a99ad; font-size: 16px; filter: none; }

.user-body .page-title h1,
.user-body .admin-head h1 { font-family: "Noto Sans SC", sans-serif; color: #142d52; }
.user-body .primary-action,
.user-body .entry-form button { background: var(--product-blue); color: #fff; }
.user-body .secondary-action { border-color: #b8c6d9; color: #25446f; background: #fff; }
.user-body .portfolio-scope,
.user-body .section-route-bar,
.user-body .data-trust-rail,
.user-body .holding-summary-grid,
.user-body .dividend-summary-grid { border-color: #dce4ee; background: #fff; }
.user-body .holding-summary-grid .primary,
.user-body .dividend-summary-grid .primary { background: #edf3ff; }
.user-body .portfolio-tabs > a.active { background: #193d77; }
.user-body .flash { border-left: 3px solid var(--product-blue); background: #edf4ff; }
.user-body .auth-shell { background: linear-gradient(120deg, #edf3ff 0 55%, #fff 55%); border-color: #dce4ee; }
.user-body .auth-form-card { background: #fff; }
.user-body a:focus-visible,
.user-body button:focus-visible,
.user-body input:focus-visible { outline-color: rgba(36,91,215,.45); }

.portfolio-workspace-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 18px;
}
.portfolio-workspace-head > div > span,
.portfolio-section-title > div > span,
.income-section-heading > div > span {
    display: block;
    margin-bottom: 5px;
    color: #6b7b91;
    font-size: 11px;
}
.portfolio-workspace-head h1 {
    margin: 0;
    color: #142d52;
    font: 650 27px/1.25 "Noto Sans SC", sans-serif;
}
.portfolio-workspace-head nav {
    display: flex;
    gap: 8px;
}
.portfolio-workspace-head nav a {
    padding: 9px 14px;
    border: 1px solid #b9c8dc;
    border-radius: 5px;
    color: #214b87;
    background: #fff;
    font-size: 12px;
}
.portfolio-workspace-head nav a:hover {
    border-color: var(--product-blue);
    color: var(--product-blue);
}
.portfolio-section-title,
.income-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin: 26px 0 12px;
}
.portfolio-section-title h2,
.income-section-heading h2 {
    margin: 0;
    color: #142d52;
    font: 650 20px/1.3 "Noto Sans SC", sans-serif;
}
.holdings-overview-card { margin-bottom: 34px; }
.income-section-heading.embedded {
    padding-top: 26px;
    border-top: 1px solid #dce4ee;
}
.income-section-heading .year-switcher { margin: 0; }
.ledger-portfolio-tabs {
    margin: 0 0 20px;
}

@media (max-width: 720px) {
    .portfolio-workspace-head,
    .income-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }
    .portfolio-workspace-head nav { width: 100%; }
    .portfolio-workspace-head nav a { flex: 1; text-align: center; }
}

.market-universe-table { display: grid; grid-template-columns: 1.5fr .8fr .55fr .55fr .55fr .8fr; align-items: center; gap: 14px; padding: 13px 18px; border-top: 1px solid var(--line); }
.market-universe-head { color: var(--muted); font-size: 11px; background: rgba(15,45,75,.035); }
.market-universe-table > div strong,
.market-universe-table > div small { display: block; }
.market-universe-table > div small,
.market-universe-table > small { color: var(--muted); }
.admin-inline-filter { display: flex; gap: 7px; }
.admin-inline-filter input,
.admin-inline-filter select { border: 1px solid var(--line); background: #fff; padding: 9px; }
.admin-inline-filter button { border: 0; background: var(--ink); color: var(--paper); padding: 9px 14px; }

.diagnostic-command {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px 28px;
    align-items: center;
    margin-bottom: 18px;
    padding: 18px 20px;
    border: 1px solid #d6e1ee;
    border-left: 4px solid var(--product-blue);
    border-radius: 8px;
    background: #fff;
}
.diagnostic-command > div:first-child > span { color: #216bdc; font: 600 10px "IBM Plex Mono", monospace; letter-spacing: .08em; }
.diagnostic-command > div:first-child > strong { display: block; margin: 5px 0 3px; color: #142d52; font-size: 16px; }
.diagnostic-command > div:first-child > p { margin: 0; color: #687991; font-size: 11px; }
.diagnostic-command form { margin: 0; }
.diagnostic-command button { border: 0; border-radius: 5px; padding: 10px 16px; color: #fff; background: #163766; font-weight: 600; cursor: pointer; }
.diagnostic-command button:disabled { color: #728098; background: #e7edf5; cursor: default; }
.diagnostic-progress { display: none; grid-column: 1 / -1; }
.diagnostic-progress.is-visible { display: block; }
.diagnostic-progress > div { display: flex; justify-content: space-between; gap: 15px; color: #5f7088; font-size: 10px; }
.diagnostic-progress > i { display: block; height: 5px; margin-top: 7px; background: #e7edf5; }
.diagnostic-progress > i > b { display: block; height: 100%; background: #2f7fe5; transition: width .25s ease; }
.user-body .company-diagnostic-ribbon { margin-bottom: 18px; }
.company-diagnostic-summary { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(250px, .65fr); gap: 18px; margin-bottom: 18px; }
.diagnostic-signals, .diagnostic-boundary, .diagnostic-ledger { border-color: #dce4ee; background: #fff; }
.diagnostic-signal-list article { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 13px; align-items: start; padding: 13px 0; border-top: 1px solid #e3e9f0; }
.diagnostic-signal-list article:first-child { border-top: 0; }
.diagnostic-signal-list article > span { width: fit-content; border-radius: 14px; padding: 4px 8px; color: #2367c9; background: #edf4ff; font-size: 10px; }
.diagnostic-signal-list article.signal-attention > span { color: #9b5b05; background: #fff5df; }
.diagnostic-signal-list strong { color: #142d52; font-size: 13px; }
.diagnostic-signal-list p { margin: 4px 0 0; color: #687991; font-size: 11px; line-height: 1.6; }
.diagnostic-signal-list a { color: #216bdc; font-size: 10px; white-space: nowrap; }
.diagnostic-boundary ul { margin: 3px 0 12px; padding: 0; list-style: none; }
.diagnostic-boundary li { position: relative; padding: 9px 0 9px 14px; border-top: 1px solid #e5eaf1; color: #4f6077; font-size: 11px; line-height: 1.5; }
.diagnostic-boundary li:first-child { border-top: 0; }
.diagnostic-boundary li::before { position: absolute; left: 0; content: "·"; color: #e09a2d; font-weight: 700; }
.diagnostic-boundary > p { margin: 0; color: #7b899c; font-size: 10px; line-height: 1.7; }
.diagnostic-table-wrap { min-width: 1080px; }
.diagnostic-ledger { overflow-x: auto; }
.diagnostic-row { display: grid; grid-template-columns: 72px repeat(3, minmax(90px, 1fr)) minmax(140px, 1.2fr) 90px 96px 100px 86px 60px; gap: 10px; align-items: center; min-height: 48px; padding: 9px 0; border-top: 1px solid #e2e8f0; color: #243b5d; font: 500 11px "IBM Plex Mono", monospace; }
.diagnostic-row > div:first-child strong, .diagnostic-row > div:first-child small { display: block; }
.diagnostic-row > div:first-child strong { color: #174da8; font-size: 13px; }
.diagnostic-row > div:first-child small { margin-top: 2px; color: #8592a4; font: 9px "Noto Sans SC", sans-serif; }
.diagnostic-row > a { color: #216bdc; font: 600 10px "Noto Sans SC", sans-serif; }
.diagnostic-row .attention { color: #a55b00; }
.diagnostic-row.is-missing { color: #a6afbc; background: #fafbfd; }
.diagnostic-head { min-height: auto; padding-top: 0; border-top: 0; color: #718198; font: 600 10px "Noto Sans SC", sans-serif; }

@media (max-width: 1100px) {
    .header-company-search { display: none; }
    .market-search-hero { grid-template-columns: 1fr 290px; }
    .personal-income-ribbon { grid-template-columns: repeat(4, 1fr); }
    .personal-income-ribbon > a { grid-column: 1 / -1; }
    .company-product-hero { grid-template-columns: 1fr; padding-top: 72px; }
    .company-product-actions {
        position: absolute;
        top: 20px;
        right: max(35px, calc((100vw - 1180px) / 2));
    }
    .company-product-hero > dl { margin-top: 25px; }
    .company-diagnostic-summary { grid-template-columns: 1fr; }
    .research-company-table-head { display: none; }
    .user-body .research-company-main { grid-template-columns: 180px 1fr; }
    .user-body .research-company-main dl { grid-template-columns: repeat(3, 1fr); gap: 12px 0; }
}
@media (max-width: 820px) {
    .user-body .site-header { padding: 11px 16px; flex-wrap: wrap; }
    .user-body .brand { margin-right: auto; }
    .user-body .header-account-zone { margin-left: 0; }
    .user-body .user-primary-nav { order: 5; width: 100%; margin-top: 8px; border-top: 1px solid #e3e9f1; }
    .user-body .user-primary-nav > a { padding: 10px 6px 8px; text-align: center; }
    .user-body .user-main { padding: 24px 16px 58px; }
    .market-search-hero,
    .research-product-hero {
        grid-template-columns: 1fr;
        width: auto;
        margin: -24px -16px 0;
        padding: 36px 20px;
        transform: none;
    }
    .security-ai-head { align-items: flex-start; flex-direction: column; }
    .security-ai-action { flex-basis: auto; width: 100%; text-align: left; }
    .market-search-hero { min-height: 0; }
    .market-coverage-meter { margin-top: 20px; }
    .market-facts-strip { grid-template-columns: 1fr 1fr; }
    .market-facts-strip > div:nth-child(3) { border-top: 1px solid #e3e9f1; border-left: 0; }
    .market-facts-strip > div:nth-child(4) { border-top: 1px solid #e3e9f1; }
    .home-market-layout { grid-template-columns: 1fr; }
    .market-event-head { display: none; }
    .market-event-row { grid-template-columns: 1.2fr .8fr .7fr; }
    .market-event-row > span:nth-of-type(2),
    .market-event-row > span:nth-of-type(3),
    .market-event-row > small { display: none; }
    .featured-company-head { display: none; }
    .featured-company-row { grid-template-columns: 1.3fr repeat(2, .7fr); }
    .featured-company-row > span:nth-of-type(2),
    .featured-company-row > small { display: none; }
    .personal-income-ribbon { grid-template-columns: 1fr 1fr; }
    .personal-income-main { grid-column: 1 / -1; }
    .company-product-hero { width: auto; margin: -24px -16px 0; padding: 76px 20px 24px; transform: none; }
    .company-product-actions { top: 20px; right: 20px; }
    .company-product-hero > dl { grid-template-columns: 1fr 1fr; gap: 16px 0; }
    .company-product-hero > dl > div:nth-child(odd) { border-left: 0; }
    .user-body .company-tabs { position: static; width: auto; margin: 0 -16px; padding: 0 12px; transform: none; overflow-x: auto; flex-wrap: nowrap; }
    .user-body .company-tabs a { white-space: nowrap; padding: 12px 10px; font-size: 11px; }
    .diagnostic-command { grid-template-columns: 1fr; }
    .diagnostic-command button { width: 100%; }
    .research-company-table-head { display: none; }
    .user-body .research-company-card { grid-template-columns: 1fr; }
    .user-body .research-company-main { grid-template-columns: 1fr; }
    .user-body .research-company-actions { justify-content: flex-start; border: 0; border-top: 1px solid #e5ebf2; }
    .user-body .research-scope-tabs.compact {
        display: flex;
        width: 100%;
        min-width: 0;
    }
    .user-body .research-scope-tabs.compact a { flex: 1 1 0; min-width: 0; }
    .market-universe-table { grid-template-columns: 1.4fr .8fr .6fr; }
    .market-universe-table > :nth-child(3),
    .market-universe-table > :nth-child(4),
    .market-universe-table > :nth-child(6) { display: none; }
}
@media (max-width: 520px) {
    .user-body .brand small,
    .user-body .plan-chip,
    .user-body .user-menu-name { display: none; }
    .market-search-copy h1 { font-size: 34px; }
    .market-search-copy form button { padding: 0 15px; }
    .market-facts-strip { grid-template-columns: 1fr; }
    .market-facts-strip > div { border-top: 1px solid #e3e9f1; border-left: 0; }
    .market-facts-strip > div:first-child { border-top: 0; }
    .empty-portfolio-callout { align-items: flex-start; flex-direction: column; }
    .personal-income-ribbon { grid-template-columns: 1fr; }
    .personal-income-main { grid-column: auto; }
    .market-event-row { grid-template-columns: 1fr .8fr; }
    .market-event-row > span:first-of-type { display: none; }
    .featured-company-row { grid-template-columns: 1.2fr .8fr; }
    .featured-company-row > span { display: none; }
    .company-product-hero > dl { grid-template-columns: 1fr 1fr; gap: 0; }
    .company-product-hero > dl > div { border-top: 1px solid rgba(255,255,255,.2); padding: 12px 10px 12px 0; }
    .company-product-hero > dl > div:nth-child(odd) { border-left: 0; }
    .company-product-hero > dl > div:last-child { grid-column: 1 / -1; }
    .company-product-hero dd { font-size: 18px; }
    .company-product-actions { position: static; margin-top: 20px; }
    .company-product-hero { padding-top: 26px; }
    .user-body .research-company-main dl { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .user-body * { scroll-behavior: auto !important; transition: none !important; }
}
