:root {
    --ink: #172033;
    --deep: #101828;
    --paper: #f5f7fa;
    --paper-2: #eef2f6;
    --gold: #1668dc;
    --blue: #1668dc;
    --blue-strong: #0958d9;
    --blue-soft: #eaf3ff;
    --cyan: #13a8a8;
    --line: #dde3ea;
    --muted: #667085;
    --success: #12b76a;
    --warning: #f79009;
    --danger: #d92d20;
    --shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 14px rgba(16, 24, 40, .045);
}

* { box-sizing: border-box; }
html { background: var(--paper); color: var(--ink); }
body { margin: 0; min-height: 100vh; background: var(--paper); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; }
.paper-grain { display: none; }
.security-lookup::after { content: "校验" !important; }
.security-lookup[data-state=verified]::after { content: "已验" !important; }
.security-lookup[data-state=error]::after, .security-lookup[data-state=warning]::after { content: "异常" !important; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(22, 104, 220, .2); outline-offset: 2px; }

.site-header { position: sticky; top: 0; z-index: 50; width: 100%; max-width: none; height: 64px; margin: 0; padding: 0 28px; display: flex; align-items: center; border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .97); box-shadow: 0 1px 3px rgba(16, 24, 40, .03); backdrop-filter: blur(12px); }
.brand { gap: 10px; margin-right: auto; }
.brand-mark { width: 36px; height: 36px; border-radius: 8px; background: var(--blue); color: #fff; font: 650 18px/1 "PingFang SC", sans-serif; }
.brand strong { display: block; color: var(--deep); font: 650 17px/1.2 "PingFang SC", sans-serif; letter-spacing: .03em; }
.brand small { margin-top: 3px; color: #98a2b3; font: 500 9px/1.1 ui-monospace, "SFMono-Regular", Consolas, monospace; letter-spacing: .12em; }
.site-header nav { display: flex; align-items: center; gap: 6px; margin-right: 20px; font-size: 14px; }
.site-header nav > a, .logout-form button { padding: 9px 11px; border-radius: 7px; color: #475467; transition: background .16s, color .16s; }
.site-header nav > a:hover, .logout-form button:hover { background: #f2f4f7; color: var(--blue); }
.site-header .user-primary-nav { gap: 3px; margin-right: 18px; }
.user-primary-nav > a { position: relative; font-weight: 560; }
.user-primary-nav > a.active { background: #f1f5f9; color: var(--blue); font-weight: 650; }
.user-primary-nav > a.active::after { content: ""; position: absolute; right: 12px; bottom: 3px; left: 12px; height: 2px; border-radius: 2px; background: var(--blue); }
.header-account-zone { display: flex; align-items: center; gap: 8px; margin-right: 10px; }
.plan-chip { display: inline-flex; align-items: center; min-height: 32px; padding: 6px 10px; border: 1px solid #cfe2ff; border-radius: 999px; background: #f5f9ff; color: var(--blue); font-size: 11px; font-weight: 650; white-space: nowrap; }
.plan-chip:hover { border-color: #9fc5f5; background: var(--blue-soft); }
.user-menu { position: relative; }
.user-menu summary { display: flex; align-items: center; gap: 7px; min-height: 38px; padding: 4px 8px 4px 5px; border-radius: 8px; color: #475467; cursor: pointer; list-style: none; }
.user-menu summary::-webkit-details-marker { display: none; }
.user-menu summary:hover, .user-menu[open] summary { background: #f2f4f7; color: var(--deep); }
.user-avatar { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: var(--blue); color: #fff; font-size: 12px; font-weight: 700; }
.user-menu-name { max-width: 86px; overflow: hidden; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.user-menu summary i { color: #98a2b3; font-size: 11px; font-style: normal; }
.user-menu-panel { position: absolute; top: calc(100% + 9px); right: 0; z-index: 70; width: 260px; padding: 8px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 14px 34px rgba(16, 24, 40, .16); }
.user-menu-panel::before { content: ""; position: absolute; top: -5px; right: 20px; width: 9px; height: 9px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); background: #fff; transform: rotate(45deg); }
.user-menu-identity { padding: 9px 10px 12px; border-bottom: 1px solid var(--line); }
.user-menu-identity strong, .user-menu-identity small, .user-menu-panel > a span, .user-menu-panel > a small { display: block; }
.user-menu-identity strong { color: var(--deep); font-size: 13px; }
.user-menu-identity small { margin-top: 3px; color: #98a2b3; font-size: 10px; overflow-wrap: anywhere; }
.user-menu-panel > a { display: block; margin-top: 3px; padding: 9px 10px; border-radius: 7px; }
.user-menu-panel > a:hover { background: var(--blue-soft); color: var(--deep); }
.user-menu-panel > a span { font-size: 12px; font-weight: 620; }
.user-menu-panel > a small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.user-menu-panel form { margin-top: 5px; padding-top: 6px; border-top: 1px solid var(--line); }
.user-menu-panel form button { width: 100%; padding: 8px 10px; border: 0; background: transparent; color: var(--danger); font-size: 11px; text-align: left; }
.user-menu-panel form button:hover { background: #fef3f2; color: var(--danger); }
.admin-header-nav { margin-left: auto; }
.guest-nav { margin-left: auto; }
.guest-register { background: var(--blue); color: #fff !important; }
.logout-form button { border: 0; background: transparent; cursor: pointer; }
.source-badge { padding: 7px 10px; border: 1px solid #cfe2ff; border-radius: 999px; background: #f5f9ff; color: #4070a7; font: 500 11px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; letter-spacing: .02em; }
.source-badge i { width: 7px; height: 7px; margin-right: 6px; background: var(--success); box-shadow: 0 0 0 3px rgba(18, 183, 106, .11); }

.user-body { display: flex; min-height: 100vh; flex-direction: column; }
@supports (min-height: 100svh) {
    .user-body { min-height: 100svh; }
}
.site-shell { flex: 1 0 auto; width: 100%; min-height: 0; }
.user-body > .site-header, .user-body > footer { flex: 0 0 auto; }
.user-main { width: min(1280px, 100%); max-width: 1280px; margin: 0 auto; padding: 46px 42px 50px; }
footer { width: 100%; max-width: none; margin: 0; padding: 22px 42px; border-top: 1px solid var(--line); background: #fff; color: #98a2b3; font: 12px/1.5 ui-monospace, "SFMono-Regular", Consolas, monospace; }

.eyebrow { margin: 0 0 10px; color: var(--blue); font: 600 12px/1.4 ui-monospace, "SFMono-Regular", Consolas, monospace; letter-spacing: .08em; text-transform: none; }
.page-title { max-width: 760px; margin-bottom: 30px; }
.page-title h1, .hero h1, .security-hero h1 { color: var(--deep); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif; font-weight: 650; letter-spacing: -.035em; }
.page-title h1 { font-size: clamp(34px, 4vw, 48px); line-height: 1.2; }
.page-title > p:last-child, .hero-copy { color: var(--muted); line-height: 1.75; }
.page-title-wide { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 34px; }
.page-title-wide > div:first-child { max-width: 780px; }
.page-title-wide h1 { margin-top: 0; }
.page-head-actions { display: flex; gap: 9px; padding-bottom: 5px; }
.primary-action, .secondary-action { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 9px 14px; border: 1px solid var(--blue); border-radius: 7px; font-size: 12px; font-weight: 650; white-space: nowrap; transition: background .16s, border-color .16s, color .16s, transform .16s; }
.primary-action { background: var(--blue); color: #fff; }
.primary-action:hover { border-color: var(--blue-strong); background: var(--blue-strong); color: #fff; }
.secondary-action { border-color: #b8cce5; background: #fff; color: var(--blue); }
.secondary-action:hover { border-color: var(--blue); background: var(--blue-soft); }
.primary-action:active, .secondary-action:active { transform: translateY(1px); }
.breadcrumb { display: flex; align-items: center; gap: 8px; margin: -14px 0 28px; color: var(--muted); font-size: 12px; }
.breadcrumb a { color: var(--blue); }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb strong { color: #475467; font-weight: 600; }
.page-tabs { display: flex; gap: 3px; margin: 0 0 18px; padding: 4px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: 0 1px 2px rgba(16, 24, 40, .03); overflow-x: auto; }
.page-tabs > a { flex: 0 0 auto; min-width: 116px; padding: 10px 15px; border-radius: 6px; color: #475467; font-size: 12px; font-weight: 600; text-align: center; }
.page-tabs > a:hover { background: #f2f4f7; color: var(--blue); }
.page-tabs > a.active { background: var(--blue); color: #fff; }
.page-tabs small { margin-left: 4px; font-size: 9px; opacity: .82; }

/* Business-domain pages: scope first, result second, then a deliberate drill-down. */
.year-switcher { min-width: 150px; padding-bottom: 4px; }
.year-switcher label { color: var(--muted); font-size: 11px; }
.year-switcher select { display: block; width: 100%; min-height: 40px; margin-top: 6px; padding: 8px 30px 8px 10px; font-weight: 650; }
.dividend-summary-grid, .holding-summary-grid { display: grid; grid-template-columns: 1.35fr repeat(3, 1fr); gap: 12px; margin: 0 0 20px; }
.dividend-summary-grid > div, .holding-summary-grid > div { min-height: 112px; padding: 17px 19px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: var(--shadow); }
.dividend-summary-grid > div.primary { border-color: #9fc5f5; background: #f5f9ff; }
.dividend-summary-grid span, .dividend-summary-grid small, .holding-summary-grid span, .holding-summary-grid small { display: block; color: var(--muted); }
.dividend-summary-grid span, .holding-summary-grid span { font-size: 12px; }
.dividend-summary-grid strong, .holding-summary-grid strong { display: block; margin: 10px 0 7px; color: var(--deep); font: 650 23px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.dividend-summary-grid .primary strong { color: var(--blue); font-size: 28px; }
.dividend-summary-grid small, .holding-summary-grid small { font-size: 10px; line-height: 1.45; }
.dividend-calendar-card { padding-bottom: 12px; }
.calendar-month-row { display: grid; grid-template-columns: 100px minmax(0, 1fr); border-top: 1px solid var(--line); }
.calendar-month-row:first-of-type { border-top: 0; }
.calendar-month-label { padding: 19px 15px 18px 0; }
.calendar-month-label b, .calendar-month-label span { display: block; }
.calendar-month-label b { color: var(--blue); font: 650 19px/1 ui-monospace, monospace; }
.calendar-month-label span { margin-top: 7px; color: var(--muted); font-size: 10px; }
.calendar-payments { display: grid; }
.calendar-payments > a { display: grid; grid-template-columns: 60px minmax(0, 1fr) auto; gap: 13px; align-items: center; min-height: 66px; padding: 11px 10px; border-top: 1px solid #eef1f4; }
.calendar-payments > a:first-child { border-top: 0; }
.calendar-payments > a:hover { background: #f7faff; }
.calendar-payments time { color: var(--blue); font: 600 12px/1 ui-monospace, monospace; }
.calendar-payments span b, .calendar-payments span small { display: block; }
.calendar-payments span b { color: var(--deep); font-size: 13px; }
.calendar-payments span small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.calendar-payments strong { color: var(--deep); font: 650 14px/1 ui-monospace, monospace; }
.dashboard-attention { display: grid; grid-template-columns: 100px 1fr; gap: 15px; margin-top: 15px; padding: 13px 16px; border: 1px solid #fedf89; border-radius: 8px; background: #fffaeb; }
.dashboard-attention span { color: #b54708; font-weight: 650; }
.dashboard-attention p { margin: 0; color: #7a6848; font-size: 11px; line-height: 1.6; }

.holdings-overview-card { padding-bottom: 10px; }
.holdings-data-head, .holdings-data-row { display: grid; grid-template-columns: minmax(190px, 1.35fr) .65fr 1fr .9fr .7fr .85fr 32px; gap: 14px; align-items: center; }
.holdings-data-head { padding: 0 8px 10px; color: var(--muted); font-size: 10px; }
.holdings-data-row { min-height: 86px; padding: 14px 8px; border-top: 1px solid var(--line); }
.holdings-data-row:hover { background: #f8fbff; }
.holdings-data-row b, .holdings-data-row small, .holding-company strong, .holding-company span { display: block; }
.holding-company strong { color: var(--deep); font-size: 14px; }
.holding-company strong a:hover { color: var(--blue); }
.holding-company span { margin-top: 3px; color: var(--muted); font: 10px/1.4 ui-monospace, monospace; }
.holding-company small { margin-top: 4px; color: #98a2b3; font-size: 9px; }
.holdings-data-row > div:not(.holding-company) b { color: var(--deep); font: 600 13px/1.3 ui-monospace, monospace; }
.holdings-data-row > div:not(.holding-company) small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.row-arrow { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 6px; color: var(--blue); }
.row-arrow:hover { background: var(--blue-soft); }
.holding-empty .primary-action { margin-top: 14px; }

.research-search { display: flex; width: min(420px, 100%); padding-bottom: 5px; }
.research-search input { flex: 1; min-width: 0; padding: 10px 12px; border-radius: 7px 0 0 7px; }
.research-search button { padding: 9px 18px; border-radius: 0 7px 7px 0; }
.research-list-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 2px 13px; }
.research-list-head strong { color: var(--deep); font-size: 14px; }
.research-list-head span { margin-left: 7px; color: var(--muted); font-size: 11px; }
.research-list-head > a { color: var(--blue); font-size: 11px; font-weight: 600; }
.research-company-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.research-company-card { min-height: 280px; padding: 21px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: var(--shadow); transition: border-color .16s, box-shadow .16s, transform .16s; }
.research-company-card:hover { border-color: #9fc5f5; box-shadow: 0 8px 22px rgba(22, 104, 220, .08); transform: translateY(-2px); }
.research-company-main { display: block; color: inherit; }
.research-company-name > span, .research-company-name > small { display: block; color: var(--muted); font-size: 10px; }
.research-company-name > span { color: var(--blue); font: 650 10px/1 ui-monospace, monospace; }
.research-company-name h2 { margin: 12px 0 7px; color: var(--deep); font-size: 21px; }
.research-company-card dl { display: grid; grid-template-columns: 1fr 1fr; margin: 22px 0 17px; border-top: 1px solid var(--line); }
.research-company-card dl > div { min-height: 65px; padding: 12px 5px 9px 0; border-bottom: 1px solid var(--line); }
.research-company-card dt { color: var(--muted); font-size: 9px; }
.research-company-card dd { margin: 6px 0 0; color: var(--deep); font: 600 12px/1.3 ui-monospace, monospace; }
.research-company-card .research-locked dd { color: var(--blue); }
.research-company-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.research-sync-form.compact button { min-width: 0; padding: 7px 10px; border-color: #b9d5f8; background: #f5f9ff; color: var(--blue); box-shadow: none; }
.research-sync-form.compact button:hover:not(:disabled) { background: #eaf3ff; box-shadow: none; }
.research-company-card .research-sync-progress { padding: 12px 13px; }
.research-card-action { display: block; color: var(--blue); font-size: 11px; font-weight: 600; text-align: right; }
.research-empty { grid-column: 1 / -1; }
.official-discovery { margin-top: 18px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow); overflow: hidden; }
.official-discovery-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 20px 22px; border-bottom: 1px solid var(--line); background: linear-gradient(120deg, #f7faff, #fff 58%); }
.official-discovery-head span { color: var(--blue); font: 650 10px/1 ui-monospace, monospace; letter-spacing: .08em; }
.official-discovery-head h2 { margin: 8px 0 0; color: var(--deep); font-size: 18px; }
.official-discovery-head p { max-width: 520px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.official-match-list { display: grid; }
.official-match-card { display: grid; grid-template-columns: minmax(210px, .8fr) minmax(320px, 1.3fr) auto; gap: 24px; align-items: center; padding: 19px 22px; border-top: 1px solid var(--line); }
.official-match-card:first-child { border-top: 0; }
.official-match-identity > span { color: var(--blue); font: 650 10px/1 ui-monospace, monospace; }
.official-match-identity h3 { margin: 8px 0 5px; color: var(--deep); font-size: 18px; }
.official-match-identity small, .official-match-scope p { color: var(--muted); font-size: 10px; }
.official-match-scope span { color: #344054; font-size: 11px; font-weight: 650; }
.official-match-scope p { margin: 6px 0 0; line-height: 1.55; }
.research-sync-form button { min-width: 156px; padding: 10px 15px; border: 1px solid var(--blue); border-radius: 7px; background: var(--blue); color: #fff; font-size: 11px; font-weight: 650; box-shadow: 0 4px 10px rgba(22, 104, 220, .14); transition: background .16s, box-shadow .16s, transform .16s; }
.research-sync-form button:hover:not(:disabled) { background: #0f5fc9; box-shadow: 0 6px 14px rgba(22, 104, 220, .2); transform: translateY(-1px); }
.research-sync-form button:disabled { cursor: wait; opacity: .66; box-shadow: none; }
.research-sync-progress { display: none; grid-column: 1 / -1; width: min(760px, 100%); justify-self: center; margin: 3px auto 4px; padding: 16px 18px; border: 1px solid #cfe1fb; border-radius: 9px; background: #f7faff; }
.research-sync-progress.is-visible { display: block; }
.research-sync-progress.is-failed { border-color: #f0c7c3; background: #fff9f8; }
.research-sync-progress-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.research-sync-progress-top strong { color: var(--deep); font-size: 11px; }
.research-sync-progress-top span { color: var(--blue); font: 650 11px/1 ui-monospace, monospace; }
.research-sync-track { height: 7px; margin-top: 11px; border-radius: 99px; background: #dfe9f6; overflow: hidden; }
.research-sync-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #1668dc, #55a2ff); transition: width .35s ease; }
.research-sync-progress.is-failed .research-sync-track i { background: #cf6259; }
.research-sync-progress p { margin: 9px 0 0; color: var(--muted); font-size: 10px; }
.research-sync-result { display: inline-flex; margin-top: 10px; color: var(--blue); font-size: 11px; font-weight: 650; }

.company-hero { grid-template-columns: minmax(0, 1fr) minmax(390px, .75fr); align-items: stretch; }
.company-context-card { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: var(--shadow); }
.company-context-card > div { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 17px; border-left: 1px solid var(--line); }
.company-context-card > div:first-child { border-left: 0; }
.company-context-card span, .company-context-card small { color: var(--muted); font-size: 9px; line-height: 1.45; }
.company-context-card strong { display: block; margin: 8px 0 5px; color: var(--deep); font: 650 16px/1.2 ui-monospace, monospace; }
.company-context-card strong small { display: inline; }
.company-overview-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.company-fact-card { display: grid; grid-template-columns: 35px 1fr; gap: 14px; min-height: 170px; }
.company-fact-card small, .company-fact-card strong, .company-fact-card p { display: block; }
.company-fact-card small { color: var(--muted); font-size: 10px; }
.company-fact-card strong { margin-top: 13px; color: var(--deep); font: 650 22px/1 ui-monospace, monospace; }
.company-fact-card p { margin: 13px 0 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.company-next-step { margin-top: 16px; }
.company-tabs { margin-top: 0; }
.company-evidence-list article { display: grid; grid-template-columns: minmax(0, 1fr) 90px 70px; gap: 14px; align-items: center; padding: 15px 0; border-top: 1px solid var(--line); }
.company-evidence-list article:first-child { border-top: 0; }
.company-evidence-list article div > span, .company-evidence-list article div > strong, .company-evidence-list article div > small { display: block; }
.company-evidence-list article div > span { color: var(--blue); font: 600 10px/1 ui-monospace, monospace; }
.company-evidence-list article div > strong { margin-top: 6px; color: var(--deep); font-size: 13px; }
.company-evidence-list article div > small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.company-evidence-list article > a { color: var(--blue); font-size: 10px; font-weight: 600; }

.account-subnav { display: flex; gap: 5px; margin: -20px 0 24px; padding: 5px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.account-subnav > a { flex: 0 0 220px; padding: 10px 13px; border-radius: 6px; }
.account-subnav > a:hover { background: #f2f4f7; }
.account-subnav > a.active { background: var(--blue-soft); color: var(--blue); }
.account-subnav span, .account-subnav small { display: block; }
.account-subnav span { font-size: 12px; font-weight: 650; }
.account-subnav small { margin-top: 3px; color: var(--muted); font-size: 9px; }

/* Short, contextual explanations keep signed-in pages understandable without turning them into help documents. */
.feature-intro { position: relative; display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 15px; align-items: center; margin: -8px 0 24px; padding: 15px 17px; border: 1px solid #cfe0f5; border-radius: 9px; background: #f7faff; box-shadow: 0 1px 2px rgba(16, 24, 40, .025); overflow: hidden; }
.feature-intro::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--blue); }
.feature-intro-mark { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 8px; background: #fff; color: var(--blue); font: 650 11px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; box-shadow: inset 0 0 0 1px #d7e7fa; }
.feature-intro strong, .feature-intro p { display: block; margin: 0; }
.feature-intro strong { color: var(--deep); font-size: 14px; font-weight: 650; }
.feature-intro p { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.feature-intro > a { padding: 8px 10px; border-radius: 6px; color: var(--blue); font-size: 12px; font-weight: 600; white-space: nowrap; transition: background .16s; }
.feature-intro > a:hover { background: #e8f2ff; }
.section-purpose { margin: -11px 0 20px; padding: 0 0 0 39px; color: var(--muted); font-size: 12px; line-height: 1.65; }

.ledger-card, .data-panel { border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: var(--shadow); }
.ledger-card { padding: 26px; }
.section-heading { margin-bottom: 22px; }
.section-heading > div { gap: 11px; }
.section-number { display: grid; place-items: center; min-width: 28px; height: 28px; padding: 0 7px; border: 0; border-radius: 7px; background: var(--blue-soft); color: var(--blue); font: 650 12px/1 ui-monospace, monospace; }
.section-heading h2 { color: var(--deep); font: 650 19px/1.35 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif; letter-spacing: -.01em; }
.section-heading p, .quiet { color: var(--muted); font: 12px/1.5 ui-monospace, monospace; }
.flash { padding: 12px 14px; border: 1px solid #abefc6; border-radius: 8px; background: #ecfdf3; color: #067647; font-size: 13px; }
.empty-state { color: var(--muted); }
.empty-state strong { color: var(--deep); font-family: inherit; font-size: 17px; }

button, .entry-form button, .admin-head-action, .admin-primary-action button, .security-admin-actions button, .information-banner button { border: 1px solid var(--blue); border-radius: 7px; background: var(--blue); color: #fff; font-weight: 600; cursor: pointer; transition: background .16s, border-color .16s, transform .16s; }
button:hover, .entry-form button:hover, .admin-head-action:hover, .information-banner button:hover { border-color: var(--blue-strong); background: var(--blue-strong); }
button:active, .admin-head-action:active { transform: translateY(1px); }
input, select, textarea { border: 1px solid #d0d5dd; border-radius: 7px; background: #fff; color: var(--deep); }
input:focus, select:focus, textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(22, 104, 220, .12); outline: 0; }

.hero { grid-template-columns: minmax(0, 1.1fr) minmax(380px, .9fr); gap: 48px; align-items: stretch; margin-bottom: 30px; }
.hero > div:first-child { display: flex; flex-direction: column; justify-content: center; min-height: 330px; padding: 28px 6px; }
.hero h1 { font-size: clamp(40px, 5.2vw, 64px); line-height: 1.12; }
.hero h1 em { color: var(--blue); font-style: normal; }
.hero h1 em:after { display: none; }
.hero-copy { max-width: 610px; margin-top: 22px; font-size: 15px; }
.cash-pulse { position: relative; }
.cash-pulse::before { content: ""; position: absolute; top: 29px; bottom: 29px; left: -22px; width: 3px; border-radius: 99px; background: linear-gradient(180deg, var(--blue) 0 52%, #cfe2ff 52% 100%); }
.cash-pulse h1 { margin: 0; }
.cash-pulse-company { display: flex; align-items: baseline; gap: 12px; margin: 20px 0 0; }
.cash-pulse-company strong { color: var(--deep); font-size: 16px; }
.cash-pulse-company span { color: var(--muted); font: 600 12px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.cash-pulse-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 590px; margin-top: 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cash-pulse-facts > div { min-height: 68px; padding: 13px 15px; border-left: 1px solid var(--line); }
.cash-pulse-facts > div:first-child { padding-left: 0; border-left: 0; }
.cash-pulse-facts span, .cash-pulse-facts strong { display: block; }
.cash-pulse-facts span { color: var(--muted); font-size: 10px; }
.cash-pulse-facts strong { margin-top: 7px; color: var(--deep); font: 650 13px/1.25 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.cash-pulse-link { align-self: flex-start; margin-top: 18px; color: var(--blue); font-size: 12px; font-weight: 650; }
.cash-pulse-link:hover { text-decoration: underline; }
.total-panel { padding: 30px; border: 1px solid #cfe0f5; border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.total-panel > span { color: var(--muted); font-size: 13px; }
.total-panel strong { color: var(--deep); font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: clamp(42px, 5vw, 58px); }
.total-panel strong small { color: var(--blue); }
.annual-split span { border-color: var(--line); border-radius: 6px; background: #f8fafc; }
.annual-split b { color: var(--blue); }
.valuation-ruler { border-color: var(--line); background: none; }
.valuation-ruler > div { border-color: var(--line); }
.valuation-ruler b { color: var(--deep); }

.cashflow-scope { border-color: var(--line); border-radius: 8px; background: #fff; overflow: hidden; box-shadow: 0 1px 2px rgba(16, 24, 40, .03); }
.cashflow-scope > span, .cashflow-scope > a { border-color: var(--line); }
.cashflow-scope > a.active { background: var(--blue); color: #fff; }
.cashflow-scope > a:hover { background: var(--blue-soft); color: var(--blue); }
.dashboard-scope { margin: 0 0 22px; border-color: #c7daf1; box-shadow: 0 2px 8px rgba(22, 104, 220, .055); }
.dashboard-scope > span { background: #f3f8ff; color: var(--blue); font-weight: 650; }
.dashboard-scope > a { font-weight: 600; }
.dashboard-scope > a.active:hover { background: var(--blue-strong); color: #fff; }

.bar-track { border-color: var(--line); }
.bar-track i { border-radius: 4px 4px 0 0; background: #dbe7f5; }
.has-cash .bar-track i { background: var(--blue); }
.has-cash .amount { color: var(--blue); }
.event-row, .status-card dl div, .holding-row, .proof-row, .diagnostic-sheet dl > div, .dividend-history-row { border-color: var(--line); }
.event-main h3, .holding-row > div strong, .diagnostic-sheet h2 { color: var(--deep); font-family: inherit; }
.confidence a, .proof-source, .dividend-history-row > a { color: var(--blue); }

/* Price recovery stays in the same evidence-first research language as dividend health. */
.recovery-warning { display: grid; grid-template-columns: 240px 1fr; gap: 22px; margin: -6px 0 22px; padding: 15px 18px; border: 1px solid #fedf89; border-radius: 9px; background: #fffaeb; }
.yield-identity-card { display: grid; grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr); gap: 0; margin: -4px 0 24px; border: 1px solid #b9cfe9; border-radius: 10px; overflow: hidden; background: #fff; box-shadow: var(--shadow); }
.yield-identity-card > div { display: flex; flex-direction: column; justify-content: center; padding: 24px; background: #f5f9ff; }
.yield-identity-card > div span, .yield-identity-card > div strong, .yield-identity-card > div small { display: block; }
.yield-identity-card > div span { color: var(--blue); font-size: 11px; font-weight: 650; }
.yield-identity-card > div strong { margin-top: 10px; color: var(--deep); font: 680 30px/1 ui-monospace, monospace; }
.yield-identity-card > div small { margin-top: 11px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.yield-identity-card dl { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; padding: 15px 22px; }
.yield-identity-card dl > div { padding: 10px 12px; border-bottom: 1px solid var(--line); }
.yield-identity-card dt { color: var(--muted); font-size: 10px; }
.yield-identity-card dd { margin: 6px 0 0; color: var(--deep); font: 650 12px/1.3 ui-monospace, monospace; }
.yield-identity-card > p { grid-column: 1 / -1; margin: 0; padding: 11px 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; line-height: 1.6; }
.evidence-insights { margin-bottom: 24px; }
.insight-list { border-top: 1px solid var(--line); }
.insight-list article { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 16px; align-items: start; padding: 15px 0; border-bottom: 1px solid var(--line); }
.insight-list article > span { width: max-content; padding: 5px 8px; border-radius: 999px; background: #eff8ff; color: #175cd3; font-size: 9px; font-weight: 650; }
.insight-list article > div strong { color: var(--deep); font-size: 13px; }
.insight-list article > div p { margin: 5px 0 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.insight-list article > a { color: var(--blue); font-size: 10px; font-weight: 650; white-space: nowrap; }
.insight-list article > small { color: var(--muted); font-size: 9px; }
.insight-list .insight-attention > span { background: #fff6ed; color: #b93815; }
.insight-list .insight-missing > span { background: #f2f4f7; color: #667085; }
.recovery-warning strong { color: #93370d; font-size: 13px; }
.recovery-warning p { margin: 0; color: #7a2e0e; font-size: 12px; line-height: 1.65; }
.total-return-bridge { margin-bottom: 24px; }
.return-bridge-flow { display: grid; grid-template-columns: 1fr 22px 1fr 22px 1fr 22px 1.18fr; gap: 10px; align-items: center; }
.return-bridge-flow > div { min-height: 94px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: #f8fafc; }
.return-bridge-flow > div.total { border-color: #b9cfe9; background: #f3f8ff; }
.return-bridge-flow > i { color: #98a2b3; font-style: normal; font-size: 18px; text-align: center; }
.return-bridge-flow span, .return-bridge-flow strong, .return-bridge-flow small { display: block; }
.return-bridge-flow span { color: var(--muted); font-size: 10px; }
.return-bridge-flow strong { margin-top: 10px; color: var(--deep); font: 680 20px/1 ui-monospace, monospace; }
.return-bridge-flow .total strong { color: var(--blue); }
.return-bridge-flow strong.negative { color: #b42318; }
.return-bridge-flow small { margin-top: 8px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.recovery-details { margin-bottom: 24px; }
.recovery-table { border-top: 1px solid var(--line); }
.recovery-row { display: grid; grid-template-columns: 1.08fr .9fr 1.3fr .72fr .82fr 55px; gap: 15px; align-items: center; min-height: 68px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.recovery-row > div strong, .recovery-row > div small { display: block; }
.recovery-row > div strong { color: var(--deep); font: 650 12px/1.4 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.recovery-row > div small { max-width: 310px; margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.45; text-overflow: ellipsis; }
.recovery-row > a { color: var(--blue); font-weight: 600; }
.recovery-head { min-height: 38px; padding: 7px 0; color: var(--muted); font-size: 10px; }
.recovery-status { width: max-content; padding: 5px 8px; border-radius: 999px; background: #f2f4f7; color: #475467; font-size: 10px; font-weight: 650; }
.status-recovered { background: #ecfdf3; color: #067647; }
.status-rightcensored { background: #fff6ed; color: #b93815; }
.status-observing { background: #eff8ff; color: #175cd3; }
.status-incomparable, .status-insufficientdata { background: #f2f4f7; color: #667085; }

/* Income coverage and scenarios answer one user question per panel. */
.dividend-flash { margin-bottom: 18px; }
.income-coverage-layout, .scenario-layout { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr); gap: 22px; align-items: start; }
.income-target-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; margin-bottom: 22px; }
.income-target-form label, .scenario-form label { color: #475467; font-size: 11px; font-weight: 600; }
.income-target-form input, .scenario-form input, .save-scenario-form input { width: 100%; min-height: 42px; margin-top: 6px; padding: 9px 11px; }
.income-target-form button, .scenario-form button, .save-scenario-form button { min-height: 42px; padding: 9px 15px; }
.compact-empty { padding: 22px; border-radius: 8px; background: #f8fafc; }
.coverage-summary, .concentration-summary, .scenario-summary { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 22px; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.coverage-summary > div, .concentration-summary > div, .scenario-summary > div { min-height: 82px; padding: 15px; border-left: 1px solid var(--line); }
.coverage-summary > div:first-child, .concentration-summary > div:first-child, .scenario-summary > div:first-child { border-left: 0; }
.coverage-summary span, .coverage-summary strong, .concentration-summary span, .concentration-summary strong, .scenario-summary span, .scenario-summary strong { display: block; }
.coverage-summary span, .concentration-summary span, .scenario-summary span { color: var(--muted); font-size: 10px; }
.coverage-summary strong, .concentration-summary strong, .scenario-summary strong { margin-top: 9px; color: var(--deep); font: 650 18px/1.2 ui-monospace, monospace; }
.coverage-months { display: grid; gap: 9px; }
.coverage-months > div { display: grid; grid-template-columns: 40px minmax(100px, 1fr) 90px 85px; gap: 10px; align-items: center; font-size: 11px; }
.coverage-months i, .contribution-list i { height: 7px; overflow: hidden; border-radius: 99px; background: #eef2f6; }
.coverage-months i b, .contribution-list i b { display: block; height: 100%; border-radius: inherit; background: var(--blue); }
.coverage-months strong { text-align: right; font: 600 11px/1 ui-monospace, monospace; }
.coverage-months small { color: var(--muted); }
.contribution-list { display: grid; gap: 12px; margin: 22px 0; }
.contribution-list > div { display: grid; grid-template-columns: 130px minmax(90px, 1fr) 55px; gap: 12px; align-items: center; }
.contribution-list span b, .contribution-list span small { display: block; }
.contribution-list span b { color: var(--deep); font-size: 12px; }
.contribution-list span small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.contribution-list > div > strong { text-align: right; font: 650 11px/1 ui-monospace, monospace; }
.scenario-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 12px; }
.scenario-form button { grid-column: 1 / -1; }
.scenario-formula, .scenario-disclaimer { color: var(--muted); font-size: 11px; line-height: 1.75; }
.scenario-formula { margin: 17px 0 0; padding-top: 14px; border-top: 1px solid var(--line); }
.scenario-year-table { max-height: 430px; overflow: auto; border-top: 1px solid var(--line); }
.scenario-year-row { display: grid; grid-template-columns: 65px repeat(4, 1fr); gap: 10px; align-items: center; min-height: 42px; padding: 8px 0; border-bottom: 1px solid var(--line); color: #475467; font: 11px/1.3 ui-monospace, monospace; }
.scenario-year-row strong { color: var(--deep); }
.scenario-year-row.head { min-height: 32px; color: var(--muted); font-size: 9px; }
.save-scenario-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 18px; }
.save-scenario-form input { margin-top: 0; }
.saved-scenarios { margin-top: 22px; }
.saved-scenario-list > div { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 13px 0; border-top: 1px solid var(--line); }
.saved-scenario-list a strong, .saved-scenario-list a small { display: block; }
.saved-scenario-list a strong { color: var(--deep); font-size: 13px; }
.saved-scenario-list a small { margin-top: 5px; color: var(--muted); font-size: 10px; }
.saved-scenario-list button { padding: 7px 10px; border-color: #f2b8b3; background: #fff; color: #b42318; font-size: 10px; }
.scenario-disclaimer { margin-top: 16px; }

@media (max-width: 1000px) {
  .return-bridge-flow { grid-template-columns: repeat(4, 1fr); }
  .return-bridge-flow > i { display: none; }
  .recovery-row { grid-template-columns: 1fr 1fr 1fr; }
  .recovery-head { display: none; }
  .recovery-row > a { justify-self: start; }
  .income-coverage-layout, .scenario-layout { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .page-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
  .page-tabs > a { min-width: 0; padding: 9px 5px; }
  .return-bridge-flow { grid-template-columns: 1fr 1fr; }
  .recovery-warning { grid-template-columns: 1fr; gap: 6px; }
  .recovery-row { grid-template-columns: 1fr 1fr; }
  .income-target-form, .scenario-form, .save-scenario-form { grid-template-columns: 1fr; }
  .scenario-form button { grid-column: auto; }
  .coverage-summary, .concentration-summary, .scenario-summary { grid-template-columns: 1fr; }
  .coverage-summary > div, .concentration-summary > div, .scenario-summary > div { border-left: 0; border-top: 1px solid var(--line); }
  .coverage-summary > div:first-child, .concentration-summary > div:first-child, .scenario-summary > div:first-child { border-top: 0; }
  .coverage-months > div { grid-template-columns: 34px 1fr 75px; }
  .coverage-months small { grid-column: 2 / -1; }
  .scenario-year-row { grid-template-columns: 52px repeat(2, 1fr); }
  .scenario-year-row > span:nth-child(4), .scenario-year-row > span:nth-child(5) { display: none; }
  .yield-identity-card { grid-template-columns: 1fr; }
  .yield-identity-card dl { grid-template-columns: 1fr; }
}
.manage-link { border-radius: 8px; background: var(--blue); color: #fff; font-family: inherit; }
.manage-link span { color: #fff; }

.portfolio-tabs { border-color: var(--line); border-radius: 8px; overflow: hidden; background: #fff; }
.portfolio-tabs a.active { background: var(--blue); color: #fff; }
.portfolio-tools input, .portfolio-tools button, .portfolio-tools a { border-radius: 7px; }
.entry-step b, .lookup-kicker { color: var(--blue); }
.entry-step span, .security-query-label { color: var(--deep); font-family: inherit; }
.security-search-stage, .holding-quantity-stage { border-color: var(--line); border-radius: 8px; background: #f8fafc; }
.security-query-box { grid-template-columns: 44px 1fr; border: 1px solid #b9cce6; border-radius: 8px; overflow: hidden; background: #fff; }
.security-query-box > span { background: var(--blue); color: #fff; font-family: inherit; }
.security-query-box:focus-within { border-color: var(--blue); background: #fff; box-shadow: 0 0 0 3px rgba(22, 104, 220, .12); }
.entry-form .security-result:hover, .entry-form .security-result:focus-visible { background: var(--blue-soft); color: var(--deep); }
.entry-form .security-result:hover span, .entry-form .security-result:focus-visible span { color: var(--muted); }
.entry-form .security-result:hover small, .entry-form .security-result:focus-visible small { color: var(--blue); }

.plan-sheet, .usage-strip, .account-plan-card { border-color: var(--line); border-radius: 10px; background: #fff; box-shadow: var(--shadow); }
.pro-plan { border-color: #9fc5f5; background: #f6faff; }
.plan-sheet h2, .account-plan-card h2, .plan-benefits b, .research-grid strong { color: var(--deep); font-family: inherit; }
.plan-price, .research-grid b, .research-status { color: var(--blue); }
.current-stamp { background: var(--blue); color: #fff; }
.research-grid { border-color: var(--line); }
.research-grid > div { border-color: var(--line); background: #fff; }

/* Authentication is the product introduction; signed-in pages stay task-focused. */
.auth-page .site-shell { min-height: calc(100svh - 116px); }
.auth-page .user-main { display: flex; align-items: center; width: min(1280px, 100%); min-height: calc(100svh - 116px); padding: clamp(16px, 2.4vh, 26px) 32px; }
.auth-page footer { min-height: 52px; padding: 15px 28px; }
.auth-shell { width: 100%; height: min(680px, calc(100svh - 152px)); min-height: 560px; display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(350px, .72fr); border: 1px solid #d7e1ec; border-radius: 14px; background: #fff; box-shadow: 0 14px 44px rgba(16, 24, 40, .08); overflow: hidden; }
.auth-showcase { position: relative; min-width: 0; overflow: hidden; background: linear-gradient(145deg, #f8fbff 0%, #eef4fb 62%, #e8f1fc 100%); }
.auth-showcase::before { content: ""; position: absolute; width: 360px; height: 360px; right: -180px; top: -180px; border: 1px solid rgba(22, 104, 220, .14); border-radius: 50%; box-shadow: 0 0 0 46px rgba(22, 104, 220, .025), 0 0 0 92px rgba(22, 104, 220, .018); }
.auth-slide { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 20px; padding: clamp(38px, 4vw, 58px); opacity: 0; visibility: hidden; transform: translateX(26px); transition: opacity .45s ease, transform .45s ease, visibility .45s; pointer-events: none; }
.auth-slide.active { opacity: 1; visibility: visible; transform: translateX(0); pointer-events: auto; }
.auth-slide-copy { position: relative; z-index: 1; max-width: 660px; }
.auth-slide-copy .eyebrow { margin-bottom: 16px; }
.auth-slide-copy h1 { max-width: 650px; margin: 0; color: var(--deep); font-size: clamp(38px, 4vw, 59px); font-weight: 680; line-height: 1.12; letter-spacing: -.045em; }
.auth-slide-copy h1 em { color: var(--blue); font-style: normal; }
.auth-slide-copy > p:last-child { max-width: 610px; margin: 20px 0 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.auth-cash-preview, .auth-research-preview { position: relative; z-index: 1; border: 1px solid #cfddeb; border-radius: 10px; background: rgba(255, 255, 255, .86); box-shadow: 0 8px 24px rgba(22, 72, 128, .055); }
.auth-cash-preview { display: grid; grid-template-columns: minmax(190px, 1.1fr) minmax(270px, 1.4fr); align-items: stretch; }
.auth-preview-total { padding: 18px 20px; border-right: 1px solid var(--line); }
.auth-preview-total span, .auth-preview-total strong { display: block; }
.auth-preview-total span, .auth-preview-metrics span { color: var(--muted); font-size: 11px; }
.auth-preview-total strong { margin-top: 7px; color: var(--deep); font: 650 clamp(25px, 2.2vw, 34px)/1 ui-monospace, "SFMono-Regular", Consolas, monospace; letter-spacing: -.04em; }
.auth-preview-total small { color: var(--blue); font-size: .6em; }
.auth-preview-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.auth-preview-metrics > div { padding: 18px 13px; border-right: 1px solid var(--line); }
.auth-preview-metrics > div:last-child { border-right: 0; }
.auth-preview-metrics span, .auth-preview-metrics b { display: block; }
.auth-preview-metrics b { margin-top: 7px; color: var(--deep); font: 650 14px/1.25 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.auth-preview-source { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; padding: 9px 13px; border-top: 1px solid var(--line); color: #56708f; font-size: 11px; }
.auth-preview-source i { width: 7px; height: 7px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 3px rgba(18, 183, 106, .12); }
.auth-research-preview { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; }
.auth-research-preview > div { min-height: 74px; padding: 14px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.auth-research-preview > div:nth-child(3n) { border-right: 0; }
.auth-research-preview > div:nth-child(n+4) { border-bottom: 0; }
.auth-research-preview b, .auth-research-preview span { display: block; }
.auth-research-preview b { color: var(--deep); font-size: 13px; }
.auth-research-preview span { margin-top: 7px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.auth-slide-controls { position: absolute; z-index: 4; right: clamp(38px, 4vw, 58px); top: clamp(30px, 3vw, 46px); display: flex; align-items: center; gap: 12px; }
.auth-slide-index { color: #7890ac; font: 600 10px/1 ui-monospace, monospace; }
.auth-slide-index b { color: var(--blue); }
.auth-slide-controls > div { display: flex; gap: 6px; }
.auth-slide-controls button { width: 22px; height: 4px; min-height: 0; padding: 0; border: 0; border-radius: 999px; background: #b9c7d8; box-shadow: none; }
.auth-slide-controls button:hover { border: 0; background: #7fa7d9; }
.auth-slide-controls button.active { width: 38px; background: var(--blue); }
.auth-form-card { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 34px clamp(34px, 3.4vw, 50px); border-left: 1px solid var(--line); background: #fff; }
.auth-form-card .folio { color: var(--blue); font: 600 11px/1.2 ui-monospace, monospace; }
.auth-form-card h2 { margin: 17px 0 7px; color: var(--deep); font: 650 27px/1.25 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif; letter-spacing: -.02em; }
.auth-form-card > p { margin: 0; color: var(--muted); font-size: 13px; }
.auth-form { gap: 13px; margin-top: 22px; }
.auth-form label { color: #475467; font-size: 12px; font-weight: 500; }
.auth-form input:not([type="checkbox"]) { min-height: 42px; margin-top: 6px; padding: 9px 11px; border: 1px solid #d0d5dd; border-radius: 7px; background: #fff; font: 13px/1.4 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.auth-form .check-label { min-height: 24px; }
.auth-form button { min-height: 44px; margin-top: 1px; padding: 10px 14px; }
.auth-switch { margin-top: 18px !important; }
.auth-switch a { color: var(--blue); }

/* Portfolio controls use the same quiet, precise interaction language as the new shell. */
.portfolio-tabs { display: flex; align-items: center; gap: 6px; margin-bottom: 14px; padding: 6px; overflow-x: auto; overflow-y: hidden; border: 1px solid var(--line); border-radius: 9px; }
.portfolio-tabs > a { min-height: 40px; display: inline-flex; align-items: center; flex: 0 0 auto; padding: 9px 14px; border: 1px solid transparent; border-radius: 7px; color: #475467; font-weight: 550; transition: color .16s, background .16s, border-color .16s, box-shadow .16s; }
.portfolio-tabs > a:hover { border-color: #c7d8ed; background: var(--blue-soft); color: var(--blue); }
.portfolio-tabs > a.active, .portfolio-tabs > a.active:hover { border-color: var(--blue); background: var(--blue); color: #fff; box-shadow: 0 2px 7px rgba(22, 104, 220, .2); }
.portfolio-tabs > a.active small { color: #d9e9ff; }
.new-portfolio { display: flex; flex: 0 0 auto; margin-left: auto; }
.new-portfolio input { width: 170px; min-height: 40px; margin: 0; padding: 9px 11px; border: 1px solid #d0d5dd; border-radius: 7px 0 0 7px; background: #fff; }
.new-portfolio button { min-height: 40px; margin: 0; padding: 8px 13px; border-radius: 0 7px 7px 0; }
.portfolio-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 0 0 24px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.portfolio-tools form { display: flex; min-width: 0; }
.portfolio-tools form:first-child { flex: 0 1 370px; }
.portfolio-tools input { min-width: 150px; min-height: 40px; margin: 0; padding: 9px 11px; border: 1px solid #d0d5dd; border-radius: 7px 0 0 7px; background: #fff; }
.portfolio-tools button, .portfolio-tools .tool-link { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; margin: 0; padding: 9px 14px; border: 1px solid #b8c5d6; border-radius: 7px; background: #fff; color: #344054; font-size: 13px; font-weight: 600; box-shadow: none; transition: color .16s, background .16s, border-color .16s, box-shadow .16s, transform .12s; }
.portfolio-tools form:first-child button { border-left: 0; border-radius: 0 7px 7px 0; color: var(--blue); }
.portfolio-tools button:hover, .portfolio-tools .tool-link:hover { border-color: #8fb5e7; background: var(--blue-soft); color: var(--blue); box-shadow: 0 2px 7px rgba(22, 104, 220, .08); }
.portfolio-tools button:active, .portfolio-tools .tool-link:active { transform: translateY(1px); }
.portfolio-tools .danger-button { border-color: #f2b8b3; background: #fff; color: #b42318; }
.portfolio-tools .danger-button:hover { border-color: #e78880; background: #fef3f2; color: #b42318; }
.portfolio-tools .tool-link.locked { border-color: #d0d5dd; background: #f9fafb; color: #98a2b3; }
.portfolio-tools .tool-link.locked:hover { border-color: #b8c5d6; background: #f2f4f7; color: #667085; }

.security-hero { gap: 40px; }
.security-price { border-color: var(--line); }
.security-price strong { color: var(--deep); }
.pro-gate { border-color: #9fc5f5; border-radius: 10px; overflow: hidden; background: #f6faff; }
.pro-gate-copy h2 { font-family: inherit; }
.pro-gate-copy > span, .pro-gate-copy a { color: var(--blue); }
.analysis-ribbon { border-color: #9fc5f5; border-radius: 10px; overflow: hidden; background: #fff; }
.analysis-ribbon > div { border-color: var(--line); }
.analysis-ribbon > div:first-child { background: var(--blue); color: #fff; }
.analysis-ribbon .analysis-verdict span, .analysis-ribbon .analysis-verdict small { color: #dceaff; }
.analysis-verdict strong { font-family: inherit; }
.dps-row > span, .diagnostic-sheet .financial-fact dd, .dividend-history-row > div:first-child strong { color: var(--blue); }
.dps-row > i { background: #e7eef7; }
.dps-row > i b { background: var(--blue); }

/* Admin application shell */
.admin-body .site-header { padding-left: 20px; }
.admin-body .source-badge { margin-left: 4px; }
.admin-shell { display: grid; grid-template-columns: 232px minmax(0, 1fr); min-height: calc(100vh - 64px); }
.admin-sidebar { position: sticky; top: 64px; align-self: start; height: calc(100vh - 64px); display: flex; flex-direction: column; padding: 18px 14px; border-right: 1px solid var(--line); background: #fff; }
.admin-sidebar-title { display: flex; align-items: center; gap: 10px; padding: 8px 10px 18px; border-bottom: 1px solid var(--line); }
.admin-sidebar-title > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: #edf4ff; color: var(--blue); font: 700 11px/1 ui-monospace, monospace; }
.admin-sidebar-title strong, .admin-sidebar-title small { display: block; }
.admin-sidebar-title strong { color: var(--deep); font-size: 14px; }
.admin-sidebar-title small { margin-top: 2px; color: #98a2b3; font: 9px/1.2 ui-monospace, monospace; text-transform: uppercase; }
.admin-nav { display: flex; flex: 1; flex-direction: column; gap: 3px; margin: 0; padding: 12px 0; }
.admin-nav-group { margin: 13px 10px 5px; color: #98a2b3; font-size: 11px; font-weight: 600; }
.admin-nav a { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 7px 10px; border-radius: 7px; color: #475467; font-weight: 500; }
.admin-nav a i { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid #e4e7ec; border-radius: 6px; background: #f9fafb; color: #667085; font-size: 11px; font-style: normal; }
.admin-nav a:hover { background: #f5f8fc; color: var(--blue); }
.admin-nav a.active { background: var(--blue-soft); color: var(--blue); font-weight: 650; }
.admin-nav a.active i { border-color: #b8d4f7; background: #fff; color: var(--blue); }
.admin-sidebar-foot { display: flex; align-items: center; gap: 10px; padding: 13px 10px; border: 1px solid #d7eee2; border-radius: 8px; background: #f3fbf7; }
.health-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 4px rgba(18, 183, 106, .11); }
.admin-sidebar-foot strong, .admin-sidebar-foot small { display: block; }
.admin-sidebar-foot strong { color: #027a48; font-size: 12px; }
.admin-sidebar-foot small { margin-top: 2px; color: #52926f; font-size: 10px; }
.admin-sidebar-foot a { display: block; margin-top: 7px; color: #087443; font-size: 9px; font-weight: 650; }
.admin-main { width: 100%; max-width: none; margin: 0; padding: 30px 32px 64px; overflow: hidden; }
.admin-body footer { margin-left: 232px; width: calc(100% - 232px); }

.admin-page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.admin-page-head > div { max-width: 780px; }
.admin-page-head h1 { margin: 0; color: var(--deep); font-size: 30px; font-weight: 650; line-height: 1.25; letter-spacing: -.025em; }
.admin-page-head p:last-child { margin: 8px 0 0; color: var(--muted); line-height: 1.65; }
.admin-head-action { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 9px 14px; white-space: nowrap; }
.admin-head-action.secondary { border-color: #b8cce5; background: #fff; color: var(--blue); }
.admin-head-action.secondary:hover { border-color: var(--blue); background: var(--blue-soft); }
.admin-quick-sync { display: grid; grid-template-columns: 132px 132px auto; gap: 8px; }
.admin-quick-sync input { min-height: 38px; padding: 7px 9px; }
.admin-quick-sync button { padding: 8px 14px; }

.admin-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.admin-stat-card { position: relative; min-height: 132px; padding: 18px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: var(--shadow); overflow: hidden; }
.admin-stat-card:before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--blue); }
.admin-stat-card.attention:before { background: var(--danger); }
.admin-stat-card.warning:before { background: var(--warning); }
.admin-stat-card span, .admin-stat-card small { display: block; }
.admin-stat-card span { color: var(--muted); font-size: 13px; }
.admin-stat-card strong { display: block; margin: 10px 0 8px; color: var(--deep); font: 650 31px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.admin-stat-card small { color: #98a2b3; line-height: 1.45; }
.admin-stat-card:hover { border-color: #a9c7ed; box-shadow: 0 5px 18px rgba(22, 104, 220, .08); }
.admin-architecture-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 0 0 18px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: var(--shadow); overflow: hidden; }
.admin-architecture-strip > a { min-height: 114px; padding: 16px 17px; border-left: 1px solid var(--line); }
.admin-architecture-strip > a:first-child { border-left: 0; }
.admin-architecture-strip > a:hover { background: #f6f9fd; }
.admin-architecture-strip span, .admin-architecture-strip strong, .admin-architecture-strip small { display: block; }
.admin-architecture-strip span { color: var(--blue); font: 650 9px/1 ui-monospace, monospace; }
.admin-architecture-strip strong { margin-top: 11px; color: var(--deep); font-size: 12px; }
.admin-architecture-strip small { margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.55; }

.data-panel { padding: 22px; }
.panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.panel-head h2 { margin: 0; color: var(--deep); font-size: 17px; font-weight: 650; }
.panel-head p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.panel-head > a { color: var(--blue); font-size: 12px; font-weight: 600; }
.panel-count { display: grid; place-items: center; min-width: 34px; height: 26px; padding: 0 8px; border-radius: 999px; background: var(--blue-soft); color: var(--blue); font-weight: 650; }
.pipeline-panel { margin-bottom: 18px; }
.pipeline-flow { display: grid; grid-template-columns: repeat(7, auto); align-items: stretch; justify-content: stretch; }
.pipeline-flow > div { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: #f9fbfd; }
.pipeline-flow > i { display: grid; place-items: center; padding: 0 10px; color: #98a2b3; font-style: normal; }
.pipeline-flow span, .pipeline-flow strong, .pipeline-flow small, .pipeline-flow b { display: block; }
.pipeline-flow span { color: var(--blue); font: 650 10px/1 ui-monospace, monospace; }
.pipeline-flow strong { margin-top: 9px; color: var(--deep); font-size: 14px; }
.pipeline-flow small { min-height: 34px; margin-top: 4px; color: var(--muted); line-height: 1.45; }
.pipeline-flow b { margin-top: 10px; color: var(--deep); font: 600 19px/1 ui-monospace, monospace; }
.pipeline-flow .pipeline-quality { border-color: #fedf89; background: #fffaeb; }
.pipeline-flow .pipeline-quality span { color: var(--warning); }
.admin-content-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr); gap: 18px; }
.operation-list > div { display: grid; grid-template-columns: 34px minmax(0, 1fr) 100px 84px; gap: 10px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.operation-list > div:first-child { border-top: 0; }
.operation-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 7px; background: var(--blue-soft); color: var(--blue); font: 650 9px/1 ui-monospace, monospace; }
.operation-list strong, .operation-list small { display: block; }
.operation-list small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.operation-list time { color: var(--muted); font: 11px/1.4 ui-monospace, monospace; }
.health-list { margin: 0; }
.health-list > div { display: flex; align-items: center; justify-content: space-between; padding: 13px 0; border-top: 1px solid var(--line); }
.health-list > div:first-child { border-top: 0; }
.health-list dt { color: var(--muted); }
.health-list dd { margin: 0; color: var(--deep); font: 600 13px/1 ui-monospace, monospace; }
.panel-link { display: block; margin-top: 14px; padding-top: 15px; border-top: 1px solid var(--line); color: var(--blue); font-size: 12px; font-weight: 600; }

.state { display: inline-flex; align-items: center; justify-content: center; width: max-content; min-height: 24px; padding: 3px 8px; border-radius: 999px; background: #f2f4f7; color: #475467; font: 600 10px/1 ui-monospace, monospace; }
.state.completed, .state.resolved { background: #ecfdf3; color: #027a48; }
.state.running, .state.automatic { background: var(--blue-soft); color: var(--blue); }
.state.partial, .state.quarantined, .state.waiting { background: #fffaeb; color: #b54708; }
.state.failed { background: #fef3f2; color: #b42318; }
.state.disabled { background: #f2f4f7; color: #667085; }

.todo-section { margin-bottom: 16px; }
.subscription-request-row { grid-template-columns: minmax(260px, 1fr) 150px minmax(360px, .9fr); border-color: var(--line); }
.subscription-request-row > div strong { color: var(--deep); }
.subscription-request-row form { grid-template-columns: 110px 1fr 66px; }
.subscription-request-row input { background: #fff; }
.subscription-request-row button { padding: 8px 10px; }
.subscription-request-row .danger-button { border-color: #fda29b; background: #fff; color: var(--danger); }
.information-banner { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 14px; align-items: center; margin-top: 18px; padding: 16px 18px; border: 1px solid #b8d4f7; border-radius: 9px; background: #f5f9ff; }
.information-banner > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 8px; background: #fff; color: var(--blue); font-weight: 650; }
.information-banner strong, .information-banner p { display: block; margin: 0; }
.information-banner p { margin-top: 4px; color: var(--muted); font-size: 12px; }
.information-banner a { color: var(--blue); font-weight: 600; }
.information-banner.compact { margin: 0 0 18px; }

.quality-summary, .schedule-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 18px; }
.quality-summary > div, .schedule-summary > div { padding: 17px 19px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: var(--shadow); }
.quality-summary span, .quality-summary small, .schedule-summary span, .schedule-summary small { display: block; color: var(--muted); }
.quality-summary strong, .schedule-summary strong { display: inline-block; margin: 7px 5px 5px 0; color: var(--deep); font: 650 27px/1.2 ui-monospace, monospace; }
.quality-summary .quality-policy, .schedule-summary .schedule-timezone { color: var(--blue); font-family: inherit; font-size: 18px; }
.review-row { grid-template-columns: 110px minmax(0, 1fr) 110px; border-color: var(--line); }
.review-row > div strong { color: var(--deep); font-family: inherit; }
.review-row > div em { display: block; margin-top: 5px; color: #b54708; font-size: 11px; font-style: normal; }
.quality-gate-banner { display: grid; grid-template-columns: 110px 1fr; gap: 15px; align-items: center; margin-bottom: 18px; padding: 16px 18px; border: 1px solid #fedf89; border-radius: 9px; background: #fffaeb; }
.quality-gate-banner.resolved { border-color: #abefc6; background: #ecfdf3; }
.quality-gate-banner strong, .quality-gate-banner p { display: block; margin: 0; }
.quality-gate-banner p { margin-top: 3px; color: var(--muted); font-size: 12px; }
.extracted-fields { gap: 0; }
.extracted-fields > div { border-color: var(--line); }
.review-quote { border-color: var(--blue); background: #f8fafc; }
.review-quote b { color: var(--blue); }

.schedule-list { display: grid; gap: 12px; }
.schedule-card { display: grid; grid-template-columns: 4px minmax(0, 1fr) 150px; gap: 0; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: var(--shadow); overflow: hidden; }
.status-rail { background: var(--blue); }
.status-rail.completed { background: var(--success); }
.status-rail.partial, .status-rail.quarantined, .status-rail.waiting { background: var(--warning); }
.status-rail.failed { background: var(--danger); }
.status-rail.disabled { background: #98a2b3; }
.schedule-main { padding: 18px 20px; }
.schedule-title { display: flex; gap: 13px; }
.schedule-code { display: grid; place-items: center; flex: 0 0 38px; height: 38px; border-radius: 8px; background: var(--blue-soft); color: var(--blue); font: 650 9px/1 ui-monospace, monospace; text-transform: uppercase; }
.schedule-title h2 { margin: 0; color: var(--deep); font-size: 16px; }
.schedule-title p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.schedule-main dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 17px 0 0 51px; }
.schedule-main dt { color: #98a2b3; font-size: 10px; }
.schedule-main dd { margin: 5px 0 0; color: #475467; font-size: 12px; line-height: 1.45; }
.schedule-state { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; padding: 18px; border-left: 1px solid var(--line); background: #fbfcfd; }
.schedule-state small { max-width: 120px; color: #98a2b3; font: 9px/1.4 ui-monospace, monospace; text-align: right; overflow-wrap: anywhere; }

.job-table, .job-compact { border-color: var(--line); }
.job-table-head { padding: 9px 10px; border: 0; border-radius: 6px; background: #f8fafc; }
.jobs-section { margin-bottom: 18px; }
.security-admin-search input { border-color: #d0d5dd; background: #fff; }
.security-admin-search button { background: var(--blue); color: #fff; }
.security-admin-row { border-color: var(--line); }
.security-admin-actions a { color: var(--blue); }
.user-row { border-color: var(--line); }

.data-table-head, .data-table-row { display: grid; grid-template-columns: 155px 220px 220px minmax(280px, 1fr); gap: 14px; align-items: start; padding: 12px 10px; border-top: 1px solid var(--line); }
.data-table-head { border-top: 0; border-radius: 6px; background: #f8fafc; color: var(--muted); font-size: 11px; }
.data-table-row { color: #475467; font-size: 12px; }
.data-table-row time { font-family: ui-monospace, monospace; }
.data-table-row strong { color: var(--deep); }
.data-table-row code { max-height: 58px; overflow: auto; color: var(--muted); font: 10px/1.5 ui-monospace, monospace; white-space: normal; overflow-wrap: anywhere; }

@media (max-width: 1100px) {
    .admin-stat-grid { grid-template-columns: repeat(2, 1fr); }
    .pipeline-flow { grid-template-columns: 1fr; gap: 8px; }
    .pipeline-flow > i { transform: rotate(90deg); height: 20px; }
    .schedule-main dl { grid-template-columns: repeat(2, 1fr); }
    .admin-content-grid { grid-template-columns: 1fr; }
    .subscription-request-row { grid-template-columns: 1fr; }
    .holdings-data-head { display: none; }
    .holdings-data-row { grid-template-columns: 1.5fr repeat(3, .8fr) 32px; }
    .holdings-data-row > div:nth-of-type(5), .holdings-data-row > div:nth-of-type(6) { display: none; }
    .research-company-grid { grid-template-columns: repeat(2, 1fr); }
    .company-hero { grid-template-columns: 1fr; }
}

@media (max-width: 850px) {
    .site-header { padding: 0 16px; }
    .site-header nav { gap: 0; margin-right: 0; }
    .source-badge { display: none; }
    .page-title-wide { align-items: flex-start; flex-direction: column; gap: 16px; }
    .page-head-actions { width: 100%; }
    .page-head-actions > a { flex: 1; }
    .dividend-summary-grid, .holding-summary-grid { grid-template-columns: repeat(2, 1fr); }
    .company-overview-grid { grid-template-columns: 1fr; }
    .research-company-grid { grid-template-columns: 1fr; }
    .official-discovery-head { align-items: flex-start; flex-direction: column; }
    .official-match-card { grid-template-columns: 1fr auto; }
    .official-match-scope { grid-column: 1 / -1; grid-row: 2; }
    .company-context-card { grid-template-columns: 1fr; }
    .company-context-card > div { border-top: 1px solid var(--line); border-left: 0; }
    .company-context-card > div:first-child { border-top: 0; }
    .admin-architecture-strip { grid-template-columns: repeat(2, 1fr); }
    .admin-architecture-strip > a:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
    .admin-architecture-strip > a:nth-child(4) { border-top: 1px solid var(--line); }
    .user-main { padding: 32px 18px 60px; }
    .hero { grid-template-columns: 1fr; gap: 18px; }
    .hero > div:first-child { min-height: 0; padding: 20px 0; }
    .cash-pulse::before { display: none; }
    .hero h1 { font-size: 42px; }
    .feature-intro { grid-template-columns: 42px minmax(0, 1fr); }
    .feature-intro > a { grid-column: 2; justify-self: start; padding-left: 0; }
    .admin-shell { grid-template-columns: 1fr; }
    .admin-sidebar { position: static; top: auto; height: auto; padding: 8px 12px; border-right: 0; border-bottom: 1px solid var(--line); }
    .admin-sidebar-title, .admin-sidebar-foot, .admin-nav-group { display: none; }
    .admin-nav { flex-direction: row; gap: 5px; overflow-x: auto; padding: 0; }
    .admin-nav a { flex: 0 0 auto; min-height: 36px; }
    .admin-nav a i { display: none; }
    .admin-main { padding: 24px 16px 56px; }
    .admin-body footer { width: 100%; margin-left: 0; }
    .admin-page-head { flex-direction: column; }
    .admin-quick-sync { width: 100%; grid-template-columns: 1fr 1fr; }
    .admin-quick-sync button { grid-column: 1 / -1; }
    .admin-stat-grid, .quality-summary, .schedule-summary { grid-template-columns: 1fr 1fr; }
    .schedule-card { grid-template-columns: 4px 1fr; }
    .schedule-state { grid-column: 2; flex-direction: row; align-items: center; border-top: 1px solid var(--line); border-left: 0; }
    .schedule-main dl { margin-left: 0; }
    .data-table { overflow-x: auto; }
    .data-table-head, .data-table-row { min-width: 900px; }
}

@media (max-width: 560px) {
    .brand small { display: none; }
    .site-header { height: auto; min-height: 64px; flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px; }
    .brand { order: 1; }
    .header-account-zone, .guest-nav { order: 2; margin-left: auto; margin-right: 0; }
    .user-primary-nav { order: 3; width: 100%; margin: 7px 0 0 !important; padding-top: 7px; border-top: 1px solid var(--line); justify-content: space-between; }
    .site-header .user-primary-nav > a { flex: 1; padding: 8px 4px; font-size: 11px; text-align: center; }
    .plan-chip, .user-menu-name { display: none; }
    .user-menu summary { padding-right: 4px; }
    .user-main { padding-top: 26px; }
    .cash-pulse-company { align-items: flex-start; flex-direction: column; gap: 6px; }
    .cash-pulse-facts { grid-template-columns: 1fr; }
    .cash-pulse-facts > div, .cash-pulse-facts > div:first-child { min-height: 0; padding: 11px 0; border-top: 1px solid var(--line); border-left: 0; }
    .cash-pulse-facts > div:first-child { border-top: 0; }
    .breadcrumb { margin-top: -5px; }
    .dividend-summary-grid, .holding-summary-grid { grid-template-columns: 1fr; }
    .calendar-month-row { grid-template-columns: 1fr; }
    .calendar-month-label { padding-bottom: 8px; }
    .calendar-payments > a { grid-template-columns: 52px minmax(0, 1fr) auto; padding-right: 0; }
    .dashboard-attention { grid-template-columns: 1fr; gap: 5px; }
    .holdings-data-row { grid-template-columns: 1fr 70px 28px; gap: 8px; }
    .holdings-data-row > div:nth-of-type(n+3) { display: none; }
    .research-search { width: 100%; }
    .official-match-card { grid-template-columns: 1fr; gap: 13px; }
    .official-match-scope { grid-column: 1; grid-row: auto; }
    .research-sync-form button { width: 100%; }
    .company-evidence-list article { grid-template-columns: 1fr auto; }
    .company-evidence-list article > a:last-child { display: none; }
    .account-subnav { overflow-x: auto; }
    .account-subnav > a { flex-basis: 175px; }
    .admin-architecture-strip { grid-template-columns: 1fr; }
    .admin-architecture-strip > a, .admin-architecture-strip > a:nth-child(4) { border-top: 1px solid var(--line); border-left: 0; }
    .admin-architecture-strip > a:first-child { border-top: 0; }
    .feature-intro { grid-template-columns: 1fr; gap: 9px; padding: 14px 15px; }
    .feature-intro-mark { width: auto; height: auto; justify-self: start; padding: 5px 7px; }
    .feature-intro > a { grid-column: 1; }
    .section-purpose { padding-left: 0; }
    .admin-stat-grid, .quality-summary, .schedule-summary { grid-template-columns: 1fr; }
    .schedule-main dl { grid-template-columns: 1fr; }
    .operation-list > div { grid-template-columns: 32px 1fr 72px; }
    .operation-list time { display: none; }
    .information-banner { grid-template-columns: 38px 1fr; }
    .information-banner > a, .information-banner > form { grid-column: 2; }
}

@media (max-width: 900px) {
    .auth-page .site-shell, .auth-page .user-main { min-height: auto; }
    .auth-page .user-main { padding: 22px 16px 44px; }
    .auth-shell { height: auto; min-height: 0; grid-template-columns: 1fr; overflow: visible; }
    .auth-showcase { min-height: 510px; border-radius: 14px 14px 0 0; overflow: hidden; }
    .auth-form-card { padding: 38px 30px; border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 620px) {
    .auth-showcase { min-height: 550px; }
    .auth-slide { padding: 34px 24px 54px; }
    .auth-slide-controls { top: auto; right: 24px; bottom: 22px; }
    .auth-slide-copy h1 { font-size: 38px; }
    .auth-cash-preview { grid-template-columns: 1fr; }
    .auth-preview-total { border-right: 0; border-bottom: 1px solid var(--line); }
    .auth-research-preview { grid-template-columns: repeat(2, 1fr); }
    .auth-research-preview > div, .auth-research-preview > div:nth-child(3n) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .auth-research-preview > div:nth-child(2n) { border-right: 0; }
    .auth-research-preview > div:nth-child(n+5) { border-bottom: 0; }
    .portfolio-tools { align-items: stretch; }
    .portfolio-tools form, .portfolio-tools form:first-child { flex: 1 1 100%; }
    .portfolio-tools input { flex: 1; }
    .portfolio-tools button:not(.danger-button), .portfolio-tools .tool-link { flex: 1 1 auto; }
}

/* Product IA: every workspace owns one user question. The compact second line is
   a wayfinding cue, not another navigation level. */
.user-primary-nav > a { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 5px; }
.user-primary-nav > a b { font-size: 13px; font-weight: 650; }
.user-primary-nav > a small { color: #98a2b3; font-size: 9px; font-weight: 500; }
.user-primary-nav > a.active small { color: #5b8fcf; }

.section-route-bar { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0 0 18px; border: 1px solid var(--line); border-radius: 9px; background: #fff; overflow: hidden; }
.section-route-bar > * { padding: 13px 16px; border-left: 1px solid var(--line); }
.section-route-bar > :first-child { border-left: 0; background: #f5f9ff; }
.section-route-bar b, .section-route-bar small { display: block; }
.section-route-bar b { color: var(--deep); font-size: 12px; }
.section-route-bar > :first-child b, .section-route-bar a:hover b { color: var(--blue); }
.section-route-bar small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.section-route-bar a:hover { background: #f7faff; }

.holdings-data-head.asset-head, .holdings-data-row.asset-row { grid-template-columns: minmax(210px, 1.55fr) .65fr 1fr 1fr 1fr 32px; }
.allocation-cell i { display: block; width: 100%; height: 5px; margin-top: 8px; border-radius: 99px; background: #e8edf3; overflow: hidden; }
.allocation-cell i span { display: block; height: 100%; border-radius: inherit; background: var(--blue); }

/* Admin data ledger extends the existing console without changing its shell. */
.data-confidence-strip { display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); gap: 12px; margin-bottom: 18px; }
.data-confidence-strip > div { min-height: 112px; padding: 17px 18px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: var(--shadow); }
.data-confidence-strip > div.primary { border-color: #9fc5f5; background: #f5f9ff; }
.data-confidence-strip span, .data-confidence-strip small { display: block; color: var(--muted); }
.data-confidence-strip span { font-size: 11px; }
.data-confidence-strip strong { display: block; margin: 11px 0 7px; color: var(--deep); font: 650 23px/1 ui-monospace, monospace; }
.data-confidence-strip .primary strong { color: var(--blue); font-size: 28px; }
.data-confidence-strip small { font-size: 10px; line-height: 1.45; }
.data-ledger-layers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.data-layer-card { position: relative; padding: 18px 20px; border: 1px solid var(--line); border-left: 4px solid var(--blue); border-radius: 9px; background: #fff; box-shadow: var(--shadow); }
.data-layer-card.state-attention { border-left-color: var(--warning); }
.data-layer-card.state-due, .data-layer-card.state-partial { border-left-color: #98a2b3; }
.data-layer-code, .data-layer-title, .data-layer-meta { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.data-layer-code span { color: var(--blue); font: 650 9px/1 ui-monospace, monospace; text-transform: uppercase; }
.data-layer-code b { color: var(--muted); font: 600 9px/1 ui-monospace, monospace; text-transform: uppercase; }
.data-layer-title { align-items: flex-start; margin-top: 14px; }
.data-layer-title h2 { margin: 0; color: var(--deep); font-size: 16px; }
.data-layer-title p { margin: 5px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.data-layer-title > strong { flex: 0 0 auto; color: var(--deep); font: 650 24px/1 ui-monospace, monospace; }
.data-layer-meta { margin-top: 15px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.data-layer-meta time { font-family: ui-monospace, monospace; }
.data-layer-card > a { display: inline-block; margin-top: 13px; color: var(--blue); font-size: 11px; font-weight: 650; }
.quality-explainer { display: grid; gap: 10px; }
.quality-explainer > div { display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line); }
.quality-explainer > div:first-child { border-top: 0; }
.quality-explainer b { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 7px; background: var(--blue-soft); color: var(--blue); font: 650 10px/1 ui-monospace, monospace; }
.quality-explainer strong, .quality-explainer small { display: block; }
.quality-explainer strong { color: var(--deep); font-size: 12px; }
.quality-explainer small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.data-ledger-action { display: flex; align-items: center; gap: 12px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.data-ledger-action button { padding: 9px 13px; border: 0; border-radius: 7px; background: var(--blue); color: #fff; font-weight: 650; cursor: pointer; }
.data-ledger-action small { color: var(--muted); font-size: 10px; }
.quality-summary, .schedule-summary { grid-template-columns: repeat(4, 1fr); }
.state.healthy, .state.excluded { background: #ecfdf3; color: #027a48; }
.state.attention, .state.interrupted { background: #fef3f2; color: #b42318; }
.state.due { background: #fffaeb; color: #b54708; }
.status-rail.healthy { background: var(--success); }
.status-rail.attention { background: var(--danger); }
.status-rail.due { background: var(--warning); }
.quality-gate-banner.excluded { border-color: #b8d4f7; background: #f5f9ff; }
.schedule-state strong { max-width: 140px; color: #475467; font-size: 10px; line-height: 1.45; text-align: right; }

@media (max-width: 1100px) {
    .data-confidence-strip, .quality-summary, .schedule-summary { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 850px) {
    .user-primary-nav > a { display: block; }
    .user-primary-nav > a small { display: none; }
    .section-route-bar { grid-template-columns: 1fr; }
    .section-route-bar > * { border-top: 1px solid var(--line); border-left: 0; }
    .section-route-bar > :first-child { border-top: 0; }
    .data-ledger-layers { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .data-confidence-strip { grid-template-columns: 1fr; }
    .data-layer-meta, .data-ledger-action { align-items: flex-start; flex-direction: column; }
}

@media (max-height: 700px) and (min-width: 901px) {
    .auth-page .site-shell, .auth-page .user-main { min-height: auto; }
    .auth-page .user-main { padding-top: 16px; padding-bottom: 24px; }
    .auth-shell { height: 552px; min-height: 552px; }
    .auth-slide { padding-top: 34px; padding-bottom: 34px; }
    .auth-slide-copy h1 { font-size: 42px; }
    .auth-slide-copy > p:last-child { margin-top: 13px; line-height: 1.55; }
    .auth-form-card { padding-top: 24px; padding-bottom: 24px; }
    .auth-form { gap: 10px; margin-top: 17px; }
}

@media (prefers-reduced-motion: reduce) {
    .auth-slide { transform: none; transition: none; }
}
