@import url('./delivery-model.css');
@import url('./color-tokens.css');
@import url('./automations.css');
@import url('./storage-management.css');
@import url('./material-permissions.css');
@import url('./connection-hub.css');

/* Shared visual and reading system. Components select roles, never local palettes.
   Usage: docs/ui-unification.md and docs/typography.md. */
:root {
  --font-family-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --font-size-body:16px;
  --font-size-ui:15px;
  --font-size-table:14px;
  --font-size-note:13px;
  --font-size-meta:12px;
  --font-size-heading:18px;
  --font-size-title:24px;
  --font-size-mobile-navigation:17px;
  --font-size-mobile-section:20px;
  --font-size-metric:32px;
  --font-size-metric-responsive:clamp(var(--font-size-title),13cqi,var(--font-size-metric));
  --visual-reading-width:960px;
  --font-weight-regular:400;
  --font-weight-medium:500;
  --font-weight-semibold:600;
  --line-body:1.75;
  --line-ui:1.5;
  --line-heading:1.4;
  --line-mobile-body:1.6;
  --line-mobile-note:1.7;
  --reading-width:720px;
  --topbar-height:40px;
  --shadow-popover:0 8px 28px var(--shadow-color),0 2px 6px var(--shadow-faint);
  --shadow-drawer:-8px 0 32px var(--shadow-drawer-color);
  --radius-mark:2px;
  --radius-detail:4px;
  --radius-control:8px;
  --radius-card:12px;
  --radius-panel:16px;
  --radius-pill:999px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-16:64px;
  --control-height:44px;
  --icon-size:16px;
  --icon-size-nav:20px;
  --icon-size-brand:24px;
  --icon-size-empty:32px;
  --icon-size-send:20px;
  --icon-size-option:20px;
  --icon-stroke:1.75;
  --avatar-size-message:32px;
  --avatar-size-compact:32px;
  --avatar-size-hero:96px;
  --avatar-size-choice:72px;
  --avatar-size-preview:112px;
  --avatar-size-peek:36px;
  --page-gutter:clamp(24px,4vw,64px);
  --page-top:40px;
  --paper:var(--surface);
  --conversation-surface:color-mix(in srgb,var(--surface-subtle) 50%,var(--surface));
  --warm:var(--surface-subtle);
  --pale:var(--accent-soft);
  --amber:var(--warning);
  background:var(--surface);
  font-family:var(--font-family-sans);
  font-size:var(--font-size-body);
  font-weight:var(--font-weight-regular);
  line-height:var(--line-body);
  color:var(--ink);
  font-synthesis:none;
}

/* Defaults also cover content introduced later, including AI-generated prose. */
body { font:inherit; color:var(--ink); }
button,input,select,textarea {
  font-family:inherit;
  font-size:var(--font-size-ui);
  font-weight:var(--font-weight-regular);
  line-height:var(--line-ui);
}
h1,h2,h3,h4,h5,h6 {
  color:var(--heading);
  font-weight:var(--font-weight-semibold);
  line-height:var(--line-heading);
}
h1 { font-size:var(--font-size-title); }
h2,h3,h4,h5,h6 { font-size:var(--font-size-heading); }
strong,b { font-weight:var(--font-weight-semibold); }
small { font-size:var(--font-size-note); line-height:var(--line-ui); }
table { font-size:var(--font-size-table); line-height:var(--line-ui); }
th { font-weight:var(--font-weight-medium); color:var(--ink); }

/* Reusable roles for new content; existing components reference the same tokens. */
.type-body { font-size:var(--font-size-body); line-height:var(--line-body); color:var(--ink); }
.type-ui { font-size:var(--font-size-ui); line-height:var(--line-ui); }
.type-note { font-size:var(--font-size-note); line-height:var(--line-ui); color:var(--muted); }
.type-meta { font-size:var(--font-size-meta); line-height:var(--line-ui); color:var(--subtle); }
.type-heading { font-size:var(--font-size-heading); font-weight:var(--font-weight-semibold); color:var(--heading); }
.type-title { font-size:var(--font-size-title); font-weight:var(--font-weight-semibold); color:var(--heading); }
.type-metric { font-size:var(--font-size-metric); font-weight:var(--font-weight-semibold); font-variant-numeric:tabular-nums; color:var(--ink); }
.reading-prose { max-width:var(--reading-width); overflow-wrap:anywhere; }

* {
  box-sizing:border-box;
}

body {
  margin:0;
}

/* Stop boundary bounce and scroll handoff without disabling normal scrolling. */
html,body { overscroll-behavior:none; }
/* Keep the viewport track present for short and long conversations alike.
   Desktop Chromium does not reserve this custom track with gutter alone;
   its appearance otherwise shifts every centered column by half its width. */
html { overflow-y:scroll; scrollbar-gutter:stable; }
/* Keep app scrollbars quiet and fixed-size, including macOS hover states.
   Standard thin scrollbars can expand on hover in Chromium; use custom tracks
   there, and the standard properties only where custom tracks are unavailable. */
*::-webkit-scrollbar { width:8px; height:8px; }
*::-webkit-scrollbar-track,*::-webkit-scrollbar-corner { background:transparent; }
*::-webkit-scrollbar-thumb {
  background:transparent; background-clip:padding-box;
  border:2px solid transparent; border-radius:var(--radius-control);
}
[data-scroll-active]::-webkit-scrollbar-thumb,
*::-webkit-scrollbar-thumb:hover,*::-webkit-scrollbar-thumb:active { background-color:var(--scrollbar); }
*::-webkit-scrollbar-button { display:none; }
@supports not selector(::-webkit-scrollbar) {
  * { scrollbar-width:thin; scrollbar-color:transparent transparent; }
  [data-scroll-active],*:hover { scrollbar-color:var(--scrollbar) transparent; }
}
@media (forced-colors:active) {
  * { scrollbar-color:auto; }
  *::-webkit-scrollbar-thumb { background:CanvasText; }
}

.library-page,.enterprise-directory,.conversation-scroll,.canvas,
.result-drawer,.real-drawer-body,.tree-sidebar,.upload-receipts {
  overscroll-behavior:none;
}
/* Wide tables still let vertical wheel gestures scroll the surrounding page. */
.table-scroll,.report-table-scroll,.report-chart-scroll,.message-table-scroll,
.message-prose pre { overscroll-behavior-x:none; }

button,input,textarea,select {
  font-family:inherit;
}

button {
  cursor:pointer;
  color:inherit;
}

button:disabled {
  cursor:not-allowed;
  opacity:.5;
}

button,input,textarea,select {
  outline:none;
}

button:focus-visible,a:focus-visible {
  outline:2px solid var(--accent-ink);
  outline-offset:2px;
}

button {
  border:0;
  background:none;
}

a {
  color:var(--accent-ink);
}

svg {
  display:block;
  flex-shrink:0;
}

.icon {
  width:var(--icon-size);
  height:var(--icon-size);
  stroke:currentColor;
  fill:none;
  stroke-width:var(--icon-stroke);
  stroke-linecap:round;
  stroke-linejoin:round;
}

.nav-item > .icon,.new-task > .icon {
  width:var(--icon-size-nav);
  height:var(--icon-size-nav);
}

.sidebar .nav > .nav-item > .icon {
  width:var(--font-size-ui);
  height:var(--font-size-ui);
}

h1,h2,h3,p {
  margin:0;
}

button {
  transition:background .15s,color .15s,border-color .15s;
}

.app-shell {
  --topbar-height:0px;
  display:grid;
  grid-template-columns:var(--sidebar-width,200px) minmax(0,1fr);
  height:100dvh;
  min-height:0;
}

.sidebar {
  position:relative;
  --sidebar-row-height:36px;
  --sidebar-row-gap:2px;
  --sidebar-gutter:var(--space-1);
  --sidebar-content-inset:var(--space-2);
  --surface-hover:var(--surface-selected);
  background:var(--warm);
  border-right:1px solid var(--line);
  padding:var(--space-4) var(--sidebar-gutter) 8px;
  display:flex;
  flex-direction:column;
  min-height:0;
  min-width:0;
}

.brand {
  display:flex;
  gap:10px;
  align-items:center;
  padding:0 var(--sidebar-content-inset);
  height:44px;
  flex:none;

  font-size:var(--font-size-heading);
  letter-spacing:.1px;
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}

.sidebar-toggle {
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  flex:none;
  margin-left:auto;
  padding:6px;
  color:var(--muted);
  border-radius:var(--radius-control);
}
.sidebar-toggle:hover { background:var(--surface-hover); color:var(--ink); }
.sidebar-toggle:focus-visible { outline:2px solid var(--accent-ink); outline-offset:2px; }
.sidebar-toggle>.icon { width:var(--icon-size-nav); height:var(--icon-size-nav); }
.sidebar-brand-symbol { display:none; width:32px; height:auto; object-fit:contain; }
.sidebar-backdrop { display:none; }
/* Keep the resize target in the gutter and beyond, clear of row actions. */
.sidebar-resizer { position:absolute; inset:0 auto 0 calc(100% - var(--sidebar-gutter)); width:12px; z-index:20; cursor:col-resize; touch-action:none; outline:none; }
.sidebar-resizer::after { content:""; position:absolute; inset:0 auto 0 var(--sidebar-gutter); width:1px; background:transparent; }
.sidebar-resizer:hover::after,.sidebar-resizer:focus-visible::after,.sidebar-resizing .sidebar-resizer::after { background:var(--line-strong); }
.sidebar-collapsed .sidebar-resizer,.sidebar-peek .sidebar-resizer { display:none; }
.sidebar-resizing,.sidebar-resizing * { cursor:col-resize!important; user-select:none!important; }
.sidebar-resizing iframe { pointer-events:none; }
@media(max-width:760px) { .sidebar-resizer { display:none; } }

.brand-mark {
  width:34px;
  height:34px;
  border-radius:var(--radius-control);
  background:var(--accent);
  color:var(--on-accent);
  display:grid;
  place-items:center;
}

.brand-mark .icon {
  width:var(--icon-size-brand);
  height:var(--icon-size-brand);
}

.brand-wordmark {
  display:block;
  height:44px;
  width:auto;
  max-width:100%;
  object-fit:contain;
  flex:none;
}

.account-entry-brand .brand-wordmark {
  height:48px;
}
.brand-adaptive>img { display:block; height:100%; width:auto; max-width:100%; object-fit:contain; }
.brand-adaptive>.brand-dark { display:none; }
:root[data-theme="dark"] .brand-adaptive>.brand-light { display:none; }
:root[data-theme="dark"] .brand-adaptive>.brand-dark { display:block; }
:root[data-theme="dark"] .sidebar-logo-wordmark { filter:brightness(0) invert(1); }
@media print {
  :root[data-theme] .brand-adaptive>.brand-light { display:block; }
  :root[data-theme] .brand-adaptive>.brand-dark { display:none; }
  :root[data-theme] .sidebar-logo-wordmark { filter:none; }
}
.sidebar .brand-wordmark { height:36px; }
.sidebar .sidebar-brand-lockup { display:flex; align-items:center; gap:var(--space-2); }
.sidebar-logo-symbol { display:block; height:26px; width:auto; flex:none; }
.sidebar-logo-wordmark { display:block; width:67px; height:auto; flex:none; }

.brand-symbol {
  object-fit:contain;
}

.assistant-avatar.is-brand > img.brand-symbol {
  height:auto;
}

.nav {
  margin-top:var(--space-2);
  display:grid;
  gap:var(--sidebar-row-gap);
  flex:none;
}

.nav-item {
  display:flex;
  align-items:center;
  text-align:left;
  gap:9px;
  width:100%;
  font-size:var(--font-size-ui);
  padding:5px var(--sidebar-content-inset);
  min-height:var(--sidebar-row-height);
  border-radius:var(--radius-control);
  color:var(--ink);
}

.nav-item:hover { background:var(--surface-hover); }

.count {
  margin-left:auto;
  min-width:20px;
  text-align:center;
  font-size:var(--font-size-meta);
  background:var(--accent-soft);
  padding:2px 5px;
  border-radius:var(--radius-detail);
}

.side-section-label {
  font-size:var(--font-size-note);
  letter-spacing:1.5px;
  color:var(--muted);
  margin:34px 14px 12px;
}

.history-list {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-width:0;
  gap:5px;
  overflow:auto;
  max-height:36vh;
}

.history-item {
  min-width:0;
  max-width:100%;
  padding:10px 13px;
  text-align:left;
  display:flex;
  gap:8px;
  align-items:center;
  font-size:var(--font-size-ui);
  color:var(--ink);
  border-radius:var(--radius-control);
}

.history-item:hover { background:var(--surface-hover); }
/* Selection and hover share a surface; text and aria-current retain selection. */
.nav-item,.history-item { position:relative; }
.nav-item.active,.history-item.selected {
  background:var(--surface-hover);
  color:var(--selected-ink);
  font-weight:var(--font-weight-medium);
}
.history-item .history-title {
  min-width:0;
  flex:1;
  overflow:hidden;
  text-overflow:clip;
  white-space:nowrap;
  mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);
}
.history-item .history-title.is-title-scrolling{mask-image:none}
@media(prefers-reduced-motion:reduce){
  .directory-task:hover .history-title,.directory-task:focus-within .history-title{white-space:normal;overflow-wrap:anywhere;mask-image:none}
}

.history-dot {
  width:5px;
  height:5px;
  background:var(--subtle);
  border-radius:50%;
  flex-shrink:0;
}

.conversation-status {display:block;flex:none;width:14px;height:14px;margin-left:auto;}
.conversation-status-running {position:relative;border-radius:50%;animation:spin 1.2s linear infinite;}
.conversation-status-running::before {content:"";position:absolute;inset:0;border-radius:inherit;background:conic-gradient(transparent 0deg,var(--accent) 300deg,var(--accent) 360deg);-webkit-mask-image:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));mask-image:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));}
.conversation-status-running::after {content:"";position:absolute;top:0;left:calc(50% - 1px);width:2px;height:2px;border-radius:50%;background:var(--accent);}
@media(prefers-reduced-motion:reduce) { .conversation-status-running {animation:none;} }
.conversation-status-completed {width:8px;height:8px;margin-right:3px;border-radius:50%;background:var(--accent);}


.history-empty {
  font-size:var(--font-size-note);
  color:var(--muted);
  line-height:var(--line-ui);
  margin:0 14px;
}

.sidebar-bottom {
  flex:none;
  padding-top:var(--space-1);
  background:var(--warm);
}
.sidebar-account-row { display:flex; align-items:center; padding-left:var(--space-1); }
.sidebar-utilities {display:grid;gap:2px;margin-bottom:8px;}
.sidebar-utilities>button {display:flex;align-items:center;gap:8px;min-height:32px;width:100%;padding:6px 8px;color:var(--muted);font-size:var(--font-size-note);border-radius:var(--radius-control);text-align:left;}
.sidebar-utilities>button:hover {background:var(--surface-hover);color:var(--ink);}
.sidebar-utilities .icon {width:16px;height:16px;flex:none;}
.sidebar-utility-count {margin-left:auto;font-size:var(--font-size-meta);font-variant-numeric:tabular-nums;}

.workspace-button {
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
  width:32px;
  height:32px;
  padding:0;
  border-radius:var(--radius-pill);
}

.workspace-button:hover { background:var(--surface-hover); }

.account-avatar {
  position:relative;
  width:24px;
  height:24px;
  flex:none;
  border-radius:var(--radius-pill);
  display:grid;
  place-items:center;
  background:var(--line);
  color:var(--muted);
  font-size:var(--font-size-note);
  font-weight:var(--font-weight-medium);
}

.account-avatar .icon { width:14px; height:14px; }
.account-avatar .account-unread { position:absolute; right:-1px; top:-1px; box-shadow:0 0 0 2px var(--warm); }

.main-shell {
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
}

.topbar {
  height:var(--topbar-height);
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 34px;
  border-bottom:1px solid var(--line);
  background:var(--paper);
  gap:12px;
}

.breadcrumb {
  display:flex;
  gap:12px;
  align-items:center;
  font-size:var(--font-size-note);
  color:var(--muted);
  white-space:nowrap;
  min-width:0;
}

.breadcrumb-current { overflow:hidden; text-overflow:ellipsis; }
.top-actions { flex-shrink:0; }

.breadcrumb strong {
  font-weight:var(--font-weight-medium);
  color:var(--ink);
}

.top-actions {
  display:flex;
  align-items:center;
  gap:14px;
}

.prototype-badge {
  font-size:var(--font-size-note);
  letter-spacing:.3px;
  color:var(--warning);
  background:var(--warning-surface);
  border:1px solid var(--warning-line);
  padding:6px 9px;
  border-radius:var(--radius-detail);
  white-space:nowrap;
}

.review-button {
  font-size:var(--font-size-ui);
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--muted);
  padding:7px 0;
}

.workspace {
  display:grid;
  grid-template-columns:minmax(460px,1.22fr) minmax(370px,1fr);
  min-width:0;
  max-width:100%;
  min-height:0;
  flex:1;
}

.conversation {
  --conversation-gutter:clamp(16px,3vw,32px);
  background:var(--conversation-surface);
  display:flex;
  flex-direction:column;
  min-height:0;
  min-width:0;
  border-right:1px solid var(--line);
}

.conversation-scroll {
  width:100%;
  min-width:0;
  /* Content may scroll locally, but must not set the column's intrinsic width. */
  contain:inline-size;
  padding:38px var(--conversation-gutter) 20px;
  overflow-y:auto;
  flex:1;
  scroll-behavior:auto;
}

.welcome {
  max-width:650px;
  margin:auto;
  padding-top:15px;
}

.eyebrow {
  font-size:var(--font-size-note);
  letter-spacing:2px;
  text-transform:uppercase;
  font-weight:var(--font-weight-semibold);
  color:var(--muted);
  display:flex;
  gap:8px;
  align-items:center;
}

.dot {
  height:5px;
  width:5px;
  display:inline-block;
  background:var(--subtle);
  border-radius:50%;
}

.welcome h1 {
  font-size:var(--font-size-title);
  line-height:var(--line-heading);

  letter-spacing:normal;
  margin:19px 0 14px;
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}

.welcome h1 span {
  color:var(--accent-ink);
}

.welcome-intro {
  font-size:var(--font-size-body);
  color:var(--ink);
  line-height:var(--line-body);
  max-width:420px;
}

.suggestion-title {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:var(--font-size-note);
  color:var(--muted);
  margin:34px 0 13px;
  letter-spacing:.2px;
}

.suggestions {
  display:grid;
  gap:10px;
}

.suggestion {
  padding:15px 17px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-control);
  display:flex;
  text-align:left;
  align-items:center;
  gap:14px;
}

.suggestion:hover {
  border-color:var(--line-strong);
  box-shadow:none;
  background:var(--warm);
}

.suggestion-icon {
  height:34px;
  width:34px;
  display:grid;
  place-items:center;
  background:var(--warm);
  border-radius:var(--radius-control);
  color:var(--muted);
}

.suggestion strong {
  display:block;
  font-size:var(--font-size-ui);
  font-weight:var(--font-weight-medium);
  margin-bottom:5px;
}

.suggestion small {
  display:block;
  font-size:var(--font-size-note);
  color:var(--muted);
}

.suggestion>.icon {
  margin-left:auto;
  color:var(--muted);
}

.welcome-footnote {
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--muted);
  font-size:var(--font-size-note);
  margin-top:20px;
}

.composer-wrap {
  width:100%;
  min-width:0;
  padding:10px var(--conversation-gutter) 12px;
  flex-shrink:0;
}

.composer {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  box-shadow:none;
  padding:10px 12px;
}

.revision-draft {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px 16px;
  flex-wrap:wrap;
  border-bottom:1px solid var(--line);
  padding-bottom:10px;
  margin-bottom:12px;
  color:var(--muted);
  font-size:var(--font-size-note);
}

.composer textarea {
  display:block;
  flex:1;
  min-width:0;
  height:32px;
  min-height:32px;
  max-height:144px;
  padding:2px 0;
  overflow-y:auto;
  resize:none;
  border:0;
  background:none;
  font-size:var(--font-size-body);
  line-height:var(--line-body);
  color:var(--ink);
}

.composer textarea::placeholder {
  color:var(--muted);
}

.composer-line {
  display:flex;
  align-items:flex-end;
  gap:10px;
}

.composer-line[hidden] { display:none; }
.voice-control { flex:none; display:grid; place-items:center; width:32px; height:32px; padding:0; border-radius:50%; color:var(--ink); }
.voice-control .icon { width:var(--icon-size-nav); height:var(--icon-size-nav); }
.voice-control:hover:not(:disabled) { background:var(--surface-hover); }
.voice-control:disabled { opacity:.45; }
.voice-input { display:flex; align-items:center; gap:10px; min-height:32px; }
.voice-input .voice-control { border:1px solid var(--line); }
.voice-content { display:flex; align-items:center; gap:12px; flex:1; min-width:0; }
.voice-waveform { flex:1; min-width:0; width:100%; height:32px; color:var(--muted); }
.voice-duration { flex:none; color:var(--muted); font-size:var(--font-size-meta); font-variant-numeric:tabular-nums; }
.voice-status { flex:1; padding:2px 0; text-align:center; font-size:var(--font-size-body); line-height:var(--line-body); overflow-wrap:anywhere; }
.voice-retry { flex:none; padding:6px; color:var(--accent); font-size:var(--font-size-ui); border-radius:var(--radius-control); }
.voice-retry:hover { background:var(--accent-soft); }
.voice-spinner { flex:none; box-sizing:border-box; width:20px; height:20px; margin:6px; border:2px solid var(--line); border-top-color:var(--ink); border-radius:50%; animation:voice-spin .9s linear infinite; }
@keyframes voice-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .voice-spinner { animation:none; } }
@media (max-width:480px) { .voice-duration { display:none; } .voice-input { gap:8px; } }

.composer-tools { position:relative; flex:none; }
.composer-add { display:grid; place-items:center; width:32px; height:32px; padding:0; border-radius:var(--radius-control); color:var(--muted); }
.composer-add:hover,.composer-add[aria-expanded="true"] { background:var(--warm); color:var(--ink); }
.composer-add .icon { width:var(--icon-size-nav); height:var(--icon-size-nav); }
.composer-tools-menu { position:absolute; bottom:calc(100% + 12px); left:-8px; z-index:1; width:360px; max-width:calc(100vw - 64px); padding:6px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--paper); box-shadow:var(--shadow-popover); }
.composer-tools-menu button { display:flex; align-items:center; gap:12px; width:100%; min-height:44px; padding:10px; border-radius:var(--radius-control); text-align:left; font-size:var(--font-size-ui); }
.composer-tool-copy { display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 12px; min-width:0; }
.composer-tool-label { white-space:nowrap; }
.composer-tool-description { color:var(--subtle); }
.composer-tools-menu button:hover,.composer-tools-menu:not(:has(button:hover)) button:focus { background:var(--surface-hover); }
.composer-tools-menu button:focus-visible { outline-offset:-2px; }

.send-button {
  width:32px;
  height:32px;
  flex-shrink:0;
  background:var(--accent);
  color:var(--on-accent);
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-left:auto;
}

.send-button:hover:not(:disabled) {
  background:var(--accent-hover);
}

.send-button:disabled { background:var(--disabled-fill); opacity:1; }

.send-button .icon {
  width:var(--icon-size-send);
  height:var(--icon-size-send);
}

.composer-footer {
  text-align:center;
  font-size:var(--font-size-meta);
  color:var(--muted);
  padding-top:9px;
  line-height:var(--line-ui);
}

.canvas {
  padding:27px 28px;
  overflow-y:auto;
  background:var(--warm);
  min-width:0;
}

.canvas-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:var(--font-size-note);
  margin-bottom:23px;
}

.canvas-title {
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:var(--font-weight-semibold);
}

.canvas-title .icon {
  color:var(--muted);
}

