/* Unmodified Adobe Source Sans 3, SIL OFL 1.1; see assets/fonts/source-sans-3/LICENSE.md. */
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 400; font-display: swap; src: url('../assets/fonts/source-sans-3/SourceSans3-Regular.ttf.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 700; font-display: swap; src: url('../assets/fonts/source-sans-3/SourceSans3-Bold.ttf.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: italic; font-weight: 400; font-display: swap; src: url('../assets/fonts/source-sans-3/SourceSans3-It.ttf.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: italic; font-weight: 700; font-display: swap; src: url('../assets/fonts/source-sans-3/SourceSans3-BoldIt.ttf.woff2') format('woff2'); }

.conversation-sections { display: flex; flex-wrap: wrap; gap: .4rem; }
.conversation-sections a { display: inline-flex; align-items: center; min-height: 44px; padding: .4rem .9rem; border: 1px solid var(--line); border-radius: .4rem; background: var(--panel); font-weight: 650; }
.conversation-sections a[aria-current="page"] { color: var(--accent-ink); background: var(--accent); border-color: var(--accent); text-decoration: none; }
.internal-page [hidden] { display: none !important; }
.internal-grid { display: grid; grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr); gap: 1rem; align-items: start; }
.internal-channels, .internal-detail, .internal-form, .internal-picker { display: grid; gap: .75rem; min-width: 0; }
.internal-channels h2, .internal-detail h2, .internal-detail h3, .internal-form p { margin: 0; }
.internal-detail { gap: .4rem; }
.internal-channel-header, .internal-message-tools { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: space-between; }
.internal-channel-header { padding-bottom: .25rem; }
.internal-sync { margin: 0; }
.internal-list { display: grid; gap: .25rem; margin: 0; padding: 0; list-style: none; min-width: 0; }
.internal-list button { display: grid; gap: .15rem; width: 100%; text-align: left; justify-items: start; background: var(--panel); color: var(--ink); border-color: transparent; font-weight: 400; }
.internal-list button[aria-current="true"] { border-color: var(--accent); box-shadow: inset 3px 0 0 var(--accent); }
.internal-dropdown-tabs { display: flex; flex-wrap: wrap; gap: .4rem; border-bottom: 1px solid var(--line); padding-bottom: .4rem; }
.internal-unread-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 1.4rem; padding: .1rem .4rem; border: 1px solid var(--accent); border-radius: 1rem; background: var(--accent); color: var(--accent-ink); font-size: .85em; font-weight: 700; }
.internal-dropdown-tabs [role="tab"][aria-selected="true"] { color: var(--accent-ink); background: var(--accent); border-color: var(--accent); }
.internal-workspace-people li { display: grid; gap: .4rem; padding: .6rem; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.internal-catalog-panel { display: grid; gap: 1rem; max-height: min(65dvh, 48rem); overflow-y: auto; min-width: 0; padding: .75rem; }
.internal-channel-files, .internal-channel-links { display: grid; gap: .6rem; min-width: 0; }
.internal-channel-files h3, .internal-channel-links h3, .internal-channel-files p, .internal-channel-links p { margin: 0; }
.internal-link-results a, .internal-link-results p { overflow-wrap: anywhere; }
.internal-file-preview { width: min(54rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow-y: auto; }
.internal-file-preview-content { display: grid; gap: .75rem; min-width: 0; }
.internal-file-preview-content canvas, .internal-file-preview-content video, .internal-file-preview-content audio { display: block; max-width: 100%; height: auto; }
.internal-file-preview-content a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }
.internal-list strong, .internal-list span, .internal-detail h2, .internal-detail h3 { overflow-wrap: anywhere; }
.internal-member-tools { display: flex; flex-wrap: wrap; align-items: start; gap: .5rem 1rem; }
.internal-member-tools > div { min-width: 0; }
.internal-member-tools [data-internal-membership] { flex: 1; }
.internal-conversation-layout { display: grid; grid-template-columns: minmax(0, 1fr); height: clamp(24rem, calc(100dvh - 26rem), 48rem); min-width: 0; border-top: 1px solid var(--line); margin-top: .25rem; }
.internal-detail[data-thread-open="true"] .internal-conversation-layout { grid-template-columns: minmax(0, 1fr) minmax(17rem, .85fr); }
.internal-channel-main { display: flex; flex-direction: column; min-height: 0; min-width: 0; padding-top: .75rem; }
.internal-message-tools { padding: 0 .5rem .5rem 0; }
.internal-message-tools h3 { font-size: 1rem; }
.internal-channel-main [data-internal-topics] { display: flex; flex-direction: column; flex: 1; min-height: 0; overflow: hidden; }
.internal-channel-main [data-internal-topics] > .msg, .internal-channel-main .empty-state { margin: .5rem; }
.internal-compose-area { flex: 0 0 auto; padding: .5rem .75rem 0 0; }
.internal-form { padding: .75rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--panel); margin: 0; }
.internal-form label { display: grid; gap: .3rem; font-weight: 600; }
.internal-form input[type="text"], .internal-form textarea { box-sizing: border-box; width: 100%; min-width: 0; }
.internal-form textarea { resize: vertical; max-height: 12rem; }
.internal-compose-area textarea, .internal-thread [data-internal-reply] textarea { min-height: 3.75rem; height: 3.75rem; }
[data-internal-topic] { max-height: 18rem; overflow-y: auto; }
[data-internal-topic] textarea { min-height: 3.75rem; height: 3.75rem; }
.internal-composer-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.internal-form > button[type="submit"] { justify-self: end; }
.internal-picker { margin: 0; padding: .65rem; border: 1px solid var(--line); border-radius: .4rem; }
.internal-picker legend { padding: 0 .25rem; font-weight: 650; }
.internal-picker-list { display: grid; gap: .35rem; max-height: 14rem; overflow-y: auto; }
.internal-picker label { display: flex; align-items: center; gap: .6rem; min-height: 44px; font-weight: 400; overflow-wrap: anywhere; }
.internal-members { margin: 0; padding-left: 1.25rem; display: flex; flex-wrap: wrap; gap: .4rem 1.5rem; }
.internal-roster summary { min-height: 44px; cursor: pointer; font-weight: 650; }
.internal-thread { display: flex; flex-direction: column; gap: .5rem; padding: .75rem 0 0 .75rem; border-left: 1px solid var(--line); min-width: 0; min-height: 0; }
.internal-thread .thread-header { align-items: start; }
.internal-thread .thread-header .button-row { gap: .25rem; }
.internal-posts { display: grid; align-content: start; gap: 0; list-style: none; padding: 0; margin: 0; overflow-y: auto; min-height: 0; }
.internal-channel-posts, .internal-thread > .internal-posts { flex: 1; }
.internal-post { padding: .7rem .75rem; border-bottom: 1px solid var(--line); background: var(--panel); min-width: 0; overflow-wrap: anywhere; }
.internal-post p { margin: .2rem 0; }
.internal-post-body { white-space: pre-wrap; }
.internal-message-topic { display: block; margin: .3rem 0; }
.internal-open-thread { margin-top: .25rem; min-height: 44px; }
.internal-open-thread[aria-current="true"] { border-color: var(--accent); }
.internal-back { display: none; }
.internal-detail .button-row { justify-content: flex-start; }
.internal-page .msg { overflow-wrap: anywhere; }
@media (max-width: 1100px) {
  .internal-detail[data-thread-open="true"] .internal-conversation-layout { grid-template-columns: minmax(0, 1fr); }
  .internal-detail[data-thread-open="true"] .internal-channel-main { display: none; }
  .internal-thread { border-left: 0; padding-left: 0; }
}
@media (max-width: 900px) {
  .internal-grid { grid-template-columns: 1fr; }
  .internal-page[data-open="true"] .internal-channels { display: none; }
  .internal-page[data-open="false"] .internal-detail { display: none; }
  .internal-back { display: inline-flex; }
  .internal-compose-area { padding-right: 0; }
}

