/* Shared workspace and keyboard-first form components. */
.workspace { --toolbar-height: 0px; }
.page-studio { --toolbar-height: 64px; }
.studio-toolbar { position: sticky; z-index: 50; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: var(--toolbar-height); padding: 10px 28px; border-bottom: 1px solid #e8e8e5; background: #fff; color: #343834; font-size: 13px; }
.studio-toolbar > a { flex: 1; color: #636663; }
.studio-toolbar__pages { display: flex; align-items: center; gap: 14px; }
.studio-toolbar__pages label { color: #737773; }
.studio-toolbar__pages select { width: 156px; padding: 9px 24px 9px 12px; border: 0; border-radius: 4px; background: #f1f2ef; color: #252825; font: inherit; }
.studio-theme { display: flex; flex: 1; justify-content: flex-end; gap: 2px; }
.studio-theme button { padding: 10px 14px; border: 0; border-radius: 4px; background: transparent; color: #636663; font: inherit; cursor: pointer; }
.studio-theme button[aria-pressed="true"] { background: #eceeeb; color: #242824; }
.studio-theme button:hover { color: #242824; }
.workspace .studio-shell { min-height: calc(100svh - var(--toolbar-height)); }
.workspace .gpd__header { position: sticky; top: var(--toolbar-height); height: calc(100svh - var(--toolbar-height)); }
.workspace .gpd__header > .user-menu { margin-top: auto; }
.studio-main { width: min(1100px, calc(100% - 96px)); min-width: 0; margin: 0 auto; padding: 64px 0 88px; }
.studio-main--home, .studio-main--forms, .studio-main--results { width: min(760px, calc(100% - 112px)); }
.studio-main--home { padding-top: 116px; }
.studio-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 0 36px; }
.studio-heading h1 { min-width: 0; margin: 0; color: var(--ink); font-size: 32px; font-weight: 500; line-height: 1.25; letter-spacing: -.045em; overflow-wrap: anywhere; }
.studio-heading__actions { display: flex; align-items: center; gap: 22px; }
.studio-main h2 { margin: 0 0 22px; color: var(--ink); font-size: 19px; font-weight: 500; letter-spacing: -.025em; }
.studio-main h3 { font-size: 16px; font-weight: 550; letter-spacing: -.02em; }
.studio-muted, .studio-empty, .studio-status { color: var(--muted); font-size: 14px; line-height: 1.6; }
.studio-empty { margin: 32px 0; }
.studio-status { margin: 16px 0 0; color: var(--accent); }
.studio-main a:hover { color: var(--accent); }
.studio-main input, .studio-main select, .studio-main textarea { color: var(--ink); font: inherit; }
.studio-main input::placeholder, .studio-main textarea::placeholder { color: var(--muted); opacity: 1; }
.studio-main input:focus-visible, .studio-main select:focus-visible, .studio-main textarea:focus-visible, .studio-main summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.studio-main .studio-button { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 10px 16px; border: 0; border-radius: 4px; background: var(--accent); color: var(--button-ink); font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; white-space: nowrap; }
.studio-main .studio-button:hover { filter: brightness(.92); }
.studio-text-button { padding: 6px 0; border: 0; background: transparent; color: var(--muted); font: inherit; font-size: 14px; cursor: pointer; }
.studio-text-button:hover { color: var(--accent); }
.studio-back { display: inline-block; margin-bottom: 28px; color: var(--muted) !important; font-size: 14px; }

/* Search and the form library use simple rows with one useful label. */
.workspace .gpd__composer input[type="search"] { flex: 1; width: 100%; min-width: 0; padding: 8px 0; border: 0; outline: none; background: transparent; font-size: 16px; line-height: 24px; }
.studio-filter { display: flex; align-items: center; gap: 14px; margin: 0 0 32px; padding: 12px 18px; border-radius: 5px; background: var(--surface); }
.studio-filter svg { flex: 0 0 19px; width: 19px; height: 19px; color: var(--muted); }
.studio-filter input { width: 100%; min-width: 0; padding: 4px 0; border: 0; background: transparent; font-size: 16px; line-height: 24px; }
.studio-filter:focus-within { outline: 2px solid var(--accent); outline-offset: 3px; }
.studio-filter input:focus-visible { outline: none; }
.studio-main--forms .gpd__form { min-height: 90px; }
.studio-main--forms .gpd__form-title { font-size: 17px; }
.studio-results-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 48px 0 12px; }
.studio-results-heading h2 { margin: 0; }
.studio-results-heading > a { color: var(--accent); font-size: 14px; }
.studio-resources { margin: 0; padding: 0; list-style: none; }
.studio-resource { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px 22px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.studio-resource__source { color: var(--muted); font-size: 13px; }
.studio-resource__title { grid-column: 1; color: var(--ink); font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }
.studio-resource__arrow { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--muted); font-size: 21px; }
.studio-resource:hover .studio-resource__title { color: var(--accent); text-decoration: underline; text-underline-offset: 5px; }

/* The shared keyboard engine renders the live form and the note. */
.studio-note-builder { --brand: var(--accent); }
.studio-note-columns { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); align-items: start; gap: 48px; }
.studio-note-form { min-width: 0; }
.studio-note-output { position: sticky; top: calc(var(--toolbar-height) + 36px); display: flex; flex-direction: column; max-height: calc(100svh - var(--toolbar-height) - 72px); min-width: 0; padding: 26px; border-radius: 5px; background: var(--surface); scroll-margin-top: calc(var(--toolbar-height) + 24px); }
.studio-note-output__head { display: flex; flex-shrink: 0; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.studio-note-output__head h2 { margin: 0; }
.studio-note-jump { display: none; }
.workspace .qt-widget__status { color: var(--muted); font-size: 13px; font-weight: 400; }
.workspace .qt-patient { flex-wrap: wrap; margin-bottom: 32px; gap: 14px; }
.workspace .qt-patient__label, .workspace .qt-q__text-label { color: var(--muted); font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.workspace .qt-patient__input, .workspace .qt-q__text-input, .workspace .qt-opt__text { max-width: 100%; padding: 9px 12px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); color: var(--ink); font-size: 15px; }
.workspace .qt-sec { margin-bottom: 36px; }
.workspace .qt-sec__label { gap: 12px; margin: 0 0 24px; padding: 0 0 12px; border-bottom: 1px solid var(--line); }
.workspace .qt-sec__key { font-size: 16px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--ink); }
.workspace .qt-sec__name { color: var(--muted); font-size: 13px; font-weight: 400; }
.workspace .qt-q { min-width: 0; margin: 0 0 22px; padding: 8px 0 8px 12px; border-left-width: 2px; border-radius: 0; }
.workspace .qt-q.is-current { background: transparent; border-left-color: var(--accent); }
.workspace .qt-q__head { gap: 10px; margin-bottom: 13px; }
.workspace .qt-q__num, .workspace .qt-q.is-answered .qt-q__num { width: auto; height: auto; border: 0; border-radius: 0; background: transparent; color: var(--muted); font-size: 12px; font-weight: 400; }
.workspace .qt-q.is-answered .qt-q__num { color: var(--accent); }
.workspace .qt-q__prompt { color: var(--ink); font-size: 15px; font-weight: 500; line-height: 1.5; }
.workspace .qt-q__multi { padding: 0; border: 0; background: transparent; color: var(--muted); font-size: 11px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.workspace .qt-q__opts { gap: 8px; }
.workspace .qt-opt { min-height: 38px; padding: 9px 13px; border: 0; border-radius: 4px; background: var(--surface); color: var(--muted); font-size: 14px; font-weight: 400; line-height: 1.35; text-align: left; }
.workspace .qt-opt::after { display: none; }
.workspace .qt-opt:hover { color: var(--ink); box-shadow: inset 0 0 0 1px var(--muted); }
.workspace .qt-opt.is-selected { background: var(--accent); color: var(--button-ink); }
.workspace .qt-opt:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.workspace .qt-note { min-height: 120px; overflow-y: auto; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ink); font-size: 14px; line-height: 1.85; }
.workspace .qt-note.is-empty::before { content: "Your note will appear here."; color: var(--muted); }
.workspace .qt-note__line::before { color: var(--muted); }
.workspace .qt-note__line:hover { color: var(--accent); background: transparent; }
.workspace .qt-notebox__status { display: block; color: var(--accent); font-size: 13px; font-weight: 400; }
.studio-shortcuts { margin-top: 32px; color: var(--muted); font-size: 13px; }
.studio-shortcuts summary { width: fit-content; cursor: pointer; }
.workspace .qt-keys { gap: 14px; border: 0; font-size: 13px; }
.workspace .qt-keys__kbd { padding: 3px 6px; border: 0; background: var(--surface); color: var(--ink); font-size: 12px; font-weight: 400; }
.workspace .qt-hud { display: none; }

/* Reference text and chat answers have the same reading rhythm. */
.studio-content-columns { display: grid; grid-template-columns: minmax(0, 1fr) 230px; align-items: start; gap: 56px; }
.studio-prose { min-width: 0; color: var(--ink); font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.studio-prose section { scroll-margin-top: calc(var(--toolbar-height) + 32px); margin-bottom: 44px; }
.studio-prose h2 { margin: 0 0 18px; font-size: 22px; line-height: 1.4; }
.studio-prose h3 { margin: 28px 0 12px; font-size: 17px; }
.studio-prose p { margin: 0 0 18px; }
.studio-prose ul, .studio-prose ol { padding-left: 22px; margin: 0 0 24px; }
.studio-prose li { padding-left: 3px; margin-bottom: 12px; }
.studio-prose li > ul, .studio-prose li > ol { margin-top: 12px; }
.studio-prose strong { font-weight: 600; }
.studio-prose a { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.studio-prose blockquote { margin: 24px 0; padding: 0 0 0 18px; border-left: 2px solid var(--accent); color: var(--muted); }
.studio-prose img { max-width: 100%; height: auto; }
.studio-prose table { width: 100%; margin: 24px 0; border-collapse: collapse; font-size: 14px; }
.studio-prose th, .studio-prose td { padding: 14px 12px; border: 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.studio-prose th { color: var(--muted); font-weight: 500; }
.studio-outline { display: flex; flex-direction: column; gap: 20px; position: sticky; top: calc(var(--toolbar-height) + 40px); padding-top: 4px; }
.studio-outline a { color: var(--muted); font-size: 14px; line-height: 1.6; }
.studio-outline a:hover { color: var(--accent); }
.studio-outline .studio-outline__form { padding-top: 20px; border-top: 1px solid var(--line); color: var(--accent); }
.studio-chat-columns { display: grid; grid-template-columns: minmax(0, 1fr) 254px; align-items: start; gap: 48px; }
.studio-conversation { min-width: 0; }
.studio-question { width: fit-content; max-width: 88%; margin: 0 0 40px auto; padding: 15px 18px; border-radius: 6px; background: var(--surface); color: var(--ink); font-size: 15px; line-height: 1.6; }
.studio-answer h2 { font-size: 23px; }
.studio-answer-actions { display: flex; align-items: center; gap: 24px; margin: 22px 0 30px; }
.studio-answer-actions a { color: var(--muted); font-size: 14px; }
.studio-reply { position: sticky; z-index: 3; bottom: 20px; display: flex; align-items: flex-end; gap: 16px; padding: 16px; border-radius: 6px; background: var(--surface); box-shadow: 0 0 0 8px var(--bg); }
.studio-reply textarea { flex: 1; width: 100%; min-width: 0; max-height: 220px; margin: 0; padding: 0; border: 0; resize: vertical; background: transparent; color: var(--ink); font-size: 16px; line-height: 1.6; }
.studio-reply:focus-within { outline: 2px solid var(--accent); outline-offset: 3px; }
.studio-reply textarea:focus-visible { outline: none; }
.studio-chat-resources { position: sticky; top: calc(var(--toolbar-height) + 36px); min-width: 0; }
.studio-chat-resources h2 { margin: 0; font-size: 17px; }
.studio-chat-resources .studio-resource { padding: 22px 0; }
.studio-chat-resources .studio-resource__title { font-size: 14px; line-height: 1.65; }
.studio-chat-resources .studio-resource__source { font-size: 12px; }

/* A flat dosing table, with the calculator alongside it. */
.studio-medication-columns { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 56px; align-items: start; }
.studio-medication { min-width: 0; }
.studio-medication h3 { margin: 32px 0 20px; }
.studio-medication table { width: 100%; border-collapse: collapse; font-size: 15px; }
.studio-medication th, .studio-medication td { padding: 20px 14px; border: 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.studio-medication th { color: var(--muted); font-size: 13px; font-weight: 400; }
.studio-medication td { color: var(--ink); }
.studio-medication td:first-child, .studio-medication th:first-child { padding-left: 0; }
.studio-table-scroll { overflow-x: auto; }
.studio-table-scroll:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.studio-calculator { padding: 25px; border-radius: 5px; background: var(--surface); }
.studio-calculator fieldset { padding: 0; margin: 0; border: 0; }
.studio-calculator label { display: block; margin-top: 25px; color: var(--ink); font-size: 14px; }
.studio-calculator input, .studio-calculator select { display: block; width: 100%; min-width: 0; margin: 10px 0 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 4px; background: var(--bg); color: var(--muted); opacity: 1; font-size: 14px; }
.studio-calculator .studio-unit { position: relative; display: block; }
.studio-unit input { padding-right: 52px; }
.studio-unit > span { position: absolute; top: 50%; right: 12px; transform: translateY(-50%); color: var(--muted); font-size: 13px; }
.studio-calculator__results { margin: 28px 0 0; padding: 22px 0 0; border-top: 1px solid var(--line); }
.studio-calculator__results > div { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 16px; font-size: 14px; }
.studio-calculator__results dd { margin: 0; }
.workspace .dosing-calculator { border-color: var(--line); border-radius: 6px; background: var(--surface); color: var(--ink); box-shadow: 0 12px 32px #0002; }
.workspace .dosing-calculator input, .workspace .dosing-calculator select { border-color: var(--line); background: var(--bg); color: var(--ink); }
.workspace .dosing-calculator__close, .workspace .dosing-calculator__context, .workspace .dosing-calculator__label { color: var(--muted); }
.workspace .dosing-calculator__header, .workspace .dosing-calculator__results { border-color: var(--line); }
.workspace .dosing-calc-btn { padding: 8px 12px; border: 0; border-radius: 4px; background: var(--accent); color: var(--button-ink); }
.workspace .dosing-formulations, .workspace .dosing-extra-text, .workspace .dosing-entry__max, .workspace .dosing-entry-notes td { color: var(--muted); }
.workspace .page-block--dosing { padding: 0; background: transparent; border: 0; }
.workspace .page-block__title, .workspace .dosing-group__population { color: var(--ink); font-size: 20px; font-weight: 500; letter-spacing: 0; text-transform: none; }

/* Sign-in stays a single unboxed form. */
.studio-signin { width: min(380px, 100%); margin: 56px auto 0; }
.studio-signin .studio-heading { margin-bottom: 40px; }
.studio-signin__form label { display: block; margin: 25px 0 10px; color: var(--ink); font-size: 14px; }
.studio-signin__form input { display: block; width: 100%; min-height: 46px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); color: var(--ink); font-size: 16px; }
.studio-signin__form .studio-button { width: 100%; min-height: 46px; margin-top: 28px; }
.studio-signin__alternatives { display: flex; flex-direction: column; align-items: center; gap: 20px; margin: 28px 0; }
.studio-signin__alternatives a { color: var(--muted); font-size: 14px; }
.studio-signin > .studio-muted { text-align: center; }

@media (max-width: 1180px) {
  .studio-main { width: calc(100% - 64px); }
  .studio-note-columns { gap: 28px; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
  .studio-note-output { padding: 20px; }
  .studio-content-columns { grid-template-columns: minmax(0, 1fr) 190px; gap: 32px; }
  .studio-chat-columns { grid-template-columns: minmax(0, 1fr) 210px; gap: 32px; }
  .studio-medication-columns { grid-template-columns: minmax(0, 1fr) 245px; gap: 28px; }
}

@media (max-width: 1000px) {
  .studio-note-columns, .studio-medication-columns { grid-template-columns: 1fr; }
  .studio-note-output { position: static; }
  .studio-content-columns { display: flex; flex-direction: column-reverse; gap: 36px; }
  .studio-outline { position: static; flex-direction: row; flex-wrap: wrap; gap: 12px 22px; }
  .studio-outline .studio-outline__form { padding: 0; border: 0; }
  .studio-chat-columns { grid-template-columns: 1fr; }
  .studio-chat-resources { position: static; margin-top: 32px; }
  .studio-reply { position: static; }
  .studio-calculator { max-width: 440px; }
}

@media (max-width: 800px) {
  .workspace .gpd__header { position: static; height: auto; }
  .workspace .gpd__header > .user-menu { margin-top: 0; }
  .studio-main { width: calc(100% - 48px); padding-top: 40px; }
  .studio-main--home { padding-top: 60px; }
  .studio-note-columns { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
  .studio-note-output { position: sticky; top: calc(var(--toolbar-height) + 20px); }
  .studio-heading h1 { font-size: 29px; }
  .studio-signin { margin-top: 12px; }
}

@media (max-width: 580px) {
  .page-studio { --toolbar-height: 102px; }
  .studio-toolbar { padding: 10px 20px; gap: 8px 16px; flex-wrap: wrap; }
  .studio-toolbar__pages { order: 2; width: 100%; justify-content: space-between; }
  .studio-toolbar__pages select { width: 170px; padding: 8px 12px; }
  .studio-theme button { padding: 7px 10px; }
  .studio-heading { align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 28px; }
  .studio-heading h1 { font-size: 28px; }
  .studio-heading__actions { gap: 18px; }
  .studio-note-columns { grid-template-columns: 1fr; gap: 28px; }
  .studio-note-output { position: static; padding: 20px; }
  .studio-note-jump { display: inline-block; margin-left: auto; color: var(--accent); font-size: 14px; }
  .studio-main--forms .gpd__form-title { font-size: 16px; }
  .studio-main .gpd__composer input[type="search"] { flex-basis: 160px; }
  .studio-prose { font-size: 15px; }
  .studio-prose h2 { font-size: 21px; }
  .studio-prose ul, .studio-prose ol { padding-left: 18px; }
  .studio-outline a { font-size: 13px; }
  .studio-reply { flex-wrap: wrap; }
  .studio-reply textarea { flex-basis: 100%; }
  .studio-reply .studio-button { margin-left: auto; }
  .studio-medication table { min-width: 400px; }
  .workspace .qt-patient__input, .workspace .qt-q__text-input, .workspace .qt-opt__text { font-size: 16px; }
}

/* Live workspace. Shared tokens also cover streamed answers and dialogs. */
.workspace { min-height: 100svh; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
.workspace *, .workspace *::before, .workspace *::after { box-sizing: border-box; }
.workspace [hidden] { display: none !important; }
.workspace a { text-decoration: none; text-underline-offset: 5px; }
.workspace :is(a, button, summary):focus-visible { outline: 2px solid var(--accent, #b6c4fe); outline-offset: 4px; }
.workspace .gpd { --ai: var(--accent); --brand: var(--accent); --danger: #ffb4ab; --warning: #efc58c; }
.workspace .gpd--palette-chalk { --danger: #ac2922; --warning: #80550c; }
.workspace-skip { position: fixed; z-index: 100; top: 10px; left: 12px; transform: translateY(-200%); padding: 12px 18px; background: #e6e9f0; color: #202b4e; border-radius: 4px; }
.workspace-skip:focus { transform: none; }
.workspace-footer { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; margin-top: auto; }
.workspace-theme { display: flex; gap: 2px; }
.workspace-theme button { min-height: 36px; padding: 8px 10px; border: 0; border-radius: 4px; background: transparent; color: var(--muted); font: inherit; font-size: 13px; cursor: pointer; }
.workspace-theme button[aria-pressed="true"] { color: var(--ink); background: var(--surface); }
.workspace .workspace-footer .user-menu { margin: 0; }
.workspace .user-menu__panel { background: var(--surface); border-color: var(--line); color: var(--ink); }
.workspace .user-menu__email, .workspace .user-menu__sign-out { color: var(--ink); }
.workspace .user-menu__label { color: var(--muted); }
.workspace .user-menu__admin { color: var(--accent); }
.workspace .studio-main:focus { outline: none; }
.workspace .home-search { width: 100%; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.workspace .home-search:focus-within { border: 0; box-shadow: none; }
.workspace .gpd__composer textarea { min-height: 28px; max-height: 180px; padding: 4px 0; background: transparent; font-size: 16px; line-height: 24px; }
.workspace .gpd__composer button { flex-shrink: 0; min-height: 40px; padding: 10px 16px; border: 0; border-radius: 4px; background: var(--accent); color: var(--button-ink); font: inherit; font-size: 14px; cursor: pointer; }
.workspace .gpd__composer:focus-within { outline: 2px solid var(--accent); outline-offset: 3px; }
.workspace .gpd__composer textarea:focus { outline: none; box-shadow: none; }
.workspace .home-search__results { z-index: 10; margin-top: 12px; border: 1px solid var(--line); border-radius: 5px; background: var(--bg); box-shadow: 0 12px 36px #0002; }
.workspace .search-result { padding: 18px 16px; color: var(--ink); }
.workspace .search-result:hover, .workspace .search-result:focus-visible { background: var(--surface); }
.workspace .search-result__title { color: var(--ink); font-size: 15px; font-weight: 500; }
.workspace .search-result__source { color: var(--muted); font-size: 12px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.workspace .search-result__snippet, .workspace .search-results__status, .workspace .chat-search__snippet { color: var(--muted); }
.workspace .search-page { max-width: 760px; }
.workspace .search-page .gpd__composer { margin-bottom: 28px; }
.workspace .search-page .gpd__composer input[type="text"] { flex: 1; width: 100%; min-width: 0; padding: 8px 0; border: 0; outline: none; background: transparent; color: var(--ink); font: inherit; font-size: 16px; line-height: 24px; }
.workspace .search-page .gpd__composer input[type="text"]:focus { outline: none; box-shadow: none; }
.workspace .search-page__meta, .workspace .search-page__hint { margin: 0 0 10px; color: var(--muted); font-size: 14px; }
.workspace .search-page__list .search-result { padding: 18px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
.workspace .search-page__list .search-result:hover { background: transparent; }
.workspace .search-ask { margin-top: 32px; }
.workspace .search-ask__row { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.workspace .search-ask__submit { padding: 10px 16px; border: 0; border-radius: 4px; background: var(--accent); color: var(--button-ink); font: inherit; font-size: 14px; cursor: pointer; }
.workspace .search-ask__submit:hover { filter: brightness(1.05); }
.workspace .search-ask__hint { color: var(--muted); font-size: 14px; }
.workspace .studio-forms-section { margin-top: 64px; }
.workspace .studio-forms-section .gpd__forms, .workspace .studio-main--forms .gpd__forms { margin-top: 0; }
.workspace .gpd__forms > .gpd__form { justify-content: space-between; border-bottom: 1px solid var(--line); font-size: 16px; line-height: 1.5; }
.workspace .gpd__section-head h2 { margin: 0; font-size: 19px; }
.workspace .gpd__section-head a { color: var(--muted); }
.workspace-form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.workspace .studio-note-builder > .studio-heading { flex-wrap: wrap; gap: 16px; margin-bottom: 20px; }
.workspace-text-button { min-height: 36px; padding: 6px 0; border: 0; background: transparent; color: var(--muted); font: inherit; font-size: 13px; cursor: pointer; }
.workspace-text-button:hover { color: var(--accent); }
.workspace-progress { display: block; width: 100%; height: 2px; margin: 0 0 36px; border: 0; appearance: none; background: var(--line); color: var(--accent); }
.workspace-progress::-webkit-progress-bar { background: var(--line); }
.workspace-progress::-webkit-progress-value { background: var(--accent); transition: width 120ms ease-out; }
.workspace-progress::-moz-progress-bar { background: var(--accent); }
.workspace .qt-q { scroll-margin: 80px 0; }
.workspace .qt-note__line { display: inline; width: auto; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; line-height: inherit; text-align: left; white-space: pre-wrap; cursor: pointer; }
.workspace .qt-note__line::before { display: none; }
.workspace .qt-note__line:focus-visible { outline-offset: 1px; }
.workspace .qt-q__calc-warning { color: var(--warning); }
.workspace .studio-button.is-done { background: var(--accent); color: var(--button-ink); }
.workspace .qt-notebox__status { min-height: 20px; }
.workspace .page__article { width: 100%; margin: 0; padding: 0; color: var(--ink); }
.workspace .page__title, .workspace .login__title { margin: 0 0 36px; color: var(--ink); font-size: 32px; font-weight: 500; letter-spacing: -.045em; text-transform: none; }
.workspace .page-block { margin-bottom: 36px; scroll-margin-top: 32px; }
.workspace .page-template-link { display: inline-block; padding: 10px 16px; border: 0; border-radius: 4px; background: var(--accent); color: var(--button-ink); }
.workspace .dosing-table :is(th, td) { border-color: var(--line); }
.workspace .dosing-group__indication { color: var(--ink); }
.workspace .login__field label { color: var(--ink); font-size: 14px; font-weight: 400; text-transform: none; letter-spacing: 0; }
.workspace .login__field input { min-height: 46px; border-color: var(--line); border-radius: 4px; background: var(--surface); color: var(--ink); font-size: 16px; }
.workspace .login__field input:focus { border-color: var(--accent); box-shadow: none; }
.workspace .login__submit { min-height: 46px; border: 0; border-radius: 4px; background: var(--accent); color: var(--button-ink); font: inherit; font-size: 14px; font-weight: 500; }
.workspace .login__submit--secondary { background: transparent; color: var(--ink); }
.workspace .login__alt-link, .workspace .login__linklike { color: var(--accent); }
.workspace .login__sub, .workspace .login__hint, .workspace .login__divider { color: var(--muted); }
.workspace .login__divider::before, .workspace .login__divider::after { background: var(--line); }
.workspace .login__flash { border: 0; background: var(--surface); color: var(--ink); }
.workspace .login__flash--alert { color: var(--danger); }
.workspace .chat-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 254px; gap: 48px; height: auto; min-height: 0; overflow: visible; background: transparent; }
.workspace .chat-workspace:not(:has(.chat-search)) { grid-template-columns: minmax(0, 1fr); }
.workspace .chat-workspace .chat { width: auto; min-width: 0; min-height: calc(100svh - 152px); height: auto; overflow: visible; border: 0; background: transparent; color: var(--ink); }
.workspace .chat__header { position: static; padding: 0; margin-bottom: 28px; border: 0; background: transparent; }
.workspace .chat__title { margin: 0; color: var(--ink); font-size: 32px; font-weight: 500; letter-spacing: -.045em; }
.workspace .chat__save-note { color: var(--muted); font-size: 13px; }
.workspace .chat__save-btn, .workspace .ai-answer__suggest-btn { padding: 8px 12px; border: 0; border-radius: 4px; background: var(--surface); color: var(--muted); font-size: 13px; font-weight: 400; }
.workspace .chat-model-picker { flex-wrap: wrap; gap: 8px 12px; margin: 16px 0 28px; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: 12px; }
.workspace .chat-model-picker label { color: var(--muted); }
.workspace .chat-model-picker select { min-width: 0; max-width: 100%; min-height: 36px; padding: 6px 10px; border: 0; border-radius: 4px; background: var(--surface); color: var(--ink); }
.workspace #chat-model-description { flex-basis: 100%; color: var(--muted); }
.workspace .chat__thread { max-width: none; padding: 8px 0 32px; }
.workspace .chat__messages { gap: 32px; }
.workspace .chat-message--user .chat-message__bubble { padding: 15px 18px; border-radius: 5px; background: var(--surface); color: var(--ink); font-size: 15px; line-height: 1.6; }
.workspace .chat__turn, .workspace .chat-message--assistant .chat-message__bubble { padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ink); box-shadow: none; }
.workspace .chat-message__badge, .workspace .ai-answer__badge { padding: 0; background: transparent; color: var(--accent); font-weight: 500; letter-spacing: 0; }
.workspace .ai-answer { padding: 0; }
.workspace .ai-answer :is(h1, h2, h3, p, ul, ol), .workspace .ai-answer__info-question { color: var(--ink); }
.workspace .ai-answer__title { font-size: 26px; font-weight: 500; }
.workspace .ai-answer :is(p, ul, ol), .workspace .chat-message--assistant .chat-message__bubble { font-size: 15px; line-height: 1.75; }
.workspace .ai-answer__section { margin-top: 28px; }
.workspace .ai-answer__section-title { color: var(--ink); font-size: 18px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.workspace .ai-answer__list li::marker { color: var(--muted); }
.workspace .ai-answer__criteria, .workspace .ai-answer__info-list li { padding: 0; border: 0; background: transparent; }
.workspace .ai-answer__footer, .workspace .ai-answer__suggest { border-color: var(--line); }
.workspace .ai-answer__reference a, .workspace .chat-message__bubble a { color: var(--accent); }
.workspace .ai-answer__disclaimer, .workspace .ai-answer__suggest-hint, .workspace .ai-answer__info-impact { color: var(--muted); }
.workspace .ai-answer__section--danger, .workspace .chat-message__failure, .workspace .chat-message__caveats { border: 0; border-left: 2px solid currentColor; border-radius: 0; background: transparent; color: var(--danger); }
.workspace .ai-answer__section--danger :is(h2, h3, p, ul), .workspace .ai-answer__item--warning, .workspace .ai-answer__finding--critical { color: var(--danger); }
.workspace .chat-message__caveats, .workspace .chat-message__caveats-title, .workspace .chat-message__caveats-list { color: var(--warning); }
.workspace .chat__retry { border-color: var(--danger); border-radius: 4px; background: var(--surface); color: var(--danger); }
.workspace .chat__composer { padding: 8px 0 0; bottom: 20px; background: var(--bg); }
.workspace .chat-composer { max-width: none; border: 0; border-radius: 5px; background: var(--surface); box-shadow: 0 0 0 8px var(--bg); }
.workspace .chat-composer:focus-within { outline: 2px solid var(--accent); outline-offset: 3px; }
.workspace .chat-composer textarea { color: var(--ink); font-size: 16px; }
.workspace .chat-composer textarea:focus-visible { outline: none; }
.workspace .chat-composer__icon, .workspace .chat-composer__hint { color: var(--muted); }
.workspace .chat-composer__send { border-radius: 4px; background: var(--accent); color: var(--button-ink); }
.workspace .chat-composer__kbd { border: 0; background: transparent; color: var(--muted); }
.workspace .chat-search { position: sticky; top: 36px; width: auto; height: auto; min-width: 0; max-height: calc(100svh - 72px); overflow-y: auto; align-self: start; border: 0; background: transparent; }
.workspace .chat-search__head { position: static; padding: 6px 0 12px; border: 0; background: transparent; }
.workspace .chat-search__title { color: var(--ink); font-size: 17px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.workspace .chat-search__body { max-height: none; padding: 0; }
.workspace .chat-search__list .search-result { padding: 22px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
.workspace .chat-search__list .search-result:hover { background: transparent; }
.workspace .suggestion-modal { border-color: var(--line); border-radius: 6px; background: var(--surface); color: var(--ink); }
.workspace .suggestion-modal textarea { border-color: var(--line); border-radius: 4px; background: var(--bg); color: var(--ink); }
.workspace .suggestion-modal__meta { color: var(--muted); }
.workspace .suggestion-modal__rating button, .workspace .suggestion-modal__cancel { border-color: var(--line); border-radius: 4px; background: var(--bg); color: var(--ink); }
.workspace .suggestion-modal__rating button.is-on, .workspace .suggestion-modal__send { background: var(--accent); color: var(--button-ink); border-radius: 4px; }
.workspace .suggestion-modal__status { color: var(--danger); }
@media (max-width: 1180px) {
  .workspace .chat-workspace { grid-template-columns: minmax(0, 1fr) 210px; gap: 28px; }
}
@media (max-width: 1000px) {
  .workspace .chat-workspace { grid-template-columns: 1fr; }
  .workspace .chat-search { position: static; max-height: none; margin-top: 24px; }
}
@media (max-width: 800px) {
  .workspace-footer { flex-direction: row; align-items: center; gap: 16px; margin-top: 0; }
  .workspace .studio-main--chat { padding-top: 40px; }
}
@media (max-width: 580px) {
  .workspace .gpd__header { gap: 16px; }
  .workspace .gpd__brand { font-size: 14px; }
  .workspace-footer { gap: 12px; }
  .workspace-theme button { padding: 6px; font-size: 12px; }
  .workspace .gpd__header .gpd__nav { gap: 4px; }
  .workspace .gpd__composer textarea { flex-basis: 100%; }
  .workspace .gpd__composer button { margin-left: auto; }
  .workspace .studio-forms-section { margin-top: 48px; }
  .workspace .studio-main--forms .gpd__forms { margin-top: 0; }
  .workspace .chat__composer { position: static; }
  .workspace .page__title { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .workspace *, .workspace *::before, .workspace *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

.workspace .chat-composer__foot { border: 0; }
.workspace .search-result__kind { color: var(--muted); font-size: 12px; font-weight: 400; text-transform: none; letter-spacing: 0; }
.workspace .ai-answer__badge, .workspace .chat-message__badge { display: none; }
.workspace .ai-answer p.ai-answer__disclaimer { color: var(--muted); font-size: 13px; line-height: 1.6; }
.workspace .chat-model-label { margin: 0 0 16px; color: var(--muted); }

/* Approved minimal Workspace design. Scoped to the live application. */
.workspace--minimal { font-size: 16px; }
.workspace--minimal .studio-shell {
  --bg: #fcfdfb;
  --sidebar: #f3f6ef;
  --ink: #293a32;
  --muted: #68766c;
  --accent: #426b56;
  --surface: #f0f4ed;
  --line: #e0e7dc;
  --nav-active: #e5eddf;
  --button-ink: #fff;
  --danger: #ac2922;
  --warning: #80550c;
  display: grid;
  grid-template-columns: 208px minmax(0, 1fr);
  color-scheme: light;
}
.workspace--minimal .studio-shell[data-theme="dark"] {
  --bg: #1d2822;
  --sidebar: #18211c;
  --ink: #e6eee8;
  --muted: #a8b8ac;
  --accent: #b1cdb7;
  --surface: #29382f;
  --line: #3a4b3f;
  --nav-active: #2e4033;
  --button-ink: #203526;
  --danger: #ffb4ab;
  --warning: #efc58c;
  color-scheme: dark;
}
.workspace--minimal :is(input, textarea, button, select, kbd, pre) { font-family: inherit; }
.workspace--minimal .gpd__header { gap: 45px; padding: 34px 22px 26px; border-right: 1px solid var(--line); }
.workspace--minimal .gpd__brand { gap: 8px; font-size: 16px; letter-spacing: 0; }
.workspace--minimal .gpd__mark { width: 25px; height: 25px; flex-shrink: 0; }
.workspace--minimal .gpd__nav { gap: 6px; margin: 0 -6px; }
.workspace--minimal .gpd__nav a { min-height: 43px; padding: 10px 12px; border-radius: 5px; font-size: 16px; }
.workspace--minimal .gpd__nav a[aria-current] { background: var(--nav-active); color: var(--ink); }
.workspace--minimal .gpd__nav svg { width: 17px; height: 17px; }
.workspace--minimal .workspace-footer { flex-direction: row; align-items: center; gap: 10px; width: 100%; }
.workspace--minimal .workspace-footer > .user-menu__sign-in { flex: 1; padding: 9px 10px; border: 1px solid var(--line); border-radius: 6px; background: transparent; color: var(--ink); font-size: 16px; text-align: center; }
.workspace--minimal .user-menu__sign-in:hover { background: var(--surface); text-decoration: none; }
.workspace--minimal .user-menu__button { width: 40px; height: 40px; border: 1px solid var(--line); background: transparent; }
.workspace--minimal .user-menu__panel { background: var(--bg); }
.workspace--minimal .workspace-theme-toggle { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 40px; margin-left: auto; padding: 8px; border: 0; border-radius: 5px; background: transparent; color: var(--muted); cursor: pointer; }
.workspace--minimal .workspace-theme-toggle:hover { background: var(--surface); color: var(--ink); }
.workspace-theme-toggle svg { width: 20px; height: 20px; }
.workspace-theme-toggle__sun, .workspace-theme-toggle[aria-pressed="true"] .workspace-theme-toggle__moon { display: none; }
.workspace-theme-toggle[aria-pressed="true"] .workspace-theme-toggle__sun { display: block; }
.workspace--minimal .studio-main { width: min(1020px, calc(100% - 96px)); padding: 65px 0 64px; }
.workspace--minimal .studio-main--home { max-width: 790px; }
.workspace--minimal .studio-main--forms { max-width: 820px; }
.workspace--minimal .studio-main--chat { max-width: 1160px; }
.workspace--minimal :is(.studio-heading h1, .page__title, .login__title, .chat__title) { font-size: 24px; letter-spacing: -.02em; }
.workspace--minimal :is(.studio-main h2, .studio-main h3) { font-size: 16px; letter-spacing: 0; }
.workspace--minimal :is(.studio-prose h2, .ai-answer__title, .ai-answer__section-title) { font-size: 20px; }
.workspace--minimal :is(.studio-button, .studio-back, .studio-text-button, .studio-muted, .studio-empty, .studio-status, .workspace-text-button, .studio-outline a, .studio-note-jump, .studio-shortcuts, .qt-widget__status, .qt-patient__label, .qt-patient__input, .qt-q__text-label, .qt-q__text-input, .qt-sec__key, .qt-sec__name, .qt-q__num, .qt-q__prompt, .qt-q__multi, .qt-opt, .qt-opt__text, .qt-note, .qt-notebox__status, .qt-keys, .qt-keys__kbd) { font-size: 16px; }
.workspace--minimal .gpd__composer { flex-wrap: nowrap; gap: 14px; min-height: 68px; padding: 9px 10px 9px 20px; border: 1px solid var(--line); border-radius: 7px; background: var(--bg); }
.workspace--minimal .gpd__composer textarea { flex: 1; min-height: 28px; padding: 9px 0; font-size: 16px; }
.workspace--minimal .gpd__composer button { display: flex; align-items: center; justify-content: center; align-self: center; flex: 0 0 40px; width: 40px; height: 40px; min-width: 40px; gap: 0; padding: 10px; border-radius: 6px; font-size: 16px; }
.workspace-search-icon { flex-shrink: 0; width: 20px; height: 20px; color: var(--muted); }
.workspace--minimal .gpd__composer button svg { width: 20px; height: 20px; }
.workspace-search-key { padding: 2px 7px; border: 1px solid var(--line); border-radius: 4px; color: var(--muted); font-size: 16px; }
.workspace--minimal .studio-forms-section { margin-top: 40px; }
.workspace--minimal .gpd__section-head { margin-bottom: 12px; }
.workspace--minimal .gpd__section-head h2 { font-size: 16px; }
.workspace--minimal .gpd__section-head a { display: flex; align-items: center; gap: 8px; padding: 10px 0; font-size: 16px; }
.workspace--minimal .gpd__section-head svg { width: 15px; height: 15px; }
.workspace--minimal .gpd__forms { border-top: 1px solid var(--line); }
.workspace--minimal .gpd__forms > .gpd__form { justify-content: flex-start; gap: 13px; min-height: 65px; padding: 14px 6px; }
.workspace--minimal .gpd__form:hover { background: var(--surface); }
.workspace--minimal .gpd__form:hover .gpd__form-title { text-decoration: none; }
.workspace--minimal .gpd__form-title { min-width: 0; font-size: 16px; font-weight: 400; }
.workspace-form-icon { flex-shrink: 0; width: 28px; height: 30px; padding: 4px; color: var(--muted); }
.workspace-form-arrow { flex-shrink: 0; width: 16px; height: 16px; margin-left: auto; color: var(--muted); }
.workspace--minimal .studio-filter { gap: 14px; padding: 9px 18px; border: 1px solid var(--line); border-radius: 7px; background: var(--bg); }
.workspace--minimal .studio-filter input { padding: 9px 0; }
.workspace--minimal .studio-note-columns { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 32px; }
.workspace--minimal .studio-note-output { padding: 26px; border: 1px solid var(--line); border-radius: 7px; }
.workspace--minimal .studio-note-output__head h2 { font-size: 16px; }
.workspace--minimal :is(.search-result__title, .search-result__source, .search-result__kind, .search-results__status, .chat-search__snippet, .chat-search__title, .chat-model-picker, .chat-model-label, .chat__save-note, .chat__save-btn, .chat-message__bubble, .chat-composer__hint, .chat-composer__kbd, .chat-composer textarea, .ai-answer__suggest-btn, .ai-answer__suggest-hint, .ai-answer__disclaimer, .ai-answer__info-impact) { font-size: 16px; letter-spacing: 0; }
.workspace--minimal .ai-answer :is(p, ul, ol), .workspace--minimal .ai-answer p.ai-answer__disclaimer { font-size: 16px; }
/* Model choices stay available without dominating the composer. */
.workspace .chat-model-settings { position: relative; color: var(--muted); font-size: 12px; }
.workspace .chat-model-settings > summary { width: fit-content; padding: 8px 4px; cursor: pointer; font-size: 12px; }
.workspace .chat-model-settings > summary:hover { color: var(--ink); }
.workspace .chat-model-settings .chat-model-picker { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; position: absolute; z-index: 20; left: 0; width: min(340px, calc(100vw - 64px)); margin: 4px 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); box-shadow: 0 8px 28px #0002; }
.workspace .chat-model-picker__field { min-width: 0; }
.workspace .chat-model-picker__field label { display: block; margin-bottom: 4px; font-size: 12px; }
.workspace .chat-model-picker select { width: 100%; font-size: 14px; }
.workspace .chat-model-picker__note { font-size: 12px; line-height: 1.5; }
.workspace .chat-model-picker__note:empty { display: none; }
.workspace .home-search .chat-model-settings { margin-top: 6px; }
.workspace .chat-composer .chat-model-settings { margin-right: auto; }
.workspace .chat-composer .chat-model-picker { bottom: 100%; }
.workspace .chat-composer__field { padding: 12px 16px 0; }
.workspace .chat-composer textarea { min-height: 96px; overflow-y: auto; }
.workspace .chat-composer__foot { padding: 6px 12px 12px; gap: 12px; }
.workspace .chat-composer__hint { font-size: 12px; }
.workspace .chat__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 16px; min-width: 0; margin-left: auto; }
.workspace .chat__actions .chat__save { flex: 0 1 auto; min-width: 0; margin: 0; gap: 8px; }
.workspace .chat__actions .chat__save-note { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; line-height: 1.5; }
.workspace .chat__save-note svg { flex: 0 0 16px; width: 16px; height: 16px; color: var(--accent); }
.workspace .chat__actions .chat__save-btn { flex-shrink: 0; font-size: 12px; }
.workspace .chat__new { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); font-size: 13px; font-weight: 500; line-height: 1.5; text-decoration: none; white-space: nowrap; }
.workspace .chat__new svg { width: 15px; height: 15px; }
.workspace .chat__new:hover { border-color: var(--accent); color: var(--accent); }
.workspace .chat__new:focus-visible, .workspace .chat__save-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.workspace .chat-model-label { margin-bottom: 12px; font-size: 12px; }
.workspace .chat-model-label summary { width: fit-content; cursor: pointer; font-size: 12px; }
.workspace .chat-model-label p { margin: 8px 0; font-size: 12px; line-height: 1.5; }
.workspace .chat__feedback .ai-answer__suggest { margin: 0 0 16px; padding: 0; border: 0; }
.workspace .chat__feedback .ai-answer__suggest-btn { font-size: 12px; }
.workspace .chat__thread:has(.chat__pending) + .chat__feedback,
.workspace .chat__thread:not(:has(.ai-answer, .chat-message--assistant)) + .chat__feedback { display: none; }

.workspace--minimal :is(.login__field label, .login__submit, .login__sub, .login__hint, .login__divider, .login__alt-link, .login__linklike, .suggestion-modal__meta) { font-size: 16px; }
.workspace--minimal .studio-prose table { display: block; max-width: 100%; overflow-x: auto; font-size: 16px; }
.workspace--minimal :is(.dosing-calculator, .dosing-formulations) { color: var(--ink); background: var(--surface); border-color: var(--line); }
.workspace--minimal :is(.dosing-group__population, .dosing-group__indication, .dosing-formulations h4, .dosing-calculator__header h4) { color: var(--ink); font-size: 16px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.workspace--minimal :is(.dosing-table th, .dosing-entry__max, .dosing-entry__indication, .dosing-entry-notes td, .dosing-extra-text, .dosing-formulations, .dosing-calculator__context, .dosing-calculator__field label, .dosing-calculator__dose-input span, .dosing-calculator__result, .dosing-calculator__label) { color: var(--muted); font-size: 16px; letter-spacing: 0; text-transform: none; }
.workspace--minimal :is(.dosing-calculator__header, .dosing-calculator__results) { border-color: var(--line); }
.workspace--minimal .dosing-calculator__field :is(input, select) { min-width: 0; background: var(--bg); border-color: var(--line); color: var(--ink); font-size: 16px; }
.workspace--minimal .dosing-calculator__close { color: var(--muted); }
.workspace--minimal .dosing-calc-btn { padding: 8px 12px; background: var(--accent); color: var(--button-ink); font-size: 16px; font-weight: 400; }

@media (max-width: 1050px) {
  .workspace--minimal .studio-main { width: calc(100% - 64px); }
}
@media (max-width: 800px) {
  .workspace--minimal .studio-shell { display: block; }
  .workspace--minimal .gpd__header { position: static; height: auto; min-height: 0; margin: 0; padding: 20px 24px 12px; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 18px; border: 0; border-bottom: 1px solid var(--line); background: var(--bg); }
  .workspace--minimal .gpd__brand { margin-right: auto; font-size: 16px; }
  .workspace--minimal .workspace-footer { width: auto; margin: 0; gap: 8px; }
  .workspace--minimal .workspace-footer > .user-menu__sign-in { flex: none; }
  .workspace--minimal .gpd__header .gpd__nav { order: 3; flex-direction: row; align-items: center; width: 100%; gap: 28px; margin: 0; }
  .workspace--minimal .gpd__nav a { min-height: 37px; padding: 0 0 6px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; font-size: 16px; }
  .workspace--minimal .gpd__nav a[aria-current] { border-bottom-color: var(--accent); background: transparent; color: var(--accent); }
  .workspace--minimal .gpd__nav svg { display: none; }
  .workspace--minimal .user-menu__panel { top: calc(100% + 12px); bottom: auto; right: 0; left: auto; }
  .workspace--minimal .studio-main { width: calc(100% - 48px); padding-top: 44px; padding-bottom: 28px; }
  .workspace--minimal .studio-note-columns { grid-template-columns: 1fr; gap: 28px; }
  .workspace--minimal .studio-note-output { position: static; max-height: none; padding: 20px; }
  .workspace--minimal .studio-note-jump { display: inline-block; }
  .workspace--minimal .qt-note { max-height: none; }
  .workspace--minimal .studio-content-columns { display: flex; flex-direction: column-reverse; gap: 36px; }
  .workspace--minimal .studio-outline { position: static; width: 100%; }
}
@media (max-width: 580px) {
  .workspace--minimal .gpd__header { gap: 16px 8px; padding: 20px 16px 12px; }
  .workspace--minimal .gpd__composer { gap: 10px; min-height: 62px; padding: 8px 8px 8px 14px; }
  .workspace--minimal .gpd__composer textarea { flex-basis: auto; padding: 9px 0; }
  .workspace--minimal .gpd__composer button { min-width: 40px; padding: 10px; margin: 0; }
  .workspace--minimal .gpd__composer button span, .workspace--minimal .workspace-search-key { display: none; }
  .workspace--minimal .workspace-search-icon { width: 18px; height: 18px; }
  .workspace--minimal .studio-forms-section { margin-top: 44px; }
  .workspace--minimal .gpd__forms > .gpd__form { min-height: 63px; padding: 16px 0; }
  .workspace--minimal .gpd__section-head { gap: 10px; }
  .workspace--minimal .chat__header { flex-wrap: wrap; gap: 16px; }
  .workspace--minimal .chat__save { flex-wrap: wrap; }
}

.workspace--minimal .gpd__nav kbd { margin-left: auto; white-space: nowrap; color: var(--muted); font-size: 12px; }
.workspace-keyboard-hint { color: var(--muted); font-size: 12px; line-height: 1.8; }

/* One submission: a readable answer with public references alongside it. */
.workspace .chat-workspace { grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); gap: 32px; align-items: start; }
.workspace .chat__header { align-items: center; margin-bottom: 20px; gap: 16px; }
.workspace .chat-search { padding: 0 0 0 24px; border: 0; border-left: 1px solid var(--line); border-radius: 0; background: transparent; scroll-margin-top: 24px; }
.workspace .chat-search__head { display: block; padding: 0 0 16px; border-bottom: 1px solid var(--line); }

.workspace .chat-search__list .search-result { padding: 18px 0; gap: 8px; }
.workspace .chat-search__list li:last-child { border-bottom: 0; }
.workspace .chat-search .search-result__kind { font-size: 12px; font-weight: 500; color: var(--muted); }
.workspace .chat-search .search-result__title { font-size: 15px; line-height: 1.5; }
.workspace .chat-search .search-result__snippet { font-size: 13px; line-height: 1.65; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.workspace .chat-search .ai-answer__reference { text-decoration: none; }
.workspace .chat-search .ai-answer__reference:hover { text-decoration: underline; }
.workspace .search-page__list { margin-top: 24px; }
.workspace .search-page__list .search-result { padding: 22px 8px; margin: 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.workspace .search-page__meta { margin-top: 24px; color: var(--muted); font-size: 14px; }
@media (max-width: 1050px) {
  .workspace .chat-workspace { grid-template-columns: minmax(0, 1fr); }
  .workspace .chat-search { position: static; max-height: none; margin-top: 0; padding: 20px 0 0; border-left: 0; border-top: 1px solid var(--line); }
}

/* Saved conversations have their own scrollable sidebar section. */
.workspace-saved-chats { min-height: 0; width: 100%; overflow-y: auto; }
.workspace-saved-chats h2 { margin: 0 0 12px; color: var(--muted); font-size: 13px; font-weight: 500; }
.workspace-saved-chats nav { display: flex; flex-direction: column; gap: 4px; }
.workspace-saved-chats a { display: block; padding: 8px 10px; border-radius: 5px; color: var(--ink); font-size: 14px; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-saved-chats a:hover, .workspace-saved-chats a[aria-current] { background: var(--nav-active); }
.workspace-saved-chats p { margin: 0; color: var(--muted); font-size: 13px; }
.workspace-saved-chats__heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.workspace-saved-chats__heading h2 { margin: 0; }
.workspace-saved-chats form { flex-shrink: 0; margin: 0; }
.workspace-saved-chats__row { display: flex; align-items: center; gap: 4px; }
.workspace-saved-chats__row > a { flex: 1; min-width: 0; }
.workspace-saved-chats__clear, .workspace-saved-chats__delete { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 6px; border: 0; border-radius: 5px; background: transparent; color: var(--muted); font: inherit; font-size: 12px; cursor: pointer; }
.workspace-saved-chats__delete { width: 32px; }
.workspace-saved-chats__delete svg { width: 16px; height: 16px; }
.workspace-saved-chats__clear:hover, .workspace-saved-chats__delete:hover { background: var(--nav-active); color: var(--danger); }
.workspace-saved-chats__clear:focus-visible, .workspace-saved-chats__delete:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.workspace-notice { margin: 0 0 24px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); font-size: 14px; }
.workspace .chat__save { flex-wrap: wrap; }
@media (max-width: 800px) {
  .workspace-saved-chats { order: 4; max-height: 180px; }
}