.subtle-label {
  font-size:var(--font-size-note);
  color:var(--muted);
}

.paper {
  border:1px solid var(--line);
  background:var(--paper);
  border-radius:var(--radius-card);
  box-shadow:none;
  overflow:hidden;
}

.paper-top {
  padding:24px 25px 20px;
  border-bottom:1px solid var(--line);
}

.paper-top h2 {
  font-size:var(--font-size-title);

  line-height:var(--line-heading);
  margin:9px 0;
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}

.paper-top p {
  font-size:var(--font-size-note);
  color:var(--muted);
  line-height:var(--line-ui);
}

.month-chip {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:var(--font-size-note);
  color:var(--muted);
  letter-spacing:.3px;
}

.deliverable-list {
  padding:9px 24px 15px;
}

.deliverable {
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px 0;
  border-bottom:1px solid var(--line);
}

.deliverable:last-child {
  border:0;
}

.number {
  font-size:var(--font-size-meta);
  color:var(--muted);
  width:23px;
  padding-top:3px;
  font-variant-numeric:tabular-nums;
}

.deliverable h3 {
  font-weight:var(--font-weight-medium);
  font-size:var(--font-size-note);
  margin-bottom:7px;
}

.deliverable p {
  color:var(--muted);
  font-size:var(--font-size-note);
  line-height:var(--line-ui);
}

.paper-bottom {
  background:var(--warm);
  padding:15px 23px;
  display:flex;
  gap:8px;
  align-items:center;
  font-size:var(--font-size-note);
  color:var(--muted);
}

.memory-teaser {
  margin-top:20px;
  padding:18px 2px;
  display:flex;
  align-items:flex-start;
  gap:12px;
}

.memory-leaf {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  color:var(--muted);
  background:var(--surface-selected);
  border-radius:var(--radius-control);
}

.memory-teaser h3 {
  font-size:var(--font-size-note);
  font-weight:var(--font-weight-medium);
  margin:2px 0 7px;
}

.memory-teaser p {
  font-size:var(--font-size-note);
  line-height:var(--line-ui);
  color:var(--muted);
}

.memory-teaser button {
  font-size:var(--font-size-ui);
  color:var(--muted);
  margin-top:11px;
  padding:0;
  display:flex;
  gap:5px;
  align-items:center;
}

.task-caption {
  display:flex;
  gap:7px;
  align-items:center;
  color:var(--muted);
  font-size:var(--font-size-note);
  border-top:1px solid var(--line);
  padding-top:18px;
  margin-top:8px;
}

.chat-message {
  margin-bottom:25px;
}

.verification-card {
  margin:0 22px 20px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  background:var(--warm);
  color:var(--muted);
  font-size:var(--font-size-note);
  line-height:var(--line-ui);
}
.verification-card strong {
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--accent-ink);
}
.verification-card p { margin:8px 0; }
.usage-card {
  margin:0 0 22px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  background:var(--warm);
  font-size:var(--font-size-note);
  line-height:var(--line-ui);
}
.usage-card p { margin:8px 0; }
.usage-card summary, .proposal-reason summary { cursor:pointer; color:var(--accent-ink); }
.proposal-reason { margin:0 0 20px; }

.message-heading {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:var(--font-size-note);
  color:var(--muted);
  margin-bottom:12px;
}

.ai-avatar {
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:var(--radius-control);
  background:var(--accent-soft);
  color:var(--muted);
}

.message-copy {
  min-width:0;
  max-width:100%;
  font-size:var(--font-size-body);
  line-height:var(--line-body);
  color:var(--ink);
}

.message-copy strong {
  font-weight:var(--font-weight-semibold);
  color:var(--ink);
}

.user-message {
  margin-left:30px;
  padding:7px 17px;
  background:var(--accent-soft);
  border:1px solid transparent;
  border-radius:var(--radius-panel);
  font-size:var(--font-size-body);
  line-height:var(--line-body);
  color:var(--ink);
  white-space:pre-wrap;
}

.attachments {
  min-width:0;
  margin-top:13px;
}

.file-list {
  container-type:inline-size;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  width:100%;
  border:1px solid var(--line);
  border-radius:var(--radius-control);
  background:var(--paper);
}

.file-chip {
  display:flex;
  gap:12px;
  align-items:center;
  border:0;
  padding:10px 12px;
  background:transparent;
  border-radius:0;
  font-size:var(--font-size-note);
  text-align:left;
  max-width:100%;
  min-width:0;
  width:100%;
}

.file-chip + .file-chip { border-top:1px solid var(--line); }
.file-chip:first-child { border-radius:var(--radius-control) var(--radius-control) 0 0; }
.file-chip:last-child { border-radius:0 0 var(--radius-control) var(--radius-control); }
.file-chip:only-child { border-radius:var(--radius-control); }
.file-chip:hover { background:var(--warm); }
.file-chip:focus-visible { outline-offset:-3px; }
.file-chip-copy { min-width:0; flex:1; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; }

.file-chip .icon {
  color:var(--muted);
}

.file-chip strong {
  font-size:var(--font-size-ui);
  font-weight:var(--font-weight-medium);
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.file-chip small {
  font-size:var(--font-size-note);
  color:var(--muted);
  display:block;
  margin-top:0;
}

.file-chip .file-read-failed,.file-group .file-read-failed { font-size:var(--font-size-table); color:var(--danger); }
.file-chip .file-read-pending,.file-group .file-read-pending { font-size:var(--font-size-table); color:var(--ink); }
@container (max-width:400px) {
  .file-chip-copy { grid-template-columns:minmax(0,1fr); gap:3px; }
}

.status-pill {
  display:inline-flex;
  gap:5px;
  align-items:center;
  border:1px solid var(--line);
  background:var(--surface-selected);
  color:var(--muted);
  font-size:var(--font-size-note);
  border-radius:var(--radius-detail);
  padding:4px 7px;
  white-space:nowrap;
}

.status-pill.warning {
  color:var(--warning);
  background:var(--warning-surface);
  border-color:var(--warning-line);
}

.status-pill.neutral {
  color:var(--muted);
  background:var(--warm);
  border-color:var(--line);
}

.task-progress {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-control);
  padding:16px 18px;
  margin:12px 0;
}

.task-progress-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:var(--font-size-ui);
  font-weight:var(--font-weight-medium);
  margin-bottom:15px;
}

.step {
  display:flex;
  gap:10px;
  align-items:center;
  padding:7px 0;
  font-size:var(--font-size-ui);
  color:var(--muted);
}

.step.done {
  color:var(--muted);
}

.step.active {
  color:var(--ink);
}

.step-note {
  font-size:var(--font-size-note);
  margin-left:auto;
  color:var(--muted);
}

.spinning {
  animation:spin 1.3s linear infinite;
}

.inline-card {
  border:1px solid var(--warning-line);
  border-radius:var(--radius-control);
  background:var(--warning-surface);
  padding:19px 20px;
  margin-top:14px;
}

.inline-card h3 {
  font-size:var(--font-size-heading);

  margin-bottom:9px;
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}

.inline-card p {
  font-size:var(--font-size-body);
  line-height:var(--line-body);
  color:var(--ink);
}

.result-entry { margin-top:16px; padding-top:12px; border-top:1px solid var(--line); overflow-wrap:anywhere; }
.result-entry p { margin:0 0 8px; color:var(--ink); font-size:var(--font-size-body); line-height:var(--line-body); }
.result-entry .primary,.result-entry .text-link { max-width:100%; white-space:normal; }

.button-row {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:16px;
}

.primary,.secondary { min-height:var(--control-height); font-weight:var(--font-weight-medium); }
.secondary { font-weight:var(--font-weight-regular); }

.primary {
  background:var(--accent);
  color:var(--on-accent);
  border:1px solid var(--accent);
  border-radius:var(--radius-control);
  padding:10px 14px;
  font-size:var(--font-size-ui);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}

.primary:hover:not(:disabled) {
  background:var(--accent-hover);
}

.secondary {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-control);
  padding:10px 13px;
  font-size:var(--font-size-ui);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}

.secondary:hover:not(:disabled) {
  background:var(--warm);
}

.text-button {
  color:var(--muted);
  font-size:var(--font-size-ui);
  padding:6px 0;
  display:inline-flex;
  gap:5px;
  align-items:center;
}

.quick-actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:16px;
}

.quick-action {
  font-size:var(--font-size-ui);
  border:1px solid var(--line-strong);
  background:var(--paper);
  border-radius:var(--radius-pill);
  padding:7px 12px;
  color:var(--muted);
}

.quick-action:hover {
  background:var(--surface-hover);
  border-color:var(--line-strong);
}

.review-note {
  font-size:var(--font-size-table);
  line-height:var(--line-ui);
  color:var(--muted);
  margin-top:13px;
}

.result-summary {
  font-size:var(--font-size-body);
  line-height:var(--line-body);
  letter-spacing:.1px;
  margin-bottom:10px;
}

.result-summary strong {
  font-weight:var(--font-weight-semibold);
}

.result-callout {
  border-left:2px solid var(--line-selected);
  padding:0 0 0 12px;
  margin:15px 0;
  font-size:var(--font-size-body);
  line-height:var(--line-body);
  color:var(--ink);
}

.result-title-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.report-title {
  font-size:var(--font-size-heading);

  margin:8px 0 5px;
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}

.report-subtitle {
  font-size:var(--font-size-note);
  color:var(--muted);
}

.report-main {
  padding:24px;
}

.metric-kicker {
  color:var(--muted);
  font-size:var(--font-size-note);
  display:flex;
  align-items:center;
  gap:8px;
}

.metric {
  font-size:var(--font-size-metric);
  font-weight:var(--font-weight-medium);
  letter-spacing:normal;
  line-height:var(--line-heading);
  margin:12px 0 13px;
  font-variant-numeric:tabular-nums;
  color:var(--ink);
}

.metric span {
  font-size:var(--font-size-note);
  letter-spacing:0;
  color:var(--muted);
  margin-left:8px;
  font-weight:var(--font-weight-regular);
}

.scope-note {
  font-size:var(--font-size-body);
  line-height:var(--line-body);
  color:var(--ink);
}

.metric-pair {
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--line);
  gap:15px;
}

.small-metric p {
  font-size:var(--font-size-note);
  color:var(--muted);
  margin-bottom:7px;
}

.small-metric strong {
  font-weight:var(--font-weight-medium);
  font-size:var(--font-size-metric);
  font-variant-numeric:tabular-nums;
  letter-spacing:normal;
}

.small-metric span {
  font-size:var(--font-size-note);
  color:var(--muted);
  margin-left:4px;
}

.report-section {
  border-top:1px solid var(--line);
  padding:21px 24px;
}

.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
}

.section-heading h3 {
  font-size:var(--font-size-heading);
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}

.bar-row {
  display:grid;
  grid-template-columns:90px 1fr 58px;
  align-items:center;
  gap:10px;
  font-size:var(--font-size-table);
  margin-bottom:13px;
}

.bar-row:last-child {
  margin-bottom:0;
}

.bar-label {
  color:var(--muted);
  display:flex;
  align-items:center;
  gap:4px;
  text-align:left;
  padding:0;
  font-size:var(--font-size-table);
}

.bar-label:hover {
  color:var(--accent-ink);
}

.bar-track {
  height:8px;
  background:var(--surface-hover);
  border-radius:var(--radius-mark);
  overflow:hidden;
}

.bar-fill {
  height:100%;
  border-radius:var(--radius-mark);
  background:var(--chart-1);
}

.bar-value {
  text-align:right;
  color:var(--muted);
  font-size:var(--font-size-table);
  font-variant-numeric:tabular-nums;
}

.insight {
  display:flex;
  gap:9px;
  padding:12px;
  background:var(--warm);
  font-size:var(--font-size-note);
  line-height:var(--line-ui);
  border-radius:var(--radius-control);
  color:var(--muted);
  margin-top:18px;
}

.insight .icon {
  color:var(--muted);
  margin-top:2px;
}

.evidence-row {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:var(--font-size-note);
}

.evidence-row button {
  margin-left:auto;
}

.pending-memory {
  margin-top:15px;
  background:var(--warm);
  border:1px dashed var(--line-strong);
  padding:15px;
  border-radius:var(--radius-control);
  font-size:var(--font-size-body);
  line-height:var(--line-body);
  color:var(--ink);
}

.pending-memory strong {
  color:var(--muted);
  font-weight:var(--font-weight-medium);
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:3px;
}

.pending-memory button {
  margin-top:7px;
}

.empty-result {
  padding:26px;
}

.missing-number {
  font-size:var(--font-size-metric);
  color:var(--muted);
  margin:15px 0;
}

.drop-overlay {
  border:2px dashed var(--accent);
  background:var(--surface-selected);
  border-radius:var(--radius-card);
  padding:15px;
  color:var(--selected-ink);
  text-align:center;
  margin-bottom:10px;
  font-size:var(--font-size-note);
}

.selected-files {
  margin-bottom:9px;
  max-height:160px;
  overflow:auto;
}

.selected-file {
  font-size:var(--font-size-ui);
  padding:5px 8px;
  background:var(--warm);
  border-radius:var(--radius-detail);
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:5px;
}

.selected-file span {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.selected-file button {
  padding:4px;
}

.real-file-note {
  font-size:var(--font-size-table);
  color:var(--warning);
  line-height:var(--line-ui);
  margin-top:7px;
}

.overlay-backdrop {
  position:fixed;
  inset:0;
  background:var(--overlay);
  z-index:20;
  animation:fade .15s;
  display:flex;
  justify-content:flex-end;
  backdrop-filter:blur(2px);
}

.drawer {
  height:100%;
  width:min(570px,92vw);
  background:var(--paper);
  box-shadow:var(--shadow-drawer);
  display:flex;
  flex-direction:column;
  animation:slide .22s ease;
}

.drawer-header {
  padding:26px 28px 23px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
}

.drawer-header h2 {
  font-size:var(--font-size-title);

  margin-top:6px;
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}

.drawer-header p {
  font-size:var(--font-size-note);
  color:var(--muted);
  line-height:var(--line-ui);
  margin-top:7px;
}

.icon-button {
  height:30px;
  width:30px;
  display:grid;
  place-items:center;
  border-radius:var(--radius-control);
  color:var(--muted);
}

.icon-button:hover {
  background:var(--surface-hover);
}

.drawer-body {
  padding:26px 28px;
  overflow-y:auto;
  flex:1;
}

.drawer-footer {
  border-top:1px solid var(--line);
  padding:17px 28px;
  background:var(--warm);
  font-size:var(--font-size-note);
  color:var(--muted);
  line-height:var(--line-ui);
}

.memory-card {
  border:1px solid var(--line-strong);
  border-radius:var(--radius-control);
  padding:18px;
  background:var(--paper);
  margin-bottom:14px;
}

.memory-meta {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:var(--font-size-meta);
  color:var(--muted);
}

.memory-card h3 {
  font-size:var(--font-size-heading);

  margin:12px 0 9px;
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}

.memory-card p {
  font-size:var(--font-size-body);
  color:var(--ink);
  line-height:var(--line-body);
}

.memory-source {
  margin-top:13px;
  padding-top:11px;
  border-top:1px solid var(--line);
  font-size:var(--font-size-note);
  color:var(--muted);
  line-height:var(--line-ui);
}

.memory-card .button-row {
  margin-top:10px;
}

.empty-memory {
  text-align:center;
  padding:40px 18px 28px;
}

.empty-memory>.icon {
  width:var(--icon-size-empty);
  height:var(--icon-size-empty);
  margin:0 auto 18px;
  color:var(--muted);
}

.empty-memory h3 {
  font-size:var(--font-size-heading);

  margin-bottom:13px;
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}

.empty-memory p {
  font-size:var(--font-size-body);
  color:var(--ink);
  line-height:var(--line-body);
}

.memory-groups {
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:23px;
  justify-content:center;
}

.memory-groups span {
  font-size:var(--font-size-note);
  padding:6px 9px;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-detail);
  color:var(--muted);
}

.section-note {
  font-size:var(--font-size-body);
  color:var(--ink);
  line-height:var(--line-body);
  margin:0 0 17px;
}

.form-field {
  display:grid;
  gap:8px;
  margin:18px 0;
}

.form-field label {
  font-size:var(--font-size-note);
  color:var(--muted);
}

.form-field input,.form-field select,.form-field textarea {
  border:1px solid var(--line-strong);
  border-radius:var(--radius-control);
  padding:11px 12px;
  background:var(--paper);
  width:100%;
  font-size:var(--font-size-ui);
  color:var(--ink);
}

.form-field textarea {
  min-height:75px;
  resize:vertical;
  line-height:var(--line-ui);
}

.form-error {
  font-size:var(--font-size-body);
  color:var(--warning);
  margin-top:10px;
}

.preview-box {
  padding:17px;
  background:var(--warm);
  border:1px solid var(--line-strong);
  border-radius:var(--radius-control);
  margin:19px 0;
}

.preview-box h3 {
  font-size:var(--font-size-heading);

  margin-bottom:13px;
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}

.impact-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:var(--font-size-note);
  color:var(--muted);
  padding:8px 0;
}

.impact-row strong {
  font-size:var(--font-size-note);
  font-weight:var(--font-weight-medium);
  color:var(--ink);
}

.impact-row.emphasis {
  border-top:1px solid var(--line-strong);
  margin-top:8px;
  padding-top:14px;
}

.impact-row del {
  color:var(--muted);
  margin-right:7px;
}

.confirm-scope {
  display:flex;
  gap:9px;
  padding:14px;
  border:1px solid var(--warning-line);
  background:var(--warning-surface);
  border-radius:var(--radius-control);
  margin:18px 0;
  color:var(--warning);
  font-size:var(--font-size-body);
  line-height:var(--line-body);
}

.confirm-scope .icon {
  margin-top:3px;
}

.schedule {
  width:100%;
  font-size:var(--font-size-table);
  border-collapse:collapse;
  margin-top:17px;
}

.schedule th {
  text-align:left;
  color:var(--muted);
  font-weight:var(--font-weight-regular);
  border-bottom:1px solid var(--line);
  padding:10px 8px;
}

.schedule td {
  padding:11px 8px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
}

.schedule td:last-child,.schedule th:last-child {
  text-align:right;
}

.schedule tr.highlight td {
  background:var(--warm);
  color:var(--accent-ink);
}

.source-table-wrap {
  overflow-x:auto;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-control);
  margin:14px 0 25px;
}

.source-table {
  border-collapse:collapse;
  white-space:nowrap;
  font-size:var(--font-size-table);
  width:100%;
}

.source-table th {
  padding:11px;
  background:var(--warm);
  color:var(--muted);
  text-align:left;
  font-weight:var(--font-weight-regular);
}

.source-table td {
  padding:13px 11px;
  border-top:1px solid var(--line);
  color:var(--muted);
}

.source-table tr.focus-row td {
  background:var(--warning-surface);
  color:var(--warning);
}

.source-table td:last-child {
  text-align:right;
  font-variant-numeric:tabular-nums;
}

.source-title {
  font-size:var(--font-size-heading);

  margin:20px 0 9px;
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}

.audit-item {
  display:flex;
  gap:12px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}

.audit-dot {
  width:7px;
  height:7px;
  background:var(--chart-1);
  border-radius:50%;
  margin-top:5px;
  flex-shrink:0;
}

.audit-item strong {
  font-size:var(--font-size-ui);
  font-weight:var(--font-weight-medium);
  display:block;
  margin-bottom:6px;
}

.audit-item p {
  font-size:var(--font-size-note);
  color:var(--muted);
  line-height:var(--line-ui);
}

.review-scene {
  border:1px solid var(--line-strong);
  border-radius:var(--radius-control);
  padding:17px;
  display:flex;
  align-items:center;
  gap:13px;
  text-align:left;
  width:100%;
  background:var(--paper);
  margin-bottom:10px;
}

.review-scene:hover {
  background:var(--surface-hover);
  border-color:var(--line-strong);
}

.scene-number {
  font-size:var(--font-size-note);
  color:var(--muted);
}

.review-scene strong {
  font-size:var(--font-size-note);
  display:block;
  font-weight:var(--font-weight-medium);
  margin-bottom:7px;
}

.review-scene small {
  font-size:var(--font-size-note);
  color:var(--muted);
  line-height:var(--line-ui);
}

.review-scene>.icon {
  margin-left:auto;
  color:var(--muted);
}

.business-switch {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:11px 0 17px;
}

.business-switch button {
  font-size:var(--font-size-ui);
  padding:8px 12px;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-control);
  background:var(--paper);
  color:var(--muted);
}

.business-switch button.active {
  background:var(--surface-selected);
  color:var(--selected-ink);
  border-color:var(--line-selected);
}

.inline-notice {
  font-size:var(--font-size-body);
  line-height:var(--line-body);
  color:var(--warning);
  background:var(--warning-surface);
  padding:12px 14px;
  border-radius:var(--radius-control);
  margin-bottom:16px;
}

.status-banner {
  display:flex;
  gap:8px;
  align-items:center;
  margin:14px 0;
  color:var(--ink);
  font-size:var(--font-size-body);
  line-height:var(--line-body);
}

.history-detail-banner {
  padding:10px 17px;
  background:var(--warning-surface);
  border-bottom:1px solid var(--warning-line);
  font-size:var(--font-size-note);
  color:var(--warning);
}

.report-tabs {
  display:flex;
  gap:17px;
  padding:0 24px;
  border-bottom:1px solid var(--line);
}

.report-tab {
  padding:13px 0;
  font-size:var(--font-size-ui);
  color:var(--muted);
  border-bottom:2px solid transparent;
}

.report-tab.active {
  color:var(--accent-ink);
  border-color:var(--accent);
}

.mini-audit {
  padding:0 24px 22px;
}

.action-error {
  display:flex;
  align-items:flex-start;
  gap:var(--space-3);
  margin:var(--space-3) 0;
  color:var(--danger);
  font-size:var(--font-size-ui);
  line-height:var(--line-ui);
  overflow-wrap:anywhere;
}
.action-error>span { flex:1;min-width:0; }
.action-error-close { flex:none;color:var(--muted);padding:0 4px; }
.composer-wrap>.action-error { width:min(100%,var(--reading-width));margin:var(--space-3) auto; }

.action-notice {
  position:fixed;
  z-index:200;
  top:max(var(--space-6),env(safe-area-inset-top));
  left:50%;
  transform:translateX(-50%);
  width:max-content;
  max-width:min(600px,calc(100vw - 32px));
  padding:var(--space-3) var(--space-4);
  border:1px solid var(--line);
  border-radius:var(--radius-control);
  background:var(--surface);
  box-shadow:var(--shadow-popover);
  color:var(--ink);
  font-size:var(--font-size-ui);
  line-height:var(--line-ui);
  overflow-wrap:anywhere;
  pointer-events:none;
}

.memory-status {
  font-size:var(--font-size-note);
  color:var(--muted);
  padding:0 24px 20px;
  line-height:var(--line-ui);
}

.confirm-status {
  display:flex;
  gap:7px;
  align-items:center;
  background:var(--accent-soft);
  border:1px solid var(--line-strong);
  padding:11px 13px;
  border-radius:var(--radius-control);
  color:var(--ink);
  font-size:var(--font-size-body);
  margin-top:14px;
}

.failed-icon {
  color:var(--warning);
}

.run-note {
  font-size:var(--font-size-note);
  color:var(--muted);
  line-height:var(--line-ui);
  margin-top:15px;
}

.desktop-hint {
  display:none;
}

.review-legend {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:var(--font-size-note);
  margin:16px 0;
}

.upload-dialog {
  border:1px dashed var(--line-strong);
  background:var(--paper);
  border-radius:var(--radius-control);
  padding:27px 20px;
  text-align:center;
}

.upload-dialog>.icon {
  margin:0 auto 13px;
  width:var(--icon-size-empty);
  height:var(--icon-size-empty);
  color:var(--muted);
}