/* Focused internal workspace. Tokens belong to this screen and restore on exit. */
.workspace-shell[data-internal-focus="true"] {
  --internal-brand: #77345f;
  --internal-brand-soft: #f3e7ef;
  --internal-brand-ink: #ffffff;
  --internal-canvas: #f7f3ed;
  --internal-surface: #fffdf9;
  --internal-ink: #271e25;
  --internal-muted: #655a63;
  --internal-line: #d8ccd2;
  --internal-focus: #77345f;
  --internal-avatar: #f5e1c4;
  --internal-shadow: 0 .5rem 1.8rem #4024331a;
  --accent: var(--internal-brand);
  --accent-ink: var(--internal-brand-ink);
  --bg: var(--internal-canvas);
  --panel: var(--internal-surface);
  --ink: var(--internal-ink);
  --muted: var(--internal-muted);
  --line: var(--internal-line);
  --focus: var(--internal-focus);
}
#view-navigation li:has(> a[data-view-id="internal"]) { display: none; }
.workspace-shell[data-internal-focus="true"] .mobile-tabs { display: none; }
.workspace-shell[data-internal-focus="true"] .workspace-grid { grid-template-columns: minmax(0, 1fr); }
.workspace-shell[data-internal-focus="true"] #navigation-panel { display: none !important; }
.workspace-shell[data-internal-focus="true"][data-internal-sidebar="true"] .workspace-grid { grid-template-columns: 14rem minmax(0, 1fr); }
.workspace-shell[data-internal-focus="true"][data-internal-sidebar="true"] #navigation-panel { display: flex !important; }
.workspace-shell[data-internal-focus="true"] #view-panel { display: block !important; padding: 1rem 1.5rem; }
.internal-page { max-width: none; gap: .75rem; color: var(--internal-ink); }
.internal-page .internal-workspace-header { display: grid; grid-template-columns: auto minmax(12rem, 1fr) auto; gap: 1rem; padding-bottom: .9rem; border-bottom: 1px solid var(--internal-line); }
.internal-brand-row { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; }
.internal-brand-row h1 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.internal-wordmark { font-size: 1.2rem; color: var(--internal-brand); letter-spacing: -.04em; }
.internal-dashboard-link { color: var(--internal-ink); font-size: .9rem; }
.internal-page .internal-search { width: 100%; min-height: 44px; border-radius: 2rem; background: var(--internal-surface); }
.internal-workspace-tools { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; padding: 0 0 .35rem; }
.internal-workspace-tools button { border-radius: 1.25rem; }
.internal-workspace-tools button[aria-pressed="true"], .internal-channel-menu { background: var(--internal-brand); color: var(--internal-brand-ink); border-color: var(--internal-brand); }
.internal-page .internal-privacy-note { font-size: .8rem; color: var(--internal-muted); max-width: none; }
.internal-grid { display: block; position: relative; }
.internal-channels { position: absolute; z-index: 5; top: 0; left: 0; width: min(26rem, 100%); box-sizing: border-box; max-height: min(40rem, 75dvh); overflow: auto; box-shadow: var(--internal-shadow); background: var(--internal-surface); border-radius: .85rem; }
.internal-page[data-open="false"] .internal-channels { position: relative; width: min(36rem, 100%); }
.internal-page[data-open="false"] .internal-detail { display: none; }
.internal-detail { border-radius: 1rem; box-shadow: var(--internal-shadow); padding: 1rem 1.2rem; }
.internal-channel-header h2 { font: 700 1.85rem/1.2 Georgia, serif; margin: 0; }
.internal-member-tools { align-items: center; border-bottom: 1px solid var(--internal-line); padding-bottom: .3rem; }
.internal-sync, .internal-search-help { font-size: .75rem; margin: 0; color: var(--internal-muted); }
/* Rich composers and read controls can exceed the viewport target. Grow the
   pane with those controls instead of collapsing history behind the composer. */
