@font-face { font-family: Lato; src: url('/assets/fonts/Lato-Regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: Lato; src: url('/assets/fonts/Lato-Bold.ttf') format('truetype'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: Lato; src: url('/assets/fonts/Lato-Black.ttf') format('truetype'); font-style: normal; font-weight: 900; font-display: swap; }

:root {
    --cadet: #5f9ea0;
    --cadet-dark: #376f72;
    --cadet-deep: #214f53;
    --cadet-soft: #dcebec;
    --ink: #172326;
    --muted: #627276;
    --line: #d7e1e2;
    --paper: #fff;
    --canvas: #f5f8f8;
    --amber: #d99634;
    --amber-soft: #fff3de;
    --coral: #c85b50;
    --coral-soft: #fbe8e6;
    --green: #397b5d;
    --green-soft: #e4f3eb;
    --blue: #3b6f9c;
    --blue-soft: #e8f0f8;
    --violet: #765f91;
    --shadow: 0 10px 28px rgba(23, 35, 38, .08);
    --header-height: 64px;
    color-scheme: light;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-width: 320px; background: var(--canvas); }
body { margin: 0; color: var(--ink); background: var(--canvas); font: 16px/1.5 Lato, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: 0; }
button, input, textarea, select { font: inherit; color: inherit; letter-spacing: 0; }
dialog { font-family: Lato, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.topbar { position: sticky; top: 0; z-index: 50; height: var(--header-height); display: grid; grid-template-columns: 220px minmax(450px, 1fr) auto; align-items: center; gap: 14px; padding: 0 16px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.97); }
.brand { display: inline-flex; align-items: center; gap: 9px; min-width: 0; color: var(--ink); text-decoration: none; }
.brand img { width: 44px; height: 44px; object-fit: contain; flex: 0 0 auto; }
.brand span { display: grid; min-width: 0; }
.brand strong { font-size: 18px; line-height: 1.05; white-space: nowrap; }
.brand small { margin-top: 3px; color: var(--cadet-dark); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.main-nav { display: flex; align-self: stretch; justify-content: center; min-width: 0; }
.nav-button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 76px; padding: 0 9px; border: 0; border-bottom: 3px solid transparent; color: var(--muted); background: transparent; font-size: 12px; font-weight: 750; white-space: nowrap; }
.nav-button:hover { color: var(--ink); background: var(--canvas); }
.nav-button.active { color: var(--cadet-deep); border-bottom-color: var(--cadet); }
.nav-button b, .notification-button b { min-width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--cadet-dark); font-size: 9px; }
.header-tools, .account-area { display: flex; align-items: center; gap: 6px; min-width: 0; }
.connection-button, .easy-toggle, .doi-header-link { height: 36px; display: inline-flex; align-items: center; gap: 6px; padding: 0 9px; border: 1px solid var(--line); border-radius: 5px; background: white; color: #4c5c60; font-size: 11px; text-decoration: none; }
.connection-button:hover, .easy-toggle:hover, .easy-toggle[aria-pressed="true"], .doi-header-link:hover { border-color: var(--cadet); color: var(--cadet-deep); background: #eef7f7; }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px var(--green-soft); }
.tier-badge, .login-button, .account-button { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 9px; border: 1px solid var(--line); border-radius: 5px; background: white; font-size: 11px; font-weight: 750; text-decoration: none; }
.tier-demo { color: #8b5b16; border-color: #edcf9c; background: var(--amber-soft); }
.tier-online { color: var(--cadet-deep); border-color: #acd0d2; background: #edf7f7; }
.tier-full { color: #256145; border-color: #b2dbc4; background: var(--green-soft); }
.account-button { max-width: 150px; }
.account-button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-button { color: var(--cadet-deep); }
.login-button { color: white; border-color: var(--cadet-dark); background: var(--cadet-dark); }
.icon-button, .tiny-icon { display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 5px; background: white; color: var(--cadet-deep); }
.icon-button { position: relative; width: 36px; height: 36px; flex: 0 0 auto; font-size: 16px; text-decoration: none; }
.tiny-icon { width: 27px; height: 27px; }
.icon-button:hover, .tiny-icon:hover { border-color: var(--cadet); background: #eef7f7; }
.icon-button:disabled { opacity: .42; cursor: not-allowed; }
.notification-button b { position: absolute; top: -6px; right: -5px; background: var(--coral); }

.app-layout { display: grid; grid-template-columns: 270px minmax(560px, 1fr) 294px; min-height: calc(100vh - var(--header-height)); }
.left-rail, .insight-rail { position: sticky; top: var(--header-height); align-self: start; height: calc(100vh - var(--header-height)); overflow-y: auto; background: white; }
.left-rail { display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.insight-rail { border-left: 1px solid var(--line); }
.workspace { min-width: 0; padding: 27px clamp(20px, 2.5vw, 44px) 70px; }
.view { display: none; }
.view.active { display: block; }

.rail-section { padding: 18px 13px 8px; }
.rail-heading, .insight-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; color: #526468; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.source-list { display: grid; gap: 3px; }
.source-row { display: grid; grid-template-columns: minmax(0,1fr) 25px 8px; align-items: center; gap: 6px; min-height: 45px; padding: 5px 6px; border: 1px solid transparent; border-radius: 5px; }
.source-select { min-width: 0; display: grid; grid-template-columns: 17px 30px minmax(0,1fr); align-items: center; gap: 7px; cursor: pointer; }
.source-row:hover { background: var(--canvas); }
.source-row:has(input:checked) { border-color: #d8eaea; background: #f4fafa; }
.source-row.locked { grid-template-columns: minmax(0,1fr) 25px 8px 13px; }
.source-row.locked .source-select, .source-row.locked .source-signal, .source-row.locked .lock-icon { opacity: .62; cursor: not-allowed; }
.source-row input { width: 14px; height: 14px; accent-color: var(--cadet-dark); }
.source-icon { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 4px; color: var(--cadet-deep); background: var(--cadet-soft); }
.source-copy { display: grid; min-width: 0; }
.source-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.source-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 10px; }
.source-copy em { width: fit-content; margin-top: 2px; padding: 1px 4px; border-radius: 3px; color: #9b342c; background: var(--coral-soft); font-size: 8px; font-style: normal; font-weight: 850; line-height: 1.5; text-transform: uppercase; }
.source-row.premium-source { min-height: 56px; border-color: #efd0cd; background: #fffafa; }
.source-row.premium-source:has(input:checked) { border-color: #dea7a2; background: #fff6f5; }
.source-row.premium-source .source-icon { color: #98443d; background: var(--coral-soft); }
.source-row.premium-source.locked .source-select, .source-row.premium-source.locked .source-signal, .source-row.premium-source.locked .lock-icon { opacity: .82; }
.source-row:not(.locked):has(input:not(:checked)) { border-color: #e4c261; background: #fff8dc; }
.source-row:not(.locked):has(input:not(:checked)):hover { background: #fff3c3; }
.source-row:not(.locked):has(input:not(:checked)) .source-icon { color: #7c641d; background: #f7ebbc; }
.source-row:not(.locked):has(input:not(:checked)) .source-signal { background: #c69419; }
.source-signal { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: #aebabc; }
.source-row.result-filtered { border-color: var(--cadet); box-shadow: inset 3px 0 0 var(--cadet-dark); }
.source-info-button { width: 25px; height: 25px; display: grid; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 4px; color: #688083; background: transparent; font-size: 13px; }
.source-info-button:hover, .source-info-button:focus-visible { border-color: #b9d3d4; color: var(--cadet-deep); background: white; outline: 0; }
.source-row.locked .source-info-button { opacity: 1; pointer-events: auto; }
.source-row.loading .source-signal { background: var(--amber); animation: pulse 1s infinite; }
.source-row.ready .source-signal { background: var(--green); }
.source-row.error .source-signal { background: var(--coral); }
.lock-icon { color: #8a9698; font-size: 10px; }
.monitor-section { border-top: 1px solid #edf1f1; }
.monitor-list, .history-list { display: grid; gap: 3px; }
.monitor-item, .history-item { width: 100%; display: grid; gap: 2px; padding: 7px; border: 0; border-radius: 4px; background: transparent; text-align: left; }
.monitor-item:hover, .history-item:hover { background: var(--canvas); }
.monitor-item strong, .history-item strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.monitor-item small, .history-item small, .rail-empty { color: var(--muted); font-size: 10px; }
.monitor-item.material { border-left: 2px solid var(--amber); background: var(--amber-soft); }
.rail-empty { padding: 5px 7px; }
.recent-section { flex: 1; }
.rail-footer { position: sticky; bottom: 0; padding: 14px; border-top: 1px solid var(--line); background: white; }
.usage-meter span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 10px; }
.usage-meter div { height: 5px; overflow: hidden; border-radius: 3px; background: #e5ecec; }
.usage-meter i { display: block; width: 0; height: 100%; background: var(--amber); transition: width .3s ease; }
.upgrade-link { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 11px; padding: 8px; border-radius: 4px; color: white; background: var(--cadet-dark); text-decoration: none; font-size: 11px; font-weight: 750; }

.workbench-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; margin-bottom: 18px; }
.eyebrow { margin: 0 0 4px; color: var(--cadet-dark); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.workbench-head h1 { margin: 0; font-size: 28px; line-height: 1.18; }
.workbench-head p:last-child { margin: 6px 0 0; color: var(--muted); }
.head-actions { display: flex; gap: 6px; }
.primary-button, .secondary-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 37px; padding: 0 13px; border-radius: 5px; font-weight: 800; text-decoration: none; }
.primary-button { border: 1px solid var(--cadet-deep); color: white; background: var(--cadet-deep); }
.primary-button:hover { background: #173f42; }
.secondary-button { border: 1px solid #b9ccce; color: var(--cadet-deep); background: white; }
.secondary-button:hover { background: #eef7f7; }

.search-composer { position: relative; padding: 17px 17px 13px 52px; border: 1px solid #b9ccce; border-radius: 7px; background: white; box-shadow: var(--shadow); }
.composer-search-icon { position: absolute; left: 19px; top: 21px; color: var(--cadet-dark); font-size: 20px; }
.search-composer textarea { width: 100%; min-height: 64px; resize: vertical; padding: 0; border: 0; outline: 0; background: transparent; font-size: 17px; line-height: 1.45; }
.search-composer textarea::placeholder { color: #879497; }
.composer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 11px; border-top: 1px solid #edf1f1; }
.mode-switch, .view-switch { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--line); border-radius: 5px; background: var(--canvas); }
.mode-switch button, .view-switch button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 30px; padding: 0 9px; border: 0; border-radius: 3px; color: var(--muted); background: transparent; font-size: 12px; font-weight: 750; }
.mode-switch button.active, .view-switch button.active { color: var(--cadet-deep); background: white; box-shadow: 0 1px 3px rgba(23,35,38,.12); }
.composer-actions { display: flex; gap: 7px; }
.search-button { min-width: 164px; }
.quick-prompts { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 12px 3px 21px; color: var(--muted); font-size: 11px; }
.quick-prompts button { padding: 4px 8px; border: 1px solid var(--line); border-radius: 4px; color: #4e6064; background: white; }
.quick-prompts button:hover { border-color: var(--cadet); color: var(--cadet-deep); }

.search-progress { margin: 7px 0 9px; padding: 7px 9px 8px; border: 1px solid #dce8e8; border-radius: 4px; background: rgba(238,246,246,.72); }
.search-progress-overview { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 5px; color: var(--muted); font-size: 9px; }
.search-progress-label { min-width: 0; display: inline-flex; align-items: center; gap: 6px; }
.search-progress-label i { color: var(--cadet-dark); animation: spin 1.1s linear infinite; }
.search-progress-label strong { overflow: hidden; color: #496065; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.search-progress-overview > span:last-child { white-space: nowrap; }
.progress-track { height: 3px; overflow: hidden; border-radius: 2px; background: #d7e5e5; }
.progress-track i { display: block; width: 0; height: 100%; background: var(--cadet-dark); transition: width .22s linear; }
.search-progress.complete .search-progress-label i { animation: none; }
.search-progress.complete .search-progress-label i::before { content: "\f26e"; }
.search-progress.complete .progress-track i { background: var(--green); }
.source-pulse { display: flex; gap: 4px; margin-top: 6px; overflow-x: auto; scrollbar-width: thin; }
.pulse-chip { min-width: max-content; display: inline-flex; align-items: center; gap: 5px; padding: 3px 6px; border: 1px solid transparent; border-radius: 3px; color: #647579; background: rgba(255,255,255,.78); font-size: 9px; white-space: nowrap; }
.pulse-chip:hover { border-color: #b8d1d2; color: var(--cadet-deep); }
.pulse-chip.active { border-color: #a9c7c8; color: var(--cadet-deep); background: #f8fbfb; }
.pulse-chip.all i { width: auto; height: auto; border-radius: 0; color: var(--cadet-dark); background: transparent; }
.pulse-chip i { width: 6px; height: 6px; border-radius: 50%; background: #aebabc; }
.pulse-chip.loading i { background: var(--amber); animation: pulse 1s infinite; }
.pulse-chip.ready i { background: var(--green); }
.pulse-chip.error i { background: var(--coral); }
.shift-banner { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; margin: 18px 0; padding: 12px 14px; border: 1px solid #e7c886; border-left: 4px solid var(--amber); background: var(--amber-soft); }
.shift-banner > i { color: #9a6517; font-size: 20px; }
.shift-banner strong, .shift-banner span { display: block; }
.shift-banner span { color: #73582d; font-size: 11px; }

.evidence-summary-strip { min-height: 58px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto auto; align-items: center; gap: 10px; margin: 9px 0; padding: 8px 10px; border: 1px solid #cfe0e1; border-left: 3px solid var(--cadet); border-radius: 5px; background: #f6fafa; }
.evidence-summary-strip > i { width: 32px; height: 32px; display: grid; place-items: center; color: var(--cadet-deep); background: var(--cadet-soft); font-size: 16px; }
.evidence-summary-strip > div { min-width: 0; display: grid; }
.evidence-summary-strip span { color: var(--cadet-dark); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.evidence-summary-strip strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.evidence-summary-strip small { color: var(--muted); font-size: 8px; }
.evidence-summary-strip > b { padding: 4px 7px; border-radius: 3px; color: #775419; background: var(--amber-soft); font-size: 8px; text-transform: uppercase; white-space: nowrap; }
.evidence-summary-strip .secondary-button { min-height: 32px; padding: 0 9px; font-size: 9px; }
.evidence-dialog { width: min(1180px, calc(100vw - 30px)); max-width: none; max-height: calc(100vh - 30px); padding: 0; overflow: hidden; border: 0; border-radius: 7px; background: white; box-shadow: 0 24px 70px rgba(23,35,38,.3); }
.evidence-dialog-toolbar { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 12px 8px 16px; border-bottom: 1px solid var(--line); background: white; }
.evidence-dialog-toolbar > div { display: grid; }
.evidence-dialog-toolbar span { color: var(--cadet-dark); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.evidence-dialog-toolbar strong { font-size: 12px; }
.evidence-dialog .analysis-panel { max-height: calc(100vh - 245px); overflow-y: auto; }
.answer-band { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 17px 18px; background: #eef7f7; }
.answer-mark { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 6px; color: white; background: var(--cadet-deep); font-size: 19px; }
.answer-band span { color: var(--cadet-dark); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.answer-band h2 { margin: 1px 0 2px; font-size: 19px; }
.answer-band p { margin: 0; color: #506266; font-size: 13px; }
.answer-confidence { display: grid; min-width: 130px; padding-left: 17px; border-left: 1px solid #c7dddd; }
.answer-confidence strong { font-size: 17px; text-transform: capitalize; }
.answer-confidence small { color: var(--muted); font-size: 9px; }
.analysis-tabs { display: flex; overflow-x: auto; border-top: 1px solid #dce9e9; border-bottom: 1px solid var(--line); }
.analysis-tabs button { flex: 1 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 42px; padding: 0 11px; border: 0; border-bottom: 3px solid transparent; color: var(--muted); background: white; font-size: 11px; font-weight: 800; }
.analysis-tabs button:hover { color: var(--ink); background: var(--canvas); }
.analysis-tabs button.active { color: var(--cadet-deep); border-bottom-color: var(--cadet); }
.analysis-panel { min-height: 150px; padding: 18px; }
.overview-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.evidence-stat { min-width: 0; padding: 12px 13px; border-left: 3px solid var(--cadet); background: var(--canvas); }
.evidence-stat span { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.evidence-stat strong { display: block; margin-top: 3px; font-size: 18px; }
.evidence-stat small { color: var(--muted); }
.transfer-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.transfer-item { display: grid; grid-template-columns: 34px 1fr; gap: 10px; padding: 14px; background: white; }
.transfer-item > i { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 5px; color: var(--cadet-deep); background: var(--cadet-soft); }
.transfer-item h3 { margin: 0 0 4px; font-size: 13px; }
.transfer-item p { margin: 0 0 7px; color: #435458; font-size: 11px; }
.transfer-meta { display: flex; flex-wrap: wrap; gap: 4px; }
.transfer-meta span { padding: 3px 5px; border-radius: 3px; background: var(--canvas); color: var(--muted); font-size: 9px; }
.ledger-list { display: grid; gap: 8px; counter-reset: ledger; }
.ledger-entry { display: grid; grid-template-columns: 31px minmax(0,1fr) auto; gap: 10px; align-items: start; padding: 11px 12px; border: 1px solid var(--line); border-left: 3px solid var(--blue); background: white; text-align: left; }
.ledger-entry::before { counter-increment: ledger; content: counter(ledger); width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--blue); font-size: 10px; font-weight: 800; }
.ledger-entry p { margin: 0; color: #334448; font-size: 11px; }
.ledger-entry small { display: block; margin-top: 4px; color: var(--muted); }
.evidence-label { display: inline-flex; align-items: center; padding: 3px 6px; border-radius: 3px; color: #7d571a; background: var(--amber-soft); font-size: 8px; font-weight: 850; text-transform: uppercase; white-space: nowrap; }
.contradiction-layout { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 20px; }
.stance-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.stance-column { padding: 11px; border-top: 3px solid; background: var(--canvas); }
.stance-column.support { border-color: var(--green); }
.stance-column.neutral { border-color: var(--amber); }
.stance-column.oppose { border-color: var(--coral); }
.stance-column strong { display: block; font-size: 12px; }
.stance-column span { color: var(--muted); font-size: 10px; }
.reason-list { margin: 9px 0 0; padding-left: 17px; font-size: 11px; }
.grade-layout { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 20px; align-items: start; }
.grade-badge { min-height: 145px; display: grid; align-content: center; justify-items: center; padding: 18px; border: 1px solid #b7d5c6; background: var(--green-soft); text-align: center; }
.grade-badge i { color: var(--green); font-size: 28px; }
.grade-badge strong { font-size: 22px; text-transform: capitalize; }
.grade-badge span { color: var(--muted); font-size: 9px; }
.grade-domains { display: grid; gap: 1px; border: 1px solid var(--line); background: var(--line); }
.grade-domain { display: grid; grid-template-columns: 120px 80px minmax(0,1fr); gap: 10px; padding: 9px 10px; background: white; font-size: 10px; }
.grade-domain b { text-transform: capitalize; }
.grade-domain span:last-child { color: var(--muted); }
.guideline-list, .outcome-list { display: grid; gap: 7px; }
.guideline-item, .outcome-item { display: grid; grid-template-columns: 90px minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 10px 11px; border-bottom: 1px solid var(--line); }
.guideline-item > strong { color: var(--cadet-deep); }
.guideline-item h3, .outcome-item h3 { margin: 0; font-size: 12px; }
.guideline-item p, .outcome-item p { margin: 2px 0 0; color: var(--muted); font-size: 10px; }
.guideline-item button, .guideline-item a { white-space: nowrap; }
.analysis-empty { padding: 24px; color: var(--muted); text-align: center; }

.result-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 23px 0 11px; padding-bottom: 11px; border-bottom: 1px solid var(--line); }
.result-toolbar > div:first-child { display: grid; }
.result-toolbar strong { font-size: 16px; }
.result-toolbar #dedupeCount { color: var(--muted); font-size: 10px; }
.toolbar-controls { display: flex; align-items: flex-end; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.toolbar-controls label { display: grid; gap: 3px; }
.toolbar-controls label > span { color: var(--muted); font-size: 8px; font-weight: 750; text-transform: uppercase; }
.toolbar-controls select { height: 33px; min-width: 110px; padding: 0 26px 0 8px; border: 1px solid var(--line); border-radius: 4px; background: white; font-size: 10px; }
.toolbar-controls .check-control { display: flex; align-items: center; gap: 5px; height: 33px; padding: 0 8px; border: 1px solid var(--line); border-radius: 4px; background: white; }
.toolbar-controls .check-control span { font-size: 10px; text-transform: none; }
.toolbar-controls input { accent-color: var(--cadet-dark); }
.empty-state { margin-top: 25px; padding: 34px 5%; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: white; text-align: center; }
.empty-visual { width: 104px; height: 104px; margin: 0 auto 10px; }
.empty-visual img { width: 100%; height: 100%; object-fit: contain; }
.empty-state h2 { margin: 0; font-size: 20px; }
.empty-state p { max-width: 650px; margin: 7px auto 20px; color: var(--muted); }
.empty-icon { display: block; margin-bottom: 10px; color: var(--cadet); font-size: 38px; }
.feature-strip { display: flex; justify-content: center; flex-wrap: wrap; gap: 7px; }
.feature-strip span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 4px; font-size: 10px; font-weight: 700; }
.feature-strip i { color: var(--cadet-dark); }
.results { display: grid; gap: 9px; }
.results.loading-page { opacity: .48; pointer-events: none; transition: opacity 120ms ease; }
.result-paginator { display: grid; grid-template-columns: minmax(110px,1fr) auto minmax(150px,1fr); align-items: center; gap: 14px; margin-top: 16px; padding: 12px 0 2px; border-top: 1px solid var(--line); }
.result-paginator[hidden] { display: none !important; }
.paginator-summary { color: var(--muted); font-size: 10px; }
.paginator-summary strong { color: var(--ink); }
.paginator-pages { display: flex; align-items: center; justify-content: center; gap: 4px; }
.paginator-pages button { width: 34px; height: 34px; display: grid; place-items: center; padding: 0; border: 1px solid #cbd9da; border-radius: 4px; color: var(--cadet-deep); background: white; font-size: 10px; font-weight: 800; }
.paginator-pages button:hover:not(:disabled) { border-color: var(--cadet); background: var(--cadet-soft); }
.paginator-pages button.active { border-color: var(--cadet-dark); color: white; background: var(--cadet-dark); }
.paginator-pages button:disabled { color: #aebabc; background: #f3f5f5; cursor: default; }
.paginator-ellipsis { width: 24px; color: var(--muted); text-align: center; }
.paginator-size { display: flex; align-items: center; justify-content: flex-end; gap: 7px; color: var(--muted); font-size: 9px; font-weight: 750; }
.paginator-size select { width: 58px; height: 34px; padding: 0 20px 0 7px; border: 1px solid #cbd9da; border-radius: 4px; color: var(--ink); background: white; font-size: 10px; }
.result-card { position: relative; display: grid; grid-template-columns: 4px minmax(0,1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: white; animation: resultIn .34s ease both; }
.result-card .source-stripe { background: var(--cadet); }
.result-card[data-source="pubmed"] .source-stripe { background: var(--green); }
.result-card[data-source="scholar"] .source-stripe { background: var(--blue); }
.result-card[data-source="europe_pmc"] .source-stripe { background: var(--cadet); }
.result-card[data-source="semantic_scholar"] .source-stripe { background: var(--violet); }
.result-card[data-source="openalex"] .source-stripe { background: var(--amber); }
.result-card[data-source="epistemonikos"] .source-stripe { background: #8b6d47; }
.result-card[data-source="carelit"] .source-stripe { background: #008b95; }
.result-card[data-source="crossref"] .source-stripe { background: #355f76; }
.result-card:hover { border-color: #a8c3c5; box-shadow: 0 7px 20px rgba(23,35,38,.07); }
.result-body { min-width: 0; padding: 14px 16px 12px; }
.result-top { display: flex; align-items: center; justify-content: space-between; gap: 11px; margin-bottom: 6px; }
.result-badges { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.badge { display: inline-flex; align-items: center; gap: 4px; min-height: 20px; padding: 0 6px; border-radius: 3px; color: #4f6266; background: #edf2f2; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.badge.source { color: var(--cadet-deep); background: var(--cadet-soft); }
.badge.oa { color: #256145; background: var(--green-soft); }
.badge.quality { color: #835612; background: var(--amber-soft); }
.badge.premium { color: #973b33; background: var(--coral-soft); }
.result-actions { display: flex; gap: 4px; flex: 0 0 auto; }
.result-actions button { width: 30px; height: 30px; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 4px; color: var(--cadet-deep); background: white; }
.result-actions button:hover, .result-actions button.active { border-color: var(--cadet); background: #eef7f7; }
.result-actions .pdf-action { color: #a9473e; border-color: #ecc5c1; background: #fff7f6; }
.app-import-action { position: relative; }
.app-import-action .app-import-plus { position: absolute; right: 2px; bottom: 1px; width: 11px; height: 11px; display: grid; place-items: center; border: 1px solid white; border-radius: 50%; background: var(--cadet-deep); color: white; font-size: 8px; line-height: 1; }
.result-title { margin: 0 0 5px; font-size: 16px; line-height: 1.35; }
.result-title button { padding: 0; border: 0; color: inherit; background: none; font: inherit; font-weight: inherit; text-align: left; }
.result-title button:hover { color: var(--cadet-deep); text-decoration: underline; }
.result-meta { display: flex; flex-wrap: wrap; gap: 4px 11px; margin-bottom: 8px; color: var(--muted); font-size: 11px; }
.result-meta span { display: inline-flex; align-items: center; gap: 4px; }
.result-abstract { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0; color: #435458; font-size: 13px; line-height: 1.55; }
.result-foot { display: flex; align-items: center; justify-content: space-between; gap: 11px; margin-top: 9px; }
.result-foot > button { padding: 0; border: 0; color: var(--cadet-dark); background: transparent; font-size: 10px; font-weight: 800; }
.coverage { display: flex; align-items: center; gap: 4px; color: var(--muted); font-size: 9px; }
.coverage i { color: var(--green); }
.review-actions { display: inline-flex; gap: 3px; margin-right: auto; }
.review-actions button { min-height: 27px; padding: 0 7px; border: 1px solid var(--line); border-radius: 3px; background: white; font-size: 9px; }
.review-actions button.active[data-decision="include"] { color: var(--green); border-color: #9fcbb4; background: var(--green-soft); }
.review-actions button.active[data-decision="maybe"] { color: #8a5b17; border-color: #e8c581; background: var(--amber-soft); }
.review-actions button.active[data-decision="exclude"] { color: var(--coral); border-color: #e5aaa4; background: var(--coral-soft); }
.preview-note { color: #8a4a44; font-size: 9px; }
.preview-upgrade { margin-left: auto; color: #983f37; font-size: 10px; font-weight: 800; text-decoration: none; }
.result-card:has(.badge.premium) { border-color: #eccbc8; }
.results.compact .result-body { padding: 9px 12px; }
.results.compact .result-abstract, .results.compact .result-foot { display: none; }
.results.compact .result-top { float: right; margin-left: 9px; }
.results.compact .result-title { font-size: 13px; }
.load-more { margin: 17px auto 0; }

.insight-section { padding: 18px 16px; border-bottom: 1px solid var(--line); }
.year-histogram-section { padding-bottom: 14px; }
.year-histogram-actions { display: inline-flex; gap: 4px; }
.year-histogram-actions button:disabled { opacity: .35; cursor: not-allowed; }
.year-histogram { min-height: 116px; }
.year-histogram-chart { display: grid; gap: 7px; }
.year-histogram-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 8px; }
.year-histogram-meta button { padding: 0; border: 0; color: var(--cadet-dark); background: transparent; font-size: 8px; font-weight: 800; }
.year-bars { height: 78px; display: flex; align-items: end; gap: 1px; padding-top: 5px; border-bottom: 2px solid var(--cadet-dark); }
.year-bars button { position: relative; flex: 1 1 0; min-width: 2px; height: max(3px, var(--bar-height)); padding: 0; border: 0; border-radius: 1px 1px 0 0; background: #6fb8bb; transition: height .18s ease, background .12s ease; }
.year-bars button:hover, .year-bars button.active { background: var(--amber); }
.year-bars button:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.year-range { display: flex; justify-content: space-between; color: #425356; font-size: 9px; font-weight: 800; }
.year-histogram-dialog { width: min(920px, calc(100vw - 28px)); }
.year-histogram-expanded { padding: 22px; }
.year-histogram-expanded .year-bars { height: 330px; gap: 2px; }
.year-histogram-expanded .year-range { font-size: 12px; }
.year-histogram-expanded .year-histogram-meta { font-size: 10px; }
.insight-empty { display: grid; justify-items: center; padding: 18px 9px; color: var(--muted); text-align: center; font-size: 11px; }
.insight-empty > i { margin-bottom: 5px; color: var(--cadet); font-size: 27px; }
.insight-empty.compact { padding: 7px 0; }
.meter-summary { display: grid; margin-bottom: 10px; }
.meter-summary strong { font-size: 16px; }
.meter-summary span { color: var(--muted); font-size: 9px; }
.meter-bar { display: flex; gap: 2px; height: 11px; overflow: hidden; border-radius: 3px; background: #edf1f1; }
.meter-bar i { width: 0; transition: width .5s ease; }
.supports { background: #3f9972 !important; }
.mixed { background: #d99634 !important; }
.refutes { background: #c85b50 !important; }
.meter-legend { display: grid; gap: 4px; margin-top: 9px; font-size: 9px; }
.meter-legend span { display: grid; grid-template-columns: 7px 1fr auto; align-items: center; gap: 5px; }
.meter-legend i { width: 7px; height: 7px; border-radius: 2px; }
.study-mix { display: grid; gap: 6px; }
.mix-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px; font-size: 10px; }
.mix-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mix-row b { color: var(--cadet-deep); }
.feature-list { display: grid; }
.feature-list button { display: flex; align-items: center; gap: 9px; min-height: 49px; padding: 7px 3px; border: 0; border-bottom: 1px solid #edf1f1; background: transparent; text-align: left; }
.feature-list button:hover { color: var(--cadet-deep); }
.feature-list > button > i { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 4px; background: var(--cadet-soft); }
.feature-list button span { display: grid; }
.feature-list button strong { font-size: 11px; }
.feature-list button small { color: var(--muted); font-size: 9px; }

.review-steps { display: grid; grid-template-columns: repeat(5,1fr); margin-bottom: 16px; border: 1px solid var(--line); background: white; }
.review-steps span { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; border-right: 1px solid var(--line); color: var(--muted); font-size: 10px; font-weight: 800; }
.review-steps span:last-child { border-right: 0; }
.review-steps b { width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; background: #edf2f2; }
.review-steps span.active { color: var(--cadet-deep); background: #eef7f7; }
.review-steps span.active b { color: white; background: var(--cadet-deep); }
.review-builder { display: grid; grid-template-columns: minmax(0,1fr) 300px; border: 1px solid var(--line); background: white; }
.builder-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; padding: 20px; }
.builder-fields label, .upload-band > label:not(.upload-drop) { display: grid; align-content: start; gap: 5px; color: var(--cadet-deep); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.builder-fields input, .upload-band input { height: 41px; padding: 0 10px; border: 1px solid var(--line); border-radius: 4px; text-transform: none; }
.strategy-preview { display: flex; flex-direction: column; gap: 11px; padding: 20px; border-left: 1px solid var(--line); background: #f2f7f7; }
.strategy-preview > span { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.strategy-preview code { flex: 1; white-space: pre-wrap; color: var(--cadet-deep); font-size: 12px; }
.review-summary { display: grid; grid-template-columns: repeat(5,1fr); margin: 15px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: white; }
.review-summary div { padding: 12px; border-right: 1px solid var(--line); }
.review-summary div:last-child { border-right: 0; }
.review-summary span { display: block; color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.review-summary strong { font-size: 19px; }
.review-columns { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: 22px; }
.section-title { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 16px 0 9px; padding-bottom: 7px; border-bottom: 1px solid var(--line); }
.section-title h2 { margin: 0; font-size: 15px; }
.section-title span { color: var(--muted); font-size: 9px; }
.review-queue { display: grid; gap: 7px; }
.review-queue .result-card .result-abstract { -webkit-line-clamp: 2; }
.prisma-flow { display: grid; justify-items: center; gap: 22px; padding: 15px; border: 1px solid var(--line); background: white; }
.prisma-node { position: relative; width: min(280px,100%); padding: 10px; border: 1px solid #b9ccce; background: #f6fafa; text-align: center; }
.prisma-node + .prisma-node::before { content: ''; position: absolute; left: 50%; bottom: 100%; width: 1px; height: 23px; background: var(--cadet); }
.prisma-node strong { display: block; font-size: 17px; }
.prisma-node span { color: var(--muted); font-size: 9px; }
.prisma-node.final { color: #245f45; border-color: #9fcbb4; background: var(--green-soft); }
.extraction-title { margin-top: 22px; }
.extraction-table { overflow: auto; border: 1px solid var(--line); background: white; }
.extraction-row { display: grid; grid-template-columns: minmax(140px,1fr) 80px 80px; border-bottom: 1px solid var(--line); font-size: 9px; }
button.extraction-row { width: 100%; padding: 0; border: 0; border-bottom: 1px solid var(--line); background: white; text-align: left; }
button.extraction-row:hover { background: var(--canvas); }
.extraction-row:last-child { border-bottom: 0; }
.extraction-row > span { padding: 7px; border-right: 1px solid var(--line); }

body.map-workspace .left-rail, body.map-workspace .insight-rail { display: none; }
body.map-workspace .app-layout { display: block; }
body.map-workspace .workspace { width: 100%; padding: 18px 20px 28px; }
.map-head { margin-bottom: 12px; }
.map-commandbar { min-height: 43px; display: flex; align-items: stretch; justify-content: space-between; gap: 12px; border: 1px solid var(--line); background: white; }
.map-mode-switch { display: flex; align-items: stretch; }
.map-mode-switch button { min-width: 106px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 11px; border: 0; border-right: 1px solid var(--line); color: #506064; background: white; font-size: 10px; font-weight: 800; }
.map-mode-switch button:hover { background: #f1f7f7; }
.map-mode-switch button.active { color: white; background: var(--cadet-deep); }
.map-search { min-width: 260px; flex: 0 1 390px; display: flex; align-items: center; gap: 8px; padding: 0 12px; }
.map-search i { color: var(--cadet-dark); }
.map-search input { width: 100%; min-width: 0; height: 31px; border: 0; outline: 0; font-size: 11px; }
.map-filterbar { min-height: 44px; display: flex; align-items: center; gap: 9px; padding: 6px 9px; border: 1px solid var(--line); border-top: 0; background: #f7fafa; }
.map-filterbar label { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 750; }
.map-filterbar select, .map-filterbar input[type="number"] { height: 29px; max-width: 148px; padding: 0 7px; border: 1px solid #cbd9da; border-radius: 4px; color: var(--ink); background: white; font-size: 10px; }
.map-filterbar input[type="number"] { width: 74px; }
.map-filterbar .map-check { min-height: 29px; padding: 0 8px; border: 1px solid #cbd9da; border-radius: 4px; background: white; }
.map-check input { accent-color: var(--cadet-deep); }
.map-filterbar .icon-button { width: 29px; height: 29px; margin-left: auto; font-size: 13px; }
.map-stats { min-height: 35px; display: flex; align-items: center; gap: 0; border: 1px solid var(--line); border-top: 0; background: white; }
.map-stats span { min-width: 116px; display: inline-flex; align-items: baseline; gap: 5px; padding: 0 12px; border-right: 1px solid var(--line); color: var(--muted); font-size: 9px; }
.map-stats b { color: var(--ink); font-size: 13px; }
.evidence-landscape { display: grid; grid-template-columns: 205px minmax(500px,1fr) 320px; min-height: 0; border: 1px solid var(--line); border-top: 0; background: white; }
.map-topics, .map-inspector { min-height: 590px; max-height: calc(100vh - 225px); overflow-y: auto; background: #fbfdfd; }
.map-topics { border-right: 1px solid var(--line); }
.map-topics > header, .map-inspector > header { position: sticky; top: 0; z-index: 2; min-height: 41px; display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 0 12px; border-bottom: 1px solid var(--line); background: rgba(251,253,253,.96); color: #526468; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.map-topics > header b { min-width: 24px; padding: 2px 6px; border-radius: 9px; color: var(--cadet-deep); background: var(--cadet-soft); text-align: center; }
.map-topic-list { display: grid; }
.map-topic { width: 100%; display: grid; grid-template-columns: 11px minmax(0,1fr) auto; gap: 8px; align-items: center; padding: 10px 11px; border: 0; border-bottom: 1px solid #edf2f2; color: var(--ink); background: transparent; text-align: left; }
.map-topic:hover { background: #f1f7f7; }
.map-topic.active { background: #eaf4f4; box-shadow: inset 3px 0 var(--cadet-dark); }
.map-topic > i { width: 9px; height: 9px; border-radius: 50%; background: var(--topic-color); }
.map-topic > span { min-width: 0; display: grid; gap: 2px; }
.map-topic strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.map-topic small { color: var(--muted); font-size: 8px; }
.map-topic b { color: var(--cadet-deep); font-size: 10px; }
.map-stage { min-width: 0; display: flex; flex-direction: column; }
.evidence-map-shell { position: relative; width: 100%; min-height: 590px; height: calc(100vh - 225px); overflow: hidden; background: #f9fcfc; }
#evidenceMap { width: 100%; height: 100%; display: block; cursor: grab; }
#evidenceMap:active { cursor: grabbing; }
.map-empty { position: absolute; inset: 0; display: grid; align-content: center; justify-items: center; padding: 30px; color: var(--muted); text-align: center; pointer-events: none; }
.map-empty i { color: var(--cadet); font-size: 42px; }
.map-empty h2 { margin: 10px 0 2px; color: var(--ink); font-size: 18px; }
.map-empty p { margin: 0; }
.map-tooltip { position: absolute; z-index: 4; width: min(360px, calc(100% - 20px)); padding: 12px; border: 1px solid #9ebfc1; border-radius: 5px; background: rgba(255,255,255,.98); box-shadow: 0 14px 38px rgba(23,35,38,.14); pointer-events: none; font-size: 9px; }
.map-tooltip .tooltip-kicker { display: flex; align-items: center; gap: 5px; margin-bottom: 5px; color: var(--cadet-dark); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.map-tooltip strong { display: block; margin-bottom: 5px; font-size: 11px; line-height: 1.35; }
.map-tooltip p { margin: 5px 0 0; color: var(--muted); line-height: 1.45; }
.map-tooltip .tooltip-meta { display: flex; flex-wrap: wrap; gap: 4px 8px; color: #46575a; }
.map-axis-hint { position: absolute; left: 13px; bottom: 10px; z-index: 2; padding: 4px 7px; border: 1px solid rgba(215,225,226,.85); color: var(--muted); background: rgba(255,255,255,.88); font-size: 8px; pointer-events: none; }
.map-legend { min-height: 35px; display: flex; align-items: center; flex-wrap: wrap; gap: 6px 13px; padding: 6px 11px; border-top: 1px solid var(--line); background: white; }
.map-legend span { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: 8px; }
.map-legend i { width: 8px; height: 8px; border-radius: 50%; background: var(--legend-color); }
.map-inspector { border-left: 1px solid var(--line); background: white; }
.map-inspector-empty { min-height: 320px; display: grid; align-content: center; justify-items: center; gap: 7px; padding: 24px; color: var(--muted); text-align: center; }
.map-inspector-empty i { color: var(--cadet); font-size: 29px; }
.map-inspector-empty strong { color: var(--ink); font-size: 13px; }
.map-inspector-empty span { max-width: 240px; font-size: 10px; line-height: 1.5; }
.map-inspector-body { padding: 14px; }
.map-inspector-badges { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 9px; }
.map-inspector-badges span { padding: 3px 6px; border-radius: 3px; color: var(--cadet-deep); background: var(--cadet-soft); font-size: 8px; font-weight: 800; }
.map-inspector-badges .oa { color: #245f45; background: var(--green-soft); }
.map-inspector h2 { margin: 0 0 8px; font-size: 15px; line-height: 1.35; }
.map-inspector-byline { margin: 0 0 11px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.map-score-grid { display: grid; grid-template-columns: repeat(3,1fr); margin: 12px 0; border: 1px solid var(--line); }
.map-score-grid span { display: grid; gap: 1px; padding: 8px; border-right: 1px solid var(--line); color: var(--muted); font-size: 7px; text-transform: uppercase; }
.map-score-grid span:last-child { border-right: 0; }
.map-score-grid b { color: var(--ink); font-size: 13px; }
.map-inspector h3 { margin: 15px 0 5px; color: #526468; font-size: 8px; text-transform: uppercase; }
.map-inspector-abstract { margin: 0; color: #3f4f52; font-size: 10px; line-height: 1.55; }
.map-topic-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.map-topic-chips button { padding: 3px 6px; border: 1px solid #bdd1d2; border-radius: 3px; color: var(--cadet-deep); background: #f5fafa; font-size: 8px; }
.map-related { display: grid; gap: 4px; }
.map-related button { display: grid; grid-template-columns: 8px minmax(0,1fr); gap: 6px; padding: 6px 0; border: 0; border-bottom: 1px solid #edf2f2; background: transparent; text-align: left; }
.map-related i { width: 7px; height: 7px; margin-top: 4px; border-radius: 50%; background: var(--related-color); }
.map-related strong { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 9px; line-height: 1.35; }
.map-related small { color: var(--muted); font-size: 8px; }
.map-inspector-actions { position: sticky; bottom: 0; display: grid; grid-template-columns: 1fr auto; gap: 6px; margin: 15px -14px -14px; padding: 10px 14px; border-top: 1px solid var(--line); background: rgba(255,255,255,.97); }
.map-inspector-actions .primary-button, .map-inspector-actions .icon-button { min-height: 34px; }

.upload-band { display: grid; grid-template-columns: minmax(300px,1fr) minmax(210px,.6fr) auto; align-items: end; gap: 12px; padding: 16px; border: 1px solid var(--line); background: white; }
.upload-drop { position: relative; min-height: 66px; display: flex; align-items: center; gap: 12px; padding: 10px 13px; border: 1px dashed var(--cadet); background: #f4fafa; cursor: pointer; }
.upload-drop > i { color: var(--cadet-dark); font-size: 25px; }
.upload-drop span { display: grid; }
.upload-drop small { color: var(--muted); }
.upload-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.institution-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-top: 15px; }
.institution-docs, .institution-matches { display: grid; gap: 7px; }
.institution-doc { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--line); background: white; }
.institution-doc > i { width: 33px; height: 33px; display: grid; place-items: center; color: var(--cadet-deep); background: var(--cadet-soft); }
.institution-doc span { display: grid; min-width: 0; }
.institution-doc strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.institution-doc small { color: var(--muted); font-size: 9px; }
.institution-match { padding: 11px; border-left: 3px solid var(--blue); background: var(--blue-soft); }
.institution-match strong { display: block; font-size: 11px; }
.institution-match span { color: var(--muted); font-size: 9px; }

.impact-workspace { margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--line); }
.impact-workspace .section-title > div h2 { margin: 2px 0 0; }
.impact-list { display: grid; gap: 10px; }
.impact-card { border: 1px solid var(--line); border-left: 4px solid var(--amber); background: white; }
.impact-card.severity-hoch { border-left-color: var(--coral); }
.impact-card header, .impact-card footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 13px; background: var(--canvas); }
.impact-card header span { display: flex; align-items: center; gap: 8px; }
.impact-card header b { color: #76531f; font-size: 9px; text-transform: uppercase; }
.impact-card blockquote { margin: 0; padding: 14px 16px; border-bottom: 1px solid var(--line); color: #435357; font: 14px/1.65 Lato, ui-sans-serif, sans-serif; }
.impact-reason, .impact-proposal { padding: 11px 16px; }
.impact-reason p, .impact-proposal p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.impact-proposal { background: #eef7f7; }
.impact-proposal small { color: var(--cadet-dark); font-size: 9px; }
.impact-card footer { justify-content: flex-end; }
.impact-card footer > span { margin-right: auto; color: var(--muted); font-size: 9px; }

.action-status { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin-bottom: 13px; border: 1px solid var(--line); background: white; }
.action-status > div { min-width: 0; display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 1px 8px; padding: 10px; border-right: 1px solid var(--line); }
.action-status > div:last-child { border-right: 0; }
.action-status i { grid-row: 1 / 3; width: 28px; height: 28px; display: grid; place-items: center; color: var(--cadet-deep); background: var(--cadet-soft); }
.action-status span { overflow: hidden; color: var(--muted); font-size: 9px; white-space: nowrap; text-overflow: ellipsis; }
.action-status strong { font-size: 11px; }
.action-tabs { display: flex; overflow-x: auto; border: 1px solid var(--line); border-bottom: 0; background: white; }
.action-tabs, .action-status, .source-list { scrollbar-width: none; }
.action-tabs::-webkit-scrollbar, .action-status::-webkit-scrollbar, .source-list::-webkit-scrollbar { display: none; }
.action-tabs button { flex: 1 1 0; min-width: 0; height: 43px; padding: 0 8px; overflow: hidden; border: 0; border-right: 1px solid var(--line); border-bottom: 3px solid transparent; color: var(--muted); background: transparent; font-size: 10px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.action-tabs button i { margin-right: 6px; }
.action-tabs button.active { color: var(--cadet-deep); border-bottom-color: var(--cadet); background: #f4fafa; }
.action-panel { min-height: 500px; padding: 22px; border: 1px solid var(--line); background: white; }
.action-empty, .action-loading, .meta-empty, .applicability-placeholder { min-height: 360px; display: grid; align-content: center; justify-items: center; padding: 30px; text-align: center; }
.action-empty > i, .meta-empty > i, .applicability-placeholder > i { color: var(--cadet); font-size: 38px; }
.action-empty h2, .meta-empty h2, .applicability-placeholder h2 { margin: 10px 0 3px; font-size: 20px; }
.action-empty p, .meta-empty p, .applicability-placeholder p { max-width: 560px; margin: 0; color: var(--muted); }
.action-loading { min-height: 180px; gap: 8px; color: var(--muted); }
.action-loading i { color: var(--cadet); font-size: 25px; animation: spin 1s linear infinite; }
.action-two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.action-two-column > section { min-width: 0; }
.action-two-column .section-title > i { color: var(--cadet); font-size: 24px; }
.radar-summary { display: grid; grid-template-columns: repeat(3,1fr); margin-bottom: 10px; border: 1px solid var(--line); }
.radar-summary > div { padding: 9px; border-right: 1px solid var(--line); }
.radar-summary > div:nth-child(3) { border-right: 0; }
.radar-summary span, .radar-summary small { display: block; color: var(--muted); font-size: 8px; }
.radar-summary strong { font-size: 18px; }
.radar-summary > small { grid-column: 1 / -1; padding: 5px 9px; border-top: 1px solid var(--line); }
.trial-list, .integrity-grid { display: grid; gap: 6px; }
.trial-item { width: 100%; display: grid; grid-template-columns: 58px minmax(0,1fr) 18px; align-items: center; gap: 10px; padding: 9px; border: 1px solid var(--line); text-align: left; background: white; }
.trial-item:hover, .passport:hover { border-color: var(--cadet); background: #f7fbfb; }
.trial-item > span:not(.trial-date) { display: grid; min-width: 0; }
.trial-item strong, .passport strong { font-size: 10px; }
.trial-item small, .passport small { color: var(--muted); font-size: 8px; }
.trial-date { display: grid; place-items: center; min-height: 42px; padding: 3px; color: var(--cadet-deep); background: var(--cadet-soft); text-align: center; }
.trial-date b { font-size: 13px; }
.trial-date small { line-height: 1.2; }
.passport { width: 100%; display: grid; grid-template-columns: 52px minmax(0,1fr) 20px; align-items: center; gap: 9px; padding: 9px; border: 1px solid var(--line); text-align: left; background: white; }
.passport.warning { border-left: 3px solid var(--coral); }
.passport > span:nth-child(2) { display: grid; min-width: 0; }
.passport-score { display: flex; align-items: baseline; justify-content: center; height: 42px; padding-top: 8px; color: var(--green); background: var(--green-soft); }
.passport.warning .passport-score { color: var(--coral); background: var(--coral-soft); }
.passport-score b { font-size: 17px; }
.passport-score small { font-size: 7px; }
.passport em { margin-top: 3px; overflow: hidden; color: var(--cadet-dark); font-size: 8px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.passport > i { color: var(--green); }
.passport.warning > i { color: var(--coral); }
.module-note { margin: 12px 0 0; color: var(--muted); font-size: 9px; }

.meta-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.meta-head h2 { margin: 2px 0 4px; font-size: 20px; }
.meta-head p:not(.eyebrow) { margin: 0; color: var(--muted); }
.pooled-effect { min-width: 190px; display: grid; padding: 11px 14px; color: white; background: var(--cadet-deep); }
.pooled-effect span, .pooled-effect small { color: #c7e2e3; font-size: 9px; }
.pooled-effect strong { font-size: 18px; }
.forest-chart { border-top: 1px solid var(--line); }
.forest-axis, .forest-row { display: grid; grid-template-columns: minmax(240px,1fr) minmax(260px,1.4fr) 100px; gap: 12px; align-items: center; }
.forest-axis { height: 36px; color: var(--muted); font-size: 8px; }
.forest-axis b { position: relative; display: flex; justify-content: center; font-weight: 600; }
.forest-axis b::before { content: ""; position: absolute; left: var(--null); top: 16px; width: 1px; height: 10px; background: #99aaad; }
.forest-axis span:last-child { text-align: right; }
.forest-row { width: 100%; min-height: 54px; padding: 7px 0; border: 0; border-top: 1px solid var(--line); text-align: left; background: white; }
.forest-row:hover { background: #f7fbfb; }
.forest-row > span:first-child { display: grid; min-width: 0; }
.forest-row > span:first-child strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.forest-row small { display: block; color: var(--muted); font-size: 8px; }
.forest-row > span:last-child { text-align: right; font-size: 10px; font-weight: 800; }
.forest-plot { position: relative; height: 28px; }
.forest-plot::before { content: ""; position: absolute; left: var(--null); top: 0; bottom: 0; width: 1px; background: #aebbbd; }
.forest-plot i { position: absolute; left: var(--left); top: 13px; width: var(--width); height: 2px; background: var(--cadet-deep); }
.forest-plot b { position: absolute; left: var(--point); top: 8px; width: 11px; height: 11px; transform: translateX(-50%); background: var(--cadet); }
.forest-row.pooled { background: #eef7f7; }
.forest-row.pooled .forest-plot b { width: 14px; height: 14px; top: 7px; transform: translateX(-50%) rotate(45deg); background: var(--cadet-deep); }
.heterogeneity { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 15px; border: 1px solid var(--line); }
.heterogeneity div { display: grid; padding: 9px 12px; border-right: 1px solid var(--line); }
.heterogeneity div:last-child { border-right: 0; }
.heterogeneity span, .heterogeneity small { color: var(--muted); font-size: 8px; }
.heterogeneity strong { font-size: 17px; }
.meta-requirements { display: grid; gap: 5px; margin-top: 17px; text-align: left; }
.meta-requirements span { color: var(--muted); font-size: 10px; }
.meta-requirements i { margin-right: 6px; color: var(--cadet-dark); }

.applicability-layout { display: grid; grid-template-columns: 340px minmax(0,1fr); gap: 30px; }
.context-form { display: grid; align-content: start; gap: 9px; padding-right: 25px; border-right: 1px solid var(--line); }
.context-form h2 { margin: 0 0 8px; font-size: 20px; }
.context-form label, .recommendation-editor label { display: grid; gap: 4px; font-size: 9px; font-weight: 800; }
.context-form input, .context-form select, .context-form textarea, .decision-room select, .decision-room textarea, .explain-controls select { width: 100%; padding: 8px; border: 1px solid var(--line); border-radius: 4px; background: white; font-weight: 400; }
.applicability-result { display: grid; grid-template-columns: 130px minmax(0,1fr); align-content: start; gap: 20px; }
.applicability-score { height: 130px; display: grid; align-content: center; justify-content: center; color: white; background: var(--cadet-deep); text-align: center; }
.applicability-score strong { font-size: 38px; line-height: 1; }
.applicability-score span { font-size: 10px; }
.applicability-score small { margin-top: 5px; color: #c7e2e3; }
.applicability-domains { display: grid; gap: 11px; }
.applicability-domains > div > span { display: flex; justify-content: space-between; font-size: 10px; }
.applicability-domains > div > i { display: block; height: 5px; margin: 5px 0; background: var(--line); }
.applicability-domains > div > i b { display: block; height: 100%; background: var(--cadet); }
.applicability-domains small { color: var(--muted); font-size: 8px; }
.applicability-result ul { grid-column: 1 / -1; margin: 0; padding-left: 18px; color: var(--muted); font-size: 10px; }
.applicability-result .module-note { grid-column: 1 / -1; }

.decision-room { display: grid; gap: 17px; }
.decision-head { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.decision-head h2 { max-width: 780px; margin: 2px 0; font-size: 20px; }
.decision-head p:not(.eyebrow) { margin: 0; color: var(--muted); }
.decision-head > label { min-width: 145px; font-size: 9px; font-weight: 800; }
.decision-criteria { display: grid; grid-template-columns: repeat(2,1fr); border: 1px solid var(--line); }
.decision-criteria label { display: grid; grid-template-columns: 34px minmax(0,1fr) 125px; align-items: center; gap: 9px; min-height: 60px; padding: 8px 10px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.decision-criteria label:nth-child(even) { border-right: 0; }
.decision-criteria label:last-child { border-bottom: 0; }
.decision-criteria label > i { width: 32px; height: 32px; display: grid; place-items: center; color: var(--cadet-deep); background: var(--cadet-soft); }
.decision-criteria span { display: grid; }
.decision-criteria strong { font-size: 10px; }
.decision-criteria small { color: var(--muted); font-size: 8px; }
.decision-criteria select { height: 34px; padding: 0 6px; font-size: 9px; }
.recommendation-editor { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.panel-record { display: grid; grid-template-columns: 1.2fr 1.5fr .7fr; gap: 10px; padding: 12px; border: 1px solid var(--line); background: var(--canvas); }
.panel-record label { display: grid; gap: 4px; font-size: 9px; font-weight: 800; }
.panel-record input, .panel-record textarea, .panel-record select { width: 100%; min-height: 36px; padding: 7px; border: 1px solid var(--line); border-radius: 4px; background: white; font-weight: 400; }
.decision-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.decision-footer span { color: var(--muted); font-size: 9px; }
.decision-footer i { margin-right: 5px; color: var(--cadet-dark); }

.communication-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.communication-grid h2 { margin: 2px 0 12px; font-size: 20px; }
.communication-grid > section + section { padding-left: 28px; border-left: 1px solid var(--line); }
.explain-controls { display: grid; grid-template-columns: 1fr auto; gap: 7px; }
.explanation-output article { margin-top: 12px; padding: 15px; border-left: 4px solid var(--cadet); background: #eef7f7; }
.explanation-output article > span { color: var(--cadet-dark); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.explanation-output h3 { margin: 4px 0 7px; font-size: 16px; }
.explanation-output p, .explanation-output li { color: var(--muted); font-size: 10px; }
.explanation-output article > strong { font-size: 10px; }
.export-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.agent-builder { display: grid; grid-template-columns: minmax(0,1fr) 120px auto; align-items: end; gap: 9px; margin-top: 22px; padding: 13px; border: 1px solid var(--line); background: var(--canvas); }
.agent-builder > div { display: flex; align-items: center; gap: 8px; }
.agent-builder > div > i { color: var(--cadet-dark); font-size: 22px; }
.agent-builder span { display: grid; }
.agent-builder small { color: var(--muted); font-size: 8px; }
.agent-builder label { display: grid; gap: 3px; font-size: 8px; font-weight: 800; }
.agent-builder select { height: 36px; border: 1px solid var(--line); }
.agent-list { display: grid; gap: 6px; margin-top: 10px; }
.agent-item { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 9px; border: 1px solid var(--line); }
.agent-item > i { color: var(--cadet-dark); }
.agent-item span { display: grid; min-width: 0; }
.agent-item strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.agent-item small { color: var(--muted); font-size: 8px; }


dialog { color: var(--ink); }
dialog::backdrop { background: rgba(23,35,38,.54); }
.article-dialog { width: min(1480px, calc(100vw - 24px)); height: min(900px, calc(100vh - 24px)); max-width: none; max-height: none; padding: 0; overflow: hidden; border: 0; border-radius: 7px; background: white; box-shadow: 0 24px 65px rgba(23,35,38,.28); }
.dialog-toolbar { height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 0 15px; border-bottom: 1px solid var(--line); background: white; }
.dialog-brand { display: flex; align-items: center; gap: 8px; }
.dialog-brand img { width: 39px; height: 39px; object-fit: contain; }
.dialog-brand span { display: grid; }
.dialog-brand small { color: var(--muted); font-size: 9px; }
.dialog-actions { min-width: 0; display: flex; align-items: center; gap: 6px; }
.citation-toolbar { display: flex; align-items: center; height: 36px; overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: white; }
.citation-toolbar select { width: 112px; height: 34px; padding: 0 28px 0 9px; border: 0; border-right: 1px solid var(--line); color: var(--ink); background: white; font-size: 9px; font-weight: 800; }
.citation-toolbar .icon-button { width: 36px; height: 34px; border: 0; border-radius: 0; }
.dialog-actions #articlePdf.pdf-available { color: #17623d; border-color: #8ac8a7; background: var(--green-soft); }
.dialog-actions #articleFavorite.active { color: #7c5512; border-color: #d5b875; background: var(--amber-soft); }
.reader-loading { height: calc(100% - 62px); display: grid; align-content: center; justify-items: center; padding: 30px; text-align: center; }
.reader-loading i { color: var(--cadet); font-size: 34px; animation: spin 1s linear infinite; }
.reader-loading span { max-width: 500px; margin-top: 4px; color: var(--muted); }
.article-content { height: calc(100% - 62px); overflow-y: auto; padding: 34px clamp(25px, 5vw, 74px) 60px; }
.reader-layout { display: grid; grid-template-columns: minmax(0,1fr) 0; gap: 0; transition: grid-template-columns .2s ease; }
.reader-layout > main { min-width: 0; }
.article-dialog.lab-open .article-content { padding-right: 25px; }
.article-dialog.lab-open .reader-layout { grid-template-columns: minmax(0,1fr) 360px; gap: 30px; }
.deep-lab { position: sticky; top: 0; align-self: start; max-height: calc(100vh - 150px); overflow: auto; visibility: hidden; border: 1px solid var(--line); background: var(--canvas); opacity: 0; }
.article-dialog.lab-open .deep-lab { visibility: visible; opacity: 1; }
.deep-lab-head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: 10px; border-bottom: 1px solid var(--line); background: white; }
.deep-lab-head span { display: flex; align-items: center; gap: 7px; }
.deep-lab-head i { color: var(--cadet-dark); }
.lab-stats { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--line); }
.lab-stats span { display: grid; place-items: center; padding: 7px; border-right: 1px solid var(--line); color: var(--muted); font-size: 8px; }
.lab-stats span:last-child { border-right: 0; }
.lab-stats b { color: var(--ink); font-size: 14px; }
.deep-lab > section { padding: 10px; border-bottom: 1px solid var(--line); }
.deep-lab h3 { margin: 0 0 7px; font-size: 11px; }
.lab-warning { display: flex; gap: 7px; margin: 9px; padding: 8px; color: #76531f; background: var(--amber-soft); font-size: 9px; }
.lab-claims { display: grid; gap: 5px; }
.lab-claims button { padding: 8px; border: 1px solid var(--line); text-align: left; background: white; }
.lab-claims button span { display: block; font: 11px/1.45 Lato, ui-sans-serif, sans-serif; }
.lab-claims button small { display: block; margin-top: 4px; color: var(--cadet-dark); font-size: 8px; }
.deep-lab details { margin-bottom: 5px; border: 1px solid var(--line); background: white; }
.deep-lab summary { padding: 7px; font-size: 9px; font-weight: 800; cursor: pointer; }
.deep-lab details > p { padding: 0 7px; color: var(--muted); font-size: 8px; }
.lab-table-wrap { overflow-x: auto; }
.lab-table-wrap table { width: 100%; border-collapse: collapse; font-size: 8px; }
.lab-table-wrap th, .lab-table-wrap td { padding: 4px; border: 1px solid var(--line); text-align: left; }
.reader-highlight { outline: 3px solid var(--amber); outline-offset: 5px; transition: outline-color .3s; }
.article-content .reader-kicker { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 10px; }
.reader-enriching { color: #5d7074; background: #edf4f4; }
.reader-enriching i { animation: spin 1s linear infinite; }
.article-content h1 { max-width: 1120px; margin: 0 0 9px; font-size: 25px; line-height: 1.3; }
.article-byline { color: var(--muted); font-size: 11px; }
.badge.pdf-badge { color: #17623d; border: 1px solid #a9d9bf; background: var(--green-soft); }
.reader-publication { display: grid; grid-template-columns: 1.2fr 1fr .8fr 1fr; margin: 20px 0 16px; border: 1px solid var(--line); background: #fbfcfc; }
.reader-publication article { min-width: 0; display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 9px; min-height: 68px; padding: 10px 12px; border-right: 1px solid var(--line); }
.reader-publication article:last-child { border-right: 0; }
.reader-publication article > i { width: 32px; height: 32px; display: grid; place-items: center; color: var(--cadet-deep); background: var(--cadet-soft); font-size: 15px; }
.reader-publication article > span { min-width: 0; display: grid; gap: 2px; }
.reader-publication small { color: var(--muted); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.reader-publication strong, .reader-publication a { overflow: hidden; color: var(--ink); font-size: 10px; font-weight: 800; line-height: 1.35; text-overflow: ellipsis; }
.reader-publication a { color: var(--cadet-deep); text-decoration: underline; text-underline-offset: 2px; }
.reader-origin { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 13px; margin: 0 0 16px; padding: 14px 15px; border: 1px solid #9fcdb4; border-left: 5px solid #397b5d; background: #eef8f2; }
.reader-origin > i { width: 40px; height: 40px; display: grid; place-items: center; color: #17623d; background: white; font-size: 19px; }
.reader-origin > span { min-width: 0; display: grid; gap: 2px; }
.reader-origin small { color: #397b5d; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.reader-origin h2 { margin: 0; font-size: 15px; }
.reader-origin p { margin: 0; color: #567067; font-size: 10px; }
.reader-origin > a { min-height: 42px; display: inline-flex; align-items: center; gap: 8px; padding: 0 15px; color: white; background: #397b5d; font-size: 11px; font-weight: 850; text-decoration: none; }
.reader-origin > a:hover { background: #2e684d; }
.reader-citation { display: grid; grid-template-columns: 34px minmax(0,1fr) 36px; align-items: center; gap: 9px; margin-bottom: 17px; padding: 10px 12px; border-left: 3px solid var(--cadet); background: #f2f8f8; }
.reader-citation > i { color: var(--cadet-dark); font-size: 20px; }
.reader-citation > span { min-width: 0; display: grid; gap: 2px; }
.reader-citation small { color: var(--cadet-deep); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.reader-citation p { margin: 0; color: #42565a; font-size: 10px; line-height: 1.45; }
.article-abstract { margin: 24px 0; padding: 17px; border-left: 4px solid var(--cadet); background: #eef7f7; }
.community-provenance { display: inline-flex; align-items: center; gap: 5px; margin: -2px 0 9px; color: var(--cadet-dark); font-size: 9px; font-weight: 800; }
.article-abstract h2, .reader-section h2 { margin: 0 0 8px; font-size: 16px; }
.article-abstract p, .reader-section p { margin: 0 0 11px; font-family: Lato, ui-sans-serif, sans-serif; font-size: 15px; line-height: 1.7; }
.reader-section { max-width: 820px; margin: 26px 0; }
.pdf-frame { width: 100%; height: calc(100vh - 230px); min-height: 560px; border: 1px solid var(--line); background: var(--canvas); }
.pdf-access-panel { min-height: 330px; display: grid; grid-template-columns: 58px minmax(0,560px); align-content: center; justify-content: center; gap: 18px; margin-top: 24px; padding: 35px; border: 1px solid #abd7bd; background: var(--green-soft); }
.pdf-access-panel > i { width: 56px; height: 56px; display: grid; place-items: center; color: #17623d; background: white; font-size: 27px; }
.pdf-access-panel span { color: #17623d; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.pdf-access-panel h2 { margin: 3px 0 6px; font-size: 21px; }
.pdf-access-panel p { margin: 0 0 15px; color: #405e4e; font-size: 11px; line-height: 1.55; }
.pdf-access-panel div > div { display: flex; flex-wrap: wrap; gap: 7px; }
.reader-notice { padding: 10px; border-left: 3px solid var(--amber); background: var(--amber-soft); color: #6e542a; font-size: 10px; }
.reader-no-text { min-height: 210px; display: grid; grid-template-columns: 52px minmax(0,620px); justify-content: center; align-content: center; gap: 18px; margin: 22px 0; padding: 30px; border: 1px dashed #9dbfc0; background: #f7fafa; }
.reader-no-text > i { width: 50px; height: 50px; display: grid; place-items: center; color: var(--cadet-deep); background: var(--cadet-soft); font-size: 24px; }
.reader-no-text h2 { margin: 0 0 5px; font-size: 18px; }
.reader-no-text p { margin: 0 0 13px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.reader-community { margin: 24px 0; border: 1px solid var(--line); background: #fbfcfc; }
.reader-community > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; border-bottom: 1px solid var(--line); background: var(--cadet-soft); }
.reader-community > header > span { display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; column-gap: 8px; }
.reader-community > header i { grid-row: 1 / span 2; color: var(--cadet-deep); font-size: 19px; }
.reader-community > header small { color: var(--cadet-deep); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.reader-community > header h2 { margin: 0; font-size: 16px; }
.reader-community > article { padding: 15px; border-bottom: 1px solid var(--line); }
.reader-community > article:last-child { border-bottom: 0; }
.reader-community > article.pending { background: #fffaf0; }
.community-entry-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 8px; }
.community-entry-meta span, .community-entry-meta b, .community-entry-meta em, .community-entry-meta > i { padding: 3px 6px; color: var(--cadet-deep); background: var(--cadet-soft); font-size: 8px; font-style: normal; font-weight: 850; text-transform: uppercase; }
.community-entry-meta em { color: #75531f; background: var(--amber-soft); }
.community-entry-meta > i { color: #17623d; background: var(--green-soft); }
.reader-community article > p { margin: 0; white-space: pre-line; font: 14px/1.68 Lato,ui-sans-serif,sans-serif; }
.reader-community article > footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 10px; color: var(--muted); font-size: 9px; }
.reader-community article > footer > span:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.reader-community article > footer a { color: var(--cadet-deep); font-weight: 800; }
.community-review-note { display: flex; gap: 6px; margin-top: 10px; padding: 8px 9px; color: #793c36; background: var(--red-soft); font-size: 9px; }
.reader-community details { margin-top: 10px; border-top: 1px solid var(--line); padding-top: 8px; }
.reader-community summary { color: var(--cadet-deep); font-size: 9px; font-weight: 800; cursor: pointer; }
.reader-community details div { display: flex; gap: 8px; padding-top: 5px; color: var(--muted); font-size: 9px; }
.reader-community-invite { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; padding: 12px 14px; border: 1px solid var(--line); background: #f7fafa; }
.reader-community-invite > span { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 10px; }
.reader-community-invite > span i, .reader-community-invite > span b { color: var(--cadet-deep); }
.community-dialog { width: min(780px,calc(100vw - 28px)); }
.community-dialog form > header { display: flex; justify-content: space-between; gap: 14px; padding: 17px 20px; border-bottom: 1px solid var(--line); }
.community-dialog form > header h2 { margin: 0; }
.community-dialog form > header p:last-child { max-width: 570px; margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.community-form-body { display: grid; gap: 15px; padding: 20px; }
.community-principle { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 11px; padding: 13px; border-left: 4px solid var(--cadet); background: var(--cadet-soft); }
.community-principle > i { width: 36px; height: 36px; display: grid; place-items: center; color: var(--cadet-deep); background: white; font-size: 17px; }
.community-principle p { margin: 3px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.community-form-body > label, .community-rights-fields > label { display: grid; gap: 5px; color: var(--ink); font-size: 10px; font-weight: 850; }
.community-form-body input, .community-form-body select, .community-form-body textarea { width: 100%; padding: 10px 11px; border: 1px solid var(--line); border-radius: 4px; color: var(--ink); background: white; font: 12px/1.5 Lato,ui-sans-serif,sans-serif; }
.community-form-body textarea { resize: vertical; }
.community-form-body label > small { color: var(--muted); font-size: 9px; font-weight: 500; }
.community-rights-fields { display: grid; grid-template-columns: 1.2fr 1fr .8fr; gap: 9px; }
.community-confirm { grid-template-columns: 20px minmax(0,1fr) !important; align-items: start; padding: 12px; border: 1px solid #e0c98d; background: #fffaf0; }
.community-confirm input { width: 17px; height: 17px; margin-top: 2px; }
.community-confirm span { display: grid; gap: 3px; }
.community-status { min-height: 18px; color: var(--muted); font-size: 10px; }
.community-status.success { color: #17623d; }
.community-status.error { color: #9b3831; }
.reader-license { margin-top: 28px; color: var(--muted); font-size: 9px; }
.panel-dialog { width: min(620px, calc(100vw - 28px)); max-height: calc(100vh - 28px); padding: 0; border: 0; border-radius: 7px; background: white; box-shadow: 0 24px 60px rgba(23,35,38,.25); }
.panel-dialog > header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px; border-bottom: 1px solid var(--line); background: white; }
.panel-dialog h2 { margin: 0; font-size: 18px; }
.app-import-dialog { width: min(720px, calc(100vw - 28px)); }
.app-import-body { display: grid; gap: 20px; padding: 20px; }
.app-import-preview { padding: 15px 17px; border-left: 4px solid var(--cadet); background: var(--cadet-soft); }
.app-import-preview > span { color: var(--cadet-deep); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.app-import-preview h3 { margin: 5px 0 7px; font-size: 17px; line-height: 1.25; }
.app-import-preview p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.app-import-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.app-import-heading > span, .app-import-project > span { color: var(--ink); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.app-import-heading small, .app-import-project small { color: var(--muted); font-size: 10px; }
.app-import-targets { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.app-import-targets > button { position: relative; min-width: 0; display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 9px; padding: 12px; border: 1px solid var(--line); border-radius: 5px; background: white; color: var(--ink); text-align: left; }
.app-import-targets > button > i:first-child { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 5px; background: var(--cadet-soft); color: var(--cadet-deep); font-size: 17px; }
.app-import-targets > button span { min-width: 0; display: grid; gap: 2px; }
.app-import-targets > button strong { font-size: 11px; line-height: 1.2; }
.app-import-targets > button small { color: var(--muted); font-size: 9px; line-height: 1.3; }
.app-import-targets > button:hover { border-color: var(--cadet); background: #f7fbfb; }
.app-import-targets > button.active { border-color: var(--cadet-dark); box-shadow: inset 3px 0 var(--cadet-dark); background: #eff8f8; }
.app-import-targets .app-target-check { position: absolute; top: 7px; right: 7px; display: none; color: var(--green); font-size: 12px; }
.app-import-targets > button.active .app-target-check { display: block; }
.app-import-project { display: grid; grid-template-columns: 110px minmax(0,1fr); align-items: center; gap: 7px 12px; }
.app-import-project select { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 5px; background: white; color: var(--ink); }
.app-import-project small { grid-column: 2; }
.app-import-status { min-height: 0; }
.app-import-status:not(:empty) { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 52px; padding: 10px 12px; border-left: 3px solid var(--cadet); background: #f3f8f8; }
.app-import-status > i { font-size: 19px; }
.app-import-status > span { display: grid; gap: 2px; font-size: 11px; }
.app-import-status > span small { color: var(--muted); font-size: 9px; }
.app-import-status > a { color: var(--cadet-deep); font-size: 10px; font-weight: 800; text-decoration: none; }
.app-import-status.loading > i { animation: spin .8s linear infinite; }
.app-import-status.success { border-color: var(--green); background: var(--green-soft); color: #235f47; }
.app-import-status.error { border-color: var(--red); background: var(--red-soft); color: #8f352e; }
.app-import-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 20px; border-top: 1px solid var(--line); background: #f8fafb; }
.source-info-content { padding: 20px; }
.source-info-summary { margin: 0 0 18px; color: #314448; font-size: 15px; line-height: 1.65; }
.source-info-facts { display: grid; gap: 0; margin: 0 0 18px; border-top: 1px solid var(--line); }
.source-info-facts div { padding: 13px 0; border-bottom: 1px solid var(--line); }
.source-info-facts dt { display: flex; align-items: center; gap: 8px; color: var(--cadet-deep); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.source-info-facts dt i { width: 20px; font-size: 15px; text-align: center; }
.source-info-facts dd { margin: 5px 0 0 28px; color: var(--muted); line-height: 1.55; }
.source-info-link { width: fit-content; }
.connections-grid, .notifications-list { display: grid; gap: 1px; padding: 12px; background: var(--line); }
.connection-entry, .notification-entry { display: grid; grid-template-columns: 35px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 10px; background: white; }
.connection-entry > i { width: 33px; height: 33px; display: grid; place-items: center; color: var(--cadet-deep); background: var(--cadet-soft); }
.connection-entry.premium { border-left: 3px solid var(--coral); background: #fffafa; }
.connection-entry.premium > i { color: #98443d; background: var(--coral-soft); }
.connection-entry span, .notification-entry span { display: grid; }
.connection-entry small, .notification-entry small { color: var(--muted); font-size: 9px; }
.status-pill { padding: 3px 6px; border-radius: 3px; color: var(--green); background: var(--green-soft); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.status-pill.error { color: var(--coral); background: var(--coral-soft); }
.notification-entry { grid-template-columns: 31px minmax(0,1fr); align-items: start; }
.notification-entry > i { color: var(--amber); font-size: 20px; }
.toast { position: fixed; right: 20px; bottom: 20px; z-index: 100; max-width: 360px; padding: 10px 13px; border-radius: 5px; color: white; background: var(--ink); box-shadow: var(--shadow); opacity: 0; transform: translateY(12px); pointer-events: none; transition: .2s ease; }
.toast.show { opacity: 1; transform: translateY(0); }
.notice { margin: 12px 0; padding: 9px; border-left: 3px solid var(--cadet); background: #eef7f7; color: var(--muted); font-size: 10px; }
.notice.danger { color: #893a33; border-color: var(--coral); background: var(--coral-soft); }

.profile-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: white; }
.profile-editor { min-width: 0; }
.profile-fieldset { min-width: 0; margin: 0; padding: 22px 24px; border: 0; border-bottom: 1px solid var(--line); }
.profile-fieldset legend { padding: 0; font-size: 16px; font-weight: 850; }
.profile-fieldset > p { margin: 3px 0 15px; color: var(--muted); font-size: 11px; }
.profile-choice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.profile-choice-grid label, .depth-switch label, .specialty-switch label { min-width: 0; cursor: pointer; }
.profile-choice-grid input, .depth-switch input, .specialty-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.profile-choice-grid label > span { min-height: 108px; display: grid; align-content: start; gap: 3px; padding: 13px; border: 1px solid var(--line); border-radius: 6px; background: white; }
.profile-choice-grid label > span > i { width: 32px; height: 32px; display: grid; place-items: center; margin-bottom: 4px; border-radius: 5px; color: var(--cadet-deep); background: var(--cadet-soft); font-size: 16px; }
.profile-choice-grid strong { font-size: 13px; }
.profile-choice-grid small { color: var(--muted); font-size: 9px; line-height: 1.35; }
.profile-choice-grid input:checked + span, .depth-switch input:checked + span, .specialty-switch input:checked + span { border-color: var(--cadet); background: #eef7f7; box-shadow: inset 0 0 0 1px var(--cadet); }
.profile-choice-grid input:focus-visible + span, .depth-switch input:focus-visible + span, .specialty-switch input:focus-visible + span { outline: 2px solid var(--blue); outline-offset: 2px; }
.therapy-specialties { margin-top: 16px; padding: 13px; border-left: 3px solid var(--cadet); background: var(--canvas); }
.therapy-specialties > span { display: block; margin-bottom: 8px; color: var(--muted); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.specialty-switch, .depth-switch { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
.specialty-switch label > span { min-height: 34px; display: grid; place-items: center; padding: 5px 8px; border: 1px solid var(--line); border-radius: 4px; background: white; font-size: 10px; font-weight: 750; text-align: center; }
.depth-switch { grid-template-columns: repeat(3,minmax(0,1fr)); }
.depth-switch label > span { min-height: 74px; display: grid; grid-template-columns: 25px minmax(0,1fr); align-content: center; column-gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 5px; background: white; }
.depth-switch i { grid-row: 1 / 3; align-self: center; color: var(--cadet-deep); font-size: 18px; }
.depth-switch strong { font-size: 11px; }
.depth-switch small { color: var(--muted); font-size: 9px; }
.profile-actions { display: flex; align-items: center; gap: 13px; padding: 18px 24px; }
.profile-actions span { color: var(--muted); font-size: 9px; }
.profile-preview { position: sticky; top: calc(var(--header-height) + 18px); align-self: start; min-height: 100%; padding: 26px 24px; border-left: 1px solid var(--line); background: #f0f7f7; }
.profile-preview-mark { width: 54px; height: 54px; display: grid; place-items: center; margin: 16px 0; border-radius: 7px; color: white; background: var(--cadet-deep); font-size: 24px; }
.profile-preview h2 { margin: 0; font-size: 20px; }
.profile-preview > p:not(.eyebrow) { color: #4d6064; font-size: 11px; }
.profile-preview dl { display: grid; gap: 0; margin-top: 22px; border-top: 1px solid #cbdede; }
.profile-preview dl div { display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 8px; padding: 9px 0; border-bottom: 1px solid #cbdede; }
.profile-preview dt { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.profile-preview dd { margin: 0; font-size: 10px; font-weight: 750; }

.profile-dialog { width: min(760px,calc(100vw - 24px)); max-height: calc(100vh - 24px); overflow: auto; padding: 0; border: 0; border-radius: 8px; background: white; box-shadow: 0 24px 70px rgba(23,35,38,.24); }
.profile-dialog::backdrop { background: rgba(21,36,39,.58); }
.profile-dialog form { margin: 0; }
.profile-dialog-head { display: grid; grid-template-columns: 64px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 20px 22px 17px; }
.profile-dialog-head img { width: 62px; height: 62px; object-fit: contain; }
.profile-dialog-head h2 { margin: 0; font-size: 23px; }
.profile-dialog-head p { margin: 2px 0 0; color: var(--muted); font-size: 11px; }
.profile-dialog-head #profileStepLabel { align-self: start; padding: 3px 7px; border-radius: 4px; color: var(--cadet-deep); background: var(--cadet-soft); font-size: 9px; font-weight: 850; }
.profile-progress { height: 4px; background: #e7eeee; }
.profile-progress i { display: block; width: 50%; height: 100%; background: var(--cadet); transition: width .2s ease; }
.profile-step { display: none; padding: 24px 26px 22px; }
.profile-step.active { display: block; }
.profile-step h3 { margin: 0 0 17px; font-size: 18px; }
.profile-dialog-actions { display: flex; justify-content: flex-end; gap: 7px; margin-top: 22px; }
.language-dialog { width: min(680px,calc(100vw - 24px)); }
.language-dialog-head { display: grid; grid-template-columns: 72px minmax(0,1fr); align-items: center; gap: 16px; padding: 24px 24px 18px; border-bottom: 1px solid var(--line); background: #f0f7f7; }
.language-dialog-head img { width: 68px; height: 68px; object-fit: contain; }
.language-dialog-head p { margin: 0 0 3px; color: var(--cadet-dark); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.language-dialog-head h2 { margin: 0; font-size: 25px; }
.language-dialog-head span { color: var(--muted); font-size: 11px; }
.language-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 20px 24px; }
.language-choice-grid button { min-height: 55px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 14px; border: 1px solid #bfd2d3; border-radius: 5px; color: var(--ink); background: white; text-align: left; }
.language-choice-grid button:hover, .language-choice-grid button:focus-visible { border-color: var(--cadet-dark); background: #eef7f7; outline: 0; }
.language-choice-grid button strong { font-size: 13px; }
.language-choice-grid button span { color: var(--cadet-dark); font-size: 9px; font-weight: 850; }
.language-privacy { display: flex; align-items: center; gap: 7px; margin: 0; padding: 0 24px 21px; color: var(--muted); font-size: 9px; }
.language-privacy i { color: #35795c; }

body.profile-depth-concise .main-nav .nav-button[data-view="action"], body.profile-depth-concise .main-nav .nav-button[data-view="review"], body.profile-depth-concise .main-nav .nav-button[data-view="map"], body.profile-depth-concise .main-nav .nav-button[data-view="institution"] { display: none; }
body.profile-depth-concise .mode-switch button[data-mode="deep"], body.profile-depth-concise .analysis-tabs button[data-analysis-tab="contradictions"], body.profile-depth-concise .analysis-tabs button[data-analysis-tab="grade"], body.profile-depth-concise .analysis-tabs button[data-analysis-tab="outcomes"] { display: none; }
body.profile-depth-concise .feature-list button[data-feature="action"], body.profile-depth-concise .feature-list button[data-feature="review"], body.profile-depth-concise .feature-list button[data-feature="map"] { display: none; }
body.profile-depth-concise .result-abstract { -webkit-line-clamp: 2; }
body.profile-depth-concise .review-actions { display: none; }
body.profile-depth-concise .transfer-grid { grid-template-columns: 1fr; }
body.profile-depth-concise .transfer-item[data-primary-role="false"] { display: none; }
body.profile-depth-guided .main-nav .nav-button[data-view="action"], body.profile-depth-guided .main-nav .nav-button[data-view="institution"] { display: none; }
body.profile-depth-guided .analysis-tabs button[data-analysis-tab="grade"], body.profile-depth-guided .analysis-tabs button[data-analysis-tab="outcomes"] { display: none; }
body.profile-depth-guided .feature-list button[data-feature="action"] { display: none; }

.auth-page { min-height: 100vh; display: grid; place-items: center; padding: 25px; background: #edf5f5; }
.auth-shell { width: min(920px,100%); display: grid; grid-template-columns: 1fr 430px; overflow: hidden; border-radius: 7px; background: white; box-shadow: var(--shadow); }
.auth-brand { display: grid; align-content: center; justify-content: center; padding: 48px; background: var(--cadet-deep); color: white; }
.auth-brand img { width: 145px; height: 145px; }
.auth-brand strong { font-size: 27px; }
.auth-brand small { color: #bfe0e1; }
.auth-panel { padding: 40px; }
.auth-panel h1 { margin: 0; font-size: 26px; }
.auth-panel > p:not(.eyebrow) { color: var(--muted); }
.auth-panel form { display: grid; gap: 7px; margin: 23px 0 13px; }
.auth-panel label { margin-top: 6px; font-size: 10px; font-weight: 800; }
.auth-panel input { height: 43px; padding: 0 10px; border: 1px solid var(--line); border-radius: 4px; }
.auth-panel .auth-remember { min-height: 48px; display: grid; grid-template-columns: 19px minmax(0, 1fr); align-items: start; gap: 10px; margin: 11px 0 2px; padding: 10px; border: 1px solid var(--line); border-radius: 4px; background: #f7fafa; cursor: pointer; }
.auth-panel .auth-remember input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--cadet-dark); }
.auth-panel .auth-remember span { display: grid; gap: 2px; }
.auth-panel .auth-remember strong { color: var(--ink); font-size: 11px; }
.auth-panel .auth-remember small { color: var(--muted); font-size: 9px; font-weight: 550; line-height: 1.35; }
.auth-panel button { margin-top: 11px; }
.text-link { color: var(--cadet-dark); font-size: 11px; font-weight: 750; }

body.easy-mode .left-rail, body.easy-mode .insight-rail { display: none; }
body.easy-mode .app-layout { display: block; }
body.easy-mode .workspace { width: min(100%, 1040px); margin: 0 auto; }
body.easy-mode .main-nav .nav-button[data-view="action"], body.easy-mode .main-nav .nav-button[data-view="review"], body.easy-mode .main-nav .nav-button[data-view="map"], body.easy-mode .main-nav .nav-button[data-view="institution"] { display: none; }
body.easy-mode .workbench-head .eyebrow { display: none; }
body.easy-mode .workbench-head h1 { font-size: 25px; }
body.easy-mode .analysis-tabs button:nth-child(n+5) { display: none; }
body.easy-mode .result-abstract { -webkit-line-clamp: 2; }
body.easy-mode .quick-prompts { margin-bottom: 14px; }

@keyframes pulse { 50% { opacity: .35; transform: scale(.75); } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes resultIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1500px) {
    .app-layout { grid-template-columns: 260px minmax(540px,1fr) 270px; }
    .topbar { grid-template-columns: 205px minmax(410px,1fr) auto; }
    .tier-badge { display: none; }
    .account-button:not(.profile-button) span { display: none; }
    .account-button:not(.profile-button) { width: 36px; padding: 0; justify-content: center; }
    .nav-button { min-width: 66px; padding: 0 7px; font-size: 11px; }
}

/* Florence 1.23.2: shared workbench and reader readability floor. */
.rail-heading,
.insight-heading { font-size: 13px; }
.source-copy small,
.monitor-item small,
.history-item small,
.rail-empty,
.usage-meter span,
.result-toolbar #dedupeCount,
.paginator-summary,
.paginator-size,
.result-foot>button,
.coverage { font-size: 12px; }
.source-copy em,
.badge,
.preview-note,
.year-histogram-meta,
.year-range { font-size: 11px; }
.search-progress-overview,
.search-progress-label strong,
.pulse-chip { font-size: 11px; }
.evidence-summary-strip span,
.evidence-summary-strip small,
.answer-band span,
.answer-confidence small,
.evidence-stat span,
.reader-publication small,
.reader-origin small,
.reader-citation small,
.community-provenance,
.reader-license { font-size: 11px; }
.analysis-tabs button,
.transfer-item p,
.ledger-entry p,
.reason-list,
.reader-publication strong,
.reader-publication a,
.reader-origin p,
.reader-citation p,
.reader-notice,
.reader-no-text p { font-size: 13px; }
.reader-origin>a { font-size: 14px; }
.reader-publication strong,
.reader-publication a,
.reader-citation p { line-height: 1.5; }
.toolbar-controls label>span,
.toolbar-controls select,
.toolbar-controls .check-control span { font-size: 12px; }
.paginator-pages button,
.paginator-size select { font-size: 13px; }
@media (max-width: 1260px) {
    .app-layout { grid-template-columns: 240px minmax(520px,1fr); }
    .insight-rail { display: none; }
    .topbar { grid-template-columns: 190px 1fr auto; }
    .nav-button span { display: none; }
    .nav-button { min-width: 45px; font-size: 15px; }
    .nav-button b { position: absolute; top: 8px; right: 4px; }
    .connection-button span:not(.live-dot), .easy-toggle span { display: none; }
    .doi-header-link { width: 36px; justify-content: center; padding: 0; }
    .doi-header-link span { display: none; }
    .profile-button span { display: none; }
    .profile-button { width: 36px; padding: 0; justify-content: center; }
    .evidence-landscape { grid-template-columns: 175px minmax(480px,1fr) 280px; }
    .map-mode-switch button { min-width: 88px; padding: 0 8px; }
}
@media (max-width: 900px) {
    :root { --header-height: 58px; }
    .app-import-targets { grid-template-columns: 1fr; }
    .app-import-project { grid-template-columns: 1fr; }
    .app-import-project small { grid-column: 1; }
    .app-import-status:not(:empty) { grid-template-columns: 24px minmax(0,1fr); }
    .app-import-status > a { grid-column: 2; }
    .topbar { grid-template-columns: 1fr auto; padding: 0 10px; }
    .brand img { width: 38px; height: 38px; }
    .brand strong { font-size: 16px; }
    .brand small, .connection-button, .logout-button { display: none; }
    .main-nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; height: 56px; justify-content: stretch; border-top: 1px solid var(--line); background: white; }
    .nav-button { flex: 1; min-width: 0; flex-direction: column; gap: 1px; padding: 4px 2px; border-bottom: 0; border-top: 3px solid transparent; font-size: 15px; }
    .nav-button span { display: block; font-size: 8px; }
    .nav-button.active { border-top-color: var(--cadet); border-bottom-color: transparent; }
    .nav-button b { top: 2px; right: 18%; }
    .app-layout { display: block; }
    .left-rail { position: static; width: 100%; height: auto; overflow: visible; border-right: 0; border-bottom: 1px solid var(--line); }
    .left-rail .rail-section:first-child { padding: 9px 10px; }
    .source-list { display: flex; overflow-x: auto; padding-bottom: 2px; }
    .source-row { flex: 0 0 178px; grid-template-columns: minmax(0,1fr) 24px 7px; min-height: 41px; }
    .source-row.locked { grid-template-columns: minmax(0,1fr) 24px 7px 11px; }
    .source-select { grid-template-columns: 17px 27px minmax(0,1fr); gap: 5px; }
    .source-icon { width: 26px; height: 26px; }
    .monitor-section, .recent-section, .rail-footer, .rail-heading { display: none; }
    .workspace { padding: 20px 11px 78px; }
    .workbench-head h1 { font-size: 23px; }
    .workbench-head > div > p:last-child { font-size: 12px; }
    .search-composer { padding: 14px 13px 11px 41px; }
    .composer-search-icon { left: 14px; top: 18px; }
    .search-composer textarea { font-size: 15px; }
    .composer-bottom { align-items: stretch; flex-direction: column; }
    .mode-switch { width: 100%; }
    .mode-switch button { flex: 1; padding: 0 4px; }
    .composer-actions { justify-content: flex-end; }
    .result-toolbar { align-items: flex-start; flex-direction: column; }
    .toolbar-controls { justify-content: flex-start; }
    .result-paginator { grid-template-columns: 1fr auto; }
    .paginator-pages { grid-column: 1 / -1; grid-row: 1; }
    .paginator-summary { grid-column: 1; grid-row: 2; }
    .paginator-size { grid-column: 2; grid-row: 2; }
    .answer-band { grid-template-columns: 37px minmax(0,1fr); }
    .evidence-dialog { width: calc(100vw - 18px); max-height: calc(100vh - 18px); }
    .evidence-summary-strip { grid-template-columns: 32px minmax(0,1fr) auto; }
    .evidence-summary-strip > b { grid-column: 2; justify-self: start; }
    .evidence-summary-strip .secondary-button { grid-column: 3; grid-row: 1 / 3; }
    .answer-confidence { grid-column: 2; display: flex; gap: 6px; padding: 5px 0 0; border: 0; }
    .overview-grid { grid-template-columns: 1fr 1fr; }
    .transfer-grid, .contradiction-layout, .grade-layout, .review-builder, .review-columns, .institution-layout, .action-two-column, .applicability-layout, .communication-grid { grid-template-columns: 1fr; }
    .action-status { display: flex; overflow-x: auto; }
    .action-status > div { flex: 0 0 160px; }
    .action-panel { padding: 15px; }
    .context-form, .communication-grid > section + section { padding: 0 0 20px; border: 0; border-bottom: 1px solid var(--line); }
    .communication-grid > section + section { padding-top: 18px; }
    .forest-axis, .forest-row { grid-template-columns: minmax(180px,1fr) minmax(220px,1.1fr) 80px; }
    .decision-criteria { grid-template-columns: 1fr; }
    .decision-criteria label { border-right: 0; }
    .recommendation-editor, .panel-record { grid-template-columns: 1fr; }
    .article-dialog.lab-open .reader-layout { grid-template-columns: 1fr; }
    .article-dialog.lab-open .reader-layout > main { display: none; }
    .article-dialog.lab-open .deep-lab { max-height: none; }
    .reader-publication { grid-template-columns: 1fr 1fr; }
    .reader-publication article:nth-child(2) { border-right: 0; }
    .reader-publication article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .strategy-preview { border-left: 0; border-top: 1px solid var(--line); }
    .upload-band { grid-template-columns: 1fr; align-items: stretch; }
    body.map-workspace .workspace { padding: 14px 9px 72px; }
    .map-commandbar { display: grid; }
    .map-mode-switch { overflow-x: auto; }
    .map-mode-switch button { flex: 0 0 105px; min-height: 40px; }
    .map-search { min-width: 0; max-width: none; min-height: 40px; border-top: 1px solid var(--line); }
    .map-filterbar { overflow-x: auto; }
    .map-filterbar label { flex: 0 0 auto; }
    .map-stats { overflow-x: auto; }
    .map-stats span { flex: 0 0 108px; }
    .evidence-landscape { display: grid; grid-template-columns: minmax(0,1fr); }
    .map-topics { min-height: 0; max-height: none; overflow: hidden; border-right: 0; border-bottom: 1px solid var(--line); }
    .map-topics > header { display: none; }
    .map-topic-list { display: flex; overflow-x: auto; }
    .map-topic { flex: 0 0 155px; border-right: 1px solid #edf2f2; border-bottom: 0; }
    .map-topic.active { box-shadow: inset 0 -3px var(--cadet-dark); }
    .evidence-map-shell { height: min(620px, calc(100vh - 245px)); min-height: 470px; }
    .map-inspector { min-height: 0; max-height: none; border-top: 1px solid var(--line); border-left: 0; }
    .map-inspector-empty { min-height: 160px; }
    .profile-layout { grid-template-columns: 1fr; }
    .profile-preview { position: static; min-height: 0; border-left: 0; border-top: 1px solid var(--line); }
}
@media (max-width: 580px) {
    .header-tools .login-button { width: 36px; padding: 0; justify-content: center; }
    .header-tools .login-button span { display: none; }
    .easy-toggle { width: 36px; padding: 0; justify-content: center; }
    .easy-toggle [data-toggle-icon] { display: none; }
    .head-actions { gap: 4px; }
    .workbench-head { margin-bottom: 14px; }
    .workbench-head > div > p:last-child { display: none; }
    .map-head { align-items: flex-start; }
    .map-head h1 { font-size: 21px; }
    .map-head .head-actions .icon-button:first-child { display: none; }
    .map-mode-switch button { flex-basis: 92px; padding: 0 6px; font-size: 9px; }
    .map-filterbar label:nth-child(2), .map-filterbar label:nth-child(4) { display: none; }
    .evidence-map-shell { height: 58vh; min-height: 410px; }
    .map-tooltip { display: none; }
    .map-axis-hint { max-width: calc(100% - 26px); }
    .quick-prompts { overflow-x: auto; flex-wrap: nowrap; }
    .quick-prompts button { flex: 0 0 auto; }
    .composer-actions .secondary-button { width: 38px; padding: 0; font-size: 0; }
    .composer-actions .secondary-button i { font-size: 14px; }
    .search-button { flex: 1; min-width: 0; }
    .toolbar-controls label:nth-child(2) { display: none; }
    .result-body { padding: 11px; }
    .result-top { align-items: flex-start; }
    .result-badges .badge:nth-child(n+3) { display: none; }
    .result-title { font-size: 14px; }
    .result-meta span:nth-child(n+4), .coverage { display: none; }
    .result-foot { align-items: flex-start; flex-direction: column; }
    .empty-state { padding: 22px 11px; }
    .feature-strip span { width: calc(50% - 4px); justify-content: center; }
    .analysis-panel { padding: 12px; }
    .evidence-dialog { width: 100vw; height: 100vh; max-height: 100vh; border-radius: 0; }
    .evidence-dialog .analysis-panel { max-height: calc(100vh - 230px); }
    .evidence-summary-strip .secondary-button span { display: none; }
    .evidence-summary-strip .secondary-button { width: 34px; padding: 0; }
    .overview-grid, .transfer-grid, .stance-columns { grid-template-columns: 1fr; }
    .ledger-entry { grid-template-columns: 28px minmax(0,1fr); }
    .ledger-entry .evidence-label { grid-column: 2; justify-self: start; }
    .grade-domain { grid-template-columns: 1fr auto; }
    .grade-domain span:last-child { grid-column: 1 / -1; }
    .guideline-item, .outcome-item { grid-template-columns: 70px minmax(0,1fr); }
    .guideline-item > :last-child, .outcome-item > :last-child { grid-column: 2; justify-self: start; }
    .builder-fields { grid-template-columns: 1fr; padding: 14px; }
    .review-steps span { font-size: 0; }
    .review-summary { grid-template-columns: repeat(3,1fr); }
    .review-summary div:nth-child(3) { border-right: 0; }
    .article-dialog { width: 100vw; height: 100vh; border-radius: 0; }
    .dialog-toolbar { height: 56px; padding: 0 7px; }
    .dialog-brand { flex: 0 0 auto; }
    .dialog-brand img { width: 35px; height: 35px; }
    .dialog-brand span { display: none; }
    .dialog-actions { flex: 1; justify-content: flex-end; overflow-x: auto; }
    .dialog-actions > .icon-button, .dialog-actions > a.icon-button { width: 34px; height: 34px; flex: 0 0 34px; }
    .citation-toolbar { flex: 0 0 116px; height: 34px; }
    .citation-toolbar select { width: 82px; height: 32px; padding-left: 6px; }
    .citation-toolbar .icon-button { width: 34px; height: 32px; }
    .article-content { padding: 22px 16px 50px; }
    .article-content h1 { font-size: 20px; }
    .reader-publication { grid-template-columns: 1fr; }
    .reader-publication article, .reader-publication article:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
    .reader-publication article:last-child { border-bottom: 0; }
    .reader-origin { grid-template-columns: 38px minmax(0,1fr); padding: 11px; }
    .reader-origin > i { width: 36px; height: 36px; }
    .reader-origin > a { grid-column: 1 / -1; justify-content: center; }
    .reader-no-text { grid-template-columns: 1fr; padding: 20px 15px; }
    .reader-community > header, .reader-community-invite, .reader-community article > footer { align-items: flex-start; flex-direction: column; }
    .reader-community article > footer > span:last-child { justify-content: flex-start; }
    .community-rights-fields { grid-template-columns: 1fr; }
    .reader-citation { grid-template-columns: 28px minmax(0,1fr) 34px; padding: 9px; }
    .pdf-access-panel { grid-template-columns: 1fr; justify-items: start; padding: 24px 18px; }
    .action-tabs button { flex: 0 0 112px; min-width: 112px; padding: 0 8px; font-size: 8px; }
    .action-tabs button i { margin-right: 4px; font-size: 13px; }
    .radar-summary { grid-template-columns: repeat(3,1fr); }
    .meta-head, .decision-head, .decision-footer { flex-direction: column; }
    .pooled-effect { width: 100%; }
    .forest-chart { overflow-x: auto; }
    .forest-axis, .forest-row { min-width: 690px; }
    .applicability-result { grid-template-columns: 1fr; }
    .applicability-score { height: 100px; }
    .applicability-result ul, .applicability-result .module-note { grid-column: 1; }
    .decision-criteria label { grid-template-columns: 32px minmax(0,1fr); }
    .decision-criteria select { grid-column: 2; }
    .agent-builder { grid-template-columns: 1fr; align-items: stretch; }
    .impact-card footer { align-items: stretch; flex-direction: column; }
    .impact-card footer > span { margin: 0; }
    .profile-choice-grid, .depth-switch { grid-template-columns: 1fr; }
    .profile-choice-grid label > span { min-height: 82px; }
    .specialty-switch { grid-template-columns: 1fr 1fr; }
    .profile-fieldset { padding: 19px 14px; }
    .profile-actions { align-items: stretch; flex-direction: column; padding: 15px 14px; }
    .profile-dialog { width: 100vw; max-height: 100vh; min-height: 100vh; border-radius: 0; }
    .profile-dialog-head { grid-template-columns: 48px minmax(0,1fr) auto; padding: 15px 14px; }
    .profile-dialog-head img { width: 46px; height: 46px; }
    .profile-dialog-head h2 { font-size: 18px; }
    .profile-dialog-head p:not(.eyebrow) { display: none; }
    .profile-step { padding: 19px 14px 22px; }
    .profile-step .profile-choice-grid { gap: 6px; }
    .profile-dialog-actions { position: sticky; bottom: 0; padding: 11px 0 0; background: white; }
    .language-dialog { min-height: 0; }
    .language-dialog-head { grid-template-columns: 48px minmax(0,1fr); padding: 18px 14px; }
    .language-dialog-head img { width: 46px; height: 46px; }
    .language-dialog-head h2 { font-size: 20px; }
    .language-choice-grid { grid-template-columns: 1fr; padding: 15px 14px; }
    .language-privacy { padding: 0 14px 17px; }
    .auth-page { padding: 0; }
    .auth-shell { min-height: 100vh; display: block; border-radius: 0; }
    .auth-brand { padding: 20px; justify-content: flex-start; }
    .auth-brand img { width: 62px; height: 62px; }
    .auth-panel { padding: 26px 18px; }
}

/* Florence search product: search, sources, results and reader only. */
body.search-only #todayView,
body.search-only #libraryView,
body.search-only #reviewView,
body.search-only #twinView,
body.search-only #actionView,
body.search-only #mapView,
body.search-only #institutionView,
body.search-only #profileView,
body.search-only .monitor-section,
body.search-only .recent-section,
body.search-only .app-tools-section,
body.search-only #watchSearch,
body.search-only #articleFavorite,
body.search-only #articleAddToApp,
body.search-only #articleLabToggle,
body.search-only .app-import-action,
body.search-only [data-favorite],
body.search-only .review-actions,
body.search-only .reader-community-invite,
body.search-only [data-community-open],
body.search-only #communityDialog,
body.search-only #appImportDialog,
body.search-only #notificationsDialog,
body.search-only #profileOnboarding {
    display: none !important;
}
body.search-only .portal-highlights {
    grid-template-columns: repeat(2,minmax(0,1fr));
}
body.search-only .reader-layout {
    display: block;
}
body.search-only .reader-layout > main {
    width: min(100%,1180px);
    margin-inline: auto;
}

/* Reader typography for poorly structured abstracts and extracted PDF text. */
.reader-prose {
    max-width: 78ch;
    color: #182b39;
    font-family: Lato,ui-sans-serif,system-ui,sans-serif;
    font-size: clamp(16px,1.05vw,18px);
    line-height: 1.72;
    text-wrap: pretty;
}
.article-abstract .reader-prose {
    max-width: 82ch;
}
.reader-prose p {
    margin: 0 0 1.05em;
    orphans: 3;
    widows: 3;
}
.reader-prose p:last-child {
    margin-bottom: 0;
}
.reader-prose-heading {
    margin: 1.75em 0 .55em;
    padding-top: .35em;
    color: var(--ink);
    font-size: 1.18em;
    font-weight: 850;
    line-height: 1.3;
    letter-spacing: -.01em;
    border-top: 1px solid #cbdedf;
}
.reader-prose-heading:first-child {
    margin-top: .35em;
    border-top: 0;
}
.article-abstract {
    max-width: 1040px;
    margin: 26px 0 32px;
    padding: clamp(20px,2.5vw,30px);
    border: 1px solid #c8dddd;
    border-left: 5px solid var(--cadet-dark);
    border-radius: 4px;
    background: linear-gradient(135deg,#f0f8f8 0%,#f8fbfb 100%);
}
.article-abstract > h2 {
    margin-bottom: 16px;
    color: var(--cadet-deep);
    font-size: 20px;
}
.reader-section {
    max-width: 1040px;
    margin: 34px 0;
    padding-top: 4px;
}
.reader-section > h2 {
    margin-bottom: 15px;
    color: var(--ink);
    font-size: 23px;
    line-height: 1.3;
}
.reader-source-notes {
    display: grid;
    grid-template-columns: 30px minmax(0,1fr);
    gap: 12px;
    margin-top: 28px;
    padding: 16px 18px;
    color: #50646a;
    background: #f4f7f7;
    border: 1px solid #d9e3e4;
}
.reader-source-notes > i {
    color: var(--cadet-dark);
    font-size: 18px;
}
.reader-source-notes strong {
    display: block;
    margin-bottom: 5px;
    color: #30474d;
    font-size: 13px;
}
.reader-source-notes p {
    margin: 2px 0;
    font-size: 13px;
    line-height: 1.5;
}
@media (max-width: 760px) {
    body.search-only .portal-highlights { grid-template-columns: 1fr; }
    .reader-prose { max-width: none; font-size: 16px; line-height: 1.65; }
    .article-abstract { padding: 18px; }
    .reader-section > h2 { font-size: 20px; }
}