.upload-dialog h3 {
  font-size:var(--font-size-heading);

  margin-bottom:10px;
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}

.upload-dialog p {
  font-size:var(--font-size-body);
  color:var(--ink);
  line-height:var(--line-body);
}

.upload-dialog .button-row {
  justify-content:center;
}

.subheading {
  font-size:var(--font-size-heading);

  margin:23px 0 12px;
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}


.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}

@keyframes appear {
  from {
    opacity:0;
    transform:translateY(5px);
  }
  to {
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes fade {
  from {
    opacity:0;
  }
  to {
    opacity:1;
  }
}

@keyframes slide {
  from {
    transform:translateX(30px);
    opacity:.5;
  }
  to {
    transform:translateX(0);
    opacity:1;
  }
}

@keyframes spin {
  to {
    transform:rotate(360deg);
  }
}

@media(min-width:1600px) {
  .conversation-scroll {
    padding:48px var(--conversation-gutter) 25px;
  }
  .canvas {
    padding:34px 44px;
  }
  .welcome {
    padding-top:40px;
  }
  .welcome h1 {
    font-size:var(--font-size-title);
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}
  .welcome-intro {
    font-size:var(--font-size-body);
  }
  .suggestion {
    padding:19px;
  }
  .suggestions {
    gap:13px;
  }
}

@media(max-width:1180px) {
  .brand {
    font-size:var(--font-size-heading);
    gap:7px;
    padding-left:var(--sidebar-content-inset);
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}
  .brand-mark {
    width:30px;
    height:30px;
  }
  .topbar {
    padding:0 23px;
  }
  .workspace {
    grid-template-columns:minmax(400px,1.12fr) minmax(335px,1fr);
  }
  .conversation-scroll {
    padding:29px var(--conversation-gutter) 16px;
  }
  .composer-wrap {
    padding:10px var(--conversation-gutter) 12px;
  }
  .canvas {
    padding:25px 20px;
  }
  .welcome h1 {
    font-size:var(--font-size-title);
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}
  .paper-top,.report-main,.report-section {
    padding:21px;
  }
  .bar-row {
    grid-template-columns:81px 1fr 53px;
    gap:7px;
  }
}

@media(max-width:950px) {
  .workspace {
    grid-template-columns:minmax(350px,1.1fr) minmax(320px,1fr);
  }
  .conversation-scroll {
    padding:25px var(--conversation-gutter) 16px;
  }
  .welcome h1 {
    font-size:var(--font-size-title);
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}
  .prototype-badge {
    font-size:var(--font-size-note);
  }
  .canvas {
    padding:24px 16px;
  }
  .review-button {
    font-size:var(--font-size-ui);
  }
}

@media(max-width:760px) {
  .app-shell {
    display:block;
    height:auto;
    min-height:100dvh;
  }
  .sidebar {
    display:none;
  }
  .main-shell {
    overflow:visible;
  }
  .topbar {
    padding:0 16px;
    position:sticky;
    top:0;
    z-index:10;
  }
  .breadcrumb {
    font-size:var(--font-size-note);
  }
  .breadcrumb>.icon,.breadcrumb>span {
    display:none;
  }
  .top-actions {
    gap:10px;
  }
  .workspace {
    display:flex;
    flex-direction:column;
  }
  .conversation {
    border-right:0;
    min-height:600px;
  }
  .conversation-scroll {
    overflow:visible;
    flex:initial;
    padding:30px var(--conversation-gutter) 15px;
  }
  .welcome {
    padding-top:0;
  }
  .welcome h1 {
    font-size:var(--font-size-title);
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}
  .welcome-intro {
    max-width:100%;
  }
  .composer-wrap {
    margin-top:auto;
    padding:10px var(--conversation-gutter) 12px;
  }
  .canvas {
    padding:25px 20px;
  }
  .paper {
    max-width:620px;
    margin:0 auto;
  }
  .canvas-header,.memory-teaser,.task-caption {
    max-width:620px;
    margin-left:auto;
    margin-right:auto;
  }
  .desktop-hint {
    display:block;
    font-size:var(--font-size-note);
    color:var(--muted);
    padding-bottom:12px;
  }
  .drawer-header,.drawer-body {
    padding:22px;
  }
  .drawer-footer {
    padding:16px 22px;
  }
  .metric {
    font-size:var(--font-size-metric);
  }
  .composer-footer {
    font-size:var(--font-size-meta);
  }
}

@media(prefers-reduced-motion:reduce) {
  * {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}

@media(min-width:761px) and (max-height:800px) {
  .conversation-scroll {
    padding-top:23px;
    padding-bottom:12px;
  }
  .welcome {
    padding-top:0;
  }
  .welcome h1 {
    font-size:var(--font-size-title);
    line-height:var(--line-heading);
    margin:14px 0 10px;
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}
  .welcome-intro {
    font-size:var(--font-size-body);
    line-height:var(--line-body);
  }
  .suggestion-title {
    margin:20px 0 10px;
  }
  .suggestion {
    padding:11px 14px;
    gap:11px;
  }
  .suggestion strong {
    font-size:var(--font-size-ui);
    margin-bottom:4px;
  }
  .suggestion small {
    font-size:var(--font-size-note);
  }
  .suggestion-icon {
    height:29px;
    width:29px;
  }
  .suggestions {
    gap:8px;
  }
  .welcome-footnote {
    margin-top:13px;
    font-size:var(--font-size-note);
  }
  .composer-wrap {
    padding-top:10px;
  }
  .paper-top {
    padding-top:19px;
    padding-bottom:17px;
  }
  .report-main {
    padding-top:19px;
    padding-bottom:19px;
  }
  .report-section {
    padding-top:18px;
    padding-bottom:18px;
  }
  .metric {
    font-size:var(--font-size-metric);
    margin:10px 0;
  }
  .metric-pair {
    margin-top:17px;
    padding-top:16px;
  }
  .paper-top h2 {
    font-size:var(--font-size-title);
  font-weight:var(--font-weight-semibold);
  color:var(--heading);
}
  .deliverable {
    padding:15px 0;
  }
}

/* Real workbench: keep the approved blue palette and quiet two-column layout. */
.plain-copy { white-space:pre-wrap; overflow-wrap:anywhere; }
.message-prose { overflow-wrap:anywhere; min-width:0; }
.message-prose p { margin:0 0 14px; }
.message-prose h3 { font-size:var(--font-size-heading); line-height:var(--line-heading); margin:24px 0 10px;font-weight:var(--font-weight-semibold);color:var(--heading);}
.message-prose> :first-child { margin-top:0; }
.message-prose> :last-child { margin-bottom:0; }
.message-prose ul,.message-prose ol { padding-left:1.65em; margin:10px 0 18px; }
.message-prose li { padding-left:3px; margin:6px 0; }
.message-prose li>ul,.message-prose li>ol { margin:6px 0; }
.message-prose code { font-size:var(--font-size-table); background:var(--warm); border-radius:var(--radius-detail); padding:2px 5px; }
.message-prose pre { overflow:auto; padding:14px; background:var(--warm); border-radius:var(--radius-control); }
.message-prose pre code { background:none; padding:0; }
.message-prose a { color:var(--accent-ink); text-decoration:underline; text-underline-offset:3px; }
.message-table-scroll { max-width:100%; overflow:auto; margin:16px 0 22px; }
.message-table-scroll table { width:100%; border-collapse:collapse; font-size:var(--font-size-table); line-height:var(--line-ui); }
.message-table-scroll th,.message-table-scroll td { text-align:left; vertical-align:top; min-width:110px; padding:12px 14px; border-bottom:1px solid var(--line); }
.message-table-scroll th { color:var(--ink); font-weight:var(--font-weight-semibold); border-bottom-color:var(--line-strong); }
.message-table-scroll th:first-child,.message-table-scroll td:first-child { padding-left:0; }
.inline-card { background:var(--warm); border-color:var(--line); }
.inline-card p { color:var(--ink); }
.inline-card .pending-note { font-size:var(--font-size-table); margin-top:9px; }
.live-progress { display:flex; align-items:center; gap:13px; border:1px solid var(--line); padding:19px; border-radius:var(--radius-card); background:var(--warm); }
.live-progress strong { display:block; font-size:var(--font-size-heading);font-weight:var(--font-weight-semibold);color:var(--heading);}
.live-progress .text-link { margin-top:10px; }
.live-progress p { font-size:var(--font-size-body); color:var(--ink); margin-top:4px; }
.text-link { color:var(--accent-ink); font-size:var(--font-size-ui); display:inline-flex; align-items:center; gap:6px; padding:9px 0; }
.text-link:hover { color:var(--accent-ink-hover); text-decoration:underline; text-underline-offset:3px; }
.real-empty { max-width:560px; margin:auto; width:100%; padding:8px 0 24px; }
.canvas-label { font-size:var(--font-size-note); color:var(--muted); display:flex; align-items:center; gap:8px; margin-bottom:65px; }
.empty-orbit { width:54px; height:54px; display:grid; place-items:center; color:var(--accent-ink); background:var(--surface-selected); border:1px solid var(--line); border-radius:var(--radius-panel); margin-bottom:22px; }
.empty-orbit .icon { width:var(--icon-size-empty); height:var(--icon-size-empty); }
.real-empty h2 { font-size:var(--font-size-title); line-height:var(--line-heading);font-weight:var(--font-weight-semibold);color:var(--heading);}
.real-empty > p { color:var(--ink); font-size:var(--font-size-body); line-height:var(--line-body); margin:14px 0 25px; max-width:330px; }
.working-principles { margin-top:32px; display:grid; gap:20px; color:var(--muted); font-size:var(--font-size-note); }
.working-principles > div { display:flex; align-items:center; gap:11px; }
.working-principles .icon { color:var(--muted); }
.sample-entry { border-top:1px solid var(--line); padding-top:23px; margin-top:42px; font-size:var(--font-size-note); }
.sample-entry > span { display:block; color:var(--muted); }
.sample-entry small { display:block; color:var(--muted); line-height:var(--line-ui); font-size:var(--font-size-note); }
.source-list { margin:24px 0 12px; display:flex; gap:10px; flex-wrap:wrap; }
.canvas-title { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; color:var(--ink); font-size:var(--font-size-note); }
.result-card { border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); overflow:hidden; }
.report-tabs { padding:0 24px; margin:0; gap:24px; border-bottom:1px solid var(--line); display:flex; }
.report-tabs button { padding:16px 0 13px; border-bottom:2px solid transparent; font-size:var(--font-size-ui); color:var(--muted); }
.report-tabs button.active { color:var(--accent-ink); border-bottom-color:var(--accent); }
.result-main { padding:29px 25px 24px; }
.result-caption { font-size:var(--font-size-note); color:var(--muted); }
.hero-amount { font-size:var(--font-size-metric); color:var(--ink); line-height:var(--line-heading); margin:13px 0 15px; font-weight:var(--font-weight-semibold); letter-spacing:normal; overflow-wrap:anywhere; }
.hero-amount span { font-size:var(--font-size-note); font-weight:var(--font-weight-regular); letter-spacing:0; color:var(--muted); }
.result-scope { font-size:var(--font-size-body); color:var(--ink); line-height:var(--line-body); }
.metric-row { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); margin-top:24px; padding-top:20px; gap:12px; }
.metric-row span { font-size:var(--font-size-note); color:var(--muted); display:block; }
.metric-row strong { display:block; font-size:var(--font-size-metric); margin-top:7px; font-weight:var(--font-weight-semibold); }
.metric-row small { font-size:var(--font-size-note); color:var(--muted); font-weight:var(--font-weight-regular); margin-left:4px; }
.expense-section { border-top:1px solid var(--line); padding:23px 25px; }
.section-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.section-heading h3 { font-size:var(--font-size-heading);font-weight:var(--font-weight-semibold);color:var(--heading);}
.section-heading > span { font-size:var(--font-size-note); color:var(--muted); }
.expense-bar-row { display:grid; grid-template-columns:80px minmax(40px,1fr) 58px; align-items:center; gap:12px; width:100%; padding:8px 0; font-size:var(--font-size-table); text-align:left; }
.expense-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bar-track { display:block; width:100%; height:7px; border-radius:var(--radius-mark); background:var(--warm); }
.bar-track i { display:block; height:100%; border-radius:var(--radius-mark); }
.bar-value { text-align:right; color:var(--muted); }
.result-footnote { background:var(--warm); padding:13px; border-radius:var(--radius-control); color:var(--ink); font-size:var(--font-size-body); line-height:var(--line-body); display:flex; gap:9px; margin-top:18px; }
.result-footnote .icon { margin-top:3px; }
details.result-footnote { display:block; }
details.result-footnote > summary { cursor:pointer; }
.source-footer { border-top:1px solid var(--line); padding:20px 25px; display:flex; width:100%; align-items:center; gap:9px; color:var(--muted); font-size:var(--font-size-ui); }
.source-footer strong { margin-left:auto; display:flex; gap:6px; align-items:center; font-weight:var(--font-weight-medium); color:var(--accent-ink); }
.memory-nudge { padding:19px; border:1px dashed var(--line-strong); border-radius:var(--radius-card); margin-top:18px; background:var(--warm); }
.memory-nudge > strong { display:flex; align-items:center; gap:7px; font-size:var(--font-size-note); color:var(--accent-ink); }
.memory-nudge p { font-size:var(--font-size-body); line-height:var(--line-body); margin:10px 0 3px; color:var(--ink); }
.real-audit { padding:24px; }
.audit-entry { display:flex; gap:12px; position:relative; padding-bottom:23px; font-size:var(--font-size-ui); }
.audit-entry p { color:var(--muted); line-height:var(--line-ui); margin:6px 0; }
.audit-entry small { font-size:var(--font-size-meta); color:var(--muted); }
.audit-point { width:7px; height:7px; flex-shrink:0; background:var(--chart-1); border-radius:50%; margin-top:6px; }
.stale-notice { background:var(--warning-surface); border:1px solid var(--warning-line); border-radius:var(--radius-control); padding:15px; margin-top:15px; color:var(--warning); font-size:var(--font-size-body); line-height:var(--line-body); }
.drawer-backdrop { position:fixed; inset:0; background:var(--overlay); z-index:100; display:flex; justify-content:flex-end; }
.real-drawer { width:650px; max-width:100%; background:var(--paper); box-shadow:var(--shadow-drawer); display:flex; flex-direction:column; height:100dvh; }
.real-drawer > header { display:flex; padding:26px 30px; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.real-drawer > header h2 { font-size:var(--font-size-title); margin:0;font-weight:var(--font-weight-semibold);color:var(--heading);}
.real-drawer > header button { padding:8px; }
.real-drawer > header > div { min-width:0; }
.real-drawer > header .drawer-back { padding:0; text-align:left; }
.drawer-back .icon { transform:rotate(180deg); }
.drawer-back span { overflow-wrap:anywhere; }
.real-drawer-body { overflow:auto; padding:28px 30px; flex:1; font-size:var(--font-size-body); line-height:var(--line-body); }
.real-drawer > footer { padding:19px 30px; border-top:1px solid var(--line); display:flex; justify-content:flex-end; gap:12px; background:var(--paper); }
.drawer-backdrop.compact-drawer {justify-content:center;align-items:center;padding:16px;}
.compact-drawer>.real-drawer {width:600px;height:auto;max-height:min(720px,calc(100dvh - 32px));border-radius:var(--radius-panel);box-shadow:var(--shadow-popover);overflow:hidden;}
.compact-drawer .real-drawer>header {padding:16px 24px;}
.compact-drawer .real-drawer>header h2 {font-size:var(--font-size-heading);margin:0;}
.compact-drawer .real-drawer-body {padding:0 24px 16px;}
.compact-drawer .real-drawer>footer {padding:16px 24px;align-items:center;gap:8px;flex-wrap:wrap;}
.drawer-lead { color:var(--ink); font-size:var(--font-size-body); line-height:var(--line-body); margin-bottom:23px; }
.reading-card { padding:19px 21px; border:1px solid var(--line); border-radius:var(--radius-card); margin-bottom:16px; background:var(--paper); overflow-wrap:anywhere; }
.reading-card h3 { font-size:var(--font-size-heading); margin:7px 0 8px;font-weight:var(--font-weight-semibold);color:var(--heading);}
.reading-card p { line-height:var(--line-body); font-size:var(--font-size-body); color:var(--ink); margin:8px 0; }
.reading-total { font-size:var(--font-size-metric); font-weight:var(--font-weight-semibold); color:var(--ink); margin:10px 0; }
.reading-total span { font-size:var(--font-size-note); color:var(--muted); display:block; margin-top:3px; font-weight:var(--font-weight-regular); }
.drawer-subheading { font-size:var(--font-size-heading); margin:24px 0 13px;font-weight:var(--font-weight-semibold);color:var(--heading);}
.review-table { width:100%; border-collapse:collapse; font-size:var(--font-size-table); margin:8px 0 20px; white-space:nowrap; }
.review-table td,.review-table th { padding:11px 12px; text-align:left; border-bottom:1px solid var(--line); }
.review-table th { background:var(--warm); color:var(--muted); font-weight:var(--font-weight-medium); }
.table-scroll { min-width:0; max-width:100%; overflow:auto; border:1px solid var(--line); border-radius:var(--radius-control); margin-bottom:22px; }
.raw-table { margin:0; }
.raw-table td { max-width:400px; overflow:hidden; text-overflow:ellipsis; }
.schedule-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:22px; }
.schedule-list > div { background:var(--warm); padding:11px 14px; display:flex; justify-content:space-between; gap:8px; font-size:var(--font-size-note); border-radius:var(--radius-control); }
.scope-note { background:var(--warm); padding:16px; border-radius:var(--radius-control); display:flex; gap:10px; margin:23px 0 15px; color:var(--ink); font-size:var(--font-size-body); }
.scope-note .icon { margin-top:4px; }
.muted { color:var(--muted); font-size:var(--font-size-note); }
.evidence-search { display:flex; gap:8px; margin-bottom:20px; }
.evidence-search input { border:1px solid var(--line-strong); border-radius:var(--radius-control); padding:10px; min-width:0; flex:1; font-size:var(--font-size-ui); }
.empty-memory { border:1px dashed var(--line-strong); padding:30px 20px; text-align:center; border-radius:var(--radius-control); }
.empty-memory h3 { font-size:var(--font-size-heading);font-weight:var(--font-weight-semibold);color:var(--heading);}
.empty-memory p { font-size:var(--font-size-body); color:var(--ink); margin-top:12px; }
.reading-card details { font-size:var(--font-size-note); color:var(--muted); margin:12px 0; }
.reading-card summary { cursor:pointer; }
.sample-links { display:flex; flex-wrap:wrap; gap:18px; margin-top:15px; font-size:var(--font-size-note); }
.connection-error { padding:40px; }
.drag-over { border-color:var(--accent); background:var(--warm); }
@media(max-width:1180px) { .result-main,.expense-section {padding:22px 20px;} .expense-bar-row {grid-template-columns:65px minmax(30px,1fr) 48px;gap:8px;} }
@media(max-width:760px) { .real-empty {padding:15px 0;} .canvas-label {margin-bottom:24px;} .real-drawer > header,.real-drawer-body {padding:22px;} .schedule-list {grid-template-columns:1fr;} .hero-amount {font-size:var(--font-size-metric);} }
.compact-work-menu { display:none; color:var(--muted); font-size:var(--font-size-ui); padding:7px; border:1px solid var(--line); border-radius:var(--radius-control); }
.compact-history { display:block; text-align:left; width:100%; padding:14px 0; border-bottom:1px solid var(--line); font-size:var(--font-size-ui); }
.compact-history small { display:block; color:var(--muted); font-size:var(--font-size-note); margin-top:5px; }
@media(max-width:760px) { .compact-work-menu {display:block;} .top-actions {gap:10px;} }
.sample-space-label { font-size:var(--font-size-note); border:1px solid var(--line-strong); border-radius:var(--radius-detail); padding:6px 8px; color:var(--muted); background:var(--warm); white-space:nowrap; }
.table-checks { display:flex; flex-wrap:wrap; gap:12px 18px; margin:18px 0; color:var(--muted); font-size:var(--font-size-note); }
.table-checks button { color:var(--accent-ink); display:flex; align-items:center; gap:5px; }
.metric-row strong { overflow-wrap:anywhere; }
.reading-card:has(details) { line-height:var(--line-ui); }
@media(max-width:760px) { .topbar:has(.sample-space-label) .breadcrumb {display:none;} }

/* Shared enterprise material and reports keep the same quiet working surface. */
.library-page { overflow-y:auto; padding:var(--page-top) var(--page-gutter) var(--space-16); min-height:0; flex:1; background:var(--paper); }
.library-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--space-6); margin-bottom:var(--space-8); }
.library-heading>div { min-width:0; }
.library-heading h1 { font-size:var(--font-size-title); margin:0; font-weight:var(--font-weight-semibold); color:var(--heading); }
.library-heading p { color:var(--muted); line-height:var(--line-body); margin:var(--space-2) 0 0; }
.library-heading .button-row { margin:0; }
.library-heading .primary { white-space:nowrap; }
.library-search { display:flex; align-items:center; gap:var(--space-3); max-width:none; margin-bottom:var(--space-6); }
.library-search input { flex:1; width:100%; min-width:0; min-height:var(--control-height); padding:10px var(--space-3); border:1px solid var(--line-strong); border-radius:var(--radius-control); background:var(--paper); color:var(--ink); font-family:inherit; }
.center-toolbar :is(.primary,.secondary,.date-trigger,select) { min-height:var(--control-height); }
.library-tabs { display:flex; gap:24px; border-bottom:1px solid var(--line); margin-bottom:22px; }
.library-tabs button { padding:12px 2px; border-bottom:2px solid transparent; color:var(--muted); }
.library-tabs button.active { border-color:var(--accent); color:var(--accent-ink); }
.library-selection { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:18px; color:var(--muted); font-size:var(--font-size-note); }
.library-selection .button-row { margin:0; }
.catalogue-list { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-card); overflow:hidden; }
.catalogue-row { padding:20px; display:flex; gap:16px; align-items:center; border-bottom:1px solid var(--line); }
.catalogue-row:last-child { border-bottom:none; }
.file-select input { width:17px; height:17px; accent-color:var(--accent); }
.catalogue-copy { flex:1; min-width:0; }
.catalogue-name { color:var(--ink); text-align:left; font-weight:var(--font-weight-semibold); display:flex; align-items:center; gap:10px; overflow-wrap:anywhere; }
.catalogue-name svg { flex-shrink:0; color:var(--muted); }
.catalogue-copy p { margin:8px 0; color:var(--muted); font-size:var(--font-size-note); }
.catalogue-copy small { color:var(--muted); }
.library-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:20px; }
.library-card { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-card); padding:24px; line-height:var(--line-ui); min-width:0; }
.library-card h3 {  font-size:var(--font-size-heading); margin:15px 0 10px;font-weight:var(--font-weight-semibold);color:var(--heading);}
.library-card p,.library-card .memory-value { line-height:var(--line-body); color:var(--ink); font-size:var(--font-size-body); overflow-wrap:anywhere; }
.library-card .text-link { display:flex; margin-top:18px; }
.library-card small { color:var(--muted); }
.library-empty { text-align:center; padding:70px 30px; grid-column:1/-1; color:var(--muted); }
.library-empty > .icon { width:var(--icon-size-empty); height:var(--icon-size-empty); color:var(--subtle); }
.library-empty h3 { color:var(--ink); }
.library-empty p { max-width:540px; margin:auto; line-height:var(--line-ui); }
.library-pagination { display:flex; gap:12px; margin-top:24px; }
.upload-receipts { padding:18px 22px; background:var(--warm); border-radius:var(--radius-card); color:var(--muted); margin:20px 0; max-height:230px; overflow:auto; }
.upload-receipts p { margin:7px 0; font-size:var(--font-size-note); }
.library-page button:disabled { opacity:.5; cursor:default; }
@media (max-width:900px) {
 :root { --page-gutter:24px; --page-top:32px; }
 .library-page { overflow:visible; }
 .library-heading { align-items:flex-start; flex-direction:column; gap:16px; }
 .library-selection { flex-direction:column; align-items:flex-start; }
 .library-cards { grid-template-columns:1fr; }
 .catalogue-row { padding:16px 12px; gap:10px; flex-wrap:wrap; }
 .catalogue-row > .status-pill { margin-left:27px; }
}
.library-search button { flex-shrink:0; white-space:nowrap; }
@media (min-width:761px) and (max-width:1180px) { .compact-work-menu {display:block;white-space:nowrap;} }

