/* A session list and one investigation. Product browsing has its own outlet. */
.research-workspace { display: grid; grid-template-columns: 300px minmax(0,1fr); }
.research-sessions { background: var(--paper); border-right: 1px solid var(--line); min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.research-header-frame, .research-toolbar-frame { flex-shrink: 0; }
.research-session-filter { display: flex; min-width: 0; align-items: center; font-size: 11px; color: var(--muted); }
.research-session-filter select { color: var(--ink); background: transparent; border: 1px solid var(--field-border); border-radius: 6px; padding: 7px 24px 7px 9px; font-size: 11px; min-height: 36px; width: 120px; }
#research-session-list { min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; flex: 1; padding-bottom: 20px; }
.research-session-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px 10px; padding: 18px 20px; border-top: 1px solid var(--line); color: var(--ink); }
.research-session-row:hover { background: var(--mint); }
.research-session-row[aria-current] { background: var(--mint); box-shadow: inset 3px 0 var(--teal); }
.research-session-row-icon { display: none; }
.research-session-row-body { min-width: 0; grid-column: 1 / -1; }
.research-session-row-body strong { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 13px; line-height: 1.55; font-weight: 600; overflow-wrap: anywhere; }
.research-session-row-summary { display: none; }
.research-session-row-meta { display: flex; flex-direction: column; gap: 5px; font-size: 10px; color: var(--muted); margin-top: 8px; line-height: 1.5; }
.research-session-state { display: inline-flex; align-items: center; gap: 5px; width: fit-content; padding: 2px 6px; border-radius: 4px; background: var(--mint); color: var(--muted); font-size: 10px; line-height: 1.5; }
.research-session-state svg { width: 12px; height: 12px; }
.research-session-state[data-status="running"], .research-session-state[data-status="queued"] { background: var(--info-bg); color: var(--info); }
.research-session-state[data-status="failed"] { background: var(--error-bg); color: var(--error); }
.research-session-state[data-status="interrupted"] { background: var(--amber-bg); color: var(--amber); }
.research-list-empty { padding: 25px 20px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.research-list-empty strong { color: var(--ink); font-size: 15px; }
.research-session-pages { display: flex; flex-shrink: 0; justify-content: space-between; gap: 12px; padding: 14px 20px; border-top: 1px solid var(--line); }
.research-session-pages[hidden] { display: none; }
.research-session-pages .btn { min-height: 38px; font-size: 12px; }
.research-workspace[data-research-view="history"] { grid-template-columns: minmax(0,1fr); }
.research-workspace[data-research-view="history"] > main { display: none; }
.research-workspace[data-research-view="history"] .research-sessions { border: 0; background: transparent; }
.research-workspace[data-research-view="history"] .research-session-row { grid-template-columns: 30px minmax(0,1fr) 130px; gap: 20px; align-items: start; padding: 22px 0; }
.research-workspace[data-research-view="history"] .research-session-row-icon { display: block; color: var(--muted); padding-top: 4px; }
.research-workspace[data-research-view="history"] .research-session-row-icon svg { width: 22px; height: 22px; }
.research-workspace[data-research-view="history"] .research-session-row-body { grid-column: 2; }
.research-workspace[data-research-view="history"] .research-session-row-body strong { font-size: 16px; }
.research-workspace[data-research-view="history"] .research-session-row-summary { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; color: var(--muted); font-size: 12px; line-height: 1.7; margin-top: 5px; }
.research-workspace[data-research-view="history"] .research-session-row-meta { flex-direction: row; flex-wrap: wrap; gap: 8px 20px; font-size: 11px; }
.research-workspace[data-research-view="history"] .research-session-state { justify-self: end; margin-top: 5px; }
.research-workspace .research-content { padding: 28px 30px 40px; }
.research-workspace .research-mobile-back { display: none; }
.research-composer { width: 100%; margin: 0; }
.research-composer h1 { font-size: 30px; line-height: 1.25; margin: 0; letter-spacing: -.02em; }
.research-composer > p { font-size: 13px; color: var(--muted); line-height: 1.7; margin: 10px 0 22px; }
.research-composer-context { border-left: 3px solid var(--field-border); background: var(--mint); padding: 12px 16px; margin: 0 0 24px; color: var(--ink); font-size: 12px; line-height: 1.7; }
.research-composer-context p { margin: 0; }
.research-retry-form { display: flex; flex-wrap: wrap; }
.research-retry-form .form-error { width: 100%; }
.research-composer-context a { display: inline-flex; align-items: center; gap: 6px; color: var(--teal); margin-top: 5px; }
.research-composer-context a svg { width: 14px; height: 14px; }
.research-composer > .research-composer-note { margin: 24px 0 0; font-size: 12px; color: var(--muted); line-height: 1.7; }
@media (min-width: 801px) and (min-height: 560px) {
  .research-workspace:not([data-research-view="history"]) .research-session-search { grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
  .research-workspace:not([data-research-view="history"]) .research-session-search > .btn { min-height: 42px; min-width: 64px; padding-inline: 10px; font-size: 11px; }
  .research-workspace:not([data-research-view="history"]) .research-session-search > .btn svg { display: none; }
  .research-workspace:not([data-research-view="history"]) .research-session-search .search-input-wrap { min-height: 40px; padding-inline: 10px; gap: 6px; }
  .research-workspace:not([data-research-view="history"]) .research-session-search .search-text { height: 40px; font-size: 12px; }
  .research-workspace:not([data-research-view="history"]) .research-session-search .search-input-wrap > svg { width: 16px; height: 16px; }
  .research-workspace:not([data-research-view="history"]) .research-session-toolbar { gap: 8px; }
  .research-workspace { height: 100%; overflow: hidden; }
  .research-workspace > main { height: 100%; overflow: auto; }
}
@media (min-width: 1600px) { .research-workspace { grid-template-columns: 330px minmax(0,1fr); } }
@media (min-width: 801px) and (max-width: 1100px) {
  .research-workspace { grid-template-columns: 265px minmax(0,1fr); }
  .research-workspace .research-content { padding: 24px 20px 32px; }
}
@media (max-width: 800px), (max-height: 559px) {
  .research-workspace { display: block; }
  .research-workspace:not([data-research-view="history"]) .research-sessions { display: none; }
  .research-workspace .research-mobile-back { display: inline-flex; align-items: center; gap: 8px; color: var(--teal); font-size: 12px; margin-bottom: 16px; min-height: 32px; }
  .research-mobile-back svg { width: 15px; height: 15px; transform: rotate(180deg); }
  #research-session-list { overflow: visible; }
  .research-workspace[data-research-view="history"] .research-session-row { grid-template-columns: minmax(0,1fr) auto; gap: 8px; padding: 18px 0; }
  .research-workspace[data-research-view="history"] .research-session-row-icon { display: none; }
  .research-workspace[data-research-view="history"] .research-session-row-body { grid-column: 1 / -1; }
  .research-workspace[data-research-view="history"] .research-session-row-body strong { font-size: 14px; }
  .research-workspace[data-research-view="history"] .research-session-state { justify-self: start; }
  .research-workspace .research-content { padding: 22px 20px 36px; }
  .research-composer { margin: 0; }
  .research-composer h1 { font-size: 26px; }
}
@media print { .research-sessions,.research-mobile-back { display: none !important; } .research-workspace { display: block; } }

.research-session-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -8px 0 22px; }
.research-session-actions .btn { color: var(--muted); font-size: 11px; min-height: 36px; }
.research-session-saved { color: var(--muted); font-size: 11px; margin-right: auto; }
@media (max-height: 559px) { .research-workspace .research-content { padding-block: 12px; } .research-composer > p { margin-bottom: 16px; } .research-composer-note { margin-top: 16px; } }

.research-workspace .family-search-controls { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); }
