/* Shared workspace refinement. Loaded after component styles; tenant colours,
   font scale, compact density and each module's navigation remain authoritative. */
:root {
    --experience-radius: var(--euvimed-box-radius, 3px);
    --experience-focus: var(--cadet-dark, #0f7480);
    --experience-soft-line: color-mix(in srgb, var(--cadet, #159aa6) 14%, var(--line, #d7e1e2));
}

/* Keyboard navigation must be as legible as pointer interaction. The scope
   intentionally excludes the global shell and controls inside charts. */
:is(.workspace, .auth-shell, .apps-shell, .clara-shell, .journal-tree-main, .article-dialog)
    :is(a, button, input, select, textarea, summary, [tabindex="0"]):focus-visible {
    outline: 2px solid var(--experience-focus);
    outline-offset: 3px;
}

.scientific-primary-control:focus-within,
.tree-global-search:focus-within,
.tree-article-tools label:focus-within {
    border-color: var(--cadet-dark);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--cadet) 18%, transparent);
}

.research-search-stage { margin-bottom: 24px; }
.research-search-intro { margin-bottom: 22px; }
.research-search-intro h1 { text-wrap: balance; }
.research-search-intro > div:first-child { max-width: 850px; }
.research-search-intro p:last-child { max-width: 78ch; margin-inline: auto; line-height: 1.55; }
.scientific-primary-control { box-shadow: 0 6px 20px color-mix(in srgb, var(--cadet-deep) 9%, transparent); }
.scientific-search-scope select { width: max(172px, 11em); }
.scientific-primary-control > button { min-height: 48px; }
.scientific-advanced-options { border-color: var(--experience-soft-line); }
.scientific-advanced-options > summary { min-height: 60px; }
.scientific-builder-grid { min-width: 0; }
.scientific-row-head, .scientific-row { grid-template-columns: 82px 70px 144px minmax(170px, 1fr) 30px; }
.scientific-row-head { padding: 0 6px 6px; font-size: calc(12px * var(--euvimed-font-scale, 1)); }
.scientific-row :is(input, select), .scientific-filters :is(input, select) { min-height: 36px; }
.scientific-query-panel textarea { line-height: 1.6; }
.scientific-search-footer { flex-wrap: wrap; }
.scientific-search-footer > div { flex-wrap: wrap; }
.scientific-submit { min-height: 42px; }
.source-strategy-list { min-width: 0; }
.source-strategy-item { min-width: 0; }
.source-strategy-item code { overflow-wrap: anywhere; }

/* Consistent hierarchy for results; metadata stays compact while article
   titles and readable abstracts form the visual focus. */
.workspace .empty-state { padding: clamp(24px, 3vw, 44px) 20px; border: 1px solid var(--experience-soft-line); }
.workspace .empty-state p { max-width: 64ch; font-size: calc(17px * var(--euvimed-font-scale, 1)); line-height: 1.65; }
.workspace .feature-strip :is(span, a) { min-height: 36px; border-radius: var(--experience-radius); }
.result-toolbar { gap: 16px; }
.toolbar-controls { min-width: 0; flex-wrap: wrap; }
.toolbar-controls > label { min-width: 0; }
.result-body { padding: calc(18px * var(--euvimed-density-scale, 1)) 18px 14px; }
.result-top { align-items: flex-start; }
.result-title { margin-bottom: 8px; font-size: calc(20px * var(--euvimed-font-scale, 1)); line-height: 1.35; }
.result-title button { overflow-wrap: anywhere; }
.result-meta { gap: 5px 14px; line-height: 1.5; }
.result-meta span { min-width: 0; overflow-wrap: anywhere; }
.result-abstract { line-height: 1.65; }
.result-actions :is(button, a) { width: 34px; height: 34px; flex: 0 0 auto; }
.result-foot { flex-wrap: wrap; gap: 8px 14px; padding-top: 3px; }
.result-foot > button { min-height: 34px; }
.review-actions button { min-width: 32px; min-height: 32px; }
.coverage { min-width: 0; }
.result-card:focus-within { border-color: var(--cadet-dark); }
.result-card:hover { box-shadow: 0 3px 12px color-mix(in srgb, var(--cadet-deep) 7%, transparent); }
.result-paginator { gap: 12px; padding-block: 16px 6px; }
.paginator-pages button { min-width: 38px; height: 38px; padding-inline: 11px; }
.paginator-pages .paginator-arrow { width: 38px; min-width: 38px; }
.paginator-size select { min-height: 38px; }
.paginator-summary { font-variant-numeric: tabular-nums; }
.insight-section { padding: 18px 14px; }
.year-histogram-meta { align-items: flex-start; flex-wrap: wrap; }
.meter-summary strong { line-height: 1.35; }

/* The daily feed and full article reader share clear edges and a quiet reading
   rhythm. Long identifiers wrap inside their panels rather than the page. */
.portal-news-card { padding: 14px 15px; }
.portal-news-card h3 { line-height: 1.4; }
.portal-news-card > p { line-height: 1.6; }
.reader-content-grid { gap: clamp(20px, 3vw, 40px); }
.reader-hero { box-shadow: none; }
.reader-prose { font-size: calc(17px * var(--euvimed-font-scale, 1)); line-height: 1.75; }
.reader-prose :is(a, code),
.reader-facts :is(dd, a),
.reader-origin a,
.reader-citation { overflow-wrap: anywhere; }
.reader-figure-gallery figure { min-width: 0; }

/* Login: the shared shell spans the viewport; the form gets enough width for
   larger type and translations. The white mark tile keeps the complete logo
   visible against the configured dark brand colour. */
body.auth-page { display: block; place-items: normal; padding: 0; background: var(--canvas); }
.auth-page .auth-shell {
    width: min(1000px, calc(100% - 40px));
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    margin: clamp(28px, 5vh, 56px) auto;
    border: 1px solid var(--experience-soft-line);
    border-radius: var(--experience-radius);
    box-shadow: 0 12px 40px color-mix(in srgb, var(--cadet-deep) 8%, transparent);
}
.auth-page .auth-brand { gap: 24px; padding: 36px; justify-items: center; text-align: center; }
.auth-page .auth-brand img {
    width: clamp(150px, 17vw, 210px);
    height: clamp(150px, 17vw, 210px);
    padding: 23px;
    border-radius: var(--experience-radius);
    background: white;
}
.auth-page .auth-brand strong { font-size: calc(32px * var(--euvimed-font-scale, 1)); }
.auth-page .auth-brand small { color: white; font-size: calc(12px * var(--euvimed-font-scale, 1)); }
.auth-page .auth-panel { min-width: 0; padding: clamp(24px, 3.3vw, 44px); }
.auth-page .auth-panel h1 { line-height: 1.25; text-wrap: balance; }
.auth-page .auth-panel > p:not(.eyebrow) { font-size: calc(17px * var(--euvimed-font-scale, 1)); line-height: 1.6; }
.auth-page .auth-panel input:not([type="checkbox"]) { min-width: 0; width: 100%; height: 48px; font-size: calc(17px * var(--euvimed-font-scale, 1)); }
.auth-page .auth-panel .primary-button { min-height: 46px; }
.auth-page .auth-panel .text-link { display: inline-flex; align-items: center; min-height: 40px; font-size: calc(15px * var(--euvimed-font-scale, 1)); text-underline-offset: 3px; }

/* LIVIA's working canvas takes priority. Keep configurable reader resizing,
   and collapse dense forms according to their actual panel width. */
.research-app-page :is(.app-canvas, .app-inspector, .livia-pane, .livia-workspace-panel) { min-width: 0; }
.research-app-page .livia-relations { container-type: inline-size; }
.research-app-page .livia-relation-form { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) minmax(0, 1fr) auto; }
.research-app-page .livia-relation-form :is(label, input, select) { min-width: 0; width: 100%; }
.research-app-page .livia-relation-form :is(input, select, button) { min-height: 40px; }
.research-app-page .livia-viewbar .livia-context-tabs { scroll-padding-inline: 12px; }
.research-app-page .livia-viewbar .livia-context-tabs button { font-weight: 700; }
.research-app-page .livia-reader-title h2 { white-space: normal; overflow-wrap: anywhere; line-height: 1.35; }
.research-app-page .livia-reader-contextbar { min-height: 98px; }
.research-app-page :is(.livia-relation-row strong, .livia-relation-list strong, .reference-title strong) { overflow-wrap: anywhere; }
.research-app-page :is(.livia-matrix-wrap, .summary-grid-wrap, .code-matrix-scroll) { scrollbar-width: thin; scrollbar-color: var(--cadet-dark) var(--app-bg); }
.research-app-page .app-menu-panel { max-height: min(650px, calc(100dvh - 140px)); overflow-y: auto; overscroll-behavior: contain; }
.research-app-page .livia-action-menu-panel { max-height: min(540px, calc(100dvh - 180px)); overflow-y: auto; }