/* Shared catalogue controls in the page and the conversation picker. */
.catalogue-filters {margin:18px 0 12px;}
.month-filters,.facet-filters {display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px;}
.filter-chip {border:1px solid var(--line);background:var(--paper);color:var(--muted);padding:7px 14px;border-radius:var(--radius-pill);font-family:inherit;cursor:pointer;}
.filter-chip.active {background:var(--surface-selected);border-color:var(--line-selected);color:var(--selected-ink);}
.month-choice {display:flex;align-items:center;gap:8px;font-size:var(--font-size-note);color:var(--muted);}
.month-choice input,.facet-filters select {border:1px solid var(--line-strong);border-radius:var(--radius-control);padding:8px 10px;background:var(--paper);color:var(--ink);font-family:inherit;max-width:205px;}
.facet-filters label {display:flex;flex-direction:column;gap:5px;font-size:var(--font-size-note);color:var(--muted);min-width:100px;flex:1;}
.facet-filters select {width:100%;max-width:100%;font-size:var(--font-size-ui);}
.facet-filters>.text-link {align-self:flex-end;margin-bottom:8px;}
.filter-note {font-size:var(--font-size-note);color:var(--muted);line-height:var(--line-ui);margin:10px 0 18px;}
.danger-link {color:var(--danger);white-space:nowrap;}
.catalogue-copy strong {overflow-wrap:anywhere;font-weight:var(--font-weight-medium);}
.upload-receipts summary {cursor:pointer;}
@media(max-width:760px){.facet-filters label{flex-basis:40%;}.library-selection .button-row{flex-wrap:wrap;}.catalogue-row{gap:10px;}.month-choice{flex-basis:100%;}}
.file-group { width:100%; color:var(--ink); font-size:var(--font-size-ui); border:1px solid var(--line); border-radius:var(--radius-control); background:var(--paper); }
.file-group > summary { display:flex; align-items:center; gap:12px; cursor:pointer; padding:12px; list-style:none; }
.file-group > summary::-webkit-details-marker { display:none; }
.file-group > summary > span { flex:1; min-width:0; }
.file-group > summary small { display:block; margin-top:4px; }
.file-group > summary > .icon { color:var(--muted); }
.file-group[open] > summary .file-group-chevron { transform:rotate(90deg); }
.file-group > .file-list { border:0; border-top:1px solid var(--line); border-radius:0 0 var(--radius-control) var(--radius-control); }
.file-group > .file-list > .file-chip:first-child { border-top-left-radius:0; border-top-right-radius:0; }
.source-path { overflow-wrap:anywhere; }
.work-progress { margin:20px 0; text-align:left; }
.work-progress p { margin:8px 0; }
.progress-stage, .progress-next { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.work-progress summary { cursor:pointer; font-size:var(--font-size-note); color:var(--muted); margin-top:12px; }
.picker-selection-list { margin:12px 0; }
.picker-selection-list p { margin:6px 0; overflow-wrap:anywhere; }

/* Enterprise folders are references; the work area keeps its existing layout. */
.tree-layout{display:grid;grid-template-columns:220px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;background:var(--paper);margin-top:18px}
.tree-sidebar{padding:14px 8px;background:var(--warm);border-right:1px solid var(--line);max-height:70vh;overflow:auto}
.tree-folder{display:flex;gap:8px;align-items:center;width:100%;border:0;background:transparent;text-align:left;padding:10px 8px 10px calc(10px + var(--depth,0)*16px);color:var(--ink);border-radius:var(--radius-control);font-family:inherit;cursor:pointer}
.tree-folder span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-folder:hover{background:var(--surface-hover)}.tree-folder.active{background:var(--surface-selected);color:var(--selected-ink);font-weight:var(--font-weight-medium)}
.tree-content{padding:24px;min-width:0}.tree-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.tree-toolbar p{font-size:var(--font-size-note);margin:8px 0}.tree-toolbar .button-row{flex-wrap:wrap}
.tree-entry{display:flex;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid var(--surface-hover)}.tree-entry .catalogue-name{flex:1;min-width:0;text-align:left}.tree-entry .catalogue-name span{overflow-wrap:anywhere}.tree-entry small{display:block;font-weight:var(--font-weight-regular);font-size:var(--font-size-note);color:var(--muted);margin-top:6px}.tree-entry input{width:16px;height:16px;accent-color:var(--accent)}
.tree-empty{padding:42px 10px;color:var(--muted);line-height:var(--line-ui)}.tree-selection{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--warm);padding:12px;border-radius:var(--radius-control)}.tree-field{display:block;margin:24px 0;color:var(--muted)}.tree-field input,.tree-field select{display:block;width:100%;padding:12px;margin-top:10px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--paper);font-family:inherit;color:var(--ink)}
@media(max-width:1000px){.tree-layout{grid-template-columns:175px minmax(0,1fr)}.tree-content{padding:16px}.tree-toolbar{flex-direction:column}}@media(max-width:700px){.tree-layout{grid-template-columns:1fr}.tree-sidebar{max-height:190px;border-right:0;border-bottom:1px solid var(--line)}}

/* AI chooses the content and ordering; these primitives keep reports legible. */
.ai-report{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-panel);overflow:clip;max-width:100%;box-shadow:none}
.report-heading{padding:28px 26px 20px;border-bottom:1px solid var(--line);background:var(--paper)}
.report-eyebrow{font-size:var(--font-size-note);color:var(--accent-ink);letter-spacing:.06em;margin:0 0 12px}
.report-heading h1{font-size:var(--font-size-title);line-height:var(--line-heading);margin:0 0 12px;overflow-wrap:anywhere;font-weight:var(--font-weight-semibold);color:var(--heading);}
.report-status,.report-chart-unit,.report-footer{font-size:var(--font-size-table);color:var(--muted);line-height:var(--line-ui)}
.report-explanation>summary{cursor:pointer;color:var(--accent-ink);font-size:var(--font-size-body)}
.report-explanation[open]>summary{margin-bottom:8px}
.report-block{padding:22px 26px;border-bottom:1px solid var(--line);min-width:0}
.report-block h2{font-size:var(--font-size-heading);margin:0 0 15px;line-height:var(--line-heading);font-weight:var(--font-weight-semibold);color:var(--heading);}
.report-prose,.report-note{font-size:var(--font-size-body);line-height:var(--line-body);overflow-wrap:anywhere;margin:8px 0;color:var(--ink)}
.report-prose p,.report-note p{margin:0 0 14px}
.report-prose ul,.report-prose ol,.report-note ul,.report-note ol{padding-left:1.65em;margin:10px 0 18px}
.report-prose li,.report-note li{padding-left:3px;margin:6px 0}
.report-prose>:last-child,.report-note>:last-child{margin-bottom:0}
.report-note{margin-top:16px}
.report-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
.report-metric{background:var(--warm);border-radius:var(--radius-card);padding:15px;min-width:0}
.report-metric p{font-size:var(--font-size-table);color:var(--muted);margin:0 0 9px;line-height:var(--line-ui)}
.report-metric strong{font-size:var(--font-size-metric);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;display:block;letter-spacing:normal;line-height:var(--line-heading);color:var(--ink)}
.report-metric small{font-size:var(--font-size-note);font-weight:var(--font-weight-regular);letter-spacing:0}
.report-metric span{font-size:var(--font-size-body);display:block;margin-top:8px;color:var(--amber)}
.report-table-scroll{overflow-x:auto;max-width:100%}
.report-table-scroll td,.report-table-scroll th{font-size:var(--font-size-table);white-space:nowrap}
.report-source{margin-top:14px;font-size:var(--font-size-table);color:var(--muted);line-height:var(--line-ui)}
.report-source summary,.report-chart-data summary,.report-fold>summary{cursor:pointer}
.report-chart-scroll{overflow-x:auto;max-width:100%}
.report-chart{width:100%;min-width:640px;height:auto;display:block;overflow:visible}
.report-chart text{font-size:var(--font-size-note);fill:var(--muted)}
.report-trend-line{stroke:var(--chart-1);stroke-width:2.5}.report-dot,.report-positive{fill:var(--chart-1)}.report-negative{fill:var(--chart-negative)}
.report-zero{stroke:var(--line-strong);stroke-width:1}.report-chart-data{font-size:var(--font-size-note);margin-top:10px;color:var(--muted)}
.report-limit{background:var(--warning-surface);color:var(--warning);font-size:var(--font-size-body);padding:14px 22px;line-height:var(--line-body)}
.report-fold>summary{font-size:var(--font-size-heading);font-weight:var(--font-weight-semibold);color:var(--heading);}.report-fold[open]>summary{margin-bottom:14px}
.report-footer{padding:18px 26px;margin:0;display:flex;gap:18px;flex-wrap:wrap}

@media(max-width:650px){.report-block,.report-heading{padding:18px}.report-metric strong{font-size:var(--font-size-metric)}}
.ai-report{container-type:inline-size}
.report-metric strong{white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
@container (max-width:380px){.report-metric{padding:12px}.report-metrics{gap:8px}}

/* Results are opened from the conversation, never an empty permanent column. */
.workspace.conversation-only{display:grid;grid-template-columns:minmax(0,1fr)}
.conversation-only>.conversation{width:100%;max-width:calc(var(--visual-reading-width) + 2 * var(--conversation-gutter));justify-self:center;border-right:0}
.result-drawer-header{position:sticky;top:0;z-index:3;padding:18px 24px;background:var(--warm);border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--font-size-note)}
.result-drawer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px}
.result-drawer-toolbar>strong{white-space:nowrap}
.result-drawer-header button{padding:7px}
.result-drawer-actions{display:flex;align-items:center;gap:8px}
.result-drawer{padding:0;animation:result-enter .18s ease-out;border-left:1px solid var(--line)}
.result-drawer-body{width:100%;min-width:0;contain:inline-size;padding:24px}
@keyframes result-enter{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.result-drawer{animation:none}}


/* The same report reflows between its drawer and the full application viewport. */
.report-reader{min-width:0}
.report-reader .ai-report{max-width:1200px;margin:0 auto}
.report-reader .report-prose{overflow-wrap:anywhere}
.result-drawer-header{padding:4px 16px;min-height:40px;background:var(--paper)}
.result-drawer-toolbar{min-height:32px;padding-left:36px}
.report-icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-detail);color:var(--muted)}
.report-icon-button:hover{background:var(--warm);color:var(--ink)}
.report-icon-button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:1px}
.report-directory{position:absolute;top:4px;left:12px}
.report-directory>summary{display:flex;align-items:center;justify-content:center;width:32px;height:32px;cursor:pointer;list-style:none}
.report-directory>summary::-webkit-details-marker{display:none}
.report-reader-nav{display:grid;gap:4px;width:min(300px,calc(100vw - 48px));max-height:60dvh;overflow:auto;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow-popover)}
.report-reader-nav button{text-align:left;padding:8px;color:var(--ink)}
.report-reader-nav button:hover{background:var(--warm);color:var(--accent-ink)}

.report-fullscreen .result-drawer-body{padding:32px clamp(16px,4vw,64px) 48px}
@media(max-width:760px){.result-drawer-body{padding:18px 12px}}

/* Conversation fills the scroll surface; content retains its reading width. */
.chat-page { height:auto; min-height:100dvh; }
.app-shell .compact-navigation,.sidebar-work-menu { display:none; }
.sidebar-sample-space { max-width:100%; margin-bottom:var(--space-2); white-space:normal; }
.sidebar-sample-short { display:none; }
@media(min-width:761px) {
  .app-shell.sidebar-collapsed { grid-template-columns:72px minmax(0,1fr); }
  .sidebar-collapsed>.sidebar { padding-inline:10px; }
  .sidebar-collapsed .brand { justify-content:center; padding:0; }
  .sidebar-collapsed .sidebar-brand-symbol { display:block; }
  .sidebar-collapsed .sidebar-toggle { position:relative; width:44px; height:44px; margin-inline:0; }
  .sidebar-collapsed .sidebar-toggle>.icon { position:absolute; inset:0; margin:auto; opacity:0; }
  .sidebar-collapsed .sidebar-toggle:is(:hover,:focus-visible)>.sidebar-brand-symbol { visibility:hidden; }
  .sidebar-collapsed .sidebar-toggle:is(:hover,:focus-visible)>.icon { opacity:1; }
  .sidebar-collapsed .brand-wordmark,
  .sidebar-collapsed .sidebar-utilities,
  .sidebar-collapsed .new-task>span,
  .sidebar-collapsed .nav-item>span,
  .sidebar-collapsed .enterprise-directory,
  .sidebar-collapsed .sidebar-scroll-region,
  .sidebar-collapsed .sidebar-sample-full { display:none; }
  .sidebar-collapsed .nav-item { padding:8px; min-height:var(--sidebar-row-height); justify-content:center; }
  .sidebar-collapsed .sidebar-bottom { margin-top:auto; }
  .sidebar-collapsed .sidebar-account-row { justify-content:center; padding-left:0; }
  .sidebar-collapsed .nav-item>.conversation-status { display:block; position:absolute; right:4px; top:4px; margin:0; }
  .sidebar-collapsed .workspace-button { justify-content:center; }
  .sidebar-collapsed .sidebar-work-menu { display:flex; }
  .sidebar-collapsed .sidebar-sample-short { display:inline; }
  .app-shell.sidebar-peek { grid-template-columns:72px minmax(0,1fr); }
  .sidebar-peek>.main-shell { grid-column:2; }
}
.app-shell.sidebar-peek>.sidebar { display:flex; position:fixed; inset:0 auto 0 0; width:var(--sidebar-width,200px); max-width:calc(100vw - 48px); height:100dvh; min-height:0; z-index:35; box-shadow:var(--shadow-popover); }
.sidebar-peek>.sidebar-backdrop { display:block; position:fixed; inset:0; z-index:34; background:transparent; cursor:default; }
@media(max-width:760px) {
  .app-shell { --topbar-height:44px; }
  .app-shell .compact-navigation { display:flex; height:var(--topbar-height); min-height:var(--topbar-height); padding-block:0; border-bottom:0; flex-wrap:nowrap; }
  .app-shell.sidebar-peek>.sidebar { width:280px; }
  .sidebar-peek>.sidebar-backdrop { background:var(--overlay); }
}
.chat-page>.sidebar { position:sticky; top:0; height:100dvh; min-height:0; }
.chat-page>.main-shell { overflow:visible; }
.chat-page .topbar { position:sticky; top:0; z-index:15; background:var(--conversation-surface); }
.chat-page .workspace { align-items:start; background:var(--conversation-surface); }
.chat-page .conversation { min-height:calc(100dvh - var(--topbar-height)); }
.chat-page .conversation-scroll { overflow:visible; flex:1; }
.chat-page .composer-wrap { position:sticky; bottom:0; background:var(--conversation-surface); z-index:12; margin-top:auto; }
.chat-page .conversation-empty { justify-content:center; padding-block:var(--space-8); }
.chat-page .conversation-empty>.conversation-scroll { flex:none; padding-block:0 var(--space-6); }
.chat-page .conversation-empty>.composer-wrap { position:relative; bottom:auto; margin-top:0; padding-block:0; }
.chat-page .result-drawer { position:sticky; top:var(--topbar-height); max-height:calc(100dvh - var(--topbar-height)); overflow-y:auto;  }
.chat-message { position:relative; }
.user-message { width:fit-content; max-width:66.6667%; margin-left:auto; white-space:normal; }
.user-message .attachments { min-width:0; }
.message-upload-issues { display:flex; align-items:baseline; flex-wrap:wrap; gap:var(--space-3); margin-top:var(--space-3); font-size:var(--font-size-ui); line-height:var(--line-ui); color:var(--ink); }
.message-upload-issues>.text-link { padding:0; }
.user-message .file-group,.user-message .file-chip { max-width:100%; min-width:0; }
.chat-message[data-message-id] { margin-bottom:36px; }
.message-actions { display:flex; align-items:center; gap:8px; height:28px; position:absolute; right:0; bottom:-28px; color:var(--subtle); opacity:0; pointer-events:none; transition:opacity .12s; }
.message-time { font-size:var(--font-size-meta); line-height:var(--line-ui); }
.message-copy-button { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; padding:4px; border:0; border-radius:var(--radius-detail); background:transparent; color:inherit; cursor:pointer; }
.message-copy-button:hover { background:var(--surface-hover); color:var(--muted); }
.message-copy-button:focus-visible { outline:2px solid var(--accent-ink); outline-offset:1px; }
.chat-message:hover .message-actions,.chat-message:focus-within .message-actions { opacity:1; pointer-events:auto; }
@media (hover:none) { .message-actions { opacity:1; pointer-events:auto; } }
.conversation-time { text-align:center; color:var(--subtle); font-size:var(--font-size-meta); margin:24px 0; }
@media(max-width:760px) {
  .user-message { max-width:85%; }

}

/* A single enterprise-owned level of projects keeps work discoverable. */
.sidebar-scroll-region { position:relative; flex:1; min-height:0; margin-top:10px; }
.enterprise-directory { --directory-text-inset:var(--sidebar-content-inset); display:block; height:100%; max-height:none; min-height:0; overflow-x:hidden; scroll-padding-block:4px; }
.sidebar-directory-content { display:flow-root; }
.directory-group {margin-bottom:8px;}
.directory-section:not(:last-child) {margin-bottom:var(--space-4);}
.directory-project {--directory-project-icon:16px;--directory-project-gap:6px;margin-bottom:4px;}
.directory-project:last-child {margin-bottom:0;}
.directory-project + .directory-task {margin-top:var(--sidebar-row-gap);}
.directory-heading {display:flex;align-items:center;position:relative;}
.directory-heading>button:first-child {display:flex;align-items:center;gap:6px;min-width:0;width:100%;min-height:32px;text-align:left;padding:4px var(--directory-text-inset);font-size:var(--font-size-ui);color:var(--muted);border-radius:var(--radius-control);}
.directory-section>.directory-heading>button:first-child {color:var(--subtle);}
.directory-label {opacity:.72;}
.directory-heading.has-actions>button:first-child {padding-right:38px;}
.directory-project>.directory-heading.has-actions>button:first-child {min-height:var(--sidebar-row-height);gap:var(--directory-project-gap);padding-right:var(--directory-text-inset);color:var(--ink);}
.directory-project>.directory-heading:hover>button:first-child,
.directory-project>.directory-heading:has(>button:focus-visible)>button:first-child {padding-right:60px;}
.directory-project>.directory-heading>button:first-child>.icon:not(.directory-chevron) {width:var(--directory-project-icon);height:var(--directory-project-icon);}
.directory-heading>button:first-child>span {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.directory-heading .directory-chevron {width:14px;height:14px;flex:none;opacity:.72;}
.directory-heading>button:not(:first-child) {position:absolute;right:0;display:grid;place-items:center;width:28px;height:28px;padding:4px;color:var(--muted);border-radius:var(--radius-control);opacity:0;pointer-events:none;}
.directory-heading>button.directory-create-work {right:30px;}
.directory-project>.directory-heading>button:not(:first-child) {width:26px;}
.directory-create-work>.icon {width:14px;height:14px;}
.directory-heading:hover>button:not(:first-child),.directory-heading:has(>button:focus-visible)>button:not(:first-child) {opacity:1;pointer-events:auto;}
.directory-heading>button:hover,.directory-heading>button:focus-visible {background:var(--surface-hover);color:var(--ink);}
.directory-children {display:flow-root;margin-left:calc(var(--directory-project-icon) + var(--directory-project-gap));padding-top:var(--sidebar-row-gap);}
.directory-task {display:flex;align-items:center;position:relative;--directory-row-surface:var(--surface-subtle);--directory-slot-width:28px;--directory-menu-width:40px;--directory-menu-space:0px;--directory-status-space:0px;}
.directory-task+.directory-task {margin-top:var(--sidebar-row-gap);}
.directory-task:hover,.directory-task:focus-within {--directory-row-surface:var(--surface-hover);}
.directory-task:has(.selected) {--directory-row-surface:var(--surface-hover);}
.directory-task:has(.conversation-status-slot:not(:empty)) {--directory-status-space:var(--directory-slot-width);}
.directory-task:hover,.directory-task:focus-within,.directory-task:has(.selected),.directory-task:has(.directory-task-menu[aria-expanded="true"]) {--directory-menu-space:var(--directory-menu-width);}
.directory-task .history-item {flex:1;width:0;min-height:var(--sidebar-row-height);padding:5px 8px 5px var(--directory-text-inset);font-size:var(--font-size-ui);line-height:var(--line-ui);background:var(--directory-row-surface);}
.conversation-status-slot {position:absolute;right:var(--directory-menu-space);top:50%;transform:translateY(-50%);z-index:1;display:flex;align-items:center;justify-content:center;width:var(--directory-slot-width);height:28px;background:var(--directory-row-surface);}
.conversation-status-slot:empty {display:none;}
.conversation-status-slot::before,.directory-task-menu::before,.directory-task .automation-topic-clock::before {content:"";position:absolute;right:100%;top:0;bottom:0;width:12px;background:linear-gradient(to right,transparent,var(--directory-row-surface));pointer-events:none;}
.conversation-status-slot .conversation-status {margin:0;}
.directory-task-menu {position:absolute;right:0;top:0;z-index:2;width:var(--directory-menu-width);height:100%;display:grid;place-items:center;padding:4px;opacity:0;pointer-events:none;color:var(--muted);border-radius:var(--radius-control);background:var(--directory-row-surface);}
.directory-task-menu:hover,.directory-task-menu[aria-expanded="true"] {background:var(--surface-hover);color:var(--ink);}
.directory-task:hover .directory-task-menu,.directory-task:focus-within .directory-task-menu,.directory-task:has(.selected) .directory-task-menu,.directory-task-menu[aria-expanded="true"] {opacity:1;pointer-events:auto;}
.directory-task .automation-topic-clock {position:absolute;right:calc(var(--directory-menu-space) + var(--directory-status-space));top:50%;transform:translateY(-50%);z-index:2;width:var(--directory-slot-width);height:28px;background:var(--directory-row-surface);}
.directory-task:has(.automation-topic-clock) .conversation-status-slot::before,
.directory-task:has(.conversation-status-slot:not(:empty),.automation-topic-clock) .directory-task-menu::before {display:none;}
.directory-task:has(.selected) .directory-task-menu {background:var(--surface-hover);color:var(--selected-ink);}
.directory-more {display:block;width:fit-content;max-width:100%;min-height:32px;margin-top:var(--space-1);padding:4px var(--directory-text-inset);text-align:left;font-size:var(--font-size-ui);font-weight:var(--font-weight-regular);line-height:var(--line-ui);color:var(--subtle);background:transparent;border-radius:var(--radius-control);}
.directory-more:hover,.directory-more:focus-visible {background:var(--surface-hover);}
.directory-empty {display:flex;align-items:center;min-height:var(--sidebar-row-height);margin:0;padding:5px var(--directory-text-inset);font-size:var(--font-size-ui);line-height:var(--line-ui);color:var(--subtle);opacity:.55;}
.project-name-input {display:block;width:100%;margin:12px 0 16px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-control);}

