.ms-page { padding-block: 1rem 2rem; min-width: 0; }
.ms-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; padding: 1rem; margin-bottom: 1rem; border: 1px solid var(--ui-border-color); border-radius: var(--ui-border-radius); background: var(--ui-tertiary-bg); }
.ms-heading h1 { margin: 0 0 .25rem; font-size: clamp(1.5rem, 2.3vw, 2rem); line-height: 1.2; }
.ms-heading p { margin-bottom: 0; }
.ms-person-choice { min-width: min(100%, 240px); display: grid; gap: .4rem; font-size: .85rem; font-weight: 650; }
.ms-person-choice[hidden] { display: none; }
.ms-muted, .ms-disclaimer { color: var(--ui-secondary-color); }
#ms-notice { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.ms-tabs { gap: .15rem; flex-wrap: wrap; }
.ms-tabs[hidden], .ms-workspace[hidden] { display: none; }
.ms-tabs .nav-link { color: var(--ui-body-color); border: 1px solid transparent; }
.ms-tabs .nav-link.active { font-weight: 700; }
.ms-workspace { min-height: 440px; padding: clamp(1.2rem, 3vw, 2rem); background: var(--ui-tertiary-bg); border: 1px solid var(--ui-border-color); border-top: 0; border-radius: 0 0 .65rem .65rem; }
.ms-section-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.ms-section-head h2 { margin: 0; }
.ms-subhead { margin: 2rem 0 1rem; }
.ms-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1rem; }
.ms-card { border: 1px solid var(--ui-border-color); border-radius: .55rem; padding: 1.25rem; background: var(--ui-body-bg); }
.ms-card h3 { margin: .75rem 0; }
.ms-card-head { display: flex; justify-content: space-between; gap: 1rem; font-size: .78rem; }
.ms-type { font-weight: 750; color: var(--ui-primary); text-transform: uppercase; letter-spacing: .06em; }
.ms-status { color: var(--ui-secondary-color); }
.ms-card-detail { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 8rem; overflow: hidden; }
.ms-evidence-quote { padding: .75rem; border-left: 2px solid var(--ui-primary); background: var(--ui-tertiary-bg); font-size: .84rem; color: var(--ui-secondary-color); overflow-wrap: anywhere; }
.ms-meta { font-size: .8rem; }
.ms-editor { max-width: 680px; display: grid; gap: 1rem; padding: 1.5rem; border: 1px solid var(--ui-border-color); border-radius: .55rem; background: var(--ui-body-bg); }
.ms-editor h2 { margin: 0 0 .5rem; }
.ms-editor textarea { min-height: 120px; }
.ms-research-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, 16rem) auto; align-items: end; gap: .75rem; padding: 1.25rem; border: 1px solid var(--ui-border-color); border-radius: .55rem; background: var(--ui-body-bg); margin-bottom: 1.5rem; }
.ms-research-form h2, .ms-research-form p { grid-column: 1 / -1; margin: 0; }
.ms-attributes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 1rem; }
.ms-facts { display: grid; grid-template-columns: minmax(90px, auto) minmax(0, 1fr); gap: .2rem .75rem; font-size: .82rem; margin: .7rem 0; }
.ms-facts dt { font-weight: 650; color: var(--ui-secondary-color); }
.ms-facts dd { margin: 0; overflow-wrap: anywhere; }
.ms-conversation { display: grid; grid-template-columns: minmax(190px, 260px) minmax(0, 1fr); gap: 1rem; }
.ms-topics { display: flex; flex-direction: column; gap: .4rem; }
.ms-topic { border: 1px solid var(--ui-border-color); border-radius: .4rem; padding: .7rem .9rem; background: var(--ui-body-bg); color: var(--ui-body-color); text-align: left; overflow-wrap: anywhere; }
.ms-topic.active { border-color: var(--ui-primary); background: var(--ui-primary-bg-subtle); font-weight: 700; }
.ms-thread { min-width: 0; display: flex; flex-direction: column; min-height: 420px; border: 1px solid var(--ui-border-color); border-radius: .55rem; padding: 1.25rem; background: var(--ui-body-bg); }
.ms-thread h3 { padding-bottom: 1rem; border-bottom: 1px solid var(--ui-border-color); }
.ms-messages { flex: 1; max-height: 520px; overflow-y: auto; display: flex; flex-direction: column; gap: .8rem; padding: 1rem 0; }
.ms-documents { border-top: 1px solid var(--ui-border-color); padding: .75rem 0; }
.ms-document-row { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; padding: .35rem 0; overflow-wrap: anywhere; }
.ms-document-row a { margin-right: auto; }
.ms-document-row .ms-ai-consent { flex-basis: 100%; }
.ms-ocr-preview { max-height: 22rem; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; padding: .85rem; border: 1px solid var(--ui-border-color); background: var(--ui-tertiary-bg); font-size: .82rem; }
.ms-document-form { display: flex; align-items: end; flex-wrap: wrap; gap: .6rem; padding-bottom: .75rem; }
.ms-document-field { flex: 1 1 15rem; }
.ms-document-form small { flex-basis: 100%; }
.ms-bubble { max-width: min(85%, 72ch); padding: .85rem 1rem; border: 1px solid var(--ui-border-color); border-radius: .55rem; background: var(--ui-tertiary-bg); white-space: pre-wrap; overflow-wrap: anywhere; }
.ms-bubble-user { align-self: flex-end; background: var(--ui-primary-bg-subtle); }
.ms-sources { display: flex; gap: .5rem; flex-wrap: wrap; border-top: 1px solid var(--ui-border-color); margin-top: .7rem; padding-top: .7rem; font-size: .78rem; }
.ms-composer { display: flex; align-items: end; gap: .6rem; padding-top: 1rem; border-top: 1px solid var(--ui-border-color); }
.ms-composer textarea { min-height: 76px; max-height: 200px; }
.ms-ai-consent { display: flex; gap: .6rem; align-items: start; font-size: .84rem; margin: .5rem 0; color: var(--ui-secondary-color); }
.ms-ai-consent input { margin-top: .2rem; }
.ms-ai-note { font-size: .82rem; margin: .5rem 0; }
.ms-disclaimer { font-size: .82rem; margin: 1.5rem 0; }
@media (max-width: 740px) {
  .ms-heading { display: grid; }
  .ms-person-choice { width: 100%; }
  .ms-conversation { grid-template-columns: 1fr; }
  .ms-topics { flex-direction: row; overflow-x: auto; }
  .ms-topic { min-width: 140px; }
  .ms-section-head { align-items: start; }
  .ms-composer { display: grid; }
  .ms-research-form { grid-template-columns: 1fr; }
}