/* Compact navigation is distinct from the larger reading typography. */
.research-app-page .app-project-rail > header { min-height: 48px; height: auto; gap: 8px; padding: 10px; font-size: calc(12px * var(--euvimed-font-scale, 1)); line-height: 1.4; }
.research-app-page .app-project-rail > header button { flex: 0 0 30px; }
.research-app-page .app-project-rail > header span { font-size: calc(12px * var(--euvimed-font-scale, 1)); line-height: 1.4; }
.research-app-page .apps-shell[data-app] .app-project-search input { font-size: calc(13px * var(--euvimed-font-scale, 1)); }
.research-app-page .app-project-rail > footer { min-height: 40px; height: auto; padding-block: 8px; font-size: calc(12px * var(--euvimed-font-scale, 1)); line-height: 1.4; }
.research-app-page .app-commandbar .app-identity > i { flex: 0 0 32px; }
.research-app-page .app-commandbar .app-identity small { font-size: calc(10px * var(--euvimed-font-scale, 1)); }
.research-app-page .app-commandbar .app-identity strong { font-size: calc(13px * var(--euvimed-font-scale, 1)); }
.research-app-page .apps-shell[data-app="literature"] .livia-project-export-head { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.research-app-page .apps-shell[data-app="literature"] .livia-project-export-head > span { white-space: normal; font-size: calc(12px * var(--euvimed-font-scale, 1)); line-height: 1.4; }
.research-app-page .apps-shell[data-app="literature"] .livia-project-export-head select { height: 34px; font-size: calc(13px * var(--euvimed-font-scale, 1)); }
.research-app-page .apps-shell[data-app="literature"] .livia-project-export-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.research-app-page .apps-shell[data-app="literature"] .livia-project-export-actions button { gap: 4px; min-height: 35px; padding-inline: 4px; }
.research-app-page .apps-shell[data-app="literature"] .livia-project-export-actions i { font-size: 14px; }
.research-app-page .apps-shell[data-app="literature"] .livia-project-export-actions span { display: inline; font-size: calc(11px * var(--euvimed-font-scale, 1)); }

@container (max-width: 780px) {
    .research-app-page .livia-relation-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .research-app-page .livia-relation-form > button { align-self: end; }
}
@container (max-width: 460px) {
    .research-app-page .livia-relation-form { grid-template-columns: minmax(0, 1fr); }
}

/* CLARA uses the same understated surfaces, corners and readable scale as
   research, while its answer hierarchy and semantic status colours remain. */
body.clara-suite-page {
    --cla-radius: var(--experience-radius);
    --cla-shadow: 0 4px 18px color-mix(in srgb, var(--cadet-deep) 5%, transparent);
    background: var(--canvas);
}
.clara-shell { width: min(1460px, calc(100% - 40px)); }
.clara-intro { padding-block: 22px; }
.clara-intro h1 { line-height: 1.08; }
.clara-intro p { line-height: 1.6; }
.clara-suite-nav,
.clara-suite-nav a,
.clara-mode,
.clara-mode button,
.clara-question-wrap textarea,
.clara-pro-fields,
.clara-pro-fields select,
.clara-voice,
.clara-submit,
.clara-result-actions button,
.clara-tabs button.is-active,
.clara-source,
.clara-source-rank,
.clara-source > a,
.clara-source > button { border-radius: var(--experience-radius); }
.clara-suite-nav { border-color: var(--experience-soft-line); background: var(--paper); box-shadow: none; }
.clara-question-wrap textarea { border-width: 1px; font-size: calc(18px * var(--euvimed-font-scale, 1)); }
.clara-submit { background: var(--cadet-deep); box-shadow: none; }
.clara-submit:hover:not(:disabled) { background: var(--cadet-dark); }
.clara-ask-head, .clara-result-bar { flex-wrap: wrap; }
.clara-result-actions { flex-wrap: wrap; }
.clara-mode button { min-height: 36px; }
.clara-answer-card :is(p, ul), .clara-wide-card :is(p, ul) { font-size: calc(16px * var(--euvimed-font-scale, 1)); line-height: 1.65; }
.clara-answer-card > div, .clara-source > div { min-width: 0; }
.clara-source h4 { overflow-wrap: anywhere; }
.clara-tabs { scroll-padding-inline: 16px; }
.clara-source blockquote { font-size: calc(14px * var(--euvimed-font-scale, 1)); line-height: 1.6; }
.clara-project-choice input:focus-visible + span { outline: 2px solid var(--experience-focus); outline-offset: 3px; }

/* Journal data keeps its compact navigator; the catalogue and inspector can
   accommodate long multilingual titles and larger configured type. */
.journal-tree-main { --tree-header: max(64px, calc(58px * var(--euvimed-font-scale, 1))); }
.tree-overview { background: var(--canvas); }
.tree-overview-hero { background: linear-gradient(115deg, var(--cadet-deep), var(--cadet-dark)); box-shadow: none; }
.tree-overview-hero p:not(.explorer-eyebrow) { color: white; line-height: 1.65; }
.tree-overview-panel, .tree-overview-stats { box-shadow: none; }
.tree-title { grid-template-columns: minmax(0, 1fr); gap: 3px; }
.tree-title > span { font-size: calc(12px * var(--euvimed-font-scale, 1)); }
.tree-overview-journal strong { white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
.tree-overview-journal { min-height: 82px; }
.tree-overview-areas button { min-height: 42px; padding-block: 7px; }
.tree-overview-areas button span { white-space: normal; line-height: 1.35; }
.tree-detail h1, .tree-detail-meta dd { overflow-wrap: anywhere; }
.tree-detail-actions :is(a, button) { min-height: 38px; }
.tree-filter-controls, .tree-article-filters { scrollbar-width: thin; scrollbar-color: var(--cadet-dark) transparent; }
.tree-filter-controls::-webkit-scrollbar, .tree-article-filters::-webkit-scrollbar { display: block; height: 5px; }
.tree-filter-controls::-webkit-scrollbar-thumb, .tree-article-filters::-webkit-scrollbar-thumb { background: var(--cadet-dark); border-radius: 3px; }

@media (min-width: 761px) {
    .tree-navigator { grid-template-rows: auto 46px minmax(0, 1fr); }
    .tree-navigator-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3px; }
    .tree-navigator-head p { font-size: calc(12px * var(--euvimed-font-scale, 1)); white-space: normal; }
}
@media screen and (min-width: 1181px) {
    .research-app-page .apps-shell[data-app="literature"] .app-workspace {
        grid-template-columns: var(--literature-navigator-width, 215px) minmax(0, 1fr) clamp(240px, var(--literature-reader-width, 280px), 320px);
    }
}
@media (min-width: 761px) and (max-width: 1100px) {
    .tree-workspace.has-detail { grid-template-columns: 230px minmax(300px, .9fr) minmax(340px, 1.1fr); }
    .tree-overview-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tree-overview-stats article:nth-child(2) { border-right: 0; }
    .tree-overview-stats article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}
@media (max-width: 760px) {
    .research-search-intro { margin-top: 8px; }
    .result-body { padding: 14px 12px; }
    .result-top { flex-wrap: wrap; gap: 8px; }
    .result-actions { margin-left: auto; }
    .result-actions :is(button, a) { width: 38px; height: 38px; }
    .result-title { font-size: calc(18px * var(--euvimed-font-scale, 1)); }
    .result-abstract { font-size: calc(16px * var(--euvimed-font-scale, 1)); }
    .result-paginator { grid-template-columns: minmax(0, 1fr) auto; }
    .paginator-size { flex-wrap: wrap; }
    .auth-page .auth-shell { width: calc(100% - 24px); grid-template-columns: minmax(0, 1fr); min-height: 0; margin-block: 24px; }
    .auth-page .auth-brand { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 22px; text-align: left; }
    .auth-page .auth-brand img { width: 82px; height: 82px; padding: 10px; }
    .auth-page .auth-brand strong { font-size: calc(26px * var(--euvimed-font-scale, 1)); }
    .auth-page .auth-panel { padding: 24px; }
    .clara-shell { width: calc(100% - 24px); }
    .clara-intro { align-items: flex-start; flex-direction: column; gap: 14px; }
    .clara-intro h1 { font-size: calc(32px * var(--euvimed-font-scale, 1)); }
    .clara-source > button { grid-column: 2; justify-self: start; }
}
@media (max-width: 600px) {
    .scientific-primary-control { grid-template-columns: 40px minmax(0, 1fr) 50px; }
    .scientific-primary-control input { grid-column: 2; grid-row: 1; }
    .scientific-primary-control > i { grid-row: 1; }
    .scientific-primary-control > button { grid-column: 3; grid-row: 1; }
    .scientific-search-scope { grid-column: 1 / -1; grid-row: 2; height: 38px; border-top: 1px solid var(--line); border-left: 0; background: var(--canvas); }
    .scientific-search-scope select { width: 100%; height: 36px; padding-inline: 12px 30px; font-size: calc(14px * var(--euvimed-font-scale, 1)); }
    .scientific-search-footer > div { gap: 6px; }
    .workspace .empty-state { padding-inline: 16px; }
    .paginator-summary { font-size: calc(13px * var(--euvimed-font-scale, 1)); }
}
@media (prefers-reduced-motion: reduce) {
    .result-card { animation: none; }
    .scientific-primary-control, .result-card, .tree-workspace { transition: none; }
}