@media(hover:none) {
  .directory-heading>button:not(:first-child),.directory-task-menu {opacity:1;pointer-events:auto;}
  .directory-project>.directory-heading.has-actions>button:first-child {padding-right:60px;}
  .directory-task-menu {pointer-events:auto;}
  .directory-task {--directory-menu-space:var(--directory-menu-width);}
}
@media(pointer:coarse) {
  .sidebar { --sidebar-row-height:44px; }
  .directory-task { --directory-menu-width:44px; }
  .workspace-button { width:44px; height:44px; }
  .directory-heading>button:first-child,.directory-more { min-height:44px; }
}

/* A shared, compact menu for right-click, keyboard and the hover action. */
.conversation-menu{position:fixed;z-index:1200;width:210px;padding:5px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-popover)}
.conversation-menu button{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--ink);font-family:inherit;font-size:var(--font-size-ui);text-align:left;cursor:pointer}
.conversation-menu button:hover{background:var(--surface-hover);color:var(--ink)}
.conversation-menu button:focus-visible{background:var(--surface-hover);outline-offset:-2px;}
.conversation-menu button.danger{color:var(--danger);border-top:1px solid var(--line);margin-top:4px}
.conversation-menu button.danger:hover,.conversation-menu button.danger:focus-visible{background:var(--danger-surface)}
.conversation-menu .icon{flex:none}
.conversation-menu button>span{flex:1;min-width:0;overflow-wrap:anywhere}
.conversation-menu .submenu-arrow,.conversation-menu .project-selected{margin-left:auto}
.conversation-menu .menu-separator{height:1px;margin:var(--space-1) var(--space-2);background:var(--line)}
.conversation-menu.project-submenu{width:264px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow-y:auto}
.conversation-menu button[aria-checked="true"]{background:var(--surface-selected);color:var(--selected-ink);font-weight:var(--font-weight-medium);opacity:1;cursor:default}

/* Drag feedback uses the same contrast-tested accents in both appearances. */
[data-drag-kind] {cursor:grab;}
[data-drag-kind]:active {cursor:grabbing;}
.sidebar-drag-source {opacity:.45;}
.sidebar-drop-inside {border-radius:var(--radius-control);background:var(--surface-selected);outline:2px solid var(--accent-ink);outline-offset:-2px;}
.sidebar-drop-before,.sidebar-drop-after {position:relative;}
.sidebar-drop-before::before,.sidebar-drop-after::after {content:"";position:absolute;left:6px;right:6px;height:2px;background:var(--accent-ink);border-radius:2px;z-index:5;pointer-events:none;}
.sidebar-drop-before::before {top:-2px;}
.sidebar-drop-after::after {bottom:-2px;}
.sidebar-pin-drop {margin:4px 4px 12px;padding:10px 8px;border:1px dashed var(--line-strong);border-radius:var(--radius-control);color:var(--muted);font-size:var(--font-size-ui);}
.sidebar-drop-hint {position:fixed;z-index:1600;max-width:280px;padding:7px 10px;background:var(--paper);border:1px solid var(--accent-ink);border-radius:var(--radius-control);box-shadow:var(--shadow-popover);color:var(--ink);font-size:var(--font-size-note);pointer-events:none;}
.sidebar-drop-hint[hidden] {display:none;}
.archive-tabs {display:flex;gap:var(--space-5);margin:0 0 var(--space-4);}
.archive-tabs button {position:relative;padding:8px 0;color:var(--muted);font-size:var(--font-size-ui);}
.archive-tabs button[aria-selected="true"] {color:var(--accent-ink);}
.archive-tabs button[aria-selected="true"]::after {content:"";position:absolute;bottom:0;left:0;right:0;height:2px;border-radius:2px;background:var(--accent-ink);}
.archive-filters[hidden] {display:none;}


/* Prose has a shared measure. Tables/charts may use the wider conversation.
   Do not cap .message-copy at the prose measure: its tables use the column. */
.conversation-scroll > :not(.chat-message) { width:min(100%,var(--reading-width)); margin-inline:auto; }
.conversation-scroll > button { display:block; text-align:left; }
.chat-message { min-width:0; max-width:var(--reading-width); margin-inline:auto; }
.chat-message:not(.user-message) { width:100%; }
.chat-message:has(.message-table-scroll) { max-width:100%; }
.message-heading,.assistant-message-heading,.message-prose > :not(.message-table-scroll),.result-entry,.product-service-actions,
.report-prose,.drawer-lead,.library-heading p,.library-card .memory-value {
  max-width:var(--reading-width);
}
.chat-message:has(.message-table-scroll) .message-heading,
.assistant-message-heading,.result-entry,.product-service-actions,
.message-prose > :not(.message-table-scroll) { margin-inline:auto; }
/* Reply metadata follows the prose edge even when a table widens the message. */
.chat-message > .message-copy > .message-actions { right:max(0px,calc((100% - var(--reading-width)) / 2)); }
.user-message { max-width:min(66.6667%,calc(var(--reading-width) * 2 / 3)); margin-left:auto; margin-right:max(0px,calc((100% - var(--reading-width)) / 2)); }
.user-message:has(.attachments) { width:100%; }
.answer-message {
  width:min(100%,var(--reading-width));
  padding:16px 20px;
  border:1px solid var(--line);
  border-radius:var(--radius-panel);
  background:var(--paper);
  box-shadow:none;
}
.answer-message[data-message-id] { margin-bottom:24px; }
.answer-record-header { display:flex; align-items:center; gap:10px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.answer-record-header strong { font-size:var(--font-size-ui); font-weight:var(--font-weight-medium); color:var(--heading); }
.answer-record-icon { display:grid; place-items:center; width:30px; height:30px; flex-shrink:0; border-radius:var(--radius-control); background:var(--accent-soft); color:var(--accent-ink); }
.answer-record-count { margin-left:auto; font-size:var(--font-size-table); color:var(--muted); white-space:nowrap; }
.answer-record-list { margin:12px 0 0; display:grid; gap:12px; }
.answer-record-item { min-width:0; overflow-wrap:anywhere; }
.answer-record-item dt,.answer-record-note > span { margin:0 0 3px; font-size:var(--font-size-table); line-height:var(--line-ui); color:var(--muted); }
.answer-record-item dd,.answer-record-note p { margin:0; font-size:var(--font-size-body); line-height:var(--line-body); color:var(--ink); white-space:pre-wrap; overflow-wrap:anywhere; }
.answer-record-item .answer-record-impact { margin-top:6px; font-size:var(--font-size-table); color:var(--warning); }
.answer-record-note { margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
.composer,.conversation-followups { max-width:var(--reading-width); margin-inline:auto; }
.report-source p { color:var(--ink); font-size:var(--font-size-table); }
.report-metric small { display:inline-block; white-space:nowrap; }
.metric,.hero-amount,.reading-total { font-weight:var(--font-weight-semibold); font-variant-numeric:tabular-nums; }
.form-field label,.tree-field { font-size:var(--font-size-ui); }
.progress-stage,.progress-next { -webkit-line-clamp:unset; overflow:visible; }
/* Keep controls usable when larger labels need more room. */
.breadcrumb { min-width:0; overflow:hidden; }
.breadcrumb > span { overflow:hidden; text-overflow:ellipsis; }
.top-actions { flex-shrink:0; }
.expense-bar-row { grid-template-columns:minmax(80px,1fr) minmax(40px,2fr) minmax(80px,max-content); }
@media(max-width:760px) {
  :root { --topbar-height:76px; }
  .topbar { height:auto; min-height:var(--topbar-height); flex-wrap:wrap; padding-block:10px; }
  .report-metric { padding:16px; }
  .user-message { max-width:85%; }
}

/* Data center: one quiet list, details on demand. Uses the shared reading roles. */
/* Center surfaces and page spacing are owned by .library-page. */
.db-heading>div:first-child,.db-heading-actions { display:flex; align-items:center; gap:var(--space-4); }
.db-heading { align-items:flex-start; }
.db-heading h1 { margin:0; }
.db-heading .type-ui { color:var(--muted); }
.db-heading-actions { gap:24px; }
.db-tabs { margin-bottom:0; }
.db-tabs>button { display:flex; align-items:center; gap:var(--space-2); }
.db-tab-count { display:inline-flex; align-items:center; justify-content:center; min-width:24px; padding:1px 7px; border-radius:var(--radius-control); background:var(--warm); color:var(--ink); font-size:var(--font-size-ui); line-height:var(--line-ui); }
.db-panel { padding-top:var(--space-6); min-width:0; }
.db-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin:0 0 18px; }
.db-section-heading h2 { margin:0; }
.db-knowledge { padding:0 0 28px; margin-bottom:28px; }
.db-knowledge>.reading-prose { margin:0; white-space:pre-line; }
.db-knowledge .dc-important-unknown { max-width:var(--reading-width); }
.db-empty-summary { color:var(--muted); }
.db-evidence { margin:16px 0 0; }
.db-evidence>summary { width:fit-content; cursor:pointer; font-size:var(--font-size-ui); line-height:var(--line-ui); color:var(--muted); }
.db-evidence>.button-row { margin-top:14px; }
.db-topics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.db-topic { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:20px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); }
.db-topic-top { display:flex; justify-content:space-between; align-items:baseline; width:100%; gap:14px; margin-bottom:12px; }
.db-topic-top h3 { margin:0; overflow-wrap:anywhere; }
.db-topic-top>span { flex-shrink:0; color:var(--muted); font-size:var(--font-size-ui); line-height:var(--line-ui); }
.db-topic>.reading-prose { margin:0 0 12px; }
.db-topic-period,.db-topic-status { margin:0 0 10px; font-size:var(--font-size-ui); line-height:var(--line-ui); color:var(--muted); }
.db-topic-status { color:var(--ink); }
.db-topic>.text-link { margin-top:auto; padding-top:8px; }
.db-range { border:1px solid var(--line); border-radius:var(--radius-card); margin:24px 0; }
.db-range>summary { display:flex; align-items:center; gap:14px; padding:18px 20px; cursor:pointer; list-style:none; font-weight:var(--font-weight-medium); }
.db-range>summary::-webkit-details-marker { display:none; }
.db-range>summary>.type-ui { margin-left:auto; font-weight:var(--font-weight-regular); color:var(--muted); }
.db-range>summary>.icon { transition:transform .15s; }
.db-range[open]>summary>.icon { transform:rotate(180deg); }
.db-range-body { padding:0 20px 20px; }
.db-range-body>p { margin:0 0 16px; color:var(--muted); }
.db-range-scroll { max-height:380px; overflow:auto; border:1px solid var(--line); border-radius:var(--radius-control); }
.db-range-table { width:100%; border-collapse:separate; border-spacing:0; white-space:nowrap; }
.db-range-table th,.db-range-table td { padding:10px 12px; border-bottom:1px solid var(--line); text-align:center; }
.db-range-table th { background:var(--paper); }
.db-range-table thead th { position:sticky; top:0; z-index:2; font-weight:var(--font-weight-medium); }
.db-range-table th:first-child { position:sticky; left:0; min-width:160px; max-width:240px; white-space:normal; text-align:left; }
.db-range-table thead th:first-child { z-index:3; }
.db-range-table tbody th { z-index:1; }
.db-range-table tbody tr:last-child>th,.db-range-table tbody tr:last-child>td { border-bottom:0; }
.db-range-table td>button { width:100%; min-width:64px; padding:7px 12px; border:0; border-radius:var(--radius-control); background:color-mix(in srgb,var(--accent) 9%,var(--paper)); color:var(--accent-ink); font-size:var(--font-size-ui); }
.db-range-table td>.db-range-unknown { background:var(--warm); color:var(--ink); }
.db-range-table td>span { color:var(--subtle); }
.db-search { gap:var(--space-3); margin:0 0 var(--space-6); }
.db-search-input { display:flex; align-items:center; gap:var(--space-2); flex:1; min-width:220px; min-height:var(--control-height); padding:0 var(--space-3); border:1px solid var(--line-strong); border-radius:var(--radius-control); background:var(--paper); }
.db-search-input>.icon { flex-shrink:0; color:var(--muted); }
.db-search-input>input { flex:1; width:100%; min-width:0; min-height:0; border:0; padding:10px 0; background:transparent; box-shadow:none; }
.db-search-input>input:focus { outline:0; box-shadow:none; }
.db-search-input>button { flex-shrink:0; }
.db-filter-controls { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.db-filter-controls select { padding:10px 12px; border:1px solid var(--line-strong); border-radius:var(--radius-control); background:var(--paper); color:var(--ink); max-width:200px; }
.db-library-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:20px; }
.db-library-toolbar>.type-ui { color:var(--muted); }
.db-view-switch { display:flex; gap:3px; padding:3px; border-radius:var(--radius-control); background:var(--warm); }
.db-view-switch>button { padding:6px 12px; background:transparent; color:var(--muted); border:1px solid transparent; border-radius:var(--radius-control); }
.db-view-switch>button:hover { background:var(--surface-hover); }
.db-view-switch>button[aria-pressed="true"] { background:var(--surface-selected); border-color:var(--line-selected); color:var(--selected-ink); font-weight:var(--font-weight-medium); }
.db-active-filters { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin:0 0 18px; font-size:var(--font-size-ui); line-height:var(--line-ui); }
.db-active-filters>span { overflow-wrap:anywhere; }
.db-active-filters>button { flex-shrink:0; }
.db-groups { display:grid; gap:10px; }
.db-group { min-width:0; border:1px solid var(--line); border-radius:var(--radius-card); overflow:hidden; }
.db-group-toggle { display:flex; align-items:center; gap:16px; width:100%; padding:18px 20px; text-align:left; border:0; background:var(--paper); color:var(--ink); }
.db-group-toggle:hover { background:var(--warm); }
.db-group-chevron { display:flex; flex-shrink:0; color:var(--muted); transition:transform .15s; }
.db-group.is-open .db-group-chevron { transform:rotate(90deg); }
.db-group-title { flex:1; min-width:0; }
.db-group-title strong { display:block; font-size:var(--font-size-body); font-weight:var(--font-weight-medium); line-height:var(--line-body); overflow-wrap:anywhere; }
.db-group-title>span { display:block; margin-top:3px; font-size:var(--font-size-ui); line-height:var(--line-ui); color:var(--muted); }
.db-group-count { flex-shrink:0; color:var(--muted); }
.db-group-body { padding:0 20px 4px 54px; border-top:1px solid var(--line); }
.db-period-section { margin:18px 0; }
.db-period-heading { margin:0 0 2px; padding-bottom:8px; border-bottom:1px solid var(--line); font-size:var(--font-size-ui); font-weight:var(--font-weight-medium); line-height:var(--line-ui); color:var(--muted); }
.db-item { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:12px 0; border-bottom:1px solid var(--line); }
.db-item:last-child { border-bottom:0; }
.db-item-main { flex:1; min-width:0; }
.db-item-name { display:flex; gap:8px; align-items:center; max-width:100%; padding:0; border:0; background:transparent; color:var(--ink); font-size:var(--font-size-body); font-weight:var(--font-weight-medium); line-height:var(--line-body); text-align:left; overflow-wrap:anywhere; }
.db-item-name>.icon { color:var(--muted); flex-shrink:0; }
.db-item-name:hover { color:var(--accent-ink); }
.db-item-preview { margin:6px 0 0; max-width:var(--reading-width); }
.db-item-meta { display:flex; flex-wrap:wrap; gap:4px 16px; margin-top:7px; font-size:var(--font-size-ui); line-height:var(--line-ui); color:var(--muted); }
.db-item-status { flex-shrink:0; max-width:160px; font-size:var(--font-size-ui); line-height:var(--line-ui); color:var(--muted); padding-top:4px; }
.db-item-status.dc-warning { color:var(--warning); font-size:var(--font-size-body); line-height:var(--line-body); }
.db-derived { margin-top:30px; padding-top:24px; border-top:1px solid var(--line); }
.db-derived .db-section-heading { margin-bottom:10px; }
.db-derived-scope { margin:0 0 12px; max-width:var(--reading-width); }
.db-inline-state { margin:20px 0; color:var(--muted); }
.db-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:20px 0 4px; font-size:var(--font-size-ui); line-height:var(--line-ui); color:var(--muted); }
.db-pagination>div { display:flex; gap:8px; }
.db-pagination button { padding:7px 12px; }
.db-questions { max-width:920px; }
.db-question { padding:24px 0; border-bottom:1px solid var(--line); }
.db-question:first-child { padding-top:0; }
.db-question-meta { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:10px; color:var(--muted); font-size:var(--font-size-ui); line-height:var(--line-ui); }
.db-question h2 { margin:0; max-width:var(--reading-width); font-size:var(--font-size-body); line-height:var(--line-body); }
.db-question>.reading-prose { margin:10px 0 0; }
.db-question-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:18px; }
.db-question-footer>.type-ui { color:var(--muted); }
.db-question-footer>button { flex-shrink:0; }
.db-empty { padding:56px 0 64px; max-width:var(--reading-width); }
.db-empty h2 { margin:18px 0 10px; }
.db-empty p { margin:0 0 24px; color:var(--muted); }
.db-empty-icon { display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; background:var(--warm); color:var(--muted); border-radius:var(--radius-card); }
.db-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:40px; padding-top:20px; font-size:var(--font-size-ui); line-height:var(--line-ui); color:var(--muted); }
.db-period-unknown { margin:0 0 20px; }
.db-period-unknown>button { margin-left:8px; }
.db-receipts { padding-top:20px; }
.db-batch { padding:20px 0; border-bottom:1px solid var(--line); }
.db-batch:first-child { padding-top:0; }
.db-batch-open { display:flex; justify-content:space-between; align-items:center; gap:20px; width:100%; padding:0; text-align:left; border:0; background:transparent; color:var(--ink); font-size:var(--font-size-body); line-height:var(--line-body); }
.db-batch-open>span { min-width:0; overflow-wrap:anywhere; }
.db-batch-date { display:block; margin-top:5px; font-size:var(--font-size-ui); line-height:var(--line-ui); color:var(--muted); }
.db-batch>p { margin:10px 0 0; }
.db-receipt-heading { margin:22px 0 8px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.db-receipt-heading h3 { margin-bottom:8px; }
.db-receipt-heading>p { margin:0 0 10px; color:var(--muted); }
.db-receipt { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding:22px 0; border-bottom:1px solid var(--line); }
.db-receipt>div:first-child { flex:1; min-width:0; }
.db-receipt h3 { margin:0 0 6px; font-size:var(--font-size-body); line-height:var(--line-body); overflow-wrap:anywhere; }
.db-receipt-path { margin:0 0 8px; color:var(--muted); font-size:var(--font-size-ui); line-height:var(--line-ui); overflow-wrap:anywhere; }
.db-receipt-state { margin:8px 0 0; }
.db-receipt-actions { display:flex; flex-direction:column; gap:12px; flex-shrink:0; }
@media(max-width:1100px) {
  .db-topics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .db-search { flex-wrap:wrap; }
  .db-filter-controls { width:100%; }
}
@media(max-width:640px) {
  .db-heading { align-items:flex-start; gap:14px; }
  .db-heading>div:first-child { align-items:flex-start; flex-direction:column; gap:5px; }
  .db-heading-actions { gap:var(--space-4); flex-wrap:wrap; }
  .db-topics { grid-template-columns:minmax(0,1fr); }
  .db-section-heading { flex-wrap:wrap; gap:8px; }
  .db-knowledge { margin-bottom:24px; padding-bottom:24px; }
  .db-group-toggle { gap:10px; padding:15px 14px; }
  .db-group-count { white-space:nowrap; }
  .db-group-body { padding:0 14px 8px; }
  .db-library-toolbar { align-items:flex-start; gap:12px; flex-direction:column; }
  .db-filter-controls>select,.db-filter-controls>.date-field { flex:1; min-width:140px; max-width:100%; }
  .db-item { flex-wrap:wrap; gap:8px; }
  .db-item-main { flex-basis:100%; }
  .db-item-status { max-width:none; padding-top:0; }
  .db-question-footer { align-items:flex-start; flex-wrap:wrap; gap:12px; }
  .db-range>summary { flex-wrap:wrap; gap:8px; }
  .db-range>summary>.type-ui { order:3; width:100%; margin:0; }
  .db-range>summary>.icon { margin-left:auto; }
  .db-range-body { padding:0 14px 14px; }
  .db-range-table th:first-child { min-width:120px; max-width:170px; }
  .db-footer { align-items:flex-start; }
}
.dc-heading > button { flex-shrink:0; }
.dc-knowledge-brief { display:flex; align-items:flex-start; justify-content:space-between; gap:32px; padding:26px; margin-bottom:28px; background:var(--warm); border:1px solid var(--line); border-radius:var(--radius-card); }
.dc-brief-copy { min-width:0; max-width:var(--reading-width); }
.dc-brief-copy h2 { margin:0 0 12px; font-size:var(--font-size-heading); font-weight:var(--font-weight-semibold); line-height:var(--line-heading); }
.dc-brief-copy p { margin:0 0 12px; }
.dc-brief-evidence { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; font-size:var(--font-size-note); color:var(--muted); }
.dc-received-count { display:flex; flex-direction:column; gap:6px; min-width:120px; align-items:flex-start; }
.dc-received-count strong { font-size:var(--font-size-title); font-weight:var(--font-weight-semibold); line-height:var(--line-heading); }
.dc-received-count span { font-size:var(--font-size-ui); color:var(--ink); }
.dc-topic-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:16px; }
.dc-topic-card { min-width:0; padding:22px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); display:flex; flex-direction:column; gap:14px; }
.dc-topic-heading { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.dc-topic-heading h3 { margin:0; font-size:var(--font-size-heading); line-height:var(--line-heading); font-weight:var(--font-weight-semibold); }
.dc-topic-heading h3 button { text-align:left; font:inherit; }
.dc-understanding-state { font-size:var(--font-size-ui); line-height:var(--line-ui); color:var(--ink); }
.dc-topic-summary p,.dc-card-range,.dc-topic-card .dc-important-unknown { margin:0; }
.dc-topic-summary p+p { margin-top:10px; }
.dc-topic-tags { display:flex; flex-wrap:wrap; gap:6px; }
.dc-topic-tags span { padding:3px 8px; border-radius:var(--radius-control); background:var(--warm); font-size:var(--font-size-ui); line-height:var(--line-ui); color:var(--ink); }
.dc-card-range,.dc-important-unknown { font-size:var(--font-size-body); line-height:var(--line-body); color:var(--ink); }
.dc-important-unknown { border-left:3px solid var(--warning); padding-left:12px; }
.dc-topic-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:auto; padding-top:8px; font-size:var(--font-size-ui); color:var(--muted); }
.dc-range-map,.dc-recent { margin:24px 0; padding:18px 22px; border:1px solid var(--line); border-radius:var(--radius-card); }
.dc-range-map summary,.dc-recent summary { cursor:pointer; font-size:var(--font-size-body); font-weight:var(--font-weight-medium); line-height:var(--line-body); }
.dc-range-map p { max-width:var(--reading-width); }
.dc-coverage-table { width:100%; border-collapse:separate; border-spacing:8px; }
.dc-coverage-table th { text-align:left; font-size:var(--font-size-ui); font-weight:var(--font-weight-medium); line-height:var(--line-ui); color:var(--ink); min-width:110px; }
.dc-coverage-table td { vertical-align:top; min-width:140px; }
.dc-range-cell { display:block; width:100%; padding:10px; margin-bottom:6px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--success-surface); color:var(--ink); text-align:left; font-size:var(--font-size-ui); line-height:var(--line-ui); }
.dc-range-cell.partial { background:var(--warning-surface); }
.dc-range-cell span { display:block; margin-top:5px; }
.dc-range-empty { display:block; padding:12px; font-size:var(--font-size-ui); color:var(--muted); }
.dc-timeline { list-style:none; margin:22px 0 0; padding:0; }
.dc-timeline li { position:relative; display:grid; grid-template-columns:140px minmax(0,1fr); gap:20px; padding:0 0 24px 24px; border-left:1px solid var(--line); }
.dc-timeline li::before { content:''; width:9px; height:9px; border-radius:50%; background:var(--accent); position:absolute; left:-5px; top:7px; }
.dc-timeline time { font-size:var(--font-size-note); line-height:var(--line-body); color:var(--muted); }
.dc-timeline p { margin:4px 0; overflow-wrap:anywhere; }
.dc-evidence-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); align-items:start; gap:24px; margin:24px 0; }
.dc-evidence-meaning { padding:20px; background:var(--warm); border:1px solid var(--line); border-radius:var(--radius-card); }
.dc-evidence-original { min-width:0; }
.dc-source-actions { margin:16px 0; }
.dc-related-memories,.dc-assessments { display:grid; gap:12px; }
.dc-related-memories article,.dc-assessments article { padding:18px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--warm); }
@media (max-width:736px) {
  .dc-knowledge-brief { flex-direction:column; padding:20px; gap:20px; }
  .dc-received-count { flex-direction:row; align-items:center; flex-wrap:wrap; gap:12px; }
  .dc-evidence-pair { grid-template-columns:minmax(0,1fr); }
  .dc-timeline li { grid-template-columns:minmax(0,1fr); gap:4px; }
}
.dc-attention { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:18px 22px; margin-bottom:30px; border:1px solid var(--line); background:var(--warm); border-radius:var(--radius-card); }
.dc-attention strong { font-size:var(--font-size-body); }
.dc-attention p { font-size:var(--font-size-note); color:var(--muted); margin:5px 0 0; }
.dc-search { max-width:none; gap:10px; align-items:center; margin:0 0 24px; }
.dc-search input { max-width:480px; border-color:var(--line); padding:11px 14px; }
.dc-search > button { padding:9px; }
.dc-search select { margin-left:auto; max-width:180px; padding:11px 14px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--paper); color:var(--ink); }
.dc-group { margin:30px 0; }
.dc-group h2 { font-size:var(--font-size-ui); font-weight:var(--font-weight-medium); color:var(--muted); margin:0 0 8px; }
.dc-data-row { display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%; text-align:left; border:0; border-bottom:1px solid var(--line); padding:20px 10px; background:transparent; border-radius:var(--radius-control); }
.dc-data-row:hover,.dc-data-row:focus-visible { background:var(--warm); }
.dc-data-row > span:first-child { min-width:0; overflow-wrap:anywhere; }
.dc-row-name { display:block; font-size:var(--font-size-body); font-weight:var(--font-weight-medium); line-height:var(--line-body); }
.dc-row-name small { margin-left:10px; color:var(--muted); font-weight:var(--font-weight-regular); white-space:nowrap; }
.dc-row-meta { display:block; margin-top:5px; font-size:var(--font-size-note); line-height:var(--line-ui); color:var(--muted); }
.dc-row-state { flex-shrink:0; font-size:var(--font-size-table); color:var(--muted); }
.dc-warning { color:var(--warning); }
.dc-list-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:28px; font-size:var(--font-size-note); color:var(--muted); }
.dc-empty { padding:68px 0; }
.dc-empty h2 { margin-bottom:14px; }
.dc-empty p { color:var(--muted); margin-bottom:24px; }
.data-center-drawer { width:780px; max-width:100%; }
.data-center-drawer .real-drawer-body { padding-top:0; }
.data-center-drawer h3 { margin:0 0 14px; }
.data-center-drawer .reading-prose { margin-top:0; }
.dc-detail-tabs { display:flex; gap:28px; position:sticky; top:0; background:var(--paper); border-bottom:1px solid var(--line); z-index:1; }
.dc-detail-tabs button { padding:18px 0 14px; background:none; border:0; border-bottom:2px solid transparent; color:var(--muted); white-space:nowrap; }
.dc-detail-tabs button.active { color:var(--ink); border-bottom-color:var(--ink); font-weight:var(--font-weight-medium); }
.dc-detail-content { padding-top:28px; overflow-wrap:anywhere; }
.dc-section { margin-top:32px; }
.dc-section p { margin:12px 0; }
.dc-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; }
.dc-facts { display:grid; grid-template-columns:100px minmax(0,1fr); gap:14px 24px; margin:8px 0 0; }
.dc-facts dt { color:var(--muted); }
.dc-facts dd { margin:0; }
.dc-facts small { display:block; color:var(--muted); margin-top:6px; }
.dc-source-section { margin:0 0 32px; }
.dc-source-section + .dc-source-section { border-top:1px solid var(--line); padding-top:30px; }
.dc-source-section details { margin:18px 0; padding:14px 16px; border:1px solid var(--line); border-radius:var(--radius-control); }
.dc-source-section summary { cursor:pointer; font-size:var(--font-size-ui); }
.dc-source-section details p { font-size:var(--font-size-table); }
.dc-source-section .table-scroll { margin-top:18px; }
.dc-history-entry { border-bottom:1px solid var(--line); padding:20px 0; }
.dc-history-entry small { color:var(--muted); }
.dc-history-entry h3 { margin-top:12px; }
.dc-history-entry p { margin:8px 0; }
.dc-edit-form { padding-top:26px; }
.dc-edit-form label { display:flex; flex-direction:column; gap:8px; margin:18px 0; font-size:var(--font-size-ui); }
.dc-edit-form input { width:100%; min-width:0; padding:12px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--paper); color:var(--ink); }
.dc-period-fields { display:flex; gap:20px; }
.dc-period-fields > label { flex:1; min-width:0; }
.date-field { display:inline-flex; min-width:0; max-width:100%; vertical-align:middle; }
.date-field > input[type="hidden"] { display:none; }
.date-trigger { display:flex; align-items:center; justify-content:space-between; gap:18px; width:100%; min-height:44px; padding:10px 13px; border:1px solid var(--line-strong); border-radius:var(--radius-control); background:var(--paper); color:var(--ink); text-align:left; white-space:nowrap; }
.date-trigger svg { flex:none; color:var(--subtle); }
.date-trigger.is-empty { color:var(--muted); }
.date-trigger:hover { border-color:var(--line-strong); background:var(--warm); }
.date-trigger:focus-visible { outline:none; }
.dc-edit-form .date-field,.memory-edit .date-field { width:100%; }
.dc-search .date-field { margin-left:auto; }
.center-search .date-field,.dc-search .date-field { flex-shrink:0; }
.date-popover { position:fixed; z-index:120; width:320px; max-width:calc(100vw - 24px); padding:14px; overflow:auto; overscroll-behavior:contain; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--paper); box-shadow:var(--shadow-popover); color:var(--ink); font-size:var(--font-size-ui); line-height:var(--line-ui); }
.date-picker-header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:14px; }
.date-picker-header button { border:0; background:transparent; border-radius:var(--radius-control); min-height:34px; }
.date-nav { display:grid; place-items:center; width:34px; padding:6px; flex:none; }
.date-nav.previous svg { transform:rotate(180deg); }
.date-picker-title { display:flex; align-items:center; justify-content:center; gap:6px; flex:1; padding:5px; font-weight:var(--font-weight-semibold); }
.date-picker-title svg { transform:rotate(90deg); color:var(--subtle); }
.date-popover button:hover:not(:disabled) { background:var(--surface-hover); }
.date-popover button:focus-visible { outline:2px solid var(--accent-ink); outline-offset:2px; }
.date-popover button:disabled { cursor:default; opacity:.35; }
.date-picker-title:disabled { opacity:1; }
.date-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.date-cell { position:relative; display:grid; place-items:center; min-width:0; height:44px; padding:5px; border:0; border-radius:var(--radius-control); background:transparent; font-variant-numeric:tabular-nums; }
.date-days,.date-weekdays { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; }
.date-weekdays { margin-bottom:6px; text-align:center; color:var(--subtle); font-size:var(--font-size-note); }
.date-weekdays span { padding:4px; }
.date-days .date-cell { height:36px; }
.date-cell.is-outside { color:var(--subtle); }
.date-cell.is-today::after { content:""; position:absolute; bottom:4px; width:3px; height:3px; border-radius:50%; background:var(--accent); }
.date-cell.is-selected,.date-popover .date-cell.is-selected:hover { background:var(--accent); color:var(--on-accent); font-weight:var(--font-weight-medium); }
.date-cell.is-selected::after { background:var(--on-accent); }
.date-picker-footer { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-top:14px; padding-top:10px; border-top:1px solid var(--line); }
.date-picker-footer button { padding:6px 9px; border:0; border-radius:var(--radius-control); background:transparent; color:var(--accent-ink); }
@media(max-width:760px) {
  :root { --page-gutter:20px; --page-top:24px; }
  .dc-heading { flex-wrap:wrap; gap:12px; }
  .dc-heading p { max-width:var(--reading-width); }
  .dc-search { flex-wrap:wrap; }
  .dc-search input { flex:1; width:auto; }
  .dc-search select { margin-left:0; }
  .dc-data-row { gap:12px; flex-wrap:wrap; }
  .dc-row-state { flex-basis:100%; }
  .dc-list-footer { align-items:flex-start; }
  .dc-facts { grid-template-columns:76px minmax(0,1fr); gap:14px; }
  .dc-detail-tabs { gap:20px; }
}