.internal-conversation-layout { height: auto; min-height: clamp(26rem, calc(100dvh - 24rem), 70rem); border-top: 0; margin: 0; }
.internal-channel-main > .internal-message-tools, .internal-channel-main > [data-internal-channel-read] { flex: 0 0 auto; }
.internal-channel-main [data-internal-topics] { flex: 1 0 auto; height: clamp(12rem, 40dvh, 24rem); }
.internal-detail[data-thread-open="true"] .internal-conversation-layout { grid-template-columns: minmax(0, 1fr) minmax(21rem, .8fr); }
.internal-post { display: flex; gap: .8rem; border-bottom: 0; padding: .85rem .6rem; }
.internal-post-content { min-width: 0; flex: 1; }
.internal-avatar { display: inline-flex; flex: 0 0 2.7rem; width: 2.7rem; height: 2.7rem; align-items: center; justify-content: center; font-weight: 750; color: var(--internal-ink); background: var(--internal-avatar); border-radius: .7rem; }
.internal-post:nth-child(2n) .internal-avatar { background: var(--internal-brand-soft); }
.internal-post .internal-post-meta { font-size: .85rem; color: var(--internal-muted); font-weight: 600; }
.internal-post-actions { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .4rem; }
.internal-post-actions button, .internal-reuse { font-size: .8rem; color: var(--internal-brand); background: transparent; border-color: var(--internal-line); padding: .3rem .5rem; min-height: 44px; }
.internal-message-content { white-space: normal; overflow-wrap: anywhere; line-height: 1.5; }
.internal-message-content p { white-space: pre-wrap; }
.internal-message-content a { color: var(--internal-brand); text-decoration: underline; }
.internal-message-content ul, .internal-message-content ol { padding-left: 1.4rem; }
.internal-compose-area { padding: .5rem .5rem 0 0; }
.internal-form { border-radius: .85rem; border-color: var(--internal-line); padding: .7rem; }
.internal-rich-composer { display: grid; gap: .4rem; min-width: 0; }
.internal-format-toolbar, .internal-composer-tools { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; }
.internal-format-toolbar { border-bottom: 1px solid var(--internal-line); padding-bottom: .4rem; }
.internal-format-toolbar label { display: flex; align-items: center; gap: .25rem; font-size: .8rem; }
.internal-format-toolbar select { width: auto; max-width: 9rem; margin: 0; min-height: 44px; }
.internal-format-button { min-width: 44px; min-height: 44px; padding: .3rem .55rem; background: transparent; border-color: transparent; color: var(--internal-ink); }
.internal-format-button:hover, .internal-format-button[aria-expanded="true"] { background: var(--internal-brand-soft); border-color: var(--internal-line); }
.internal-rich-composer textarea { border: 0; min-height: 4.5rem; height: 4.5rem; margin: 0; background: transparent; }
.internal-rich-composer textarea[data-font="sans"] { font-family: Arial, sans-serif; }
.internal-rich-composer textarea[data-font="serif"] { font-family: Georgia, serif; }
.internal-rich-composer textarea[data-font="mono"] { font-family: 'Courier New', monospace; }
.internal-rich-composer textarea[data-font="source_sans_3"] { font-family: 'Source Sans 3', Arial, sans-serif; }
.internal-rich-composer textarea[data-size="12"], .internal-message-size-12 { font-size: .75rem; }
.internal-rich-composer textarea[data-size="14"], .internal-message-size-14 { font-size: .875rem; }
.internal-rich-composer textarea[data-size="16"], .internal-message-size-16 { font-size: 1rem; }
.internal-rich-composer textarea[data-size="18"], .internal-message-size-18 { font-size: 1.125rem; }
.internal-rich-composer textarea[data-size="20"], .internal-message-size-20 { font-size: 1.25rem; }
.internal-rich-composer textarea[data-size="24"], .internal-message-size-24 { font-size: 1.5rem; }
.internal-message-content.internal-message-font-sans { font-family: Arial, sans-serif; }
.internal-message-content.internal-message-font-serif { font-family: Georgia, serif; }
.internal-message-content.internal-message-font-mono { font-family: 'Courier New', monospace; }
.internal-message-content.internal-message-font-source-sans-3 { font-family: 'Source Sans 3', Arial, sans-serif; }
.internal-composer-help { margin: 0; font-size: .75rem; color: var(--internal-muted); }
.internal-emoji-picker { display: flex; flex-wrap: wrap; gap: .25rem; max-width: 24rem; padding: .4rem; border: 1px solid var(--internal-line); border-radius: .7rem; }
.internal-emoji-choice { min-width: 44px; min-height: 44px; font-size: 1.25rem; padding: .3rem; background: var(--internal-surface); color: var(--internal-ink); border-color: transparent; }
.internal-link-editor { display: grid; gap: .4rem; padding: .5rem; border: 1px solid var(--internal-line); border-radius: .5rem; }
.internal-thread { padding: .75rem 0 0 1rem; gap: .5rem; }
.internal-thread h3 { font: 700 1.7rem/1.2 Georgia, serif; margin: 0; }
.internal-activity-list { display: grid; list-style: none; gap: .6rem; padding: 0; }
.internal-activity-list li { display: grid; gap: .25rem; }
.internal-page[data-thread-window="true"] .internal-workspace-tools,
.internal-page[data-thread-window="true"] .internal-channel-main,
.internal-page[data-thread-window="true"] .internal-channel-header,
.internal-page[data-thread-window="true"] .internal-member-tools,
.internal-page[data-thread-window="true"] .internal-search-help,
.internal-page[data-thread-window="true"] .internal-search { display: none; }
.internal-page[data-thread-window="true"] .internal-conversation-layout { grid-template-columns: minmax(0, 1fr); height: auto; min-height: calc(100dvh - 16rem); }
.internal-page[data-thread-window="true"] .internal-thread { border-left: 0; padding-left: 0; }
.internal-patient-dialog { color: var(--internal-ink); background: var(--internal-surface); border: 1px solid var(--internal-line); border-radius: 1rem; width: min(38rem, calc(100vw - 3rem)); max-height: calc(100dvh - 3rem); padding: 1.25rem; box-shadow: var(--internal-shadow); overflow-y: auto; }
.internal-patient-dialog::backdrop { background: #271e2566; }
.internal-patient-dialog form, .internal-patient-dialog label { display: grid; gap: .5rem; }
.internal-patient-dialog ul { display: grid; gap: .75rem; padding: 0; list-style: none; }
.internal-patient-dialog li { border: 1px solid var(--internal-line); border-radius: .6rem; padding: .6rem; display: grid; gap: .4rem; }
.internal-page :focus-visible { outline: 3px solid var(--internal-focus); outline-offset: 3px; }
@media (max-width: 1200px) {
  .internal-page .internal-workspace-header { grid-template-columns: 1fr auto; }
  .internal-search { grid-column: 1 / -1; grid-row: 2; }
  .internal-detail[data-thread-open="true"] .internal-conversation-layout { grid-template-columns: minmax(0, 1fr); }
  .internal-detail[data-thread-open="true"] .internal-channel-main { display: none; }
  .internal-thread { border-left: 0; padding-left: 0; }
}
@media (max-width: 700px) {
  .workspace-shell[data-internal-focus="true"] #view-panel { padding: .65rem; }
  .workspace-shell[data-internal-focus="true"][data-internal-sidebar="true"] .workspace-grid { grid-template-columns: minmax(0, 1fr); }
  .workspace-shell[data-internal-focus="true"][data-internal-sidebar="true"] #navigation-panel { position: fixed; z-index: 8; inset: 0 auto 0 0; width: 14rem; box-shadow: var(--internal-shadow); overflow-y: auto; }
  .internal-brand-row { gap: .5rem; }
  .internal-wordmark, .internal-dashboard-link { display: none; }
  .internal-page .internal-workspace-header { gap: .5rem; }
  .internal-page[data-open="true"] .internal-channels { display: grid; }
  .internal-detail { padding: .75rem; }
  .internal-channel-header h2 { font-size: 1.5rem; }
  /* Wrapped formatting controls can be taller than the phone pane. Let the
     pane grow with its composer and keep history in its own scroll region. */
  .internal-conversation-layout { height: auto; min-height: max(28rem, calc(100dvh - 29rem)); }
  .internal-channel-main [data-internal-topics], .internal-thread > .internal-posts { flex: 0 0 auto; height: clamp(12rem, 40dvh, 24rem); }
  .internal-post { padding: .65rem 0; gap: .5rem; }
  .internal-avatar { flex-basis: 2rem; width: 2rem; height: 2rem; font-size: .8rem; }
  .internal-back { display: none; }
  .internal-post-actions { gap: .25rem; }
  .internal-format-toolbar label { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .internal-page *, .internal-patient-dialog * { scroll-behavior: auto; } }
.internal-sidebar-dismiss { align-self: flex-end; margin: .5rem; }
.internal-canvas-tabs { display: flex; flex-wrap: wrap; gap: .35rem; border-bottom: 1px solid var(--internal-line); padding-block: .35rem; }
.internal-canvas-tabs [role="tab"] { min-height: 44px; background: transparent; color: var(--internal-ink); border-color: transparent; border-radius: .4rem .4rem 0 0; }
.internal-canvas-tabs [aria-selected="true"] { color: var(--internal-brand); border-bottom-color: var(--internal-brand); font-weight: 700; }
.internal-canvas { display: grid; gap: .75rem; min-width: 0; padding-block: .75rem; }
.internal-canvas .internal-form textarea { min-height: 12rem; max-height: 28rem; }
.internal-canvas .internal-canvas-read, .internal-canvas .internal-canvas-preview, .internal-canvas .internal-canvas-latest { min-width: 0; overflow-wrap: anywhere; }
.internal-canvas .internal-canvas-latest { display: grid; gap: .5rem; padding: .75rem; border: 1px solid var(--internal-line); border-radius: .6rem; }
.internal-canvas dialog { color: var(--internal-ink); background: var(--internal-surface); border: 1px solid var(--internal-line); border-radius: .75rem; width: min(30rem, calc(100vw - 3rem)); max-height: calc(100dvh - 3rem); padding: 1.25rem; overflow-y: auto; }
.internal-canvas dialog::backdrop { background: #271e2566; }
.internal-search-entry { display: flex; gap: .4rem; min-width: 0; align-items: center; }
.internal-search-entry .internal-search { flex: 1; min-width: 0; }
.internal-search-dialog { color: var(--internal-ink); background: var(--internal-surface); border: 1px solid var(--internal-line); border-radius: .75rem; width: min(48rem, calc(100vw - 3rem)); max-height: calc(100dvh - 3rem); padding: 1.25rem; overflow-y: auto; }
.internal-search-dialog::backdrop { background: #271e2566; }
.internal-search-results { display: grid; gap: .75rem; list-style: none; padding: 0; }
.internal-search-result { display: grid; gap: .4rem; border-bottom: 1px solid var(--internal-line); padding-bottom: .75rem; min-width: 0; overflow-wrap: anywhere; }
.internal-search-dialog :focus-visible { outline: 3px solid var(--internal-focus); outline-offset: 3px; }
@media (max-width: 1200px) { .internal-page .internal-search-entry { grid-column: 1 / -1; grid-row: 2; } }
.internal-page[data-thread-window="true"] .internal-search-entry { display: none; }
.internal-tools-host { position: relative; }
.internal-tools-menu { position: absolute; z-index: 7; inset: calc(100% + .35rem) auto auto 0; min-width: min(17rem, calc(100vw - 2.5rem)); max-width: calc(100vw - 2.5rem); max-height: 60dvh; overflow-y: auto; padding: .35rem; border: 1px solid var(--internal-line); border-radius: .7rem; background: var(--internal-surface); box-shadow: var(--internal-shadow); }
.internal-workspace-tools .internal-tools-menu button { display: block; width: 100%; min-height: 44px; border-radius: .35rem; border-color: transparent; background: transparent; color: var(--internal-ink); text-align: start; white-space: normal; }
.internal-workspace-tools .internal-tools-menu button:hover, .internal-workspace-tools .internal-tools-menu button:focus-visible { background: var(--internal-brand-soft); }
@media (max-width: 700px) {
  .internal-workspace-tools { position: relative; }
  .internal-tools-host { position: static; }
}
.internal-thread-search { display: none; min-height: 0; }
@media (max-width: 1200px) {
  .internal-thread-search:not([hidden]) { display: flex; flex-direction: column; max-height: 45%; border: 1px solid var(--internal-line); border-radius: .5rem; padding: .5rem; }
  .internal-thread-search .internal-posts { min-height: 0; }
}
@media (max-width: 900px) {
  .internal-page[data-open="true"] .internal-channels:not([hidden]) { display: grid; }
}

/* Durable per-user state. Native dialogs keep focus and current previews scoped. */
.internal-state-dialog, .internal-state-confirm { color: var(--internal-ink); background: var(--internal-surface); border: 1px solid var(--internal-line); border-radius: .85rem; width: min(46rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); padding: 1rem; overflow-y: auto; box-sizing: border-box; box-shadow: var(--internal-shadow); }
.internal-state-confirm { width: min(32rem, calc(100vw - 2rem)); }
.internal-state-dialog::backdrop, .internal-state-confirm::backdrop { background: #271e2566; }
.internal-state-dialog button, .internal-state-confirm button { min-height: 44px; margin: .2rem; }
.internal-state-results { display: grid; gap: .75rem; list-style: none; padding: 0; }
.internal-state-result { padding: .6rem 0; border-bottom: 1px solid var(--internal-line); min-width: 0; overflow-wrap: anywhere; }
.internal-state-result p { white-space: pre-wrap; }
.internal-saved-control, .internal-archive-control { display: inline-flex; flex-wrap: wrap; gap: .25rem; align-items: center; }
.internal-saved-control > [role="status"], .internal-archive-control > [role="status"] { font-size: .75rem; overflow-wrap: anywhere; }
.internal-saved-control > [role="status"]:empty, .internal-archive-control > [role="status"]:empty { display: none; }
.internal-saved-control button[aria-pressed="true"] { background: var(--internal-brand-soft); border-color: var(--internal-brand); }
.internal-channel-header [data-internal-channel-saved] { margin-inline-start: auto; }
.internal-read-control { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem; font-size: .75rem; padding: .35rem 0; }
.internal-read-control p { margin: 0; }
.internal-read-control [role="status"]:empty { display: none; }
.internal-read-control button { min-height: 44px; font-size: .75rem; padding: .3rem .45rem; }
.internal-activity-badge { display: inline-block; margin-inline-start: .35rem; border-radius: 1rem; padding: .1rem .4rem; background: var(--internal-brand); color: var(--internal-brand-ink); }
.internal-state-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.internal-state-dialog :focus-visible, .internal-state-confirm :focus-visible { outline: 3px solid var(--internal-focus); outline-offset: 3px; }

/* The owning reply form stays connected while only its history is refreshed. */
.internal-thread-history { display: contents; }
.internal-attachments { min-width: 0; border-top: 1px solid var(--internal-line); padding-top: .4rem; }
.internal-attachments p, .internal-composer-feature-status { margin: .25rem 0; font-size: .75rem; overflow-wrap: anywhere; }
.internal-attachments input[type="file"] { width: 100%; max-width: 100%; min-height: 44px; }
.internal-attachment-items { list-style: none; padding: 0; margin: .3rem 0; max-height: 8rem; overflow-y: auto; }
.internal-attachment-items li { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; padding: .3rem; overflow-wrap: anywhere; border-bottom: 1px solid var(--internal-line); }
.internal-attachment-items button { min-height: 44px; }
.internal-composer-mentions { display: flex; flex-wrap: wrap; gap: .3rem; padding: 0; margin: 0; list-style: none; }
.internal-composer-mentions li { display: inline-flex; align-items: center; gap: .3rem; background: var(--internal-brand-soft); padding-inline-start: .5rem; border-radius: .5rem; overflow-wrap: anywhere; }
.internal-composer-mentions button { min-width: 44px; min-height: 44px; }
.internal-media-recorder audio, .internal-media-recorder video { display: block; max-width: 100%; max-height: 45dvh; margin-block: .5rem; }
.internal-post-files { display: grid; gap: .35rem; min-width: 0; }
.internal-post-files button, .internal-files-results button { min-height: 44px; }
.internal-files-results { list-style: none; padding: 0; display: grid; gap: .6rem; }
.internal-files-results li { padding: .5rem; border: 1px solid var(--internal-line); border-radius: .5rem; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .internal-thread-history > .internal-posts { flex: 0 0 auto; height: clamp(12rem, 40dvh, 24rem); }
}

.internal-thread-history > .internal-posts { flex: 1 0 auto; height: clamp(12rem, 40dvh, 24rem); }
.internal-channel-sections { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.internal-file-card { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.internal-file-card strong { flex: 1 1 12rem; }
@media (max-width: 700px) {
  .internal-thread-history > .internal-posts { flex: 0 0 auto; }
}

/* Dr Khan's approved reference: compact workspace chrome, generous history and
   a two-row composer. Values stay in this screen's shared token scope. */
.workspace-shell[data-internal-focus="true"] {
  --internal-space-xs: .25rem;
  --internal-space-sm: .5rem;
  --internal-space-md: 1rem;
  --internal-space-lg: 1.5rem;
  --internal-space-xl: 2rem;
  --internal-radius: 1rem;
  --internal-target: 2.75rem;
  --internal-popup-width: 20rem;
  --internal-header-height: 4.5rem;
  --internal-history-height: calc(100dvh - 17rem);
}
.workspace-shell[data-internal-focus="true"] #view-panel { padding: 0 var(--internal-space-lg) var(--internal-space-md); }
.internal-page { font-family: 'Source Sans 3', Arial, sans-serif; gap: 0; min-width: 0; }
.internal-icon { flex: 0 0 auto; vertical-align: middle; pointer-events: none; }
.internal-page button, .internal-page summary { touch-action: manipulation; }
.internal-page .internal-icon-button, .internal-page .internal-sidebar-toggle {
  display: inline-flex; align-items: center; justify-content: center; width: var(--internal-target); min-width: var(--internal-target); min-height: var(--internal-target);
  padding: var(--internal-space-sm); border-color: transparent; border-radius: var(--internal-space-sm); background: transparent; color: var(--internal-ink);
}
.internal-page .internal-workspace-header { display: flex; flex-wrap: wrap; align-items: center; min-height: var(--internal-header-height); padding: var(--internal-space-sm) 0; gap: var(--internal-space-xl); }
.internal-page .internal-search-entry { flex: 1 1 16rem; min-width: 0; }
.internal-page .conversation-sections { flex: 0 0 auto; margin-inline-start: auto; }
.internal-brand-row { gap: var(--internal-space-sm); flex-wrap: nowrap; }
.internal-dashboard-link { display: inline-flex; align-items: center; gap: var(--internal-space-sm); white-space: nowrap; text-decoration: none; }
.internal-wordmark { display: block; object-fit: cover; width: 14.5rem; height: 3.25rem; padding: 0 var(--internal-space-sm); border-radius: var(--internal-space-md); background: var(--internal-brand-ink); }
.internal-search-entry { gap: 0; min-height: var(--internal-target); border: 1px solid var(--internal-line); border-radius: var(--internal-space-xl); background: var(--internal-surface); padding-inline: var(--internal-space-sm); }
.internal-search-entry .internal-search { padding-inline: var(--internal-space-sm); border: 0; background: transparent; }
.internal-page .conversation-sections { gap: 0; border: 1px solid var(--internal-brand); border-radius: var(--internal-space-xl); overflow: hidden; flex-wrap: nowrap; }
.internal-page .conversation-sections a { min-width: 7rem; justify-content: center; border: 0; background: transparent; color: var(--internal-ink); border-radius: var(--internal-space-xl); padding: var(--internal-space-sm) var(--internal-space-lg); }
.internal-page .conversation-sections a[aria-current="page"] { color: var(--internal-brand-ink); background: var(--internal-brand); }
.internal-workspace-tools { gap: 0; min-height: 4.5rem; padding: var(--internal-space-sm) 0; }
.internal-workspace-tools > button, .internal-tools-host > button { display: inline-flex; align-items: center; justify-content: center; gap: var(--internal-space-sm); min-height: var(--internal-target); background: transparent; color: var(--internal-ink); border: 0; border-radius: 0; padding-inline: var(--internal-space-lg); }
.internal-workspace-tools > button + button, .internal-tools-host { border-inline-start: 1px solid var(--internal-line); }
.internal-workspace-tools > .internal-channel-menu { background: var(--internal-brand); color: var(--internal-brand-ink); border-radius: 1.2rem; margin-inline-end: var(--internal-space-lg); padding-inline: var(--internal-space-lg); }
.internal-workspace-tools > .internal-icon-button { border: 0; padding-inline: var(--internal-space-sm); }
.internal-workspace-tools > [aria-pressed="true"] { background: var(--internal-brand-soft); color: var(--internal-brand); }
.internal-grid { min-width: 0; padding-bottom: var(--internal-space-sm); }
.internal-page[data-menu-open="true"][data-open="true"] .internal-grid { display: grid; grid-template-columns: var(--internal-popup-width) minmax(0, 1fr); gap: var(--internal-space-md); align-items: start; }
.internal-channels { position: relative; top: auto; left: auto; width: 100%; padding: var(--internal-space-sm); gap: var(--internal-space-sm); max-height: calc(100dvh - 11rem); }
.internal-channels > h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.internal-dropdown-tabs { flex-wrap: nowrap; gap: 0; padding: 0; }
.internal-dropdown-tabs button { display: flex; align-items: center; justify-content: center; gap: var(--internal-space-sm); flex: 1; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent; color: var(--internal-ink); }
.internal-dropdown-tabs [role="tab"][aria-selected="true"] { background: transparent; color: var(--internal-ink); border-bottom-color: var(--internal-brand); }
.internal-channels .internal-list button { grid-template-columns: 1fr auto; align-items: center; gap: var(--internal-space-xs); padding-inline: var(--internal-space-sm); min-height: var(--internal-target); border-radius: var(--internal-space-sm); }
.internal-channels .internal-list button > .muted { display: none; }
.internal-channels .internal-list button[aria-current="true"] { box-shadow: none; border-color: transparent; background: var(--internal-brand-soft); }
.internal-channels .internal-list strong { font-weight: 600; }
.internal-channels [data-selected-channel-check] { color: var(--internal-brand); margin-inline-end: var(--internal-space-sm); }
.internal-channels > section > .button-row:empty { display: none; }
.internal-detail { display: flex; flex-direction: column; gap: 0; padding: var(--internal-space-md); border-radius: var(--internal-radius); min-width: 0; }
.internal-detail > .internal-channel-header { min-height: 3.5rem; justify-content: flex-start; gap: var(--internal-space-sm); }
.internal-detail .internal-channel-header > h2 { font: 700 1.9rem/1.2 Georgia, serif; margin: 0 var(--internal-space-sm) 0 0; }
.internal-channel-privacy { display: inline-flex; align-items: center; gap: var(--internal-space-xs); }
.internal-page .internal-member-summary { background: transparent; color: var(--internal-ink); border-color: transparent; padding-inline: 0; }
.internal-channel-header [data-internal-channel-saved] { margin-inline-start: 0; }
.internal-channel-header [data-toggle-topic] { margin-inline-start: auto; }
.internal-channel-sections { flex: 0 0 auto; }
.internal-canvas-tabs { width: 100%; gap: var(--internal-space-md); padding: 0; }
.internal-canvas-tabs [role="tab"] { display: inline-flex; align-items: center; gap: var(--internal-space-sm); border-radius: 0; padding-inline: var(--internal-space-md); }
.internal-canvas-tabs [aria-selected="true"] { border-bottom-width: 3px; }
.internal-conversation-layout { flex: 1 1 auto; height: var(--internal-history-height); min-height: 30rem; margin: 0; }
.internal-channel-main { padding-top: var(--internal-space-sm); overflow: hidden; }
.internal-channel-main [data-internal-topics] { flex: 1 1 auto; height: auto; min-height: 12rem; }
.internal-channel-posts { flex: 1 1 auto; }
.internal-post { padding: var(--internal-space-md) var(--internal-space-sm); gap: var(--internal-space-md); }
.internal-avatar { width: 3rem; height: 3rem; flex-basis: 3rem; border-radius: .7rem; font-size: 1.2rem; }
.internal-post .internal-post-meta { display: flex; align-items: baseline; gap: var(--internal-space-sm); font-size: .95rem; font-weight: 400; margin: 0; }
.internal-post-meta strong { color: var(--internal-ink); font-size: 1.1rem; font-weight: 700; }
.internal-message-content { line-height: 1.45; }
.internal-post-actions { align-items: center; gap: var(--internal-space-sm); }
.internal-post-actions > button { display: inline-flex; align-items: center; gap: var(--internal-space-sm); font-size: .95rem; padding: var(--internal-space-xs) var(--internal-space-md); border-radius: var(--internal-space-md); }
.internal-post-actions .internal-saved-control:not([data-saved-problem="true"]) > [role="status"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.internal-page .internal-star-saved { color: var(--internal-brand); background: var(--internal-brand-soft); }
.internal-star-saved .internal-icon { fill: currentColor; }
.internal-read-popover, .internal-message-more { position: relative; }
.internal-read-popover > summary, .internal-message-more > summary { list-style: none; display: flex; align-items: center; justify-content: center; width: var(--internal-target); min-height: var(--internal-target); cursor: pointer; border-radius: var(--internal-space-sm); }
.internal-read-popover > summary::-webkit-details-marker, .internal-message-more > summary::-webkit-details-marker { display: none; }
.internal-message-more > summary { font-size: 1.5rem; }
.internal-read-popover > div, .internal-read-popover > section, .internal-message-menu { position: absolute; z-index: 6; inset: 100% 0 auto auto; width: min(23rem, 75vw); background: var(--internal-surface); border: 1px solid var(--internal-line); border-radius: var(--internal-space-sm); padding: var(--internal-space-sm); box-shadow: var(--internal-shadow); }
.internal-message-menu { display: grid; gap: var(--internal-space-xs); inset: auto 0 100% auto; }
.internal-message-menu > button { display: flex; align-items: center; gap: var(--internal-space-sm); text-align: start; }
.internal-message-menu .internal-archive-control { display: block; }
.internal-message-menu .internal-archive-control button { width: 100%; }
.internal-members-dialog .internal-member-tools { display: grid; border: 0; }
.internal-members-dialog .internal-members { display: grid; gap: var(--internal-space-sm); }
.internal-compose-area { padding: var(--internal-space-sm) 0 0; }
.internal-compose-area > .internal-form, .internal-thread > .internal-form { position: relative; padding: var(--internal-space-sm); border-radius: var(--internal-radius); gap: 0; }
.internal-form .internal-rich-composer { gap: var(--internal-space-xs); }
.internal-form .internal-rich-composer > label { margin: 0; }
.internal-form .internal-rich-composer .internal-format-toolbar { padding-block: 0; }
.internal-rich-composer .internal-attachments:not(:has([data-attachment-id])) { border: 0; padding: 0; }
.internal-rich-composer .internal-attachment-items:not(:has([data-attachment-id])) { display: none; }
.internal-rich-composer .internal-attachments[data-composer-chooser="button"]:not(:has([data-attachment-id])):not(:has([role="status"]:not(:empty))):not(:has(dialog[open])) { display: none; }
.internal-form .internal-rich-composer textarea { min-height: max(var(--internal-target), calc(1.5em + 1rem)); height: var(--internal-target); padding-block: var(--internal-space-sm); }
.internal-page .internal-send { position: absolute; inset: auto var(--internal-space-sm) var(--internal-space-sm) auto; min-height: var(--internal-target); width: 3rem; display: inline-flex; align-items: center; justify-content: center; padding: var(--internal-space-sm); border-radius: .7rem; background: var(--internal-brand); color: var(--internal-brand-ink); }
/* A hidden link/recorder dialog must not move Send off the bottom toolbar. */
.internal-form:has(.internal-composer-feature-status:not([hidden])) .internal-send, .internal-form:has(> div:not(.internal-rich-composer) .msg) .internal-send { position: static; justify-self: end; }
.internal-form .internal-composer-tools { padding-inline-end: 3.5rem; }
.internal-rich-composer > .internal-composer-help:empty, .internal-rich-composer .internal-attachments > [role="status"]:empty { display: none; }
.internal-thread { padding-top: var(--internal-space-sm); }
.internal-thread .thread-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--internal-space-sm); min-height: 3.25rem; }
.internal-thread .thread-header h3 { margin: 0; }
.internal-thread .thread-header .button-row button { display: inline-flex; align-items: center; gap: var(--internal-space-sm); }
.internal-thread-history > .internal-posts { flex: 1 1 auto; height: auto; min-height: 12rem; }
.internal-saved-feedback { position: fixed; z-index: 12; inset: auto var(--internal-space-lg) var(--internal-space-lg) auto; display: flex; align-items: center; gap: var(--internal-space-sm); max-width: calc(100vw - 3rem); padding: var(--internal-space-sm) var(--internal-space-md); border: 1px solid var(--internal-line); border-radius: var(--internal-space-md); background: var(--internal-surface); color: var(--internal-ink); box-shadow: var(--internal-shadow); }
.internal-detail [data-internal-notice]:empty { display: none; }
.internal-page[data-thread-window="true"] .internal-workspace-header { grid-template-columns: 1fr; min-height: 0; }
.internal-page[data-thread-window="true"] .internal-brand-row > :not(.internal-wordmark):not(h1), .internal-page[data-thread-window="true"] .conversation-sections { display: none; }
.internal-page[data-thread-window="true"] .internal-conversation-layout { height: calc(100dvh - 8rem); min-height: 30rem; }
@media (max-width: 1350px) {
  .internal-wordmark { width: 11rem; }
  .internal-page .internal-workspace-header { gap: var(--internal-space-md); }
  .internal-dashboard-link { font-size: .85rem; }
  .internal-workspace-tools > button, .internal-tools-host > button { padding-inline: var(--internal-space-md); }
}
@media (max-width: 1200px) {
  .internal-page .internal-workspace-header .internal-brand-row { order: 0; }
  .internal-page .internal-workspace-header .conversation-sections { order: 1; }
  .internal-page .internal-workspace-header .internal-search-entry { order: 2; flex-basis: 100%; }
  .internal-page[data-menu-open="true"][data-open="true"] .internal-grid { display: block; }
  .internal-page[data-open="true"] .internal-channels { position: absolute; top: 0; width: min(var(--internal-popup-width), 100%); }
  .internal-conversation-layout { height: calc(100dvh - 20rem); }
}
@media (max-width: 700px) {
  .workspace-shell[data-internal-focus="true"] #view-panel { padding-inline: var(--internal-space-sm); }
  .internal-brand-row { min-width: 0; }
  .internal-brand-row .internal-wordmark { display: block; width: 8.5rem; height: 2.75rem; padding: 0; }
  .internal-dashboard-link { display: none; }
  .internal-page .internal-workspace-header { gap: var(--internal-space-sm); }
  .internal-page .conversation-sections a { min-width: 0; padding-inline: var(--internal-space-md); font-size: .9rem; }
  .internal-workspace-tools { min-height: 3.5rem; flex-wrap: wrap; padding-block: var(--internal-space-xs); row-gap: var(--internal-space-xs); }
  .internal-workspace-tools > button, .internal-tools-host > button { padding-inline: var(--internal-space-sm); font-size: .85rem; }
  .internal-workspace-tools > .internal-channel-menu { margin-inline-end: var(--internal-space-xs); padding-inline: var(--internal-space-sm); }
  .internal-workspace-tools .internal-icon { width: 18px; height: 18px; }
  .internal-detail { padding: var(--internal-space-sm); }
  .internal-detail .internal-channel-header > h2 { font-size: 1.5rem; }
  .internal-conversation-layout { height: auto; min-height: 28rem; }
  .internal-channel-main [data-internal-topics], .internal-thread-history > .internal-posts { flex: 0 0 auto; height: max(18rem, 45dvh); min-height: 0; }
  .internal-post { gap: var(--internal-space-sm); }
  .internal-avatar { width: 2.25rem; height: 2.25rem; flex-basis: 2.25rem; font-size: .9rem; }
  .internal-post-actions { gap: var(--internal-space-xs); }
  .internal-post-actions > button { padding-inline: var(--internal-space-sm); font-size: .85rem; }
  .internal-canvas-tabs { gap: 0; }
  .internal-canvas-tabs [role="tab"] { padding-inline: var(--internal-space-sm); font-size: .9rem; }
  .internal-channel-privacy { font-size: .85rem; }
  .internal-saved-feedback { flex-wrap: wrap; inset-inline: var(--internal-space-sm); max-width: none; }
}