/* Enterprise handbook: same typography and reading measure as conversations. */
.memory-handbook,.memory-overview,.memory-pending,.memory-related {max-width:var(--reading-width);margin:0 0 32px}
.memory-overview {padding:24px;background:var(--warm);border:1px solid var(--line);border-radius:var(--radius-card)}
.memory-overview h2,.memory-chapter h2,.memory-pending h2 {font-size:var(--font-size-heading);font-weight:var(--font-weight-semibold);line-height:var(--line-heading);margin:0 0 16px}
.memory-chapter {margin:32px 0}
.memory-entry {padding:20px 0;border-bottom:1px solid var(--line)}
.memory-entry-heading {display:flex;align-items:baseline;gap:16px;justify-content:space-between}
.memory-entry h3 {font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-body);margin:0}
.memory-entry-foot {display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:12px}
.memory-pending {padding:20px;border:1px solid var(--line);border-radius:var(--radius-card)}
.memory-pending article {padding:12px 0;border-top:1px solid var(--line)}
.memory-attention {color:var(--warning);font-size:var(--font-size-body)}
.memory-related {padding-top:16px;border-top:1px solid var(--line)}
.memory-related summary {cursor:pointer;color:var(--muted)}
.memory-detail blockquote {margin:12px 0;padding-left:16px;border-left:3px solid var(--line);white-space:pre-wrap}
.memory-edit {display:grid;gap:20px}
.memory-edit label {display:grid;gap:8px}
.memory-edit textarea,.memory-edit input,.memory-edit select {width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-control);font:inherit;color:var(--ink);background:var(--paper)}

/* The handbook reads as a company portrait; records and history stay within reach. */
.memory-handbook-page {padding-bottom:64px}
.mh-heading .button-row {flex-shrink:0;gap:var(--space-4)}
.mh-reading {max-width:var(--reading-width);overflow-wrap:anywhere}
.mh-reading h2 {font-size:var(--font-size-heading);margin:0 0 20px}
.mh-reading h3 {font-size:var(--font-size-body);margin:0 0 8px}
.mh-reading p {margin:8px 0}
.mh-section,.mh-recent {margin-top:40px}
.mh-section-heading {display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}
.mh-section-heading h2,.mh-section-heading p {margin:0}
.mh-meta {font-size:var(--font-size-ui);line-height:var(--line-ui);color:var(--muted)}
.mh-overview {padding:24px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--warm)}
.mh-model-item + .mh-model-item {border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.mh-model-item .reading-prose > :first-child {margin-top:0}
.mh-item-actions {display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:12px}
.mh-sources {max-width:100%}
.mh-sources summary,.mh-relations > summary {cursor:pointer;color:var(--accent-ink);font-size:var(--font-size-ui)}
.mh-source-links {display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 0 4px}
.mh-source-links button {text-align:left}
.mh-focus {display:grid;gap:16px}
.mh-focus .mh-model-item {border:1px solid var(--line);border-radius:var(--radius-card);padding:20px;margin:0}
.mh-focus-detail {margin-top:12px}
.mh-focus-detail > summary,.mh-focus-organization > summary {cursor:pointer;color:var(--accent-ink);font-size:var(--font-size-ui)}
.mh-focus-detail > .reading-prose {margin-top:16px}
.mh-focus-organization {padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:12px}
.mh-focus-organization > .mh-model-item {margin-top:20px}
.mh-questions {margin-top:32px;padding:20px 24px;border-left:3px solid var(--warning);background:var(--warm)}
.mh-questions article + article {border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
.mh-questions h2 {margin-bottom:12px}
.mh-topic {border-bottom:1px solid var(--line)}
.mh-topic:first-of-type {border-top:1px solid var(--line)}
.mh-topic-toggle {display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:20px 0;border:0;background:transparent;text-align:left;font-size:var(--font-size-body)}
.mh-topic-toggle > span:first-child {min-width:0}
.mh-topic-summary {display:block;margin-top:6px;font-size:var(--font-size-ui);line-height:var(--line-ui);color:var(--muted)}
.mh-topic-count {display:flex;align-items:center;white-space:nowrap;gap:12px;font-size:var(--font-size-ui);color:var(--muted)}
.mh-topic-toggle[aria-expanded=true] .mh-topic-count {color:var(--accent-ink)}
.mh-topic-body {padding:0 0 20px 20px;border-left:2px solid var(--line);margin-bottom:8px}
.mh-record {padding:18px 0;border-bottom:1px solid var(--line)}
.mh-record:last-child {border-bottom:0}
.mh-record-heading {display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.mh-record-title {text-align:left;font-size:var(--font-size-body);font-weight:var(--font-weight-medium)}
.mh-record-heading .mh-meta {flex-shrink:0}
.mh-record-content {margin:8px 0}
.mh-record-content p {margin:4px 0}
.mh-search {margin:16px 0}
.mh-global-search {display:flex;align-items:center;gap:16px;margin-bottom:28px}
.mh-global-search .mh-search {flex:1;min-width:0;margin:0}
.mh-global-search > .text-link {flex-shrink:0}
.mh-filters {display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 28px}
.mh-filters label {display:flex;align-items:center;gap:8px;font-size:var(--font-size-ui);color:var(--muted)}
.mh-filters select {padding:8px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--paper);color:var(--ink);max-width:100%}
.mh-pagination {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0 4px}
.mh-history-item {border-left:2px solid var(--line);padding:0 0 20px 20px;margin-top:20px}
.mh-history-item h3 {margin:8px 0}
.mh-relations {border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
.mh-relation {margin-top:20px}
.mh-relation-path {display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,1fr) minmax(0,1fr);align-items:center;gap:12px}
.mh-relation-path > span:not(.mh-relation-verb) {padding:12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);text-align:center}
.mh-relation-verb {display:flex;flex-direction:column;align-items:center;text-align:center;font-size:var(--font-size-ui);color:var(--muted)}
.mh-empty {padding:24px 0}
.memory-detail-section {border-top:1px solid var(--line);margin-top:24px;padding-top:16px}
.memory-detail-section > summary {cursor:pointer;color:var(--accent-ink)}
.memory-detail-section > p {margin:12px 0}
.memory-detail-section .memory-source-evidence {margin:20px 0}
.memory-detail-section .mh-pagination {padding-bottom:12px}
.memory-detail .memory-current-state {border-left:3px solid var(--warning);padding-left:12px}
@media (max-width:760px) {
  .mh-heading {flex-direction:column;gap:var(--space-3)}
  .mh-heading .button-row {padding-top:0;flex-wrap:wrap}
  .mh-overview,.mh-focus .mh-model-item,.mh-questions {padding:18px}
  .mh-section-heading,.mh-record-heading,.mh-pagination {align-items:flex-start;flex-wrap:wrap;gap:8px}
  .mh-topic-body {padding-left:12px}
  .mh-search {display:flex;flex-wrap:wrap;gap:8px}
  .mh-search input {min-width:0;flex:1;width:auto}
  .mh-global-search {flex-wrap:wrap;gap:12px}
  .mh-global-search .mh-search {flex-basis:100%}
  .mh-relation-path {grid-template-columns:1fr}
  .mh-relation-verb > span {transform:rotate(90deg)}
}

/* Business progress follows the shared conversation typography. */
.live-progress { align-items:flex-start; }
.live-progress-body { min-width:0; flex:1; overflow-wrap:anywhere; }
.work-timing { max-width:var(--reading-width); margin:0 auto 12px; color:var(--subtle); font-size:var(--font-size-note); line-height:var(--line-ui); font-variant-numeric:tabular-nums; }
.message-meta { display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-2) var(--space-4); max-width:var(--reading-width); margin:0 auto var(--space-3); }
.message-meta .assistant-message-heading { margin:0; }
.message-meta .work-timing { margin:0; }
.message-meta .work-timing[data-timing-status="completed"] { color:var(--subtle); }
.message-meta .work-timing[data-timing-status="failed"],.message-meta .work-timing[data-timing-status="unknown"] { color:var(--warning); }
.work-updates { margin:16px 0; max-width:var(--reading-width); }
.work-updates ol,.work-history-list { list-style:none; padding:0; margin:8px 0; }
.work-update-item { border-left:2px solid var(--line); padding:0 0 12px 14px; margin:12px 0; overflow-wrap:anywhere; }
.work-update-item p { margin:4px 0; }
.work-update-state { font-weight:var(--font-weight-medium); }
.work-updates summary { cursor:pointer; color:var(--accent-ink); }
.work-issue { border-left:3px solid var(--warning); padding-left:12px; margin:12px 0; }
.live-progress .work-runtime { margin-top:12px; }
.work-runtime-warning { color:var(--warning); }

/* Restore the progress card while retaining conversational state and replies. */
.live-progress { padding:var(--space-4); gap:var(--space-3); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--warm); }
.live-progress strong { font-size:var(--font-size-body); font-weight:var(--font-weight-medium); line-height:var(--line-body); color:var(--ink); }
.live-progress .progress-action { font-size:var(--font-size-body); color:var(--ink); margin:var(--space-2) 0 0; }
.live-progress .work-issue { margin:var(--space-2) 0; }
.live-progress .work-runtime { font-size:var(--font-size-body); color:var(--ink); margin:var(--space-1) 0 0; }
.live-progress .progress-secondary { font-size:var(--font-size-ui); color:var(--muted); margin-top:var(--space-2); min-height:32px; }
.live-progress .progress-secondary:hover { color:var(--accent-ink); }
.work-activity-mark { display:inline-flex; flex:0 0 16px; width:16px; height:16px; margin-top:6px; color:var(--accent-ink); }
.work-activity-mark .icon { width:16px; height:16px; }
.work-activity-mark.is-active { animation:spin 1.2s linear infinite; }
.work-feedback-warning .work-activity-mark { color:var(--warning); }
.work-feedback-warning .progress-action { font-size:var(--font-size-body); color:var(--ink); }
.reply-draft-state { font-size:var(--font-size-body); color:var(--muted); margin:var(--space-3) 0; }
.reply-draft-state[data-incomplete] { color:var(--warning); }
.reply-draft-prose + #live-work-status { margin-top:var(--space-3); }
.work-feedback-background .work-activity-mark { animation:none; }
@media(prefers-reduced-motion:reduce) { .work-activity-mark.is-active { animation:none; } }
@media(pointer:coarse) { .live-progress .progress-secondary { min-height:44px; } }

/* Batch intake: a few decisions first, source detail on demand. */
.intake-review { max-width:var(--reading-width); margin:auto; overflow-wrap:anywhere; }
.intake-review p { margin:8px 0; }
.intake-review h3 { font-size:var(--font-size-body); font-weight:var(--font-weight-medium); margin:0 0 8px; }
.intake-review .type-ui { color:var(--muted); }
.intake-section { margin-top:24px; }
.intake-question { padding:16px 0; border-bottom:1px solid var(--line); }
.intake-question > p:first-of-type { color:var(--ink); }
.intake-answer { display:block; margin-top:12px; }
.intake-answer span { display:block; font-size:var(--font-size-ui); color:var(--muted); }
.intake-answer textarea,.intake-search input { width:100%; border:1px solid var(--line); border-radius:var(--radius-control); padding:10px; font:inherit; background:var(--paper); color:var(--ink); }
.intake-answer textarea { resize:vertical; }
.intake-change { border-left:2px solid var(--warning); padding-left:12px; margin:12px 0; }
.intake-file { padding:12px 0; border-bottom:1px solid var(--line); }
.intake-file summary { cursor:pointer; font-size:var(--font-size-ui); font-weight:var(--font-weight-regular); }
.intake-file[hidden] { display:none; }
.intake-search { display:block; margin:16px 0; font-size:var(--font-size-ui); }
.intake-file > summary { font-size:var(--font-size-body); }
.intake-file-heading { display:inline-flex; flex-wrap:wrap; justify-content:space-between; gap:4px 16px; width:calc(100% - 24px); vertical-align:top; }
.intake-file-heading > span:first-child { flex:1; min-width:160px; font-weight:var(--font-weight-medium); }
.intake-period { font-size:var(--font-size-ui); color:var(--muted); }
.intake-file-purpose { display:block; margin:6px 0 0 22px; font-size:var(--font-size-body); line-height:var(--line-body); }
.intake-warning-label { display:block; margin:6px 0 0 22px; color:var(--warning); font-size:var(--font-size-table); }
.intake-file-content { padding:16px 0 4px 22px; }
.intake-file-links { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin:12px 0; }
.intake-file-links button { text-align:left; overflow-wrap:anywhere; }
.intake-file-notices { margin:20px 0; }
.intake-file-notices ul { margin:8px 0; padding-left:22px; }
.intake-file-notices li { margin:8px 0; }
.intake-notice-scope { display:block; font-size:var(--font-size-table); color:var(--ink); }
.intake-alerts { padding:12px 16px; background:var(--warm); border:1px solid var(--line); border-radius:var(--radius-control); }
.intake-alerts > summary { cursor:pointer; color:var(--ink); }
.intake-shared-notice { border-top:1px solid var(--line); padding:16px 0 4px; margin-top:16px; scroll-margin-top:16px; }
.intake-list-status { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.intake-list-status [hidden] { display:none; }
.intake-reading { margin-top:20px; }
.intake-sheet { margin:18px 0; }

/* Folder picks stay one attachment until the user asks for file details. */
.selected-folder { margin-top:5px; background:var(--warm); border:1px solid var(--line); border-radius:var(--radius-control); }
.selected-folder summary { display:flex; align-items:center; gap:10px; padding:10px 7px 10px 12px; list-style:none; cursor:pointer; font-size:var(--font-size-ui); }
.selected-folder summary::-webkit-details-marker { display:none; }
.selected-folder summary > span { flex:1; min-width:0; overflow-wrap:anywhere; }
.selected-folder summary small { margin-left:10px; font-size:var(--font-size-ui); color:var(--muted); }
.selected-folder summary > svg { flex-shrink:0; }
.selected-folder .folder-chevron { color:var(--muted); }
.selected-folder details[open] .folder-chevron { transform:rotate(90deg); }
.selected-folder .remove-folder { display:grid; place-items:center; flex:none; width:28px; height:28px; padding:5px; }
.selected-folder-files { border-top:1px solid var(--line); padding:0 6px 6px; }
.selected-folder-files .selected-file { background:transparent; }

/* The receipt count belongs to its sentence, with the same reading size. */
.intake-count-link { font:inherit; vertical-align:baseline; padding:0; }

/* Desktop centers own their scrolling; long directories cannot grow the shell. */
@media (min-width:761px) {
  .app-shell:not(.chat-page) { min-height:0; grid-template-rows:minmax(0,1fr); }
  .app-shell:not(.chat-page)>.sidebar,
  .app-shell:not(.chat-page)>.main-shell { min-height:0; }
  .app-shell:not(.chat-page) .library-page { overflow-y:auto; }
}

/* Intake status belongs to the AI message reading column, never the page edge. */
.intake-progress-summary { min-width:0; overflow-wrap:anywhere; }
.intake-progress-summary p { font-size:var(--font-size-ui); line-height:var(--line-ui); color:var(--ink); margin:8px 0; }
.intake-progress-summary .text-link { margin-top:0; }

/* Questions lead with the decision; controls stay light and retain a full hit area. */
.question-card { display:flex; flex-direction:column; width:100%; max-width:var(--reading-width); max-height:min(520px,calc(100dvh - var(--topbar-height) - 96px)); min-height:0; margin-inline:auto; overflow:auto; overscroll-behavior:contain; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-panel); font-size:var(--font-size-body); line-height:var(--line-body); }
.question-panel-header { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-3); padding:var(--space-4) var(--space-4) var(--space-2) var(--space-5); flex-shrink:0; }
.question-panel-navigation { display:flex; align-items:center; gap:var(--space-1); flex-shrink:0; }
.question-count { min-width:58px; text-align:center; white-space:nowrap; font-size:var(--font-size-note); line-height:var(--line-ui); color:var(--muted); font-variant-numeric:tabular-nums; }
.question-icon-button { display:grid; place-items:center; width:32px; height:32px; padding:var(--space-2); border-radius:var(--radius-control); color:var(--muted); }
.question-icon-button:hover:not(:disabled) { background:var(--surface-hover); color:var(--ink); }
.question-nav-prev .icon { transform:rotate(180deg); }
.question-panel-body { min-height:min(40px,14dvh); overflow:auto; overscroll-behavior:contain; padding:0 var(--space-3); }
.question-panel-body:has(.question-options),.question-panel-body.question-review { min-height:min(96px,24dvh); }
.question-card .question-title { flex:1; min-width:0; max-height:min(160px,24dvh); overflow:auto; overscroll-behavior:contain; font-size:var(--font-size-body); font-weight:var(--font-weight-medium); line-height:var(--line-body); color:var(--heading); margin:0; overflow-wrap:anywhere; }
.question-title:focus { outline:none; }
.question-selection-hint { display:inline-block; margin-left:var(--space-2); color:var(--muted); font-size:var(--font-size-ui); font-weight:var(--font-weight-regular); }
.question-options { display:grid; gap:var(--space-1); }
.question-option { display:grid; grid-template-columns:22px minmax(0,1fr); align-items:start; gap:var(--space-3); width:100%; min-height:var(--control-height); text-align:left; padding:var(--space-2); border:1px solid transparent; border-radius:var(--radius-control); background:var(--paper); color:var(--ink); font-size:var(--font-size-body); line-height:var(--line-ui); font-weight:var(--font-weight-regular); white-space:normal; overflow-wrap:anywhere; }
.question-option:hover:not(:disabled) { background:var(--accent-soft); }
.question-option[aria-pressed="true"] { background:var(--accent-soft); border-color:var(--line-selected); }
.question-option-number { display:grid; place-items:center; width:22px; height:22px; margin-top:1px; border-radius:var(--radius-detail); background:var(--surface-subtle); color:var(--muted); font-size:var(--font-size-note); font-weight:var(--font-weight-regular); }
.question-option[aria-pressed="true"] .question-option-number { background:var(--surface-selected); color:var(--selected-ink); }
.question-option-copy { min-width:0; }
.question-option-copy > span { display:block; }
.question-option-recommended { display:inline-block; margin-left:var(--space-2); color:var(--accent-ink); font-size:var(--font-size-note); font-weight:var(--font-weight-regular); }
.question-option-description { margin-top:var(--space-1); color:var(--muted); font-size:var(--font-size-table); line-height:var(--line-ui); }
.question-panel-footer { display:flex; align-items:flex-end; gap:var(--space-3); padding:var(--space-3) var(--space-5) var(--space-4); flex-shrink:0; }
.question-answer { display:flex; flex:1; min-width:0; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--surface); }
.question-card textarea { display:block; box-sizing:border-box; flex:1; width:100%; min-width:0; min-height:var(--control-height); max-height:144px; margin:0; padding:var(--space-2) var(--space-3); border:0; border-radius:inherit; background:transparent; resize:none; overflow-y:auto; font-size:var(--font-size-body); line-height:var(--line-body); color:var(--ink); }
.question-card textarea::placeholder { color:var(--subtle); }
.question-answer textarea:focus-visible { outline:none; }
.question-card .question-impact { color:var(--ink); font-size:var(--font-size-body); line-height:var(--line-body); margin:0 var(--space-2) var(--space-3); }
.question-card .question-context { font-size:var(--font-size-table); line-height:var(--line-ui); color:var(--ink); margin:0 var(--space-2) var(--space-3); }
.question-dispositions { display:flex; gap:var(--space-2); flex-wrap:wrap; margin:var(--space-2); }
.question-dispositions button { padding:var(--space-2) var(--space-3); border:1px solid var(--line); border-radius:var(--radius-control); font-size:var(--font-size-ui); }
.question-dispositions button[aria-pressed="true"] { background:var(--surface-selected); color:var(--selected-ink); border-color:var(--line-selected); font-weight:var(--font-weight-medium); }
.question-controls { display:flex; justify-content:flex-end; align-items:center; gap:var(--space-2); flex-shrink:0; }
.question-controls .primary,.question-controls .secondary { padding:var(--space-2) var(--space-3); min-height:var(--control-height); border-radius:var(--radius-control); font-size:var(--font-size-ui); font-weight:var(--font-weight-medium); line-height:var(--line-ui); }
.question-controls .primary { background:var(--accent); border-color:var(--accent); color:var(--on-accent); }
.question-controls .primary:hover:not(:disabled) { background:var(--accent-hover); }
.question-controls .primary:disabled { background:var(--disabled-fill); border-color:var(--disabled-fill); opacity:1; }
.question-controls .secondary { border-color:transparent; background:transparent; color:var(--muted); font-weight:var(--font-weight-regular); }
.question-controls .secondary:hover:not(:disabled) { background:var(--surface-hover); color:var(--ink); }
.question-panel-status { display:flex; justify-content:space-between; flex-wrap:wrap; gap:var(--space-2); padding:0 var(--space-5) var(--space-3); font-size:var(--font-size-table); color:var(--ink); }
.question-review section { padding:var(--space-3) var(--space-2); border-bottom:1px solid var(--line); }
.question-review h4 { font-size:var(--font-size-body); margin:0 0 var(--space-2); }
.question-review-controls { padding:var(--space-3) var(--space-5) var(--space-4); }
.question-review .question-context,.question-review .question-impact { margin:var(--space-2) 0; }
.question-resume { display:inline-flex; align-items:center; gap:var(--space-2); padding:var(--space-2) var(--space-3); min-height:var(--control-height); border:1px solid var(--line); border-radius:var(--radius-control); color:var(--accent-ink); background:var(--paper); }
@media(max-width:480px) {
  .question-panel-header { flex-wrap:wrap; padding-inline:var(--space-4); }
  .question-panel-header:has([data-question-count]) .question-title { flex-basis:100%; }
  .question-panel-navigation { margin-left:auto; }
  .question-panel-body { padding-inline:var(--space-2); }
  .question-panel-footer { padding-inline:var(--space-4); flex-wrap:wrap; gap:var(--space-2); }
  .question-answer { flex-basis:100%; }
  .question-controls { margin-left:auto; }
  .question-option { gap:var(--space-2); }
}

@media(max-height:550px) {
  .question-card textarea { max-height:72px; }
}

/* Report charts use container dimensions, keeping labels at the shared type size. */

.report-chart-host{width:100%;height:320px;min-width:0}
.report-chart-bars{height:420px}
.report-chart-host[data-failed]{height:auto;padding:20px;background:var(--warm)}
.report-layout{display:grid;grid-template-columns:minmax(0,1fr)}
.report-layout>.report-block{min-width:0}
@container (min-width:850px){.report-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.report-layout>.report-block{grid-column:1/-1}.report-layout>.report-half{grid-column:auto}}
@media(max-width:760px){.report-chart-host{height:300px}.report-chart-bars{height:420px}}

.report-group{display:grid;grid-template-columns:minmax(0,1fr);grid-column:1/-1;min-width:0}
.report-annotations{padding-left:20px;color:var(--ink);font-size:var(--font-size-body);line-height:var(--line-body)}
.report-metric .report-comparison{color:var(--muted)}
.report-metric .report-comparison{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:12px}
.report-metric .report-comparison-base{font-size:var(--font-size-table);color:var(--muted);margin:0}
.report-comparison-change{font-size:var(--font-size-table);font-weight:var(--font-weight-medium);color:var(--ink);background:var(--surface);border-radius:6px;padding:3px 7px;font-variant-numeric:tabular-nums}
.report-comparison-table{width:100%;font-variant-numeric:tabular-nums}
.report-comparison-table .report-number{text-align:right}
.report-comparison-table td{padding-left:calc(12px + var(--row-indent,0)*16px)}
.report-comparison-table td:first-child{font-weight:var(--font-weight-medium)}
.report-comparison-table tbody tr:nth-child(even){background:var(--surface-subtle)}
.report-comparison-table tbody tr:hover{background:var(--warm)}
.report-comparison-table .report-row-subtotal{font-weight:var(--font-weight-semibold);border-top:1px solid var(--line)}
.report-comparison-table .report-row-total{font-weight:var(--font-weight-semibold);background:var(--warm);border-top:2px solid var(--line)}
.report-cell-content{display:block;position:relative;min-width:64px;padding:5px 0;isolation:isolate}
.report-cell-content .report-value-select{position:relative;z-index:1;font-weight:inherit}
.report-cell-bar{position:absolute;inset:0;z-index:-1;pointer-events:none}
.report-cell-bar:before{content:"";position:absolute;left:var(--bar-zero);top:2px;bottom:2px;border-left:1px solid var(--line)}
.report-cell-bar i{position:absolute;top:3px;bottom:3px;left:var(--bar-start);width:var(--bar-width);border-radius:3px;background:var(--accent);opacity:.30}
.report-change-direction{display:inline-block;margin-right:5px;color:var(--muted);font-weight:var(--font-weight-semibold)}
.report-annotations{list-style:none;padding:0;display:grid;gap:8px}
.report-annotations li{padding:10px 14px;border-left:3px solid var(--accent);background:var(--warm);line-height:var(--line-body)}
@container (min-width:850px){.report-group{grid-template-columns:repeat(2,minmax(0,1fr))}.report-group>.report-block{grid-column:1/-1}.report-group>.report-half{grid-column:auto}}

/* Report center: reading first, production and evidence on demand. */
/* Center pages share a single, short underline for the selected destination. */
.center-tabs,.data-primary-navigation { display:flex; align-items:center; gap:var(--space-6); margin:var(--space-2) 0 var(--space-8); overflow-x:auto; }
.center-tabs>button,.data-primary-navigation>button { position:relative; flex:none; min-height:var(--control-height); padding:var(--space-3) 0 var(--space-4); border:0; border-radius:0; background:transparent; color:var(--muted); font-size:var(--font-size-ui); line-height:var(--line-ui); white-space:nowrap; }
.center-tabs>button:hover,.data-primary-navigation>button:hover { color:var(--ink); }
.center-tabs>button:is(.active,[aria-selected="true"]),.data-primary-navigation>button[aria-current="page"] { color:var(--accent-ink); font-weight:var(--font-weight-medium); }
.center-tabs>button:is(.active,[aria-selected="true"])::after,.data-primary-navigation>button[aria-current="page"]::after { position:absolute; content:""; bottom:0; left:0; right:0; height:3px; background:var(--accent); border-radius:2px; }
.center-tabs.db-tabs { margin-bottom:0; }
.work-result-search { width:100%; max-width:420px; }
.center-search select { min-width:150px; padding:10px 12px; border:1px solid var(--line-strong); border-radius:var(--radius-control); background:var(--paper); color:var(--ink); font:inherit; }
.center-search input { min-width:120px; }
.center-list { max-width:1100px; }
.center-period { margin:28px 0 12px; font-size:var(--font-size-heading); }
.center-report-row { display:flex; gap:24px; align-items:center; padding:24px 0; border-bottom:1px solid var(--line); }
.center-result-icon { align-self:flex-start; display:flex; flex:none; padding:var(--space-3); background:var(--surface-subtle); color:var(--accent-ink); border-radius:var(--radius-card); }
.center-result-icon .icon { width:var(--icon-size-nav); height:var(--icon-size-nav); }
.center-report-copy { flex:1; min-width:0; }
.center-report-copy h3 { margin:8px 0; }
.center-title { border:0; background:transparent; padding:0; text-align:left; color:var(--heading); font:inherit; line-height:var(--line-heading); overflow-wrap:anywhere; }
.center-title:hover { color:var(--accent-ink); }
.center-report-meta { display:flex; gap:12px; align-items:center; flex-wrap:wrap; color:var(--muted); font-size:var(--font-size-note); }
.center-explanation,.center-rules { max-width:var(--reading-width); }
.center-rules { margin-top:32px; }
.report-center-reader { padding-top:0; scroll-padding-top:88px; }
.center-reader-toolbar { position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; margin-bottom:24px; background:var(--paper); border-bottom:1px solid var(--line); }
.center-reader-toolbar .report-directory { position:relative; }
.center-reader-toolbar .report-reader-nav { position:absolute; right:0; top:100%; }
.center-reader-toolbar .button-row { margin:0; }
.report-center-reader>.ai-report,.center-sources,.center-reader-tools { max-width:1100px; margin-left:auto; margin-right:auto; }
.center-sources { margin-top:28px; padding:20px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); }
.center-reader-tools { display:flex; flex-wrap:wrap; gap:24px; padding:24px 0; }
.center-headline { max-width:var(--reading-width); color:var(--ink); }
.report-reading-path { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:18px 26px; border-bottom:1px solid var(--line); }
.report-reading-path [aria-current] { color:var(--ink); font-weight:var(--font-weight-semibold); }
.report-topic-heading { grid-column:1/-1; padding:24px 26px; }
.report-topic-heading h2 { margin:0 0 16px; font-size:var(--font-size-heading); }
.report-topic-heading p { max-width:var(--reading-width); }
.report-entry-links { display:flex; flex-wrap:wrap; gap:16px; margin-top:18px; }
.report-key-limits { grid-column:1/-1; background:var(--warm); border-bottom:1px solid var(--line); padding:18px 26px; }
.report-key-limits .report-prose p { margin:8px 0; }
.report-key-limits>details { margin-top:8px; }
.report-reading-status { padding:12px 26px 0; margin:0; color:var(--ink); }
.report-scope-record { padding:8px 26px 12px; }
.report-metric .text-link { text-align:left; margin-top:12px; }
@media(max-width:650px) { .report-reading-path,.report-topic-heading { padding:18px; } }
.report-table-detail summary { padding:12px 0; color:var(--accent-ink); }
.report-origin { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; width:calc(100% - 2 * var(--conversation-gutter)); max-width:var(--reading-width); margin:18px auto 0; padding:16px 20px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); }
.report-origin>div { flex:1 1 180px; min-width:0; overflow-wrap:anywhere; }
.report-origin>button { flex:none; }
.report-origin strong { display:block; font-weight:var(--font-weight-medium); }
.report-origin p { margin:6px 0 0; }
@media(max-width:760px) {
 .center-reader-toolbar { flex-wrap:wrap; }
 .center-search { flex-wrap:wrap; }
 .center-search input { flex-basis:100%; }
 .center-report-row { gap:12px; }
 .report-origin { margin:12px; flex-wrap:wrap; }
}

.report-progressive .report-heading { padding:20px 26px 16px; }
.report-progressive .report-heading h1,.report-progressive .report-eyebrow { margin-bottom:6px; }
.report-progressive .report-status { margin:4px 0; }
.report-headline-tools { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }

.report-object-panel { grid-column:1/-1; min-width:0; }
.report-object-filter { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; padding:0 26px; }
.report-object-filter label { display:flex; flex-direction:column; gap:6px; }
.report-object-filter input,.report-object-filter select { max-width:100%; padding:10px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--paper); }
.report-object-values,.report-object-basis,.report-object-count,.report-object-pagination { padding:16px 26px; }
.report-object-values dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:18px; margin:0; }
.report-object-values dt { color:var(--muted); }
.report-object-values dd { margin:6px 0 0; overflow-wrap:anywhere; }
.report-object-pagination { display:flex; gap:12px; }
.report-argument { margin-top:16px; max-width:var(--reading-width); }
.report-argument h3 { font-size:var(--font-size-body); }

.report-object-panel .report-topic-heading { scroll-margin-top:80px; }
.report-object-panel .report-topic-heading h2 { scroll-margin-top:100px; }

/* Reading preferences share the report's typography and never change sources. */
.report-optional-chart>summary{margin-bottom:12px;}

.center-create-options { display:flex; gap:var(--space-2); flex-shrink:0; }
.center-create-options>.secondary { display:inline-flex; align-items:center; gap:var(--space-2); }
.center-create-options details{font-size:var(--font-size-ui);}
.center-create-options details>button{display:block;margin-top:10px;}
.center-create-options details p{font-size:var(--font-size-body);line-height:var(--line-body);}
.source-image { margin: 16px 0; }
.source-image summary { cursor: pointer; }
.source-table-image { display: block; max-width: 100%; height: auto; margin: 12px 0; border: 1px solid var(--line); border-radius: var(--radius-control); }

.source-document-text{white-space:pre-wrap;overflow-wrap:anywhere}

/* Durable upload feedback uses existing body typography and reading width. */
.upload-notice { margin: 12px 0; padding: 16px; border: 1px solid var(--warning); border-radius: var(--radius-card); font-size: var(--font-size-body); line-height: var(--line-body); color: var(--ink); overflow-wrap: anywhere; }
.composer .upload-notice { max-height: 280px; overflow: auto; }
.upload-notice p { margin: 6px 0; }
.upload-issue + .upload-issue { margin-top: 12px; }
.upload-issue-name { font-weight: var(--font-weight-medium); }
.upload-contact { margin-top: 12px; }
.upload-report { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }

/* Shared conversation/result workspace: width is a reading preference. */
.chat-page .workspace.report-open { display:grid; grid-template-columns:minmax(0,var(--conversation-share,30%)) 8px minmax(0,1fr); height:calc(100dvh - var(--topbar-height)); max-height:calc(100dvh - var(--topbar-height)); flex:none; grid-template-rows:minmax(0,1fr); min-height:0; align-items:stretch; }
.chat-page .workspace.report-open>.conversation { min-height:0; height:100%; overflow:hidden; border:0; }
.chat-page .workspace.report-open .conversation-scroll { overflow-y:auto; scrollbar-gutter:stable; min-height:0; }
.chat-page .workspace.report-open>.result-drawer { position:relative; top:auto; width:auto; height:100%; max-height:100%; min-height:0; min-width:0; overflow-y:auto; border:0; }
.report-splitter { position:relative; cursor:col-resize; touch-action:none; background:var(--paper); border-inline:1px solid var(--line); outline:none; }
.report-splitter::after { content:""; position:absolute; top:40%; left:2px; height:44px; width:2px; border-radius:var(--radius-mark); background:var(--line-strong); }
.report-splitter:hover,.resizing-report>.report-splitter { background:var(--accent-soft); }
.report-splitter:hover::after,.report-splitter:focus-visible::after,.resizing-report>.report-splitter::after { background:var(--accent); }
.report-splitter:focus-visible::after { outline:2px solid var(--accent-ink); outline-offset:3px; }
.resizing-report { user-select:none; cursor:col-resize; }
.report-is-fullscreen { overflow:hidden; }
.report-is-fullscreen .chat-page>.sidebar,.report-is-fullscreen .chat-page>.main-shell>.topbar { visibility:hidden; }
.chat-page .workspace.report-open.report-fullscreen { position:fixed; inset:0; z-index:30; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); height:100dvh; max-height:100dvh; }
.chat-page .workspace.report-open.report-fullscreen>.result-drawer { height:100%; max-height:100%; overflow-y:auto; }
.workspace.report-open.report-fullscreen .result-drawer-header { top:0; }
.workspace.report-fullscreen>.conversation,.workspace.report-fullscreen>.report-splitter { display:none; }
.report-content-tabs { display:flex; flex-wrap:wrap; gap:6px; margin:20px 0; padding:0 var(--space-6) 14px; scroll-padding-inline:var(--space-6); border-bottom:1px solid var(--line); }
.report-content-tabs button { padding:7px 12px; border-radius:var(--radius-control); color:var(--muted); font-size:var(--font-size-ui); }
.report-content-tabs button:hover { background:var(--surface-hover); color:var(--ink); }
.report-content-tabs button.active { background:var(--surface-selected); color:var(--selected-ink); font-weight:var(--font-weight-medium); }
.report-outline { padding:16px 24px; border-bottom:1px solid var(--line); }
.report-outline summary { cursor:pointer; color:var(--muted); font-size:var(--font-size-ui); }
.report-outline nav { display:grid; gap:6px; margin-top:12px; }
.report-outline nav button { text-align:left; padding:6px 0; color:var(--accent-ink); font-size:var(--font-size-ui); }
.report-block { scroll-margin-top:60px; }
.report-layer-data + .report-layer-data { margin-top:20px; }
.report-value-select { padding:0; font:inherit; color:inherit; text-align:inherit; border-radius:var(--radius-detail); cursor:pointer; text-decoration:none; user-select:text; -webkit-user-select:text; }
.report-value-select:focus-visible { outline:2px solid var(--line-selected); outline-offset:3px; }
.report-value-select.report-selection-active { color:var(--selected-ink); background:var(--surface-selected); box-shadow:0 0 0 3px var(--surface-selected); }
.report-chart [data-action="report-select"] { cursor:pointer; }
.report-chart [data-action="report-select"]:hover,.report-chart [data-action="report-select"].report-selection-active,.report-chart [data-action="report-select"]:focus-visible { stroke:var(--accent); stroke-width:3px; outline:none; }
.report-metric strong .report-value-select { font:inherit; }
.report-reference-popover { position:fixed; z-index:120; display:flex; align-items:center; gap:var(--space-3); width:max-content; max-width:min(440px,calc(100vw - 24px)); padding:var(--space-2) var(--space-3); background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-control); box-shadow:var(--shadow-popover); color:var(--ink); font-size:var(--font-size-ui); line-height:var(--line-ui); }
.report-reference-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:240px; }
.report-reference-popover .text-link { display:inline-flex; align-items:center; gap:var(--space-2); flex:none; min-height:32px; }
.report-reference-report { display:inline-flex; align-items:center; gap:var(--space-1); margin:0; white-space:nowrap; }
.report-reference-report .icon { width:16px; height:16px; }
@media (pointer:coarse) { .report-reference-popover .text-link { min-height:44px; } }
@media print { .report-reference-popover,.report-reference-report { display:none; } }
.report-filter-chips { display:flex; flex-wrap:wrap; gap:8px; padding:0 24px; }
.scope-chip { display:inline-flex; align-items:center; gap:var(--space-2); padding:6px 10px; border:1px solid var(--line); border-radius:var(--radius-pill); color:var(--ink); font-size:var(--font-size-table); }
.report-filter-builder { padding:12px 24px; }
.report-filter-builder .button-row { margin-top:12px; }
.report-filter-builder input:not([type=checkbox]),.report-filter-builder select { max-width:100%; min-width:0; padding:8px; border:1px solid var(--line); border-radius:var(--radius-control); font-size:var(--font-size-ui); }
.report-filter-builder label { display:flex; align-items:center; gap:6px; }
.report-object-panel .review-table td { white-space:nowrap; }
.report-object-panel .review-table th { position:sticky; top:0; background:var(--paper); }
.report-object-filter label { min-width:0; }
.report-object-filter input,.report-object-filter select { max-width:100%; }
@media(max-width:1050px) {
  .chat-page .workspace.report-open { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; height:auto; max-height:none; }
  .chat-page .workspace.report-open>.result-drawer { height:auto; max-height:none; overflow-y:visible; }
  .workspace.report-open .result-drawer-header { top:var(--topbar-height); }
  .workspace.report-open>.conversation,.workspace.report-open>.report-splitter { display:none; }
  .report-fullscreen .result-drawer-body { padding:18px 12px; }
}

.report-scope-banner { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; margin:12px 0; padding:12px 16px; background:var(--warm); border:1px solid var(--line); border-radius:var(--radius-control); }
.report-scope-banner p { width:100%; margin:0; font-size:var(--font-size-table); color:var(--muted); }
.report-content-tabs { flex-wrap:nowrap; overflow-x:auto; }
.report-content-tabs button { white-space:nowrap; flex:none; }

@media(min-width:1051px) {
  .chat-page:has(.workspace.report-open) { height:100dvh; min-height:0; overflow:hidden; }
  .chat-page:has(.workspace.report-open)>.main-shell { height:100dvh; min-height:0; overflow:hidden; }
  .workspace.report-open .composer-wrap { flex:none; }
}

.center-more { position:relative; margin-left:auto; }
.center-more summary { cursor:pointer; padding:8px 12px; color:var(--muted); font-size:var(--font-size-ui); }
.center-more>div { position:absolute; right:0; z-index:8; display:grid; gap:6px; min-width:140px; padding:8px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-panel); box-shadow:var(--shadow-popover); }
.center-more>div button { text-align:left; }

/* The host owns controls and saved evidence; generated code owns only its frame. */
.delivery-workspace { min-width:0; }
.delivery-heading { margin-bottom:var(--space-3); }
.delivery-title-row { display:flex; align-items:baseline; gap:var(--space-4); }
.delivery-heading h2 { flex:1; min-width:0; margin:0; overflow-wrap:anywhere; font-size:var(--font-size-title); line-height:var(--line-heading); font-weight:var(--font-weight-semibold); color:var(--heading); }
.delivery-title-row button { flex:none; }
.delivery-heading p { max-width:var(--reading-width); margin:var(--space-2) 0 0; font-size:var(--font-size-body); line-height:var(--line-body); color:var(--ink); }
.delivery-workspace [hidden] { display:none !important; }
.delivery-feedback { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-2) var(--space-3); margin-bottom:var(--space-3); }
.delivery-status { margin:0; color:var(--muted); font-size:var(--font-size-ui); line-height:var(--line-ui); }
.delivery-status:empty { display:none; }
.delivery-status.delivery-warning { flex-basis:100%; order:1; overflow-wrap:anywhere; }
.delivery-warning { color:var(--warning); font-size:var(--font-size-body); line-height:var(--line-body); }
.delivery-source-warning { margin:0 0 var(--space-3); }
.delivery-frame { display:block; width:100%; height:320px; border:0; background:var(--surface); }
.delivery-files { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--space-6); }
.delivery-files:not(:empty) { margin:var(--space-5) 0; }
.delivery-file { display:grid; grid-template-columns:minmax(0,1fr); justify-items:start; gap:var(--space-4); min-width:0; }
.delivery-file-name { min-width:0; max-width:100%; overflow-wrap:anywhere; font-size:var(--font-size-body); line-height:var(--line-body); color:var(--ink); }
.delivery-file button.delivery-file-name { padding:0; text-align:left; color:var(--accent-ink); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.delivery-file-actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-3) var(--space-4); max-width:100%; }
.delivery-file-actions>.work-result-actions { gap:var(--space-3); }
.delivery-file-download.primary { justify-self:start; gap:var(--space-2); padding:var(--space-2) var(--space-4); line-height:var(--line-ui); color:var(--on-accent); text-decoration:none; white-space:nowrap; }
.delivery-preview-file { display:grid; grid-template-columns:minmax(0,1fr); justify-items:start; gap:var(--space-4); margin:var(--space-5) 0; }
.delivery-preview-file label,.delivery-preview-sheet { display:flex; align-items:center; gap:var(--space-2); max-width:100%; color:var(--ink); font-size:var(--font-size-ui); }
.delivery-preview-file select,.delivery-preview-sheet select { min-width:0; max-width:100%; min-height:var(--control-height); padding:var(--space-2); border:1px solid var(--line); border-radius:var(--radius-control); color:var(--ink); background:var(--surface); }
.delivery-preview-sheet,.delivery-preview-sheet-name { margin-bottom:var(--space-3); }
.delivery-preview-scroll { max-width:100%; max-height:65vh; overflow:auto; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--surface); color:var(--ink); }
.delivery-preview-table { border-collapse:separate; border-spacing:0; font-size:var(--font-size-table); line-height:var(--line-body); min-width:100%; }
.delivery-preview-table th,.delivery-preview-table td { min-width:100px; max-width:320px; padding:var(--space-2) var(--space-3); border-right:1px solid var(--line); border-bottom:1px solid var(--line); white-space:pre-wrap; overflow-wrap:anywhere; vertical-align:top; }
.delivery-preview-table th { color:var(--muted); background:var(--surface-subtle); font-weight:var(--font-weight-regular); text-align:center; }
.delivery-preview-table thead th { position:sticky; top:0; z-index:2; }
.delivery-preview-table th:first-child { min-width:48px; width:48px; position:sticky; left:0; z-index:1; }
.delivery-preview-table thead th:first-child { z-index:3; }
.delivery-preview-pagination { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-3); margin-top:var(--space-3); color:var(--muted); font-size:var(--font-size-ui); }
.delivery-preview-pagination>div { display:flex; flex-wrap:wrap; gap:var(--space-2); }
.delivery-preview-notice { color:var(--muted); font-size:var(--font-size-ui); line-height:var(--line-body); }
.delivery-evidence { border-top:1px solid var(--line); padding:var(--space-4) 0; }
.delivery-evidence>summary { cursor:pointer; font-size:var(--font-size-body); color:var(--ink); }
.delivery-composer-reference { display:flex; justify-content:space-between; gap:var(--space-3); align-items:center; margin:var(--space-2); padding:var(--space-2) var(--space-3); border-radius:var(--radius-control); background:var(--accent-soft); color:var(--ink); font-size:var(--font-size-ui); }
.delivery-composer-reference>span { min-width:0; overflow-wrap:anywhere; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.delivery-composer-reference>button { flex:none; }

/* Common pressed state; selected rows continue to use their selected role. */
.primary:active:not(:disabled),.question-controls .primary:active:not(:disabled),.send-button:active:not(:disabled) { background:var(--accent-pressed); }

/* Archive management is secondary navigation inside settings. */
.archive-heading { display:flex;align-items:center;justify-content:space-between;gap:var(--space-4); }
.account-settings-content .archive-heading h2 { margin:0; }
.archive-filters { display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,200px);gap:var(--space-3);margin:var(--space-6) 0; }
.archive-filters input,.archive-filters select { min-width:0;min-height:var(--control-height);padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--font-size-ui); }
.archive-list { list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden; }
.archive-list>li { display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--line); }
.archive-list>li:last-child { border:0; }
.archive-copy { flex:1;min-width:0; }
.archive-title { padding:0;display:block;max-width:100%;text-align:left;overflow-wrap:anywhere;font-size:var(--font-size-ui);font-weight:var(--font-weight-medium); }
.archive-title:hover { color:var(--accent-ink); }
.archive-copy p { margin:var(--space-1) 0 0;font-size:var(--font-size-note);color:var(--muted); }
.archive-actions { display:flex;align-items:center;gap:var(--space-2);flex-shrink:0; }
.archive-actions>.icon-button { color:var(--muted); }
.archive-actions>.icon-button:hover { color:var(--danger);background:var(--danger-surface); }
.archive-pagination { display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);font-size:var(--font-size-note);color:var(--muted); }
.archive-pagination>span { margin-right:auto; }
.archive-empty { text-align:center;padding:var(--space-10) var(--space-4);color:var(--muted);font-size:var(--font-size-ui); }
.archive-empty>.icon { width:28px;height:28px; }
.archive-empty p { color:var(--ink); }
.archived-conversation-notice { display:flex;justify-content:flex-end;max-width:var(--reading-width);margin-inline:auto;padding-bottom:var(--space-2); }
.archived-conversation-notice>button { flex:none;white-space:nowrap; }
.cleanup-preview { font-size:var(--font-size-body);line-height:var(--line-body); }
.cleanup-preview details { margin:var(--space-4) 0; }
.cleanup-preview summary { cursor:pointer; }
.cleanup-preview ul { padding-left:22px; }
.cleanup-preview li { margin:var(--space-3) 0;overflow-wrap:anywhere; }
.cleanup-retained { border-top:1px solid var(--line);margin-top:var(--space-5);padding-top:var(--space-2); }
.cleanup-retained h3 { font-size:var(--font-size-ui); }
.cleanup-retained p { margin:var(--space-1) 0; }
.cleanup-buttons { display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6); }
.danger-button { background:var(--danger-surface);color:var(--danger);padding:10px 16px;border-radius:var(--radius-control);font-size:var(--font-size-ui); }
.danger-button:hover { box-shadow:inset 0 0 0 1px var(--danger); }
.cleanup-preview [role=alert] { color:var(--danger); }
.center-item-actions { position:relative;flex:none; }
.center-item-actions summary { cursor:pointer;list-style:none;padding:8px; }
.center-item-actions summary::-webkit-details-marker { display:none; }
.center-item-actions[open]>button { position:absolute;right:0;top:100%;z-index:8;white-space:nowrap;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:var(--shadow-popover); }
@media(max-width:600px) { .archive-filters { grid-template-columns:1fr; }.archive-list>li { align-items:flex-start;flex-wrap:wrap; }.archive-copy { flex-basis:100%; }.archive-actions { margin-left:auto; }.archive-pagination { flex-wrap:wrap; }.archive-pagination>span { flex-basis:100%; } }

/* Continuous source files reuse the data center's reading and spacing tokens. */
.data-section-content>.db-panel{padding-top:0}
.data-section-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-6)}
.data-section-intro h2{margin:0 0 var(--space-2)}
.data-section-intro p{margin:0;max-width:var(--reading-width);font-size:var(--font-size-body);line-height:var(--line-body);color:var(--muted)}
.data-trash-empty{text-align:center;padding:var(--space-8) var(--space-5);background:var(--surface-subtle);border-radius:var(--radius-card)}
.data-trash-empty h3{margin:var(--space-4) 0 var(--space-2)}
.data-trash-empty p{margin:0;color:var(--muted)}
.data-trash-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-5) 0}
.data-trash-file{display:flex;align-items:flex-start;gap:var(--space-4);min-width:0}
.data-trash-symbol{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;background:var(--surface-subtle);color:var(--muted);border-radius:var(--radius-control)}
.data-trash-name{padding:0;border:0;background:transparent;color:var(--ink);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:var(--line-body);text-align:left;overflow-wrap:anywhere}
.data-trash-name:hover{color:var(--accent-ink)}
.data-trash-file p{margin:var(--space-1) 0 0;font-size:var(--font-size-ui);line-height:var(--line-ui);color:var(--muted)}
.data-trash-actions{display:flex;align-items:center;gap:var(--space-4);flex:none}
@media(max-width:640px){.data-section-intro{flex-direction:column}.data-trash-row{align-items:stretch;flex-direction:column;gap:var(--space-3)}.data-trash-actions{padding-left:calc(40px + var(--space-4))}.center-tabs,.data-primary-navigation{gap:var(--space-5)}}
.ds-source-list{display:grid;gap:12px}
.ds-source{display:flex;align-items:center;justify-content:space-between;gap:24px;text-align:left;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}
.ds-source>span:first-child{display:grid;gap:8px;min-width:0;overflow-wrap:anywhere}
.ds-source:hover{background:var(--surface-hover)}
.ds-resource{padding:24px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.ds-resource p,.ds-library>.reading-prose{font-size:var(--font-size-body);line-height:var(--line-body);color:var(--ink);margin:12px 0}
.ds-resource-heading,.ds-version{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.ds-resource-heading strong{font-size:var(--font-size-heading);font-weight:var(--font-weight-semibold)}
.ds-history{margin-top:16px;padding:16px 20px;background:var(--surface-subtle);border-radius:12px}
.ds-version{padding:12px 0;border-bottom:1px solid var(--line)}
.ds-library .db-section-heading{flex-wrap:wrap;gap:16px}
@media(max-width:640px){.ds-source,.ds-resource-heading,.ds-version{flex-direction:column;align-items:stretch;gap:12px}.ds-history{padding:12px}.ds-library .button-row{flex-wrap:wrap}}
.ds-guidance,.ds-guidance-editor{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:12px}
.ds-guidance-editor label{display:block;margin:12px 0;font-size:var(--font-size-body)}
.ds-guidance-editor textarea{display:block;width:100%;min-height:96px;margin-top:8px;padding:12px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;resize:vertical}
.ds-guidance-editor input[type=checkbox]{margin-right:8px;accent-color:var(--primary)}

/* Work results keep only personal favorites and deliberately shared outcomes. */
.work-result-actions { display:inline-flex; align-items:center; gap:var(--space-4); flex-wrap:wrap; }
.work-result-actions>.text-link { display:inline-flex; align-items:center; gap:var(--space-1); white-space:nowrap; }
.work-result-actions .icon { width:16px; height:16px; }
.work-result-actions .is-favorite { color:var(--accent-ink); }
.work-result-actions .is-favorite .icon { fill:currentColor; }
.result-entry>.work-result-actions { margin-left:var(--space-4); }
.result-drawer-actions>.work-result-actions { margin-right:var(--space-2); }
.center-row-actions { display:flex; flex-direction:column; align-items:flex-end; gap:var(--space-3); flex:none; }
.center-report-foot { display:flex; align-items:center; gap:var(--space-4); flex-wrap:wrap; }
.center-report-copy .center-headline { margin:var(--space-2) 0 var(--space-3); }
.work-result-version { display:inline-flex; align-items:center; gap:var(--space-3); font-size:var(--font-size-note); }
.work-result-version>span { color:var(--accent-ink); }
.work-result-version>.text-link { font-size:inherit; }
.work-result-count { display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 5px; border-radius:var(--radius-pill); background:var(--accent-soft); color:var(--accent-ink); font-size:var(--font-size-note); font-weight:var(--font-weight-medium); margin-left:var(--space-2); line-height:var(--line-ui); }
.work-result-unread { color:var(--accent-ink); }
.work-result-unread-dot { display:inline-block; width:7px; height:7px; margin-left:var(--space-2); border-radius:50%; background:var(--accent); }
.work-result-share fieldset { border:0; padding:0; margin:var(--space-6) 0; min-width:0; }
.work-result-share legend { margin-bottom:var(--space-3); }
.work-result-share-title { font-weight:var(--font-weight-medium); margin-top:0; }
.work-result-members { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-2); max-height:300px; overflow:auto; }
.work-result-members label { display:flex; align-items:center; gap:var(--space-2); padding:var(--space-3); border:1px solid var(--line); border-radius:var(--radius-control); cursor:pointer; }
.work-result-members label:has(input:checked) { background:var(--surface-selected); border-color:var(--line-selected); }
.work-result-members input { width:16px; height:16px; accent-color:var(--accent); }
.work-result-members label>span { overflow-wrap:anywhere; }
.work-result-note { display:grid; gap:var(--space-2); }
.work-result-note textarea { width:100%; resize:vertical; border:1px solid var(--line); border-radius:var(--radius-control); padding:var(--space-3); font:inherit; }
.work-result-share-error { color:var(--danger); }
.work-result-history { display:grid; }
.work-result-history-row { display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); padding:var(--space-4) 0; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; color:var(--ink); font:inherit; }
.work-result-history-row:hover { color:var(--accent-ink); }
.work-result-history-row>span:first-child { display:grid; gap:var(--space-1); }
.work-result-history-row>span:last-child { flex:none; color:var(--muted); font-size:var(--font-size-note); }
.work-result-conversation { max-width:var(--reading-width); margin:var(--space-6) auto; }
.work-result-answer { margin:var(--space-6) 0; font-size:var(--font-size-body); line-height:var(--line-body); }
.work-result-shared-note { margin:0 0 var(--space-4); max-width:var(--reading-width); }
.work-result-shared-note>span { color:var(--muted); font-size:var(--font-size-note); }
.work-result-resources { display:flex; flex-wrap:wrap; gap:var(--space-2); margin:var(--space-4) 0; }
.work-result-editions { margin-left:var(--space-4); }
.report-center-reader>.delivery-workspace { width:100%; margin:var(--space-6) auto; }
.result-drawer { container-type:inline-size; container-name:result-drawer; }
@container result-drawer (max-width:520px) {
  .result-drawer-actions { gap:var(--space-1); }
  .result-drawer-actions>.work-result-actions { gap:var(--space-1); margin-right:0; flex-wrap:nowrap; }
  .result-drawer-actions .text-link { width:32px; height:32px; justify-content:center; }
  .result-drawer-actions .text-link>span { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
}
@media(max-width:760px) {
  .center-report-row { flex-wrap:wrap; }
  .center-report-row>.center-row-actions { width:100%; flex-direction:row; justify-content:flex-end; align-items:center; }
  .result-drawer-actions { gap:var(--space-1); }
  .result-drawer-actions>.work-result-actions { gap:var(--space-1); margin-right:0; flex-wrap:nowrap; }
  .result-drawer-actions .text-link { width:32px; height:32px; justify-content:center; }
  .result-drawer-actions .text-link>span { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
  .work-result-members { grid-template-columns:1fr; }
  .work-result-history-row { flex-wrap:wrap; }
}
.center-report-copy .center-headline { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.report-center .library-empty>.icon { margin:0 auto var(--space-3); }
.report-center .center-tabs>button { transition:none; }

/* Clipboard, camera and file picker share the same attachment presentation. */
.attachment-draft-image {flex:0 0 56px;width:56px;height:56px;padding:0;border:0;background:var(--surface);border-radius:8px;overflow:hidden;cursor:zoom-in}
.attachment-draft-image img {display:block;width:100%;height:100%;object-fit:contain}
.selected-file:has(.attachment-draft-image) {gap:10px;padding-block:6px}
.message-image {display:flex;flex-direction:column;gap:6px;max-width:240px;padding:6px;border:0;border-radius:12px;background:var(--surface-subtle);color:var(--ink);text-align:left;cursor:zoom-in}
.message-image img {width:220px;max-width:100%;height:160px;object-fit:contain;border-radius:8px}
.message-image span {overflow-wrap:anywhere;font-size:var(--font-size-note)}
.image-unavailable::after {content:'图片暂时无法显示，点击重试';font-size:var(--font-size-note);color:var(--muted)}
.attachment-preview {max-width:min(960px,94vw);max-height:92dvh;padding:16px;border:0;border-radius:16px;background:var(--surface);color:var(--ink)}
.attachment-preview::backdrop {background:var(--overlay)}
.attachment-preview>div {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.attachment-preview strong {overflow-wrap:anywhere}
.attachment-preview button {width:44px;height:44px;flex-shrink:0;border:0;background:transparent;color:var(--ink);cursor:pointer}
.attachment-preview>img {display:block;max-width:100%;max-height:75dvh;object-fit:contain;margin:auto}
@media (hover:hover) and (pointer:fine) {.composer-tools-menu [data-action="camera-upload"] {display:none}}

.report-selection-caption{margin:10px 0 0;color:var(--muted);font-size:var(--font-size-note)}
.report-common-conditions{margin:20px 0;padding:16px 20px;border-left:3px solid var(--accent);background:var(--surface-subtle)}
.report-common-conditions .report-block{margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.report-common-conditions .report-block+.report-block{margin-top:12px}
.report-common-conditions .report-block-heading h2{font-size:var(--font-size-body)}

.work-result-link{padding:16px 0 22px;border-bottom:1px solid var(--line);margin-bottom:18px}
.work-result-link-label{display:grid;gap:8px}
.work-result-link-label input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-subtle);color:var(--ink);font:inherit}
.work-result-link-actions{display:flex;align-items:center;gap:18px;margin-top:12px}
.work-result-link-hint{font-size:var(--font-size-note);line-height:var(--line-body);color:var(--muted);margin-bottom:0}
.work-result-share-status{color:var(--accent)}
.cloud-login-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cloud-login-heading span{flex:1;overflow-wrap:anywhere}
.cloud-login-hint{margin:12px 0;color:var(--muted);font-size:var(--font-size-ui)}
.cloud-login-screen{position:relative;margin:12px 0 0;border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;background:var(--surface)}
.cloud-login-screen img{display:block;width:100%;height:auto;cursor:pointer}
.cloud-login-screen[aria-busy="true"]{pointer-events:none;cursor:progress}
.cloud-login-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;flex-wrap:wrap}
.cloud-login-toolbar .text-link{font-size:var(--font-size-note)}
.cloud-login-tools-toggle{margin-left:auto}
.cloud-login-tools{padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-subtle)}
.cloud-login-tools>span{font-size:var(--font-size-note);color:var(--muted)}
.cloud-login-tools .button-row{margin-top:8px;gap:8px;flex-wrap:wrap}
.cloud-login-inputs{display:grid;gap:16px;margin:12px 0 0;padding:16px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-subtle)}
.cloud-login-inputs h4{margin:0;font-size:var(--font-size-ui);font-weight:var(--font-weight-semibold)}
.cloud-login-inputs form{display:grid;gap:8px;min-width:0}
.cloud-login-inputs label,.cloud-login-phone{display:grid;gap:8px;min-width:0;font-size:var(--font-size-ui)}
.cloud-login-field-row{display:flex;align-items:center;gap:8px;min-width:0}
.cloud-login-field-row input,.cloud-login-phone select{flex:1;width:100%;min-width:0;min-height:44px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit}
.cloud-login-field-row button{flex:none;min-height:44px;white-space:nowrap}
.cloud-login-inputs form>.text-link{justify-self:start;font-size:var(--font-size-note)}
.cloud-login-private-note{margin:0;color:var(--muted);font-size:var(--font-size-note);line-height:var(--line-ui)}
.cloud-login-phone,.cloud-login-sms-help{margin-top:16px}
.cloud-login-sms-help summary{font-size:var(--font-size-note);color:var(--muted)}
.cloud-login-sms-help p{font-size:var(--font-size-note);margin:8px 0 0}
.cloud-login-footer{display:flex;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.cloud-login-footer .primary{min-height:44px}
.platform-local-choice{margin-top:20px}
.cloud-login-screen[data-drag="true"]{touch-action:none;user-select:none}
.cloud-login-screen img{user-select:none;-webkit-user-drag:none}
.cloud-login-continuity{margin-top:16px}.cloud-login-continuity form{display:grid;gap:12px;margin-top:12px}.cloud-login-continuity label{display:grid;gap:8px}.cloud-login-continuity input,.cloud-login-continuity select{min-width:0;min-height:44px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit}
/* Waiting messages stay with the composer and never replace its draft. */
.conversation-followup{border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin-bottom:8px;background:var(--surface);font-size:var(--font-size-ui)}
.followup-heading,.followup-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.followup-heading{justify-content:space-between;color:var(--muted)}
.followup-heading .icon-button{width:28px;height:28px}
.followup-text{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;max-height:6em;overflow:auto;color:var(--ink)}
.followup-files{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.followup-files span{display:inline-flex;gap:6px;align-items:center;max-width:100%;overflow-wrap:anywhere}
.followup-files svg{width:16px;height:16px;flex-shrink:0}
.conversation-followup textarea{width:100%;min-height:72px;resize:vertical;margin:8px 0;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px}
.conversation-followups{max-height:24dvh;overflow:auto}
.conversation-followups:empty{display:none}
